ROS1.0个人笔记【1】背景介绍

ROS学习笔记整合

本文章属于个人学习笔记,希望通过文章记录,规范整理学习内容,方便未来知识整理和分享。如果有错误的地方,还请指出,感谢!


写在前面

本章节关于ROS的基本背景介绍
ROS1.0个人笔记【1】背景介绍_第1张图片

个人认为,官方的文档已经非常的详细介绍了ROS所有的细节。干货写在前面,介绍部分,需要了解的可以详细看下,当作快速阅读训练。可直接跳转到下一篇笔记:传送门

ROS相关个人学习资料推荐:实验楼课程 部分图片截取来自实验楼课件。ROS中文社区 张瑞雷老师CSDN博客 推荐看这本 ROS Robot Programming书 学习博客 古月居

ROS介绍

引用来自官方介绍: 英文介绍  基本概念

ROS 是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。在某些方面ROS相当于一种**“机器人框架(robot frameworks)”**类似的“机器人框架”有:Player,YARP,Orocos,CARMEN,Orca,MOOS和 Microsoft Robotics Studio。

ROS 运行时的“蓝图”是一种基于ROS通信基础结构的松耦合点对点进程网络。ROS实现了几种不同的通信方式,包括基于同步RPC样式通信的服务(services)机制,基于异步流媒体数据的话题(topics)机制以及用于数据存储的参数服务器(Parameter Server)。

ROS并不是一个实时的框架,但ROS可以嵌入实时程序。Willow Garage的PR2机器人使用了一种叫做pr2_etherCAT的系统来实时发送或接收ROS消息。ROS也可以与Orocos实时工具包无缝集成。

ROS 的主要目标是为机器人研究和开发提供代码复用的支持。ROS是一个分布式的进程(也就是节点)框架,这些进程封装在易于被分享和发布的***程序包***和功能包集中。ROS也支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。

将ROS和Player进行对比,Player非常适合简洁的非铰接的移动平台,官方的解释是ROS是围绕着基于驱动传感器(倾斜式激光,盘式/斜试头部传感器,机械臂传感器)的复杂移动处理平台设计的。ROS可以更方便的借助分布式计算设备,而且我可以肯定,越高级的应用越适用于ROS而不是Player。

ROS安装攻略:参照官网的安装方式最好。Ubuntu系统安装Kinetic版本链接:安装传送门

ROS创建背景

ROS1.0个人笔记【1】背景介绍_第2张图片
ROS1.0个人笔记【1】背景介绍_第3张图片

ROS卸载

ROS1.0个人笔记【1】背景介绍_第4张图片

将环境变量进行全局的配置就不用每次启动一个终端进行环境的source,命令如下
ROS1.0个人笔记【1】背景介绍_第5张图片

ROS调试工具的使用:
GDB, Oprofile, Valgrind

官方所有的教程中,有两个不同的操作说明,rosbuild和catkin。 这是两种不同的用来组织和编译ROS应用程序的方法。一般来说,rosbuild比较简单也易于使用,而catkin则符合标准的CMake规则,更复杂,也灵活。

配置ROS环境变量
ROS1.0个人笔记【1】背景介绍_第6张图片


后续章节内容预告

你可能感兴趣的:(ROS)