ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Autoware.universe 高效学习第二章 -- 在 ubuntu22.04 + ros2 humble 安装
[打印本页]
作者:
勿忘初心做自己
时间:
2024-9-15 10:57
标题:
Autoware.universe 高效学习第二章 -- 在 ubuntu22.04 + ros2 humble 安装
1 媒介和资料
上一篇博客 Autoware.universe 高效学习第一章 – 鸟瞰 autoware,我们对 autoware 进行了系统梳理,了解了 autoware 的昨天今天和明天。本文我们将安装 autoware.universe ,并实际运行下 autoware.universe 的样例,为后面的深入学习准备开发环境。
本文参考资料如下:
(1)autoware source install
(2)autoware planning simulation
(3)Autoware.universe部署01:Ubuntu20.04安装Autoware.universe并与Awsim联调
本系列博客汇总:Autoware.universe 高效学习系列。
2 正文
2.1 基础环境和安装方式选择
(1)本人的基础环境:
硬件:本文选择一台 Thinkpad T14 i7 + Nvidia MX450。
操作系统:物理机安装 ubuntu22.04 ,不搞虚拟机,不搞双系统,运行服从最高。
ros2 版本:ros2 humble 。
英伟达显卡驱动版本:535.183.01 。
英伟达 cuda 编译器 nvcc 版本:V12.3.107
补充1:保举读者使用 fishros 的脚本在 ubuntu22.04 一键安装 ros2 humble:
wget http://fishros.com/install -O fishros && . fishros
# 测试安装结果
printenv |grep ros
复制代码
补充2:检察显卡驱动版本:
nvidia-smi
复制代码
补充3:编译 autoware.universe 时,须要 nvcc 编译器,安装命令:
sudo apt install nvidia-cuda-toolkit
echo 'export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc
source ~/.bashrc
# 检查版本
nvcc -V
复制代码
(2)安装方式选择:autoware 官方安装文档 给出了两种安装方式,一是 docker 安装,二是源码安装。通常来说采取 docker 安装最省劲,但是 docker 安装无法直接利用本人笔记本已经设置成熟的开发环境,对我而言上手本钱比力高,因此选择了源码安装。而源码安装本质就是 ros2 开发那一套,即创造工作空间,拉取代码,编译运行,非常适合个人研究。
2.2 autoware 源码安装
(1)设置 ssh key 到 github,否则无法拉取和提交代码:请参考 Github设置ssh key的步调(大白话+包罗原理表明),这里不再赘述。
(2)Fork 一份 autoware 的入口堆栈:访问 autoware,点击右上角 Fork 按钮,fork 一份 autoware 到本身的空间,方便修改和保存本身的代码。本人 fork 的堆栈路径为:jieshoudaxue,autoware。
补充:autoware 项目本身有许多个子堆栈,见 autoware.repos,最典范的就是 autoware.core ,autoware.universe。这些堆栈必须一块编译,系统才气运行,因此 autoware 提供了一个入口堆栈,称之为 Meta-repository ,统一管理这些资源。
(3)使用 ssh 的方式,拉取本身空间内的 autoware 堆栈:
cd ~
git clone git@github.com:Jieshoudaxue/autoware.git
cd autoware
复制代码
(4)安装依赖:autoware 堆栈内提供了一个脚本 setup-dev-env.sh,用来统一安装各种依赖,但实测发现,根本不大概成功!因此,请参考 autoware source install 中的提示,逐个安装依赖:
补充1:由于本人的环境已经安装了 ros2 humble 和 cuda,因此这两项的安装我就可以省略了。
补充2:由于本人预装的 cuda 版本为12.2,差别于原来堆栈设置的 12.3 ,因此安装其他依赖前,我进行了版本调整:modify cuda version
(5)利用 autoware 作为工作空间,在其内部创建 src 目次,并拉取各个堆栈源代码,为编译做准备:
cd ~/autoware
mkdir src
vcs import src < autoware.repos
复制代码
踩坑1:autoware.repos 中,最大的就是 autoware.universe 堆栈,里面有大文件,我使用 https 方式拉取总是失败,改为 ssh 方式后拉取成功:up autoware.universe link。拉取失败错误信息如下:
=== src/universe/autoware.universe (git) ===
Could not clone repository 'https://github.com/autowarefoundation/autoware.universe.git': Cloning into '.'...
error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err 8)
error: 4519 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
复制代码
(6)编译整个 autoware :如果统统顺遂的话,最后将在 autoware 内生成 build,install,log 三个目次,可执行程序就在 install 目次内
cd ~/autoware
colcon build
# 如果更改了某个 package ,如 tensorrt_yolox,可以使用如下命令单独编译
colcon build --packages-select tensorrt_yolox
复制代码
2.3 运行样例,测试安装是否成功
(1)下载高精舆图到 ~/autoware_map
gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1499_nsbUbIeturZaDj7jhUownh5fvXHd'
unzip -d ~/autoware_map ~/autoware_map/sample-map-planning.zip
复制代码
(2)启动 autoware
cd ~/autoware
source install/setup.bash
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-planning vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
复制代码
几种常用操作:
第一,按住鼠标左键并移动,可以旋转舆图;
第二,按住 shift 键 + 鼠标左键并移动,可以拖动舆图;
第三,滚动鼠标滚轮可以放大和缩小舆图;
(3)行车样例
第一,按一下 P 键,然后鼠标在任一车道中间找一个点作为出发点,点击左键并按住不放,移动鼠标,将箭头(车头)与车道平行,并确保方向符合车道要求,此时会出现一个小车。
第二,按一下 G 键,然后鼠标在车辆行进前方的车道中间找一个点作为终点,点击左键并按住不放,移动鼠标,将箭头(车头)与车道平行,并确保方向符合车道要求。此时,autoware 就会出规划线。
第三,点击 AutowareStatePanel 中的 Auto 按钮,车辆就会动起来,从出发点运动到终点。
(4)泊车样例:操作方式根本同行车样例,区别在于须要把终点定位在停车位上
总结
许多人的学习都是被安装环境劝退的,但是没有太好的办法,只能广搜资料,持续试错,逐步积聚履历。当该踩的坑踩完以后,根本就能成功了。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4