Welcome to the ChoiRbot Page!
What is ChoiRbot?
ChoiRbot is a ROS 2 package developed by Andrea Testa, Andrea Camisa and Giuseppe Notarsefano within the ERC excellence research project OPT4SMART. The aim of ChoiRbot is to provide a comprehensive framework to easily simulate and run experiments on teams of cooperating robots, with a particular focus on peer-to-peer networks of robotic agents without a central coordinator.
If you are you using ChoiRbot in research work to be published, please cite the accompanying paper “A. Testa, A. Camisa, G. Notarstefano, ChoiRbot: A ROS 2 toolbox for cooperative robotics, IEEE Robotics and Automation Letters, 6(2), 2714-2720, 2021”. Find more here.
If you like ChoiRbot support us on GitHub! Star
What can you do with ChoiRbot?
With ChoiRbot you can develop a full-stack multi-robot application. Specifically, the package allows you to
- Encode distributed optimization and control algorithms
- Perform peer-to-peer communications among robots
- Develop planning and control schemes
- Connect with external motion capture hardware (see also our ROS 2 Vicon Bridge)
- Run experiments on your robotic fleet
- Perform realistic simulations with Gazebo and visualize data with RVIZ
ChoiRbot is structured in a three-layer architecture. Specifically, there is a Team Guidance layer, a RoboPlanning layer and a RoboControl layer. The Team Guidance layer is responsible for taking high-level decisions and for managing the robot lifecycle. The Team Guidance layer uses communication with neighbors in order to perform its tasks. The RoboPlanning and RoboControl layers are responsible for lower-level control actions as driven by the upper layer. In case the user does not want to use external tools, we also provide a dynamics integration layer, named RoboIntegration, which can e.g. be used in conjunction with Rviz for visualization.
To guarantee flexibility and code reusability, layers are implemented as Python classes. For each layer, ChoiRbot provides boilerplate code that you can easily extend according to your need.