This package is part of Robot Optimization, Scheduling, Task Execution and Routing (Ro.O.S.T.E.R.), a ROS (Robot Operating System) based open source project to develop a heterogeneous fleet management solution with task allocation, scheduling and autonomous navigation capabilities. Detailed documentation including architectural overview, installation instructions, license information and source code API documentation can be found here.
This software has been developed as part of the work at the 'Center of Design for Advanced Manufacturing' lab of TU Delft on the 'Collaborating and coupled AGV swarms with extended environment recognition' project funded by EIT Manufacturing.
multi_ridgeback_nav
The multi_robot_sim package is dependend upon the multi_ridgeback_nav package, which can be found here: https://github.com/ROOSTER-fleet-management/multi_ridgeback_nav . Install this package before continuing, carefully following the README.md instructions in its repository.
mutli_husky_nav
This mutli_robot_sim package is dependend upon the multi_husky_nav package, which can be found here: https://github.com/ROOSTER-fleet-management/multi_husky_nav . Install this package before continuing, carefully following the README.md instructions in its repository.
PyQT4
This package requires the python module PyQt4 to be installed:
sudo apt-get install python-qt4
Once all dependencies have been succesfully installed you can continue with the multi_robot_sim package itself.
- Clone the repository into your workspace src folder.
- Run catkin_make in the toplevel directory of your workspace.
- Use the following rosluanch command to launch the multi_robot_sim package:
roslaunch multi_robot_sim launcher_gui.launch
The multi_robot_sim Launcher application.
In the Launch tab the Launch list is managed. New robots can defined and added to a pool (Launch list). Right clicking a robot in the Launch list allows the user to delete it. The entire list can also be cleared with the "Clear Launch list" button.
From this tab the simulation can be launched or shutdown. A Launch status is provided in the top right.
Note: Each Robot ID in the Launch list must be unique.
In the Docking stations tab a docking station (ds) ID can be selected and it's properties adjusted.
The origin (x, y, theta) of the docking station refers to the position and orientation in the simulated world based on the /map frame.
The docking cells of a specific docking station are place in the positive x and y directions from its origin based on the provided orientation.
Cell spacing (x and y) determines the space between cell borders. Cell angle (theta) determines the orientation of the docking cells relative to the docking station's orientation.
The maximum number of robots per row and column determine the docking station's capacity and docking cell arrangement.
Hovering over certain items in the Launcher will provide further information in the status bar at the bottom of the application.
More information on the Launcher and multi_robot_sim package, including license information, can be found in the About screen (File>About or Ctrl+A).
Shortcuts
Shortcut | Explanation |
---|---|
Ctrl+N |
New setup file. |
Ctrl+S |
Save the current setup. |
Ctrl+O |
Open and existing setup file. |
Ctrl+A |
Show the About screen. |
Ctrl+Q |
Quit the application. |
Alt+C |
Clear the Launch list. |
Alt+A |
Add a new robot to the Launch list based on the provided input fields. |
Alt+L |
Launch Gazebo and robots based on the current Launch list and docking stations. |
Alt+S |
Shut down the currently launched robots and Gazebo. |
dynaRviz application.
The dynaRviz application is basically the normal RViz application except that it is launched dynamically based on the fleet as specified in the Multi Robot Sim Launcher GUI.
The following items are planned to be implemented in the multi_robot_sim package:
- Optional launching of the Fleet Manager package.
- Optional launching of dynamic Rviz based on provided launch information (robots).
- Expansion of the supported robot types.