ABB机器人方便客户外部直接引导/获取机器人位置等信息而设置的高级接口。
EGM提供了3种不同的特性:
EGM Position Stream:
RAPID任务中机械单元的当前和计划位置发送至外部系统。
速度能达到250Hz(*快4ms一个点)
EGM Position Guidance:
相关机器人不会沿RAPID中的编程路径移动,而是沿某件外部装置所生成的路径移动。(即可以变相实现外部路径直接规划)
机器人可以接受xyzabc笛卡尔坐标,也可以接受a1-a6关节坐标
*快能达到4ms
EGM Path Correction:
用某件外部装置提供的测量值来修改/校正所编写的机器人路径。
速度为48ms的倍数
-
EGM Position Guidance是为高级用户设计的,它通过绕过相关路径规划的方式为相关的机器人控制器提供了一个低级接口。
-
用户可用EGM Position Guidance来高速读取相关运动系统的位置和向该系统高速写入位置(可达到每4毫秒一次,并伴随10到20毫秒的控制延迟。具体的延迟取决于相关的机器人类型)。
-
可以用关节值(a1-a6)或某种姿态(xyz,abc)来制定相关的引用项。
-
EGM Position Guidance会处理一切必要的滤波、引用项监控和状态处理事宜。状态处理事宜包括程序启动/停止和紧急停止等。
EGM相关指令如下:
获取ID: EGMGetId egmID1;
设置连接参数
EGMSetupAIROB_1,egmID1,"default"\Pose\aiR1x:=ai_MoveX
\aiR2y:=ai_MoveY\aiR3z:=ai_MoveZ\aiR4rx:=ai_RotX\aoR5ry:=ai_RotY\aoR6rz:=ai_RotZ;
!以模拟量输入的形式接受数据,接受的是xyz以及旋转角度abc
EGMSetupAOROB_1,egmID1,"default"\Pose\aoR1x:=ao_MoveX\aoR2y:=ao_MoveY
\aoR3z:=ao_MoveZ\aoR4rx:=ao_RotX\aoR5ry:=ao_RotY\aoR6rz:=ao_RotZ;
!以模拟量输出的形式接受数据,接受的是xyz以及旋转角度abc
EGMSetupAI ROB_1,egmID1,"default"\Joint\aiR1x:=ai_1
\aiR2y:=ai_2\aiR3z:=ai_3\aiR4rx:=ai_4\aoR5ry:=ai_5\aoR6rz:=ai_6;
!以模拟量输入的形式接受数据,接受的是六个轴数据
EGMSetupAOROB_1,egmID1,"default"\Joint\aoR1x:=ao_1\aoR2y:=ao_2
\aoR3z:=ao_3\aoR4rx:=ao_4\aoR5ry:=ao_5\aoR6rz:=ao_6;
!以模拟量输出的形式接受数据,接受的是六个轴数据
EGMSetupUC ROB_1, egmID1, “default”, “EGMsensor:”\pose; (通过UDP输入)
!以UDP输入的形式接受数据,接受的是xyz以及旋转角度abc
设置导引参数:
EGMActPoseegmID1\Tool:=Pen_TCP\WObj:=wobj0,
posecor0,EGM_FRAME _TOOL,posesen0,EGM_FRAME _TOOL\x:=egm_minmax_lin1\y:=egm_minmax_lin1\z:=egm_minmax_lin1\rx:=egm_minmax_rot1\ry:=egm_minmax_rot1\rz:=egm_minmax_rot1\LpFilter:=20\SampleRate:=16\MaxPosDeviation:=1000;
posecor0,EGM_FRAME _TOOL表示校正在当前TOOL坐标系下
posesen0,EGM_FRAME _TOOL表示sensor获取的数据作用在当前TOOL坐标系下
设置运动及停止参数:
EGMRunPose egmID1,EGM_STOP_HOLD\x\y\z\RampInTime:=0.05\PosCorrGain:=0.1;
EGMRunJoint egmID1, EGM_STOP_HOLD \J1 \J3 \RampInTime:=0.05;
!如果使用的是轴引导方式,使用该停止方式