基于神经网络的多任务学习机器人

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于神经网络的多任务学习机器人

目前绝大多数智能机器人具有较高的鲁棒性,但其基于具体行为的实现方法都需要程序员对相应的任务进行手工编程。然而,环境是复杂多样的,而要使得机器人能够在多种环境下进行任务,需要程序员将各种情况考虑在内,这样的系统对环境并不具有适应性,让机器人的应用受到了局限。基于此,提出的自主学习机器人以类人形机器人为基本模型,以神经网络为基础,通过人体对机器人进行示范,训练一个能识别人关节姿态的完备的神经网络。当机器人身处不同环境执行任务时,能够做出适应环境变化的动作。为此所设计的学习机器人系统的特色就在于使用神经网络具有学习能力,提高机器人对环境的适应能力,从而让任务执行更加灵活,使得机器人拥有更广阔的应用前景。

标签:自主学习;神经网络;姿態识别;机器人

doi:10.19311/ki.16723198.2017.01.092

1引言

1.1机器人在现代社会中的重要性

随着城乡居民消费结构的持续升级,以及智慧中国战略的不断推进,智能机器人在家庭、农业、工业等生活的方方面面都有着极其广泛的应用。随着社会的不断发展,社会分工越来越细,与此同时工作也变得越来越单调。另外,社会上有些工作风险较高,若让人去做,不仅效率不高,而且更会产生生命危险。在这样高风险的作业领域,对机器人的需求越来越高。在这一背景下,各种各样的机器人被研制了出来,用它们代替人来完成枯燥、单调、高风险的工作。这极大的提高了劳动生产率和生产质量,创造出了更多的社会财富。

同时,社会服务也对机器人产生了大量的需求。从公共服务方面来说,目前我国老龄人口已超过总人口的10%,人口老龄化问题已成为中国需要面临的重大课题。此外,我国残疾人口占总人口的比重也位居世界较高国家之列。机器人的运用,可以为他们提供大量的护理服务,提高他们的生活质量。在医疗服务方面机器人也有很大的优势,手术机器人凭借其操作的精度及可长期工作等特性广泛应用于手术操作中。总而言之,机器人已成为我们的社会不可取代的一部分。

1.2当前机器人领域的现状及弊端

目前机器人正处于快速发展的阶段,但目前市场上的机器人仍存在着许多弊端。传统机器人需要设计者针对具体的任务进行手工编程,为了使机器人在环境改变时也能完成任务,设计者就需要尽量将各种情况考虑在内。但是这样的机器人存在一些问题:一方面程序员无法穷尽所有的可能情况,另一方面环境的复杂性也无形中加大了机器人可能出故障的概率,这使得机器人缺乏良好的环境自适应能力,给机器人的广泛应用带来了很大的限制。

基于无法动态适应具体任务目标这个问题,市场上出现了很多自主学习的机器人,比如有些作品使用了强化学习的算法,这种算法通过进行试错来寻求最优行动策略,从而有效解决了基于行为控制的机器人缺乏对动态环境适应能力这一问题。但同时这些该作品也存在出现了一些弊端。这一技术需要执行一些分层检索及优化的工作,因为机器人需要进行大量重复性实验来获得最优解,而任务变得复杂时该技术的性能就会变得很差,提高了学习的难度。

基于目前机器人存在的限制与不足,本文提出了基于神经网络的学习方法,使机器人环境适应能力提高。

2多任务学习机器人介绍

2.1机械结构

本文所设计的多任务学习机器人的机械结构主要由摄像头和仿生机械臂组成。为了使机器人能执行与人类一样非常细腻的动作,并能在某些应用中代替人,本文设计的机械臂拥有与人相似的机械结构。

如图1所示,该机械臂具有着与人体骨骼结构相似的关节,通过这些关节,机械臂可以完成人手臂的旋转、升降等动作。为了方便控制机械臂的运动状态,每一个关节都有相应的姿态参数。而根据不同关节的灵活程度不同,对应的参数数量也会存在差异。当机械手模仿人体动作时,可以通过设定对应机械手关节的姿态参数来完成,这样,人体的姿态与机械手关节的姿态参数之间就存在着一一对应的关系。我们所搭建的神经网络的目的,就是为了找到这样的对应关系,为机器人学习人的动作奠定基础。本文设计中的摄像头主要用于捕捉人体手臂姿态,并对采集到的视频流中的手臂姿态进行学习。通过将摄像头固定到一定位置,作为机器人的“眼睛”,机器人便可将人的动作记录下来,转化为视频信息。高速摄像头将人的连贯动作存储成一帧帧的图片,作为神经网络训练的原始输入信息。

2.2神经网络

人工神经网络,是人们利用仿生学观点,模拟人脑的结构及智能行为所构建的网络,它能模拟生物神经系统对真实世界做出交互反应。神经元的基本模型也叫“M-P神经元模型”。该模型中,神经元接收来自n个神经元的信号(x1,x2,…),通过带权重(w1,w2,…)的连接传递,将获得的总输入值与阈值q比较,通过激活函数f(x)最终得到该单元的输入y。

y=f(∑ni=1wixi-θ)

神经网络就是一个个这样的网络单元按一定的结构次序排列而成的。两层神经元形成的网络可以容易地实现与、或、非这样的基本逻辑运算,多层神经网络可以处理更加复杂的运算。神经网络的学习过程,就是根据获得的训练数据对自

身的权重和阈值进行一定的调整,使神经网络输出的值与我们所给的输出值相差达到最小的过程。

为了达到这样的学习过程,就需要合适的算法。误差逆传播算法(简称“BP 算法”)是目前最成功的算法之一。在训练开始时,随机产生权重值wi,输入训练集(xi,yi)和学习率η,神经网络根据对应权重和输入值计算出输出y,。BP 算法以y与y之间差值的差值作为反馈,调整各个神经元的阈值和权重,进而更新神经网络,使网络的误差减小。其中,学习率η起着“控制神经网络学习速度”的作用,若学习率过小,神经网络变化相对迟缓,影响学习效率;而若学习率过大,则容易陷入局部最优解,影响最终结果。因此,给予足够的训练数据和适宜的学习率,神经网络就会快速调整到稳定而准确的状态。利用神经网络,我们可以对摄像机获得的人体手臂各个关节的姿势进行学习,所获得的神经网络便表征了人体姿态与机械臂关节参数的映射关系。

2.3学习机器人原理

本文所用神经网络的作用是将输入的动作信息转化为机器人的姿态参数,以神经网络作为核心算法,机器人就可以在一定的学习训练后,具备识别人体关节姿态的能力,从而使机器人做出与人体输入动作一致的动作,具体的学习过程如下:

为了获得比较完备的训练数据,选择尽可能多的人采集手臂各关节姿态数据,提高神经网络的鲁棒性;使人体位于摄像头采集姿态的最佳角度,做各种各样的动作,以覆盖尽可能多的关节姿态参数范围;针对高速摄像头采集获得的图像数据的某一帧,手工采用测量工具标定该图像中人体每个关节的角度数据,以这些图像数据和标定获得的角度数据作为训练原始数据。

以采集的数据作为神经网络的输入,选择一定的学习速率,采用误差逆传播(BP)算法,完成训练后,得到一个能够根据图像数据输出关节姿态参数的神经网络。神经网络训练完毕之后,为了检测其准确性,需要对其进行测试。测试过程与实际使用过程类似。测试方法如下:使用摄像头采集人体手臂的几组图像数据,将这几组图像数据分别作为神经网络的输入,观察神经网络能否正确输出与人体手臂关节相对应的角度数据。如果机器人的动作有较大的偏差,则证明训练失败,需要重新检查训练数据,对摄像头捕捉关节的位置进行调整,或提高摄像头的性能,以便使摄像头获得更精确的信息。另外,根据神经网络测试的结果,适当调节神经网络模型学习过程中的参数如学习速率,样本容量等。

神经网络训练与测试完毕后,我们就获得了一个输入为一系列包含手臂各个关节的图像数据、能够识别人体关节各个姿态,并输出各个关节姿态角度的神经网络。利用这个训练并测试完成的神经網络,多任务学习机器人即可以根据人演示的动作,准确地模仿人的姿态,完成特定的任务,具体过程如下:

(1)针对某一环境下的任务要求,人体做任务动作,摄像头捕捉这个过程中的图像信息。

相关文档
最新文档