😏★,°:.☆( ̄▽ ̄)/$:.°★ 😏
这篇文章主要介绍Autoware.universe安装过程与问题记录。
无专精则不能成,无涉猎则不能通。——梁启超
欢迎来到我的博客,一起学习,共同进步。
喜欢的朋友可以关注一下,下次更新不迷路🥞
文章目录
- :smirk:1. 项目介绍
- :blush:2. 环境配置
- :satisfied:3. 示例运行
😏1. 项目介绍
最近开始使用ROS2
,顺便来装一下基于ROS2的Autoware版本来跑跑。
Autoware.Universe
是一个开源的自动驾驶汽车软件栈,是 Autoware 项目的一部分。Autoware 项目旨在为自动驾驶车辆提供完整的软件解决方案,涵盖从感知到控制的所有核心功能。Autoware.Universe 作为其中的一个重要子项目,主要致力于为多种自动驾驶应用场景提供高性能和可扩展的解决方案。
Autoware.Universe 是基于 ROS 2的自动驾驶系统。ROS 2是为机器人应用设计的开源框架,提供了强大的通信机制和工具支持,特别适合分布式系统和实时控制场景。Autoware.Universe 采用了 ROS 2 的架构,以提供更好的性能、实时性和灵活性,满足自动驾驶系统的高要求。
Autoware.Universe 的架构由多个核心组件组成,每个组件负责不同的功能:
1.感知(Perception):负责从传感器数据中提取有用的信息,包括物体检测、障碍物识别、车道线检测等。
2.定位(Localization):通过融合多种传感器数据,实时估计车辆在地图上的位置,提供高精度的定位信息。
3.地图(Mapping):生成和管理高精度地图,提供自动驾驶所需的环境信息和路况数据。
4.规划(Planning):根据感知和定位信息,生成安全有效的行驶路径和决策,包括路径规划、轨迹规划和运动规划。
5.控制(Control):根据规划的路径和轨迹,生成控制指令来操作车辆的转向、加速和制动,实现车辆的自动驾驶。
6.仿真(Simulation):提供仿真环境和工具,用于验证和测试自动驾驶算法和系统。
😊2. 环境配置
源码安装官方指导:https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/source-installation/
首先,安装好ubuntu22.04和ROS Humble,配置好git、python环境,然后跟随官方指导走。
sudo apt-get -y update
sudo apt-get -y install git
git clone https://github.com/autowarefoundation/autoware.git
cd autoware
# 自动安装依赖,基于Ansible,期间如果有失败,可根据指导手动安装
# 这一步我没有选择安装cuda、cudnn和tensorrt这些,无GPU也能跑
./setup-dev-env.sh
# 这里我遇到的是安装egm2008-1太慢,手动下载下来再拷贝到系统目录这样快一点
sudo cp egm2008-1/ /usr/share/GeographicLib/geoids/# 克隆源码仓库
cd autoware
mkdir src
vcs import src < autoware.repos
# 安装src需要的依赖
source /opt/ros/humble/setup.bash
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
# 编译(总共369个包,universe版本对内存要求挺高,我16G的电脑总是会出现被kill,可以调整用几个核心)
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
# colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --parallel-workers 8 # 用8个核心并行编译
# 编译过程中如果有些包老卡死,可以先临时删除不影响功能的包,我这边注释了eagleye_rt和autoware_vehicle_cmd_gate。
其他参考1:http://t.csdnimg.cn/0s2fe
其他参考2:http://t.csdnimg.cn/3KpRg
Autoware.Universe相比Autoware.ai安装难度还是更大的,而且目前网上的教程都是基于Ubuntu20这一版本的,基于Ubuntu22
的Autoware.Universe
界面相比之前有了大的改变,毕竟现在这个仓库还在持续更新中。
另外,除了跑官方的demo,还可以安装AWSim
和Carla
进行联合仿真,难度还是有的,前者是Autoware官方的仿真器,但我这边不管是安装哪个版本启动都出现段错误,提了issue,更改了nvidia-smi版本也不行,还不完善;Carla如果是Ubuntu22的话一定去选择Carla 0.9.15版本,这样Python版本才能对上。
大家有兴趣的可以再折腾折腾,欢迎评论区交流。
😆3. 示例运行
安装完成后,可以下载demo地图和数据包:
# down map
gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1A-8BvYRX3DhSzkAnOcGWFw5T30xTlwZI'
unzip -d ~/autoware_map/ ~/autoware_map/sample-map-rosbag.zip# down rosbag
gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1VnwJx9tI3kI_cTLzP61ktuAJ1ChgygpG'
unzip -d ~/autoware_map/ ~/autoware_map/sample-rosbag.zip
我在运行logging_simulator这一步的时候总是报错退出,原因未知:
ros2 bag play $HOME/autoware_map/sample-rosbag/sample.db3 -r 0.2 -s sqlite3
# run map&rosbag
source install/setup.bash
ros2 launch autoware_launch logging_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-rosbag vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
然后运行规划仿真器,Rviz上点击起点和终点可规划出路线:
# run planning_simulator
source install/setup.bash
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-rosbag vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
手动选择起点和终点:
但车其实还是没有真正跑起来,大家如果知道原因的话可以评论区交流。
以上。