新手避坑指南:在Ubuntu 20.04双系统上,从零部署EGO-Planner无人机规划器

张开发
2026/4/15 16:39:32 15 分钟阅读

分享文章

新手避坑指南:在Ubuntu 20.04双系统上,从零部署EGO-Planner无人机规划器
新手避坑指南在Ubuntu 20.04双系统上从零部署EGO-Planner无人机规划器第一次在Ubuntu双系统环境下部署机器人项目就像在陌生城市里找路——明明导航显示距离不远却总在某个路口莫名其妙绕圈。EGO-Planner作为无人机自主规划领域的知名开源项目其部署过程对ROS新手来说充满隐藏陷阱。本文将带你完整走通从双系统配置到规划器运行的每一步重点解决那些教程里没写但实际一定会遇到的坑。1. 双系统环境准备避开分区与驱动的暗礁刚装好Ubuntu 20.04的双系统用户常会遇到两个入门杀磁盘空间莫名消失和NVIDIA驱动冲突。以下是经过实战验证的解决方案磁盘分配黄金法则针对256GB以上固态硬盘/根分区至少50GB建议80GBswap交换分区内存大小的1.5倍/home用户分区剩余全部空间EFI系统分区保持Windows创建的原有分区注意安装时务必选择安装第三方驱动选项这能自动解决大多数显卡问题。如果启动后出现黑屏尝试在GRUB界面按e编辑启动参数在quiet splash后添加nomodeset。安装后必须执行的系统优化命令sudo apt update sudo apt upgrade -y sudo apt install -y build-essential cmake git2. ROS安装鱼香ROS的正确打开方式虽然鱼香ROS的一键安装脚本确实方便但新手容易忽略两个关键点镜像源配置sudo sed -i s/http:\/\/archive.ubuntu.com/https:\/\/mirrors.aliyun.com/g /etc/apt/sources.list环境变量持久化 在~/.bashrc末尾添加以下内容后执行source ~/.bashrc# ROS环境配置 source /opt/ros/noetic/setup.bash source ~/catkin_ws/devel/setup.bash export ROS_PACKAGE_PATH${ROS_PACKAGE_PATH}:~/ego-planner常见问题排查表错误现象解决方案原理说明rosdep update失败使用清华源sudo rosdep init --rosdistro noetic --repository-url https://mirrors.tuna.tsinghua.edu.cn/git/rosdistro.git国内直接访问GitHub不稳定找不到catkin_make执行sudo apt install -y python3-catkin-tools基础编译工具未安装ROS命令补全失效安装bash-completionsudo apt install -y bash-completionShell自动补全功能缺失3. EGO-Planner依赖安装那些容易遗漏的组件官方文档提到的libarmadillo-dev只是冰山一角。实际还需要这些关键依赖sudo apt install -y \ libomp-dev \ libgoogle-glog-dev \ libsuitesparse-dev \ libpcl-dev \ ros-noetic-octomap-ros \ ros-noetic-mavros \ ros-noetic-mavros-extras特别提醒如果之前安装过其他ROS项目建议先清理冲突的包rosdep install --from-paths src --ignore-src -r -y4. 项目编译与调试从报错到理解的进阶克隆代码仓库时国内用户推荐使用Gitee镜像git clone https://gitee.com/iszhouxin/ego-planner.git --depth1 cd ego-planner编译时的黄金参数组合catkin_make -DCMAKE_BUILD_TYPERelease -j$(nproc)常见编译错误解决方案Eigen3版本冲突sudo apt remove libeigen3-dev sudo apt install -y libeigen3-dev3.3.7-2PCL库路径问题 在CMakeLists.txt中添加include_directories(/usr/include/pcl-1.10) link_directories(/usr/lib/x86_64-linux-gnu)OpenMP加速失效 修改CMakeLists.txt中的编译选项add_compile_options(-fopenmp) target_link_libraries(your_node OpenMP::OpenMP_CXX)5. 实战运行让无人机在RViz中飞起来正确的启动顺序能避免80%的运行时错误在第一个终端source devel/setup.bash roslaunch ego_planner rviz.launch在第二个终端等待RViz完全启动后source devel/setup.bash roslaunch ego_planner run_in_sim.launch关键检查点确认/odom话题有数据检查/map是否正确加载在RViz中设置好全局和局部代价地图如果遇到规划路径不连续的问题尝试调整ego_planner/params.yaml中的optimization: max_vel: 2.0 # 降低最大速度 max_acc: 1.0 # 减小加速度限制6. 性能优化从能跑到跑得更好在~/.bashrc中添加这些环境变量可以提升20%以上的运行效率export OMP_NUM_THREADS4 export MKL_NUM_THREADS4 export GOMP_CPU_AFFINITY0-3对于搭载NVIDIA显卡的设备安装CUDA加速sudo apt install -y nvidia-cuda-toolkit nvcc --version # 验证安装最后记得定期清理编译缓存catkin clean -y rm -rf ~/.ros/log/*

更多文章