机器人操作系统ROS应用实践
¥79.90定价
作者: 彭刚等
出版时间:2024-03
出版社:电子工业出版社
- 电子工业出版社
- 9787121386022
- 1-3
- 512183
- 48253288-4
- 平塑勒
- 16开
- 2024-03
- 577
- 352
- 电子信息与电气
- 本科 研究生及以上
内容简介
越来越多的机器人正走向人们的生活及生产环境,机器人操作系统(Robot Operating System,ROS)作为一种重要的软件开发框架,提高了机器人系统的开发与部署效率,在分工协作、软件维护和系统扩展中具有重要意义。本书以任务为驱动,按照工作导向的思路展开教学与实践学习,通过“学中做、做中学”的方式,循序渐进地介绍机器人操作系统应用开发方法,通过构思、设计、实施和运行多个环节,构建基于传感器的智能机器人系统。本书内容全面,包括机器人系统组成、将机器人连接到ROS、建立机器人系统模型、移动机器人激光SLAM、移动机器人自主导航、基于多传感器的SLAM、机械臂运动控制、计算机视觉、基于视觉的机械臂抓取、移动机器人视觉SLAM、ROS 2.0介绍与编程基础等内容,有利于读者掌握ROS原理与应用实践开发方法,培养软件全栈开发能力。 __eol__ 本书通俗易懂、内容丰富,是作者团队多年机器人科研项目和产品开发的积累,书中提供了大量的实例代码供读者学习研究。 __eol__ 本书可作为高等院校自动化、机器人工程、人工智能、机电一体化等相关专业的“机器人系统原理”“机器人操作系统”“机器人系统应用开发”课程的教材和教学参考书,也可以作为工程实训与学科竞赛的实践教材和实验配套教材,同时还可供广大希望从事机器人系统开发和设计的工程技术人员、教师或者个人参考。
目录
目 录__eol____eol__第1章 机器人系统组成 1__eol__1.1 移动底盘和机械臂 1__eol__1.1.1 移动底盘 1__eol__1.1.2 机械臂 4__eol__1.2 机器人系统的硬件组成 6__eol__1.2.1 控制系统 6__eol__1.2.2 驱动系统 7__eol__1.2.3 执行机构 7__eol__1.2.4 传感系统 8__eol__1.3 传感器说明与功能介绍 8__eol__1.3.1 编码器 8__eol__1.3.2 惯性测量单元 9__eol__1.3.3 激光雷达 10__eol__1.3.4 相机 13__eol__1.3.5 红外传感器 14__eol__1.3.6 超声波传感器 14__eol__1.3.7 毫米波雷达 15__eol__1.3.8 碰撞传感器 16__eol__1.3.9 多传感器融合 16__eol__1.4 机器人系统的软件组成 17__eol__1.4.1 操作系统 17__eol__1.4.2 应用软件 17__eol__任务 远程桌面连接:使用Spark机器人平台 17__eol__1.5 本章小结 20__eol__扩展阅读 20__eol__练习题 20__eol__第2章 将机器人连接到ROS 22__eol__2.1 初识ROS 22__eol__2.1.1 ROS起源 22__eol__2.1.2 ROS架构 22__eol__2.1.3 ROS特点 24__eol__2.2 如何安装ROS 24__eol__2.2.1 操作系统和ROS版本 24__eol__2.2.2 Linux基础简介 25__eol__2.2.3 ROS安装 29__eol__2.2.4 设置环境变量 30__eol__2.2.5 验证安装 31__eol__2.3 ROS文件系统与通信机制 31__eol__2.3.1 文件系统 31__eol__2.3.2 ROS通信及其工作机制 33__eol__2.4 编写第一个ROS程序 38__eol__2.4.1 ROS功能包依赖管理 38__eol__2.4.2 ROS工作空间 39__eol__2.4.3 功能包创建与编译 42__eol__任务1 运行一个简单ROS程序 48__eol__2.4.4 ROS 节点的编写规则 50__eol__2.4.5 运行节点的两种途径 52__eol__2.4.6 launch文件 53__eol__2.4.7 坐标变换基础 54__eol__任务2 让小海龟跑起来 58__eol__2.5 ROS常用组件 59__eol__2.5.1 可视化工具 60__eol__2.5.2 rosbag数据记录与回放 62__eol__2.5.3 ROS调试工具箱 64__eol__2.6 Spark底盘控制 66__eol__任务3 让Spark机器人运动起来 67__eol__2.7 ROS外接设备介绍 69__eol__2.7.1 遥控手柄 69__eol__2.7.2 激光雷达 72__eol__2.7.3 视觉传感器 74__eol__2.7.4 惯性测量单元与定位模块 76__eol__2.7.5 伺服电机 78__eol__2.7.6 嵌入式控制器 79__eol__2.8 本章小结 80__eol__扩展阅读 80__eol__练习题 80__eol__第3章 建立机器人系统模型 81__eol__3.1 移动底盘运动模型与控制 81__eol__3.1.1 移动机器人运动模型与位置表示 81__eol__3.1.2 URDF建模 85__eol__3.1.3 机器人状态发布 97__eol__3.1.4 移动底盘运动控制 99__eol__任务1 控制ROS仿真机器人与真实机器人同步运动 103__eol__3.2 基于激光雷达的环境感知 105__eol__3.2.1 rplidar功能包 105__eol__3.2.2 hector_mapping介绍 107__eol__3.2.3 hector_mapping的使用 108__eol__任务2 小车运动时的点云数据 110__eol__3.3 本章小结 111__eol__参考文献 111__eol__扩展阅读 111__eol__练习题 112__eol__第4章 移动机器人激光SLAM 113__eol__4.1 SLAM基本原理 113__eol__4.1.1 SLAM概述 113__eol__4.1.2 移动机器人坐标系 114__eol__任务1 机器人坐标变换 115__eol__4.1.3 ROS导航与定位过程 119__eol__4.1.4 环境建图与位姿估计 120__eol__4.2 Gmapping算法 121__eol__4.2.1 原理分析 122__eol__4.2.2 实施流程 122__eol__任务2 基于Gmapping算法的激光2D建图 123__eol__4.3 Hector SLAM算法 125__eol__4.3.1 原理分析 125__eol__任务3 基于Hector SLAM算法的激光2D建图 127__eol__4.3.2 建图结果 128__eol__4.4 本章小结 129__eol__参考文献 129__eol__扩展阅读 130__eol__练习题 130__eol__第5章 移动机器人自主导航 131__eol__5.1 基于地图的定位 131__eol__5.1.1 蒙特卡罗定位 131__eol__5.1.2 自适应蒙特卡罗定位 133__eol__任务1 移动机器人定位 137__eol__5.2 基于地图的自主导航 139__eol__5.2.1 导航框架 139__eol__5.2.2 全局路径规划 140__eol__5.2.3 局部路径规划 145__eol__5.2.4 导航功能包 151__eol__任务2 移动机器人导航 157__eol__5.3 本章小结 159__eol__参考文献 159__eol__扩展阅读 160__eol__练习题 160__eol__第6章 基于多传感器的SLAM 161__eol__6.1 惯性测量单元模型与标定 161__eol__6.1.1 惯性测量单元测量模型 162__eol__6.1.2 系统误差的预标定 162__eol__6.1.3 随机误差的预标定 164__eol__6.2 激光雷达与IMU的外参标定 165__eol__6.3 差速轮式移动机器人的运动里程计模型 167__eol__6.4 基于卡尔曼滤波的多传感器融合 169__eol__任务1 基于滤波器的SLAM算法 170__eol__6.5 Cartographer算法 172__eol__6.5.1 原理分析 173__eol__任务2 基于图优化的SLAM 174__eol__6.5.2 建图结果 178__eol__6.6 本章小结 179__eol__参考文献 179__eol__扩展阅读 180__eol__练习题 180__eol__第7章 机械臂运动控制 181__eol__7.1 机械臂建模 181__eol__7.1.1 ROS中常用的机械臂 181__eol__7.1.2 机械臂URDF模型 182__eol__7.1.3 机械臂URDF建模 184__eol__7.2 机械臂控制——MoveIt 188__eol__7.2.1 MoveIt简介 188__eol__7.2.2 Setup Assistant配置机械臂 188__eol__7.2.3 MoveIt可视化控制 193__eol__7.2.4 机械臂运动学 194__eol__任务1 让机械臂动起来——MoveIt与Gazebo仿真 198__eol__7.3 MoveIt编程——机械臂运动规划 202__eol__7.3.1 关节空间运动规划 202__eol__7.3.2 工作空间运动规划 204__eol__7.3.3 笛卡尔空间运动规划 207__eol__7.3.4 机械臂碰撞检测 211__eol__任务2 数字孪生——真实机械臂与仿真机械臂同步运动 214__eol__7.4 本章小结 216__eol__参考文献 216__eol__扩展阅读 217__eol__练习题 217__eol__第8章 计算机视觉 218__eol__8.1 认识OpenCV 218__eol__8.1.1 安装OpenCV 218__eol__8.1.2 使用OpenCV 218__eol__8.2 单目视觉传感器的使用 220__eol__任务1 图像采集 220__eol__8.3 相机标定 221__eol__8.3.1 针孔相机模型 222__eol__8.3.2 畸变模型 224__eol__8.3.3 相机标定的原理和过程 225__eol__8.3.4 相机标定功能包 227__eol__8.4 图像变换与处理 230__eol__8.4.1 透视变换 230__eol__8.4.2 图像匹配 233__eol__8.4.3 图像