中国医院考试网站模板下载,河北省住房与建设厅网站,学服装设计的基础,长沙优质营销网站建设设计Crazyflie支持MATLABSimulink控制 基于NOKOV度量动捕系统实现 一、动捕软件VRPN配置
以动捕软件版本XINGYING 4.2.0.5495为例#xff0c;其他版本同理。打开动捕软件#xff0c;连接上镜头。单击菜单栏下的视图-数据广播。在数据广播中的VRPN流下#xff0c;将单位下拉… Crazyflie支持MATLABSimulink控制 基于NOKOV度量动捕系统实现 一、动捕软件VRPN配置
以动捕软件版本XINGYING 4.2.0.5495为例其他版本同理。打开动捕软件连接上镜头。单击菜单栏下的视图-数据广播。在数据广播中的VRPN流下将单位下拉选择米类型勾选刚体并启用VRPN。
图 1-打开数据广播视图
图 2-动捕中vrpn配置 单击菜单栏下的视图-设备打开设备视图。先点击停止播放按键在高级框中将动捕帧率修改为120。
图 3-打开设备视图
图 4-修改动捕帧率
二、MATLAB/Simulink平台配置
要求ROS 版本galacticUbuntu 版本20.04。crazyflie固件版本2024.10以上若版本过低自行更新版本cfclient使用。在windows主机上Matlab版本建议2020a以上本实验使用2022a自行安装python、cmake和Microsoft Visual C注意要与matlab的版本对应。
一ubuntu环境配置
开启终端使用以下命令将环境配置写入.bashrc中。ROS_DOMAIN_ID的取值范围为0~255。 echo “export RMW_IMPLEMENTATIONrmw_fastrtps_cpp” ~/.bashrc echo “export ROS_DOMAIN_ID26” ~/.bashrc
二Matlab/Simulink环境配置
1.先将flightmaster2的matlab套件解压使用matlab打开套件flightmaster2.slx一定要在当前文件夹。
图 5-打开flightmaster2的matlab套件 2.在matlab终端上运行以下代码选择编译器和编译语言。 mex -setup C
图 6-选择编译语言 3.运行以下命令对自定义消息进行编译。 ros2genmsg(‘custom_msgs’);
图 7-编译自定义消息类型 4.双击flightmaster2.slx进入simulink模型。
图 8-打开flightmaster2的simulink程序 5.点击上方的仿真在单击ROS Network。将Domain ID修改为与ubuntu一致将RMW Implementation修改为rmw_fastrtps_cpp。
图 9-配置ROS2网络
三、基础飞行操作演示
一基础控制
在基础控制轮盘中实现了对无人机的基础控制包括解锁、起飞、悬停、降落和急停服务可对单个或多个无人机操作。 1.将三架crazyflie机头朝向x轴正方向放置在场地中在动捕创建刚体nokov1、nokov2和nokov3骨骼朝向为x轴如下图所示。
图 10-建立刚体 2.双击flightmaster2.slx打开simulink模型。 图 11-simulink模型 3.打开ubuntu在flightmaster2中的flightmasters.yaml启用三架crazyflie。
图 12-启动三架crazyflie 4.开启一个终端使用以下命令打开flightmaster2图形控制界面。 cd ~/FlightMaster2/ python fmclient.py
图 13-运行flightmaster2图形化界面 5.在图形化界面上选择RealMode并勾选RViz再点击启动FlightSwarm。此时会运行flightmaster2的服务节点rviz也会启动。
图 14-flightmaster2图形化界面 6.在matlab的simulink界面上将集群demo轮盘和基础服务轮盘先拨至NO。再选择上方的仿真单击运行按键。
图 15-将轮盘拨至No
图 16-运行simulink 先将基础服务轮盘拨至Takeoff此时三架无人机会起飞至1米再将轮盘拨至Hold无人机会在当前位置保持悬停再将轮盘拨至Land三架无人机降落最后将轮盘拨至No。
图 17-轮盘拨至takeoff
图 18-无人机起飞
图 19-rviz显示
二crazyflie单机绕方
1.一架crazyflie放入动捕场地中机头朝向x轴在动捕软件中建立刚体名称为vehicle3骨骼朝向x轴。
图 20-创建刚体 2.打开ubuntu在flightmasters.yaml启用一架crazyflie在flightmaster2图形控制界面上启动FlightSwarm。
图 21-启用一架crazyflie
图 22-启动FlightSwarm 3.在matlab的simulink界面上将demo控制轮盘和基础服务轮盘先拨至NO。再选择上方的仿真单击运行按键。
图 23-将轮盘拨至No
图 24-运行simulink 4.在demo控制轮盘下方将VEHICLE3开关拨至on启用设备此时启用设备的灯会变绿。
图 25-启用设备 5.将demo控制轮盘拨至crazyflie。此时vehicle3会先起飞然后绕方形。
图 26-轮盘拨至crazyflie
图 27-crazyflie绕方形
图 28-rviz显示