Skip to content

Commit 5bdfabb

Browse files
author
AndyZe
authored
Add note about uninstalling debians before installing MoveIt2 from source (#763)
* Add note about uninstalling debians first * Remove deprecated link
1 parent b47467a commit 5bdfabb

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

_posts/2020-06-09-moveit2-robotic-application.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ The Motion Planning Framework for ROS known as [MoveIt](/) has been successfully
1919

2020
My ROS2 setup involved building the MoveIt2 repository from source as described in github and then overlaying 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.
2121

22-
The C++ integration was very straight forward 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 <a href="http://docs.ros.org/melodic/api/moveit_ros_planning_interface/html/classmoveit_1_1planning__interface_1_1MoveGroupInterface.html" target="_blanl">MoveGroupInterface</a> class from MoveIt; however 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](/documentation/concepts/) node but they instead make direct function calls to the various motion planning capabilities. I think this is a welcomed changed 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.
22+
The C++ integration was very straight forward 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; however 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](/documentation/concepts/) node but they instead make direct function calls to the various motion planning capabilities. I think this is a welcomed changed 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.
2323

2424
On the other hand, the launch/yaml integration wasn't as clean as many ROS2 concepts are still relatively new to me. In order to properly configure MoveIt2, it is necessary to load a <a href="http://wiki.ros.org/urdf" target="_blank">URDF</a> 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 <a href="https://ros-planning.github.io/moveit_tutorials/doc/setup_assistant/setup_assistant_tutorial.html" target="_blank">MoveIt Setup Assistant</a> 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. Furthermore, 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.
2525

install-moveit2/source/index.markdown

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,12 @@ Source installation requires various <a href="https://docs.ros.org/en/foxy/Insta
6767
pytest-rerunfailures \
6868
pytest
6969

70+
### Uninstall Any Pre-existing MoveIt Debians
71+
72+
In ROS2, debians conflict with packages built from source. So, remove any existing MoveIt debians:
73+
74+
sudo apt remove ros-$ROS_DISTRO-moveit*
75+
7076
### Create Workspace and Source
7177

7278
Create a colcon workspace:

0 commit comments

Comments
 (0)