ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化

1、背景描述

现有一台串联力反馈设备,因为杆件自重和末端自重的原因,导致人握住末端操作时,会感觉到很大的重力,不利于用户的交互。需需要对该重力进行平衡,在平衡之前,需要弄清楚这个重力在空间各处的值是多少。想用ADAMS仿真出力反馈设备在空间中若干位置点处重力值得大小。考虑到直接测力不好实现,转为测量末端在重力原因下运动的加速度,从而间接表征重力的大小。

2、遇到的技术难点

由于ADAMS在模型导入进去后,无法像solidworks一样拖动其中一个零件,其它零件跟随移动。导致只能测量导入时所处位姿下,末端运动的加速度数据。如果要测末端出在其它位置点处的运动加速度变化情况,就得重新导入模型,操作十分麻烦。

3、解决办法

可以通过给末端加一个Generation Motion的驱动,使用位置和时间函数来设置驱动,使得末端可以通过运动学仿真经过一段时间到达指定目标点,然后当末端点到达指定位置时,使驱动失效,启动动力学仿真(无驱动下机构自身重力导致的运动),这样就可以实现在不重新导入模型情况下,实现末端在不同点处运动加速度的测量。而且后续还可以跟Matlab联合,通过程序自动输出不同点来进行仿真,而不用认为去更换目标位置点。具体步骤如下:

 

步骤1:选择要测量的位置点,假定要测量(150,-10,0),则给末端加上Generation Motion的驱动。如下图所示,

ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化

步骤2:编写仿真脚本。主要包括三个部分:运动学仿真+驱动失效+动力学仿真。(注:ADAMS里面,有驱动就只能进行运动学仿真,没有驱动才可以进行动力学仿真,不然会报错,这就是为什么需要把驱动给弄失效)

ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化


至此仿真结束,接下来,显示末端运动加速度变化,并导出数据。

ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化ADAMS运动学和动力学混合测量机械臂末端在空间任意位置的重力变化