首页/文章/ 详情

案例:利用Ansys Motion进行机械臂轨迹规划,逆动力学建模方法介绍

8月前浏览1917
当我们为机械臂规划好一条运动轨迹后,驱动各个关节的电机究竟需要输出多大的扭矩?这个问题,是实现机械臂高性能运动控制的核心。逆向动力学 建模,就是通过已知的运动状态(位置、速度、加速度),反向求解出所需关节力矩的过程。今天,我们就来深入探讨如何利用 Ansys Motion 这一多体动力学利器,高效精准地完成这一任务。

1. 什么是逆动力学?

  • 核心概念:逆动力学是“从果推因”的过程。在机器人学中,这个“果”是机械臂末端的期望运动轨迹(包括位置、速度、加速度),而这个“因”则是驱动机械臂各关节运动所需的力矩或力

  • 一个生动的比喻:如果把机械臂的控制比作驾驶汽车。

    • 正运动学:我知道方向盘打了多少,油门踩了多深(输入),我能计算出车子会走出一条什么样的轨迹(输出)。

    • 逆运动学:我知道我要走一条特定的S形弯道(轨迹),我需要反算出在每个时刻方向盘应该转多少度(关节角度)。

    • 逆动力学:在逆运动学的基础上,我还要考虑车的重量、速度变化、地面摩擦,从而计算出我到底需要使多大的劲来转动方向盘,踩多深的油门和刹车(关节力矩)。逆动力学是运动控制的“力量之源”

  • 为什么它至关重要?

    • 实现精确模型预测控制:提前计算所需力矩,实现前馈控制,大幅提升跟踪精度和动态响应。

    • 机械结构优化与选型:基于峰值力矩和连续力矩,为电机、减速器等关键部件的选型提供数据支撑。

    • 能耗评估与热管理:计算功耗,优化能效,设计散热方案。

    • 验证轨迹可行性:判断规划的轨迹是否超出电机扭矩极限,避免失控。

2. 逆动力学的原理与方法

其物理基础是牛顿-欧拉方程或拉格朗日方程,通过建立系统的动力学模型来实现。

  • 牛顿-欧拉法

    • 思想:从机械臂的末端或基座开始,通过力/力矩的递推,计算每个连杆的受力情况。

    • 过程:通常分为两步:

    • 特点:计算效率高,常用于实时控制。

    1. 向外递推:从基座到末端,根据关节加速度计算各连杆的线加速度和角加速度。

    2. 向内递推:从末端到基座,根据连杆的惯性力和外力,计算各关节所需的驱动力矩。

  • 拉格朗日法

    • 思想:基于系统的能量(动能和势能)来建立动力学方程。通过拉格朗日函数对广义坐标和时间的微分,直接得到系统的动力学方程。

    • 特点:推导过程系统化,方程形式规范,但计算量可能较大。

手动推导的挑战:对于复杂的多自由度机械臂,手动推导动力学方程极其繁琐且容易出错。这正是我们引入 Ansys Motion 这类专业软件的原因——它能够自动完成这些复杂的计算。

3. 轨迹规划的分类与方法

轨迹规划是逆动力学分析的前提,它为逆动力学提供了清晰的“输入”。

  • 按空间分类

    • 关节空间轨迹规划:直接在机械臂的关节角度空间中进行规划。方法简单,计算量小,不会发生奇异,但末端执行器的路径不确定。

    • 笛卡尔空间轨迹规划:在末端执行器的操作空间(三维空间)中进行规划。可以精确控制末端的路径,但需要实时进行逆运动学解算,可能遇到奇异性问题。

  • 常见的轨迹规划方法

    • 梯形速度曲线:运动过程分为匀加速、匀速、匀减速三个阶段。轨迹简单,但加速度不连续,可能引起冲击。

    • S型速度曲线:在梯形曲线的基础上,对加速度也进行了平滑处理,使得加加速度(Jerk)连续。运动更加平滑,能有效减少振动和磨损,是现代高性能运动控制的标配。

    • 点到点规划

    • 多项式插值:使用三次、五次或更高次的多项式函数来连接路径点。通过设定边界条件(如起点的位置/速度,终点的位置/速度等),可以生成非常平滑的轨迹。五次多项式可以同时约束位置、速度和加速度。

    • 样条曲线:当路径点较多时,使用样条曲线(如B样条、NURBS)可以生成一条通过所有路径点且高阶连续的光滑轨迹,非常适合复杂的轨迹任务。

分割线------


3.Ansys Motion机械臂轨迹规划与逆向动力学建模流程


好了,前面部分简单介绍了相关机器人轨迹规划,正,逆向动力学的基础概率,这些大家在网上都可以找到更详细的介绍,这里就不多赘述。

下面以6轴机器人为例,介绍如何在WB motion前处理界面中实现机器人末端轨迹规划和逆动力学建模的方法。


3.1 几何模型建立与导入

这里要做轨迹规划,和得到关节驱动数据后的正向动力学分析,在正向求解,这里我分别用STEP函数和LININT插值函数来定义驱动,所以一共拉了三个project。

模型里面包括机器人模型,工作台,被搬运的物体,以及这里定义机器臂末端轨迹路径的三个虚拟球;
3.2 轨迹规划动力学建模
定义机器人连接关系,工作台与移动体接触,三个虚拟球和地面固定等


这里特别说明,我们通过在机械臂末端与虚拟球直接定义bushing force来实现机械臂末端快速移动到第每个虚拟球位置,然后在机械臂直接各旋转关节处定义bushing force并仅设置阻尼值,来控制机械臂达到每个虚拟球的状态。  这里三个虚拟球路径点,所以我们要分别求解三次,来获得机械臂末端到达路径点时,机械臂各关节的角度值,
完成连接设置之后,我们需要在求解之前定义各关节角度测量函数,以便在后处理直接提取机械臂关节角度值随时间变化的曲线图。如下图所示
完成求解后,可以打开motion post,读取机械臂各关节的角度曲线图;
机械臂末端到第一个虚拟球过程中,各关节角度曲线图

机械臂末端到第二个虚拟球过程中,各关节角度曲线图
机械臂末端到第三个虚拟球过程中,各关节角度曲线图

接下来,记录机械臂末端分别在三个虚拟球时候角度值, 如下图所示
4. 机械臂正动力学分析
上一步通过三个虚拟球定义的机械臂末端轨迹,分别得到对应状态下机械臂各关节角度值,现在,可以新建分析,将这些角度值通过函数表达式作为驱动赋予给对应的关节进行驱动。
这里,我仅介绍通过LININT插值函数的形式来进行分析设置,
创建6个spline,分别用来定义各关节角度时程数据
然后,定义对应的LININT函数表达式和joint load,加载到对应的关节。
这里机械爪部分接触和运动副常规设置的细节忽略,大家自行设置即可。

    来源:Ansys Motion学习营
    振动汽车多体动力学电机机器人控制ANSYSANSYS Motion
    著作权归作者所有,欢迎分享,未经许可,不得转载
    首次发布时间:2025-12-05
    最近编辑:8月前
    kenny
    研究生 详情请关注"Ansys Motion学习营"
    获赞 51粉丝 103文章 49课程 0
    点赞
    收藏
    作者推荐

    Ansys motion:PID控制设置教程

    最近工作挺忙,将近一个多月没有更新公 众号了;今天我们主要介绍在motion pre里面通过定义函数表达式,以及PID控制方程等方式来实现系统的PID的控制。(当然了,motion也可以和Simulink或者Ansys Twin Builder等控制软件进行联合仿真来实现多体动力学里面的PID之类的复杂运动控制。感兴趣的朋友可以尝试这个工作流程。)来源:Ansys Motion学习营

    未登录
    还没有评论
    课程
    培训
    服务
    行家
    VIP会员 学习计划 福利任务
    下载APP
    联系我们
    帮助与反馈