本书使用说明
前言
这本书,讲机器人操作系统(ROS),更讲机器人。
ROS缘起
2007 年,一群怀揣梦想的年轻人,正在斯坦福大学的机器人实验室里进行一场头脑风暴: 如果可以开发一款硬件足够强大的机器人,再搭配足够好用的软件系统,那么在此之上开发的应用功能就可以被快速分享了。例如,我做的自主导航功能你可以用,你做的物体抓取功能我也可以用,只需开发一个标准化的软硬件平台,在此之上的应用就会逐渐流行,这将打造机器人领域的一个全新“爆品”。'类似的原理造就了以计算机为平台的计算机时代,和以手机为平台的移动互联网时代,下一个以机器人为核心的智能机器人时代,是否也会遵循这样的逻辑?
将近20年过去了,以“事后诸葛亮”的视角来看,当时那群年轻人花重金打造的服务机器 人并没有走进千家万户。机器人不像计算机或手机,它需要和外界环境产生多种多样的交互,硬件形态非常难以统一,小到纳米医疗机器人、家用娱乐机器人,大到智能驾驶汽车、人形机器人,都是未来会并存的机器人形态。不过,当年遵循“提高机器人软件复用率”思想开发的机器人操作系统——ROS,在2010年开源之后快速发展,助推过去十几年机器人行业的繁荣,逐渐成为智能机器人开发的主流标准。
当然,ROS的快速发展也远超那群年轻人的预期,本来只是为一款家用服务机器人设计的 系统,被逐渐用于巡检、运输、农业等众多领域。需求越来越多,问题也越来越多,为了打造一款能够成为通用机器人标准化软件平台的“操作系统”,ROS 2在2014年第一次被提出,之后推出多个测试版本,并于2017年年底发布第一个正式版本。截至本书定稿时,ROS 2全新的稳定版本Jazzy Jalisco 发布,这也代表着ROS 2走向成熟。
智能机器人时代
在ROS 2快速迭代的同时,人工智能和机器人行业也发生了天翻地覆的变化。ChatGPT如 一声惊雷,掀开了人工智能的大模型时代。相比过去的深度学习,大模型有更大的模型规模,就像一个有更多神经元的大脑一样,更加聪明、稳定。在ChatGPT之后,全球涌现了数百种大模型,这些大模型快速与各行各业结合。在机器人领域,原本遭受诸多诟病的智能化问题,也因为大模型的出现,而拥有了新的可能。
同时,机器人正在从工厂走向生活,餐厅里有送餐机器人,酒店里有送物机器人,家里有 扫地机器人,路面上有自动驾驶汽车,再加上已然成为热点的人形机器人,机器人行业从底层硬件,到软件系统,再到智能化应用,正在逐渐成熟,智能机器人时代的序幕已经缓缓拉开。
我从2008年开始开发机器人,2011年接触ROS,2012年创办了“古月居”机器人社区, 2022 年开始打造RDK机器人开发者套件,亲眼见证了ROS与机器人行业的相伴快速成长,也 有幸和众多伙伴一起助推ROS在国内的普及应用。如今,“古月居”已经成为汇聚了200多万 名开发者的机器人社区,RDK也正成为智能机器人开发套件的首选,一个全新的智能机器人时 代正在向大家招手。
本书特色和内容
本书汇聚了我过去十几年的机器人开发经验,虽然将ROS作为贯穿全书的主线,但更重要 的是告诉所有读者:ROS既是开发机器人的软件平台,也是软件工具,在开发机器人时,不仅 要会用这个工具,还要懂机器人开发的诸多原理。所以,本书不仅会详细讲解ROS 2的基本概念,更会介绍如何将这些概念应用在机器人开发中,同时指导读者从零构建一个完整的机器人系统。
本书共有9章,分为三部分。
第一部分(第1~3章)介绍ROS 2基础原理:主要讲解ROS 2的发展历程、核心原理和组 件工具,提供大量的编程和使用示例,为读者全面展示ROS 2的基础原理和功能。
第二部分(第4~6章)介绍ROS 2机器人设计:主要讲解如何使用ROS 2设计一个仿真机 器人和实物机器人,有条件的读者甚至可以根据书中内容自己做一个机器人。
第三部分(第7~9章)介绍ROS 2机器人应用:主要讲解使用ROS 2开发机器人视觉识别、 地图构建和自主导航等众多应用的方法,让机器人不仅动得了,还能看懂和理解周围的环境,并且产生进一步的交互运动。
本书采用最新稳定版本ROS 2系统和全新一代的Gazebo机器人仿真平台,绝大部分功能 和源码可以在单独的计算机和Gazebo仿真平台上运行。同时,本书介绍实物机器人的搭建方法,并且在实物机器人上实现相应的功能。配套源码都加入了中文注释,同时针对核心内容提供C++和Python 两个版本,方便读者理解。
所以,本书不仅适合希望了解、学习、应用ROS 2的机器人初学者,也适合有一定经验的 机器人开发工程师,同时可以作为资深机器人开发者的参考手册。
致谢
本书的出版离不开众多“贵人”的帮助。感谢我的妻子薛先茹,谢谢你陪我辗转多地并一 直无条件支持我;感谢两个对世界充满好奇的小朋友胡敬然、胡泽然,是你们给了我前进的动力和思考的源泉;感谢电子工业出版社的支持,郑柳洁编辑为本书提供了很多宝贵建议,并组织推动本书顺利出版,张晶老师为本书的编排付出了大量心血;感谢本书的另一位作者李乔龙,配合我完成了全书的写作和修正工作;感谢当年斯坦福那群打造 ROS 的年轻人:Morgan Quigley、Brian Gerkey、Tully Foote 等,是你们大胆的想法和尝试,带来了机器人开发标准化的可能;感谢ROS机器人开发之路上一路同行的伙伴,我们都是智能机器人时代的创造者。要感谢的人太多,无法一一列举,但是我都铭记在心。
说明
为了方便读者阅读和学习本书,“古月居”机器人社区网站(guyuehome.com)专门设置 了一个主页(在导航栏中单击“图书”选项进入专属页面),供读者下载配套代码、查看操作指令,还可以学习很多配套的视频教程。
机器人系统错综复杂,ROS版本变化繁多,书中难免有不足和错误之处,欢迎读者朋友批 评指正,相关问题都可以在“古月居”机器人社区交流。
最后分享胡适先生的一句名言,愿你我共勉:怕什么真理无穷,进一寸有一寸的欢喜。
代码仓库
名称 | 链接 | 说明 |
---|---|---|
ros2_21_tutorials | https://gitee.com/guyuehome/ros2_21_tutorials | ros2 21讲上手代码 |
originbot | https://gitee.com/guyuehome/originbot | originbot机器人端功能包仓库 |
originbot_desktop | https://gitee.com/guyuehome/originbot_desktop | originbot电脑端功能包仓库 |
originbot_controller | https://gitee.com/guyuehome/originbot_controller | originbot控制器源码仓库 |
下载代码
您可以通过以下命令克隆代码仓库:
答疑区
如果您对本书有任何疑问,欢迎到 https://www.guyuehome.com/interlocution 进行提问
本章节后续内容说明
接下来的四个章节将为大家提供快速复制的指令说明,方便与图书内容配合使用!
购买链接
点击下图即可购买本书!