1. 环境准备与数据获取第一次接触Autoware官方Demo时最让人头疼的就是环境配置和数据准备。我刚开始接触时也踩过不少坑后来发现只要按照正确步骤操作整个过程其实并不复杂。首先确保你已经完成了Autoware的基础安装这是运行Demo的前提条件。1.1 下载官方Demo数据集Autoware官方提供了两个关键数据集分别是地图数据和感知数据。地图数据包含3D点云地图和向量地图而感知数据则是以ROSBAG格式存储的传感器数据。这两个数据集相辅相成缺一不可。下载地图数据的命令如下wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_data.tar.gz下载感知数据的命令是wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_150324.tar.gz这两个文件加起来大约有2GB左右下载时间取决于你的网络速度。建议在下载前检查磁盘空间确保有足够的存储空间。我在第一次尝试时就因为空间不足导致下载失败白白浪费了不少时间。1.2 解压数据文件下载完成后需要将这两个压缩包解压。解压地图数据的命令是tar zxfv sample_moriyama_data.tar.gz解压感知数据的命令类似tar zxfv sample_moriyama_150324.tar.gz解压后会生成两个文件夹分别包含地图数据和感知数据。这里有个小技巧建议把这些数据放在一个专门的目录下比如~/autoware_data这样后续操作时路径会更清晰。我第一次运行时就把数据解压到了Downloads文件夹结果后面配置时路径变得很混乱。解压完成后建议检查一下文件完整性。地图数据应该包含pointcloud_map和tf等子目录而感知数据则应该是一个rosbag文件。如果发现文件缺失可能需要重新下载和解压。2. 辅助工具配置与启动运行Autoware Demo不仅仅是启动主程序那么简单还需要一些辅助工具来帮助我们理解系统运行状态。这些工具就像是自动驾驶系统的X光机能让我们看到系统内部的运行机制。2.1 ROS核心服务启动在开始之前必须先启动ROS的核心服务。这就像是给整个系统打地基没有这个基础其他组件都无法正常工作。启动ROS核心服务的命令很简单roscore这个命令会启动ROS的主节点正常情况下你应该能看到类似这样的输出... logging to /home/user/.ros/log/xxxxx started core service [/rosout]如果遇到端口占用等问题可以尝试先kill掉已有的roscore进程或者使用--port参数指定其他端口。我在实际使用中就遇到过因为之前测试没有正确关闭roscore导致新实例无法启动的情况。2.2 可视化工具准备Autoware提供了两个非常有用的可视化工具rqt_graph和rqt_tf_tree。前者可以展示ROS节点和话题之间的关系后者则能显示坐标系变换关系。这两个工具对于理解系统运行机制至关重要。启动rqt_graph的命令是rqt_graph启动rqt_tf_tree的命令稍微复杂一些rosrun rqt_tf_tree rqt_tf_tree --force-discover如果你使用的是Autoware 1.14官方提供的docker环境可能会遇到找不到rqt_tf_tree的问题。这是因为这个工具默认没有安装。解决方法也很简单执行以下命令安装即可sudo apt-get update sudo apt-get install ros-melodic-rqt-tf-tree安装完成后再次尝试启动。我第一次使用时就被这个问题卡住了好久后来才发现是缺少了这个组件。建议在正式运行Demo前先确认这些工具都能正常启动。3. Runtime Manager配置详解Runtime Manager是Autoware的核心控制界面通过它可以配置和启动各个功能模块。这个图形化界面虽然看起来复杂但只要掌握了基本操作逻辑使用起来还是很方便的。3.1 启动Runtime Manager启动Runtime Manager的命令是roslaunch runtime_manager runtime_manager.launch成功启动后你会看到一个包含多个标签页的图形界面。这个界面主要分为几个区域顶部的标签页选择区中间的参数配置区以及底部的控制按钮区。第一次看到这个界面可能会觉得眼花缭乱但别担心我们一步步来。3.2 基础配置步骤在Simulation标签页中首先选择之前解压的rosbag文件。点击Play按钮开始播放但立即点击Pause暂停。这个操作顺序很重要因为我们需要先配置其他参数再让系统运行。接下来切换到Setup标签页点击TF和Vehicle Model按钮。正确配置后这两个按钮会变成深色。这一步是建立坐标系变换和加载车辆模型相当于告诉系统我们的虚拟车长什么样以及各个传感器之间的位置关系。然后进入Map标签页这里需要配置点云地图和TF设置文件。点云地图文件位于解压后的data/map/pointcloud_map目录下需要选择该目录下的所有文件。TF配置文件则是data/tf目录下的tf.launch文件。配置完成后同样要点亮相应的按钮。3.3 算法模块配置在Sensing标签页中勾选voxel_grid_filter选项。这个滤波器用于处理原始点云数据可以显著降低计算量。我在实际测试中发现不启用这个选项会导致系统运行非常卡顿。Computing标签页中需要勾选nmea2tfpose和ndt_matching两个选项。前者负责处理GNSS定位数据后者是实现点云匹配定位的关键算法。这两个模块共同构成了Demo的定位系统。最后回到Simulation标签页点击RViz按钮启动可视化工具。RViz是ROS的标准可视化工具Autoware对其进行了定制可以直观地展示自动驾驶系统的各种数据。4. 系统运行与状态监控一切准备就绪后就可以正式运行Demo了。但运行过程中还需要密切关注各个工具的状态反馈这样才能真正理解系统的工作原理。4.1 启动Demo运行在Runtime Manager的Simulation标签页中点击Pause按钮取消暂停状态Demo就会开始运行。此时你应该能在RViz中看到车辆开始移动周围环境也逐渐呈现出来。如果RViz中没有显示点云地图可以打开左侧的Display面板找到Points Map选项。先取消勾选再重新勾选这样就能强制刷新地图显示。这个小技巧在我第一次运行时帮了大忙因为默认情况下地图可能不会自动加载。4.2 系统状态分析工具使用现在可以回到之前打开的rqt_graph和rqt_tf_tree工具观察系统运行状态。在rqt_graph中点击左上角的刷新按钮你会看到一张复杂的节点关系图。这张图展示了Autoware各个模块之间的数据流动关系。rqt_tf_tree则展示了坐标系变换关系。同样点击刷新按钮你会看到不同坐标系之间的层级结构。理解这些坐标系关系对于调试自动驾驶系统非常重要特别是在传感器标定和定位算法调试时。建议在系统运行过程中定期刷新这两个工具观察不同配置下系统状态的变化。比如你可以尝试在Runtime Manager中启用或禁用某些模块然后观察rqt_graph中的变化。这种动态观察的方式能帮助你更直观地理解系统工作原理。4.3 常见问题排查在实际运行中可能会遇到各种问题。比如RViz中看不到车辆运动或者点云地图显示异常。这些问题通常有几个常见原因TF配置不正确检查rqt_tf_tree中是否包含了所有必要的坐标系特别是base_link、map和各个传感器坐标系之间的关系是否正确。数据路径错误确认在Runtime Manager中配置的文件路径是否正确特别是点云地图和rosbag文件的位置。模块未正确启动通过rqt_graph检查所有必要的节点是否都正常运行特别是ndt_matching和voxel_grid_filter等关键模块。我在第一次运行时就遇到了车辆不移动的问题后来发现是因为没有正确配置TF。通过rqt_tf_tree工具我很快就定位到了问题所在。所以这些可视化工具不仅仅是用来观察的更是强大的调试助手。