机器人及其控制方法、装置以及计算机可读存储介质
文献发布时间:2023-06-19 10:08:35
技术领域
本申请涉及机器人技术领域,特别是涉及一种机器人及其控制方法、装置以及计算机可读存储介质。
背景技术
机器人目前被广泛应用于工业中,在调试机器人运动程序的过程中,用户可能会将机器人移动到当前运行的轨迹路径之外,需要一定的策略让机器人先返回到规划路径上才能继续运行。
发明内容
本申请至少提供一种机器人及其控制方法、装置以及计算机可读存储介质,能够提高机器人的适应性。
为解决上述技术问题,本申请采用的技术方案是提供一种机器人控制方法,
所述机器人控制方法包括:
接收暂停指令,获取所述机器人接收到所述暂停指令时的第一轨迹路径,并获取所述第一轨迹路径中机器人在接收到所述暂停指令时的第一位置;
获取所述机器人的当前位置及当前轨迹路径,其中,所述当前位置包括所述机器人中各个轴的当前位置信息;
比较所述当前位置和所述第一位置,以及比较所述当前轨迹路径和所述第一轨迹路径;
若所述当前位置和所述第一位置相同,控制所述机器人从所述当前位置起按照所述当前轨迹路径继续运行;
若所述当前位置和所述第一位置相异,且所述当前轨迹路径和所述第一轨迹路径相同,控制所述机器人返回所述第一位置后,控制所述机器人从所述第一位置起按照所述当前轨迹路径继续运行;
若所述当前位置和所述第一位置相异,且所述当前轨迹路径和所述第一轨迹路径相异,计算所述机器人的返回位置,控制所述机器人到达所述返回位置,以及控制所述机器人从所述返回位置起按照所述当前轨迹路径继续运行。
为解决上述技术问题,本申请采用的另一技术方案是提供一种机器人控制装置,所述机器人控制装置包括:
获取模块,用于接收暂停指令,获取所述机器人接收到所述暂停指令时的第一轨迹路径,并获取所述第一机器人在接收到所述暂停指令时的第一位置;
所述获取模块,还用于获取所述机器人的当前位置及当前轨迹路径,其中,所述当前位置包括当前所述机器人中各个轴的位置信息;
判断模块,用于比较所述当前位置和所述第一位置,以及比较所述当前轨迹路径和所述第一轨迹路径;
控制模块,用于若所述当前位置和所述第一位置相同,控制所述机器人从所述当前位置起按照所述当前轨迹路径继续运行;若所述当前位置和所述第一位置相异,且所述当前轨迹路径和所述第一轨迹路径相同,控制所述机器人返回所述第一位置后,控制所述机器人从所述第一位置起按照所述当前轨迹路径继续运行;若所述当前位置和所述第一位置相异,且所述当前轨迹路径和所述第一轨迹路径相异,计算所述机器人的返回位置,控制所述机器人到达所述返回位置,以及控制所述机器人从所述返回位置起按照所述当前轨迹路径继续运行。
为解决上述技术问题,本申请采用的另一技术方案是提供一种机器人,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现上述的机器人控制方法。
为解决上述技术问题,本申请采用的另一技术方案是提供一种计算机可读存储介质,其上存储有程序指令,所述程序指令被处理器执行时实现上述的机器人控制方法。
通过上述方案,本申请的有益效果是:机器人控制装置接收暂停指令,获取机器人接收到暂停指令时的第一轨迹路径,并获取第一轨迹路径中机器人在接收到暂停指令时的第一位置;获取机器人的当前位置及当前轨迹路径,其中,当前位置包括机器人中各个轴的当前位置信息;比较当前位置和第一位置,以及比较当前轨迹路径和第一轨迹路径;若当前位置和第一位置相同,控制机器人从当前位置起按照当前轨迹路径继续运行;若当前位置和第一位置相异,且当前轨迹路径和第一轨迹路径相同,控制机器人返回第一位置后,控制机器人从第一位置起按照当前轨迹路径继续运行;若当前位置和第一位置相异,且当前轨迹路径和第一轨迹路径相异,计算机器人的返回位置,控制机器人到达返回位置,以及控制机器人从返回位置起按照当前轨迹路径继续运行。上述方案,能够控制机器人自动返回轨迹路径,从而继续运行,提高了机器人的适应性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1是本申请提供的机器人控制方法一实施例的流程示意图;
图2是本申请提供的机器人控制方法中第一轨迹路径和第二轨迹路径的简易示意图;
图3是本申请提供的机器人控制装置一实施例的框架示意图;
图4是本申请提供的机器人一实施例的框架示意图;
图5是本申请提供的计算机可读存储介质一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
请参阅图1,图1是本申请提供的机器人控制方法一实施例的流程示意图。
其中,机器人控制方法的执行主体可以是机器人控制装置,例如,机器人控制方法可以由机器人或服务器或其它处理设备执行,其中,机器人可以为用户设备(UserEquipment,UE)、移动设备、用户终端、终端、手持设备、计算设备等。在一些可能的实现方式中,该机器人控制方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
具体而言,本公开实施例的方法可以包括如下步骤:
S101:接收暂停指令,获取机器人接收到暂停指令时的第一轨迹路径,并获取第一轨迹路径中机器人在接收到暂停指令时的第一位置。
其中,由于机器人在未被调整或发生移动时是在规划的轨迹路径上运行的,为了获知机器人在暂停时是否偏离规定轨迹路径,获取机器人的第一轨迹路径,并获取在第一轨迹路径上暂停时对应的第一位置。
其中,第一轨迹路径为机器人未被用户调整时运行的轨迹路径。第一轨迹路径中暂停指令对应的第一位置是指机器人在第一轨迹路径暂停位置处暂停时,机器人中各个轴的位置信息。
S102:获取机器人的当前位置及当前轨迹路径,其中,当前位置包括机器人中各个轴的当前位置信息。
机器人暂停后,可能会被调整或发生移动,获取暂停后机器人当前时刻的位置和轨迹路径。
S103:比较当前位置和第一位置,以及比较当前轨迹路径和第一轨迹路径。
为了获知机器人在暂停后是否偏离暂停时的轨迹路径,机器人控制装置可根据机器人暂停后的当前位置和机器人在第一轨迹路径上暂停时的第一位置进行比较判断,以及根据机器人暂停后的当前轨迹路径和第一轨迹路径进行比较判断。
判断轨迹路径是否相同的方法包括但不限于:
第一、分别获取第一轨迹路径对应的第一轨迹函数,以及当前轨迹路径的第二轨迹函数。通过比较轨迹函数是否相同判断轨迹路径是否相同。具体地,在第一轨迹函数与第二轨迹函数完全相同的情况下,机器人控制装置判定第一轨迹路径与当前轨迹路径相同;在第一轨迹函数与第二轨迹函数不同的情况下,机器人控制装置判定第一轨迹路径与当前轨迹路径不同。
第二、获取机器人接收到暂停指令时对应的归一化路径参数,其中,归一化路径参数表示机器人已走路程占全部路程的百分比。机器人控制装置进一步获取当前轨迹路径与该归一化路径参数对应的第二位置,机器人控制装置判断第一轨迹路径的第一位置与当前轨迹路径的第二位置是否相同。若相同,则继续在第一轨迹路径上获取若干轨迹点,并判断该若干轨迹点是否均处于当前轨迹路径上。若是,则判断第一轨迹路径与当前轨迹路径相同。
S104:若当前位置和第一位置相同,控制机器人从当前位置起按照当前轨迹路径继续运行。
其中,由于暂停后,可能会使用新的路径规划而改变机器人的运动路径,因此在当前位置与第一位置相同的情况下,还需要判断当前轨迹路径与第一轨迹路径是否相同。具体请参阅图2,图2是本申请提供的机器人控制方法中第一轨迹路径A和当前轨迹路径B的简易示意图,机器人的当前位置Jc与机器人在第一轨迹路径暂停时对应的第一位置Jp不同,机器人的运行轨迹也更换为当前轨迹路径。
若当前位置和第一位置相同,且第一轨迹路径和当前轨迹路径相同,机器人控制装置控制机器人从当前位置起按照当前轨迹路径继续运行即可。
若当前位置和第一位置相同,但第一位置不在当前轨迹路径上,也就是机器人位置未移动,但轨迹进行了重新规划,使得当前轨迹路径与第一轨迹路径不同,因而第一位置和当前位置都不在当前轨迹路径上,则机器人控制装置需要计算机器人的返回位置,其中,返回位置在当前轨迹路径上,然后控制机器人到达返回位置,以及控制机器人从返回位置起按照当前轨迹路径继续运行。
其中,机器人控制装置计算机器人的返回位置的方法包括但不限于:
第一、机器人控制装置获取机器人接收到暂停指令时的归一化路径参数,并基于该归一化路径参数计算机器人在当前轨迹路径中的返回位置,也就是使返回位置占当前轨迹路径的百分比(从当前轨迹路径的起点算起)等于第一位置占第一轨迹路径的百分比(从第一轨迹路径的起点算起)。
第二、机器人控制装置获取生成当前轨迹路径时所依据的示教点,其中,该示教点可以包括当前轨迹路径的起点、终点以及一个或多个辅助点。具体地,当前轨迹路径的起点、终点与第一轨迹路径的起点、终点相同,当前轨迹路径的辅助点可以为机器人接收到暂停指令时的归一化路径参数对应在当前轨迹路径上的轨迹点。计算机器人当前轨迹路径的起点、终点以及一个或多个辅助点与当前位置的距离,将当前轨迹路径上与当前位置距离最近的位置作为当前轨迹路径中的返回位置。
具体地,可采用轴空间一阶范数分别计算起点、终点以及辅助点与当前位置的距离,采用轴空间一阶范数计算距离满足下式:
其中,n为机器人轴的数量,A
S105:若当前位置和第一位置相异,且当前轨迹路径和第一轨迹路径相同,控制机器人返回第一位置后,控制机器人从第一位置起按照当前轨迹路径继续运行。
其中,若机器人控制装置判定当前位置与第一位置相异,且当前轨迹路径与第一轨迹路径相同,则直接控制机器人返回第一位置,并控制机器人从第一位置起按照当前轨迹路径继续运行。
若当前位置和第一位置相异,且当前轨迹路径和第一轨迹路径相异,计算机器人的返回位置,控制机器人到达返回位置,以及控制机器人从返回位置起按照当前轨迹路径继续运行。
其中,若机器人控制装置判定当前位置与第一位置相异,且当前轨迹路径与第一轨迹路径相异,则计算机器人在当前轨迹路径上的返回位置,返回位置的计算方法按照上述介绍的方法,在此不再赘述。机器人控制装置控制机器人到达返回位置,并控制机器人从返回位置起按照当前轨迹路径继续运行。
在本公开实施例,机器人控制装置接收暂停指令,获取机器人接收到暂停指令时的第一轨迹路径,并获取第一轨迹路径中机器人在接收到暂停指令时的第一位置;获取机器人的当前位置及当前轨迹路径,其中,当前位置包括机器人中各个轴的当前位置信息;比较当前位置和第一位置,以及比较当前轨迹路径和第一轨迹路径;若当前位置和第一位置相同,控制机器人从当前位置起按照当前轨迹路径继续运行;若当前位置和第一位置相异,且当前轨迹路径和第一轨迹路径相同,控制机器人返回第一位置后,控制机器人从第一位置起按照当前轨迹路径继续运行。上述方案,能够控制机器人自动返回轨迹路径,从而继续运行,提高了机器人的适应性。
请参阅图3,图3是本申请提供的机器人控制装置一实施例的框架示意图。机器人控制装置30包括:
获取模块31,用于接收暂停指令,获取所述机器人接收到所述暂停指令时的第一轨迹路径,并获取所述第一机器人在接收到所述暂停指令时的第一位置。
获取模块31,还用于获取所述机器人的当前位置及当前轨迹路径,其中,所述当前位置包括当前所述机器人中各个轴的位置信息。
判断模块32,用于比较所述当前位置和所述第一位置,以及比较所述当前轨迹路径和所述第一轨迹路径。
控制模块33,用于若所述当前位置和所述第一位置相同,控制所述机器人从所述当前位置起按照所述当前轨迹路径继续运行;若所述当前位置和所述第一位置相异,且所述当前轨迹路径和所述第一轨迹路径相同,控制所述机器人返回所述第一位置后,控制所述机器人从所述第一位置起按照所述当前轨迹路径继续运行;若所述当前位置和所述第一位置相异,且所述当前轨迹路径和所述第一轨迹路径相异,计算所述机器人的返回位置,控制所述机器人到达所述返回位置,以及控制所述机器人从所述返回位置起按照所述当前轨迹路径继续运行。
请参阅图4,图4是本申请提供的机器人一实施例的框架示意图。机器人40包括相互耦接的存储器41和处理器42,处理器42用于执行存储器41中存储的程序指令,以实现上述任一机器人控制方法实施例的步骤。在一个具体的实施场景中,机器人40可以包括但不限于:微型计算机、服务器,此外,机器人40还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
具体而言,处理器42用于控制其自身以及存储器41以实现上述任一机器人控制方法实施例的步骤。处理器42还可以称为CPU(Central Processing Unit,中央处理单元)。处理器42可能是一种集成电路芯片,具有信号的处理能力。处理器42还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器42可以由集成电路芯片共同实现。
请参阅图5,图5是本申请提供的计算机可读存储介质一实施例的框架示意图。计算机可读存储介质50存储有能够被处理器运行的程序指令501,程序指令501用于实现上述任一机器人控制方法实施例的步骤。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
- 机器人的控制装置、机器人的控制方法、计算机可读存储介质及机器人
- 机器人控制方法、装置、计算机可读存储介质及机器人