本文最后更新于:2025年7月3日 下午

本文介绍在 Ubuntu 18.04 上安装 ROS Melodic 的方法流程。

简介

ROS 是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。在某些方面ROS相当于一种“机器人框架(robot frameworks)”类似的“机器人框架”有:Player,YARP,Orocos,CARMEN,Orca,MOOS和 Microsoft Robotics Studio。

ROS 运行时的“蓝图”是一种基于ROS通信基础结构的松耦合点对点进程网络。ROS实现了几种不同的通信方式,包括基于同步RPC样式通信的服务(services)机制,基于异步流媒体数据的话题(topics)机制以及用于数据存储的参数服务器(Parameter Server)。想更加深入的解释这些概念,请参见概念综述。

ROS 版本对应关系

ROS 1 是机器人操作系统的首个版本,从 2007 年发布以来不断演进,直到 2020 年发布的最后一个 LTS 版本 Noetic 才停止迭代。ROS 1 主要针对 Ubuntu 系统设计,因此 Ubuntu 与 ROS 版本之间具有严格的对应关系。

这里记录当前(2025.07)ROS 版本与 Ubuntu、Python 版本的对应关系

ROS 1

注:ROS 1 的最后一个版本是 Noetic,支持到 2025 年并推荐使用 Ubuntu 20.04 和 Python 3.8。
从 Melodic 开始,ROS 1 逐步支持 Python 3,最终在 Noetic 中完全切换到 Python 3。

由于 ROS 1 的生命周期即将结束,后续的开发重点将逐渐转向 ROS 2,因此新项目建议尽量选择 ROS 2,并选择符合需求的 Python 版本。

ROS2

注:ROS 2 支持在 Ubuntu 16.04 到 24.04 之间的多个版本运行,但从 Foxy 开始,建议使用较新的 Ubuntu LTS 版本以获得更好的支持。

ROS 2 逐渐引入了对 Python 3.8、3.10 以及 3.12 等版本的支持,建议在配置环境时选择适合的 Python 版本。

ROS 2 也支持 Windows 和 macOS 平台(Tier 1 和 Tier 2 支持),但主要推荐在 Ubuntu 上使用。

安装步骤

ROS Melodic 对应的操作系统为 Ubuntu 18.04, 若没有对应的操作系统可以 安装虚拟机 解决这个问题。

  1. 添加镜像源,我这里设置的是清华的镜像源

    1
    2
    3
    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 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  2. 设置密钥

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

  3. 更新 Debian 包

    1
    sudo apt update
  4. 安装

    桌面完整版(推荐): 包含 ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及 2D/3D 感知包。

    1
    sudo apt install ros-melodic-desktop-full

    如果有问题可以尝试修复安装

    1
    sudo apt install --reinstall ros-melodic-desktop-full

    初始化 rosdep

    1
    sudo rosdep init

    如果显示 sudo: rosdep: command not found,则运行命令安装依赖

    1
    sudo apt install python-rosdep2

  5. 更新 rosdeg

    1
    rosdep update

    如果报错:

    1
    2
    ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml]:
    <urlopen error [Errno 0] Error> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml)

    进入 IP 查询网 https://ip.tool.chinaz.com/ 查询 raw.githubusercontent.com 的 IP

    将 IP 解析加入到 /etc/hosts 文件中

    其实使用一下魔法也可以解决问题

  6. 设置环境变量

    1
    2
    echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
    source ~/.bashrc
  7. 构建工厂依赖

    1
    sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

    其他依赖:

    1
    2
    3
    4
    5
    6
    sudo apt-get install ros-melodic-nav-core
    sudo apt install ros-melodic-tuw-multi-robot-msgs
    sudo apt install ros-melodic-map-server
    sudo apt install ros-melodic-jsk-visualization
    sudo apt install ros-melodic-ament-cmake
    sudo apt-get install python3-catkin-tools # 用于编译和构建ROS catkin工作空间。
  8. 测试

    1
    roscore

    有如下输出表示成功:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    $ roscore
    ... logging to /home/vvd/.ros/log/b9648920-57cb-11f0-bdb8-000c290fbf15/roslaunch-ubuntu-13500.log
    Checking log directory for disk usage. This may take a while.
    Press Ctrl-C to interrupt
    Done checking log file disk usage. Usage is <1GB.

    started roslaunch server http://ubuntu:43905/
    ros_comm version 1.14.13


    SUMMARY
    ========

    PARAMETERS
    * /rosdistro: melodic
    * /rosversion: 1.14.13

    NODES

    auto-starting new master
    process[master]: started with pid [13515]
    ROS_MASTER_URI=http://ubuntu:11311/

    setting /run_id to b9648920-57cb-11f0-bdb8-000c290fbf15
    process[rosout-1]: started with pid [13526]
    started core service [/rosout]
  9. 小乌龟仿真

    弹出乌龟可视化窗口‌:

    1
    roscore & rosrun turtlesim turtlesim_node

    键盘控制:

    1
    rosrun turtlesim turtle_teleop_key

参考资料



文章链接:
https://www.zywvvd.com/notes/tools/ros1/ros-melodic-install/ros-melodic-install/


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

ubuntu 18.04 安装 ROS Melodic
https://www.zywvvd.com/notes/tools/ros1/ros-melodic-install/ros-melodic-install/
作者
Yiwei Zhang
发布于
2025年7月3日
许可协议