新書推薦:

《
量子纠缠
》
售價:HK$
63.8

《
拥抱真实自我:内在小孩的探索和疗愈
》
售價:HK$
64.9

《
黑暗王后:缔造中世纪世界的血腥竞争
》
售價:HK$
129.8

《
小行星猎人:贝努小行星生命起源样本采集任务全记录
》
售價:HK$
63.8

《
孙机谈文物
》
售價:HK$
118.8

《
诡舍(夜来风雨声悬疑幻想震撼之作)
》
售價:HK$
54.8

《
讲给青少年的人工智能
》
售價:HK$
52.8

《
海外中国研究·宋代文人的精神生活(经典收藏版)--重构宋代文人的精神内核
》
售價:HK$
107.8
|
編輯推薦: |
机器人操作系统(ROS)是一个用于实现机器人编程和开发复杂机器人应用程序的开源软件框架。ROS虽然可以完成操作系统的很多功能,但是它仍然需要安装在例如Linux之类的操作系统上,所以也经常被称为元操作系统或中间件软件框架。目前,多数对机器人的导航开发都依附于ROS系统,同时SLAM技术在机器人自主导航中起着关键性作用,但由于其复杂的数学理论知识,许多读者谈之色变,只知道使用,却不知其原理,更不知如何改进。因此,本书以ROS系统为基础,以SLAM技术为前提,主要阐述了机器人自主导航的相关理论知识,使学生能够了解其中的原理。因此,本书不仅适合希望了解、学习、应用ROS机器人导航相关技术的初学者,也适合有一定经验的机器人开发人员参考。
|
內容簡介: |
《ROS机器人SLAM导航概论》以ROS系统为基础,以SLAM技术为前提主要阐述了机器人自主导航的相关理论知识,主要内容包括(1)ROS系统相关理论,阐述ROS的相关概念、设计目标、特点、发展历史和基本框架;(2)ROS通信机制实现: 话题通信、服务通信、参数服务器;(3)ROS语言编程基础;(4)ROS常用组件;(5)机器人SLAM技术;(6)机器人自主导航;(7)轮式机器人设计平台。该教材不仅适合希望了解、学习、应用ROS机器人导航相关技术的初学者,也适合有一定经验的机器人开发人员。
|
關於作者: |
王险峰,男,博士,东北石油大学副教授,硕士生导师。1996年7月毕业于黑龙江大学计算机应用专业;2008年4月毕业于大庆石油学院计算机应用技术专业获工学硕士学位;2012年7月毕业于哈尔滨工业大学计算机应用技术专业获工学博士学位。现任中国人工智能学会机器人文化艺术专业委员会常务委员;黑龙江省计算机学会智能机器人专业委员会委员。主要研究方向为机器人、无线传感器网络、机器学习、物联网。在仿人机器人动作规划、路径规划等研究领域(方向)取得了相关研究成果。
|
目錄:
|
ROS机器人SLAM导航概论目录第一章ROS相关理论1
1.1ROS简介1
1.1.1ROS的概念1
1.1.2ROS的设计目标与特点2
1.1.3ROS的起源与发展3
1.2Ubuntu系统4
1.2.1操作系统4
1.2.2Linux指令基础6
1.2.3Ubuntu系统安装8
1.3ROS开发环境搭建8
1.4ROS架构11
1.4.1ROS架构体系11
1.4.2ROS计算图13
1.4.3ROS文件系统14
1.4.4ROS开源社区16
1.5本章小结17
第二章ROS通信机制18
2.1话题通信机制18
2.1.1话题通信机制理论模型18
2.1.2话题通信案例分析20
2.2服务通信机制23
2.3参数服务器机制24
2.4通信常用命令26
2.4.1rosnode27
2.4.2rostopic27
2.4.3rosmsg28
2.4.4rosservice28
2.4.5rossrv28
2.4.6rosparam28
2.5通信机制的区别29
2.6本章小结29
第三章ROS语言编程基础30
3.1ROS编程语言简介30
3.2C 语言编程基础31
3.2.1C 语言概述31
3.2.2C 项目基本框架32
3.2.3数据处理35
3.2.4循环语句48
3.2.5分支语句与逻辑运算52
3.2.6数组58
3.2.7函数59
3.2.8对象和类62
3.3本章小结65
第四章ROS常用组件66
4.1TF坐标转换66
4.1.1机器人中的坐标系66
4.1.2机器人坐标关系工具TF67
4.1.3TF命令行工具68
4.1.4TF工具的使用68
4.2launch启动文件68
4.2.1launch启动文件基本组成元素68
4.2.2launch启动文件的常用标签元素69
4.3rosbag70
4.3.1rosbag基本操作指令70
4.3.2回放数据71
4.4rqt工具箱71
4.4.1rqt工具的使用71
4.4.2rqt_graph71
4.4.3rqt_console72
4.4.4rqt_plot72
4.4.5rqt_bag73
4.4.6rqt_reconfigure74
4.5三维可视化平台rviz74
4.5.1数据类型介绍74
4.5.2rviz整体界面75
4.5.3rviz添加显示内容75
4.5.4rviz主界面中常用按钮79
4.6Gazebo仿真环境80
4.6.1Gazebo的特点81
4.6.2Gazebo界面介绍81
4.6.3构建仿真环境83
4.7本章小结84
第五章机器人SLAM技术85
5.1SLAM概述85
5.1.1SLAM简介85
5.1.2SLAM的发展86
5.2SLAM基本理论90
5.3SLAM中的概率理论91
5.3.1概率机器人学91
5.3.2递归状态估计理论93
5.3.3贝叶斯滤波96
5.3.4粒子滤波算法97
5.3.5卡尔曼滤波算法及其变体98
5.4典型的SLAM算法概述100
5.4.1运动模型和测量模型101
5.4.2ORBSLAM3算法概述102
5.4.3SVO2算法概述104
5.4.4LSD-SLAM算法概述105
5.4.5Dyna-SLAM算法概述108
5.4.6VINS-Mono算法概述109
5.4.7MSCKF算法概述113
5.4.8LIMO-SLAM算法概述118
5.5激光SLAM算法120
5.5.1RBPF-SLAM算法120
5.5.2Gmapping算法121
5.5.3Cartographer算法127
5.5.4LOAM算法135
5.6视觉SLAM算法139
5.6.1ORB-SLAM2算法139
5.6.2ORB-SLAM3算法147
5.6.3源码分析148
5.7其他流行SLAM算法159
5.7.1RTABMAP算法159
5.7.2深度学习与SLAM167
5.8本章小结171
第六章机器人自主导航172
6.1自主导航概述172
6.2机器人自主导航构架172
6.2.1全局地图173
6.2.2自身定位174
6.2.3路径规划174
6.2.4运动控制174
6.2.5环境感知174
6.3地图构建175
6.3.1基于激光SLAM技术的地图构建175
6.3.2基于视觉SLAM技术的地图构建179
6.4自身定位179
6.5路径规划182
6.5.1Dijkstra全局路径规划算法183
6.5.2A全局路径规划算法183
6.5.3DWA局部路径规划算法185
6.6运动控制187
6.7环境感知187
6.8本章小结189
第七章轮式机器人设计平台191
7.1简介191
7.2底层开发板设计193
7.2.1底层开发板选择193
7.2.2Arduino语言基础194
7.3电机驱动设计198
7.3.1电机与电机驱动板198
7.3.2电机基本控制实现199
7.3.3电机测速200
7.3.4电机PID调速204
7.4底盘实现208
7.5上位机控制系统设计210
7.5.1树莓派概述与ubuntu系统安装210
7.5.2实现树莓派与PC的分布式系统搭建211
7.5.3使用ssh远程连接树莓派212
7.5.4树莓派端安装并配置ros_arduino_bridge213
7.6传感器设计215
7.6.1激光雷达215
7.6.2相机217
7.7本章小结218
|
|