CN113552871A - 基于人工智能的机器人控制方法、装置及电子设备 - Google Patents
基于人工智能的机器人控制方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113552871A CN113552871A CN202110022099.5A CN202110022099A CN113552871A CN 113552871 A CN113552871 A CN 113552871A CN 202110022099 A CN202110022099 A CN 202110022099A CN 113552871 A CN113552871 A CN 113552871A
- Authority
- CN
- China
- Prior art keywords
- robot
- motion data
- feature extraction
- image
- task
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 108
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 42
- 230000033001 locomotion Effects 0.000 claims abstract description 378
- 238000000605 extraction Methods 0.000 claims abstract description 268
- 238000012549 training Methods 0.000 claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 87
- 238000004088 simulation Methods 0.000 claims abstract description 83
- 230000008569 process Effects 0.000 claims abstract description 45
- 238000013145 classification model Methods 0.000 claims description 66
- 230000015654 memory Effects 0.000 claims description 23
- 230000004927 fusion Effects 0.000 claims description 15
- 238000007499 fusion processing Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 abstract description 13
- 230000000875 corresponding effect Effects 0.000 description 201
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 44
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 13
- 238000013526 transfer learning Methods 0.000 description 12
- 210000003857 wrist joint Anatomy 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 11
- 241000282414 Homo sapiens Species 0.000 description 10
- 230000001276 controlling effect Effects 0.000 description 10
- 238000005070 sampling Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000004140 cleaning Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000003278 mimic effect Effects 0.000 description 6
- 238000012512 characterization method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 239000012636 effector Substances 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000005012 migration Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000010411 cooking Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000000474 nursing effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000010408 sweeping Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种基于人工智能的机器人控制方法、装置、电子设备及计算机可读存储介质;方法包括:分别采集模仿对象和机器人在执行第一任务的过程中所处环境的样本图像;根据模仿对象的样本图像与机器人的样本图像之间的差异,对第一特征提取网络进行训练,得到第二特征提取网络;根据模仿对象的样本图像对第二特征提取网络进行训练,得到第三特征提取网络;在机器人执行第二任务的过程中,根据第三特征提取网络对机器人所处环境的图像进行特征提取处理得到图像特征,根据图像特征进行运动规划处理得到运动数据,并根据运动数据控制机器人。通过本申请,能够提升机器人控制的精度,同时提升任务执行的成功率。
Description
技术领域
本申请涉及人工智能技术和云技术,尤其涉及一种基于人工智能的机器人控制方法、装置、电子设备及计算机可读存储介质。
背景技术
机器人(Robot)是一种能够半自主或全自主工作的智能机器,用于辅助甚至替代人类执行特定的任务,从而服务于人类生活,扩大或延伸人类的活动及能力范围。机器人可以广泛地应用于日常生活及工业制造等应用场景中。
为了使机器人具有智能,能够学习如何执行任务,在相关技术提供的方案中,通常是采用迁移学习的机制,将根据模仿对象的样本数据训练好的模型应用于机器人的控制。但是,这种模型的有效性无法验证,在根据这种模型进行机器人控制时,很可能会出现任务执行失败的情况,即机器人控制的精度低。
发明内容
本申请实施例提供一种基于人工智能的机器人控制方法、装置、电子设备及计算机可读存储介质,能够提升机器人控制的精度,同时提升任务执行的成功率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种基于人工智能的机器人控制方法,包括:
分别采集模仿对象和机器人在执行第一任务的过程中所处环境的样本图像;
根据所述模仿对象的样本图像与所述机器人的样本图像之间的差异,对第一特征提取网络进行训练,得到第二特征提取网络;
根据所述模仿对象的样本图像对所述第二特征提取网络进行训练,得到第三特征提取网络;
在所述机器人执行第二任务的过程中,根据所述第三特征提取网络对所述机器人所处环境的图像进行特征提取处理得到图像特征,根据所述图像特征进行运动规划处理得到运动数据,并根据所述运动数据控制所述机器人。
本申请实施例提供一种基于人工智能的机器人控制装置,包括:
采集模块,用于分别采集模仿对象和机器人在执行第一任务的过程中所处环境的样本图像;
第一训练模块,用于根据所述模仿对象的样本图像与所述机器人的样本图像之间的差异,对第一特征提取网络进行训练,得到第二特征提取网络;
第二训练模块,用于根据所述模仿对象的样本图像对所述第二特征提取网络进行训练,得到第三特征提取网络;
控制模块,用于在所述机器人执行第二任务的过程中,根据所述第三特征提取网络对所述机器人所处环境的图像进行特征提取处理得到图像特征,根据所述图像特征进行运动规划处理得到运动数据,并根据所述运动数据控制所述机器人。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的基于人工智能的机器人控制方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的基于人工智能的机器人控制方法。
本申请实施例具有以下有益效果:
根据采集到的模仿对象的样本图像与机器人的样本图像之间的差异,对第一特征提取网络进行训练,得到第二特征提取网络,再根据模仿对象的样本图像对第二特征提取网络进行训练,得到第三特征提取网络。如此,在将第三特征提取网络应用于机器人的控制时,能够保证提取出的图像特征的有效性,进而能够实现对机器人的精准控制,提升任务执行的成功率。
附图说明
图1是本申请实施例提供的基于人工智能的机器人控制系统的架构示意图;
图2是本申请实施例提供的终端设备的架构示意图;
图3A是本申请实施例提供的基于人工智能的机器人控制方法的流程示意图;
图3B是本申请实施例提供的基于人工智能的机器人控制方法的流程示意图;
图3C是本申请实施例提供的基于人工智能的机器人控制方法的流程示意图;
图3D是本申请实施例提供的基于人工智能的机器人控制方法的流程示意图;
图4是本申请实施例提供的基于人工智能的机器人控制方法的流程示意图;
图5是本申请实施例提供的采集用户的样本图像的架构示意图;
图6是本申请实施例提供的用户的样本图像的数据采集环境的架构示意图;
图7是本申请实施例提供的不同数据采集环境的示意图;
图8是本申请实施例提供的采集机器人的样本图像的架构示意图;
图9是本申请实施例提供的机器人的样本图像的数据采集环境的架构示意图;
图10是本申请实施例提供的在不同数据采集环境下采集到的样本图像的示意图;
图11是本申请实施例提供的表征学习的架构示意图;
图12是本申请实施例提供的迁移学习的架构示意图;
图13是本申请实施例提供的机器人线上控制的架构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。在以下的描述中,所涉及的术语“多个”是指至少两个。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)人工智能(Artificial Intelligence,AI):利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。在本申请实施例中,可以基于人工智能原理(如机器学习原理)来构建神经网络(Neural Network,ANN),如特征提取网络等,本申请实施例中的神经网络是指人工神经网络,是由多个节点(或称神经元,是人类大脑的神经元的抽象概念)之间相互连接所构成。
2)机器人:一种能够半自主或全自主工作的智能机器。本申请实施例对机器人的结构不做限定,例如可以是扫地机器人或拥有机械臂的机器人等,对于拥有机械臂的机器人来说,其可以是6自由度(如拥有6个关节)或7自由度等。
3)任务:指机器人所要执行的任务,例如可以是倒水、烹饪、清洁、护理或清扫等。在本申请实施例中,任务包括设定的多个候选任务进度,以控制源容器向目标容器倒水的倒水任务举例,可以设定10个候选任务进度,分别为目标容器的内部空间已被水填充10%、目标容器的内部空间已被水填充20%、……目标容器的内部空间已被水填充100%。除此之外,还可以设定任务包括级联的多个任务层级,每个任务层级包括多个候选任务进度。任务层级可以根据实际应用场景进行划分,同样以倒水任务举例,可以划分为阶段任务层级和状态任务层级,其中,阶段任务层级包括4个候选任务进度,即[控制源容器接近目标容器]、[开始倒水]、[放慢倒水的速度]和[结束倒水以及移开源容器];状态任务层级包括上述的10个候选任务进度。
4)模仿对象:可以是用户,也可以是另外的机器人。值得说明的是,本申请实施例中的用户是泛指人类,而并非限定于某个特定的用户。
5)模仿学习(Imitation Learning):本质上是监督学习,即从给定的样本数据中进行学习。在机器人控制领域中,基于模仿学习的机制可以忽略复杂动力学,通过观察和模仿使机器人获得技能,即执行任务的技能。
6)迁移学习(Transfer Learning):在本申请实施例中,是指将根据模仿对象的样本数据训练得到的特征提取网络(或称特征提取模型),应用于机器人的控制中,由于模仿对象的样本数据相较于机器人的样本数据通常更易于采集,因此能够有效节省模型训练的时间成本和人力成本。值得说明的是,样本数据是指模型的训练数据,在本申请实施例中,样本数据至少包括样本图像。
7)所处环境的图像(或样本图像):可以是以任务的执行主体的视角(即第一人称视角)观测得到的图像,也可以是以第三人称视角观测得到的图像,其中,任务的执行主体为模仿对象或机器人。以任务的执行主体是机器人为例,则机器人所处环境的图像可以是机器人内部的摄像机所拍摄得到的图像,也可以是独立于机器人的摄像机对机器人进行拍摄所得到的图像。任务的执行主体所处环境的图像可以不包括执行主体本身在内,也可以包括执行主体的全部或部分,例如图像可以包括用户或者机器人的手腕关节。
8)运动数据:本质上是运动学数据,对于机器人来说,机器人的运动数据的数据类型包括但不限于位姿值、角速度以及力矩值。
9)反向传播:对于基于机器学习原理构建的网络来说,其往往涉及前向传播(又称正向传播)和反向传播两个过程。以包括输入层、隐藏层及输出层的神经网络举例,前向传播是指按照输入层-隐藏层-输出层的顺序,对输入的数据进行一系列的计算,最终得到输出层输出的预测结果;反向传播是指将预测结果和实际结果之间的差异,按照输出层-隐藏层-输入层的顺序传播至各个层,并在该过程中沿梯度下降方向更新各个层的权重参数。
10)大数据(Big Data):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。在本申请实施例中,可以利用大数据技术来实现模型训练以及实时的机器人控制。
本申请实施例提供一种基于人工智能的机器人控制方法、装置、电子设备及计算机可读存储介质,能够提升机器人控制的精度,同时提升任务执行的成功率。下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为各种类型的终端设备,也可以实施为服务器。
参见图1,图1是本申请实施例提供的基于人工智能的机器人控制系统100的一个架构示意图,终端设备400通过网络300连接服务器200,服务器200连接数据库500,其中,网络300可以是广域网或者局域网,又或者是二者的组合。在图1中,以倒水任务为例,还示出了机器人600(图1中示出的机器人600可以是一个机器人中的手腕关节)、源容器700以及目标容器700。
在一些实施例中,以电子设备是终端设备为例,本申请实施例提供的基于人工智能的机器人控制方法可以由终端设备实现。例如,终端设备400运行客户端410,客户端410可以是用于控制机器人600的客户端。客户端410可以分别采集模仿对象和机器人600在执行第一任务的过程中所处环境的样本图像,对于模仿对象的样本图像来说,客户端410可以通过服务器200访问数据库500,进而从数据库500中采集,或者客户端410也可以通过摄像机(终端设备400内置或外设的摄像机)进行采集;对于机器人600的样本图像来说,客户端410可以通过摄像机进行采集。然后,客户端410根据模仿对象的样本图像与机器人600的样本图像之间的差异,对第一特征提取网络进行训练得到第二特征提取网络,再根据模仿对象的样本图像对第二特征提取网络进行训练,得到第三特征提取网络。
在机器人600执行第二任务的过程中,客户端410实时采集机器人600所处环境的图像,并根据第三特征提取网络对该图像进行特征提取处理得到图像特征,并根据图像特征进行运动规划处理得到运动数据,然后根据运动数据控制机器人600。值得说明的是,第一任务是指在第二任务之前执行的一个或多个任务的统称,第一任务与第二任务的类型相同,例如都为倒水任务,在图1中,以控制源容器700向目标容器800中倒水的任务作为示例。
在一些实施例中,以电子设备是服务器为例,本申请实施例提供的基于人工智能的机器人控制方法可以由服务器和终端设备协同实现。例如,服务器200从数据库500中采集模仿对象的样本图像,并获取客户端410采集到的机器人600的样本图像。然后,服务器200根据模仿对象的样本图像以及机器人600的样本图像,训练出第三特征提取网络。
在机器人600执行第二任务的过程中,服务器200获取客户端410采集到的机器人600所处环境的图像,根据第三特征提取网络对该图像进行特征提取处理得到图像特征,并根据图像特征进行运动规划处理得到运动数据。服务器200可以将根据运动数据生成的控制指令发送至客户端410,以使客户端410根据该控制指令控制机器人600;或者,服务器200也可以将运动数据发送至客户端410,以使客户端410根据运动数据生成控制指令,并根据控制指令控制机器人600。在一些实施例中,服务器200也可以将训练得到的第三特征提取网络发送至客户端410,以使客户端410在本地进行特征提取处理及运动规划处理,得到运动数据。
值得说明的是,在图1中,以终端设备400独立于机器人600的情况进行了示例说明,在一些实施例中,终端设备400也可以集成于机器人600内部实现(即终端设备400作为机器人600内部的一个组件),从而使机器人600本身具有自控制能力。
在一些实施例中,终端设备400或服务器200可以通过运行计算机程序来实现本申请实施例提供的基于人工智能的机器人控制方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,其中,云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。终端设备400可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
以本申请实施例提供的电子设备是终端设备为例说明,可以理解的,对于电子设备是服务器的情况,图2中示出的结构中的部分(例如用户接口、呈现模块和输入处理模块)可以缺省。参见图2,图2是本申请实施例提供的终端设备400的结构示意图,图2所示的终端设备400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器450中的基于人工智能的机器人控制装置455,其可以是程序和插件等形式的软件,包括以下软件模块:采集模块4551、第一训练模块4552、第二训练模块4553以及控制模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
将结合本申请实施例提供的电子设备的示例性应用和实施,说明本申请实施例提供的基于人工智能的机器人控制方法。
参见图3A,图3A是本申请实施例提供的基于人工智能的机器人控制方法的一个流程示意图,将结合图3A示出的步骤进行说明。
在步骤101中,分别采集模仿对象和机器人在执行第一任务的过程中所处环境的样本图像。
这里,对第一任务的类型不做限定,例如可以是日常生活中存在的任务,如倒水任务或清扫任务等,也可以是工业领域中的任务。对于机器人以及机器人的模仿对象,分别采集两者在执行第一任务的过程中所处环境的样本图像,例如进行周期性采集,得到在执行第一任务的过程中的多个时刻的样本图像。由于本申请实施例的应用的是迁移学习的机制,因此采集到的模仿对象的样本图像的数量可以大于机器人的样本图像的数量。
本申请实施例对采集样本图像的视角不做限定,例如可以是第一人称视角,也可以是第三人称视角;机器人的样本图像可以不包括机器人本身的任何结构,也可以包括机器人的全部或部分结构,如包括机器人的手腕关节,模仿对象的样本图像同理。
值得说明的是,机器人的样本图像可以是实时采集的,也可以是从网络中获取的,模仿对象的样本图像同理。模仿对象可以是其他的机器人,也可以是用户,此外,可以采集同一类型的多个模仿对象的样本图像,如采集多个用户的样本图像。
在一些实施例中,在机器人执行第一任务的过程中,还包括:执行以下任意一种处理:获取针对机器人的控制指令,以控制机器人;获取机器人的操控对象的运动数据,并根据操控对象的运动数据生成控制指令,以控制机器人。
为了保证采集到的机器人的样本图像的准确性和有效性,本申请实施例提供了两种方式来控制机器人执行第一任务。第一种方式是主从控制方式,在该方式中,机器人对应有一个主控制器(Master Controller),例如可以是一个主机器人,在获取到操控对象(如操控用户)针对主控制器的控制指令时,根据该控制指令控制机器人。
第二种方式是传感方式,例如,在机器人的操控对象预先穿戴好传感器的情况下,获取传感器监测到的该操控对象的运动数据,并根据该运动数据生成对应的控制指令,以控制机器人。
当然,这并不构成对本申请实施例的限定,例如还可以通过拖动示教的方式来控制机器人,即由机器人的操控对象直接拖动机器人,以执行第一任务。通过上述方式,能够提升控制机器人以执行第一任务的灵活性,可以根据实际应用场景选择控制方式。
在步骤102中,根据模仿对象的样本图像与机器人的样本图像之间的差异,对第一特征提取网络进行训练,得到第二特征提取网络。
这里,采集到的模仿对象的样本图像与机器人的样本图像往往存在差异,以倒水任务举例,差异可能是由视角原因、容器原因(如源容器和/或目标容器不同)或者握持源容器的结构不同(如机器人的手腕关节与用户的手腕关节不同)等原因导致的。因此,在本申请实施例中,根据模仿对象的样本图像与机器人的样本图像之间的差异,对初始的第一特征提取网络进行训练,得到第二特征提取网络。这里,对第一特征提取网络的结构不做限定,例如第一特征提取网络可以包括若干个卷积层,卷积层的数量可以根据第一任务的复杂度进行调整,如卷积层的数量可以与第一任务的复杂度成正相关关系,又例如第一特征提取网络可以包括若干个残差块。
在步骤103中,根据模仿对象的样本图像对第二特征提取网络进行训练,得到第三特征提取网络。
在通过步骤102得到第二特征提取网络后,根据模仿对象的样本图像对第二特征提取网络进行训练,得到第三特征提取网络。举例来说,可以将第二特征提取网络作为标签预测模型中的特征提取网络,并根据模仿对象的样本图像以及对应的图像标签对标签预测模型进行训练,再将训练后的标签预测模型中的特征提取网络作为第三特征提取网络,其中,图像标签如样本任务进度或样本运动数据。
由于第二特征提取网络是根据模仿对象的样本图像与机器人的样本图像之间的差异训练得到的,因此,根据模仿对象的样本图像对第二特征提取网络进行训练后得到的第三特征提取网络,能够有效应用于机器人的控制中,即能够准确、有效地提取出机器人所处环境的图像的图像特征。
在步骤104中,在机器人执行第二任务的过程中,根据第三特征提取网络对机器人所处环境的图像进行特征提取处理得到图像特征,根据图像特征进行运动规划处理得到运动数据,并根据运动数据控制机器人。
这里,第二任务与第一任务的类型相同,例如都为倒水任务,第一任务是在第二任务之前执行的一个或多个任务的统称。在机器人执行第二任务的过程中,采集机器人所处环境的图像,并根据第三特征提取网络对机器人的图像进行特征提取处理得到图像特征,该图像特征包括有机器人的图像中的核心信息。然后,根据图像特征进行运动规划处理得到运动数据,并根据运动数据控制机器人。
本申请实施例对运动数据的数据类型不做限定,例如可以是位姿值、角速度或力矩值等。在确定出运动数据后,可以通过逆运动学原理确定出控制指令,并根据控制指令控制机器人,其中,控制指令包括有机器人可以直接读取并执行的控制数据(控制量),控制数据如机器人的多个关节的转动角度。当然,若运动数据能够被机器人直接读取并执行,则也可以将运动数据直接作为控制指令中的控制数据。
值得说明的是,由于第二任务的执行过程是动态过程,因此可以周期性地采集机器人所处环境的图像,并确定出运动数据以控制机器人,如此,能够实现实时且准确的控制。
如图3A所示,本申请实施例根据模仿对象的样本图像与机器人的样本图像之间的差异,对第一特征提取网络进行训练得到第二特征提取网络,从而能够提升迁移学习的有效性,即根据模仿对象的样本图像对第二特征提取网络进行训练后得到的第三特征提取网络,能够快速、有效地提取出机器人所处环境的图像中的图像特征,进而能够提升机器人控制的精度,同时提升机器人执行第二任务的成功率。
在一些实施例中,参见图3B,图3B是本申请实施例提供的基于人工智能的机器人控制方法的一个流程示意图,图3A示出的步骤102可以通过步骤201至步骤203实现,将结合各步骤进行说明。
在步骤201中,在第i轮迭代中,根据第一特征提取网络,对模仿对象的样本图像及机器人的样本图像分别进行特征提取处理,得到模仿对象的样本图像的图像特征、以及机器人的样本图像的图像特征。
在本申请实施例中,可以对第一特征提取网络进行多轮迭代,从而得到第二特征提取网络,为了便于理解,以第i轮迭代的过程进行说明,其中,i为大于0的整数。
在第i轮迭代中,根据第一特征提取网络对模仿对象的样本图像进行特征提取处理,得到模仿对象的样本图像的图像特征,同时,根据第一特征提取网络对机器人的样本图像进行特征提取处理,得到机器人的样本图像的图像特征。这里,为了提升对第一特征提取网络的训练效果,待进行特征提取处理的模仿对象的样本图像以及机器人的样本图像可以是对应同一个样本任务进度的,以倒水任务举例,则可以均对应目标容器的内部空间已被水填充10%这个候选任务进度。
在步骤202中,根据不同的图像还原网络,对模仿对象的样本图像的图像特征、以及机器人的样本图像的图像特征分别进行图像还原处理,得到模仿对象的样本图像对应的还原图像、以及机器人的样本图像对应的还原图像。
这里,模仿对象和机器人对应不同的图像还原网络,本申请实施例对图像还原网络的结构同样不做限定,例如可以包括若干个反卷积层。
在通过步骤201得到模仿对象的样本图像的图像特征、以及机器人的样本图像的图像特征后,根据模仿对象对应的图像还原网络,对模仿对象的样本图像的图像特征进行图像还原处理,得到模仿对象的样本图像对应的还原图像;同时,根据机器人对应的图像还原网络,对机器人的样本图像的图像特征进行图像还原处理,得到机器人的样本图像对应的还原图像。
在步骤203中,对模仿对象的样本图像与对应的还原图像之间的差异、以及机器人的样本图像与对应的还原图像之间的差异进行融合处理,并根据融合处理得到的融合差异对第一特征提取网络进行训练,以将训练后的第一特征提取网络用于第i+1轮迭代。
这里,确定模仿对象的样本图像与对应的还原图像之间的差异,这里的差异即为损失值。例如,可以通过损失函数对模仿对象的样本图像及对应的还原图像进行处理,得到损失值,其中,对损失函数的类型不做限定,例如可为均方误差损失函数或交叉熵损失函数等。同理,可以确定出机器人的样本图像与对应的还原图像之间的差异。
然后,对模仿对象的样本图像与对应的还原图像之间的差异、以及机器人的样本图像与对应的还原图像之间的差异进行融合处理,得到融合差异,这里对融合处理的方式不做限定,例如可以是求和处理或加权求和等。根据得到的融合差异即可对第一特征提取网络进行训练,例如,根据融合差异在第一特征提取网络中进行反向传播,并在反向传播的过程中更新第一特征提取网络的权重参数。
完成本次训练后,将训练后的第一特征提取网络用于第i+1轮迭代。当满足第一特征提取网络的收敛条件时,可以停止迭代,并将最后一轮迭代中的第一特征提取网络作为第二特征提取网络。本申请实施例对第一特征提取网络的收敛条件不做限定,例如可以是达到设定的迭代轮数,或者得到的融合差异小于差异阈值等。
在一些实施例中,对模仿对象的样本图像与对应的还原图像之间的差异、以及机器人的样本图像与对应的还原图像之间的差异进行融合处理之后,还包括:根据融合处理得到的融合差异,对模仿对象对应的图像还原网络进行训练,以将训练后的模仿对象对应的图像还原网络用于第i+1轮迭代。
除了对第一特征提取网络进行训练外,还可以对图像还原网络进行训练,由于模仿对象和机器人分别对应不同的图像还原网络,因此,可以采用不同的训练方式。
举例来说,在第i轮迭代中,可以根据融合处理得到的融合差异,对模仿对象对应的图像还原网络进行训练,如结合反向传播的机制更新模仿对象对应的图像还原网络的权重参数。然后,将训练后的模仿对象对应的图像还原网络用于第i+1轮迭代。
在一些实施例中,根据融合处理得到的融合差异对第一特征提取网络进行训练之后,还包括:根据训练后的第一特征提取网络,对机器人的样本图像进行特征提取处理,得到新的图像特征;根据机器人对应的图像还原网络,对新的图像特征进行图像还原处理,得到新的还原图像;根据机器人的样本图像与新的还原图像之间的差异,对机器人对应的图像还原网络进行训练,以将训练后的机器人对应的图像还原网络用于第i+1轮迭代。
在第i轮迭代中,根据融合处理得到的融合差异对第一特征提取网络进行训练之后,可以根据训练后的第一特征提取网络对机器人的样本图像进行特征提取处理,得到新的图像特征。然后,根据机器人对应的图像还原网络,对新的图像特征进行图像还原处理,得到新的还原图像。最后根据机器人的样本图像与新的还原图像之间的差异,对机器人对应的图像还原网络进行训练,如结合反向传播的机制更新机器人对应的图像还原网络的权重参数,并将训练后的机器人对应的图像还原网络用于第i+1轮迭代。
通过上述的先训练模仿对象对应的图像还原网络,再训练机器人对应的图像还原网络的方式,能够适应于从模仿对象迁移到机器人的场景,有助于提升第一特征提取网络的训练效果。
如图3B所示,本申请实施例根据第一特征提取网络对图像进行特征提取处理得到图像特征,并根据图像还原网络对图像特征进行图像还原处理得到还原图像,如此,根据原始的图像与还原图像之间的差异,即可验证提取出的图像特征是否有效。基于该差异也可提升对第一特征提取网络的训练效果,使得训练后的第一特征提取网络能够从机器人所处环境的图像中提取出核心的有效信息,以作为图像特征。
在一些实施例中,参见图3C,图3C是本申请实施例提供的基于人工智能的机器人控制方法的一个流程示意图,图3A示出的步骤103可以通过步骤301至步骤302实现,将结合各步骤进行说明。
在步骤301中,根据模仿对象的样本图像以及对应的样本任务进度,对模仿对象对应的进度分类模型进行训练;其中,模仿对象对应的进度分类模型中的特征提取网络为第二特征提取网络。
在得到第二特征提取网络后,可以根据模仿对象的样本图像对第二特征提取网络进行进一步训练。一种方式是,将第二特征提取网络作为模仿对象对应的进度分类模型中的特征提取网络,该进度分类模型除了特征提取网络外还包括有其他的网络,例如若干个全连接层。然后,根据模仿对象的样本图像以及对应的样本任务进度,对模仿对象对应的进度分类模型进行训练,如进行多轮迭代,每一轮迭代包括一次训练。
在本申请实施例中,任务包括的多个候选任务进度可以根据实际应用场景进行设定,例如在倒水任务中,候选任务进度表示目标容器的内部空间被水填充的状态,如包括10%(即目标容器的内部空间已被水填充10%)、20%、……100%;在清扫桌面的任务中,候选任务进度表示桌面已被清扫的状态,如包括10%(即已清扫的区域占桌面总区域的10%)、20%、……100%。
在采集到模仿对象的样本图像后,可以通过人为标注的方式,在多个候选任务进度中确定该样本图像对应时刻,模仿对象执行第一任务的任务进度,为了便于区分,将这里得到的任务进度命名为样本任务进度。
在步骤302中,将训练后的模仿对象对应的进度分类模型中的特征提取网络、以及除特征提取网络外的至少部分网络,作为第三特征提取网络。
在对模仿对象对应的进度分类模型的训练过程中,若满足模仿对象对应的进度分类模型的收敛条件,则将训练后的模仿对象对应的进度分类模型中的特征提取网络作为第三特征提取网络。
在本申请实施例中,也可以将训练后的模仿对象对应的进度分类模型中的特征提取网络、以及除特征提取网络外的至少部分网络,作为第三特征提取网络,使得第三特征提取网络具有一定的预测能力(即进度分类能力)。其中,训练后的模仿对象对应的进度分类模型中除特征提取网络外保留(指保留至第三特征提取网络中)的网络层的数量可以根据任务的复杂度进行调整,例如与任务的复杂度成正相关。
在图3C中,图3A示出的步骤104可以通过步骤303至步骤306实现,将结合各步骤进行说明。
在步骤303中,在机器人执行第二任务的过程中,根据第三特征提取网络对机器人所处环境的图像进行特征提取处理得到图像特征;其中,机器人对应的进度分类模型及运动规划模型包括共享的第三特征提取网络。
这里,机器人可以对应有进度分类模型及运动规划模型,这两个模型包括共享的第三特征提取网络。机器人对应的运动规划模型除了包括第三特征提取网络之外,还可以包括若干个全连接层;机器人对应的进度分类模型除了包括第三特征提取网络之外,同样还可以包括若干个全连接层。在一些实施例中,机器人对应的运动规划模型可以是在机器人对应的进度分类模型的基础上,增加若干个全连接层(这些全连接层即为机器人对应的运动规划模型与进度分类模型之间的区别网络)所构成的。
在机器人执行第二任务的过程中,首先采集机器人所处环境的图像,并根据第三特征提取网络对该图像进行特征提取处理,得到图像特征。
在一些实施例中,机器人对应的运动规划模型包括机器人对应的进度分类模型中的所有网络;步骤303之前,还包括:根据机器人的样本图像及对应的样本任务进度,对机器人对应的进度分类模型中的第三特征提取网络、以及除第三特征提取网络外的网络进行训练;确定机器人对应的运动规划模型与进度分类模型之间的区别网络,并根据机器人的样本图像及对应的样本运动数据,对区别网络进行训练。
在实际使用机器人对应的进度分类模型及运动规划模型之前,可以先对这两个模型进行训练。这里,以机器人对应的运动规划模型包括机器人对应的进度分类模型中的所有网络为例,可以根据机器人的样本图像及对应的样本任务进度,对机器人对应的进度分类模型中的第三特征提取网络、以及除第三特征提取网络外的网络进行训练,例如进行多轮迭代,每一轮迭代包括一次训练。这里,也可以仅对机器人对应的进度分类模型中除第三特征提取网络外的网络进行训练,从而在牺牲部分精度的基础上提升训练效率。其中,机器人的样本图像对应的样本任务进度同样可以通过人为标注得到。
在对机器人对应的进度分类模型的训练过程中,若满足机器人对应的进度分类模型的收敛条件,则将训练后的机器人对应的进度分类模型中的特征提取网络(即训练后的第三特征提取网络),作为运动规划模型中的特征提取网络,训练后的第三特征提取网络也可以用于步骤303,即对机器人所处环境的图像进行特征提取处理。训练后的机器人对应的进度分类模型中除特征提取网络外的网络,可以应用于步骤304。
对于机器人对应的运动规划模型,根据机器人的样本图像及对应的样本运动数据,对机器人对应的运动规划模型中除特征提取网络之外的网络进行训练,直至满足机器人对应的运动规划模型的收敛条件。训练后的机器人对应的运动规划模型中除特征提取网络之外的网络可以用于步骤305。
本申请实施例对样本运动数据的确定方式不做限定,例如当机器人的样本图像是通过深度摄像机拍摄得到时,可以直接从机器人的样本图像中确定出机器人的位姿值,以作为样本运动数据,又例如,可以与机器人建立通信连接,从而从机器人处获取机器人的样本图像对应时刻的样本运动数据。值得说明的是,这里的样本运动数据可以是机器人的全部结构的运动数据,也可以是机器人的部分结构,如末端执行器(End-effector)的运动数据,其中,末端执行器是指连接在机器人的任意一个关节,且具有一定功能的工具,例如在倒水任务中,末端执行器可以连接在机器人的机械臂的手腕关节上,实现握持并转动源容器的功能,在另一些情况中,末端执行器也可以视为与机器人的机械臂的手腕关节一体。通过上述方式,能够实现对机器人对应的进度分类模型及运动规划模型的有序训练,能够提升模型的收敛速度。
在一些实施例中,步骤303之前,还包括:针对每种样本任务进度,执行以下处理:根据样本任务进度对应的多个样本运动数据,构建样本任务进度对应的运动数据范围,以在机器人执行第二任务的过程中,结合运动数据确定目标运动数据。
在确定出采集到的机器人的每个样本图像对应的样本任务进度及样本运动数据后,针对每一种样本任务进度,可以根据该种样本任务进度对应的最小的样本运动数据以及最大的样本运动数据,构建该种样本任务进度对应的运动数据范围,如运动数据范围为[最小的样本运动数据,最大的样本运动数据]。如此,在机器人执行第二任务的过程中,可以结合运动数据范围和运动数据来确定目标运动数据,具体在后文进行阐述。通过上述方式,能够实现运动数据范围的自动构建,节省人力成本,并且构建出的运动数据范围也能够适于相应的任务进度。
值得说明的是,对于部分样本任务进度,其所需要的可能并不是运动数据范围,而是单个运动数据,相应的控制需求是按照该运动数据来直接控制机器人。对于这类型的样本任务进度,在构建出对应的运动数据范围后,可以将运动数据范围中的任意一个运动数据(如最大的运动数据或者最小的运动数据)作为样本任务进度对应的单个运动数据,从而实现自动设定。
在步骤304中,根据机器人对应的进度分类模型中除第三特征提取网络外的网络,对图像特征进行进度分类处理,得到机器人在第二任务中的任务进度。
在根据第三特征提取网络提取出机器人所处环境的图像的图像特征后,可以根据机器人对应的进度分类模型中除第三特征提取网络外的网络,对图像特征进行进度分类处理,得到机器人在第二任务中的任务进度。
在步骤305中,根据运动规划模型中除第三特征提取网络外的网络,对图像特征进行运动规划处理以得到运动数据。
在步骤306中,根据运动数据及任务进度确定目标运动数据,并根据目标运动数据控制机器人。
这里,结合运动数据及任务进度确定出的目标运动数据具有可解释性(即能够解释目标运动数据的生成原因),在得到目标运动数据后,基于目标运动数据生成控制指令,并根据该控制指令控制机器人,如此,能够进一步提升机器人的控制精度。
本申请实施例对确定目标运动数据的方式不做限定,举例来说,当任务进度对应单个运动数据时,可以将该运动数据直接作为目标运动数据。其中,任务进度对应的单个运动数据可以人为设定,也可以根据上文构建出的运动数据范围进行自动确定。
在一些实施例中,当任务进度对应运动数据范围时,可以通过这样的方式来实现上述的根据运动数据及任务进度确定目标运动数据:当运动数据与任务进度对应的运动数据范围匹配成功时,将运动数据作为目标运动数据;当运动数据与任务进度对应的运动数据范围匹配失败时,根据任务进度对应的运动数据范围确定目标运动数据。
这里,当任务进度对应运动数据范围时,可以将运动数据与任务进度对应的运动数据范围进行匹配,其中,匹配成功可以是指运动数据落入该运动数据范围中,匹配失败可以是指运动数据未落入该运动数据范围中,即运动数据大于该运动数据范围中最大的运动数据、或者小于该运动数据范围中最小的运动数据。
当运动数据与该运动数据范围匹配成功时,将运动数据作为目标运动数据;当运动数据与该运动数据范围匹配失败时,将该运动数据范围中的任意一个运动数据(如最大的运动数据或者最小的运动数据)作为目标运动数据。通过上述方式,能够保证目标运动数据落入任务进度对应的运动数据范围,实现有效的安全性约束。
在一些实施例中,可以通过这样的方式来实现上述的当运动数据与任务进度对应的运动数据范围匹配失败时,根据任务进度对应的运动数据范围确定目标运动数据:执行以下至少一种处理:当运动数据小于任务进度对应的运动数据范围中最小的运动数据时,确定运动数据与任务进度对应的运动数据范围匹配失败,并将最小的运动数据作为目标运动数据;当运动数据大于任务进度对应的运动数据范围中最大的运动数据时,确定运动数据与任务进度对应的运动数据范围匹配失败,并将最大的运动数据作为目标运动数据。
在本申请实施例中,对于不同的任务进度,可以设定针对运动数据的不同约束方式,约束方式如最小值约束和最大值约束。
若任务进度对应的约束方式是最小值约束,则在运动数据小于任务进度对应的运动数据范围中最小的运动数据时,确定运动数据与任务进度对应的运动数据范围匹配失败,并将该最小的运动数据作为目标运动数据,即最小值约束的目的是避免目标运动数据过小。
若任务进度对应的约束方式是最大值约束,则在运动数据大于任务进度对应的运动数据范围中最大的运动数据时,确定运动数据与任务进度对应的运动数据范围匹配失败,并将该最大的运动数据作为目标运动数据,即最大值约束的目的是避免目标运动数据过大。其中,运动数据越大,表示对机器人的控制幅度越大。
举例来说,在倒水任务中,对于目标容器的内部空间已被水填充10%的任务进度,设定对应的约束方式是最小值约束,从而防止倒水的速度过慢;对于目标容器的内部空间已被水填充90%的任务进度,设定对应的约束方式是最大值约束,从而防止倒水的速度过快导致溢出。
值得说明的是,对于同一任务进度,也可以设定对应的约束方式同时包括最小值约束和最大值约束。通过上述方式,能够提升确定目标运动数据的灵活性,可以根据实际应用场景中不同任务进度的特点,来针对性地设定对应的约束方式。
在一些实施例中,第二任务包括级联的多个任务层级;机器人对应的进度分类模型的数量包括多个,且机器人对应的每个进度分类模型对应第二任务的一个任务层级;可以通过这样的方式来实现上述的根据机器人对应的进度分类模型中除第三特征提取网络外的网络,对图像特征进行进度分类处理,得到机器人在第二任务中的任务进度:遍历多个任务层级,并根据遍历到的任务层级对应的进度分类模型中除第三特征提取网络外的网络,对图像特征进行进度分类处理,得到遍历到的任务层级中的任务进度;可以通过这样的方式来实现上述的根据运动数据及任务进度确定目标运动数据:根据运动数据及多个任务层级中的任务进度,确定目标运动数据。
在本申请实施例中,第二任务(第一任务同理)可以包括级联的多个任务层级,且每个任务层级包括多个候选任务进度,任务层级以及候选任务进度均可以根据实际应用场景进行设定。例如,倒水任务包括阶段任务层级及状态任务层级,阶段任务层级包括4个候选任务进度(阶段),分别为[控制源容器接近目标容器]、[开始倒水]、[放慢倒水的速度]和[结束倒水以及移开源容器];状态任务层级包括的候选任务进度表示目标容器的内部空间被水填充的状态,如包括10%(即目标容器的内部空间已被水填充10%)、20%、……100%。
机器人对应的进度分类模型的数量也可以包括多个,且其中每个进度分类模型对应第二任务的一个任务层级。在该情况下,可以遍历多个任务层级,并根据遍历到的任务层级对应的进度分类模型中除第三特征提取网络外的网络,对图像特征进行进度分类处理,以在遍历到的任务层级包括的多个候选任务进度中确定机器人所处的任务进度。其中,第二任务包括的多个任务层级存在设定的层级顺序,以任务包括阶段任务层级及状态任务层级为例,则在层级顺序中,阶段任务层级为上级的任务层级,状态任务层级为下级的任务层级,因此可以根据层级顺序遍历多个任务层级。
在得到多个任务层级中的任务进度后,可以根据运动数据及多个任务层级中的任务进度来确定目标运动数据。举例来说,多个任务层级中的任务进度可以分别对应针对不同数据类型的运动数据范围,例如,阶段任务层级中的任务进度对应针对位姿值的运动数据范围,如为[位姿值1,位姿值2];状态任务层级中的任务进度对应针对角速度的运动数据范围,如为[角速度1,角速度2]。
在得到运动数据后,可以遍历多个任务层级中的任务进度,这里可以按照层级顺序进行遍历,也可以按照层级顺序的相反顺序进行遍历。为了便于说明,将遍历到的任务进度对应的运动数据范围所针对的数据类型命名为当前数据类型,对于遍历到的任务进度,首先判断运动数据的数据类型是否与当前数据类型相同,若相同,则根据遍历到的任务进度对应的运动数据范围对运动数据进行更新处理;若不同,则根据当前数据类型对运动数据进行数据类型转换处理,再根据遍历到的任务进度对应的运动数据范围,对数据类型转换处理后的运动数据进行更新处理。举例来说,运动数据的数据类型为角速度,而当前数据类型为位姿值,则先将运动数据的数据类型从角速度转换为位姿值(即进行数据类型转换处理),再根据遍历到的任务进度对应的运动数据范围,对数据类型为位姿值的运动数据进行更新处理。
这里,对运动数据进行更新处理的方式可以类似于在第二任务仅包括一个任务层级的情况下,根据运动数据及任务进度确定目标运动数据的方式。举例来说,当运动数据与遍历到的任务进度对应的运动数据范围匹配成功时,保持运动数据不变;当运动数据与遍历到的任务进度对应的运动数据范围匹配失败时,根据遍历到的任务进度对应的运动数据范围,确定新的运动数据。
最后,将根据多个任务层级中的任务进度进行更新处理后得到的运动数据,作为目标运动数据。通过上述方式,可以对运动数据进行不同维度的约束,最大程度地保证根据目标运动数据进行机器人控制的安全性。
如图3C所示,本申请实施例结合运动数据及任务进度来确定目标运动数据,并根据目标运动数据控制机器人,能够提升确定出的目标运动数据的准确性和可解释性,也能够进一步提升机器人执行第二任务的成功率。
在一些实施例中,参见图3D,图3D是本申请实施例提供的基于人工智能的机器人控制方法的一个流程示意图,图3A示出的步骤103可以通过步骤401至步骤402实现,将结合各步骤进行说明。
在步骤401中,根据模仿对象的样本图像以及对应的样本运动数据,对模仿对象对应的运动规划模型进行训练;其中,模仿对象对应的运动规划模型中的特征提取网络为第二特征提取网络。
本申请实施例提供了另一种训练第二特征提取网络的方式,首先,根据模仿对象的样本图像以及对应的样本运动数据,对模仿对象对应的、且包括第二特征提取网络的运动规划模型进行训练,这里的样本运动数据可以从模仿对象的样本图像中获取。
在步骤402中,将训练后的模仿对象对应的运动规划模型中的特征提取网络、以及除特征提取网络外的至少部分网络,作为第三特征提取网络。
在对模仿对象对应的运动规划模型的训练过程中,若满足模仿对象对应的运动规划模型的收敛条件,则可以将训练后的模仿对象对应的运动规划模型中的特征提取网络作为第三特征提取网络。
在本申请实施例中,也可以将训练后的模仿对象对应的运动规划模型中的特征提取网络、以及除特征提取网络外的至少部分网络,作为第三特征提取网络,使得第三特征提取网络具有一定的预测能力(即运动规划能力)。同样地,训练后的模仿对象对应的运动规划模型中除特征提取网络外保留(指保留至第三特征提取网络中)的网络层的数量可以根据任务的复杂度进行调整。
在图3D中,图3A示出的步骤104可以通过步骤403至步骤404实现,将结合各步骤进行说明。
在步骤403中,在机器人执行第二任务的过程中,根据第三特征提取网络对机器人所处环境的图像进行特征提取处理得到图像特征。
这里,机器人对应的运动规划模型包括第三特征提取网络,在机器人执行第二任务的过程中,可以周期性地采集机器人所处环境的图像,并根据机器人对应的运动规划模型中的第三特征提取网络,对采集到的图像进行特征提取处理得到图像特征。
在步骤404中,根据机器人对应的运动规划模型中除第三特征提取网络外的网络,对图像特征进行运动规划处理以得到运动数据,并根据运动数据控制机器人。
这里,在得到图像特征之后,根据机器人对应的运动规划模型中除第三特征提取网络外的网络,对图像特征进行运动规划处理以得到运动数据,如此,便可根据得到的运动数据控制机器人。
如图3D所示,本申请实施例提供了更为精简的模型架构,减少了计算量,能够在保证对机器人的控制精度的基础上,提升模型(或模型中的部分网络)的训练效率。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用,为了便于理解,以模仿对象为用户(即人类),且执行的任务是倒水任务的场景进行示例说明,但这并不构成对本申请实施例的限定,例如执行的任务也可以是烹饪、清洁、护理或清扫等人类日常生活中的任务,当然还可以是工业领域中的任务。
模仿学习是在现实世界中获得新技能的一种重要学习方式,基于模仿学习的机制,可以忽略复杂动力学,通过观察和模仿使机器人获得技能,如学会如何执行倒水任务的技能。在相关技术提供的方案中,通常是结合迁移学习和模仿学习的机制,即根据用户的样本数据训练模型,并将训练后的模型应用于机器人的控制。但是,该方案训练出的模型的有效性无法验证,在通过训练后的模型进行机器人控制时,容易出现任务执行失败的情况,机器人控制的精度低。
有鉴于此,本申请实施例提供了一种基于人工智能的机器人控制方法,能够实现模型的有效迁移,提升机器人控制的精度,同时提升任务执行的成功率,有助于加强机器人的智能程度。作为示例,本申请实施例提供了如图4所示的基于人工智能的机器人控制方法的示意图,示出了采集用户的样本数据、采集机器人的样本数据、表征学习(Representation Learning)、端到端的模型训练以及迁移学习五个步骤,将对各个步骤进行分别说明。
1)采集用户的样本数据。
这里,采集用户在执行倒水任务(这里的倒水任务对应上文的第一任务)的过程中产生的多个样本数据,每个样本数据包括用户所处环境的一个样本图像、以及该样本图像对应的样本状态标签,其中,样本状态标签或者样本状态标签所表示的样本状态对应上文的样本任务进度。
本申请实施例提供了如图5所示的采集用户的样本图像的架构示意图,在用户执行倒水任务的过程中,可以由摄像机采集用户所处环境的样本图像,然后通过USB将样本图像发送至专用于数据采集的终端设备(如电脑),其中,对摄像机的类型不做限定,例如可为深度摄像机,对摄像机与终端设备之间的通信方式也不做限定,并不限于图5中示例的USB。本申请实施例还提供了如图6所示的用户的样本图像的数据采集环境的示意图,数据采集环境包括摄像机61、人手62(包括用户的手腕关节)、源容器63及目标容器64,其中,人手62握持有源容器63,人手62、源容器63及目标容器64均处于摄像机61的拍摄范围,摄像机61的拍摄范围即为用户所处环境的范围。在用户执行倒水任务的过程中,摄像机61可以进行拍摄得到用户的样本图像65。
为了提升后续训练出的模型的泛化能力,可以在不同的数据采集环境中采集用户的样本图像。如图7所示,可以使用不同类型的源容器,也可以使用不同类型的目标容器,如将图7中的目标容器72替换为另一个类型的目标容器,从而构建不同的数据采集环境,这里的不同类型指的是不同的实体,例如不同类型的源容器可以是指不同的瓶子,不同类型的目标容器可以是指不同的杯子。除此之外,还可以调整摄像机71的拍摄范围,或者施加随机强度的光源等,从而构建不同的数据采集环境。值得说明的是,在本申请实施例中,另一种获取用户的样本图像的方式是,从网络中获取用户的倒水视频,并将该倒水视频中的图像作为用户的样本图像,上述的两种获取方式可以单独使用,也可以共同使用。
对于采集得到的每个样本图像(这里指用户的样本图像),可以通过人为标注的方式得到样本图像对应的样本状态标签,并根据样本图像以及对应的样本状态标签构建用户的样本数据。其中,可以预先设定倒水任务中的多个候选状态以及与每个候选状态对应的状态标签,例如,状态标签1对应目标容器的内部空间已被水填充10%的候选状态、状态标签2对应目标容器的内部空间已被水填充20%的候选状态、……状态标签10对应目标容器的内部空间已被水填充100%的候选状态。
2)采集机器人的样本数据。
这里,采集机器人在倒水任务(这里的倒水任务同样对应上文的第一任务)中的样本数据,为了保证采集到的机器人的样本数据的准确性,可以由用户控制机器人执行倒水任务,其中,机器人的每个样本数据可以包括机器人的一个样本图像、该样本图像对应的样本状态标签以及在该样本图像对应时刻控制机器人的样本运动数据。
在本申请实施例中,用户可以通过遥操作模式(主从控制模式)、穿戴式传感器模式或拖动示教模式来控制机器人,在遥操作模式中,获取用户针对机器人对应的主控制器的控制指令,以根据该控制指令控制机器人;在穿戴式传感器模式中,获取传感器(指用户穿戴的传感器)所监测到的用户的样本运动数据,并生成相应的控制指令以控制机器人;在拖动示教模式中,用户可以直接拖动机器人,实现对机器人的控制。
本申请实施例提供了如图8所示的采集机器人的样本图像的架构示意图,以遥操作模式进行举例,示出了摄像机、主控制器、用于数据采集的终端设备、用于机器人控制的终端设备以及机器人,其中,用于数据采集的终端设备与用于机器人控制的终端设备之间可以通过传输控制协议(Transmission Control Protocol,TCP)建立连接,当然,这并不构成对本申请实施例的限定。值得说明的是,在图8中,用于数据采集的终端设备与用于机器人控制的终端设备是不同的终端设备,但在实际应用场景中,同一终端设备也可以同时支持数据采集功能和机器人控制功能。本申请实施例还提供了如图9所示的机器人的样本图像的数据采集环境的示意图,示出了在一个高台上架起的摄像机91、机器人92(图9中示出了机器人92的手腕关节,机器人92还可以包括其他的关节)、源容器93以及目标容器94,其中,机器人92握持有源容器93,机器人92、源容器93及目标容器94均处于摄像机91的拍摄范围。
结合图8和图9,说明用户控制机器人执行倒水任务的过程,在遥操作模式中,用于数据采集的终端设备可以获取用户针对主控制器的控制指令(包括有用户的手腕关节的样本运动数据),并将该控制指令发送至用于机器人控制的终端设备,以使用于机器人控制的终端设备根据该控制指令控制机器人,如控制图9示出的机器人92随着用户的手腕做出相同的转动源容器93的动作。在机器人92执行倒水任务的过程中,摄像机92可以进行拍摄得到机器人92的样本图像。同样地,为了提升后续训练出的模型的泛化能力,可以在不同的数据采集环境中采集机器人的样本图像,图10示出了在不同数据采集环境下采集到的样本图像,其中,数据采集环境1、数据采集环境2以及数据采集环境3中使用的目标容器不同。
对于机器人的每个样本图像,可以通过人为标注的方式得到样本图像对应的样本状态标签,同时可以根据样本图像确定出机器人的样本运动数据,样本图像、对应的样本状态标签以及样本运动数据即构成了机器人的样本数据。其中,机器人的样本运动数据可以是针对机器人的手腕关节而言,例如可以是手腕关节转动的角速度,当然还可以是其他的数据类型,如位姿值或力矩值等;机器人的样本运动数据也可以通过其他方式进行确定,并不限于这里的根据样本图像进行确定的方式。
值得说明的是,本申请实施例采用的是迁移学习的机制,因此,对机器人的样本数据的需求量较低,即可以在步骤1)中采集用户的大量样本数据,在步骤2)中采集机器人的少量样本数据,由于前者的采集难度低于后者,故能够有效地降低模型训练的难度和所耗费的时间成本。
3)表征学习。
迁移学习的关键问题是如何减少源域(Source Domain)和目标域(TargetDomain)之间的差异,同时保留原始数据属性,从而使得根据源域训练的模型能够有效地迁移到目标域中,这里,源域是指用户的样本图像,目标域是指机器人的样本图像。机器学习算法的成功很大程度取决于数据表示形式,而合理的表征学习可以将高维度的数据压缩成低维度的数据,表达出最核心的信息。因此,在本申请实施例中,将高效率的表征学习与迁移学习结合在一起,从而提升迁移学习的效率,保证训练出来的特征提取网络(特征提取器)的有效性。
举例来说,基于自动编码机(Auto-encoder)模式,使用一个卷积神经网络(初始的卷积神经网络对应上文的第一特征提取网络)将高维度的图像压缩成低维度的特征向量,再使用反卷积神经网络(对应上文的图像还原网络)将特征向量(即图像特征)恢复为原始的图像,如此,能够保证得到的特征向量的有效性。其中,第一特征提取网络应用于源域和目标域的权重参数相同,即是源域和目标域共享的,而源域的图像还原网络与目标域的图像还原网络不同,即两个图像还原网络的权重参数不共享。第一特征提取网络以及图像还原网络的结构(如包括的网络层的层数)可以根据样本图像的大小以及任务的复杂程度进行调整。
本申请实施例提供了如图11所示的表征学习的架构示意图,在图11中,对于源域,根据特征提取网络112对用户的样本图像110进行特征提取处理,得到图像特征,并根据用户的图像还原网络113对该图像特征进行图像还原处理,得到用户的还原图像115。对于目标域,根据特征提取网络112对机器人的样本图像111进行特征提取处理,得到图像特征,并根据机器人的图像还原网络114对该图像特征进行图像还原处理,得到机器人的还原图像116。特征提取网络112可以包括多个卷积层(Convolutional Layer)以及压平(Flatten)层,其中,压平层用于将多维的输入一维化,在本申请实施例中用于从卷积层到全连接层的过渡。用户的图像还原网络113包括全连接层以及多个反卷积层(DeConvolutionalLayer),其中,全连接层可以是Dense层,机器人的图像还原网络114同理。
在表征学习过程中,训练目标是减小原始的样本图像与得到的还原图像之间的差异。训练过程如下,首先计算源域的损失值L1(对应上文的模仿对象的样本图像与对应的还原图像之间的差异)以及目标域的损失值L2(对应上文的机器人的样本图像与对应的还原图像之间的差异),再将L1和L2进行求和处理得到总损失值L(对应上文的融合差异)。根据总损失值L对特征提取网络112以及用户的图像还原网络113进行训练,根据训练后的特征提取网络112确定目标域的新的损失值L2'(对应上文的机器人的样本图像与新的还原图像之间的差异),再根据损失值L2'训练机器人的图像还原网络114。
为了便于区分,将对初始的第一特征提取网络进行多轮迭代(每一轮迭代包括一次训练)后得到的特征提取网络,命名为第二特征提取网络。
4)端到端的模型训练。
这里,使用端对端的方式训练用户对应的状态预测模型(对应上文的进度分类模型),用户对应的状态预测模型包括上述的第二特征提取网络。如图12所示,用户对应的状态预测模型123可以包括多个卷积层以及多个全连接层,并使用SoftMax激活函数得到预测的状态标签。其中,卷积层1至卷积层N对应上文的第二特征提取网络。为了便于理解,将用户对应的状态预测模型命名为Fh模型,将步骤1)中采集到的用户的所有样本数据所构成的数据集命名为Oh,以步骤形式说明Fh模型的训练过程:
②根据批大小(Batch Size)从数据集Oh中采样,以Batch Size=20为例,则一次从数据集Oh中采样20个样本数据,每个样本数据包括用户的一个样本图像、以及该样本图像对应的样本状态标签;
③对于采样的每个样本数据中的样本图像,通过Fh模型处理后可以得到一个预测的状态标签,如此,可以计算出采样出的所有样本数据对应的损失值Lh;
在满足Fh模型的收敛条件时,可以将卷积层1至N、以及至少部分全连接层作为第三特征提取网络,如图12所示,特征提取网络123(即第三特征提取网络)包括卷积层1至N、以及全连接层1至2。第三特征提取网络中保留的全连接层的层数可以根据任务的复杂度确定,任务的复杂度越高,则保留的全连接层的层数可以越多。
5)迁移学习。
这里,机器人对应有状态预测模型和运动规划模型,为了便于区分,分别命名为F1模型和F2模型,F1模型和F2模型包括共享的第三特征提取网络(即图12中示出的特征提取网络123)。如图12所示,F1模型可以包括第三特征提取网络以及全连接层1'至Q',并使用SoftMax激活函数得到预测的状态标签,即F1模型为分类模型;F2模型可以包括第三特征提取网络、全连接层1'至Q'、以及全连接层1”至R”,并使用线性(Linear)激活函数得到预测的运动数据,即F2模型为回归模型。
将步骤2)中采集到的机器人的所有样本图像、以及每个样本图像对应的样本状态标签所构成的数据集命名为O1,以步骤形式说明F1模型的训练过程:
①初始化F1模型的权重参数θ′1,这里的权重参数θ′1包括全连接层1'至Q'的权重参数,当然还可以包括第三特征提取网络的权重参数(第三特征提取网络的权重参数不需额外初始化);
②根据批大小(Batch Size)从数据集O1中采样,以Batch Size=20为例,则一次从数据集O1中采样20个样本数据,值得说明的是,数据集O1中的每个样本数据包括机器人的一个样本图像、以及该样本图像对应的样本状态标签;
③对于采样的每个样本数据中的样本图像,通过F1模型处理后可以得到一个预测的状态标签,如此,可以计算出采样出的所有样本数据对应的损失值L1;
当满足F1模型的收敛条件时,开始训练F2模型。将步骤2)中采集到的机器人的所有样本图像、以及每个样本图像对应的样本运动数据所构成的数据集命名为O2,以步骤形式说明F2模型的训练过程:
①初始化F2模型的权重参数θ′2,这里的权重参数θ′2包括全连接层1”至R”的权重参数;
②根据批大小(Batch Size)从数据集O2中采样,以Batch Size=20为例,则一次从数据集O2中采样20个样本数据,值得说明的是,数据集O2中的每个样本数据包括机器人的一个样本图像、以及该样本图像对应的样本运动数据;
③对于采样的每个样本数据中的样本图像,通过F2模型处理后可以得到一个预测的运动数据,如此,可以计算出采样出的所有样本数据对应的损失值L2;
当满足F2模型的收敛条件时,即可将F1模型和F2模型应用于机器人的线上控制(也称实时控制),本申请实施例提供了如图13所示的机器人线上控制的架构示意图,示出了摄像机、用于采集实时的图像的终端设备、用于机器人控制的终端设备以及机器人。用于采集实时的图像的终端设备在采集到机器人所处环境的图像后,可以根据F1模型和F2模型分别对该图像进行处理,得到预测出的状态标签和运动数据。然后,结合预测出的状态标签和运动数据确定目标运动数据,根据目标运动数据生成控制指令,并将该控制指令发送至用于机器人控制的终端设备,以使用于机器人控制的终端设备根据该控制指令控制机器人,实现自动倒水。
本申请实施例至少具有以下技术效果:1)基于迁移学习的机制,从用户的样本数据中提取先验知识,以实现可靠的感知和合理的决策,并将提取特征的能力传递给机器人,使得仅需采集少量的机器人的样本数据,便可训练出效果较好的模型(指上述的F1模型和F2模型),能够降低模型训练的难度及所耗费的时间成本;2)根据用户的样本图像与机器人的样本图像之间的差异进行表征学习,能够提升后续进行迁移学习的效率,保证训练出来的特征提取网络的有效性,便于迁移到不同的环境中;3)本申请实施例的应用场景广泛,例如机器人可在酒吧、咖啡店或者工业领域中执行倒水任务,或者帮助老年人的日常生活等,当然,除了倒水任务外,还可以执行擦桌子、摆盘子或扫地等多种目标驱动式的任务。
下面继续说明本申请实施例提供的基于人工智能的机器人控制装置455实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的基于人工智能的机器人控制装置455中的软件模块可以包括:采集模块4551,用于分别采集模仿对象和机器人在执行第一任务的过程中所处环境的样本图像;第一训练模块4552,用于根据模仿对象的样本图像与机器人的样本图像之间的差异,对第一特征提取网络进行训练,得到第二特征提取网络;第二训练模块4553,用于根据模仿对象的样本图像对第二特征提取网络进行训练,得到第三特征提取网络;控制模块4554,用于在机器人执行第二任务的过程中,根据第三特征提取网络对机器人所处环境的图像进行特征提取处理得到图像特征,根据图像特征进行运动规划处理得到运动数据,并根据运动数据控制机器人。
在一些实施例中,第一训练模块4552,还用于:对第一特征提取网络进行多轮迭代以得到第二特征提取网络,在每一轮迭代中执行以下处理:根据第一特征提取网络,对模仿对象的样本图像及机器人的样本图像分别进行特征提取处理,得到模仿对象的样本图像的图像特征、以及机器人的样本图像的图像特征;根据不同的图像还原网络,对模仿对象的样本图像的图像特征、以及机器人的样本图像的图像特征分别进行图像还原处理,得到模仿对象的样本图像对应的还原图像、以及机器人的样本图像对应的还原图像;对模仿对象的样本图像与对应的还原图像之间的差异、以及机器人的样本图像与对应的还原图像之间的差异进行融合处理,并根据融合处理得到的融合差异对第一特征提取网络进行训练,以将训练后的第一特征提取网络用于下一轮迭代。
在一些实施例中,第一训练模块4552,还用于:根据融合处理得到的融合差异,对模仿对象对应的图像还原网络进行训练,以将训练后的模仿对象对应的图像还原网络用于下一轮迭代;根据训练后的第一特征提取网络,对机器人的样本图像进行特征提取处理,得到新的图像特征;根据机器人对应的图像还原网络,对新的图像特征进行图像还原处理,得到新的还原图像;根据机器人的样本图像与新的还原图像之间的差异,对机器人对应的图像还原网络进行训练,以将训练后的机器人对应的图像还原网络用于下一轮迭代。
在一些实施例中,模仿对象与进度分类模型对应,且模仿对象对应的进度分类模型包括第二特征提取网络;第二训练模块4553,还用于:根据模仿对象的样本图像以及对应的样本任务进度,对模仿对象对应的进度分类模型进行训练;将训练后的模仿对象对应的进度分类模型中的特征提取网络、以及除特征提取网络外的至少部分网络,作为第三特征提取网络。
在一些实施例中,机器人与进度分类模型及运动规划模型对应,且机器人对应的进度分类模型及运动规划模型包括共享的第三特征提取网络;控制模块4554,还用于:根据机器人对应的运动规划模型中除第三特征提取网络外的网络,对图像特征进行运动规划处理以得到运动数据;根据机器人对应的进度分类模型中除第三特征提取网络外的网络,对图像特征进行进度分类处理,得到机器人在第二任务中的任务进度;根据运动数据及任务进度确定目标运动数据,并根据目标运动数据控制机器人。
在一些实施例中,机器人对应的运动规划模型包括机器人对应的进度分类模型中的所有网络;基于人工智能的机器人控制装置455还包括:第三训练模块,用于:根据机器人的样本图像及对应的样本任务进度,对机器人对应的进度分类模型中的第三特征提取网络、以及除第三特征提取网络外的网络进行训练;确定机器人对应的运动规划模型与进度分类模型之间的区别网络,并根据机器人的样本图像及对应的样本运动数据,对区别网络进行训练。
在一些实施例中,基于人工智能的机器人控制装置455还包括:范围构建模块,用于针对每种样本任务进度,执行以下处理:根据样本任务进度对应的多个样本运动数据,构建样本任务进度对应的运动数据范围,以在机器人执行第二任务的过程中,结合运动数据确定目标运动数据。
在一些实施例中,当任务进度对应运动数据范围时,控制模块4554,还用于:当运动数据与任务进度对应的运动数据范围匹配成功时,将运动数据作为目标运动数据;当运动数据与任务进度对应的运动数据范围匹配失败时,根据任务进度对应的运动数据范围确定目标运动数据。
在一些实施例中,控制模块4554,还用于:执行以下至少一种处理:当运动数据小于任务进度对应的运动数据范围中最小的运动数据时,确定运动数据与任务进度对应的运动数据范围匹配失败,并将最小的运动数据作为目标运动数据;当运动数据大于任务进度对应的运动数据范围中最大的运动数据时,确定运动数据与任务进度对应的运动数据范围匹配失败,并将最大的运动数据作为目标运动数据。
在一些实施例中,第二任务包括级联的多个任务层级;机器人对应的进度分类模型的数量包括多个,且机器人对应的每个进度分类模型对应第二任务的一个任务层级;控制模块4554,还用于:遍历多个任务层级,并根据遍历到的任务层级对应的进度分类模型中除第三特征提取网络外的网络,对图像特征进行进度分类处理,得到遍历到的任务层级中的任务进度;根据运动数据及多个任务层级中的任务进度,确定目标运动数据。
在一些实施例中,模仿对象与运动规划模型对应,且模仿对象对应的运动规划模型包括第二特征提取网络;第二训练模块4553,还用于:根据模仿对象的样本图像以及对应的样本运动数据,对模仿对象对应的运动规划模型进行训练;将训练后的模仿对象对应的运动规划模型中的特征提取网络、以及除特征提取网络外的至少部分网络,作为第三特征提取网络。
在一些实施例中,机器人与运动规划模型对应,且机器人对应的运动规划模型包括第三特征提取网络;控制模块4554,还用于:根据机器人对应的运动规划模型中除第三特征提取网络外的网络,对图像特征进行运动规划处理以得到运动数据。
在一些实施例中,基于人工智能的机器人控制装置455还包括:主动控制模块,用于在机器人执行第一任务的过程中,执行以下任意一种处理:获取针对机器人的控制指令,以控制机器人;获取机器人的操控对象的运动数据,并根据操控对象的运动数据生成控制指令,以控制机器人。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的基于人工智能的机器人控制方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3A、图3B、图3C及图3D示出的基于人工智能的机器人控制方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种基于人工智能的机器人控制方法,其特征在于,所述方法包括:
分别采集模仿对象和机器人在执行第一任务的过程中所处环境的样本图像;
根据所述模仿对象的样本图像与所述机器人的样本图像之间的差异,对第一特征提取网络进行训练,得到第二特征提取网络;
根据所述模仿对象的样本图像对所述第二特征提取网络进行训练,得到第三特征提取网络;
在所述机器人执行第二任务的过程中,根据所述第三特征提取网络对所述机器人所处环境的图像进行特征提取处理得到图像特征,根据所述图像特征进行运动规划处理得到运动数据,并根据所述运动数据控制所述机器人。
2.根据权利要求1所述的方法,其特征在于,所述根据所述模仿对象的样本图像与所述机器人的样本图像之间的差异,对第一特征提取网络进行训练,包括:
对所述第一特征提取网络进行多轮迭代以得到第二特征提取网络,在每一轮迭代中执行以下处理:
根据所述第一特征提取网络,对所述模仿对象的样本图像及所述机器人的样本图像分别进行特征提取处理,得到所述模仿对象的样本图像的图像特征、以及所述机器人的样本图像的图像特征;
根据不同的图像还原网络,对所述模仿对象的样本图像的图像特征、以及所述机器人的样本图像的图像特征分别进行图像还原处理,得到所述模仿对象的样本图像对应的还原图像、以及所述机器人的样本图像对应的还原图像;
对所述模仿对象的样本图像与对应的还原图像之间的差异、以及所述机器人的样本图像与对应的还原图像之间的差异进行融合处理,并根据融合处理得到的融合差异对所述第一特征提取网络进行训练,以将训练后的所述第一特征提取网络用于下一轮迭代。
3.根据权利要求2所述的方法,其特征在于,所述对所述模仿对象的样本图像与对应的还原图像之间的差异、以及所述机器人的样本图像与对应的还原图像之间的差异进行融合处理之后,所述方法还包括:
根据融合处理得到的融合差异,对所述模仿对象对应的图像还原网络进行训练,以将训练后的所述模仿对象对应的图像还原网络用于下一轮迭代;
所述根据融合处理得到的融合差异对所述第一特征提取网络进行训练之后,所述方法还包括:
根据训练后的所述第一特征提取网络,对所述机器人的样本图像进行特征提取处理,得到新的图像特征;
根据所述机器人对应的图像还原网络,对所述新的图像特征进行图像还原处理,得到新的还原图像;
根据所述机器人的样本图像与所述新的还原图像之间的差异,对所述机器人对应的图像还原网络进行训练,以将训练后的所述机器人对应的图像还原网络用于下一轮迭代。
4.根据权利要求1所述的方法,其特征在于,所述模仿对象与进度分类模型对应,且所述模仿对象对应的进度分类模型包括所述第二特征提取网络;
所述根据所述模仿对象的样本图像对所述第二特征提取网络进行训练,得到第三特征提取网络,包括:
根据所述模仿对象的样本图像以及对应的样本任务进度,对所述模仿对象对应的进度分类模型进行训练;
将训练后的所述模仿对象对应的进度分类模型中的特征提取网络、以及除所述特征提取网络外的至少部分网络,作为第三特征提取网络。
5.根据权利要求4所述的方法,其特征在于,所述机器人与进度分类模型及运动规划模型对应,且所述机器人对应的进度分类模型及运动规划模型包括共享的所述第三特征提取网络;
所述根据所述图像特征进行运动规划处理得到运动数据,包括:
根据所述机器人对应的运动规划模型中除所述第三特征提取网络外的网络,对所述图像特征进行运动规划处理以得到运动数据;
所述根据所述运动数据控制所述机器人,包括:
根据所述机器人对应的进度分类模型中除所述第三特征提取网络外的网络,对所述图像特征进行进度分类处理,得到所述机器人在所述第二任务中的任务进度;
根据所述运动数据及所述任务进度确定目标运动数据,并根据所述目标运动数据控制所述机器人。
6.根据权利要求5所述的方法,其特征在于,所述机器人对应的运动规划模型包括所述机器人对应的进度分类模型中的所有网络;所述根据所述第三特征提取网络对所述机器人所处环境的图像进行特征提取处理得到图像特征之前,所述方法还包括:
根据所述机器人的样本图像及对应的样本任务进度,对所述机器人对应的进度分类模型中的所述第三特征提取网络、以及除所述第三特征提取网络外的网络进行训练;
确定所述机器人对应的运动规划模型与进度分类模型之间的区别网络,并根据所述机器人的样本图像及对应的样本运动数据,对所述区别网络进行训练。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
针对每种所述样本任务进度,执行以下处理:
根据所述样本任务进度对应的多个样本运动数据,构建所述样本任务进度对应的运动数据范围,以在所述机器人执行所述第二任务的过程中,结合所述运动数据确定目标运动数据。
8.根据权利要求5所述的方法,其特征在于,当所述任务进度对应运动数据范围时,所述根据所述运动数据及所述任务进度确定目标运动数据,包括:
当所述运动数据与所述任务进度对应的运动数据范围匹配成功时,将所述运动数据作为目标运动数据;
当所述运动数据与所述任务进度对应的运动数据范围匹配失败时,根据所述任务进度对应的运动数据范围确定目标运动数据。
9.根据权利要求8所述的方法,其特征在于,所述当所述运动数据与所述任务进度对应的运动数据范围匹配失败时,根据所述任务进度对应的运动数据范围确定目标运动数据,包括:
执行以下至少一种处理:
当所述运动数据小于所述任务进度对应的运动数据范围中最小的运动数据时,确定所述运动数据与所述任务进度对应的运动数据范围匹配失败,并将所述最小的运动数据作为目标运动数据;
当所述运动数据大于所述任务进度对应的运动数据范围中最大的运动数据时,确定所述运动数据与所述任务进度对应的运动数据范围匹配失败,并将所述最大的运动数据作为目标运动数据。
10.根据权利要求5所述的方法,其特征在于,所述第二任务包括级联的多个任务层级;所述机器人对应的进度分类模型的数量包括多个,且所述机器人对应的每个进度分类模型对应所述第二任务的一个任务层级;
所述根据所述机器人对应的进度分类模型中除所述第三特征提取网络外的网络,对所述图像特征进行进度分类处理,得到所述机器人在所述第二任务中的任务进度,包括:
遍历所述多个任务层级,并根据遍历到的任务层级对应的进度分类模型中除所述第三特征提取网络外的网络,对所述图像特征进行进度分类处理,得到所述遍历到的任务层级中的任务进度;
所述根据所述运动数据及所述任务进度确定目标运动数据,包括:
根据所述运动数据及所述多个任务层级中的任务进度,确定目标运动数据。
11.根据权利要求1所述的方法,其特征在于,所述模仿对象与运动规划模型对应,且所述模仿对象对应的运动规划模型包括所述第二特征提取网络;
所述根据所述模仿对象的样本图像对所述第二特征提取网络进行训练,得到第三特征提取网络,包括:
根据所述模仿对象的样本图像以及对应的样本运动数据,对所述模仿对象对应的运动规划模型进行训练;
将训练后的所述模仿对象对应的运动规划模型中的特征提取网络、以及除所述特征提取网络外的至少部分网络,作为第三特征提取网络。
12.根据权利要求11所述的方法,其特征在于,所述机器人与运动规划模型对应,且所述机器人对应的运动规划模型包括所述第三特征提取网络;
所述根据所述图像特征进行运动规划处理得到运动数据,包括:
根据所述机器人对应的运动规划模型中除所述第三特征提取网络外的网络,对所述图像特征进行运动规划处理以得到运动数据。
13.根据权利要求1所述的方法,其特征在于,在所述机器人执行所述第一任务的过程中,所述方法还包括:
执行以下任意一种处理:
获取针对所述机器人的控制指令,以控制所述机器人;
获取所述机器人的操控对象的运动数据,并根据所述操控对象的运动数据生成控制指令,以控制所述机器人。
14.一种基于人工智能的机器人控制装置,其特征在于,所述装置包括:
采集模块,用于分别采集模仿对象和机器人在执行第一任务的过程中所处环境的样本图像;
第一训练模块,用于根据所述模仿对象的样本图像与所述机器人的样本图像之间的差异,对第一特征提取网络进行训练,得到第二特征提取网络;
第二训练模块,用于根据所述模仿对象的样本图像对所述第二特征提取网络进行训练,得到第三特征提取网络;
控制模块,用于在所述机器人执行第二任务的过程中,根据所述第三特征提取网络对所述机器人所处环境的图像进行特征提取处理得到图像特征,根据所述图像特征进行运动规划处理得到运动数据,并根据所述运动数据控制所述机器人。
15.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至13任一项所述的基于人工智能的机器人控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110022099.5A CN113552871B (zh) | 2021-01-08 | 2021-01-08 | 基于人工智能的机器人控制方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110022099.5A CN113552871B (zh) | 2021-01-08 | 2021-01-08 | 基于人工智能的机器人控制方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113552871A true CN113552871A (zh) | 2021-10-26 |
CN113552871B CN113552871B (zh) | 2022-11-29 |
Family
ID=78130059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110022099.5A Active CN113552871B (zh) | 2021-01-08 | 2021-01-08 | 基于人工智能的机器人控制方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113552871B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108724182A (zh) * | 2018-05-23 | 2018-11-02 | 苏州大学 | 基于多类别模仿学习的端到端游戏机器人生成方法及系统 |
CN109870162A (zh) * | 2019-04-04 | 2019-06-11 | 北京航空航天大学 | 一种基于竞争深度学习网络的无人机飞行路径规划方法 |
CN110026987A (zh) * | 2019-05-28 | 2019-07-19 | 广东工业大学 | 一种机械臂抓取轨迹的生成方法、装置、设备及存储介质 |
US20190228495A1 (en) * | 2018-01-23 | 2019-07-25 | Nvidia Corporation | Learning robotic tasks using one or more neural networks |
CN111136659A (zh) * | 2020-01-15 | 2020-05-12 | 南京大学 | 基于第三人称模仿学习的机械臂动作学习方法及系统 |
WO2020108309A1 (zh) * | 2018-11-27 | 2020-06-04 | 深圳前海达闼云端智能科技有限公司 | 控制设备移动的方法、装置、存储介质及电子设备 |
CN111230877A (zh) * | 2020-02-06 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 移动物品的方法及智能设备 |
CN111814823A (zh) * | 2020-05-26 | 2020-10-23 | 北京控制工程研究所 | 一种基于场景模板生成的迁移学习方法 |
CN111890357A (zh) * | 2020-07-01 | 2020-11-06 | 广州中国科学院先进技术研究所 | 一种基于动作演示示教的智能机器人抓取方法 |
-
2021
- 2021-01-08 CN CN202110022099.5A patent/CN113552871B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190228495A1 (en) * | 2018-01-23 | 2019-07-25 | Nvidia Corporation | Learning robotic tasks using one or more neural networks |
CN108724182A (zh) * | 2018-05-23 | 2018-11-02 | 苏州大学 | 基于多类别模仿学习的端到端游戏机器人生成方法及系统 |
WO2020108309A1 (zh) * | 2018-11-27 | 2020-06-04 | 深圳前海达闼云端智能科技有限公司 | 控制设备移动的方法、装置、存储介质及电子设备 |
CN109870162A (zh) * | 2019-04-04 | 2019-06-11 | 北京航空航天大学 | 一种基于竞争深度学习网络的无人机飞行路径规划方法 |
CN110026987A (zh) * | 2019-05-28 | 2019-07-19 | 广东工业大学 | 一种机械臂抓取轨迹的生成方法、装置、设备及存储介质 |
CN111136659A (zh) * | 2020-01-15 | 2020-05-12 | 南京大学 | 基于第三人称模仿学习的机械臂动作学习方法及系统 |
CN111230877A (zh) * | 2020-02-06 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 移动物品的方法及智能设备 |
CN111814823A (zh) * | 2020-05-26 | 2020-10-23 | 北京控制工程研究所 | 一种基于场景模板生成的迁移学习方法 |
CN111890357A (zh) * | 2020-07-01 | 2020-11-06 | 广州中国科学院先进技术研究所 | 一种基于动作演示示教的智能机器人抓取方法 |
Non-Patent Citations (1)
Title |
---|
丑博星: "基于视觉信息的仿人机械臂智能演示学习研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113552871B (zh) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xia et al. | A digital twin to train deep reinforcement learning agent for smart manufacturing plants: Environment, interfaces and intelligence | |
Srinivas et al. | Universal planning networks: Learning generalizable representations for visuomotor control | |
US20230330848A1 (en) | Reinforcement and imitation learning for a task | |
CN114442510B (zh) | 数字孪生闭环控制方法、系统、计算机设备及存储介质 | |
CN113826051A (zh) | 生成实体系统零件之间的交互的数字孪生 | |
US11654552B2 (en) | Backup control based continuous training of robots | |
US20180293498A1 (en) | For hiearchical decomposition deep reinforcement learning for an artificial intelligence model | |
Duguleana et al. | Obstacle avoidance of redundant manipulators using neural networks based reinforcement learning | |
CN108284436B (zh) | 具有模仿学习机制的远程机械双臂系统及方法 | |
CN110730970A (zh) | 使用图像嵌入优化机器人代理的策略控制器 | |
CN110490035A (zh) | 人体骨架动作识别方法、系统及介质 | |
Kaipa et al. | Self discovery enables robot social cognition: Are you my teacher? | |
Mania et al. | A framework for self-training perceptual agents in simulated photorealistic environments | |
Osentoski et al. | Remote Robotic Laboratories for Learning from Demonstration: Enabling user interaction and shared experimentation | |
US20220366244A1 (en) | Modeling Human Behavior in Work Environment Using Neural Networks | |
CN115916477A (zh) | 机器人演示学习的技能模板分发 | |
CN113223121A (zh) | 视频生成方法、装置、电子设备及存储介质 | |
CN113524166B (zh) | 基于人工智能的机器人控制方法、装置及电子设备 | |
CN112800606A (zh) | 数字孪生产线构建方法、系统、电子设备及存储介质 | |
CN113552871B (zh) | 基于人工智能的机器人控制方法、装置及电子设备 | |
CN116954365A (zh) | 一种基于单目视频驱动的虚拟人肢体运动交互系统 | |
CN116265202A (zh) | 一种机器人的控制方法、装置及介质、一种机器人 | |
Solberg et al. | Utilizing Reinforcement Learning and Computer Vision in a Pick-And-Place Operation for Sorting Objects in Motion | |
Huang et al. | Accelerating Training of Reinforcement Learning-Based Construction Robots in Simulation Using Demonstrations Collected in Virtual Reality | |
Gautason et al. | Mars Rover analog2: a MESR analog with environmental mapping and simulation |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40055209 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |