(5)ModalAI VOXL2

文章目录

前言

5.1 购买什么

5.2 硬件设置

5.3 VOXL 摄像机配置

5.4 自动驾驶仪配置

5.5 视频


前言

本文介绍了如何设置 ModalAI VOXL 2,以便与 ArduPilot 配合使用,从而在没有 GPS 的情况下实现包括 Loiter、PosHold、RTL 和 Auto 等模式的位置控制。


本文介绍了如何设置 ModalAI VOXL 2,以便与 ArduPilot 配合使用,从而在没有 GPS 的情况下实现包括 Loiter、PosHold、RTL 和 Auto 等模式的位置控制。

Note

ArduPilot 4.6(及更高版本)支持 VOXL 2

5.1 购买什么

以下任何产品均可运行 ArduPilot

5.2 硬件设置

按此处(here)所述安装 ArduPilot

可在此处找到 CopterPlaneRover 的预制二进制文件。

安装文件复制如下:

  • voxl-ardupilot.service 设为 /etc/systemd/system/
  • voxl-ardupilot 到 /usr/bin/;
  • build/QURT/ardupilot 到 /usr/bin/;
  • build/QURT/bin/arducopter 复制到 /usr/lib/rfsa/adsp/ArduPilot.so
  • 将正确的参数文件从 Tools/Frame_params/ModalAI/ 复制到 /data/APM/defaults.parm。

然后可以使用:

  • systemctl 使能 voxl-ardupilot.service;
  • systemctl 开始 voxl-ardupilot。

5.3 VOXL 摄像机配置

详情即将公布。

5.4 自动驾驶仪配置

用地面站(如任务规划器)连接自动驾驶仪,检查是否设置了以下参数。

  • SERIAL2_PROTOCOL = 2(MAVLink2)。请注意,这假定摄像机已连接到自动驾驶仪的“Telem2”端口;
  • SERIAL2_BAUD = 921(921600 波特);
  • 可选择设置 SERIAL2_OPTIONS  = 1024(不转发 mavlink 至/从),禁止将摄像机的里程测量信息发送至 GCS;
  • 可选择设置 SR2_EXTRA3 = 0,禁止向摄像机发送 SYSTEM_TIME 信息,因为已知 SYSTEM_TIME 会导致摄像机丢失位置估计值(例如,质量降为-1)。请注意,这需要将摄像机连接到自动驾驶仪的第二个 mavlink 端口(例如通常的 Telem2);
  • VISO_TYPE= 3 (voxl);
  • VISO_POS_X,、VISO_POS_YVISO_POS_Z 设置为相机在无人机上相对于重心的位置。详见传感器位置偏移补偿(sensor position offset compensation);
  • 可选择将 VISO_QUAL_MIN 增至 10(或更高),以便仅在质量为 10%(或更高)时才消耗相机的估计值。

如果仅使用 VOXL 2 摄像机进行位置估算和航向(如无 GPS):

修改参数后,重启自动驾驶仪。与地面站连接,(如果使用任务规划器)在地图上单击鼠标右键,选择 “在此设置原点”、“在此设置 EKF 原点”,告诉 ArduPilot 飞行器的位置,它就会立即出现在地图上。

用于室内/室外转换(例如室内使用 VOXL 摄像头,室外使用 GPS+指南针):

  • EK3_SRC1_POSXY = 3 (GPS);
  • EK3_SRC1_VELXY = 3 (GPS);
  • EK3_SRC1_POSZ = 1 (Baro);
  • EK3_SRC1_VELZ = 0 (None);
  • EK3_SRC1_YAW = 1 (Compass);
  • EK3_SRC2_POSXY = 6 (ExternalNav);
  • EK3_SRC2_VELXY = 6 (ExternalNav);
  • EK3_SRC2_POSZ = 6 (ExternalNav);
  • EK3_SRC2_VELZ = 6 (ExternalNav);
  • EK3_SRC2_YAW = 6 (ExternalNav);
  • RC6_OPTION = 90(EKF Pos 信号源)允许飞行员使用通道 6 在信号源 1(如 GPS+指南针)和信号源 2(如 VOXL 摄像机)之间切换。开关的低位置为源 1(GPS+指南针),中间位置为源 2(如 VOXL),高位置为源 3(如无),这将导致 EKF 失去位置估计并触发 EKF 故障安全。为避免飞行员错误触发 EKF 故障保护,你可能需要将 EK3_SRC1_xxx 或 EK2_SRC2_xxx 复制到 EK3_SRC3_xx;
  • RC7_OPTION = 80(Viso Align)允许飞行员在飞行前使用通道 7 将摄像机的偏航与 AHRS/EKF 偏航重新对齐。起飞前重新调整偏航是个好主意,否则可能会发生位置失控(又称“厕所保龄球”)。

修改参数后,重新启动自动驾驶仪

有关 GPS/Non-GPS 转换的更多详情,请点击此处(GPS/Non-GPS Transitions can be found here)。

为了在 VOXL 出现故障时使用光流和测距仪作为备份,这里提供了一个用于外部导航/光流转换的 Lua 小程序(ExternalNav/Optical flow transitions is here)。

5.5 视频

内容概要:本文档详细介绍了Android高级控件的使用方法及其应用场景。首先讲解了下拉列表Spinner,包括其两种表现形式(下拉列表形式和对话框形式),并介绍了适配器Adapter的基础概念及其三种主要类型:数组适配器ArrayAdapter、简单适配器SimpleAdapter和基本适配器BaseAdapter,重点阐述了它们各自的特点和使用步骤。接着,文档对列表视图ListView进行了深入探讨,涉及分隔线样式、按压背景等属性的设置方式。随后,描述了网格视图GridView,详细解释了其拉伸模式的效果及取值。对于翻页视图ViewPager,不仅介绍了基本概念,还展示了翻页标签栏PagerTabStrip的具体应用,特别是用于创建启动引导页。最后,文档介绍了碎片Fragment的概念,强调了其在大屏设备上的优势,以及与ViewPager结合使用的实战案例——记账本应用。 适合人群:有一定Android开发基础,希望深入了解并掌握高级控件使用的开发者。 使用场景及目标:①掌握下拉列表、列表视图、网格视图、翻页视图等高级控件的实现细节;②理解适配器的作用及其不同类型的使用场景;③学会使用Fragment优化应用界面布局,提高用户体验;④通过具体案例(如记账本),将所学控件应用于实际开发中。 阅读建议:本文档内容详实,涵盖多种高级控件的理论知识与实践技巧。建议读者在学习过程中结合官方文档或相关资料进行对比研究,同时动手实践,以便更好地理解和掌握这些控件的应用。
评论 94
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EmotionFlying

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值