一种机械臂的操作方法及装置与流程

文档序号:11395648阅读:639来源:国知局
一种机械臂的操作方法及装置与流程

本发明属于计算机技术领域,尤其涉及一种机械臂的操作方法及装置。



背景技术:

随着计算机技术和自动化技术的发展,机械臂在人们的生产和生活中起到越来越重要的作用,机械臂的应用也逐渐从汽车工业、模具制造等相关产业,向农业、医疗以及服务行业发展。

目前,人们可以通过按键、遥感手柄以及力反馈手柄等操作方式操作机械臂,由于人们的操作速度会影响机械臂的运动或抓取效果,所以刚接触机械臂操作的用户需要花上一段不短时间去适应机械臂的操作,此外机械臂操作的安全性和效率的兼容程度也有待提高。



技术实现要素:

本发明的目的在于提供一种机械臂的操作方法及装置,旨在解决在现有技术中机械臂操作平稳度不足,不便于用户操作且安全性不足的问题。

一方面,本发明提供了一种机械臂的操作方法,所述方法包括下述步骤:

接收用户通过预先连接的操作端发送的操作指令,对所述操作指令进行非线性处理和信号转换,获得用于调整机械臂末端位姿的速度信号;

根据所述速度信号和所述机械臂当前的末端位姿,生成期望的末端位姿,判断所述期望的末端位姿是否位于预设工作范围内;

当所述期望的末端位姿位于所述工作范围内时,通过预设的逆运动学模型求解所述期望的末端位姿下所述机械臂所有关节的目标角度,检测所有目标角度是否满足预设的关节空间限制;

当所述所有目标角度都满足所述关节空间限制时,通过预设的正运动学模型求解在所述目标角度下所述所有关节在预设笛卡尔空间的位置,检测所述所有关节的位置是否满足预设的笛卡尔空间限制;

当所述所有关节的位置都满足所述笛卡尔空间限制时,将所述期望的末端位姿发送给所述机械臂。

另一方面,本发明提供了一种机械臂的操作装置,所述装置包括:

信号处理模块,接收用户通过预先连接的操作端发送的操作指令,对所述操作指令进行非线性处理和信号转换,获得用于调整机械臂末端位姿的速度信号;

位姿判断模块,用于根据所述速度信号和所述机械臂当前的末端位姿,生成期望的末端位姿,判断所述期望的末端位姿是否位于预设工作范围内;

关节限制检测模块,用于当所述期望的末端位姿位于所述工作范围内时,通过预设的逆运动学模型求解所述期望的末端位姿下所述机械臂所有关节的目标角度,检测所有目标角度是否满足预设的关节空间限制;

空间限制检测模块,用于当所述所有目标角度都满足所述关节空间限制时,通过预设的正运动学模型求解在所述目标角度下所述所有关节在预设笛卡尔空间的位置,检测所述所有关节的位置是否满足预设的笛卡尔空间限制;以及

机械臂操作模块,用于当所述所有关节的位置都满足所述笛卡尔空间限制时,将所述期望的末端位姿发送给所述机械臂。

本发明在接收到用户通过预先连接的操作端发送的操作指令时,通过非线性处理和信号转换,将该操作指令转换为速度信号,通过该速度信号和机械臂当前的末端位姿,生成期望的末端位姿,在确定该末端位姿位于预设的工作范围内后,通过逆运动学模型求解在期望的末端位姿下机械臂所有关节的目标角度,检测这些目标角度是否都满足关节空间限制,当满足时,再通过正运动学模型求解在这些目标角度下机械臂所有关节在笛卡尔空间的位置,检测这些位置是否满足笛卡尔空间限制,当满足时,将期望的末端位姿发送给机械臂,从而通过对操作指令的非线性处理有效地提高了操作的平稳性,相较于线性处理增大了调速范围,通过关节空间限制和笛卡尔空间限制的串行检测,有效地降低了运动学模型的运算次数,降低了对处理器的要求,能运行在更低成本的处理器上,同时还有效地提高了机械臂操作的安全性。

附图说明

图1是本发明实施例一提供的机械臂的操作方法的实现流程图;

图2是本发明实施例二提供的机械臂的操作装置的结构示意图;以及

图3是本发明实施例二提供的机械臂的操作装置的优选结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下结合具体实施例对本发明的具体实现进行详细描述:

实施例一:

图1示出了本发明实施例一提供的机械臂的操作方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在步骤s101中,接收用户通过预先连接的操作端发送的操作指令,对操作指令进行非线性处理和信号转换,获得用于调整机械臂末端位姿的速度信号。

本发明实施例适用于机械臂的操作平台或系统。为了避免操作端的搁置平台不平稳引误动作、或者操作端在操作某一操作通道时引起其它操作通道的联动带来的误动作(操作端控制的每个位移方向可分别对应一个操作通道,例如,当摇杆可以操作上下左右前后六个位移方向时,该摇杆可控制六个操作通道),为操作端的每个操作通道的控制量设置一个信号下限值。当操作通道的控制量低于操作通道的信号下限值时,可认为该操作通道没有控制量输出,即没有操作指令输出,当操作通道的控制量高于信号上限值时,可认为该操作通道的控制量为信号上限值,当操作通道的控制量位于信号上限值和信号上限值之间时,可根据预设的非线性关系对操作通道的控制量进行非线性处理,从而使得在低速操作阶段使得控制量比较平稳,有利于机械手臂的平稳运行,相较于线性处理,非线性处理增大了操作的调速范围,有效地提高了用户体验。

在本发明实施例中,在对操作指令进行非线性处理后,通过预设的信号转换器将操作指令转换为机械臂末端运动的速度信号。

具体地,操作端可为摇杆手柄、力反馈手柄等。优选地,采用三维鼠标作为操作端,从而降低用户操作的复杂度,操作方式易于掌握。其中,三维鼠标又称为三维空间交互球,常用于六个自由度虚拟现实场景的模拟交互,所以可将三维鼠标用于操作六个自由度的机械臂。

在步骤s102中,根据速度信号和机械臂当前的末端位姿,生成期望的末端位姿。

在本发明实施例中,获得速度信号后,可获取机械臂当前的末端位姿,根据速度信号和机械臂当前的末端位姿,可生成机械臂期望的末端位姿,即机械臂末端执行器按照速度信号运动后所得到的位置和姿态。

在步骤s103中,判断期望的末端位姿是否位于预设工作范围内

在本发明实施例中,工作范围即机械臂末端执行器可以达到的空间范围,通过判断机械臂末端的期望位姿是否位于工作区域内,来确定用户的操作指令是否可行。当期待的末端位姿位于工作范围内时,确定用户的操作指令可行,执行步骤s104,否则执行步骤s109。

在步骤s104中,通过预设的逆运动学模型求解期望的末端位姿下机械臂所有关节的目标角度。

在本发明实施例中,逆运动学即根据期望的末端位姿(即机械臂末端执行器的期望位姿)求解出与该期望的末端位姿相对于的机械臂各关节的输出角度,即目标角度。先通过预设的逆运动学模型算法求解出该期望的末端位姿下目标角度的多组解,将每组解对应的关节值与机械臂所有关节当前角度对应的关节值进行最小二乘法运算,获取每组解对应的运算结果,并将最小的运算结果所对应的一组解确定为所有目标角度的有效解,从而保证机械臂可根据目标角度以较短的运动时间达到下一运动状态。

在步骤s105中,检测所有目标角度是否满足预设的关节空间限制。

在本发明实施例中,机械臂的每个关节都有一个角度极限值,即关节的角度最大或最小为这个角度极限值,一旦关节的目标角度超过了该关节的角度极限值,该关节的角度无法达到这个目标角度。关节的运行速度也受限于关节的机电特性,当关节为了达到目标角度需要运动一个比较大的角度时需要较快的运行速度,一旦需要的运行速度超过该关节的速度极限值时,机械臂各关节很可能无法同时达到目标角度,进而无法保证机械臂的末端位姿,导致机械臂末端位姿的不稳定。所以,在确定所有关节的目标角度后,检测所有的目标角度是否满足预设的关节空间限制,其中,包括检测每个关节的目标角度是否未超过相应的角度极限值、以及检测每个关节为达到相应的目标角度所需的运行速度是否超过相应的速度极限值。

在本发明实施例中,当所有目标角度都满足关节空间限制时,执行步骤s106,否则执行步骤s109。

在步骤s106中,通过预设的正运动学模型求解机械臂在目标角度下所有关节在预设笛卡尔空间的位置。

在本发明实施例中,正运动学即根据机械臂末端执行器的期望位姿下各关节的角度(即目标角度)求解各关节在笛卡尔空间的位置(即坐标),可理解为将机械臂关节空间映射到笛卡尔空间,具体地,可通过d-h参数的运动学模型进行求解。

在步骤s107中,检测所有关节的位置是否满足预设的笛卡尔空间限制。

在本发明实施例中,在求解到目标角度下各关节在笛卡尔空间的位置后,进行笛卡尔空间的防碰撞检查,可通过坐标检测机械臂关节的位置是否位于笛卡尔空间中预设的障碍物区域内,以此来确定所有关键的位置是否满足笛卡尔空间限制。当不存在位于障碍物区域内的关节时,执行步骤s108,否则执行步骤s109。

在步骤s108中,将期望的末端位姿发送给机械臂。

在本发明实施例中,机械臂末端的期望位姿连续经过了且满足了关节空间的限制检测和笛卡尔空间的限制检测,因此将期望的末端位姿发送给机械臂,使得机械臂末端安全且快速地运行到期望位姿。

在步骤s109中,拒绝用户的操作指令。

在本发明实施例中,当期望的末端位姿不位于工作范围内或机械臂关节的目标角度超过了对应的角度极限值或关节为达到目标角度所需的运行速度超过了相应的速度极限值或关节的位置在笛卡尔空间的障碍物区域内时,拒绝用户的操作指令。

在本发明实施例中,通过对操作指令进行非线性处理和信号转换,获得用于调整机械臂末端位姿的速度信号,有效地提高了低速阶段操作端的平稳性、增大了操作端的调速范围,提高了机械臂操作的便捷度和用户体验,通过对机械臂运行到期望的末端位姿时的关节串行进行关节空间的限制检测和笛卡尔空间的限制检测,降低了运动学计算次数和计算量的同时,有效地提高了机械臂操作的安全性。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如rom/ram、磁盘、光盘等。

实施例二:

图2示出了本发明实施例二提供的机械臂的操作装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:

信号处理模块21,接收用户通过预先连接的操作端发送的操作指令,对操作指令进行非线性处理和信号转换,获得用于调整机械臂末端位姿的速度信号。

在本发明实施例中,为了避免操作端的搁置平台不平稳引误动作、或者操作端在操作某一操作通道时引起其它操作通道的联动带来的误动作,为操作端的每个操作通道的控制量设置一个信号下限值。当操作通道的控制量低于操作通道的信号下限值时,可认为该操作通道没有控制量输出,即没有操作指令输出,当操作通道的控制量高于信号上限值时,可认为该操作通道的控制量为信号上限值,当操作通道的控制量位于信号上限值和信号上限值之间时,可根据预设的非线性关系对操作通道的控制量进行非线性处理,从而使得在低速操作阶段使得控制量比较平稳,有利于机械手臂的平稳运行,相较于线性处理,非线性处理增大了操作的调速范围,有效地提高了用户体验。在对操作指令进行非线性处理后,通过预设的信号转换器将操作指令转换为机械臂末端运动的速度信号。

位姿判断模块22,用于根据速度信号和机械臂当前的末端位姿,生成期望的末端位姿,判断期望的末端位姿是否位于预设工作范围内。

在本发明实施例中,获得速度信号后,可获取机械臂当前的末端位姿,根据速度信号和机械臂当前的末端位姿,可生成机械臂期望的末端位姿,即机械臂末端执行器按照速度信号运动后所得到的位置和姿态。

在本发明实施例中,工作范围即机械臂末端执行器可以达到的空间范围,通过判断机械臂末端的期望位姿是否位于工作区域内,来确定用户的操作指令是否可行。当期待的末端位姿位于工作范围内时,确定用户的操作指令可行。

关节限制检测模块23,用于当期望的末端位姿位于工作范围内时,通过预设的逆运动学模型求解期望的末端位姿下机械臂所有关节的目标角度,检测所有目标角度是否满足预设的关节空间限制。

在本发明实施例中,先通过预设的逆运动学模型算法求解出该期望的末端位姿下目标角度的多组解,将每组解对应的关节值与机械臂所有关节当前角度对应的关节值进行最小二乘法运算,获取每组解对应的运算结果,并将最小的运算结果所对应的一组解确定为所有目标角度的有效解,从而保证机械臂可根据目标角度以较短的运动时间达到下一运动状态。

在本发明实施例中,在确定所有关节的目标角度后,检测所有的目标角度是否满足预设的关节空间限制,其中,包括检测每个关节的目标角度是否未超过相应的角度极限值、以及检测每个关节为达到相应的目标角度所需的运行速度是否超过相应的速度极限值。

空间限制检测模块24,用于当所有目标角度都满足关节空间限制时,通过预设的正运动学模型求解在目标角度下所有关节在笛卡尔空间的位置,检测所有关节的位置是否满足预设的笛卡尔空间限制。

在本发明实施例中,当每个关节的目标角度未超过相应的角度极限值、以及每个关节为达到相应的目标角度所需的运行速度都未超过相应的速度极限值时,确定所有的目标角度都满足关节空间限制,此时,可通过正运动学模型根据机械臂末端执行器的期望位姿下各关节的角度(即目标角度)求解各关节在笛卡尔空间的位置(即坐标),即将机械臂关节空间映射到笛卡尔空间,具体地,可通过d-h参数的运动学模型进行求解。

在本发明实施例中,在求解到目标角度下各关节在笛卡尔空间的位置后,进行笛卡尔空间的防碰撞检查,可通过坐标检测机械臂关节的位置是否位于笛卡尔空间中预设的障碍物区域内,以此来确定所有关键的位置是否满足笛卡尔空间限制。

机械臂操作模块25,用于当所有关节的位置都满足笛卡尔空间限制时,将期望的末端位姿发送给机械臂。

在本发明实施例中,当不存在位于障碍物区域内的关节时,可确定所有关节的位置都满足笛卡尔空间限制,将期望的末端位姿发送给机械臂,使得机械臂末端安全且快速地运行到期望位姿。

优选地,如图3所示,信号处理模块21包括非线性处理模块311和信号转换模块312,其中:

非线性处理模块311,用于接收操作指令,当操作指令的操作通道的控制量位于操作通道的信号上限值和信号下限值之间时,对操作通道的控制量进行非线性处理;以及

信号转换模块312,用于根据预设的信号转换器将非线性处理后的操作指令转换为机械臂末端的速度信号。

优选地,关节限制检测模块23包括逆运动求解模块331、解选取模块332和关节超限检测模块333,其中:

逆运动求解模块331,用于当期望的末端位姿位于工作范围内时,通过逆运动学模型求解期望的末端位姿下所有关节目标角度的多组解;

解选取模块332,用于将每组解对应的关节值与所有关节当前角度的关节值进行最小二乘法运算,将运算后的最小结果值所对应的一组解确定为所有目标角度的有效解;以及

关节超限检测模块333,用于检测每个关节的目标角度是否未超过相应的角度极限值,并检测每个关节为达到相应的目标角度所需的运行速度是否超过相应的速度极限值。

优选地,空间限制检测模块24包括角度确定模块341、正运动求解模块342和障碍物区域检测模块343,其中:

角度确定模块341,用于当所有目标角度未超过相应的角度极限值、且所有关节所需的运动速度未超过相应的速度极限值时,确定所有目标角度都满足关节空间限制;

正运动求解模块342,用于根据所有关节的目标角度,通过正运动学模型求解所有关节在笛卡尔空间的位置;以及

障碍区检测模块343,用于检测所有关节的位置是否位于笛卡尔空间中预设的障碍物区域。

进一步优选地,信号处理模块包括非线性处理模块和信号转换模块,其中:

非线性处理模块,用于接收操作指令,当操作指令的操作通道的控制量位于操作通道的信号上限值和信号下限值之间时,对操作通道的控制量进行非线性处理;以及

信号转换模块,用于根据预设的信号转换器将非线性处理后的操作指令转换为机械臂末端的速度信号。

在本发明实施例中,通过对操作指令进行非线性处理和信号转换,获得用于调整机械臂末端位姿的速度信号,有效地提高了低速阶段操作端的平稳性、增大了操作端的调速范围,提高了机械臂操作的便捷度和用户体验,通过对机械臂运行到期望的末端位姿时的关节串行进行关节空间的限制检测和笛卡尔空间的限制检测,降低了运动学计算次数和计算量的同时,有效地提高了机械臂操作的安全性。

在本发明实施例中,机械臂的操作装置的各模块可由相应的硬件或软件模块实现,各模块可以为独立的软、硬件模块,也可以集成为一个软、硬件模块,在此不用以限制本发明。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1