Jump Statement
Moves the arm from the current position to the specified destination point using point to point motion by first moving in a vertical direction up, then horizontally and then finally vertically downward to arrive on the final destination point.
Syntax
Jump destination [CarchNumber] [LimZ [zLimit] ] [CP] [{Sense |Till |Find}] [!Parallel Processing!] [SYNC]
Parameters
- destination
- Specify the target position with point data.
- archNumber
- The arch number (archNumber) specifies which Arch Table entry to use for the Arch type motion caused by the Jump instruction. archNumber must always be proceeded by the letter C. (Valid entries are from C0 to C7.)
- zLimit
- Optional. This is a Z limit value which represents the maximum position the Z joint will travel to during the Jump motion. This can be thought of as the Z Height Ceiling for the Jump instruction. Any valid Z joint Coordinate value is acceptable.
- CP
- Optional. Specifies continuous path motion.
- searchExpr
- Optional. A Sense, Till or Find expression.
Sense | Till | Find Sense Sw(expr) = {On | Off} Till Sw(expr) = {On | Off} Find Sw(expr) = {On | Off}
- ! Parallel Processing !
- Parallel Processing statements can be added to the Jump instruction to cause I/O and other commands to execute during motion.
- SYNC
- Reserves a motion command. The robot will not move until SyncRobots is executed.
Description
Jump moves the arm from the current position to destination using what is called Arch Motion. Jump can be thought of as 3 motions in 1. For example, when the Arch table entry defined by archNumber is 7, the following 3 motions will occur.
- The move begins with only Z-joint motion until it reaches the Z joint height calculated by the Arch number used for the Jump command.
- Next the arm moves horizontally (while still moving upward in Z) towards the target point position until the upper Z Limit (defined by LimZ ) is reached. Then the arm begins to move downward in the Z direction (while continuing X, Y and U joint motion) until the final X, and Y and U joint positions are reached.
- The Jump instruction is then completed by moving the arm down with only Z-joint motion until the target Z-joint position is reached.
The coordinates of destination (the target position for the move) must be taught previously before executing the Jump instruction. The coordinates cannot be specified in the Jump instruction itself. Acceleration and deceleration for the Jump is controlled by the Accel instruction. Speed for the move is controlled by the Speed instruction.
The Jump instruction cannot be executed for the vertical 6-axis robots (including N series). Use the Jump3 instruction.
CP Details
The CP parameter causes acceleration of the next motion command to start when the deceleration starts for the current motion command. In this case the robot will not stop at the destination coordinate and will continue to move to the next point.
archNumber Details
The Arch for the Jump instruction can be modified based on the archNumber value optionally specified with the Jump instruction. This allows the user to define how much Z to move before beginning the X, Y, and U joint motion. (This allows the user to move the arm up and out of the way of parts, feeders and other objects before beginning horizontal motion.) Valid archNumber entries for the Jump instruction are between C0 and C7. The Arch table entries for C0 to C6 are user definable with the Arch instruction. However, C7 is a special Arch entry which always defines what is called Gate Motion. Gate Motion means that the robot first moves Z all the way to the coordinate defined by LimZ before beginning any X, Y, or U joint motion. Once the LimZ Z limit is reached, X, Y and U joint motion begins. After the X, Y, and U joints each reaches its final destination position, then the Z joint can begin moving downward towards the final Z joint coordinate position as defined by destination (the target point). Gate Motion looks as follows:
Symbol Description a Origin Pt. b Destination Pt. LimZ Details
LimZ zLimit specifies the upper Z coordinate value for the horizontal movement plane in the current local coordinate system. The specified arch settings can cause the X, Y, and U joints to begin movement before reaching LimZ, but LimZ is always the maximum Z height for the move. When the LimZ optional parameter is omitted, the previous value specified by the LimZ instruction is used for the horizontal movement plane definition.
It is important to note that the LimZ zLimit height limit specification is the Z value for the local robot coordinate system. It is not the Z value for Arm or Tool. Therefore take the necessary precautions when using tools or hands with different operating heights.
Sense Details
The Sense optional parameter allows the user to check for an input condition or memory I/O condition before beginning the final Z motion downward. If satisfied, this command completes with the robot stopped above the target position where only Z motion is required to reach the target position. It is important to note that the robot arm does not stop immediately upon sensing the Sense input modifier.
Symbol Description a Check for a condition b Command complete c Target position The JS or Stat commands can then be used to verify whether the Sense condition was satisfied and the robot stopped prior to its target position or that the Sense condition was not satisfied and the robot continued until stopping at its target position.
Till Details
The optional Till qualifier allows the user to specify a condition to cause the robot to decelerate to a stop prior to completing the Jump. The condition specified is simply a check against one of the I/O inputs or one of the memory I/O. This is accomplished through using either the Sw or MemSw function. The user can check if the input is On or Off and cause the arm to decelerate and stop based on the condition specified.
The Stat function can be used to verify whether the Till condition has been satisfied and this command has been completed, or the Till condition has not been satisfied and the robot stopped at the target position.
Notes
Jump cannot be executed for 6-axis robots (including N series)
Use Jump3 or Jump3CP for 6-axis robots.
Omitting archNumber Parameters
If the archNumber optional parameter is omitted, the default Arch entry for use with the Jump instruction is C7. This will cause Gate Motion, as described above.
Difference between Jump and Jump3, Jump3CP
The Jump3 and Jump3CP instructions can be used for 6-axis robots (including N series). On the other hand the Jump instruction cannot be used for 6-axis robots. For SCARA robots (including RS series), using the Jump instruction shortens the joint motion time for depart and approach motion. The depart and approach motions in Jump3 can be executed along the Z axis and in other directions.
Difference between Jump and Go
The Go instruction is similar to Jump in that they both cause Point to Point type motion, however there are many differences. The most important difference is that the Go instruction simply causes Point to Point motion where all joints start and stop at the same time (they are synchronized). Jump is different since it causes vertical Z movement at the beginning and end of the move. Jump is ideal for pick and place type applications.
Decelerating to a Stop With the Jump Instruction
The Jump instruction always causes the arm to decelerate to a stop prior to reaching the destination point.
Proper Speed and Acceleration Instructions with Jump:
The Speed and Accel instructions are used to specify the speed and acceleration of the robot during Jump motion. Pay close attention to the fact that Speed and Accel apply to point to point type motion (Go, Jump, Etc.). while linear and circular interpolated motion instructions such as Move or Arc use the SpeedS and AccelS instructions.
For the Jump instruction, it is possible to separately specify speeds and accelerations for Z joint upward motion, horizontal travel including U joint rotation, and Z joint downward motion.
Pass function of Jump
When the CP parameter is specified for Jump with 0 downward motion, the Jump horizontal travel does not decelerate to a stop but goes on smoothly to the next PTP motion.
When the CP parameter is specified for a PTP motion command right before a Jump with 0 upward motion, the PTP motion does not decelerate to a stop but connects smoothly with the Jump horizontal travel.
This is useful when you want to replace the horizontal travel of Jump (a PTP motion) with several PTP motions.
(Example)
Go P1 Jump P2 :Z(-50) C0 LimZ -50 CP Go P3 :Z(0) CP Jump P4 C0 LimZ 0
Caution for Arch motion
Jump motion trajectory is comprised of vertical motion and horizontal motion. It is not a continuous path trajectory. The actual Jump trajectory of arch motion is not determined by Arch parameters alone. It also depends on motion and speed. Always use care when optimizing Jump trajectory in your applications.
- Execute Jump with the desired motion and speed to verify the actual trajectory. When speed is lower, the trajectory will be lower. If Jump is executed with high speed to verify an arch motion trajectory, the end effector may crash into an obstacle with lower speed.
- In a Jump trajectory, the depart distance increases and the approach distance decreases when the motion speed is set high. When the fall distance of the trajectory is shorter than the expected, lower the speed and/or the deceleration, or change the fall distance to be larger.
- Even if Jump commands with the same distance and speed are executed, the trajectory is affected by motion of the robot arms. As a general example, for a SCARA robot the vertical upward distance increases and the vertical downward distance decreases when the movement of the first arm is large. When the vertical fall distance decreases and the trajectory is shorter than the expected, lower the speed and/or the deceleration, or change the fall distance to be larger.
Potential Errors
LimZ Value Not High Enough
When the current arm position of the Z joint is higher than the value set for LimZ and a Jump instruction is attempted, an Error 4005 will occur.
See Also
Accel, Arc, Arch, Go, JS, JT, LimZ, P# = (Point Assignment), Pulse, Sense, Speed, Stat, Till
Jump Statement Example
The example shown below shows a simple point to point move between points P0 and P1 and then moves back to P0 using the Jump instruction. Later in the program the arm moves using the Jump instruction. If input #4 never goes high then the arm starts the approach motion and moves to P1. If input #4 goes high then the arm does not execute the approach motion.
Function jumptest
Home
Go P0
Go P1
Sense Sw(4) = On
Jump P0 LimZ -10
Jump P1 LimZ -10 Sense 'Check input #4
If Js(0) = 1 Then
Print "Input #4 came on during the move and"
Print "the robot stopped prior to arriving on"
Print "point P1."
Else
Print "The move to P1 completed successfully."
Print "Input #4 never came on during the move."
EndIf
Fend
> Jump P10+X50 C0 LimZ-20 Sense !D50;On 0;D80;On 1!
Here’s an example from Command window.
> Jump P0 'Jump to P0
> Jump P0 C0 'Jump to P0 with arch motion specified as archNumber C0.
> Jump P0 LimZ -10 'Jump to P0 of Z -10mm point
> Jump P0 !D0; On 1; D50; Off 1! 'Jump to P0. Turn on the first bit of the output until the amount of the movement reaches 50%, and turn off the first bit after 50%.
If the first bit of the input is turned On, stop the Jump and go on to the next process.
Function main
(omitted)
Till Sw(1) = On
Jump P0 C0 CP Till
(omitted)
Fend