1st moveit! community meeting

110
The First MoveIt! Community Meeting (Online)

Upload: moveitrobot

Post on 21-Mar-2017

1.087 views

Category:

Technology


0 download

TRANSCRIPT

The First MoveIt! Community Meeting

(Online)

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

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

Recording

• This meeting is being recorded and will be available online soon.

The State of MoveIt!

Sachin Chitta

Founder and CEO, Stealth Robotics Startup

MoveIt! must be doing well -

There are more than 200 people registered for this call!!

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)

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…

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)

New Robots

• HOLLIE (FZI Karlsruhe)

TIAgo (PAL Robotics)

Taurus (SRI International)

Yaskawa Motoman

SDA 10F

• ATLAS (DRC)

• I-AUV (University of Girona)

• Fetch (Fetch Robotics)

Education

Versatile Manipulation: Baxter Robot with MoveIt! Used to Teach Robotics

Fundamentals at Columbia University

Matei Ciocarlie Columbia University

Applications

• Path Planning for FEI Transmission Electron Microscopes (TEM) (Alten Mechatronics)

• Underwater Robotics (University of Girona)

• Humanoid Robotics (Multiple Teams - DRC) • Amazon Picking Challenge

PapersICRA 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

Open-Source Software

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)

Help Needed

• MoveIt! Website

• porting to github pages - if you have experience with github pages, please email me: [email protected]

• Tutorials are not up to date - if you are willing to write new tutorials for commonly used robots, generate PRs

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)

Contribute

• Join the MoveIt! mailing list

[email protected]

• Please send us news for the blog!!

• movies of projects, robots

Contribute

• Write MoveIt! development support into your grants

• Contribute code, develop tests, write tutorials

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

!

Manipulation in ROS

OMPL

STOMP

ROS-

Cont

rol

MoveIt!

FCL

Other Collision Checkers …

Other Motion Planners

Visual Sensors

Joint Sensors

Joint Control

Applications

!

Contact

• We plan to hold this meeting every quarter

• Next Meeting: January 2016 (Tentative)

• Maybe co-locate with conferences - suggestions are welcome

Contact

• CONTACT: Sachin Chitta ([email protected])

OMPL The Open Motion Planning Library

Mark Moll & Lydia E. Kavraki Department of Computer ScienceRice UniversityHouston, TXUSA

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 ... ...

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

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

Thunder — Dave Coleman

Thunder

Finding balanced poses for 30 DOF HRP2 humanoid

using past experience in a

variety of scenes

all images courtesy of Dave Coleman

all images courtesy of Dave Coleman

Thunder provides significant improvements over Lightning and planning from scratch in changing environments

Informed RRT* — Jonathan Gammell

from Gammell et al., IROS ’14

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.

Web-based planning & benchmarking

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: • [email protected] — general OMPL-related discussion• [email protected] — core developers

ROS control, what's new?

MoveIt! Community MeetingOctober 3, 2015Adolfo Rodríguez Tsouroukdissian

ROS control – what's new?

➔ New features

- Already available

- Work in progress

➔ Quality Assurance metrics

- Code coverage statistics

ROS control – overview

More details @ ROScon'14 talkhttps://vimeo.com/107507546

ROS control – new features

runtime joint mode switching

- credit: Mathias Lüdtke (Fraunhofer IPA)

ROS control – new features

multi-interface controllers

- jade-only, breaks ROS and C++ API

- credit: PAL Robotics

ROS control – new features

per-controller update period

- integer divider of controller_manager frequency

- credit: Johannes Meyer (Intermodalics)

ROS control – new features

rqt_controller_manager

- UI revamp, jade-only

- credit: Kelsey Hawkins (Georgia Tech), PAL Robotics

ROS control – new features

rqt_controller_manager

- UI revamp, jade-only

- credit: Kelsey Hawkins (Georgia Tech), PAL Robotics

ROS control – QA

ROS control – QA

ROS control – QA

ROS control

Acknowledgments

This work has been partially supported by the Factory in a Day European Community FP7 project under grant agreement 609206.

Questions?

MoveIt Community Meeting

Jorge Nicho Research Engineer

Southwest Research Institute

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.

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

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.

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

STOMP Demonstration Videos

• Moveit Planners vs STOMP • STOMP Demonstration

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.

Contact Information

Jorge Nicho Research Engineer

Southwest Research Institute

Phone: 210-522-3107 Email: [email protected]

Stomp Source Code

https://github.com/ros-industrial/industrial_moveit

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$

MoveIt! based Implementation of an I-AUV

Dina%Youakim%%Supervised$by$

Pere$Ridao$$

Narcís$Palomeras$

Universitat de Girona!Computer Vision and Robotics Group!

1$ 9/2/15$

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$

$

Outline$

•  MoAvaAon$&$State$Of$The$Art$•  Girona500$IIAUV$•  MoveIt!$&$Girona500$•  Valve$Turning$Benchmark$•  Connector$Unplug/Plug$•  DemonstraAon$•  Conclusion$&$Future$Works$$

2$

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

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

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

DO

CK

ING

FLO

ATIN

G

!  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$

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$$MoveIt!$Based$Robots$&$Underwater$

$

Indu

stria

l R

obot

s M

obile

M

anip

ulat

ors

Hum

anoi

ds

6$Research the suitability of using the MoveIt! framework for controlling an

“UVMS” to perform autonomous intervention tasks.

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$Girona500$IIAUV$

$

ECA/CSIP Micro Arm

•  4 DoFs. •  Position Control. •  Passive Gripper.

7$

•  Light weight. •  4 actuated DoFs. •  2 passively stable DoFs: Roll & Pitch. •  DVL, AHRS navigation sensors. •  EKF-based position localization

& Visual Navigation. •  Cascade controller (pose, velocity,

torque) [Ribas et al. 11]

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$

$

UVMS$Modelling:$URDF$(|)$$

8$

<link name=“”> <visual> <geometric> </geometric> <\visual> <collision> <geometric> </geometric> <\collision>

<\link>

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$

Rviz

{W}

{L0}

q1=x

q2=y

UVMS$Modelling:$URDF$(II)$

q3=z

q5 q6 q7

q8

a1 a2 a3

d4

9$

World

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

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$KinemaAcs$&$Planning$PlugIin$

$

"  Default$PlugIIn$:$KDL$(kinemaAcs$&$Dynamics)$library.$

"  Default$PlugIIn$:$OMPL$library$

"  Default$Planning$Algorithm$:$“RRTIConnect”$

11$

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$System$Controller$

$

12$

XYZψ

q0q1q2q3

!

"

############

$

%

&&&&&&&&&&&&

q0q1q2q3

!

"

####

$

%

&&&&

XYZψ

!

"

####

$

%

&&&&

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$

Autonomous Free-Floating Valve Turning Benchmark

3. Approach

A"

4. Grasp

5. Turn

1. Detection

2. Inspection

Pannel Location = AUV Way-Point

Following

Visual Navigation End Effector Way Point Following

13$

6. Obstacle avoidance: At detection and Grasp

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$Grasp$Analysis$I$|$

$

Sample Candidate Poses

Select candidates

Satisfing the Grasping

Select the one Maximimizing the

Manipulability Index

Select those Reachable & not

colliding

14$

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$Grasp$Analysis$I$||$

$

15$

Sample Candidate Poses

Select candidates

Satisfing the Grasping

Select the one Maximimizing the

Manipulability Index

Select those Reachable & not

colliding

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$Implemented$System$

16$

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$

Chapter 5: MoveIt! Based Sea-Intervention Application 22

Figure 5.1: Implemented System Architecture & Interface with the I-AUV

This section will explain how the system (vehicle and arm) is modelled in MoveIt!, focusing on

importing the system kinematic parameters into MoveIt! as explained in section 4.1

• URDF:

Fig. 5.2 shows the I-AUV with the reference frame of each arm joint, along with the

arm Denavit-Hartenberg Kinematic Parameters table, while Fig. 5.3 presents the tree

structure of the system as modelled in MoveIt!. Similar to the example presented in Fig.

4.3b , the ellipses represent the links and the small cylinders the joints (with di↵erent

types of joints having di↵erent colors as indicated in the legend).

In Fig. 5.3, we can see first the reference frame called by default Rviz, since in the un-

derwater domain the positive Z-axis points downwards, another frame has been defined

”world” with a rotation of �⇧ around the X-axis to perform the required transforma-

tion. Thus, the first two links in the figure are virtual, just for the sake of adjusting the

Implemented$System$

17$

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$

Autonomous Free-Floating Connector Unplug/Plug

18$

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$DemonstraAon$

19$

$Videos$availabe$on$CIRS$youtube$Channel:$•  hcps://www.youtube.com/watch?

v=mDZBA1jyRi8&index=2&list=PLhSXjcUsDAnGDSlMOojGkDyRpChZCudHT$

$

$

$

•  hcps://www.youtube.com/watch?v=VuSOrMWskg&list=PLhSXjcUsDAnGDSlMOojGkDyRpChZCudHT$

$

$

$

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$Conclusion$&$Future$Works$

$

#  “MoveIt!%has%poten>al%in%underwater%manipula>on”%

"

#  Next"Steps:$"  Obstacles$not$known$a$priori.$"  Path$Planning$Benchmark.$"  Advanced$grasping$tasks$(e.g.$Assembly)$$

20$

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

Intervention AUVs

GIRONA'UNDERWATER)VISION)AND)ROBOTICS' UdG$

MoveIt! based Implementation of an I-AUV

$Thank$You!$

Universitat de Girona!Computer Vision and Robotics Group!

22$ 9/2/15$

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

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)

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

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)

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

July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 6

Overview

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

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

July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 9

Sensing - LidarOctomapUpdater

July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 10

Sensing - LidarOctomapUpdater

Separate ROS Masters

July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 11

Sensing - LidarOctomapUpdater

Separate ROS Masters

Intermittent communication,

Only standard UDP (1500 Bytes)

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

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

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

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

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

July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 17

Manipulation Pipeline Example

July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 18

Manipulation Pipeline Example

July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 19

Manipulation Pipeline Example

July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 20

Manipulation Pipeline Example

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

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

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

July 23rd, 2013 | Team ViGIR at the DRC | Stefan Kohlbrecher | 24

Contact Information

Stefan Kohlbrecher

Technische Universität Darmstadt

Email:

[email protected]

MoveIt Community Meeting, 9/3/2015

Jackie Kay, OSRF

ROS 2: Intro

ROS 2: Real-time performance

Gazebo: Recent developments

Gazebo: Future plans

Questions

➢➢

○○○○

➢➢

➢➢➢➢➢

➢➢➢