【机器人操作系统入门ROS】

ROS简介

1、ROS:适用于机器人编程的框架,连接操作系统和ROS应用程序的中间件,是运行在Linux上的运行时环境。
2、ROS特点:
1)分布式点对点:分布式的框架,通过点对点的设计让机器人的进程可以分别运行,便于模块化的修改和定制,提高了系统的容错能力。
2)多种语言支持:C++、Python等,ROS采用了一种语言中立的接口定义语言来实现各模块之间消息传递。
3)开源 区
3、ROS优缺点

优点 缺点
提供框架、工具和功能 通信实时性能有限
方便移植 系统稳定性尚不满足工业级要求
庞大的用户群体 安全性上没有防护措施
免费开源 仅支持Linux

ROS是一个适用于机器人编程的框架,这个框架把原本松散的零部件耦合在了一起,为他们提供了通信架构。ROS虽然叫做操作系统,但并非WindowsMac那样通常意义的操作系统,它只是连接了操作系统和你开发的ROS应用程序,所以它也算是一个中间件。基于ROS的应用程序之间建立起了沟通的桥梁,所以也是运行在LINUX上的运行时环境,在这个环境上,机器人的感知、决策、控制算法可以更好的组织和运行。

ROS安装选择
kinetic ubuntu16.04
Melodic ubuntu18.04
Noetic ubuntu20.04

ROS的全称就是:Robot Operating System

ROS的特点:1)开源 2)分布式架构 3)模块化

ROS系统不具有强实时性,它不是一个RTOS, 因此ROS不适合去做对实时性有严格要求的任务。

ROS文件系统

1、Catkin编译系统

gcc、g++,随着源文件的增加,直接用gcc/g++命令方式显得效率低下,人们开始用Makefile来进行编译。
然而随着工程体量的增大,Makefile也不能满足需求,于是便出现了CMake,CMake是对make工具的生成器,是更高层的工具,它简化了编译构建过程,能够管理大型项目,具有良好的扩展性。

对ROS平台来说,就采用的是CMake,并且ROS对CMake进行了扩展,于是便有了Catkin编译系统

主题

服务

【机器人操作系统入门ROS】

参数服务器

参数服务器特殊的“通信方式”,特殊点在于参数服务器是节点存储的地方、用于配置参数,全局共享参数。

Actionlib

Actionlib是ROS中一个很重要的库,类似service通信机制,actionlib也是一种请求响应机制的通信方式,actionlib主要弥补了service通信的一个不足,就是当机器人执行了一个长时间的任务时,假如利用service通信完成,那么publisher会很长时间接受不到反馈reply,致使通信受阻。当service通信不能很好的完成任务时候,actionlib则可以比较适合实现长时间的通信过程,actionlib通信过程可以随时被查看过程进度,也可以终止请求。

我们可以看到,客户端会向服务器发送目标指令 和 取消动作指令,而服务器则可以给客户端发送实时的状态信息,结果信息,反馈信息等等,从而完成了service没法做到的部分。

Action规范
a) 目标 机器人执行一个动作,应有明确的移动目标信息,包括一些参数的设定,方向,角度,速度等等。从而使机器人完成动作任务。
b) 反馈 动作执行过程中,应该有实时的状态信息反馈给服务器的实施者,告诉实施者动作完成的状态,可以使实施者做出准确的判断去修正指令
c) 结果 当运动完成时,动作服务器把本次运动的结果数据发送给客户端,使客户端得到本次动作的全部信息,例如可能包含机器人的运动时长,最终姿势等等。

机器人的坐标变换一直以来是机器人学的一个难点
首先是坐标转换的前提数学知识:三维空间刚体运动,包括旋转矩阵、欧拉角、四元数等。

旋转矩阵:一个欧式变换可以由旋转平移两个部分组成。

欧拉角 例如:先绕x轴旋转,再绕y轴旋转,最后绕z轴旋转。

航偏-俯仰-翻滚(yaw-pitch-roll)

可以简单记忆

rpy-xyz

”**

四元数

旋转矩阵用9个量来描述3自由度的旋转,具有冗余性。
欧拉角虽然用3个量来描述3自由度的旋转,但是具有万向锁的问题,因此我们选择用四元数,ROS当中描述转向的都是采用的四元数。

机器人研究的问题包含许许多多的领域,我们常见的几个研究的问题包括:建图(Mapping)、定位(Localization)和 路径规划(Path Planning)。

Navigation是机器人最基本的功能之一,ROS为我们提供了一整套Navigation的解决方案,包括全局与局部的路径规划、代价地图、异常行为恢复、地图服务器等等。

Navigation Stack是一个ROS的metapackage,里面包含了ROS在路径规划、定位、地图、异常行为恢复等方面的package,其中运行的算法都堪称经典。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月19日
下一篇 2021年1月19日

相关推荐