Difference between revisions of "Universal DH/zh-hans"
(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}} |
− | = | + | =通用DH动力学= |
− | == | + | ==简介== |
− | + | softMC支持多种机器人运动学,几种固件编码运动学模型和一般用户定义的运动学(用户编写C代码)。 <br> | |
− | + | 所有固件编码的运动学(SCARA,DELTA,PUMA,...)都采用理想的运动学模型,其中各连杆之间的角度恰好是预定义的值(例如90度),但情况并非如此。 <br> | |
− | + | 例如在PUAM机器人运动学中,假设第一关节和第二关节之间的角度恰好为90度,在该模型(模型= 2)中,没有选择定义不同的角度或角度校正。 <br>只能手动输入连杆长度。 除PUMA运动学之外,存在所有最后3个旋转轴(J4,J5,J6)必须在同一点相遇的模型约束。 <br> | |
<br/> | <br/> | ||
− | + | 对一般机器人: | |
− | * | + | * 最多6个DOF |
− | * | + | * 必须是开链运动学(非并联机器人) |
<br/> | <br/> | ||
− | + | 有两种类型的通用运动学: | |
− | * '''PUMA '' | + | * '''PUMA ''“类似于”'' 6-DOF''' <br> |
− | : | + | : 开链模型: <br> [[File:universal 1.png|800px]] <br> Model = 19 是类似于PUMA的6DOF运动学 <br> <br/> |
− | * ''' | + | * '''一般开链运动学''' <br> |
− | : | + | : 开链模型定义: <br> [[File:universal 2.png|800px]] <br> Model = 20 是通用开链运动学 |
− | === | + | ===Model = 20和Model = 19之间的区别=== |
− | * Model | + | * Model 19是专门为PUMA型机器人量身打造的。 这意味着机器人需要满足以下条件: <br> 所有轴都是旋转轴。 <br> 正好有6个DOF(轴) <br>机器人配置标志(手臂,肘部,手腕)与PUMA机器人定义最相似的。 |
− | * Model 20 | + | * Model 20 是通用开链模型,轴可以是机器人旋转或线性,唯一的限制是不能再有6个DOF(轴)。<br> 机器人配置标志根据用户定义的函数调用进行定义。 |
− | == | + | ==几何定义== |
− | + | 机器人几何模型由两个数组定义: | |
<br/> | <br/> | ||
− | # '''Link [i] [j] ( | + | # '''Link [i] [j] (连杆长度):''' |
− | ## | + | ## 其中i = 1-6 表示连杆 1 到 6 |
− | ## | + | ## 其中j = 1-3表示坐标 x,y,z |
− | ## | + | ## 连杆长度坐标是相对于放置在与前一连杆的连接点处的基座坐标原点(没有任何旋转) <br> <br/> |
# '''Axis [i] [j] (joint axis direction):''' | # '''Axis [i] [j] (joint axis direction):''' | ||
− | ## | + | ## 其中i = 1-6为连杆1 to 6 |
− | ## | + | ## 其中j = 1-3 为坐标 x,y,z |
− | ## | + | ## 相对于基座坐标原点的轴旋转矢量。在平移关节的情况下,它是轴运动的方向。 <br> <br/> |
[[File:10.7.png|550px]] | [[File:10.7.png|550px]] | ||
− | === | + | ===用户函数=== |
− | + | 在通用开链 model(20)的情况下,机器人配置不能自动定义,因此我们要使用以下用户函数: | |
− | * Import_c UDH_SET_MAX_CFG(byval as long,byval as long) as long | + | * 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 | + | * 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 • 中文(简体) |
---|
Contents
通用DH动力学
简介
softMC支持多种机器人运动学,几种固件编码运动学模型和一般用户定义的运动学(用户编写C代码)。
所有固件编码的运动学(SCARA,DELTA,PUMA,...)都采用理想的运动学模型,其中各连杆之间的角度恰好是预定义的值(例如90度),但情况并非如此。
例如在PUAM机器人运动学中,假设第一关节和第二关节之间的角度恰好为90度,在该模型(模型= 2)中,没有选择定义不同的角度或角度校正。
只能手动输入连杆长度。 除PUMA运动学之外,存在所有最后3个旋转轴(J4,J5,J6)必须在同一点相遇的模型约束。
对一般机器人:
- 最多6个DOF
- 必须是开链运动学(非并联机器人)
有两种类型的通用运动学:
- PUMA “类似于” 6-DOF
- 一般开链运动学
Model = 20和Model = 19之间的区别
- Model 19是专门为PUMA型机器人量身打造的。 这意味着机器人需要满足以下条件:
所有轴都是旋转轴。
正好有6个DOF(轴)
机器人配置标志(手臂,肘部,手腕)与PUMA机器人定义最相似的。 - Model 20 是通用开链模型,轴可以是机器人旋转或线性,唯一的限制是不能再有6个DOF(轴)。
机器人配置标志根据用户定义的函数调用进行定义。
几何定义
机器人几何模型由两个数组定义:
- Link [i] [j] (连杆长度):
- 其中i = 1-6 表示连杆 1 到 6
- 其中j = 1-3表示坐标 x,y,z
- 连杆长度坐标是相对于放置在与前一连杆的连接点处的基座坐标原点(没有任何旋转)
- Axis [i] [j] (joint axis direction):
- 其中i = 1-6为连杆1 to 6
- 其中j = 1-3 为坐标 x,y,z
- 相对于基座坐标原点的轴旋转矢量。在平移关节的情况下,它是轴运动的方向。
用户函数
在通用开链 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