基本信息
作者: (西)阿尼尔·马哈塔尼(Anil Mahtani)(美)卡罗尔·费尔柴尔德(Carol Fairchild) (美)托马斯L.哈曼(Thomas L. Harman)胡春旭(印)朗坦·约瑟夫(Lentin Joseph)
译者: 张瑞雷 刘锦涛吴中红 石章松 潘丽张瑞雷 刘锦涛 林远山
丛书名: 机器人设计与制作系列
出版社:机械工业出版社
ISBN:9787111578468
上架时间:2018-6-12
出版日期:2017 年9月
开本:16开
版次:1-1
编辑
使用ROS创建自动驾驶汽车
使用深度学习和ROS开发智能机器人应用程序
掌握3D目标识别
使用虚拟现实和ROS控制机器人
使用ROS制作人工智能聊天机器人
了解使用ROS进行机器人自主导航的全部功能
使用ROS理解人脸检测和跟踪
使用手势遥控操作机器人
使用Matlab和Android设计基于ROS的应用程序
使用Turtlebot实现交互式应用程序
通过阅读本书,你将:
了解ROS的基本原理及其在机器人实例中的应用
控制移动机器人在一个环境中自主导航
使用URDF和Xacro建模机器人,并在ROS Gazebo模拟中操作
控制视觉伺服的7自由度机器人手臂
使用四旋翼飞行器进行自主锚点
掌握Gazebo、rviz、rqt和Move-It等ROS工具的使用
使用移动设备和控制器控制机器人
联合机器人完成一个协作任务
内容简介
本书11个ROS机器人项目,在无须大量硬件的情况下可直接实现原型设计。本书首先介绍ROS及其安装过程。在完成基础知识学习之后,将会学习一些非常棒的项目,如构建自动驾驶汽车、自主移动机器人以及使用深度学习和ROS进行图像识别等。这里可以找到适用于初级、中级甚至专家级的各类ROS机器人应用程序! ---------------------------7991375---------------------------
本书在介绍ROS总体框架和理论要点的基础上,讲解ROS的通信机制、常用组件和进阶功能;同时以实践为主,讲解机器视觉、机器听觉、SLAM与导航、机械臂控制、机器学习等多种ROS应用的主要原理和实现方法;并分析基于ROS的机器人设计方法和典型实例;后论述ROS2的框架特点和使用方法,剖析ROS的发展方向。
---------------------------7731483---------------------------
本书针对基于ROS的机器人开发技术进行了全面综合的介绍,不仅涵盖ROS框架的基础知识,还详细描述模拟机器人模型的构建方法和真实机器人操控。本书循序渐进地以实例形式讲解移动机器人、飞行机器人、机器人手臂等各类机器人的ROS实现。通过控制这些机器人,无论是模拟还是在现实中,你都可以使用ROS控制来驱动、移动机器人,甚至是让机器人飞行。 ---------------------------6479751---------------------------
本书包含了大量示例,帮助你开发机器人程序,并为你提供使用开源ROS库和工具的完整解决方案。本书主要内容包括:ROS的概念、命令行工具、可视化GUI以及如何调试ROS,如何将机器人传感器和执行器连接到ROS,如何从摄像头和3D传感器获取数据并分析数据,如何在机器人/传感器和环境仿真中使用Gazebo,如何设计机器人,如何使用OpenCV3.0为机器人添加视觉功能,如何使用新版本的PCL向机器人添加3D感知功能。本书适合各个阶层的机器人开发人员和机器人爱好者阅读。
作译者
作者简介
Lentin Joseph是一名来自印度的作家、企业家、电子工程师、机器人爱好者、机器视觉专家、嵌入式程序员以及Qbotics Labs的创始人和首席执行官。
他在喀拉拉邦的联邦科学和技术研究所(Federal Institute of Science and Technology,FISAT)获得了电子和通信工程学士学位。在后一年的工程项目中,制作了一个可以与人互动的聊天机器人。该项目取得了巨大的成功,被各大媒体多次报告。该机器人的主要特点是能够与人沟通、智能回复、具有一定的图像处理能力,如面部、动作、颜色检测等。整个项目使用Python编程语言实现。他对机器人、图像处理和Python的兴趣从此开始。
毕业后,他在一家专门从事机器人和图像处理的创业公司工作了三年。与此同时,他学习了主流的机器人软件平台,如机器人操作(ROS)、V-REP和Actin(机器人仿真工具)等,还学习了图像处理库,如OpenCV、OpenNI和PCL等,并且熟悉Arduino和Tiva Launchpad上的机器人三维设计和嵌入式编程。
在积累了三年的工作经验后,他开创了Qbotics Labs公司,主要致力于在机器人和机器视觉等领域开发一些的产品。他负责维护个人网站和技术博客technolabsz,并在科技博客上发表作品。他还是印度PyCon2013的主讲人,主题为“Learning Robotics Using Python”。
Lentin是《Learning Robotics Using Python》和《Mastering ROS for Robotics Programming》两本书的作者,均由Packt出版。本书使用ROS和OpenCV制作了一个自主移动机器人。这本书是在ICRA 2015上发布的,在ROS博客、Robohub、OpenCV、Python网站以及其他相关论坛上流传很广。第二本书帮助读者掌握ROS知识,并在ICRA 2016上推出,是的ROS书籍之一。
Lentin及其团队也是2016年ICRA中HRATC挑战赛的获胜者。该团队也成功入围了ICRA 2015挑战赛HRATC决赛。
审校者简介
Ruixiang Du是伍斯特理工学院(Worcester Polytechnic Institute,WPI)机械工程的博士研究生。目前在和机器人控制实验室工作,主要研究自主移动机器人的运动规划和控制。他于2011年获得华北电力大学自动化学士学位,2013年获得WPI机器人工程硕士学位。
Ruixiang的研究兴趣包括机器人技术和实时嵌入式。他曾经从事多种机器人项目,从机器人平台到机器人、无人机/地面车辆、人形机器人等。他是DARPA机器人挑战赛WPI-CMU团队的成员。
作者简介
卡罗尔·费尔柴尔德(Carol Fairchild)是Fairchild Robotics公司的所有人、首席工程师,该公司致力于机器人技术的开发与集成。卡罗尔是休斯顿大学明湖分校(University of Houston-Clear Lake,UHCL)Baxter实验室的一名研究人员,同时也是一名兼职教授。她的研究领域主要是基于Baxter机器人的扩展应用开发。在费尔柴尔德女士早期开始建造她的台机器人(这台机器人被称为Heathkit Hero)时,她就已经开始了机器人技术方方面面的学习与实践。她在得州农工大学(Texas A&M;)获得工程技术学士学位,并在休斯顿大学明湖分校获得计算机工程的硕士学位。费尔柴尔德女士曾在中学教授机器人学课程,是乐高联盟(FIRST LEGO League,FLL)的教练,同时也是灵感和科技大赛(For Inspiration and Recognition of Science and Technology,FIRST)的志愿者。
托马斯L.哈曼(Thomas L. Harman)博士是休斯顿大学明湖分校工程系的主任。他的研究领域主要是控制、机器人技术与微处理器技术的应用。他和他同事关于机器人和激光的论文已经应用在了医学领域。2005年,他当选为休斯顿大学明湖分校的特聘教授。他曾担任FIRST机器人大赛的裁判与安全顾问。托马斯博士已经出版的专著、合著书籍有18本,主题包括微处理器技术、MATLAB与仿真以及美国国家电气规程等。他在休斯顿大学明湖分校的实验室有一台Baxter双臂机器人、多台TurtleBot机器人以及其他几款机器人。
...
编辑
---------------------------8004538---------------------------
使用ROS创建自动驾驶汽车
使用深度学习和ROS开发智能机器人应用程序
掌握3D目标识别
使用虚拟现实和ROS控制机器人
使用ROS制作人工智能聊天机器人
了解使用ROS进行机器人自主导航的全部功能
使用ROS理解人脸检测和跟踪
使用手势遥控操作机器人
使用Matlab和Android设计基于ROS的应用程序
使用Turtlebot实现交互式应用程序 ---------------------------7731483---------------------------
通过阅读本书,你将:
了解ROS的基本原理及其在机器人实例中的应用
控制移动机器人在一个环境中自主导航
使用URDF和Xacro建模机器人,并在ROS Gazebo模拟中操作
控制视觉伺服的7自由度机器人手臂
使用四旋翼飞行器进行自主锚点
掌握Gazebo、rviz、rqt和Move-It等ROS工具的使用
使用移动设备和控制器控制机器人
联合机器人完成一个协作任务
内容简介
---------------------------8004538---------------------------
本书11个ROS机器人项目,在无须大量硬件的情况下可直接实现原型设计。本书首先介绍ROS及其安装过程。在完成基础知识学习之后,将会学习一些非常棒的项目,如构建自动驾驶汽车、自主移动机器人以及使用深度学习和ROS进行图像识别等。这里可以找到适用于初级、中级甚至专家级的各类ROS机器人应用程序! ---------------------------7991375---------------------------
本书在介绍ROS总体框架和理论要点的基础上,讲解ROS的通信机制、常用组件和进阶功能;同时以实践为主,讲解机器视觉、机器听觉、SLAM与导航、机械臂控制、机器学习等多种ROS应用的主要原理和实现方法;并分析基于ROS的机器人设计方法和典型实例;后论述ROS2的框架特点和使用方法,剖析ROS的发展方向。
---------------------------7731483---------------------------
本书针对基于ROS的机器人开发技术进行了全面综合的介绍,不仅涵盖ROS框架的基础知识,还详细描述模拟机器人模型的构建方法和真实机器人操控。本书循序渐进地以实例形式讲解移动机器人、飞行机器人、机器人手臂等各类机器人的ROS实现。通过控制这些机器人,无论是模拟还是在现实中,你都可以使用ROS控制来驱动、移动机器人,甚至是让机器人飞行。 ---------------------------6479751---------------------------
本书包含了大量示例,帮助你开发机器人程序,并为你提供使用开源ROS库和工具的完整解决方案。本书主要内容包括:ROS的概念、命令行工具、可视化GUI以及如何调试ROS,如何将机器人传感器和执行器连接到ROS,如何从摄像头和3D传感器获取数据并分析数据,如何在机器人/传感器和环境仿真中使用Gazebo,如何设计机器人,如何使用OpenCV3.0为机器人添加视觉功能,如何使用新版本的PCL向机器人添加3D感知功能。本书适合各个阶层的机器人开发人员和机器人爱好者阅读。
作译者
---------------------------8004538---------------------------
作者简介
Lentin Joseph是一名来自印度的作家、企业家、电子工程师、机器人爱好者、机器视觉专家、嵌入式程序员以及Qbotics Labs(http://www.qboticslabs.com)的创始人和首席执行官。
他在喀拉拉邦的联邦科学和技术研究所(Federal Institute of Science and Technology,FISAT)获得了电子和通信工程学士学位。在后一年的工程项目中,制作了一个可以与人互动的聊天机器人。该项目取得了巨大的成功,被各大媒体多次报告。该机器人的主要特点是能够与人沟通、智能回复、具有一定的图像处理能力,如面部、动作、颜色检测等。整个项目使用Python编程语言实现。他对机器人、图像处理和Python的兴趣从此开始。
毕业后,他在一家专门从事机器人和图像处理的创业公司工作了三年。与此同时,他学习了主流的机器人软件平台,如机器人操作(ROS)、V-REP和Actin(机器人仿真工具)等,还学习了图像处理库,如OpenCV、OpenNI和PCL等,并且熟悉Arduino和Tiva Launchpad上的机器人三维设计和嵌入式编程。
在积累了三年的工作经验后,他开创了Qbotics Labs公司,主要致力于在机器人和机器视觉等领域开发一些的产品。他负责维护个人网站(http://www.lentinjoseph.com)和技术博客technolabsz(http://www.technolabsz.com),并在科技博客上发表作品。他还是印度PyCon2013的主讲人,主题为“Learning Robotics Using Python”。
Lentin是《Learning Robotics Using Python》(http://learn-robotics.com)和《Mastering ROS for Robotics Programming》(http://mastering-ros.com)两本书的作者,均由Packt出版。本书使用ROS和OpenCV制作了一个自主移动机器人。这本书是在ICRA 2015上发布的,在ROS博客、Robohub、OpenCV、Python网站以及其他相关论坛上流传很广。第二本书帮助读者掌握ROS知识,并在ICRA 2016上推出,是的ROS书籍之一。
Lentin及其团队也是2016年ICRA中HRATC挑战赛的获胜者。该团队也成功入围了ICRA 2015挑战赛HRATC决赛(http://www.icra2016.org/conference/challenges/)。
审校者简介
Ruixiang Du是伍斯特理工学院(Worcester Polytechnic Institute,WPI)机械工程的博士研究生。目前在和机器人控制实验室工作,主要研究自主移动机器人的运动规划和控制。他于2011年获得华北电力大学自动化学士学位,2013年获得WPI机器人工程硕士学位。
Ruixiang的研究兴趣包括机器人技术和实时嵌入式。他曾经从事多种机器人项目,从机器人平台到机器人、无人机/地面车辆、人形机器人等。他是DARPA机器人挑战赛WPI-CMU团队的成员。 ---------------------------7731483---------------------------
作者简介
卡罗尔·费尔柴尔德(Carol Fairchild)是Fairchild Robotics公司的所有人、首席工程师,该公司致力于机器人技术的开发与集成。卡罗尔是休斯顿大学明湖分校(University of Houston-Clear Lake,UHCL)Baxter实验室的一名研究人员,同时也是一名兼职教授。她的研究领域主要是基于Baxter机器人的扩展应用开发。在费尔柴尔德女士早期开始建造她的台机器人(这台机器人被称为Heathkit Hero)时,她就已经开始了机器人技术方方面面的学习与实践。她在得州农工大学(Texas A&M;)获得工程技术学士学位,并在休斯顿大学明湖分校获得计算机工程的硕士学位。费尔柴尔德女士曾在中学教授机器人学课程,是乐高联盟(FIRST LEGO League,FLL)的教练,同时也是灵感和科技大赛(For Inspiration and Recognition of Science and Technology,FIRST)的志愿者。
托马斯L.哈曼(Thomas L. Harman)博士是休斯顿大学明湖分校工程系的主任。他的研究领域主要是控制、机器人技术与微处理器技术的应用。他和他同事关于机器人和激光的论文已经应用在了医学领域。2005年,他当选为休斯顿大学明湖分校的特聘教授。他曾担任FIRST机器人大赛的裁判与安全顾问。托马斯博士已经出版的专著、合著书籍有18本,主题包括微处理器技术、MATLAB与仿真以及美国国家电气规程等。他在休斯顿大学明湖分校的实验室有一台Baxter双臂机器人、多台TurtleBot机器人以及其他几款机器人。 ---------------------------6479751---------------------------
Anil Mahtani是一名主要从事水下机器人工作研发的计算机科学家。他次在该领域工作是在完成硕士论文期间为低成本ROV开发软件架构。在此期间,他也成为AVORA的团队和主要开发人员,这个大学生团队设计开发了一个自主水下航行器并参加了2012年的欧洲学生自主水下航行器设计挑战赛(Student Autonomous Underwater Challenge-Europe,SAUC-E)。同年,他完成了论文并获得了拉斯帕尔马斯大学的计算机科学硕士学位。此后不久,他成为SeeByte公司的软件工程师,这家公司是水下智能软件解决方案的。在2015年,他加入SecureWorks公司,任职软件工程师,在那里他应用相关知识和技术开发入侵检测和。
在SeeByte公司工作期间,Anil参与了军方、石油和天然气公司的一些半自主和自主水下的核心开发。在这些项目中,他积极参与自主开发、分布式软件体系结构设计和底层软件开发,同时也为前视声呐图像提供计算机视觉解决方案。他还获得了项目经理职位,管理一个开发和维护内核C++库的工程师团队。
他的兴趣主要包括软件工程、算法、数据结构、分布式、网络和操作。Anil在机器人方向主要负责提供高效和健壮的软件解决方案,不仅解决当前存在的问题,还预见未来的问题或可能的改进。鉴于他的经验,他在计算机视觉、机器学习和控制问题上也有独特的见解。Anil对DIY和电子学感兴趣,并且开发了一些Arduino库回馈社区。
首先,我要感谢家人和朋友的支持,他们总是在我需要的时候帮助我。我还要感谢我的女友Alex的耐心支持,她是我灵感的源泉。后,我要感谢我的同事Ihor Bilyy和Dan Good,在我软件工程师职业生涯中他们以的方式教会我很多知识。
Luis Sánchez在拉斯帕尔马斯大学获得了电子与电信工程的双硕士学位。他曾在技术开发和创新研究所(IDETIC)、加那利群岛海洋平台(PLOCAN)和应用微电子研究所(IUMA)与不同的研究小组合作,进行超分辨率算法成像研究。
他的兴趣包括应用于机器人的计算机视觉、信号处理和电子设计。因此,他加入了AVORA团队,这批年轻的工程师和学生从零开始从事自主水下航行器(AUV)的开发工作。在这个项目中,Luis开始开发声学和计算机视觉,用于提取不同传感器的信息,例如水听器、声呐和摄像头。
.依托海洋技术的强大背景,Luis与人合作创办了一家新的初创公司Subsea Mechatronics,致力于为水下环境开发遥控操作和自主航行器。
下面是海洋技术工程师和企业家(LPA Fabrika:Gran Canaria Maker Space的联合创始人和制造商)Dario Sosa Cabrera对Luis的评价:
“他很热情,是一个跨多学科的工程师。他对工作负责,自制力强,并承担一个团队的责任,这在euRathlon比赛中充分展现了出来。他在电子和电信领域的背景让其具备从信号处理和软件到电子设计和制造的广泛知识。”
Luis作为技术审校者参与了Packt出版社出版的《Learning ROS for Robotics Programming》的相关工作以及第2版的撰写工作。
首先,我要感谢Aaron、Anil以及Enrique邀请我参与编写这本书。同他们一起工作非常快乐。同时,我也要感谢水下机电团队关于重型水下机器人的丰富经验,这些年我们一起成长。我必须提到LPA Fabrika:Gran Canaria Maker Space,他们满腔热忱地准备和引导教学机器人及技术项目,与他们共同工作的时光也非常开心。
后,我要感谢家人和女友对我参与的每个项目的大力支持和鼓励。我以此书献给他们。
Enrique Fernández具有计算机工程博士学位和机器人学研究背景。他的博士论文解决了自主水下滑翔器(AUG)的路径规划问题,他还研究了SLAM、感知、视觉、控制等机器人学课题。在读博士期间,他加盟了赫罗纳大学的CIRS/ViCOROB水下机器人研究中心,在那里他为AUV开发了视觉SLAM和INS模块。他在2012年参加了SAUC-E并获奖,在2013年作为合作者参与了SAUC-E。
攻读博士学位期间,Enrique在机器人会议和期刊上发表了多篇论文,其中包括机器人和自动化会议(International Conference of Robotics and Automation,ICRA)。他也合作编写了一些ROS书籍和章节。
之后,Enrique作为SLAM工程师在2013年6月加盟PAL Robotics公司。在那里,他开发了用于REEM、REEM-C仿人型机器人的ROS软件,也继续为开源社区(主要是ROS控制软件库)做贡献,目前仍是其中一名维护人员。在2015年,他加盟Clearpath Robotics公司的自主部门,从事感知算法开发相关工作。他曾经在通用电气公司(General Electric)和约翰迪尔(John Deere)等多家大型工业公司的设施中负责部署工业移动机器人OTTO 1500和OTTO 100软件的运行。
我要感谢本书的合著者,感谢他们为完成本书所付出的努力以及提供了无数示例的代码。我还要感谢拉斯帕尔马斯大学研究组和水下机器人研究中心(Center of Underwater Robotics Research,CIRS/ViCOROB)的研究小组成员。我也要感谢在PAL Robotics公司的同事,在那里我学到很多关于ROS、机器人运动以及仿人双足机器人的知识,不仅有软件,还有电子和硬件设计。此外,我还要感谢在Clearpath Robotics的同事们,在这里我掌握了ROS并参与了为工业4.0销售的24/7全天候运行自动驾驶机器人的软件开发。后,我要感谢我的家人和朋友的帮助与支持,特别是Eva。
Aaron Martinez是数字化制造领域的计算机工程师、企业家和专家。他于2010年在拉斯帕尔马斯大学的IUCTC(Instituto Universitario de Cienciasy Tecnologias Ciberneticas)完成硕士论文。他在远程监控领域使用沉浸式设备和机器人平台准备硕士论文。获得学位后,他参加了在奥地利林茨约翰开普勒大学研究所的机器人学实习计划。在实习期间,他作为团队的一员使用ROS和导航包集进行移动平台开发。之后,他参与了有关机器人的项目,其中一个是拉斯帕尔马斯大学的AVORA项目。在这个项目中,他参与自主水下航行器制作,并参与意大利的SAUC-E。2012年,他负责维护这个项目;2013年,他帮助从ROS向机器人平台移植导航包集和其他算法。
近,Aaron与人共同创立了一家名为SubSeaMechatronics SL的公司。这家公司从事与水下机器人和遥控相关的项目,还设计和制造水下传感器。公司的主要目标是开发用于研发原型和重型机械手的定制解决方案。
Aaron有许多领域的经验,比如编程、机器人、机电一体化、数字化制造以及Arduino、BeagleBone、服务器和激光雷达等设备。如今,他在SubSeaMechatronics SL公司从事水下和空中环境的机器人平台设计。
我要感谢我的女友,她在我写这本书时支持我并且给我继续成长的动力。我还要感谢Donato Monopoli(加那利群岛技术研究所(ITC)生物医学工程部门的主管),以及ITC所有的工作人员,感谢他们使我懂得数字制造、机械以及工程组织,我在此度过了生命中美好的时光。
感谢我大学的同事,特别是Alexis Quesada,他给了我在准备硕士论文时创建个机器人的机会。同他们一起工作,使我学习到很多关于机器人的知识。
后,我要感谢家人和朋友的帮助与支持。
审校者简介
Lentin Joseph是印度Qbotics Labs(http://www.qboticslabs.com)的创始人兼首席执行官、作家、企业家、电子工程师、机器人爱好者、机器视觉专家、嵌入式程序员。
他在印度喀拉拉的联邦理工学院(FISAT)获电子学和通信工程学士学位。在工程项目的后一年,他制作了一个可以与人交互的社交机器人(http://www.technolabsz.com/2012/07/social-robot-my-final-year.html)。项目取得了巨大的成功,被视觉和印刷媒体多次报道。该机器人的主要特点是可以与人交流并智能回复,同时具有一定的图像处理能力,如面部、动作和颜色检测。整个项目使用Python编程语言实现。他对机器人、图像处理和Python的兴趣从此开始。
毕业后,他在一家专门从事机器人和图像处理的创业公司工作了3年。同时,他学习了主流的机器人软件平台,如机器人操作(ROS)、V-REP、Actin(机器人仿真工具),以及图像处理库,如OpenCV、OpenNI和PCL。他还了解Arduino和Tiva Launchpad上的机器人三维设计和嵌入式编程。
在积累3年的工作经验后,他创立了一家名叫Qbotics Labs的新公司,主要从事研究工作,在机器人和机器视觉等领域开发一些的产品。他负责维护个人网站(http://www.lentinjoseph.com)和一个名为technolabsz的技术博客(http://www.technolabsz.com)。他在科技博客上发布作品。他也是印度PyCon2013的演讲者,主题是“使用Python的学习机器人”(Learning Robotics using Python)。
Lentin是《Learning Robotics using Python》(更多内容参考http://learn-robotics.com)和《Mastering ROS for Robotics Programming》(更多内容参考http://mastering-ros.com)的作者,这两本书都由Packt出版社出版。本书的主题是使用ROS和OpenCV构建自主移动机器人。这本书是在ICRA 2015上推出的,并在ROS博客Robohub、OpenCV、Python网站以及其他相关论坛上推广。第二本书是掌握机器人操作(ROS)的工具书,也在ICRA 2016上推出,它是的ROS书籍之一。
作为ICRA 2016的一部分,Lentin及其团队获得了HRATC 2016挑战赛的,同时他也是ICRA 2015挑战赛HRATC决赛的入围者(http://www.icra2016.org/conference/challenges/)。
目录
---------------------------8004538---------------------------
译者序
序一
序二
作者简介
审校者简介
前言
致谢
第1章 入门ROS机器人应用程序开发 1
1.1 ROS入门 2
1.1.1 ROS发行版 2
1.1.2 支持ROS的操作 3
1.1.3支持ROS的机器人和传感器 4
1.1.4为什么选择ROS 5
1.2 ROS基础 6
1.2.1文件级 7
1.2.2计算图级 8
1.2.3ROS社区级 9
1.2.4ROS通信 9
1.3ROS客户端库 10
1.4ROS工具 11
1.4.1Rviz(ROS可视化) 11
1.4.2rqt_plot 11
1.4.3rqt_graph 12
1.5ROS仿真器 13
1.6在Ubuntu 16.04 LTS上安装ROS Kinetic 13
1.7在VirtualBox上设置ROS 17
1.8设置ROS工作区 19
1.9ROS在工业和研究中的机遇 20
1.10 问题 22
1.11 本章总结 22
第2章 使用ROS、OpenCV和Dynamixel伺服舵机进行人脸检测与跟踪 23
2.1项目概述 23
2.2硬件和软件需求 24
2.3ROS与Dynamixel伺服舵机的接口 33
2.4创建人脸跟踪ROS包 34
2.5人脸跟踪功能包的工作原理 36
2.5.1理解人脸跟踪代码 38
2.5.2理解CMakeLists.txt 41
2.5.3track.yaml文件 43
2.5.4启动文件 43
2.5.5运行人脸跟踪器节点 44
2.5.6face_tracker_control功能包 45
2.5.7 云台控制器配置文件 46
2.5.8舵机参数配置文件 47
2.5.9人脸跟踪控制器节点 47
2.5.10 创建CMakeLists.txt 49
2.5.11 测试人脸跟踪控制功能包 49
2.5.12 集成所有节点 51
2.5.13 固定支架并安装电路 51
2.5.14 终测试 52
2.6 问题 52
2.7 本章总结 53
第3章 在ROS中构建一个像Siri的聊天机器人 54
3.1人机交互机器人 54
3.2构建人机交互机器人 55
3.3预备条件 56
3.4AIML入门 57
3.4.1AIML标签 57...
探索机器人世界的无限可能:开启智能驱动新篇章 在这快速发展的科技时代,机器人技术正以前所未有的速度渗透到我们生活的方方面面。从工厂的自动化生产线到家庭的智能助手,从自动驾驶汽车到医疗手术机器人,机器人正深刻地改变着我们的工作方式、生活模式乃至整个社会的面貌。如果您对这个充满魅力的领域充满好奇,渴望掌握驱动机器人智能化的核心技术,那么,一系列精心编撰的入门与进阶读物将是您开启这段精彩旅程的最佳伴侣。 这些书籍并非旨在成为某一部特定著作的“替代品”,而是旨在为读者构建一个全面、系统且深入的机器人开发知识体系。它们将引导您从最基础的概念出发,逐步攀登到高级应用和实践的殿堂,让您不仅理解机器人“是什么”,更能掌握机器人“怎么做”,乃至“如何做得更好”。 第一阶段:夯实基础,理解机器人语言 对于任何想要深入机器人开发领域的新手而言,首要任务是建立扎实的理论根基。这一阶段的书籍将如同引路人,为您揭开机器人的神秘面纱。 核心概念的梳理: 您将首先接触到机器人学的基本原理。这包括对机器人本体的组成部分的理解,例如驱动系统(电机、伺服器)、传感器系统(编码器、激光雷达、摄像头、惯性测量单元IMU等)以及控制系统。我们将深入探讨这些组件如何协同工作,赋予机器人感知、决策和执行的能力。 运动学与动力学入门: 机器人的运动是其核心功能之一。您将学习正向运动学和逆向运动学,理解机器人手臂或移动平台如何根据关节角度计算末端执行器的位置和姿态,以及如何反向求解以实现期望的运动轨迹。同时,动力学理论将帮助您理解机器人运动时所受的力和力矩,这对于精确控制和系统稳定性至关重要。 传感器数据处理与融合: 机器人需要“看”和“听”才能理解周围环境。我们将详细介绍各种传感器的原理、数据采集方法以及初步的数据预处理技术,例如图像去噪、特征提取、点云滤波等。更进一步,您将学习如何将来自不同传感器(如摄像头和激光雷达)的信息融合起来,构建更丰富、更准确的环境模型。 控制理论基础: 机器人要按照指令行动,离不开精确的控制。您将接触到PID(比例-积分-微分)控制器等经典控制算法,理解它们如何根据误差信号来调整输出,实现期望的系统行为。同时,也会涉及更高级的控制策略,为后续的复杂任务打下基础。 第二阶段:掌握关键开发工具与平台 理论知识的掌握固然重要,但将想法转化为实际运行的机器人,则离不开强大的开发工具和平台。这一阶段的书籍将专注于让您熟练使用行业内最前沿的工具。 Linux操作系统: 机器人开发领域,尤其是使用ROS(Robot Operating System)时,Linux是不可或缺的操作系统。您将学习Linux的基本命令、文件系统结构、Shell脚本编程,以及如何安装和配置Linux发行版,为后续的开发环境搭建做好准备。 编程语言精通: C++和Python是机器人开发中最主流的两种编程语言。您将深入学习这两种语言的语法、面向对象编程思想、数据结构和算法。重点将放在如何使用这些语言来编写控制逻辑、处理传感器数据、实现路径规划和导航算法等方面。 ROS(Robot Operating System)系统详解: ROS是当前机器人开发领域的事实标准。您将系统地学习ROS的架构、核心概念(节点、话题、服务、动作)、消息传递机制、参数服务器等。通过大量的实践案例,您将学会如何创建、编译和运行ROS节点,如何使用ROS提供的工具进行仿真和调试。 仿真环境的应用: 在实际部署机器人之前,仿真环境是进行测试和验证的关键。您将学习使用Gazebo、RViz等ROS集成的仿真工具,创建逼真的机器人模型和仿真场景,模拟机器人在各种环境下的行为,从而加速开发进程并降低硬件成本。 版本控制工具: Git是现代软件开发不可或缺的版本控制系统。您将学习如何使用Git进行代码管理、分支操作、团队协作,确保项目开发的有序进行。 第三阶段:深入算法,构建智能行为 拥有了基础和工具,接下来我们将重点关注赋予机器人“智慧”的核心算法。 SLAM(Simultaneous Localization and Mapping): 这是机器人导航的基石。您将深入理解SLAM的原理,包括各种传感器(激光雷达、摄像头、IMU)在SLAM中的作用,以及不同的SLAM算法(如图优化SLAM、滤波SLAM)的优缺点和实现方法。通过学习,您将能够让机器人构建环境地图,并同时确定自身在地图中的位置。 路径规划与导航: 在已知地图的环境中,机器人需要规划出从起点到终点的最优路径。您将学习全局路径规划算法(如Dijkstra、A算法)和局部路径规划算法(如DWA、TEB),以及如何将它们结合起来实现动态避障和平稳导航。 运动控制高级技术: 除了基本的PID控制,您还将接触到更先进的运动控制方法,例如模型预测控制(MPC),以及如何针对不同类型的机器人(如轮式机器人、机械臂)进行精确的运动控制。 计算机视觉与机器学习在机器人中的应用: 随着人工智能的飞速发展,计算机视觉和机器学习在机器人领域扮演着越来越重要的角色。您将学习如何使用OpenCV等库进行图像处理,如何利用深度学习模型(如卷积神经网络CNN)进行物体识别、场景理解、姿态估计等。这些技术将赋予机器人更强的感知和认知能力。 机器人感知与决策: 如何让机器人理解和分析其感知到的信息,并据此做出合理的决策?您将学习如何构建更复杂的感知系统,以及如何将决策树、状态机等方法应用于机器人行为的设计。 第四阶段:实践项目,学以致用 理论学习的最终目的是将知识转化为实践能力。这一阶段的书籍将侧重于引导您完成实际的机器人开发项目。 从零开始的机器人项目: 通过实际项目,您将有机会将之前学到的所有知识融会贯通。项目可能包括构建一个简单的避障小车,实现一个目标跟踪系统,或者开发一个能够执行特定任务的机械臂。 传感器集成与硬件调试: 您将学习如何选择合适的传感器,如何将其集成到机器人平台,以及如何进行硬件层面的调试和故障排查。 算法的优化与性能调优: 在实际应用中,算法的效率和鲁棒性至关重要。您将学习如何对算法进行优化,提高处理速度,减少资源消耗,并使其在复杂环境中也能稳定运行。 ROS分布式系统构建: 对于更复杂的机器人系统,通常需要多台计算单元协同工作。您将学习如何构建ROS的分布式系统,实现节点在不同机器上的部署和通信。 机器人仿真到实体的迁移: 将仿真环境中验证过的算法和控制策略迁移到真实的机器人硬件上,是开发过程中非常关键的一步。您将学习如何处理仿真与实际之间的差异,并进行相应的调整。 面向未来:持续学习与创新 机器人技术日新月异,永远没有“终点”。这些书籍将为您打下坚实的基础,让您能够持续学习新的技术和算法。无论是对更高级的AI技术(如强化学习、自然语言处理)的探索,还是对新型传感器和执行器的理解,亦或是对机器人伦理和社会影响的思考,都将是您在这个激动人心的领域不断前行的动力。 总而言之,这是一套旨在赋能您的机器人开发之旅的系统性学习资源。它不仅仅是提供知识,更是培养您解决问题、独立思考和创造的能力。通过循序渐进的学习和大量的实践,您将能够自信地投身于机器人技术的浪潮,探索无限可能,并为构建更智能、更美好的未来贡献自己的力量。