I was wondering How to complete JOGGING by KAREL?
Posts by chibai
-
-
Thank you for your answering.
I'm confused which document recorded the information about it, so I can find out myself
-
Thank you for your reply~~But where I can found the meaning of SETUP_DATA[1,1,5] or SETUP_DATA[1,3,6]~~I can not found them in Karel Manul~~
For example , for a random variable SETUP_DATA[1,10,2],what is it mean?
-
Here are the commands to set the frame comments programmatically, using a .cm file.
Code
Display More! User Tool Comments KCL SET VAR[TPFDEF]SETUP_DATA[1,1,1].$COMMENT = 'UT1' KCL SET VAR[TPFDEF]SETUP_DATA[1,1,2].$COMMENT = 'UT2' KCL SET VAR[TPFDEF]SETUP_DATA[1,1,3].$COMMENT = 'UT3' KCL SET VAR[TPFDEF]SETUP_DATA[1,1,4].$COMMENT = 'UT4' KCL SET VAR[TPFDEF]SETUP_DATA[1,1,5].$COMMENT = 'UT5' KCL SET VAR[TPFDEF]SETUP_DATA[1,1,6].$COMMENT = 'UT6' KCL SET VAR[TPFDEF]SETUP_DATA[1,1,7].$COMMENT = 'UT7' KCL SET VAR[TPFDEF]SETUP_DATA[1,1,8].$COMMENT = 'UT8' KCL SET VAR[TPFDEF]SETUP_DATA[1,1,9].$COMMENT = 'UT9' ! User Frame Comments KCL SET VAR[TPFDEF]SETUP_DATA[1,3,1].$COMMENT = 'UF1' KCL SET VAR[TPFDEF]SETUP_DATA[1,3,2].$COMMENT = 'UF2' KCL SET VAR[TPFDEF]SETUP_DATA[1,3,3].$COMMENT = 'UF3' KCL SET VAR[TPFDEF]SETUP_DATA[1,3,4].$COMMENT = 'UF4' KCL SET VAR[TPFDEF]SETUP_DATA[1,3,5].$COMMENT = 'UF5' KCL SET VAR[TPFDEF]SETUP_DATA[1,3,6].$COMMENT = 'UF6' KCL SET VAR[TPFDEF]SETUP_DATA[1,3,7].$COMMENT = 'UF7' KCL SET VAR[TPFDEF]SETUP_DATA[1,3,8].$COMMENT = 'UF8' KCL SET VAR[TPFDEF]SETUP_DATA[1,3,9].$COMMENT = 'UF9'
Can you give a example as Karel Code~~Thanks very much
-
Does anybody know wich variable holds comment for Utool and another fo Uframe? I set xyzwpr values, but i don't know how to change comments using code.
I actually meet the similar questions.
Do you figure this out?
-
The only useful var seems to be $DH_A and $DH_D
Yes, I figured it out!
I‘m currently working on Fanuc LR Mate 200iD
The DH parameters in system is
$PARAM_GROUP[1].$DH_A
$PARAM_GROUP[1].$DH_D
$PARAM_GROUP[1].$DH_ALPHA
$PARAM_GROUP[1].$DH_THETA0
For forward kinematics by DH parameters
dhp_theta1 = $PARAM_GROUP[1].$DH_THETA0[1] + j1
dhp_theta2 = $PARAM_GROUP[1].$DH_THETA0[2] - j2
dhp_theta3 = $PARAM_GROUP[1].$DH_THETA0[3] + j2 + j3
dhp_theta4 = $PARAM_GROUP[1].$DH_THETA0[4] + j4
dhp_theta5 = $PARAM_GROUP[1].$DH_THETA0[5] + j5
dhp_theta6 = $PARAM_GROUP[1].$DH_THETA0[6] + j6
For DH_THETA0 parameters, only $PARAM_GROUP[1].$DH_THETA0[2] = MATH_PI / 2, others are 0
Thus the final DHP calculation simplified as follows
dhp_theta1 = j1
dhp_theta2 = MATH_PI / 2 - j2
dhp_theta3 = j2 + j3
dhp_theta4 = j4
dhp_theta5 = j5
dhp_theta6 = j6
-
All i was able to found. For this doc : MARS35GEN09801E
$PARAM_GROUP[1].$sv_dh_a[1-9]
Minimum: -1000000. Default: 0 Maximum: 1000000.
KCL/Data: RW Program: RW GET/SET_VAR: RW Data Type: REAL
Name: D-H parameter a
Description: D-H parameter a [mm]
Do not change this system variable.
Power Up: Requires a cold start to take effect.
User Interface Location: SYSTEM Variables screen
$PARAM_GR OUP[1].$sv_dh_cosa[1-9]
Minimum: -1. Default: 1. Maximum: 1.
KCL/Data: RW Program: RW GET/SET_VAR: RW Data Type: REAL
Name: D-H parameter cos(alpha)
Description: D-H parameter cos(alpha) [non]
Do not change this system variable.
Power Up: Requires a cold start to take effect.
User Interface Location: SYSTEM Variables screen
$PARAM_GR OUP[1].$sv_dh_costh[1-9]
Minimum: -1. Default: 1. Maximum: 1.
KCL/Data: RW Program: RW GET/SET_VAR: RW Data Type: REAL
Name: D-H parameter cos(theta)
Description: D-H parameter cos(theta) [non]
This parameter is effective only when $sv_dmy_lnk is TRUE.
Power Up: Requires a cold start to take effect.
User Interface Location: SYSTEM Variables screen
$PARAM_GROUP[1].$sv_dh_d[1-9]
Minimum: -1000000. Default: 0 Maximum: 1000000.
KCL/Data: RW Program: RW GET/SET_VAR: RW Data Type: REAL
Name: D-H parameter d
Description: D-H parameter d [mm]
Do not change this system variable.
Power Up: Requires a cold start to take effect.
User Interface Location: SYSTEM Variables screen
$PARAM_GR OUP[1].$sv_dh_sina[1-9]
Minimum: -1. Default: 0. Maximum: 1.
KCL/Data: RW Program: RW GET/SET_VAR: RW Data Type: REAL
Name: D-H parameter sin(alpha)
Description: D-H parameter sin(alpha) [non]
Do not change this system variable.
Power Up: Requires a cold start to take effect.
User Interface Location: SYSTEM Variables screen
$PARAM_GR OUP[1].$sv_dh_sinth[1-9]
Minimum: -1. Default: 0. Maximum: 1.
KCL/Data: RW Program: RW GET/SET_VAR: RW Data Type: REAL
Name: D-H parameter sin(theta)
Description: D-H parameter sin(theta) [non]
This parameter is effective only when $sv_dmy_lnk is TRUE.
Power Up: Requires a cold start to take effect.
User Interface Location: SYSTEM Variables screen$VC_PARAMGRP[1].$dcdh_ratio
Minimum: 0.0 Default: 1.0 Maximum: 1.0
KCL/Data: RW Program: RW GET/SET_VAR: RW Data Type: REAL
Name: Corner distance ratio
Description: Internal use only. This variable is set by the application tool. It is used when
$shortmo_imp is TRUE.
Power Up: Changes to this variable take effect immediately.
User Interface Location: SYSTEM Variables screen.Thank you for your answering.
But I checked this numbers, they are not really make sensen for me.
$PARAM_GROUP[1].$sv_dh_a[1-9] are all 0
$PARAM_GR OUP[1].$sv_dh_cosa[1-9] are all 1
$PARAM_GR OUP[1].$sv_dh_costh[1-9] are all 1
$PARAM_GROUP[1].$sv_dh_d[1-9] are all 0
$PARAM_GR OUP[1].$sv_dh_sina[1-9] are all 0
$PARAM_GR OUP[1].$sv_dh_sinth[1-9] are all 0
-
I‘d like to get the accurate calibrated DH parameters from Fanuc Teachpendant.
I can see there must be some system variables represent these. But there're too many similar varible names made me confused!
$PARAM_GROUP[1].$SV_DH_D
$PARAM_GROUP[1].$DH_VD
$PARAM_GROUP[1].$DH_HD
$PARAM_GROUP[1].$DH_ODI hope I can get a very clear results about DH parameters:
Which system variable represents d: offset along previous z to the common normal?
Which system variable represents θ: angle about previous z from old x to new x?
Which system variable represents r: length of the common normal (aka a, but if using this notation, do not confuse with α). Assuming a revolute joint, this is the radius about previous z?
Which system variable represents α: angle about common normal, from old z axis to new z axis?
Anyone Did this before?
-
I cannot find a proper documentation to describe it, especially in Karel Manual Reference
-
-
yes of course you have to write a TP program where you run your karel program,
What do you mean with "Running out of resource"? I told you to use a delay in the main loop to avoid the TP to freeze.
what mean you are stuck on MSG_connect?
Thank you for your advice, it does't work by adding delay in the main loop.
The Karel code is running at MSG_connect statement without TP freezing
-
Addendum: a teamate tried setting up my BootLoader as a Macro, and creating a BGL program that would trigger the signal linked to that macro whenever the background programs were not running, and it appears to work for any of the reboot scenarios. The only downside is that whenever we kill the background programs, the BG&Macro restart them immediately, so we have to manually stop the BG program before we can make any edits.
Did you solve your problem? I think we met the same situation.
I want to running a Karel Server Poragm background, while run a TP program manually step by step
-
you can use " Cold start autoexec program " in System config to start it automatic at cold start.
don´t forget to use a delay (100ms) to reduce the programm ´s CPU time, otherwise it will freeze your TP , or your robot...
But we are actually get stuck on the statement of "
MSG_CONNECT(host_name, port_status)
", not cpu running out of resource -
I don't think this is possible. You can do multitasking (RUN PROGRAM instead of CALL PROGRAM, but this would require you to have a main program from which you start your 'background' tasks. So if you want manual control over a program while already running something in the background, I don't think you'll be able to do it. Maybe look if it's possible for you to start your program(s) from a very simple shell:
Besides this, if you want to execute the TP program in step mode won't this also put the Karel server in step mode? Maybe if you RUN the server it won't.. but something to think about/look into.
I actually found one of supplier to do this, but we can not simulate in the same way!!
Here's our program from one of our suppliers:
While the Karel Server Running, we can still enter a TP program to see detail.
Here's our own developing Karel program:
While the Karel Server Running, we will cause TPIF-013, when we are trying to enter a TP program
-
I'm trying to running a Karel server to record Joint and Cartesian position.
When I want to run another TP program, It shows TPIF-013 other progam running.
How can I resolve this condition, running a Karel server program in background and a TP program by teach pendant manually step by step.
Here is my %statement in Karel
-
-
-
Instead of looking for variables, it is easier to link all UOP signals to Flags (if you don't use them for PLC communication) and read DO's in KAREL.
- For E-Stop set DO in System > Config
- For Fault read UO[6]
- For enabled UO[1] and UO[2]
- For robot motion you set DO in IO > Cell Outputs
For reading DO use GET_PORT_VAL (2, port_nr, STATUS).
Thank you for your reply, I also want to control the enable status of robot. But even if I set UO[2] as False, it will go back to True automatically.
Is there any way I can change the status(enbaled/disabled) of robot?
-
I think most status are stored in some System Variables
I guess there are several status as belowe:
IsImergenceyStop?
IsRobotInFault?(the Fault signal in TP)
IsRobotEnabled?
IsMoving?(the status of servo??)
IsControllerReady?(the status of robot controller?)
-
Is there any command we can simulate the TP dead switch, so we can cut off the power