一种机器人的运动控制方法及系统

文档序号:33622677发布日期:2023-03-25 13:09阅读:94来源:国知局
一种机器人的运动控制方法及系统

1.本发明涉及机器人运动控制技术领域,更具体地说,本发明涉及一种机器人的运动控制方法及系统。


背景技术:

2.机器人产业发展迅速,越来越多的开始使用机器人代替人类完成重复性、危险性工作,甚至复杂精密的动作。因此对机器人运动或动作控制的要求也越来越高。
3.对于机器人的运动通常是通过多条运动指令来控制实现的,然而当前的机器人控制技术中,机器人在完成当前运动指令后,一般会停顿在原地等待下一指令,使得机器人整体的运动连贯性以及工作效率性仍有一定的提升空间。
4.针对上述问题,现提供一种技术方案。


技术实现要素:

5.为了克服现有技术的上述缺陷,本发明的实施例提供一种机器人的运动控制方法及系统,通过将机器人的多个同一工序阶段的指令动作进行拆分,根据拆分结果确定相同步骤的工序,并在机器人未接收到下一步指令信号前,执行相同工序进行动作准备,从而能够在接收到下一步指令信号后能够快速执行相关工序,提高了整体工作效率,以解决上述背景技术中提出的问题。
6.为实现上述目的,本发明提供如下技术方案:
7.一种机器人的运动控制方法,包括如下步骤:
8.步骤s1,机器人接收运动任务,执行相应的运动任务;
9.步骤s3,机器人等待下一运动任务,并进行下一控制命令的动作准备;
10.步骤s4,机器人接收到下一运动任务,执行相应的运动任务。
11.在一个优选的实施方式中,在步骤s3中,机器人等待下一运动任务时进行的动作准备是指为了下一运动任务进行的提前预操作,该提前预操作是机器人下一运动任务均要进行的运动步骤。
12.在一个优选的实施方式中,在步骤s3中,确定机器人下一运动任务均要进行的运动步骤的方法如下:
13.以机器人为中心建立空间直角坐标系;
14.确定机器人下一运动任务均涉及的机器人部件;
15.确定该部件所要到达的目标位置在空间直角坐标系中的位置;
16.根据目标位置,将该机器人部件的运动轨迹分解为向x,y,z三个方向移动若干距离;
17.从起始步骤开始判断该机器人部件的运动轨迹的重合部分,根据运动轨迹的重合部分确定机器人下一运动任务均要进行的运动步骤。
18.在一个优选的实施方式中,在步骤s3中,若机器人部件分解后的运动轨迹具有先
后顺序,则需按照先后顺序对运动轨迹进行比较重合,确定动作准备涉及的运动步骤;若机器人部件分解后的运动轨迹不具有先后顺序,则将所有重合的运动轨迹进行整合后再确定动作准备涉及的运动步骤。
19.在一个优选的实施方式中,在步骤s3中,对机器人每个阶段的可能进行的运动任务进一步的分析,根据分析结果确定动作准备方案,具体分析过程如下:
20.设置有效数据集合,并统计有效数据集合内各个机器人各阶段可执行的运动任务实际执行数量,并根据各个可执行运动任务实际执行次数,进行权重赋值;
21.设定权重参照值rv1与rv2,其中rv1》rv2,分别将可执行的运动任务权重与权重参照值rv1与rv2进行比较;
22.若有可执行的运动任务权重小于权重参照值rv2,则对于该部分运动任务则不进行运动任务的重合比较;
23.若有可执行的运动任务权重大于权重参照值rv1,则动作准备不根据各个可执行任务的重合部分进行,只进行大于权重参照值rv1的运动任务所涉及的步骤;
24.若没有可执行的运动任务权重大于权重参照值rv1,则对运动任务权重在rv1与rv2之间的可执行任务进行拆分,并确定重合部分,将重合部分确定为动作准备涉及的运动部分。
25.在一个优选的实施方式中,在步骤s3中,在确定各可执行运动任务权重时,还将其按照不同运行场景进行分类;
26.为机器人设定i个不同的运行场景,i为正整数,且i大于等于1,分别对机器人根据不同运行场景设定有效数据集合。
27.在一个优选的实施方式中,在步骤s4中,机器人接收到下一运动任务后,根据涉及的机器人部件的现在位置状态,确定其未完成行程,并将未完成行程替换成下一个待执行的运动任务的目标行程。
28.在一个优选的实施方式中,在步骤s1后还包括步骤s2,机器人执行完运动任务后,根据执行目标进行运动校正。
29.在一个优选的实施方式中,在步骤s2中,判断运动校正与动作准备所涉及的运动步骤所涉及的部件是否有关联,若涉及的部件运动无关联,则根据执行目标进行运动校正时也进行动作准备涉及的运动步骤。
30.一种机器人的运动控制系统,用于实现上述一种机器人的运动控制方法,包括处理器以及与处理器通讯连接的运动任务模块、运动校正模块、动作准备模块以及数据存储模块;
31.处理器用于生成运动控制指令,用于处理来自机器人的运动控制系统的各个模块发送的数据或信号;
32.运动任务模块接收到处理器发出的运动任务后,执行该运动任务,并在执行任务完毕后,向处理器发送执行完毕信号,处理器根据该信号向运动校正模块发出运动校正信号以及向动作准备模块发送动作准备信号;并通过处理器向数据存储模块发送该次运动任务数据进行保存;
33.运动校正模块接收到处理器发出运动校正信号后,根据运动任务目标,对执行结果进行校正;运动校正模块还调用来自数据存储模块存储的动作准备信息,判断自身的运
动校正与动作准备有无涉及部位,根据判断结果进行运动合并;
34.动作准备模块接收到处理器发出的动作准备信号时,调用数据存储模块存储的各阶段运动任务数据,确定等待下一运动任务期间所要执行的运动步骤,并控制机器人进行相应运动,同时将该运动步骤信息发送至数据存储模块进行存储;
35.数据存储模块用于存储更新运动任务模块发送的运动任务数据以及动作准备模块发送的动作准备信息。
36.本发明一种机器人的运动控制方法及系统的技术效果和优点:
37.本发明通过将机器人的多个同一工序阶段的指令动作进行拆分,根据拆分结果确定相同步骤的工序,并在机器人未接收到下一步指令信号前,执行相同工序进行动作准备,从而能够在接收到下一步指令信号后能够快速执行相关工序,提高了整体工作效率。
附图说明
38.图1为本发明一种机器人的运动控制方法流程图;
39.图2为本发明确定机器人下一运动任务均要进行的运动步骤的方法流程图;
40.图3为本发明一种机器人的运动控制系统的结构示意图。
具体实施方式
41.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.实施例1
43.本发明一种机器人的运动控制方法,通过将机器人的多个同一工序阶段的指令动作进行拆分,根据拆分结果确定相同步骤的工序,并在机器人未接收到下一步指令信号前,执行相同工序进行动作准备,从而能够在接收到下一步指令信号后能够快速执行相关工序,提高了整体工作效率。
44.图1给出了本发明机器人的运动控制方法的流程图,其包括如下步骤:
45.步骤s1,机器人接收运动任务,执行相应的运动任务。
46.步骤s2,机器人执行完运动任务后,根据执行目标进行运动校正。
47.步骤s3,机器人等待下一运动任务,并进行下一控制命令的动作准备。
48.步骤s4,机器人接收到下一运动任务,执行相应的运动任务。
49.具体的,本发明各步骤详细过程如下:
50.在步骤s1中,机器人接收到用户输入的运动任务是指其接收的第一个运动任务,并根据该运动任务进行相应运动,由于机器人的可能具有多个运动任务,机器人依次根据不同的运动任务进行相应运动。
51.在实际应用中的机器人,其待执行的运动任务可能为预先编排的,可能是用户临时输入。对于本发明中该机器人所接收的运动指令均为用户临时输入而来的。
52.在步骤s2中,机器人执行完运动任务后,根据步骤s1中接收的用户输入的运动任务,先确定执行目标,再将执行结果与执行目标进行比对,将执行误差进行消除,从而完成
运动校正。
53.对于执行目标,其一般可为“某个地点”、“某个物品”、“某个动作加某个物品”等等,机器人执行完指定操作后,确认执行目标完成的是否有偏差,并根据偏差进行进一步运动校正,消除运动偏差。
54.通过步骤s2消除误差,从而能确保接收到下一运动任务后,能够精确完成下一运动任务,避免由于执行上一运动任务的误差导致的不能有效执行下一运动任务。
55.在步骤s3中,机器人将在完成步骤s1指定的运动指令后,先判断是否接收到下一运动任务,当未接收到下一运动任务时,进行动作准备。
56.步骤s3中,机器人动作准备即机器人为了下一运动任务进行提前操作,从而缩短机器人对于下一运动任务的操作时间,能够使得机器人运动更为流畅的同时,加快机器人的运行效率。
57.由于机器人其在完成运动任务,能够进行多个命令操作,因此,当未接收到下一运动任务时,一般情况下,机器人会出现停顿现象,等待下一运动任务。
58.本实施例中,将机器人下一阶段可能进行的运动操作进行步骤拆分,即将各个可能进行的运动操作先按照机器人的操作步骤进行拆分后,再进行比对分析,最终确定动作准备所需要执行的运动步骤。
59.需要说明的是,对将各个可能进行的运动操作先按照机器人的操作步骤进行拆分时,其是按最小操作步骤来进行拆分,以抓取运动为例,假设下一运动目标为将机器人机械臂移动至抓取目标处,则将该运动操作分解为,以机器人为中心建立空间直角坐标系,将机器人机械臂依次向x,y,z三个方向移动若干距离,使其到达抓取目标处。如图2所示,对机器人运动操作进行步骤拆分的方法如下:
60.步骤s3.1.以机器人为中心建立空间直角坐标系;
61.步骤s3.2.确定机器人下一阶段可能进行的运动操作均涉及的机器人部件;
62.步骤s3.3.确定运动操作均涉及的机器人部件所要到达的目标位置在空间直角坐标系中的位置;
63.步骤3.4.根据目标位置,将涉及的机器人部件的运动轨迹分解为向x,y,z三个方向移动若干距离,从而完成整体的步骤拆分。
64.需要说明的是,机器人可能包括多个部件,例如头部、手部、躯干、脚部等,对应于机器人的各个部位,可以通过伺服电机,例如舵机来进行控制其运动。
65.步骤s3.5将机器人下一运动任务所有可能发生的运动操作进行拆分后,从起始步骤开始依次判断各运动任务之间的重合部分,该重合部分即为步骤s3中的动作准备涉及的运动部分。
66.以直行运动为例,假设机器人下一运动任务可能发生的运动操作有两种,分别为动作a和动作b,动作a下一运动任务为向x方向移动1m,动作b下一运动任务为向x方向移动2m,则该两种运动操作的重合部分为向x方向移动1m,即机器人在等待下一运动任务时的动作准备为向x方向移动1m。
67.需要注意的是,若拆分后的运动轨迹具有顺序,则也需按照顺序进行比较重合确定动作准备涉及的运动部分,例如动作a拆分后的运动轨迹为,某部件向x方向移动3m后再向y方向移动2m,动作b拆分后的运动轨迹为,某部件向x方向移动1m后再向y方向移动2m,则
此时重合部分为某部件向x方向移动1m,即动作准备涉及的运动操作为某部件向x方向移动1m。
68.若拆分后的运动轨迹不具有顺序,则重合部分不参照步骤顺序将所有重合的运动轨迹进行整合后确定动作准备涉及的运动部分,例如动作a拆分后的运动轨迹为,某部件向x方向移动3m且向y方向移动2m,动作b拆分后的运动轨迹为,某部件向x方向移动1m且向y方向移动2m,则此时重合部分为某部件向x方向移动1m且向y方向移动2m,即动作准备涉及的运动操作为某部件向x方向移动1m向y方向移动2m。
69.本发明通过拆分机器人下一阶段可能进行的运动操作后,再将各拆分运动轨迹进行比对重合,确定动作准备所涉及的运动部分。从而能够在接收到下一运动任务后,缩短下一阶段的运动过程,提高机器人的运行效率。
70.需要说明的是,由于机器人每一阶段能够进行控制指令大多不变,因此只需在每一运动阶段进行比对一次,便能够再下次到达该阶段时直接进行动作准备。
71.在步骤s4中,机器人接收到下一运动任务后,根据涉及的机器人部件的现在位置状态,确定其未完成行程,并将未完成行程替换成下一个待执行的运动任务的目标行程。从而提高机器人的运行效率。
72.在一个可选的例子中,上述机器人对执行完上一运动任务的校正与对下一运动任务的动作准备是分为两个步骤进行,从而不可避免会造成机器人在运动校正与动作准备之间的切换停顿,因此,本发明机器人还会根据对运动校正与动作准备所涉及的运动过程进行判断,确定其二者所涉及的部件是否有冲突,若涉及的部件运动无关联,则在进行运动校正时,也进行动作准备,从而进一步加快机器人的运行效率。
73.在一个可选的例子中,虽然各个机器人每个阶段可执行的运动任务可能种类繁多,但各个运动任务其执行的概率并不完全相同,因此,本实施例中,还对机器人每个阶段的可能进行的运动任务进一步的分析,根据分析结果确定动作准备方案,具体分析过程如下:
74.1.设置有效数据集合,并统计有效数据集合内各个机器人各阶段可执行的运动任务实际执行数量,并根据各个可执行运动任务实际执行次数,进行权重赋值。
75.例如,设置有效数据集合为近100次该阶段运动任务选择,可执行的运动任务设置为任务a、任务b和任务c,则对任务a、任务b和任务c在近100次任务选择中的次数进行统计,并分别标定为na、nb、nc,则对于任务a的权重则为na/(na+nb+nc),即na/100,任务b和任务c的权重分别为nb/100以及nc/100。
76.2.设定权重参照值rv1与rv2,其中rv1》rv2,分别将可执行的运动任务权重与权重参照值rv1与rv2进行比较,若有可执行的运动任务权重小于权重参照值rv2,则说明该可执行任务执行的概率极小,对于该部分运动任务则不进行运动任务的重合比较;若有可执行的运动任务权重大于权重参照值rv1,则说明该运动任务执行概率极高,此时动作准备不根据各个可执行任务的重合部分进行,只进行大于权重参照值rv1的运动任务所涉及的步骤;若没有可执行的运动任务权重大于权重参照值rv1,则对运动任务权重在rv1与rv2之间的可执行任务进行拆分,并确定重合部分,将重合部分确定为动作准备涉及的运动部分。
77.需要说明的是,当有运动任务大于权重参照值rv1时,设定执行百分比,即动作准备为该运动任务设定的执行百分比部分。具体的执行百分比,根据实际需要设定,例如,执
行百分比为50,即动作准备为该运动任务设计步骤的前百分之五十,假设该运动任务为某部件向x方向移动2m,则此时动作准备为向x方向移动1m。
78.另外,本发明中权重参照值rv1与rv2也根据实际情况设定,例如,rv1为0.95,rv2为0.05,即当可执行运动任务执行概率大于百分之95时,动作准备才只进行该运动任务所涉及的步骤,当执行运动任务执行概率小于百分之5时,比较计算重合步骤时,不计入该运动任务的步骤。
79.在一个可选的例子中,机器人在不同运行场景下,其执行运动任务的选择偏向也有所不同,例如搬运机器人在高架货物存储区与低架货物存储区其到达货架处运动任务偏向有所不同,本发明在确定各可执行运动任务权重时,还将其按照不同运行场景进行分类,即为机器人设定i个不同的运行场景,i为正整数,且i大于等于1,分别标定为i 1、i2至i n;分别对机器人根据不同运行场景设定有效数据集合,例如,有效数据集合为i2场景下近100次该阶段运动任务选择。
80.从而通过将机器人划分在不同运行场景中,更能准确预测反应各阶段机器人将要执行的运动任务概率,从而使得动作准备更加具有效率。
81.实施例2
82.本发明实施例2与实施例1的区别在于,本实施例介绍了一种机器人的运动控制系统。
83.图3给出了本发明机器人的运动控制系统的结构示意图,其包括处理器以及与处理器通讯连接的运动任务模块、运动校正模块、动作准备模块以及数据存储模块。
84.处理器用于生成运动控制指令,用于处理来自机器人的运动控制系统的各个模块发送的数据或信号。例如向运动任务模块发送运动任务,向运动校正模块发出运动校正信号等等。
85.运动任务模块接收到处理器发出的运动任务后,执行该运动任务,并在执行任务完毕后,向处理器发送执行完毕信号,处理器根据该信号向运动校正模块发出运动校正信号以及向动作准备模块发送动作准备信号;并通过处理器向数据存储模块发送该次运动任务数据进行保存。
86.运动校正模块接收到处理器发出运动校正信号后,根据运动任务目标,对执行结果进行校正。运动校正模块还调用来自数据存储模块存储的动作准备信息,判断自身的运动校正与动作准备有无涉及部位,根据判断结果进行运动合并。
87.动作准备模块接收到处理器发出的动作准备信号时,调用数据存储模块存储的各阶段运动任务数据,确定等待下一运动任务期间所要执行的运动步骤,并控制机器人进行相应运动,同时将该运动步骤信息发送至数据存储模块进行存储。
88.数据存储模块用于存储更新运动任务模块发送的运动任务数据以及动作准备模块发送的动作准备信息。
89.需要说明的是,本发明运动校准模块进行自身的运动校正与动作准备有无涉及部位判断时,调用的是某一场景下数据存储模块存储的前一次动作准备模块发送的动作准备信息,由于机器人每一阶段能够进行控制指令大多不变,动作准备信息一般只需在每一运动阶段进行确认一次,便能够再下次到达该阶段时直接进行动作准备,因此运动校准模块调用的是某一场景下数据前一次动作准备模块发送的动作准备信息具有准确性。
90.同时,本发明对于执行结果的校正采用常规校正手段进行校正,例如采用视觉定位纠偏等,在此不做赘述。
91.上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。
92.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
93.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
94.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
95.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
96.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
97.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-on ly memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
98.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
99.最后:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1