群体机器人动力学如何描述机械系统
1. 群体机器人与系统特性
群体机器人具有诸多优势。在群体中,成员们为了共同目标协作,分担工作量。即便有成员缺失,也能通过在其他成员间重新分配工作轻松应对。群体可被视为一个整体,像单个生物一样与人类终端用户交互,解决了控制大量个体的难题。而且,每个个体都有智能的本地控制系统,能通过观察邻居的行为来管理自身决策。为实现理想配置,开发了定位和控制算法,还将其用于描述复杂物体的变形行为。
2. 技术现状
传统上,物质粒子系统遵循牛顿动力学定律随时间演化。但近年来,随着计算机图形学在视频游戏中的发展,人们对研究由粒子相对位置决定运动的系统产生了浓厚兴趣,即基于位置的动力学(PBD)方法。该方法将系统内的内力视为位置约束,粒子间的相互作用用位置关系解释,而外力保持不变。其目标是模拟真实材料的行为,为用户呈现图形上逼真的结果。不过,PBD方法在模拟复杂材料特性和描述异质体间相互作用时存在局限,它并非精确建模物理过程,而是以较低计算成本生成视觉上合理的模拟结果,相比经典有限元方法(FEM)牺牲了一定精度。
PBD方法将问题转化为配置间的几何约束,且计算可在GPU核心上并行化以提高效率。但多数PBD方法隐藏了动力学关系,还需知晓粒子速度,而这是我们试图避免的。我们开发了一个完整、可定制、模块化的算法,能轻松添加新特性,且该算法能自动考虑大变形下的弹性,这在当今研究中愈发重要。
3. 算法介绍
我们主要研究二维连续体,将其划分为有限个粒子,初始时粒子位于晶格节点上,晶格类型从五种布拉维晶格中选择,改变晶格或其他参数在相同初始条件下会产生不同结果。
-
粒子运动规则
:
- 领导者按指定轨迹移动。
- 追随者遵循规则跟随,例如位于其第一邻居确定的重心位置。
- 为避免边缘效应,创建外部点框架,其运动规则通常是跟随最近点的追随者移动。
- 处理断裂时,若点与其他点的距离超过阈值,插入幽灵点。
-
计算公式
:
- 以重心规则为例,粒子j的新x坐标计算公式为:
[x_j(t) = \frac{\sum_{k = 1}^{all neighbours of j} x_k(t)}{N}]
其中N是邻居总数,即晶格配位数$n_c$,y坐标也有类似公式。
- 为获得泊松效应,y坐标计算公式可改为:
[y_j(t) = K * (x_j(t) - x_j(t_0)) * d_a + \frac{\sum_{k = 1}^{all neighbours of j} y_k(t)}{N}]
其中$d_a$是距中心轴距离的函数,K是确定响应力的参数,$x(t_0)$是时间$t_0$时的x坐标。
- 还可使用加权平均,如以欧几里得距离$dis(k, j)$为权重:
[x_j(t) = \frac{\sum_{k = 1}^{all neighbours of j} dis(k, j)x_k(t)}{\sum_{k = 1}^{all neighbours of j} dis(k, j)}]
- 也可迫使粒子振荡,使追随者运动超出重心平衡位置:
[x_j(t) = \frac{\sum_{k = 1}^{all neighbours of j} w(k, j)x_k(t)}{\sum_{k = 1}^{all neighbours of j} w(k, j)} + f_d \left(\frac{\sum_{k = 1}^{all neighbours of j} w(k, j)x_k(t)}{\sum_{k = 1}^{all neighbours of j} w(k, j)} - MT(j, t_0)\right)]
其中$w(k, j)$是权重,$f_d$是反馈因子,$MT(i, t_0)$是点j在$t_0$时的x坐标,用于保留初始配置的记忆。
当领导者移动时,追随者不再处于平衡位置。每个伪时间步,通过依次进行领导者移动、追随者移动、框架移动和断裂管理这四个操作来计算新的晶格配置。该模型呈现出明显的非线性行为,因为领导者运动的组合不会导致系统配置效果的简单叠加。
为处理断裂现象,假设粒子间的相互作用随距离增加而减弱。当点间的欧几里得距离大于固定阈值时,它们失去相互作用,在计算追随者位置时不再考虑这些“远距离”元素。为平衡点位移计算,引入幽灵点,其位置通常选择能恢复晶格原始形状的位置,改变幽灵点位置会在变形配置中产生收缩或松弛等效果,通过改变幽灵点与真实元素的距离,可获得塑性和弹性行为。
以下是算法流程的mermaid流程图:
graph TD;
A[开始] --> B[初始化晶格和粒子];
B --> C[领导者移动];
C --> D[追随者移动];
D --> E[框架移动];
E --> F[断裂管理];
F --> G{是否达到结束条件};
G -- 否 --> C;
G -- 是 --> H[结束];
4. 算法优势总结
| 优势 | 描述 |
|---|---|
| 可定制性 | 算法完整、可定制、模块化,能轻松添加新特性 |
| 考虑弹性 | 自动考虑大变形下的弹性 |
| 计算成本低 | 基于线性操作,计算成本随系统中粒子数量线性增加 |
| 避免速度依赖 | 不依赖粒子速度,避免隐藏内部动力学 |
群体机器人动力学如何描述机械系统
5. 算法的优化与拓展思路
为了让算法更加完善和强大,我们还考虑了一些优化和拓展的方向。
-
变分设置
:未来打算在完全变分的框架下讨论该模型,虽然这并非易事,但会带来明显的方法学优势。基于给定粒子邻居几何质心的算法与局部最小化弹性势能的思想一致,因为质心具有最小化欧几里得空间中一组数据点平方距离之和的特性,所以从变分角度看,该算法是一种自然的离散方法。
-
势场替代
:考虑用势场来替代之前的公式(式1 - 4),势场可以确定粒子的位移并避免碰撞。
-
优化方法
:使用一种能同时最小化晶格中所有粒子间距离平方的优化方法。与之前的方法不同,这种方法可以通过对粒子坐标施加约束来指导优化,从而描述复杂结构,如缩放仪、梁组等。目标函数(距离平方和)旨在模拟弹性系统的势能,当然也可以使用具有其他含义的目标函数。
6. 实例分析
下面通过两个二维问题的实例,展示该工具的强大潜力。
6.1 简单应力测试与断裂
考虑一个方形试样在拉伸试验中的情况。从右上角施加拉力,另一侧固定,x方向速度恒定为0.6长度/时间单位。选用10×10粒子的中心矩形晶格,邻居数量$n_c$为5,考虑一阶梯度相互作用。
-
结果分析
:红色点为领导者,蓝色点为追随者,橙色点为框架。使用重心规则(式1),较少的一阶邻居使变形更平滑,右侧有大量粒子分离,呈现出塑性行为。改变参数可将其转变为脆性变形,未分离的点在失去与领导者的接触后会恢复到原始配置。
-
斜晶格情况
:当考虑斜晶格时,由于领导者相对于框架的不对称性,会观察到有趣的断裂行为。断裂从底部开始,垂直传播,类似于纸张的撕裂。断裂距离为10单位,速度为0.4单位/时间步。
-
优化方法应用
:通过最小化粒子间“距离平方”的目标函数来确定所有粒子的笛卡尔坐标,与使用“重心规则”(式1)的结果相似,但该方法更便于引入粒子间的约束。
以下是不同时间下的变形配置表格:
|时间|变形描述|
| ---- | ---- |
|1|初始状态|
|23|开始出现明显变形|
|33|变形进一步加剧|
|38|部分粒子开始分离|
|40|分离现象更明显|
|63|达到较大变形程度|
6.2 受约束的斜晶格拉伸试验 - 缩放仪结构
研究由不可伸长梁通过销钉连接而成的缩放仪结构。在未变形配置中,梁用黄色突出显示。从右侧施加拉力后,最终配置如图所示,属于不可伸长梁的黄色点之间的约束保持不变。缩放仪结构对于通过局部小线性变形产生高度非线性行为非常重要,因此该描述模型在航空航天环境中使用的结构化材料领域很有用。
7. 结论与未来展望
这种基于群体机器人规则的算法能够以简单的方式描述二维连续介质的变形,并考虑复杂的物理效应。该算法具有高度的可定制性,基于位置动力学,但与计算机图形学中使用的PBD方法不同,它不依赖粒子速度和引入力,而是通过粒子间的相对位置、晶格特性和邻居规则来计算变形配置。
改变一些参数,如晶格相互作用规则、断裂距离、邻居数量(引入一阶和二阶梯度理论),会导致不同的行为。之前的验证表明,该工具的结果与有限元方法(FEM)的结果相符,且由于基于线性操作,算法的计算成本随元素数量线性增加,而FEM的成本通常呈指数级增长。此外,该算法的计算可以在强大显卡的GPU核心之间并行化,节省计算成本。
虽然这不是一种新的物理学,只是对合理行为的图形表示,但结果仍然很有趣,尽管还处于初步阶段。未来,我们将继续探索算法在更多复杂结构和物理场景中的应用,进一步优化算法以提高其准确性和效率。
以下是未来工作的列表:
- 深入研究变分设置下的算法性能。
- 验证势场替代方法的有效性。
- 拓展优化方法在更多复杂结构中的应用。
- 在更多实际场景中测试算法的准确性和可靠性。
graph LR;
A[未来工作] --> B[变分设置研究];
A --> C[势场替代验证];
A --> D[优化方法拓展];
A --> E[实际场景测试];
超级会员免费看
59

被折叠的 条评论
为什么被折叠?



