第1章ROS概述
1.1ROS简介
1.1.1什么是ROS
1.1.2ROS的起源与发展
1.1.3ROS的设计目标
1.2ROS安装步骤
1.2.1ROS版本选择
1.2.2安装ROS
1.3ROS开发环境搭建
1.3.1安装终端
1.3.2安装VS Code
1.3.3其他IDE
本章小结
习题
第2章ROS架构
2.1ROS架构设计
2.2ROS文件系统
2.2.1Catkin编译系统
2.2.2Catkin工作原理
2.2.3使用catkin_make进行编译
2.2.4Catkin工作空间
2.2.5package软件包
2.2.6CMakeLists.txt文件
2.2.7package.xml文件
2.2.8Metapackage
2.2.9其他常见文件类型
2.3ROS计算图
2.3.1计算图简介
2.3.2计算图安装
2.3.3计算图演示
本章小结
习题
实验
第3章ROS通信机制
3.1Node和Master
3.1.1node
3.1.2master
3.1.3启动master与node
3.1.4rosnode命令
3.2话题通信机制
3.2.1话题通信理论模型
3.2.2话题创建示例(C++版)
3.2.3话题创建示例(Python版)
3.2.4自定义msg话题通信示例
3.2.5自定义msg话题消息调用(C++版)
3.2.6自定义msg话题消息调用(Python版)
3.3常见的消息类型
3.4服务通信机制
3.4.1服务通信的理论模型
3.4.2服务通信机制示例(C++版)
3.4.3服务通信机制示例(Python版)
3.4.4自定义srv服务数据
3.4.5自定义srv服务通信调用(C++版)
3.4.6自定义srv服务通信调用(Python版)
3.5常见的服务通信
3.6参数服务器
3.6.1命令行参数设置
3.6.2launch文件内读写参数
3.6.3节点源码内读写参数
3.7通信机制比较
本章小结
习题
实验
第4章ROS运行管理
4.1ROS节点运行管理
4.1.1launch文件标签之launch
4.1.2launch文件标签之node
4.1.3launch文件标签之include
4.1.4launch文件标签之remap
4.1.5launch文件标签之param
4.1.6launch文件标签之rosparam
4.1.7launch文件标签之arg
4.1.8launch文件标签之group
4.2ROS工作空间覆盖
4.3ROS节点重名
4.3.1rosrun设置命名空间与重映射
4.3.2launch文件设置命名空间与重映射
4.3.3编码设置命名空间与重映射
4.4ROS话题名称设置
4.4.1rosrun设置话题重映射
4.4.2launch文件设置话题重映射
4.4.3编码设置话题名称
4.5ROS参数名称设置
4.5.1rosrun设置参数
4.5.2launch文件设置参数
4.5.3编码设置参数
4.6launch文件综合案例
4.7ROS主从机通信配置
本章小结
习题
实验
第5章ROS常用组件工具
5.1TF坐标变换
5.1.1TF功能包
5.1.2TF消息
5.1.3TF与TF2
5.1.4静态坐标变换
5.1.5动态坐标变换
5.1.6多坐标变换
5.1.7TF相关工具命令
5.2Gazebo
5.2.1Gazebo简介
5.2.2仿真的意义
5.3RViz
5.4rosbag录制与回放数据
5.4.1rosbag简介
5.4.2rosbag命令
5.4.3录制数据
5.4.4检查并回放数据
5.4.5录制数据子集
5.5rqt工具箱
5.5.1rqt的安装、启动与使用
5.5.2rqt相关的命令
5.6rosbridge
本章小结
习题
实验
第6章智能机器人仿真设计
6.1仿真概述
6.2URDF概述
6.2.1URDF语法详解之robot标签
6.2.2URDF语法详解之link标签
6.2.3URDF语法详解之joint标签
6.2.4URDF机器人模型案例
6.2.5URDF工具
6.3改进URDF模型
6.3.1添加物理属性和碰撞属性
6.3.2URDF优化——Xacro
6.3.3Xacro语法解释
6.3.4Xacro示例
6.4添加传感器模型
6.5基于Arbotix在RViz中运动仿真
6.5.1安装Arbotix
6.5.2配置Arbotix控制器
6.5.3运行仿真环境
6.6URDF集成Gazebo仿真
6.6.1为机器人模型添加Gazebo属性
6.6.2URDF集成Gazebo的基本流程
6.6.3URDF集成Gazebo的相关设置
6.6.4URDF集成Gazebo案例实操
6.6.5搭建Gazebo仿真环境
6.7URDF、RViz和Gazebo综合应用
6.7.1机器人运动控制及里程计信息显示
6.7.2激光雷达仿真
6.7.3摄像头仿真
6.7.4Kinect传感器仿真
本章小结
习题
实验
第7章智能机器人系统设计
7.1智能机器人的组成
7.2智能机器人系统搭建
7.2.1控制原理
7.2.2上位机和单片机通信方案
7.2.3执行机构的实现
7.2.4驱动系统的实现
7.2.5智能机器人底盘实现
7.2.6基于树莓派的控制系统实现
7.2.7NoMachine远程连接
7.2.8安装ros_arduino_bridge
7.2.9ROS无线手柄
7.3智能机器人系统设计——传感器
7.3.1激光雷达传感器
7.3.2相机
7.4传感器集成
本章小结
习题
实验
第8章智能机器人SLAM与自主导航
8.1SLAM建图和导航仿真
8.1.1SLAM建图仿真
8.1.2Navigation导航仿真
8.2真实智能机器人SLAM与自主导航
本章小结
习题
实验
参考文献