第一课:课程导学与环境准备

大家好,我是你们的自动驾驶感知联调课讲师。做Autoware相关开发这些年,踩过的坑比吃过的盐还多。今天咱们就从零开始,先把地基打牢。

说实话,Autoware这套系统刚接触时确实有点吓人。模块多、依赖复杂、文档还经常跟不上版本更新。但别怕,我带着你一步步来。

Autoware整体架构:一张图看懂

先看这张架构图,我亲手画的。它把Autoware的核心模块和它们之间的关系讲清楚了。

Autoware 感知模块整体架构 传感器层 LiDAR | 摄像头 | 毫米波雷达 | GNSS/IMU 感知模块(本章重点) 目标检测 | 目标跟踪 | 语义分割 | 车道线检测 点云处理 | 图像处理 | 传感器融合 (基于深度学习 + 传统算法) 定位 & 规划模块 NDT定位 | 路径规划 | 行为决策 | 运动控制 执行层 车辆控制 | 线控底盘 | 安全监控 数据流方向

你看,整个系统分四层。传感器层负责采集原始数据,感知层负责理解环境,定位规划层做决策,执行层控制车辆。我当年刚接触时,总想一口气全搞懂,结果把自己绕晕了。后来学乖了,先死磕感知模块。

感知模块功能概览

感知模块说白了就是给车装上眼睛和大脑。它要回答三个问题:

  • 周围有什么?——目标检测(车、人、障碍物)
  • 这些东西在哪儿?——定位与测距
  • 它们接下来会怎样?——目标跟踪与预测

我在项目中遇到过最头疼的事:激光雷达检测到前方有个物体,但摄像头死活识别不出来。后来发现是传感器时间戳没对齐。嗯,这种坑以后咱们会专门讲。

核心要点:Autoware的感知模块主要依赖LiDAR和Camera两种传感器。LiDAR擅长测距和3D检测,Camera擅长分类和语义理解。两者融合才是王道。

Ubuntu + ROS2环境搭建

环境搭建这块,我建议你直接用Ubuntu 22.04。为什么?因为Autoware官方对22.04的支持最成熟。我之前试过20.04,折腾了两天,各种依赖冲突,最后老老实实重装了系统。

具体步骤:

  1. 安装Ubuntu 22.04——建议双系统或实体机,虚拟机跑感知模块会卡到你怀疑人生
  2. 安装ROS2 Humble——注意是Humble版本,别装成Foxy了
  3. 安装依赖库——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里旋转时,说实话挺激动的。那种感觉就像你亲手组装了一台机器,然后它真的动起来了。

环境准备清单:

组件版本要求备注
Ubuntu22.04 LTS推荐实体机安装
ROS2Humble Hawksbill不要用其他版本
Autowarev1.0+ (最新版)建议从GitHub克隆
CUDA11.8+如有NVIDIA显卡
内存≥16GB编译时建议关闭其他应用

好了,环境准备就到这里。记住,这一步慢一点没关系,基础打牢了后面才走得顺。我当年就是太心急,结果后面返工了好几次。

可可精品资料库