点击阅读原文,获取完整EGM工作站,包括相关SMART组件等。
video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_989897321968271360
以上机器人轨迹非示教,而是通过传感器获取当前路径,实时引导机器人完成轨迹。
Externally Guided Motion (689-1 EGM)为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坐标系下
Name
|
含义
|
EGM_FRAME_BASE
|
以相对于基本框架的方式来定义该框架(姿态模式)。
|
EGM_FRAME_TOOL
|
以相对于所用工具的方式来定义该框架(姿态模式)。
|
EGM_FRAME_WOBJ
|
以相对于所用工件的方式来定义该框架(姿态模式)。
|
EGM_FRAME_WORLD
|
以相对于全局框架的方式来定义该框架(姿态模式)。
|
EGM_FRAME_JOINT
|
这些数值为关节值(关节模式)。
|
|
可选参数x,y,z
|
机器人位置的收敛域,默认±1mm
|
可选参数rx,ry,rz
|
机器人姿态的收敛域,默认±0.5°
|
LpFilter
|
滤波参数
|
SampleRate
|
采样周期(单位ms)
|
MaxPosDeviation
|
允许最大偏差角度(即机器人各轴与原始角度最大偏差),默认1000度
|
设置运动及停止参数:
EGMRunPose egmID1,EGM_STOP_HOLD\x\y\z\RampInTime:=0.05\PosCorrGain:=0.1;
Name
|
含义
|
RampInTime
|
开始运动速度
|
PosCorrGain
|
位置校正增益,范围0-1
|
停止方式
|
|
EGM_STOP_HOLD,
|
在当前位置停止
|
EGM_STOP_RAMP_DOWN
|
在当前位置停止并返回起始点
|
EGMRunJoint egmID1, EGM_STOP_HOLD \J1 \J3 \RampInTime:=0.05;
!如果使用的是轴引导方式,使用该停止方式
********************************
|