一种智能服务机器人及工作方法与流程

文档序号:11221096阅读:680来源:国知局
一种智能服务机器人及工作方法与流程

本发明属于信息技术、机器人技术交叉技术领域,具体涉及一种智能服务机器人及工作方法。



背景技术:

现今,绝大多数人的生活水平蒸蒸日上,但往往代价是工作的时间越来越多,休息的时间越来越少。每个都希望在有限的休息时间里面,能够充分休息,得到最好的服务。然而,如果通过雇佣管家或者保姆的方式,不仅会带来很大的花费,而且往往安全性得不到保证。从另一角度,未来几十年,我国人口老年化的状况将会日益凸显。老人的起居各方面都需要一定的照顾和辅助。而我们日益繁忙的生活往往使我们忽略了对老人的照顾。从这两方面考虑,未来使用机器人服务人类,将是一个必然趋势。所以机器人将在未来的几十年内扮演这个角色,来服务大众。

然而现在市面上并没有多少比较智能的机器人,可能是科幻电影拉高了大众的期望。与其说是机器人,更准确地说应该叫机械人,没有认知能力,基于规则的人工智能使得它们比较机械地去为人们进行工作。或者一个小巧的语音助理,缺乏对物理世界的控制。

现在,时代在进步,深度学习技术的兴起,“智能”一词得以真正与机器人挂钩。什么是弱人工智能?图像占人所接收信息的80%左右,我们用行动做到了对图像的感知理解,让计算机学会识别问题,并在空间中找到位置进行抓取。



技术实现要素:

本发明的目的在于克服上述不足,提供一种智能服务机器人及工作方法,通过faster-rcnn(更快的识别卷积神经网络)强大识别能力,能够很精确地在环境中快速找到感兴趣的物体,然后通过机械臂进行抓取。这种自识别的方式提高了机器人的自主性,能够更为智能地服务我们。

为了达到上述目的,一种智能服务机器人,包括底盘控制器,底盘控制器上固定有舵机旋转平台,舵机旋转平台上设置有数据采集模块,底盘控制器上设置有机械臂,数据采集模块、舵机旋转平台、底盘控制器和机械臂均与中央处理器相连;

所述数据采集模块包括摄像头和麦克风,摄像头用于采集彩色图和深度图,并将数据传至中央处理器;

所述中央处理器用于接收数据,进行物体识别并控制舵机旋转平台、底盘控制器和机械臂。

所述中央处理器包括以下模块:

bgcontroller模块,用于接收来自gui以及摄像头的信息及数据,根据实际情况,向bgserial模块发布任务信息,从而使机器人实施工作;

bgobjreg模块,用于通过openni驱动xtion深度摄像头,获取rgb图像以及深度信息图像并发送给bgcontroller模块,同时将图像信息发送给darknet深度学习模块进程进行物体识别;

darknetyolo深度学习模块,通过将采集的视频流载入程序框架中,经过自主运算后提取到该图片的特征,将图片分成几个块,经过softmax计算,确定各个模块是该类别的概率,选择最大概率的图块,进行扩展区域识别,分类完成后,再次运行另一个分类器,输出结果为x、y、w、h四类,即可确定闭合框位置,然后标记出所需物体;

第一bggui模块,用于启动机器人系统;

第二bggui模块,集成了语音识别、语音转文字功能以及语义理解功能,并与第一bggui模块代码耦合,用于语音控制机器人。

一种智能服务机器人的工作方法,包括以下步骤:

步骤一,通过大量数据训练深度学习网络,从而使机器人能够识别物体,并结合机器人实体;

步骤二,通过摄像头获取到当前环境图像,经由深度学习网络可以得出检测目标的位置以及类标,再融合深度图的信息,从而得到物体与机器人在空间中的相互关系;

步骤三,在跟踪过程中,机器人根据距离,动态调整跟踪时候的速度;

步骤四,机器人在抓取过程中,中央处理器将物体与机器人的相互关系经过投影变换为机械臂的坐标系,指导机械臂进行抓取。

所述跟踪过程的控制流程如下:

第一步,启动系统,打开麦克风,接收到任何人声后,主机处理,若从中找到“跟踪”含义的命令,机器人会进入跟踪状态,摄像头调整至水平状态,获取到图像后,卷积神经网络将会识别出需要跟踪的对象,并将其在图像中的对应位置进行发布;

第二步,根据第一步中获取的跟踪对象在图中的位置,根据从图像采集装置得到的深度图像进行匹配,能够得到机器人与跟踪对象之间的距离;

第三步,根据第一步中获取的跟踪对象在图中的位置,计算出对象的中心点在图中的位置,根据近大远小的常理,并且根据第二步中获知的距离,计算转向的阈值,阈值随对象距离变化而变化,当对象中心超出阈值范围,机器人执行左右转动,直到对象位于机器人正前方;

第四步,根据对象距离,进行变速运动,较远时,机器人加速前进;较近时,机器人减速前进,速度与距离呈负相关;

第五步,当检测到距离达到指定距离后,机器人停止移动,原地等待直到对象状态发生变化,执行第一步继续跟踪。

所述抓取过程的控制流程如下:

第一步,启动系统,打开麦克风,接收到任何人声后,若从中找到“识别抓取”类似含义的命令,当接收到抓取指令后,机器人会进入抓取状态,摄像头调整至朝下45度状态,获取到图像后,20层卷积神经网络识别出需抓取的对象,并将其在图像中的对应像素位置进行发布到系统中;

第二步,通过第一步获取到抓取对象在rgb三通道图像中的坐标后,结合深度图中距离信息,将对象的坐标根逻辑回归模型计算,映射到机械臂对应的三维笛卡尔坐标系中;

第三步,检测程序进行抓取坐标检测,判断该坐标是否在合理可行集合中;若超出范围,则执行第四步;若未超出范围,则执行第五步;

第四步,根据物体位置,以及抓取坐标,使用k最近邻算法得到机器人调整位置的初步策略;第一次策略包括向前、向后、向左、向右移动四种,移动以后执行第一步,重新进行抓取工作;

第五步,根据抓取坐标,机械臂移动到相应位置,下压吸嘴,打开气泵,进行低压抓取,抓取完成以后,机械臂带着物体回到机械臂初始位置,即完成一次抓取工作。

与现有技术相比,本发明通过摄像头获取到当前环境图像,经由深度学习网络可以得出检测目标的位置以及类标,再融合深度图的信息,从而得到物体与机器人在空间中的相互关系。在跟踪过程中,机器人根据距离,动态调整跟踪时候的速度。机器人在抓取过程中,算法将物体与机器人的相互关系经过投影变换为机械臂的坐标系,指导机械臂进行抓取。能够很精确地在环境中快速找到感兴趣的物体,然后通过机械臂进行抓取。

本发明将深度学习与机器人的实体进行结合。在使用机器人之前,先通过大量数据训练深度学习网络,从而使其能够识别物体。然后结合机器人实体。先通过摄像头获取到当前环境图像,经由深度学习网络可以得出检测目标的位置以及类标,再融合深度图的信息,从而得到物体与机器人在空间中的相互关系。在跟踪过程中,机器人根据距离,动态调整跟踪时候的速度。机器人在抓取过程中,算法将物体与机器人的相互关系经过投影变换为机械臂的坐标系,指导机械臂进行抓取。

附图说明

图1是本发明的硬件结构图;

图2是本发明的系统结构框图;

图3是本发明进行跟踪工作流程图;

图4是本发明进行识别抓取工作流程图。

具体实施方式

下面结合附图对本发明做进一步说明。

参照图1,本发明的硬件结构图为nvidiajetsontx1嵌入式开发板,它体积较小,功率也较小,性能相对于当前上市的开发板,在并行运算上强悍,作为本款机器人的中央控制器。主要负责把传感器传送回来的信号,包括电机编码器的每秒脉冲数,摄像头的图像信号,麦克风的声音信号,机器臂的舵机信号进行实时处理。并将处理后的结果如车速,机器臂的坐标等信息实时发出。

底盘控制器使用arduino,arduino用来控制车速。arduino读取电机编码器的脉冲数,并对其进行相应的处理,再通过串口发送给中央处理器。同时,它还将通过串口从中央处理器获取目标速度,并根据实际速度进行pid控制。

机器臂,用来抓取物体。首先,中央处理器先对摄像头获取的图像进行目标检测后,进行相应的处理。接着,中央处理器根据处理结果算出机器臂抓取的相应的坐标。然后中央处理器把坐标发给机器臂。然后机器臂根据相应的坐标,转动舵机到相应的角度。接着根据应用场景完成气泵抓放操作。

xtionprolive摄像头数据采集模块,放在车的最高处。当小车在移动时,摄像头将平视,用来获取道路前方的景象,并把相应的数据发给中央处理器进行处理。

当小车停止移动,且要完成抓取操作时,摄像头将45度向下,获取地面上的景象,并把相应的数据发给中央处理器进行处理。

带有编码盘的电机,用来控制小车的运动。

20ah12v锂电池,用来给电机,中央处理器,arduino,机器臂,以及其他元件供电。

扬声器与麦克风阵列。收发声音,用于人机交互。

机器人底盘和机器人车壳。用来固定各种器件,包括中央处理器,机器臂,arduino,小喇叭,摄像头,同时具有一定的观赏性。

参照图2,本发明的beltago服务机器人的整体系统框架为

bgcontroller模块:整个系统的主要控制模块,本机器人的核心控制中心。其负责接收来自gui以及摄像头的信息及数据,根据实际情况,向bgserial模块发布任务信息,从而使机器人实施工作。

bgobjreg模块:通过openni驱动xtion深度摄像头,获取rgb图像以及深度信息图像并发送给bgcontroller。同时将图像信息发送给darknet深度学习模块进程进行物体识别。

darknetyolo深度学习模块:机器人主要的智能视觉处理方案。现有的检测系统为了进行检测赋予分类和定位方法新用途。他们在多个位置和尺度把模型应用于这张图像。高得分区域的图像被认为是检测出的物体。我们使用一个完全不同的方法。我们把一个单一的神经网络应用于完整图像。图像被该网络分割成区域,并预测边界框和每个区域的概率。这些小的包围框以预测概率加权,最终合成完整大框。我们的模型有超越传统分类系统的几个优势。计算分成两步。它首先使用了rpn,rpn(regionproposalnetwork)的核心思想是使用卷积神经网络直接产生regionproposal,使用的方法本质上就是滑动窗口,就是先猜框在哪。然后接入到两个全连接层,即clslayer和reglayer分别用于分类和边框回归。clslayer包含2个元素,用于判别目标和非目标的估计概率。reglayer包含4个坐标元素(x,y,w,h),用于确定目标位置。cls:正样本,与真实区域重叠大于0.7,负样本,与真实区域重叠小于0.3。(reg:返回区域位置。)最后根据regionproposal得分高低,选取前300个regionproposal,作为fastr-cnn的输入进行目标检测,接下来就是一个普通的cnn分类问题,技术成熟。这也使得用一个单一的网络评价预测不像r-cnn需要给一张图像同时运算成千上万个参数。这使得它非常快,比r-cnn和快1000倍,比fastr-cnn更快100倍。

通俗地解释,通过将采集的视频流载入到我们预先搭建好的程序框架中,经过数万参数的自主运算,我们将提取到该图片的特征,将图片分成几个块,经过最后一层softmax计算,确定各个模块是该类别的概率,选择最大概率的图块,进行扩展区域识别,大大提高了检测效率,分类完成后,再次运行另一个分类器,输出结果为(x,y,w,h)四类,即可确定闭合框位置。然后标记出我们感兴趣的物体。并且能够通过更换参数文件,实现了多种物体的识别,具有极强的通用性以及可扩展性。

bggui模块1:此模块作为与用户交互部分。其上具有开机按键,能够一键开启机器人系统。还有一系列控制按键方便用户使用。

bggui模块2:该模块与上个模块代码高度耦合,集成了语音识别、语音转文字功能以及语义理解功能,以上三个功能为人工智能下自然语言处理(nlp)方向,这使得我们的beltago更智能机器人能够跟用户使用语音交流,用户可以使用语音控制机器人。

bgserial模块:此模块下包含bgcarserial和bgarmserial,作为主控制板专门与底盘和机械臂通信的接口,与底盘和机械臂接收与发送控制信息。

参照图3,本发明利用上述系统进行跟踪工作流程步骤如下:

步骤1,识别跟踪对象

首先,系统开启各项进程(即上述各个模块的程序开始运行),然后打开麦克风,接收到任何人声后,主机处理,若从中找到“跟踪”类似含义的命令,机器人会进入跟踪状态,摄像头调整至水平状态,以便跟踪工作。获取到图像后,卷积神经网络将会识别出需要跟踪的对象,并将其在图像中的对应位置进行发布。

步骤2,跟踪对象匹配深度图,获知与对象距离

通过步骤1能够获知所需跟踪对象在图中的位置,然后根据从图像采集装置得到的深度图像进行匹配,能够大致得到机器人与跟踪对象之间的距离。

步骤3,根据对象位置确定移动方式

通过步骤1,获知跟踪对象在图中的位置,计算出对象的中心点在图中的位置。根据近大远小的常理,并且根据步骤2中获知的距离,计算转向的阈值。阈值随对象距离变化而变化。当对象中心超出阈值范围,机器人执行左右转动,直到对象位于机器人正前方。

步骤4,根据对象距离确定移动速度

通过步骤3使机器人正对对象,然后根据对象距离,进行变速运动。较远时,机器人加速前进;较近时,机器人减速前进。速度与距离呈负相关。

步骤5,确认是否到达指定距离

当检测到距离达到指定距离后,机器人停止移动,原地等待直到对象状态发生变化,继续执行步骤1继续跟踪。

参照图4,本发明利用上述系统进行识别抓取工作,包括以下步骤:

步骤1,识别物体

首先,系统开启各项进程(即上述各个模块的程序开始运行),然后打开麦克风,接收到任何人声后,主机处理,若从中找到“识别抓取”类似含义的命令,当接收到抓取指令后,机器人会进入抓取状态,摄像头调整至朝下45度状态,以便识别放在地面上的物体。获取到图像后,20层卷积神经网络将会在gpu上以飞秒级别运算,大约0.07秒后,识别出需抓取的对象,并将其在图像中的对应像素位置进行发布到系统中。

步骤2,抓取坐标映射

通过步骤1获取到抓取对象在rgb三通道图像中的坐标后,结合深度图中距离信息,将对象的坐标根逻辑回归模型计算,映射到机械臂对应的三维笛卡尔坐标系中。

步骤3,抓取点检测

因为机械臂抓取范围有一定限制,所以在步骤2得到映射后的抓取坐标后,另一个检测程序进行抓取坐标检测,判断该坐标是否在合理可行集合中。若超出范围,执行步骤4;若可以执行步骤5.

步骤4,调整机器人位置

根据物体位置,以及抓取坐标,使用k最近邻(knn)算法得到机器人调整位置的初步策略。第一次策略包括向前、向后、向左、向右移动四种,移动以后执行步骤1,重新进行抓取工作。

步骤5,实施抓取

根据抓取坐标,机械臂移动到相应位置,下压吸嘴,打开气泵,进行低压抓取。抓取完成以后,机械臂带着物体回到机械臂初始位置。一次抓取任务圆满结束。

本发明对于跟踪对象和抓取物体具有一定的通用性。只要提供相应的数据,即可实现对于不同对象进行跟踪和不同物体进行抓取。

本发明在linux-arm嵌入式平台下运行,功耗,体积相对于其他平台更小,具有可移动的优势,对其它智能机器人的发明有一定借鉴意义。

本发明采用的图像理解——目标检测算法,与传统手工特征提取的方式完全不同。不仅在运行速度上远远超过其它dnn(深层神经网络)目标检测算法(除sdd外),具有较强的实时性,而且拥有当前环境下0.95左右的置信度。此外,该算法纯c编码,具有良好的可移植性。最关键的是,检测准确度极高。

本发明采用的软件架构是基于ros机器人操作的。其在处理进程时,耦合性较弱,当一部分进程因意外而终止时,其余进程不受影响,从而大大提高了整个系统的鲁棒性和稳定性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1