第一课:课程导学与环境准备
大家好,我是你们的自动驾驶感知联调课讲师。做Autoware相关开发这些年,踩过的坑比吃过的盐还多。今天咱们就从零开始,先把地基打牢。
说实话,Autoware这套系统刚接触时确实有点吓人。模块多、依赖复杂、文档还经常跟不上版本更新。但别怕,我带着你一步步来。
Autoware整体架构:一张图看懂
先看这张架构图,我亲手画的。它把Autoware的核心模块和它们之间的关系讲清楚了。
你看,整个系统分四层。传感器层负责采集原始数据,感知层负责理解环境,定位规划层做决策,执行层控制车辆。我当年刚接触时,总想一口气全搞懂,结果把自己绕晕了。后来学乖了,先死磕感知模块。
感知模块功能概览
感知模块说白了就是给车装上眼睛和大脑。它要回答三个问题:
- 周围有什么?——目标检测(车、人、障碍物)
- 这些东西在哪儿?——定位与测距
- 它们接下来会怎样?——目标跟踪与预测
我在项目中遇到过最头疼的事:激光雷达检测到前方有个物体,但摄像头死活识别不出来。后来发现是传感器时间戳没对齐。嗯,这种坑以后咱们会专门讲。
核心要点:Autoware的感知模块主要依赖LiDAR和Camera两种传感器。LiDAR擅长测距和3D检测,Camera擅长分类和语义理解。两者融合才是王道。
Ubuntu + ROS2环境搭建
环境搭建这块,我建议你直接用Ubuntu 22.04。为什么?因为Autoware官方对22.04的支持最成熟。我之前试过20.04,折腾了两天,各种依赖冲突,最后老老实实重装了系统。
具体步骤:
- 安装Ubuntu 22.04——建议双系统或实体机,虚拟机跑感知模块会卡到你怀疑人生
- 安装ROS2 Humble——注意是Humble版本,别装成Foxy了
- 安装依赖库——Eigen3、PCL、OpenCV、CUDA(如果有N卡)
# ROS2 Humble 安装(一行搞定)
sudo apt update && sudo apt install ros-humble-desktop
# 设置环境变量
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
# 验证安装
ros2 run demo_nodes_cpp talker
小技巧:装完ROS2后,记得装colcon编译工具。我习惯用sudo apt install python3-colcon-common-extensions,比手动编译方便太多。
Autoware源码编译与安装
Autoware的源码编译,说实话是整套流程里最劝退的一步。我第一次编译时,从下午三点搞到凌晨两点,中间报错十几次。但别怕,我把坑都踩平了,你照着来就行。
编译前先确认几件事:
- 硬盘剩余空间至少30GB(编译产物很占地方)
- 内存至少16GB(8GB编译到一半会卡死)
- 网络稳定(需要下载大量依赖)
# 1. 克隆Autoware源码
git clone https://github.com/autowarefoundation/autoware.git
cd autoware
# 2. 安装依赖(这一步最耗时)
./setup-dev-env.sh
# 3. 编译(-j4表示用4核编译,根据你的CPU调整)
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release -j4
# 4. 设置环境变量
echo "source ~/autoware/install/setup.bash" >> ~/.bashrc
source ~/.bashrc
注意:编译过程中如果报错xxx package not found,别慌。大多数情况是某个依赖没装全。我曾经卡在libglib2.0-dev这个包上整整两小时,后来发现是源的问题。建议先执行sudo apt update && sudo apt upgrade再重试。
编译成功后,你会看到类似这样的输出:
Summary: 142 packages finished [12min 34s]
1 package had stderr output: autoware_launch
看到这个就说明成功了。那个stderr输出一般不影响使用,是某些警告信息。
验证安装
装好了怎么验证?我教你一个简单方法:
# 启动Autoware的示例launch文件
ros2 launch autoware_launch logging_simulator.launch.xml map_path:=/path/to/your/map
# 如果能看到Rviz界面和点云数据,说明一切正常
我第一次看到点云在Rviz里旋转时,说实话挺激动的。那种感觉就像你亲手组装了一台机器,然后它真的动起来了。
环境准备清单:
| 组件 | 版本要求 | 备注 |
|---|---|---|
| Ubuntu | 22.04 LTS | 推荐实体机安装 |
| ROS2 | Humble Hawksbill | 不要用其他版本 |
| Autoware | v1.0+ (最新版) | 建议从GitHub克隆 |
| CUDA | 11.8+ | 如有NVIDIA显卡 |
| 内存 | ≥16GB | 编译时建议关闭其他应用 |
好了,环境准备就到这里。记住,这一步慢一点没关系,基础打牢了后面才走得顺。我当年就是太心急,结果后面返工了好几次。
可可精品资料库