6轴工业机器人运动仿真之装配序列
近几日有论坛的朋友问我早些时候做的6轴工业机器人仿真的问题,虽然我在论坛里面也讲了仿真的思路,但一些朋友可能还是没有搞明白,原先的模型太抽象,所以重新绘制了6轴机器人的模型,并给大家分享一下用装配序列完成这类仿真的做法,起一个抛砖引玉的作用。本篇所绘制的6轴机器人模型参考原型为图1(网络图),使用软件版本UG10.0。因为是通过装配序列做仿真动画,所以6轴机器人需要以装配体的形式存在,本案例的思路是在一个文件里绘制完整的6轴机器人模型,并按6自由度分割成7部分,分别另存为单独的零件文件,每一部分都只显示所需的装配部件,而将其它分割部分隐藏到实体图层。将基座部分的模型零件作为装配体文件,而将其余6个零件作为组件插入到装配体文件中。图1建模参考图为了简化建模,在草图中绘制图2所示草图(随便给的尺寸),然后用管道命令,得到一个弓形的管道,得到6轴机器人的雏形,再次建立草图,如图3所示,该曲线是为了分割前面的到模型,从而得到我们所需的6轴机器人的各个部分,分割后对个别多分割的部件做并集合操作,对各个部件分割边缘进行倒角,方便仿真的时候进行观察,如图4所示。图2 建模草图图3 分割曲线图4 分割后的各个部件至此我们就得到了6轴机器人所需的7部分零件,将该文件另存为7个文件,本案例将6轴机器人底座部分命名为robot,并作为装配体文件使用,其余6部分分别代表一个自由度的部件,按序号命名为f1,f2,……f6。每个文件都只保留各自自由度部分,将其它部分隐藏至不可见图层。打开底座robot文件,将机器人其余6部分组件添加到文件中,然后分别对每两个部件间添加装配约束。每个回转自由度需要添加两个约束,即接触对齐(自动判断中心/轴)和接触对齐(接触)。添加这两个约束后,该关节处的自由度为1,同理添加其它关节各处,会得到一个6自由度(均为旋转副)的工业机器人装配体。通过移动组件命令,将机器人调整成图5所示的姿态,编辑执行端组件,添加图5所示的示意卡盘(抓物体用)。新建一个与卡盘尺寸相配的块组件(代表物体)并添加到装配体中,位置随机(机器人可及范围内)。图5 6轴机器人和块物体接下来就要进入到装配序列动画部分,点击序列命令,新建序列,插入运动,会弹出录制组件运动的浮动工具栏,如图6所示。图6 录制组件运动的浮动工具栏对6轴机器人的仿真动画都是通过这个工具栏完成的,这里有一个很关键的操作就是要不断的根据需要调整坐标轴的中心,并通过拖拽坐标系达到控制机器人运动到所需的位置。选择一个组件后,工具栏第2 & 3图标高亮显示并可用,其分别代表移动对象和仅移动手柄。选定组件点击第2或3工具图标,会出现一个默认位置的坐标系,如图7所示,选定第2图标情况下,选中组件的所有运动都依该坐标系所在位置为基准进行,平移时,坐标系依附于被选组件一起平移,执行旋转操作时,所选组件的回转中心为该坐标系的原点。选定第3图标的情况下,坐标系移动,而被选组件不动,这样就方便我们根据需要调整坐标系的姿态。图7 选定组件后的默认坐标系位置假如要执行端的卡盘面平行于地面,仅需要旋转执行端后第二个关节,其回转轴平行于默认坐标系的X轴(绝对坐标系的Y轴),选图标3,点击坐标的原点,并捕捉到第二关节的圆心上面,然后在点击图标2,拖动坐标的角度,将执行端的卡盘旋转到所需的位置如图8所示。图8 调整坐标系并调整机器人姿态接下来的动作是要将卡盘移动到块的正上方,切换至俯视图,借助分析选项卡的测量角度工具,测量卡盘与块的夹角,如图9所示。这里我们分3步完成上述动作:
[*]用上述调整坐标系的方法,将坐标系的原点先移动至执行端的中心,然后旋转执行端,使得执行端与块的边平行,见图10。
[*]测量此时卡盘与块沿X向量的相对位移量,并将卡盘沿坐标系X向量移动所测的位移量;
[*]测量卡盘与块沿Y向量的相对位移量,并将卡盘沿坐标系Y向量移动所测位移量,见图11。
图9 测量相对转动的角度图10 调整坐标系原点,并旋转卡盘图11 测量卡盘与块沿X轴和Y轴分量的相对位移量切换至主视图,同样的操作方法,先测量卡盘和块间的距离,然后将卡盘移动至块的上面,如图12所示。图12 移动卡盘至块贴合面接下来,我们需要完成抓取块,并整体移动至所需要的位置,同时选取卡盘和块即完成抓取,此后对物体的运动的操作都是两者一起完成,输送到目的后,再取消块的选择即完成放置动作。仿真动图如图13所示。图13 装配序列仿真动图以上的操作可以归结为三个主要步骤:
[*]调整坐标系原点;
[*]测量要移动的位移量;
[*]移动(旋转)选定组件。
以上就是使用装配序列制作仿真动画的基本步骤。源文件链接:6轴机器人序列仿真密码:m84i
厉害,请问你做这个用的哪种函数step,poly还是AFU里面自建函数 我也喜欢运动仿真 但是仅限于喜欢 谢谢楼主分享 牛啊!!!太历害了!!! 淡水河谷53 发表于 2020-3-1 20:20
厉害,请问你做这个用的哪种函数step,poly还是AFU里面自建函数
哥你想多了,用以上函数、表格函数确实能做,也能完成的很好,但楼主这个拿装配序列做的,没有复合运动(既转又移动),不用编函数了,简单一些。 真厉害,新手表示很羡慕 这个用mcd来做很快就做好了! 支持一下 感觉太难了,不知从何开始学习
页:
[1]
2