Motion Instructions

Revision as of 01:34, 1 May 2019 by Mike138 (talk | contribs)

Motion Instructions direct the robot to perform motion tasks.

They detail where the robot should move, how it should calculate the path, where it should move, how fast, and where it should end up.


Line# Motion Type Position Type Position Number Speed Termination Type Motion Options
1 J P [1] Deg/sec Fine ACC100
2 L PR [2] 100% CNT50 EV
3 C P [3] sec Fine Offset
... PR [6:End] 110mm/s Fine Offset,PR[]
4 cm/min CNT37 Skip LBL[]
5 R[]

Motion Type:

C (Circular) - Starting point, intermediate point, endpoint

L (Linear) – Move from one point to another

J (Joint) – Move individual joints of robot arm, fastest way to move.

Position Type:

P – (position) direct position in space. Typically recorded by jogging to point and setting as position value. Each position is unique to the program it is in. P[1] in one program has no relation to P[1] in another.

PR (position register) – corresponds to predefined location where position can be found. Position registers are "global" variables that stay the same in all programs. PR[1] used in one program is the same as PR[1] in another. Modifying the contents of a position register will affect all future uses, across all programs.

P[n] = (x,y,z,w,p,r,configuration) – configuration describes axis condition at destination wrist could be N (not-flipped) or F (flipped), elbow could be U (up) or D (down), robot could be T (Front) or B (back)

Speed:

XX% - The robot will move at a percentage of its rated speed and given payload.

XXmm/s - The robot will move at a speed determined by the velocity of the tool's end.

R[X] - The robot will move at a speed determined by the contents of the register.

Termination Type:

  • Fine – When completing a motion instruction, the robot will reach each point. If the next point is at an angle relative to the path to reach the current point, the robot will accelerate and decelerate as necessary to ensure the point is actually reached. FINE instructions may take additional time.
  • Continuous (CNT) – When completing a motion instruction, the robot will decelerate as it approaches the point and "round off" the corner as it goes from point to point as a percentage. The number following the CNT option represents the percentage of speed it is allowed to slow to, to make a "best effort" to go toward the point. Continuous motion is healthier for the robot and the robots tools, as acceleration is more spread out.
    • CNT100 would mean it will maintain 100% of its calculated speed (given the speed variable and system speed settings) when executing the associated instruction. Instead of going to the point, stopping, then moving to the next instruction's point - it will make a "best effort" to reach the intermediate point without compromising speed.
    • CNT50 would mean it will choose a best path given the option of reducing to 50% of its otherwise calculated speed.
    • CNT0 is very similar to FINE but is computationally distinct, so it may result in a slight difference.

Motion Modification:

  • ACC - Acceleration. Use this to limit the acceleration of the motion instruction. Without this modifier, the robot will use normal calculations to determine acceleration and velocity (such as payload, joint limitations, speed variables)
  • COORD
  • SKIP,lbl[] Simple Task: Robot has to perform a spot welding(only 1 spot) when it sees a sheet metal which might be placed anywhere between two points (say P[1] and P[2]) 1: SKIP CONDITION DI[y]=ON; -------(if a senor mounted on robot senses the sheet metal, then DI[y] will be ON and robot has to do a spot welding at that point) 2:J P[1] 5% CNT100 Skip,LBL[1]; ------ (inserting skip instruction in this line means that monitoring for DI[y] has to start from P[1] )
    3: SPOT(SD=2, P=1, S=5, ED= 4); -------(As per skip instruction, if skip condition is satisfied i.e. DI[y]= ON, then robot will execute the next line which is a spot in our case) 4: L PR[1 : home pos] 2000 CNT 100; ----(optional) 4:  LBL[1]; ------(IF condition is not satisfied, execution jumps to this label directly from line2 and robot moves towards point P[2]) 6:L P[2] 10 CNT100 ; -------(while moving towards P[2], if condition gets satisfied DI[y]=ON , then robot without moving further jumps to line3 immediately and performs the spot) 7: L PR[1 : home pos] 2000 CNT 100 ;------(optional) Note: once condition is satisfied the monitoring will be stopped but the condition specified will be available throughout the program and can be called for checking anytime by inserting a skip instruction
  • Offset
  • Offset,PR[] - Offset by a Position Register. Whatever is in the position register for the offset will be added with the contents of the position used for the motion instruction. The result only affects that motion instruction, the position register and position variable for the instruction will be unchanged.
    • J P[1] 100% FINE OFFSET PR[3] with 100,100,100,0,0,0 in P[1] and 10,20,30,0,0,0 in PR[3] will actually go to point 110,120,130,0,0,0