This is the second and final article on the tutorial on manipulator differential kinematics. In Part 1, we described a method of modelling kinematics using the elementary transform sequence (ETS), before formulating forward kinematics and the manipulator Jacobian. We then described some basic applications of the manipulator Jacobian including resolved-rate motion control (RRMC), inverse kinematics (IK), and some manipulator performance measures. In this article, we formulate the second-order differential kinematics, leading to a definition of manipulator Hessian. We then describe the differential kinematics' analytical forms, which are essential to dynamics applications. Subsequently, we provide a general formula for higher-order derivatives. The first application we consider is advanced velocity control. In this section, we extend resolved-rate motion control to perform sub-tasks while still achieving the goal before redefining the algorithm as a quadratic program to enable greater flexibility and additional constraints. We then take another look at numerical inverse kinematics with an emphasis on adding constraints. Finally, we analyse how the manipulator Hessian can help to escape singularities. We have provided Jupyter Notebooks to accompany each section within this tutorial. The Notebooks are written in Python code and use the Robotics Toolbox for Python, and the Swift Simulator to provide examples and implementations of algorithms. While not absolutely essential, for the most engaging and informative experience, we recommend working through the Jupyter Notebooks while reading this article. The Notebooks and setup instructions can be accessed at https://github.com/jhavl/dkt.
翻译:这是关于机械臂微分运动学教程的第二篇也是最后一篇文章。在第一部分中,我们描述了使用基本变换序列(ETS)进行运动学建模的方法,随后阐述了正向运动学和机械臂雅可比矩阵的推导。我们还介绍了机械臂雅可比矩阵的一些基本应用,包括解析速率运动控制(RRMC)、逆运动学(IK)以及若干机械臂性能指标。本文中,我们推导了二阶微分运动学,由此定义了机械臂海森矩阵。随后阐述了微分运动学的解析形式——这对动力学应用至关重要。接着给出高阶导数的通用公式。我们考虑的首个应用是高级速度控制。在该节中,我们扩展了解析速率运动控制以在达成目标的同时执行子任务,并将该算法重新定义为二次规划以实现更大灵活性和更多约束条件。随后我们从增加约束的角度重新审视数值逆运动学问题。最后,分析了机械臂海森矩阵如何帮助规避奇异点。我们为本教程每节内容均提供了配套的Jupyter Notebook。这些Notebook使用Python代码编写,利用Python机器人工具箱和Swift模拟器提供算法示例与实现。虽然并非绝对必要,但为了获得最佳的信息获取体验,我们建议在阅读本文时同步操作Jupyter Notebook。Notebook及配置说明可通过https://github.com/jhavl/dkt获取。