ROS机器人操作系统相关书籍、资料和学习路径
作者: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官网找到对应章节内容进行学习:topic、service、action。
感知篇:机器人要实现自动控制,感知是必不可少的重要内容。书中介绍在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 更多书籍
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机器人操作系统相关书籍、资料和学习路径的更多相关文章
- 【2017.10.13 ROS机器人操作系统】ROS系统常用术语及资源
ROS机器人操作系统是一种后操作系统,提供了类似于软件开发中使用到的中间件的功能. ROS: Robot Operating System 机器人操作系统 Package: 功能包 Stack: 功能 ...
- ROSCon 2016视频和幻灯片发布 ROS机器人操作系统重要参考资料
ROSCon 2016视频和幻灯片发布 By Tully Foote on 十月19,2016 7:28 AM 全部PPT下载地址:http://pan.baidu.com/s/1gf2sn2F RO ...
- 【2018.04.19 ROS机器人操作系统】机器人控制:运动规划、路径规划及轨迹规划简介之一
参考资料及致谢 本文的绝大部分内容转载自以下几篇文章,首先向原作者致谢,希望自己能在这些前辈们的基础上能有所总结提升. 1. 运动规划/路径规划/轨迹规划的联系与区别 https://blog.csd ...
- ROS机器人操作系统官方教程、源码汇总
1 wiki: http://wiki.ros.org/ 2 code: https://github.com/ ---- 1 基础教程 https://github.com/ros/ros_tut ...
- ROS机器人操作系统在线练习
废话不说,先看图吧: 1. ROS in 5 Days Entering ROS 2. ROS Navigation in 5 Days Mastering ROS 3. ROS Autonomous ...
- ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse
ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse 书中,大部分出现hydro的地方,直接替换为indigo或ja ...
- ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS)
ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS) 1. 网站资源: ROSwiki官网:http://wiki.ros.org/cn GitHub ...
- ROS(indigo)机器人操作系统学习有趣丰富的Gazebo仿真示例evarobot
一直在寻找一个示例可以将ROS学习中常用的基础内容大部分都包含进去,最好还包括Gazebo仿真, 这样即使没有硬件设备,也可以很好的学习ROS相关内容,但又必须有对应的硬件,便于后续研究. 这里,介绍 ...
- 机器人操作系统(ROS)在线实训平台学习实验指南
机器人操作系统(ROS)在线学习指南 在高校开设ROS相关课程已经积累了一年多的经验,由于自动化类专业在课程安排中不同于计算机相关专业,通常没有Linux相关的课程基础,直接上手ROS较为 ...
随机推荐
- Eclipse Debug 调试步骤及注意事项
debug方法 第一步:打开java代码文件,在左侧双击鼠标设置断点,或者在左侧右键点击Toggle Breakpoint 第二步:点击eclipse上方的"蜘蛛"按钮,点击deb ...
- mongodb之shard分片
总的 1:在3台独立服务器上,分别运行 27017,27018,27019实例, 互为副本集,形成3套repl set 2: 在3台服务器上,各配置config server, 运行27020端口上 ...
- mysql索引技术名词1-5
目录 索引技术名词 1.回表 2.覆盖索引 3.最左匹配原则 4.索引下推 5.谓词下推 索引技术名词 1.回表 注意: 1.如果依靠主键查询,叶子结点直接存储数据----主键B+树 2.如果依靠其他 ...
- 在矩池云上复现 PaddleGAN 照片转油画风格教程
我选用的是cuda10.1纯镜像 案例来自paddlepaddle官方PaddleGAN库中,可以查看 https://github.com/PaddlePaddle/PaddleGAN/ https ...
- Python:pyglet学习(1):想弄点3D,还发现了pyglet
某一天,我突然喜欢上了3D,在一些scratch教程中见过一些3D引擎,找了一个简单的,结果z轴太大了,于是网上一搜,就发现了pyglet 还是先讲如何启动一个窗口 先看看官网: Creating a ...
- 怎么样在手机调试js,jq,html,如何在手机上调试js,javascript
方法 直接在html中引入vconsole.js文件, 然后在js脚本中使用console.log('调试内容'); 即可看到如下效果,还可以在network里面看到ajax请求 我把js文件传到博客 ...
- linux定时任务 - crontab定时任务
crontab 定时任务命令 linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另 外, 由于使用者 ...
- 《手把手教你》系列基础篇(七十七)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 上篇(详解教程)
1.简介 今天主要是讲解和分享:TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题.如果不用dependsOnMethods,testNG会自动根据@Test方法名称 ...
- Net之线程池的优点
使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及"过度切换".
- 『现学现忘』Docker基础 — 28、Docker容器数据卷介绍
目录 1.什么是Docker容器数据卷 2.数据卷的作用 3.数据卷的使用 1.什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷). 当Docker容器运行的时候 ...