Difference between revisions of "Universal DH/zh-hans"

From SoftMC-Wiki
Jump to: navigation, search
(Created page with "{{Languages}} =Universal DH Kinematics= ==Introduction== softMC has supports many kinds of robot kinematics, several firmware coded kinematic models and one general user-def...")
 
 
Line 1: Line 1:
{{Languages}}
+
{{Languages|Universal_DH}}
=Universal DH Kinematics=
+
=通用DH动力学=
  
==Introduction==
+
==简介==
  
softMC has supports many kinds of robot kinematics, several firmware coded kinematic models and one general user-defined kinematics (written by user in C-code). <br>  
+
softMC支持多种机器人运动学,几种固件编码运动学模型和一般用户定义的运动学(用户编写C代码)。 <br>  
All firmware coded kinematics (SCARA,DELTA, PUMA, …) assume an ideal kinematics model where angles between segments are at an exactly the predefined value (e.g. 90 deg). This is not always the case. <br>   
+
所有固件编码的运动学(SCARA,DELTA,PUMA,...)都采用理想的运动学模型,其中各连杆之间的角度恰好是预定义的值(例如90度),但情况并非如此。 <br>   
For example in PUAM robot kienamtics it is assumed that angle between first and second joint is exactly 90 degrees, in this model (model=2) there is no option to define different angle or an angle correction. <br> Only segment lengths can be manually entered. In addition to that at PUMA kinematic there exist a model constraint that all last 3 rotation axes (J4,J5,J6) must meet at same point. <br>
+
例如在PUAM机器人运动学中,假设第一关节和第二关节之间的角度恰好为90度,在该模型(模型= 2)中,没有选择定义不同的角度或角度校正。 <br>只能手动输入连杆长度。 除PUMA运动学之外,存在所有最后3个旋转轴(J4,J5,J6)必须在同一点相遇的模型约束。 <br>
 
<br/>
 
<br/>
For general robots:
+
对一般机器人:
* Up to 6DOF
+
* 最多6个DOF
* Must be Open-chain kinematics (no parallel robots)
+
* 必须是开链运动学(非并联机器人)
 
<br/>
 
<br/>
There are two types of universal kinematics:
+
有两种类型的通用运动学:
* '''PUMA ''“like”'' 6-DOF''' <br>  
+
* '''PUMA ''“类似于”'' 6-DOF''' <br>  
: open-chain model: <br> [[File:universal 1.png|800px]] <br> Model = 19 is PUMA-like 6DOF kinematics <br> <br/>
+
: 开链模型: <br> [[File:universal 1.png|800px]] <br> Model = 19 是类似于PUMA的6DOF运动学 <br> <br/>
* '''General Open-Chain Kinematics''' <br>  
+
* '''一般开链运动学''' <br>  
: open-chain model definition: <br> [[File:universal 2.png|800px]] <br> Model = 20 is general open-chain kinematics
+
: 开链模型定义: <br> [[File:universal 2.png|800px]] <br> Model = 20 是通用开链运动学
  
===Difference Between Model = 20 and Model = 19===
+
===Model = 20和Model = 19之间的区别===
  
* Model 19 is specially tailored for PUMA-like robots. This means that robot need to satisfy the following conditions: <br> All axes are rotary. <br> There is exactly 6 DOF’s (axes) <br> Robot configuration flags (arm, elbow, wrist) are defined according most similar PUMA robot.
+
* Model 19是专门为PUMA型机器人量身打造的。 这意味着机器人需要满足以下条件: <br> 所有轴都是旋转轴。 <br> 正好有6个DOF(轴) <br>机器人配置标志(手臂,肘部,手腕)与PUMA机器人定义最相似的。
* Model 20 is general open-chain model, axes can be bot rotary or linear and the only limitation is that there can not be more then 6 DOF (axes). <br> Robot configuration flags are defined according user-defined function calls.
+
* Model 20 是通用开链模型,轴可以是机器人旋转或线性,唯一的限制是不能再有6个DOF(轴)。<br> 机器人配置标志根据用户定义的函数调用进行定义。
  
==Geometry Definition==
+
==几何定义==
  
Robot geometry is defined by two arrays:
+
机器人几何模型由两个数组定义:
 
<br/>
 
<br/>
# '''Link [i] [j] (segment length):'''
+
# '''Link [i] [j] (连杆长度):'''
## Where i = 1-6 for segments 1 to 6
+
## 其中i = 1-6 表示连杆 1 6
## Where j = 1-3 for coordinates x,y,z
+
## 其中j = 1-3表示坐标 x,y,z
## Segment length coordinates are relative to base coordinate origin placed at connection point with previous segment (without any rotation) <br> <br/>
+
## 连杆长度坐标是相对于放置在与前一连杆的连接点处的基座坐标原点(没有任何旋转) <br> <br/>
 
# '''Axis [i] [j] (joint axis direction):'''
 
# '''Axis [i] [j] (joint axis direction):'''
## Where i = 1-6 for segments 1 to 6
+
## 其中i = 1-6为连杆1 to 6
## Where j = 1-3 for coordinates x,y,z
+
## 其中j = 1-3 为坐标 x,y,z
## Axis rotation vector relative to base coordinate origin)�In case of translational joint it is direction of the axis movement. <br> <br/>  
+
## 相对于基座坐标原点的轴旋转矢量。在平移关节的情况下,它是轴运动的方向。 <br> <br/>  
 
[[File:10.7.png|550px]]
 
[[File:10.7.png|550px]]
  
  
===User Functions===
+
===用户函数===
  
In case of general open-chain model (20) the robot configuration can not be automatically defined therefor we are using the following user functions:
+
在通用开链 model(20)的情况下,机器人配置不能自动定义,因此我们要使用以下用户函数:
* Import_c  UDH_SET_MAX_CFG(byval as long,byval as long) as long Setting the max number of robot configurations (for PUMA it is 8) <br> <br/>  
+
* Import_c  UDH_SET_MAX_CFG(byval as long,byval as long) as long 设置机器人配置的最大数量(PUMA为8) <br> <br/>  
* Import_c  UDH_SET_CFG(byval as long, byval as long,byval as joint of xyzr) as long Setting representative robot configuration for each configuration flag. <br> Flag values are sett  according to bitmask in same ways as in ToJoint function. <br> <br/>
+
* Import_c  UDH_SET_CFG(byval as long, byval as long,byval as joint of xyzr) as long 为每个配置标志设置代表性的机器人配置。 <br> 标志值根据位掩码设置,与ToJoint函数相同。<br> <br/>
 
Example (SCARA):
 
Example (SCARA):
 
* ?UDH_SET_MAX_CFG(elementid,2)
 
* ?UDH_SET_MAX_CFG(elementid,2)

Latest revision as of 07:40, 14 July 2017

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

通用DH动力学

简介

softMC支持多种机器人运动学,几种固件编码运动学模型和一般用户定义的运动学(用户编写C代码)。
所有固件编码的运动学(SCARA,DELTA,PUMA,...)都采用理想的运动学模型,其中各连杆之间的角度恰好是预定义的值(例如90度),但情况并非如此。
例如在PUAM机器人运动学中,假设第一关节和第二关节之间的角度恰好为90度,在该模型(模型= 2)中,没有选择定义不同的角度或角度校正。
只能手动输入连杆长度。 除PUMA运动学之外,存在所有最后3个旋转轴(J4,J5,J6)必须在同一点相遇的模型约束。

对一般机器人:

  • 最多6个DOF
  • 必须是开链运动学(非并联机器人)


有两种类型的通用运动学:

  • PUMA “类似于” 6-DOF
开链模型:
universal 1.png
Model = 19 是类似于PUMA的6DOF运动学

  • 一般开链运动学
开链模型定义:
universal 2.png
Model = 20 是通用开链运动学

Model = 20和Model = 19之间的区别

  • Model 19是专门为PUMA型机器人量身打造的。 这意味着机器人需要满足以下条件:
    所有轴都是旋转轴。
    正好有6个DOF(轴)
    机器人配置标志(手臂,肘部,手腕)与PUMA机器人定义最相似的。
  • Model 20 是通用开链模型,轴可以是机器人旋转或线性,唯一的限制是不能再有6个DOF(轴)。
    机器人配置标志根据用户定义的函数调用进行定义。

几何定义

机器人几何模型由两个数组定义:

  1. Link [i] [j] (连杆长度):
    1. 其中i = 1-6 表示连杆 1 到 6
    2. 其中j = 1-3表示坐标 x,y,z
    3. 连杆长度坐标是相对于放置在与前一连杆的连接点处的基座坐标原点(没有任何旋转)

  2. Axis [i] [j] (joint axis direction):
    1. 其中i = 1-6为连杆1 to 6
    2. 其中j = 1-3 为坐标 x,y,z
    3. 相对于基座坐标原点的轴旋转矢量。在平移关节的情况下,它是轴运动的方向。

10.7.png


用户函数

在通用开链 model(20)的情况下,机器人配置不能自动定义,因此我们要使用以下用户函数:

  • Import_c UDH_SET_MAX_CFG(byval as long,byval as long) as long 设置机器人配置的最大数量(PUMA为8)

  • Import_c UDH_SET_CFG(byval as long, byval as long,byval as joint of xyzr) as long 为每个配置标志设置代表性的机器人配置。
    标志值根据位掩码设置,与ToJoint函数相同。

Example (SCARA):

  •  ?UDH_SET_MAX_CFG(elementid,2)
  •  ?UDH_SET_CFG(elementid,0,{0,-45,0,0}) ' lefty
  •  ?UDH_SET_CFG(elementid,1,{0,45,0,0}) ' righty

6R Robot With Offset Wrist