https://zhuanlan.zhihu.com/p/673463373
前言本文总结了Auto/车载、Robot/机器人、Flight/飞行器、Sim/仿真等领域的16个经典自动驾驶开源框架,可作为学习、研究、开发的参考资料。 1.AutoApolloApollo是百度开源的高性能、灵活的架构,可加速自动驾驶汽车的开发、测试和部署,也是业内最好的自动驾驶开源项目,国内很多其他的ADAS项目&框架都有参考Apollo。 AutowareAutoware 是一个用于自动驾驶车辆的开源软件堆栈,基于机器人操作系统 (ROS)构建。它包括驾驶自动驾驶汽车所需的所有功能,从定位和物体检测到路线规划和控制,其创建的目的是使尽可能多的个人和组织能够为自动驾驶技术的开放式创新做出贡献。 OpenPilotOpenpilot是comma.ai, Inc的开源半自动驾驶系统。当与comma硬件配合使用时,它取代了各种汽车中的先进驾驶辅助系统,从而对原始系统进行了改进。 截至 2023 年, openpilot支持 250 多种车型,拥有 6000 多名用户,行驶里程超过 9000 万英里(1.4 亿公里)。Openpilot在 comma.ai 开发的 comma 2/3/X 硬件上运行。作为售后市场 改装,它允许用户通过升级的计算能力、增强的传感器以及随着时间的推移不断改进的不断更新的软件来增强他们现有的汽车。 OASOAS (open-autonomous-safety)是 Voyage 安全流程和测试程序的完全开源库,旨在补充世界各地自动驾驶汽车初创公司现有的安全计划。该项目的目标是使 OAS 成为行业标准,推动我们所有人更安全地测试和操作自动驾驶汽车。该项目的目的不是让 Voyage 受益,而是将该领域提升到更高的安全标准。 2.SimCARLACARLA 是一个用于自动驾驶研究的开源模拟器。CARLA 的开发是为了支持自动驾驶系统的开发、培训和验证。除了开源代码和协议之外,CARLA 还提供为此目的创建的开放数字资产(城市布局、建筑物、车辆),并且可以自由使用。该仿真平台支持灵活的传感器套件和环境条件规范。 AirSimAirSim 是一款无人机、汽车等模拟器,基于Unreal Engine(现在还有一个实验性的Unity版本)构建。它是开源、跨平台的,支持使用流行的飞行控制器(例如 PX4 和 ArduPilot)进行软件在环仿真,以及使用 PX4 进行硬件在环仿真,以实现物理和视觉上的真实仿真。它被开发为一个虚幻插件,可以简单地放入任何虚幻环境中。同样,有一个 Unity 插件的实验版本。 SVLSimSVL模拟器是一个端到端自动驾驶汽车仿真平台。通过仿真加速自动驾驶汽车开发:在虚拟环境中端到端或按模块测试您的系统。从第一天开始就运行集成测试,而无需从头开始构建测试基础设施。提供自动驾驶的工具和方法:SVL Simulator 作为一个开放平台构建,为开发者提供高保真模拟引擎、复制真实环境复杂性的内容以及用于大规模自动化测试和验证的云模拟。 3.RobotSpotSDK波士顿动力公司(英语:Boston Dynamics)是一家美国的工程与机器人设计公司,此公司的著名产品包含在国防高等研究计划署(DARPA)出资下替美国军方开发的四足机器人: 波士顿机械狗,以及DI-Guy,一套用于写实人类模拟的现成软件(COTS)。波士顿动力在Github上开源了其代码Spot SDK 。 使用 Boston Dynamics Spot SDK 为 Spot 开发应用程序和有效负载。 SDK 包括: 概念文档,这些文档解释了 Spot API 使用的关键抽象。 Python 客户端库:使用 Python 库的应用程序可以控制 Spot 并从 Spot 读取传感器和健康信息,还包括各种示例程序和快速入门指南。 有效负载开发人员文档:有效负载在基础平台提供的功能之外添加了额外的传感、通信和控制功能,Payload ICD 涵盖了 Spot 支持的机械、电气和软件接口。 Spot API 协议定义。本参考指南涵盖了用于与 Spot 通信的协议应用程序的详细信息。希望使用 Python 以外的语言的应用程序开发人员可以实现使用该协议的客户端。 PyRobotPyRobot是一个轻量级的高级接口,为机器人操作和导航提供独立于硬件的 API。 PythonRobotics一个开源的机器人算法的 Python 代码集合。包含: 定位:扩展卡尔曼滤波器、粒子滤波器定位、直方图滤波器定位; 测绘:高斯网格图、射线投射网格图、激光雷达转网格地图、K-均值对象聚类、矩形拟合; SLAM:迭代最近点 (ICP) 匹配、快速SLAM 1.0; 路径规划:动态窗口方法; 基于网格的搜索:迪杰斯特拉算法、A*算法、D*算法、D* Lite 算法、势场算法、基于网格的覆盖路径规划、状态格子规划、有偏极性采样、车道采样、概率路线图 (PRM) 规划; 快速探索随机树(RRT):恢复时间*、带 reeds-shepp 路径的 RRT*、LQR-RRT*、五次多项式规划、里德·谢普规划、基于LQR的路径规划、Frenet 框架中的最优轨迹; 路径追踪:移动到姿势控制、斯坦利控制、后轮反馈控制、线性二次调节器 (LQR) 速度和转向控制、模型预测速度和转向控制、使用 C-GMRES 进行非线性模型预测控制; 机械臂导航:N关节臂对点控制、带避障功能的手臂导航; 飞行器导航:无人机3D轨迹跟踪、火箭动力着陆; 双足机器人:带倒立摆的双足规划器; LoCoBotLoCoBot 是一款低成本移动机械手,适用于导航和操纵。在开始构建机器人之前,请确保您拥有所需的组件、激光切割板和3D 打印零件。Locobot-Lite 建立在更便宜的Create2基础上。它非常适合操作,但对于导航来说,有些人报告了该底座的运行时问题。在开始构建机器人之前,请确保您拥有所需的组件、激光切割板和3D 打印零件。 4.FlightArduPilotArduPilot 是目前最先进、功能齐全且可靠的开源自动驾驶仪软件。自 2010 年以来,它一直由专业工程师、计算机科学家和社区贡献者组成的多元化团队开发。该自动驾驶仪软件能够控制几乎所有可以想象到的车辆系统,从传统飞机、四轴飞机、多旋翼和直升机到漫游车、船只、平衡机器人,甚至潜艇。它正在不断扩展,以为新兴车辆类型提供支持。 PaparazziUAVPaparazzi UAV(无人机)是一个开源无人机硬件和软件项目,涵盖多旋翼/多旋翼、固定翼、直升机和混合动力飞机的自动驾驶系统和地面站软件,成立于 2003 年。 Paparazzi 无人机设计用于自主飞行作为主要焦点,手动飞行作为次要焦点。从一开始,它的设计就考虑到了便携性和在同一系统内控制多架飞机的能力。Paparazzi 具有动态飞行计划系统,该系统由任务状态定义并使用航路点作为“变量”。这使得无需操作员干预即可轻松创建非常复杂的全自动任务。 PX4PX4是一款用于无人机和其他无人车辆的开源飞行控制软件。该项目为无人机开发人员提供了一套灵活的工具来共享技术,为无人机应用创建量身定制的解决方案。PX4 提供了一个提供无人机硬件支持和软件堆栈的标准,允许生态系统以可扩展的方式构建和维护硬件和软件。 PX4 是Dronecode的一部分,Dronecode 是一个由 Linux 基金会管理的非营利组织,旨在促进开源软件在飞行器上的使用。Dronecode 还托管 QGroundControl、MAVLink 和 SDK。 PixhawkPixhawk是一个独立的开放硬件项目,为开放标准为无人机系统开发提供现成的硬件规范和指南,旨在为学术界、业余爱好者和开发者社区提供易于使用、高质量和低成本的自动驾驶硬件设计的“黄金标准”。Pixhawk 支持多个飞行堆栈:PX4 和 ArduPilot。
|