论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
中间件
›
中间件
›
Autoware.universe 高效学习第二章 -- 在 ubuntu22.04 + ...
Autoware.universe 高效学习第二章 -- 在 ubuntu22.04 + ros2 humble 安装 ...
勿忘初心做自己
金牌会员
|
2024-9-15 10:57:37
|
来自手机
|
显示全部楼层
|
阅读模式
楼主
主题
696
|
帖子
696
|
积分
2088
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企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
勿忘初心做自己
金牌会员
这个人很懒什么都没写!
楼主热帖
集合论第6-8章
Java 代理模式
SignalR 2 与mvc 5实现实时聊天功能 ...
将git仓库从submodule转换为subtree ...
新一代企业级安全OneDNS
数字工厂介绍
反射 p1 反射机制
java -- Stringbuild、Date和Calendar ...
如何爆破js加密后的密码?
redis 工具类
标签云
挺好的
服务器
快速回复
返回顶部
返回列表