作者:Top Liu
链接:https://zhuanlan.zhihu.com/p/30391098
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文是易科机器人实验室张瑞雷老师整理的ROS机器人操作系统的相关书籍、资料和学习路径,想学习这方面技术的同学一定要收藏了。

ROS机器人相关书籍与资料(更新日期2017年10月)

ROS发展10年了,已经逐渐成为通用的机器人操作系统标准。

之前写过一篇博文总结过相关书籍(流行版本和相关书籍汇总),但是并没有具体介绍。

学习ROS基础知识以官网和书籍为主,如果需要了解ROS最新成果和进展,以论文和会议资料为主。使用ROS进行机器人设计与开发,那就需要在掌握机器人相关基本理论和知识的基础上,大量阅读源码,学习参数优化、算法改进等。

ROS learning curve is a little steep and to become proficient is pretty hard for a complete beginner. 掌握ROS并非易事。

下面介绍一下学习ROS的英中文书籍和资料。

1 ROS in 5 days

这个系列由四本书构成,分别为基础、感知、导航、操作。

基础篇:介绍ROS特点,模块化和复用性以及基本的工具、概念等。主要内容包括控制机器人,读取传感器数据,并行任务处理,复杂数据和视觉信息的可视化等,课程分为两个部分,第一部分,学习ROS并练习,执行代码并使用不同的机器人完成仿真;第二部分,开发一个项目,应用之前学过知识,完成一个控制机器人的项目。

具体目录:0,简介;1,基本概念;2,主题-发布;3,主题-订阅;4,服务-调用;5,服务-提供;6,行为-调用;7,行为-提供;8,调试工具;9,课程项目。当然也可以在ROS官网找到对应章节内容进行学习:topicserviceaction

感知篇:机器人要实现自动控制,感知是必不可少的重要内容。书中介绍在ROS中实现机器人的感知。

导航篇:书中介绍了关于导航的基础知识,地图创建、定位、路径规划、可视化导航过程数据、使用RViz调试、配置不同的导航点等。

操作篇:ROS操作主要是在环境中通过机器人对物体进行操作的术语,通过基本工具了解ROS如何操作物体并实现。

比较全面,移动机器人参考导航,工业机械手参考操作,功能全面服务机器人需要融合导航和操作。

2 A Systematic Approach to Learning Robot Programming with ROS

使用ROS学习机器人编程的系统方法通过对简单代码示例以及相应操作理论的详细解释,全面介绍了ROS的基本组件。本书探讨了ROS的组织,如何理解ROS软件包,如何使用ROS工具,如何将现有的ROS软件包纳入新的应用程序,以及如何开发新的机器人和自动化软件包。它还通过准备读者更好地了解现有的在线文档来促进继续教育。

这本书分为六部分。
1. 首先介绍ROS基础,包括编写ROS节点和ROS工具。消息,类和服务器也被覆盖。
2. 本书的第二部分是ROS的仿真和可视化,包括坐标变换。
3. 本书的这一部分讨论了ROS中的感知处理。它包括在ROS中使用摄像头,深度成像和点云以及点云处理。
4. 本书第四部分介绍了ROS中的移动机器人控制和导航。
5. 本书的第五部分包含机器人手臂在ROS中的使用。本节探讨机器人手臂运动学,手臂运动规划,使用Baxter Simulator进行手臂控制以及物体抓取包。
6. 本书的最后一部分重点介绍系统集成和更高级别的控制,包括基于感知和移动操作。

3 更多书籍

http://wiki.ros.org/Books

4 论文集 Robot Operating System (ROS)

5 重要会议 ROSCon 2012-2017

6 官方网站和源码 ROS和Github

学习路径:ROS官网初级教程+中级教程+坐标变换(TF)+机器人模型(URDF)+可视化(RViz)+行为库(actionlib)+插件库(pluginlib)+nodelets+导航(navigation)+工业机器人(ROS-I)+ROS(1、2)等;

然后,结合所需要使用的场景,选择1-3本书籍进行系统练习与复习。

另外,如果你想从0开始、系统地学习ROS机器人操作系统课程,可以来实验楼学习张瑞雷老师制作的两门免费课程——《ROS机器人操作系统的安装、配置与初级教程》(https://www.shiyanlou.com/courses/854)《ROS机器人操作系统中级教程》(https://www.shiyanlou.com/courses/938)。内容非常丰富和系统。

参考资料目录:

1 张建伟, 张立伟, 胡颖等 开源机器人操作系统----ROS[M]. 科学出版社, 2012.

2 马丁内斯, 费尔南德斯 刘品杰 ROS机器人程序设计:Learning ROS for robotics programming[M]. 机械工业出版社, 2014.

3 Quigley M, Conley K, Gerkey B P, et al. ROS: an open-source Robot Operating System[C]// ICRA Workshop on Open SourceSoftware. 2009.

4 王之元, 周云,易晓东等. 机器人操作系统研究型课程建设[J].计算机教育,2016, No.253(1):77-80.

5 肖军浩, 卢惠民,薛小波等. 将机器人操作系统(ROS)引入本科实践教学[J].科技创新导报,2016(22):157-158.

6 R.帕特里克・戈贝尔,戈贝尔,罗哈斯.ROS入门实例[M].中山大学出版社,2016.

7 R.帕特里克・戈贝尔,戈贝尔,罗哈斯.ROS进阶实例[M].中山大学出版社,2017.

8 李振伟. ROS入门与实战[M].中国矿业大学出版社,2016.

9 恩里克·费尔南德斯等著,张瑞雷、刘锦涛译 ROS机器人程序设计(原书第2版)[M]机械工业出版社2016

10 杰森 M. 奥凯恩著; 肖军浩译 机器人操作系统浅析[M]国防工业出版社2016

11周兴社 机器人操作系统ROS原理与应用[M]机械工业出版社2017

12郎坦·约瑟夫(LentinJoseph)机器人系统设计与制作:Python语言实现[M]机械工业出版社2017

13何炳蔚,张立伟,张建伟 基于ROS的机器人理论与应用[M]科学出版社2017

14陈金宝 ROS开源机器人控制基础[M]上海交通大学出版社2016

15 卢惠民,肖军浩,郑志强 ROS与中型组足球机器人[M]国防工业出版社2016

16 Wyatt Newman A Systematic Approach toLearning Robot Programming with ROS[M]Chapman and Hall/CRC 2017

17 Lentin Joseph ROS Robotics Projects[M] Packt Publishing 2017

18 Anil Mahtani, Aaron Martinez, EnriqueFernandez Perdomo, Luis Sánchez Effective Robotics Programming with ROS - ThirdEdition[M] PacktPublishing 2016

19 Fairchild, Carol and Harman, Dr. Thomas ROS Robotics By Example[M]Packt Publishing 2016

20 Quigley, Morgan and Gerkey, Brian andSmart, William D. Programming Robots with ROS[M] O'Reilly Media 2015

21 Lentin Joseph Learning Robotics using Python[M] PacktPublishing 2015

22 Koubaa A. Robot Operating System (ROS)The Complete Reference (Volume 1) [M]. Springer International Publishing, 2016.

23 Koubaa A. Robot Operating System (ROS)The Complete Reference (Volume 2) [M]. Springer International Publishing, 2017.

作者:张瑞雷

出处:csdn博客

链接:http://blog.csdn.net/zhangrela

ROS机器人操作系统相关书籍、资料和学习路径的更多相关文章

  1. 【2017.10.13 ROS机器人操作系统】ROS系统常用术语及资源

    ROS机器人操作系统是一种后操作系统,提供了类似于软件开发中使用到的中间件的功能. ROS: Robot Operating System 机器人操作系统 Package: 功能包 Stack: 功能 ...

  2. ROSCon 2016视频和幻灯片发布 ROS机器人操作系统重要参考资料

    ROSCon 2016视频和幻灯片发布 By Tully Foote on 十月19,2016 7:28 AM 全部PPT下载地址:http://pan.baidu.com/s/1gf2sn2F RO ...

  3. 【2018.04.19 ROS机器人操作系统】机器人控制:运动规划、路径规划及轨迹规划简介之一

    参考资料及致谢 本文的绝大部分内容转载自以下几篇文章,首先向原作者致谢,希望自己能在这些前辈们的基础上能有所总结提升. 1. 运动规划/路径规划/轨迹规划的联系与区别 https://blog.csd ...

  4. ROS机器人操作系统官方教程、源码汇总

    1 wiki: http://wiki.ros.org/  2 code: https://github.com/ ---- 1 基础教程 https://github.com/ros/ros_tut ...

  5. ROS机器人操作系统在线练习

    废话不说,先看图吧: 1. ROS in 5 Days Entering ROS 2. ROS Navigation in 5 Days Mastering ROS 3. ROS Autonomous ...

  6. ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse

    ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse 书中,大部分出现hydro的地方,直接替换为indigo或ja ...

  7. ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS)

    ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS) 1. 网站资源: ROSwiki官网:http://wiki.ros.org/cn GitHub    ...

  8. ROS(indigo)机器人操作系统学习有趣丰富的Gazebo仿真示例evarobot

    一直在寻找一个示例可以将ROS学习中常用的基础内容大部分都包含进去,最好还包括Gazebo仿真, 这样即使没有硬件设备,也可以很好的学习ROS相关内容,但又必须有对应的硬件,便于后续研究. 这里,介绍 ...

  9. 机器人操作系统(ROS)在线实训平台学习实验指南

    机器人操作系统(ROS)在线学习指南       在高校开设ROS相关课程已经积累了一年多的经验,由于自动化类专业在课程安排中不同于计算机相关专业,通常没有Linux相关的课程基础,直接上手ROS较为 ...

随机推荐

  1. linux(Centos7)安装mysql

    查看系统环境 [root@localhost html]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) CentOS 7 ...

  2. Chrome:插件安装

    1.首先要下载一油猴插件管理器 得到crx文件 2.打开'扩展程序',在Chrome右上角 3.启动开发者模式(右上角),然后将油猴crx文件拖入界面中,会自动安装油猴 安装完成后,在工具栏中会出现油 ...

  3. LeetCode-012-整数转罗马数字

    整数转罗马数字 题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 ...

  4. 微信小程序如何测试?

    不需要安装,只要在微信里找到这个小程序打开即可使用,由于小程序的便捷,如今越来越多的平台开发方都纷纷推出自身的小程序应用. 那我们该如何进行微信小程序测试呢? 1.功能测试 功能测试以需求文档和交互视 ...

  5. unittest简介01

    前言 熟悉java的应该都清楚常见的单元测试框架Junit和TestNG,python里面也有单元测试框架-unittest,相当于是一个python版的junit. 一.unittest简介 1.先 ...

  6. 9.Flink实时项目之订单宽表

    1.需求分析 订单是统计分析的重要的对象,围绕订单有很多的维度统计需求,比如用户.地区.商品.品类.品牌等等.为了之后统计计算更加方便,减少大表之间的关联,所以在实时计算过程中将围绕订单的相关数据整合 ...

  7. Java 8 之 Optional

    Java 8 之 Optional 背景介绍:在我们实际开发中,经常会遇到各种 NullPointerException 报错,为了避免此类问题,需要在业务代码上添加各种if判断,使代码看起来很臃肿, ...

  8. SpringMVC工作流程 --通透较详细

    SpringMVC工作流程 SpringMVC工作流程 流程说明(重要): (1)客户端发送一个http请求给前端控制器(DispatcherServlet): (2)前端控制器(DispacherS ...

  9. ActiveX 是什么,和IE什么关系

    在推出25年多以后,IE浏览器终于要退役了. 据外媒报道,微软决定自2022年6月15日起,让IE浏览器彻底退出互联网舞台,并全面改用Microsoft Edge浏览器. 关于IE的历史可以参考这篇文 ...

  10. ansible 四常用模块

    常用模块 Ansible默认提供了很多模块来供我们使用.在Linux中,我们可以通过 ansible-doc -l 命令查看到当前Ansible支持哪些模块,通过 ansible-doc -s [模块 ...