0. 前言
关于机载计算机;
关于ROS;
关于基于ROS的视觉SLAM和避障;
1. APSync
- 说到机载计算机Companion computer就不得不提另一个关键词APSync;
- APSync简化了机载计算机的设置,以便它可以为ArduPilot提供额外的功能,并简化与互联网服务的集成;
- 提供日志下载和视频流转发到地面站的功能;
- 机载计算机通过串口与飞控连接,将飞控的log转存到自己的文件系统中,并创建一个网络热点,用于给运行地面站的PC连接,PC连接该热点后可以:1)从机载计算机下载日志;2)查看视频流;3)连接热点后地面站可以通过UDP连接到飞控;
- http://10.0.1.128 (Configuration pages)
- http://10.0.1.128:8000 (Which shows a video streaming on/off button)
- PC连接到网络热点后(网络热点名称为ardupilot,密码也是ardupilot),地面站可通过UDP,port 14550来连接到飞控;
- 关于下载log:可以用这个脚本来下载机载计算机的日志到PC:apsync-download-logs,或者从机载计算机上拔下SD卡来读取;
- 关于视频流:视频流被发送到请求遥测数据的第一个地面站的IP地址;地面站查看视频流:右击Hub ~> Video ~> Set GSreamer Source;
- PC连接热点后可通过SSH工具来连接到机载计算机的cmd;
- 飞控的数据如何路由到各种程序的?
How flight controller data is routed to various programs:
https://ardupilot.org/dev/docs/apsync-intro.html#how-flight-controller-data-is-routed-to-various-programs - Installing APSync and setting the autopilot:https://ardupilot.org/dev/docs/apsync-intro.html#installing-apsync
2. ROS/ROS2
2.1 概念碎片
- LTS:long term support ,一般指长期支持的版本;
- LTS 版本意味着更稳定,Latest 版本意味着键兼更多的platforms和拥有更新更多的ROS packages;
- 尽管已经有了LTS版本,每年还是会发布新版本;
- ROS版本与操作系统版、工具包版本(如QT、PCL、openCV等)、软件版本等相关性很大,建议新手使用推荐的 tier 1,否者容易出现 issues;
- tier 1:官方推荐的运行某ROS版本的制定操作系统和工具包版本:please read REP-2000;
- 在Docker container上安装ROS:https://hub.docker.com/_/ros/
- ROS? ROS2? ROS已被ROS2取代;
2.2 ROS2安装
if installing on a desktop PC, install ROS Desktop-Full, on a companion computer ROS-Base is enough。
官方教程:https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html#uninstall
2.3 ROS安装
建议安装ROS Noetic Ninjemys 版本;
建议在wsl上安装,wsl安装Ubuntu-20.04
官方教程:https://wiki.ros.org/cn/ROS/Installation
- 配置Ubuntu软件仓库:基本上不需要更改!可跳过此步骤直接安装ROS!
页面配置:https://help.ubuntu.com/community/Repositories/Ubuntu
命令行配置:https://help.ubuntu.com/community/Repositories/CommandLine - 安装:https://wiki.ros.org/cn/ROS/Installation
- 文档:https://wiki.ros.org/
可以切换成中文页面:
3. ROS 与 Ardupilot
- ArduPilot功能可以通过ROS进行扩展。
- 对于ROS2,目Humble是唯一支持的ROS2版本。