CN114818305B - 一种通用的刚体部件传动仿真方法 - Google Patents
一种通用的刚体部件传动仿真方法 Download PDFInfo
- Publication number
- CN114818305B CN114818305B CN202210413860.2A CN202210413860A CN114818305B CN 114818305 B CN114818305 B CN 114818305B CN 202210413860 A CN202210413860 A CN 202210413860A CN 114818305 B CN114818305 B CN 114818305B
- Authority
- CN
- China
- Prior art keywords
- rigid body
- rigid
- motion
- connecting rod
- tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种通用的刚体部件传动仿真方法,包括以下步骤:1)从仿真目标中,建立所有的运动关联树状数据;2)对应用户不同的指令,找到对应的树结构,进行运算逻辑;3)每次指令引起刚体运动,逻辑运算会根据刚体本身的性质,同时记录树形结构中刚体之间连接杆的不同状态,得到每个刚体能做的运动范围量;4)在运动范围量内,采样运动产生的离散数据;5)动态计算刚体两端的实时位置信息;6)整体逻辑方法采用本发明的树形结构。本发明能逼真的实现类似GW4—126D型隔离开关中电控/手控操作引起的系统部件运动,能精确、可控的模拟现实中的任何情况。
Description
技术领域
本发明涉及电力系统仿真领域,特别涉及一种树形联动机构的运动仿真模拟。
背景技术
设计和制作GW4—126D型隔离开关仿真的过程中,发现隔离开关传动部件存在互相制动关联驱动的运动逻辑。紧密之处在于,每个部件现实中的运动或转动或者移动,在仿真中连接器完全作用的情况下,都会驱动其他一个或者多个部件的运动。特别是,由于仿真中可以由固定的电机驱动,也可以通过手动驱动。在第一种情况(固定电机驱动)下,运动的传导(顺序、特征)可以看作是固定的。但由于手动驱动情况的加入,运动传导的始作俑者就会变化。导致仿真要考虑的变量突然激增,如果不找到对应的策略,那么就会出现整体系统不停的运算,停不下来的异常情况。
另外一个问题是,现在的商业3D引擎(常见的如Unity3d、UnrealEngine4)集成的通用物理引擎带有的物理方案通常会提供刚体、铰链这样的组件,来模拟绳索、链条的物理效果。但是在类似GW4—126D型隔离开关仿真刚体运动控制研究中,这些物理引擎因为本身是面向游戏效果的原因,在计算这种互相关联呈树状结构、但又需要保持运动真实的控制系统上,实践下来往往会在莫名其妙的地方表现出奇怪的物理模拟,整个过程完全不可控、出现失控情况。所以,现成的物理引擎并不能完成要求,甚至说完全不可用。
现有的使用物理引擎模拟的3D(2D)刚体连接问题,因为目标不同,导致不适用于类似GW4-126D这种刚体连接、互相传动的机构。而使用一般的计算方式,对于这种机构,是一个N维的机制(对于GW4-126D,至少是6维),计算方式异常复杂甚至很难推算。
发明内容
本发明的目的在于提供一种在一定的刚体部件连接系统、整体做仿真运动时,任何状态下系统不会出现失控状况的通用的刚体部件传动仿真方法。
本发明的技术解决方案是:
一种通用的刚体部件传动仿真方法,其特征是:具体步骤如下:
(1)从仿真目标中,建立所有的运动关联树状数据;其中,每个树结构记录了每个可能的运动产生时该运行的发起者、从动者、关联者;
(2)建立了树状数据库后,在仿真过程中,用户每个会引起系统运动的操作,都能找到一个作用的点,通过该点,能找到库中对应的一个树结构,这里的点就对应到该树的根;
(3)利用找到的树结构,得到根对应的刚体连接到的其他刚体,而这里的其他刚体在树状结构中的数据,又能解析到它影响的其他刚体,这样就建立了一次运动和运动引起的传动模型;
(4)每次用户操作引起刚体运动,在系统中,是固定的转动起始;有了前面的传动模型,根据刚体本身的性质和刚体与刚体间连接杆的不同状态,得到每个刚体能做的运动范围;
[-180, 180] = { x ∈ R, -180 ≤ x ≤ 180 }
一个节点的每次转动,在一个瞬间,必然在一个小的区间之内,而由此引起的它的直接关联者(直接子节点)的转动,同样如此;这个区间可以通过预先定义成:
[-Fraction,Fraction]
而根据传动节点的转向只有顺时针和逆时针两种可能,结合上面的区间,可以把目标区间分割成两个部分:
[-Fraction, 0)
和
(0, Fraction]
(5)在这个范围之内,利用尽可能多的离散采样数据,在刚体、连杆行程的约束范围之内,快速寻找因传动根运动而引起本身需要运动到达的位置;
采样数据集合:
[P0, P1, P2, ...Pn]
其中
Pn = Pn-1 + F/C ;F = Fraction, C = Count of samples;
在所有的采样点中,根据连杆的长度和驱动点的位置,得到最符合要求的一个采样点,该采样点符合:
Min [Len(Psource, P0),Len(Psource, P1),...,Len(P, Pn)];
(6)在同一根连杆(也是刚体)两头的刚体都计算出最新的位置信息后,通过系统初始的信息,计算出连杆的应该的朝向信息和位置信息;
连杆长度:
L = Len(P1, P2)
连杆方向:
D = Normalize(P1 - P2);
(7)因为整体系统采用树状结构,上面的所有步骤在整个树上,只要从根部开始,一层层往下传递,那么系统中所有的刚体,就能在不使用任何物理公式和物理引擎的方式下,实际计算出正确的位置和转向信息。
步骤(4)所述刚体本身的性质,指刚体是转臂还是连杆,同样记录于树状结构。
本发明适用于系统中各个部件互相连接、互相影响的方法的需要,该方法(或者方法集)能解决现有物理系统不能够做到的地方;由刚体组成的整体,在一定的刚体部件连接系统、整体做仿真运动时,任何状态下系统不能够出现失控的状况。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是本发明一个实施例的树状系统示意图。
图2-图8是不同节点树状数据库示意图。
具体实施方式
一种通用的刚体部件传动仿真方法,具体步骤如下:
(1)从仿真目标中,建立所有的运动关联树状数据;其中,每个树结构记录了每个可能的运动产生时该运行的发起者、从动者、关联者;
(2)建立了树状数据库后,在仿真过程中,用户每个会引起系统运动的操作,都能找到一个作用的点,通过该点,能找到库中对应的一个树结构,这里的点就对应到该树的根;
(3)利用找到的树结构,得到根对应的刚体连接到的其他刚体,而这里的其他刚体在树状结构中的数据,又能解析到它影响的其他刚体,这样就建立了一次运动和运动引起的传动模型;
(4)每次用户操作引起刚体运动,在系统中,是固定的转动起始;有了前面的传动模型,根据刚体本身的性质和刚体与刚体间连接杆的不同状态,得到每个刚体能做的运动范围;
[-180, 180] = { x ∈ R, -180 ≤ x ≤ 180 }
一个节点的每次转动,在一个瞬间,必然在一个小的区间之内,而由此引起的它的直接关联者(直接子节点)的转动,同样如此;这个区间可以通过预先定义成:
[-Fraction,Fraction]
而根据传动节点的转向只有顺时针和逆时针两种可能,结合上面的区间,可以把目标区间分割成两个部分:
[-Fraction, 0)
和
(0, Fraction]
(5)在这个范围之内,利用尽可能多的离散采样数据,在刚体、连杆行程的约束范围之内,快速寻找因传动根运动而引起本身需要运动到达的位置;
采样数据集合:
[P0, P1, P2, ...Pn]
其中
Pn = Pn-1 + F/C ;F = Fraction, C = Count of samples;
在所有的采样点中,根据连杆的长度和驱动点的位置,得到最符合要求的一个采样点,该采样点符合:
Min [Len(Psource, P0),Len(Psource, P1),...,Len(P, Pn)];
(6)在同一根连杆(也是刚体)两头的刚体都计算出最新的位置信息后,通过系统初始的信息,计算出连杆的应该的朝向信息和位置信息;
连杆长度:
L = Len(P1, P2)
连杆方向:
D = Normalize(P1 - P2);
(7)因为整体系统采用树状结构,上面的所有步骤在整个树上,只要从根部开始,一层层往下传递,那么系统中所有的刚体,就能在不使用任何物理公式和物理引擎的方式下,实际计算出正确的位置和转向信息。
步骤(4)所述刚体本身的性质,指刚体是转臂还是连杆,同样记录于树状结构。
具体实施步骤:
1-1) 建立树状数据库。以一个抽象的GW4-126D系统(图1)示例:
图1所示的系统,P是电动系统,An、Bn、Cn (n = [1..2]),都是系统中可围绕一个轴做正反旋转的节点,连接的线可视作节点间的连杆。并且,An、Bn、Cn都可以被手控操作,而不是只有通过P作用到A1上后进行的传动引起系统运动。
为这样的系统,需要建立树状数据库如下(图2到图8):
图2中,由P节点作为根节点,驱动它下层的节点(这里是唯一一个)A1运动。A1节点再驱动下层的A2、B1运动。B1节点再驱动下层的B2和C1运动。最后是C1节点驱动C2节点运动。这就是由P点带动系统后所有的运动传导机制。
由A1节点做根节点的运动(GW4-126D中,会由操作者直接手动操作A1节点行程),树状图为图3。
由A2节点带动的树状图为图4。
由B1带动的树状图为图5。
由B2带动的树状图为图6。
由C1带动的树状图为图7。
由C2带动的树状图为图8。
图2到图8,形成整个运动传导机制库。这个库根据不同的系统特点,预先在程序运行的时候编制完成,然后由程序在处理事务中,随时根据需要查询。
2-1) 根据仿真系统操作者的输入,实时查询到合适的树状结构,而后从树的最上层开始,一次以上层节点的位置或者方向为依据,配合连杆的长度,计算下层节点的位置或者方向。
以操作A1节点为例:
判断到A1节点被手动操控,那么从库中提取以A1节点为根的树。
A1节点下层由两个节点,A2和B1。其中,B1可以视为一棵子树,更新它的下层节点只要把B1视作是根节点,往下传递信息即可,下面不赘述。这里只以更新A2节点的信息为例,相应算法:
由于A1节点的转动,导致A1角度变化。而A2因为使用刚体连杆和A1连接,并且只能由转动适应A1节点的变化,因此要能够在既有条件下寻找A2节点的最终转动角度。根据A2节点的自由度,它能转动的范围:
[-180, 180] = { x ∈ R, -180 ≤ x ≤ 180 }
由于现在的计算机算力有限,在这个连续区间内存在无数个可能。因此必须简化该计算。
2-2) A1的每次转动,在一个瞬间,必然在一个小的区间之内,而由此引起的A2的转动,同样如此。这个区间可以通过预先定义成:
[-Fraction,Fraction]
而根据A1的转向只有顺时针和逆时针两种可能,结合上面的区间,可以把目标区间分割成两个部分:
[-Fraction, 0)
和
(0, Fraction]
根据A1和A2的连杆,即可以确定一次A1的驱动导致A2转向必定属于上面两个区间中的一个。
2-3) 确定某个区间后,结果依然是连续的。为了满足计算的需要,必须进行离散数据的采样,以当前的位置为P0,每个采样点根据上面的区间和可配置的采样数量C,采样数据集合:
[P0, P1, P2, ...Pn]
其中
Pn = Pn-1 + F/C
这里,F是上面提到的某个区间的范围长度。
3-1) 在所有的采样点中,根据连杆的长度和驱动点的位置,得到最符合要求的一个采样点
该采样点符合:
Min [Len(Psource, P0),Len(Psource, P1),...,Len(Psource, Pn)]
4-1) 有了两个点后,相应的连杆更新数据就有了。
连杆长度:
L = Len(P1, P2)
连杆方向:
D = Normalize(P1 - P2)
5-1) 遍历树状图中每个没有计算过的节点,所有更新过后,系统则变成最新的状态。
Claims (2)
1.一种通用的刚体部件传动仿真方法,其特征是:具体步骤如下:
(1)从仿真目标中,建立所有的运动关联树状数据;其中,每个树结构记录了每个可能的运动产生时该运动的发起者、从动者、关联者;
(2)建立了树状数据库后,在仿真过程中,用户每个会引起系统运动的操作,都能找到一个作用的点,通过该点,能找到库中对应的一个树结构,这里的点就对应到该树的根;
(3)利用找到的树结构,得到根对应的刚体连接到的其他刚体,而这里的其他刚体在树状结构中的数据,又能解析到它影响的其他刚体,这样就建立了一次运动和运动引起的传动模型;
(4)每次用户操作引起刚体运动,在系统中,是固定的转动起始;有了前面的传动模型,根据刚体本身的性质和刚体与刚体间连接杆的不同状态,得到每个刚体能做的运动范围;
一个节点的每次转动,在一个瞬间,必然在一个小的区间之内,而由此引起的它的直接关联者的转动,同样如此;这个区间可以通过预先定义成:
[-Fraction,Fraction] ;
而根据传动节点的转向只有顺时针和逆时针两种可能,结合上面的区间,把目标区间分割成两个部分:
[-Fraction, 0) 和(0, Fraction]
(5)在这个范围之内,利用尽可能多的离散采样数据,在刚体、连杆行程的约束范围之内,快速寻找因传动根运动而引起本身需要运动到达的位置;
采样数据集合:[P0, P1, P2, ...,Pn]
其中Pn = Pn-1 + F/C ;F = Fraction, C 为采样量;
在所有的采样点中,根据连杆的长度和驱动点的位置,得到最符合要求的一个采样点,该最符合要求的一个采样点符合以下条件:
Min [Len(Psource, P0),Len(Psource, P1),...,Len(P, Pn)];
(6)在同一根连杆两头的刚体都计算出最新的位置信息后,通过系统初始的信息,计算出连杆的应该的朝向信息和位置信息;
连杆长度:L = Len(P1, P2)
连杆方向:D = Normalize(P1 - P2);
(7)因为整体系统采用树状结构,上面的所有步骤在整个树上,只要从根部开始,一层层往下传递,那么系统中所有的刚体,就能在不使用任何物理公式和物理引擎的方式下,实际计算出正确的位置和转向信息。
2.根据权利要求1所述的通用的刚体部件传动仿真方法,其特征是:步骤(4)所述刚体本身的性质,指刚体是转臂或刚体是连杆,刚体本身的性质同样记录于树状结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210413860.2A CN114818305B (zh) | 2022-04-20 | 2022-04-20 | 一种通用的刚体部件传动仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210413860.2A CN114818305B (zh) | 2022-04-20 | 2022-04-20 | 一种通用的刚体部件传动仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114818305A CN114818305A (zh) | 2022-07-29 |
CN114818305B true CN114818305B (zh) | 2023-06-16 |
Family
ID=82505594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210413860.2A Active CN114818305B (zh) | 2022-04-20 | 2022-04-20 | 一种通用的刚体部件传动仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114818305B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000017545A1 (de) * | 1998-09-18 | 2000-03-30 | Bernd Reimann | Getriebe mit zwei über ein koppelglied koppelbaren getriebegliedern und verfahren zum koppeln zweier getriebeglieder |
CN111090952A (zh) * | 2019-11-21 | 2020-05-01 | 中汽研汽车检验中心(天津)有限公司 | 一种汽车驱动桥振动仿真分析方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003058907A (ja) * | 2001-08-09 | 2003-02-28 | Univ Tokyo | 木構造リンク系のポーズ及び動作を生成する方法 |
US7333994B2 (en) * | 2003-12-18 | 2008-02-19 | Microsoft Corporation | System and method for database having relational node structure |
US20130317797A1 (en) * | 2012-05-22 | 2013-11-28 | Siemens Product Lifecycle Management Software Inc. | Direct attachments to proxy bodies |
CN111506552B (zh) * | 2019-01-30 | 2023-10-31 | 宁波创元信息科技有限公司 | 一种树状结构的动态数据库设计方法及系统 |
-
2022
- 2022-04-20 CN CN202210413860.2A patent/CN114818305B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000017545A1 (de) * | 1998-09-18 | 2000-03-30 | Bernd Reimann | Getriebe mit zwei über ein koppelglied koppelbaren getriebegliedern und verfahren zum koppeln zweier getriebeglieder |
CN111090952A (zh) * | 2019-11-21 | 2020-05-01 | 中汽研汽车检验中心(天津)有限公司 | 一种汽车驱动桥振动仿真分析方法 |
Non-Patent Citations (1)
Title |
---|
大行程5-DOF微纳传动平台的设计及特性分析;林超;俞松松;程凯;刘刚;余红华;;中国机械工程(第22期);2679-2684 * |
Also Published As
Publication number | Publication date |
---|---|
CN114818305A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022012265A1 (en) | Robot learning from demonstration via meta-imitation learning | |
Collins et al. | Quantifying the reality gap in robotic manipulation tasks | |
CN112440281A (zh) | 一种基于数字孪生的机器人轨迹规划方法 | |
JP3940665B2 (ja) | ハイブリッドシミュレーション装置およびプログラム | |
WO2003046672A3 (en) | 3d virtual manufacturing process | |
Monajjemi et al. | grsim–robocup small size robot soccer simulator | |
CN113011526B (zh) | 基于强化学习和无监督学习的机器人技能学习方法及系统 | |
Li et al. | Manipulation skill acquisition for robotic assembly based on multi-modal information description | |
CN114818305B (zh) | 一种通用的刚体部件传动仿真方法 | |
CN112936287B (zh) | 一种基于动力学迭代学习的柔性机器人控制方法及装置 | |
Chen et al. | Locomotive gait generation for inchworm-like robots using finite state approach | |
CN115990891A (zh) | 一种基于视觉示教和虚实迁移的机器人强化学习装配的方法 | |
CN106346480A (zh) | 一种基于ug和matlab的多自由度注塑机械臂建模方法 | |
Melo et al. | Learning humanoid robot running motions with symmetry incentive through proximal policy optimization | |
Wang et al. | Robotic imitation of human assembly skills using hybrid trajectory and force learning | |
CN114474106A (zh) | 用于控制机器人装置的方法和机器人控制装置 | |
Wang et al. | Hybrid trajectory and force learning of complex assembly tasks: A combined learning framework | |
Chen et al. | Towards generalization and data efficient learning of deep robotic grasping | |
Zhang et al. | Towards scale consistent monocular visual odometry by learning from the virtual world | |
CN104772755B (zh) | 3-prs并联机构速度优化方法 | |
Yang et al. | Adaptive inner-reward shaping in sparse reward games | |
Gong et al. | Robot motion planning with human-like motion patterns based on human arm movement primitive chains | |
Kenney et al. | A software environment for conceptual mechanism design | |
CN106898034A (zh) | 一种目标运动轨迹模拟方法和装置 | |
Pronichev et al. | Interdisciplinary design of mechatronic systems based on the integration of separate software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |