ROS(Robot OS 机器人操作系统)
官网:http://wiki.ros.org/ROS/Installation
ROS 简介
它基于一般概念中的操作系统来运行,官方推荐基于 Ubuntu Linux 运行,并在 Ubuntu Linux 操作系统提供的抽象和操作的基础之上,提供了更高层的抽象,如节点、服务、消息、主题等,以及更高层的操作,如主题的发布、主题的订阅、服务的查询与连接等操作。同时 ROS 还提供开发机器人项目所需的工具和功能库。
ROS 系统版本 | 时间发布 | 支持时间 |
---|---|---|
ROS Melodic Morenia | May, 2018 | LTS, May, 2023 |
ROS Lunar Loggerhead | May 23rd, 2017 | May, 2019 |
ROS Kinetic Kame | May 23rd, 2016 | LTS,April, 2021 (Xenial EOL) |
ROS Jade Turtle | May 23rd, 2015 | May, 2017 |
ROS Indigo Igloo | July 22nd, 2014 | LTS,April, 2019(Trusty EOL) |
ROS 基本上保持每年一个新版本,每两年一个长期发行版的发布节奏。今年应该快发布了,关于 ROS 版本发布的更多内容,如更多的发行版的介绍,发布的计划等,可以参考 ROS 官方站点的 Distributions 主页。
目前官方推荐使用最近的一个长期支持版本,即ROS Melodic Morenia,求新的同时兼顾稳定性无疑应该采用这一版本;如果想要尝试最新的功能特性则可以使用最新的发行版 ROS Lunar Loggerhead。
安装步骤如下:
1.添加源并设置秘钥
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list
这一步会根据 Ubuntu Linux 发行版本的不同,添加不同的源。Ubuntu 的版本通过 lsb_release -sc 获得,一旦添加了正确的软件库,操作系统就知道去哪里下载程序,并根据命令自动安装软件。
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
2.安装ROS
先更新下sudo apt-get update
ROS 中有非常多不同的库和工具。官方提供了四种默认的配置来安装 ROS,也可以独立地安装 ROS 包。另外,ROS kinetic 也有很多版本,比如工业版,基础版,高级版,豪华版,至尊豪华…此处选择至尊豪华全功能版,也就是桌面完整版~
桌面完整安装(推荐采用):ROS,rqt, rviz,机器人通用库,2D/3D 仿真器,导航及 2D/3D 感知。
sudo apt-get install ros-kinetic-desktop-full
接下来就是漫长的安装过程~
算了,也说一下其它版本的安装命令:
):桌面安装:ROS,rqt, rviz,机器人通用库。
sudo apt-get install ros-kinetic-desktop
):ROS-Base (Bare Bones):ROS ,构建和通信库,没有 GUI 工具。
sudo apt-get install ros-kinetic-ros-base
):独立的包安装:可以安装一个特定的 ROS 包(用实际的包名来替换下面的命令中的 “PACKAGE”)。
sudo apt-get install ros-kinetic-PACKAGE
比如:sudo apt-get install ros-kinetic-slam-gmapping
要找到可用的包,可以使用命令:apt-cache search ros-kinetic
通常在做开发时,采用 桌面完整安装 比较方便一点,可以将所有有可能用到的软件包都安装进来。对于实际的机器,则通常采用 ROS-Base (Bare Bones) + 独立的包的方式进行安装。
3.初始化ROS
在使用 ROS 之前,需要先初始化 rosdep。rosdep 使得你可以为你想要编译的源码,以及需要运行的 ROS 核心组件,简单地安装系统依赖。
sudo rosdep init
rosdep update
在 rosdep update
时出现如下问题,
ERROR: error loading sources list:
('The read operation timed out',)
初步判断是网络或者软件源问题,修改软件源
然后再初始化环境变量:(每次启动一个新的终端时,ROS 环境变量都能自动地添加进你的 bash )
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
如果安装了多个 ROS 发行版,则 ~/.bashrc 必须只 source 当前正在使用的那一版的 setup.bash。
如果你只想要修改当前 shell 的环境,则输入如下的命令来替换上面的命令:
source /opt/ros/kinetic/setup.bash
4.安装rosinstall 辅助工具
sudo apt-get install python-rosinstall
或者:
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
另外,提醒下:
ros中很多的第三方插件的安装格式是:sudo apt-get install ros-kinetic-…
例如: sudo apt-get install ros-kinetic-turtlebot*
到此,完成了安装~
test:
可以通过 roscore 和 turtlesim 来做一个简单的测试。
先输入命令:roscore
会出来… logging to /home/
然后再测试下turtlesim :
输入命令:rosrun turtlesim turtlesim_node
参考:https://blog.csdn.net/m0_38087936/article/details/81484889