目录前言第1章Linux Ubuntu入门基础1.1Ubuntu 简介1.2安装Ubuntu 20.041.2.1准备工具1.2.2制作Ubuntu系统安装启动U盘1.2.3在 Windows 10操作系统下创建空白磁盘分区1.2.4利用U盘安装Ubuntu系统1.3Ubuntu 20.04使用入门1.3.1截图快捷键1.3.2Ubuntu 20.04界面简介1.3.3命令行使用入门1.4本章小结第2章ROS安装与系统架构2.1ROS简介2.2ROS安装与配置2.3ROS默认安装目录2.4ROS架构2.4.1ROS文件系统级2.4.2ROS计算图级2.4.3ROS开源社区级2.4.4常用包管理指令2.5Visual Studio Code安装与配置2.6Visual Studio Code卸载2.7本章小结第3章ROS通信方式3.1主题3.1.1概述3.1.2发布器编程实例:小乌龟速度控制3.1.3订阅器编程实例:小乌龟速度接收3.2服务3.2.1概述3.2.2自定义srv消息文件编程实例3.2.3服务端编程实例3.2.4客户端编程实例3.3动作库3.3.1概述3.3.2自定义action消息文件编程实例3.3.3客户端编程实例3.3.4服务端编程实例3.4参数服务器3.4.1创建yaml文件3.4.2加载yaml文件3.4.3在节点中进行参数读取3.5本章小结第4章ROS实用工具4.1坐标变换4.1.1广播TF 变换4.1.2监听TF 变换4.2启动文件4.2.1编写launch文件4.2.2Launch文件解析4.3Gazebo仿真4.3.1开源项目的下载4.3.2启动仿真软件4.3.3启动键盘控制4.4Rviz三维可视化工具4.4.1开源项目的下载4.4.2启动Rviz可视化工具4.5本章小结第5章机器人建模与运动仿真5.1URDF的物理模型描述5.1.1开源项目示例5.1.2URDF的结构与惯性描述5.1.3仿真中常用的惯性参数5.2URDF的传感器描述5.2.1运动底盘仿真参数5.2.2激光雷达仿真参数5.2.3立体相机仿真参数5.3机器人运动仿真5.3.1运动控制仿真示例5.3.2与ROS工具的连接5.3.3基于传感器的闭环控制仿真示例5.4本章小结第6章机器人建图与导航仿真应用6.1在Gazebo中进行SLAM建图和导航仿真6.1.1SLAM建图仿真6.1.2Navigation导航仿真6.2ROS中的Navigation导航系统6.2.1Navigation的使用6.2.2全局规划器6.2.3局部规划器6.2.4AMCL6.2.5move_base6.2.6常见问题6.3开源地图导航插件简介6.3.1常规的导航调用6.3.2基于插件的导航调用6.3.3在仿真环境中设置航点6.3.4在仿真环境中使用插件导航6.3.5航点信息的编辑修改6.4语音识别和自主导航综合实例6.4.1下载语音识别包6.4.2编写实例代码6.4.3对实例进行仿真6.5本章小结第7章机器人平面视觉检测仿真应用7.1使用OpenCV获取机器人的视觉图像7.1.1编写例程代码7.1.2对例程进行仿真7.1.3在真机上运行实例7.2使用OpenCV进行颜色特征提取和目标定位7.2.1编写例程代码7.2.2对例程进行仿真7.2.3在真机上运行实例7.3实现机器人的目标跟随7.3.1编写例程代码7.3.2对例程进行仿真7.3.3在真机上运行实例7.4实现机器人的人脸检测7.4.1编写例程代码7.4.2对例程进行仿真7.4.3在真机上运行实例7.5本章小结第8章机器人三维视觉仿真实例8.1机器人的三维点云数据获取8.1.1编写例程代码8.1.2对例程进行仿真8.1.3在真机上运行实例8.2使用PCL点云库进行平面特征提取8.2.1编写例程代码8.2.2对例程进行仿真8.2.3在真机上运行实例8.3使用PCL点云库进行点云聚类分割8.3.1编写例程代码8.3.2对例程进行仿真8.3.3在真机上运行实例8.4基于三维视觉的物品检测和抓取8.4.1编写例程代码8.4.2对例程进行仿真8.4.3在真机上运行实例8.5本章小结第9章基于ROS的服务机器人应用实例9.1环境地图的创建9.2关键航点的设置9.3任务脚本代码的编写9.4完整实例的运行9.5在真机上运行实例9.6本章小结参考文献