ArduPilot开源飞控之ROS系统简介
1. 源由
之前在ArduPilot开源飞控之硬件SBC分析中讨论过,个人角度最推荐其中两个系统是:
- Rpanion-server【推荐,简单】
- BlueOS【推荐,完备】
- ROS【专门讨论,开源/复杂】
从功能角度看BlueOS和Rpanion类似,BlueOS具有更加完备系统以及通过Web方式提供分析工具,换句话说,更接近商业的系统模式。
作为DIY的角度,需要能快速入手,轻松掌握,灵活集成,方便部署,因而ROS更加适合后续的学习和研究。
2. ROS系统
ROS(Robot Operating System)是一组软件库和工具,可以帮助构建机器人应用程序。从驱动程序到最先进的算法,再到强大的开发工具,ROS 拥有在一个机器人项目中所需的一切。而且它全部都是开源的。
自2007年ROS系统起步,今年都已经是2024年了,目前与Ardupilot兼容,APM官网给出可以使用的是ROS2 humble系统。
- 发布周期:每12个月
- 目标对象:Ubuntu LTS
- 支持级别:3级标准
- 层级 1 经过单元测试套件和其他测试工具的测试,包括持续集成作业、夜间作业、打包作业和性能测试。在这些平台中发现的错误或缺陷将由开发团队优先处理。在层级 1 平台中发现的重大错误可能会影响发布日期,在发布新版本之前解决所有已知的高优先级错误。
- 层级 2 平台定期接受持续集成测试,其中包括运行构建和测试,并公开可访问的结果。预期持续集成至少应在 ROS 发行版的当前状态下的相关更改后的一周内运行一次。可能不提供包级二进制包,但鼓励提供构建工作区的可下载存档。层级 2 平台的发布产品版本中可能存在错误。已知的层级 2 平台错误将在资源可用的情况下尽力解决,并且可能在发布新版本之前进行纠正,也可能不进行纠正。一个或多个实体应致力于继续支持该平台。
- 层级 3 平台是指社区报告表明发布是功能性的平台。开发团队不会在层级 3 平台上运行单元测试套件或执行任何其他测试。为了将平台列入此类别,安装说明应可用并保持最新。社区成员可以为这些平台提供帮助。
最近的几个系统:
- Jazzy Jalisco (May 2024 - May 2029),Ubuntu Noble (24.04)
- Humble Hawksbill (May 2022 - May 2027),Ubuntu Jammy (22.04)
APM官网推荐ROS2 humble系统,经过一些资料,目前最新的是iron。
ROS官网HowToGuide
3. Raspbian+Docker安装
基于《ArduPilot开源飞控之lida2003套机+伴机电脑首飞》,将 ROS 2 on Raspberry Pi上安装。
本次使用: