想象你要教会一个从未下过厨房的铁手徒弟做番茄炒蛋。你没法给它讲抽象理论——它听不懂;你也不能指望它看一遍视频就会——它没有常识。于是你拿起一只「魔法教鞭」:上面有小屏幕、按键,还有一个需要你一直捏住的安全开关。你轻轻抓住徒弟的手,带它从冰箱走到灶台、举起铲子、开火、倒油、翻炒。每到一个关键姿势,你按下「记录」,徒弟就把这一刻「印在脑子里」。全程你捏着那个安全开关——只要它动作不对劲,你立刻松开手指,时间瞬间「冻结」,整个世界停下来。这套「手把手示范 + 按键记录 + 安全兜底」的流程,就是工业机器人世界里最经典的现场编程方式:示教器编程(Pendant / Teach Pendant)。 这套方式看起来很像「教徒弟做菜」,但背后藏着严密的工程规范:教鞭(示教器)有哪些按钮、以谁的视角录点位(坐标系)、用哪种姿势走过去(运动指令)、菜谱里怎么加「如果锅干了就加水」的逻辑分支、如何整理备份菜谱本(程序管理)。掌握它,你就拿到了与机器人对话的第一语言。下面是整个知识版图的全景演示。
对 AI 从业者来说,示教器编程是理解机器人「数据从哪来、动作如何生成」的入口。无论你将来做视觉引导、数字孪生还是智能产线调度,最终都得与现场这道「手把手教」的工序对接——理解它,才能让 AI 方案真正落地到车间。
目录
可视化演示
展示示教器硬件结构与安全操控机制、多坐标系标定方法(TCP/用户坐标)及运动指令与轨迹示教流程,切换模式理解工业机器人编程核心技能。
本节配有交互动效(进入视口后自动加载,约 3KB)。
示教器硬件结构与安全操控 急停按钮(红色蘑菇头)按下立即切断运动电源,是安全操作第一道防线 使能键(死人开关)三位置设计:松开停止、中间允许运动、完全按下停止 E-Stop → Power Cut | Enable: OFF→STOP, MID→RUN, ON→STOP 示教器是工业机器人最核心的人机交互设备,安全机制贯穿全部操作
示教器基础:认识你的「魔法教鞭」
在正式教徒弟做菜之前,你得先把自己手里的魔法教鞭摸透。这只教鞭长得像「游戏手柄 + 平板电脑」的合体:正面是一块能显示菜单、坐标和报错信息的屏幕,屏幕下方是密密麻麻的按键——有的是数字键盘,有的是「运动模式切换」,还有的是「记录点位」的快捷键。侧面往往藏着一个像扳机一样的开关,背后或上方还有一个红色大圆钮。不认识这些,你连「让徒弟迈一步」都做不到。
这三样东西各司其职:屏幕告诉你机器人的实时状态;按键负责「下达指令」和「记录位置」;红色大圆钮是急停开关——遇到任何不对劲,一巴掌拍下去,所有电机立即断电。而侧面那个「扳机」叫三态使能开关:它有三个位置,只有轻捏在中间位时,机器人电机才被允许上电;完全松开或使劲捏到底,都会立刻触发停机。这是工业安全最重要的设计:机器人绝不允许在操作者失去意识或慌乱的时候还能乱动。
示教器的安全逻辑可以抽象成一个「所有条件同时满足才放行」的布尔表达式:
所以,示教器的本质不是一个「遥控器」,而是一把带三重保险的「教学指挥棒」。你捏住它,徒弟才敢动;你松手或捏紧,它立刻站住。搞懂这把教鞭,后面的所有操作才真正安全。
- 中间位信号使能开关在中间位置时输出高电平,表示操作者「有意识地握持」,就像你一直稳稳捏住教鞭的中段。
- 未捏到底如果操作者因紧张而死死攥紧开关,系统判定为异常,不予放行。
- 未完全松开如果操作者撒手或晕倒,开关弹回释放位,同样立即切断动力,防止机器人「自由发挥」。
- 三者合取用逻辑「与」(AND)连接,任何一个条件不满足,安全输出就为 0,机器人断电静止。
坐标系设定:统一「方位语言」
做菜时你朝徒弟喊「把盐放在你的左手边」——可如果徒弟面朝你站着,它的左手正好是你的右手,鸡同鸭讲。机器人也一样:一个点位必须说清楚「以谁为参照」。这套「方位语言」,在机器人世界里就是坐标系。
机器人最常用的有四个坐标系。基座坐标系以机器人底座中心为原点,是机器人「心里的家」,每个关节的角度最终都要换算回这个坐标系;世界坐标系是车间地面上划定的「大地图」,用于多台机器人协同;工具坐标系建立在焊枪尖端或夹爪中心,说「工具的尖尖在哪里」就是用它;工件坐标系贴在工作台或零件上,工件摆放歪了,只需要重新定义工件坐标系的原点和方向,程序里的点位就能整体「跟着工件走」,而不必逐个重录。
示教器上显示的位置,本质上是把工具坐标系下的点经过旋转和平移「翻译」到基座坐标系下的结果。二维的旋转加平移可以写成这样:
下次在示教器上看到一串坐标时,你就知道:那不是一串随便的数字,而是「徒弟视角」与「你的视角」之间一次严谨的翻译。坐标系选错了,就好比徒弟把「我的左手」听成了「你的左手」,整盘菜的方向全反。
- 旋转子矩阵左上角的 2×2 矩阵负责「转头」,它把工具坐标系相对基座坐标系的角度差 θ 编码进坐标变换。
- 平移向量右上角的两个数表示两个坐标系原点之间的位移,就像徒弟和你的站位差了多远。
- 齐次坐标在二维坐标后面补一个 1,是为了把「旋转+平移」两种运算统一成一次矩阵乘法,这也是机器人学里最常用的数学技巧。
- 矩阵乘展开把乘法展开就能得到熟悉的坐标映射公式:新 X 等于原来的 x、y 各旋转投影后再加平移量。
运动指令:三种「走路姿势」
徒弟学会了认方位,接下来要教它怎么走过去。从冰箱到灶台这一小段路,其实有多种走法:可以「先扭腰再迈腿」地大步走过去,也可以「端着托盘走一条笔直的线」防止汤汁洒出来,还可以「绕过地上的一滩水」画一道弧。机器人把这三种姿势做成了标准指令:MOVJ、MOVL、MOVC。
MOVJ 是关节运动,控制每个关节各自转到目标角度,末端走的轨迹是一段空间弧线——它最快,但路径不可控,适合在无障碍区域快速到位。MOVL 是直线运动,末端在三维空间严格走直线,适合涂胶、焊接、点焊这些「路线不能偏」的工艺。MOVC 是圆弧运动,通过三个点确定一段圆弧,让机械臂在拐角处平滑过渡,避免急刹车。每条运动指令还附带速度、加减速和精度等级:精度等级决定了机器人经过示教点时是「精准停住再走」还是「贴边掠过」,直接影响节拍。
MOVL 的直线路径本质是控制器在起点和终点之间不断插补中间点,数学上就是做一次线性插值:
三种走路姿势各有各的用武之地:追求效率用 MOVJ,追求路径用 MOVL,追求平滑用 MOVC。聪明的师傅会按工序搭配它们——正如你不会让徒弟举着滚烫的汤碗走弧线,也不会让它在空旷车间里非要走一条笔直的长路。选对姿势,菜才端得稳。
- 起点向量P₀ 是直线运动起始点的空间坐标,对应示教器中记录的第一个点位。
- 方向向量P₁ − P₀ 是从起点指向终点的方向向量,它决定了直线往哪个方向延伸。
- 插补比例t 从 0 渐变到 1,相当于「走路的进度条」,控制器每隔几毫秒按当前 t 计算一个新目标点发给电机。
逻辑编程:给菜谱加「分岔路口」
徒弟学会了一个动作一个动作地走,但真正的菜谱从来不是直线背下来的。你会说:「如果锅太干了,就加一点水;否则继续翻炒。」「我数三下,停手。」这些「如果……否则……」「重复三次」的句子,就是程序的逻辑。没有它,机器人只是一台不断循环同一动作的机械,有了它,机器人成了会看火候的「智能厨师」。
示教器程序里的每一行不只是点位,还包含逻辑指令。IF 指令读入一个数字信号或计算结果,决定程序跳到哪一行执行;FOR/WHILE 构建循环,让一段动作重复指定次数;JUMP 可以跳转到任意行号,类似「菜谱第 3 步完成后再翻回第 1 步」;CALL 则调用子程序,比如把「洗锅」封装成一个公共子程序,任何主程序都能调用。而连接这一切与外界沟通的,是 IO 信号——机器人通过输入信号感知传送带到位没有、夹具夹紧没有,通过输出信号告诉下一台设备「我干完了」。
一个典型的联锁逻辑可以写成布尔表达式:
逻辑指令让示教程序从「一张动作清单」升级成「一棵决策树」。现场调试时最见功夫的,往往不是点位录得准,而是这些「分岔路口」判断得干净利落——什么时候该等、什么时候该跳、什么时候该报警,全藏在这一行行逻辑里。
- 启动输入I_start 是来自 PLC 或按钮的启动信号,表示「传送带把工件送来了,可以开工」。
- 报警取反I_alarm 是报警信号,取反后变成「没有报警」这一有利条件。
- 条件合取两个条件用 AND 连接,意味着「没报警」且「有启动信号」,自动模式才放行,避免带着故障硬干。
- 手动旁路I_manual 是示教模式信号,与前面的自动条件做 OR。调试时即使没有启动信号,手动模式也能动——就像师傅说「这次我手把手带你,不用等锅热」。
轨迹示教:手把手留下的「脚印」
学做菜最直接的方式是什么?师傅站在徒弟身后,握着它的手,带着它完成一整道菜——每到一个关键姿势,徒弟就低头看看自己的手在哪,记下来。机器人示教(Teaching)正是这个动作的机械化:操作者握住示教器,把机器人末端推到目标位置,按下「记录点位」,一个脚印就留下来了。
点位示教通常用「手动操作」模式完成:先切到低速,用 MOVJ/MOVL 指令微调机器人姿态,还可以调整每次按键的移动量——粗调用大步距快速接近,精调用小步距毫米级逼近。当示教器上显示的坐标和角度都满意了,按下「记录」,这一点连同速度和精度参数就写进了程序行。把所有关键点依次记录完,机器人会自动在相邻点之间按设定的插补方式过渡,形成一条完整轨迹。
示教出的轨迹到底准不准,要看实际走到与示教点之间的偏差是否在容差范围内:
轨迹示教的终极目标是「快而准」,但两者常常互相打架。高手会只记录必要的关键点,把直线段拉长、拐角用圆弧过渡,并在示教完成后先空跑一遍、再带负载跑一遍。脚印留得越讲究,徒弟跑得越稳。
- 示教目标点P_taught(i) 是你在示教模式下记录的第 i 个点位,也就是「脚印」本来的位置。
- 实际到达点P_actual(i) 是机器人全速运行时,第 i 个点真实到达的位置,受惯性、速度和负载影响会略有偏离。
- 距离容差用二范数计算两点间的直线距离,并限制在容差 ε 内。ε 越小要求越高,但同时也牺牲节拍。
程序管理:打理你的「菜谱柜」
徒弟慢慢学会了炖排骨、炒时蔬、蒸鱼……几十道菜的做法全记在脑子里。可万一徒弟闹脾气「失忆」了怎么办?菜谱得抄一份备份;菜谱多了,还得分门别类、编好目录。示教器里的程序管理,就是这座「菜谱柜」。
程序管理的第一步是新建与命名:每个程序像一份独立菜谱,有文件名、注释和创建时间。第二步是编辑:你可以插入、删除、复制指令行,修改点位坐标、速度、精度,甚至批量替换——比如把程序里所有 MOVL 的速度从 100 改成 200,一次搞定。第三步是调试运行:新写的程序不能直接全速跑,正确的姿势是先低速单步执行,盯着每行坐标和 IO 状态变化,确认无碰撞、无跳变后再逐步提速;调试时还有「试运行」模式,让程序在安全门关闭后空跑一遍。第四步是备份传输:程序最终保存在控制器内部存储中,但为了防丢失和方便换线,要用 U 盘导出、局域网传输到上位机或制造执行系统。
程序执行时,控制器内部有一个「当前行指针」,它决定了下一行执行哪条指令:
打理好「菜谱柜」,才是示教编程的收尾功夫。一个没有命名规范、没有备份习惯、没有调试记录的现场,就像一本乱糟糟的菜谱——徒弟今天能炒出菜,明天未必能。程序管理看似不起眼,却是工程质量的真正分水岭。
- 程序计数器PC(Program Counter)保存当前执行到的程序行号,相当于菜谱本上夹着的书签。
- 顺序递增没有跳转时,下一行就是当前行加一,程序按书写的顺序逐条执行。
- 跳转目标遇到 JUMP 或 CALL 指令时,PC 被改写为目标行地址 ADDR_jump,程序从这里继续。
AI 应用场景
汽车焊装产线的轨迹示教与 AI 辅助
阶段:数据采集与人工校验(Correction)
解决的问题:传统方式下,焊装线上一台白车身有几百个焊点,工程师要逐一示教,耗费数天且容易漏点。AI 视觉系统可以自动识别焊缝特征并生成候选焊点与姿态,机器人工程师只需用示教器在关键路径上确认、微调,再让机器人走一遍验证。
具体案例:某汽车厂门盖线引入 3D 视觉扫描,AI 在仿真环境中预生成 200 个焊点的路径方案,工程师用示教器对其中 15 个高风险点进行手动修正,整体调试时间从 5 天压缩到 1.5 天,且焊点位置重复精度保持在 ±0.5mm 以内。
3C 产线快速换产中的工件坐标系复用
阶段:模型部署与参数配置(Deployment)
解决的问题:3C 电子产品更新换代快,产线频繁换型。传统做法是每换一次产品就重新示教全部点位,停产损失巨大。利用「工件坐标系」机制,把程序点位建立在工件坐标下,换产时只需用三点法重新标定工件坐标系,程序点位自动跟随新位置,无须逐点重录。
具体案例:某手机装配线上,A/B 两款手机壳共用同一台六轴机器人。工程师将 120 个装配点位全部记录在工件坐标系下,换型时只用示教器标定 3 个基准孔,整个换产时间从 8 小时降到 40 分钟。
数字孪生离线编程与现场示教校准
阶段:仿真验证与前端校准(Validation)
解决的问题:离线编程软件可以在电脑上仿真生成机器人程序,但仿真和现实总有偏差(工装误差、机器人本体误差)。AI 数字孪生平台负责生成初版轨迹,示教器负责最后的「真机校准」——操作者现场微调关键点位、重新标定工具坐标系,再把修正后的数据回传,形成闭环优化。
具体案例:某家电涂胶工位用离线编程生成胶路轨迹,AI 仿真显示无碰撞。到了现场,工程师用示教器将胶枪的 TCP(工具中心点)重新标定,修正了 0.8mm 的定位偏差,并将修正参数同步回数字孪生模型,使下一版程序更贴近现实。
Python 演示
import numpy as np def fk(q, l1=1.0, l2=0.8): """正运动学: 已知关节角, 求末端坐标""" x = l1 * np.cos(q[0]) + l2 * np.cos(q[0] + q[1]) y = l1 * np.sin(q[0]) + l2 * np.sin(q[0] + q[1]) return np.array([x, y]) def ik(px, py, l1=1.0, l2=0.8, elbow=1.0): """逆运动学: 已知末端坐标, 求关节角, elbow=1 肘上 / -1 肘下""" d2 = px * px + py * py c2 = np.clip((d2 - l1 * l1 - l2 * l2) / (2.0 * l1 * l2), -1.0, 1.0) q2 = elbow * np.arccos(c2) q1 = np.arctan2(py, px) - np.arctan2(l2 * np.sin(q2), l1 + l2 * np.cos(q2)) return np.array([q1, q2]) def main(): q_start = np.array([-0.7, 1.3]) q_end = np.array([0.9, 0.7]) p_start = fk(q_start) p_end = fk(q_end) ts = np.linspace(0.0, 1.0, 100) # MOVJ: 关节角度线性插值, 末端走弧线 traj_joint = np.array([fk(q_start + (q_end - q_start) * t) for t in ts]) # MOVL: 末端直线插值, 再反解关节角 traj_cart = np.array([ fk(ik(p_start[0] + (p_end[0] - p_start[0]) * t, p_start[1] + (p_end[1] - p_start[1]) * t)) for t in ts ]) print("起点:", p_start) print("终点:", p_end) print("关节空间轨迹首点:", traj_joint[0]) print("笛卡尔空间轨迹末点:", traj_cart[-1]) try: import matplotlib matplotlib.use("Agg") import matplotlib.pyplot as plt plt.figure(figsize=(6, 5)) plt.plot(traj_joint[:, 0], traj_joint[:, 1], "--", label="MOVJ path") plt.plot(traj_cart[:, 0], traj_cart[:, 1], label="MOVL path") plt.scatter([p_start[0], p_end[0]], [p_start[1], p_end[1]], color="red") plt.legend() plt.axis("equal") plt.savefig("traj.png", dpi=80) print("轨迹图已保存到 traj.png") except ImportError: print("未安装 matplotlib, 跳过画图") if __name__ == "__main__": main()
def fk(q, l1=1.0, l2=0.8):正运动学函数:给定两个关节角度,计算出机械臂末端在空间中的坐标,这是示教器屏幕上显示坐标的基础。def ik(px, py, l1=1.0, l2=0.8, elbow=1.0):逆运动学函数:给定末端目标位置,反算出每个关节应该转多少度。elbow 参数决定「肘部朝上还是朝下」,对应反解的多解选择。q2 = elbow * np.arccos(c2)用余弦定理求第二个关节角,并通过 elbow 符号区分两种可能的臂型配置。traj_joint = np.array([fk(q_start + (q_end - q_start) * t) for t in ts])关节空间插值:把每个关节的角度从起点匀速线性变到终点,算出整条 MOVJ 轨迹。traj_cart = np.array([...])笛卡尔空间插值:先把末端位置从起点到终点做直线插值,再对每个中间点反解关节角,实现 MOVL 直线运动。plt.plot(traj_joint[:, 0], traj_joint[:, 1], "--", label="MOVJ path")用虚线画出关节运动路径,你会在图上看到一条弧线。plt.plot(traj_cart[:, 0], traj_cart[:, 1], label="MOVL path")用实线画出直线运动路径,末端严格走直线。
常见误区
误区示教器不是遥控器吗?那我按某个运动键,机器人就应该像我按游戏手柄那样立刻动起来。为什么按了没反应?
正解示教器不是「遥控器」,而是「教学指挥棒」。要让机器人动起来,必须同时满足三个条件:一是使能开关捏在中间位,二是机器人处于手动模式,三是按下的运动方向键在允许范围内。这就像教徒弟做菜时,你既要握住安全手柄,也要说清楚「迈左脚还是右脚」,缺一个徒弟都不会动。所有条件都满足后,机器人也是以低速、低力矩的状态「试探性」移动。
为何常见:因为游戏手柄和遥控器的「按了就响应」给人留下了深刻印象,而示教器的安全机制是反直觉的——它故意设计成「不轻易动」,这种行业安全惯例初学者很容易误读。
误区示教器上显示的坐标不就是 XYZ 三个数字嘛,基座坐标、工具坐标、工件坐标应该都差不多,随便用哪个记录点位不行吗?
正解坐标系选错,点位就会「跑偏」。把程序记录在工具坐标系下,换一个不同长度的焊枪,所有焊点位置全变;把点位记在工件坐标系下,工装转个角度程序照样精准。就像教徒弟「把盐放在你的左手边」,如果不规定「你的左手边」到底以谁为参照,徒弟伸错手是必然的。基座坐标是机器人的「出厂视角」,工具坐标是「手的视角」,工件坐标是「零件视角」,三者各管一段距离的翻译。
为何常见:人天生只习惯「以自己为参照」这一个视角,而机器人要求操作者随时切换「站在谁的角度说话」,这种视角切换的认知负担让初学者容易偷懒统一化。
误区MOVL 听起来更高级,直线运动应该比关节运动更快更准,所以能用到直线就尽量用 MOVL。
正解恰恰相反,MOVJ 通常比 MOVL 快得多。MOVJ 是每个关节独立地以最快协同方式转到位,末端走弧线;MOVL 为了保证末端严格走直线,控制器要不断做逆解、实时计算每个关节的角速度,机器人等于「压着速度」保持直线,自然更慢。这就像让徒弟在空旷场地放心跑(MOVJ)和端着满满一碗汤走得笔直(MOVL),后者一定更慢更累。
为何常见:名字里带「直线」让人下意识觉得更先进,实际上「快」来自关节空间的最优分配,而不是笛卡尔空间的直线约束。
误区为了让机器人走得准,我应该把路径上的点录得密密麻麻,点位越多越保险,误差越小。
正解点位过多反而有害:程序变长、执行变慢、每个点都要减速停留(或做精度过渡),节拍大幅下降;而且相邻点太密还会引入抖动,轨迹反而更毛糙。正确做法是只录关键点,直线段两端各录一个点,拐角用圆弧过渡,让机器人「贴着弧线飞过去」。真正决定精度的不是点的数量,而是插补算法和机械重复定位精度。
为何常见:人的直觉是「样本越多越准确」,但在离散点插补的运动控制里,多和密并不等于平滑和快,这是控制工程与直觉相悖的地方。
误区程序写好保存在示教器或机器人控制器里,它又不会丢,为什么还要导出来备份?这不是多此一举吗?
正解控制器内存可能因电池耗尽、升级、故障而丢失程序;示教器也可能损坏或被人误拿。备一份 U 盘导出文件,或者上传到产线服务器,相当于菜谱本多抄了几册。真正规范的项目还会有版本管理:今天调过的速度、明天的点位修正,都留档可追溯,下次换产直接调对应版本,比现场重新示教快得多。
为何常见:人总是对「存在本地设备里的东西」有安全感,直到设备出故障才后悔。现场工程师见过太多「程序丢了从头录」的惨案,备份习惯是靠教训养成的。
面试题
Q1. 三态使能开关处于哪个位置时,机器人电机才被允许上电运动?
- A.完全按下位置
- B.完全松开位置
- C.中间位置← 正确答案
- D.任意位置即可
答案:C。使能开关的三态分别是「松开」「中间」「按到底」,只有中间位表示操作者清醒且有意识地握持,机器人才允许上电。A 和 B 都是触发安全停机的状态,D 显然错误。这就像教鞭的安全手柄:只有稳稳捏住中段,徒弟才敢迈步。
Q2. 以下哪种运动指令会让机器人末端在空间中严格走直线?
- A.关节运动
- B.直线运动← 正确答案
- C.圆弧运动
- D.自由运动
答案:B。直线运动 MOVL 通过控制器不断插补,保证末端沿直线路径走,适合涂胶焊接。关节运动末端走弧线,圆弧运动走指定圆弧,自由运动不是标准指令。类比起来,只有「端着汤碗走直线」才是 MOVL 的姿态。
Q3. 下列哪些属于示教器上保障人身安全的功能?
- A.急停按钮← 正确答案
- B.三态使能开关← 正确答案
- C.安全围栏信号← 正确答案
- D.USB 接口
答案:ABC。急停按钮瞬间切断动力,使能开关保证操作者主动握持,安全围栏信号在自动模式下防止有人闯入。USB 接口是数据传输功能,与人身安全无关。三者像教徒弟时的「救命闸、防呆锁、隔离门」三道防线。
Q4. 工具坐标系标定的主要目的是什么?
- A.让工具尖点被准确建模← 正确答案
- B.让机器人运行速度变得更快
- C.让程序行数大幅度减少
- D.让电机温度保持恒定
答案:A。工具坐标标定是为了让控制器知道焊枪尖、夹爪中心相对法兰的精确位姿,从而让「工具尖尖」移动跟手。速度由工艺参数决定,行数与编程习惯有关,温度是散热问题。相当于给徒弟量好手上铲子的长度和角度,炒菜才不偏。
Q5. 关于 MOVJ 与 MOVL 的说法,以下哪项正确?
- A.MOVJ 末端轨迹可控且定位最快
- B.MOVL 末端走直线路径更稳定← 正确答案
- C.MOVJ 末端必须走直线
- D.MOVL 运动速度一定最慢
答案:B。MOVJ 各关节联动,末端路径是弧线、路径不可控,但通常最快,所以 A、C 错误。MOVL 末端走直线、路径稳定,B 正确。D 说「必然最慢」太绝对,速度还与设定值和距离有关。对应到做饭:跑步过去是 MOVJ,端汤走直线是 MOVL。
Q6. 下列哪些是工业机器人常用的坐标系?
- A.基座坐标系← 正确答案
- B.工具坐标系← 正确答案
- C.工件坐标系← 正确答案
- D.气压坐标系
答案:ABC。基座坐标系固定于机器人底座,工具坐标系建立在末端工具上,工件坐标系附着于零件或夹具,三者是最常用的三套「方位语言」。气压坐标系不存在,是气压传感器而非坐标参考系。就像做菜时的「自己、手边、菜板」三个参照维度。
Q7. 工件坐标系被重新标定后,原程序中点位坐标的变化是?
- A.所有点位需要重新示教
- B.点位自动跟随新坐标系← 正确答案
- C.点位值会随机漂移
- D.程序行数必须重写
答案:B。示教点位记录在工件坐标系下,重标定相当于把整个「菜板」重新放正,菜板上所有记号的位置自动跟着新基准走,程序不用改。A 是误解,C 是随机错误,D 与坐标无关。这正体现了工件坐标系的设计价值。
Q8. 对两连杆机械臂做逆运动学求解时出现两个解,如何确定选哪一个?
- A.随机挑选其中一个即可
- B.按肘部姿态约束来挑选← 正确答案
- C.两个解必然完全相同
- D.以工具坐标原点大小为准
答案:B。两连杆反解一般有两个解:肘部朝上和肘部朝下。选哪个取决于机器人当前的臂型配置和避障需求,工程上通过 elbow 参数或连续运动约束确保不跳变。随机选会致轨迹突变;两解只有在特殊退化位置才重合;D 与本题无关。
Q9. 下列哪些是优化机器人示教轨迹节拍的有效手段?
- A.删除冗余的示教点← 正确答案
- B.拐角处使用圆弧过渡← 正确答案
- C.全程无限制提高速度
- D.合并相近的直线段← 正确答案
答案:ABD。删除冗余点减少停顿,圆弧过渡替代直角减速,合并相近直线段减少指令切换开销,都能提升节拍。但 C 错误:速度受电机能力、工艺质量和安全规范三重限制,「无限制提速」只会伤设备或破坏工艺。就像做菜不是全程猛火,该大火大火、该收汁收汁。
Q10. 某焊缝在基坐标系下的位置为 (300, 0, 500),工具坐标系原点相对基坐标系平移为 (0, 0, 100),则焊缝在工具坐标系下的位置是?
- A.(300, 0, 400)← 正确答案
- B.(300, 0, 600)
- C.(0, 0, 100)
- D.(300, 0, 500)
答案:A。工具坐标系相对基坐标系只做了 Z 方向 +100 的平移。把基系下的点减去这个平移:Z 方向 500 − 100 = 400,X、Y 不变,所以答案是 (300, 0, 400)。这相当于徒弟站在比你高一米的台子上,你看它手里的菜,要把这个高度差减掉。C 是工具原点的位置,B 是加反了,D 是没变换。