Slides for the MoveIt! Community Meeting (Sept. 3, 2015)
- The State of MoveIt! - Sachin Chitta (Stealth Startup)
- OMPL - Mark Moll, Lydia Kavraki (Rice University)
- ROS-Control - Adolfo Rodríguez Tsouroukdissian (PAL Robotics)
- Updates to STOMP - Jorge Nicho (SwRI)
- MoveIt! based implementation of an I-AUV - Dina Youakim (University of Girona)
- Team VIGIR at the DRC - Stefan Kohlbrecher (Technische Universität Darmstadt)
- ROS 2.0 and Manipulation - Jackie Kay (OSRF)
2. Agenda
• 8:00-8:10 - The State of MoveIt! - Sachin Chitta (Stealth Startup)
• 8:10-8:20 - OMPL - Mark Moll, Lydia Kavraki (Rice University)
• 8:20-8:30 - ROS-Control - Adolfo Rodríguez Tsouroukdissian (PAL Robotics)
• 8:30-8:40 - Updates to STOMP - Jorge Nicho (SwRI)
• 8:40-8:50 - MoveIt! based implementation of an I-AUV - Dina Youakim
(University of Girona)
• 8:50-9:00 - Team VIGIR at the DRC - Stefan Kohlbrecher (Technische
Universität Darmstadt)
• 9:00-9:10 - ROS 2.0 and Manipulation - Jackie Kay (OSRF)
• 9:10-9:20 - Discussion
3. Questions?
• During each talk - type your questions for the presenter in the
chat window and I will ask the presenters
• Discussion at the end - type your question in the chat window
and I will un-mute you
5. The State of MoveIt!
Sachin Chitta
Founder and CEO,
Stealth Robotics Startup
6. MoveIt! must be doing well -
There are more than 200 people registered for this call!!
7. Statistics
• Number of installations (2015): 10,089 *
• Number of users on the mailing list: 693 (up from
177 in 2013)
• Number of robots with MoveIt! used on them
(Today) > 65
• MoveIt! was ranked #3 on the list of important ROS
packages that people cared about (after Rviz and
Navigation)
* (based on no. of visits to MoveIt! install page)
8. Contributors (2014-2015)
• Thanks to Mike Ferguson, Dave Coleman, Jon
Bohren, Conor Brew, Acorn Pooley, Dave
Hershberger, Shaun Edwards, Dr. Chris Lewis,
Jorge Nicho, Ben Chretien, Adolfo Rodriguez, Kei
Okada, Ioan Sucan, Stefan Kohlbrecher and
more…
9. New Features (2014-2015)
• Cartesian Path Planner Plugin (ROS-Industrial Consortium)
• New trajectory display (Dave Coleman)
• Trajectory velocity scaling (Stefan Kohlbrecher, Team
VIGIR)
• Joystick Interface (Ryohei Ueda, Dave Coleman)
• Plugin interface for collision detection (Mike Ferguson)
• Updates to Point Cloud Octomap Updater (Conor Brew)
12. Applications
• Path Planning for FEI Transmission
Electron Microscopes (TEM) (Alten
Mechatronics)
• Underwater Robotics (University of
Girona)
• Humanoid Robotics
(Multiple Teams - DRC) • Amazon Picking Challenge
13. Papers
ICRA 2015
• The Affordance Template ROS Package for Robot Task Programming, Stephen Hart, Paul Dinh and Kimberly Hambuchen
• New Brooms Sweep Clean – an Autonomous Robotic Cleaning Assistant for Professional Office Cleaning, Richard Bormann, Joshua
Hampp and Martin Haegele
• Towards a Data-Driven Approach to Human Preferences in Motion Planning, Arjun Menon, Pooja Kacker and Sachin Chitta
• VIBI: Assistive Vison-Based Interface for Robot Manipulation, Camilo Alfonso Perez Quintero, Oscar Alejandro Ramirez and Martin
Jagersand
• Modeling of Movement Control Architectures Based on Motion Primitives Using Domain-Specific Languages, Arne Nordmann,
Sebastian Wrede and Jochen H. Steil
• Experience-Based Planning with Sparse Roadmap Spanners, David Coleman, Ioan A. Sucan, Mark Moll, Kei Okada, and Nikolaus
Correll
• An Autonomous Robotic Assistant for Drinking, Sebastian Schroer, Ingo Killmann, Barbara Frank, Martin Volker, Lukas Fiederer, Tonio
Ball and Wolfram Burgard
• Towards Manipulation Planning with Temporal Logic Specifications, Keliang He, Morteza Lahijanian, Lydia E. Kavraki, and Moshe Y.
Vardi
• A Framework for End-User Instruction of a Robot Assistant for Manufacturing, Kelleher R. Guerin, Colin Lea, Chris Paxton, Gregory D.
Hager
• Simultaneous Localization, Mapping, and Manipulation for Unsupervised Object Discovery, Lu Ma, Mahsa Ghafarianzadeh, David
Coleman, Nikolaus Correll, and Gabe Sibley
• Robot Programming by Demonstration with Situated Spatial Language Understanding, Maxwell Forbes, Rajesh P. N. Rao, Luke
Zettlemoyer and Maya Cakmak
15. Events (2015)
Amazon Picking Challenge
ICRA 2015, Seattle
DARPA Robotics Challenge
June 5-6, 2015 California
"MoveIt! Strengths, Weaknesses, and
Developer Insights" - Dave Coleman
(University of Colorado Boulder)
16. Help Needed
• MoveIt! Website
• porting to github pages - if you have experience with github pages,
please email me: robot.moveit@gmail.com
• Tutorials are not up to date - if you are willing to write new tutorials for
commonly used robots, generate PRs
17. Contribute
• Make MoveIt! a better tool for research
• coordinate community efforts around a few features every quarter
• End of year goals (2015)
• Integrate better support for humanoid kinematics (e.g. Robonaut)
• Integrate benchmarks updates (Kavraki Lab, Rice University)
• Resurrect support for other types of planners (e.g. STOMP)
18. Contribute
• Join the MoveIt! mailing list
• moveit-users@googlegroups.com
• Please send us news for the blog!!
• movies of projects, robots
19. Contribute
• Write MoveIt! development support into your grants
• Contribute code, develop tests, write tutorials
20. Future
• Better integration with ROS-Control
• feedback from control flowing back to MoveIt!
• Better integration with grasping tools
• E.g. - GraspIt!
• Upgrade to ROS 2.0
• changes to underlying MoveIt! architecture
• More support for Mobile Manipulators
• 3D Navigation, integrate manipulation and navigation
22. Contact
• We plan to hold this meeting every quarter
• Next Meeting: January 2016 (Tentative)
• Maybe co-locate with conferences - suggestions
are welcome
24. OMPL
The Open Motion Planning Library
Mark Moll & Lydia E. Kavraki
Department of Computer Science
Rice University
Houston, TX
USA
25. OMPL in a nutshell (1/2)
• Default motion planning back-end in MoveIt!
• Common core for sampling-based motion planners
• However, API not specific to sampling-based planning:
possible to add other planning algorithms
• Intended for use in:
• Education
• Research
• Industry
config. & database
server
robot path client
sensor data
MoveIt!
OMPL ... ...
26. OMPL in a nutshell (2/2)
• C++ library with extensive Python bindings
• Includes commonly-used heuristics
• Takes care of many low-level details often skipped in papers
• 35 (!) different sampling-based algorithms:
• Multi-query & single-query planners
• Optimizing planners
• Kinodynamic planners
• High level of abstraction for, e.g.,:
• State spaces: need not be Euclidean, metric, or even continuous
• State validity: more general than collision checking
• Path optimization objectives: more than just path length
• Extensive benchmarking facilities
27. Highlights of upcoming release (v1.1)
• New planning algorithms:
• Thunder & Lightning — Dave Coleman
• Informed RRT* & Batch Informed Trees (BIT*) — Jonathan Gammell
• Lower-Bound Tree Rapidly-expanding Random Tree
(LBT-RRT) & Lazy LBT-RRT — Oren Salzman
• Updated T-RRT, bidirectional version of T-RRT — Ryan Luna
• Goal optimization included in path optimization — Ryan Luna
• Faster nearest-neighbors queries — Mark Moll
• Web-based planning & benchmarking — Prudhvi Boyapalli
29. Thunder
Finding balanced
poses for 30 DOF
HRP2 humanoid
using past
experience in a
variety of scenes
all images courtesy of Dave Coleman
30. all images courtesy of Dave Coleman
Thunder provides
significant
improvements
over Lightning
and planning
from scratch in
changing
environments
31. Informed RRT* — Jonathan Gammell
from Gammell et al., IROS ’14
32. Batch Informed Trees (BIT*) — Jonathan Gammell
from Gammell et al., ICRA ’15
Extension of incremental graph-search techniques, such as Lifelong Planning
A* (LPA*), to continuous domains.
35. Web-based planning & benchmarking
Upload your own benchmark data at
http://plannerarena.org
Requires updated MoveIt! benchmarking code:
https://github.com/ryanluna/moveit_benchmarks
36. Getting involved with OMPL
• Visit us at http://ompl.kavrakilab.org
• Repositories:
• https://bitbucket.org/ompl/ompl (mercurial)
• https://github.com/ompl/ompl (git mirror)
• Mailing lists:
• ompl-users@lists.sourceforge.net — general OMPL-related discussion
• ompl-devel@lists.sourceforge.net — core developers
37. ROS control, what's new?
MoveIt! Community Meeting
October 3, 2015
Adolfo Rodríguez Tsouroukdissian
38. ROS control – what's new?
➔ New features
- Already available
- Work in progress
➔ Quality Assurance metrics
- Code coverage statistics
39. ROS control – overview
More details @ ROScon'14 talk
https://vimeo.com/107507546
40. ROS control – new features
runtime joint mode switching
- credit: Mathias Lüdtke (Fraunhofer IPA)
41. ROS control – new features
multi-interface controllers
- jade-only, breaks ROS and C++ API
- credit: PAL Robotics
42. ROS control – new features
per-controller update period
- integer divider of controller_manager frequency
- credit: Johannes Meyer (Intermodalics)
43. ROS control – new features
rqt_controller_manager
- UI revamp, jade-only
- credit: Kelsey Hawkins (Georgia Tech), PAL Robotics
44. ROS control – new features
rqt_controller_manager
- UI revamp, jade-only
- credit: Kelsey Hawkins (Georgia Tech), PAL Robotics
48. ROS control
Acknowledgments
This work has been partially supported by the Factory in a Day
European Community FP7 project under grant agreement
609206.
Questions?
50. Motivation
• MoveIt planners
– Pros:
• Can be used right out of the box.
• Can solve difficult path planning
problems.
• Simple paths can be generated very
quickly.
– Cons:
• Tend to produce jerky trajectories.
• May introduce unnecessary robot
movements.
• Can be difficult to tune to meet special
cases.
• Post-processing smoothing step is usually
needed.
51. Stomp
• Stochastic Trajectory Optimization
Planner
• Optimization-based planner that
generates smooth well behaved collision
free motion paths in reasonable time.
• Original work by (Mrinal Kalakrishnan,
Sachin Chitta, Evangelos Theodorou,
Peter Pastor, Stefan Schaal, ICRA 2011)
• Code base was discontinued after the
transition to ROS-hydro more than 2
years ago
• Relevant moveit modules (now in
moveit_experimental) were also
discontinued
52. STOMP highlights
• Generates smooth well behaved
motion plans in reasonable time,
no need for post-processing
smoothing.
• Can Incorporates additional
objective functions such as
torque limits, energy and tool
constraints.
• Handles cost functions that don’t
need to be differentiable.
• Uses distance field and spherical
approximations to quickly
compute distance queries and
collision costs.
53. Current Status
• Updated the deprecated STOMP code base so that it
uses the latest in the MoveIt library.
• Available as a Motion Planning Plugin that can be
loaded by the move_group node and invoked from the
rviz Motion Planning panel.
• Can be easily configured with yaml files.
• Loads robot and environment information from urdf,
srdf and yaml files.
• Optimizes for obstacle avoidance and smoothness.
• Code available at https://github.com/ros-
industrial/industrial_moveit
55. Future Tentative Work
• Allow for optimization of other relevant
objectives such as dynamics, energy, path
constraints, etc.
• Remove residual dead code (a lot of work).
• Better integration with the MoveIt pipeline
(MoveIt Setup Assistant?)
• Serialization of Distance fields generated from
large models.
• Handling of dynamic environment obstacles such
as octomap and attached bodies.
56. Contact Information
Jorge Nicho
Research Engineer
Southwest Research Institute
Phone: 210-522-3107
Email: jorge.nicho@swri.org
Stomp Source Code
https://github.com/ros-industrial/industrial_moveit
59. Intervention AUVs
GIRONA'UNDERWATER)
VISION)AND)ROBOTICS' UdG$MoAvaAon$
$
Black Box Search &
Recovery
Oil Spill Fixing
Oil Industry
Underwater Intervention
Underwater Exploration
3
Nowadays AUV are only used for
Survey Applications
Nowadays Intervention is Carried out
with ROVs
Intervention AUVs is the Next Challenge
60. Intervention AUVs
GIRONA'UNDERWATER)
VISION)AND)ROBOTICS' UdG$State$of$the$Art:$Autonomous$Underwater$IntervenAon$
$
! SAUVIM USA PROJECT
• 6 Ton I-AUV.
• 6000 m. Depth rated.
• Pasive Arm for object localization.
• 7 DOF arm for object manipulation.
• Free Floating Manipulation.
• Task Priority Redundancy Control.
[Marani et al. 08].
! TRIDENT EU PROJECT
• 200 Kg I-AUV.
• 500 m. Depth rated.
• 7 DOF arm for object manipulation.
• Free Floating Manipulation.
• Task Priority Redundancy Control.
• Black Box Search & Recovery
[Sanz et al. 12].4
61. Intervention AUVs
GIRONA'UNDERWATER)
VISION)AND)ROBOTICS' UdG$State$of$the$Art:$Autonomous$Valve$Turning$$
$
! ALIVE EU Project [Evans et al. 03]
• 2 hydraulic GRABS for docking
• 7DoF arm for manipulation
• Sonar/vision based docking to an underwater panel
DOCKINGFLOATING
! TRITON Spanish Project [Palomeras et al. 14]
• Funnel based Pasive Docking
• Range Only + Vision Navigation
• Valve Turning + Hot Stab Insertion
! PANDORA FP7 [carrera et al. 14]
• Learning by Demonstration
• Vision based Navigation
• Valve Turning
! Another Approach [Cieslak et al. 14]
• Task Priority Redundancy Control
• Vision based Navigation
• Valve Turning 5$
66. Intervention AUVs
GIRONA'UNDERWATER)
VISION)AND)ROBOTICS' UdG$
" Self/Collision%ConfiguraAon$
" Planning%Groups:%
$
UVMS$Modelling:$SRDF$$
10$
“UVMS”:
• 4 links of the AUV
and their joints
• 4 links of the Arm
and their joints
“Gripper”:
One Fixed Joint for
Passive Gripper
77. Intervention AUVs
GIRONA'UNDERWATER)
VISION)AND)ROBOTICS' UdG$References$
$
21$
• Prats, M., Pérez, J., Fernández, J. J., & Sanz, P. J. (2012, October). An
open source tool for simulation and supervision of underwater intervention
missions. In Intelligent Robots and Systems (IROS), 2012 IEEE/RSJ
International Conference.
• Pan, J., Chitta, S., & Manocha, D. (2012, May). FCL: A general purpose
library for collision and proximity queries. In Robotics and Automation
(ICRA), 2012 IEEE International Conference.
• Palomeras, N., Penalver, A., Massot-Campos, M., Vallicrosa, G., Negre, P.
L., Fernandez, J. J., & Palomer, A. (2014, September). I-AUV docking and
intervention in a subsea panel. In Intelligent Robots and Systems (IROS
2014), 2014 IEEE/RSJ International Conference.
• Coleman, D., Sucan, I., Chitta, S., & Correll, N. (2014). Reducing the
barrier to entry of complex robotic software: a moveit! case study.
• P. Cieslak, P. Ridao, M. Giergiel. Autonomous Underwater Panel Operation
by GIRONA500 UVMS: A Practical Approach to Autonomous Underwater
Manipulation. IEEE International Conference on Robotics and Automation
(ICRA), 2015
79. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 1
Team ViGIR (and MoveIt!) at the
DRC
Alberto Romay, Alexander Stumpf, Achim Stein, Oskar von Stryk
David C. Conner
Simulation, Systems Optimization and Robotics (SIM) Group, TU Darmstadt, Germany
Christopher Newport University, Newport News, United States
Stefan Kohlbrecher, SIM Group, TU Darmstadt
80. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 2
Team ViGIR
International collaboration, Track B Atlas team
• TORC Robotics (Blacksburg, VA)
• TU Darmstadt (Darmstadt, Germany)
• Virginia Tech (Blacksburg, VA)
• Cornell University (Ithaca, NY)
• Oregon State University (Corvallis, OR)
• Leibnitz Universität Hannover (Hannover,
Germany)
81. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 3
The DAPRA Robotics Challenge
Highly compressed timeline
Competition events every
few months
Leverage open source
software
➔
MoveIt!
MoveIt! also used by several
other teams
82. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 4
Motion Planning Requirements
Manipulation
• Collision free planning
• Cartesian Paths
• Manipulation in contact with environment
• Maintain stability
Sliding Autonomy:
• Operator/OCS-based (Teleop)
• Operator/Affordance template based (Task level)
• Behavior Executive (Autonomous)
83. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 5
Hardware/Infrastructure
Boston Dynamics
(BDI) Atlas robot
• Hydraulically actuated
• 7DOF arms
API provided by BDI
• Walking/Stepping
• Balancing
➔
Upper body planning
decoupled from low
level balance control
84. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 6
Overview
85. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 7
Setup - Robot
Different robot variants
Different hand variants
Combinatory explosion of
configs
• Do not want to run setup
assistant for every
(possible) combination
Solution:
• Use of xacro macros to
change configs
vigir_atlas_moveit_config
86. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 8
Sensing - LidarOctomapUpdater
Environment octomap
updated in real-time
Provide collision model for
planner
Also provide filtered LIDAR
data for overall system
• Annotate with transform
information as tf prohibitive
over constrained comms
vigir_lidar_octomap_updater
87. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 9
Sensing - LidarOctomapUpdater
88. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 10
Sensing - LidarOctomapUpdater
Separate ROS Masters
89. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 11
Sensing - LidarOctomapUpdater
Separate ROS Masters
Intermittent communication,
Only standard UDP (1500 Bytes)
90. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 12
Planning - Capabilities
Additional move_group
capability
• Different types of motion
requests
- Joint goal
- Cartesian goal
- Cartesian Path (waypoints)
- Circular motion
• Specify planning reference
pose relative to endeffector
• Constrain joint limits
selectively at run-time
vigir_move_group
TYPE_FREE_MOTION
TYPE_CARTESIAN_WAYPOINTS
TYPE_CIRCULAR_MOTION
geometry_msgs/Pose[] target_poses
string reference_point_frame
geometry_msgs/Pose reference_point
91. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 13
Planning – Object Templates
On top/outside of move_group
Operator places objects
Planning relative to instantiated
objects templates
Object template library
• Geometry
• Mass
• Grasps
• Stand poses
vigir_object_template_manager
92. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 14
Planning – Object Templates
On top/outside of move_group
Operator places objects
Planning relative to instantiated
objects templates
Object template library
• Geometry
• Mass
• Grasps
• Stand poses
vigir_object_template_manager
93. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 15
Planning – Object Templates
On top/outside of move_group
Operator places objects
Planning relative to instantiated
objects templates
Object template library
• Geometry
• Mass
• Grasps
• Stand poses
vigir_object_template_manager
94. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 16
Planning - “Ghost” robot
Pre-plan motions with virtual
“Ghost Robot”
Additional capabilities compared
to start/goal state visualization
in MoveIt! Rviz plugin
• Snap endeffectors to objects
• Move to stand poses relative to
object templates
• Constrain IK joint limits
• Send low-bandwidth planning
request directly from OCS
vigir_ocs_robot_model
95. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 17
Manipulation Pipeline Example
96. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 18
Manipulation Pipeline Example
97. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 19
Manipulation Pipeline Example
98. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 20
Manipulation Pipeline Example
99. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 21
Other Development
Selectively slow down trajectories
• Prevent falls and/or damage to robot or
environment
• Merged into upstream MoveIt!
Parabolic time parametrization can
have acceleration spikes (github)
• Alternative cubic time parametrization
• Lives in fork for now
Switch between MoveIt! and MIT's
Drake planning framework on a per
plan request basis
• Whole Body Motions
100. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 22
References & Video
Kohlbrecher et.al “Human-Robot Teaming for Rescue Missions: Team ViGIR´s
Approach to the 2013 DARPA Robotics Challenge Trials” Journal of Field
Robotics, 2014
Romay et al. “Template-Based Manipulation in Unstructured Environments for
Supervised Semi-Autonomous Humanoid Robots”, IEEE Humanoids 2014
Stumpf et al. “Supervised Footstep Planning for Humanoid Robots in Rough
Terrain Tasks using a Black Box Walking Controller”, IEEE Humanoids 2014
YouTube playlist with manipulation examples
101. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 23
Conclusion
MoveIt! provided required basic manipulation capabilities
• Easy and intuitive integration into complex system
• Sensor-based collision avoidance
Potential areas for improvement:
• Consideration of balance constraints
• Whole Body Planning
• Optimization based planning
• Workspace analysis
- Inverse reachability
Everything available on Github
More at ROSCon 2015 talk
102. July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 24
Contact Information
Stefan Kohlbrecher
Technische Universität
Darmstadt
Email:
kohlbrecher@sim.tu-darmstadt.de