For my Capstone Project, I’m currently trying to create a Python program that can turn drawing inputs from a tablet into a program that the UR10e Cobot can run to reproduce the drawing.
Using RoboDK, I can produce a .script file containing the program I need the Cobot to run and I can reproduce it in Python. But the UR10e Cobot doesn’t seem to be able to run a .script file.
RoboDK uses a post processor in order to convert a .script file into a .urp file but whenever I view the .urp file it shows the following:
‹•¦•aÿProg1 ÅV{â6ÿ?Å4+U q!†<ÈVZÝÝž¶Õ‰Õ²«¶ªN‘IH›8‘íÐãÛ×v¶×Ru ìñ¼~ãñÌÌ_žy±å4‡˜#•˜<°…5µÛ± £B®èþ„ÆhŽKË’”c,~XX¶)’f•i¡øÜÐ*“ÖíÀ<Þ¥Y‘éÚ~¤)kÍòŠ-YvX²X镼BòB«x>”Šò±Øãˆ1YXÄvÜ€„çú^øÐ8Æyc–ØÓПøS×!^è¹þTqTïb™îñùíãÂÚÐL U{òÊ5CZÅ<-%HãÀ}š¹k ï0y[0‰LŠ[L<ÃeÅv
²bM3(©‚‡¹ÐämM48¢\hEpì‰çœršˆú0è˜JRIbOœW‡ZR¼>\gȌڴQn4;9žsÜDeí«:*sFÝ÷“âшÞ|ñcðÞ% Pv€æÆATë²¾\;äh˜îø™æe†#$\ÝaPتP—È
µ)ÛTTiTÇRa÷CÍ-KdmŒlÛ6+…Mÿ›õûÚ@_¿(9=À¶bZNk[iÂ’
ö4«ÐhÓ’*E@îÕ8à ¨dYÉšãÝ2Z=>ÝýªBäBºix*ž7Mz”‘z,¡<‰’t›ª÷)5ƒV|÷:û††ÕêÉgõ6AYÿ~5S¡VO)AÞ¢~ßì/„Ý¡ü>“?q^ƒEÙy…FŸS.Ï:¯ë¬êûÛÈ™NèÏ©h\×àNm/¿±»_VÑ¢¦<œSNà}å=Ö*N.Ò੽ú™¦6*×e)U•Gb¼£l‹:0[ö?UíAlÿÎ\ÊÃCønÑ<†ÄŃփë:°_ŸU-ŽcZ}eÆÞ¿£è%Ë?ן6›tOiH]#Ú³E¦Û&°>ÀS±.Þý{ÏV
Í@|y"BÁ€cBÆgB€Ìn÷†¸FÏ‹HÙX‘§:3ÿHæªÙÄBן³Ú©
«þŒàÒ•.µúü>è)yCl/p‚Ð?YÏ{ÇžQ¯ŒŽ
E—óac#e”…ÀHrÊÄ 0Òîû³`6óŒ>âªÕL›s}יƇ‰NjËíª#~Žº5jÛœ2{Ú}.ðÁ±§Á4œLõÊóüÙ,ü?\p‰KmÍq¦þ‰µoゾ‰Àñ|sñ¡ºaúßù j0K Ø@Þ{<W¦±4ÍÕÕ||6ïôG¡zø·†Õfhš
é8Këaªe·Æg£à¸7šQ±Ç0wÓéí_s…©
The following is the .script file that the prior pasted text is converted from
def Program1():
Global parameters:
global speed_ms = 0.250
global speed_rads = 0.750
global accel_mss = 1.200
global accel_radss = 1.200
global blend_radius_m = 0.001
global ref_frame = p[0,0,0,0,0,0]
#--------------------------
Add any default subprograms here
For example, to drive a gripper as a program call:
def Gripper_Open():
…
end
Example to drive a spray gun:
def SprayOn(value):
# use the value as an output:
DO_SPRAY = 5
if value == 0:
set_standard_digital_out(DO_SPRAY, False)
else:
set_standard_digital_out(DO_SPRAY, True)
end
end
Example to drive an extruder:
def Extruder(value):
# use the value as an output:
if value < 0:
# stop extruder
else:
# start extruder
end
end
Example to move an external axis
def MoveAxis(value):
# use the value as an output:
DO_AXIS_1 = 1
DI_AXIS_1 = 1
if value <= 0:
set_standard_digital_out(DO_AXIS_1, False)
# Wait for digital input to change state
#while (get_standard_digital_in(DI_AXIS_1) != False):
# sync()
#end
else:
set_standard_digital_out(DO_AXIS_1, True)
# Wait for digital input to change state
#while (get_standard_digital_in(DI_AXIS_1) != True):
# sync()
#end
end
end
#--------------------------
Main program:
Program generated by RoboDK v5.3.0 for UR10e on 19/11/2021 10:51:42
Using nominal kinematics.
ref_frame = p[0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000]
movej([0.006279, -1.569058, -1.580212, 0.007678, 1.564517, -0.000000],accel_radss,speed_rads,0,0)
movel(pose_trans(ref_frame,p[0.687885, -0.177384, 0.476310, -1.209200, 1.209200, -1.209200]),accel_mss,speed_ms,0,blend_radius_m)
movel(pose_trans(ref_frame,p[0.687885, 0.214064, 0.563335, -1.209200, 1.209200, -1.209200]),accel_mss,speed_ms,0,blend_radius_m)
movel(pose_trans(ref_frame,p[0.687885, 0.193313, 0.969911, -1.209200, 1.209200, -1.209200]),accel_mss,speed_ms,0,blend_radius_m)
movel(pose_trans(ref_frame,p[0.687885, -0.168872, 0.895841, -1.209200, 1.209200, -1.209200]),accel_mss,speed_ms,0,blend_radius_m)
End of main program
end
Program1()
How is it possible to convert this .script file into the .urp file above?