Skip to main content

(六)Crazyflie与PX4异构集群控制

一、动捕软件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安装与使用教程)。

(一) 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中一致。PX4无人机配置与crazyflie的区别在于uri与type。PX4无人机使用的是mavlink协议,连接地址有多种方式(mavlink连接地址格式),本实验使用的是udp连接方式。type选择p200。

图 7-crazyflie与px4配置说明

图 7-crazyflie与px4配置说明

三、基础操作飞行演示

(一) 建立刚体

将一架px4无人机和一架crazyflie放在场地上,机头朝x轴正方向,建立刚体pxf2和nokov3,骨骼朝向x轴。

(二) 位置放置

将px4放置在原点,机头朝向x轴正方向,将crazyflie无人机放置在px4前方,机头朝向x轴正方向。参考位置如下图。给所有设备上电。

图 8-参考位置

图 8-参考位置

(三) 启用设备

在flightmasters.yaml文件中配置启用一架crazyflie和一架px4无人机。

图 9-启用集群设备

图 9-启用集群设备

(四) 修改绕圆脚本

修改circle.py 脚本(路径:~/FlightMaster2/flightmaster_examples/flightmaster_examples)中的名称,启动要对应,crazyflie对应刚体nokov3,px4对应刚体pxf2。

图 10-修改脚本

图 10-修改脚本

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

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

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

图 11-flightmaster2图形化界面

(六) 启动服务节点

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

图 12-启动flightmaster2和rviz

图 12-启动flightmaster2和rviz

(七) 启动绕圆脚本

点击图形化界面右侧的运行circle.py按键,启动绕圆脚本。

图 13-启动画圈脚本

图 13-启动画圈脚本

图 14-rviz显示

图 14-rviz显示

图 15-crazyflie绕px4画圈

图 15-crazyflie绕px4画圈