The Robot Report

  • Home
  • News
  • Technologies
    • Batteries / Power Supplies
    • Cameras / Imaging / Vision
    • Controllers
    • End Effectors
    • Microprocessors / SoCs
    • Motion Control
    • Sensors
    • Soft Robotics
    • Software / Simulation
  • Development
    • Artificial Intelligence
    • Human Robot Interaction / Haptics
    • Mobility / Navigation
    • Research
  • Robots
    • AGVs
    • AMRs
    • Consumer
    • Collaborative Robots
    • Drones
    • Humanoids
    • Industrial
    • Self-Driving Vehicles
    • Unmanned Maritime Systems
  • Business
    • Financial
      • Investments
      • Mergers & Acquisitions
      • Earnings
    • Markets
      • Agriculture
      • Healthcare
      • Logistics
      • Manufacturing
      • Mining
      • Security
    • RBR50
      • RBR50 Winners 2025
      • RBR50 Winners 2024
      • RBR50 Winners 2023
      • RBR50 Winners 2022
      • RBR50 Winners 2021
  • Resources
    • Automated Warehouse Research Reports
    • Digital Issues
    • eBooks
    • Publications
      • Automated Warehouse
      • Collaborative Robotics Trends
    • Search Robotics Database
    • Videos
    • Webinars / Digital Events
  • Events
    • RoboBusiness
    • Robotics Summit & Expo
    • DeviceTalks
    • R&D 100
    • Robotics Weeks
  • Podcast
    • Episodes
  • Advertise
  • Subscribe

How to use MoveIt2 for collision-free motion planning

By Jorge Nicho | May 4, 2020

MoveIt2

In this simulation, the robot has to move the camera to three scan positions. MoveIt2 is used to plan collision-free motions to those positions. | Credit: Southwest Research Institute

MoveIt, the Motion Planning Framework for ROS, has been successfully used in numerous industrial and research applications where complex collision-free robot motions are needed to complete manipulation tasks. In recent months, a great deal of effort has gone into migrating MoveIt into ROS2.

As a result, the new MoveIt2 framework already provides access to many of the core features and functionality available in its predecessor. While some of the very useful setup tools are still a work in progress (mainly the MoveIt setup assistant), I was able to integrate MoveIt2 into the Collaborative Robotic Sanding Application (CRS) to plan trajectories, which were then executed on a Gazebo-simulated UR10 robot arm.

My ROS2 setup involved building the MoveIt2 repository from source as described in github. I then overlaid that colcon workspace on top of my existing CRS application workspace. I also built and ran the simple demo, which worked right out of the gate and was very helpful in helping me understand how to integrate MoveIt2 into my own application.

The C++ integration was very straightforward and only needed the use of two new classes: MoveItCpp and PlanningComponent. In this architecture, MoveItCpp is used to load the robot model, configure the planning pipeline from ROS2 parameters and initialize defaults; then there’s the PlanningComponent class, which is associated to a planning group and is used to setup the motion plan request and call the low-level planner.

Furthermore, the PlanningComponent class has a similar interface to the familiar MoveGroupInterface class from MoveIt. But one of the big changes here is that the methods in the PlanningComponent class aren’t just wrappers to various services and actions provided by the move_group node. Instead, they make direct function calls to the various motion planning capabilities.

I think this is a welcome change, since this architecture will allow creating MoveIt2 planning configuration on the fly that can adapt to varying planning situations that may arise in an application.

On the other hand, the launch/yaml integration wasn’t as clean as many ROS2 concepts are still relatively new to me. To properly configure MoveIt2, it is necessary to load a URDF file as well as a number of parameters residing in several yaml files into your MoveIt2 application. Fortunately, most of the yaml files generated by the MoveIt Setup Assistant from the original MoveIt can be used with just minor modifications and so I ran the Setup Assistant in ROS1 and generated the needed config files.

The ability to assemble ROS2 launch files in python really came in handy here as it allowed me to instantiate a python dictionary from a YAML file and pass its elements as parameters for my ROS2 application. Beyond learning about MoveIt2, going through this exercise showed me how to reuse the same yaml file for initializing parameters in different applications, which I thought was a feature that was no longer available in ROS2.

My overall impression of MoveIt2 was very positive. I feel that the architectural changes aren’t at all disruptive to existing MoveIt developers, and it’ll lead to new interesting ways in which the framework gets used. I sure look forward to the porting of other very useful MoveIt components.

The branch of project that integrates MoveIt2 can be found here and above is a short clip of the planning that I was able to do with it. In this application, the robot has to move the camera to three scan positions. MoveIt2 is used to plan collision-free motions to those positions.

Editor’s Note: This article was republished from the Southwest Research Institute.

About the Author

Jorge Nicho is a Research Engineer at the Southwest Research Institute (SwRI). He graduated with a Master’s degree in Mechanical engineering from the University of Texas at San Antonio in December of 2010. Nicho joined SwRI in 2011 as an engineer for the Manufacturing and Robotics Technologies Department. One of his strengths is intelligent robot motion planning. Nicho has participated in the development of several intelligent robotic systems built with the ROS framework.

Tell Us What You Think! Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Related Articles Read More >

The Star Wars licensed G1T4-M1N1 droid.
Piaggio Fast Forward launches Star Wars licensed droid
The Gemini 435Le sensor package from Orbbec.
Orbbec designs Gemini 435Le to help robots see farther, navigate smarter
Two Standard Bot robot arms in a white room.
Standard Bots launches 30kg robot arm and U.S. production facility
An image of ABB's Flexly P604 Visual Slam AMR.
ABB upgrades Flexley Mover AMR with visual SLAM capabilities

RBR50 Innovation Awards

“rr
EXPAND YOUR KNOWLEDGE AND STAY CONNECTED
Get the latest info on technologies, tools and strategies for Robotics Professionals.
The Robot Report Listing Database

Latest Episode of The Robot Report Podcast

Automated Warehouse Research Reports

Sponsored Content

  • Sager Electronics and its partners, logos shown here, will exhibit at the 2025 Robotics Summit & Expo. Sager Electronics to exhibit at the Robotics Summit & Expo
  • The Shift in Robotics: How Visual Perception is Separating Winners from the Pack
  • An AutoStore automated storage and retrieval grid. Webinar to provide automated storage and retrieval adoption advice
  • Smaller, tougher devices for evolving demands
  • Modular motors and gearboxes make product development simple
The Robot Report
  • Mobile Robot Guide
  • Collaborative Robotics Trends
  • Field Robotics Forum
  • Healthcare Robotics Engineering Forum
  • RoboBusiness Event
  • Robotics Summit & Expo
  • About The Robot Report
  • Subscribe
  • Contact Us

Copyright © 2025 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media
Privacy Policy | Advertising | About Us

Search The Robot Report

  • Home
  • News
  • Technologies
    • Batteries / Power Supplies
    • Cameras / Imaging / Vision
    • Controllers
    • End Effectors
    • Microprocessors / SoCs
    • Motion Control
    • Sensors
    • Soft Robotics
    • Software / Simulation
  • Development
    • Artificial Intelligence
    • Human Robot Interaction / Haptics
    • Mobility / Navigation
    • Research
  • Robots
    • AGVs
    • AMRs
    • Consumer
    • Collaborative Robots
    • Drones
    • Humanoids
    • Industrial
    • Self-Driving Vehicles
    • Unmanned Maritime Systems
  • Business
    • Financial
      • Investments
      • Mergers & Acquisitions
      • Earnings
    • Markets
      • Agriculture
      • Healthcare
      • Logistics
      • Manufacturing
      • Mining
      • Security
    • RBR50
      • RBR50 Winners 2025
      • RBR50 Winners 2024
      • RBR50 Winners 2023
      • RBR50 Winners 2022
      • RBR50 Winners 2021
  • Resources
    • Automated Warehouse Research Reports
    • Digital Issues
    • eBooks
    • Publications
      • Automated Warehouse
      • Collaborative Robotics Trends
    • Search Robotics Database
    • Videos
    • Webinars / Digital Events
  • Events
    • RoboBusiness
    • Robotics Summit & Expo
    • DeviceTalks
    • R&D 100
    • Robotics Weeks
  • Podcast
    • Episodes
  • Advertise
  • Subscribe