Difference between revisions of "Cartesian Gearing"

From SoftMC-Wiki
Jump to: navigation, search
(created)
(No difference)

Revision as of 10:55, 25 January 2018

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.


Cartesian Gearing

User Functions

The following function are available for Cartesian Gearing Setup:

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:


Mask  Binary Value   Operational Space 
0 0 None
1 1 X
2 10 Y
3 11 XY
4 100 Z
5 101 ZX
6 110 ZY
7 111 ZYX


Multi Tool Cartesian Gearing

In case the robot has more than a single tool, then user can assign axis per tool.

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 the tools