求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 
目录
Autoware.Auto
安装
系统依赖性和目标环境
使用 ADE 安装
使用 ADE 安装 arm64 系统
没有使用 ADE 安装
SVL 仿真器
使用
自动代客泊车示范
F1Tenth 演示1
F1Tenth 演示2
启动和测试行为计划
启动和测试全局计划
地图创建
初始化 NDT 定位器
运行 EKF 过滤器进行本地化
3D感知堆栈
记录/回放计划
使用rosbag进行本地化演示
Autoware Auto启动场景仿真器
建立
设计
Autoware Auto常见的设计-1
Autoware Auto常见的设计-2
Autoware.Auto 控制器设计
Autoware.Auto 驱动程序设计
Autoware.Auto 设计融合
Autoware.Auto 本地化
Autoware.Auto 的地图
Perception设计
Autoware.Auto 的 设计计划
Autoware.Auto 的 设计跟踪
Autoware.Auto 的 预测
Autoware.Auto 的系统
Autoware.Auto 的工具
Autoware.Auto 提供的指南
 
 
使用 ADE 安装
李澎涛,俎涛 翻译(火龙果软件工程)
1731 次浏览
5次  

目标

本文演示了如何使用敏捷开发环境 (ADE) 来开发 Autoware.Auto 应用程序。

安装 ADE

ADE 是一个基于 Docker 的模块化工具,可确保项目中的所有开发人员拥有一个通用、一致的开发环境。

按照 安装说明进行操作,为方便起见,此处复制了这些说明:

  1. 验证是否满足 此处列出的要求。 特别是,如果之前没有使用过 docker,可能需要通过 docker post-install 步骤。
  2. 从项目的 Releases 页面 为您的平台下载最新的静态链接二进制文件 ade-cli
  3. 命名二进制文件 ade 并将其安装在 PATH . 在 Ubuntu 上, /usr/local/bin 建议用于系统范围的安装,否则选择例如 ~/.local/bin 不需要 sudo 权限的本地安装。
  4. 使二进制可执行文件: chmod +x ade
  5. 检查它是否已安装:
$哪个ade
/路径/到/ade
$ ade --version
<版本>

设置 ADE 主页和项目结帐

ADE 需要主机上的目录,该目录作为容器内的用户主目录挂载。 该目录由点文件填充,并且必须与容器 外 的用户主目录不同。 如果 ADE 用于多个项目,建议 adehome 为每个项目使用专用目录。

ADE 查找包含一个文件的目录,该文件以 .adehome 当前工作目录开头并继续父目录,以标识要挂载的 ADE 主目录。

$ mkdir -p ~/adehome
$ cd ~/adehome
$ 触摸 .adehome

要使 ADE 发挥作用,必须对其进行正确配置。 Autoware.Auto 提供了一个.aderc 文件,该文件预计存在于当前工作目录或任何父目录中。 此外,可以通过设置环境变量来覆盖默认配置值。 有关使用环境变量定义配置的更多信息,请参阅 ade --help 输出。

$ cd ~/adehome
$ git clone https://gitlab.com/autowarefoundation / autoware.auto/AutowareAuto.git

如果您希望使用稳定版本,请 通过签出相应的标签或发布分支来签出最新版本。当不签出任何特定标签时, master 将使用最新的分支,其中可能包含仍在开发中的功能。 例如:

$ cd AutowareAuto $ git checkout tags/1.0.0 -b release-1.0.0

在主机系统和 ADE 之间共享文件(可选)

与 ADE 共享主机上的点文件或实用程序等文件可能会派上用场。 如果您只有一个 adehome 目录,有一种方法可以在不复制它们的情况下做到这一点:将它们移动到 adehome 目录中,然后在主机系统中创建一个符号链接到它们的常规位置。 例如,

$光盘~
$ cp ~/.bashrc ~/.bashrc.bak
$ mv ~/.bashrc ~/adehome/.bashrc
$ ln -s ~/adehome/.bashrc

然后它将出现 ~/.bashrc 在主机系统和 ADE 中。

另一种选择是将实用程序放入 ~/adehome/.local/bin 符号链接中。 相反的方向是行不通的,Docker 容器中的文件不能是外部的符号链接。

笔记 程序必须是独立的! 它们不应该依赖于从例如加载库 /usr/lib 。 存在出错的风险(启动终端时,符号链接会被破坏并且 .bashrc 不会被加载)。 在这种情况下,您应该删除符号链接并将 .bashrc 移回原始目录。

进入开发环境

$ cd AutowareAuto

启动默认环境:

$ ade 开始 --update --enter

通过指定 ADE rc 文件,有几个预配置的环境可供选择。 要查看可用的内容,请运行

ls -l .aderc*

选择一个,然后启动:

ade --rc .aderc-amd64-foxy 开始 --update --enter

恭喜! 现在你应该在 ADE 中有一个终端:

$ade:~$

接下来的步骤是继续 使用,或按照贡献者指南中的 描述处理 Autoware.Auto 代码本身 。

ADE里面在哪里?

进入后,ADE输出用于创建环境的图像; 例如

$ ade 输入 使用以下图像输入 ade: 阿德福克斯| 8b1e0efdde07 | 大师 | registry.gitlab.com/autowarefoundation/autoware.auto/ autowareauto/amd64/ade-foxy:master 二进制foxy | 0e582f863d4c | 大师 | registry.gitlab.com/autowarefoundation/autoware.auto/ autowareauto/amd64/binary-foxy:master 狡猾 | 2020.06 | 2020.06 | registry.gitlab.com/autowarefoundation/autoware.auto/ade-lgsvl/foxy:2020.06

图像安装在 /opt :

@ade:~$ ls /opt
AutowareAuto # image: binary-foxy:master
lgsvl # 图片:ade-lgsvl/foxy:2020.06
ros # 图片:ade-foxy:master

中的代码 /opt/AutowareAuto 是从 Autoware.Auto 的主分支的特定版本构建的。 在 CI 中一天会多次构建 master 分支; 查看 容器注册表 。 使用 ade ... --update ,下载每个图像的最新可用版本。

清理

ADE 使用 Docker,随着时间的推移,未使用的映像、容器和卷开始使硬盘变得混乱。 按照以下步骤清理陈旧图像的 Docker 文件系统。

启动相关 Docker 资源

首先,验证 ADE 是否正在运行:

$ cd ~/adehome/AutowareAuto
$ ade 开始

如果 ADE 用于多个项目,请验证所有 ADE 实例都在运行; 相同的规则适用于应保留的任何其他非 ADE Docker 容器。

笔记 未启动/运行的 Docker 资源 将被删除

Docker 磁盘使用情况

要评估磁盘使用情况,请运行以下命令:

$ 泊坞窗系统 df
类型 可回收的总活动规模
图片 13 11 14.03GB 916.9MB (6%)
容器 11 0 2.311MB 2.311MB (100%)
本地卷 17 15 5.411GB 17.8MB (0%)
构建缓存 0 0 0B 0B

删除未使用的 docker 项目

用于 docker system prune 删除当前运行的容器未使用的任何 Docker 项:

$ docker system prune -a --volumes

故障排除

以下是一些特定错误的解决方案:

错误 - 启动 ADE 时“尝试在不支持的硬件上向前兼容”

在 ade 为 NVIDIA 图形启用 GPU 支持开始时,您有时可能会收到以下错误:

docker:来自守护进程的错误响应:OCI 运行时创建失败: container_linux.go:349: 启动容器进程导致 “process_linux.go:449: 容器初始化导致\”process_linux.go:432 : 运行预启动挂钩0导致\\\ “错误运行钩子:退出状态 1, 标准输出: ,标准错误:nvidia-container-cli:初始化错误:cuda 错误:在不支持的 hw\\\\n\\"\"" 上尝试向前兼容 : 未知。
错误:命令返回非零退出代码(见上文):125

这通常表示已安装新的 NVIDIA 图形驱动程序(通常通过 apt ),但系统尚未重新启动。 如果图形驱动程序不可用,例如由于挂起后恢复,可能会出现类似的消息。

解决方案

安装新的 NVIDIA 驱动程序后重新启动系统。

ade$ 退出
$ ade停止
$ ade 开始 --update --enter


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



1731 次浏览
5次
欢迎参加课程:
数据建模方法与工具
MBSE(基于模型的系统工程)
基于 UML 和EA进行分析设计