ROS机器人开发:实用案例分析pdf/doc/txt格式电子书下载
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询
书名:ROS机器人开发:实用案例分析pdf/doc/txt格式电子书下载
推荐语:
作者:(美)卡罗尔·费尔柴尔德(CarolFairchild),(美)托马斯L.哈曼(ThomasL.Harman),吴中红,石章松,潘丽,刘锦涛校
出版社:机械工业出版社
出版时间:2018-03-01
书籍编号:30403104
ISBN:9787111593720
正文语种:中文
字数:212092
版次:1
所属分类:互联网+-人工智能
版权信息
书名:ROS机器人开发:实用案例分析
作者:(美)卡罗尔·费尔柴尔德(Carol Fairchild),(美)托马斯L.哈曼(Thomas L. Harman)
译者:吴中红,石章松,潘丽,等
ISBN:9787111593720
。
免责声明:本站所有资源收集整理于网络,版权归原作者所有。
本站所有内容不得用于商业用途。本站发布的内容若侵犯到您的权益,请联系站长删除,我们将及时处理!
译者序
工欲善其事,必先利其器。作为一门实践性极强的交叉性学科,机器人学的学习过程要求学习者结合各类机器人进行实践操作,来学习相关应用程序的开发。然而,各类机器人平台的价格令许多学习者望而却步。
目前市面上诸多介绍机器人开发的书籍中,有的专注于理论讲解,其中一串串的复杂公式令人望而生畏,有的虽然主要介绍实践性的内容,但忽略了很多读者没有一台真正的机器人的现状。而一台机器人往往价值不菲,面对充满诱惑的机器人技术学习之旅,许多人因为没有一台机器人而戛然止步。本书将为那些没有实际机器人的爱好者提供一条学习机器人应用程序开发的有效途径。
本书针对基于ROS的机器人开发技术进行介绍。ROS的特点和优点在许多书籍中都做过介绍,这里不再赘述。下面着重对本书的特点进行说明,以利于读者选择和学习。
·涵盖模拟机器人模型构建与真实机器人操控,有无真机均可上手。
本书对使用URDF文件以及SDF文件来构建模拟的两轮机器人、机器人手臂模型的方法进行了详细的描述,并对Gazebo仿真系统知识进行了深入的讲述,为读者构建自己的模拟机器人提供了引导,同时为没有实际机器人的读者提供了学习机器人开发的途径。
·机器人类型包括地面机器人、空中机器人与机器人手臂,全面满足各类读者。
本书对TurtleBot机器人、Bebop四旋翼无人机、Crazyflie四旋翼无人机以及Baxter机器人手臂均进行了全面的介绍,内容包括各类机器人的虚拟模型构建、导航控制、机械臂的关节控制、路径规划、基于外部设备(游戏手柄、控制开发板等)的机器人控制以及ROS的高级应用等内容,内容全面而新颖。
·应用场景包括机器人操控、导航以及机器人手臂路径规划、移动应用开发。
针对各类机器人,分别针对相应类型机器人的特点与主要应用场景,进行了模拟环境下的模型构建与操控以及典型真实机器人操控的内容讲解,并提供了相应的源代码,以供参考和学习,极大地降低了读者的学习难度,便于与作者提供的例程进行对照学习,事半功倍。
本书的两位作者均是长期从事ROS机器人研究与教学的专家,本书的内容深入浅出、覆盖面广,相信必将给读者带来不一样的学习体验。尽管目前ROS版本已经发展到Lunar,但事实上,Indigo仍是目前应用最为广泛的发行版,也是机器人研究领域中开源项目支持最多的版本。相较于目前的Jade、Kinetic以及Lunar版本,Indigo版本并无本质上的区别,其区别主要体现在与Ubuntu系统(Linux系统)内核版本的绑定上。而随着ROS 2.0的发布,在实时处理方面有需要的读者则可以直接考虑学习ROS 2.0,而本书也同样能够提供一定的参考。
鉴于译者水平有限,书中难免存在不足与纰漏,欢迎读者不吝赐教,对于书中的不当之处,读者可以发送邮件到yizhousan@163.com,感谢您的来信与指正。
前言
学习ROS,并通过支持ROS的机器人(如Baxter和TurtleBot)进行实际操作,将开启一段神奇的机器人技术的学习之旅。ROS具有十分突出的优点以及鲜明的特色,但其学习曲线也较为陡峭。通过对许多实际的ROS应用的尝试,并在总结了一系列错误的经验教训之后,我们摸索出了一条切实有效的学习路径,并形成了本书所论述的内容。本书会呈现我们关于ROS的见解中最重要的知识,并在读者的ROS学习之旅中提供循序渐进的引导。我们将结合典型的ROS机器人进行介绍,这些机器人包括TurtleBot、Baxter、Crazyflie以及Bebop,此外还将通过模拟机器人对相关技术进行论述,这些模拟机器人主要有Turtlesim和Hector。
除了对一般性的ROS技术进行论述外,本书还将对ROS机器人的高级应用特性进行讲解。本书首先对ROS的基本配置进行介绍,内容包括ROS的安装、基本概念、主要的功能包与工具简介等。然后对相应的故障排查方法进行了论述,当读者在实际操作中得到的结果与预期结果不相符时,可以按照相应方法进行故障的排查。然后通过模拟的方式,先对Turtlesim的ROS组成模块进行了描述,之后对其他几类典型机器人的ROS组成模块进行了相应的介绍。对ROS组成模块的介绍,一般遵循的流程是首先介绍基本的ROS命令,然后对ROS的功能包、节点、主题以及消息进行论述,以此来对ROS机器人操作系统的整体内容进行详细的阐述。为了对书中选用的机器人的整体性能进行描述,书中还给出了相关机器人的技术资料。
ROS涵盖了完整的软件概念、实现以及相应的工具,其目标是为机器人提供复杂系统的同质化图景以及一体化的软件集成。传感器的外部扩展库、执行器驱动以及相应的接口均已包含其中,此外ROS还囊括了大部分目前最新最有效的算法。对于如OpenCV这样十分流行的第三方开源项目,ROS并未包含,但可以直接对其进行导入。此外,为了节省研究人员的时间,使研究人员能够将精力集中于自己的兴趣点上,ROS还提供了一系列的辅助工具,来对机器人进行控制、监控以及调试,这些工具包括rqt、rviz、Gazebo、动态配置工具以及MoveIt等。
本书将循序渐进地以实例的形式对ROS的各部分内容进行阐述,每一部分内容都是实际的机器人实例的组成部分。对于TurtleBot机器人,主要对导航和地图构建主题进行探索;对于Baxter机器人,则主要介绍关节控制与路径规划主题。对于书中提及的机器人,将以简单的Python脚本为例来实现ROS的各个元素。读者都能够通过模拟机器人对书中内容加以实操练习。此外,书中还介绍了如何以模拟的形式设计并构建读者自己的机器人模型。
ROS本身的优异性能、支持ROS的机器人的多样性,以及ROS社区的支持,共同构建起了一个值得一试的机器人开发ROS实例的学习之旅。除了书中的内容之外,读者还能够找到丰富的在线扩展指南、wiki资源、论坛、开发技巧等内容。那么现在就从本书开始,一起踏上ROS机器人开发的学习之旅吧。
本书涵盖的内容
第1章主要阐述了学习ROS的优势,同时论述了支持ROS的机器人平台的主要亮点。对ROS在Ubuntu操作系统下的安装流程进行了介绍。描述了ROS的框架结构,并对其主要组件进行了描述。对Turtlesim模拟机器人程序进行了简述,同时为了进一步加深读者对ROS组件以及ROS命令的理解,对Turtlesim的使用进行了介绍。
第2章主要介绍了ROS的模拟环境Gazebo。本章内容将引导读者一步步构建起一台差分驱动的两轮模拟机器人,并介绍了统一机器人描述格式(Universal Robotic Description Format,URDF)的相关内容。此外还将详细地介绍基本的ROS工具(如rviz、Gazebo等)的使用方法,从而使读者能够在模拟环境下展示所构建的机器人,并与之进行交互。
第3章主要介绍一款真实的机器人——TurtleBot的操作和控制。如果读者没有该型机器人,那么可以在Gazebo模拟环境下使用模拟的TurtleBot机器人来学习本章的内容。读者可以通过ROS命令、Python脚本程序等多种方法实现对TurtleBot机器人的操控。此外,本章还讲述了使用rqt工具及其插件对TurtleBot进行控制以及对其传感器数据进行监控的方法。
第4章探讨了视觉传感器以及对于机器人创建周围环境地图的相关内容。论述了可用作TurtleBot视觉系统的3D传感器,并介绍了在ROS下进行设置与操作,使得机器人具备自主导航能力的内容。在TurtleBot机器人导航模块中,应用了同步定位与地图创建技术。
第5章对复杂的机器人手臂进行了简要介绍。采用Xacro的宏语言设计并构建了一个模拟的机器人手臂。为了操作机器人手臂,在Gazebo环境下创建了相应的控制器。通过控制器的创建,论述了简单的机器人手臂的结构和物理学的相关内容。
第6章对复杂的机器人手臂控制进行了更进一步的探讨。对最新型的Baxter机器人进行了介绍,这也是本书中介绍的第二款机器人。Baxter机器人有两个7自由度的手臂以及其他一系列的传感器,并提供了一个开源的Baxter机器人模拟器,本章正是采用这一机器人手臂模拟器进行论述。通过实例的形式,分别在位置控制模式、速度控制模式与扭矩控制模式下,对机器人手臂的正向与反向运动控制进行了介绍。此外,本章还对一个非常有用的ROS工具——MoveIt进行了介绍,MoveIt既可以对模拟的Baxter机器人手臂进行运动规划的仿真和执行,也可以对真实的Baxter机器人手臂进行运动规划的仿真和执行。
第7章对一个日渐风靡的机器人领域——无人机进行了论述。本章主要针对四旋翼的相关内容进行阐述,对四旋翼硬件与飞行控制的概念进行了论述。对四旋翼模拟器Hector的下载与控制进行了介绍,通过对模拟四旋翼飞行操控的练习,使读者能够对真实的四旋翼(如Bitcraze的Crazyflie或者Parrot的Bebop)进行操控。对四旋翼的控制可以使用遥控或者ROS的主题/消息命令实现。
第8章对一系列可以用来对支持ROS的机器人进行控制的外部设备进行了描述。Joystick游戏手柄、控制器开发板(Arduino和树莓派)以及所有移动设备均具有ROS接口,这些接口可以集成到读者的机器人系统之中来实现对机器人更多的外部控制。
第9章对书中前面章节所介绍的多个ROS组件与概念进行集成,从而实现一个十分具有挑战性的任务:自主飞行。在该任务中,读者将在采用Kinect 3D传感器构建的地图下控制Crazyflie四旋翼飞行器自动飞往一个“远方”的目标。这一任务采用了ROS的消息通信机制与协同传输,从而得到四旋翼飞行器上Kinect的视野以及目标相对于四旋翼的位置,从而对飞行进行精密的规划,在此基础上,将采用了PID控制的Crazyflie的飞行控制软件作为飞行任务中的飞行控制模块,从而实现了四旋翼的自主飞行。
第10章对高级ROS机器人应用的相关内容进行了论述,激励读者对ROS功能做更加深入的学习。对机器人的语音控制、人脸检测与识别以及机器人语音功能等都做了描述。
学习本书内容所需的基础知识与设备
本书的形式是给出各项任务内容的步骤指令,并由读者参与其中,具体实操。读者需要一台安装了Ubuntu14.04(Trusty Tahr)的电脑。同时也支持其他版本的Ubuntu以及Linux发行版,此外也支持Mac OS X、Android和Windows,不过需要参考ROS wiki的文档(地址:http://wiki.ros.org/Distributions)。
本书中所用的ROS版本为Indigo Igloo,该版本是目前推荐的稳定发行版,对该版本的支持将持续到2019年4月。书中内容对其他版本的ROS理论上是可支持的,但是并没有进行测试。
书中所有的软件都是开源的,可以免费获取和使用。在对相关软件进行介绍时会提供相关的下载说明。本书第1章给出了下载和设置ROS软件环境的相应指令。
下载软件时,推荐使用Debian软件包。当不存在相应的Debian包时,推荐从GitHub软件发行库中下载。
Gazebo模拟器提供了增强的图形化处理功能,推荐使用专用的图形选项卡进行操作,但并不强求。
涉及的外部设备主要包括3D传感器、Xbox或者PS3控制器,以及Arduino或者是Raspberry Pi控制板、Android移动设备等。
本书面向的读者人群
本书主要面向机器人开发人员,无论是业余爱好者还是相关研究人员,无论是专业人士还是对ROS感兴趣的人,都能从书中获益,如果具备GNU/Linux系统和Python语言的相关知识则更好。
示例代码下载
读者也可以在GitHub上下载相应的代码包,地址为:https://github.com/Packt Publi-shing/ROS-Robotics-By-Example。此
....
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询