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较为 ...
随机推荐
- python中的list, dict, tuple以及collections模块的基本用法
1.关于list的一些基本用法 # 创建没有初值的列表 list1=[] # 创建有初值的列表 list2=['this','is','a','list'] # 创建给定长度但初值不确定的列表 lis ...
- MySQL创建表、更改表和删除表
1.创建表 mysql> create table t_address( -> id int primary key auto_increment, // 设置id为主键,自动增值 -&g ...
- Java课程设计---安装解压版mysyql
1.解压 将mysql-5.7.13-winx64.rar解压到C盘根目录.(将原有data文件夹清空,注意是清空,不是删除data文件夹) 2. 配置环境变量MYSQL_HOME (参照java打开 ...
- javaweb添加日常基本依赖
<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql ...
- vue用ElementUI导出Excel表格
import axios from 'axios'; import qs from 'qs'; import { message } from 'element-ui'; export const ...
- MaRVIN
[ResourceRegistration] 加给Resource类 [ResourceReference(--)] 加给Resource类中引动到的Resource类,引用多个的话用IReferen ...
- (3)RabbitMQ交换器(Exchange)
1.前言 上个章节也有简单介绍过RabbitMQ交换器,这里主要了解下它的类型和如何使用.交换器有四种类型,分别是direct.fanout.topic.headers. 2.Virtual host ...
- 超强视频超分AI算法,从此只看高清视频
最近发现一个特别强的视频超分算法----BasicVSR,在真实世界数据集中,实现了前所未有的视觉重建效果,最近它还拿下了超分比赛NTIRE 2021三冠一亚的优异成绩,登上了CVPR 2022. 视 ...
- go1.18泛型的简单尝试
今天golang终于发布了1.18版本,这个版本最大的一个改变就是加入了泛型.虽然没有在beta版本的时候尝试泛型,但是由于在其他语言的泛型经验,入手泛型不是件难事~ 官方示例 Tutorial: G ...
- mysql 创建临时表
创建临时表 create TEMPORARY table SalesSummary( product_name VARCHAR(50) NOT NULL, total_sales DECIMAL( ...