Robot Operating System (ROS) 是一个得到广泛应用机器人系统的软件框架,它包含了一系列的软件库和工具用于构建机器人应用。从驱动到最先进的算法,以及强大的开发者工具,ROS 包含了开发一个机器人项目所需要的所有东西。且它们都是开源的。

ROS 虽然名为机器人操作系统,但它与我们一般概念中的操作系统,如 Windows,Linux,iOS 和 Android 这些。Windows,Linux,iOS 和 Android 这些操作系统为我们管理计算机的物理硬件资源,如 CPU、内存、磁盘、网络及外设,提供如进程、线程和文件这样的抽象,并提供如读文件、写文件、创建进程、创建线程及启动线程这样的操作。ROS 所工作的层级并没有这么低,它基于一般概念中的操作系统来运行,官方推荐基于 Ubuntu Linux 运行,并在 Ubuntu Linux 操作系统提供的抽象和操作的基础之上,提供了更高层的抽象,如节点、服务、消息、主题等,以及更高层的操作,如主题的发布、主题的订阅、服务的查询与连接等操作。同时 ROS 还提供开发机器人项目所需的工具和功能库。

ROS 发行版是一个版本标识的 ROS 包集合,这些与 Linux 发行版(如 Ubuntu)类似。ROS 发行版的目的是让开发者可以基于一个相对稳定的代码库来工作,直到他们可以平稳地向前演进。一旦发行版发布,官方就会限制对其的改动,而仅仅提供对于核心包的 bug fixes 和非破坏性的增强。

当前(2018-01-28) ROS 系统已经发布了多个版本。ROS 最新的一些版本如下:

ROS 基本上保持每年一个新版本,每两年一个长期发行版的发布节奏。关于 ROS 版本发布的更多内容,如更多的发行版的介绍,发布的计划等,可以参考 ROS 官方站点的 Distributions 主页。

目前官方推荐使用最近的一个长期支持版本,即 ROS Kinetic Kame,求新的同时兼顾稳定性无疑应该采用这一版本,如果想要尝试最新的功能特性则可以使用最新的发行版 ROS Lunar Loggerhead。

ROS 的安装步骤如下。

ROS kinetic官网:http://wiki.ros.org/kinetic/Installation/Ubuntu

1. 配置Ubuntu的资源库:"restricted","universe"和"multiverse"。一般情况是不用配置的,参考下图红色框部分。
如果没有配置,可以参考Ubuntu官网

2. 安装:

参见:https://blog.csdn.net/weixin_39036700/article/details/81629810

1.设置安装源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2.设置key
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
3.安装
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full

独立的包安装:可以安装一个特定的 ROS 包(用实际的包名来替换下面的命令中的 “PACKAGE”)。

sudo apt-get install ros-kinetic-PACKAGE

如:sudo apt-get install ros-kinetic-slam-gmapping

要找到可用的包,可以使用:apt-cache search ros-kinetic


4.初始化
sudo rosdep init (安装一次后只能运行一次,若重新安装选择跳过或卸载)
rosdep update 结果:

Add distro "groovy"
Add distro "hydro"
Add distro "indigo"
Add distro "jade"
Add distro "kinetic"
Add distro "lunar"
Add distro "melodic"

updated cache in /home/ubuntu1604/.ros/rosdep/sources.cache

若出现time out 或错误,重试几遍

5.配置环境变量
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
打开另一个终端:
source ~/.bashrc

如果安装了多个 ROS 发行版,则 ~/.bashrc 必须只 source 当前正在使用的那一版的 setup.bash

如果你只想要修改当前 shell 的环境,则输入如下的命令来替换上面的命令:source /opt/ros/kinetic/setup.bash


6.安装rosinstall
sudo apt-get install python-rosinstall

构建包所需的依赖

到这一步,应该已经安装好了运行核心 ROS 包的所有东西。要创建和管理你自己的 ROS workspace,还有单独发布的许多的工具。比如,rosinstall 是一个常用的命令行工具,使你可以通过一个命令为 ROS 包简单地下载许多源码树。

要安装这个工具及其它的依赖以构建 ROS 包,则运行:

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
完成完整的 ROS 安装之后,可以对安装做一个简单的测试。可以通过 roscore 和 turtlesim 来做测试。

3. 卸载:

sudo apt-get purge ros-*
sudo rm -rf /etc/ros
gedit ~/.bashrc

找到:带有kinetic的那一行删除,保存,然后:

source ~/.bashrc

4. 测试ROS安装成功
1) 打开Termial,输入以下命令,初始化ROS环境:

roscore

2) 打开新的Termial,输入以下命令,弹出一个小乌龟窗口:

rosrun turtlesim turtlesim_node

3) 打开新的Termial,输入以下命令,可以在Termial中通过方向键控制小乌龟的移动:

rosrun turtlesim turtle_teleop_key


4) 打开新的Termial,输入以下命令,弹出新的窗口查看ROS节点信息:

rosrun rqt_graph rqt_graph

ROS的安装和卸载的更多相关文章

  1. ROS系统的安装以及卸载

    ROS系统的安装 ROS系统的安装方式有两种,通过软件源和源码编译安装.软件源安装只需要通过简单的命令,因此,我们使用软件源来安装ROS 配置系统软件源 打开Ubuntu软件中心的软件源配置界面,勾选 ...

  2. ROS(indigo) 安装和使用更新版本的Gazebo----3,4,5,6,7 附:中国机器人大赛中型组仿真比赛说明

    ROS(indigo) 安装和使用更新版本的Gazebo,本文以7为例. Gazebo7支持更多新的功能,如果使用下面命令安装ROS(indigo): ~$ sudo apt-get install ...

  3. ROS的安装与使用

    一.apt方式安装 安装 说起ROS,可能大家现在或多或少都有所了解.现如今世界机器人发展之迅猛犹如几十年前计算机行业一样,机器人也逐渐进入到千家万户,大到工业机器人,小到家用的服务型机器人,各式各样 ...

  4. C#创建、安装、卸载、调试Windows Service(Windows 服务)的简单教程

    前言:Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面.这 ...

  5. 教你一招:解决win10/win8.1系统在安装、卸载软件时出现2502、2503错误代码的问题

    经常遇到win10/win8.1系统在安装.卸载软件时出现2502.2503错误代码的问题. 解决办法: 1.打开任务管理器后,切换到“详细信息”选项卡,找到explore.exe这个进程,然后结束进 ...

  6. Android随笔之——静默安装、卸载

    随笔之所以叫随笔,就是太随意了,说起来,之前的闹钟系列随笔还没写完,争取在十月结束之前找时间把它给写了吧.今天要讲的Android APK的静默安装.卸载.网上关于静默卸载的教程有很多,更有说要调用隐 ...

  7. Windows服务安装与卸载

    Windows服务安装与卸载,使用到了InstallUtil.exe 安装: c: cd "C:\Windows\Microsoft.NET\Framework\v4.0.30319&quo ...

  8. Windows服务一:新建Windows服务、安装、卸载服务

    Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面 ...

  9. ubuntu下apache2 安装 配置 卸载 CGI设置 SSL设置

    一.安装.卸载apache2      apache2可直接用命令安装           sudo apt-get install apache2      卸载比较麻烦,必须卸干净,否则会影响ap ...

随机推荐

  1. bzoj 4318 OSU! - 动态规划 - 概率与期望

    Description osu 是一款群众喜闻乐见的休闲软件.  我们可以把osu的规则简化与改编成以下的样子:  一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1 ...

  2. Codeforces 868D Huge Strings - 位运算 - 暴力

    You are given n strings s1, s2, ..., sn consisting of characters 0 and 1. m operations are performed ...

  3. Guitar Pro怎样可以快速打出三连音?

    相信很多的音乐爱好初学者在使用入门编曲软件Guitar Pro的时候,都会碰到这样一个问题,很多乐谱中都出现了三连音,那么我们使用Guitar Pro的时候,如何能够打出三连音呢? 三连音,就是三等分 ...

  4. Linux系统PWM驱动【转】

    本文转载自:https://blog.csdn.net/BorntoX/article/details/51879786 硬件平台:IMX6 内核版本:kernel3.0.35 在linux内核中有一 ...

  5. 数据库04_SQL简单实践

    笔试实例 以MySQL为例,制作一个简单的表profit如下: T1 分别求1991年以及1992年第一季度的金额总和,效果如下: sql语句实现: SELECT year, SUM(amount) ...

  6. 在C#中理解和实现策略模式的绝对入门教程

    介绍 本文的目的是理解战略模式的基础知识,并试图了解何时可以使用,并有一个基本的实现,以便更好地理解.在现实世界的应用中,这是无法实施战略模式的,所采用的例子也远没有实际可行.这篇文章的想法只是为了说 ...

  7. Java单例设计模式(实现Java的一个类只有一个对象)

    单例设计模式的定义:单例设计模式是一种软件设计模式,在它的核心包含一个称为单例类的核心类. 核心便是希望一个类只有一个对象.  如何实现类在内存中只有一个对象呢? 第一步:构造私有:第二步:本身提供一 ...

  8. QT移植无法启动 This application failed to start because it could not find or load the QT platform

    QT配置好在自己机器上可以运行,但在别人机器上一直弹出 "This application failed to start because it could not find or load ...

  9. 每日质量NPM包复制_copy-to-clipboard

    一.copy-to-clipboard 官方定义: Simple module exposing copy function 理解: 一个超级简单的复制功能,并且这种方法适用于通过别的事件触发复制功能 ...

  10. 【BZOJ】1085: [SCOI2005]骑士精神

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1085 $${if (cs+val-1>ans) return ;}$$ #inclu ...