CDRFLEx.set_workpiece_weight
Features
In addition to the tool weight/center of gravity at the end of the robot, set the weight/center of gravity of the work piece and other information. The weight and center of gravity of the entire payload is reflected by combining the set tool weight/center of gravity and the work piece's weight/center of gravity. It can be used in applications where the type of workpiece is frequently varied or the weight needs to be dynamically changed.
Caution
- Workpiece weight change is allowed only when both Collision Detection and TCP SLF Violation check are mute or deactivated during Auto Mode.
- In the current version, Collision Detection considers the function mute when Collision Sensitivity is overridden to 0 and TCP SLF considers the function mute when the TCP SLF Limit is overridden to the maximum. This override can be set using Collision Sensitivity Reduction Zone and Custom Zone.
- Otherwise, trigger an SS1 protective stop unless the workpiece weight is set to zero.
- If the robot stops due to an error and needs to be manually restored, place the robot in the desired position in the Recovery Mode and unload the workpiece through Servo On and I/O operation while the corresponding zones are activated in Auto Mode.
- When changing the set tool weight, the workpiece weight is initialized to 0.
- When using the set_tool and set_workpiece_weight functions in succession, you must use the wait(transition_time) function as much as transition_time between them. Otherwise, there may be errors in the weight change.
Parameter
Parameter Name | Data Type | Default Value | Description |
fWiehgt | float | 0 | Weight [kg] |
fCog | float[3] | [0, 0, 0] | Center of gravity of the workpiece (x, y, z) [mm] |
eCogRef | enum.COG_REFERENCE | COG_REFERENCE_TCP | Reference coordinates of center of gravity position, DR_CUR_TCP : TCP coordinates, DR_FLANGE : FLANGE coordinates, |
eAddUp | enum.ADD_UP | ADD_UP_REPLACE- | DR_REPLACE(0): Replace workpiece DR_ADD(1): Add workpiece DR_REMOVE(2): Remove workpiece |
fStartTime | float | -10000 | Starting time of changing workpiece weight [sec] |
fTransitionTime | float | -10000 | Transition time of changing workpiece weight [sec] |
Return
Value | Description |
0 | Error |
1 | Success |
Example
Drfl.set_safety_mode(SAFETY_MODE_AUTONOMOUS, SAFETY_MODE_EVENT_MOVE);
Drfl.set_workpiece_weight();
Drfl.set_safety_mode(SAFETY_MODE_AUTONOMOUS, SAFETY_MODE_EVENT_STOP);