Skip to content
/ elion Public

Constrained planning in MoveIt using OMPL's constrained planning interface

Notifications You must be signed in to change notification settings

JeroenDM/elion

Repository files navigation

CI

elion

Constrained planning in MoveIt using OMPL's constrained planning interface

Refactored version of: https://github.com/JeroenDM/moveit_constrained_planning_plugin

Work in progress.

API documentation for elion_planner package.

Google sheet with an overview of planning problems I tried to solve with this package.

Build instructions

Start with the usual commands:

mkdir -p catkin_ws/src
cd catkin_ws/src
git clone https://github.com/JeroenDM/elion.git
rosdep install --from-paths . --ignore-src

and add the unreleased test dependencies using vcstool.

vcs import < elion/test_dependencies.repos

At the moment I'm mostly building in Debug mode:

cd ..
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Debug
catkin build
source devel/setup.bash

Note: for the examples below, I recommend building in release mode. Especially planning with collision objects is slow (+100 seconds) at the moment. In debug mode you need a lot of patience to get a solution :)

catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release

Run examples

Planning problems are configured through a json file. Examples are present in the folder elion_examples/config/.... To run an example, first launch the MoveIt configuration for a specific robot. All examples with a name panda_xxxx.json use the panda robot. The examples package contains a specific launch file to properly configure Rviz.

roslaunch elion_examples panda_example.launch 

Examples with a name kuka_xxxx.json use the Kuka KR5 Arc robot. The configuration is available in kuka_test_resources.

roslaunch kuka_kr5_moveit_config demo.launch 

When Rviz is visible and the move group node is ready, you can run an example, for example panda_pos_con.json does some simple planning with position constraints:

rosrun elion_examples elion_run_example panda_1.json

panda_example

Run tests

Build the workspace again with the tests argument added.

catkin build --make-args tests

elion_planner has a rostest that initialized different constriants for the panda robot:

rostest elion_planner test_constraints_panda.rostest

Some basic tests exist to check the conversion of an angular velocity vector to roll, pitch, way velocity. I like to run this test directly from the target in the devel space to get readable output.

./devel/lib/elion_planner/test_elion_conversions

About

Constrained planning in MoveIt using OMPL's constrained planning interface

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published