一种模块化机械臂的快速通用运动学建模方法与流程

文档序号:11830760阅读:310来源:国知局
一种模块化机械臂的快速通用运动学建模方法与流程
本发明涉及研究对象数学模型构建技术及自动化仿真控制技术,尤其涉及一种模块化机械臂的运动学模型的快速通用构建及控制方法。
背景技术
:随着机器人技术的不断深入发展和机器人服务领域的不断拓宽,机器人技术愈加广泛的应用于人们的日常生活工作当中,并凭借其智能性、实时性、综合性及交互性辅助人类完成多种类型工作,形成了包括工业机器人、空间机器人、医疗机器人等多种类型机器人。因此,针对机器人技术人们展开了广泛深入的研究。在目前,利用机器人实验仿真平台来研究机器人对象的运动学、动力学性能以及其他特殊辅助性能,已经成为机器人开发研究过程中必不可少的方法之一。由于机器人实验仿真平台开发成本较高,如果不能减少仿真平台的二次开发代价,降低机器人仿真平台的开发成本,将造成大量资源浪费于重复性的实验仿真平台再开发上。目前,开发面向通用机械臂对象的实验仿真平台研究已广泛开展。而现有少数通用平台的自动建模方法过于复杂,难以完成快速建模工作。因此,研究易于使用的通用性自动建模方法,并以此开发基于模块化组件的机器人通用仿真平台,对于加快机器人研究开发速度,以及减少资源投入是具有重要现实意义的。技术实现要素:有鉴于此,本发明实施例提供了一种易于使用的通用性自动建模方法,以实现基于模块化组件的机械臂的快速建模。本发明实施例提供了一种方法,包括:一种模块化机械臂的快速通用运动学建模方法,其特征在于,所述方法包括:依据模块化机械臂组件的结构尺寸,获得所需机械臂组件节点参数值;依据模块化机械臂装配构型,获得机械臂搭建参数值;依据机械臂组件节点参数值及搭建参数值,利用通用建模方法,获得机械臂运动学坐标系转换矩阵,完成运动学建模。上述方法中,所述模块化机械臂组件的节点参数值至少包括:组件节点类型,分为基座节点、连接件节点、转动关节节点、移动关节节点以及末端执行器节点;单元信息组合,单元信息组合是一个单元信息的集合,它记录节点内所包含的各个子单元信息。单元是指一个不存在自由度的无相对运动关系的单独部件。根据节点类型,转动和移动关节节点包含两组单元信息,其余节点类型仅包含一组单元信息;单元间安装参数,如果某一个节点包含两个单元,则单元间安装参数负责记录两个单元间的安装角度值或偏移值。除了基座节点内单元的基系连接端口通过设定安装位姿明确安装关系,其余类型节点内单元连接端口的标准安装方式为:两端口绑定坐标系z轴相反,偏移值为沿z轴正向两端口坐标系原点距离,安装角度为绕z轴正向旋转的两端口坐标系的x轴夹角。上述方法中,所述单元信息至少包括:可连接端口信息组合,是可连接端口信息的集合,每条信息负责记录各可连接端口相对于基系的齐次变换矩阵上述方法中,所述机械臂搭建参数值至少包括:机械臂节点间安装角度,通过机械臂的初始构型获取,为两节点内所包含的单元间安装参数。上述方法中,所述通用建模方法包括:若为基座节点,运动学坐标系转换矩阵Tk计算如下。Tk=Tran(x,y,z)·Rot(α,β,γ)其中,Tk用于记录存在相对运动关系的两个坐标系间的初始运动学坐标系转换矩阵;Tran(x,y,z)表示坐标系分别沿x、y、z轴方向移动x、y、z米;Rot(α,βxγ)表示按照欧拉角方式进行姿态变换。若为转动/移动关节节点,关节节点的单元一的安装矩阵Ta计算如下式所示。Ta=Tbr·Tob·Tio·Tbi]]>其中,代表所在机械臂上一单元的安装矩阵;表示上一单元输出端口相对于基系的变换矩阵;表示本单元输入端口相对于上一单元输出端口的变换矩阵;表示表示本单元基系相对于输入端口的变换矩阵。而转动/移动关节节点的单元二的安装矩阵Ta计算如下式所示。Ta=E(4,4)其中,E(4,4)表示单位阵。由于该节点为带有运动副的节点,因此单元二需要记录运动学坐标系转换矩阵,即其基系相对于上一运动学坐标系的转换矩阵。则Tk矩阵计算如下式。Tk=Tbr=Tbr·Tob·Tio·Tbi]]>其中,代表所在机械臂上一单元的安装矩阵;表示上一单元输出端口相对于基系的变换矩阵;表示本单元输入端口相对于上一单元输出端口的变换矩阵;表示表示本单元基系相对于输入端口的变换矩阵。若为连接件节点,其安装矩阵Ta计算如下Ta=Tbr·Tob·Tio·Tbi]]>其中,代表所在机械臂上一单元的安装矩阵;表示上一单元输出端口相对于基系的变换矩阵;表示本单元输入端口相对于上一单元输出端口的变换矩阵;表示表示本单元基系相对于输入端口的变换矩阵。若为末端执行器节点,其安装矩阵Ta计算如下Ta=Tbr·Tob·Tio·Tbi]]>其中,代表所在机械臂上一单元的安装矩阵;表示上一单元输出端口相对于基系的变换矩阵;表示本单元输入端口相对于上一单元输出端口的变换矩阵;表示表示本单元基系相对于输入端口的变换矩阵。则根据运动学坐标系转换矩阵Tk,完成机械臂运动学建模。上述方法中,所述如下。若单元间存在转角,则计算如下式所示。Tio=Rot(x,π)·Rot(z,θ)]]>其中,θ表示绕z轴旋转角度。若单元间存在偏移,计算如下式所示。Tio=R(x,π)·Tran(0,0,z)]]>其中,z表示沿z轴偏移量。由以上技术方案可以看出,本发明实施例具有以下有益效果:本发明实施例的技术方案中,使用模块化机械臂组件的物理结构及功能特性参数进行机械臂组件描述,获得组件基础信息,根据机械臂构建目标设置机械臂构建参数,从而完成机械臂构建,并自动得到机械臂的运动学模型,因此能够实现快速的机械臂运动学模型构建方式,为机器人仿真平台面向不同机械臂对象提供控制接口,从而提高机器人仿真平台使用效率,降低机器人研发的成本,促进机器人技术的快速发展。【附图说明】为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。图1是本发明实施例所提供的机械臂的快速通用建模方法的流程示意图;图2是本发明实施例中模块化组件理论模型图;图3是本发明实施例中机械臂节点安装示意图;图4是本发明实施例中可连接端口坐标系示意图。【具体实施方式】为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。本发明实施例给出一种易于使用的基于模块化组件的机械臂通用性建模方法,请参考图1,其为本发明实施例所提供的机械臂的通用性建模方法的流程示意图,如图1所示,该方法包括以下步骤:步骤101,依据模块化机械臂组件的物理结构参数及功能特性,获得所需机械臂组件基础参数值。具体的,功能完整的机械臂一般会包含很多不同种类的基础模块,这些基础模块功能各不相同,结构尺寸也根据需求的不同也变化很大,但相同系列的基础模块都具有相同的连接接口,保证组件能够通过相互组合实现特定功能。模块化组件一般可以分为基座模块、连接件模块、关节模块以及末端执行器模块,以上这些模块组件共同构成了机械臂组件的基本单元,如基座模块作为机械臂与环境的固联装置,起到了支撑机械臂的作用;关节模块为机械臂的活动关节,能够为机械臂提供自由度;连接件模块主要作用为增大机械臂活动范围,或改变关节模块间连接方式,为机械臂提供更加良好的工作空间;末端执行器模块使机械臂能够完成抓捕放置目标物等操作。其中,各种类型模块部件的相似功能特性经过总结描述,可以实现各类型模块的分类描述,在保证信息的完整性前提下,建立组件的抽象化数学模型。基于模型构建需求,将模块化组件划分为三个层次,分别是可连接端口、单元与节点。其理论模型请参考图2,其为本发明实施例中模块化组件理论模型图。1)节点节点是作为本仿真平台对外接口的基础单元进行描述的,它能够完整地提供一个模块化组件的全部信息。一个节点包含的信息有:节点名称、节点类型以及单元组合。其中,节点名称是一个节点的唯一标识符,用于节点的索引;节点类型按照需求,可以分为基座节点、连接件节点、关节节点以及末端执行器节点,他们分别与模块类型一一对应。同理,一个节点包含一个模块化组件的全部参数信息;单元组合是一个单元信息集合,它记录节点内所包含的各个子单元信息。考虑到各类型节点特性,在本建模方法中,每个节点所包含的单元数量只有可能为一个或两个;如果某一个节点共包含两个单元,则单元间安装参数负责记录两个单元间的安装角度值或偏移值。2)单元单元是描述一个“零件”的基本单位,其描述对象是一个不存在自由度的无相对运动关系的单独部件。其参数包括:可连接端口数目,取决于单元零件的具体可连接端口数,由于每种零件必然包含输入输出端口,因此数目不得小于2;可连接端口信息组合,在可连接端口组合中,每条信息负责记录对应端口相对于基系的变换信息,其中,0号端口建议作为基系使用;由于单元描述的对象不存在相对运动关系,因此,除在描述关节节点时,需要两个单元来进行描述外,其余类型节点,仅需一项单元信息;最后,考虑模型构建后的应用场景,添加建模对象应用平台所需额外信息,如三维模型文件信息、碰撞检测文件信息等。节点层的提出是为了提供给建模方法使用人员更加简洁的搭建概念;但对于通用建模的内部推导,它的基本单位是单元,通过设定各个单元的属性,如是否为活动单元、安装矩阵参数、运动矩阵参数等来记录机械臂组件参数。3)可连接端口可连接端口用于描述一个单元的连接类型及相对于基系的齐次变换矩阵,是单元结构参数的整理集合。每条可连接端口都包含有该端口的连接类型以及该端口绑定坐标系相对于单元零件基系的齐次变换矩阵可连接端口类型共分为五类,分别是转动连接端类型、移动连接端类型、基座固定端类型、固定连接端类型以及末端抓取连接端类型。不同的连接类型代表不同的特性,具体限制选择标准取决于其所在目标节点类型等。而齐次变换矩阵记录了该端口坐标系相对于基系先平移{x,y,z},再根据Z-Y-X欧拉角原则旋转{α,β,λ}的变换结果,则可以得到齐次变换矩阵如下所示。Ti0=cα×cβcα×sβ×sγ-sα×cγcα×sβ×cγ+sα×sγxsα×cβsα×sβ×sγ+cα×cγsα×sβ×cγ-cα×sγy-sβcβ×sγcβ×cγz0001]]>其中,cα=cosα,sα=sinα。可连接端口记录的相对于基系的齐次变换矩阵的实际意义是用于描述单元的连接系统,是所在单元与其他单元连接的接口。在进行单元间的连接时,将会以两单元各自连接接口绑定的坐标系为对象,通过设置初始安装参数,再按照设定的装配原则,自动计算出安装矩阵,完成组件的快速安装。除了基座模块的基系连接端口和环境的基系连接端口,通过设定安装位姿明确安装关系,其余类型节点连接端口的标准安装方式为:两端口坐标系原点重合,z轴相对,安装角度为零时x轴重合。因此,可连接端口相对于基系的变换过程需要根据实际的接口安装方式决定。在本模块化组件设计当中,节点是模块化组件的顶层接口。而单元可以对一个不存在相对运动关系的物件进行完整的描述。但是对于转动关节来说,它作为一个节点,需要包含两个单元分别作为它的固定端和活动端,因此,在单元的上层,又提出了节点作为模块化组件的基础单位。通过以上三个层次的划分,很好地解决了模块化组件的描述问题,并根据各层次类型的不同,分别设定对应约束条件,保证最终参数的正确性。通过提供以上统一的描述模板规则,完成模块化组件的基础参数值提取。步骤102,依据机械臂构建目标,获得机械臂搭建参数值。具体的,在机械臂的模型构建中,由于机械臂基座Σrobot0相对于惯性系根节点Σroot存在相对运动关系,且机械臂构建多叉树内部存在运动关节,因此利用每棵子树的根节点记录其运动学矩阵,而其他单元的安装矩阵则分别记录在对应根节点下,作为叶子节点存在。其机械臂节点安装示意图如图3所示。图中列出了机械臂的一般组成结构。机械臂的根节点必然是基座节点,末端节点是末端执行器节点,中间可由连接节点和关节节点随意组合连接构成。图3中Tk记录了运动学坐标系的初始状态矩阵,Ta负责记录对应单元基系相对于所在运动学坐标系的安装矩阵。由此,通过更新各关节的关节角或移动量,即可以对应更新Tk的参数,从而达到对机械臂的运动控制要求。鉴于机械臂的构成节点类型多样,各种类型节点的安装规则不尽相同,因此装配时输入的参数也不同。但最多需要以下几种信息。节点对象:利用名称索引在预置模块化组件库中搜索到对应节点信息;本节点安装方向:分为顺序安装和逆序安装。如果为关节节点,则顺序安装的输入端接口从单元一中选择,输出端接口从单元二中选择;如果是其它类型节点,由于只包含一个单元,默认为顺序状态,输入端与输出端接口都从同一个单元中选择;父节点输出端口号:安装在父节点对应子单元的连接端口号;本节点输入端口号:本节点对应子单元的连接端口号;初始安装参数:子节点相对于父节点z轴的旋转角度或z轴的偏移距离。通过输入以上信息,即可获得机械臂搭建参数值,保证机械臂节点的正确安装。步骤103,依据机械臂组件基础参数值及搭建参数值,完成运动学建模,得到机械臂控制参数。具体来说,依据机械臂组件基础参数值及搭建参数值,即可完成运动学建模,得到机械臂控制参数。下面对各类型节点的安装分别做以说明。1.基座节点鉴于基座节点的特性,在构建机械臂时,根节点必须是基座节点。考虑到在移动机器人、自由漂浮状态下的空间机器人中,机械臂的基座节点位姿相对于惯性系Σroot可能是变化的,因此在搭建机械臂时,通过输入安装参数{xyzαβγ},构建机械臂基座节点与惯性系节点Σroot的初始状态关系。由于机械臂根节点与惯性系之间可能存在相对运动关系,因此,由Tk记录相对于惯性系节点Σroot的运动学矩阵。由于机械臂的根节点类型必定是基座类型节点,因此Tk计算如下。Tk=Tran(x,y,z)·Rot(α,β,γ)其中,Tk用于记录存在相对运动关系的两个坐标系间的初始运动学坐标系转换矩阵;Tran(x,y,z)表示坐标系分别沿x、y、z轴方向移动x、y、z米;Rot(α,β,γ)表示按照欧拉角方式进行姿态变换。因此,图3中所示机械臂根系Σrobot0相对于惯性系Σroot的初始变换矩阵如下式所示。T0I=Tk]]>由于基座节点只包含有一个单元,因此,该单元对应安装矩阵如下。Ta=E(4,4)所以机械臂零系下第一单元安装矩阵如下。T1I0=Ta]]>2.关节节点除了基座节点和环境节点外,其他类型节点通过输入初始关节角的方式实现节点安装,如关节节点。如图4中所示,在两个单元进行连接时,默认两个连接端口绑定坐标系按照如下标准组合:两坐标系原点重合;两坐标系z轴反向;两坐标系以x轴重合状态为初始安装角为零的状态,通过设定初始安装角,改变相对安装角度。而移动关节组合标准为:两坐标系z轴反向,x轴重合状态;两坐标系原点重合状态为初始偏移量为零的状态,通过设定初始偏移量,改变相对安装距离。因此,转动关节模块的单元一的安装矩阵Ta计算如下式所示。Ta=Tbr·Tob·Tio·Tbi]]>其中,代表所在机械臂上一单元的安装矩阵,在上一节点安装时计算完毕;表示上一单元输出端口Σoutput相对于基系Σbase的变换矩阵,是组件创建时的基本信息;表示本单元输入端口Σinput相对于上一单元输出端口Σoutput的变换矩阵;表示表示本单元基系Σbase相对于输入端口Σinput的变换矩阵,是组件创建时的基本信息。转动关节计算如下式所示。Tio=Rot(x,π)·Rot(z,θ)]]>其中,θ表示绕z轴旋转角度。若为移动关节,则计算如下式所示。Tio=R(x,π)·Tran(0,0,z)]]>其中,z表示沿z轴偏移量。而转动关节模块的单元二的安装矩阵Ta计算如下式所示。Ta=E(4,4)其中,E(4,4)表示单位阵,因为带有转动连接端类型的单元,其基系与运动学坐标系重合。由于该节点为转动节点,因此单元二需要记录新的运动学转换矩阵。即其基系相对于上一运动学坐标系的转换矩阵。则Tk矩阵计算如下式。Tk=Tbr=Tbr·Tob·Tio·Tbi]]>其中,各符号标志含义同前所述一致。3.连接件节点连接件节点同样通过输入初始关节角的方式实现节点安装,由于其只包含一个单元,且不存在相对运动关系,因此,其安装矩阵Ta计算如下Ta=Tbr·Tob·Tio·Tbi]]>其中,各符号标志含义同前所述一致。4.末端节点末端节点安装同样通过输入初始关节角的方式实现节点安装,也只包含一个单元,其安装矩阵Ta计算如下。Ta=Tbr·Tob·Tio·Tbi]]>其中,各符号标志含义同前所述一致。在搭建机械臂对象过程中,仅需要对两节点间连接端口及安装角度/距离进行设置,即可通过本算法自动完成相应构建信息计算。而通过以上信息的计算组合,即可实现机械臂各部件的组件装配,完成机械臂的快速模型构建。本发明实施例的技术方案具有以下有益效果:本发明实施例的技术方案中,依据模块化机械臂组件的物理结构参数及功能特性,从而获得所需机械臂组件基础参数值,依据机械臂构建目标,获得机械臂搭建参数值,依据机械臂组件基础参数值及搭建参数值,以此完成运动学建模,得到机械臂控制参数。本发明通过将机械臂组件参数抽象简单化,实现了机械臂组件的快速搭建,解决了传统通用建模算法使用过程中的复杂性,很好地为非从业人员提供了快速机械臂模型构建接口。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1