DockerHub 镜像构建 | 单元测试工作流程 | 声纳代码质量 |
---|---|---|
CARMA SM推进研究和开发,以加速协作驾驶自动化的市场准备和部署,同时推进自动驾驶技术的安全、保障、数据和人工智能。它鼓励工程师和研究人员社区的协作和参与,以利用开源软件 (OSS) 和敏捷项目管理实践来加深对协作驾驶自动化的理解。
CARMA 是一个可重复使用、可扩展的平台,用于控制 SAE 2 级联网自动驾驶车辆 (AV)。它为第三方插件提供了丰富的通用 API,可实现车辆引导算法来规划车辆轨迹。它是用 C++ 编写的,运行在 Ubuntu 上的机器人操作系统 (ROS) 环境中。该平台可以在各种配备适当的车辆上重复使用。已开始从 ROS 1 框架迁移到 ROS 2。
本自述文件更新日期:2020 年 10 月 23 日
管理自动车辆运动涉及三个方面。第一个是导航,也称为定位,它是确定车辆当前相对于地球以及相对于所需行驶路径(其计划路线)的位置的行为。第二个是引导,也称为轨迹规划,其中包括确定车辆如何从当前位置移动到目的地的过程。目的地和路线将被交给引导算法,然后它们确定需要如何随时调整车辆的运动以遵循路线。自动车辆运动的第三个方面是控制,它涵盖了车辆物理设备的驱动以引起运动变化(对于陆地车辆来说,这些通常导致车轮旋转得更快或更慢并转动方向盘)。因此,导航方案成为引导功能的输入,并且引导方案成为控制功能的输入。当车辆移动时,其位置显然会发生变化,因此导航功能需要不断更新其解决方案,并且循环会根据需要快速迭代,以产生平稳且准确的车辆运动。迭代速率很大程度上取决于车辆的预期速度。
CARMA平台为其主车辆提供导航和引导功能,以及一些控制功能。它依赖于低级控制器硬件来提供其余的控制功能。当前版本的 CARMA 平台提供 SAE 3+ 级自主性,具有速度和转向控制功能。
CARMA 平台的设置、操作和设计文档可以在项目 Confluence 页面上找到。其他文档可以在 Doxygen 源代码文档页面上找到。
CARMA 软件平台的当前版本和发布历史:CARMA 发行说明
存储库结构注意:此存储库的 master 和开发分支(以及 usdot-fhwa-stol GitHub 组织中的所有其他存储库)现在反映了第三代 CARMA 代码和文档,称为 CARMA3。它使用 Autoware 提供 SAE 2 级和 3 级自动化功能。旧版 CARMA2 代码仍受支持。 2018 年,它被 FHWA 广泛用于 SAE 1 级实验。要使用该代码库,请查看 CARMA2 集成分支并向其发出拉取请求(使用下面概述的贡献流程)。
ROS 版本说明: 3.11 版是 CARMA 平台的最终版本,仅包含 ROS1 代码。开发分支和未来版本将在混合系统中包含 ROS1 和 ROS2 代码的混合,直到所有代码完全移植到 ROS2。您可以在此处了解有关该系统以及 confluence 上 ROS2 迁移工作的更多信息:CARMA Platform ROS2 Docs
当前CARMA生态系统的发展方向和发布计划可以在这里找到:CARMA Roadmap
当前的 CARMA 平台系统作为 ROS 1 Noetic 和 ROS 2 Foxy 组件的混合体运行。虽然几乎所有组件都已升级到 ROS 2 Foxy,但系统中仍然存在少量 ROS 1 Noetic 内容,包括此存储库中的一些软件包。有关更多信息,请参阅 carma-config 存储库中的相关文档。
该文档描述了单个 CARMA 车辆内的软件架构。可能有多个此类车辆协同运行,通过 DSRC 或蜂窝方式相互通信。他们还可以使用 DSRC 或蜂窝网络与路边基础设施进行通信。然而,单个车辆内的软件组件之间的通信主要是通过机器人操作系统(ROS)框架完成的。相邻车辆之间没有 ROS 通信。 CARMA3系统架构
有关CARMA2架构的信息,请参阅CARMA2系统架构
请参阅详细设计文档页面,了解 CARMA 的详细设计规范和其他附加信息。详细设计页面
有关 CARMA 平台开发环境设置的有用开发文档和说明可在以下页面找到:
CARMA3 插件开发人员指南即将推出。
有关为 CARMA2 开发插件的方法的描述,请参阅 CARMA 2.7 开发人员指南
CARMA3 的用户指南即将推出。
有关凯迪拉克 SRX 上 CARMA2 特定功能的说明,请参阅 CARMA 用户指南
CARMA3 管理员指南即将推出。
有关 CARMA2 的管理信息,包括安装和运行 CARMA 平台所需的车辆和开发人员 PC 配置、构建、部署和测试步骤,请参阅管理员指南
CARMA Platform SM是一个可下载的开源软件 (OSS) 平台,其架构可扩展和可重用,可用于各种研究目的,以推进协作驾驶自动化的创新。它可以实现车辆、行人、骑自行车者和踏板车等道路使用者以及能够通信的基础设施设备之间的通信。它促进工程师和研究人员社区之间的合作,以加速协作驾驶自动化的开发、测试和评估,同时推进自动驾驶技术中人工智能的安全、保障、数据和使用。
CARMA 平台作为托管在单独的 Github 存储库中的一组多个独立包进行分发。这些软件包有助于 CARMA 平台在不同的硬件配置下运行,或者允许其支持不同的操作模式。要在 CARMA 平台系统的构建中包含这些包之一,请将 Github 存储库克隆到与此存储库相同的 Catkin 工作区src/
文件夹中。 Catkin 构建系统将验证依赖项是否已正确解析,并在您下次运行catkin_make
时构建新包含的包。 CARMA3 可用软件包的不完整列表包括:
可用软件包的完整列表可以在 USDOT FHWA STOL Github 组织中找到。
CARMA Cloud SM是一种可下载、基于云的开源软件 (OSS) 服务,可提供支持和实现协作驾驶自动化的信息。它可以与云服务和车辆、行人、骑自行车者和踏板车等道路使用者以及能够通信的基础设施设备进行通信。它促进工程师和研究人员社区之间的合作,以加速协作驾驶自动化的开发、测试和评估,同时推进自动驾驶技术中人工智能的安全、保障、数据和使用。 CARMA Cloud 的源代码可以在 GitHub 上找到。
欢迎来到 CARMA 贡献指南。请阅读本指南,了解我们的开发流程、如何提出拉取请求和改进,以及如何构建和测试对此项目的更改。 CARMA 贡献指南
请阅读我们的 CARMA 行为准则,其中概述了我们对 CARMA 社区参与者的期望,以及报告不可接受行为的步骤。我们致力于为所有人提供一个热情好客、鼓舞人心的社区,并期望我们的行为准则得到遵守。任何违反此行为准则的人都可能被禁止进入社区。
开发团队衷心感谢对该存储库中的设计和代码做出直接贡献的人员。 CARMA 归因
通过向联邦公路管理局 (FHWA) 连接自动化研究移动应用程序 (CARMA) 做出贡献,即表示您同意您的贡献将根据其 Apache License 2.0 许可证获得许可。卡玛许可证
机构:交通部
简短描述:合作自动化研究移动应用程序 (CARMA) 是一个开源软件 (OSS) 平台,运行在车辆内部的计算机上,计算机与车辆设备进行交互,以实现协作式自动车辆研究、开发和测试。然后,计算机为车辆提供与基础设施和其他车辆交互和合作所需的信息。该项目的第一阶段通过开发通用平台基础设施启动了下一代 CARMA 车队,该基础设施将支持 FHWA 的合作自动化战略愿景驱动系统(CADS)。第一阶段还通过将现有应用程序和新车型(重型卡车)集成到 CARMA 车队中,开发了综合公路原型 (IHP)。以下五个应用是主要研究领域:(1) 车辆编队行驶,(2) 信号交叉口接近和离开,(3) 基础设施引导速度协调,(4) 协作变道,以及 (5) 协作匝道合并。第二阶段该项目将推进 CADS,该系统是在 FHWA 的 CARMA 研究平台上开发的,用于测试仲裁和谈判策略。最终,该项目将提高基础设施效率并减少交通拥堵。该项目的目标之一是通过与行业和利益相关者的开源协作,加速合作车辆应用的技术转让和部署。该项目将实现工程师协会 (SAE) 2 级和 3 级 (L2/3) 轻型车辆测试能力,并开发一支由四辆 SAE L2/3 重型车辆组成的车队。该项目还将围绕自动驾驶技术的使用开发运输系统管理和运营(TSMO)的高级概念。此外,该项目将确定交通事故管理 (TIM) 场景,为与 ADS 交互和使用 ADS 的急救人员用例提供策略改进和新策略。新的 FHWA 车队将用于为以下每个用例类别制作场景原型:(1) 基本旅行、(2) 工作区、(3) 交通事故管理和 (4) 天气。这些测试将提供客观数据,让利益相关者了解 ADS 的影响以及使用 ADS 改进运营的可能策略。
状态:测试版
标签: 交通运输、 协同驾驶自动化、 互联车辆、 智能交通系统、 C++、 java、 python、 docker
工时:200
联系人姓名: James Lieu
联系电话:(202) 366-3000
请点击下面的 CARMA 徽标访问联邦公路管理局 (FHWA) CARMA 网站。如需了解更多信息,请联系 [email protected]。
如需 CARMA 团队的技术支持,请通过 [email protected] 联系 CARMA 服务台。