当前位置: 首页 > news >正文

Ubuntu20.04下ROS1-Noetic的快速安装与配置指南

1. 环境准备:Ubuntu20.04基础配置

在开始安装ROS1-Noetic之前,我们需要确保Ubuntu20.04系统的基础环境已经正确配置。很多新手容易忽略这一步,结果在后续安装过程中遇到各种奇怪的问题。我自己第一次安装时就踩过这个坑,浪费了半天时间排查。

首先打开"软件和更新"设置界面。这里有个小技巧:如果你在应用程序菜单里找不到它,可以直接按Super键(就是Windows键)然后输入"software",选择"软件和更新"图标。进入后找到"Ubuntu软件"标签页,这里有四个重要的软件源选项需要全部勾选:

  • main:Ubuntu官方维护的开源软件
  • universe:社区维护的开源软件
  • restricted:专有设备驱动
  • multiverse:受版权保护的软件

特别提醒:有时候界面可能会卡住或者显示不全,这时候可以尝试重启系统或者换个桌面环境(比如从GNOME切换到Unity)再试。我遇到过几次这种情况,重启后就能正常显示了。

2. ROS1-Noetic安装步骤详解

2.1 设置软件源

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 sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

注意:执行这些命令需要管理员权限,系统会提示你输入密码。输入时不会显示星号,这是Linux的正常现象,照常输入后回车即可。

2.2 添加密钥

密钥用于验证软件包的合法性,防止安装被篡改的软件。执行以下命令:

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

如果遇到连接问题,可以尝试更换keyserver地址,比如使用hkp://pgp.mit.edu:80

2.3 安装ROS

更新软件包列表:

sudo apt update

ROS提供了几种安装选项,对于大多数开发者我推荐安装完整桌面版:

sudo apt install ros-noetic-desktop-full

这个版本包含了ROS基础功能、可视化工具(rqt, rviz)、仿真器以及常用的感知和导航功能。安装过程可能需要15-30分钟,取决于你的网速。

3. 环境配置与初始化

3.1 设置环境变量

为了让系统能够找到ROS命令,需要将ROS环境变量添加到bash配置中:

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc

这个操作只需要做一次。以后每次打开新终端时,系统都会自动加载ROS环境。

3.2 安装依赖工具

ROS开发还需要一些常用工具,建议一并安装:

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

初始化rosdep(ROS依赖管理工具):

sudo rosdep init rosdep update

注意:rosdep init只需要执行一次,而rosdep update可以定期执行以获取最新的依赖关系。

4. 验证安装是否成功

4.1 基础功能测试

启动ROS核心服务:

roscore

如果看到类似下面的输出,说明核心服务运行正常:

... logging to /home/user/.ros/log/xxxxx started core service [/rosout]

4.2 小海龟测试

这是ROS的经典测试程序,可以验证整个系统是否正常工作。首先在一个终端运行:

rosrun turtlesim turtlesim_node

会弹出一个窗口显示一只小海龟。然后在另一个终端运行:

rosrun turtlesim turtle_teleop_key

将光标放在这个终端窗口,用键盘方向键控制小海龟移动。如果能看到小海龟移动并留下轨迹,恭喜你,ROS已经成功安装并运行!

4.3 检查版本

rosversion -d

应该输出"noetic",确认安装的是正确的ROS版本。

5. 常见问题排查

5.1 软件源问题

如果安装过程中出现"无法定位软件包"错误,可能是软件源设置有问题。可以尝试:

  1. 检查/etc/apt/sources.list.d/ros-latest.list文件内容是否正确
  2. 重新执行sudo apt update
  3. 尝试换用另一个镜像源

5.2 环境变量问题

如果输入ROS命令提示"command not found",可能是环境变量没有正确设置。可以手动执行:

source /opt/ros/noetic/setup.bash

然后测试命令是否可用。如果可用,说明.bashrc文件可能没有正确修改。

5.3 网络连接问题

有些校园网或公司网络可能会屏蔽某些端口,导致rosdep initupdate失败。可以尝试:

  1. 更换网络环境
  2. 使用手机热点
  3. 配置系统代理(如果有合法权限)

6. 进阶配置建议

6.1 创建工作空间

建议为ROS项目创建独立的工作空间:

mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make

记得把工作空间的环境变量也加入.bashrc

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

6.2 安装常用工具包

根据你的开发需求,可能需要额外安装一些常用包:

# 导航相关 sudo apt install ros-noetic-navigation # 视觉相关 sudo apt install ros-noetic-vision-opencv # 机械臂相关 sudo apt install ros-noetic-moveit

6.3 配置编辑器

如果你使用VSCode,可以安装ROS插件:

  1. 打开VSCode
  2. 进入扩展市场
  3. 搜索"ROS"并安装Microsoft提供的ROS插件

对于CLion用户,也有专门的ROS插件可以提升开发效率。

http://www.jsqmd.com/news/517078/

相关文章:

  • 频谱分析中的三大“隐形杀手”:混叠、栅栏与泄漏现象全解析
  • 从“厨房”到“餐厅”:用生活场景拆解CUDA、cuDNN与PyTorch的协作关系
  • OpenAI超级应用手机端落地前瞻
  • YOLOv11-OBB vs YOLOv5-OBB:实测对比与性能优化技巧
  • 讲讲老门东附近淮扬菜餐厅,费用合理且口碑佳的有哪些 - 工业设备
  • 苹果触控板在Windows系统的精准驱动解决方案
  • 别再手动做动画了!用Claude Code+Remotion,5分钟把静态图片变成动态视频
  • Canvas绘图实战:5分钟搞定动态数据可视化图表(附完整代码)
  • 揭秘2026年三山街附近装修精致淮扬菜餐厅,红厨巷值得打卡 - 工业品网
  • 手把手教你用51单片机和HC-SR04做个倒车雷达(附Proteus仿真+完整代码)
  • 5.7.3 通信->MIP轻量化页面技术标准(百度):MIP(Mobile Instant Pages) 协议架构(分层)
  • RadioMaster POCKET遥控器ExpressLRS界面卡Loading?别急,先检查这个隐藏的射频开关
  • 向量库怎么选?RAG向量数据库原理与常用库对比(非常详细),小白也能看懂,收藏这一篇就够了!
  • 2026 实测 Gemini3.1Pro 技术拆解与国内镜像站推荐
  • STM32实战:5分钟搞定433MHz无线遥控模块与智能家居联动(附完整代码)
  • 探寻三山街附近服务好的淮扬菜餐厅,哪个口碑好 - 工业推荐榜
  • 高德地图+three.js实战:5步搞定景区3D大屏(附完整代码)
  • FOC 算法笔记【三】磁链观测器:从理论到离散化实现
  • 从洗衣机到物联网:STM32如何通过电机控制实现家电智能化
  • 一个用于采集微信公众号文章和数据的轻量级爬虫工具
  • InputDispatcher Crash: When Toast Meets UI Updates - A Deep Dive into Channel Conflicts
  • 5.6.1 通信->AMP(Accelerated Mobile Pages):AMP(Accelerated Mobile Pages)基本信息核心设计目标现实意义
  • 分析2026年金华抖音代运营实力厂家,哪个口碑好 - 工业设备
  • 2026年深度拆解:ChatGPT技术原理与镜像站
  • 数学建模实战:用MATLAB ode45求解七鳃鳗性别比例对湖鳟种群的影响(附完整代码)
  • 防火墙长连接配置实战:规避业务中断的关键策略
  • ADS板材加工全流程:从DXF导出到PCB设计(附CAD填充技巧)
  • 如何用HTML快速生成专业Word文档?html-to-docx工具全解析
  • 三菱PLC编程必看:如何用‘外围‘注释节省90%存储空间(附实操步骤)
  • Qwen-Image保姆级教程:RTX4090D用户从购买显卡到运行Qwen-VL的全链路指导