This paper introduces CrazyChoir, a modular Python framework based on the Robot Operating System (ROS) 2. The toolbox provides a comprehensive set of functionalities to simulate and run experiments on teams of cooperating Crazyflie nano-quadrotors. Specifically, it allows users to perform realistic simulations over robotic simulators as, e.g., Webots and includes bindings of the firmware control and planning functions. The toolbox also provides libraries to perform radio communication with Crazyflie directly inside ROS 2 scripts. The package can be thus used to design, implement and test planning strategies and control schemes for a Crazyflie nano-quadrotor. Moreover, the modular structure of CrazyChoir allows users to easily implement online distributed optimization and control schemes over multiple quadrotors. The CrazyChoir package is validated via simulations and experiments on a swarm of Crazyflies for formation control, pickup-and-delivery vehicle routing and trajectory tracking tasks. CrazyChoir is available at https://github.com/OPT4SMART/crazychoir.
翻译:本文介绍了CrazyChoir,一个基于机器人操作系统(ROS)2的模块化Python框架。该工具箱提供了一套完整的功能,用于对协作式Crazyflie纳米四旋翼飞行器集群进行仿真和实验操作。具体而言,它允许用户在Webots等机器人仿真器上执行逼真的仿真,并包含固件控制与规划函数的绑定接口。该工具箱还提供了库文件,可直接在ROS 2脚本中实现与Crazyflie的无线电通信。因此该软件包可用于设计、实施和测试Crazyflie纳米四旋翼飞行器的规划策略与控制方案。此外,CrazyChoir的模块化结构使用户能够轻松实现针对多四旋翼飞行器的在线分布式优化与控制方案。本文通过Crazyflie集群在编队控制、取送货车辆路径规划及轨迹跟踪任务中的仿真与实验对CrazyChoir软件包进行了验证。CrazyChoir开源地址为:https://github.com/OPT4SMART/crazychoir。