CN116408790A - 机器人控制方法、装置、***及存储介质 - Google Patents

机器人控制方法、装置、***及存储介质 Download PDF

Info

Publication number
CN116408790A
CN116408790A CN202111673300.2A CN202111673300A CN116408790A CN 116408790 A CN116408790 A CN 116408790A CN 202111673300 A CN202111673300 A CN 202111673300A CN 116408790 A CN116408790 A CN 116408790A
Authority
CN
China
Prior art keywords
target
positioning information
robot
control period
tool
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111673300.2A
Other languages
English (en)
Other versions
CN116408790B (zh
Inventor
贾兴华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Midea Group Co Ltd
Guangdong Midea White Goods Technology Innovation Center Co Ltd
Original Assignee
Midea Group Co Ltd
Guangdong Midea White Goods Technology Innovation Center Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Midea Group Co Ltd, Guangdong Midea White Goods Technology Innovation Center Co Ltd filed Critical Midea Group Co Ltd
Priority to CN202111673300.2A priority Critical patent/CN116408790B/zh
Priority claimed from CN202111673300.2A external-priority patent/CN116408790B/zh
Priority to PCT/CN2022/135707 priority patent/WO2023124735A1/zh
Publication of CN116408790A publication Critical patent/CN116408790A/zh
Application granted granted Critical
Publication of CN116408790B publication Critical patent/CN116408790B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

一种机器人控制方法、装置、***及存储介质,所述方法包括:根据获取当前控制周期中所述工具末端的定位信息和所述目标的定位信息,预测下一控制周期中所述工具末端的定位信息和所述目标的定位信息,根据预测结果生成控制信号并发送给所述机器人,使所述工具末端能够跟踪到所述目标。本公开还提供了实现所述机器人控制方法的装置、***和存储介质。本公开实施例可以在图像采集设备的帧率较低的情况下,提高机器人的控制精度。

Description

机器人控制方法、装置、***及存储介质
技术领域
本公开涉及人工智能领域,更具体地,涉及一种机器人控制方法、装置、***及存储介质。
背景技术
工业机机器人在出现之后大大促进了工业产线的自动化进程。传感器,例如力学、激光传感器的引入,为机器人赋予了更多的能力,使机器人能简单的获取目标的一些诸如扭矩,简单形状等信息,从而机器人能够进行一些更加复杂的工作。
但是,随着工业场景的进化发展,应用场景变得越来越复杂;特别是一些柔性的生产线,不仅需要机器人能够按照预设的轨迹进行操作,还要求机器人能够在线识别动态的目标以及所处的环境,从而完成对目标的操作。目标的机器人还不能够很好的适应这种需求。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本公开实施例提供了一种机器人控制方法,所述机器人用于使用工具末端对目标进行预定操作;所述机器人控制方法包括:
获取当前控制周期中所述工具末端的定位信息和所述目标的定位信息;
根据当前控制周期中所述工具末端的定位信息和所述目标的定位信息,预测下一控制周期中所述工具末端的定位信息和所述目标的定位信息;
根据下一控制周期中所述工具末端的定位信息和所述目标的定位信息生成控制信号并发送给所述机器人,使所述工具末端能够跟踪到所述目标。
本公开实施例还提供了一种机器人控制装置,包括存储器和处理器,所述存储器中保存有计算机程序,所述处理器执行所述计算机程序时能够实现如本公开任一实施例所述的机器人控制方法。
本公开实施例还提供了一种机器人控制***,包括:
目标检测装置,设置为获得目标的检测结果;
上位机,执行如本公开任一实施例所述的机器人控制方法;其中,根据当前控制周期中所述目标检测装置的检测结果,来获取当前控制周期中所述目标的定位信息。
本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于保存对机器人进行控制的程序;所述对机器人进行控制的程序被处理器读取执行时,实现如本公开任一实施例所述的机器人控制方法。
本公开上述实施例可以在图像采集设备的帧率较低的情况下,提高机器人的控制精度。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
附图用来提供对本公开实施例的理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1为本公开实施例1中的机器人控制方法的流程图;
图2为本公开实施例2中的机器人控制方法的流程图;
图3为本公开实施例3中的机器人控制方法的流程图;
图4为本公开实施例4中的处理过程示意图;
图5为本公开实施例6中的机器人控制装置的示意图;
图6为本公开实施例7中的机器人控制***的示意图。
具体实施方式
本公开描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本公开所描述的实施例包含的范围内可以有更多的实施例和实现方案。
本公开的描述中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开中被描述为“示例性的”或者“例如”的任何实施例不应被解释为比其他实施例更优选或更具优势。本文中的“和/或”是对关联对象的关联关系的一种描述,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。“多个”是指两个或多于两个。另外,为了便于清楚描述本公开实施例的技术方案,使用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在描述具有代表性的示例性实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本公开实施例的精神和范围内。
为了解决柔性生产线的工业机器人的应用难题,一种解决方案是通过把动态场景转换为静态场景的方式来进行机器人控制。例如很多生产线采用了带节拍的方式进行操作,即目标进入工作区域后,生产线暂停,然后机器人进行操作,操作完成后,生产线重新启动。但是,将动态生产线临时暂停的方式,影响了整体产线的工作效率。
为了避免生产线的暂停,另一种相关技术中在工作区域设一个临时工作台,在目标进入工作区域后,将目标工件推入临时工作台,机器人在工作台上的静态场景下完成操作,之后再将目标重新推上生产线。虽然通过设置临时工作台的方式可以避免生产线的暂停,但是增加了生产线的复杂度和成本。
另一种方案为了能动态的装配各种零部件,采用随动装置,例如待目标进入工作区域后,会有一个带编码器的托盘负载着目标继续向前,而这个编码器能实时的提供目标的位置信息,然后机器人通过该位置信息实现对目标线性跟踪,在机器人和目标呈现相对静止的情况下,实现对目标的操作。但是,编码器只能提供一维的位置信息,而对于其他方向的位置变化没有监控,因此不能很好地向更广的动态生产线推广,同时编码器提供的位置信息会因为打滑等原因造成反馈位置信息的漂移,从而影响装配的成功率。
另外还存在一种采用高速相机飞拍的方式,能在短时间内获得目标的二维图像信息,通过简单的处理,即可以获得目标(例如包裹)粗略的二维位置信息,然后由专门的机器臂进行高速抓取。但是,所获得的二维位置信息的精度不高,且由于生产线的运动导致该二维位置信息存在延时误差,因此该种方式不适合高精度的装配等操作。
以上方法通过技术分解或场景特殊处理的方式使得机器人能够在一些特定的场景中得以应用。但是并不符合在动态柔性场景的大规模应用。
为了解决上述问题,可以考虑采用多排激光线扫相机快速获得目标的三维信息以指引机器人的运动。但是激光线扫相机的价格通常非常昂贵,并且使用三维信息用来做实时处理,对工控机的计算速度提出了压力,需要配置非常强大的计算资源,以及特定的优化处理的算法,因此软硬件成本大大增加,使得该种方案目前尚不能推广。
在一些动态的场景中,可以考虑采用高帧率闭环控制的方式来降低误差以实现高精度跟踪。但是为了实现高帧率(高控制频率)闭环控制,就需要对各个环节进行加速处理,提高响应速度;首先需要实现高速的视觉定位,从而对相机的图像采集速度、以及视觉算法的处理速度都提出了很高的要求.其次,控制算法必也必须足够快,并且能够跟机器人实现高速的通信,因此加大了控制算法的开发难度,并且需要在硬件层面采用真实时***,从而加大了研发成本。一般要达到0.5%的精度需要要求控制频率(帧率)在200Hz左右,但是加快控制频率(提高帧率)带来相机硬件成本和软件开发成本的急剧增加。
为了解决在低帧率的视觉反馈和控制节奏下,对动态目标如何实现高精度跟踪的难题,从而使得工业生产线上动态场景下的机器人高精度操作变为可能。本实施例提供了一种机器人的控制方法,其中,机器人的工具末端(比如但不限于夹爪等)可以用来对目标进行预定操作,如抓取等;目标可以但不限于是生产线上待加工的零部件等,该目标可以随生产线而移动,即该目标的位置是动态变化的。
如图1所示,本公开一实施例提供的机器人控制方法包括:
步骤110、获取目标在当前的控制周期中的定位信息,以及机器人的工具末端在当前控制周期中的定位信息;
步骤120、根据当前控制周期中所述工具末端的定位信息和所述目标的定位信息,预测下一控制周期中所述工具末端的定位信息和所述目标的定位信息;
步骤130、根据下一控制周期中所述工具末端的定位信息和所述目标的定位信息生成控制信号并发送给所述机器人,使所述工具末端能够跟踪到所述目标。
本实施例中,由于进行了运动预测,因此可以一定程度上克服低帧率情况下运动中的目标位置实时性不高的问题,另外根据所预测的目标和机器人工具末端在下一控制周期的位置,来生成对于机器人的控制指令,相当于进行了前置的位置补偿,因此可以提高低帧率情况下,机器人工具末端对于目标的跟踪精度。
本实施例中,控制周期的长度和控制频率f有关,是控制频率的倒数1/f;而控制频率和帧率相同,低帧率情况下,可以但不限于为20Hz,这样的控制频率并不需要响应速度大幅度提高,因此不会大幅度提高软硬件成本。
本实施例中,可以但不限于通过上位机来进行上述机器人控制方法。机器人工具末端的定位信息可以通过上位机和机器人之间的通信获得。当定位信息均是坐标时,通过预先完成的坐标系标定工作,可以将机器人所给出的坐标,与目标的定位信息所包含的坐标转换到同一个坐标系中。
本实施例中,需要获取定位信息的目标,可以是所控制的机器人将要操作的某个零部件或其它物体。机器人根据控制信号可以在下一个控制周期中进行相应的动作,比如按照控制信号所指示的移动参数移动工具末端,移动完成后进行指定动作(比如但不限于抓取)。
在本公开一示例性的实施例中,所述控制信号包含根据下一控制周期中所述工具末端的定位信息和所述目标的定位信息生成的移动参数,以控制所述机器人根据所述移动参数将所述工具末端移动到对所述目标进行操作的指定位置。其中,移动参数可以包括以下一种或多种参数:轨迹、距离、旋转方向、旋转角度等。
在本公开一种示例性的实施例中,所述获取当前控制周期中目标的定位信息,包括:
获得图像采集装置在当前控制周期中所拍摄的所述目标的图像;
根据所述目标的图像,采用训练好的深度神经网络对所述目标进行初始定位,得到初始定位结果;
根据所述初始定位结果提取特征点,与预设的特征点模板进行匹配,得到当前控制周期中所述目标的定位信息。
本实施例中,通过图像采集装置先拍摄目标的图像,然后将图像输入深度神经网络,可以进行粗略的初始定位。深度神经网络可以预先用大量样本图像进行训练,提高目标识别的鲁棒性。通过深度神经网络的输出结果,可以得到一个点或一个区域,这是目标的大致位置。接下来,要在此基础上进行更为精确的定位,在根据深度神经网络所获得的点或区域附近,再根据目标的特征,进行基于预设的模板的精确匹配,从而得到目标的高精度定位信息;为了提高匹配成功率,特征点尽量选择目标的角点或边缘,或目标上其它特征比较明显的区域。
本实施例中,目标的定位信息可以但不限于为坐标;该坐标可以为x、y、z三个轴上的三维位置坐标,或可以为三维位置坐标以及绕着三个轴的欧拉角坐标。当包含欧拉角坐标时,需要获取目标的三个不同平面上的点各自的三维位置坐标。
本公开一种示例性的实施例中,所述根据当前控制周期中所述工具末端的定位信息和所述目标的定位信息,预测下一控制周期中所述工具末端的定位信息和所述目标的定位信息,包括:
根据当前控制周期中,所述工具末端的定位信息和所述目标的定位信息得到当前时刻的状态Xk
采用卡尔曼滤波模型预测得到下一时刻的状态Xk+1,所述下一时刻的状态包括下一控制周期中所述工具末端的定位信息和所述目标的定位信息;
其中,下一时刻和当前时刻之间的时长dtk等于一个控制周期的时长Δt加上延时
Figure BDA0003453637850000071
该延时/>
Figure BDA0003453637850000072
为预设值或可以根据预设的延时模型计算得到。
本实施例中,采用Kalman Filter(卡尔曼滤波)模型进行预测,得到下一个控制周期中,目标和工具末端各自的定位信息。
假设定位信息均为坐标,目标的坐标为
Figure BDA0003453637850000073
其中xtyt zt at bt ct分别为三维位置坐标以及绕着三个轴的欧拉角;机器人工具末端的坐标为
Figure BDA0003453637850000074
其中xr yr zr ar br cr分别为机器人工具末端的三维位置坐标以及绕着三个轴的欧拉角。
为了实现对机器人的有效控制,就必须确保机器人和目标的坐标的实时性和准确性,但是由于受到传感器,特别是目标追踪传感器和图像处理速度影响,在低帧率情况下,所获得的目标的坐标往往会滞后于真实值。因此,本实施例中通过Kalman Filter实现对目标和机器人工具末端的位置的前置补偿,通过预测来纠正所获得的坐标值和真实值之间的误差。根据Kalman Filter的算法,状态方程和测量方程可以表示为:
Figure BDA0003453637850000075
Figure BDA0003453637850000076
Figure BDA0003453637850000081
Qk=0.1I,Wk=0.1I,I为一个6×6的单位矩阵,
Figure BDA0003453637850000082
分别为目标和机器人工具末端的速度和加速度,k为时刻的序号,Xk是k时刻的状态,即当前时刻(或者说当前控制周期)中,目标及机器人工具末端的坐标、速度和加速度;Xk+1是k+1时刻的状态,即下一时刻(或者说下一个控制周期)中,目标以及机器人工具末端的坐标、速度和加速度。
本实施例中,状态转移矩阵A中的时间变化量,即时刻k+1和时刻k间隔的时长,
Figure BDA0003453637850000083
Δt是在固定控制频率(固定帧率)下的时间间隔,可以写作Δt=1/f,其中f为控制频率(帧率),而/>
Figure BDA0003453637850000084
为***的延时,这里加上/>
Figure BDA0003453637850000085
可以看成是前置的时间补偿。
本实施例中,***的延时可以是一个预设值,可以采用经验值或仿真值等;或者该延时可以通过预设的延时模型计算得到。
在本公开一示例性的实施例中,定位信息可以包括位置坐标和角度坐标;所述根据下一控制周期中所述工具末端的定位信息和所述目标的定位信息生成控制信号包括:
根据下一控制周期中所述工具末端的定位信息和所述目标的定位信息,计算两者之间的位置坐标差值和角度坐标差值;
将位置坐标差值和角度坐标差值作为PID控制算法的输入,通过所述PID控制算法生成所述控制信号。
本实施例中,如果定位信息中仅有三维位置信息,不包含角度信息,依然可以用PID控制算法,根据机器人工具末端与目标之间的位置坐标差值,来生成要发给机器人的控制信号。
本公开一实施例还提供了一种机器人控制方法,如图2所示,包括:
步骤210、获取当前控制周期中所述工具末端的定位信息和所述目标的定位信息,根据预设的延时模型计算当前控制周期的延时;
步骤220、根据当前控制周期中所述工具末端的定位信息和所述目标的定位信息,预测第一时长后,所述工具末端的定位信息和所述目标的定位信息;
其中,所述第一时长等于一个控制周期的时长,加上步骤S210中计算出的当前控制周期的延时。
步骤230、根据下一控制周期中所述工具末端的定位信息和所述目标的定位信息生成控制信号并发送给所述机器人,使所述工具末端能够跟踪到所述目标。
本实施例中,第一时长可以看成是对相邻控制周期的间隔时长进行了前置的延时补偿后的结果,通过预测第一时长后的定位信息,而不是仅预测一个控制周期时长后的定位信息,可以将***本身带来的延时考虑在内,使得预测结果更为精准,从而提高目标跟踪的精确度。
本实施例中,如果步骤220中采用卡尔曼滤波进行预测,则可以用第一时长作为状态转移矩阵A中的时间变化量dtk。即,所预测的状态Xk+1和当前的状态Xk各自对应的时刻所间隔的时长为第一时长。
在本公开一示例性的实施例中,预设的延时模型包括:机器人延时模型和检测延时模型;
所述机器人延时模型用于得到当前控制周期中的第一延时;具体来说,以机器人收到控制信号为起始时刻,以机器人工具末端完成该控制信号所指示的动作为终止时刻,将这两个时刻之间的时长作为第一延时;
所述检测延时模型用于得到当前控制周期中,以检测目标的时刻为开始时刻,以得到目标的定位结果的时刻为终止时刻,将开始、终止时刻之间的时长作为第二延时;
当前控制周期的延时=第一延时+第二延时。
本实施例中,需要进行前置补偿的延时包含两个部分,一个是机器人本身执行所带来的延时,另一个是目标定位所带来的延时。
本实施例中,对于机器人延时模型,可以采用基于输入/输出数据驱动的方式来进行参数调整,比如设计一系列的指示机器人进行某个动作的控制信号,并实际观测机器人根据该控制信号进行运动的过程中,不同时刻工具末端的位置坐标,从而得到一个时间序列,并与该控制信号指示的动作进行时间上的对齐,从而可以得到机器人从得到控制信号开始到完成动作之间的延时。本实施例中,可以采用EM算法获得机器人延时模型的参数。在每个控制周期中,可以分别通过机器人延时模型,计算出当前控制周期的第一延时。
本实施例中,对于检测延时模型,主要是为了获得目标定位过程中的延时,通过多次实验,可以得到多组从开始检测到算法输出目标定位信息的延时,从而将检测延时模型的参数计算出来,这样在每个控制周期中,可以分别通过该检测延时模型,计算出当前控制周期的第二延时。
本实施例中,如果采用相机拍摄的方式来检测目标,进而进行目标定位,则检测延时模型为视觉延时模型;相机的图像拍摄通过外部触发的方式实现,在每次实验中,将完成目标拍摄并输出图像的时刻、通过目标定位算法获得目标的定位信息的时刻、以及输出目标的定位信息(可以是输出给下一个算法,如预测算法)的时刻均作详细的记录,最终可以得到视觉延时模型的参数,从而在每个控制周期中,可以分别通过该视觉延时模型,计算出当前控制周期的第二延时。
本公开一实施例还提供了一种机器人控制方法,如图3所示,包括步骤310至步骤340。其中,步骤310、步骤330和步骤340分别与前述实施例的步骤110、步骤120和步骤S130相同。与前述实施例1不同之处在于,在步骤S330之前还包括:
步骤320、根据当前控制周期中工具末端和/或目标实际的定位信息与上一控制周期预测的该工具末端和/或目标的定位信息之间的差异,对所述预测使用的算法参数进行调整。
本实施例中,是根据当前控制周期中,工具末端或目标实际定位信息与预测值的偏差,来优化预测时用的参数,比如采用卡尔曼滤波预测的情况下,可以优化状态方程和/或测量方程的参数,以使下一控制周期中,预测精度提高,机器人能对目标跟踪的更加精确。
本实施例中,当前控制周期中目标的定位信息是已经获取的,直接和上一周期的预测结果比较即可得到差异。上位机可以从机器人返回的信息直接获取工具末端在当前控制周期中完成控制信号指示的动作后,所在位置的定位信息,并和上一控制周期预测的定位信息进行比较,获得两者之间的差异,可以是但不限于坐标之间的差值。另外,也可以从仿真***,比如数字孪生模型中,获取目标和/或仿真的机器人工具末端的定位信息。
本实施例中,可以根据差异和预设规则进行调整,比如根据差异的值的大小,确定调整参数的幅度;再比如根据差异的类型(比如是位置差异或角度差异、是正或负的差异),确定要调整的参数等。
本公开一实施例提供了一种机器人控制方法,可以但不限于用于对kuka机器臂进行基于视觉的动态伺服控制。
本实施例从目标定位和控制算法两个方面来提升控制机器人的精度。
首先在目标定位方面,本实施例的目标定位模块采用深度学习粗定位和基于模板的精确定位相结合的方式,基于相机拍摄的图像对目标进行定位,既加快了目标定位算法的处理速度,也能达到相应的精度要求。其中,基于深度学习的粗定位方式可以通过大量的数据训练来提升定位的鲁棒性;由于深度学习所采用的深度神经网络的卷积层具有普适性,会导致识别出的目标的位置(例如是点或者区域)精度不够,因此深度神经网络的识别结果不能直接作为高精度的跟踪参考。
本实施例在深度学习得到的粗定位的点或区域附近,再提取目标的特征点进行基于模板的精确匹配,得到高精度的坐标,从而实现了对目标的高精度定位。所获得的高精度坐标将作为视觉闭环控制的输入量。
需要说明的是,在本实施例中,可以采用带RGB的深度相机作为图像采集装置对目标进行图像采集,获得的RGB图像输入到DNN(Deep Neural Networks,深度神经网络)进行目标粗定位。
本实施例中,深度学习的定位方法采用yolov5算法,实现了对目标的粗定位,可以获得目标的一个大概的点或区域,然后粗定位的结果将会作为输入,导入基于模板的精确匹配算法进行精定位。
本实施例中,可采用了Harris角点和SIFT(Scale-invariant featuretransform,尺度不变特征变换)搜索相结合的方法对粗定位结果进行特征点提取,然后将提取的特征点与预定的特征点模板进行匹配,从而确定目标上的最终的跟踪参考点。然后通过RGB深度相机的内参标定结果实现对深度图和RGB图像的对齐,确定该跟踪参考点在深度图上的映射,最后根据深度图的像素坐标和相机的标定参数求出跟踪参考点的三维坐标信息。
为了实现六自由度的跟踪,需要确定目标上三个不在同一平面上的三维点,因此在特征点模板中会明确定义点的特征。对特征点的选择可选在目标的角点,或者目标的边缘等特征比较明显的位置。
在控制算法层面,本实施例的控制算法包含三条闭环链路,分别处理目标运动估计、***延时预测以及对融合信号的前置反馈。
如图4所示,第一闭环链路410通过相机11拍摄的图像实现对目标12和机器人13的工具末端的运动坐标进行在线预测,预测结果反馈给高层控制器模块14进行前置的位置补偿,从而消除目标有序动作造成的跟踪误差。
本实施例中,目标识别模块411根据相机11获取的图像获得目标12当前时刻(或者说当前控制周期中)的坐标,并获取机器人13返回的坐标,一起传输给卡尔曼滤波模块412,通过卡尔曼滤波模块412对目标12以及机器人13的下一时刻(或者说下一个控制周期)的坐标进行预测。本实施例中,位置差值计算模块413可以利用预测的坐标计算机器人13工具末端和目标12之间的差值,并传输给高层控制模块14进行位置的前置补偿,即进行前置的位置反馈控制。本实施例中卡尔曼滤波模块412进行预测的细节可参见前述实施例。
如图4所示,第二闭环链路420是针对视觉-机器人这一非线性***,本实施例中,***的延时包括两个方面的延时:一方面是机器人收到控制信号开始,到执行完毕该控制信号要求的操作为止的延时,另一方面是目标定位的延时(包括相机拍摄的耗时、对拍摄的图像执行目标定位算法的耗时、传输定位信息的耗时等);可以通过***辨识获得该***的机器人延时模型421与视觉延时模型422,通过这两个延时模型实现对***延时的预测,从而形成第二闭环链路420的闭环延时补偿控制。
本实施例中,为了确定机器人延时模型421中的参数,采用基于输入/输出数据驱动的方式,即设计一系列的机器人运动,然后在机器人运动的过程中,实时的采集机器人工具末端的坐标以及时间序列,并与规划的机器人运动进行对齐;基于此,即可以采用期望最大化(Expectation-Maximum,简称EM)算法对机器人13的运动进行识别,从而获得机器人延时模型421的参数。
本实施例中,为了获得目标追踪时的延时,在对相机拍摄的图像将使用目标定位模块411进行目标定位的前提下,测试相机拍摄图像需要的时间,目标定位算法的执行需要的时间,以及向外发送定位信息需要的时间,通过多次实验可以将视觉延时模型422的参数计算出来。为了保证相机采集的可靠性,相机的图像拍摄通过外部触发的方式实现,对各个时间节点,例如完成拍摄并输出数据的时刻、目标定位算法获得目标坐标的时刻、发送坐标完成的时刻均作详细的记录。
第二闭环链路420中,经过机器人延时模型421和视觉延时模型422的预测,将两个模型预测出的结果相加后,可以得到较为准确的在固定控制频率(固定帧率)下的***延时Δtke。本实施例中,每个控制周期可以重新计算当前控制周期的***延时。
本实施例中,第二闭环链路420输出的延时可以发送给高层控制器模块14,以和第一闭环链路410进行融合;具体来说,高层控制器模块14可以将第二闭环链路420输出的延时发送给卡尔曼滤波模块412,在预测时使用。
如图4所示,第三闭环链路430是用于在第一闭环链路410、第二闭环链路420融合前进行前置反馈。本实施例中,第一闭环链路410和第二闭环链路420的输出会经过高层控制器模块14进行信号的融合,形成位置和时间的前置补偿控制信号,第三闭环链路430输出的信号可以对融合前的信号进行前置补偿,比如可以调整模型或算法中的参数等。另外,第三闭环链路430还可以用于对目标相对相机的位置进行闭环反馈。
根据预测结果,可以计算出下一个控制周期中,机器人的工具末端和目标12的坐标差,发送给PID控制模块15,由PID控制模块15产生输出给机器人的包含控制坐标的控制信号。该控制信号可以通过ROS(Robot Operating System,机器人操作***)模块16形成最终的控制指令发送给机器人;ROS中的moveit和real-time-arm servoing单元可以基于控制坐标实现自动的轨迹规划和基于目标的位置点位的追踪控制,帧率可以控制在20Hz左右。
具体来说,在第二闭环链路420得到***的延时后,经过第一闭环链路410中位置差值计算模块413的计算,可以获得本控制周期完成的时候,机器人工具末端和目标的坐标差为
Figure BDA0003453637850000141
这里的[[]]表示对位置坐标和角度坐标分别作差。考虑到这里的角度坐标用欧拉角表示,而欧拉角在笛卡尔做表空间的不连续性。因此,为了实现基于目标12和机器人工具末端角度差的反馈控制,本实施例中采用先将欧拉角转换为四元数,再转换为极角后进行作差的方式。
高层控制器模块在接收到机器人工具末端和目标的坐标差er->t后,可以对该坐标差进行进一步的处理,比如消除瞬时误差的干扰等,本实施例采用模糊控制算法处理。
本实施例中,经过以上介绍的目标定位模块411所采用的目标定位算法,加上三条闭环链路的调节,可以通过前置的位置和延时补偿,实现对在较低控制频率(较低帧率)下机器人13对于目标12的精确跟踪。
可以看出,本实施例能够基于低帧率(比如但不限于20Hz)实现机器人13对运动的目标12的精确跟踪;根据实验测试,机器人13的跟踪精度能达到目标12运动速度的0.5%,而之前要想达到同样的跟踪精度,往往要求帧率在200Hz。较低的帧率,对传感器和计算速度降低了要求,从而变相的降低了传感器如视觉相机的硬件成本。由于采用低速的工业相机即可实现精确跟踪,成本能大大缩减;由于低帧率降低了对视觉算法的速度要求,因此视觉算法的开发成本也同时减低;从而使得机器人能以较低的软件和硬件成本进入更多生产线,特别是涉及到柔性动态场景的生产线,比如在动态场景下的精密装配业务。由此,这些劳动密集型的高精度动态装配生产线可以由机器人顺利介入,因而提高了生产效率和质量。
采用本实施例的方案还可以应用在其它帧率下的情况下;如果软硬件的响应速度较快,可以应用在帧率更高的情况下(例如100Hz≥帧率>20Hz);或可以进行更大幅度的位置和延时前置补偿,以应用在帧率更低的情况下(例如20Hz>帧率≥10Hz)。
本实施例中,三条闭环链路中各模块、模型执行的算法均可由上位机实现。为了实现上位机与机器人真机的快速通信并实现对机器人的实时控制,可以采用kuka机器人的RSI(Robot Sensor Interface,机器人传感器接口)通信模块进行上位机和机器人的通信。
本实施例中,为了实现上位机控制的可视化,还可以开发机器人视觉动态控制的数字栾生仿真模型,可以让终端用户实时的观测到上位机的算法的运行状况,从而对整个机器人的控制***进行人工调整。用户可以观测到运行控制算法,能让所控制的机器人进行怎样的动作,还可以进一步通过和机器人真机进行通信,控制机器人真机实际执行动作。
本实施例的一种变形方案中,可以将第二闭环链路420去掉,仅采用第一闭环链路410、第三闭环链路430,也可以获得较为理想的跟踪精度,大约为目标运动速度的1.5%~2%。
本实施例在对目标定位时,为了获得目标的六维坐标,可以采用带RGBD即RGB深度相机对不在同一平面的三个点进行了视觉跟踪。而在一些不需要六维坐标的情况下,如只需要跟踪XYZ三维坐标,则只需要跟踪目标的一个特征点即可;而如果只是跟踪一个方向的坐标,则使用一个二维RGB相机即可;另外,目标的跟踪也可以采用其他传感器,比如可以通过激光跟踪目标来定位,或者通过力传感器的反馈来对目标定位。
本公开一实施例还提供了一种机器人控制方法,在上述实施例的基础上,本实施例的方法还包括:生成数字孪生模型;通过数字孪生模型仿真机器人根据控制信号进行动作的过程。本实施例中,可以将上位机中进行目标定位、预测、生成控制命令等全部过程、与机器人收到控制命令后的操作都映射为数字孪生模型,这样可以通过数字孪生模型直接看到仿真出的机器人的动作,即直接得到视觉上的反馈,便于用户对目标定位算法、预测算法、PID控制算法等参数进行优化。另外,还可以通过建立数字孪生***与真实机器人之间的通信,将数字孪生模型中观看到的机器人的动作直接交由真实机器人完成。
本公开一实施例还提供了一种机器人控制装置,如图5所示,包括:存储器51和处理器52;其中:存储器51用于保存对机器人进行控制的程序;处理器52用于读取并执行对机器人进行控制的程序,进行本实施例任一实施例所述的机器人控制方法。
本公开一实施例还提供了一种机器人控制***,如图6所示,包括:
目标检测装置61,设置为获得目标的检测结果;
上位机62,用于进行本公开任一实施例所述的机器人控制方法;其中,所述上位机是根据当前控制周期中目标的检测结果,来获取当前控制周期中目标的定位信息。
本实施例中,目标检测装置61可以但不限于为相机,检测结果相应为拍摄的图像,可以是照片或视频。上位机62可以根据拍摄的图像执行目标定位算法,比如可以先用预先训练的深度神经网络,来进行目标的粗定位;再在粗定位的基础上,提取特征点和预设的模板匹配,完成细定位,得到目标的定位信息。本实施例中,目标检测装置61也可以是其它的传感器或检测器件,比如可以是激光器、力传感器等;上位机62可以根据目标检测装置61的不同,采用相适应的定位算法,来得到目标的定位信息。
本公开一实施例还提供了一种计算机可读存储介质,用于保存对机器人进行控制的程序;该对机器人进行控制的程序在被处理器执行时,可以实现本公开任一实施例所述的机器人控制方法。
在本公开上述任意一个或多个示例性实施例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件实施,那么功能可作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质传输,且由基于硬件的处理单元执行。计算机可读介质可包含对应于例如数据存储介质等有形介质的计算机可读存储介质,或包含促进计算机程序例如根据通信协议从一处传送到另一处的任何介质的通信介质。以此方式,计算机可读介质通常可对应于非暂时性的有形计算机可读存储介质或例如信号或载波等通信介质。数据存储介质可为可由一个或多个计算机或者一个或多个处理器存取以检索用于实施本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可包含计算机可读介质。
举例来说且并非限制,此类计算机可读存储介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来以指令或数据结构的形式存储所要程序代码且可由计算机存取的任何其它介质。而且,还可以将任何连接称作计算机可读介质举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双纹线、DSL或例如红外线、无线电及微波等无线技术包含于介质的定义中。然而应了解,计算机可读存储介质和数据存储介质不包含连接、载波、信号或其它瞬时(瞬态)介质,而是针对非瞬时有形存储介质。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘或蓝光光盘等,其中磁盘通常以磁性方式再生数据,而光盘使用激光以光学方式再生数据。上文的组合也应包含在计算机可读介质的范围内。
可由例如一个或多个数字信号理器(DSP)、通用微处理器、专用集成电路(ASIC)现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或多个电路或逻辑元件中。
本公开实施例的技术方案可在广泛多种装置或设备中实施,包含无线手机、集成电路(IC)或一组IC(例如,芯片组)。本公开实施例中描各种组件、模块或单元以强调经配置以执行所描述的技术的装置的功能方面,但不一定需要通过不同硬件单元来实现。而是,如上所述,各种单元可在编解码器硬件单元中组合或由互操作硬件单元(包含如上所述的一个或多个处理器)的集合结合合适软件和/或固件来提供。

Claims (12)

1.一种机器人控制方法,所述机器人用于使用工具末端对目标进行预定操作;其特征在于,所述机器人控制方法包括:
获取当前控制周期中所述工具末端的定位信息和所述目标的定位信息;
根据当前控制周期中所述工具末端的定位信息和所述目标的定位信息,预测下一控制周期中所述工具末端的定位信息和所述目标的定位信息;
根据下一控制周期中所述工具末端的定位信息和所述目标的定位信息生成控制信号并发送给所述机器人,使所述工具末端能够跟踪到所述目标。
2.如权利要求1所述的机器人控制方法,其特征在于:
所述方法还包括,根据预设的延时模型计算当前控制周期的延时;
所述根据当前控制周期中所述工具末端的定位信息和所述目标的定位信息,预测下一控制周期中所述工具末端的定位信息和所述目标的定位信息包括:根据当前控制周期中所述工具末端的定位信息和所述目标的定位信息,预测第一时长后,所述工具末端的定位信息和所述目标的定位信息;
其中,所述第一时长为一个控制周期的时长加上当前控制周期的延时。
3.如权利要求2所述的机器人控制方法,其特征在于:
所述预设的延时模型包括:机器人延时模型和检测延时模型;
所述机器人延时模型用于得到当前控制周期中,从所述机器人收到控制信号起,到所述工具末端完成所述控制信号指示的动作为止的第一延时;
所述检测延时模型用于得到当前控制周期中,从开始检测所述目标的时刻起,到得到所述目标的定位结果为止的第二延时;
所述当前控制周期的延时等于所述第一延时加上所述第二延时。
4.如权利要求3所述的机器人控制方法,其特征在于:
所述预测下一控制周期中所述工具末端的定位信息和所述目标的定位信息前,所述方法还包括:
根据当前控制周期中所述工具末端和/或所述目标实际的定位信息,与上一个控制周期预测的所述工具末端和/或所述目标的定位信息之间的差异,对所述预测使用的算法参数进行调整。
5.如权利要求1所述的机器人控制方法,其特征在于:
所述获取当前控制周期中所述目标的定位信息包括:
获得图像采集装置在当前控制周期中所拍摄的所述目标的图像;
根据所述目标的图像,采用训练好的深度神经网络对所述目标进行初始定位,得到初始定位结果;
根据所述初始定位结果提取特征点,与预设的特征点模板进行匹配,得到当前控制周期中所述目标的定位信息。
6.如权利要求1所述的机器人控制方法,其特征在于:
所述根据当前控制周期中所述工具末端的定位信息和所述目标的定位信息,预测下一控制周期中所述工具末端的定位信息和所述目标的定位信息,包括:
根据当前控制周期中,所述工具末端的定位信息和所述目标的定位信息得到当前时刻的状态;
采用卡尔曼滤波模型预测得到下一时刻的状态,所述下一时刻的状态包括下一控制周期中所述工具末端的定位信息和所述目标的定位信息;
其中,所述下一时刻和当前时刻之间的时长等于一个控制周期的时长加上延时;所述延时为预设值或根据预设的延时模型计算得到。
7.如权利要求1所述的机器人控制方法,其特征在于:
所述定位信息包括位置坐标和角度坐标;所述根据下一控制周期中所述工具末端的定位信息和所述目标的定位信息生成控制信号包括:
根据下一控制周期中所述工具末端的定位信息和所述目标的定位信息,计算两者之间的位置坐标差值和角度坐标差值;
将位置坐标差值和角度坐标差值作为PID控制算法的输入,通过所述PID控制算法生成所述控制信号。
8.如权利要求1所述的机器人控制方法,其特征在于:
所述控制信号包含根据下一控制周期中所述工具末端的定位信息和所述目标的定位信息生成的移动参数,以控制所述机器人根据所述移动参数将所述工具末端移动到对所述目标进行操作的指定位置。
9.如权利要求1所述的机器人控制方法,其特征在于:
所述根据下一控制周期中所述工具末端的定位信息和所述目标的定位信息生成控制信号后,所述方法还包括:生成数字孪生模型;通过所述数字孪生模型仿真所述机器人根据所述控制信号进行动作的过程。
10.一种机器人控制装置,包括存储器和处理器,其特征在于,所述存储器中保存有计算机程序,所述处理器执行所述计算机程序时能够实现如权利要求1至9中任一所述的机器人控制方法。
11.一种机器人控制***,其特征在于,包括:
目标检测装置,设置为获得目标的检测结果;
上位机,执行如权利要求1-9中任一项所述的机器人控制方法;其中,所述上位机是根据当前控制周期中所述目标检测装置的检测结果,来获取当前控制周期中所述目标的定位信息。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于保存对机器人进行控制的程序;所述对机器人进行控制的程序被处理器执行时,实现如权利要求1-9中任一项所述的机器人控制方法。
CN202111673300.2A 2021-12-31 2021-12-31 机器人控制方法、装置、***及存储介质 Active CN116408790B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111673300.2A CN116408790B (zh) 2021-12-31 机器人控制方法、装置、***及存储介质
PCT/CN2022/135707 WO2023124735A1 (zh) 2021-12-31 2022-11-30 机器人控制方法、装置、***及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111673300.2A CN116408790B (zh) 2021-12-31 机器人控制方法、装置、***及存储介质

Publications (2)

Publication Number Publication Date
CN116408790A true CN116408790A (zh) 2023-07-11
CN116408790B CN116408790B (zh) 2024-07-16

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110065064A (zh) * 2018-01-24 2019-07-30 南京机器人研究院有限公司 一种机器人分拣控制方法
CN110660104A (zh) * 2019-09-29 2020-01-07 珠海格力电器股份有限公司 工业机器人视觉识别定位抓取方法、计算机装置以及计算机可读存储介质
CN111496776A (zh) * 2019-01-30 2020-08-07 株式会社安川电机 机器人***、机器人控制方法、机器人控制器及记录介质
CN112847334A (zh) * 2020-12-16 2021-05-28 北京无线电测量研究所 一种基于视觉伺服的机械臂目标跟踪方法
WO2021164276A1 (zh) * 2020-07-31 2021-08-26 平安科技(深圳)有限公司 目标跟踪方法、装置、计算机设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110065064A (zh) * 2018-01-24 2019-07-30 南京机器人研究院有限公司 一种机器人分拣控制方法
CN111496776A (zh) * 2019-01-30 2020-08-07 株式会社安川电机 机器人***、机器人控制方法、机器人控制器及记录介质
CN110660104A (zh) * 2019-09-29 2020-01-07 珠海格力电器股份有限公司 工业机器人视觉识别定位抓取方法、计算机装置以及计算机可读存储介质
WO2021164276A1 (zh) * 2020-07-31 2021-08-26 平安科技(深圳)有限公司 目标跟踪方法、装置、计算机设备及存储介质
CN112847334A (zh) * 2020-12-16 2021-05-28 北京无线电测量研究所 一种基于视觉伺服的机械臂目标跟踪方法

Also Published As

Publication number Publication date
WO2023124735A1 (zh) 2023-07-06

Similar Documents

Publication Publication Date Title
CN106774345B (zh) 一种进行多机器人协作的方法与设备
US11117262B2 (en) Intelligent robots
JP7326911B2 (ja) 制御システムおよび制御方法
EP3733355A1 (en) Robot motion optimization system and method
CN108161931A (zh) 基于视觉的工件自动识别及智能抓取***
RU2700246C1 (ru) Способ и система захвата объекта с помощью роботизированного устройства
JP2020135623A (ja) 物体検出装置、制御装置及び物体検出用コンピュータプログラム
Taryudi et al. Eye to hand calibration using ANFIS for stereo vision-based object manipulation system
JP2013180380A (ja) 制御装置、制御方法及びロボット装置
CN113379849A (zh) 基于深度相机的机器人自主识别智能抓取方法及***
JP6626338B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
CN111275758B (zh) 混合型3d视觉定位方法、装置、计算机设备及存储介质
WO2023124735A1 (zh) 机器人控制方法、装置、***及存储介质
Xie et al. Visual tracking control of SCARA robot system based on deep learning and Kalman prediction method
Zhang et al. Deep learning-based robot vision: High-end tools for smart manufacturing
Atre et al. Efficient and feasible gesture controlled robotic arm
CN112633187B (zh) 基于图像分析的机器人自动搬运方法、***和存储介质
CN116408790B (zh) 机器人控制方法、装置、***及存储介质
JP2778430B2 (ja) 視覚に基く三次元位置および姿勢の認識方法ならびに視覚に基く三次元位置および姿勢の認識装置
Lagamtzis et al. CoAx: Collaborative Action Dataset for Human Motion Forecasting in an Industrial Workspace.
JP2020142323A (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
KR20220065232A (ko) 강화학습 기반으로 로봇을 제어하는 장치 및 방법
Medeiros et al. UAV target-selection: 3D pointing interface system for large-scale environment
Xu et al. A fast and straightforward hand-eye calibration method using stereo camera
CN116197918B (zh) 基于动作记录分析的机械手控制***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant