ros机器人开发实践 人工智能 胡春旭 编 新华正版
¥
59.9
6.1折
¥
99
全新
库存24件
作者胡春旭 编
出版社机械工业出版社
ISBN9787111598237
出版时间2018-05
版次1
装帧平装
开本16
页数506页
定价99元
货号xhwx_1201709322
上书时间2024-12-14
商品详情
- 品相描述:全新
-
正版特价新书
- 商品描述
-
目录:
序一
序二
序三
前言
章初识ros1
1.1ros是什么1
1.1.1ros的起源1
1.1.2ros的设计目标2
1.1.3ros的特点3
1.2如何安装ros4
1.2.1作系统与ros版本的选择4
1.2.2配置系统软件源6
1.2.3添加ros软件源6
1.2.4添加密钥7
1.2.5安装ros7
1.2.6初始化rosdep8
1.2.7设置环境变量8
1.2.8完成安装9
1.3本书源码下载9
1.4本章小结10
第2章ros架构11
2.1ros架构设计11
2.2计算图12
2.2.1节点12
2.2.2消息13
2.2.3话题13
2.2.4服务13
2.2.5节点管理器14
2.3文件系统14
2.3.1功能包14
2.3.2元功能包16
2.4开源社区17
2.5ros的通信机制17
2.5.1话题通信机制18
2.5.2服务通信机制19
2.5.3参数管理机制20
2.6话题与服务的区别20
2.7本章小结21
第3章ros基础22
3.1个ros例程——小乌龟23
3.1.1turtlesim功能包23
3.1.2控制乌龟运动24
3.2创建工作空间和功能包25
3.2.1什么是工作空间25
3.2.2创建工作空间26
3.2.3创建功能包27
3.3工作空间的覆盖28
3.3.1ros中工作空间的覆盖28
3.3.2工作空间覆盖示例28
3.4搭建eclie开发环境30
3.4.1安装eclie30
3.4.2创建eclie工程文件30
3.4.3将工程导入eclie31
3.4.4设置头文件路径31
3.4.5运行/调试程序32
3.5roboware简介35
3.5.1roboware的特点35
3.5.2roboware的安装与使用36
3.6话题中的publisher与subscriber37
3.6.1乌龟例程中的publisher与subscriber37
3.6.2如何创建publisher37
3.6.3如何创建subscriber40
3.6.4编译功能包41
3.6.5运行publisher与subscriber42
3.6.6自定义话题消息44
3.7服务中的server和client46
3.7.1乌龟例程中的服务46
3.7.2如何自定义服务数据47
3.7.3如何创建server48
3.7.4如何创建client49
3.7.5编译功能包51
3.7.6运行server和client51
3.8ros中的命名空间52
3.8.1有效的命名52
3.8.2命名解析53
3.8.3命名重映54
3.9分布式多机通信54
3.9.1设置ip地址55
3.9.2设置ros_master_uri56
3.9.3多机通信测试56
3.10本章小结57
第4章ros中的常用组件58
4.1launch启动文件58
4.1.1基本元素58
4.1.2参数设置60
4.1.3重映机制61
4.1.4嵌套复用61
4.2tf坐标变换62
4.2.1tf功能包62
4.2.2tf工具63
4.2.3乌龟例程中的tf65
4.2.4创建tf广播器67
4.2.5创建tf器68
4.2.6实现乌龟跟随运动70
4.3qt工具箱70
4.3.1志输出工具(rqt_console)71
4.3.2计算图可视化工具(rqt_graph)71
4.3.3数据绘图工具(rqt_plot)72
4.3.4参数动态配置工具(rqt_reconfigure)73
4.4rviz三维可视化台73
4.4.1安装并运行rviz74
4.4.2数据可视化75
4.4.3插件扩展机制76
4.5gazebo环境78
4.5.1gazebo的特点78
4.5.2安装并运行gazebo78
4.5.3构建环境81
4.6rosbag数据记录与回放82
4.6.1记录数据82
4.6.2回放数据83
4.7本章小结84
第5章机器人台搭建85
5.1机器人的定义85
5.2机器人的组成86
5.2.1执行机构87
5.2.2驱动系统87
5.2.3传感系统87
5.2.4控制系统87
5.3机器人系统搭建88
5.3.1mrobot88
5.3.2执行机构的实现88
5.3.3驱动系统的实现89
5.3.4传感系统的实现90
5.4基于raspberrypi的控制系统实现90
5.4.1硬件台raspberrypi91
5.4.2安装ubuntu16.0491
5.4.3安装ros93
5.4.4控制系统与mrobot通信94
5.4.5pc端控制mrobot97
5.5为机器人装配摄像头99
5.5.1usb_cam功能包99
5.5.2pc端驱动摄像头100
5.5.3raspberrypi驱动摄像头102
5.6为机器人装配kinect104
5.6.1freenect_camera功能包104
5.6.2pc端驱动kinect106
5.6.3raspberrypi驱动kinect109
5.6.4kinect电源改造109
5.7为机器人装配激光雷达110
5.7.1rplidar功能包110
5.7.2pc端驱动rplidar111
5.7.3raspberrypi驱动rplidar113
5.8本章小结113
第6章机器人建模与114
6.1统一机器人描述格式——urdf114
6.1.1<link>标签114
6.1.2<joint>标签115
6.1.3<robot>标签116
6.1.4<gazebo>标签116
6.2创建机器人urdf模型116
6.2.1创建机器人描述功能包116
6.2.2创建urdf模型117
6.2.3urdf模型解析120
6.2.4在rviz中显示模型122
6.3改进urdf模型124
6.3.1添加物理和碰撞属124
6.3.2使用xacro优化urdf125
……
内容简介:
本书在介绍ro体框架和理论要点的基础上,讲解ro的通信机制、常用组件和功能;同时以实践为主,讲解机器视觉、机器听觉、lam与导航、机械臂控制、机器学等多种ro应用的主要和实现方法;并分析基于ro的机器人系统设计方法和典型实例;后论述ro2的框架特点和使用方法,剖析ro的发展方向。
作者简介:
胡春旭,网名古月,机器人博客“古月居”博主(.guyuehome.),华中科技大学自动化学院硕士。目前主要从事机器人控制系统的研究开发。 作为早一批ro开发者,具备多年开发、应用经验,参与研发过服务机器人、机械臂等机器人产品。曾获开源硬件与嵌入式大赛机器人组,飞思卡尔杯智能汽车竞赛,工智能机器人学术会议等奖项。
精彩内容:
preface前言2011年年底,笔者次接触ro。当时实验室的一个师兄在学术会议上听说了ro并意识到它的前景广阔,虑到笔者当时的研究方向,于是建议笔者进行研究。那时外ro的学环境比较艰苦,几乎只有wiki的基础教程(也没有现在这么完善)。所以一开始,笔者的内心是拒绝的,但还是硬着头皮开始钻研。虽然从拒绝到接受、从未知到熟悉,笔者经历了有的磨难,但同时也收获了有的喜悦。 在这个过程中,笔者也常常思:ro前景无限,但是还鲜有人知,即使有人知道,也会被困难吓倒。既然笔者经历过,何不结一下,让其他人少走弯路。于是,笔者整理了自己学过程中的一些资料和心得,在cdn上以博客的形式发表,终形成ro探索结系列博文,再后来转移到个人——古月居,至今仍保持更新。 2017年11月,ro十周岁了!在走过的个十年里,ro从蹒跚学步的孩童成长为机器人领域的巨人,再华丽蜕变出ro 2。如今,大多数知名机器人台和机器人公司都支持ro,越来越多的机器人开发者也选择ro作为开发框架。ro已经逐渐成为机器人领域的事实标准,并将逐步从研发走向市场,助力机器人与人工智能的快展。 ro的重要精神是分享,这也是开源软件的精神,所以才能看到如此活跃的ro社区和众多软件功能包的源码,并且可以在此基础上快速完成二次开发。为了促进ro在的发展,现在已经有很多人及组织在积极推广ro,比如ro星火计划、ro暑期学校,以及网上各种各样的技术分享等,相信未来这个队伍会更加庞大。 本书以ro探索结系列博文为基础,重新整理了ro相关基础要点,让读者能够迅速熟悉ro的整体框架和设计;在此基础上,本书以实践为重心,讲解大量机器视觉、机器语音、机械臂控制、lam和导航、机器学等多方面ro应用的实现和方法,并且翻译了众多ro中的图表、内容,帮助读者在实现ro基础功能的同时深入理解基于ro的机器人开发,将书中的内容用于实践。 本书共有14章,可以分为五个部分。 部分是ro基础(~4章),帮助了解ro框架,并且熟悉ro中的关键概念以及实现方法。这部分的内容适合初学者,也适合作为有经验或者开发者的参手册。 第二部分介绍如何搭建真实或的机器人台(第5~6章),帮助了解机器人系统的概念和组成,学如何使用ro实现机器人,为后续的机器人实践做好准备。这部分的内容适合希望自己动手设计、开发一个完整机器人台的读者。 第三部分介绍ro中常用功能包的使用方法(第7~10章),涉及机器视觉、机器语音、机械臂控制、lam和导航等多个机器人研究领域。这部分的内容适合学ro基础后希望实践的开发者,以及从事相关领域的机器人开发者。 第四部分是ro的内容(1~13章),介绍了ro的功能、ro与机器学的结合、搭载ro的机器人台。这部分的内容适合已经对ro基础和应用有了解的读者。 第五部分介绍了新一代ro——ro 2(4章),涉及ro 2的架构、和使用方法。这部分的内容适合对ro有了解,希望了解ro 2、想要跟上ro进化步伐的开发者。 因此,本书不仅适合希望了解、学、应用ro的机器人初学者,也适合有经验的机器人开发人员,同时也可以作为机器人开发者的参手册。 书中的部分源代码来自社区中的ro功能包,但是笔者在学过程中对这些代码进行了大量修改,并且为大部分源代码加入了中文注释,以方便ro初学者理解。这些代码涉及的编程语言不局限于c或python中的某一种,编程语言应该服务于具体场景,所以建议读者对这两种语言都有所了解,在不同的应用中发挥每种语言的优势。关于是否需要一款实物机器人作为学台,本书并没有特别要求,书中绝大部分功能和源码都可以在单独的计算机或台中运行,同时也会介绍实物机器人台的搭建方法并且在实物机器人上完成相应的功能。所以只需要拥有一台运行ubuntu系统的计算机,具备linux工具的基本知识,了解c和python的编程方法,即可使用本书。 此外,本书创作过程中参了众多已经出版的ro原著、译著,笔者也将这些内容作为参资料列出,并向这些著作的作者和译者致敬,希望读者在学ro的过程中,可以从这些著作中获取更多知识: matering ro for robotic programming,lentin joephro by example(volume 1/volume 2),patrick goebelprogramming robot with ro:a practical introduction to the robot operating ytem, morgan quigley brian gerkey amp; william d. martlearning ro for robotic programming,aaron martinez,enrique fernándeza gentle introduction to ro,jaon m. o’kanero robotic project,lentin joepheffective robotic programming with ro,anil mahtani,lui anchez在ro探索实践与本书的创作过程中,离不开众多“贵人”的帮助。首先要感谢陪伴笔者辗转多次并一直无条件支持笔者的妻子,是她给
— 没有更多了 —
以下为对购买帮助不大的评价