Definition
tracking_conveyor(conv_id, time=0.3)
Features
The robot starts Conveyor Tracking.
Parameters
|
Parameter Name |
Data Type |
Default Value |
Description |
|---|---|---|---|
|
conv_id |
int |
- |
Conveyor ID |
|
time |
float |
0.3 |
Acceleration time(sec) to start Tracking |
Note
-
If the tracking_conveyor command is given, the conveyor starts tracking from the current position of robot. You can call task motion right after tracking_conveyor function for reducing tack time, although transient error can occur during acceleration time.
[tracking sequence]
-
This function can be called while the robot is performing a task motion. The robot does not stop and continues the motion in progress. DRL executes commands in order, so to call it while a motion is in progress, use an asynchronous motion (amovel, etc.) or call it from a separate thread.
-
If this function is called again while the robot is decelerating due to untracking_conveyor, the robot returns to tracking from its current speed without waiting for the deceleration to finish. The speed does not drop to zero and accelerate again. A duplicate call made while the robot is already accelerating or tracking at constant speed is ignored.
Caution
-
This function can be called only while the robot is stopped or performing a task motion. In any other state, it is rejected with a warning.
-
During conveyor tracking, compliance control can be used while no task motion is in progress.
-
Force control cannot be used during conveyor tracking.
-
Joint velocity clamping and power clamping are not applied during conveyor tracking. If the conveyor speed and the motion speed together exceed the joint velocity limit of the robot, an error occurs and the robot stops. It is recommended to set the conveyor speed and the motion speed with enough margin below the joint velocity limit.
Return
|
Value |
Description |
|---|---|
|
0 |
Conveyor Tracking success |
|
Negative integer |
If the robot is expected to exit the robot work space during acceleration |
Exception
|
Exception |
Description |
|---|---|
|
DR_Error (DR_ERROR_TYPE) |
Parameter data 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
CONV1 = set_conveyor(‘conveyor1’)
while True:
CONV_COORD_1 = get_conveyor_obj(CONV1)
tracking_conveyor(CONV1) # start moving to track conveyor
# task on conveyor
movel(posx(0,0, 50, 0, 0, 0), ref=CONV_COORD_1)
movel(posx(0,0, 0, 0, 0, 0), ref=CONV_COORD_1)
set_digital_output(DO_GRIPPER, 1)
movel(posx(0,0, 50, 0, 0, 0), ref=CONV_COORD_1)
untracking_conveyor(CONV1)
obj_count = obj_count + 1
Related commands
Keyword
tracking / conveyor