在Ubuntu 20.04上,用Autoware 1.14跑通第一个Demo(附避坑指南)
在Ubuntu 20.04上用Autoware 1.14跑通第一个Demo附避坑指南自动驾驶技术的快速发展让开源框架Autoware成为众多开发者和研究人员的首选工具。作为一款基于ROS的自动驾驶软件栈Autoware 1.14版本虽然已经不再是最新版但因其稳定性和丰富的功能模块仍然是学习自动驾驶系统架构的理想起点。本文将带你从零开始在Ubuntu 20.04系统上完成Autoware 1.14的安装配置并成功运行官方提供的Moriyama Demo同时分享我在实践过程中遇到的各种坑及其解决方案。1. 环境准备与Autoware安装在开始之前确保你的系统满足以下基本要求Ubuntu 20.04 LTS推荐纯净安装至少8GB内存16GB更佳50GB以上可用磁盘空间NVIDIA显卡非必须但推荐1.1 安装ROS NoeticAutoware 1.14需要ROS Noetic作为基础环境。执行以下命令安装sudo sh -c echo deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main /etc/apt/sources.list.d/ros-latest.list sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt update sudo apt install ros-noetic-desktop-full安装完成后初始化rosdep并设置环境变量sudo rosdep init rosdep update echo source /opt/ros/noetic/setup.bash ~/.bashrc source ~/.bashrc1.2 安装Autoware 1.14推荐使用官方提供的Docker镜像进行安装这能避免大量依赖冲突问题sudo apt install docker.io sudo systemctl enable --now docker sudo usermod -aG docker $USER newgrp docker docker pull autoware/autoware:1.14.0提示执行完usermod命令后需要注销并重新登录使docker组权限生效。2. 获取并准备Demo数据Autoware官方提供了Moriyama数据集作为演示用途我们需要先下载这个数据包wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_150324.tar.gz tar xvf sample_moriyama_150324.tar.gz这个数据包包含激光雷达点云数据(/points_raw)GNSS定位信息(/nmea_sentence)车辆运动轨迹数据注意原始数据包较大约3.5GB解压后请确保有足够的磁盘空间。如果下载速度慢可以尝试使用国内镜像源。3. 启动Autoware Runtime ManagerRuntime Manager是Autoware的图形化控制中心我们将通过它来管理整个Demo流程。首先启动Docker容器docker run -it --rm -p 6080:6080 \ -v $HOME/autoware-data:/home/autoware/data \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e DISPLAY$DISPLAY \ --device/dev/dri:/dev/dri \ autoware/autoware:1.14.0容器启动后在新的终端中执行docker exec -it container_id bash source /opt/ros/noetic/setup.bash roslaunch runtime_manager runtime_manager.launch此时应该能看到Runtime Manager的图形界面。界面主要分为几个区域Setup基础设置TF、车辆模型等Map地图加载Simulation仿真控制Computing算法模块管理Visualization可视化工具4. 运行完整Demo流程4.1 基础设置在Setup选项卡中勾选TF勾选Vehicle Model点击Vehicle Model右侧的app按钮设置合适的车辆尺寸参数在Map选项卡中点击Point Cloud加载点云地图选择我们下载的sample_moriyama_data中的pointcloud_map.pcd文件4.2 启动感知模块在Sensing选项卡中勾选voxel_grid_filter点云降采样点击app按钮设置参数leaf_size: 0.2 0.2 0.2在Computing选项卡中勾选nmea2tfposeGNSS定位勾选ndt_matching点云匹配定位4.3 播放数据包切换到Simulation选项卡点击Ref按钮选择我们下载的sample_moriyama_150324.bag点击Play开始播放数据此时你应该能在Rviz中看到点云地图显示车辆模型随着数据包播放而移动实时激光雷达扫描数据5. 常见问题与解决方案5.1 地图加载失败或显示异常现象点云地图无法加载或显示为杂乱无章的点集。解决方案检查地图文件路径是否正确确保文件权限可读chmod r pointcloud_map.pcd如果地图显示异常尝试调整Rviz中的点云显示大小Style: Points Size (Pixels): 15.2 节点卡顿或处理延迟现象(Processed/Input)数值差距大系统响应缓慢。优化方案降低点云处理精度voxel_grid_filter: leaf_size: 0.5 0.5 0.5关闭不必要的可视化工具在Runtime Manager中限制处理频率ndt_matching: resolution: 2.05.3 TF坐标错误现象Rviz中显示No transform from [base_link] to [map]等TF错误。解决方法检查TF是否已勾选确认nmea2tfpose正常运行手动检查TF树rosrun tf view_frames evince frames.pdf5.4 数据包播放问题现象bag文件播放后无任何数据显示。排查步骤检查话题列表rostopic list确认数据包信息rosbag info sample_moriyama_150324.bag尝试手动播放rosbag play --clock sample_moriyama_150324.bag6. 高级调试技巧当基础Demo运行稳定后可以尝试更复杂的功能验证6.1 目标检测集成虽然Autoware自带检测算法但性能有限。可以集成YOLOv3实现更好的检测效果git clone https://github.com/leggedrobotics/darknet_ros.git cd darknet_ros catkin_make -DCMAKE_BUILD_TYPERelease在Runtime Manager中取消默认检测节点添加darknet_ros启动文件配置相机话题和检测参数6.2 路径规划测试在Computing中启动waypoint_loader加载预存路径文件依次启动astar_avoidvelocity_setpure_pursuit在Rviz中观察规划结果6.3 性能监控使用rqt工具实时监控系统状态rqt_graph # 查看节点关系 rqt_top # 查看资源占用 rqt_plot # 绘制话题数据曲线对于长期运行的自动驾驶系统建议将关键话题数据记录到新的bag文件中便于后续分析rosbag record -O demo_log.bag /points_raw /detection /tf7. 实际项目中的经验分享在工业级应用中Autoware 1.14有几个需要特别注意的方面时钟同步确保所有传感器数据有准确的时间戳否则会导致融合算法失效。可以通过message_filters实现精确同步from message_filters import ApproximateTimeSynchronizer ts ApproximateTimeSynchronizer([sub1, sub2], queue_size10, slop0.1) ts.registerCallback(callback)坐标统一不同模块可能使用不同的坐标系约定特别是在将Autoware与其他系统集成时。建议在项目初期就明确定义世界坐标系map车辆坐标系base_link传感器坐标系velodyne, camera等参数调优Autoware的默认参数往往不适合特定场景需要根据实际环境调整点云匹配ndt_max_iterations,trans_epsilon路径规划waypoint_velocity,acceleration_limit控制参数lookahead_distance,minimum_lookahead_distance硬件加速对于实时性要求高的场景考虑使用CUDA加速的NDT匹配FPGA加速的点云处理专用硬件运行深度学习模型
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2577158.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!