目录
一.简介
Crazyswarm平台允许您以紧密,同步的编队飞行一群Bitcraze Crazyflie 2.x和Bitcraze Crazyflie Bolt的四轴飞行器,主要是解决在集群研究中提高工程可实现性。 支持不同的定位系统:灯塔、LPS 和动作捕捉。
利用动作捕捉系统,给定四旋翼飞行器的初始位置,可以建立从无线电地址到位置的映射。并通过广播通信的方式,还支持3D图形模拟。
这个系统为开发者提供了许多工具,只需要学习一些python的内容,就可以实现对api的调用,实现对无人机集群的闪烁,编队等功能。
1.学习资料
如何入门和使用Crazyswarm:handout.pdf - Google 云端硬盘
2.群的定位(动捕)
支持lps(灯塔)和动作捕捉系统,因为我们的lab使用的是动捕,所以我只关注这一块的技术。基于动捕的方案是集中式的,需要大量通讯和数据和大型C++集中控制。 此外通过多个反光的小球去优化求解无人机位置和姿态(iterative closest point),第一种使用的较多,并利用帧匹配的方法追踪。
3.群的管理工具
此外还有基于python的群管理工具,可以实现选择和清除无人机、查看电池状态、关闭系统、重启系统等功能。
4.系统框架
此外在模拟环境中,实现了与真实环境中相同的代码,可以在Linux和mac环境下运行,不依赖ros系统。此系统不涉及空气动力学,所以和真实的系统有差别。主要的系统框架如下:
1)动作捕捉系统:利用C++编译的运动点云支持库,并有运动跟踪库;
2)carzyfile cpp:左侧的通讯模块,主要是用于设置初始点,设置参数等;
3)crazyswarm的服务器:给无人机发送指令,并接受ros、python和仿真的数据信息;
4)虚拟的位置、姿态捕捉:利用ros、python实现目标定位和运动跟踪。
二、实操案例
定义你的无人机类型、初始位置、实现简单的起飞降落、无人机集群避障、多个无人机环进行交叉、无人机编队对抗...相关视频在Crazyswarm: A powerful framework for aerial swarms - Wolfgang Hönig - YouTube
编译环境中的问题
安装ros
wget http://fishros.com/install -O fishros && . fishros
rosdep更新问题
sudo apt-get install python3-pip
sudo pip3 install rosdepc
rosdepc update
安装cmake
sudo apt install cmake # version 3.21.0
三、结论
crazyswarm是一个通用的开源框架,支持多种尺寸无人机,多种定位方法、可以是集中计算也可以是分布式计算。还支持单独的模块,追踪模块、仿真模块和matlab。