mrp_bench icon indicating copy to clipboard operation
mrp_bench copied to clipboard

Manual Installation

Open a2a4 opened this issue 1 year ago • 1 comments

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.

a2a4 avatar Apr 06 '23 06:04 a2a4

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.

smnschfr avatar Apr 12 '23 18:04 smnschfr