Ubuntu 20.04 部署 ROS Noetic:从零搭建到首个机器人应用

张开发
2026/4/20 23:28:22 15 分钟阅读
Ubuntu 20.04 部署 ROS Noetic:从零搭建到首个机器人应用
1. 为什么选择Ubuntu 20.04和ROS Noetic如果你刚接触机器人开发可能会好奇为什么大家都推荐Ubuntu 20.04和ROS Noetic这个组合。简单来说这是目前最稳定的长期支持LTS版本搭配。Ubuntu 20.04作为LTS版本会持续获得安全更新到2025年而ROS Noetic则是最后一个支持Python 2的ROS 1版本对老项目兼容性更好。我在实际项目中发现这个组合最大的优势在于社区支持完善遇到问题容易找到解决方案软件包生态成熟常用功能都有现成的实现硬件兼容性好主流传感器驱动都能找到不过要注意的是如果你用的是一些新型号硬件可能需要考虑更新的ROS 2版本。但对于学习基础概念和开发传统机器人应用这个组合依然是首选。2. 安装前的准备工作2.1 系统基础配置在开始安装ROS之前我们需要确保系统处于最佳状态。我建议先执行以下命令更新现有软件包sudo apt update sudo apt upgrade -y这个步骤经常被新手忽略但很重要。有一次我帮同事调试安装问题花了两个小时才发现是因为系统没更新导致依赖冲突。2.2 配置国内软件源由于ROS默认使用国外服务器下载速度可能很慢。我们可以换成清华源来加速。执行以下命令sudo sh -c . /etc/lsb-release echo deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ lsb_release -cs main /etc/apt/sources.list.d/ros-latest.list然后添加密钥sudo apt install curl curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -这里有个小技巧如果你遇到密钥添加失败可以尝试用这个备用命令sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C6543. 安装ROS Noetic桌面完整版3.1 核心安装过程现在可以正式开始安装ROS了。推荐安装桌面完整版它包含了ROS、rqt、rviz等常用工具sudo apt update sudo apt install ros-noetic-desktop-full这个安装过程可能需要15-30分钟取决于你的网速。我建议在这期间去泡杯咖啡而不是盯着进度条看。安装完成后一个常见的错误是忘记配置环境变量。执行以下命令echo source /opt/ros/noetic/setup.bash ~/.bashrc source ~/.bashrc这样每次打开终端都会自动初始化ROS环境。3.2 解决依赖问题ROS依赖管理工具rosdep经常因为网络问题初始化失败。我们可以先安装必要的Python工具sudo apt-get install python3-pip sudo pip3 install rosdepc然后使用国内优化的版本初始化sudo rosdepc init rosdepc update这个方案比官方方法稳定得多我在多个项目上都验证过。4. 验证安装是否成功4.1 启动ROS核心最简单的验证方法是启动ROS核心服务roscore如果看到类似下面的输出说明安装成功... logging to /home/username/.ros/log/xxxxx started core service [/rosout]4.2 运行小海龟示例让我们运行经典的小海龟仿真来测试完整功能。需要打开三个终端第一个终端运行核心服务roscore第二个终端运行仿真器rosrun turtlesim turtlesim_node第三个终端运行控制程序rosrun turtlesim turtle_teleop_key现在你应该能看到一个蓝色窗口里有只小海龟在第三个终端里按方向键可以控制它移动。第一次看到这个小家伙动起来的感觉就像程序员第一次写出Hello World一样兴奋5. 创建工作空间catkin_ws5.1 初始化工作空间ROS项目通常组织在工作空间中。我们来创建标准的工作空间结构mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace这个命令会在src目录下生成CMakeLists.txt文件它是ROS包的构建基础。5.2 编译工作空间返回工作空间根目录并编译cd ~/catkin_ws catkin_make第一次编译会花费一些时间因为它要建立整个构建系统。完成后你会看到新增了build和devel目录。5.3 配置环境变量为了让系统能找到我们的工作空间需要配置环境echo source ~/catkin_ws/devel/setup.bash ~/.bashrc source ~/.bashrc验证是否配置成功echo $ROS_PACKAGE_PATH如果输出中包含你的工作空间路径说明配置正确。6. 常见问题排查6.1 网络连接问题ROS安装过程中最常见的坑就是网络问题。如果你遇到包下载失败可以尝试更换软件源如换成中科大源使用代理注意遵守相关规定分步安装先装核心组件再装其他6.2 依赖冲突有时已有的Python包会与ROS需要的版本冲突。我建议使用virtualenv创建隔离环境sudo apt install python3-virtualenv virtualenv --system-site-packages -p python3 ~/ros_venv source ~/ros_venv/bin/activate然后在虚拟环境中安装ROS相关包。6.3 权限问题ROS部分功能需要访问硬件设备可能会遇到权限问题。解决方法sudo usermod -a -G dialout $USER sudo usermod -a -G video $USER然后注销重新登录生效。7. 进阶配置建议7.1 使用ROS工具安装一些有用的开发工具sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential这些工具可以帮助你管理ROS包的依赖关系。7.2 配置编辑器如果你使用VS Code可以安装ROS插件code --install-extension ms-iot.vscode-ros它会提供ROS包开发的各种便利功能如自动补全、launch文件支持等。7.3 性能优化对于较老的机器可以关闭一些视觉效果提升性能sudo apt install preload echo export LIBGL_ALWAYS_SOFTWARE1 ~/.bashrc这对运行仿真器特别有帮助。

更多文章