如何在ADAMS中基于机械手终端位移确定电机驱动函数?

在机械手运动学问题中,经常给定了机械手终端的位移,要求据此确定转动副处电机的驱动函数,以完成指定的机械手轨迹。那么如何根据给定的终端位移而计算转动副处的驱动函数呢?

这属于一个机器人运动学的逆解问题。本文使用ADAMS,对一个简单的机械手,首先给定终端位移,然后据此仿真,得到各转动副的运动方程。然后使用上述运动方程,驱动转动副,以实现机械手的运动。此例最终说明,使用过ADAMS进行机器人运动学的反解是一种合适的选择。

问题描述:

  如图所示的简单机械手,杆件1固定在地面,而杆件2与杆件1,杆件3与杆件2之间通过转动副连接。现在给定了杆件3终端的位移,要使用ADAMS计算出转动副1和转动副2的驱动位移函数。

微信图片_20170410155044.jpg

 

求解步骤:

 1) 创建机构。如下图所示,创建杆1、2、3,杆1与地面之间创建固定副1,杆1、2和杆2、3之间分别创建转动副1、2。

微信图片_20170410155104.jpg

2) 创建一般点驱动.如下图所示,选项为两个物体一个位置,垂直于网格,其中第一个物体选择杆3,第二个物体选择地面,位置选择杆3末端点,在弹出的对话框中选择disp(time)位移-时间函数,如图5所示。

微信图片_20170410155121.png

微信图片_20170410155125.jpg

3)  编辑点驱动函数。接着通过函数编辑器编辑TraX的函数,点击TraX后面的函数浏览器按钮,如图6所示,输入以下函数:

 IF( time-1 :20*time ,20,IF( time-2 :-30*time+50 , -10 , IF( time-3: 20*time-50 ,10, 10 ) ) )

 点击TraY后面的函数浏览器按钮,输入以下函数:

IF( time-1 :20*time ,20,IF(time-2 :10*time+10,30,IF( time-3 :-10*time*time+70 , -20, -20 ) ))

微信图片_20170410155147.jpg

  图6

4)  仿真。计算仿真3秒钟,时间步长设置50,查看结果文件。

        5) 后处理导出转动副的位移曲线。查看结果文件并导出角位移曲线文件,在文件夹中以文本文档的形式保存时间-位移曲线离散点如下图所示。

微信图片_20170410155202.jpg

微信图片_20170410155208.png

 6)  数据处理。将上述两个导出的文件导入到EXCEL中,将单位转换为弧度再保存为TXT文件。现在有了两个TXT文件。则转动副处的位移驱动函数已经处理完毕。下面导入此2曲线以驱动机构,实现与前面的点驱动同样的运动。

========================================================================================

7) 创建样条曲线。进入AVIEW, 导入前面的两个TXT文件以创建样条曲线。

微信图片_20170410155232.jpg

导入成功之后,可以在左边模型树下的Element/Data Element可以看到4条样条曲线,即每一列都被创建一条样条曲线,如下图所示。下面步骤将对样条曲线进行处理。

微信图片_20170410155250.png

微信图片_20170410155254.jpg

 双击SPLINE_1,弹出上图12所示的对话框,其中X栏为Adams内部自动创建的栏,Y为时间轴数据点。接着复制Y栏的全部数据,粘贴到SPLINE_2对话框中的X栏,如下图所示。这里可以查看样条曲线SPLINE_2的图,如图所示。

微信图片_20170410155314.jpg

微信图片_20170410155319.jpg

8)       使用同样的方法,将SPLINE_1中Y栏的数据数据点复制到SPLIE_4。

9)      在转动副1上施加旋转驱动,然后在弹出的对话框中选择Function(time)函数,如图所示。接着通过函数编辑器编 辑函数,点击后面的函数浏览器按钮,输入以下函数:

             CUBSPL(time,0,SPLINE_2, 0),其中函数编辑器如下图所示。

微信图片_20170410155341.jpg

注意:对于CUBSPL( )函数的应用,可以通过查看ADAMS帮助了解该函数格式及应用方法,Adams Basic Package/ Adams/View/ Building Models/ Motion/ Applying Point Motion,该目录下介绍了Point Motion应用方法,找到函数浏览器输入函数的介绍,如图14所示,点击Function Builder,弹出另外一个页面,在该页面找到Cubic Fitting Method (CUBSPL) 函数,帮助里面介绍了该函数的格式,如下:

CUBSPL (First Independent Variable, Second Independent Variable, Spline Name, Derivative Order)

10) 同样的方法在转动副2上创建旋转驱动,其中样条曲线选择SPLINE_4,输入以下函数:

                  CUBSPL(time,0,SPLINE_4, 0),函数创建好之后如下图所示。

微信图片_20170410155400.jpg

 图16

11)计算仿真3秒钟,查看转动副2的角位移曲线,如下图所示,该曲线与图所示的SPLINE_2曲线图一致,即整个过程是正确的。

微信图片_20170410155419.png

  (作者 康少波)

来源:宋博士的博客:(http://blog.sina.com.cn/s/blog_9e19c10b0102wrr6.html)

(3条)
默认 最新
这么牛的教程 居然没人评论和点赞 我来做第一个吧
评论 点赞 1
17年就出来了,刚看到
评论 点赞

查看更多评论 >

点赞 2 评论 3 收藏 1
关注