当前位置:首页>python>python与EGM(Externally Guided Motion)实现通讯

python与EGM(Externally Guided Motion)实现通讯

  • 2026-09-02 19:40:33
python与EGM(Externally Guided Motion)实现通讯
注意:如果UDP通讯不成功,则需要关闭Windows防火墙。
仅通过python程序与ABB端的EGM程序即可实现EGM相关功能。
1、EGM功能介绍
 Externally Guided Motion(EGM)是ABB工业机器人提供的一种高级机器人应用选项,EGM提供了3种不同的功能,分别是EGM Position Stream、EGM Position Guidance和EGM Path Correction。(详细功能可以看官方文档或者后台回复:ABB-EGM)
2、ABB端配置
启动示教器-控制面板-配置-主题-Communication-Transmission Protocol。添加一个名称为UCdevice的UDPUC。实际机器人进行通讯时需要做相应的修改,一般是修改Romote Address。
3、ABB端RAPID程序
PERS tooldata gripper:=[TRUE,[[0,0,150],[1,0,0,0]],[1,[0,0,1],[1,0,0,0],0,0,0]];CONST robtarget p20:=[[1414.27,556.31,369.97],[0.707107,-6.93795E-8,0.707107,1.49614E-7],[0,0,-1,1],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];VAR egmident egmID1;CONST egm_minmax egm_minmax_lim:=[-1,1];VAR egmstate egmSt1:=0;PERS pose pose0:=[[0,0,0],[1,0,0,0]];PROC EGM_RUN()        EGMReset egmID1;        EGMGetId egmID1;!        EGMSetupUC ROB_1,egmID1,"default","UCdevice"\Pose\CommTimeout:=10;!        EGMActPose egmID1\StreamStart\Tool:=gripper\WObj:=wobj0, pose0, EGM_FRAME_WORLD, pose0, EGM_FRAME_WORLD\X:=egm_minmax_lim\Y:=egm_minmax_lim\Z:=egm_minmax_lim\MaxSpeedDeviation:=40;!        EGMRunPose egmID1, EGM_STOP_HOLD\X\Y\Z\CondTime:=0.01\RampInTime:=0.08;        EGMSetupUC ROB_1,egmID1,"default","UCdevice"\Joint\CommTimeout:=10;        EGMActJoint egmID1\J1:=egm_minmax_lim\J2:=egm_minmax_lim\J3:=egm_minmax_lim\J4:=egm_minmax_lim\MaxSpeedDeviation:=60;        EGMRunJoint egmID1,EGM_STOP_HOLD\J1\J2\J3\J4\J5\J6\CondTime:=3\RampInTime:=0.05;        MoveJ p20, v150, z50, gripper;        EGMReset egmID1;ENDPROC
注释的3行代表上位机(Python程序)通过UDP的形式发送位姿(位置与姿态都可以)数据控制ABB移动,下面没有注释的3行表示Python程序通过UDP的形式发送关节角数据在关节空间对ABB机器人进行控制。
5、资料获取
微信扫码支付,然后回复 Python-EGM+转账单号后五位(我>服务>钱包>账单)
如:Python-EGM12456
6、资源内容
包含Python程序,实现大概每4ms获取一次机器人位姿数据、通过发送笛卡尔位姿数据或者关节角数据控制机器人移动。

最新文章

随机文章