文章目录
4.9 使用 OpticalFlow 进行 EKF3 光源转换
前言
Realsense T265 通过 librealsense 支持 Windows 和 Linux 系统。不同系统的安装过程差异很大,因此请参阅 github 官方页面(the official github page),了解具体系统的安装说明:
4.4 地面测试
开机后,ssh 进入配套电脑,导航至脚本并运行: python3 t265_to_mavlink.py。
等待四旋翼飞行器图标出现在任务规划器的地图上。
拿起飞行器四处走动,检查飞行器的位置移动是否显示在地图上。地图上的飞行器轨迹应反映真实的运动轨迹,不能有太多失真或偏移。以下是在 2 米 x 2 米的正方形内行走的示例。
在测试过程中,查看置信度并验证跟踪性能。在大多数应用中,你应该只信任高置信度的完整 6dof 姿态。如果只需要旋转(3dof),则可以使用置信度较低的姿势。
如果外部导航数据因任何原因丢失(跟踪丢失、脚本中断等),请重启自动驾驶仪。
!Tip
如果你在狭窄的环境中飞行,最好绕过飞行安全区,在地图上查看飞行轨迹,然后记住不要在安全区之外飞行/设置任务。
4.5 飞行测试
第一次飞行:
- 在稳定或 Alt 保持状态下起飞,检查飞行器是否稳定;
- 移动飞行器并观察任务计划器上的位置,查看跟踪是否稳定;
- 切换到“着陆”状态,但随时准备在出现意外时切换回“稳定”/“保持”状态;
- 否则,飞行器应能稳定悬停并保持其位置;
- 以不同速度移动飞行器(平移、旋转),随时准备切换回“稳定/保持”模式。
如果一切正常,下次就可以在 Loiter 模式下解锁和起飞。
!Tip
在切换到 “闲置 ”模式之前,请务必确认位置反馈运行正常。还要注意环境中的安全边界,即由于缺乏功能、快速或旋转运动而可能失去跟踪功能的地方。
4.6 室内外实验
4.7 数据闪存记录
- 目视里程测量信息将显示在 VISO 数据闪存日志信息中。
- EKF 的目视里程测量信息将显示在 XKFD 信息中。
4.8 启动时自动运行
脚本可在启动时自动运行。
1. 下载或创建 shell 文件 t265.sh,修改 shell 文件中 t265_too_mavlink.py 脚本的路径,然后使其可执行:
wget https://raw.githubusercontent.com/thien94/vision_to_mavros/master/scripts/t265.sh
nano t265.sh
# In t265.sh, change the path to t265_to_mavlink.py, in my case:
# /home/ubuntu/catkin_ws/src/vision_to_mavros/scripts/t265_to_mavlink.py
chmod +x /path/to/t265.sh
# Run test the shell. The script t265_to_mavlink.py should run as normal
./t265.sh
2. 根据系统的不同,可以使用任何方法(any method)让脚本在启动时自动运行。在下面的步骤中,我们将使用 systemd 将其转化为服务。
3. 让我们创建一个文件 /etc/systemd/system/t265.service,内容如下。在 User= 后设置实际用户名,在 ExecStart= 中设置 t265.sh 的正确路径。
[Unit]
Description=Realsense T265 Service
After=multi-user.target
StartLimitIntervalSec=0
Conflicts=
[Service]
User=ubuntu
EnvironmentFile=
ExecStartPre=
ExecStart=/home/ubuntu/catkin_ws/src/vision_to_mavros/scripts/t265.sh
Restart=on-failure
RestartSec=1
[Install]
WantedBy=multi-user.target
4. 就是这样。现在我们可以启动服务,让它在开机时自动启动:
systemctl start t265
systemctl enable t265
4.9 使用 OpticalFlow 进行 EKF3 光源转换
如果需要在外部导航流和光学流之间切换,请参阅外部导航流/光学流转换(ExternalNAV/Optical Flow Transitions)。