Troubleshooting

影响机械臂运动尺寸偏差的几大因素:

1. 机械臂初始标定位置,即大小臂摆到最大位置,底座摆到中间位置。

  • 机械臂的运动学逆解(inverse kinematics)是基于初始标定位置开始计算

  • M1111指令可以让机械臂回到初始标定位置,如果发现位置出现偏差需要重新标定

  • 将机械臂大小臂摆到最大位置,底座摆到中间位置,然后发送M889,重新标定初始位置

  • HOME(M1112指令)可以让机械臂前端运动到X300 Y0 Z0的位置

2. 前端模块偏置尺寸

  • 机械臂的运动学逆解(inverse kinematics)同样需要前端模块偏置尺寸,如果模块尺寸错误,会造成Y轴出现较大偏差。

  • M888 Pn可以设置模块,M888不带P参数,可以查看当前模块尺寸

  • 还要注意笔的安装,笔必须与笔模块平行。之前有用户的笔与笔模块出现较大夹角(前端模块尺寸不再正确)导致最终尺寸出现很大的偏差。

  • 通常情况下错误的前端模块偏置尺寸会造成Y轴出现较大偏差。

3. Leveling系数

  • 当工作平面(如3D打印玻璃平面)与机械臂底座平面不平整时,通常需要进行Leveling

  • 如果桌面平整时,一般不需要进行调平,可以通过M891 X0 Y0进行清零

  • 发送M892调平命令后,必须重启才能生效。M892是读取Leveling系数,此命令不需要重启。

  • 通常情况下,在较平整的桌面,M891 X0 Y0即可完成写字画画激光等功能

  • 如果在Leveling过程中发现,XY系数过大,请重新检查工作平面及计算方法。由于机械臂的运动学结构原因,不建议设置过大的XY系数。

4. 故障反馈

如果以上检查仍无法解决问题,请整理以下故障反馈信息并反馈给我们

  • 当前Firmware、Rotroics Studio的版本信息

  • 出现问题的gcode文件

  • 请标注出现偏差的轴,方便我们排查故障,例如通常情况下错误的前端模块偏置会造成Y轴出现较大偏差。

  • 最好有工作视频,方便我们观察可能的原因.

机械臂超限/碰撞的解决办法

原理:机械臂主要通过位于三轴电机上的磁编码器获得绝对位置,从而计算并完成后续的运动。如果机械臂没有正确标定初始位置,或者在没有获得位置信息的情况下开始运动,均会造成运动超限或碰撞。

解决办法:

  1. 重新标定初始位置

  2. 机械臂开机后,在执行常规运动指令(如G0 G1)前,请务必执行HOME指令(M1112),机械臂后续运动均是以HOME位置开始计算。

  3. 在调平RESET时,客户端或触摸屏会执行系数清零并重启指令,重启后也需要执行HOME指令

  4. 同样的,调平设置完成时,客户端或触摸屏会执行保存系数并重启指令,重启后也需要执行HOME指令

  5. 另外在不经意的坐标系变换后,也会出现超限或碰撞功能,例如G92 X0 Y0 Z0之后

  6. 根据大家的反馈,为了保护机械臂发生超限或碰撞,我们会在下一版固件中,增加更多的保护功能,如必须执行HOME指令后,才能执行常规运动指令(如G0 G1)