工业机器人标定仿真 (Python驱动)
黑龙江八一农垦大学版权所有
操作指引:
1. 点击右侧 [模拟电池故障]
2. 观察到 SRVO-062 报警
3. 在中间面板使用 Python 代码消除偏差
4. 点击 [执行代码] 完成对齐并标定
5. 点击 [运行演示] 验证标定结果
提示:鼠标左键拖动旋转视角,右键平移。
🐍 Python PBL 算法编程区
环境加载中...
学习目标:使用
变量
读取脉冲状态,使用
运算符
计算偏移角度,驱动机器人回零。
import time print("--- 启动自动归零标定程序 ---") # [变量] 定义:伺服编码器 1 角度 = 1000 脉冲 PULSE_PER_DEG = 1000 # 获取各轴丢失零点后的脉冲偏差 j1_pulse = robot.get_pulse(1) j2_pulse = robot.get_pulse(2) print(f"J1轴当前偏差脉冲: {j1_pulse}") print(f"J2轴当前偏差脉冲: {j2_pulse}") # [运算符] 计算:需补偿的角度 = - (脉冲数 / 比例) j1_target = - (j1_pulse / PULSE_PER_DEG) j2_target = - (j2_pulse / PULSE_PER_DEG) print(f"计算 J1 需移动: {j1_target:.2f} 度") # 驱动机器人运动到物理零点 robot.set_joint_angle(1, j1_target) robot.set_joint_angle(2, j2_target) # J3 到 J6 轴的合并写法 robot.set_joint_angle(3, - (robot.get_pulse(3) / PULSE_PER_DEG)) robot.set_joint_angle(4, - (robot.get_pulse(4) / PULSE_PER_DEG)) robot.set_joint_angle(5, - (robot.get_pulse(5) / PULSE_PER_DEG)) robot.set_joint_angle(6, - (robot.get_pulse(6) / PULSE_PER_DEG)) time.sleep(1) print("--- 物理位置已对齐,执行系统零点标定 ---") robot.calibrate_zero()
▶ 执行 Python 代码
系统启动中,等待加载 3D 引擎与 Python 核心库...
示教器 (Teach Pendant)
ALARM: SRVO-062 BZAL (G:1)
R-30iB V8.30 处理中... > 系统就绪. > 模式: T1
⚠ 模拟:电池没电 (丢失零点)
🎯 位置已对齐 - 手动执行标定
关节手动进给 (JOG)
J1
-
+
J2
-
+
J3
-
+
J4
-
+
J5
-
+
J6
-
+
JOG速度:
10%
▶ 运行测试程序