卢克索尼斯橡树-D¶
本文介绍了如何设置 Luxonis OAK-D 摄像头,将其与 ArduPilot 结合使用,以替代 GPS,从而实现 Loiter、PosHold、RTL、Auto 等定位控制模式。该解决方案基于香港科技大学空中机器人小组的 VINS-Fusion 和 Sara Lucia Contreras Ojeda 的论文 "使用光流和深度图进行基于视觉轨迹测量的机器人姿势计算"。
购买什么¶
硬件设置¶
将 OAK-D 连接至 RPI 的一个蓝色 USB3 端口
将 RPI 的 UART 端口连接到(飞行)控制器的 Telem1
软件设置¶
关于 RPI 的终端
git 复制 https://github.com/chobitsfan/VINS-Fusion.git git 销售点 -t origin/apm_wiki
# 按照 README.md 中的说明进行构建
git 复制 https://github.com/chobitsfan/oak_d_vins_cpp.git git 销售点 -t origin/apm_wiki
# 按照 README.md 中的说明进行构建
git 复制 https://github.com/chobitsfan/mavlink-udp-proxy.git git 销售点 -t origin/apm_wiki
# 按照 README.md 中的说明进行构建
配置 ArduPilot¶
serial1_protocol = 2 (MAVLink2)。
SERIAL1_BAUD = 1500(1500000 波特)
VISO_TYPE = 1
VISO_DELAY_MS = 50
EK3_SRC1_POSXY = 6(外部导航)
EK3_SRC1_VELXY = 6(外部导航)
EK3_SRC1_POSZ = 1(巴罗更安全)
EK3_SRC1_VELZ = 0(如果第一次飞行测试结果良好,可以将其设置为 6)
EK3_SRC1_YAW = 6(外部导航)
COMPASS_USE = 0, COMPASS_USE2 = 0, COMPASS_USE3 = 0 关闭所有罗盘
如何运行¶
打开 RPI 上的 3 个端子 在第 1 个端子上
CD oak_d_vins_cpp ./feature_tracker
在第二终端
CD VINS-Fusion/vins_estimator ./vins_fusion oak_d.yaml
第 3 个航站楼
CD mavlink-udp-proxy ./mavlink_udp
[可选]验证姿势估计¶
在个人电脑上 ROS Noetic 安装(WSL 也可以)
git 复制 https://github.com/chobitsfan/my_udp_ros.git
#follow instructions in README.md to build & run
红色 = 前方,绿色 = 左侧,蓝色 = 上方
飞行测试¶
第一次飞行
在稳定或 Alt 保持状态下起飞,检查载具是否稳定。
移动载具并观察Mission Planner地面站上的位置,看跟踪是否稳定。
切换到 Loiter,但随时准备在出现意外时切换回 Stabilize/Alt-Hold。
否则,载具应能稳定地悬停并保持其位置。
以不同的速度移动载具(平移、旋转),随时准备切换回稳定/备用状态。
如果一切正常,下次就可以在 Loiter 模式下上膛和起飞。