本书第1章从工业机器人坐标系概念入手,介绍了机器人TCP、工件坐标系的计算原理与ABB工业机器人坐标系指令/函数的使用;第2章介绍了工业机器人D-H模型及ABB工业机器人正向运动学的计算,帮助读者从理论层面了解工业机器人的运动机理;第3章详细介绍了ABB工业机器人编程(RAPID)的内核与应用技巧,以帮助读者深入了解ABB工业机器人的相关指令;第4~13章就ABB工业机器人的进阶应用功能做了介绍与实例讲解,其中包括MultiMove(多机协同)、RobotStudio在线编程、RobotStudio数字孪生、RobotLoad负载测试软件、ModBus/TCP、弧焊、力控、外轴/变位机配置与Standalone控制柜(Gantry机器人)、RobotWare 6控制系统中文交互、基于视觉的输送链跟踪等;第14章介绍了ABB工业机器人最新推出的Omnicore机器人控制系统与RobotWare 6控制系统的异同,并针对Robot Web Service 2.0、Omnicore自定义App等新功能做了讲解。
陈瞭,浙江大学控制理论与控制工程(或智能机器人)硕士研究生,现在就职于ABB工业机器人,具有多年的工业机器人现场项目经验和工业机器人培训经验。
目 录
第1章 位姿与坐标系 1
1.1 位姿 1
1.1.1 空间位姿的定义 2
1.1.2 四元数与欧拉角的转换 4
1.1.3 齐次变换矩阵与位姿数据pose的转换 6
1.1.4 pose数据相关函数 8
1.2 TCP 16
1.2.1 定义TCP 17
1.2.2 MToolTCPCalib指令 20
1.2.3 TCP计算原理及实现 21
1.2.4 调整工具数据及应用 29
1.3 工件坐标系 31
1.3.1 Wobj数据解释 33
1.3.2 定义工件坐标系 34
1.3.3 DefFrame指令 36
1.3.4 工件坐标系计算原理及实现 37
1.4 偏移与旋转 41
1.4.1 基于Offs的偏移及实现原理 41
1.4.2 基于工件坐标系的批量偏移 42
1.4.3 RelTool及实现原理 43
1.4.4 左乘与右乘 44
1.5 PDisp相关指令 49
1.5.1 PDispSet用法及原理实现 49
1.5.2 PDispOn用法及原理实现 51
第2章 机器人本体 55
2.1 机器人连杆描述 55
2.2 典型ABB工业机器人MDH参数 57
2.2.1 IRB120 60
2.2.2 IRB1200 61
2.2.3 IRB1410 62
2.2.4 IRB2600 63
2.2.5 IRB4600 64
2.2.6 IRB6700 65
2.2.7 YUMI 66
2.3 机器人正向运动学 67
2.3.1 IRB120 68
2.3.2 IRB1410(带连杆机器人) 69
2.3.3 YUMI机器人(7轴) 71
2.4 轴配置数据 72
2.4.1 含义解释 72
2.4.2 计算cfx 76
第3章 RAPID指令与技巧 79
3.1 模块、例行程序与数据 79
3.1.1 模块的属性 80
3.1.2 基本数据类型 83
3.1.3 数据存储类型与作用域 83
3.1.4 自定义数据类型的创建 86
3.1.5 AGGDEF用法 87
3.1.6 数组 87
3.1.7 例行程序的分类 88
3.1.8 跨模块调用Local例行程序 90
3.2 带参数例行程序 90
3.2.1 参数模式 92
3.2.2 数组参数 93
3.2.3 可选参数与互斥参数 94
3.2.4 问号的用法 96
3.2.5 获取参数名称 97
3.3 自定义函数 98
3.3.1 函数定义 98
3.3.2 HOME位检查函数 99
3.3.3 返回数组 100
3.4 信号 101
3.4.1 通过EXCEL创建/修改信号 102
3.4.2 系统输入与输出信号 102
3.4.3 机器人停止运动信号自动复位 104
3.4.4 等待信号及超时处理 105
3.4.5 信号取反与脉冲 105
3.4.6 信号滤波时间 106
3.4.7 提高DSQC1030模块的响应速度和采样频率 107
3.4.8 化名I/O信号 107
3.4.9 通过字符串控制I/O信号 108
3.4.10 Cyclic Bool 108
3.4.11 运行模式切换自动远程模式 109
3.5 中断 110
3.5.1 中断创建 110
3.5.2 中断的停用与启用 113
3.5.3 轨迹中断与恢复 114
3.5.4 多工位多次预约 116
3.6 错误处理 118
3.6.1 系统预定义错误 121
3.6.2 自定义错误 127
3.6.3 重试次数 128
3.6.4 长跳转的错误恢复 130
3.6.5 碰撞后的自动回退与继续运行 131
3.7 撤销处理 133
3.8 向后处理 135
3.9 流程控制与加载模块 137
3.9.1 常用流程控制指令 137
3.9.2 PLC选择程序 138
3.9.3 模块的加载与卸载 139
3.9.4 通过FTP传输模块与文件 141
3.9.5 调用名称有规律的例行程序 141
3.9.6 循环及例行程序的跳出 142
3.9.7 Event Routine 144
3.10 速度类 145
3.10.1 Speeddata解释 145
3.10.2 用时间代替速度控制运动 147
3.10.3 控制单轴速度 147
3.10.4 全局速度设定 149
3.10.5 检查点限速与单轴限速 151
3.10.6 示教器查看实时速度 153
3.10.7 修改与获取机器人理论最大速度 154
3.10.8 切换到自动模式保持速度百分比 154
3.10.9 加速度 155
3.11 数学类 156
3.11.1 基本数学类 156
3.11.2 求解线性方程组 159
3.11.3 位与字节 159
3.12 运动类 162
3.12.1 判断点位是否可达 162
3.12.2 转弯半径及可视化 163
3.12.3 转角路径故障及处理 166
3.12.4 阻止预读 167
3.12.5 短距离报警 168
3.12.6 机器人停止距离可视化 169
3.12.7 路径回归设置 171
3.12.8 MoveLDO与MoveLSync 172
3.12.9 Trigger相关指令 173
3.12.10 获取机器人运动轨迹距离 177
3.12.11 单轴运动总距离和时间 177
3.12.12 准确记录机器人指令时间 178
3.13 运动搜索指令 179
3.14 RAPID配套指令 180
3.14.1 获取系统信息 180
3.14.2 时间相关指令 182
3.14.3 获取与设置系统数据 183
3.14.4 读取机器人各轴上下限 184
3.14.5 修改机器人各轴上下限与重启 185
3.15 搜索数据与读写文件 186
3.15.1 批量获取数据 186
3.15.2 批量设置数据 186
3.15.3 搜索数据 187
3.15.4 读写文件 191
3.16 多任务 194
3.16.1 概念介绍 194
3.16.2 任务间共享数据 195
第4章 MultiMove 197
4.1 介绍与配置 197
4.2 校准 200
4.3 双机器人+变位机半联动编程 204
4.4 YUMI机器人左右手联动 208
4.5 MultiMove自动轨迹 211
第5章 RobotStudio在线编程 216
5.1 点位在不同坐标系转化 216
5.2 在线图形化修改轨迹 217
5.3 RAPID数据编辑器 218
5.4 RobotStudio中修改位置 219
5.5 代码格式化 219
5.6 程序段Snippet 220
5.7 Tab键自动补全 221
5.8 监控变量 221
5.9 传输文件 221
5.10 比较 222
5.11 信号分析器 222
第6章 RobotStudio仿真与数字孪生 224
6.1 Equipment Builder 224
6.2 RobotStudio模型缩放功能 225
6.3 不使用Smart组件实现抓取动作 226
6.4 涂胶轨迹 227
6.5 WorldZones查看器 229
6.6 物理特性仿真 230
6.6.1 重力仿真 230
6.6.2 物理关节仿真 232
6.6.3 管线包仿真 233
6.7 高级照明与导出工作站CAD文件 233
6.8 增强现实与虚拟现实 234
6.9 基于OPCUA的数字孪生 236
第7章 RobotLoad软件 240
第8章 ModBus/TCP通信 243
第9章 弧焊 249
9.1 通用焊机配置 249
9.1.1 Arc信号解释 249
9.1.2 配置信号 251
9.2 林肯焊机配置 252
9.3 福尼斯焊机配置 254
9.4 焊接语句 258
9.5 摆动焊接参数 260
9.6 SmarTac寻位 261
9.7 电弧跟踪与多层多道 263
9.7.1 WELDGUIDE 264
9.7.2 Tracking Interface 270
第10章 力控 273
10.1 力控介绍 273
10.1.1 硬件与配置 273
10.1.2 带外轴系统的力控配置 278
10.2 第一次传感器测试与拖动测试 279
10.3 恒压模式 282
10.4 滤波与阻尼 283
10.5 非接触表面不关闭力控 284
10.6 基于力控的装配 285
第11章 外轴与Standalone 287
11.1 ABB标准外轴电机 288
11.2 外轴电机配置与调试 289
11.3 非ABB外轴电机 294
11.4 创建伺服焊枪仿真 297
11.5 配置二轴变位机 299
11.6 自定义机器人与配置 305
11.6.1 Standalone 305
11.6.2 创建Gantry机器人模型 306
11.6.3 创建系统与配置 309
第12章 中文交互 314
12.1 介绍 314
12.2 中文交互实现 315
12.3 中文自定义错误报警 318
第13章 输送链跟踪 322
13.1 系统参数和配置 324
13.2 校准 326
13.2.1 CountsPerMeter 326
13.2.2 Base Frame 327
13.3 定长触发 329
13.4 带视觉输送链跟踪 329
13.4.1 视觉与输送链的校准 330
13.4.2 触发机制 331
13.4.3 高级队列功能 332
13.4.4 判重处理 332
13.4.5 捡漏与均分 333
13.5 圆形跟踪 333
13.6 带导轨的输送链跟踪 334
第14章 Omnicore机器人控制系统 336
14.1 控制柜硬件 336
14.1.1 C30/C90控制柜 336
14.1.2 E10控制柜 339
14.2 RobotWare 7与RobotWare 6选项对照 341
14.3 示教器与操作 342
14.4 无示教器操作 344
14.4.1 PC虚拟示教器 344
14.4.2 Robot Control Mate 345
14.5 制作机器人系统 348
14.6 中文图形化编程 349
14.6.1 Wizard 349
14.6.2 自定义图形化指令 352
14.7 Robot Web Service 2.0 353
14.8 自定义示教器App 355
14.9 在示教器配置SafeMove2 360
14.10 GOFA机器人 364