告别虚拟机!在Win10/11上给Ubuntu 20.04分个家,手把手部署ego_planner无人机规划器

张开发
2026/4/17 22:00:16 15 分钟阅读

分享文章

告别虚拟机!在Win10/11上给Ubuntu 20.04分个家,手把手部署ego_planner无人机规划器
在Windows 10/11上安全部署Ubuntu 20.04双系统并运行ego_planner无人机规划器对于无人机开发者和ROS爱好者来说性能与稳定性往往是首要考虑因素。虚拟机虽然方便但在资源占用和实时性方面存在明显短板。本文将带你一步步在Windows 10/11上安全安装Ubuntu 20.04双系统并快速部署ego_planner无人机规划器无需担心系统崩溃或数据丢失。1. 为什么选择双系统而非虚拟机在开始安装前我们需要明确双系统与虚拟机的核心差异。虚拟机通过软件模拟完整硬件环境而双系统则是直接在物理硬件上运行操作系统。以下是两者的关键对比特性双系统虚拟机性能原生性能无额外开销有10-30%的性能损失硬件访问直接访问所有硬件资源受限于虚拟化层实时性完全满足实时需求可能因调度产生延迟图形性能100%发挥GPU能力通常需要额外配置系统隔离完全隔离共享主机资源切换便利性需要重启随时切换对于ego_planner这类需要实时响应和高效计算的无人机规划器双系统显然是更优选择。特别是当你需要运行高精度仿真处理大量传感器数据进行实时路径规划充分利用GPU加速提示如果你只是偶尔使用ROS或进行简单开发虚拟机可能更方便。但专业开发或性能敏感场景双系统是必选项。2. 安全安装双系统的关键准备安装双系统最令人担忧的莫过于可能影响现有Windows系统。通过以下准备你可以将风险降至最低。2.1 必备工具与材料至少8GB容量的U盘用于制作启动盘Ubuntu 20.04 LTS镜像推荐从官网下载Rufus工具用于创建可启动U盘备份重要数据至少保留两份不同介质的备份2.2 磁盘分区规划现代UEFI系统下分区方案已大幅简化但仍需注意EFI系统分区Windows已创建无需改动Windows分区建议保持至少100GB空闲空间Ubuntu分区/根分区建议30-50GBext4格式swap交换分区内存大小的1-2倍仅当内存8GB时需要/home家目录剩余所有空间ext4格式使用Windows磁盘管理工具压缩现有分区是最安全的方式1. 右键此电脑→管理→磁盘管理 2. 选择有足够空间的磁盘通常是C盘 3. 右键→压缩卷输入要压缩的空间量建议至少80GB 4. 点击压缩后会出现未分配空间留待Ubuntu安装时使用2.3 禁用快速启动和安全启动Windows的快速启动可能干扰双系统安装# 以管理员身份打开PowerShell执行 powercfg /h off安全启动则可能导致Ubuntu安装失败建议在BIOS中暂时禁用重启电脑按制造商指定键通常是F2、F12或Del进入BIOS找到Secure Boot选项设置为Disabled保存设置并退出3. Ubuntu 20.04安装详解3.1 创建可启动U盘使用Rufus工具制作启动盘插入U盘注意制作过程会清空U盘所有数据打开Rufus选择你的U盘设备点击选择浏览并加载下载的Ubuntu 20.04 ISO文件分区方案选择GPT目标系统选择UEFI点击开始等待制作完成3.2 实际安装步骤插入启动U盘重启电脑进入启动菜单通常是F12选择UEFI USB设备启动选择Install Ubuntu语言选择中文或英文继续在安装类型界面选择其他选项进行手动分区在之前准备的未分配空间上创建分区EFI系统分区300MB保持与Windows共用原有EFI分区swap交换分区8GB如果内存充足可不设/根分区40GBext4格式挂载点//home家目录剩余空间ext4格式挂载点/home设备引导加载器安装位置选择EFI分区通常是/dev/sda1设置用户名密码继续安装安装完成后重启移除U盘注意如果重启后直接进入Windows需要进入BIOS调整启动顺序将Ubuntu启动项置顶。3.3 安装后优化首次进入Ubuntu后建议立即执行以下优化# 更新系统 sudo apt update sudo apt upgrade -y # 安装必要工具 sudo apt install -y git curl wget build-essential # 修复可能的显卡驱动问题 sudo ubuntu-drivers autoinstall4. ROS与ego_planner环境部署4.1 使用鱼香ROS一键安装鱼香ROS脚本极大简化了ROS安装过程wget http://fishros.com/install -O fishros . fishros运行后按提示操作选择1.安装ROS选择ROS1 Noetic对应Ubuntu 20.04选择桌面完整版(Desktop-Full)等待安装完成安装完成后验证ROS环境# 初始化rosdep sudo rosdep init rosdep update # 测试核心功能 roscore rosrun turtlesim turtlesim_node应该能看到乌龟仿真窗口弹出。4.2 部署ego_planner规划器4.2.1 安装依赖# 安装Armadillo库 sudo apt-get install -y libarmadillo-dev # 安装其他必要依赖 sudo apt-get install -y ros-noetic-octomap-* ros-noetic-mavros ros-noetic-mavros-extras4.2.2 克隆代码库国内用户推荐使用gitee镜像加速git clone https://gitee.com/iszhouxin/ego-planner.git或直接从GitHub克隆git clone https://github.com/ZJU-FAST-Lab/ego-planner.git4.2.3 编译项目cd ego-planner catkin_make -DCMAKE_BUILD_TYPERelease编译过程可能需要10-30分钟取决于硬件性能。4.2.4 运行仿真在三个不同终端中分别执行# 终端1启动ROS核心 roscore # 终端2启动RViz可视化 source devel/setup.bash roslaunch ego_planner rviz.launch # 终端3运行规划器仿真 source devel/setup.bash roslaunch ego_planner run_in_sim.launch成功运行后你将在RViz中看到无人机和规划路径的可视化效果。5. 常见问题与解决方案5.1 双系统启动问题问题安装Ubuntu后无法看到启动菜单解决# 在Ubuntu中安装并配置grub sudo apt install --reinstall grub-efi-amd64 sudo grub-install /dev/sda sudo update-grub5.2 ROS环境配置问题问题rosdep update失败解决# 修改hosts文件 sudo sh -c echo 199.232.28.133 raw.githubusercontent.com /etc/hosts # 重新尝试 rosdep update5.3 ego_planner编译错误问题缺少依赖导致编译失败解决# 安装所有可能需要的依赖 sudo apt-get install -y ros-noetic-geographic-msgs ros-noetic-tf2-sensor-msgs ros-noetic-joy5.4 性能优化建议为获得最佳性能建议在BIOS中禁用Intel SpeedShift技术使用cpufrequtils设置性能模式sudo apt install cpufrequtils sudo cpufreq-set -g performance关闭不必要的图形效果sudo apt install gnome-tweaks gnome-tweaks然后在窗口选项卡中关闭动画效果6. 进阶配置与调优6.1 双系统时间同步问题Windows和Linux处理硬件时钟的方式不同会导致时间显示错误# 在Ubuntu中修复时间同步 timedatectl set-local-rtc 1 --adjust-system-clock6.2 共享文件夹设置方便在双系统间交换文件# 安装NTFS支持 sudo apt install ntfs-3g # 创建挂载点并设置自动挂载 sudo mkdir /mnt/Windows sudo chmod 777 /mnt/Windows然后在/etc/fstab中添加替换your_username为实际用户名UUID你的Windows分区UUID /mnt/Windows ntfs-3g defaults,windows_names,localeen_US.utf8 0 0使用blkid命令查看分区UUID。6.3 ego_planner参数调优编辑ego-planner/src/planner/plan_manage/launch/run_in_sim.launch文件可调整param namemax_vel value2.0 / !-- 最大速度 -- param namemax_acc value1.0 / !-- 最大加速度 -- param nameresolution value0.1 / !-- 地图分辨率 --根据实际需求调整这些参数可以优化规划性能。

更多文章