CN111360819A - 机器人的控制方法及装置、计算机设备、存储介质 - Google Patents

机器人的控制方法及装置、计算机设备、存储介质 Download PDF

Info

Publication number
CN111360819A
CN111360819A CN202010090743.8A CN202010090743A CN111360819A CN 111360819 A CN111360819 A CN 111360819A CN 202010090743 A CN202010090743 A CN 202010090743A CN 111360819 A CN111360819 A CN 111360819A
Authority
CN
China
Prior art keywords
control
robot
calculating
image
control object
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
CN202010090743.8A
Other languages
English (en)
Other versions
CN111360819B (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202010090743.8A priority Critical patent/CN111360819B/zh
Publication of CN111360819A publication Critical patent/CN111360819A/zh
Application granted granted Critical
Publication of CN111360819B publication Critical patent/CN111360819B/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/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Image Processing (AREA)

Abstract

本发明提供了一种机器人的控制方法及装置、计算机设备、存储介质,该方法包括:当控制对象呈现行为动作时,获取所述控制对象的关节位置信息,以及识别所述控制对象的面部特征;根据所述关节位置和所述面部特征计算机器人的控制力矩;根据所述控制力矩计算所述机器人的控制参数,其中,所述控制参数用于控制所述机器人模仿所述行为动作。通过本发明,解决了相关技术中机器人模仿的动作有限、控制机器人不便等技术问题。

Description

机器人的控制方法及装置、计算机设备、存储介质
技术领域
本发明涉及计算机领域,具体而言,涉及一种机器人的控制方法及装置、计算机设备、存储介质。
背景技术
相关技术中,机器学习能让机器人学会许多不同复杂的技能,例如机械臂的pickand place(拾放)以及motion planning(运动规划),然而学习这些技能通常需要人工编写奖励函数(reward function),才能让机器人在此基础上做优化。相比之下,人类可以通过观察别人的做法来理解任务的目标,或被告知目标是什么,就可以完成任务。人类之所以可以这样做,是因为人类利用了自己对世界的先验知识,然而让机器人理解这种复杂的语义信息,对于学术界和工业界都是一件相当复杂的任务。
模仿学习不同于传统的机器学习或者强化学习,它是指从示教者提供的范例中学习,范例中通常包含状态和动作序列,抽取出来再做进一步的行为分析,从而达到模仿的效果。目前世面上已经有基于模仿学习的产品,例如拟人机器人SEER(赛尔号)可以捕捉并模仿人类面部细节的微表情,但仅限眉毛和眼睛;再比如第三代仿人形机器人T-HR3可以实时模仿人类的动作,甚至是一些高难度动作,但目前,控制者还需要穿上一套机械衣和VR(全称为Virtual Reality,虚拟现实)设备来同步控制机器人。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种机器人的控制方法及装置、计算机设备、存储介质,以至少解决相关技术中机器人模仿的动作有限、控制机器人不便等技术问题。
根据本发明的一个实施例,提供了一种机器人的控制方法,包括:当控制对象呈现行为动作时,获取所述控制对象的关节位置信息,以及识别所述控制对象的面部特征;根据所述关节位置和所述面部特征计算机器人的控制力矩;根据所述控制力矩计算所述机器人的控制参数,其中,所述控制参数用于控制所述机器人模仿所述行为动作。
可选的,获取所述控制对象的关节位置信息,以及识别所述控制对象的面部特征包括:通过深度摄像头捕捉所述控制对象的三维动作图像;基于所述控制对象的躯干中心构建第一坐标系;基于所述第一坐标系,从所述三维动作图像中提取所述关节位置信息,根据对所述三维动作图像进行图像分割获得所述面部特征。
可选的,从所述三维动作图像中提取所述关节位置信息包括:向视觉定位PoseNet模型中输入所述三维动作图像;通过调用所述PoseNet模型的估计单姿态函数estimateSinglePose()解析所述三维动作图像,得到多个关节的多组三维位置坐标。
可选的,根据对所述三维动作图像进行图像分割获得所述面部特征包括:获取所述三维动作图像中的点云数据;对所述点云数据进行体素化处理,得到所述三维动作图像的平面图像;对所述平面图像进行图像分割,以确定所述控制对象的面部区域;识别所述面部区域中的多个关键点特征,其中,所述多个关键点特征包括所述多个关键点的位置坐标、所述多个关键点的状态以及所述多个关键点的动作时间序列对,用于识别所述控制对象的面部表情。
可选的,根据所述关节位置和所述面部特征计算机器人的控制力矩包括:以所述机器人的指定位置为中心构建第二坐标系;根据所述第二坐标系和第一坐标系之间的映射关系将所述关节位置信息和所述面部特征映射到所述机器人身上对应的目标位置;基于所述指定位置计算所述目标位置的旋转角度θ;根据所述旋转角度计算所述控制力矩。
可选的,根据所述旋转角度计算所述控制力矩包括:通过以下公式计算所述控制力矩τ:
Figure BDA0002383633830000021
其中,H表示所述机器人的舵机的控制比例系数,
Figure BDA0002383633830000031
表示θ对时间的一阶导数。
可选的,根据所述控制力矩计算所述机器人的控制参数包括:通过以下公式计算所述控制参数:Ii=τi/K,其中,τi表示所述控制力矩,i表示所述机器人的第i个活动部件,K表示第i个活动部件的控制电机的转角常数,Ii表示第i个活动部件的控制电机的电流。
根据本发明的一个实施例,提供了一种机器人的控制装置,包括:获取模块,用于当控制对象呈现行为动作时,获取所述控制对象的关节位置信息,以及识别所述控制对象的面部特征;第一计算模块,用于根据所述关节位置和所述面部特征计算机器人的控制力矩;第二计算模块,用于根据所述控制力矩计算所述机器人的控制参数,其中,所述控制参数用于控制所述机器人模仿所述行为动作。
可选的,所述获取模块包括:捕捉单元,用于通过深度摄像头捕捉所述控制对象的三维动作图像;第一构建单元,用于基于所述控制对象的躯干中心构建第一坐标系;提取单元,用于基于所述第一坐标系,从所述三维动作图像中提取所述关节位置信息,根据对所述三维动作图像进行图像分割获得所述面部特征。
可选的,所述提取单元包括:输入子单元,用于向视觉定位PoseNet模型中输入所述三维动作图像;解析子单元,用于通过调用所述PoseNet模型的估计单姿态函数estimateSinglePose()解析所述三维动作图像,得到多个关节的多组三维位置坐标。
可选的,所述提起单元还包括:获取子单元,用于获取所述三维动作图像中的点云数据;处理子单元,用于对所述点云数据进行体素化处理,得到所述三维动作图像的平面图像;确定子单元,用于对所述平面图像进行图像分割,以确定所述控制对象的面部区域;识别子单元,用于识别所述面部区域中的多个关键点特征,其中,所述多个关键点特征包括所述多个关键点的位置坐标、所述多个关键点的状态以及所述多个关键点的动作时间序列对,用于识别所述控制对象的面部表情。
可选的,所述第一计算模块包括:第二构建单元,用于以所述机器人的指定位置为中心构建第二坐标系;映射单元,用于根据所述第二坐标系和第一坐标系之间的映射关系将所述关节位置信息和所述面部特征映射到所述机器人身上对应的目标位置;第一计算单元,用于基于所述指定位置计算所述目标位置的旋转角度θ;第二计算单元,用于根据所述旋转角度计算所述控制力矩。
可选的,所述第二计算单元,用于通过以下公式计算所述控制力矩τ:
Figure BDA0002383633830000041
其中,H表示所述机器人的舵机的控制比例系数,
Figure BDA0002383633830000042
表示θ对时间的一阶导数。
可选的,所述第二计算模块包括:第三计算单元,用于通过以下公式计算所述控制参数:Ii=τi/K,其中,τi表示所述控制力矩,i表示所述机器人的第i个活动部件,K表示第i个活动部件的控制电机的转角常数,I_i表示第i个活动部件的控制电机的电流。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项装置实施例中的步骤。
根据本发明的又一个实施例,还提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,当控制对象呈现行为动作时,获取所述控制对象的关节位置信息和面部特征,根据关节位置和面部特征计算机器人的控制力矩,解决了相关技术中的机器人仅能模仿控制对象的有限个动作,以及无法准确的识别出控制对象的面部表情的技术问题,再根据所述控制力矩计算所述机器人的控制参数,无需控制对象穿戴机械衣或VR设备,根据控制参数模仿控制对象的行为动作,解决了相关技术中机器人模仿动作有限、控制机器人不便等技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种机器人的控制方法应用于计算机终端的硬件结构框图;
图2是根据本发明提供的一种机器人的控制方法的流程图;
图3是根据本发明具体实施例提供的一种机器人的控制方法的流程示意图;
图4是根据本发明实施例的一种机器人的控制装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、服务器、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种机器人的控制方法应用于计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的机器人的控制方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种机器人的控制方法,图2是根据本发明提供的一种机器人的控制方法的流程图。如图2所示,该流程包括如下步骤:
步骤S202,当控制对象呈现行为动作时,获取控制对象的关节位置信息,以及识别控制对象的面部特征;
本实施例中的控制对象可以为人、机器人等。
步骤S204,根据关节位置和面部特征计算机器人的控制力矩;
其中,关节至少包括肩关节,肘关节等;面部特征包括鼻、嘴、眉毛等多个关键点特征。
步骤S206,根据控制力矩计算机器人的控制参数,其中,控制参数用于控制机器人模仿行为动作。
通过上述步骤,当控制对象呈现行为动作时,获取控制对象的关节位置信息和面部特征,根据关节位置和面部特征计算机器人的控制力矩,解决了相关技术中的机器人仅能模仿控制对象的有限个动作,以及无法准确的识别出控制对象的面部表情的技术问题,再根据控制力矩计算机器人的控制参数,无需控制对象穿戴机械衣或VR设备,根据控制参数模仿控制对象的行为动作,解决了相关技术中机器人模仿动作有限、控制机器人不便等技术问题。
在一个可选的实施例中,获取控制对象的关节位置信息,以及识别控制对象的面部特征包括:通过深度摄像头捕捉控制对象的三维动作图像;基于控制对象的躯干中心构建第一坐标系;基于第一坐标系,从三维动作图像中提取关节位置信息,根据对三维动作图像进行图像分割获得面部特征。
在本实施例中,机器人身上的传感器至少包括三个摄像头,其中一个摄像头为深度摄像头(TOF Camera),深度检测摄像头除了通过相机获取信息之外,还用于对获取的三维图像信息进行理解,至少包含:图像中的三维信息提取、物体识别、分类、运动跟踪等等;可选的,其他摄像头为普通摄像头,分别用于拍照、OCR识别(全称为Optical CharacterRecognition,光学字符识别)等。
在一个可选的示例中,通过在机器人身上部署深度摄像头,实时获取关键点的位置信息(即上述关节位置信息或者面部特征),获取的方式可以时通过Query(查询)的方式进行周期性的请求,以保证每次获取的信息都被处理,且buffer(缓冲区)中没有多余的数据,从而实现了实时获取人体动作的三维动画图像。
可选地,通过深度摄像头采集到人体(即上述控制对象)的躯干中心,以躯干中心为准,建立人体的坐标系(即上述第一坐标系),然后通过三维图像提取人体的各个关键点的位置坐标,从而确定人体的行为动作。
根据上述实施例,从三维动作图像中提取关节位置信息包括:向视觉定位PoseNet模型中输入三维动作图像;通过调用PoseNet模型的估计单姿态函数estimateSinglePose()解析三维动作图像,得到多个关节的多组三维位置坐标。
在一个示例中,通过对深度相机面前的人体的动作行为特征点的捕捉,比如五官、关节等,包括人体的肩关节,肘关节,颈部关节,腰关节等位置信息,这些信息会被实时捕捉并转换为机器人(比如Aide机器人)上舵机的力矩信息,从而完成机器人的运动。
在本实施例中,获取人体关节位置信息关键在于人体的关键点检测以及移动端实时性的要求,Tensorflow Lite(是一个采用数据流图(data flow graphs),用于数值计算的开源软件库)是移动端计算机视觉应用程序中的实时性非常好的一款产品,在人体关键点检测的模块加入了PoseNet模块;通过PoseNet库提供了一个接口,它以经过处理的三维动作图像作为输入,并返回人像身体中的关键部位的位置信息;进一步的,通过调用估计单姿态函数estimateSinglePose()实现,在经过处理后的RGB(全称为Red Green Blue)位图上运行Tensorflow Lite解释器,返回一个Person对象;Person类中包含了关键身体部位的位置和它们对应的置信度,其中,人像的置信度是各个关键点置信度的均值,这表明该位置存在关键点的概率;最后,通过设置特定阈值返回置信度超过阈值的关键点。
可选的,根据对三维动作图像进行图像分割获得面部特征包括:获取三维动作图像中的点云数据;对点云数据进行体素化处理,得到三维动作图像的平面图像;对平面图像进行图像分割,以确定控制对象的面部区域;识别面部区域中的多个关键点特征,其中,多个关键点特征包括多个关键点的位置坐标、多个关键点的状态以及多个关键点的动作时间序列对,用于识别控制对象的面部表情。
根据上述实施例,关于面部表情识别,通过深度摄像头从获取到的三维动作图像中提取点云数据,点云数据,是以点的形式记录数据,每一个点包含三维坐标,有些可能含有颜色信息(RGB)或反射强度信息(Intensity)。它是以视频流的方式被相机所捕捉,可以让相机以一定周期比如1ms,10ms等捕获图像信息。
然后对点云数据先进行椒盐噪声去除(去除或因影像讯号受到突如其来的强烈干扰而产生、类比数位转换器或位元传输错误等)和体素化(将物体的几何形式表示转换成最接近该物体的体素表示形式,产生的体数据集,不仅包含模型的表面信息,而且能描述模型的内部属性)处理,以进行降维,得到人体动作的平面图像。
处理后的点云数据主要用于微表情的识别,在进行降维、滤波等处理后,采用图像分割方法(即通过直接确定区域间的边界来实现分割)对待识别的平面图像进行图像分割,以识别出控制对象的面部区域。在一个可选的示例中,当面部与背景有明显对比度时,面部的边界处于梯度最高的点上,通过跟踪平面图像中具有最高梯度的点的方式获得面部的边界;然后提取面部区域的关键点特征,包括关键点状态、动作时间序列对;基于边缘区域和各个关键点特征来识别人体动作的面部表情类别。
采用类似人脸识别的方式实现面部微表情的识别,通过对训练好的模型进行压缩,编译成二进制模型方便在移动端部署,以保证实时性。模型特征的提取主要通过眼睛,嘴巴,眉毛等的变化来推断,通过边缘和特征点的提取,结合模型给出的语义信息从而调整微表情,解决了相关技术中比如拟人机器人SEER仅能捕捉并模仿人类面部的眉毛和眼镜的微表情的缺陷。
在一个可选的实施例中,根据关节位置和面部特征计算机器人的控制力矩包括:以机器人的指定位置为中心构建第二坐标系;根据第二坐标系和第一坐标系之间的映射关系将关节位置信息和面部特征映射到机器人身上对应的目标位置;基于指定位置计算目标位置的旋转角度θ;根据旋转角度计算控制力矩。
在本实施例中,在获取用户各关节的位置信息之后,需要首先将各关节在相机坐标系(即上述第一坐标系)下的位置转换到相机的像素平面(即上述三维动作图像的平面图像),再通过像素平面的关键点按一定比例映射到爱德机器人上的各关键点,在各关键点位置信息均已知的情况下,实现机器人身上的各关键点的位置控制。
可选的,根据第一坐标系和第二坐标系之间的映射关系将控制对象的关节位置信息和面部特征映射到机器人身上可以通过以下操作实现:
通过监听TF(全称为Term Frequency,词频),可以避免繁琐的旋转矩阵计算,直接获取所需的相关信息,常用的两个函数是:
(1)查找字段转换通用类lookupTransform();获得人体动作所位于的第一坐标系与机器人的第二坐标系之间的转换关系(即上述映射关系),包括旋转和平移;
例如,已知同一组点在不同坐标系下的坐标是已知的,有6个点ABCDEF,位于第一坐标系中的坐标为A1、B1、C1、D1、E1、F1,位于第二坐标系中的坐标为A2、B2、C2、D2、E2、F2;
根据上述的点集计算两坐标系之间的转换关系M,使得:第一坐标系*M=第二坐标系。
(2)坐标转换函数transformPoint();根据转换关系M将第一坐标系下的坐标转换到第二坐标系中。
可选的,根据旋转角度计算控制力矩包括:通过以下公式计算控制力矩τ:
Figure BDA0002383633830000101
其中,H表示机器人的舵机的控制比例系数,
Figure BDA0002383633830000102
表示θ对时间的一阶导数。
在本实施例中,通过PoseNet模块得到的位置信息和时间戳,即为实时获取到的动作时间序列对。初始状态下,设固定(相对于基座位置不变)肩关节的下一个点(肘关节)的坐标为A(x,y,z),每帧的采样间隔为dt,下一时刻的坐标为A’(x’,y’,z’),固定座标为O(x0,y0,z0),转过的角度即为向量OA与OA’的夹角,对于后面的点,则以前一关节点作为旋转原点计算旋转过的角度;角速度则由与前一时刻和前前时刻的差分得到。最后控制力矩
Figure BDA0002383633830000103
得到,其中,H为舵机的系数,θ为转过的角度。
在一个可选的实施例中,根据控制力矩计算机器人的控制参数包括:通过以下公式计算控制参数:Ii=τi/K,其中,τi表示控制力矩,i表示机器人的第i个活动部件,K表示第i个活动部件的控制电机的转角常数,Ii表示第i个活动部件的控制电机的电流。
可选地,TF树由关键点的信息和机器人的模型共同确定,ROS中的URDF文件会定义好机器人的极坐标系以及各个关节相对与基座和上一母节点的位置(最上层的母节点的上一节点即为基坐标系,层层递进表示相对关节的位置变换关系)。比如基座标系相对于世界坐标系的关系为T0,如果我们想知道以基座标系为树的根节点往下:
第i个关节的位置Ti,则Ti=T(i-1)*T(i-2)*...T0;得到转换关系,从而得到各关节点的位置信息。
根据力矩和关键点的位置,对于关键点i,该处的舵机产生力矩的能力可以用电机的转角常数K来描述,因此,电枢电流与电机产生的转矩(即上述控制力矩)为:
Ii=τi/K,
其中,Ii为电机电流,通过控制电流的大小(或对应的电压),可以转化为机器人的执行参数(即上述控制参数),根据执行参数执行与人体动作相似的动作。
下面结合一具体实施的流程对本发明的技术方案进行说明:
图3是根据本发明具体实施例提供的一种机器人的控制方法的流程示意图,如图3所示,以爱德机器人为例:
S301:通过爱德机器人身上安装的深度摄像头获取人体行为动作的三维动作图像;获取三维动作图像中的点云数据,提取关节位置信息和面部关键点特征,至少包括肩关节,肘关节等位置信息;以及对点云数据进行降维滤波等操作,得到三维动作图像的平面图像,对平面图像进行分割并提取面部的关键点特征,例如面部的鼻,耳等位置信息;最终获得到关键点状态、时间序列对。
S303:通过模仿学习(Imitation Learning)处理上述步骤S301中获取的数据信息;
S305:对处理后的数据进行逆动作解析处理。可选的,通过在URDF模型中,建立起各关节的TF树,因此,在已知末端运动信息后就可以根据TF树转化为各关节的信息。TF树会以爱德机器人的基座标系(即上述第二坐标系)为base link为基准建立空间几何关系。各关节的关系会通过D-H约定完成转换。
在本实施例中,对于机器人的运动空间问题,通过以爱德机器人腰部以下的基座构建基坐标系(即上述第二坐标系),在机器人操作系统(ROS,Robot Operating System)中建立URDF(全称为Unified Robot Description Format,统一机器人描述格式)模型,并在模型中添加角度约束,惯性,材料及碰撞性质,使模型更接近真实机器人。
S307:舵机力矩控制。
在本实施例中,对于速度的计算,应用差分的方式,将每一帧的位置与前后单位时间的位置取平均速度。针对控制对象的任一关节或面部特征,计算当前帧与前一帧之间的第一距离差和第一时间差,以及计算当前帧与后一帧之间的第二距离差和第二时间差;分别计算当前帧相对于前一帧变化的第一速度,以及后一帧相对于当前帧变化的第二速度;计算第一速度和第二速度的平均速度值,其中,平均速度值表示机器人模仿行为动作的速度。
关于各关节的转动角度,设固定肩关节的下一个点(肘关节)的坐标为A(x,y,z),每帧的采样间隔为dt,下一时刻的坐标为A’(x’,y’,z’),固定座标为O(x0,y0,z0),转过的角度即为向量OA与OA’的夹角,对于后面的点,则以前一关节点作为旋转原点计算旋转过的角度。
关于差分算角速度;角速度则由与前一时刻和前前时刻的差分得到;
关于力矩,通过公式
Figure BDA0002383633830000121
计算得到。
关于控制参数,通过公式Ii=τi/K将上述计算得到的力矩转换为电流(或电压)信号作为机器人的执行参数。
在运动关节方面,颈部的球形铰接可以实践头部左右和前后的摆动,两条手臂分别有两个转动关节来实现手臂末端的移动,腰部有一个转动关节来实现身体的转动。
对于机器人传感器的问题,可以在建立好的URDF模型上直接进行开发,添加传感器的种类特性(即相机模型),并可以将目前已经应用在爱德上的传感器或支持的传感器的配置文件都加入模型的一部分,用户可以根据需要进行加载。相机模型的坐标位置关系,质量特性,碰撞性质,量程,内外参都可以在模型及其配置文件中定义,尽量与真实的相机保持一致。其中,配置文件即包括上述提到的相机的配置文件,以YAML(另一种标记语言,是一个专门用来写配置文件的语言)文件的形式加载参数;另外一部分指关节处的Gazebo插件(Gazebo是一个仿真平台),因为单凭URDF文件机器人模型还只是一个静态显示模型,如果要让它动起来,需要通过使用Gazebo插件来帮助模型绑定ROS消息,从而完成关节的传动以及电机的控制。
由于力矩最终需要舵机进行动力输出,而舵机的输入信息是角度(可通过关键点位置推算)和电压或电流,也就是说,关节运动的控制是由舵机通过角度控制和电压控制。电压决定了舵机以多大的速度,加速度完成指令,在保证实时性的前提下,可以通过设置舵机的电压上限,或者规定电压的范围,在内部做适应性微调。
对于版本管理的问题,可以将爱德的模型及相关传感器整合成一个ROS package(机器人操作系统的功能包),开源到Github社区(GitHub是一个面向开源及私有软件项目的托管平台),方便用户的下载和二次开发,建立用户生态,方便用户进行其他的硬件集成,并可以得到开发者的最新反馈,有助于下一代的开发。
实施例2
在本实施例中还提供了一种机器人的控制装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的一种机器人的控制装置的结构框图,如图4所示,该装置包括:获取模块402,用于当控制对象呈现行为动作时,获取控制对象的关节位置信息,以及识别控制对象的面部特征;第一计算模块404,连接至上述获取模块402,用于根据关节位置和面部特征计算机器人的控制力矩;第二计算模块406,连接至上述第一计算模块404。用于根据控制力矩计算机器人的控制参数,其中,控制参数用于控制机器人模仿行为动作。
可选的,获取模块402包括:捕捉单元,用于通过深度摄像头捕捉控制对象的三维动作图像;第一构建单元,用于基于控制对象的躯干中心构建第一坐标系;提取单元,用于基于第一坐标系,从三维动作图像中提取关节位置信息,根据对三维动作图像进行图像分割获得面部特征。
可选的,提取单元包括:输入子单元,用于向视觉定位PoseNet模型中输入三维动作图像;解析子单元,用于通过调用PoseNet模型的估计单姿态函数estimateSinglePose()解析三维动作图像,得到多个关节的多组三维位置坐标。
可选的,提起单元还包括:获取子单元,用于获取三维动作图像中的点云数据;处理子单元,用于对点云数据进行体素化处理,得到三维动作图像的平面图像;确定子单元,用于对平面图像进行图像分割,以确定控制对象的面部区域;识别子单元,用于识别面部区域中的多个关键点特征,其中,多个关键点特征包括多个关键点的位置坐标、多个关键点的状态以及多个关键点的动作时间序列对,用于识别控制对象的面部表情。
可选的,第一计算模块404包括:第二构建单元,用于以机器人的指定位置为中心构建第二坐标系;映射单元,用于根据第二坐标系和第一坐标系之间的映射关系将关节位置信息和面部特征映射到机器人身上对应的目标位置;第一计算单元,用于基于指定位置计算目标位置变化的旋转角度θ;第二计算单元,用于根据旋转角度计算控制力矩。
可选的,第二计算单元,用于通过以下公式计算控制力矩τ:
Figure BDA0002383633830000151
其中,H表示机器人的舵机的控制比例系数,
Figure BDA0002383633830000152
表示θ对时间的一阶导数。
可选的,第二计算模块406包括:第三计算单元,用于通过以下公式计算控制参数:Ii=τi/K,其中,τi表示控制力矩,i表示机器人的第i个活动部件,K表示第i个活动部件的控制电机的转角常数,Ii表示第i个活动部件的控制电机的电流。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,当控制对象呈现行为动作时,获取所述控制对象的关节位置信息,以及识别所述控制对象的面部特征;
S2,根据所述关节位置和所述面部特征计算机器人的控制力矩;
S3,根据所述控制力矩计算所述机器人的控制参数,其中,所述控制参数用于控制所述机器人模仿所述行为动作。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,当控制对象呈现行为动作时,获取所述控制对象的关节位置信息,以及识别所述控制对象的面部特征;
S2,根据所述关节位置和所述面部特征计算机器人的控制力矩;
S3,根据所述控制力矩计算所述机器人的控制参数,其中,所述控制参数用于控制所述机器人模仿所述行为动作。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种机器人的控制方法,其特征在于,包括:
当控制对象呈现行为动作时,获取所述控制对象的关节位置信息,以及识别所述控制对象的面部特征;
根据所述关节位置和所述面部特征计算机器人的控制力矩;
根据所述控制力矩计算所述机器人的控制参数,其中,所述控制参数用于控制所述机器人模仿所述行为动作。
2.根据权利要求1所述的方法,其特征在于,获取所述控制对象的关节位置信息,以及识别所述控制对象的面部特征包括:
通过深度摄像头捕捉所述控制对象的三维动作图像;
基于所述控制对象的躯干中心构建第一坐标系;
基于所述第一坐标系,从所述三维动作图像中提取所述关节位置信息,根据对所述三维动作图像进行图像分割获得所述面部特征。
3.根据权利要求2所述的方法,其特征在于,从所述三维动作图像中提取所述关节位置信息包括:
向视觉定位PoseNet模型中输入所述三维动作图像;
通过调用所述PoseNet模型的估计单姿态函数estimateSinglePose()解析所述三维动作图像,得到多个关节的多组三维位置坐标。
4.根据权利要求2所述的方法,其特征在于,根据对所述三维动作图像进行图像分割获得所述面部特征包括:
获取所述三维动作图像中的点云数据;
对所述点云数据进行体素化处理,得到所述三维动作图像的平面图像;
对所述平面图像进行图像分割,以确定所述控制对象的面部区域;
识别所述面部区域中的多个关键点特征,其中,所述多个关键点特征包括所述多个关键点的位置坐标、所述多个关键点的状态以及所述多个关键点的动作时间序列对,用于识别所述控制对象的面部表情。
5.根据权利要求1所述的方法,其特征在于,根据所述关节位置和所述面部特征计算机器人的控制力矩包括:
以所述机器人的指定位置为中心构建第二坐标系;
根据所述第二坐标系和第一坐标系之间的映射关系将所述关节位置信息和所述面部特征映射到所述机器人身上对应的目标位置;
基于所述指定位置计算所述目标位置的旋转角度θ;
根据所述旋转角度计算所述控制力矩。
6.根据权利要求5所述的方法,其特征在于,根据所述旋转角度计算所述控制力矩包括:
通过以下公式计算所述控制力矩τ:
Figure FDA0002383633820000021
其中,H表示所述机器人的舵机的控制比例系数,
Figure FDA0002383633820000022
表示θ对时间的一阶导数。
7.根据权利要求1所述的方法,其特征在于,根据所述控制力矩计算所述机器人的控制参数包括:
通过以下公式计算所述控制参数:
Ii=τi/K,
其中,τi表示所述控制力矩,i表示所述机器人的第i个活动部件,K表示第i个活动部件的控制电机的转角常数,Ii表示第i个活动部件的控制电机的电流。
8.一种机器人的控制装置,其特征在于,包括:
获取模块,用于当控制对象呈现行为动作时,获取所述控制对象的关节位置信息,以及识别所述控制对象的面部特征;
第一计算模块,用于根据所述关节位置和所述面部特征计算机器人的控制力矩;
第二计算模块,用于根据所述控制力矩计算所述机器人的控制参数,其中,所述控制参数用于控制所述机器人模仿所述行为动作。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202010090743.8A 2020-02-13 2020-02-13 机器人的控制方法及装置、计算机设备、存储介质 Active CN111360819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010090743.8A CN111360819B (zh) 2020-02-13 2020-02-13 机器人的控制方法及装置、计算机设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010090743.8A CN111360819B (zh) 2020-02-13 2020-02-13 机器人的控制方法及装置、计算机设备、存储介质

Publications (2)

Publication Number Publication Date
CN111360819A true CN111360819A (zh) 2020-07-03
CN111360819B CN111360819B (zh) 2022-09-27

Family

ID=71200224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010090743.8A Active CN111360819B (zh) 2020-02-13 2020-02-13 机器人的控制方法及装置、计算机设备、存储介质

Country Status (1)

Country Link
CN (1) CN111360819B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114063572A (zh) * 2020-07-31 2022-02-18 北京熵行科技有限公司 一种无感知智能设备控制方法、电子设备及控制系统
CN114063572B (zh) * 2020-07-31 2024-05-31 北京熵行科技有限公司 一种无感知智能设备控制方法、电子设备及控制系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249510A1 (en) * 2003-06-09 2004-12-09 Hanson David F. Human emulation robot system
CN105252532A (zh) * 2015-11-24 2016-01-20 山东大学 动作捕捉机器人协同柔性姿态控制的方法
CN106607910A (zh) * 2015-10-22 2017-05-03 中国科学院深圳先进技术研究院 一种机器人实时模仿方法
CN107679519A (zh) * 2017-10-27 2018-02-09 北京光年无限科技有限公司 一种基于虚拟人的多模态交互处理方法及系统
CN109521927A (zh) * 2017-09-20 2019-03-26 阿里巴巴集团控股有限公司 机器人互动方法和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249510A1 (en) * 2003-06-09 2004-12-09 Hanson David F. Human emulation robot system
CN106607910A (zh) * 2015-10-22 2017-05-03 中国科学院深圳先进技术研究院 一种机器人实时模仿方法
CN105252532A (zh) * 2015-11-24 2016-01-20 山东大学 动作捕捉机器人协同柔性姿态控制的方法
CN109521927A (zh) * 2017-09-20 2019-03-26 阿里巴巴集团控股有限公司 机器人互动方法和设备
CN107679519A (zh) * 2017-10-27 2018-02-09 北京光年无限科技有限公司 一种基于虚拟人的多模态交互处理方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114063572A (zh) * 2020-07-31 2022-02-18 北京熵行科技有限公司 一种无感知智能设备控制方法、电子设备及控制系统
CN114063572B (zh) * 2020-07-31 2024-05-31 北京熵行科技有限公司 一种无感知智能设备控制方法、电子设备及控制系统

Also Published As

Publication number Publication date
CN111360819B (zh) 2022-09-27

Similar Documents

Publication Publication Date Title
CN108656107B (zh) 一种基于图像处理的机械臂抓取系统及方法
CN104589356B (zh) 基于Kinect人手运动捕捉的灵巧手遥操作控制方法
CN110135249B (zh) 基于时间注意力机制和lstm的人体行为识别方法
JP2019536154A (ja) 直方体検出のための深層機械学習システム
Mania et al. A framework for self-training perceptual agents in simulated photorealistic environments
JPWO2003019475A1 (ja) ロボット装置、顔認識方法及び顔認識装置
CN105912980A (zh) 无人机以及无人机系统
CN106313049A (zh) 一种仿人机械臂体感控制系统及控制方法
CN109840508A (zh) 一个基于深度网络架构自动搜索的机器人视觉控制方法,设备及存储介质
CN110942512B (zh) 基于元学习的室内场景重建方法
CN111095170B (zh) 虚拟现实场景及其交互方法、终端设备
CN108229678B (zh) 网络训练方法、操作控制方法、装置、存储介质和设备
Yang et al. Learning actions from human demonstration video for robotic manipulation
CN113221663A (zh) 一种实时手语智能识别方法、装置及系统
Antonova et al. A bayesian treatment of real-to-sim for deformable object manipulation
CN111753696A (zh) 一种感知场景信息的方法、仿真装置、机器人
CN112975968B (zh) 基于第三视角可变主体演示视频的机械臂模仿学习方法
CN111360819B (zh) 机器人的控制方法及装置、计算机设备、存储介质
Ogawara et al. Acquiring hand-action models in task and behavior levels by a learning robot through observing human demonstrations
CN113219854A (zh) 机器人仿真控制平台、方法及计算机存储介质
CN116977506A (zh) 模型动作重定向的方法、装置、电子设备及存储介质
CN113894779B (zh) 一种应用于机器人交互的多模态数据处理方法
CN117916773A (zh) 用于在移动设备中同时重建姿态和参数化3d人体模型的方法和系统
CN115482481A (zh) 单视角三维人体骨骼关键点检测方法、装置、设备及介质
Liu et al. Real-time object recognition based on NAO humanoid robot

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
GR01 Patent grant