当前位置: 首页 > news >正文

Crazyflie无人机集群控制笔记(二)通过SDK实时对接Crazyswarm2及NOKOV度量动捕数据

一、动捕软件SDK配置

以动捕软件版本XINGYING 4.2.0.5495为例,其他版本同理。打开动捕软件,连接上镜头。单击菜单栏下的视图->数据广播。在网卡地址中下拉选择与ubuntu同网段地址,这里选择192.168.5.141,在SDK流下,将模式选择组播并启用SDK。
图 1-打开数据广播视图
图 1-打开数据广播视图
图 2-启用SDK
图 2-启用SDK

二、crazyswarm2平台配置

(一)SDK放置指定目录

将nokov_sdk文件夹放置在libmotioncapture的deps(路径:~/crazyswarm2/motion_capture_tracking/motion_capture_tracking/deps/libmotioncapture/deps)目录中。
图 3-将sdk放置在指定目录
图 3-将sdk放置在指定目录

(二)编译motion_capture_tracking源码

将motion_capture_tracking的CMakeLists.txt文件中的“set(LIBMOTIONCAPTURE_ENABLE_NOKOV OFF)”修改为“set(LIBMOTIONCAPTURE_ENABLE_NOKOV ON)”,启用SDK。
在这里插入图片描述
图 4-motion_capture_tracking启用SDK
再将libmotioncapture的CMakeLists.txt文件(路径:~/crazyswarm2/motion_capture_tracking/motion_capture_tracking/deps/libmotioncapture)的“option(LIBMOTIONCAPTURE_ENABLE_NOKOV “Enable Nokov” OFF)”改为“option(LIBMOTIONCAPTURE_ENABLE_NOKOV “Enable Nokov” ON)”
在这里插入图片描述
图 5-libmotioncapture启动sdk
使用以下命令重新编译motion_capture_tracking源码(上个文档将motion_capture_tracking源码拉取到crazyswarm2目录下)
cd ~/crazyswarm2/
colcon build --symlink-install
source ~/.bashrc

(三)crazyswarm2中配置SDK

在crazyswarm2中的motion_capture.yaml(路径:
~/crazyswarm2/crazyflie/config)配置文件中将type改为nokov,hostname修改为
第一节中选择的网卡地址:192.168.5.141。
在这里插入图片描述
图 6-配置type和hostname

三、基础操作飞行演示

(一)单机起飞降落控制

将1架crazyflie开机放入动捕场地,机头朝向x轴正方向,在动捕软件中建立刚体,刚体名称为nokov1。
在这里插入图片描述
图 7-建立刚体
在crazyflies.yaml添加该crazyflie的配置。
在这里插入图片描述
图 8-添加一架crazyflie配置
开启一个终端运行以下命令启动服务节点。
ros2 launch crazyflie launch.py gui:=False rviz:=True
另启一个终端,运行以下命令查看crazyflie的位置数据。
ros2 topic echo /poses
再启一个终端运行以下命令启动起飞降落脚本。
cd crazyswarm2/crazyflie_examples/crazyflie_examples/
python hello_world.py
在这里插入图片描述
图 9-rviz显示
在这里插入图片描述
图 10-crazyflie起飞

(二)集群绕八字控制

将3架crazyflie开机放入动捕场地,机头朝向x轴正方向,在动捕软件中建立刚体,刚体名称分别为nokov1、nokov2和nokov3。
在这里插入图片描述
图 11-建立刚体
在crazyflies.yaml添加该crazyflie的配置。
在这里插入图片描述
图 12-添加三架crazyflie配置
进入/crazyswarm2/crazyflie_examples/crazyflie_examples文件夹下修改figure8.py,将2932行代码注释(飞向初始位置)。
在这里插入图片描述
图 13-注释掉飞向设定初始位置代码
开启一个终端运行以下命令启动服务节点。
ros2 launch crazyflie launch.py gui:=False rviz:=True
另启一个终端,运行以下命令查看crazyflie的位置数据。
ros2 topic echo /poses
再启一个终端运行以下命令启动绕八字脚本。
cd crazyswarm2/crazyflie_examples/crazyflie_examples/
python figure8.py
在这里插入图片描述
图 14-rviz显示
在这里插入图片描述
图 15-集群绕八字

http://www.xdnf.cn/news/1087669.html

相关文章:

  • jmeter 性能测试步骤是什么?
  • 代码详细注释:C语言实现控制台用户注册登录系统
  • C++进阶—二叉树进阶
  • [2025CVPR]SGC-Net:开放词汇人机交互检测的分层粒度比较网络解析
  • 【网络协议安全】任务14:路由器DHCP_AAA_TELNET配置
  • Redis基础数据结构
  • Serverless 数据库来了?无服务器数据库 vs 传统数据库有何不同?
  • 学习日记-spring-day43-7.8
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(1):新的开始-尊他开始
  • Docker企业级应用:从入门到生产环境最佳实践
  • ReactNative【实战系列教程】我的小红书 4 -- 首页(含顶栏tab切换,横向滚动频道,频道编辑弹窗,瀑布流布局列表等)
  • 论文略读:UniPELT: A Unified Framework for Parameter-Efficient Language Model Tuning
  • C++(STL源码刨析/vector)
  • PostgreSQL复制技术全解析:从物理复制到逻辑复制的实践指南
  • 从历史航拍图像中去除阴影
  • 把文件夹下所有的excle写入word文件中
  • Grok 4,来了。
  • 算法设计与分析 知识总结
  • Android中MVI架构详解
  • MATLAB/Simulink电机控制仿真代做 同步异步永磁直驱磁阻双馈无刷
  • 基于PHP/MySQL的企业培训考试系统源码,高并发、稳定运行,源码开源可二开
  • Android补全计划 TextView添加删除线、下划线、更新字体等效果
  • RHA《Unity兼容AndroidStudio打Apk包》
  • 深度学习——神经网络1
  • 数据库迁移:alembic 这是什么工具?
  • Shader面试题100道之(21-40)
  • 【Python-GEE】如何利用Landsat时间序列影像通过调和回归方法提取农作物特征并进行分类
  • 从 0 构建一个 AI 模型测试小项目(含 pandas+sklearn 实战)
  • 4.权重衰减(weight decay)
  • EPLAN 电气制图(四):EPLAN 总电源电路设计知识详解