Difference between revisions of "Cartesian Gearing"

From SoftMC-Wiki
Jump to: navigation, search
(User Functions)
Line 18: Line 18:
 
The following function are available for Cartesian Gearing Setup:
 
The following function are available for Cartesian Gearing Setup:
  
'''CG_VER(0,0,0)''' Returns the current version number
+
{| border = "1" align="left"
 +
| align="center" |''' Function '''
 +
| align="center" |'''Description '''
 +
| align="center" |'''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.
 +
|align="left" |<u>For example</u>: if mask = 1 then only changes in X coordinate will be included in computation of '''L'''. <br> Possible values are:
  
'''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.
+
{| {{table}} border = "2"
 
 
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:
 
 
 
 
 
 
 
{| {{table}} border = "1"
 
 
| align="center" |''' Mask '''
 
| align="center" |''' Mask '''
 
| align="center" |'''&nbsp;Binary Value&nbsp; '''
 
| align="center" |'''&nbsp;Binary Value&nbsp; '''
Line 70: Line 95:
 
|}
 
|}
  
 
+
|}
  
 
== Multi Tool Cartesian Gearing ==
 
== Multi Tool Cartesian Gearing ==

Revision as of 09:59, 20 February 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:

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:


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