前言
第1章ROS入门1
11技术要求1
12ROS概述1
121ROS框架3
122在Ubuntu上安装ROS6
123什么是catkin9
124创建ROS软件包10
125什么是Gazebo14
13本章小结17
14习题17
第2章差分驱动机器人的基础知识18
21数学建模18
22正向运动学20
23逆向运动学23
24本章小结24
25习题24
26扩展阅读25
第3章差分驱动机器人的建模26
31技术要求27
32服务机器人的设计要求27
33机器人的传动装置27
331选择电机和轮子27
332设计小结29
333机器人底盘设计29
34安装LibreCAD、Blender和MeshLab30
341安装LibreCAD31
342安装Blender31
343安装MeshLab32
35用LibreCAD生成机器人的二维CAD图32
351底座设计33
352底座连接杆设计35
353轮子、电机和电机夹具设计36
354脚轮设计37
355中间层设计37
356顶层设计39
36用Blender制作机器人的三维模型40
361在Blender中编写Python脚本40
362Blender Python API41
363机器人模型的Python脚本42
37创建机器人的URDF模型47
38本章小结53
39习题53
310扩展阅读53
第4章利用ROS模拟差分驱动机器人54
41技术要求54
42开始使用Gazebo仿真器55
43结合TurtleBot 2进行仿真工作59
44创建ChefBot仿真62
441深度图像到激光扫描的转换65
442Gazebo仿真的URDF标签和插件65
45可视化机器人传感器数据70
451即时定位与地图构建72
452使用SLAM创建地图73
453自适应蒙特卡罗定位75
454在Gazebo环境中实现AMCL76
455ChefBot在酒店中使用Gazebo进行自主导航78
46本章小结79
47习题79
48扩展阅读80
第5章设计ChefBot的硬件和电路81
51技术要求81
52ChefBot硬件规格82
53机器人框图82
531电机和编码器83
532电机驱动器84
533嵌入式控制器板86
534超声传感器87
535惯性测量单元89
536Kinect/Orbbec Astra90
537中央处理单元91
538扬声器和麦克风92
539电源和电池92
54ChefBot硬件的工作原理93
55本章小结95
56习题95
57扩展阅读95
第6章将执行器和传感器连接到机器人控制器96
61技术要求97
62直流减速电机接入TivaC开发板97
621差分驱动轮式机器人99
622安装Energia IDE99
623电机接口代码104
63正交编码器接入TivaC开发板107
631编码器数据的处理108
632正交编码器接口代码111
64使用Dynamixel执行器114
65使用超声测距传感器117
66使用红外接近传感器123
67使用惯性测量单元125
671惯性导航125
672将MPU 6050与TivaC开发板连接126
673在Energia中编写接口代码129
68本章小结131
69习题132
610扩展阅读132
第7章视觉传感器接入ROS133
71技术要求133
72机器人视觉传感器和图像处理库134
721Pixy2/CMUcam5134
722罗技C920网络摄像头135 723Kinect 360135 724英特尔RealSense D400系列136 725Orbbec Astra深度传感器137 73OpenCV、OpenNI和PCL概述138 731OpenCV138 732OpenNI143 733PCL144 74使用ROS、OpenCV和OpenNI进行Kinect的Python编程144 741启动OpenNI驱动程序的方法145 742OpenCV的ROS接口145 75连接Orbbec Astra与ROS150 76使用Kinect、ROS、OpenNI和PCL处理点云150 77将点云数据转换为激光扫描数据151 78使用ROS和Kinect实现SLAM算法153 79本章小结154 710习题154 711扩展阅读155 第8章ChefBot硬件构建和软件集成156 81技术要求156 82构建ChefBot硬件157 83配置ChefBot PC并设置ChefBot ROS软件包160 84连接ChefBot传感器和TivaC161 85编写ChefBot的ROS Python驱动程序164 86了解ChefBot ROS启动文件169 87使用ChefBot Python节点和启动文件170 871使用SLAM在ROS上绘制房间地图175 872使用ROS定位和导航177 88本章小结179 89习题179 810扩展阅读179 第9章使用Qt和Python开发机器人GUI180 91技术要求180 92在Ubuntu 1604 LTS中安装Qt181 93在Qt中使用Python绑定进行开发181 931PyQt181 932PySide182 94使用PyQt和PySide进行开发182 941Qt设计器183 942Qt信号与槽机制184 943将UI文件转化为Python代码185 944向PyQt代码中添加槽定义186 945Hello World GUI应用程序
......
机器人操作系统(ROS)是科研和工业领域非常受欢迎的机器人软件框架。该系统性能强大,可以在机器人中实现多种功能,而不需要从零开始实施。
《机器人系统设计与制作:Python语言实现(原书第2版)》首先介绍机器人操作系统的基础知识,以便你了解差分驱动机器人的基本原理。然后,介绍机器人建模知识以及如何使用机器人操作系统进行设计和模拟。接着设计机器人硬件和接口驱动器。之后,讲述如何使用机器人操作系统对深度传感器和激光雷达进行配置和编程。最后,使用Qt框架为机器人创建图形用户界面。
学习完《机器人系统设计与制作:Python语言实现(原书第2版)》内容后,你将清楚地了解如何将所有元素集成和组装到机器人中,以及如何捆绑软件包。