机器人控制、轨迹衔接与平滑处理的方法及系统与流程

文档序号:29255775发布日期:2022-03-16 11:06阅读:474来源:国知局
机器人控制、轨迹衔接与平滑处理的方法及系统与流程

1.本发明涉及机器人技术领域,具体地,涉及一种机器人控制、轨迹衔接与平滑处理的方法及系统。


背景技术:

2.机器人是一种高精度,多输入多输出,高度非线性,强耦合的复杂系统,因其具备的自动化属性,使得机器人在工业制造、医学治疗、半导体制造以及太空探索等领域都发挥举足轻重的功能。传统机器人的控制器采用实时控制系统,控制周期非常短,因此能够实现高精度的同时也具备稳定的功能性能,同时其工作任务简单,传统机器人控制架构能够很好的满足单一重复的应用场景需求,如工厂的上下料,机器人仅需要不断重复固定路径即可。但是随着机器人应用的普及,其面对的应用场景也变得越来越复杂,单一的实时控制系统框架已经不能满足复杂场景的使用需求,因此机器人的控制系统架构升级势在必行。
3.面对复杂的应用场景,机器人智能规划技术越来越多的被开发并被机器人控制系统使用,但是机器人规划是一个实时性要求很低的操作,不需要按照既定频率在指定时间内完成运动规划,而是需要在尽可能短的时间内针对不同任务完成机器人运动规划并返回规划结果。因此,机器人控制系统框架需要包含实时进程与非实时进程,其中实时进程主要用于机器人控制,非实时进程主要用于机器人运动规划,而连接非实时进程与实时进程的桥梁就显得尤为重要了。
4.本专利发明了一种包含实时进程与非实时进程的控制系统框架,与传统机器人控制系统相比,实时进程既保证了机器人控制的稳定性与精确性,而非实时进程又能提高机器人的智能性与适应性,满足复杂应用场景使用的需求。同时,本专利在上述控制系统框架内,针对运动轨迹在非实时进程与实时进程之间的传递,发明了一种轨迹拼接与平滑处理方法,保证了最终实时进程中运动轨迹的平滑性。
5.专利文献cn106863306b(申请号:cn201710209885.x)公开了一种机器人关节空间平滑轨迹规划方法,包括步骤:首先,由机器人运动学逆解算法,实现机器人笛卡尔空间运动轨迹向关节空间运动轨迹的映射,获得关节空间关键插补点;然后,依据机器人各个关节的最大速度约束,调整笛卡尔插补周期;接着,借助三次多项式曲线进行关节空间关键插补点的角速度和角加速度估计,为下一步的五次样条曲线拟合提供条件;最后,从第一个关节空间关键插补点开始,依次使用相邻两个关节空间关键插补点构造五次样条曲线,作为关节空间的运动轨迹,再进行关节空间插补。但该发明没有避免机器人出现“急停急起”危险工况。


技术实现要素:

6.针对现有技术中的缺陷,本发明的目的是提供一种机器人控制、轨迹衔接与平滑处理的方法及系统。
7.根据本发明提供的一种机器人控制方法,包括:
8.步骤s1:根据显示的状态以及工作需求,通过交互界面下发任务指令;
9.步骤s2:运动规划模块接收到任务指令,结合机器人当前状态对机器人进行运动规划,并通过交互界面反馈规划结果;
10.如果规划失败,不产生规划路径,机器人保持静止状态,终止运行;
11.如果规划成功,将规划路径发送至轨迹衔接与平滑处理模块,运行步骤s3;
12.步骤s3:轨迹规划与平滑处理模块接收到规划路径,自动生成满足实时进程采样周期的平滑轨迹并下发至伺服系统;
13.步骤s4:伺服系统执行平滑轨迹,控制机器人各关节按照平滑轨迹运动。
14.优选地,由实时进程与非实时进程构成,其中:
15.实时进程负责机器人运动轨迹拼接与平滑处理,并将平滑轨迹发送至机器人伺服系统,控制机器人各关节运动;
16.非实时进程负责针对工作任务的机器人运动规划,以及人机交互信息的处理,保证整个机器人控制系统的稳定性。
17.优选地,在非实时进程与实时进程中间添加心跳实时检测,避免出现因通信不稳定导致的机器人运动轨迹突变;心跳检测持续进行,每隔一个实时进程采样周期,非实时进程中的心跳发生模块都会产生一个新的心跳数字并下发至实时进程中的心跳检测模块,当心跳检测模块发现连续两个采样周期该心跳数字均未发生变化,则表明实时进程与非实时进程通信故障,机器人停止运动。
18.根据本发明提供的一种机器人控制系统,包括:
19.模块m1:根据显示的状态以及工作需求,通过交互界面下发任务指令;
20.模块m2:运动规划模块接收到任务指令,结合机器人当前状态对机器人进行运动规划,并通过交互界面反馈规划结果;
21.如果规划失败,不产生规划路径,机器人保持静止状态,终止运行;
22.如果规划成功,将规划路径发送至轨迹衔接与平滑处理模块,运行模块m3;
23.模块m3:轨迹规划与平滑处理模块接收到规划路径,自动生成满足实时进程采样周期的平滑轨迹并下发至伺服系统;
24.模块m4:伺服系统执行平滑轨迹,控制机器人各关节按照平滑轨迹运动。
25.优选地,由实时进程与非实时进程构成,其中:
26.实时进程负责机器人运动轨迹拼接与平滑处理,并将平滑轨迹发送至机器人伺服系统,控制机器人各关节运动;
27.非实时进程负责针对工作任务的机器人运动规划,以及人机交互信息的处理,保证整个机器人控制系统的稳定性。
28.优选地,在非实时进程与实时进程中间添加心跳实时检测,避免出现因通信不稳定导致的机器人运动轨迹突变;心跳检测持续进行,每隔一个实时进程采样周期,非实时进程中的心跳发生模块都会产生一个新的心跳数字并下发至实时进程中的心跳检测模块,当心跳检测模块发现连续两个采样周期该心跳数字均未发生变化,则表明实时进程与非实时进程通信故障,机器人停止运动。
29.根据本发明提供的一种基于机器人控制系统下的轨迹衔接与平滑处理的系统,包括:
30.实时轨迹平滑处理模块:将实时进程与非实时进程中关于运动轨迹进行同步;
31.非实时轨迹平滑处理模块:先将非实时轨迹转化为实时轨迹,再将实时进程与非实时进程中关于运动轨迹进行同步,产生可供伺服系统使用的平滑轨迹。
32.优选地,所述实时轨迹平滑处理模块:
33.由于实时进程与非实时进程的运行速率不一致,在同步两进程之间的轨迹时添加一段缓冲队列,根据机器人硬件性能以及任务需求设置该缓冲队列大小,运动规划共产生了n个轨迹点,设置该缓冲队列存储m个机器人运动轨迹点,非实时进程向该队列尾部添加轨迹点,当该缓冲队列填满后,实时进程从该队列首部取走轨迹点并下发至伺服系统,进一步的整个轨迹点向前移动,直至完成运动规划产生的所有轨迹点;
34.所述非实时轨迹平滑处理模块:
35.运动规划共产生了m个非实时轨迹点,根据机器人硬件性能以及任务需求,从非实时轨迹点中选取k个轨迹点用于生成实时轨迹,采用三次多项式插值算法用于生成实时轨迹,将生成的实时轨迹放置于上述缓冲队列中,实时进程从该队列首部取走轨迹点并下发至伺服系统,进一步的整个实时轨迹点向前移动,当缓冲队列为空时,再次将k个非实时轨迹点生成实时轨迹点,重复上述步骤,直至完成运动规划所产生的所有轨迹点。
36.根据本发明提供的一种基于机器人控制方法下的轨迹衔接与平滑处理的方法,包括:
37.步骤a1:如果是非实时轨迹平滑处理,将非实时轨迹转化为实时轨迹;如果是实时轨迹平滑处理,直接进入步骤a2:
38.步骤a2:将实时进程与非实时进程中关于运动轨迹进行同步,产生可供伺服系统使用的平滑轨迹。
39.优选地,所述实时轨迹平滑处理:
40.由于实时进程与非实时进程的运行速率不一致,在同步两进程之间的轨迹时添加一段缓冲队列,根据机器人硬件性能以及任务需求设置该缓冲队列大小,运动规划共产生了n个轨迹点,设置该缓冲队列存储m个机器人运动轨迹点,非实时进程向该队列尾部添加轨迹点,当该缓冲队列填满后,实时进程从该队列首部取走轨迹点并下发至伺服系统,进一步的整个轨迹点向前移动,直至完成运动规划产生的所有轨迹点;
41.所述非实时轨迹平滑处理:
42.运动规划共产生了m个非实时轨迹点,根据机器人硬件性能以及任务需求,从非实时轨迹点中选取k个轨迹点用于生成实时轨迹,采用三次多项式插值算法用于生成实时轨迹,将生成的实时轨迹放置于上述缓冲队列中,实时进程从该队列首部取走轨迹点并下发至伺服系统,进一步的整个实时轨迹点向前移动,当缓冲队列为空时,再次将k个非实时轨迹点生成实时轨迹点,重复上述步骤,直至完成运动规划所产生的所有轨迹点。
43.与现有技术相比,本发明具有如下的有益效果:
44.1、本发明提升了机器人的适应性与智能性,降低了机器人对环境的强依赖,在面对复杂的周边环境时,也能保证机器人正常工作;
45.2、本发明提升机器人智能性的同时也保证了其稳定性,通过对规划路径的平滑处理,保证机器人工作时的流畅性;
46.3、本发明避免了机器人出现“急停急起”危险工况,提高机器人使用寿命。
附图说明
47.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
48.图1为机器人控制系统架构图;
49.图2为机器人控制系统工作流程图;
50.图3为实时轨迹处理流程图。
具体实施方式
51.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
52.实施例1:
53.根据本发明提供的一种机器人控制方法,如图1-图3所示,包括:
54.步骤s1:根据显示的状态以及工作需求,通过交互界面下发任务指令;
55.步骤s2:运动规划模块接收到任务指令,结合机器人当前状态对机器人进行运动规划,并通过交互界面反馈规划结果;
56.如果规划失败,不产生规划路径,机器人保持静止状态,终止运行;
57.如果规划成功,将规划路径发送至轨迹衔接与平滑处理模块,运行步骤s3;
58.步骤s3:轨迹规划与平滑处理模块接收到规划路径,自动生成满足实时进程采样周期的平滑轨迹并下发至伺服系统;
59.步骤s4:伺服系统执行平滑轨迹,控制机器人各关节按照平滑轨迹运动。
60.具体地,由实时进程与非实时进程构成,其中:
61.实时进程负责机器人运动轨迹拼接与平滑处理,并将平滑轨迹发送至机器人伺服系统,控制机器人各关节运动;
62.非实时进程负责针对工作任务的机器人运动规划,以及人机交互信息的处理,保证整个机器人控制系统的稳定性。
63.具体地,在非实时进程与实时进程中间添加心跳实时检测,避免出现因通信不稳定导致的机器人运动轨迹突变;心跳检测持续进行,每隔一个实时进程采样周期,非实时进程中的心跳发生模块都会产生一个新的心跳数字并下发至实时进程中的心跳检测模块,当心跳检测模块发现连续两个采样周期该心跳数字均未发生变化,则表明实时进程与非实时进程通信故障,机器人停止运动。
64.实施例2:
65.实施例2为实施例1的优选例,以更为具体地对本发明进行说明。
66.本领域技术人员可以将本发明提供的一种机器人控制方法,理解为机器人控制系统的具体实施方式,即所述机器人控制系统可以通过执行所述机器人控制方法的步骤流程予以实现。
67.根据本发明提供的一种机器人控制系统,包括:
68.模块m1:根据显示的状态以及工作需求,通过交互界面下发任务指令;
69.模块m2:运动规划模块接收到任务指令,结合机器人当前状态对机器人进行运动规划,并通过交互界面反馈规划结果;
70.如果规划失败,不产生规划路径,机器人保持静止状态,终止运行;
71.如果规划成功,将规划路径发送至轨迹衔接与平滑处理模块,运行模块m3;
72.模块m3:轨迹规划与平滑处理模块接收到规划路径,自动生成满足实时进程采样周期的平滑轨迹并下发至伺服系统;
73.模块m4:伺服系统执行平滑轨迹,控制机器人各关节按照平滑轨迹运动。
74.具体地,由实时进程与非实时进程构成,其中:
75.实时进程负责机器人运动轨迹拼接与平滑处理,并将平滑轨迹发送至机器人伺服系统,控制机器人各关节运动;
76.非实时进程负责针对工作任务的机器人运动规划,以及人机交互信息的处理,保证整个机器人控制系统的稳定性。
77.具体地,在非实时进程与实时进程中间添加心跳实时检测,避免出现因通信不稳定导致的机器人运动轨迹突变;心跳检测持续进行,每隔一个实时进程采样周期,非实时进程中的心跳发生模块都会产生一个新的心跳数字并下发至实时进程中的心跳检测模块,当心跳检测模块发现连续两个采样周期该心跳数字均未发生变化,则表明实时进程与非实时进程通信故障,机器人停止运动。
78.实施例3:
79.实施例3为实施例1的优选例,以更为具体地对本发明进行说明。
80.根据本发明提供的一种基于机器人控制系统下的轨迹衔接与平滑处理的系统,包括:
81.实时轨迹平滑处理模块:将实时进程与非实时进程中关于运动轨迹进行同步;
82.非实时轨迹平滑处理模块:先将非实时轨迹转化为实时轨迹,再将实时进程与非实时进程中关于运动轨迹进行同步,产生可供伺服系统使用的平滑轨迹。
83.具体地,所述实时轨迹平滑处理模块:
84.由于实时进程与非实时进程的运行速率不一致,在同步两进程之间的轨迹时添加一段缓冲队列,根据机器人硬件性能以及任务需求设置该缓冲队列大小,运动规划共产生了n个轨迹点,设置该缓冲队列存储m个机器人运动轨迹点,非实时进程向该队列尾部添加轨迹点,当该缓冲队列填满后,实时进程从该队列首部取走轨迹点并下发至伺服系统,进一步的整个轨迹点向前移动,直至完成运动规划产生的所有轨迹点;
85.所述非实时轨迹平滑处理模块:
86.运动规划共产生了m个非实时轨迹点,根据机器人硬件性能以及任务需求,从非实时轨迹点中选取k个轨迹点用于生成实时轨迹,采用三次多项式插值算法用于生成实时轨迹,将生成的实时轨迹放置于上述缓冲队列中,实时进程从该队列首部取走轨迹点并下发至伺服系统,进一步的整个实时轨迹点向前移动,当缓冲队列为空时,再次将k个非实时轨迹点生成实时轨迹点,重复上述步骤,直至完成运动规划所产生的所有轨迹点。
87.实施例4:
88.实施例4为实施例1的优选例,以更为具体地对本发明进行说明。
89.本领域技术人员可以将本发明提供的一种轨迹衔接与平滑处理方法,理解为轨迹
衔接与平滑处理系统的具体实施方式,即所述轨迹衔接与平滑处理系统可以通过执行所述轨迹衔接与平滑处理方法的步骤流程予以实现。
90.根据本发明提供的一种基于机器人控制方法下的轨迹衔接与平滑处理的方法,包括:
91.步骤a1:如果是非实时轨迹平滑处理,将非实时轨迹转化为实时轨迹;如果是实时轨迹平滑处理,直接进入步骤a2:
92.步骤a2:将实时进程与非实时进程中关于运动轨迹进行同步,产生可供伺服系统使用的平滑轨迹。
93.具体地,所述实时轨迹平滑处理:
94.由于实时进程与非实时进程的运行速率不一致,在同步两进程之间的轨迹时添加一段缓冲队列,根据机器人硬件性能以及任务需求设置该缓冲队列大小,运动规划共产生了n个轨迹点,设置该缓冲队列存储m个机器人运动轨迹点,非实时进程向该队列尾部添加轨迹点,当该缓冲队列填满后,实时进程从该队列首部取走轨迹点并下发至伺服系统,进一步的整个轨迹点向前移动,直至完成运动规划产生的所有轨迹点;
95.所述非实时轨迹平滑处理:
96.运动规划共产生了m个非实时轨迹点,根据机器人硬件性能以及任务需求,从非实时轨迹点中选取k个轨迹点用于生成实时轨迹,采用三次多项式插值算法用于生成实时轨迹,将生成的实时轨迹放置于上述缓冲队列中,实时进程从该队列首部取走轨迹点并下发至伺服系统,进一步的整个实时轨迹点向前移动,当缓冲队列为空时,再次将k个非实时轨迹点生成实时轨迹点,重复上述步骤,直至完成运动规划所产生的所有轨迹点。
97.实施例5:
98.实施例5为实施例1的优选例,以更为具体地对本发明进行说明。
99.本专利中的机器人控制系统由实时进程与非实时进程两个模块构成,其中:
100.实时进程主要负责机器人运动轨迹拼接与平滑处理,并将平滑轨迹发送至机器人伺服系统,控制机器人各关节运动;
101.非实时进程主要负责针对工作任务的机器人运动规划,以及人机交互信息的处理。为保证整个机器人控制系统的稳定性。
102.在非实时进程与实时进程中间添加心跳实时检测,避免出现因通信不稳定导致的机器人运动轨迹“突变”,机器人控制系统框架如图1所示。
103.从机器人控制系统框架图中的数据流可以看出完整的工作流程如下所示:
104.1)工作人员根据交互界面显示的状态以及工作需求,通过交互界面下发任务指令;
105.2)运动规划模块在接收到工作任务需求后,再结合机器人当前状态对机器人进行运动规划,并通过交互界面反馈规划结果。如果规划失败,那么不产生规划路径,即机器人保持静止状态;如果规划成功,那么将规划路径发送至轨迹衔接与平滑处理模块;
106.3)轨迹规划与平滑处理模块接收规划路径后,自动生成满足实时进程采样周期的平滑轨迹并下发至伺服系统;
107.4)伺服系统执行平滑轨迹,控制机器人各关机按照平滑轨迹运动。
108.需要指出的是,在机器人控制系统工作流程中,一直持续进行心跳检测:每隔一个
实时进程采样周期,非实时进程中的心跳发生模块都会产生一个新的心跳数字并下发至实时进程中的心跳检测模块,当心跳检测模块发现连续两个采样周期该心跳数字均未发生变化,则表明实时进程与非实时进程通信故障,机器人停止运动。机器人控制系统详细的工作流程如图2所示。
109.本专利中涉及到的运动规划生成的轨迹包含两种:实时轨迹与非实时轨迹。一般而言,轨迹包含了路径点位置、速度、加速度以及相应时间信息,实时运动轨迹是指该轨迹中所有路径点位置对应的时间其时间间隔一致且很小,通常是在毫秒级别,而非实时轨迹是指所有路径点位置对应的时间其时间间隔不一致。因此本专利中的轨迹平滑处理包含了两种情况。
110.1)实时轨迹平滑处理
111.因为运动规划产生的实时轨迹已经保证了其平滑性,所以实时轨迹平滑处理只需要考虑实时进程与非实时进程中关于运动轨迹的同步问题,由于实时进程与非实时进程的运行速率不一致,通常而言实时进程速度更加快,在同步两进程之间的轨迹时需要添加一段缓冲队列。根据机器人硬件性能以及任务需求设置该缓冲队列大小,假设运动规划共产生了n个轨迹点,可设置该缓冲队列能存储m个机器人运动轨迹点,非实时进程向该队列尾部添加轨迹点,当该缓冲队列填满后,实时进程从该队列首部取走轨迹点并下发至伺服系统,进一步的整个轨迹点向前移动,直至完成运动规划产生的所有轨迹点,其工作流程如图3所示。
112.2)非实时轨迹平滑处理
113.对于非实时轨迹,可考虑先将非实时轨迹转化为实时轨迹,再用上述实时轨迹处理方法来产生可供伺服系统使用的平滑轨迹。
114.假设运动规划共产生了m个非实时轨迹点,根据机器人硬件性能以及任务需求,从非实时轨迹点中选取k个轨迹点用于生成实时轨迹,本专利采用三次多项式插值算法用于生成实时轨迹。将生成的实时轨迹放置于上述缓冲队列中,实时进程从该队列首部取走轨迹点并下发至伺服系统,进一步的整个实时轨迹点向前移动,当缓冲队列为空时,再次将k个非实时轨迹点生成实时轨迹点,重复上述步骤,直至完成运动规划所产生的所有轨迹点。
115.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
116.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1