影响机械臂运动尺寸偏差的几大因素:
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轴出现较大偏差。
最好有工作视频,方便我们观察可能的原因.
原理:机械臂主要通过位于三轴电机上的磁编码器获得绝对位置,从而计算并完成后续的运动。如果机械臂没有正确标定初始位置,或者在没有获得位置信息的情况下开始运动,均会造成运动超限或碰撞。
解决办法:
重新标定初始位置
机械臂开机后,在执行常规运动指令(如G0 G1)前,请务必执行HOME指令(M1112),机械臂后续运动均是以HOME位置开始计算。
在调平RESET时,客户端或触摸屏会执行系数清零并重启指令,重启后也需要执行HOME指令
同样的,调平设置完成时,客户端或触摸屏会执行保存系数并重启指令,重启后也需要执行HOME指令
另外在不经意的坐标系变换后,也会出现超限或碰撞功能,例如G92 X0 Y0 Z0之后
根据大家的反馈,为了保护机械臂发生超限或碰撞,我们会在下一版固件中,增加更多的保护功能,如必须执行HOME指令后,才能执行常规运动指令(如G0 G1)