了解一下Ubuntu上搭建的ROS环境

2026-02-09 18:08:28 2阅读

了解一下Ubuntu上搭建的ROS环境ROS基本介绍

ROS 的全称是 Robot Operating System,即机器人操作系统,它不是一个传统意义上的操作系统(如 Windows、Linux),而是一个用于编写机器人软件的框架。

它相当于机器人的中间件,处理了硬件抽象、底层设备控制、进程间消息传递、包管理等高重复性、低差异性的工作,让开发者可以专注于实现机器人的核心算法和功能。

Ubuntu上搭建ROS环境为什么ROS主要在Ubuntu上运行

官方支持与同步发布

ROS的开发团队选择 Ubuntu 作为其主要和首选的支持平台,因此每一个 ROS 发行版都会与一个特定版本的 Ubuntu 进行官方绑定和测试,例如ROS melodic与 Ubuntu 18.04,ROS Noetic 与 Ubuntu 20.04 LTS等版本。

依赖管理便利

ROS 本身依赖于大量开源库(如OpenCV等),而Ubuntu 拥有强大的软件包管理系统,可以非常方便地安装和管理这些依赖项,确保了环境的统一性和稳定性。

庞大的开发者社区

一般情况下,机器人领域的研发人员等广泛使用都是基于 Ubuntu 环境。

Ubuntu上ROS环境的核心概念

当在 Ubuntu 上安装 ROS 环境后,基本上系统上就具备了一个完整的机器人软件开发环境。

计算图级概念

这属于 ROS 的核心通信机制。

文件系统级概念常用工具

命令行工具:

Ubuntu上安装ROS的步骤操作流程

详细流程可以参考ros官方文档。

注:每个系统和ROS版本是匹配的,Ubuntu18.04所匹配的版本是melodic。

设置 sources.list:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

设置密钥

sudo apt install curl # 如果你还没有安装 curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

更新

sudo apt update
sudo apt install ros-noetic-desktop-full # 推荐,包含ROS、Rviz、仿真工具等

环境设置将ros环境添加到环境变量里。

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

安装构建工具:

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

问题

1.提示如图所示时,需要安装,执行命令:sudo apt install python3-rosdep2(注:命令行里提示什么就输什么)

ROS在Ubuntu上的优势_ubuntu安装deb包失败_Ubuntu搭建ROS环境

2.安装后,rosdep init还是失败,如图所示:

ubuntu安装deb包失败_Ubuntu搭建ROS环境_ROS在Ubuntu上的优势

3.需要打开/etc/hosts文件目录,终端输入:sudo gedit /etc/hosts

4.文件就会自动打开,在末端添加:

ROS在Ubuntu上的优势_ubuntu安装deb包失败_Ubuntu搭建ROS环境

151.101.84.133 raw.githubusercontent.com

5.保存后关闭, 重新执行rosdep init命令。 6.执行成功后如图所示:

ROS在Ubuntu上的优势_ubuntu安装deb包失败_Ubuntu搭建ROS环境

1.错误提示如图所示:

ubuntu安装deb包失败_ROS在Ubuntu上的优势_Ubuntu搭建ROS环境

2.输入命令:vi /etc/resolv.conf,改成如图所示:

ubuntu安装deb包失败_ROS在Ubuntu上的优势_Ubuntu搭建ROS环境

3.保存后重新update,若还是失败,则将手机热点打开再update。

安全防范

一般来说,ROS环境中的程序通常是用C++或Python编写的,对于C++程序,它们会被编译成可执行文件,文件格式是ELF,对于Python程序,它们则是以脚本的形式运行,由Python解释器执行。

Virbox Protector工具在对elf文件和py脚本文件上有着成熟的保护方案,对elf程序的函数级和整体保护,对py进行字节码级别保护,可以防止源码泄露。

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。