作 者:[印]郎坦·約瑟夫(Lentin Joseph) [意]喬納森·卡卡切 著 張新宇 張志傑 等 譯
定 價:99
出 版 社:機械工業出版社
出版日期:2019年04月01日
頁 數:378
裝 幀:平裝
ISBN:9787111621997
機器人技術在強調一致性與完美性的工業領域極具吸引力。 自動化在當今世界發揮著重要作用,其中的大多數是通過機器人應用和支持機器人的各類平臺實現的。 ROS是一個模塊化軟件平臺,用於開發通用性的機器人應用。本書聚焦於ROS當前穩定的發布版本Kinect Kame,討論機器人領域的高級概念,並展示如何使用ROS編程。 本書首先深入介紹ROS框架,幫助你清晰地了解ROS是如何工作的。然後,你將學習如何構建復雜機器人的模型,並用運動規劃庫(ROS MoveIt!)和ROS導航軟件包集(Navigati等
●譯者序前言作者簡介譯者簡介第1章 ROS簡介 11.1 為什麼要學習ROS 11.2 在機器人開發中,人們為什麼更願意選擇ROS 21.3 為什麼有些人不願意選擇ROS 31.4 理解ROS的文件繫統 41.4.1 ROS軟件包 51.4.2 ROS超軟件包 71.4.3 ROS消息 71.4.4 ROS服務 91.5 理解ROS的計算圖 91.5.1 ROS節點 111.5.2 ROS消息 121.5.3 ROS話題 131.5.4 ROS服務 131.5.5 ROS消息記錄包 141.5.6 ROS節點管理器 141.5.7 應用ROS參數 161.6 ROS的社區 171.7 學習ROS需要做哪些準備 171.8 習題 201.9 本章小結 20第2章 ROS編程入門 212.1 創建一個ROS軟件包 212.1.1 學習ROS話題 232.1.2 創建ROS節點 232.1.3 編譯生成節點 262.2 添加自定義的msg和srv文件 282.3 使用ROS服務 302.3.1 使用ROS動作庫 342.3.2 編譯ROS動作服務器和客戶端 372.4 創建啟動文件 392.5 話題、服務和動作庫的應用 412.6 維護ROS軟件包 412.7 發布ROS軟件包 422.7.1 準備發布ROS軟件包 432.7.2 發布軟件包 432.7.3 為ROS軟件包創建維基頁面 452.8 習題 472.9 本章小結 47第3章 在ROS中為3D機器人建模 483.1 機器人建模的ROS軟件包 493.2 利用URDF理解機器人建模 503.3 為機器人描述創建ROS軟件包 523.4 創建我們的第一個URDF模型 523.5 詳解URDF文件 543.6 在RViz中可視化機器人3D模型 553.7 向URDF模型添加物理屬性和踫撞屬性 573.8 利用xacro理解機器人建模 583.8.1 使用屬性 583.8.2 使用數學表達式 593.8.3 使用宏 593.9 將xacro轉換為URDF 593.10 為7-DOF機械臂創建機器人描述 603.10.1 機械臂規格 613.10.2 關節類型 613.11 解析7-DOF機械臂的xacro模型 613.11.1 使用常量 613.11.2 使用宏 623.11.3 包含其他xacro文件 623.11.4 在連杆中使用網格模型 633.11.5 使用機器人夾爪 633.11.6 在RViz中查看7-DOF機械臂 633.12 為差速驅動移動機器人創建機器人模型 663.13 習題 703.14 本章小結 70第4章 使用ROS和Gazebo進行機器人仿真 714.1 使用Gazebo和ROS仿真機械臂 714.2 為Gazebo創建機械臂仿真模型 724.2.1 為Gazebo機器人模型添加顏色和紋理 734.2.2 添加transmission標簽來驅動模型 744.2.3 添加gazebo_ros_control插件 744.2.4 在Gazebo中添加3D視覺傳感器 754.3 仿真裝有Xtion Pro的機械臂 764.4 在Gazebo中使用ROS控制器 784.4.1 認識ros_control軟件包 784.4.2 不同類型的ROS控制器和硬件接口 794.4.3 ROS控制器如何與Gazebo交互 794.4.4 將關節狀態控制器和關節位置控制器連接到手臂 804.4.5 在Gazebo中啟動ROS控制器 814.4.6 控制機器人的關節運動 834.5 在Gazebo中仿真差速輪式機器人 834.5.1 將激光雷達添加到機器人中 854.5.2 在Gazebo中控制機器人移動 864.5.3 在啟動文件中添加關節狀態發布者 874.6 添加ROS遙控節點 884.7 習題 894.8 本章小結 89第5章 用ROS和V-REP進行機器人仿真 915.1 安裝帶有ROS的V-REP 915.2 理解vrep_plugin 955.2.1 使用ROS服務與V-REP交互 965.2.2 使用ROS話題與V-REP交互 985.3 使用V-REP和ROS仿真機械臂 1015.4 在V-REP下仿真差速輪式機器人 1075.4.1 在V-REP中添加激光傳感器 1095.4.2 在V-REP中添加3D視覺傳感器 1105.5 習題 1125.6 本章小結 112第6章 ROS MoveIt!與導航軟件包集 1136.1 安裝MoveIt! 1136.2 使用配置助手工具生成MoveIt!配置軟件包 1186.2.1 第1步:啟動配置助手工具 1186.2.2 第2步:生成自踫撞矩陣 1206.2.3 第3步:增加虛擬關節 1206.2.4 第4步:添加規劃組 1216.2.5 第5步:添加機器人姿態 1226.2.6 第6步:設置機器人的末端執行器 1226.2.7 第7步:添加被動關節 1236.2.8 第8步:作者信息 1236.2.9 第9步:生成配置文件 1236.3 使用MoveIt!配置軟件包在RViz中進行機器人運動規劃 1246.3.1 使用RViz運動規劃插件 1256.3.2 MoveIt!配置軟件包與Gazebo的接口 1286.4 理解ROS導航軟件包集 1336.4.1 ROS導航硬件的要求 1336.4.2 使用導航軟件包 1346.5 安裝ROS導航軟件包集 1366.6 使用SLAM構建地圖 1366.6.1 為gmapping創建啟動文件 1376.6.2 在差速驅動機器人上運行SLAM 1386.6.3 使用amcl和靜態地圖實現自主導航 1416.6.4 創建amcl啟動文件 1416.7 習題 1446.8 本章小結 144第7章 使用pluginlib、小節點和Gazebo 插件 1457.1 理解pluginlib 1457.2 理解ROS小節點 1517.3 理解Gazebo插件 1567.4 習題 1607.5 本章小結 160第8章 ROS控制器和可視化插件編程 1618.1 理解 ros_control軟件包集 1628.1.1 controller
本書主要面向機器人開發人員和想充分利用ROS功能的研究人員,是一本側重ROS框架高級概念的進階學習指南。書中既介紹了ROS的基本概念,又繫統講解了使用ROS進行復雜機器人設計、建模、仿真和交互的實用技術、工具和編程技巧,包含大量示例,可以為你快速提升ROS實戰技能提供翔實參考。全書共15章,第1章簡要介紹ROS基本概念;第2章解釋如何使用ROS軟件包;第3章討論7-DOF機械臂和差速驅動機器人的設計;第4章和第5章通過示例詳細講解如何使用Gazebo和V-REP這兩個的機器人仿真軟件;第6章介紹如何使用ROS MoveIt!和導航軟件包集的現有功能;第7章討論ROS pluginlib、小節點和控制器等一些高級概念;第8章進一步討論RViz插件和ROS控制器;第9章討論一些硬件組件與ROS的接口;第10章討論如何使用ROS連接各種視覺傳感器,並利用開源計算機視覺庫(OpenCV)和點雲庫(等
[印]郎坦·約瑟夫(Lentin Joseph) [意]喬納森·卡卡切 著 張新宇 張志傑 等 譯
朗坦·約瑟夫(Lentin Joseph)是一名來自印度的作家、創業者。他是印度Qbotics實驗室的創始人兼CEO,在機器人領域已經有7年的從業經驗,主要研究方向包括機器人操作繫統(ROS)、OpenCV、PCL等。 喬納森·卡卡切(Jonathan Cacace)在意大利那不勒斯腓特烈二世大學獲計算機科學碩士學位及信息與自動化工程博士學位。目前,喬納森是那不勒斯腓特烈二世大學PRISMA實驗室的博士後,主要研究工業機器人和服務機器人,曾經開發了幾款基於ROS且集成了機器人感知控制的機器人應用。
第1章ROS簡介本章將介紹ROS的基本概念,如ROS節點管理器、ROS節點、ROS參數服務器、ROS消息、ROS服務,並討論如何安裝ROS,以及如何從ROS節點管理器開始學習。本章將介紹以下內容:為什麼要學習 ROS?為什麼有些人願意選擇ROS,有些人不願意選擇ROS?理解ROS的文件繫統,及ROS的計算“圖”的概念。理解ROS框架的基本構成。從ROS節點管理器開始學習。1.1 為什麼要學習ROS機器人操作繫統(Robot Operating System,ROS)是一個靈活的軟件框架,為機器人軟件開發提供了豐富的工具和軟件庫,可以幫助人們提高開發機器人的效率。ROS尤其側重機器人軟件繫統中的消息傳遞、分布式計算、代碼復用和近期新的算法實現。ROS項目起源於2007年的Switchyard項目,當時由Morgan Qui等
機器人操作繫統(Robot Operating System,ROS)本質是機器人繫統的中間件,可幫助開發人員編寫機器人應用程序,現已被機器人公司、研究機構和大學廣泛采用。本書主要介紹ROS框架的高級概念,特別適合已經熟悉ROS基本概念的讀者。但是,第1章還是簡要介紹了ROS的基本概念,以幫助初學者快速入門。讀者將了解新機器人的軟件包生成、機器人建模、設計等,以及利用ROS框架對機器人進行仿真、與ROS連接。這裡使用的是高級的仿真軟件和ROS工具,這些工具可以輔助機器人導航、控制和傳感器可視化。最後,讀者將學習如何使用ROS底層控制器、小節點(nodelet)和插件等重要概念。讀者可以使用普通計算機來運行本書中的大部分示例,而無須任何特殊硬件。但是,在本書的某些章節中將討論如何使用特殊硬件將ROS與外部傳感器、驅動器和I/O開發板一起使用。本書是按照如下順序來組織的。在介紹了ROS的基本概等