首页 > 解决方案 > 航空航天 > MapleSim_符 MapleSim_符号方式求解Stewart平台的逆运动学问题

1.背景
  在多体机械中,平台的运动学分析(运动学问题)可以分为两类:正向运动学问题和逆向运动学问题。所谓正向运动学是指研究机构中一点(例如,机械手臂上终端操作机构或由并联机械操纵器支持的平台的中心)在空间中的位置随时间的演进而作的改变,其运动轨迹通过计算运动副运动的函数得到。对于逆运动学问题,情况正好相反:目的是计算运动副的运动从而实现预定的终端操作机构的轨迹。

  一般而言,如果给出机构的几何体,可以很快用数值和符号方式求解向前运动学问题。与此相反,求解逆向运动学问题通常需要求解包含三角函数的非线性方程组,其中经常会遇到的问题包括:奇异点、多解(非唯一解,例如机械臂的elbow up和elbow down配置),无解(例如指定的轨迹超越了机构的工作空间)等,使得求解过程复杂化。对于并联机械臂,逆向运动学问题更加复杂。

  由于逆向运动学问题的复杂性,人们通常使用数值迭代的方式求解,所需较长的计算时间。使用数值计算方法通常会丢失机构的运动信息。在本文中,我们将描述如何在MapleSim中获得Stewart-Gough并联机械臂的逆向运动学的符号解。我们将特别描述如何使用MapleSim自动获取约束方程的Jacobian符号矩阵,让我们可以检查和研究底层的矩阵结构,从而得到符号解。得到逆向运动学符号解的一个重要优势是可以自动生成符号解的C代码,嵌入到实时硬件在环应用中。与之相反,如果使用数值迭代方法,那么难以将结果用于到实时应用中。

图1:MapleSim中的Stewart-Gough平台


图2:Stewart-Gough平台支脚模型的结构

2.解决方案
  Stewart-Gough平台在很多场合有应用,包括自动检测、机器人技术、人造卫星、望远镜定位以及机械仿真等。Stewart-Gough平台通常是一个6自由度的并联机构支脚,见图1,其运动通过6个移动副,每个支脚的一端通过universal joint(两个串联的旋转副)固定,另一端通过球绞(spherical (ball) joint)固定。每个平台支脚由5个参数定义,定义两个固定节点的x-y位移(Xg, Yg, Xp, Yp)和基座旋转角度(Ang)。在这个案例中逆运动学问题是要发现6个移动副的长度,让支持的平台产生期望的运动轨迹,这里我们计算得到了符号解,也就是得到移动副长度的表达式(期望位置的函数)。


图3:平台支脚的参数


图4:Multibody Analysis Template


图5:Multibody System Information

  通过Maple中的符号计算引擎,我们可以得到平台支脚长度的符号解,表示为平台位置 (X, Y, Z) 和支脚的参数 (Xg, Yg, Xp, Ang) 的函数(作为输入信号):s = f (X, Y, Z, Xg, Yg, Xp, Yp, Ang)。



图6:平台支脚长度的符号解


图7:平台支脚长度的符号解自动封装并转换为MapleSim自定义元件


图8:控制器平台支脚长度的符号解自动封装并转换为MapleSim自定义元件



图9:逆运动学的解


图10:仿真结果的动画
 
  总之,我们利用了MapleSim和Maple中可以访问底层符号控制方程的能力,通过使用Jacobian矩阵的符号结构有效解决了逆运动学问题。需要说明的是,相同的问题也可以在MapleSim中使用数值方法求解(仿真结果见图9),仅需要使用预定义平移运动驱动元件,并对平台定义强制运动。然而,这种单纯的数值求解与本文中描述的符号解相比明显缺乏灵活性。使用得到的符号解,以及利用MapleSim中的code generation功能,我们可以把代码嵌入到其他平台中,无需迭代求解器的情况下实现实时应用。