Difference between revisions of "Defining Cartesian Groups/zh-hans"

From SoftMC-Wiki
Jump to: navigation, search
(Created page with "{{Languages}} == Introduction == Cartesian groups are enhancements of groups. Like groups, they are a collection of axes that can be moved together. In addition, they have a...")
 
 
Line 1: Line 1:
{{Languages}}
+
{{Languages|Defining_Cartesian_Groups}}
== Introduction ==  
+
== 简介 ==  
 +
笛卡尔组是组的增强。 像组一样,它们是可以一起移动的轴的集合。 此外,它们具有用于定义笛卡尔空间中每个旋转轴的预定笛卡尔模型。
  
Cartesian groups are enhancements of groups. Like groups, they are a collection of axes that can be moved together. In addition, they have a predefined Cartesian model for defining the roll of each axis in the Cartesian space.
+
== 创建笛卡尔组 ==
 
+
笛卡尔组的定义与普通组相似,无论是配置文件还是终端输入。唯一的区别是最后,组的类型由以下定义:'''model=1  of <point type>''',其中<point type>是定义实际笛卡尔模型的字符串,可以是以下之一:
== Creating a Cartesian Group==
 
Cartesian groups are defined similar to ordinary groups, either in configuration file or as a terminal input. The only difference is that at the end the type of the group is defined by: '''model=1  of <point type>''', where <point type> is a string that defines the actual Cartesian model, which can be one of the following:
 
  
 
{|  cellpadding="10"  cellspacing="0"  border="1"  
 
{|  cellpadding="10"  cellspacing="0"  border="1"  
|''' Mnemonic Constant <br> used in [[MC-Basic:CASTPOINT|CASTPOINT]]''' ||''' Numerical Value<br> used in [[MC-Basic:CASTPOINT|CASTPOINT]] Function''' || '''<point type> <br> String''' ||'''Explanation'''
+
|'''[[MC-Basic:CASTPOINT|CASTPOINT]]<br>中使用的助记符常数''' ||''' [[MC-Basic:CASTPOINT|CASTPOINT]]<br>函数中使用的数值''' || '''<point type> <br> 字符串''' ||'''说明'''
 
|-
 
|-
|NO_ROBOT  || 0  || NONE || List-of-coordinates, uninitialized generic points
+
|NO_ROBOT  || 0  || NONE || 坐标列表,未初始化的普通点
 
|-
 
|-
|TYPE_X   || 1  || X|| X coordinate only
+
|TYPE_X   || 1  || X|| 仅X坐标
 
|-===  ===
 
|-===  ===
|TYPE_XY || 2  || XY || X Y table
+
|TYPE_XY || 2  || XY || X Y平台
 
|-
 
|-
 
|TYPE_XYZ  || 3  || XYZ || X Y Z
 
|TYPE_XYZ  || 3  || XYZ || X Y Z
Line 73: Line 72:
 
|}
 
|}
  
For example, the following defines a Cartesian group called '''GXYZ''':
+
例如,以下定义了一个称为 '''GXYZ'''的笛卡尔组:
 
<pre>
 
<pre>
 
common shared GXYZ  as group Axnm = a1 Axnm = a2 Axnm = a3 model=1  of xyz
 
common shared GXYZ  as group Axnm = a1 Axnm = a2 Axnm = a3 model=1  of xyz
 
</pre>
 
</pre>
  
== Usage ==
+
== 用法 ==
Cartesian groups implement robot models with 1-1 Inverse and Direct kinematics functions. For example, an XY Cartesian group is defined by following mapping:
+
笛卡尔组使用1-1实现机器人模型的正逆运动学功能。 例如,通过以下映射定义XY笛卡尔组:
  
 
J1 ←→ X<br>
 
J1 ←→ X<br>
 
J2 ←→ Y<br>
 
J2 ←→ Y<br>
  
This means that coordinates of <group.setpoint and <group>.pcmd will have equal values.
+
这意味着<group>.setpoint和<group> .pcmd的坐标将具有相等的值。
  
== Translation vs. Rotation ==
+
== 平移与旋转 ==
The greatest difference between ordinary groups and Cartesian groups is the separation of translational and rotational movements. This further means that axis type must mach the Cartesian model:
+
普通组与笛卡尔组之间最大的区别是平移和旋转运动的分离。 这进一步意味着轴类型必须匹配笛卡尔模型:
  
For example, in XYR group (X, Y and Roll) [[MC-Basic:axis.AXISTYPE|axistype]] must be set as:
+
例如,XYR组(X,Y和Roll)的[[MC-Basic:axis.AXISTYPE|axistype]]必须设置为:
 
<pre>
 
<pre>
 
Common Shared GXYR as Group AxisName=A1 AxisName=A2 AxisName=A3 model = 1 of XYR
 
Common Shared GXYR as Group AxisName=A1 AxisName=A2 AxisName=A3 model = 1 of XYR
Line 99: Line 98:
 
</pre>
 
</pre>
  
If [[MC-Basic:axis.AXISTYPE|axis]] type is not properly set, [[MC-Basic:CONFIGGROUP|ConfigGroup]] command will return an error. When such a group is properly set it allows setting physical kinematics values of velocity, acceleration and jerk separated into translational and rotational parts in the same way it is done in robot models:
+
如果[[MC-Basic:axis.AXISTYPE|axis]]未正确设置,则[[MC-Basic:CONFIGGROUP|ConfigGroup]]命令将返回错误。 当这样的组被正确设置时,它允许将机器人模型中完成的速度,加速度和加加速度的物理运动学值设置为平移和旋转部分:
 
<pre>
 
<pre>
 
MoveS GXYR #{100,100,90} VelTran=100 VelRot=20
 
MoveS GXYR #{100,100,90} VelTran=100 VelRot=20
 
</pre>
 
</pre>
  
This will move the GXYR to the target point (X=100mm, Y=100mm, R = 90deg) with 100 mm/sec or 20 deg/sec, depending on which values dominates (takes more time).
+
这将GXYR移动到目标点(X = 100mm,Y = 100mm,R = 90deg),以100 mm / sec或20 deg / sec,这取决于哪个值有优势(需要更多的时间)。
  
== Motion ==
+
== 运动 ==
The following motion interpolation types are defined in Cartesian groups:
+
以下运动插补类型在笛卡尔组中定义:
* Move  - joint interpolations, used Vcruise, Vfinal in non-physical user units.<br>
+
* Move  - 关节插补,在非物理用户单元中使用Vcruise,Vfinal。<br>
* MoveS - "straight-line" interpolation with separated  kinematics parameters (Vtra/Vrot, Atran/Arot, Jtran/Jrot) defined in physical units for rotation and translation.<br>
+
* MoveS - 用于旋转和平移的物理单位中定义的具有分离运动学参数(Vtra / Vrot,Atran / Arot,Jtran / Jrot)的“直线”插值。<br>
* Circle - circular/helycal interpolation in XYZ space with proportional change of additional rotation axes with separated  kinematics parameters (Vtra/Vrot, Atran/Arot, Jtran/Jrot) defined in physical units for rotation and translation.<br>
+
* Circle - XYZ空间中的圆/螺旋插补,具有以旋转和平移的物理单位定义的分离运动学参数(Vtra / Vrot,Atran / Arot,Jtran / Jrot)的附加旋转轴的比例变化。<br>
  
  
{{Note | There is no difference in the path of Move and Moves interpolation, except for how the time derivatives are determined. }}
+
{{Note | Move和Moves的路径没有差异,除了时间导数的确定方式外。}}

Latest revision as of 03:22, 17 July 2017

语言: English  • 中文(简体)‎

简介

笛卡尔组是组的增强。 像组一样,它们是可以一起移动的轴的集合。 此外,它们具有用于定义笛卡尔空间中每个旋转轴的预定笛卡尔模型。

创建笛卡尔组

笛卡尔组的定义与普通组相似,无论是配置文件还是终端输入。唯一的区别是最后,组的类型由以下定义:model=1 of <point type>,其中<point type>是定义实际笛卡尔模型的字符串,可以是以下之一:

CASTPOINT
中使用的助记符常数
CASTPOINT
函数中使用的数值
<point type>
字符串
说明
NO_ROBOT 0 NONE 坐标列表,未初始化的普通点
TYPE_X 1 X 仅X坐标
TYPE_XY 2 XY X Y平台
TYPE_XYZ 3 XYZ X Y Z
TYPE_XYZU 4 XYZU
TYPE_XYZUV 5 XYZUV
TYPE_XYZUVW 6 XYZUVW
TYPE_XYR 7 XYR X Y Roll
TYPE_XYRZ 8 XYRZ
TYPE_XYRZU 9 XYRZU
TYPE_XYRZUV 10 XYRZUV
TYPE_XYZR 11 XYZR X Y Z Roll
TYPE_XYZRU 12 XYZRU
TYPE_XYZRUV 13 XYZRUV
TYPE_XYZURV 14 XYZURV
TYPE_XYZUR 15 XYZUR
TYPE_XYZRPU 16 XYZRPU
TYPE_XYZRP 17 XYZRP X Y Z Roll Pitch
TYPE_XYRURV 18 XYZRURV
TYPE_XYRUR 19 XYRUR
TYPE_XYRP 20 XYRP X Y Roll Pitch
TYPE_XYRPU 21 XYRPU
TYPE_XYRPUV 22 XYRPUV
TYPE_XYRPUQ 23 XYRPUQ
TYPE_XYZYPR 24 XYZYPR X Y Z Yaw Pitch Roll
TYPE_XYZPR 36 User defined point
TYPE_XYZA 37 XYZA X Y Z A-angle
TYPE_XYZAB 38 XYZAB X Y Z A-angle B-angle
TYPE_YPR 50 YPR Yaw Pitch Roll
TYPE_PR 51 PR Pitch Roll
TYPE_R 52 R Roll

例如,以下定义了一个称为 GXYZ的笛卡尔组:

common shared GXYZ   as group Axnm = a1 Axnm = a2 Axnm = a3 model=1  of xyz

用法

笛卡尔组使用1-1实现机器人模型的正逆运动学功能。 例如,通过以下映射定义XY笛卡尔组:

J1 ←→ X
J2 ←→ Y

这意味着<group>.setpoint和<group> .pcmd的坐标将具有相等的值。

平移与旋转

普通组与笛卡尔组之间最大的区别是平移和旋转运动的分离。 这进一步意味着轴类型必须匹配笛卡尔模型:

例如,XYR组(X,Y和Roll)的axistype必须设置为:

Common Shared GXYR as Group AxisName=A1 AxisName=A2 AxisName=A3 model = 1 of XYR
...
a1.axistype = 1
a2.axistype = 1
a3.axistype = 1
ConfigGroup GXYR

如果axis未正确设置,则ConfigGroup命令将返回错误。 当这样的组被正确设置时,它允许将机器人模型中完成的速度,加速度和加加速度的物理运动学值设置为平移和旋转部分:

MoveS GXYR #{100,100,90} VelTran=100 VelRot=20

这将GXYR移动到目标点(X = 100mm,Y = 100mm,R = 90deg),以100 mm / sec或20 deg / sec,这取决于哪个值有优势(需要更多的时间)。

运动

以下运动插补类型在笛卡尔组中定义:

  • Move - 关节插补,在非物理用户单元中使用Vcruise,Vfinal。
  • MoveS - 用于旋转和平移的物理单位中定义的具有分离运动学参数(Vtra / Vrot,Atran / Arot,Jtran / Jrot)的“直线”插值。
  • Circle - XYZ空间中的圆/螺旋插补,具有以旋转和平移的物理单位定义的分离运动学参数(Vtra / Vrot,Atran / Arot,Jtran / Jrot)的附加旋转轴的比例变化。


NOTE-Info.svgNOTE
Move和Moves的路径没有差异,除了时间导数的确定方式外。