通过T265和树莓派进行辅助定位,教程原文
C++依赖库原文
将最新的 APSync Ubuntu 映像(在此处找到)下载到您的 PC,然后使用Etcher或Win32DiskImager等工具将其闪存到 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,以实现简单的设置和飞行。
网友评论