ROS 基本介绍及安装说明

1.ROS相关网站

ROS官网  https://www.ros.org/

ROS wiki http://wiki.ros.org

ROS answers:  http://answers.ros.org

2.ROS 安装说明

本文主要是针对Ubuntu 系统进行说明,这里可以参见

http://wiki.ros.org/noetic/Installation/Ubuntu 英文介绍

2.1 设置 源列表

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

2.2 设置公钥

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

2.3 更新包

sudo apt-get update

2.4 安装ROS kinetic完整版

sudo apt-get install ros-kinetic-desktop-full

2.5 初始化rosdep

sudo rosdep init

rosdep update

2.6 配置ROS环境

echo "source /opt/ros/kinetic/setup.bash" 

bashrc source ~/.bashrc

2.7 安装依赖项

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

3. 测试ROS环境

1. 打开终端 ,初始化ROS环境

输入 roscore

ROS 基本介绍及安装说明

2. 打开小乌龟模拟器(注意另外开一个终端)

输入 rosrun turtlesim turtlesim_node

ROS 基本介绍及安装说明

3.再打开一个终端,打开小乌龟控制节点

输入 rosrun turtlesim turtle_teleop_key

ROS 基本介绍及安装说明

通过 键盘 上下左右 可以控制小乌龟

ROS 基本介绍及安装说明

4. 常见安装问题解决

解决方案
方法一:
打开sources_list.py文件

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
1
在顶部直接插入两行代码取消SSL验证

import ssl
ssl._create_default_https_context = ssl._create_unverified_context
1
2
方法二:
通过IPAddress.com首页,输入raw.githubusercontent.com查询到真实IP地址,然后打开 /etc/hosts 文件

sudo gedit /etc/hosts
1
添加以下内容保存即可

查询到的IP raw.githubusercontent.com
rosdep更新失败
报错如下:



同样是由于网络连接问题导致的,可以通过添加google域名服务器解决

解决方案
方法一:

sudo gedit /etc/resolv.conf
将原有的nameserver这一行注释,并添加以下两行:

nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器

方法二(终极解决方案):
如果上述方法都没有效果,说明你当前使用的网络确实很难连上 githubusercontent,这个时候甭管是增大超时时间(DOWNLOAD_TIMEOUT)、还是将 githubusercontent 改为 github 、或是将 yaml 文件下载到本地等等这些方法基本都很难有所作用,这里只有祭出我们的终极解决方案:

执行rosdep update实际上是在/home/xxx/.ros/rosdep/sources.cache(xxx是你的用户名)产生一个文件夹,里面有一堆缓存文件,从其他装好ROS的电脑中将这个文件拷贝过来,就不需要再rosdep了。

拷贝后别忘了手动在 ~/.bashrc 中添加路径:

source /opt/ros/kinetic/setup.bash

5. ROS 基本介绍

5.1 ROS基本框架

ROS 基本介绍及安装说明

5.2 点对点架构

ROS 基本介绍及安装说明

如图所示,ROS的架构是点对点的,每个节点可以独立管理,同时通过网络进行多机协同;

5.3 常用工具包

常用的包括

rviz -- 3D可视化工具

gazebo -- 物理仿真环境

rosbag--数据记录工具

rqt 工具集--QT工具箱

5.4 基本通信机制

1. 通信节点(Node),指的是一个软件模块;

2. 主节点(ROS Master),指各节点的管理器或控制中心,同时提供参数管理;

3.发布订阅通信机制,异步通信方式,发布节点发布消息,订阅节点接收消息,如下图;

4.请求应答通信机制,同步通信方式,客户端请求消息,服务端根据请求响应,如下图。

ROS 基本介绍及安装说明ROS 基本介绍及安装说明

5.发布订阅模式 通信建立过程

ROS 基本介绍及安装说明

0).发布方(talker)广播给主节点注册topic-bar;

1).订阅方(listener) 注册该topic-bar;

2).主节点(ROS Master) 进行信息匹配;

3).订阅方(llistener)进行订阅请求;

4).发布方(talker)确认连接请求;

5).发布方和订阅方建立网络连接;

6).发布方向订阅方进行消息传输,完成通讯。

6.请求应答模式 通信建立过程

ROS 基本介绍及安装说明

0).服务方(talker)广播给主节点注册topic-bar;

1).客户端(listener) 注册该topic-bar;

2).主节点(ROS Master) 进行信息匹配;

4).客户端(listener)向服务端(talker) 进行请求服务;

5).服务端(talker) 向客户端(listener)进行请求应答;

7.参数通信机制

ROS 基本介绍及安装说明

1) talker 设置参数 foo = 1

2) listener 读取参数foo

3) 主节点 ROS master 向listener 报告参数 foo = 1

5.5 ROS 文件系统

ROS 基本介绍及安装说明

ROS 基本介绍及安装说明

5.6 ROS 常用命令

ROS命令 作用
catkin_create_pkg 创建ROS功能包
rospack 获取ROS功能包信息
catkin_make 编译工作空间中的功能包
rosdep 自助安装功能包依赖的其他包,这里dep 是dependent缩写
roscd ROS功能包跳转,类似linux cd
roscp 拷贝功能包的文件,类似linux cp
rosrun 运行功能包中的可执行文件       
rosed 编辑功能包中的文件,ed edit缩写 
roslaunch 运行启动文件

上一篇:Listener详解


下一篇:ES系列(七):多节点任务的分发与收集实现