Skip to content

This repository mainly contains the package that is used for benchmarking for different motion planning algorithms under different scenerios. The package can be moved into workspace for moveit2, and using RViz to show the simulation

Notifications You must be signed in to change notification settings

Jubo-Xu/Benchmarking-based-on-MoveIT2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Benchmarking-based-on-MoveIT2

This is a ROS2 package that is mainly used for benchmarking. The package is the basic version which is used to compare different motion planning algorithms in different conditions. There are 15 test cases in total, and are tested under three scenarious: no obstacle(simplest case), with a single obstacle, and narrow space(a common case for robotics benchmarking). The comparison is accomplished for 5 planner architectures: OMPL(open library for basic sampling based motion planning algorithms), CHOMP, STOMP, OMPL+CHOMP(OMPL as pre-planner and CHOMP as post-optimizer), OMPL+STOMP. There are three important criterias for this benchmarking. The first one is time-consumption for generating plan, the second one is the metric of smoothness(calculated by finding the maximum difference between two adjacent discretized points of a trajectory), and the last one is whether the planning is successful or not. The time consumption and smoothness are shown as a marker above the robotic arm, and whether the planning is successful is noted in terminal. The trajectory of the end-effector is also shown in RViz.

Good for

  • Provide basic benchmarking for general motion planning algorithms
  • Can be easily extend for further use
  • Constraints would be added

15 Test cases

The following are the specific testcases in this package. The index of the testcase can be passed as a ROS argument to directly control which testcase to use, as shown below.

  1. Test case 1: OMPL + no obstacle
  2. Test case 2: CHOMP + no obstacle
  3. Test case 3: STOMP + no obstacle
  4. Test case 4: OMPL+CHOMP + no obstacle
  5. Test case 5: OMPL+STOMP + no obstacle
  6. Test case 6: OMPL + single obstacle
  7. Test case 7: CHOMP + single obstacle
  8. Test case 8: STOMP + single obstacle
  9. Test case 9: OMPL+CHOMP + single obstacle
  10. Test case 10: OMPL+STOMP + single obstacle
  11. Test case 11: OMPL + narrow space
  12. Test case 12: CHOMP + narrow space
  13. Test case 13: STOMP + narrow space
  14. Test case 14: OMPL+CHOMP + narrow space
  15. Test case 15: OMPL+STOMP + narrow space

Set Up

This ROS2 package is mainly used to interact with RViz based on MoveIT 2. So to use this package, the moveit2 package and tutorials should already be installed and built.

  1. Move into the src folder of workspace for moveit2, which is normally named as ws_moveit2
cd ~/ws_moveit2/src
  1. Clone the code into this folder and name it, for example hello_moveit
git clone https://github.com/Jubo-Xu/Benchmarking-based-on-MoveIT2.git
  1. Back to the workspace
cd ..
  1. source the workspace and using colcon to build the whole project
source /opt/ros/humble/setup.bash
colcon build --mixin debug
  1. open another terminal, source it, and launch the RViz first
ros2 launch moveit2_tutorials demo.launch.py
  1. uncheck the MotionPlanning box in RViz

uncheck the MotionPlannign box

  1. Add a new panel from Panels on the top of RViz

Add a new panel

  1. Add a new marker array by clicking the Add button below

Add marker array

  1. Change the topic of markerarray to /rviz_visual_tools

change the topic of marker array

  1. open a new terminal, source it, and run the package, the last argument is the test case to be tested
ros2 run hello_moveit hello_moveit --ros-args -r __node:=hello_moveit -- <testcase>
  1. Follow the instruction on the terminal to generate the plan and execute it by cliking Next button at the bottom left corner in RViz

About

This repository mainly contains the package that is used for benchmarking for different motion planning algorithms under different scenerios. The package can be moved into workspace for moveit2, and using RViz to show the simulation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published