move_spiral()
Features
Motion along a spiral trajectory on a plane which is perpendicular to the input 'axis' is performed on the specified coordinate system 'ref'. Additional input, travel distance 'lmax' can cause the robot to move around a cone, starting from the apex of it.
Parameters
Parameter Name | Data Type | Default Value | Range | Description |
---|---|---|---|---|
rev | float | 10 | rev > 0 | Total number of revolutions |
rmax | float | 10 | 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
|
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.
- This function does not support online blending of previous and subsequent motions.
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 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
# hole search
# (A motion that completes 9.5 revolutions (rev) to the 50 mm radius (rmax) from 0 on the Tool-X/Y surface as the center of the rotation in the Tool-Z direction and the spiral trajectory that moves 50 mm (lmax) in the Tool-Z direction at the same time in 10 seconds from the initial position)
J00 = posj(0,0,90,0,60,0)
movej(J00,vel=30,acc=30) # Joint movement to the initial pose
move_spiral(rev=9.5,rmax=20.0,lmax=50.0,time=20.0,axis=DR_AXIS_Z,ref=DR_TOOL)