作者简介 |
---------------------------工业机器人系统及应用--------------------------- [美]马克·R. 米勒(Mark R. Miller) 雷克斯·米勒(Rex Miller) 著:---作者简介--- 马克·R. 米勒(Mark R. Miller) 得克萨斯大学泰勒分校工业技术专业教授,技术系主任。目前担任技术、管理和应用工程协会(ATMAE)认证委员会主席,以及得克萨斯生产力中心主任,曾多次获得教学和服务奖项。 雷克斯·米勒(Rex Miller) 纽约州立大学布法罗学院工业技术专业荣誉退休教授,他在该学院从事教学工作40多年,独立及合作撰写了100多本专业教材。 ---译者简介--- 张永德 哈尔滨理工大学教授、博士生导师,机器人技术及工程应用研究中心主任,主要研究方向为医疗机器人和机器人机械设计理论。目前担任中国机电一体化协会智能机器人分会常务理事,黑龙江省机器人技术产业创新战略联盟副理事长。 |
内容简介 |
---------------------------工业机器人系统及应用--------------------------- 【网店勿用!此为申报选题所填信息,网店请调用最终版】本书的两位作者是机器人领域的技术专家和资深教授,他们通过本书为读者了解机器人的组成结构、电气控制及其工业应用奠定了坚实的基础。书中涵盖机器人相关的最新组件、技术和功能,配有丰富的实际应用案例和详细说明。本书着眼于机器人的整个体系——从设计和生产到部署、操作和维护。附录中还提供了关于机器人模型和控制器的附加信息。 ---------------------------ROS机器人编程:原理与应用--------------------------- 本书共分为六部分。第一部分介绍了如何编写ROS节点和ROS工具,也覆盖了消息、类和服务器。第二部分是用ROS进行模拟和可视化,其中包括坐标转换。第三部分讨论了ROS的感知过程。第四部分介绍了ROS中的移动机器人控制和导航。第五部分介绍了ROS机器人臂的相关知识。第六部分涉及系统集成和更高级别的控制,包括基于感知的移动操作。 |
目录 |
---------------------------工业机器人系统及应用--------------------------- 译者序 前言 致谢 作者简介 第1章 绪论 1 1.1 本章目标 1 1.2 定义 1 1.3 机器人的历史 3 1.4 计算机程序 3 1.5 微处理器 4 1.6 机器人的优势 4 1.7 机器人的弊端 5 1.8 机器人、硬自动化、人类劳动 5 1.9 机器人和人类 7 1.10 工业机器人的应用 8 1.11 本章总结 9 1.12 关键术语 10 1.13 思考题 11 第2章 机器人 12 2.1 本章目标 12 2.2 工业机器人 12 2.3 实验室机器人 13 2.4 探索机器人 13 2.5 爱好者机器人 13 2.6 课堂机器人 14 2.7 娱乐机器人 15 2.8 操作机及其分类 15 2.9 基座 15 2.10 手臂 16 2.11 腕关节 17 2.12 夹持器 17 2.13 操作机的组成部分 18 2.14 工作空间 19 2.15 回转关节 19 2.16 腕关节运动 19 2.17 自由度 19 2.18 机器人的运动能力 20 2.19 坐标 20 2.19.1 直角坐标 20 2.19.2 圆柱坐标 21 2.19.3 极坐标 22 2.19.4 关节坐标 22 2.20 腕关节动作 23 2.21 不同坐标机器人的工作空间 24 2.22 驱动操作机 24 2.22.1 气动驱动 25 2.22.2 液压驱动 25 2.22.3 电力驱动 26 2.23 本章总结 27 2.24 关键术语 28 2.25 思考题 28 第3章 驱动系统 30 3.1 本章目标 30 3.2 液压系统 30 3.3 泵 33 3.4 气体力学 33 3.5 电机 34 3.6 直流电机 35 3.6.1 永磁电机 36 3.6.2 直流无刷电机 36 3.6.3 步进电机 37 3.7 交流电机 39 3.7.1 感应电机 39 3.7.2 鼠笼式电机 39 3.7.3 滑移 40 3.8 末端执行器 41 3.8.1 夹持器 41 3.8.2 真空夹持器 41 3.8.3 磁性夹持器 42 3.8.4 末端工具 42 3.9 定位 43 3.10 重复定位精度和精度 46 3.11 传动 46 3.11.1 齿轮 46 3.11.2 齿轮系 47 3.11.3 蜗杆蜗轮传动 48 3.11.4 滚珠丝杠 48 3.11.5 锥齿轮 48 3.11.6 调整齿轮 49 3.12 谐波传动 50 3.13 皮带 51 3.13.1 V带 51 3.13.2 同步带 52 3.13.3 平带 52 3.14 链传动 52 3.14.1 滚子链 52 3.14.2 珠链 52 3.15 本章总结 53 3.16 关键术语 54 3.17 思考题 54 第4章 传感器与感知 56 4.1 本章目标 56 4.2 机器人的传感器与感知 56 4.3 传感器的分类 57 4.3.1 非接触式传感器 57 4.3.2 自我保护 58 4.3.3 避免碰撞 59 4.4 接近传感器 59 4.5 距离传感器 60 4.6 触觉传感器 60 4.6.1 应变片 61 4.6.2 脉冲红外光电控制器 61 4.6.3 温度感知 64 4.7 位移感知 64 4.8 速度感知 65 4.9 转矩感知 66 4.10 视觉传感器 67 4.11 本章总结 68 4.12 关键术语 69 4.13 思考题 69 第5章 控制方法 71 5.1 本章目标 71 5.2 电力 71 5.2.1 单相电机 71 5.2.2 三相电机 74 5.3 伺服控制机器人 74 5.4 非伺服控制机器人 75 5.4.1 电动非伺服控制机器人 76 5.4.2 气动非伺服控制机器人 76 5.4.3 液压非伺服控制机器人 76 5.5 作动器 76 5.5.1 电动作动器 77 5.5.2 液压作动器 77 5.5.3 气动作动器 77 5.6 控制器 78 5.6.1 转鼓控制器 78 5.6.2 空气逻辑控制器 78 5.6.3 继电器逻辑控制器 78 5.6.4 可编程控制器 79 5.6.5 基于微处理器的控制器 81 5.6.6 小型机控制器 81 5.7 机器人编程 82 5.7.1 示教盒编程 82 5.7.2 引导式编程 83 5.7.3 计算机终端编程 83 5.8 本章总结 85 5.9 关键术语 86 5.10 思考题 86 第6章 机器人与计算机 88 6.1 本章目标 88 6.2 机器人-计算机接口 88 6.2.1 存储器 88 6.2.2 中央处理器 89 6.2.3 输入/输出 89 6.3 语言 89 6.4 软件 91 6.5 接口 91 6.6 ASCII代码 92 6.6.1 并行端口 92 6.6.2 串行端口 93 6.7 机器人与计算机的接口 93 6.8 程序控制 94 6.9 机器人的视觉 95 6.10 本章总结 98 6.11 关键术语 99 6.12 思考题 100 第7章 机器人的应用 101 7.1 本章目标 101 7.2 上料和下料 101 7.2.1 车道装载机 102 7.2.2 流水线传输 102 7.2.3 机床上料 103 7.3 物料搬运 104 7.3.1 压铸 104 7.3.2 码垛 106 7.3.3 线路跟踪 106 7.3.4 工艺流程 106 7.4 制造 107 7.5 装配 108 7.6 喷涂 109 7.7 焊接 110 7.8 检验和测试 110 7.9 未来的柔性自动化 111 7.10 未来的机器人 113 7.11 机器人的社会影响 113 7.12 新用途和新形式 113 7.13 本章总结 114 7.14 关键术语 114 7.15 思考题 115 第8章 各制造商的机器人产品及其特性 116 8.1 本章目标 116 8.2 机器人简史 116 8.3 本书所选的制造商及其机器人产品 117 8.4 Binks制造公司 118 8.5 Cincinnati Milacron股份有限公司 120 8.6 Comau制造系统公司和Comau S.p.A.公司 121 8.7 Cybotech公司 127 8.8 ESAB North America股份有限公司 128 8.9 Feedback股份有限公司 129 8.10 GCA公司/工业系统部门 130 8.11 IBM公司/制造系统产品部 131 8.12 International Robomation/Intelligence公司 133 8.13 Mack公司 134 8.14 Microbot股份有限公司 135 8.15 PRAB Robots股份有限公司 136 8.16 Schrader-Bellows 139 8.17 Seiko Instruments USA股份有限公司 142 8.18 Thermwood Robotics 143 8.19 Unimation股份有限公司,Westinghouse公司 144 8.20 Yaskawa America股份有限公司 146 8.21 各制造商的机器人规格表汇总 148 8.22 思考题 166 第9章 故障排除和设备维护 167 9.1 本章目标 167 9.2 故障排除和机器人技术人员 167 9.3 预防性维护 167 9.3.1 潮湿地区 167 9.3.2 意外电击的预防 168 9.3.3 接地故障插座 170 9.3.4 布线设备 170 9.4 小型电机的维护 171 9.5 电机问题 172 9.6 常见的电机故障及其原因 173 9.7 故障排除辅助工具 175 9.7.1 连接图 175 9.7.2 小型三相电机的额定数据 177 9.8 电源干扰 178 9.9 鼠笼式异步电机 180 9.10 单相电机中离心开关的测试 180 9.11 测试运行绕组和启动绕组之间的短路电路 181 9.12 电容测试 181 9.13 使用仪表检查问题 182 9.13.1 用伏安表解决电机故障 182 9.13.2 钳式伏安表 183 9.13.3 发现接地 183 9.13.4 发现开路 183 9.14 故障排除指南 184 9.15 电机寿命 189 9.16 性能特点 190 9.17 电机保护 191 9.18 直流电机的故障问题 192 9.19 固态设备故障排除 195 9.20 思考题 196 第10章 工业机器人的行业现状与未来展望 197 10.1 本章目标 197 10.2 UR机器人的历史 198 10.3 UR机器人的主要产品 198 10.4 Neocortex的详细介绍 199 10.5 全球机器人产业 200 10.6 先进的系统 201 10.7 机器人软件 201 10.8 思考题 201 附录A 控制器、示教盒和工业机器人 203 附录B 机器人技术员和工程师 206 附录C 机器人的交叉比较 208 思考题答案 226 ---------------------------ROS机器人编程:原理与应用--------------------------- 译者序 前言 第一部分 ROS基础 / 1 第1章 概述:ROS工具和节点 / 2 1.1 ROS基础概念 / 2 1.2 编写ROS节点 / 5 1.2.1 创建ROS程序包 / 5 1.2.2 编写一个最小的ROS发布器 / 8 1.2.3 编译ROS节点 / 11 1.2.4 运行ROS节点 / 12 1.2.5 检查运行中的最小发布器节点 / 13 1.2.6 规划节点时间 / 15 1.2.7 编写一个最小ROS订阅器 / 17 1.2.8 编译和运行最小订阅器 / 19 1.2.9 总结最小订阅器和发布器节点 / 21 1.3 更多的ROS工具:catkin_simple、roslaunch、rqt_console和rosbag / 21 1.3.1 用catkin_simple简化CMakeLists.txt / 21 1.3.2 自动启动多个节点 / 23 1.3.3 在ROS控制台观察输出 / 25 1.3.4 使用rosbag记录并回放数据 / 26 1.4 最小仿真器和控制器示例 / 28 1.5 小结 / 32 第2章 消息、类和服务器 / 33 2.1 定义自定义消息 / 33 2.1.1 定义一条自定义消息 / 34 2.1.2 定义一条变长的消息 / 38 2.2 ROS服务介绍 / 43 2.2.1 服务消息 / 43 2.2.2 ROS服务节点 / 45 2.2.3 与ROS服务手动交互 / 47 2.2.4 ROS服务客户端示例 / 48 2.2.5 运行服务和客户端示例 / 50 2.3 在ROS中使用C++类 / 51 2.4 在ROS中创建库模块 / 56 2.5 动作服务器和动作客户端介绍 / 61 2.5.1 创建动作服务器包 / 62 2.5.2 定义自定义动作服务器消息 / 62 2.5.3 设计动作客户端 / 68 2.5.4 运行示例代码 / 71 2.6 参数服务器介绍 / 80 2.7 小结 / 84 第二部分 ROS中的仿真和可视化 / 85 第3章 ROS中的仿真 / 86 3.1 简单的2维机器人仿真器 / 86 3.2 动力学仿真建模 / 93 3.3 统一的机器人描述格式 / 95 3.3.1 运动学模型 / 95 3.3.2 视觉模型 / 98 3.3.3 动力学模型 / 99 3.3.4 碰撞模型 / 102 3.4 Gazebo介绍 / 104 3.5 最小关节控制器 / 112 3.6 使用Gazebo插件进行关节伺服控制 / 118 3.7 构建移动机器人模型 / 124 3.8 仿真移动机器人模型 / 132 3.9 组合机器人模型 / 136 3.10 小结 / 139 第4章 ROS中的坐标变换 / 141 4.1 ROS中的坐标变换简介 / 141 4.2 转换侦听器 / 149 4.3 使用Eigen库 / 156 4.4 转换ROS数据类型 / 161 4.5 小结 / 163 第5章 ROS中的感知与可视化 / 164 5.1 rviz中的标记物和交互式标记物 / 168 5.1.1 rviz中的标记物 / 168 5.1.2 三轴显示示例 / 172 5.1.3 rviz中的交互式标记物 / 176 5.2 在rviz中显示传感器值 / 183 5.2.1 仿真和显示激光雷达 / 183 5.2.2 仿真和显示彩色相机数据 / 189 5.2.3 仿真和显示深度相机数据 / 193 5.2.4 rviz中点的选择 / 198 5.3 小结 / 201 第三部分 ROS中的感知处理 / 203 第6章 在ROS中使用相机 / 204 6.1 相机坐标系下的投影变换 / 204 6.2 内置相机标定 / 206 6.3 标定立体相机内参 / 211 6.4 在ROS中使用OpenCV / 217 6.4.1 OpenCV示例:寻找彩色像素 / 218 6.4.2 OpenCV示例:查找边缘 / 223 6.5 小结 / 224 第7章 深度图像与点云信息 / 225 7.1 从扫描LIDAR中获取深度信息 / 225 7.2 立体相机的深度信息 / 230 7.3 深度相机 / 236 7.4 小结 / 237 第8章 点云数据处理 / 238 8.1 简单的点云显示节点 / 238 8.2 从磁盘加载和显示点云图像 / 244 8.3 将发布的点云图像保存到磁盘 / 246 8.4 用PCL方法解释点云图像 / 248 8.5 物体查找器 / 257 8.6 小结 / 261 第四部分 ROS中的移动机器人 / 263 第9章 移动机器人的运动控制 / 264 9.1 生成期望状态 / 264 9.1.1 从路径到轨迹 / 264 9.1.2 轨迹构建器库 / 268 9.1.3 开环控制 / 273 9.1.4 发布期望状态 / 274 9.2 机器人状态估计 / 282 9.2.1 从Gazebo获得模型状态 / 282 9.2.2 里程计 / 286 9.2.3 混合里程计、GPS和惯性传感器 / 292 9.2.4 混合里程计和LIDAR / 297 9.3 差分驱动转向算法 / 302 9.3.1 机器人运动模型 / 303 9.3.2 线性机器人的线性转向 / 304 9.3.3 非线性机器人的线性转向 / 306 9.3.4 非线性机器人的非线性转向 / 308 9.3.5 仿真非线性转向算法 / 309 9.4 相对于地图坐标系的转向 / 312 9.5 小结 / 317 第10章 移动机器人导航 / 318 10.1 构建地图 / 318 10.2 路径规划 / 323 10.3 move_base客户端示例 / 328 10.4 修改导航栈 / 331 10.5 小结 / 335 第五部分 ROS中的机械臂 / 337 第11章 底层控制 / 338 11.1 单自由度移动关节机器人模型 / 338 11.2 位置控制器示例 / 339 11.3 速度控制器示例 / 342 11.4 力控制器示例 / 344 11.5 机械臂的轨迹消息 / 349 11.6 7自由度臂的轨迹插值动作服务器 / 353 11.7 小结 / 354 第12章 机械臂运动学 / 355 12.1 正向运动学 / 356 12.2 逆向运动学 / 360 12.3 小结 / 365 第13章 手臂运动规划 / 366 13.1 笛卡儿运动规划 / 367 13.2 关节空间规划的动态规划 / 368 13.3 笛卡儿运动动作服务器 / 372 13.4 小结 / 376 第14章 Baxter仿真器进行手臂控制 / 377 14.1 运行Baxter仿真器 / 377 14.2 Baxter关节和主题 / 379 14.3 Baxter夹具 / 382 14.4 头盘控制 / 385 14.5 指挥Baxter关节 / 387 14.6 使用ROS关节轨迹控制器 / 390 14.7 关节空间记录和回放节点 / 391 14.8 Baxter运动学 / 397 14.9 Baxter笛卡儿运动 / 399 14.10 小结 / 404 第15章 object-grabber包 / 405 15.1 object-grabber代码组织 / 405 15.2 对象操作查询服务 / 407 15.3 通用夹具服务 / 410 15.4 object-grabber动作服务器 / 412 15.5 object-grabber动作客户端示例 / 415 15.6 小结 / 425 第六部分 系统集成与高级控制 / 427 第16章 基于感知的操作 / 428 16.1 外部相机标定 / 428 16.2 综合感知和操作 / 431 16.3 小结 / 440 第17章 移动操作 / 441 17.1 移动机械手模型 / 441 17.2 移动操作 / 442 17.3 小结 / 446 第18章 总结 / 447 参考文献 / 449 |
![]() |
---------------------------工业机器人系统及应用--------------------------- 我们编写本书的主要出发点如下。目前,虽然许多人想多学习一些机器人和机器人学的知识,但大多数人都缺乏气动、液压和电气工程等技术背景,然而,这些背景知识对于了解机器人的内部结构和概念又非常重要。此外,一些有相关技术背景的人却不知道如何把握自己所在领域或行业的机器人发展趋势。因此,本书将围绕这一主题进行综合且全面的介绍。 本书适用于工业电子、机械、制造或工业技术等专业的学生,作为学习机器人学的第一门课程的教材;也可以作为机器人爱好者、专业机械师、电工和电子技术人员研究和了解机器人和机器人学的参考书。它提供了一个广泛的视野,不会因技术细节或术语而给读者带来困惑。 本书内容翔实,重点介绍工业机器人的新近实例和实际应用,提供了大量插图以辅助文字叙述,帮助读者识别机器人结构并理解其运动形式。各章最后给出了关键术语,易于读者查阅、理解和掌握。此外,每章还包含一组思考题,书后附有参考答案。 无论是机器人初学者还是在机械行业有工作经验的人,都可以通过阅读本书获得机器人基础知识和对机器人这个复杂领域的新视野。第7章的机器人实践内容,使读者清楚地了解这些机器能做什么、不能做什么。虽然让机器人完成我们安排的每一项复杂任务还有很长的路要走,但无论你的职业或兴趣是什么,每个人都不能忽视这股令人兴奋的活力。本书的目的就是提供必要的信息和知识,并使各种技术水平和背景的读者都能有效地掌握和使用。 本书的组织结构比较灵活,方便读者按照个人偏好的顺序进行学习。第1章是机器人技术概述,包括机器人的总体组成和结构,使用机器人的优势和弊端,以及机器人与人类劳动的相互作用关系。此外,还简要介绍了编程、语言和微处理器的知识。 第2章介绍各种类型的机器人,并研究了机器人的组成部分和机器人的运动能力。第3章介绍机器人的机械结构,如驱动系统、泵和电机。第4章讨论传感器类型和感知能力。 第5章介绍机器人的控制,包括各种编程方法。第6章重点介绍计算机与机器人的协同工作关系,这也有助于读者对机器人的编程和控制内容的理解。这一章也包括机器人的视觉和物体识别。第7章探讨工业领域的机器人使用,以及机器人和机器人学的未来。第8章提供了制造商和设备清单,以及制造商目录中的规格、描述性信息和插图。第9章包括排除电气控制和电机故障的原理和一套综合实践方法。第10章总结了机器人的现状,展望了机器人的未来。 本书还包括三个附录,提供了一些附加的实用信息。附录A可以使读者更全面地了解新型机器人及其控制器。附录B讨论了机器人维修人员和机器人工程师等职业划分。附录C通过交叉比较的方式向读者展示了大量市面上的机器人。其中一些信息可以追溯到20世纪70年代,当时机器人刚刚开始出现在世界各地。 此外,数学在机器人的操作、设计、安装和使用中也起着非常重要的作用。建议机器人操作员和机器人技师随身备一台科学计算器,以解决随时出现的计算问题。关于机器人领域的常用公式和换算方法,可随时查阅网络资料,书中不再赘述。 Mark R. Miller Rex Miller ---------------------------ROS机器人编程:原理与应用--------------------------- ROS(Robot Operating System,机器人操作系统)正在成为现代机器人学的实际标准编程方法。ROS wiki(https://www.ros.org/history/)写道: ROS生态系统现在由全世界数以万计的用户组成,覆盖了从桌面爱好项目到大型工业自动化系统。 为什么是ROS?在1956年,Joseph Engelberger创立了Unimation公司,世界上第一个机器人公司[7]。然而,在过去的半个世纪里,机器人技术的进步令人失望。世界范围内的机器人学研究也仅限于实验室里的演示和探奇。这一领域的新生研究人员通常一无所有,从头开始构建新型机器人,解决执行器和传感器接口的问题,构建底层的伺服控制,并且通常在实现更高级的机器人能力之前就已经精疲力竭了,而这些自定义的机器人和软件很少被复用于后续工作。 人们认识到采用构建巴比塔的模式是徒劳的,构建更智能的机器人的任务需要持续的、协作的努力,并建立在能够不断达到更高层能力的基础上。在1984年,Vincent Hayward和Richard Paul引入了机器人控制C库(Robot Control C Library, RCCL)[15]作为解决这一长期问题的方法。不幸的是,RCCL没有获得机器人研究人员足够的认可。National Instruments[24]和Microsoft[39-40]均引入了试图使机器人编程标准化的产品。然而,研究人员发现这些方法烦琐而昂贵。 ROS于2007年由斯坦福人工智能实验室发起[26],它试图统一零碎的谷歌所采用的机器人学方法,且于2008年至2013年得到Willow Garage的支持[12],随后自2013年至今得到谷歌开源机器人基金会(Open Source Robotics Foundation,OSRF)的支持[10]。ROS方法遵循了开源软件和分布式协作的现代方法。此外,它桥接和提升了其他并行的开源工作,包括OpenCV[28]、PointCloudLibrary[21]、Open Dynamics Engine[8]、Gazebo[19]和Eigen[20]。对于研究人员而言,ROS在开放性和易用性方面可能与RCCL相似,而谷歌持续七年的支持是ROS存活的关键。 ROS现在在学术界、工业界和研究机构中得到了全世界的广泛使用。开发人员提供了数以千计的软件包,包括来自一些世界领先的专家在相关领域的解决方案。新的机器人公司在它们的产品上提供了ROS接口,并且已建立的工业机器人公司也引入了ROS接口。随着广泛采用ROS作为机器人编程实际标准的做法,人们对提高机器人的能力有了新的希望。在最近的DARPA机器人挑战赛中,大多数入围的团队使用了ROS。新型自动驾驶汽车的开发商正在开发ROS。新的机器人公司正在崛起,这部分是由ROS资源驱动的。鉴于ROS的势头和功绩,显而易见,当今的机器人工程师必须精通ROS编程。 什么是ROS?将其称为“机器人操作系统”并不全面。简洁地定义ROS很困难,因为它包含了很多方面,包括:编程风格(特别是依赖于松散耦合的分布式节点),节点间通信的接口定义和范例,库和包合并的接口定义,可视化、调试、数据记录和系统诊断的工具集合,共享源代码的存储仓库,桥接多个有用的、独立的开源库的桥梁。因此,ROS是机器人程序员的一种生活方式,而不只是一种简单的操作系统。ROS的定义可以参考ROS wiki(https://wiki.ros.org/ROS/Introduction): ROS是一个针对机器人的开源、元级操作系统。它提供了用户在操作系统上所期望的服务,包括硬件抽象、低层设备控制、常用功能的实现、进程之间的消息传递以及包管理。它还提供了在多台计算机上获取、生成、编写以及运行代码的工具和库。 ROS的主要目标是支持机器人研究和开发中的代码复用。ROS是一个分布式的进程(也称节点)框架,它能使可执行的文件单独设计以及在运行时松散耦合。这些进程可以打包成易于共享和分发的包。ROS还支持一个代码库的联合系统,能够同时分发协作。从文件系统级到社区级的这个设计实现了开发和部署的独立决策,但所有这些都可以与ROS的基础底层工具一起使用。 Brian Gerkey在网上的评论(https://answers.ros.org/question/12230/what-is-ros-exactly-middleware-framework-operating-system/)如下。 我是这样解释ROS的: 1.?管道:ROS提供了发布-订阅消息传递基础结构,旨在支持分布式计算系统的快速、轻松构建。 2.?工具:ROS提供了一套广泛用于配置、启动、反思、调试、可视化、记录、测试和停止的分布式计算系统的工具。 3.?功能:聚焦于移动性、操作性和感知性,ROS提供了实现机器人有用的功能的广泛库集。 4.?生态系统:ROS拥有规模庞大的社区支持,并通过着力聚焦于集成和文档而不断改进。ros.org是一个一站式的站点,在这里可以查找和了解来自世界各地开发者的成千上万个可用ROS包。 来自参考文献[13]对ROS的解释如下: ROS(发音Ross[rs])的主要目标是提供一个统一的开源编程框架,用于在各种真实世界和仿真环境中控制机器人。 来自参考文献[13]中的ROS管道: ROS中的核心实体称为节点。节点通常是用Python或C++编写的小程序,用于执行一些相对简单的任务或过程。节点可以相互独立地启动和停止,并通过传递消息进行通信。节点可以在某些主题上发布消息或向其他节点提供服务。 例如,发布器节点可能会报告从连接到机器人微控制器的传感器传来的数据。/head-sonar主题上数值为0.5的消息意味着传感器当前检测的物体有0.5 m远。任何想从这个传感器知晓读数的节点只需订阅/head-sonar主题即可。为了使用这些值,订阅器节点定义了一个回调函数,每当新消息到达订阅的主题时它就会执行。这种情况发生的频率取决于发布器节点更新其消息的速率。 节点还可以定义一个或多个服务。当从另一个节点发送请求时,ROS服务会产生某个行为或发送应答。一个简单的例子就是打开或关闭LED的服务。一个更复杂的例子是,当给定一个目标位置和机器人的初始位姿时,返回一个移动机器人导航规划的服务。 学习ROS的方法:ROS有很多功能、工具、风格和习惯。ROS的学习曲线陡峭,因为在富有成效地使用它之前需要掌握很多细节。ROS wiki有文档和一系列教程的***7。然而,这些对于ROS的初学者而言可能很难遵循,因为定义是分散的,并且所呈现的细节水平千差万别,从未经说明的示例到面向复杂用户的解释。本书的目的是从简单的代码示例以及相应的操作理论层面向读者介绍ROS的基本组件。这种介绍只会触及表面,但应该能让读者开始建立有用的ROS节点,并使教程变得更可读。 ROS代码可以用C++或Python编写。本书仅使用C++。对于Python,读者可参考《ROS机器人编程实践》(中文版已出版,ISBN:978-7-111-58529-9)[34]。 本书配套的代码示例假定采用Linux Ubuntu 14.04和ROS Indigo。如果你使用PC运行Windows或使用Mac运行OSX,则一个选择是安装VirtualBox来设置虚拟Linux计算机,以便在不影响原操作系统的情况下运行。关于安装VirtualBox、Ubuntu、ROS以及附带的代码示例和工具,包括在https://github.com/wsnewman/learning_ros的子目录additional_documents中。(该目录还包括使用git的入门指南。) 配置计算机来使用ROS可能是一个挑战。可参考《机器人操作系统(ROS)浅析》(中文版已出版)[27]以进一步阐明和协助ROS的安装,并获得ROS组织和通信的更多细节和幕后解释。(关于ROS的其他书籍列于:https://wiki.ros.org/Books。) ROS安装的在线描述***7是:https://wiki.ros.org/indigo/Installation/Ubuntu。 安装ROS时,用户有命名ROS工作区的选择权。在本书中,假定该目录位于用户的主目录下,并命令为ros_ws。如果你为ROS工作区选择另外一个名称,请将在本书中所有地方的ros_ws替换为该名称。 本书的代码示例可以在以下网址找到:https://github.com/wsnewman/learning_ros。与此代码一起使用的一些附加包位于:https://github.com/wsnewman/learning_ros_external_ packages。应将两个软件库都复制到子目录~/ros_ws/src中的用户ROS工作区,以便能够编译示例。要想手动安装这些软件,请在设置ROS环境后,cd至~/ros_ws/src并输入: 和 这将使此处引用的所有示例代码都显示在这两个子目录中。 或者(推荐此方法),使用软件库https://github.com/wsnewman/learning_ros_setup_scripts中包含的自动安装ROS的脚本,来安装本书的示例代码、安装其他有用的工具以及设置ROS工作区。网站在线提供了获取和运行这些脚本的说明。这些说明适用于本地Ubuntu-14.04安装或Ubuntu-14.04的VirtualBox安装。(注意,当运行计算密集型或图形密集型代码时,VirtualBox可能会卡顿。本机Linux安装和兼容的GPU处理器更可取。) 本书内容无法面面俱到。感兴趣的学生、研究者、自动化工程师或机器人爱好者可以自行探索数以千计的ROS包。此外,还有在线教程有更详细的细节和扩展内容。本书的目的是提供一个概览,使读者能够理解ROS、ROS包和ROS工具的组织,将现有ROS包纳入新的应用中,并开发新的包用于机器人和自动化系统。本书使读者能够更好地了解现有的在线文档以便进一步学习。 本书内容分为六部分: ROS基础 ROS中的仿真和可视化 ROS中的感知处理 ROS中的移动机器人 ROS中的机械臂 系统集成与高级控制 每个主题都覆盖了广泛的领域,包含了大量专业研究成果。本书无法一一在这些领域指导读者。然而,机器人系统需要集成的元素横跨硬件集成、人机界面、控制理论、运动学和动力学、操作规划、运动规划、图像处理、场景解释和人工智能等一系列主题。机器人工程师必须是通才,因此至少需要了解这些领域的基本实践。ROS生态系统的一个目的就是让工程师可以导入以上每个领域现有的包,并将它们集成到一个定制的系统中,而不必成为每个领域的专家。因此,了解每个领域的ROS接口和ROS方法对系统集成商来说极具价值,可以充分利用世界各地的机器人研究者、计算机科学家和软件工程师所贡献的专业知识。 致谢 在学术界,工作乐趣之一就是经常接触聪明且富有激情的学生们。感谢我的前顾问Chad Rockey和Eric Perko,他们于2010年将我带入ROS的大门。从此,我从一个ROS质疑者变成了传播者。感谢这一路相伴的学生们,包括Tony Yanick、Bill Kulp、Ed Venator、Der-Lin Chow、Devin Schwab、Neal Aungst、Tom Shkurti、TJ Pech和Luc Bettaieb,他们帮我实现了转变并学习了新的ROS技巧。 感谢Sethu Vijayakumar教授和苏格兰信息学与计算机科学联盟,感谢他们对我在爱丁堡大学开设ROS课程和本书基础课程时给予的支持。感谢爱丁堡大学的Chris Swetenham、Vladimir Ivan和Michael Camilleri,我们在DARPA机器人挑战赛中一起开展ROS编程合作。在这个过程中,他们教会了我很多额外的ROS编程技巧。 感谢Hung Hing Ying家庭的支持,他们的基金会使得我成为香港大学的Hung Hing Ying客座教授,期间与香港大学DARPA机器人挑战赛团队一起组织并开展工作。这是一次宝贵的实践ROS的经历。感谢东京大学的Kei Okada及其学生对我们港大团队所做的贡献,包括ROS使用的宝贵意见和技巧。 感谢Taylor and Francis的资深策划编辑Randi Cohen,她鼓励并指导了本书的出版。感谢为本书提出了宝贵建议的审稿者,他们是NASA Goddard空间飞行中心和马里兰大学的Craig Carignan博士和广东工业大学的Juan Rojas教授。 最后,感谢我的妻子Peggy Gallagher、女儿Clea和Alair Newman的支持,以及不断的鼓励和帮助。 感谢谷歌和开源机器人基金、许多创建了有价值的ROS包和在线教程以及回答大量ROS问题的在线贡献者,正是有了他们的支持,ROS才能成功。 作者简介 Wyatt S. Newman是凯斯西储大学电气工程和计算机科学系的教授,自1988年开始执教。他的研究领域是机电一体化、机器人学和计算智能,拥有12项专利并发表了超过150篇学术出版物。他在哈佛大学获得了工程科学专业的学士学位,在麻省理工学院热流体科学系获得了机械工程专业的硕士学位,在哥伦比亚大学获得了控制理论和网络理论专业的电机工程理学硕士学位,在麻省理工学院设计与控制系获得了机械工程专业的博士学位。他是机器人学方面的NSF青年研究员,担任过以下职务:飞利浦实验室高级研究员、飞利浦Natuurkundig实验室的访问科学家、美国桑迪亚国家实验室智能系统和机器人中心的访问学者、NASA格伦研究中心的NASA夏季教员、普林斯顿大学神经科学的访问学者、爱丁堡大学信息学院的杰出访问学者、香港大学的Hung Hing Ying杰出客座教授。他带领机器人团队参加了2007年DARPA城市挑战赛和2015年DARPA机器人挑战赛,并将继续致力于机器人的广泛应用。 |
本店所售图书均为正版书籍
发货方式
自动:在特色服务中标有自动发货的商品,拍下后,源码类 软件类 商品会在订单详情页显示来自卖家的商品下载链接,点卡类 商品会在订单详情直接显示卡号密码。
手动:未标有自动发货的的商品,付款后,商品卖家会收到平台的手机短信、邮件提醒,卖家会尽快为您发货,如卖家长时间未发货,买家也可通过订单上的QQ或电话主动联系卖家。
退款说明
1、源码类:商品详情(含标题)与实际源码不一致的(例:描述PHP实际为ASP、描述的功能实际缺少、功能不能正常使用等)!有演示站时,与实际源码不一致的(但描述中有"不保证完全一样、可能有少许偏差"类似显著公告的除外);
2、营销推广类:未达到卖家描述标准的;
3、点卡软件类:所售点卡软件无法使用的;
3、发货:手动发货商品,在卖家未发货前就申请了退款的;
4、服务:卖家不提供承诺的售后服务的;(双方提前有商定和描述中有显著声明的除外)
5、其他:如商品或服务有质量方面的硬性常规问题的。未符合详情及卖家承诺的。
注:符合上述任一情况的,均支持退款,但卖家予以积极解决问题则除外。交易中的商品,卖家无法修改描述!
注意事项
1、在付款前,双方在QQ上所商定的内容,也是纠纷评判依据(商定与商品描述冲突时,以商定为准);
2、源码商品,同时有网站演示与商品详情图片演示,且网站演示与商品详情图片演示不一致的,默认按商品详情图片演示作为纠纷评判依据(卖家有特别声明或有额外商定的除外);
3、点卡软件商品,默认按商品详情作为纠纷评判依据(特别声明或有商定除外);
4、营销推广商品,默认按商品详情作为纠纷评判依据(特别声明或有商定除外);
5、在有"正当退款原因和依据"的前提下,写有"一旦售出,概不支持退款"等类似的声明,视为无效声明;
6、虽然交易产生纠纷的几率很小,卖家也肯定会给买家最完善的服务!但请买卖双方尽量保留如聊天记录这样的重要信息,以防产生纠纷时便于送码网快速介入处理。
送码声明
1、送码网作为第三方中介平台,依据双方交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益;
2、非平台线上交易的项目,出现任何后果均与送码网无关;无论卖家以何理由要求线下交易的(如:要求买家支付宝转账付款的,微信转账付款的等),请联系管理举报,本平台将清退卖家处理。
正版 steam 原子之心 Atomic Heart 国区激活码 cd...
steam 英雄连3 国区激活码CDKEY PC游戏正版 Compan...
【骑砍中文站】PC 中文Steam 骑马与砍杀2 霸主 骑砍2 豪华版...
正版 steam 原子之心 Atomic Heart 国区激活码 cd...
M,日朋礼送男友老公创意实人用星人际机器蓝牙音箱走心情节生礼...
PC中文正版Steam 消逝的光芒2 消失的光芒2 Dying Lig...
Steam 女神异闻录5 皇家版 国区激活码CDKey秒发 Perso...
Steam怪物猎人崛起 曙光DLC 激活码cdkey 怪物猎人曙光 M...
steam 只狼 激活码CDKey 只狼影逝二度 Sekiro: Sh...
steam 女神异闻录5皇家版 国区激活码CDKey P5R 女神异闻...
正版steam 英雄连3 Company of Heroes 3 国区...
PC中文正版 steam平台 国区 竞速联机游戏 曼岛TT赛事边缘竞速...
2023新版 学而思秘籍一二三四五六年级 小学数学思维培养1-12级教...
比利时蓝钻 陶瓷钻石炒锅汤锅煎锅三件套装 厨房不粘锅具组合家用...
4B Raspberry Pi 4B 官方4代B型 开发板 蓝牙wif...
PC中文正版steam 双点医院 Two Point Hospital...
官方正版 跟世界 学VEX IQ机器人 王昕 殷治纲 殷启宸 温宇轩 ...
PC中文正版steam 猎人野性的呼唤/猎人荒野的召唤 theHunt...
Uplay 彩虹六号围攻 CDK激活码 彩虹6号 彩虹6号特勤干员 Y...
PC版Uplay 极限巅峰 Steep 季票 Season Pass...