ROS机器人编程实战作 者: [印度] 库马尔·比平(Kumar Bipin) 著,李华峰,张志宇 译出版时间: 2020 内容简介 ROS(Robot Operating System)是一个机器人软件平台,是用于实现机器人编程和开发复杂机器人应用的开源软件框架,它能为异质计算机集群提供类似操作系统的功能。ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。本书包含10章内容,循序渐进地介绍了ROS相关的知识,包括ROS入门、结构与概念、可视化和调试工具、传感器和执行器、建模与仿真、移动机器人、机械臂、微型飞行器、ROS工业软件包等。本书适合机器人领域的工程师及研究人员阅读,书中涉及许多实用的案例和解决方案,同时涵盖了未来机器人应用开发中可预见的研究问题。目录第 1章 ROS入门 11.1 简介 11.2 在桌面系统中安装ROS 21.2.1 ROS 发行版 21.2.2 支持的操作系统 31.2.3 如何完成 41.3 在虚拟机中安装ROS 81.4 在Linux容器中运行ROS 101.4.1 准备工作 101.4.2 如何完成 101.4.3 参考资料 131.5 在基于ARM的开发板上安装ROS 131.5.1 准备工作 131.5.2 如何完成 151.5.3 设置系统位置 161.5.4 设置sources.list(源列表) 171.5.5 设置秘钥 171.6 安装ROS包 171.6.1 添加单个软件包 171.6.2 初始化rosdep 181.6.3 环境配置 181.6.4 获取rosinstall 18第 2章 ROS的体系结构与概念Ⅰ 202.1 简介 202.2 对ROS文件系统的深入解析 212.2.1 准备工作 212.2.2 如何完成 222.2.3 扩展学习 252.3 ROS计算图分析 302.3.1 准备工作 302.3.2 如何完成 322.4 加入ROS社区 372.5 学习ROS的使用 382.5.1 准备工作 382.5.2 如何完成 382.5.3 工作原理 472.6 理解ROS启动(launch)文件 59第3章 ROS的体系结构与概念Ⅱ 613.1 简介 613.2 掌握参数服务器和动态参数 623.2.1 准备工作 623.2.2 如何完成 623.3 掌握ROS actionlib 683.3.1 准备工作 683.3.2 如何完成 693.4 掌握ROS pluginlib 783.4.1 准备工作 783.4.2 如何完成 783.5 掌握ROS nodelet 833.5.1 准备工作 833.5.2 如何完成 833.5.3 扩展学习 863.6 掌握Gazebo框架与插件 883.6.1 准备工作 883.6.2 如何完成 893.7 掌握ROS的TF(坐标变换) 913.7.1 准备工作 923.7.2 如何完成 953.8 掌握ROS 可视化工具(RViz)及其插件 993.8.1 准备工作 993.8.2 如何完成 101第4章 ROS可视化与调试工具 1044.1 简介 1044.2 对ROS节点的调试和分析 1054.2.1 准备工作 1054.2.2 如何完成 1054.3 ROS消息的记录与可视化 1084.3.1 准备工作 1084.3.2 如何完成 1104.3.3 更多内容 1124.4 ROS系统的检测与诊断 1144.4.1 准备工作 1144.4.2 如何完成 1144.5 标量数据的可视化和绘图 1184.5.1 准备工作 1184.5.2 如何完成 1194.5.3 更多内容 1204.6 非标量数据的可视化—— 2D/3D图像 1214.6.1 准备工作 1224.6.2 如何完成 1224.7 ROS话题的录制与回放 1264.7.1 准备工作 1264.7.2 如何完成 1264.7.3 更多内容 129第5章 在ROS中使用传感器和执行器 1315.1 简介 1315.2 理解Arduino-ROS接口 1325.2.1 准备工作 1325.2.2 如何完成 1335.2.3 工作原理 1345.3 使用9 DoF(自由度,Degree of Freedom)惯性测量模块 1375.3.1 准备工作 1385.3.2 如何完成 1385.3.3 工作原理 1395.4 使用GPS系统——Ublox 1415.4.1 准备工作 1425.4.2 如何完成 1425.4.3 工作原理 1435.5 使用伺服电动机——Dynamixel 1445.5.1 如何完成 1445.5.2 工作原理 1445.6 用激光测距仪——Hokuyo 1465.6.1 准备工作 1465.6.2 如何完成 1465.6.3 工作原理 1465.7 使用Kinect传感器查看3D环境中的对象 1485.7.1 准备工作 1495.7.2 如何完成 1495.7.3 工作原理 1495.8 用游戏杆或游戏手柄 1515.8.1 如何完成 1515.8.2 工作原理 151第6章 ROS建模与仿真 1536.1 简介 1536.2 理解使用URDF实现机器人建模 1546.2.1 准备工作 1546.2.2 工作原理 1546.3 理解使用Xacro实现机器人建模 1636.3.1 准备工作 1646.3.2 工作原理 1646.4 理解关节状态发布器和机器人状态发布器 1656.4.1 准备动作 1656.4.2 工作原理 1686.4.3 更多内容 1726.5 理解Gazebo系统结构以及与ROS的接口 1746.5.1 准备工作 1746.5.2 如何完成 174第7章 ROS中的移动机器人 1847.1 简介 1847.2 ROS导航功能包集 1857.2.1 准备工作 1857.2.2 工作原理 1857.3 移动机器人与导航系统的交互 1967.3.1 准备工作 1967.3.2 如何完成 1977.3.3 工作原理 1987.4 为导航功能包集创建launch文件 2017.4.1 准备工作 2017.4.2 工作原理 2027.5 为导航功能包集设置Rviz可视化 2037.5.1 准备工作 2037.5.2 工作原理 2037.5.3 更多内容 2107.6 机器人定位——自适应蒙特卡罗定位(AMCL) 2117.6.1 准备工作 2117.6.2 工作原理 2117.7 使用rqt_reconfigure配置导航功能包集参数 2127.8 移动机器人的自主导航——避开障碍物 2137.8.1 准备工作 2137.8.2 工作原理 2137.9 发送目标 2147.9.1 准备工作 2147.9.2 工作原理 214第8章 ROS中的机械臂 2178.1 简介 2178.1.1 危险工作场所 2188.1.2 重复或令人厌烦的工作 2188.1.3 人类难以操作的工作环境 2188.2 MoveIt的基本概念 2208.2.1 MoveIt 2208.2.2 运动规划 2208.2.3 感知 2218.2.4 抓取 2218.2.5 准备工作 2218.3 使用图形化界面完成运动规划 2238.3.1 准备工作 2238.3.2 如何完成 2328.3.3 工作原理 2348.3.4 更多内容 2358.4 使用控制程序执行运动规划 2388.4.1 准备工作 2388.4.2 如何完成 2408.4.3 执行轨迹 2458.5 在运动规划中增加感知 2468.5.1 准备工作 2478.5.2 如何完成 2498.5.3 工作原理 2518.5.4 更多内容 2518.5.5 参考资料 2528.6 使用机械臂或者机械手来完成抓取操作 2538.6.1 准备工作 2538.6.2 如何完成 2568.6.3 工作原理 2688.6.4 参考资料 273第9章 基于ROS的微型飞行器 2769.1 简介 2769.2 MAV系统设计概述 2779.3 MAV/无人机的通用数学模型 2799.4 使用RotorS/Gazebo来模拟MAV/无人机 2839.4.1 准备工作 2839.4.2 如何完成 2859.4.3 工作原理 2929.4.4 更多内容 2939.4.5 参考资料 2969.5 MAV/无人机的自主导航框架 2979.5.1 准备工作 2979.5.2 如何完成 2999.5.3 工作原理 3149.6 操作真正的MAV/drone—— Parrot和Bebop 3189.6.1 准备工作 3199.6.2 如何完成 3199.6.3 工作原理 321第 10章 ROS-Industrial(ROS-I) 32310.1 简介 32310.2 了解ROS-I功能包 32410.3 工业机器人与MoveIt的3D建模与仿真 32610.3.1 准备工作 32610.3.2 如何完成 32710.4 使用ROS-I软件包——优傲机器人、ABB机器人 33610.5 ROS-I机器人支持包 34210.6 ROS-I机器人客户端功能包 34510.7 ROS-I机器人驱动程序规范 34610.8 开发自定义的MoveIt IKFast插件 34810.8.1 准备工作 34810.8.2 如何完成 35110.9 了解ROS-I-MTConnect 35310.9.1 准备工作 35410.9.2 如何完成 35510.10 ROS-I的未来——硬件支持、功能和应用 356 上一篇: Python智能优化算法:从原理到代码实现与应用 2022年版 范旭 等著 下一篇: 从逻辑思路到实战应用:轻松掌握Excel 2019年版 韩小良 著