1、背景描述
现有一台串联力反馈设备,因为杆件自重和末端自重的原因,导致人握住末端操作时,会感觉到很大的重力,不利于用户的交互。需需要对该重力进行平衡,在平衡之前,需要弄清楚这个重力在空间各处的值是多少。想用ADAMS仿真出力反馈设备在空间中若干位置点处重力值得大小。考虑到直接测力不好实现,转为测量末端在重力原因下运动的加速度,从而间接表征重力的大小。
2、遇到的技术难点
由于ADAMS在模型导入进去后,无法像solidworks一样拖动其中一个零件,其它零件跟随移动。导致只能测量导入时所处位姿下,末端运动的加速度数据。如果要测末端出在其它位置点处的运动加速度变化情况,就得重新导入模型,操作十分麻烦。
3、解决办法
可以通过给末端加一个Generation Motion的驱动,使用位置和时间函数来设置驱动,使得末端可以通过运动学仿真经过一段时间到达指定目标点,然后当末端点到达指定位置时,使驱动失效,启动动力学仿真(无驱动下机构自身重力导致的运动),这样就可以实现在不重新导入模型情况下,实现末端在不同点处运动加速度的测量。而且后续还可以跟Matlab联合,通过程序自动输出不同点来进行仿真,而不用认为去更换目标位置点。具体步骤如下:
步骤1:选择要测量的位置点,假定要测量(150,-10,0),则给末端加上Generation Motion的驱动。如下图所示,
步骤2:编写仿真脚本。主要包括三个部分:运动学仿真+驱动失效+动力学仿真。(注:ADAMS里面,有驱动就只能进行运动学仿真,没有驱动才可以进行动力学仿真,不然会报错,这就是为什么需要把驱动给弄失效)
至此仿真结束,接下来,显示末端运动加速度变化,并导出数据。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删