封面
版权页
作者简介
引文
前言|Preface
作者简介|About the Authors
About the Revisers|审校者简介
第一部分 ROS编程基本技能
第1章 ROS简介
1.1 为什么选择ROS
1.2 理解ROS文件系统级别
1.2.1 ROS功能包
1.2.2 ROS元功能包
1.2.3 ROS消息
1.2.4 ROS服务
1.3 理解ROS计算图级别
1.3.1 ROS节点
1.3.2 ROS信息
1.3.3 ROS主题
1.3.4 ROS服务
1.3.5 ROS bag文件
1.3.6 ROS节点管理器
1.3.7 使用ROS参数
1.4 ROS社区级别
1.5 准备工作
1.5.1 ROS发行版
1.5.2 运行ROS节点管理器和ROS参数服务器
1.5.3 检查roscore命令的输出
1.6 总结
1.7 问题
第2章 ROS编程入门
2.1 创建ROS功能包
- APP免费
2.1.1 使用ROS主题
- APP免费
2.1.2 创建ROS节点
- APP免费
2.1.3 编译节点
- APP免费
2.2 添加自定义的.msg文件和.srv文件
- APP免费
2.3 使用ROS服务
- APP免费
2.3.1 使用ROS actionlib
- APP免费
2.3.2 编译ROS动作服务器和客户端
- APP免费
2.4 创建启动文件
- APP免费
2.5 主题、服务和actionlib的应用
- APP免费
2.6 总结
- APP免费
2.7 问题
- APP免费
第二部分 ROS机器人仿真
- APP免费
第3章 使用ROS进行3D建模
- APP免费
3.1 用于机器人建模的ROS软件包
- APP免费
3.2 使用URDF理解机器人建模
- APP免费
3.3 为机器人描述创建ROS软件包
- APP免费
3.4 创建我们的第一个URDF模型
- APP免费
3.5 解析URDF文件
- APP免费
3.6 在RViz中可视化3D机器人模型
- APP免费
3.7 向URDF模型添加物理属性和碰撞属性
- APP免费
3.8 使用xacro理解机器人建模
- APP免费
3.8.1 使用属性
- APP免费
3.8.2 使用数学表达式
- APP免费
3.8.3 使用宏
- APP免费
3.9 将xacro转换为URDF
- APP免费
3.10 为7-DOF机械臂创建机器人描述
- APP免费
3.11 解析7-DOF机械臂的xacro模型
- APP免费
3.11.1 使用常量
- APP免费
3.11.2 使用宏
- APP免费
3.11.3 包含其他xacro文件
- APP免费
3.11.4 在连杆中使用网格模型
- APP免费
3.11.5 使用机器人夹爪
- APP免费
3.11.6 在RViz中查看7-DOF机械臂
- APP免费
3.12 为差速驱动机器人创建机器人模型
- APP免费
3.13 总结
- APP免费
3.14 问题
- APP免费
第4章 使用ROS和Gazebo进行机器人仿真
- APP免费
4.1 使用Gazebo和ROS仿真机械臂
- APP免费
4.2 为Gazebo创建机械臂仿真模型
- APP免费
4.2.1 为Gazebo机器人模型添加颜色和纹理
- APP免费
4.2.2 添加transmission标签来驱动模型
- APP免费
4.3 添加gazebo_ros_control插件
- APP免费
4.4 仿真装有Xtion Pro的机械臂
- APP免费
4.5 在Gazebo中使用ROS控制器移动机器人关节
- APP免费
4.5.1 理解ros_control软件包
- APP免费
4.5.2 不同类型的ROS控制器与硬件接口
- APP免费
4.5.3 ROS控制器如何与Gazebo交互
- APP免费
4.5.4 将关节状态控制器和关节位置控制器连接到机械臂
- APP免费
4.5.5 在Gazebo中启动ROS控制器
- APP免费
4.5.6 移动机器人关节
- APP免费
4.6 在Gazebo中仿真差速轮式机器人
- APP免费
4.6.1 向Gazebo中添加激光雷达
- APP免费
4.6.2 在Gazebo中控制机器人移动
- APP免费
4.6.3 为启动文件添加关节状态发布者
- APP免费
4.7 添加ROS遥控节点
- APP免费
4.8 总结
- APP免费
4.9 问题
- APP免费
第5章 使用ROS、CoppeliaSim和Webots进行机器人仿真
- APP免费
5.1 使用ROS配置CoppeliaSim
- APP免费
5.1.1 理解RosInterface插件
- APP免费
5.1.2 处理ROS消息
- APP免费
5.2 使用CoppeliaSim和ROS仿真机械臂
- APP免费
5.3 使用ROS设置Webots
- APP免费
5.3.1 Webots仿真器简介
- APP免费
5.3.2 使用Webots仿真移动机器人
- APP免费
5.4 编写第一个控制器
- APP免费
5.5 使用webots_ros编写遥控节点
- APP免费
5.6 总结
- APP免费
5.7 问题
- APP免费
第6章 使用ROS MoveIt!与Navigation栈
- APP免费
6.1 MoveIt!架构
- APP免费
6.1.1 move_group节点
- APP免费
6.1.2 基于MoveIt!的运动规划
- APP免费
6.1.3 运动规划请求适配器
- APP免费
6.1.4 MoveIt!规划场景
- APP免费
6.1.5 MoveIt!运动学处理
- APP免费
6.1.6 MoveIt!碰撞检测
- APP免费
6.2 基于设置助手生成MoveIt!配置包
- APP免费
6.3 在RViz中使用MoveIt!配置包进行机器人运动规划
- APP免费
6.3.1 使用RViz的运动规划插件
- APP免费
6.3.2 MoveIt!配置包与Gazebo交互
- APP免费
6.4 理解ROS导航栈
- APP免费
6.4.1 导航栈的硬件需求
- APP免费
6.4.2 使用导航软件包
- APP免费
6.4.3 使用导航栈
- APP免费
6.5 使用SLAM构建地图
- APP免费
6.5.1 为gmapping创建启动文件
- APP免费
6.5.2 在差速驱动机器人上运行SLAM
- APP免费
6.5.3 基于amcl和静态地图实现自主导航
- APP免费
6.5.4 创建amcl启动文件
- APP免费
6.6 总结
- APP免费
6.7 问题
- APP免费
第7章 探索ROS MoveIt!的高级功能
- APP免费
7.1 使用move_group的C++接口进行运动规划
- APP免费
7.1.1 使用MoveIt!C++API规划随机路径
- APP免费
7.1.2 使用MoveIt!C++API规划自定义路径
- APP免费
7.1.3 使用MoveIt!进行机械臂的碰撞检测
- APP免费
7.2 使用MoveIt!和Gazebo进行感知
- APP免费
7.3 使用MoveIt!操作对象
- APP免费
7.3.1 使用MoveIt!执行拾取和放置任务
- APP免费
7.3.2 在Gazebo和真实的机器人中应用抓取和放置动作
- APP免费
7.4 了解用于机器人硬件接口的DYNAMIXEL ROS伺服控制器
- APP免费
7.4.1 DYNAMIXEL伺服舵机
- APP免费
7.4.2 DYNAMIXEL-ROS接口
- APP免费
7.5 7-DOF机械臂与ROS MoveIt!
- APP免费
7.5.1 为COOL机械臂创建一个控制器软件包
- APP免费
7.5.2 COOL机械臂的MoveIt!配置
- APP免费
7.6 总结
- APP免费
7.7 问题
- APP免费
第8章 ROS在空中机器人上的应用
- APP免费
8.1 使用空中机器人
- APP免费
8.1.1 UAV硬件
- APP免费
8.1.2 Pixhawk自动驾驶仪
- APP免费
8.2 使用PX4飞行控制栈
- APP免费
8.2.1 PX4固件架构
- APP免费
8.2.2 PX4 SITL
- APP免费
8.3 PC/自动驾驶仪通信
- APP免费
8.4 编写ROS-PX4应用程序
- APP免费
8.4.1 编写轨迹流线
- APP免费
8.4.2 PX4的外部位姿估计
- APP免费
8.5 使用RotorS仿真框架
- APP免费
8.5.1 安装RotorS
- APP免费
8.5.2 RotorS软件包
- APP免费
8.5.3 创建一种新的无人机模型
- APP免费
8.5.4 与RotorS电机模型交互
- APP免费
8.6 总结
- APP免费
8.7 问题
- APP免费
第三部分 ROS机器人硬件原型开发
- APP免费
第9章 将I/O板传感器和执行器连接到ROS
- APP免费
9.1 理解Arduino-ROS接口
- APP免费
9.2 Arduino-ROS接口
- APP免费
9.2.1 理解ROS中的rosserial包
- APP免费
9.2.2 理解Arduino中的ROS节点API
- APP免费
9.2.3 ROS-Arduino发布者和订阅者示例
- APP免费
9.2.4 ROS-Arduino示例:用按钮闪烁LED
- APP免费
9.2.5 ROS-Arduino示例:加速度计ADXL 335
- APP免费
9.2.6 ROS-Arduino示例:超声波距离传感器
- APP免费
9.2.7 ROS-Arduino示例:里程计数据发布器
- APP免费
9.3 将非Arduino板连接到ROS
- APP免费
9.3.1 设置Odroid-C4、树莓派4和Jetson Nano用于安装ROS
- APP免费
9.3.2 在树莓派4上使用ROS闪烁LED
- APP免费
9.3.3 在树莓派2上使用ROS通过按钮闪烁LED
- APP免费
9.3.4 在树莓派4上运行示例
- APP免费
9.4 将DYNAMIXEL执行器连接到ROS
- APP免费
9.5 总结
- APP免费
9.6 问题
- APP免费
第10章 使用ROS、OpenCV和PCL编程视觉传感器
- APP免费
10.1 软硬件需求
- APP免费
10.2 理解ROS-OpenCV接口软件包
- APP免费
10.3 理解ROS-PCL接口软件包
- APP免费
10.4 连接ROS与USB网络摄像头
- APP免费
10.5 校准ROS摄像机
- APP免费
10.6 将Kinect和Asus Xtion Pro与ROS连接
- APP免费
10.7 连接Intel RealSense摄像机与ROS
- APP免费
10.8 连接Hokuyo激光雷达与ROS
- APP免费
10.9 使用点云数据
- APP免费
10.9.1 如何发布点云
- APP免费
10.9.2 如何订阅和处理点云
- APP免费
10.9.3 从PCD文件读取和发布点云
- APP免费
10.10 总结
- APP免费
10.11 问题
- APP免费
第11章 在ROS中构建与连接差速驱动移动机器人硬件
- APP免费
11.1 技术要求
- APP免费
11.1.1 软件要求
- APP免费
11.1.2 网络设置
- APP免费
11.1.3 硬件要求
- APP免费
11.2 一款DIY自主移动机器人——Remo简介
- APP免费
11.2.1 Remo硬件组件
- APP免费
11.2.2 ROS Navigation Stack的软件需求
- APP免费
11.3 为差速驱动机器人开发底层控制器和ROS Control高级硬件接口
- APP免费
11.3.1 为Remo实现底层基本控制器
- APP免费
11.3.2 用于差速驱动机器人的ROS Control高级硬件接口
- APP免费
11.3.3 Remo机器人的ROS节点和主题概述
- APP免费
11.4 配置和使用Navigation Stack
- APP免费
11.4.1 配置gmapping节点并创建地图
- APP免费
11.4.2 使用gmapping节点
- APP免费
11.4.3 配置move_base节点
- APP免费
11.4.4 配置AMCL节点
- APP免费
11.4.5 AMCL规划
- APP免费
11.4.6 在仿真环境中使用Remo机器人
- APP免费
11.5 总结
- APP免费
11.6 问题
- APP免费
第四部分 高级ROS编程
- APP免费
第12章 使用pluginlib、nodelet和Gazebo插件
- APP免费
12.1 理解pluginlib
- APP免费
12.2 理解ROS小节点
- APP免费
12.3 理解并创建Gazebo插件
- APP免费
12.4 总结
- APP免费
12.5 问题
- APP免费
第13章 编写ROS控制器和可视化插件
- APP免费
13.1 理解ros_control包
- APP免费
13.2 在ROS中编写一个基本的关节控制器
- APP免费
13.2.1 创建控制器包
- APP免费
13.2.2 创建控制器头文件
- APP免费
13.2.3 创建控制器源文件
- APP免费
13.2.4 控制器源文件的详细说明
- APP免费
13.2.5 创建插件描述文件
- APP免费
13.2.6 更新package.xml
- APP免费
13.2.7 更新CMakeLists.txt
- APP免费
13.2.8 构建控制器
- APP免费
13.2.9 编写控制器配置文件
- APP免费
13.2.10 编写控制器的启动文件
- APP免费
13.2.11 在Gazebo中运行控制器和7-DOF机械臂
- APP免费
13.3 了解RViz工具及其插件
- APP免费
13.3.1 Displays面板
- APP免费
13.3.2 RViz工具栏
- APP免费
13.3.3 Views面板
- APP免费
13.3.4 Time面板
- APP免费
13.3.5 可停靠面板
- APP免费
13.4 为远程操作编写RViz插件
- APP免费
13.5 总结
- APP免费
13.6 问题
- APP免费
第14章 在MATLAB和Simulink中使用ROS
- APP免费
14.1 开始使用MATLAB
- APP免费
14.2 开始使用ROS Toolbox和MATLAB
- APP免费
14.3 利用MATLAB和Gazebo开发机器人应用程序
- APP免费
14.4 开始使用ROS和Simulink
- APP免费
14.4.1 在Simulink中创建一个波信号积分器
- APP免费
14.4.2 在Simulink中发布ROS消息
- APP免费
14.4.3 在Simulink中订阅ROS主题
- APP免费
14.5 在Simulink中开发一个简单的控制系统
- APP免费
14.6 总结
- APP免费
14.7 问题
- APP免费
第15章 ROS在工业机器人中的应用
- APP免费
15.1 理解ROS-Industrial包
- APP免费
15.2 ROS-Industrial的目标
- APP免费
15.3 ROS-Industrial简史
- APP免费
15.4 安装ROS-Industrial包
- APP免费
15.5 为工业机器人创建URDF
- APP免费
15.6 为工业机器人创建MoveIt!配置
- APP免费
15.7 更新MoveIt!的配置文件
- APP免费
15.8 为UR机器人的机械臂安装ROS-Industrial软件包
- APP免费
15.9 为UR机器人安装ROS接口
- APP免费
15.10 理解UR机械臂的MoveIt!配置
- APP免费
15.11 UR硬件和ROS-I
- APP免费
15.12 使用MoveIt!配置ABB机器人
- APP免费
15.13 了解ROS-Industrial机器人支持包
- APP免费
15.14 了解ROS-Industrial机器人客户端包
- APP免费
15.15 设计工业机器人客户端节点
- APP免费
15.16 了解ROS-Industrial机器人驱动程序包
- APP免费
15.17 理解MoveIt!IKFast插件
- APP免费
15.18 为ABB IRB 6640机器人创建MoveIt!IKFast插件
- APP免费
15.19 OpenRave和IKFast模块
- APP免费
15.19.1 MoveIt!IKFast
- APP免费
15.19.2 安装MoveIt!IKFast包
- APP免费
15.19.3 在Ubuntu 20.04上安装OpenRave
- APP免费
15.20 创建使用OpenRave的机器人的COLLADA文件
- APP免费
15.21 为IRB 6640机器人生成IKFast CPP文件
- APP免费
15.22 创建MoveIt!IKFast插件
- APP免费
15.23 总结
- APP免费
15.24 问题
- APP免费
第16章 ROS的故障排除和最佳实践
- APP免费
16.1 为ROS设置Visual Studio Code IDE开发环境
- APP免费
16.1.1 安装/卸载Visual Studio Code
- APP免费
16.1.2 开始使用Visual Studio Code
- APP免费
16.1.3 安装新的Visual Studio Code扩展
- APP免费
16.1.4 从Visual Studio Code的ROS扩展开始
- APP免费
16.1.5 检查和构建ROS工作空间
- APP免费
16.1.6 使用Visual Studio Code管理ROS包
- APP免费
16.1.7 可视化URDF文件的预览
- APP免费
16.2 ROS的最佳实践
- APP免费
16.3 ROS包的最佳编程实践
- APP免费
16.4 ROS中的重要故障排除提示
- APP免费
16.5 总结
- APP免费
16.6 问题
- APP免费
推荐阅读
- APP免费
译者简介
- APP免费
封底
更新时间:2024-08-19 16:11:34