Motor primitives are fundamental building blocks of a controller which enable dynamic robot behavior with minimal high-level intervention. By treating motor primitives as basic "modules," different modules can be sequenced or superimposed to generate a rich repertoire of motor behavior. In robotics, two distinct approaches have been proposed: Dynamic Movement Primitives (DMPs) and Elementary Dynamic Actions (EDAs). While both approaches instantiate similar ideas, significant differences also exist. This paper attempts to clarify the distinction and provide a unifying view by delineating the similarities and differences between DMPs and EDAs. We provide eight robot control examples, including sequencing or superimposing movements, managing kinematic redundancy and singularity, obstacle avoidance, and managing physical interaction. We show that the two approaches clearly diverge in their implementation. We also discuss how DMPs and EDAs might be combined to get the best of both approaches. With this detailed comparison, we enable researchers to make informed decisions to select the most suitable approach for specific robot tasks and applications.
翻译:运动基元是控制器的基础构建模块,能够以最少的高层干预实现动态机器人行为。通过将运动基元视为基本"模块",可对不同的模块进行排序或叠加,从而产生丰富的运动行为集合。在机器人学领域,目前存在两种不同的方法:动态运动基元(DMPs)和基本动态动作(EDAs)。尽管这两种方法体现了相似的思想,但两者之间也存在显著差异。本文试图通过阐述DMPs与EDAs之间的异同,阐明两者的区别并提供统一视角。我们提供了八个机器人控制实例,包括运动序列化与叠加、运动学冗余与奇异性管理、避障以及物理交互管理。研究表明,这两种方法在实现上存在明显分歧。我们还探讨了如何结合DMPs与EDAs以融合两种方法的优势。通过这一详细比较,我们帮助研究人员能够做出明智选择,为特定机器人任务和应用选取最合适的方法。