下载 >  操作系统 >  Linux > ROS机器人系统教程

ROS机器人系统教程

此文档对ROS机器人操作系统的指令和方法做了详细描述和指导。
2018-04-15 上传大小:6.97MB
想读
分享
收藏 举报
机器人操作系统(ROS)教程完整版_中文翻译版

最通俗易懂的ros教程,从最基础的讲解ros,并且有大量例子!

立即下载
开源机器人操作系统ROS-操作系统的入门资料

开源机器人操作系统ROS,入门级资料;高清,带书签 一、操作系统探索总结(一)ROS 简介 二、操作系统探索总结(二)ROS 总体框架 三、操作系统探索总结(三)ROS 新手教程 四、操作系统探索总结(四)简单的机器人仿真 五、操作系统探索总结(五)创建简单的机器人模型smartcar 六、操作系统探索总结(六)使用smartcar 进行仿真 七、操作系统探索总结(七)smartcar 源码上传 八、操作系统探索总结(八)键盘控制 九、操作系统探索总结(九)操作杆控制 十、操作系统探索总结(十)语音控制 十一、操作系统探索总结(十一)机器视觉 十二、操作系统探索总结(十二)坐标系统 十三、操作系统探索总结(十三)导航与定位框架 十四、操作系统探索总结(十四)move_base(路径规划) 十五、操作系统探索总结(十五)amcl(导航与定位)

立即下载
ROS机器人操作系统入门 Tutorials CN版 20150726

机器人操作系统 ROS(机器人操作系统,Robot Operating System),是专为机器人软件开发所设计出来的一套电脑操作系统架构。它是一个开源的元级操作系统(后操作系统),提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序。 ROS的运行架构是一种使用ROS通信模块实现模块间P2P的松耦合的网络连接的处理架构,它执行若干种类型的通讯,包括基于服务的同步RPC(远程过程调用)通讯、基于Topic的异步数据流通讯,还有参数服务器上的数据存储。 1 发展目标 2 ROS的概念 2.1 ROS 的 Filesystem Level 2.2 ROS 的 Computation Graph Level 3 参考文献 4 外部链接 发展目标 ROS的首要设计目标是在机器人研发领域提高代码复用率。ROS是一种分布式处理框架(又名Nodes)。这使可执行文件能被单独设计,并且在运行时松散耦合。这些过程可以封装到数据包(Packages)和堆栈(Stacks)中,以便于共享和分发。ROS还支持代码库的联合系统。使得协作亦能被分发。这种从文件系统级别到社区一级的设计让独立地决定发展和实施工作成为可能。上述所有功能都能由ROS的基础工具实现。 为了实现“共享与协作”这一首要目标,人们制订了ROS架构中的其他支援性目标: “轻便”:ROS是设计得尽可能方便简易。您不必替换主框架与系统,因为ROS编写的代码可以用于其他机器人软件框架中。毫无疑问的,ROS更易于集成与其他机器人软件框架。事实上ROS已完成与OpenRAVE、Orocos和Player的整合。 ROS-agnostic库:【agnostic:不可知论】建议的开发模型是使用clear的函数接口书写ROS-agnostic库。 语言独立性:ROS框架很容易在任何编程语言中执行。我们已经能在Python和C++中顺利运行,同时添加有Lisp、Octave和Java语言库。 测试简单:ROS有一个内建的单元/组合集测试框架,称为“rostest”。这使得集成调试和分解调试很容易。 扩展性:ROS适合于大型实时系统与大型的系统开发项目。 ROS的概念 ROS有三个层次的概念:分别为Filesystem level,Computation graph level, 以及Communication level。 以下内容具体的总结了这些层次及概念。除了这三个层次的概念, ROS也定义了两种名称-- Package资源名称和Graph资源名称。同样会在以下内容中提及。 ROS 的 Filesystem Level 文件系统层概念就是你在碟片里面遇到的资源,例如: Packages:ROS的基本组织,可以包含任意格式文件。一个Package 可以包含ROS执行时处理的文件(nodes),一个ROS的依赖库,一个数据集合,配置文件或一些有用的文件在一起。 Manifests:Manifests (manifest.xml) 提供关于Package元数据,包括它的许可信息和Package之间依赖关系,以及语言特性信息像编译旗帜(编译优化参数)。 Stacks: Stacks 是Packages的集合,它提供一个完整的功能,像“navigation stack” Stack与版本号关联,同时也是如何发行ROS软件方式的关键。 Manifest Stack Manifests: Stack manifests (stack.xml) 提供关于Stack元数据,包括它的许可信息和Stack之间依赖关系。 Message (msg) types: 信息描述, 位置在路径:my_package/msg/MyMessageType.msg, 定义数据类型在ROS的 messages ROS里面。 Service (srv) types: 服务描述,位置在路径:my_package/srv/MyServiceType.srv, 定义这个请求和相应的数据结构 在ROS services 里面。 ROS 的 Computation Graph Level Computation Graph Level(计算图)就是用ROS的P2P(peer-to-peer网络传输协议)网络集中处理所有的数据。基本的Computation Graph的概念包括Node, Master, Parameter Sever,messages, services, topics, 和bags, 以上所有的这些都以不同的方式给Graph传输数据。 Nodes: Nodes(节点)是一系列运行中的程序。ROS被设计成在一定颗粒度下的模块化系统。一个机器人控制系统通常包含许多Nodes。比如一个Node控制激光雷达,一个Node控制车轮马达,一个Node处理定位,一个Node执行路径规划,另外一个提供图形化界面等等。一个ROS节点是由Libraries ROS client library写成的, 例如 roscpp 和 rospy. Master: ROS Master 提供了登记列表和对其他计算图的查找。没有Master,节点将无法找到其他节点,交换消息或调用服务。 Server Parameter Server: 参数服务器使数据按照钥匙的方式存储。目前,参数服务器是主持的组成部分。 Messages:节点之间通过messages来传递消息。一个message是一个简单的数据结构,包含一些归类定义的区。支持标准的原始数据类型(整数、浮点数、布尔数,等)和原始数组类型。message可以包含任意的嵌套结构和数组(很类似于C语言的结构structs) Topics: Messages以一种发布/订阅的方式传递。一个node可以在一个给定的topic中发布消息。Topic是一个name被用于描述消息内容。一个node针对某个topic关注与订阅特定类型的数据。可能同时有多个node发布或者订阅同一个topic的消息;也可能有一个topic同时发布或订阅多个topic。总体上,发布者和订阅者不了解彼此的存在。主要的概念在于将信息的发布者和需求者解耦、分离。逻辑上,topic可以看作是一个严格规范化的消息bus。每个bus有一个名字,每个node都可以连接到bus发送和接受符合标准类型的消息。 Services:发布/订阅模型是很灵活的通讯模式,但是多对多,单向传输对于分布式系统中经常需要的“请求/回应”式的交互来说并不合适。因此,“请求/回应” 是通过services来实现的。这种通讯的定义是一种成对的消息:一个用于请求,一个用于回应。假设一个节点提供了一个服务提供下一个name和客户使用服务发送请求消息并等待答复。ROS的客户库通常以一种远程调用的方式提供这样的交互。 Bags: Bags是一种格式,用于存储和播放ROS消息。对于储存数据来说Bags是一种很重要的机制。例如传感器数据很难收集但却是开发与测试中必须的。 在ROS的计算图中,ROS的Master以一个name service的方式工作。它给ROS的节点存储了topics和service的注册信息。Nodes 与Master通信从而报告它们的注册信息。当这些节点与master通信的时候,它们可以接收关于其他以注册节点的信息并且建立与其它以注册节点之间的联系。当这些注册信息改变时Master也会回馈这些节点,同时允许节点动态创建与新节点之间的连接。 节点之间的连接是直接的; Master仅仅提供了查询信息,就像一个DNS服务器。节点订阅一个topic将会要求建立一个与发布该topics的节点的连接,并且将会在同意连接协议的基础上建立该连接。ROS里面使用最广的连接协议是TCPROS,这个协议使用标准的TCP/IP 接口。 这样的架构允许脱钩工作(decoupled operation),通过这种方式大型或是更为复杂的系统得以建立,其中names方式是一种行之有效的手段。names方式在ROS系统中扮演极为重要的角色: topics, services, and parameters 都有各自的names。每一个ROS客户端库都支持重命名,这等同于,每一个编译成功的程序能够以另一种形似【名字】运行。 例如,为了控制一个北阳激光测距仪(Hokuyo laser range-finder),我们可以启动这个hokuyo_node 驱动,这个驱动可以给与激光仪进行对话并且在"扫描"topic下可以发布sensor_msgs/LaserScan 的信息。为了处理数据,我们也许会写一个使用laser_filters的node来订阅"扫描"topic的信息。订阅之后,我们的过滤器将会自动开始接收激光仪的信息。 注意两边是如何脱钩工作的。 所有的hokuyo_node的节点都会完成发布"扫描",不需要知道是否有节点被订阅了。所有的过滤器都会完成"扫描"的订阅,不论知道还是不知道是否有节点在发布"扫描"。 在不引发任何错误的情况下,这两个nodes可以任何的顺序启动,终止,或者重启。 以后我们也许会给我们的机器人加入另外一个激光器,这会导致我们重新设置我们的系统。我们所需要做的就是重新映射已经使用过的names。当我们开始我们的第一个hokuyo_node时,我们可以说它用base_scan代替了映射扫描,并且和我们的过滤器节点做相同的事。现在,这些节点将会用base_scan的topic来通信从而代替,并且将不再监听"扫描"topic的信息。然后我们就可以为我们的新激光测距仪启动另外一个hokuyo_node。 参考文献 http://www.ros.org/wiki/ros http://bbs.axnzero.com/index.php http://blog.sina.com.cn/digital2image2processing

立即下载
ROS开源机器人控制基础-源程序-百度云链接

ROS开源机器人控制基础-源程序-百度云链接 ROS开源机器人控制基础-源程序-百度云链接

立即下载
机器人操作系统(ROS)浅析(电子版非影印)

机器人操作系统机器人操作系统机器人操作系统机器人操作系统机器人操作系统

立即下载
ROS机器人编程实践_源码

ROS机器人编程实践_源码 ROS机器人编程实践_源码 ROS机器人编程实践_源码

立即下载
开源机器人操作系统ROS.

开源机器人操作系统ROS. 开源机器人操作系统ROS. 开源机器人操作系统ROS.

立即下载
聊天机器人2002

能过对句柄的操作来实现的。是大家学习delphi操作句柄的好例子。 站长整理通过。

立即下载
最全ROS学习书籍11本

1.A Mathematical Introduction to Robotic Manipulation 2.A_systematic_approach_to_learning_robot_programming_with_ROS_Dec1_2016 3.CMake Practice 4.OpenCV入门教程 5.ros by example vol 1 indigo 6.ros by example vol 2 indigo 7.ROS_Robot_Programming_CN 8.ROS机器人程序设计书 9.ROS学习资料 10.机器人操作系统(ROS)浅析-Version1.41 11.开源机器人操作系统--ROS (张建伟等著) 本着开源分享的精神,从网络搜索而来,仅供参考,版权归原作者所有。学习参考完后请删除。

立即下载
开源机器人操作系统——ROS (张建伟等著

开源机器人操作系统——ROS (张建伟等著

立即下载
ROS机器人编程,超级详细的ros系统入门书籍

书名:ROS机器人编程 作者:表允晳 赵汉哲 郑黎蝹 林泰勋 ≆ https://github.com/ROBOTIS-GIT/robotis_tools → 第3章 ≆ https://github.com/ROBOTIS-GIT/ros_tutorials → 第4, 第7, 第13章 ≆ https://github.com/ROBOTIS-GIT/DynamixelSDK → 第8, 第10章 ≆ https://github.com/ROBOTIS-GIT/dynamixel-workbench → 第8, 第13章 ≆ https://github.com/ROBOTIS-GIT/dynamixel-workbench-msgs → 第8, 第13章 ≆ https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver → 第8, 第10, 第11章 ≆ https://github.com/ROBOTIS-GIT/OpenCR → 第9, 第12章 ≆ https://github.com/ROBOTIS-GIT/turtlebot3 → 第10, 第11章 ≆ https://github.com/ROBOTIS-GIT/turtlebot3_msgs → 第10, 第11章 ≆ https://github.com/ROBOTIS-GIT/turtlebot3_simulations → 第10, 第11章 ≆ https://github.com/ROBOTIS-GIT/turtlebot3_applications → 第10, 第11章 ≆ https://github.com/ROBOTIS-GIT/turtlebot3_deliver → 第12章 ≆ https://github.com/ROBOTIS-GIT/open_manipulator → 第13章

立即下载
《ROS机器人高效编程》书的代码

这本书环境是ROS-Kinect,具体安装配置请看ROS wiki。

立即下载
机器人程序设计-电子书ROS

机器人 ROS 机器人 ROS 机器人 ROS 机器人 ROS 机器人 ROS

立即下载
开源机器人操作系统ROS.pdf+机器学习与数据挖掘:方法和应用.pdf

开源机器人操作系统ROS.pdf+机器学习与数据挖掘:方法和应用.pdf

立即下载
ROS机器人程序设计 高清 带书签 完整中文版

国内首本引进ROS机器人程序设计的译著,让你全面了解 ROS系统的各种工具。高清 带书签 完整中文版

立即下载
ROS机器人书籍30本

机器人操作系统(ROS)浅析,等先关的ROS机器人书30本,近几年技术沉淀,欢迎机器人开发者下载研讨~

立即下载
51CTO 机器人操作系统ROS精品课程PPT

99元购买的51CTO的ROS精品课程的PPT,共13讲,对于ROS入门者来说,非常难得。按照这个顺序去学,比看官网的两套流程简单的多,不至于凌乱

立即下载
机器人操作系统浅析 PDF版

机器人操作系统(ROS)浅析——a gentle introduction to ros中文版 [美] Jason M. O'Kane 著 肖军浩 译 2015年9月才翻译完稿的~ 基于ros indigo版本(跟hydro差不多)~翻译者是中国第一批使用ros的人之一,国防科大的肖军浩博士。本书详细完整地介绍了ros的基本概念,并辅以各种小例子,以帮助读者深刻理解ros,打下良好的机器人开发基础!

立即下载
机器人操作系统ROS_现状与应用实例

ros 现状及应用,1. ROS体系结构 2.ros 程序核心 3. ros 综合实例---体感远程控制

立即下载
ROS 机器人实践

机器人操作系统ROS实践教程,主要介绍ROS应用。。。。。。

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

ROS机器人系统教程

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: