Skip to content

Commit b800159

Browse files
committed
通过检查解决静态优化问题
1 parent 5ec429a commit b800159

2 files changed

Lines changed: 50 additions & 39 deletions

File tree

chap0/preface.tex

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
\midrule
1919
adenosine triphosphate (ATP) && 三磷酸腺苷 \\
2020

21+
\midrule
22+
Carmichael Ong && 卡迈克尔$\cdot$翁 \\
23+
2124
\midrule
2225
center of pressure (COP) && 压力中心 \\
2326

@@ -30,6 +33,9 @@
3033
\midrule
3134
cross-bridge cycle && 横桥循环 \\
3235

36+
\midrule
37+
Dick Fosbury && 迪克$\cdot$福斯贝里 \\
38+
3339
\midrule
3440
dorsiflexion && 背屈 \\
3541

@@ -39,6 +45,9 @@
3945
\midrule
4046
foot progression angle && 足前进角 \\
4147

48+
\midrule
49+
Fregly && 弗雷格利 \\
50+
4251
\midrule
4352
gastrocnemius && \href{https://baike.baidu.com/item/%E8%85%93%E8%82%A0%E8%82%8C}{腓肠肌} \\
4453

chap9/chap9.tex

Lines changed: 41 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ \section{生物和数值优化器}
139139

140140

141141
现在,我们将转向讨论解决肌肉冗余问题的策略。
142-
为简单起见,我们将在某一时刻寻求解,假设所需的净关节矩已知,且对象静止不动。
142+
为简单起见,我们将在某一时刻寻求解,假设所需的净关节力矩已知,且对象静止不动。
143143
我们有时将此类问题称为“静态”优化问题,因为其中忽略了一些与时间相关的因素。
144144
在下一节中,我们将构建一个优化问题陈述,并通过观察求解一个简单的肌肉冗余问题,以建立对解空间的直觉。
145145
在接下来的章节中,我们将讨论一些能够解决现实世界中遇到的非平凡优化问题的数值算法。
@@ -161,7 +161,7 @@ \section{通过检查解决静态优化问题}
161161
\includegraphics[width=0.7\linewidth]{chap9/9_2}
162162
\caption{小腿和足部的肌肉骨骼模型,包含关键的跖屈肌和背屈肌。
163163
测量的踝关节力矩可能由多种肌肉力量组合产生。
164-
括号中的值是瞬时最大力(假设速度为零且肌腱刚性)以及所示姿势对应的踝关节力臂。 \label{fig:9_2}}
164+
括号中的值是瞬时最大力(假设速度为 0 且肌腱刚性)以及所示姿势对应的踝关节力臂。 \label{fig:9_2}}
165165
\end{figure}
166166

167167

@@ -277,22 +277,22 @@ \section{解决静态优化问题的局部方法}
277277
\begin{figure}[!htb]
278278
\centering
279279
\includegraphics[width=1.0\linewidth]{chap9/9_6}
280-
\caption{行走时腓肠肌外侧肌(左)和比目鱼肌(右)的\textit{肌电图}信号。
280+
\caption{走路时腓肠肌外侧肌(左)和比目鱼肌(右)的\textit{肌电图}信号。
281281
这两块肌肉都参与踝关节跖屈力矩的产生\cite{bartlett2008changing,arnold2013muscle}。 \label{fig:9_6}}
282282
\end{figure}
283283

284284

285285
局部方法寻求其邻域内的最优解;然而,这样的局部最小值可能有很多。
286286
例如,如图~\ref{fig:9_4}~所示,梯度下降算法找到的解取决于初始猜测。
287-
我们或许可以尝试用不同的初始猜测运行该算法几次,但这仍然可能错过更好的(甚至可能好得多的)解
288-
记住迪克$\cdot$福斯贝里(Dick Fosbury)的名言
289-
,尽管局部方法可能很快,但全局方法可能会产生更好的解。
287+
我们或许可以尝试用不同的初始猜测运行该算法几次,但这仍然可能错过更好的解(甚至可能好得多的解)
288+
想想\textit{迪克$\cdot$福斯贝里}的例子
289+
因此,尽管局部方法可能很快,但全局方法可能会产生更好的解。
290290

291291

292292

293293
\section{解决静态优化问题的全局方法}
294294

295-
全局优化方法通过考虑先前猜测值附近以外的候选解,避免“”入局部极小值。
295+
全局优化方法通过考虑先前猜测值附近以外的候选解,避免“”入局部极小值。
296296
遗传算法就是这样一种算法,其中候选解的种群通过模拟自然过程从一个阶段(一代)进化到下一个阶段。
297297
这种优化策略背后的理念是更详细地探索解空间中已知有利的区域,同时也探索解空间中可能包含更优解的未探索区域。
298298

@@ -320,14 +320,14 @@ \section{解决静态优化问题的全局方法}
320320

321321

322322

323-
\section{行走和跑步时的肌肉力量}
323+
\section{走路和跑步时的肌肉力量}
324324

325325
有了这些优化方法,我们现在能够解决生物力学中最重要的问题之一:
326-
确定负责产生行走和跑步等动作的肌肉力量
326+
确定负责产生走路和跑步等动作的肌肉力量
327327
这被称为肌肉冗余(或力量共享)问题。
328328

329329

330-
当我们跑步时,在站立阶段的第一阶段,我们的肌肉会产生髋部伸展、膝部伸展和踝部跖屈的力矩。
330+
当我们跑步时,在站立的第一阶段,我们的肌肉会产生髋部伸展、膝部伸展和踝部跖屈的力矩。
331331
假设我们希望计算在垂直地面反作用力达到峰值时产生的肌肉力(图~\ref{fig:9_8})。
332332
使用图~\ref{fig:9_9}~中给出的下肢模型和数据,以及公式~\ref{eq:9_2}~中给出的目标函数来最小化肌肉激活平方和,我们可以将优化问题表达如下:
333333

@@ -397,24 +397,24 @@ \section{行走和跑步时的肌肉力量}
397397
\end{table}
398398

399399

400-
通过在步态周期中均匀间隔的时刻重复此分析,我们可以估算出每块肌肉在行走和跑步过程中产生的力量
401-
图~\ref{fig:9_10}~和图~\ref{fig:9_11}~显示了行走状态下的肌肉力量及其产生的关节力矩
400+
通过在步态周期中均匀间隔的时刻重复此分析,我们可以估算出每块肌肉在走路和跑步过程中产生的力量
401+
图~\ref{fig:9_10}~和图~\ref{fig:9_11}~显示了走路状态下的肌肉力量及其产生的关节力矩
402402
图~\ref{fig:9_12}~和图~\ref{fig:9_13}~显示了跑步状态下的肌肉力量及其产生的关节力矩。
403-
正如预期的那样,计算出的跑步状态下的肌肉力量高于行走状态下的肌肉力量
403+
正如预期的那样,计算出的跑步状态下的肌肉力量高于走路状态下的肌肉力量
404404
还要注意的是,由于站立阶段较短,跑步状态下肌肉力量在步态周期中更早达到峰值,这也是我们预期的。
405405

406406

407407
\begin{figure}[!htb]
408408
\centering
409409
\includegraphics[width=1.0\linewidth]{chap9/9_10}
410-
\caption{使用 OpenSim 中的静态优化计算了一名受试者(男性,67.1 公斤)以自由选择的速度(1.67 米/秒)行走时的肌肉力量\cite{dembia2017simulating}。 \label{fig:9_10}}
410+
\caption{使用 OpenSim 中的静态优化计算了一名受试者(男性,67.1 公斤)以自由选择的速度(1.67 米/秒)走路时的肌肉力量\cite{dembia2017simulating}。 \label{fig:9_10}}
411411
\end{figure}
412412

413413

414414
\begin{figure}[!htb]
415415
\centering
416416
\includegraphics[width=0.65\linewidth]{chap9/9_11}
417-
\caption{如图~\ref{fig:9_10}~所示,以 1.67 m/s 的速度行走时,肌肉力量产生的矢状面关节力矩。 \label{fig:9_11}}
417+
\caption{如图~\ref{fig:9_10}~所示,以 1.67 m/s 的速度走路时,肌肉力量产生的矢状面关节力矩。 \label{fig:9_11}}
418418
\end{figure}
419419

420420

@@ -481,7 +481,7 @@ \section{估算关节负荷}
481481

482482
请注意,肌肉力量($F^\text{GAS}$$F^\text{SOL}$)对关节压缩力($F_y$)贡献巨大,约占总压缩力的 80\%
483483
本例中,跑步时的总压缩力超过 10 个体重,但在动态性较低的活动中也测量到了相当大的压缩负荷。
484-
仪器化的人工关节记录到,行走时髋部峰值接触力约为 2.5 个体重,单腿站立不稳定时髋部峰值接触力超过 5 个体重。
484+
仪器化的人工关节记录到,走路时髋部峰值接触力约为 2.5 个体重,单腿站立不稳定时髋部峰值接触力超过 5 个体重。
485485
即使在静止的单腿站立姿势下,由于肌肉产生的力量,髋部接触力也超过 2 个体重。
486486
因此,如果我们想要评估关节内的力量,计算肌肉力量至关重要。
487487

@@ -497,23 +497,23 @@ \section{动力学优化}
497497
静态优化可能不足以完全理解投掷、跳跃和短跑等动作中的肌肉协调性,因为准确预测某一时间点的肌肉激活可能需要我们考虑整个动作。
498498

499499

500-
我们在前几节中做出的第二个关键假设是运动学和净关节矩是先验已知的。
500+
我们在前几节中做出的第二个关键假设是运动学和净关节矩是先验已知的。
501501
例如,如果我们正在研究一个有运动捕捉数据的运动,我们可以使用逆运动学和逆动力学模拟来计算估算关节运动和矩。
502-
然而,合适的实验数据可能无法获得,并且难以(或无法)收集,例如在研究高受伤率的活动或霸王龙的步态时
502+
然而,例如在研究高受伤率的活动或霸王龙的步态时,合适的实验数据可能无法获得,并且难以(或无法)收集。
503503
此外,我们可能特别希望预测手术、植入物、假肢或外骨骼带来的未观察到的运动适应性,或者发现新的运动策略,以最大限度地提高运动表现或最大限度地减少关节负荷。
504-
我们可以将动态优化用于这些任务
504+
我们可以将动力学优化用于这些任务
505505

506506

507507

508-
在动态优化中,我们使用肌肉骨骼动力学模型来确定肌肉协调性及其相应的运动,从而优化运动任务的数学描述。
509-
动态优化通常包括以下步骤:选择候选解,运行正向动态模拟,评估候选解的性能,并不断迭代直至满足某个停止标准(例如,达到目标函数值或已考虑预定数量的候选解;图~\ref{fig:9_15})。
510-
设计变量可能包括肌肉骨骼参数例如跟腱长度可穿戴设备的参数例如运动鞋的刚度或每块​​肌肉随时间的活动情况。
508+
在动力学优化中,我们使用肌肉骨骼动力学模型来确定肌肉协调性及其相应的运动,从而优化运动任务的数学描述。
509+
动力学优化通常包括以下步骤:选择候选解,运行正向动态模拟,评估候选解的性能,并不断迭代直至满足某个停止标准(例如,达到目标函数值或已考虑预定数量的候选解;图~\ref{fig:9_15})。
510+
设计变量可能包括肌肉骨骼参数例如跟腱长度)、可穿戴设备的参数例如运动鞋的刚度)、或每块​​肌肉随时间的活动情况。
511511

512512

513513
\begin{figure}[!htb]
514514
\centering
515515
\includegraphics[width=0.6\linewidth]{chap9/9_15}
516-
\caption{动态优化的流程如下
516+
\caption{动力学优化的流程如下
517517
选择候选解决方案,运行正向动态模拟,评估候选解决方案的性能,并不断迭代直至满足停止条件。
518518
候选解决方案可以由任何优化器选择,可以调整模型中的任何参数,并可以根据任何性能指标进行评估。 \label{fig:9_15}}
519519
\end{figure}
@@ -531,20 +531,21 @@ \section{动力学优化}
531531
在上面的短跑示例中,我们只是试图最小化持续时间。
532532
然而,对于像步行到公交车站或开门这样的任务,更合适的目标函数是将最小化持续时间与最小化总能量消耗结合起来,或许可以用反映活动紧急程度的权重来平衡这些项。
533533
分析其他任务可能需要考虑安全性、舒适性、疲劳度和稳定性等因素的附加项。
534-
需要注意的是,优化器非常“聪明”,它会利用优化问题中任何能够带来更优目标函数值的方面,而不管解决方案的主观性如何——所以要谨慎对待你的期望!我曾经定义过一个目标函数,用于最小化运输成本,而不设置最小行驶距离。
534+
需要注意的是,优化器非常“聪明”,它会利用优化问题中任何能够带来更优目标函数值的方面,而不管解决方案的主观性如何(所以要谨慎对待你的期望!)
535+
我曾经定义过一个目标函数,用于最小化运输成本,而不设置最小行驶距离。
535536
优化器明智地选择直接向前倒下,这消耗的能量很少,但这并不是我想要的。
536-
定义优化问题可能是一个迭代过程,其中优化器返回的解用于识别从研究问题到目标函数和约束条件的转换过程中的错误
537+
定义优化问题可能是一个迭代过程,其中优化器返回的解用于识别从研究问题到目标函数和约束条件转换过程中的错误
537538

538539

539540
与任何研究一样,验证优化结果至关重要。
540541
如图~\ref{fig:9_6}~所示,计算出的肌肉活动时序可以与实验\textit{肌电图}时序进行比较。
541542
实验运动学、地面反作用力、关节负荷(例如,来自器械关节置换)、间接量热法以及针对相同或类似活动的其他测量方法也可能有用。
542-
动态优化的稳健且经过适当验证的结果可以深入了解运动和肌肉协调性
543-
例如,B. J. Fregly 利用优化方法发现了一种新的行走方式,可以减轻膝盖的负荷\cite{fregly2007design}。
544-
他学会了以这种步态行走,因此,当他的孩子们去迪士尼乐园时,他能够跟上他们的步伐。
543+
动力学优化的稳健且经过适当验证的结果可以深入了解运动和肌肉协调性
544+
例如,\textit{弗雷格利}利用优化方法发现了一种新的走路方式,可以减轻膝盖的负荷\cite{fregly2007design}。
545+
他学会了以这种步态走路,因此,当他的孩子们去迪士尼乐园时,他能够跟上他们的步伐。
545546

546547

547-
以背越式跳高为例,动态优化可能会发现,跳高运动员在离地时应该抬起双臂,以最大化其重心在起跳时的垂直速度。
548+
以背越式跳高为例,动力学优化可能会发现,跳高运动员在离地时应该抬起双臂,以最大化其重心在起跳时的垂直速度。
548549
同样,在起跳过程中,运动员应该尽可能长时间地与地面接触,以最大化地面反作用力的冲量。
549550
这些洞见是通过背越式跳高首次亮相以来50年来运动员和教练员的经验积累而获得的。
550551
相比之下,在下一节中,我们将描述一个通过计算机建模和数值优化更快地获得此类洞见的示例。
@@ -555,23 +556,24 @@ \section{动力学优化}
555556

556557
矫形器、假肢和外骨骼等辅助设备有可能通过恢复受伤后的活动能力和提高运动表现来改善人类生活。
557558
然而,我们尚未完全了解辅助设备在我们执行复杂任务时如何与肌肉协调相互作用。
558-
我的学生卡迈克尔$\cdot$ (Carmichael Ong) 着手研究模拟辅助设备如何提高立定跳远的表现。
559+
\textit{卡迈克尔$\cdot$}着手研究模拟辅助设备如何提高立定跳远的表现。
559560
这项任务需要精确的肌肉协调,并且目标明确,因此非常适合进行优化。
560561

561562

562-
Carmichael 使用了一个平面的五段模型(图~\ref{fig:9_16})。
563+
\textit{卡迈克尔}使用了一个平面的五段模型(图~\ref{fig:9_16})。
563564
位于踝关节、膝关节、髋关节和肩关节的生理扭矩执行器代表了穿过每个关节的所有肌肉的联合动作,并包含了生物肌肉中依赖于长度和速度的力产生能力。
564-
每个扭矩执行器的活动用一个分段线性函数描述,其节点是动态优化问题中的设计变量。
565-
该问题中的目标函数最大化跳跃距离。Carmichael 使用了一个平面的五段模型(图~\ref{fig:9_16})。
565+
每个扭矩执行器的活动用一个分段线性函数描述,其节点是动力学优化问题中的设计变量。
566+
该问题中的目标函数最大化跳跃距离。
567+
\textit{卡迈克尔}使用了一个平面的五段模型(图~\ref{fig:9_16})。
566568
位于踝关节、膝关节、髋关节和肩关节的生理扭矩执行器代表了穿过每个关节的所有肌肉的联合动作,并包含了生物肌肉中依赖于长度和速度的力产生能力。
567-
每个扭矩执行器的活动用一个分段线性函数描述,其节点是动态优化问题中的设计变量
569+
每个扭矩执行器的活动用一个分段线性函数描述,其节点是动力学优化问题中的设计变量
568570
该问题中的目标函数最大化跳跃距离(通过最小化其负值),同时避免不良结果:
569571
%
570572
\begin{figure}[!htb]
571573
\centering
572574
\includegraphics[width=0.8\linewidth]{chap9/9_16}
573575
\caption{一个包含 5 个段和 7 个自由度的平面模型,用于研究立定跳远过程中的肌肉协调性。
574-
采用动态优化方法预测踝关节、膝关节、髋关节和肩关节肌肉的协调性,以最大化跳跃距离\cite{ong2015simulation}。 \label{fig:9_16}}
576+
采用动力学优化方法预测踝关节、膝关节、髋关节和肩关节肌肉的协调性,以最大化跳跃距离\cite{ong2015simulation}。 \label{fig:9_16}}
575577
\end{figure}
576578

577579

@@ -591,7 +593,7 @@ \section{动力学优化}
591593
确定目标函数中的适当权重通常是一个迭代过程,需要手动调整或使用其他优化器(有时称为“元优化”)。
592594

593595

594-
在本研究中,Carmichael 首先使用\textit{协方差矩阵自适应调整的进化策略}算法在无人协助的情况下优化模型的跳跃距离。
596+
在本研究中,\textit{卡迈克尔}首先使用\textit{协方差矩阵自适应调整的进化策略}算法在无人协助的情况下优化模型的跳跃距离。
595597
初始优化问题生成了立定跳远模型,该模型捕捉了人类跳跃的显著运动学和动力学特征,包括反向运动、起跳运动学、地面反作用力和关节力矩。
596598
随后,他在臀部、膝盖和脚踝处放置了无质量旋转弹簧,增强了模型的可操作性(图~\ref{fig:9_17})。
597599
当然,这样的装置并不存在,但模拟使我们能够以任何我们想要的方式调整施加的扭矩,这有助于我们了解它们如何影响运动表现。
@@ -604,8 +606,8 @@ \section{动力学优化}
604606
\end{figure}
605607

606608

607-
在增强场景中,Carmichael 同时优化了每个弹簧的刚度和平衡位置以及其他设计变量。
608-
优化后的辅助装置将跳跃距离增加了1米多,从2.27米增加到3.32米
609+
在增强场景中,\textit{卡迈克尔}同时优化了每个弹簧的刚度和平衡位置以及其他设计变量。
610+
优化后的辅助装置将跳跃距离增加了 1 米多,从 2.27 米增加到 3.32 米
609611
令人兴奋的是,该算法能够协同优化装置参数和人体协调性,使两者的综合性能实现了最长的跳跃距离。
610-
这项研究展示了动态优化如何洞察人体运动,并补充辅助装置设计的实验方法。
612+
这项研究展示了动力学优化如何洞察人体运动,并补充辅助装置设计的实验方法。
611613
未来,类似的预测工具或可用于为个体患者定制手术、植入物、假体或辅助装置,或许有助于确定哪种治疗方法能够带来最佳疗效。

0 commit comments

Comments
 (0)