跳到内容
六己段,白皮书
白皮书

如何用六角形六自由操纵物体

肖恩哈特
应用工程师

六角洲是一个非常有用的工具,用于在六个自由中操纵对象。顾名思义,六角形是一个具有六个独立控制的支柱的机器人,这些支柱是协调的,以便在六个自由度中移动物体。Those familiar with robotics will know that an object’s position and orientation in space can be fully defined by three translational positions, X, Y and Z, and three rotational positions, A, B and C. Although various robotic devices, including robotic arms, can move in six degrees of freedom, hexapods uniquely combine flexibility and precision.

六足动物的用例广泛,从检查到传感器校准和光束转向。例如,由于它们在所有三个平移和角度方向上移动的能力,六角形非常适合测试陀螺仪传感器。六角体也是访问坐标测量机(CMM)检查过程中难以到达的区域的绝佳选择。Synchrotrons,如瑞士的大型Hadron Collier,使用光束加速粒子。如本文将演示,六角形(特别是可以使用多个坐标帧编程的那些)是用于指导光束的APT选择。

由于其紧凑的尺寸和精确定位在空间中的物体的能力,六角形非常适合这些类型的应用。通过如此多种用例,Hexapods需要具有灵活的编程方案,使用户能够在多个坐标系之间改变。例如,用户可能希望相对于空间中的固定点或安装在Hexapod上的工具的编程。通常,用户将在程序中使用两次进行编程并交换多次。

Hexapod编程是一个深刻的主题,并充分了解他们如何工作需要在控制理论和运动学方面的专业知识。本文将专注于六角摄氏编程的实际用例,并描述了如何编程六足动物以操纵光束(例如,激光)并准确地放置在空间的兴趣点。

图1:Aerotech Hexgen Hex500-350HL的系统表示。

编程中的第一个且可能是六角形的最重要步骤是定义坐标系。在该光束转向示例中,需要定义三个坐标系:空间中的目标,镜子安装在六角形和六角形本身上[Ref。图1]。在Aerotech Hexapod命名法中,方形目标被定义为“工作”,镜子固定在六角形为“工具”。Hexapod称为“Hexapod”,但它在命令中定义setworldtobase.

图2:坐标系和命名约定。

看着图2,注意世界坐标在六角形基地的中心和六角形底座上的XYZ参考板(以蓝色盘旋)。每个Aerotech Hexapod都有一个预定义的XYZ坐标系。在该特定示例中,Hexapod基坐标已经与世界坐标系对齐。由于Hexapod基本坐标已经与世界坐标对齐,因此发布的命令是:

setworldtobase(0,0,0,0,0)

此命令的参数是(xoffset,yoffset,zoffset,aoffset,boffset,coffset),其中ABC偏移是Bryant角度。借助布利角度,旋转顺序是A,那么B,那么C.当旋转工具和工作坐标时,这将是重要的。

使用放置在目标中心的坐标系,方便编程。该坐标系在空间中固定,并且不相对于六角形移动。这将被定义为工作坐标系。

图3:工作坐标。

要定义工作坐标,请查看SetWorldTowork(x,y,z,a,b,c)命令中的世界坐标系中的相对偏移。世界坐标位于六脚踏底座的中心,如图2所示定向。在该示例中,目标位于沿X轴的1000mm正,y轴0mm,沿z轴为400mm。因此,命令的XYZ部分是(1000,0,400)。

在图2中说明工作坐标也相对于世界坐标旋转。相对于世界坐标,X沿着负y轴,y沿着正z轴,z沿着负x轴。请记住,必须按顺序执行Bryant角度:a,然后b,然后在c.旋转导致y和z轴的旋转,b旋转x和z,c旋转x和y。旋转x和y。世界上工作是90度约为x(旋转a),然后约为-90度(旋转b),并且没有旋转z(旋转c)。图4显示了世界上工作坐标的旋转序列和以下命令的最终结果:

setworldtowork(1000,400,90,-90,0)

图4:世界工作旋转序列的世界。

用于定义的最终坐标系是工具坐标系。刀具坐标用于定义固定到Hexapod平台的工具的位置和方向。与世界和工作坐标不同,该坐标在空间中固定,工具坐标与Hexapod一起移动。这是重要的,因为六角摄藏端的任何旋转都会同时旋转工具坐标系。具有活动工具还意味着Hexapod将对工具坐标进行旋转。这是光束操纵的一个重要特征,因为必须旋转镜子而不会导致线性翻译。该工具,在这种情况下,镜子可以位于任何点,并且六角形将完全旋转其中心。在该示例中,镜子位于Hexapod平台的中心上方50mm(参考图2)。要保持与工具坐标的相同方向作为工作坐标,Settoolpoint命令将需要以下语法:

SetToolpoint(1,“镜像”,0,0,50,90,-90,0)

现在定义了所有坐标系,可以使用工具或工作坐标进行编程Hexapod,它将移动;但是,它可能尚未根据此应用程序的要求移动。因为该示例的目的是将镜子定向以精确地指向目标上的XY位置,所以必须考虑光学配置和XY位置和镜像之间的关系。

当使用反射光学器件时,光束的输出角将等于输入角度。这意味着指挥为六角形的角度将导致光学角度加倍。因此,Hexapod角之间的关系(θ十六进制)和光学角度(θop.) 是:

θ.十六进制=½·θop.

等式1:六角峰角与光学角度的关系。

现在已经建立了角度关系,考虑到哪个轴必须旋转以实现正确的XY位置。请参阅图2并调用Hexapod围绕主动工具(“镜子”)旋转。要在工作坐标框架中沿x轴移动,关于y的命令旋转(θB.) 是必须的。然而,关于Y的正旋转将激光移动到负象限中。因此,使用关于y的负旋转将影响X中的正面移动。图2还示出了关于X的旋转如何(θ一种)将导致在Y中的正面翻译。这种关系在图5中可视化。

图5:使用角度定位光束。

使用已知位置x1,Y.1和目标R的直线距离,可以用ATAN2功能计算角度。召回等式1和光学角度与六角角的关系。除了等式1,θB.与x有反向关系1。因此,最终方程式x1和y1到θ.一种和θ.B.如下面所述:

θ.一种=½·atan2(y1,r)
θ.B.=-½·atan2(x1,r)

等式2:六角形角度与X和Y位置的关系。

这种关系可以在多种方式编程。此示例显示了如何使用宏将X,Y和R输入转换为A和B角度。宏中的输入变量为$ xpos,$ ypos和$半径(米为单位)。然后宏将等式2应用,并在将命令发送到A和B轴之前,从弧度转换为度数。

#define pi 3.14159265359 #define rad2deg 180 / pi #macro commandxyr($ xpos,$ ypos,$半径)$ xangle = -1 * rad2deg * 0.5 * atan2($ xpos,$半径)\ $ yangle = rad2deg * 0.5 * atan2($ ypos,$ ladius)\ g1 a $ yangle b $ xangle \

图6:一个名为'commandxyr'的示例宏。

以下示例程序演示了一系列移动到目标的四个角中的每一个,然后使用宏回到中心command xyr.

DVAR $ Xangle,$ yangle setworldtowork(1000,0,400,90,-90,0)setworldtobase(0,0,0,0,0)settoolpoint(1,“镜子”,0,0,50,90, -90,0)绝对activateol(“镜像”)enablework delwell 0.1 commandxyr(0.25,0.25,1)//移动1 commandxyr(-0.25,0.25,1)//移动2 commandxyr(-0.25,-0.25,1)//移动3 commandxyr(0.25,-0.25,1)//移动4 commandxyr(0,0,1)//移动5个结束程序

图7:示例运动程序。

图8:示例程序移动序列。

使用工作坐标系和绕工具的旋转,可以精确地成角度地在目标上成角度。由于已经建立了所有三个坐标系,因此用户可以以任何方式自由编程。可能有必要在工作坐标中转换光学器件或使用工具坐标以完全对准输入光束和光学器件。此示例只是一个应用程序的方法。每个Hexapod应用程序都具有独特的挑战和考虑因素。灵活的编程方法和在坐标系之间自由移动的能力使得可以解决这些挑战。Aerotech在运动控制中提供专业知识,愿与您合作,解决新万博英超h您的六足应用需求。

将您的精确度和自动化挑战转化为过程成功。