Pixhawk+PX4+VRPN +NOKOV无人机飞控平台动捕数据传输

news2024/11/24 2:35:41

NOKOV度量动作捕捉系统可以很好的适配PX4无人机飞控平台。进行数据通信的时候,使用SDK或者VRPN的方式都是可以的。本文演示NOKOV度量动作捕捉系统通过VRPN与PX4平台进行数据传输的方法。

一、硬件准备

1、准备无人机

这里准备的无人机,飞控版是Pixhawk 2.4.8,上面搭载了一款机载电脑是树莓派3B,加了一个护栏。
关于无人机的选型以及拼装,可以参考PX4的官方网站。
在这里插入图片描述

2、网络拓扑结构

1)一台动作捕捉电脑。负责连接动捕镜头。有固定的IP地址,是10.1.1.198
2)无线路由器
3)树莓派主机
4)Linux服务器。在上面跑地面站软件
这些设备会连接到同一个无线路由器,它们之间是可以相互通信的。
补充一点,目前我们无线路由器和交换机桥接在了一起,所以不管是我们的无人机,还是动捕电脑,IP都是在10.1.0这个网段。

在这里插入图片描述

二、安装配置

1、标定与贴点

数据采集前的准备工作包括标定与贴点。
具体方法教程可以关注NOKOV度量动作捕捉服务号的技术干货-线上培训栏目。
在这里插入图片描述

在标定的时候注意,动捕软件的标定轴需要z轴向上。
在我们的形影软件里面,长轴是x轴,也就是说,右边这个横着看有三个点的是x轴,另一边是y轴。
放置无人机的时候,需要无人机的机头朝向x轴的正方向。
在这里插入图片描述

2、创建刚体

从软件界面中可以看到,我们此次实验使用了16台动作捕捉镜头。
在这里插入图片描述

然后我们需要在场景中确定一个刚体。
关于刚体的具体创建过程,也可以参考NOKOV度量动作捕捉服务号中的视频讲解。
在这里插入图片描述

3、VRPN安装配置

我们本次实验通过VRPN进行数据传输。在机载电脑上需要配置安装vrpn_client_ros。
在这里插入图片描述

关于这个软件包的安装,主要有下面两种方式:
1)使用apt命令
2)使用源码安装

(1)使用apt命令

在这里插入图片描述

具体的操作方法:

  1. 在树莓派上首先使用vrpn_client_ros连接上新主机;
  2. 然后启动MavRos;
  3. 将树莓派连接上飞控;
  4. 同时把数据转发到地面站;
  5. 下一步进行话题的转发,我从VRPN中接收到关于Tracker1的话题,把它转发到MavRos的话题下面;
  6. 最后,我们可以在一台远程主机上,不管是动捕电脑还是单独有一台高性能的服务器,在上面启动地面站软件。可以通过它来控制无人机、查看它的状态信息。

(2)使用源码安装

在这里插入图片描述

第二种方式是,不使用VRPN,而是直接使用NOKOV定制的软件包,名字是MOCAP_NOKOV。
维基百科有软件介绍,相应的代码仓库在GitHub上可以获取。
如果你当前的系统并不支持直接安装,就可以考虑下载源码,然后在本地进行编译使用。
之后的步骤与方法一是一样的。
区别主要是在话题转发环节,相应的话题会产生变化。

4、多主机通讯配置

在这里插入图片描述

因为我们通常情况下会使用集群,就会有多台ROS主机。这里介绍关于多主机的通信。
目前我们的本地环境是这样的:
我有一台机载电脑,将它设置为master节点;
我的当前电脑是一台Ubuntu服务器。
我将Master的URI定位到了树莓派的IP上面。因为主要考虑到树莓派的操作系统上面资源比较紧凑,也没有图形化界面。
主要通过ROS把数据回传到远程主机上面。
同理,在树莓派上也需要在bashrc文件里面增加内容。
在这里插入图片描述

验证定位有没有成功接入。可以进行以下两步:
1、在地面站的位移分析工具MAVLINK inspector的面板里,查看下面两条消息的出现,并且它的数值是跟随动捕动态变化的。
2、飞行模式的切换。如果在地面站软件里是可以支持模式的切换,可以成功地切换到定点模式的也就是position模式,那也说明定位系统是接入成功的。

三、操作流程演示

1、创建刚体

完成标定之后,将无人机放在场地中间,机头朝向x轴的正方向。
在这里插入图片描述

在形影动捕软件里创建一个刚体。创建刚体的步骤:

  1. 先暂停播放,然后移除tracker,因为这是一个刚刚创建好的刚体
  2. 重新点击播放,冻结帧,按住shift和鼠标左键,框选
  3. 点击创建刚体。这时界面上会弹出tracker2。因为我前面已经创建了tracker0和tracker1,这个序号是自动递增的。然后点击创建,刚体创建完成。
    在这里插入图片描述

现在我还是希望用回原来的tracker1。现在就可以看到这个刚体的方位以及朝向。
在这里插入图片描述

2、VRPN广播

接着,打开VRPN的广播。在软件的设置里,勾选类型为刚体Rigid,单位从原来的毫米修改为现在的米,之后点击VRPN Enabled。
这时候我们再播放,刚体的定位信息已经通过VRPN传输出去了。
这里注意一点,关于网卡地址,是不用进行切换的。每一个网卡接口上面都会有VRPN数据转发出去,也就是说都是可以收到的。

在这里插入图片描述

3、连接树莓派

接着在树莓派电脑上ping一下动捕的电脑。这里我们看到是可以成功的,是可以正常通讯的。
在这里插入图片描述

接下来,在树莓派电脑上面完成刚才的几个步骤。
因为可能会需要用到几个终端,所以先远程连接过去。
首先启动VRPN客户端用于接收VRPN的数据。
在这里插入图片描述

这里注意,在终端里可以通过Tab键自动地去推导。
这里的IP要修改为动捕电脑的IP。
这里可以看到树莓派,也就是机载电脑的IP是10.1.1.103。这个是通过Wifi无线网连接的。
然后敲回车。这边可以看到VRPN已经连接上了。
这个tracker1就是我们对应的动捕界面中当前的tracker1。

在这里插入图片描述

4、MAV Ros设置

接下来要使用MAV Ros。命令也可以直接复制。
这里注意,地面站的地址10.1.1.150就是当前的这台电脑的IP。
我后面会把地面站运行在当前电脑上,方便观察无人机的状态。
端口默认的使用14550。敲回车。
在这里插入图片描述

现在MavRos已经接入成功。已经显示了当前无人机的一些状态信息。

在这里插入图片描述

5、话题转发

在这里插入图片描述

接着,进行话题的转发。这一步操作也是在树莓派上进行的。
直接使用RVIZ工具。把帧改成world,然后添加TF,这里可以看到tracker1已经显示出来。
在这里插入图片描述

然后添加一个pose。把话题更改一下,看到vision_pose/pose,则话题已经转发过来了。
在这里插入图片描述

现在数据就已动态显示在这个图形化工具上面。
在这里插入图片描述

当我这边把无人机举起来的时候,动捕软件以及当前的RVIZ工具里面都是可以实时看到变化的。
这里看见现在无人机被托举在了空中,可以看到动捕软件中的刚体已经定位在了空中。
在这里插入图片描述

同样的,在图形化工具里面也是可以实时展示出来的。
在这里插入图片描述

6、连接地面站

为了方便查看无人机的状态以及下达控制指令,可以在当前的这台电脑上面使用地面站软件。
会发现当我们地面站软件启动的时候,它就会默认地自动连接上无人机。
在这里我们就可以看到无人机的一些讯息。
在这里插入图片描述

7、接入验证

接着验证动捕定位系统是否成功接入。
在这里插入图片描述

可以看到当前是可以成功切换到定位模式的。
如果没有我们定位系统的话,是不能直接进行定位点模式切换的。
在这里插入图片描述

在这里我可以这样对比看一下。
把定位系统暂停,这时候切换position模式,切换失败了。
把定位数据再打开,紧接着再切换,这次就能成功切换了。

8、查看动捕定位数据

在分析工具Mav link的视察面板里查看动捕定位数据。
在这里插入图片描述

这里就是当前的定位系统传递来的一些信息,包括坐标、朝向、旋转信息,
还看到XYZ坐标,都是比较小的值,因为目前无人机放置在地面上。
细心的朋友会观察到,XYZ的Z是一个负值,而我们坐标里面的Z轴向上应该是个正值。这个是Mav ros替我们完成的这个转换。关于朝向的差别,可以参考PX4官方的文档。

9、飞行实测

在动捕定位系统成功之后,我们就可以尝试解锁,进行起飞的测试。
如果飞控操作不熟练的话,可以在参数里面把起飞的距离设置成3ft,大概就是90厘米左右的高度。
在这里插入图片描述

完整演示视频可到B站“NOKOV度量动作捕捉”查看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1220285.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

O2OA(翱途)开发平台 V8.2即将发布,更安全、更高效、更开放

尊敬的O2OA(翱途)平台合作伙伴、用户以及亲爱的开发小伙伴们,平台新的版本就要发布啦! 上次8.1的发布是在9月1日,又过去两个多月,O2OA研发团队始终踏踏实实地做好产品的研发及优化工作,只为给客户带去更好的服务和产品…

好用的企业防泄密软件盘点

企业防泄密软件是专门设计用于保护企业敏感信息不被泄露的软件产品。这类软件通常采用多种安全技术和策略,以增强企业数据的安全性和保密性,防止核心知识产权和商业机密的泄露。 企业防泄密软件的主要功能包括数据加密、访问控制、审计和监控、文件和数据…

tomact部署Nginx 高负载

准备工具 安装jkd 双击程序开始安装, 点击下一步 选择安装路径 安装完成,点击关闭 配置java的环境变量 鼠标右键点击车我的电脑,选择属性点击 系统设置 点击环境变量 点击下方的新建 变量名输入JAVA_HOME 变量值输入jdk安装的路径 点击确认 在系统变量中找到path,然后点击…

JSON.toJSONString/JSONObject.toJSONString将实体类对象转换成JSON字符串时,多出了params字符串[记录贴]

我这里是给与了实体类一些固定的默认值,转换莫名其妙多出了params参数,回头深挖一下 **光看代码了 被偷了后方,忘记继承了还 ** 将实体类转换成JSON格式,三种写法都是一样的,内核都是阿里巴巴的 System.out.println(…

内网信息收集-网络安全

目录 本机信息收集 查看系统配置信息 查看系统服务信息 查看系统登录信息 自动信息收集 域内信息收集 判断是否存在域 探测域内存主机&端口 powershell arp扫描 小工具 telnet 查看用户&机器&会话相关信息 查看机器相关信息 查看用户相关信息 本机信…

处理机器学习数据集中字符串列(pandas.get_dummies)

如图,在数据集中week列的数据不是数值型,会导致我们在训练过程中难以处理。 而pandas库中有一个非常好用的函数,独热编码pandas.get_dummies(df) 使用此函数之后,会在原数据中新建各列代表Fri-Sun,值为0或1&#xff…

半平面求交 - 洛谷 - UVA1475 Jungle Outpost

欢迎关注更多精彩 关注我,学习常用算法与数据结构,一题多解,降维打击。 往期相关背景点击前往 题目大意 题目链接 https://www.luogu.com.cn/problem/UVA1475 在丛林里有n个瞭望塔,瞭望塔的保护范围就是一个凸n多边形&#xf…

如何选择适合企业的ERP管理系统?

如何选择适合企业的ERP管理系统? 企业业务不断发展和扩大,ERP管理系统已成为企业实现信息化管理、提高工作效率、降低成本的重要工具。然而,市场上ERP管理系统种类繁多,如何选择适合自己企业的ERP管理系统成为了企业面临的难题。…

陪诊系统定制|陪诊系统实现个性化医疗陪护

随着社会的发展和人口老龄化的加剧,医疗陪诊服务逐渐成为了人们生活中不可或缺的一部分。为了满足这一需求,越来越多的创业者开始关注陪诊小程序的开发。那么,陪诊小程序源码如何开发呢?本文将探讨陪诊系统源码开发的意义、关键功…

java:springboot单元测试spring-boot-starter-test

背景 Java的单元测试可以使用多个框架,其中比较流行的包括: JUnit:JUnit是Java单元测试最常用的框架,它提供了一套丰富的API,可以方便地编写测试用例和测试套件。JUnit 5是JUnit的最新版本,引入了许多新功…

电源模块输出过冲如何产生?测试标准及其测试方法是什么?

输出电压过冲是一个常见的电路问题,它是指在电路中的电压超过了规定的范围,严重的话会造成系统不稳定,导致元器件、负载以及设备损坏。那么造成输出电压过冲的原因有哪些呢?电源自动测试系统要怎么测试输出过冲? 输出电压过冲产生…

DMA covert communication

DMA隐蔽通信的新思路 拆分DMA的RF链 思路的主要来源: article{Ci2021HybridBD, title{Hybrid Beamforming Design for Covert Multicast mmWave Massive MIMO Communications}, author{Wei Ci and Chenhao Qi and Geoffrey Ye Li and Shiwen Mao}, journal{2021 IEEE Global …

项目技术复盘

背景 该项目接手时已是8月中下旬,并且客户要求九月中旬输出第一版本。这么紧急的节奏,不知道商务是如何答应的。临危受命,让我承担开发经理岗位,主导该项目。 开发团队 岗位 人员 base 架构师兼高级软件工程师 季工 上海 高…

Isight 2023 新功能介绍

​​Isight是一个仿真分析流程自动化和多学科多目标优化工具,它提供了一个可视化的灵活的仿真流程搭建平台,同时提供与多种主流CAE分析工具的专用接口,利用此工具,用户可以方便的以拖拽的方式可视化的快速建立复杂的仿真分析流程&…

榜首揭秘:热门产品原型设计工具TOP10

在现代产品制作和创新过程中,原型设计工具起着不可或缺的作用。这些工具为设计师、开发人员和团队提供了更深入的理解,以便核实和呈现他们的设计想法。根据项目的特性,可能需要使用各种类型的工具,因此,我们将在此篇文…

最新随机小姐姐无水印开源版HTML源码

推荐一款高质量的HTML引流源码,适合浏览小姐姐短视频 这款源码具有出色的用户界面设计,给人视觉上的美感 视频播放流畅稳定,给用户带来良好的观影体验 小姐姐们的外貌也非常美丽吸引人 想要浏览精彩的小姐姐短视频,不妨试试这款…

智能位移监测,更新传统井盖的功能

在城市的街道和人行道上,我们经常可以看到井盖的存在。井盖作为地下管道和设施的入口承载着重要的功能。然而过去我们可能忽视了一个重要的问题:井盖的位移可能会对人们产生潜在的威胁。为了保护我们的生活安全和交通畅通无阻和确保城市生命线安全稳定&a…

老师如何在家长群发布通知?

班级查询系统是一种方便快捷的方式,让学生或家长能够随时在线查看老师发布的通知或回执。通过使用各种代码、Excel、小程序工具,老师可以轻松实现学生自助查询班级信息的功能。本文将向老师介绍如何发布成绩查询通知,帮助学生和家长更好地了解…

大势所趋!机器视觉替换传统人工,深眸科技以工业AI视觉赋能生产

如今,在工业4.0的浪潮下,人工智能技术凭借着优化生产流程、实现个性化定制、保障产品安全、促进产业变革等优势,逐渐成为制造业数智化转型的“利器”之一,其在工业生产中的广泛应用使传统制造业焕发生机。 机器视觉作为人工智能快…

非 dict 字典类型的处理

在Python的requests库中,使用data参数发送POST请求时,如果传入的数据对象不是直接继承自dict的字典类型,就会抛出TypeError异常。 Python的requests库是一个广泛用于HTTP请求的库,它提供了丰富的功能来发送和处理HTTP请求。其中&…