amove_spiral()
Features
The asynchronous move_spiral motion operates in the same way as move_spiral except that it does not have the radius parameter for blending. The command is the asynchronous motion command, and the next command is executed without waiting for the motion to terminate.
Note
- move_spiral: The next command is executed after the robot starts from the current position and reaches (stops at) the end point of the spiral trajectory.
- amove_spiral: The next command is executed after the robot starts from the current position and regardless of whether it reaches (stops at) the end point of the spiral trajectory.
Parameters
Parameter Name | Data Type | Default Value | Range | Description |
---|---|---|---|---|
rev | float | 10 | rev > 0 | Total number of revolutions |
rmax | float | None | rmax > 0 | Final spiral radius [mm] |
lmax | float | 0 | Distance moved in the axis direction [mm] | |
vel (v) | float | None | velocity | |
acc (a) | float | None | acceleration | |
time (t) | float | None | time ≥ 0 | Total execution time <sec> |
axis | int | DR_AXIS_Z | - | axis
|
ref | Int | DR_TOOL | - | reference coordinate
|
pos | posx | None | posx or position list (X,Y,Z) | |
list(float[3]) | ||||
list(float[6]) | ||||
mod | int | DR_MV_MOD_ABS | Movement basis
| |
rad_dir | int | DR_SPIRAL_OUTWARD | Radial direction
| |
rot_dir | int | DR_ROT_FORWARD | Rotation direction
| |
ra | int | DR_MV_RA_DUPLICATE | Reactive motion mode
|
Note
- Abbreviated parameter names are supported. (v:vel, a:acc, t:time)
- rev refers to the total number of revolutions of the spiral motion.
- Rmax refers to the maximum radius of the spiral motion.
- Lmax refers to the parallel distance in the axis direction during the motion. A negative value means the parallel distance in the –axis direction.
- Vel refers to the moving velocity of the spiral motion.
- The first value of _global_velx (parallel velocity) is applied if vel is None. (The initial value of _global_velx is 0.0 and can be set by set_velx.)
- Acc refers to the moving acceleration of the spiral motion.
- The first value of _global_accx (parallel acceleration) is applied if acc is None. (The initial value of _global_accx is 0.0 and can be set by set_accx.)
- If the time is specified, values are processed based on time, ignoring vel and acc.
- If the time is None, it is set to 0.
- The axis defines the axis that is perpendicular to the surface defined by the spiral motion.
- Ref refers to the reference coordinate system defined by the spiral motion.
- rad_dir refers to the radial direction of spiral

- rot_dir refers to the rotation direction of spiral along axis.

- Refer to the description of the move_spiral() motion for the path of the blending according to option ra and vel/acc.
Caution
- An error can be generated to ensure safe motion if the rotating acceleration calculated by the spiral path is too great.
In this case, reduce the vel, acc, or increase time value.
Return
Value | Description |
---|---|
0 | Success |
Negative value | Error |
Exception
Exception | Description |
---|---|
DR_Error (DR_ERROR_TYPE) | Parameter data type error occurred |
DR_Error (DR_ERROR_VALUE) | Parameter value is invalid |
DR_Error (DR_ERROR_RUNTIME) | C extension module error occurred |
DR_Error (DR_ERROR_STOP) | Program terminated forcefully |
Example
# Model: M1013
J00 = posj(0,0,90,0,90,0)
P1 = [559,34.5,651.5]
P2 = [579, 65, 641.5]
D1 = [20,0,10]
D2 = [-20,0,-10]
movej(J00,vel=100,acc=100) # Move to Initial Poisition
# Max Radius with Blending
amove_spiral(rev=5,rmax=20.0,lmax=-10,v=40,a=40,axis=DR_AXIS_Z,ref=DR_TOOL,rad_dir=DR_SPIRAL_OUTWARD, rot_dir=DR_ROT_FORWARD)
wait(5.5)
amove_spiral(rev=5,rmax=20.0,lmax=-10,v=40,a=40,axis=DR_AXIS_Z,ref=DR_TOOL,rad_dir=DR_SPIRAL_INWARD, rot_dir=DR_ROT_FORWARD)
mwait(0)
# Coordinate values with Blending
amove_spiral(rev=5,pos=P2,v=40,a=40,axis=DR_AXIS_Z,ref=DR_BASE,rad_dir=DR_SPIRAL_OUTWARD, rot_dir=DR_ROT_FORWARD)
wait(10.2)
amove_spiral(rev=5,pos=P1,v=40,a=40,axis=DR_AXIS_Z,ref=DR_BASE,rad_dir=DR_SPIRAL_INWARD, rot_dir=DR_ROT_FORWARD)
mwait(0)
# Relative motion with Blending
amove_spiral(rev=5,pos=D1,mod=DR_MV_MOD_REL,v=40,a=40,axis=DR_AXIS_Z,ref=DR_BASE,rad_dir=DR_SPIRAL_OUTWARD, rot_dir=DR_ROT_FORWARD)
wait(5.5)
amove_spiral(rev=5,pos=D2,mod=DR_MV_MOD_REL,v=40,a=40,axis=DR_AXIS_Z,ref=DR_BASE,rad_dir=DR_SPIRAL_INWARD, rot_dir=DR_ROT_FORWARD)
mwait(0)
Related commands
- set_velx(vel1, vel2, clamp)
- set_accx(acc1, acc2)
- set_tcp(name)
- set_ref_coord(coord)
- mwait(time=0)
- move_spiral()