news 2026/3/15 1:45:03

从零到一:Ubuntu20.04与ROS Noetic的安装历险记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零到一:Ubuntu20.04与ROS Noetic的安装历险记

从零到一:Ubuntu20.04与ROS Noetic的安装历险记

第一次接触ROS(Robot Operating System)时,那种既兴奋又忐忑的心情至今记忆犹新。作为一个机器人技术爱好者,我早就听说过ROS的大名,但当真正要在自己的Ubuntu20.04系统上安装ROS Noetic时,才发现这条路并不像想象中那么平坦。从软件源配置到依赖包安装,从环境变量设置到最后的测试运行,每一步都可能成为"拦路虎"。但正是这些挑战,让最终的成就感更加珍贵。

1. 安装前的准备工作

在开始ROS Noetic的安装之前,有几个关键步骤需要提前完成。这些准备工作看似简单,却直接影响后续安装的顺利进行。

首先,确保你的Ubuntu20.04系统已经更新到最新状态。打开终端(Ctrl+Alt+T),执行以下命令:

sudo apt update && sudo apt upgrade -y

接下来,需要配置Ubuntu的软件源设置。这一步经常被新手忽略,但却至关重要:

  1. 打开"软件和更新"应用
  2. 在"Ubuntu软件"选项卡中,确保以下四个选项都被勾选:
    • main
    • universe
    • restricted
    • multiverse

注意:如果这些选项未被全部勾选,可能会导致后续ROS依赖包安装失败。

对于国内用户,建议将软件源切换为国内镜像以加速下载。清华大学和中科大都提供了优质的ROS镜像源。我个人推荐使用中科大的镜像,速度稳定且更新及时。

2. ROS Noetic的安装过程

2.1 添加ROS软件源

ROS的安装需要先添加其专属的软件源。在终端中执行以下命令之一:

# 官方源(国际用户推荐) sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' # 中科大镜像源(国内用户推荐) sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

2.2 添加密钥

为确保软件包的安全性,需要添加ROS的GPG密钥:

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

成功执行后,终端会显示"OK"确认信息。

2.3 安装ROS Noetic桌面完整版

更新软件包索引并安装ROS Noetic桌面完整版:

sudo apt update sudo apt install ros-noetic-desktop-full

这个安装过程可能会持续较长时间(视网络情况而定),因为需要下载约2GB的数据。在安装过程中,可能会遇到以下几种常见问题及解决方案:

问题现象解决方案
下载速度慢或中断更换国内镜像源后重试
Hash校验和不符重新执行安装命令
依赖关系不满足执行sudo apt --fix-broken install修复

3. 初始化rosdep与环境配置

3.1 初始化rosdep

rosdep是ROS中用于安装系统依赖的工具,初始化过程可能会遇到几个典型问题:

sudo rosdep init rosdep update

常见错误及解决方法:

  1. 找不到rosdep命令

    sudo apt install python3-rosdep2
  2. 无法下载默认源列表

    sudo gedit /etc/hosts

    在文件末尾添加:

    199.232.28.133 raw.githubusercontent.com
  3. 源列表文件已存在

    sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

3.2 环境变量配置

为了让系统识别ROS命令,需要将ROS环境变量添加到bashrc文件中:

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

此外,建议安装一些常用的构建工具:

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

4. 测试ROS安装

4.1 启动ROS核心服务

在终端中输入以下命令启动roscore:

roscore

如果遇到"找不到命令"的错误,可能需要安装roslaunch:

sudo apt install ros-noetic-roslaunch

4.2 运行小海龟仿真器

ROS的经典测试案例是小海龟仿真器,它直观地展示了ROS的基本功能:

  1. 在一个终端中启动roscore(如果尚未运行)
  2. 在第二个终端中启动海龟仿真器:
    rosrun turtlesim turtlesim_node
  3. 在第三个终端中启动键盘控制:
    rosrun turtlesim turtle_teleop_key

提示:键盘控制需要在teleop终端处于活动状态时(即鼠标点击该终端窗口),才能通过方向键控制海龟移动。

第一次看到那只可爱的海龟在屏幕上移动时,那种喜悦难以言表。它不仅意味着ROS安装成功,更标志着你已经迈入了机器人开发的大门。当海龟在屏幕上留下彩色的轨迹时,你会发现之前所有的安装挫折都变得值得了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/4 4:44:55

李慕婉-仙逆-造相Z-Turbo实战:轻松生成动漫角色婚纱照

李慕婉-仙逆-造相Z-Turbo实战:轻松生成动漫角色婚纱照 你有没有想过,把小说里那个清冷倔强、一袭青衫踏破苍穹的李慕婉,变成穿着洁白婚纱、站在海风轻拂的沙滩上的模样?不是手绘,不是PS合成,而是用一句话描…

作者头像 李华
网站建设 2026/3/13 17:59:35

从虚拟化到容器化:操作系统兼容性的新战场

从虚拟化到容器化:操作系统兼容性的新战场 在云计算技术快速发展的今天,虚拟化和容器化已经成为现代IT基础设施的两大支柱。这两种技术虽然都致力于资源的高效利用和应用的快速部署,但在操作系统兼容性方面却呈现出截然不同的挑战和解决方案。…

作者头像 李华
网站建设 2026/3/13 7:06:11

多模态语义评估引擎实战:3步完成RAG检索增强配置

多模态语义评估引擎实战:3步完成RAG检索增强配置 在构建企业级RAG系统时,你是否遇到过这些问题: 检索阶段返回了10个文档,但真正相关的可能只有2个;关键信息被埋在第7个结果里,而前3个全是噪声&#xff1…

作者头像 李华
网站建设 2026/3/11 8:16:56

造相Z-Image新手必看:如何用提示词生成高质量商业级图片

造相Z-Image新手必看:如何用提示词生成高质量商业级图片 1. 别再瞎试了:为什么你生成的图总差一口气? 你是不是也这样:输入“一只可爱的小猫”,结果出来一张模糊、构图奇怪、毛发像糊了一层灰的图?或者写“…

作者头像 李华
网站建设 2026/3/13 13:08:33

智能体开发进阶|利用Dify+MCP构建微信智能提醒助手

1. 为什么需要微信智能提醒助手 每天早上醒来第一件事是什么?对很多人来说,是摸手机看微信。微信已经成为我们生活中不可或缺的通讯工具,但它的功能远不止聊天这么简单。想象一下,如果能有一个智能助手,自动帮你处理各…

作者头像 李华
网站建设 2026/3/3 7:34:24

Local AI MusicGen环境部署:Ubuntu 22.04 + NVIDIA驱动 + CUDA 12.1

Local AI MusicGen环境部署:Ubuntu 22.04 NVIDIA驱动 CUDA 12.1 1. 为什么需要本地部署MusicGen? 你是否试过在线AI音乐生成工具?加载慢、排队久、生成后不能批量处理,还常因网络波动中断——更别说隐私问题:你写的…

作者头像 李华