CN116061163A - 机器人控制方法、装置、系统及相关设备 - Google Patents
机器人控制方法、装置、系统及相关设备 Download PDFInfo
- Publication number
- CN116061163A CN116061163A CN202111277373.XA CN202111277373A CN116061163A CN 116061163 A CN116061163 A CN 116061163A CN 202111277373 A CN202111277373 A CN 202111277373A CN 116061163 A CN116061163 A CN 116061163A
- Authority
- CN
- China
- Prior art keywords
- image
- robot
- target object
- history
- historical
- 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.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本申请提供了一种机器人控制方法,具体实施时,控制装置获取摄像装置对第一目标对象进行拍摄得到的第一图像,该摄像装置固定安装在机器人上,第一目标对象为待由机器人操作的对象;控制装置将第一图像输入至第一目标对象对应的第一AI模型,得到第一运动参数,并根据第一运动参数控制机器人朝向第一目标对象对应的第一操作点位运动,该第一AI模型由预先控制机器人运动至第一操作点位所产生的历史数据训练得到。如此,控制装置基于AI模型控制机器人运动,不仅可以使得控制精度达到较高的水平,而且,无需要求操作人员进行大量的控制调试过程,从而降低了人工成本,缩短了机器人的开发周期。此外,本申请还提供了对应的装置、系统及相关设备。
Description
技术领域
本申请涉及机器人技术领域,尤其涉及一种机器人控制方法、装置、系统及相关设备。
背景技术
随着应用于机器人上的视觉运动控制技术的不断发展,机器人在工业生产制造、安全防爆等领域广泛应用。以工业装配场景为例,工业机械臂(属于机器人中的一种)可以代替人类执行大量简单重复的动作,如分拣、装配、上下料、焊接、打磨等。其中,视觉运动控制技术是利用视觉信息对机器人进行运动控制,以控制机器人快速到达期望的位姿。
目前,在基于视觉信息控制机器人运动时,通常是利用数学建模的方式,根据双目摄像机拍摄得到的两张图像中所记录的机器人操作的目标对象的图像特征,计算出机器人在当前位置产生的视差所对应的实际矩阵,其中,视差是指从有一定距离的两个点上观察同一个目标对象所产生的方向差异。然后,根据该实际矩阵与机器人在操作点位(也即机器人执行工业操作的位置)处产生的视差所对应的参考矩阵,进一步计算出机器人的运动参数,从而基于该运动参数控制机器人执行相应的运动。
但是,实际应用场景中,根据图像中记录的目标对象的图像特征控制机器人进行运动的过程中,可能会将图像中记录的其它对象的图像特征误识别为目标对象的图像特征,从而容易产生较大的控制误差,这使得操作人员需要根据机器人的控制结果进行多次控制调试。例如当机器人每次停止运动的位置相对于预期的指定位置始终存在1毫米的距离偏差时,操作人员需要通过试错的方式对机器人的控制逻辑进行多次调整,以使得机器人最终停止运动的位置能够到达指定的操作点位。因此,这种控制机器人运动的方式,需要操作人员预先执行大量的控制调试过程,这不仅会增加人工成本,而且长时间的控制调试过程也会导致机器人的开发周期较长。
发明内容
有鉴于此,本申请实施例提供了一种机器人控制方法,该方法通过预先完成训练的人工智能模型来控制机器人进行运动,在达到较高控制精度的同时,无需要求操作人员进行大量的控制调试过程,从而降低了人工成本,缩短的机器人的开发周期。本申请还提供了对应的控制装置、系统、计算设备、计算机可读存储介质以及计算机程序产品。
第一方面,本申请实施例提供一种机器人控制方法,具体实施时,控制装置获取第一图像,该第一图像由摄像装置对第一目标对象进行拍摄得到,其中,该摄像装置固定安装在机器人上,例如可以固定安装在机器人上的机械臂的最后一个关节等,并且,摄像装置所拍摄的第一目标对象为待由机器人操作的对象,例如机器人可以通过末端工具操作该第一目标对象等;然后,控制装置将第一图像输入至第一目标对象对应的第一AI模型,得到该第一AI模型输出的第一运动参数,并且根据该第一运动参数控制机器人朝向第一目标对象对应的第一操作点位运动,其中,该第一AI模型由预先控制机器人运动至第一操作点位所产生的历史数据训练得到。
如此,控制装置基于AI模型来控制机器人进行运动,不仅可以使得控制精度达到较高的水平,而且,无需要求操作人员进行大量的控制调试过程,从而降低了人工成本,缩短了机器人的开发周期。另外,在实现控制机器人运动的过程中,可以无需操作人员利用相应的测量设备向控制装置输入结构化参数,从而可以减少该机器人控制系统的部署成本。
示例性地,上述机器人例如可以是应用于工业场景中的工业机械臂等,或者也可以是其它可适用的机器人。
在一种可能的实施方式中,控制装置可以预先基于历史数据完成对于AI模型的训练。具体地,控制装置可以获取包括历史图像以及该历史图像对应的历史运动参数,其中,所获取的历史图像包括在机器人从至少一个起始位置运动至第一操作点位的数据采集过程中摄像装置拍摄得到的图像,该历史运动参数包括在数据采集过程中基于历史图像控制机器人朝向第一操作点位运动的参数,从而控制装置可以利用该历史图像对第一AI模型进行训练。由于历史数据为机器人最终运动至第一操作点位的过程中所生成的数据,因此,基于该历史数据对第一AI模型进行训练后,控制装置利用该第一AI模型,可以控制机器人从任意位置朝着第一操作点位的方向进行运动,并最终移动至该第一操作点位。
在一种可能的实施方式中,所获取的历史图像包括第一目标对象形成的像素区域,则控制装置在获取历史数据时,先获取数据采集过程中摄像装置拍摄得到的候选图像以及该候选图像对应的历史运动参数,其中,该候选图像中可能存在部分图像不包括第一目标对象形成的像素区域,因此,控制装置可以剔除该候选图像中未记录到第一目标对象的图像,得到该历史图像以及与该历史图像对应的历史运动参数。如此,用于训练第一AI模型中的各个历史图像中均包括第一目标对象所形成的像素区域,从而避免利用不包括第一目标对象形成的像素区域的历史图像对第一AI模型进行训练而降低了第一AI模型的精度。
在一种可能的实施方式中,历史图像还包括扩展图像以及该扩展图像对应的历史运动参数,其中,该扩展图像通过改变历史图像中的像素点的像素值得到,例如将历史图像中的所有像素点的像素值均增加50或者均减小50,或者将历史图像中所有像素点在三个颜色通道的像素值进行调整等,而该扩展图像对应的历史运动参数与历史图像对应的历史运动参数相同。这样,控制装置在利用扩展图像以及该扩展图像对应的历史运动参数对第一AI模型进行训练后,可以尽可能避免拍摄环境的光线亮度变化或者被操作的对象的颜色发生变化而影响控制装置针对机器人的控制精度。
在一种可能的实施方式中,所获取的历史数据包括多张历史图像以及该多张历史图像中每张历史图像对应的历史运动参数,其中,该多张历史图像是由摄像装置在数据采集过程中的多个时间点分别对第一目标对象进行拍摄得到。如此,控制装置可以利用机器人在移动至第一操作点位的过程中的多个时间点所产生的历史数据实现对于第一AI模型的训练,这样,后续控制装置可以利用该第一AI模型控制机器人从逐渐移动至指定的第一操作点位。
在一种可能的实施方式中,当待由机器人操作的对象为第二目标对象时,控制装置还可以获取第二图像,并且,该第二图像由摄像装置对第二目标对象进行拍摄得到,然后,控制装置将第二图像输入至第二目标对象对应的第二AI模型,得到该第二AI模型输出的第二运动参数,该第二AI模型由预先控制机器人运动至第二操作点位所产生的历史数据训练得到,从而控制装置可以根据第二运动参数控制机器人朝向第二目标对象对应的第二操作点位运动。如此,针对不同的操作对象,控制装置可以利用不同的AI模型控制机器人移动至不同的操作点位,以此满足控制装置针对不同机器人操作对象的控制需求。
在一种可能的实施方式中,控制装置在获取第一图像时,可以先获取摄像装置拍摄得到的初始图像,并且,当该初始图像中存在为记录到第一目标对象形成的像素区域的图像时,控制装置可以控制机器人运动至初始位置,并控制机器人在该初始位置的位姿为预设位姿,从而控制装置可以获取摄像装置在该初始位置按照该预设位姿对第一目标对象进行拍摄所得到的第一图像,这样,所拍摄得到的第一图像中通常会包括第一目标对象形成的像素区域。如此,在对机器人进行控制的过程中,控制装置能够根据包括第一目标对象形成的像素区域的图像开始控制机器人进行运动。
在一种可能的实施方式中,控制装置可以根据用户针对该机器人的初始设置操作,将机器人的位置标记为初始位置,并将机器人在该初始位置的位姿标记为预设位姿。如此,后续当摄像装置拍摄得到的图像中不包括第一目标对象形成的像素区域,控制装置可以先控制机器人移动至该初始位置,并设置机器人的位置为该初始位姿,以使得摄像装置所拍摄得到的图像中可以包括第一目标对象形成的像素区域,从而方便控制装置开始对机器人进行运动控制。
在一种可能的实施方式中,当摄像装置包括多个摄像单元时,控制装置所获取的第一图像包括多张图像。而在其它可能的实施方式中,摄像装置也可以包括一个摄像单元,此时,控制装置所获取的第一图像也可以仅为一张图像。
第二方面,本申请提供一种控制装置,该装置包括:获取模块,用于获取第一图像,所述第一图像由摄像装置对第一目标对象进行拍摄得到,其中,所述摄像装置固定安装在所述机器人上,所述第一目标对象为待由所述机器人操作的对象;模型处理模块,用于将所述第一图像输入至所述第一目标对象对应的第一人工智能AI模型,得到所述第一AI模型输出的第一运动参数,所述第一AI模型由预先控制所述机器人运动至第一操作点位所产生的历史数据训练得到;控制模块,用于根据所述第一运动参数控制所述机器人朝向所述第一目标对象对应的所述第一操作点位运动。
在一种可能的实施方式中,所述获取模块,还用于获取所述历史数据,所述历史数据包括历史图像以及所述历史图像对应的历史运动参数,所述历史图像包括在所述机器人从至少一个起始位置运动至所述第一操作点位的数据采集过程中所述摄像装置拍摄得到的图像,所述历史运动参数包括在所述数据采集过程中基于所述历史图像控制所述机器人朝向所述第一操作点位运动的参数;所述装置还包括:训练模块,用于利用所述历史数据对所述第一AI模型进行训练。
在一种可能的实施方式中,所述历史图像包括所述第一目标对象形成的像素区域,所述获取模块,用于:获取所述数据采集过程中所述摄像装置拍摄得到的候选图像以及所述候选图像对应的历史运动参数;剔除所述候选图像中未记录到所述第一目标对象的图像,得到所述历史图像以及与所述历史图像对应的历史运动参数。
在一种可能的实施方式中,所述历史数据还包括扩展图像以及所述扩展图像对应的历史运动参数,所述扩展图像通过改变所述历史图像中的像素点的像素值得到,所述扩展图像对应的历史运动参数与所述历史图像对应的历史运动参数相同。
在一种可能的实施方式中,所述历史数据包括多张历史图像以及所述多张历史图像中每张历史图像对应的历史运动参数,所述多张历史图像由所述摄像装置在所述数据采集过程中的多个时间点分别对所述第一目标对象进行拍摄得到。
在一种可能的实施方式中,所述获取模块,还用于获取第二图像,所述第二图像由所述摄像装置对第二目标对象进行拍摄得到,其中,所述第二目标对象为待由所述机器人操作的对象;所述模型处理模块,还用于将所述第二图像输入至所述第二目标对象对应的第二AI模型,得到所述第二AI模型输出的第二运动参数,所述第二AI模型由预先控制所述机器人运动至第二操作点位所产生的历史数据训练得到;所述控制模块,还用于根据所述第二运动参数控制所述机器人朝向所述第二目标对象对应的所述第二操作点位运动。
在一种可能的实施方式中,所述获取模块,用于:获取初始图像,所述初始图像由所述摄像装置进行拍摄得到;当所述初始图像中存在未记录到所述第一目标对象形成的像素区域的图像时,控制所述机器人运动至初始位置,控制所述机器人在所述初始位置的位姿为预设位姿;获取所述摄像装置在所述初始位置按照所述预设位姿对所述第一目标对象进行拍摄得到的所述第一图像。
在一种可能的实施方式中,所述装置还包括:标记模块,用于根据用户针对所述机器人的初始设置操作,将所述机器人的位置标记为所述初始位置,将所述机器人在所述初始位置的位姿标记为所述预设位姿。
在一种可能的实施方式中,所述摄像装置包括多个摄像单元,所述获取的第一图像包括多张图像。
其中,第二方面提供的控制装置对应于第一方面提供的机器人控制方法,故第二方或第二方面的任一种实现方式所具有的技术效果,可参见第一方面以及第一方面中各实现方式所具有的技术效果,在此不做赘述。
第三方面,本申请提供一种机器人控制系统,所述机器人控制系统包括机器人、摄像装置以及控制装置,所述摄像装置固定安装在所述机器人上;所述摄像装置,用于对第一目标对象进行拍摄得到,所述第一目标对象为待由所述机器人操作的对象;所述控制装置,用于执行如第一方面或第一方面的任一种实现方式中所述的机器人控制方法。
第四方面,本申请提供一种控制装置,其中,控制装置包括处理器、存储器。所述处理器用于执行存储器中存储的指令,以使得所述控制装置执行如第一方面或第一方面的任一种实现方式中的机器人控制方法。
第五方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算设备上运行时,使得所述计算设备执行上述第一方面或第一方面的任一种实现方式所述的机器人控制方法。
第六方面,本申请提供了一种包含指令的计算机程序产品,当其在计算设备上运行时,使得计算设备执行上述第一方面或第一方面的任一种实现方式所述的数据备份方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为一种机器人控制系统100的架构示意图;
图2为本申请实施例提供的一种机器人控制方法的流程示意图;
图3为本申请实施例提供的一种设置界面的示意图;
图4为本申请实施例提供的训练AI模型的流程示意图;
图5为本申请实施例提供的AI模型的结构示意图;
图6为本申请实施例提供的在工作台105上设置标志位的示意图;
图7为本申请实施例提供的一种控制装置的结构示意图;
图8为本申请实施例提供的一种控制装置的硬件结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请提供的实施例中的方案进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
参见图1,为一示例性的机器人控制系统的架构示意图。如图1所示,机器人控制系统100中包括机器人101、摄像装置102以及控制装置103。摄像装置102固定安装在机器人101上,例如可以是固定安装在远离机器人101中底座的末端等。其中,固定安装,是指摄像装置102与机器人101之间的相对位置固定,例如图1中摄像装置102固定安装在机器人101上的最后一个关节等,并且摄像装置102随着机器人101的运动而发生相应的运动。控制装置103分别与机器人101以及摄像装置102建立通信连接,例如可以通过有线或者无线的方式建立传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP)连接等,并通过建立的通信连接进行相互通信。
示例性地,机器人101可以是机械臂等设备,用于代替人类执行一些操作。例如,在工业场景中,机器人101具体可以是工业机械臂,在该工业机械臂安装如图1所示的末端工具104后,可以利用该末端工具104对工作台105上的目标对象106进行分拣、装配、焊接或打磨等操作。不同功能的末端工具104可以执行不同的操作。末端工具104例如可以是分拣吸盘、装配夹爪、焊接烙铁、打磨沙盘等。
摄像装置102,是指包括一个或者多个摄像单元的装置,如包括一个摄像头的单目摄像机,或者包括两个以上(包括两个)摄像头的多目摄像机等,可以用于对工作台105上的目标对象105进行拍摄。其中,摄像装置102中的各摄像单元可以分别拍摄得到一张图像。当摄像装置102为多目摄像机时,摄像装置102可以在同一时刻针对目标对象106拍摄得到多张图像。为便于理解与说明,下面以摄像装置102具体为包括多个摄像单元为例进行示例性说明。
控制装置103,用于通过与摄像装置102进行通信连接,接收摄像装置102拍摄得到的多张图像(当摄像装置102为单目摄像机时,控制装置103每次可以接收到一张图像)。并且,控制装置103还根据获取的多张图像生成控制指令,通过与机器人101之间的通信连接,向机器人100发送控制指令,以控制机器人101进行相应的运动。例如,控制装置103可以控制机器人101运行至指定的操作点位,以便机器人在该操作点位处通过末端工具104对目标对象106进行处理等。其中,控制装置103与机器人101可以分别独立部署,如图1所示。或者,控制装置103也可以与机器人101集成部署,此时,控制装置103可以安装在机器人101上,并作为机器人101上的一个部件等,本实施例对此并不进行限定。实际应用场景中,控制装置103可以通过软件或者硬件实现。比如,当机器人101上配置有具有控制器时,控制装置103通过软件实现,具体可以是运行在该控制器中功能模块等。当通过硬件实现时,控制装置103可以是单独配置的计算设备,如图1所示的终端或者服务器等。示例性地,计算设备中设置有一个或多个处理器,该处理器例如可以通过中央处理器(central processing unit,CPU)或专用集成电路(application-specific integrated circuit,ASIC)实现,或通过可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、FPGA、通用阵列逻辑(generic arraylogic,GAL)或其任意组合实现等。
在图1所示的机器人控制系统100中,控制装置103可以通过周期性的控制机器人101进行运动,可以使得机器人101能够逐步运动至指定的操作点位(即机器人101利用末端工具104对目标对象106进行相应操作时所在的位置)。具体的,控制装置103通常可以预先获取操作人员提供的机器人控制系统100中的结构参数,如机器人101、目标对象106、工作台105的尺寸数据,以及摄像装置102中的摄像参数等,并利用获取的结构参数进行数学建模。然后,在每个控制周期内,控制装置103可以获取摄像装置102拍摄的图像,并利用建立的数学模型根据该图像中记录的目标对象106的图像特征(如目标对象的形状、颜色、尺寸等)计算出视差,并根据该视差与预先记录的机器人101在操作点位处所产生的视差,计算出运动参数,从而根据该运动参数控制机器人101进行运动。如此,机器人101在运动过程中,控制装置103可以重复执行上述过程,通过多次对机器人101进行运动控制,使得机器人101最终运动至指定的操作点位。
但是,实际应用场景中,控制装置103在识别摄像装置102拍摄的图像中所记录的目标对象106的图像特征时,容易受到该图像中存在的其它对象的图像特征的干扰,从而可能将该其它对象的图像特征误识别为目标对象106的图像特征,这会导致控制装置103针对机器人101的控制存在较大的误差。因此,操作人员通常需要根据机器人101的控制结果进行多次控制调试,以便控制装置103最终能够控制机器人101到达指定的操作点位。而操作人员所执行的大量的控制调试过程,不仅会增加人工成本,而且长时间的控制调试过程也会导致机器人101的开发周期较长。
基于此,本申请提供了一种机器人控制方法,控制装置103在获取到摄像装置102拍摄得到的图像后,将该图像输入至预先完成训练的人工智能(artificialintelligence,AI)模型中,并根据AI模型输出的运动参数控制机器人101朝向目标对象106对应的操作点位进行运动。其中,AI模型是根据历史数据进行训练得到,该历史数据具体为过去时间段内控制机器人101运动至目标对象106对应的操作点位的过程中所产生的数据,例如可以是过去时间段内机器人101运行至该操作点位的过程中摄像装置102所拍摄得到的图像以及基于该图像控制机器人101进行运动的参数等。因此,利用完成训练的AI模型所输出的运动参数,可以控制机器人101从任意位置朝向操作点位进行运动,并可以最终运动至该操作点位。如此,控制装置103基于AI模型来控制机器人101进行运动,不仅控制精度可以达到较高的水平,而且,无需要求操作人员进行大量的控制调试过程,从而降低了人工成本,缩短了机器人101的开发周期。另外,在实现控制机器人101运动的过程中,可以无需操作人员利用相应的测量设备向控制装置103输入结构化参数,从而可以减少该机器人控制系统100的部署成本。
值得注意的是,图1所示的机器人控制系统100仅作为一种示例性说明,实际应用时,机器人控制系统100也可以采用其它可适用的架构。如在其它可能的机器人控制系统中,控制装置103可以与机器人101进行集成部署等。本实施例对于机器人控制系统100的具体实现方式并不进行限定。并且,实际部署时,机器人控制系统100可以部署于本地,用于对位于本地的目标对象106进行相应的处理。
下面,结合附图进一步介绍本申请提供的控制机器人进行运动的过程。
参见图2,图2为本申请实施例提供的一种机器人控制方法的流程示意图。该方法可以应用于图1所示的机器人控制系统100中,或者可以应用于其它可适用的机器人控制系统。为便于描述,下面以应用于图1所示的机器人控制系统100为例进行示例性说明,并且,机器人控制系统100中的摄像装置102包括多个摄像单元。如图2所示,该方法具体可以包括:
S201:摄像装置102对目标对象106进行拍摄,得到多张第一图像,其中,该摄像装置102固定安装在机器人101上,该目标对象106为待由机器人101操作的对象。
其中,摄像装置102可以周期性的执行拍摄操作,并在每个拍摄周期内拍摄得到相应的图像。为便于描述,以下将摄像装置102拍摄得到的图像称之为第一图像。值得注意的是,本实施例中是以摄像装置102包括多个摄像单元为例,因此,在每个拍摄周期内,摄像装置102可以(向机器人101)输出拍摄得到的多张第一图像。举例来说,当摄像装置102为双目摄像机时,摄像装置102可以在每个拍摄周期内输出2张第一图像;当摄像装置102为三目摄像机时,摄像装置102可以在每个拍摄周期内输出3张第一图像等,本实施例对此并不进行限定。
通常情况下,摄像装置102所输出的第一图像中包括目标对象106形成的像素区域,但是,实际应用场景中,由于摄像装置102固定安装在机器人101,机器人101在运动之前所处的位置和/或位姿,导致摄像装置102中存在摄像单元的拍摄视野中可能不包括目标对象106。因此,在一种可能的实施方式中,在摄像装置102拍摄得到包括目标对象106形成的像素区域的多张第一图像之前,摄像装置102可以执行拍摄操作,并将拍摄得到的多张初始图像发送给控制装置103。控制装置103可以判断接收到的多张初始图像中,是否每一张初始图像均记录到目标对象106,也即判断是否每张初始图像均包括目标对象106形成的像素区域。若是,则控制装置103可以将该多张初始图像作为第一图像,以便基于该第一图像对机器人101进行相应的运动控制。而若不是,则控制装置103可以控制机器人101运动至预先指定的初始位置,并控制机器人在该初始位置的位姿为预设位姿。这样,摄像装置102在该初始位置按照该预设位姿进行拍摄时,所拍摄得到的每张图像中均包括目标对象106形成的像素区域。此时,摄像装置102在该初始位置所拍摄得到的多张图像即为上述第一图像。其中,目标对象106为待由机器人101操作的对象,即当机器人101运动至该目标对象106对应的操作点位后,可以由机器人101在该操作点位利用通过相应的末端工具104对该目标对象106进行操作。
示例性地,控制装置103可以通过目标检测算法判断每张初始图像中是否包括目标对象106形成的像素区域。具体地,控制装置103可以预先获取摄像装置102针对工作台105的拍摄图像,实际应用场景中,工作台的颜色通常为单一颜色,从而针对该工作台105的拍摄图像中各个像素点的像素值之间的差异较小。因此,控制装置103可以针对每张初始图像,比较该初始图像中的像素点与摄像装置102预先针对工作台105的拍摄图像中像素点之间的像素值偏差。当像素值偏差大于预设阈值(如50等)的像素点的数量大于预设值(如1000等)时,控制装置103可以确定该初始图像中包括目标对象106形成的像素区域;而当像素值偏差大于预设阈值的像素点的数量小于预设值时,控制装置103可以确定该初始图像中不包括目标对象106形成的像素区域。当然,在其它实施例中,控制装置103也可以是采用其它方式判断初始图像中是否包括目标对象106形成的像素区域,本实施例对此并不进行限定。
另外,控制装置103在因为初始图像中不包括目标对象106形成的像素区域而控制机器人101运动至初始位置之前,可以预先确定该初始位置以及机器人101在该初始位置的位姿。例如,控制装置103可以向用户(如前述操作人员)呈现如图3所示的设置界面,该设置界面中显示有如图3所示的提示信息,以提示用户对机器人101的初始位置进行人工设置,如用户可以人工操控机器人101进行移动并设置机器人101的位姿。进一步的,用户在完成针对该初始位置的设置操作后,可以在该设置界面上触发确认操作,如点击该设置界面上的“确认”控件等。这样,控制装置103可以根据用户针对该机器人101的初始设置操作,将机器人当前所在的位置标记为初始位置,并将机器人101在该初始位置的位姿标记为预设位姿,以便后续控制装置103可以在确定初始图像中不包括目标对象106形成的像素区域时,控制机器人101运动至该初始位置并设置位姿。
上述实施方式中,是由用户来设定初始位置以及预设位姿,而在其它可能的实施方式中,也可以由控制装置103自动设定。比如,控制装置103可以预先控制机器人101沿着随机设定的方向进行运动,并在机器人101运动过程中随机调整机器人101的位姿。在此过程中,摄像装置102进行周期性的拍摄;控制装置103对每个周期内摄像装置102拍摄的一组图像进行目标检测,并在确定当前周期内拍摄到的一组图像中均包括目标对象106形成的像素区域时,控制机器人101停止运动,并将该机器人101当前所在的位置标记为初始位置,将该机器人101当前的位姿记录为预设位姿等。
如此,后续当机器人101运动至该初始位置并保持预设位姿时,摄像装置102可以拍摄得到多张包括目标对象106形成的像素区域的第一图像。
S202:控制装置103将摄像装置102拍摄得到的多张第一图像输入至目标对象对应的AI模型,得到该AI模型输出的运动参数,其中,该AI模型由预先控制机器人101运动至目标对象106对应的操作点位所产生的历史数据训练得到。
本实施例中,控制装置103可以预先训练有AI模型,该AI模型可以通过控制机器人101从任意位置运动至操作点位的历史数据完成训练。作为一种示例,用于对AI模型进行训练的历史数据,例如可以是控制装置103控制机器人101从任意位置移动至该操作点位的过程中,摄像装置102所拍摄得到的历史图像以及控制装置103基于该历史图像控制机器人103运动时所指示的历史运动参数。在基于历史数据训练AI模型时,可以将历史图像作为AI模型的输入,将历史运动参数作为AI模型的输出,以此训练AI模型。其中,针对AI模型的训练过程,具体可以详见下文内容,在此不做展开描述。
值得注意的是,AI模型是通过机器人101从任意位置最终移动至同一操作点位所产生的历史数据进行训练,因此,控制装置103在将多张第一图像输入至AI模型后,AI模型所输出的运动参数,能够使得机器人101在该运动参数的控制下向着操作点位进行运动。并且,在机器人101运动过程中,摄像装置102可以拍摄得到新的多张第一图像,从而机器人101可以根据AI模型基于新的多张第一图像所输出的新的运动参数继续向操作点位进行运动,以此类推,通过多次迭代控制可以使得机器人101最终运动至操作点位。
示例性地,AI模型所输出的运动参数,具体可以是机器人101在3个标定方向上的运动速度以及机器人101围绕该3个标定方向的轴进行旋转的角速度。比如,AI模型基于多张第一图像所输出的运动参数为(Vx,Vy,Vz,Wx,Wy,Wz),其中,x、y、z分别表示3个标定方向,如x表示水平方向,y表示竖直方向,z表示垂直方向(垂直于xy所在平面),Vx表示在水平方向上的速度,Vy表示在竖直方向上的速度,Vz表示在垂直方向上的速度,Wx表示在水平方向上的角速度,Wy表示在竖直方向上的角速度,Wz表示在垂直方向上的角速度。其中,Vx、Vy、Vz用于控制机器人101的运动方向以及速度;Wx、Wy、Wz用于控制机器人101的位姿。
可选地,当机器人的位姿固定时,AI模型所输出的运动参数,可以仅包括机器人101在3个标定方向上的运动速度等。本实施例对于AI模型输出的运动参数的具体实现并不进行限定。
S203:控制装置103根据AI模型输出的运动参数控制机器人朝向目标对象106对应的操作点位运动。
在一种示例性的实施方式中,控制装置103可以基于该运动参数生成控制指令,该控制指令中包括该运动参数;然后,控制装置103可以将生成的控制指令通过与机器人101之间的通信连接发送给机器人101。这样,机器人101可以在对接收到的控制指令进行解析后,根据解析得到的运动参数控制机器人101朝向目标对象106对应的操作点位运动。其中,控制机器人101朝向操作点位进行运动,是指控制机器人101运动后,机器人101与操作点位之间的距离减小,即机器人101相比运动之前更加靠近操作点位。
实际应用场景中,控制装置103可以周期性的向机器人101发送不同的控制指令,并且,不同控制指令中的运动参数可以存在差异。其中,在每个控制周期内,控制装置103可以根据摄像装置102在该周期内拍摄得到的多张第一图像确定运动参数,并通过生成相应的控制指令下发至机器人101,以使得机器人101在接收到下一个控制指令之前,按照当前控制指令中的运动参数进行运动。而当机器人101接收到下一个控制指令时,机器人101可以根据下一个控制指令中的运动参数进行运动。如此,控制装置103通过多个控制周期分别发送的各个控制指令,从而实现控制机器人101最终运动至指定的操作点位。
进一步地,机器人101在运动至操作点位后,可以在该操作点位处操作末端工具104对目标对象106进行相应的处理,如当末端工具104具体为打磨沙盘时,机器人101可以在该操作点位处利用该打磨沙盘对目标对象106进行相应的打磨等。
值得注意的是,本实施例中,是以控制装置103控制机器人101运动至目标对象106对应的操作点位为例进行示例性说明。实际应用场景中,机器人101可以利用末端工具104处理不同的对象,而不同对象之间可能在形状、尺寸等方面存在差异。因此,机器人101在处理不同的对象时,所使用的末端工具104可以不同;或者,机器人101在处理不同的对象,使用相同的末端工具,但是控制装置103可以控制机器人101运动至不同的操作点位。
相应的,控制装置103可以预先针对不同的对象,训练得到不同的AI模型,从而机器人控制系统100在对多个不同的对象分别进行处理时,控制装置103可以利用与该对象对应的AI模型控制机器人101进行运动。比如,针对第一目标对象(如上述目标对象106),控制装置103可以获取摄像装置102针对该第一目标对象所拍摄得到的多张第一图像,并将该多张第一图像输入至该第一目标对象对应的第一AI模型,得到第一AI模型输出的第一运动参数,从而控制装置103可以基于该第一运动参数控制机器人101朝向第一目标对象对应的第一操作点位运动,并控制机器人101最终运动至第一目标对象对应的第一操作点位。而针对第二目标对象(如与上述目标对象105不同的其它对象),控制装置可以获取摄像装置102针对该第二目标对象所拍摄得到的多张第二图像,并将该多张第二图像输入至该第二目标对象对应的第二AI模型,得到第二AI模型输出的第二运动参数,从而控制装置103可以基于该第二运动参数控制机器人101朝向第二目标对象对应的第二操作点位运动,并控制机器人101最终运动至第二目标对象对应的第二操作点位。与第一AI模型类似,第二AI模型预先可以通过控制机器人101从一个或者多个任意位置运动至第二操作点位所产生的历史数据进行训练得到。
当然,在其它可能的实施方式中,控制装置103也可以是针对多个不同的对象训练得到相同的AI模型,从而机器人控制系统100在对多个不同的对象分别进行处理时,控制装置103可以利用同一AI模型控制机器人101进行运动等,本实施例对此并不进行限定。
上述实施例中,是以摄像装置102包括多个摄像单元为例进行示例性说明,而在其它可能的实施例中,摄像装置102所包括的摄像单元的数量也可以是一个,从而摄像装置102在每个拍摄周期内可以仅拍摄得到一张第一图像,并且控制装置103可以基于一张第一图像,采用上述类似方式实现对于机器人101的运动控制。
上述图2所示的实施例中,是以控制装置103利用预先完成训练的AI模型来控制机器人的运动,对本申请提供的技术方案进行示例性说明。下面,结合附图,进一步介绍本申请提供的训练AI模型的过程。其中,AI模型,例如可以是基于深度学习算法构建得到的深度学习模型,或者基于其它算法所构建得到的模型,本实施例对此并不进行限定。
参见图4,图4为本申请实施例提供的一种训练AI模型的流程示意图。其中,训练AI模型的过程,可以由控制装置103执行,或者可以由其它设备执行并在完成训练后将该AI模型发送给控制装置103。为便于描述,下面以控制装置103执行该AI模型的训练过程为例进行示例性说明。基于图1所示的机器人控制系统100,如图4所示,该过程具体可以包括:
S401:控制装置103构建AI模型。
在一种可能的实施方式中,控制装置103可以在已有的AI模型的基础上,通过对AI模型中的部分网络层的功能进行调整,并将经过调整后所得到的AI模型作为控制装置103控制机器人101运行所依赖的AI模型。比如,针对基于图像数据集(如ImageNet等)所训练得到的分类网络模型(如ResNet50等),控制装置103可以将该模型中的输出层调整为输出为Vx、Vy、Vz、Wx、Wy、Wz这6个参数的网络层,并对该模型中的其它网络层进行适应性调整,以此可以构建出用于控制机器人101运动的AI模型。
具体地,如图5所示,ResNet50模型包括输入层、中间层以及输出层,其中,输入层包括卷积层以及最大池化层,并且,卷积层的输入为像素值通道数为3、摄像头高方向的分辨率位224、摄像头宽方向的分辨率位224的图像,对应的矢量表达为(3,224,224),最大池化层的输出为(64,56,56)。输出层包括平均池化层以及全连接层,并且,平均池化层的输入为(2048,7,7),全连接层的输出为(1000,1),即输出1000个维度数值。本实施例中,基于图5所示的模型,可以根据摄像装置102(包括两个摄像单元)所拍摄的两种第一图像,将输入层的输入调整为(6,224*m,224*n)。其中,m为使得224*m大于摄像装置102高方向分辨率的最小整数、n为使得224*n大于摄像装置102宽方向分辨率的最小整数。同时,将ResNet50模型中全连接层的尺寸由(2048,1000)调整为(2048,6),这样,全连接层的输出为(6,1),即输出6个维度的参数,可以分别为前述的(Vx,Vy,Vz,Wx,Wy,Wz)这6个方向上的运动参数。在其它可能的实施方式中,当机器人101的位姿固定时,也可以将ResNet50模型中全连接层的尺寸由(2048,1000)调整为(2048,3),即全连接层输出3个维度的参数,分别为前述的(Vx,Vy,Vz)。
当然,在其它可能的实施方式中,控制装置103也可以是通过其它方式构建出AI模型,本实施例对此并不进行限定。
S402:控制装置103获取历史数据。
本实施例中,在构建出AI模型后,控制装置103可以获取用于训练该AI模型的历史数据。其中,所获取的历史数据,可以包括历史图像以及该历史图像对应的历史运动参数,该历史图像为机器人101从至少一个起始位置运动至操作点位的过程(以下称之为数据采集过程)中摄像装置102拍摄得到的图像,该历史图像的对应的历史运动参数为数据采集过程中基于历史图像控制机器人运动的参数。
作为一种获取历史数据的实现示例,首先,工作台105上可以预先设置有标志位,例如,可以根据目标对象106在工作台105上的摆放位置在工作台105上设置如图6所示的标志位,该标志位包括4个大小相同的圆,而目标对象106的摆放位置可以是这4个圆之间的位置中心,也即为机器人101利用末端工具104操作目标对象106时该目标对象所在的位置。可选地,作为标志位的4个圆可以具有不同的颜色。实际应用时,标志位也可以是通过其它方式进行设定,本实施例对此并不进行限定。
然后,操作人员可以将机器人101移动至操作人员指定的操作点位,该操作点位即为机器人101利用末端工具104对目标对象106执行操作时机器人101所在的位置,并调整机器人101的位姿,以使得固定安装在机器人101上的摄像装置102针对目标对象106的拍摄图像中包括该标志位的成像位置。相应的,控制装置103可以确定标志位在拍摄图像中的成像位置,并将该位置作为参考终点。如此,后续针对摄像装置102在机器人101运动过程中所拍摄得到的图像,若该图像中标志位所形成的成像位置与该参考终点的位置一致,即可以确定机器人101当前所在的位置为操作人员指定的操作点位。
接着,操作人员可以随机设置机器人101的起始位置,并随机设置在该起始位置处的位姿。其中,基于操作人员所设定的起始位置以及位姿,摄像装置102所拍摄得到的多张图像中均包括目标对象106形成的像素区域。本实施例中,机器人101所在的位置可以通过三个标定方向上的坐标进行表示,如表示为(x,y,z)等,机器人101的位姿可以通过围绕这三个标定方向的轴的旋转角度进行表示,如表示为(Rx,Ry,Rz)等。
这样,控制装置103可以根据之前记录的标志位对应的参考终点,利用基于图像的视觉运动控制算法周期性的控制机器人101由起始位置移动至操作点位。具体的,在每个控制周期内,控制装置103可以获取摄像装置102拍摄得到的多张历史图像,并识别出该标志位在该多张历史图像中的成像位置。然后,控制装置103计算出该成像位置与之前记录的参考终点之间的位置偏差,并根据该位置偏差计算针对机器人101的6个历史运动参数(Vx,Vy,Vz,Wx,Wy,Wz),以便基于该历史运动参数控制机器人101进行运动后,可以使得标志位在历史图像中的成像位置与参考终点之间的位置偏差逐渐减小。这样,控制装置103可以基于计算得到的6个历史运动参数生成控制指令,并将该控制指令发送给机器人101,以使得机器人101基于该控制指令进行相应的运动。并且,当机器人101在运动至某个位置时,若摄像装置102此时拍摄的多张图像中标志位的成像位置与参考终点的位置一致,则控制装置103确定该机器人101到达该操作点位,并控制机器人101停止运动。在机器人101由起始位置运动至操作点位的过程中,摄像装置102可以在多个时间点分别对目标对象进行拍摄,每个拍摄的时间点即可以是上述控制周期中的一个时间点,从而摄像装置102可以在多个时间点拍摄得到多组历史图像。此时,控制装置103可以记录针对每个控制周期内控制装置103所获取的一组历史图像以及(通过上述视觉运动控制算法)根据每组历史图像所确定的历史运动参数。如此,控制装置103即可获得机器人101从一个起始位置运动至操作点位的过程中所产生的历史数据。
实际应用时,操作人员可以随机设置多个起始位置以及机器人101在各个起始位置的位姿,从而控制装置103可以基于上述方式获得机器人101从多个起始位置开始运动至同一操作点位的过程中分别产生的历史数据。
实际应用场景中,在控制装置103获取历史数据的过程中,摄像装置102可能持续处于拍摄状态,此时,摄像装置102所拍摄得到的部分图像中,可能存在部分图像不包括目标对象106形成的像素区域。比如,在操作人员调整机器人101在起始位置的位姿之前,摄像装置102所拍摄得到的图像中包括部分标志位的成像而不包括目标对象106形成的像素区域等。因此,控制装置103可以通过对摄像装置102拍摄得到的图像进行过滤,以得到包括目标对象106的历史图像。具体的,控制装置103可以获取机器人101在从起始位置运动至操作点位的过程中摄像装置102所拍摄得到的候选图像以及控制装置103基于该候选图像所确定的历史运动参数,然后,控制装置103可以剔除该候选图像中不包括目标对象106形成的像素区域的图像,并将剩余的候选图像作为历史图像,并同时获得历史图像对应的历史运动参数。
示例性地,控制装置103可以通过模板匹配的方式检测候选图像中是否包括目标对象106形成的像素区域。具体实现时,控制装置103可以预先采集包括目标对象106形成的像素区域的图像,并将其作为模板图像;然后,控制装置103可以将候选图像与该模板图像进行匹配。如果匹配成功,则控制装置103可以确定该候选图像中包括目标对象106形成的像素区域;而若匹配失败,则控制装置103可以确定该候选图像中不包括目标对象106形成的像素区域。当然,实际应用场景中,控制装置103也可以通过其它方式检测候选图像中是否包括目标对象106形成的像素区域,本实施例对此并不进行限定。
进一步地,控制装置103在采集得到历史数据后,还可以对历史图像包括的标志位的像素区域进行剔除。示例性地,控制装置103可以预先通过摄像装置102采集得到标志位图像,并将历史图像与该标志位图像进行匹配,确定标志位在历史图像中的像素区域,从而控制装置103可以将该像素区域中的像素点的像素值替换成预设值,该预设值例如可以是工作台105在图像中的像素点的像素值等。这样,控制装置103可以将所有历史图像中有关标志位的像素点全部进行替换,从而可以避免历史图像中的标志位对应的像素区域对于所要训练的AI模型的精度产生影响。
S403:控制装置103利用获取的历史数据,对目标对象106对应的AI模型进行训练。
具体实现时,控制装置103可以将历史数据中的历史图像(已在历史图像中剔除标志位)作为已构建的AI模型的输入,将历史数据中基于该历史图像所得到控制指令作为AI模型的输出,并采用预设的模型训练算法对AI模型进行训练。示例性地,控制装置103例如可以采用随机梯度下降优化(Stochastic Gradient Descent,SGD)算法来训练AI模型。在训练AI模型的过程中,控制装置103可以基于预先设定的学习率(如0.001等)来调整AI模型中的参数,并依据预先设定的损失函数(如用于平均绝对误差的函数等)计算损失函数值,以便根据该损失函数值确定是否结束针对该AI模型的训练,如当连续多次迭代训练过程中所计算出的损失函数值不再减小时,控制装置103可以确定结束该AI模型的训练过程。
实际应用中,由于机器人控制系统100所处的环境可能会发生变化,如机器人控制系统100在不同时刻所处环境的光线亮度不同等,从而导致摄像装置102在不同时刻所拍摄得到的图像中像素点的像素值存在较大差异,进而影响控制装置103基于该图像控制机器人101运动至操作点位的精度。因此,在一种可能的实施方式中,控制装置103在获取到历史图像后,还可以通过改变历史图像中的像素点的像素值,得到扩展图像,例如,控制装置103可以将历史图像中的所有像素点的像素值均增加50或者均减小50等(分别对应于环境亮度的增加或降低),并将扩展图像以及该扩展图像对应的历史运动参数增加至用于训练AI模型中的历史数据中。其中,扩展图像对应的历史运动参数,可以与生成扩展图像所使用的历史图像对应的历史运动参数一致。这样,控制装置103在利用基于包括历史图像以及扩展图像所训练得到的AI模型控制机器人101运动时,可以尽可能避免机器人控制系统100所处环境的光线亮度变化而影响控制装置103针对机器人101的控制精度。
当然,上述生成扩展图像的实现方式仅作为一种示例,在其它可能的示例中,也可以通过其它方式生成扩展图像。例如,实际应用场景中,同一类型的目标对象106可能具有不同的颜色外观等,因此,在基于历史图像生成扩展图像时,控制装置103可以识别出历史图像中的目标对象106所占据的像素点,并根据该目标对象106在实际应用场景中所可能具有的颜色,改变这些像素点在红(R)、绿(G)、蓝(B)三个颜色通道的值,例如可以将这些像素点在三个颜色通道的值进行交换等。如此,基于该扩展图像以及历史图像对AI模型进行训练,可以尽可能避免目标对象106的颜色变化对于控制装置103控制机器人101运动的精度影响。
本实施例中,是以控制装置103针对机器人101所要操作的目标对象103训练出相应的AI模型为例进行示例性说明,实际应用场景中,机器人101所要操作的对象可能包括多种类型的对象(不同对象在形状、尺寸等存在差异),并且机器人101处理不同对象的操作点位可能存在差异。此时,在一种可能的实施方式中,控制装置103可以基于上述训练AI模型的方式,针对每个对象均单独训练得到的与该对象相对应的AI模型,从而机器人101在需要对不同的对象进行操作时,控制装置103可以从多个AI模型中选择与该对象对应的AI模型来控制机器人101运动至与该对象相匹配的操作点位。或者,在其它可能的实施方式中,针对机器人101所处理的不同对象,控制装置103可以利用同一AI模型对机器人101进行控制。相应的,在训练该AI模型的过程中,控制装置103可以获取各个对象分别对应的历史数据,并利用多个对象对应的历史数据完成对该AI模型的训练。如此,针对机器人101所要处理的不同对象,训练得到的AI模型可以实现控制机器人101运动至不同的操作点位。
以上结合图1至图6对本申请实施例提供的机器人控制系统以及机器人控制方法进行介绍,接下来结合附图对本申请实施例提供的用于执行上述机器人控制方法的控制装置进行介绍。
参见图7,示出了本申请实施例提供的一种控制装置的结构示意图。其中,图7所示的控制装置700可以用于实现上述各实施例中控制装置103所执行的机器人控制方法,图7所述的控制装置700包括:
获取模块701,用于获取第一图像,所述第一图像由摄像装置对第一目标对象进行拍摄得到,其中,所述摄像装置固定安装在所述机器人上,所述第一目标对象为待由所述机器人操作的对象;
模型处理模块702,用于将所述第一图像输入至所述第一目标对象对应的第一人工智能AI模型,得到所述第一AI模型输出的第一运动参数,所述第一AI模型由预先控制所述机器人运动至第一操作点位所产生的历史数据训练得到;
控制模块703,用于根据所述第一运动参数控制所述机器人朝向所述第一目标对象对应的所述第一操作点位运动。
在一种可能的实施方式中,所述获取模块701,还用于获取所述历史数据,所述历史数据包括历史图像以及所述历史图像对应的历史运动参数,所述历史图像包括在所述机器人从至少一个起始位置运动至所述第一操作点位的数据采集过程中所述摄像装置拍摄得到的图像,所述历史运动参数包括在所述数据采集过程中基于所述历史图像控制所述机器人朝向所述第一操作点位运动的参数;
所述装置700还包括:
训练模块704,用于利用所述历史数据对所述第一AI模型进行训练。
在一种可能的实施方式中,所述历史图像包括所述第一目标对象形成的像素区域,所述获取模块701,用于:
获取所述数据采集过程中所述摄像装置拍摄得到的候选图像以及所述候选图像对应的历史运动参数;
剔除所述候选图像中未记录到所述第一目标对象的图像,得到所述历史图像以及与所述历史图像对应的历史运动参数。
在一种可能的实施方式中,所述历史数据还包括扩展图像以及所述扩展图像对应的历史运动参数,所述扩展图像通过改变所述历史图像中的像素点的像素值得到,所述扩展图像对应的历史运动参数与所述历史图像对应的历史运动参数相同。
在一种可能的实施方式中,所述历史数据包括多张历史图像以及所述多张历史图像中每张历史图像对应的历史运动参数,所述多张历史图像由所述摄像装置在所述数据采集过程中的多个时间点分别对所述第一目标对象进行拍摄得到。
在一种可能的实施方式中,所述获取模块701,还用于获取第二图像,所述第二图像由所述摄像装置对第二目标对象进行拍摄得到,其中,所述第二目标对象为待由所述机器人操作的对象;
所述模型处理模块702,还用于将所述第二图像输入至所述第二目标对象对应的第二AI模型,得到所述第二AI模型输出的第二运动参数,所述第二AI模型由预先控制所述机器人运动至第二操作点位所产生的历史数据训练得到;
所述控制模块703,还用于根据所述第二运动参数控制所述机器人朝向所述第二目标对象对应的所述第二操作点位运动。
在一种可能的实施方式中,所述获取模块701,用于:
获取初始图像,所述初始图像由所述摄像装置进行拍摄得到;
当所述初始图像中存在未记录到所述第一目标对象形成的像素区域的图像时,控制所述机器人运动至初始位置,控制所述机器人在所述初始位置的位姿为预设位姿;
获取所述摄像装置在所述初始位置按照所述预设位姿对所述第一目标对象进行拍摄得到的所述第一图像。
在一种可能的实施方式中,所述装置700还包括:
标记模块705,用于根据用户针对所述机器人的初始设置操作,将所述机器人的位置标记为所述初始位置,将所述机器人在所述初始位置的位姿标记为所述预设位姿。
在一种可能的实施方式中,所述摄像装置包括多个摄像单元,所述获取的第一图像包括多张图像。
根据本申请实施例的控制装置700可对应于执行本申请实施例中描述的方法,并且控制装置700的各个模块的上述和其它操作和/或功能分别为了实现上述实施例中控制装置103所执行的相应流程,为了简洁,在此不再赘述。
图8提供了一种控制装置。如图8所示,控制装置800具体可以用于实现上述图7所示的控制装置700的功能。
控制装置800包括总线801、处理器802和存储器803。处理器802、存储器803之间通过总线801通信。
总线801可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器802可以为中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)、神经网络处理器(neural network processing unit,NPU)等处理器中的任意一种或多种。
存储器803可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器803还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。
存储器803中存储有可执行的程序代码,处理器802执行该可执行的程序代码以执行前述实施例中控制装置103所执行的机器人控制方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述控制装置103所执行的机器人控制方法。
本申请实施例还提供了一种计算机程序产品。所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。
所述计算机程序产品可以为一个软件安装包,在需要使用前述对象识别方法的任一方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
Claims (22)
1.一种机器人控制方法,其特征在于,所述方法包括:
获取第一图像,所述第一图像由摄像装置对第一目标对象进行拍摄得到,其中,所述摄像装置固定安装在所述机器人上,所述第一目标对象为待由所述机器人操作的对象;
将所述第一图像输入至所述第一目标对象对应的第一人工智能AI模型,得到所述第一AI模型输出的第一运动参数,所述第一AI模型由预先控制所述机器人运动至第一操作点位所产生的历史数据训练得到;
根据所述第一运动参数控制所述机器人朝向所述第一目标对象对应的所述第一操作点位运动。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述历史数据,所述历史数据包括历史图像以及所述历史图像对应的历史运动参数,所述历史图像包括在所述机器人从至少一个起始位置运动至所述第一操作点位的数据采集过程中所述摄像装置拍摄得到的图像,所述历史运动参数包括在所述数据采集过程中基于所述历史图像控制所述机器人朝向所述第一操作点位运动的参数;
利用所述历史数据对所述第一AI模型进行训练。
3.根据权利要求2所述的方法,其特征在于,所述历史图像包括所述第一目标对象形成的像素区域,所述获取历史数据,包括:
获取所述数据采集过程中所述摄像装置拍摄得到的候选图像以及所述候选图像对应的历史运动参数;
剔除所述候选图像中未记录到所述第一目标对象的图像,得到所述历史图像以及与所述历史图像对应的历史运动参数。
4.根据权利要求2或3所述的方法,其特征在于,所述历史数据还包括扩展图像以及所述扩展图像对应的历史运动参数,所述扩展图像通过改变所述历史图像中的像素点的像素值得到,所述扩展图像对应的历史运动参数与所述历史图像对应的历史运动参数相同。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述历史数据包括多张历史图像以及所述多张历史图像中每张历史图像对应的历史运动参数,所述多张历史图像由所述摄像装置在所述数据采集过程中的多个时间点分别对所述第一目标对象进行拍摄得到。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
获取第二图像,所述第二图像由所述摄像装置对第二目标对象进行拍摄得到,其中,所述第二目标对象为待由所述机器人操作的对象;
将所述第二图像输入至所述第二目标对象对应的第二AI模型,得到所述第二AI模型输出的第二运动参数,所述第二AI模型由预先控制所述机器人运动至第二操作点位所产生的历史数据训练得到;
根据所述第二运动参数控制所述机器人朝向所述第二目标对象对应的所述第二操作点位运动。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述获取第一图像,包括:
获取初始图像,所述初始图像由所述摄像装置进行拍摄得到;
当所述初始图像中存在未记录到所述第一目标对象形成的像素区域的图像时,控制所述机器人运动至初始位置,控制所述机器人在所述初始位置的位姿为预设位姿;
获取所述摄像装置在所述初始位置按照所述预设位姿对所述第一目标对象进行拍摄得到的所述第一图像。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
根据用户针对所述机器人的初始设置操作,将所述机器人的位置标记为所述初始位置,将所述机器人在所述初始位置的位姿标记为所述预设位姿。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述摄像装置包括多个摄像单元,所述获取的第一图像包括多张图像。
10.一种控制装置,其特征在于,所述装置包括:
获取模块,用于获取第一图像,所述第一图像由摄像装置对第一目标对象进行拍摄得到,其中,所述摄像装置固定安装在所述机器人上,所述第一目标对象为待由所述机器人操作的对象;
模型处理模块,用于将所述第一图像输入至所述第一目标对象对应的第一人工智能AI模型,得到所述第一AI模型输出的第一运动参数,所述第一AI模型由预先控制所述机器人运动至第一操作点位所产生的历史数据训练得到;
控制模块,用于根据所述第一运动参数控制所述机器人朝向所述第一目标对象对应的所述第一操作点位运动。
11.根据权利要求10所述的装置,其特征在于,所述获取模块,还用于获取所述历史数据,所述历史数据包括历史图像以及所述历史图像对应的历史运动参数,所述历史图像包括在所述机器人从至少一个起始位置运动至所述第一操作点位的数据采集过程中所述摄像装置拍摄得到的图像,所述历史运动参数包括在所述数据采集过程中基于所述历史图像控制所述机器人朝向所述第一操作点位运动的参数;
所述装置还包括:训练模块,用于利用所述历史数据对所述第一AI模型进行训练。
12.根据权利要求11所述的装置,其特征在于,所述历史图像包括所述第一目标对象形成的像素区域,所述获取模块,用于:
获取所述数据采集过程中所述摄像装置拍摄得到的候选图像以及所述候选图像对应的历史运动参数;
剔除所述候选图像中未记录到所述第一目标对象的图像,得到所述历史图像以及与所述历史图像对应的历史运动参数。
13.根据权利要求11或12所述的装置,其特征在于,所述历史数据还包括扩展图像以及所述扩展图像对应的历史运动参数,所述扩展图像通过改变所述历史图像中的像素点的像素值得到,所述扩展图像对应的历史运动参数与所述历史图像对应的历史运动参数相同。
14.根据权利要求11至13任一项所述的装置,其特征在于,所述历史数据包括多张历史图像以及所述多张历史图像中每张历史图像对应的历史运动参数,所述多张历史图像由所述摄像装置在所述数据采集过程中的多个时间点分别对所述第一目标对象进行拍摄得到。
15.根据权利要求10至14任一项所述的装置,其特征在于,所述获取模块,还用于获取第二图像,所述第二图像由所述摄像装置对第二目标对象进行拍摄得到,其中,所述第二目标对象为待由所述机器人操作的对象;
所述模型处理模块,还用于将所述第二图像输入至所述第二目标对象对应的第二AI模型,得到所述第二AI模型输出的第二运动参数,所述第二AI模型由预先控制所述机器人运动至第二操作点位所产生的历史数据训练得到;
所述控制模块,还用于根据所述第二运动参数控制所述机器人朝向所述第二目标对象对应的所述第二操作点位运动。
16.根据权利要求10至15任一项所述的装置,其特征在于,所述获取模块,用于:
获取初始图像,所述初始图像由所述摄像装置进行拍摄得到;
当所述初始图像中存在未记录到所述第一目标对象形成的像素区域的图像时,控制所述机器人运动至初始位置,控制所述机器人在所述初始位置的位姿为预设位姿;
获取所述摄像装置在所述初始位置按照所述预设位姿对所述第一目标对象进行拍摄得到的所述第一图像。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
标记模块,用于根据用户针对所述机器人的初始设置操作,将所述机器人的位置标记为所述初始位置,将所述机器人在所述初始位置的位姿标记为所述预设位姿。
18.根据权利要求10至17任一项所述的装置,其特征在于,所述摄像装置包括多个摄像单元,所述获取的第一图像包括多张图像。
19.一种机器人控制系统,其特征在于,所述机器人控制系统包括机器人、摄像装置以及控制装置,所述摄像装置固定安装在所述机器人上;
所述摄像装置,用于对第一目标对象进行拍摄,所述第一目标对象为待由所述机器人操作的对象;
所述控制装置,用于执行如权利要求1至9任一项所述的方法。
20.一种控制装置,其特征在于,所述控制装置包括处理器、存储器;
所述处理器用于执行所述存储器中存储的指令,以使所述计算设备执行如权利要求1至9任一项所述的方法。
21.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算设备运行时,使得所述计算设备执行如权利要求1至9中任一项所述的方法。
22.一种包含指令的计算机程序产品,当其在计算设备上运行时,使得所述计算设备执行如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111277373.XA CN116061163A (zh) | 2021-10-29 | 2021-10-29 | 机器人控制方法、装置、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111277373.XA CN116061163A (zh) | 2021-10-29 | 2021-10-29 | 机器人控制方法、装置、系统及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116061163A true CN116061163A (zh) | 2023-05-05 |
Family
ID=86177312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111277373.XA Pending CN116061163A (zh) | 2021-10-29 | 2021-10-29 | 机器人控制方法、装置、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116061163A (zh) |
-
2021
- 2021-10-29 CN CN202111277373.XA patent/CN116061163A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110125926B (zh) | 自动化的工件取放方法及系统 | |
CN108827154B (zh) | 一种机器人无示教抓取方法、装置及计算机可读存储介质 | |
CN107598977B (zh) | 使用视觉和激光测距仪实现机器人自动示教的方法和系统 | |
US8923602B2 (en) | Automated guidance and recognition system and method of the same | |
US11173609B2 (en) | Hand-eye calibration method and system | |
US20190375112A1 (en) | Position control device and position control method | |
US20170072566A1 (en) | Measurement system used for calibrating mechanical parameters of robot | |
CN109459984B (zh) | 一种基于三维点云的定位抓取系统及其使用方法 | |
CN110712194A (zh) | 物体检查装置、物体检查系统以及调整检查位置的方法 | |
US10926416B2 (en) | Robotic manipulation using an independently actuated vision system, an adversarial control scheme, and a multi-tasking deep learning architecture | |
KR102400416B1 (ko) | 카메라를 이용한 로봇 축각도들의 검출 및 로봇의 선택 | |
CN113878588B (zh) | 面向卡扣式连接的基于触觉反馈的机器人柔顺装配方法 | |
CN113927602B (zh) | 基于视、触觉融合的机器人精密装配控制方法及系统 | |
JP2006224291A (ja) | ロボットシステム | |
CN113902721A (zh) | 一种工件位置的调整方法、控制处理装置及调整系统 | |
CN113744305B (zh) | 目标物检测方法、装置、电子设备和计算机存储介质 | |
CN113334380A (zh) | 基于双目视觉的机器人视觉标定方法、控制系统及装置 | |
CN114187312A (zh) | 目标物的抓取方法、装置、系统、存储介质及设备 | |
CN116061163A (zh) | 机器人控制方法、装置、系统及相关设备 | |
CN113597362B (zh) | 用于确定机器人坐标系与可移动装置坐标系之间的关系的方法和控制装置 | |
CN116472551A (zh) | 调整参数的装置、机器人系统、方法以及计算机程序 | |
CN115972192A (zh) | 具有可变空间分辨率的3d计算机视觉系统 | |
CN111625001B (zh) | 机器人的控制方法及装置、工业机器人 | |
CN116408790A (zh) | 机器人控制方法、装置、系统及存储介质 | |
CN112584041A (zh) | 一种图像识别动态纠偏方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |