书籍作者:[美] 兰廷·约瑟夫(Lentin Joseph) 著,曾庆喜,朱德龙 等 译 | ISBN:9787111640356 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:6609 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书是针对机器人操作系统(ROS)初学者的入门教程,从基础的如何安装ROS,到ROS的框架介绍和C/C++、Python编程基础概念介绍,直至完整搭建一个机器人项目,每一个部分都有详细的操作过程和相应实例代码,读者需要做的只是打开计算机并应用起来。
全书共分6章,分别为用于机器人的Ubuntu Linux、机器人编程的C++基础知识、机器人编程的Python基础、ROS概述、基于ROS编程、基于ROS的机器人项目。本书可供学习基于ROS的机器人编程的人员使用,也可作为高等院校相关专业学生的参考书。
序一
很高兴《机器人操作系统(ROS)入门必备—机器人编程一学就会》这本书即将出版,我也非常荣幸为该书作序。我在美国卡耐基梅隆大学机器人研究所读博士的时候,与本书的作者Lentin Joseph以及译者曾庆喜教授和朱德龙博士在一起工作过。在他们离开实验室之后,我们也一直保持交流,因此我也很愿意为推广该书尽绵薄之力。我记得当时和他们一起合作了无人机的自动导航项目,他们对机器人有着丰富的实际工程经验和高度的研究热情,给我留下了深刻的印象,他们在机器人领域的专业知识也为本书的翻译提供了科学的指导。
ROS经过十几年的发展,已经得到了极大的推广和应用,尤其是在学术界。卡耐基梅隆大学机器人研究所的大部分实验室都是基于ROS编程的,我现在所在的Facebook Reality Lab中,很多来自不同国家的研究人员也大多使用ROS编程。ROS简单的接口、良好的通用性和扩展性,可以很轻松地让不同专业、具有不同编程能力的人一起合作开发大型机器人项目。例如,无人车及无人机系统的定位、建图、导航、控制等模块之间的通信都可以通过ROS来实现。
本书简单介绍了C++面向对象编程和Python编程,详细讲解了ROS的框架和概念,并提供了实际的机器人案例分析,非常有助于机器人方向的初学者提高编程能力,从而快速参与并完成实际的科研项目。书中内容由浅入深,语言简单易懂,我看后也受益匪浅。
最后祝愿本书译者在机器人领域有更多研究成果,也祝愿本书读者从书中体会到机器人研究的乐趣。Facebook Reality Lab 杨士超 博士
于美国西雅图
序二
多年来我一直跟曾庆喜教授团队合作开发各种用途的机器人,深切体会到曾教授对机器人教育教学的极大热情。收到曾教授的邀请,为他的译著作序,我感到很荣幸。
经过十多年的发展,ROS已经得到了极大的推广和应用,由于其开源性以及友好的商用版权协议,大部分从事机器人研发的人员都在基于ROS开发机器人应用软件。ROS的通信机制及算法架构使所开发的代码很容易进行重用,大大地减少了重复劳动的时间消耗,势必会受到越来越多人的青睐。
多年前我学ROS的时候,没有合适的中文版教材,只能看外文书籍,而且在学习这些教材之前,既要求具备C++/Python的开发基础,又要求熟悉Linux开发环境,入门的门槛较高。为此,我只能通过逛社区、查维基百科等方法来理解ROS,走了很多弯路,前后花了近一年的时间来摸索基于ROS的开发方法,最终才将ROS应用到自己的机器人项目中。
在看了曾教授团队翻译的这本书后,我觉得这是一本非常适合初学者入门的图书。这本书从编程语言入门到系统架构的详细介绍,从理论基础到自己动手实践,从硬件架构到软件开发,涵盖了ROS学习过程中需要经历的各个方面,是ROS入门的必备书籍之一。我相信,通过阅读本书,读者可以很快地体验到ROS的乐趣。
最后,感谢曾教授团队为ROS推广所做出的努力,也希望越来越多的读者能够通过本书发现ROS世界的精彩。
罗普森机器人 技术总监胡义轩
译者序
当前,机器人的新技术、新产品大量涌现,成为新一轮科技革命和产业变革的重要驱动力,既为发展先进制造业提供了重要突破口,也为改善人们生活提供了有力支撑。
ROS是一个运行在Linux上的中间件,它能连接真正的操作系统和所写的程序。自2004年起,经过十几年的发展,ROS已成为主流的机器人操作系统。官方将ROS解释为框架、工具、功能和社区。ROS实际上相当于一个软件工具集,采用分布式架构,通信框架是其主要组成部分,可将多个单独设计的进程(节点)组合起来并同时运行。各节点可实现各种不同的功能,并通过ROS这一桥梁实现相互通信。这样的特点使其拓展性好,复用率高,极大地提高了庞大和冗杂的机器人设计过程的效率。ROS能给开发人员提供可视化界面工具,包含诸如Gazebo、Rviz等用于仿真和调试的基本工具,以及各种基础程序包(控制、路径、规划等),只需在其上设计所要实现的特殊功能的部分并将它们组合起来即可。
本书风格简洁,是针对ROS零基础读者的入门教程,从基础的如何安装ROS,到C/C++、Python编程基础概念,再到ROS的框架介绍,直至完整搭建一个机器人项目,每一个部分都有详细的操作过程和相应代码,对于初学者来说是一本不错的入门教材。
本书共分6章。第1章介绍了安装Ubuntu系统的方法,包括在VirtualBox虚拟机上安装和在实际的计算机上安装,同时还介绍了Ubuntu系统的基本使用方法和机器人编程中常用的shell命令。第2章介绍了机器人编程的C++编程基础知识,主要包括如何使用GCC编译器编译代码,并通过实例具体阐述了C++中面向对象(OOP)的概念。另外,第2章还描述了如何在Ubuntu中建立一个完整的C++工程,以及编译C++源代码。第3章介绍了Python编程语言的基础知识、Python解释器的使用、在Ubuntu中创建Python脚本并运行的方法,以及简要介绍了一些机器人编程中常用的Python库。第4章介绍了ROS系统的安装方法,还介绍了ROS架构及相关的概念和工具,并且通过两个ROS应用实例来演示常用的ROS操作,展示了Rviz和Rqt两个ROS可视化接口。第5章介绍了如何使用C++和Python进行ROS编程,包括创建工作空间和程序包、创建节点和启动文件,并在turtlesim中实现了一些有趣的应用。最后介绍了如何使用ROS在Arduino和树莓派等嵌入式开发板上编程。第6章结合前面几章所学的内容,介绍能够与ROS兼容的低成本差速驱动机器人,并编写ROS节点来控制机器人的移动和执行航位推算算法。在第6章中可以看到如何制作一个由ROS接口控制的机器人,并使用ROS对实际机器人进行开发和测试。
本书内容基于ROS Kinetic(2016)LTS版本,该版本的官方维护时间为5年,更多细节和文档可在其官方网站和GitHub上查询。
希望本书可以帮助有意学习机器人编程的读者。
感谢南京航空航天大学野外机器人实验室的吕查德、高唱、阚宇超、许诗曼、张润心、李心怡、徐子玥、卞尹蕾等同学在本书翻译和校对方面所做的大量工作。大家的共同努力才使得本书能够完美地呈现在读者面前。
由于译者时间和水平所限,书中难免存在错误及不妥之处,敬请广大读者批评指正。
序一
序二
译者序
第1章用于机器人的Ubuntu Linux
11从GNU/Linux入门
12安装Ubuntu
131Ubuntu文件系统
14shell命令入门
15本章小结
第2章机器人编程的C++基础知识
21C++入门
22在Ubuntu Linux中运行C/C++
23从实例中学习OOP概念
24建立一个C++工程
25本章小结
第3章机器人编程的Python基础
31开始使用Python
32Ubuntu/Linux中的Python
33本章小结
第4章ROS概述
41什么是机器人编程
42为什么机器人编程与众不同
43开始使用ROS
44本章小结
第5章基于ROS编程
51什么是使用ROS编程
52创建ROS工作空间和程序包
53使用ROS客户端库
54使用ROS对嵌入式板卡编程
55本章小结
第6章基于ROS的机器人项目
61从轮式机器人开始
62差速驱动机器人的运动学
63搭建机器人硬件
64使用URDF创建一个三维ROS模型
65编写机器人固件程序
66使用ROS对机器人编程
67最终运行
68本章小结
您没有填写内容,默认好评
2020-04-18 00:26:00
全彩印刷,良心好书!
2020-03-18 15:05:43