基于智能移动终端的机器人控制系统及控制方法
技术领域
本发明涉及机器人控制技术领域,更具体地说,涉及基于智能移动终端的机器人控制系统及控制方法。
背景技术
智能机器人是一个集环境感知、动态决策与规划、行为控制与执行等多功能于一体的综合系统。它集计算机科学、信息学、机械运动和动力学、控制理论等学科的先进技术于一体,是目前科学技术发展的前沿领域之一。但是,机器人自诞生以来,所采用的控制器基本都是开发者基于自己的独立封闭架构开发的,采用专用计算机、专用编程语言、专用操作系统,价格昂贵、可扩展性差,不利于智能机器人走向普通家庭。
智能手机具有开放性的操作系统,可以通过安装应用软件来扩充其功能,友好的人机交互和便携型,使其成为人们日常生活中不可或缺的重要部分。同时智能手机包含摄像头、麦克风、蓝牙、陀螺仪、加速度传感器等一系列硬件,且具有一定的数据处理能力。
如何使用移动终端对机器人进行控制和数据处理,是现在的迫切需求,中国专利申请,申请号201510180981.7,公开日2015年7月22日,公开了一种机器人系统,具体涉及一种基于手机控制的机器人系统。包括:机器人装置以及用于控制机器人装置的手机装置,其中:所述机器人装置包括:机器人通信模块、咪头、喇叭模块、功放模块、舵机、机器人主控制器;所述手机终端包括:用于和所述机器人通信模块通信的手机通信模块,手机主控制器,手机存储模块。因此,此发明具有如下优点:1.设计合理,结构简单,完全实用且成本较低;2.智能化程度较高,拥有交互功能;3.降低机器人功耗,增加续航时间。但是其控制方式依靠手动,且智能化程度低,控制不精确,识别性差。
发明内容
1.要解决的技术问题
针对现有技术中存在的机器人控制方式依靠手动,且智能化程度低,控制不精确,识别性差问题,本发明提供了基于智能移动终端的机器人控制系统及控制方法,它可以实现智能移动终端作为机器人的核心控制模块,降低机器人的复杂程度,全面提升机器人的可扩展性、易用性和人机交互体验。
2.技术方案
本发明的目的通过以下技术方案实现。
基于智能移动终端的机器人控制系统,包括:
机器人本体,内部设置有蓝牙通信模块、嵌入式控制模块和电机驱动模块,用于将蓝牙通信模块接收到的控制指令传递给嵌入式控制模块,由嵌入式控制模块发出PWM信号给电机驱动模块,进而执行相应的动作;
机载移动终端,固定在机器人本体上,用于接收来自于远程控制终端的视频通话请求时,开启摄像头与闪光灯,采集并传递实时图像至远程控制终端,若接收到来自远程控制终端的机器人控制指令时,通过蓝牙通信模块发送给机器人本体;
远程控制终端,用于依据接收来自于机载移动终端的实时图像,将其在屏幕上显示,同时进行按键控制、语音控制和陀螺仪控制三种控制模式,对机器人发送控制指令;
云端服务器,用于在接收到来自客户端的服务请求时,依据服务请求的内容验证客户端权限,并将服务请求转发至相应的服务器;
视频通话与指令服务器,用于依据接收到视频通话和指令服务请求时,为相关客户端建立视频通话和指令收发通道;
人脸识别服务器,用于依据接收到人脸识别服务请求时,对客户端发送过来的人脸图像进行识别并返回识别结果。
更进一步的,所述机器人本体通过蓝牙串口协议与所述机载移动终端连接。
更进一步的,机载移动终端为手机或平板电脑。
更进一步的,远程控制终端为智能移动终端或者计算机。
一种采用上述基于智能移动终端的机器人控制系统的控制方法,步骤如下:
A、远程控制终端发送相应控制指令,并通过云端服务器验证客户端权限,并将服务请求转发至相应的服务器;
B、机载移动终端接收来自于远程控制终端或云端服务器的请求时,并进行相应的操作;机载移动终端接受的请求包括:视频呼叫;照明开启;机器人运动控制;人脸检测与识别;对指定的目标进行跟踪;
C、视频通话与指令服务器,接受来自云端服务器的请求,用于依据接收到视频通话和指令服务请求,为机载移动终端和远程控制终端建立视频通话和指令收发通道。
优选的,所述指令为视频呼叫时,所述机器人本体根据所述指令执行对应操作包括:所述远程控制终端向云端服务器发送对机器人的视频通话请求,云端服务器请求视频通话与指令服务器建立视频通话和指令收发通道,并询问机载移动终端是否同意视频通话,如果同意将开启机载移动终端的摄像头和麦克风,采集图像和音频压缩成特定格式并发送到远程控制终端。
优选的,所述指令为照明开启时,所述机器人本体根据所述指令执行对应操作包括:所述远程控制终端利用视频通话时建立的视频通话和指令收发通道,向机载移动终端发送照明开启指令,机载移动终端接收到照明开启指令后,机载移动终端开启自身的LED闪光灯,进行照明。
优选的,所述指令为机器人运动控制时,所述机器人本体根据所述指令执行对应操作包括:所述远程控制终端利用视频通话时建立的视频通话和指令收发通道,向机载移动终端发送前进、后退、转弯运动指令,机载移动终端通过蓝牙通信模块向所述机器人本体的嵌入式控制模块发送运动指令,嵌入式控制模块依据接收到的指令发出相应PWM信号给电机驱动模块,电机工作,带动机器人移动。
优选的,所述指令为人脸检测与识别时,所述机器人本体根据所述指令执行对应操作包括:所述机器人利用机载移动终端摄像头获取并向远程控制终端发送人脸面部图像;远处控制终端根据Adaboost算法训练弱、强分类器,构建级联分类器,形成人脸检测器;利用人脸检测器从接收到的人脸面部图像中检测人脸并用矩形窗口标示出来,将检测到的人脸图像发送至所述人脸识别服务器;所述人脸识别服务器将接收到的人脸图像提取特征值后与人脸特征库中的特征值进行匹配,并返回处理结果。
优选的,所述指令为对指定的目标进行跟踪时,所述机器人本体根据所述指令执行对应操作包括:用矩形框标记待跟踪的目标,根据CMT跟踪算法构建目标跟踪器,计算每一帧图像中目标矩形框的位置,发送前进、后退、转弯指令,控制机器人本体移动。
3.有益效果
相比于现有技术,本发明的优点在于:
(1)本方案采用基于智能移动终端的机器人控制系统并配合控制方法,以智能移动终端作为核心控制平台,大大简化了机器人结构,降低成本,同时移动APP软件和云端服务器的应用,让主控方可以远程控制机器人行进、采集并传递实时图像以及进行目标识别和跟踪,进一步提升了机器人的可扩展性和实用性,有效促进机器人的使用和推广;
(2)本方案包括多种控制模式,包括视频呼叫;照明开启;机器人运动控制;人脸检测与识别;对指定的目标进行跟踪,控制模式多样,可以使用不同的指令获得不同的效果,且不需要增加机器人多余的控制部件,成本低,操作方便。
附图说明
图1为基于智能移动终端的机器人的结构示意图;
图2为基于智能移动终端的机器人的视频通话和远程控制流程图;
图3为基于智能移动终端的机器人的运动控制流程图
图4为基于智能移动终端的机器人的人脸识别流程图;
图5为基于智能移动终端的机器人的目标跟踪流程图;
图6为基于智能移动终端的机器人的目标跟踪器工作流程图。
图中标号说明:
1、机器人本体,2、机载移动终端,3、远程控制终端,4、云端服务器,5、视频通话与指令服务器,6、人脸识别服务器,11、嵌入式控制模块,12、蓝牙通信模块,13、电机驱动模块。
具体实施方式
下面结合说明书附图和具体的实施例,对本发明作详细描述。
实施例1
针对上述情况,本发明提出基于智能移动终端的机器人控制系统及控制方法,利用智能移动终端作为机器人的核心控制模块,降低机器人的复杂程度,全面提升机器人的可扩展性、易用性和人机交互体验。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明公开了基于智能移动终端的机器人控制系统,包括:
机器人本体1,用于依据将蓝牙通信模块12接收到的控制指令,传递给嵌入式控制模块11,由嵌入式控制模块11发出PWM(脉冲宽度调制)信号给电机驱动模块13,进而执行相应的动作;
机载移动终端2,用于依据接收到来自于远程控制终端3的视频通话请求时,打开摄像头,采集并传递实时图像至远程控制终端3,若接收到来自远程控制终端3的控制指令时,通过蓝牙通信模块12发送给机器人本体1;
远程控制终端3,用于依据接收来自于机载移动终端2的实时图像,将其在屏幕上显示,同时利用客户端应用内的按键控制、语音控制和陀螺仪控制三种控制模式,对机器人发送控制指令。
云端服务器4,用于在接收到来自客户端的服务请求时,依据服务请求的内容验证客户端权限,并将服务请求转发至相应的服务器;
视频通话与指令服务器5,用于依据接收到视频通话和指令服务请求时,为相关客户端建立视频通话和指令收发通道;
人脸识别服务器6,用于依据接收到人脸识别服务请求时,对客户端发送过来的人脸图像进行识别并返回识别结果。
所述智能移动终端可以是安卓或者苹果智能手机、平板电脑。所述远程控制终端3可以是智能移动终端或者计算机。本控制系统以机载移动终端2作为核心控制器,固定在机器人云台上,通过蓝牙通信模块12与机器人本体1进行通信,远程控制终端3通过云端服务器4和客户端应用软件与机载移动终端2交互,远程控制机器人。
本系统,分别设计服务器端和客户端应用程序,在服务器端应用内进行客户端之间视频通话通道的建立和指令消息的转发,并为客户端提供人脸识别服务。客户端应用内通过云端服务器4建立的视频通话通道进行视频通话,对摄像头拍摄的图像进行人类检测,并将检测到的人脸发送至云端服务器4进行识别。按角色的不同将客户端进一步细分为:机载移动终端2客户端和远程控制终端3客户端。机载移动终端2客户端应用内进行机器人姿态角度、运动速度等各种数据的采集、处理,接收来自远程控制终端3发来的控制指令,控制机器人进行相关操作;远程控制终端3客户端应用内设置按键控制、语音控制和陀螺仪控制三种控制模式,通过视频通话得到实时图像对机器人进行前进、后退、转弯等运动控制。
如图2所示,基于智能移动终端的机器人的视频通话和远程控制流程图步骤为:
步骤S101:远程控制终端3客户端向云端服务器4发送视频通话请求,云端服务器4查询视频通话与指令服务器5的工作状态,如果条件符合返回可以视频通话标示,否则返回拒绝视频通话标示。云端服务器4接收到可以视频通话标示,发送视频通话请求消息给机载移动终端2客户端,并将可以视频通话标示发送给远程控制终端3客户端。机载移动终端2客户端同意视频通话,视频通话与指令服务器5建立视频通话通道,两客户端之间开始视频通话。
步骤S102:将远程控制终端3利用按键控制、语音控制或者陀螺仪控制对机器人进行操作的动作转换为指令,经由云端服务器4和视频通话与指令服务器5发送给机载移动终端2,再由机载移动终端2对机器人本体1进行进一步的控制。
步骤S103:远程控制终端3客户端向云端服务器4发送视频通话结束请求,云端服务器4向视频通话与指令服务器5、机载移动终端2客户端和远程控制终端3客户端发送视频通话结束标示,视频通话与指令服务器5销毁视频通话通道,视频通话结束。
如图3所示,基于智能移动终端的机器人的运动控制流程图步骤为:
步骤S201:远程控制终端3客户端内置按键控制、语音控制、陀螺仪控制三种控制模式,用户可根据自己的需求进行选择。
步骤S202:用户选择按键控制模式时,交互界面包含前进、后退、左转、右转按钮,用户对某个按钮的点击动作,将生成相应运动指令,用户的抬起动作,将生成停止指令。
步骤S203:用户选择语音控制模式时,借助于语音识别技术,将用户的语音识别成文字,通过匹配查找“前进”、“后退”、“左转”、“右转”、“停止”等关键字,生成相应运动指令。
步骤S204:用户选择陀螺仪控制模式时,利用智能移动终端自带的陀螺仪,计算终端的倾斜方向和角度,生成相应运动指令。
步骤S205:通过步骤S101建立的视频通话通道,将步骤S202、S203、S204生成的运动指令发送到机载移动终端2。
步骤S206:机载移动终端2通过蓝牙通信模块12将控制指令发送到机器人本体1的嵌入式控制模块11。
步骤S207:由嵌入式控制模块11发出PWM信号给电机驱动模块13,电机进行工作,从而驱动机器人移动。
如图4所示,基于智能移动终端的机器人的人脸识别流程图步骤为:
步骤S301:在远程控制终端3和机载移动终端2客户端内,调用终端设备的摄像头拍摄图片。
步骤S302:利用人脸检测器从步骤S301拍摄的图片中提取人脸图像,并发送至人脸识别服务器6。
步骤S303:人脸识别服务器6接收到来自客户端的服务请求和人脸图像。
步骤S304:如果服务请求为添加数据时,将步骤S301接收到的人脸图像按用户提供的ID存入人脸图像库。
步骤S305:利用特制值提取模块从步骤S301接收到的人脸图像中提取特征值,并按用户提供的ID存入人脸特征库。
步骤S306:如果服务请求为人脸识别时,利用特制值提取模块从从步骤S301接收到的人脸图像中提取特征值。
步骤S307:利用特征值匹配模块将步骤S304中得到的特征值与人脸特征库中的数据进行比较,并返回一个相似度高于阀值的最接近结果。
步骤S308:将步骤S303、S305得到的结果发送到客户端。
如图5所示,基于智能移动终端的机器人的目标跟踪流程图步骤为:
步骤S401:CMT算法具有较强的实时性和鲁棒性,采用CMT算法构建目标跟踪器。
步骤S402:使用矩形框标记待追踪目标,对目标跟踪器进行初始化。
步骤S403:目标跟踪器计算每一帧图像中目标所处的位置,更新矩形框。
步骤S404:分析矩形框在固定窗口中的位置,生成前进、后退、转弯指令。
步骤S405:机载移动终端2通过蓝牙通信模块12向机器人发送控制指令,控制机器人移动。
如图6所示,基于智能移动终端的机器人的目标跟踪器工作流程图步骤为:
步骤S501:选择待追踪目标的矩形框,从第一帧图像中提取所有前景和背景关键点的特征描述,建立一个特征描述库database。计算并保存第一帧中所有归一化前景关键点与x轴的夹角(反正切)以及关键点两两之间的距离。
步骤S502:使用金字塔LK光流法计算前向光流和后向光流,再比较两次得到的对应关键点之间的距离,距离大于阈值的关键点对排除掉,剩下的关键点即作为跟踪到的关键点。
步骤S503:将当前帧中检测到的所有关键点的特征描述与database进行knnMatch匹配(k=2),每个特征描述子在database寻找最佳的2个匹配结果,将符合以下条件之一的匹配关键点排除:
匹配到了背景关键点;
最佳匹配的匹配距离大于阈值0.25;
最佳匹配与次佳匹配的匹配距离之比大于阈值0.8(比率越小,最佳匹配越优于次佳匹配)
剩下的关键点即作为跟踪到的关键点。
步骤S504:将光流法跟踪到的关键点与全局匹配到的关键点融合,得到的关键点用于评估目标的旋转角度和尺度,以及找寻目标中心位置。
步骤S505:计算步骤S504融合后得到的关键点的夹角以及关键点两两之间的距离,并与步骤S501对应的前景关键点的夹角求差、距离求商,再分别取平均值,评估出当前帧中目标的尺度因子scale和旋转角度rotation。
计算步骤S504融合后得到的关键点的投票,即每一个关键点与对应的经过尺度和旋转变换后的前景关键点之间构成的向量;计算向量的长度,按长度的大小进行升序排列;聚类并得到结果中最大的类(当两个类之间的距离小于阈值,合并这两个类);将此类中的所有关键点的坐标均值作为目标中心点。
步骤S506:比较当前帧中检测得到的每一个关键点与第一帧中经过旋转和尺度变换之后的所有前景关键点之间的欧氏距离,小于阈值20则该前景关键点是有可能匹配上的,将这些可能的前景关键点构造成一个特征描述库database_potential;将当前帧中检测得到的每一个关键点的特征描述与database_potential进行knnMatch匹配,每个特征描述子在database_potential寻找最佳的2个匹配结果,排除不稳定的关键点的策略与同步骤S503。
步骤S507:将步骤S506中匹配到的关键点与步骤S505中聚类得到的所有关键点融合,得到最终有效的目标关键点,这些关键点用于下一帧的跟踪。
步骤S508:计算新的跟踪窗口,更新显示图像。
本方案采用基于智能移动终端的机器人控制系统并配合控制方法,以智能移动终端作为核心控制平台,大大简化了机器人结构,降低成本,同时移动APP软件和云端服务器4的应用,让主控方可以远程控制机器人行进、采集并传递实时图像以及进行目标识别和跟踪,进一步了提升机器人的可扩展性和实用性,有效促进机器人的使用和推广。
以上示意性地对本发明创造及其实施方式进行了描述,该描述没有限制性,在不背离本发明的精神或者基本特征的情况下,能够以其他的具体形式实现本发明。附图中所示的也只是本发明创造的实施方式之一,实际的结构并不局限于此,权利要求中的任何附图标记不应限制所涉及的权利要求。所以,如果本领域的普通技术人员受其启示,在不脱离本创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本专利的保护范围。此外,“包括”一词不排除其他元件或步骤,在元件前的“一个”一词不排除包括“多个”该元件。产品权利要求中陈述的多个元件也可以由一个元件通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。