mrp_bench
mrp_bench copied to clipboard
Manual Installation
Hello,
Myself and @arushikhokhar are trying to build from manual installation on ros-humble. However, we had to bypass few things.
Can you please explain what the variable self.graph and self.cellGrid in bench_node.py from bench_pkg represent.
Thank you.
Hi @a2a4 ,
in the RMF Traffic Editor, walkable areas in the map are defined by setting and connecting waypoints. This is a graph representation of the environment is collected from a ROS topic and saved as a NetworkX graph (no particular reason to use NetworkX besides that it's a very common framework for representing graphs in Python).
As an alternative, we've experimented with ray-tracing an occupancy grid in Gazebo with a custom plugin, but that's not used at the moment. If you want or need to use this, let me know, this component hasn't been tested for a long time and might need some updates to fully work.
Theoretically, if you have a multi-robot planning algorithm that accepts graphs, you could use this self.graph directly. Those in libMultiRobotPlanning need a grid, though, so there's a function that renders a grid with a chosen resolution from this graph instead. That is stored in self.cellGrid.
The framework was designed for modularity, so there is a possbility to use the graph directly, or use Gazebo worlds that don't have the waypoints set and published by ray-tracing instead, but for the current set of benchmarked algorithm and of simulated environment, these two alternatives are not needed and self.cellGrid is your basis for planning.