Pixhawk–辅助定位

通过T265和树莓派进行辅助定位,教程原文

C++依赖库原文

将最新的 APSync Ubuntu 映像(在此处找到)下载到您的 PC,然后使用EtcherWin32DiskImager等工具将其闪存到 16GB(或更大)SD 卡,然后将其插入 RPI 的 SD 卡插槽

使用厚双面胶带或David Sastre 的 T265 安装座将英特尔实感 T265 安装在面向前方的车辆上(有关其他方向的信息,请参阅下文),以更好地隔离摄像头免受振动

将英特尔实感 T265 的 USB 电缆连接到 RPI4 的蓝色 USB3 端口之一

将 PiConnectLite 的电源线连接到电池(7V 至 30V)

将 PiConnectLite 的串行电缆连接到自动驾驶仪的遥测端口之一(即 Telem1、Telem2)。该电缆中使用的唯一信号是 TX、RX 和 GND。其他信号为 NC。

配置ArduPilot

使用地面站(即 Mission Planner)连接自动驾驶仪并检查以下参数是否已设置:

串行2_协议= 2 (MAVLink2)。请注意,这假设 RPI4 连接到 AutoPilot“Telem2”端口。

SERIAL2_BAUD = 921(921600 波特)

(可选)设置SERIAL2_OPTIONS = 1024(不转发 mavlink 至/来自)以阻止 RPI4/T265 mavlink 消息到达地面站

VISO_TYPE = 2 (IntelT265)

接下来设置 EKF3 以使用ExternalNav 来获取位置和速度:

EK3_SRC1_POSXY = 6(外部导航)

EK3_SRC1_VELXY = 6(外部导航)

EK3_SRC1_POSZ = 1(Baro 更安全,因为相机对高振动较弱)

EK3_SRC1_VELZ = 6(外部导航)

(可选)设置GPS1_TYPE = 0 以禁用 GPS

如果您想使用相机的航向:

COMPASS_USE = 0、 COMPASS_USE2 = 0、 COMPASS_USE3 = 0 禁用所有罗盘

EK3_SRC1_YAW = 6(外部导航)

如果您想使用自动驾驶仪的指南针来确定航向:

COMPASS_USE = 1(默认值)

EK3_SRC1_YAW = 1(罗盘)

RC7_OPTION = 80(Viso Align)允许飞行员在飞行前使用辅助开关 7 重新对准摄像机的偏航与 AHRS/EKF 偏航。起飞前重新对准偏航是一个好主意,否则会失去位置控制(又名“厕所”)保龄球”)可能会发生。

修改参数后,重启飞控。连接地面站并(如果使用 Mission Planner)右键单击地图,选择“Set Home Here”、“Set EKF Origin Here”来告诉 ArduPilot 车辆在哪里,它应该立即出现在地图上地图。

飞行前,将车辆举至1m高度,然后再次放下。这允许相机校准其垂直缩放。

如果您想在 GPS 和 T265 之间切换,请参阅GPS/非 GPS 转换wiki 页面

简而言之,从 Realsense T265 获得的 6 自由度姿态数据(位置方向)和置信度将由我们的 python 脚本处理,并通过 MAVLink 发送到 ArduPilot。总的来说,该脚本将执行以下任务:

使用 中的相关 API 获取 6-DOF 位姿数据并跟踪置信度数据pyrealsense2,这是librealsense.

执行必要的矩阵变换以对齐 Realsense T265 的帧和 NED 帧以及其他处理步骤。

将姿势数据打包到 MAVLink 消息VISION_POSITION_ESTIMATE中,将置信度数据打包到虚拟消息中,然后以预定频率将它们发送到 ArduPilot,以免传入数据淹没Autopilot。

自动设置 EKF home,以实现简单的设置和飞行。

版权声明:
作者:congcong
链接:https://www.techfm.club/p/120800.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>