
This package allows you to visualize the workspace of your robot easily considering collision detection and joint limits. The calculation will be done using themoveit framwork. So the only thing you need is amoveit_config of your robot.
You need to install moveit and its visual tools:sudo apt install ros-noetic-moveit ros-noetic-moveit-visual-tools
Before launching thesimple-reachability nodes launch thedemo.launch file from yourmoveit configuration to provide a planning interface and open upRVIZ.
roslaunch my_robot_moveit_config demo.launch
Important: Configure theconfig files in theconfig folder of thesimple-reachability folder to get the result you like. There is one for each node. You will find a documentation of all parameters in the configuration file.
To run the calculation of the workspace for your robot, run:
roslaunch simple-reachability calculate_workspace.launch
This will calculate the workspace in the way you defined in thecalculation.yaml. You can provide an end-effector orientation and calculate theconstant orientation workspace with a given end-effector orientation or you can focus on the simplereachable workspace by defining aGoal Orientation Tolerance
The calculation could take some time depending on the resolution. The node will let you see the current progress and the estimated time to finish. If you want to speed up the calculation you could useIKFast to makemoveit find a valid plan a lot faster.
After the calculation has finished, the result will bepublished on the/calculate_workspace/visualization_marker
topic. You can easily visualize it by adding the display typeMarker in RVIZ.
To not loose the workspace calculation result, the node wilsave it in arosbag in thesimple-reachability bags folder with an unique name.
Hint: After changing the config files, you should restart your roscore to reset the ROS params. Think about embedding simple-reachability in the moveit launch-file for your robot.
If you want to visualize a previously calculated workspace, you can run:
roslaunch simple-reachability visualize_workspace.launch
Make sure you provide the name of the file you want to run in thevisualization.yaml.
Now you can visualize the workspace by adding aMarker with the topic/visualize_workspace/visualization_marker
in RVIZ.
In the config file you can modify which part of the workspace you can see. For example you could cut it to only see theLEFT_HEMISPHERE for better visualization.
Feel free to improve the code or implement some new features. Feature requests or bugs can be reported asIssue.