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. zabbix配置短信告警

    zabbix版本:3.0.7 短信服务商:云片网 首先在云片网添加相应签名和模板 参照格式 签名:xxx告警 模板: [xxx告警]故障:#status# 服务器:#host# 发生:#trigger ...

  2. http请求记录

    Request Headers 请求头 Content-Type 默认值: "application/x-www-form-urlencoded".发送信息至服务器时内容编码类型 ...

  3. 20145308 《网络对抗》 Web应用 学习总结

    20145308 <网络对抗> Web应用 学习总结 实验内容 (1)Web前端HTML (2)Web前端javascipt (3)Web后端:MySQL基础:正常安装.启动MySQL,建 ...

  4. (转)Spring Cloud(一)

    (二期)22.微服务框架spring cloud(一) [课程22]spirng c...简介.xmind54KB [课程22]spirng cl...架构.xmind0.5MB [课程22]负载均. ...

  5. R class of subset of matrix and data.frame

    a = matrix(     c(2, 4, 3, 1, 5, 7), # the data elements     nrow=2,              # number of rows   ...

  6. LuoguP2161 [SHOI2009]会场预约

    题目地址 题目链接 题解 用fhqtreap对区间进行维护. 可以注意到的是,对于当前存在的预约,他们一定是升序排列的(有重叠的都被删了). 那么就可以用按照位置分裂的fhqtreap搞了(预约无论按 ...

  7. (zhuan) Recurrent Neural Network

    Recurrent Neural Network 2016年07月01日  Deep learning  Deep learning 字数:24235   this blog from: http:/ ...

  8. [HDU] 平方和与立方和

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2007 //坑:注意判断输入两个数的前后大小关系 // 用while 循环 #include<io ...

  9. [jsp] - jsp引入c标签出错

    jsp引入c标签出错, 因为之前使用thymeleaf,将jsp的依赖删除了.(这里应该采用注释而非删除,但以为项目就一直用thymeleaf了) <%@ taglib uri="ht ...

  10. Codeforces 855C. Helga Hufflepuff's Cup----树形DP

    z最近在学习树形DP...好难啊. 在cf上找到了一题c题当模版马克一下. 题目不贴了..>>http://codeforces.com/problemset/problem/855/C& ...