前言
术语列表
第一章 ROS简介
1.1 ROS简介
1.2 ROS安装
1.3 ROS支持的机器人
1.4 ROS网上资源
第二章 ROS总体框架及基本命令
2.1 ROS总体框架
2.1.1 文件系统级
2.1.2 计算图级
2.1.3 社区级
2.1.4 更高层概念
2.1.5 名称
2.2 ROS基本命令
2.2.1 ROS文件系统命令
2.2.2 ROS核心命令
2.3 工具
2.3.1 3D可视化工具:rviz
2.3.2 传感器数据记录与可视化工具:rosbag和rxbag
2.3.3 画图工具:rxplot
2.3.4 系统可视化工具:rxgraph
2.3.5 rxco_ole
2.3.6 tf命令
2.4 例子
2.4.1 创建ROS消息和服务
2.4.2 记录和回放数据
2.4.3 手工创建ROS功能包
2.4.4 人项目上运行roslaunch
2.4.5 在多台机器上运行ROS系统
2.4.6 定义客户消息
第三章 ROS客户端库
3.1 概述
3.2 roscpp客户端库
3.2.1 简单的主题发布者和主题订阅者
3.2.2 简单的服务器端和客户端
3.2.3 roscpp中参数的使用
3.2.4 从节点句柄存取私有名称
3.2.5 用类方法订阅和回调服务
3.2.6 计时器
3.2.7 带动态町重配置及参数服务器的主题发布者订阅者节点(C++)
3.2.8 带动态可重配置及参数服务器的主题发布者订阅者节点(Pytl]on)
3.2.9 组合c++Pytlion主题发布者订阅者节点
3.3 rospy客户端库
3.3.1 简单的主题发布者订阅者
3.3.2 简单的服务端和客户端
3.3.3 rospy中参数的使用
3.3.4 rospy中numpy的使用
3.3.5 rospy运行日志
3.3.6 ROSPythonMakefile文件
3.3.7 设置PYTHONPATH
3.3.8 发布消息
3.4 roslisp客户端库
3.5 实验阶段的客户端库
3.5.1 rosjava
3.5.2 roslua
第四章 openCV
4.1 image_common功能包集
4.1.1 image_ra_port功能包
4.1.2 camera_calibration.pa_e_功能包
4.1.3 camera_jnfo_znanager功能包
4.1.4 polled_camera功能包
4.2 image_pipeline功能包集
4.3 vision_opencv功能包集
4.3.1 opencv2
4.3.2 cv_bridge
4.3.3 image_geometry
4.4 投影tf坐标系到图像(C++)
4.5 演示例子
4.5.1 使用颜色追踪物体
4.5.2 识别物体
第五章 SLAM和导航
5.1 使用tf配置机器人
5.2 通过ROS发布里程计信息
5.3 通过ROS发布传感器数据流
5.4 SLAM
5.4.1 SLAM简介
5.4.2 slam_gmapping功能包
5.4.3 使用记录的数据建立地图
5.4.4 模拟器中建立地图
5.4.5 模拟器中使用客户定制地图
5.5 配置和使用导航功能包集
5.5.1 导航功能包集摹本操作
5.5.2 在机器人上设置和配置导航功能包集
5.5.3 rviz与导航功能包集配合使用
5.5.4 发送目标到导航功能包集
第六章 抓取操作
6.1 机器人手臂的运动规划
6.1.1 安装和配置
6.1.2 编译于臂导航功能包集
6.1.3 启动模拟器和仿真环境
6.1.4 启动相关节点
6.1.5 控制于臂运动
6.2 运动规划的环境表示
6.2.1 基于白滤波数据构建碰撞地图
6.2.2 检测关节轨迹碰撞
6.2.3 给定机器人状态下的碰撞检测
6.2.4 添加已知点到运动规划环境
6.2.5 添加物体到机器人本体
6.3 用于PR2机器人手臂的运动学
6.3.1 从PR2运动学开始
6.3.2 从运动学节点获取运动学求解器信息
6.3.3 PR2手臂运动学正解
6.3.4 PR2手臂运动学逆解
6.3.5 PR2于臂无碰撞运动学逆解
6.4 用于PR2机器人手臂的安全轨迹控制
6.5 使用轨迹滤波节点进行轨迹滤波
6.5.1 生成无碰撞三次样条轨迹
6.5.2 使用轨迹滤波服务器对关节轨迹进行滤波
6.5.3 学习如何创建自己的轨迹滤波
6.6 机器人状态和轨迹可视化
第七章 Kinect
7.1 Kinect简介
7.2 安装驱动
7.2.1 Ubuntu系统上安装Kinect
7.2.2 基十源的安装
7.3 测试
7.3.1 测试Kinect彩色摄像机
7.3.2 测试Kinect深度摄像机
7.3.3 测试Kinect马达
7.4 opennicamera
7.5 opennitracker
第八章 点云库
8.1 PCL简介
8.1.1 PCL架构
8.1.2 PCL数据结构
8.1.3 PCl与ROS的集成
8.2 PCL可视化库
8.3 PCL与Kinect连接
8.4 例子
第九章 综合演示示例
9.1 实验一:SLAM(即时定位与地图构建)
9.2 实验二:机器人导航-
9.3 实验三:识别并抓取物体
参考文献
彩图
展开