卢克索尼斯橡树-D

本文介绍了如何设置 Luxonis OAK-D 摄像头,将其与 ArduPilot 结合使用,以替代 GPS,从而实现 Loiter、PosHold、RTL、Auto 等定位控制模式。该解决方案基于香港科技大学空中机器人小组的 VINS-Fusion 和 Sara Lucia Contreras Ojeda 的论文 "使用光流和深度图进行基于视觉轨迹测量的机器人姿势计算"。

../_images/oak_d_pi_quad_250.jpg

购买什么

硬件设置

../_images/oak_d_pi_wiring.jpg
  • 将 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

如何运行

打开 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 模式下上膛和起飞。