This repository contains the definition of some environments for running tests. Here you can find a set of launch files to load some already defined environments.
Each launch file in turn loads cell.launch
, which takes care of launching the necessary nodes. One of its advantages is that it can dynamically load the obstacles in the cell, including static ones, using the object_loader. Static obstacles are often defined in the urdf file. Thanks to the object_loader they can be loaded afterwards. It is necessary to define a yaml file containing the description of the obstacles and a yaml file containing the list of obstacles that you want to load into the scene. The first file should also define the "moving" obstacles that you want to randomly generate in the scene during the robot's movement.
To create the launcher of your environment:
- Use the moveit setup assistant to create your moveit_config package.
- Create a launch file like this one:
demo_package
: is the name of yourmoveit_config
package;static_scene
: is the name of the yaml file containing the description of the static part of your environment. Here some examples. Put your file inreplanners_bench_cells/config
repo.objects
: is the name of the yaml file containing the description of the available obstacles. Here an example. If you want to create your file, put it inreplanners_bench_cells/config
repo.
- In RViz, add the following Panels:
- Marker: set
/marker_visualization_topic
as Marker Topic; it allows you to see the markers that the replanner manager publishes (e.g., paths). - OverlayText: set
/rviz_text_overlay
as Topic and remove any other checkmarks; it allows you to see on screen some benchmarking-related information published by nodes such as replanners_benchmark and quick_example. - OverlayText: set
/rviz_text_overlay_replanner_bench
as Topic and remove any other checkmarks; it allows you to see on screen some benchmarking-related information published by the replanner manager.
- Marker: set
Note that the joint_state_publisher
listens to move_group/fake_controller_joint_states, /joint_target
topics to update joint states (see cell.launch
). So, if you want to see the robot moving, someone must publish joint states in those topics. The trajectory execution thread will do it if you set joint_target_topic: "/joint_target"
in the configuration file.