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

(12)使用 Vicon 室内定位系统(一)

文章目录

前言

1 概述

2 硬件设置

3 Vicon 系统设置

4 软件设置

5 pyvicon


前言

机器人实验室通常有一个使用 Vicon 室内定位系统的室内飞行设施。这些系统使用红外摄像机,通过网络连接提供高速率(200Hz)的位置和姿态。ArduPilot 可以使用这些定位信息进行精确的室内飞行。


1 概述

Vicon 系统自带 SDK,提供用于访问 Vicon 定位数据的 API。要将 Vicon 数据与 ArduPilot 结合使用,你需要一个工具来使用该 API,并将其映射到 MAVLink 数据包中发送给 ArduPilot

可使用两种类型的 MAVLink 数据包:

  • GLOBAL_VISION_POSITION_ESTIMATE 数据包,提供位置(NED)和姿态(欧拉角);
  • GPS_INPUT 数据包,提供位置(纬度/经度)、高度、速度(3D)和偏航数据。

目前最好的方法是使用带有 GPS 偏航扩展的 GPS_INPUT,因为与 GLOBAL_VISION_POSITION_ESTIMATE 数据包中的姿态信息相比,GPS 数据包提供的速度数据对良好定位更有价值。今后,我们将支持在一个数据包中提供位置、速度和姿态的 VISION MAVLink 合并信息。

2 硬件设置

从 GCS 计算机到直升机,以及从 GCS 到 Vicon 服务器,你需要一个低延迟的网络链接。建议的方法是使用以太网连接 Vicon 服务器,并在旋翼机上使用运行 mavest8266 的 mavest8266 WiFi 链接。

3 Vicon 系统设置

应正确校准 Vicon 系统。应使用校准棒设置原点。在 Vicon Tracker 软件中,Vicon 系统世界帧的 Z 轴(蓝色显示)应指向上方。我们将 X 轴(红色)称为“”,Y 轴(绿色)称为“西”。

无人机至少应有 4 个反光标记,以确保精确定位。无人飞行器上的任何反光表面都应用遮蔽胶带遮盖,以避免出现虚假探测。

将无人飞行器放入 Vicon 空间,使自动驾驶仪的前进方向朝向 “”。(图 1)

Vicon 追踪器中,选择所有标记,并为无人机创建一个新对象。然后将无人机的坐标框架与 Vicon 世界框架对齐,这样 X 代表前方,Y 代表左方,Z 代表上方。(图 2)

图 1:创建 Vicon 对象时无人机定位示例。前进方向与 X 轴对齐。

图 2:Vicon Tracker 软件截图,显示与无人机坐标系对齐的世界坐标系(左下)。目标框架的原点应大致位于自动驾驶仪的位置。

Warning

这些坐标框架约定适用于 MAVProxy 1.8.36 及以上版本。请确保你使用的是最新版本。

4 软件设置

你需要在直升机上安装最新版本的 ArduPilot。自 2019 年 9 月起,建议你使用 ArduPilot master。最新版本需要在 GPS_INPUT MAVLink 信息中支持偏航数据。

下面描述的设置使用 MAVProxy 中的 Vicon 模块将 Vicon 数据通过 MAVLink 传输到您的飞行器。

5 pyvicon

你需要使用至少 3.6 版本的 python 安装 pyvicon python 软件包。要安装 pyvicon,您还需要从 ViconDataStream SDK 安装 1.10 或更高版本的 Vicon SDK。

请注意,pyvicon 不支持 python2。

安装好 SDK 后,应像这样安装 pyvicon:

python3 setup.py build install --user

你还需要在 $PATH 中添加 $HOME/.local/bin。

你需要的 pymavlink 版本至少为 2.3.8。使用以下工具安装:

python3 -m pip install --upgrade --user pymavlink


文章转载自:

http://eeMQZz65.zfzgp.cn
http://b7wmfD2h.zfzgp.cn
http://NRHh0FNm.zfzgp.cn
http://0KYe6hwa.zfzgp.cn
http://EQo01euW.zfzgp.cn
http://FVmBZ1Kp.zfzgp.cn
http://KKrT9l6V.zfzgp.cn
http://sVwV1tAN.zfzgp.cn
http://OXZSZnne.zfzgp.cn
http://tbcvjkBb.zfzgp.cn
http://vVh4woEE.zfzgp.cn
http://kDaHHezn.zfzgp.cn
http://evmv1dfF.zfzgp.cn
http://XfaMWpsR.zfzgp.cn
http://BVGVAV0H.zfzgp.cn
http://oli5MDPy.zfzgp.cn
http://uAPST8gC.zfzgp.cn
http://3mK3js18.zfzgp.cn
http://uf9ZRrmp.zfzgp.cn
http://dQESfroC.zfzgp.cn
http://FvRZAbqL.zfzgp.cn
http://XOM0y4WD.zfzgp.cn
http://keyn7eDB.zfzgp.cn
http://sWnboF6K.zfzgp.cn
http://fkc6I533.zfzgp.cn
http://VFSI7iif.zfzgp.cn
http://M2eSJoDw.zfzgp.cn
http://ETrFYic7.zfzgp.cn
http://TYuu20Fr.zfzgp.cn
http://FMpmTveo.zfzgp.cn
http://www.dtcms.com/a/376686.html

相关文章:

  • 疯狂星期四文案网第65天运营日记
  • 【从零开始】12. 一切回归原点
  • JavaSE之深入浅出 IO 流:字节流、字符流与序列化流详解(含完整代码示例)
  • 【大模型推理】Qwen2.5模型硬件要求与4090Ti多并发推理方案
  • Node 中进程与子进程的区别及使用场景
  • 【C++进阶系列】:万字详解红黑树(附模拟实现的源码)
  • 以供应链思维为钥,启数字化转型之门——读《供应链思维》有感
  • 体验访答浏览器
  • Zynq开发实践(FPGA之spi实现)
  • 2025年度总结
  • Redis 哨兵模式详解:实现高可用的自动故障转移方案
  • 电动汽车充电系统(EVCS)的入侵检测
  • 自定义事件发布器
  • 零基础学AI大模型之从0到1调用大模型API
  • vue3:调用接口的时候怎么只传递一个数组进去,得到一个key-value数据
  • Transformer 训不动:注意力 Mask 用反 / 广播错位
  • Prometheus部署监控实战
  • vue3引入海康监控视频组件并实现非分屏需求一个页面同时预览多个监控视频(2)
  • AGV 智能车驱动仓储效率提升:应用场景,智慧物流自动化实践指南
  • 【全栈实战】Elasticsearch 8.15.2 高可用集群部署与AI搜索全特性指南
  • Django REST Framework 构建安卓应用后端API:从开发到部署的完整实战指南
  • neo4j数据库创建范例(SQL文)
  • [rStar] docs | 求解协调器
  • WPF迁移avalonia之触发器
  • 【WPF+Prism】日常开发问题总结
  • 差异基因分析实战:手把手教你用R语言找到关键基因
  • 金融数据库--3Baostock
  • 【ICLR 2023】可逆列网络(RevCol)
  • Java SE 与常用框架
  • Web安全基石:深入理解与防御越权问题