Cartesian Gearing
Language: | [[::Cartesian Gearing|English]] |
---|
Introduction
The Cartesian Gearing (CG) feature enables users to move additional axis proportionally to traveled path of the robot’s tool-tip.
Slaving an axis to it's Pext that is geared to the robot's incremental cartesian change - the path variable (L) in cartesian space is computed each motion sampling period.
The variable keeps track of the traveled path in cartesian space (X,Y,Z). The value is accumulative, which means that if a same line segment is traveled back and forth the L will be increased by the double of the segment length.
Additionally, the ratio between the traveled path and the length-of-the path variable L can be changed for each movement separately. This means that user can assign a nodal ratio parameter for each movement differently.
The L variable is available as external position (Ax.Pext) of an axis. The axis is an arbitrary axis that can be of the same robot or any external axis in the system.
User Functions
The following function are available for Cartesian Gearing Setup:
Function | Description | Notes | |||||||||||||||||||||||||||
CG_VER(0,0,0) | Returns the current version number | ||||||||||||||||||||||||||||
CG_STATUS(0,0,0) | Prints on telnet connection internal CG status variables | ||||||||||||||||||||||||||||
CG_SET(int rid, int aid, int pf) | Setting up CG relationship, if everything is OK a zero value is returned. | ||||||||||||||||||||||||||||
rid – robot ID | Available as ElementID group property | ||||||||||||||||||||||||||||
aid – axis ID | Available as ElementID axis property | ||||||||||||||||||||||||||||
pf - integer value | Returns the number of counts per one millimeter traveled path | In order to get Pext in millimeters the same value should be assigned to pExtFac | |||||||||||||||||||||||||||
CG_UNSET(int rbt_id, int axis_handle,0) | Removing CG relationship, undoes the CG_SET' | ||||||||||||||||||||||||||||
CG_SET(int rbt_id, int value,0) | Set the L to a new value (offset). The value given here is in Pext counts | ||||||||||||||||||||||||||||
CG_STOP (0,0,0) | Stopping the CG process at the current value of L. | Stopping is performed immediately, without deceleration profile | |||||||||||||||||||||||||||
CG_START(0,0,0) | Re-starting the CG process that was stopped by CG_STOP command | ||||||||||||||||||||||||||||
CG_MOD(mod,0,0) | Setting the CG mode (0 – command, default, 1- feedback) if the L variable is computed from the command (setpoint) or the feedback Cartesian coordinates (here). | ||||||||||||||||||||||||||||
CG_MASK(mask,0,0) | Defining the operational space in which L is computed. | For example: if mask = 1 then only changes in X coordinate will be included in computation of L. Possible values are:
|
Multi Tool Cartesian Gearing
In case the robot has more than a single tool, then user can assign axis per tool.
Function | Description | Notes |
CG_ASSIGN_TOOL(int axisHandle, SYS_POINT * pntTool) | Tool number and offset. | These offset are later used for calculating cartGear |
CG_CLEAR_ALL_TOOLS(void) | Set null value (zeros) in all tools |