新建   文章列表   相册  后台  网摘
 

Kreos

Kreos 无所不能

微雪-安装ROS环境


 

sudo apt update
sudo apt install openssh-server

 

小鱼一键安装指令

sudo apt update

wget http://fishros.com/install -O fishros && bash fishros

 

注意这里的24.=版本的ubuntu只有jazzy和rolling版本,我选的是jazzy版本,选什么版本会导致之后你的终端命令的一些代码会有改动。

换到ubuntu22.04就可以看到humble选项

 

以下是Ubuntu LTS版本与对应支持的ROS版本及其使用率分析(基于官方支持周期和社区活跃度综合评估):

一、ROS 1 系列(2026年已停止官方更新)

Ubuntu 版本ROS 1 版本支持状态使用率趋势关键特性
Ubuntu 16.04 Kinetic 已终止 (2021.04) 低(遗留项目) 首个支持Python 3的ROS 1版本 14
Ubuntu 18.04 Melodic 已终止 (2023.05) 中(稳定过渡期) 长期支持,工业机器人常用 19
Ubuntu 20.04 Noetic 支持至2025.05 高(主流) ROS 1最终LTS版,兼容Python 3 12

注:ROS 1在Ubuntu 22.04上无官方支持,需源码编译3

二、ROS 2 系列(当前推荐版本)

Ubuntu 版本ROS 2 版本支持状态使用率趋势关键优势
Ubuntu 18.04 Dashing 已终止 (2021.05) 首个ROS 2 LTS,逐步淘汰 1
Ubuntu 20.04 Foxy 支持至2023.05 高(过渡中) 平衡稳定与新功能,兼容ROS 1 25
Ubuntu 20.04 Galactic 已终止 (2022.11) 中低 短期支持,用于中间开发 1
Ubuntu 22.04 Humble 支持至2027.05 极高(主流) 当前LTS版,实时性优化 1378
Ubuntu 22.04 Iron 支持至2024.11 中(新项目) 滚动更新,适合前沿开发 1

三、使用率综合分析

  1. 主流选择(2026年初):

    • ROS 2 Humble(Ubuntu 22.04):因LTS支持至2027年且兼容新硬件,成为企业及新项目首选378
    • ROS 1 Noetic(Ubuntu 20.04):仍广泛用于传统机器人系统维护,但迁移至ROS 2趋势明显25
  2. 衰退版本:

    • Kinetic/Melodic(ROS 1):仅存于旧系统,新项目几乎不再采用49
    • Foxy(ROS 2):因支持周期短,逐渐被Humble替代12
  3. 特殊场景:

    • Ubuntu 18.04 + Dashing:少量工业设备因兼容性需求保留,但需自行维护安全补丁13

四、选型建议

  • 新项目:优先选择 Ubuntu 22.04 + ROS 2 Humble(长期支持,社区资源丰富)78
  • 旧系统升级:ROS 1项目迁移至 Ubuntu 20.04 + Noetic 或直接转向ROS 225
  • 实时性要求:ROS 2 Humble/Iron(内置实时中间件支持)10

数据说明:使用率基于官方支持周期、社区论坛活跃度及开源项目统计估算,具体数据可参考https://wiki.ros.org/https://www.cnblogs.com/ppqppl/p/17092107.html23


 

  • 接下来是对Ubuntu系统进行还源操作,我们在使用Ubuntu的时候,所访问的大部分数据和下载的软件资源都是在国外的,这就导致了下载速度异常的缓慢。我们国家同样也对Ubuntu系统有着支持和维护,特别是高校,在这一领域做出的贡献有位突出。为例提升下载和更新的速度,我在这里把我的Ubuntu镜像源换成国内清华大学的源。
  • 源这个概念可能对初学者比较陌生。大家都用过手机的应用市场吧,我们可以从应用市场下载APP在我们的手机上面便捷的使用,在Ubuntu系统下,我们也是有一个“应用市场”——apt。在我们需要下载程序的时候,sudo apt-get install 软件名即可进行安装。源,软件源,也就是这个软件仓库的数据,我们可以通过sudoapt-getupgrade更新我们的一个“应用市场”中已经安装好的所有软件;源列表呢,就是你这个“应用市场”里面都有哪些软件,是软件名称的一个列表。(PS:以上表述可能并不完全正确,但是对于初学者入门是足够的。有兴趣的朋友可自行查阅相关资料。)
  • 我们点击Ubuntu左下角的9个点,这个是类似于Windows键的一个功能,找到 softwave & update选项,打开。








  • 在Download from选择other,找到china列表,选择一个即可,点击Choose Server。我所选择的是tsinghua(清华)。




  • 然后点击close,点击reload,静静等待,它需要先下载好资源才能切换到国内。




  • 更好之后,按下Ctrl+Alt+T组合键,打开一个黑窗口(终端),输入
    sudo apt‐get update && sudo apt‐get upgrade ‐y
    
    进行源列表和源的一个更新。




  • 更新好之后是这样的。接下来我们进入配置Ubuntu系统的最后一步,汉化和安装中文输入法。由于已经更改好了国内的镜像数据,速度会快很多。
  • 我们先打开设置,找到Region&Language选项,然后点击下面的Manage Installed Language进行中文语言包的安装。




  • 在下面的这个界面,我们选择Installl/Remove Language,找到 Chinese(simple)。




  • 静静等待。下载好之后,将选项汉语(中国)拖动至顶层,然后点击Apply System-Wide(应用到系统全局),最后点击关闭,重启虚拟机。




  • 重启之后会有个名称是否更改,我们选择保留旧名称。到这里为止,我们的汉化就已经成功了。最后是安装我们的一个中文输入法fcitx,打开终端,输入下面指令。
    sudo apt‐get install fcitx fcitx‐googlepinyin fcitx‐module‐cloudpinyin fc itx‐sunpinyin ‐y
    
  • 安装好之后的,接下来我们还是打开语言设置选项,更改输入法位fcitx(默认是 IBus)。




  • 更改好之后,重启系统,通过使用Ctrl+空格的组合键方式即可实现中英文切换。




  • 我们的Ubuntu系统基础配置到此结束。此方法也适用于英伟达Jetson Nano、树莓派 (Ubuntu系统)等进行配置。

    安装ROS Melodic

  • 在安装ROS之前,我们需要进入ROS的官网,大家可以直接复制官网的下载指令进行安装。
  • 传送门如下。 Ubuntu + ROS Melodic官方安装介绍: http://wiki.ros.org/cn/melodic/Installation/Ubuntu

    第一步,配置ROS软件仓库

  • 打开终端,输入下面指令。
    sudo sh ‐c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release ‐s c) main" > /etc/apt/sources.list.d/ros‐latest.list'
    
  • 同时我们也需要增加一个密钥。指令如下。
    sudo apt‐key adv ‐‐keyserver 'hkp://keyserver.ubuntu.com:80' ‐‐recv‐key C 1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    
  • 我们的Linux在安装软件的时候,需要通过源列表去寻找对应的一个软件,Ubuntu默认的软件列表是没有ROS的,我们需要把packags.ros.org这样的一个网站给配置到我们的软件仓库列表内才能下载ROS,不然显示的是没有这个软件(因为你的软件列表,也就是源 列表没有)。
  • 配置公网密钥,这一步是确保我们的系统认为这个路径是安全的,下载文件是没有问题的。不然下载的东西会立刻被清除掉。




  • 或者使用国内提供的ros源:
    sudo sh ‐c '. /etc/lsb‐release && echo "deb http://mirrors.ustc.edu.cn/ro s/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros‐latest.lis t'
    
    wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key ‐O ‐ | sudo apt‐key add ‐
    

    第二步,安装ROS Melodic

  • 我们在加入了新的源之后,需要对源列表进行一次更新,在终端输入sudo apt-get update即可进行更新。然后我们通过apt指令进行下载安装ROS,指令如下。
    sudo apt‐get install ros‐melodic‐desktop‐full
    
  • 我选择是是安装桌面完整版,如果你使用了树莓派Zero,又或者是友善之臂等这一类性能不强的板子,你可以只安装基础版。每个版本的性能介绍可参考下图。




  • 接下来就是等待,可以喝个茶休息一会。虽然我们换的国内的源,但是考虑到是虚拟机和网络状态的影响,这个时间长短不是很固定,但是一两分钟肯定还是要有的。

第三步,配置ROS环境到系统

  • 在你使用 ROS 之前,需要初始化 rosdep。rosdep 让你能够轻松地安装被想要编译的 源代码,或被某些 ROS 核心组件需要的系统依赖。 在终端依次输入下面指令。
    sudo rosdep init 
    rosdep update
    




  • 如果你的rosdep出现问题显示无法链接到网站,那么你需要在你的/etc/hosts文件内,增加一个IP接口就可以解决这个问题。或者你可以直接写一个sources.list.d的源列表文 件,都是可以的。




  • 关于rosdep的问题,可参考下面链接。
    https://blog.csdn.net/u014662384/article/details/106916673?utm_medium=dis tribute.pc_relevant.none‐task‐blog‐BlogCommendFromMachineLearnPai2‐1.channe l_param&depth_1‐utm_source=distribute.pc_relevant.none‐task‐blog‐BlogCommen dFromMachineLearnPai2‐1.channel_param
    
  • 在这个位置一定保持网络良好,不然一定会失败。如果在尝试换网无效之后,也可以直接跳过这一步(能安装上的尽量安装上)。
  • 我们经常会碰到其他ROS版本的代码往我们的环境下面用,但是版本不同很可能会出现不兼容,甚至是一些玄学BUG,而rosdep就是来解决这个问题的。最重要的里面有一些ROS和其他工具链接的插件,如果无法安装,则可能导致部分软件安装失败(亲测,如果这个一步没有成功,Anaconda的环境会和ROS Python起冲突)。
  • 关于ROS的启动,我们需要在启动终端窗口的时候,生效一下我们的ROS功能内径, 但是每次打开一个窗口手动生效依次很麻烦,所有我们将需要生效的内容放在~/.bashrc文 件内,这样在每次启动终端的时候就可以自动生效了。记得执行source ~/.bashrc更新一下 当前的环境变量哈。
  • 在~/.bashrc最后一行增加内容如下。
    source /opt/ros/melodic/setup.bash
    
    我们可以在终端输入echo $ROS_PACKAGE_PATH查看我们当前ROS的一个安装状态




验证我们的ROS环境

  • 在ROS环境安装好了以后,相信你一定迫不及待的要体验一下ROS系统了吧!不过不要着急,机器人系统的设计是需要大量的时间和精力的,在这里我们先使用一个ROS的欢迎程序来向大家展示我们的ROS系统。
  • ROS系统的启动需要一个ROS Master,即节点管理器,我们可以在终端输入roscore指令来启动ROS Master。




  • 然后我们来启动一个小海龟的例程。新打开一个终端,输入
    rosrun turtlesim turtlesim_node即可出现一个小海龟的画面。
  • 我们再打开一个终端,输入rosrun turtlesim turtle_teleop_key来启动键盘控制,通 过↑、↓、←、→来控制小乌龟的移动。
  • 我们可以看到,在小海龟“撞墙”的时候,我们的turtlesim_node节点(咳咳,概念型的请继续关注接下来的内容)会有提示数据的输出。




我们在开启一个终端,查看一下节点关系和话题列表(后面会详细讲解)。





  • 可以看到,是teleop_turtle发送了一个cmd_vel的数据给了turtlesim。怎么样,逻辑 是不是很清晰,这就是ROS。
  • 我们不需要知道这个控制功能,又或者是显示功能是怎么实现的,我们所需要的是按照 cmd_vel的格式把数据发送出去,又或者是按照cmd_vel的格式接收数据,就可以来快速实 现功能。像什么雷达导航啊、视觉识别避障啊、机械臂空间路径规划啊等待,你可以写不出 来,但是你一定要会去用它,这就是ROS!

posted on 2025-12-10 08:56  前沿风暴  阅读(210)  评论(0)    收藏  举报

导航


校内网 © 2004-2026

京公网安备 33010602011771号 京ICP备2021040463号-3