新書推薦:
《
从天下到世界——国际法与晚清中国的主权意识
》
售價:HK$
76.2
《
血色帝国:近代英国社会与美洲移民
》
售價:HK$
58.2
《
海外中国研究·王羲之:六朝贵族的世界(艺术系列)
》
售價:HK$
178.1
《
唐宋绘画史 全彩插图版
》
售價:HK$
98.6
《
海洋、岛屿和革命:当南方遭遇帝国(文明的另一种声音)
》
售價:HK$
106.4
《
铝合金先进成型技术
》
售價:HK$
266.6
《
《全面与进步跨太平洋伙伴关系协定》国有企业条款研究
》
售價:HK$
98.6
《
银行业架构网络BIAN(全球数字化时代金融服务业框架)(数字化转型与创新管理丛书)
》
售價:HK$
98.6
|
內容簡介: |
本书是针对机器人操作系统(ROS)初学者的入门教程,从基础的如何安装ROS,到ROS的框架介绍和CC、Python编程基础概念介绍,直至完整搭建一个机器人项目,每一个部分都有详细的操作过程和相应实例代码,读者需要做的只是打开计算机并应用起来。
全书共分6章,分别为用于机器人的Ubuntu Linux、机器人编程的C基础知识、机器人编程的Python基础、ROS概述、基于ROS编程、基于ROS的机器人项目。本书可供学习基于ROS的机器人编程的人员使用,也可作为高等院校相关专业学生的参考书。
|
目錄:
|
序一
序二
译者序
第1章用于机器人的Ubuntu Linux
11从GNULinux入门
12安装Ubuntu
131Ubuntu文件系统
14shell命令入门
15本章小结
第2章机器人编程的C基础知识
21C入门
22在Ubuntu Linux中运行CC
23从实例中学习OOP概念
24建立一个C工程
25本章小结
第3章机器人编程的Python基础
31开始使用Python
32UbuntuLinux中的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本章小结
|
內容試閱:
|
序一
很高兴《机器人操作系统ROS入门必备机器人编程一学就会》这本书即将出版,我也非常荣幸为该书作序。我在美国卡耐基梅隆大学机器人研究所读博士的时候,与本书的作者Lentin Joseph以及译者曾庆喜教授和朱德龙博士在一起工作过。在他们离开实验室之后,我们也一直保持交流,因此我也很愿意为推广该书尽绵薄之力。我记得当时和他们一起合作了无人机的自动导航项目,他们对机器人有着丰富的实际工程经验和高度的研究热情,给我留下了深刻的印象,他们在机器人领域的专业知识也为本书的翻译提供了科学的指导。
ROS经过十几年的发展,已经得到了极大的推广和应用,尤其是在学术界。卡耐基梅隆大学机器人研究所的大部分实验室都是基于ROS编程的,我现在所在的Facebook Reality Lab中,很多来自不同国家的研究人员也大多使用ROS编程。ROS简单的接口、良好的通用性和扩展性,可以很轻松地让不同专业、具有不同编程能力的人一起合作开发大型机器人项目。例如,无人车及无人机系统的定位、建图、导航、控制等模块之间的通信都可以通过ROS来实现。
本书简单介绍了C面向对象编程和Python编程,详细讲解了ROS的框架和概念,并提供了实际的机器人案例分析,非常有助于机器人方向的初学者提高编程能力,从而快速参与并完成实际的科研项目。书中内容由浅入深,语言简单易懂,我看后也受益匪浅。
最后祝愿本书译者在机器人领域有更多研究成果,也祝愿本书读者从书中体会到机器人研究的乐趣。Facebook Reality Lab 杨士超 博士
于美国西雅图
序二
多年来我一直跟曾庆喜教授团队合作开发各种用途的机器人,深切体会到曾教授对机器人教育教学的极大热情。收到曾教授的邀请,为他的译著作序,我感到很荣幸。
经过十多年的发展,ROS已经得到了极大的推广和应用,由于其开源性以及友好的商用版权协议,大部分从事机器人研发的人员都在基于ROS开发机器人应用软件。ROS的通信机制及算法架构使所开发的代码很容易进行重用,大大地减少了重复劳动的时间消耗,势必会受到越来越多人的青睐。
多年前我学ROS的时候,没有合适的中文版教材,只能看外文书籍,而且在学习这些教材之前,既要求具备CPython的开发基础,又要求熟悉Linux开发环境,入门的门槛较高。为此,我只能通过逛社区、查维基百科等方法来理解ROS,走了很多弯路,前后花了近一年的时间来摸索基于ROS的开发方法,最终才将ROS应用到自己的机器人项目中。
在看了曾教授团队翻译的这本书后,我觉得这是一本非常适合初学者入门的图书。这本书从编程语言入门到系统架构的详细介绍,从理论基础到自己动手实践,从硬件架构到软件开发,涵盖了ROS学习过程中需要经历的各个方面,是ROS入门的必备书籍之一。我相信,通过阅读本书,读者可以很快地体验到ROS的乐趣。
最后,感谢曾教授团队为ROS推广所做出的努力,也希望越来越多的读者能够通过本书发现ROS世界的精彩。
罗普森机器人 技术总监胡义轩
译者序
当前,机器人的新技术、新产品大量涌现,成为新一轮科技革命和产业变革的重要驱动力,既为发展先进制造业提供了重要突破口,也为改善人们生活提供了有力支撑。
ROS是一个运行在Linux上的中间件,它能连接真正的操作系统和所写的程序。自2004年起,经过十几年的发展,ROS已成为主流的机器人操作系统。官方将ROS解释为框架、工具、功能和社区。ROS实际上相当于一个软件工具集,采用分布式架构,通信框架是其主要组成部分,可将多个单独设计的进程(节点)组合起来并同时运行。各节点可实现各种不同的功能,并通过ROS这一桥梁实现相互通信。这样的特点使其拓展性好,复用率高,极大地提高了庞大和冗杂的机器人设计过程的效率。ROS能给开发人员提供可视化界面工具,包含诸如Gazebo、Rviz等用于仿真和调试的基本工具,以及各种基础程序包(控制、路径、规划等),只需在其上设计所要实现的特殊功能的部分并将它们组合起来即可。
本书风格简洁,是针对ROS零基础读者的入门教程,从基础的如何安装ROS,到CC、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上查询。
希望本书可以帮助有意学习机器人编程的读者。
感谢南京航空航天大学野外机器人实验室的吕查德、高唱、阚宇超、许诗曼、张润心、李心怡、徐子玥、卞尹蕾等同学在本书翻译和校对方面所做的大量工作。大家的共同努力才使得本书能够完美地呈现在读者面前。
由于译者时间和水平所限,书中难免存在错误及不妥之处,敬请广大读者批评指正。
|
|