Skip to main content

(五)Crazyflie与Ardupilot 异构集群控制

一、动捕软件VRPN配置

以动捕软件版本XINGYING 4.2.0.5495为例,其他版本同理。打开动捕软件,连接上镜头。单击菜单栏下的视图->数据广播。在数据广播中的VRPN流下,将单位下拉选择米,类型勾选刚体并启用VRPN。

图 1-打开数据广播视图

图 1-打开数据广播视图

图 2-动捕中vrpn配置

图 2-动捕中vrpn配置

单击菜单栏下的视图->设备打开设备视图。先点击停止播放按键,在高级框中将动捕帧率修改为30。

图 3-打开设备视图

图 3-打开设备视图

图 4-修改动捕帧率

图 4-修改动捕帧率

二、FlightMaster平台配置

要求ROS 版本:galactic,Ubuntu 版本:20.04。crazyflie固件版本2024.10以上,若版本过低自行更新版本(cfclient使用)。

(一) 安装依赖

开启终端,使用以下命令安装依赖。

sudo apt install python3-pip python3-colcon-common-extensions
pip3 install rowan
sudo apt install libusb-1.0-0-dev

(二) 编译源码

先将给定的Flightmaster2压缩包解压,然后将解压的文件夹放置在ubuntu家目录(~/)下。使用以下命令安装mavsdk和编译FlightMaster2源码。

cd ~/FlightMaster2/
sudo dpkg -i ./prebuilt/mavsdk-20241118_2.12_amd64.deb
colcon build --symlink-install
echo "source ~/FlightMaster2/install/setup.bash" >> ~/.bashrc

(三) FlightMaster2中配置VRPN

在FlightMaster2中的motion_capture.yaml(路径:

~/FlightMaster2/flightmaster/config)配置文件中将type改为vrpn,hostname修改为动捕软件与运行FlightMaster2主机同网段的IP地址。

图 5-配置type和hostname

图 5-配置type和hostname

在FlightMaster2中的flightmasters.yaml(路径:

~/FlightMaster2/flightmaster/config)配置文件中将要使用的robot_types的motion_capture的enabled置为false。

图 6-设置vrpn方式

图 6-设置vrpn方式

(四) FlightMaster2连接配置说明

在FlightMaster2中的flightmasters.yaml(路径:

~/FlightMaster2/flightmaster/config)配置文件中的robots字段下,crazyflie的配置与crazyswarm2中一致。apm小车配置与crazyflie的区别在于uri与type。apm小车使用的是mavlink协议,连接地址有多种方式(mavlink连接地址格式),本实验使用的是udp连接方式。type选择r200。

图 7-crazyflie与apm配置说明

图 7-crazyflie与apm配置说明

三、基础操作飞行演示

(一) 建立刚体

将一架crazyflie和一辆apm无人车放在场地上,机头朝x轴正方向,分别建立刚体cf和car,骨骼朝向x轴。

图 8-参考位置

图 8-参考位置

(二) 启用设备

在flightmasters.yaml文件中配置启用一架crazyflie和一辆apm无人车。

图 9-启用集群设备

图 9-启用集群设备

(三) 修改跟随脚本

修改follow.py 脚本(路径:~/FlightMaster2/flightmaster_examples/flightmaster_examples)中的名称,启动要对应。

图 10-修改脚本

图 10-修改脚本

(四) 启动图形化操作界面

开启一个终端,使用以下命令打开flightmaster2图形控制界面。

cd ~/FlightMaster2/
python fmclient.py
图 11-flightmaster2图形化界面

图 11-flightmaster2图形化界面

(五) 启动服务节点

在图形化界面上选择RealMode并勾选RViz,再点击启动FlightSwarm。此时会运行flightmaster2的服务节点,rviz也会启动。

图 12-启动flightmaster2和rviz

图 12-启动flightmaster2和rviz

(六) 启动跟随脚本

点击图形化界面右侧的运行follow.py按键,启动跟随脚本。

图 13-启动跟随脚本

图 13-启动跟随脚本

图 14-rviz显示

图 14-rviz显示

图 15-crazyflie跟随apm小车

图 15-crazyflie跟随apm小车