CN111587408B - 机器人导航和对象跟踪 - Google Patents
机器人导航和对象跟踪 Download PDFInfo
- Publication number
- CN111587408B CN111587408B CN201980008280.1A CN201980008280A CN111587408B CN 111587408 B CN111587408 B CN 111587408B CN 201980008280 A CN201980008280 A CN 201980008280A CN 111587408 B CN111587408 B CN 111587408B
- Authority
- CN
- China
- Prior art keywords
- robot
- tracking
- network
- drl
- reward
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 116
- 230000009471 action Effects 0.000 claims abstract description 80
- 230000006870 function Effects 0.000 claims abstract description 70
- 238000012549 training Methods 0.000 claims abstract description 57
- 230000033001 locomotion Effects 0.000 claims abstract description 39
- 230000004044 response Effects 0.000 claims abstract description 16
- 230000002787 reinforcement Effects 0.000 claims abstract description 14
- 230000001953 sensory effect Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 25
- 238000005259 measurement Methods 0.000 claims description 14
- 230000007774 longterm Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 7
- 230000006698 induction Effects 0.000 claims description 7
- 230000005055 memory storage Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 description 32
- 238000012545 processing Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 18
- 210000002569 neuron Anatomy 0.000 description 17
- 238000003860 storage Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 210000002364 input neuron Anatomy 0.000 description 4
- 230000004807 localization Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 210000004205 output neuron Anatomy 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 210000000225 synapse Anatomy 0.000 description 3
- 230000000946 synaptic effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000036992 cognitive tasks Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001976 improved effect Effects 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- 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/0094—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots involving pointing a payload, e.g. camera, weapon, sensor, towards a fixed or moving target
-
- 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
- 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/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- 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/10—Simultaneous control of position or course in three dimensions
- G05D1/101—Simultaneous control of position or course in three dimensions specially adapted for aircraft
- G05D1/106—Change initiated in response to external conditions, e.g. avoidance of elevated terrain or of no-fly zones
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D3/00—Control of position or direction
- G05D3/12—Control of position or direction using feedback
- G05D3/20—Control of position or direction using feedback using a digital comparing device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
一种跟踪对象和导航对象跟踪机器人的系统和方法,包括:多次接收代表所述对象和环境的跟踪传感器输入;响应于所述跟踪传感器输入,多次计算所述机器人和所述对象的位置;使用被训练为跟踪质量奖励和机器人导航路径质量奖励的函数的由计算机实现的深度强化学习(deep reinforcement learning,简称DRL)网络,所述DRL网络多次响应于计算出的所述机器人和所述对象的位置以根据所述机器人的当前位置和目标,确定规定所述对象跟踪机器人的运动的可能动作;确定所述可能动作的质量值(quality value,简称Q‑value);选择一个动作作为所述质量值的函数。训练所述DRL网络的方法也包括在内。
Description
相关申请案交叉申请
本申请要求于2018年1月12号递交的发明名称为“机器人导航和对象跟踪”的第15/870,626号美国非临时专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文。
技术领域
本发明涉及机器人导航和对象跟踪。
背景技术
对于家庭服务机器人而言,跟踪运动的对象是一项重要的功能。例如,机器人可跟随主人以提供必要的辅助,或机器人可出于家庭安全原因跟随可疑人员。
几十年来,在该领域,人们一直在积极研究对视频中对象的跟踪,例如,跟踪监控视频中的车辆来进行交通监控,或跟踪监控视频中的人来进行安全监控。在这些先前的研究中,所用的摄像机或位置固定,或被动式移动。也就是说,摄像机运动并非由对象跟踪方法所控。例如,在监控视频中,摄像机通常是固定的,视频中出现的摄像机运动大多是来自各种原因所致的摄像机晃动。
家庭服务机器人跟踪运动对象与上述视频中的对象跟踪任务大相径庭。所述机器人是运动的平台,需要在动态的环境中进行导航。即,除跟踪目标对象外,所述机器人还能自主决定:如何移动以跟踪所述运动对象;同时,如何在已知或未知环境中进行导航;以及,如何在所述环境中避开其他障碍物(例如其他运动或静止的对象)。
即时定位与地图构建(simultaneous localization and mapping,简称SLAM)技术使得机器人能在已知或未知的环境中进行导航。通过SLAM技术,所述机器人建立并维持已知或未知环境的2D/3D地图,同时,在所述建立的环境地图中定位自身(判断自身的位置)。其他技术,例如强化学习(reinforcement learning,简称RL),也被用于帮助机器人在预先建立的环境地图中进行导航和躲避障碍物。所述地图中存在动态的小型变化组件,例如静态障碍物或运动障碍物。
发明内容
现描述各种示例从而以简化的形式引入概念的选择,这些概念将在下面进行进一步的细致描述。本发明内容的目的不在于识别权利要求书保护的主题的关键或必要特征,也不在于限制权利要求书保护的主题的范围。
根据本发明的一方面,一种跟踪对象和导航对象跟踪机器人的方法包括:多次接收代表所述对象和环境的跟踪传感器输入;响应于所述跟踪传感器输入,多次计算所述机器人和所述对象的位置;使用被训练为跟踪质量奖励和机器人导航路径质量奖励的函数的由计算机实现的深度强化学习(deep reinforcement learning,简称DRL)网络,所述DRL网络多次响应于计算出的所述机器人和所述对象的位置以根据所述机器人的当前位置和目标,确定规定所述对象跟踪机器人的运动的可能动作;确定所述可能动作的质量值(quality value,简称Q-value);选择一个动作作为所述Q值的函数。
可选地,在上述任意一方面中,所述方面的另一实现方式包括所述跟踪质量奖励函数是所述观察到的对象的大小除以所述对象的大小和所述对象跟踪机器人与所述对象之间的距离的函数。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:所述跟踪质量奖励rk依据以下等式计算:
其中,Size(object)和Size(observed)就像素数量而言分别是所述对象的大小和所述对象实际被观察到的部分的大小,Ctx和Cty分别为输入感应帧It中理想的横向位置和纵向位置,Ltx和Lty均为归一化因子,xt0和yt0是所述对象的位置,Dist是到所述对象的距离测量结果。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:将所述机器人导航路径质量奖励rp定义为所述对象与所述机器人之间的最短有效距离的函数。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:所述DRL网络还被训练为可遍历性质量奖励rv的函数,针对规定所述对象跟踪机器人的运动的可能动作的集合。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:将所述可遍历性质量奖励rv定义为所述对象跟踪机器人与潜在障碍物之间的平均距离的函数。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:所述机器人和对象位于地图表示的所述环境中,所述可遍历性质量奖励其中Dist是所述机器人和障碍物之间的距离测量结果,Tm∈Ω是地图上点的集合,表示障碍物或墙的表面,且在到Tt+1的距离阈值内。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:加权所述质量奖励。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:所述感应输入包括RGB图像帧像素,所述方法还包括通过将过去时间窗口中的多个输入感应图像帧的像素堆叠在一起以创建感应输入,所述DRL网络使用所述感应输入来估计奖励并确定动作。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:所述DRL网络包括遗忘因子,以加权长期奖励与短期奖励。
根据本发明的一方面,一种训练深度强化学习(deep reinforcement learning,简称DRL)网络以在环境中跟踪对象和导航机器人的方法包括:多次接收代表所述对象和所述环境的跟踪传感器输入;响应于所述跟踪传感器输入,多次计算所述机器人和所述对象的位置;多次计算跟踪质量奖励,作为维持持续对象跟踪的函数;计算导航路径质量奖励,作为有效导航路径的函数;通过移动机器人的多个动作,训练响应于所述跟踪质量奖励和所述导航路径质量奖励的DRL网络。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:所述跟踪质量奖励函数是所述观察到的对象的大小除以所述对象的大小和所述机器人到所述对象之间的距离的函数。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:所述DRL网络还响应于:针对规定所述对象跟踪机器人的运动的可能动作集合,估计可遍历性质量奖励rv;通过所述DRL网络确定所述动作,所述DRL网络也被训练为所述可遍历性质量奖励rv的函数。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:所述机器人和对象位于地图表示的所述环境中,所述可遍历性质量奖励其中Dist是所述机器人和障碍物之间的距离测量结果, Tm∈Ω是地图上点的集合,表示障碍物或墙的表面,且在到Tt+1的距离阈值内。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:所述感应输入包括RGB图像帧像素,所述方法还包括通过将过去时间窗口中的多个输入感应图像帧的像素堆叠在一起以创建感应输入,所述DRL网络使用所述感应输入来估计奖励并确定动作。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:计算目标损失;将所述DRL网络更新为所述目标损失的函数。
根据本发明的一方面,一种用于跟踪对象和导航对象跟踪机器人的系统包括:内存存储器,包括指令;与所述内存通信的处理器,其中,所述处理器执行所述指令以:多次获取代表所述对象和环境的跟踪传感器输入;响应于所述跟踪传感器输入,多次计算所述机器人和所述对象的位置;使用被训练为对象跟踪质量奖励和机器人导航路径质量奖励的函数的深度强化学习(deep reinforcement learning,简称DRL)网络以:多次计算所述机器人和所述对象的位置;通过所述DRL网络,确定规定所述对象跟踪机器人的运动的动作。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:所述处理器还执行所述指令以根据所述动作移动所述机器人。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:所述系统还包括机器人,所述内存存储器和所述处理器集成至所述机器人中。
可选地,在上述任意一方面中,所述方面的另一实现方式包括:所述DRL网络已被训练为可遍历性奖励的其它函数。
在不脱离本发明范围的前提下,任何一个前述示例都可以与任何一个或多个其它前述示例结合以创建新的实施例。
附图说明
图1是示例实施例提供的一种包括移动机器人、待跟踪对象和一个或多个障碍物的环境的透视框图;
图2A是示例实施例提供的一种用于导航和跟踪系统的示例神经网络的流程框图;
图2B是示例实施例提供的一种导航和跟踪系统DRL网络的训练阶段的流程框图;
图3是示例实施例提供的一种摄像机定位方法的流程图;
图4是示例实施例提供的另一种摄像机定位方法的流程图;
图5是示例实施例提供的一种计算三维点描述符的方法的流程图
图6是示例实施例提供的一种确定目标对象3DOF位置的方法的流程图;
图7是示例实施例提供的一种根据多个感应帧随时间生成感应输入的方法的流程图;
图8是示例实施例提供的一种计算对应于DRL网络中导航和对象跟踪的多个奖励的方法的流程图;
图9是示例实施例提供的一种用训练后的DRL网络确定机器人动作的方法的流程图;
图10是示例实施例提供的一种用重播内存更新DRL网络的方法的流程图;
图11是示例实施例提供的用训练后的DRL网络同时进行机器人导航和对象跟踪的流程框图;
图12是示例实施例提供的一种训练机器人以跟踪目标对象并在仍确保能够跟踪所述目标对象时导航避开障碍物的方法的流程图;
图13是示例实施例提供的一种训练深度强化学习(deep reinforcementlearning,简称DRL)网络以在环境中跟踪对象和导航机器人的方法的流程图;
图14是示例实施例提供的用于实现方法和算法的处理资源的框图。
具体实施方式
以下结合附图进行详细描述,所述附图是描述的一部分,并通过图解说明的方式示出可以实施本发明的具体实施例。这些实施例将进行充分且详细的描述使本领域技术人员能够实施本发明。应该明白的是:可以使用其它实施例并且在不脱离本发明的范围的情况下可以做出结构上、逻辑上、电学上的改变。因此,以下描述的示例性实施例并不当作限定,本发明的范围由所附权利要求书界定。
在一实施例中,本文描述的函数或算法可以采用软件实现。该软件可以包括计算机可执行指令,这些计算机可执行指令存储在计算机可读介质上或者计算机可读存储设备上,如一个或多个非瞬时性存储器或其它类型的本地或联网的基于硬件的存储设备。此外,这些函数对应模块,这些模块可以是软件、硬件、固件或其任意组合。多个函数可根据需要在一个或多个模块中执行,所描述的实施例仅为示例。该软件可在数字信号处理器、 ASIC、微处理器上执行或者在个人计算机、服务器、或其它计算机系统等计算机系统上操作的其他类型的处理器上执行,从而将这些计算机系统转换成一个专门编程的机器。
在环境中跟踪对象的机器人已用许多不同的技术在所述环境内导航。然而,这些技术可能导致所述机器人向所述对象或所跟踪的对象不可见的位置移动。例如,当所述机器人需要避开所述环境中的障碍物时,上述情况可能发生。所述障碍物也可以是动态的,这进一步加大了导航的复杂度,增加了所述机器人向所述对象不可见的位置移动的机会,以致跟踪所述对象失败。
针对视频中的对象跟踪,强化学习(reinforcement learning,简称RL)被用于促进线上多对象跟踪,以作出对象关联事项的决策。RL基本上是学习的一种类型,其中,作出决策并评估所述决策,对所述决策给与奖励。所述奖励可基于决策的质量进行修改。单独的RL网络也被用于机器人导航,导航决策所得的奖励也基于所述导航决策的质量。
在本主题的各种实施例中,合并的对象跟踪和导航系统基于奖励进行训练,所述奖励与对象跟踪决策和导航决策都相关。所述系统可被称为深度强化学习(deepreinforcement learning,简称DRL)网络。所述DRL网络促进即时定位与地图构建(simultaneous localization and mapping,简称SLAM)和运动对象的跟踪。训练可在模拟环境中进行以加快训练。在模拟或虚拟环境中的训练速度会快过在现实世界环境中的训练速度,因为在所述虚拟环境中,因为移动是以计算机处理的速度进行,无需等待所述机器人和/或所述被跟踪对象进行物理上的移动。
在一个实施例中,在训练阶段时三种类型的奖励函数可被用于DRL网络的学习:路径质量奖励促进有效的导航路径;跟踪质量奖励促进持续的对象跟踪;可遍历性奖励促进避开动态的障碍物。需要注意的是,当动态障碍物极小或可被忽略时,所述DRL 网络可在所述路径质量奖励和所述跟踪质量奖励方面接受充分的训练,无需用到所述可遍历性奖励。
训练可以通过各种静态和动态的真实和虚拟的环境中的大量跟踪和导航的示例进行。利用所述DRL网络或系统的机器人能在新的动态环境中有效同时执行导航和对象跟踪。所述机器人通过使用训练后的DRL网络,选择有效的导航路径以避开障碍物、保持所述目标对象在视线范围内、持续跟踪所述目标对象以及避开动态障碍物。
图1是包括移动机器人110的环境100的透视框图。所述移动机器人110包括传感器115如摄像机、一个或多个障碍物120、125、130以及对象135。标有X、Y、Z 的线用来表示所述环境100,本质上可以是三维环境且对应于三维空间的笛卡尔坐标系。标有Z的线可以可视化为从X、Y两条线上向上延伸,可以可视化为以直角在视面上延伸,例如打印时的纸或显示屏。所述机器人110可包括实施所述对象跟踪和导航系统的电路,以控制所述机器人进行导航,如所述环境中的箭头140所示,同时,避开障碍物且始终能够跟踪所述对象135。所述对象135也可以如箭头145所示般运动。箭头140和箭头145 仅旨在表示运动的能力,并不表示所述机器人110和所述对象135的实际运动方向。在一些实施例中,障碍物也可以运动。这种障碍物可以称为动态障碍物。所述机器人可在X-Y 平面上运动,或在直升机型无人机的情况下,可三维地运动。
所述对象跟踪和导航系统利用了人工智能(artificial intelligence,简称AI)模块,用于接收所述机器人和所述对象的位置信息以及奖励函数的数据。图2A提供了有关神经网络的背景信息,以帮助理解各实施例中的操作。图2B提供了如何通过将感应的所述机器人和对象的位置和奖励作为输入来训练模块(图2B中的270)的视图。图11示出了位置是如何用作人工智能模块(图11中的1110)的输入,以及所述模块如何适应整个跟踪和导航系统,并生成所述机器人的动作。
人工智能(artificial intelligence,简称AI)这一领域涉及开发决策系统以执行认知任务。认知任务传统上需由生命体执行,例如人。人工神经网络(artificial neuralnetwork,简称ANN)是松散建模于生物神经元上的计算结构。通常,ANN通过在节点(如神经元)间的加权连接(如突触)来编码信息(数据或决策制定)。现代ANN是许多AI 应用的基础,例如自动感知(如计算机视觉、语音识别和情景感知等)、自动认知(如决策、物流、路由和供应链优化等)、自动控制(如自动驾驶的汽车、无人机和机器人等) 以及其他应用。
许多ANN由对应于建模的连接的权重的矩阵表示。输入神经元通常有许多通往其他神经元的出连接,ANN通过把数据接收进所述输入神经元的集合进行操作。在神经元间的每次遍历,对应的权重修改所述输入,并利用目的神经元的阈值测试所述对应的权重。如果所述权重值超过所述阈值,再次加权所述值,或将其用非线性函数转换,再传输到所述ANN图表更下方的其它神经元——如果没有超过所述阈值,通常所述值不会传输到位于图表下方的神经元,突触连接保持非活跃。加权和测试的过程一直进行到抵达输出神经元,所述输出神经元的模式和值构成所述ANN的处理结果。
大多ANN的正确操作依赖于正确的权重。然而,ANN设计师通常不知道何种权重对给定的应用有效。相反,训练过程用来得出恰当的权重。ANN设计师一般会选择一定数量的神经元层或包括循环连接的神经元层之间的特定连接。然而,ANN设计师通常不知道何种权重对给定的应用有效。相反,训练过程通常通过选择初始权重进行,所述初始权重可被随机选择。输入训练数据至所述ANN,将结果与提供误差指示的目标函数进行对比。所述误差指示用以衡量与期望结果相比,ANN结果的错误程度。进而用所述误差纠正所述权重。经许多次迭代后,所述权重会集体收敛以将所述操作数据编码进所述 ANN。此过程可被叫做目标函数(如成本或损失函数)的优化,从而最小化所述成本或损失。
梯度下降技术通常用于执行所述目标函数优化。相对于层参数(如权重方面) 来计算梯度(如偏导数)以提供修正方向以及可能的程度,但不直接生成单一的修正结果来将所述权重设为“正确”值。即,通过若干次迭代,所述权重会向移向“正确”或操作上有用的值。在一些实施方式中,运动的数量或步长是固定的(如迭代之间是相同的)。步长小收敛时间长,但步长大可能在所述正确值附近震荡,或表现出其他不良行为。可变步长可避免大步长的缺陷,可以尝试用来提供更快的收敛。
通过反向传播技术,训练数据通过所述ANN向前传输——这里的“向前”指所述数据从输入神经元开始,跟随神经元连接的有向图,直到到达所述输出神经元——所述目标函数通过所述ANN反向应用于修正所述突触权重。在反向传播过程中的每一步,前一步的结果都用来修正权重。因此,所述输出神经元修正的结果应用于与所述输出神经元所连接的神经元等等,直到到达所述输入神经元。反向传播已成为训练各种ANN的普及技术。可使用实现反向传播的任意知名优化算法,例如SGD、Adam等等。
图2A是根据一实施例的包括神经网络训练系统的示例环境的框图。所述系统包括ANN 87,所述ANN 87采用处理节点88进行训练。所述ANN 87可实现为模块,和组合的奖励函数共同使用。示例模块包括卷积神经网络(convolutional neural network,简称CNN)和其他类型的网络,例如ResNet、一种使用残差函数的网络,还有其他类型的适于使用奖励函数的网络。在各种实施例中,这种神经网络可由一层或多层神经元或突触构成。层的数量可取决于所选网络的类型。例如,ResNet可以有50层,而其他网络可以从几层到上千层。可能用到的其他CNN结构包括但不限于VGG、Inception和Exception。
处理节点88可为CPU、GPU、现场可编程门阵列(field programmable gate array,简称FPGA)、数字信号处理器(digital signal processor,简称DSP)、专用集成电路(application specific integrated circuit,简称ASIC)或其他处理电路。
例如,多个处理节点可被用于训练所述ANN 87的不同层,甚至是层内的不同节点89。因此,一个处理节点88的集合被用于训练所述ANN87。所述处理节点88的集合用于接收所述ANN 87的训练集90。所述ANN 87包括按层排布的节点89(图示为节点89的行)的集合和在节点集合的节点间的节点间权重91(例如,参数)的集合。例如,所述训练集90是完整训练集的子集。这里,所述子集可使存储资源有限的处理节点参与训练所述ANN 87。
所述训练数据可包括代表一个域的多个数值,如,红、绿和蓝像素值、图像或音高的强度值,以及语音识别的离散时间的音量值。将所述训练的每个值或ANN 87训练后需要进行分类的输入92提供给第一层对应的节点89或ANN 87的输入层。所述值通过所述层传播,由所述目标函数更改。
如上所述,所述处理节点的集合用于训练所述神经网络以创建训练好的神经网络。一旦训练好后,输入到所述ANN的数据会生成有效分类93(例如,所述输入数据92 会分配到类别中)。所述处理节点89的集合执行的迭代的训练。例如,训练所述神经网络的每次迭代都在所述ANN 87的层之间独立进行。因此,所述处理节点集合中的不同节点可以并行处理两个不同的层。例如,所述ANN 87的不同层在不同硬件上接受训练。
所述ANN87可依据一个或多个机器学习算法,计算一个或多个神经或突触的权重91作为标准。训练过程中,表示所述机器人过去动作的历史动作信息可被标注,指示作出的决策最终是否成功,在这种情况下,给予奖励。因此,基于机器人导航和跟踪所述对象的能力的奖励是用来更新所述网络权重91。注意,在不同的网络中,初始权重可被预先设定。在其它网络中,初始权重可被随机设定。在一个实施例中,模块或处理器执行计算机指令以实现所述神经网络学习操作,所述模块或处理器用突触权重修改源神经元的输出以确定所述源神经元对激活目的神经元的贡献。实际上,在本实施例中,单一修改值集成至所述目的神经元中,以响应所述源神经元的激活。
图2B是所述DRL网络的导航和跟踪系统200的训练阶段的流程框图。训练阶段通过三个虚线框202、204和206示出,分别对应于执行SLAM与导航202的组件、执行目标对象检测204的组件和执行DRL206的组件。所述训练阶段也包括若干处理模块以执行图2B的描述中用不同数字标明的流程图来描述的方法。
所述训练阶段包括输入感应帧Ii,在210处示出,所述Ii可为由像素视频帧构成的数据,所述像素视频帧由机器人连接的摄像机捕获。在一个实施例中,视频帧可由所述传感器115捕获,所述传感器115可以是以每秒30帧为标准运行的摄像机。每一帧可被称为一个时间窗,通过每给t增值1指定连续帧。其他帧率或时间增量可用于各种实施例中。所述时间增量不需要与所述帧率一一对应。
在215处,显示感应输入帧Xt。感应输入Xi是把过去时窗的多个输入感应帧 Xt的部分像素堆叠在一起生成的三维数据立方。下面进一步详细介绍了所述感应输入Xi。
在训练阶段,所述系统200从所述传感器115获取t时刻的感应帧It 210作为输入。在一个实施例中,所述传感器115可以是RGB(红、绿、蓝)摄像机、RGBD(RGB 消歧)传感器,或由移动机器人支持的深度传感器。在所述传感器115为RGB摄像机的情况下,所述输入感应帧It 210为RGB图像,It中位置(xt,yt)处的每个像素都有三个像素值,r(xt,yt)、g(xt,yt)和b(xt,yt),三个像素值分别对应于R、G、B三个通道。在所述传感器115为RGBD传感器115的情况下,例如微软的传感器,所述输入感应帧It 210为RGBD图像,位置(xt,yt)处的每个像素不止有分别对应于R、G、B通道的所述三个像素值——r(xt,yt)、g(xt,yt)和b(xt,yt),还有深度值d(xt,yt)。在所述传感器115为深度传感器115的情况下,如激光测距传感器,所述输入感应帧It 210为深度图像,位置(xt,yt)处的每个像素都有深度值d(xt,yt)。
所述系统200基于所述输入感应帧It 210在摄像机定位模块225的2D或3D 环境地图220中确定6自由度(six degree-of-dreedom,简称6DoF)的摄像机姿态和位置。所述地图220可在地图更新模块230中更新。6DoF的摄像机姿态和位置包括在上述3D 环境地图的时间戳t的摄像机旋转Rtc和摄像机平移Ttc。针对所述2D地图,所述摄像机的姿态和位置在地图平面上减少为4DoF的旋转和平移。
所述摄像机定位模块225可以使用多种不同的方法来计算所述摄像机的位置。例如,在2D地图中,可以使用基于粒子滤波的方法,如G.Grisetti等人发表在2007年的《IEEE机器人学汇刊》23:34–46的文章《通过Rao-Blackwellized粒子滤波器进行栅格地图构建的改进技术》中所描述的方法,其基于输入帧It-1、It和所述历史摄像机位置It-1和姿态Rt-1计算4DoF摄像机位置Tt和姿态Rt。
在3D地图中,当使用RGB图像时,摄像机定位模块225可执行图3中用流程图指示的摄像机定位方法300,以定位所述摄像机。方法300在操作310提取出显著特征点,如帧It-1中的角点,然后在操作320中的帧It中跟踪这些特征点,例如通过匹配至从帧It中计算出的显著特征点。基于在所述两个帧中所跟踪的特征点集合,以及所述3D 地图中所述机器人系统的历史摄像机姿态Rt-1和位置Tt-1,在操作330中可计算所述6DoF 摄像机位置Tt和姿态Rt,例如,G·Klein和D·Murray发表在2009年关于混合和增强现实的国际研讨会会议论文集的作品《摄像头手机上的平行跟踪和地图构建》中所描述的方法。
在某些情况下,上述的摄像机定位方法不足以正确地跟踪帧It-1和帧It之间的特征,而且计算出的摄像机位置可能不稳定。在这种情况下,可以使用额外步骤来计算 Rt和Tt,例如图4中以流程图形式示出的重新定位方法400,所述方法400可以由摄像机定位模块225执行。在方法400中,所述3D地图点在操作410匹配到如在操作310从帧 It计算出的所述显著特征点,并且基于2D至3D匹配点,可以使用多点透视成像 (Perspective-n-Point,简称PnP)在操作420计算Rt和Tt,如V·Lepetitet等人发表在《计算机视觉国际期刊》81(2):155–166上的《EpnP:PnP问题的正确O(n)解法》所述。
可以使用多种方法基于由帧It计算而来的2D显著特征点的描述符与所述3D 点的描述符之间的计算距离来找到2D至3D匹配点,如暴力最近邻匹配或快速近似最近邻匹配。
也有多种计算3D点的描述符的方法,如图5以流程图形式示出的方法500。例如,3D点可以简单地表示为在操作510的描述符集合,包括进行三角测量以获得所述 3D点的2D显著特征点的描述符,和匹配到下述帧的3D点的显著特征点的描述符。同样,可根据所述描述符集合在操作520计算有代表性的描述符的集合,例如,通过聚类方法,以表示3D点。可使用各种类型的描述符,如尺度不变特征转换(scale-invariant feature transform,简称SIFT)描述符、加速鲁棒特征(speeded up robust features,简称SURF) 描述符、加速段测试定向特征(oriented features from accelerated segment test,简称FAST) 和旋转二进制鲁棒独立元素特征(rotated binary robust independent element features,简称BRIEF)(ORB)描述符等。
在某些无法从帧It+1计算出足够好的点的特殊情况下,陀螺仪、加速度计等惯性传感器额外的输入530可用于帮助进行鲁棒摄像机定位。在3D地图中,当能从深度传感器获取深度信息时,可在帧It-1与帧It之间、帧It与3D地图之间注册3D点,且可利用所述3D至3D点的对应关系进行摄像机定位。在不同的实施例中,可使用各种摄像机定位方法。
同时,基于所述输入传感帧It,所述系统在2D或3D环境地图中确定跟踪的目标对象的3DoF(3自由度——Xt0,Yt0,Zt0)位置235,3DoF位置可用目标定位模块 240计算。确定跟踪的目标对象的3DoF位置的方法有多种,如图6中以流程图形式示出的方法600。例如,如果目标对象是人脸,可在操作610使用人脸检测和识别模块来在输入感应帧It中确定所述对象的位置(xt0,yt0);或者,如果目标对象是人体,可在操作620 使用人体检测和识别模块以确定所述对象的位置(xt0,yt0);或者,针对一般目标对象,可在操作630使用对象检测和识别模块以确定对象位置(xt0,yt0)。
基于所述输入感应帧It的所述位置(xt0,yt0),可在2D或3D环境地图中为所述目标对象确定一个3D位置(Xt0,Yt0,Zt0)(对于2D地图,Zt0=0)。有多种方法可以基于所述目标对象的位置(xt0,yt0)确定3D位置(Xt0,Yt0,Zt0)。例如,如果使用深度传感器115,则可以基于传感器115参数、位置(xt0,yt0)和深度感应帧直接计算相对于所述机器人传感器115的目标对象的3DoF平移T't0,或者如果不使用深度传感器 115,则可以基于视觉特征匹配直接计算相对于所述机器人传感器115的目标对象的3DoF 平移T't0。基于目标对象的3DoF平移T't0和环境地图中机器人传感器的6DoF旋转Rtc和平移Ttc,通过几何推导可在操作640计算出所述3DoF的位置(Xt0,Yt0,Zt0)。
基于所述输入感应帧It和所述目标对象的3D位置(Xt0,Yt0,Zt0),所述系统200继续生成所述感应输入Xt 215,如图7中700处的流程图形式进一步所示。在一个实施例中,所述感应输入Xt 215是3D数据立方。在操作710中,通过把过去时间窗口中多个输入感应帧的部分像素堆叠在一起,处理资源生成所述3D数据立方。例如,所述感应输入Xt 215形状可为W×H×J,其中,各第J通道是形状为W×H的2D矩阵,所述矩阵的每一项对应于输入感应帧It-j+1中的一个位置的像素,并且所述项的值是所述位置处不同输入通道(RGB、深度或RGB和深度)的像素的加权组合。W和H可以是所述原始感应帧It的宽度和高度,或者可以是从所述原始感应帧It裁剪出的图像的宽度和高度,所述原始感应帧It以所述跟踪的目标对象为中心。
基于所述感应帧It、所述感应帧It中的所述目标对象的位置(xt0,yt0)以及地图中所述目标对象的3D位置(Xt0,Yt0,Zt0),所述系统200的训练阶段使用计算奖励模块245计算奖励,所述计算奖励模块245是虚线206所示的深度强化学习(deep reinforcementlearning,简称DRL)网络的一部分。
由所述DRL网络执行的方法800在图8以流程图形式示出。在一个实施例中,可以计算三种类型的奖励并用于训练所述DRL网络206。在操作810中,计算路径质量奖励rp,以促进有效的导航路径。在一个实施例中,rp定义为函数Fp,如Fp(D)=–log(D),其中D为所述2D或3D地图220中所述目标对象135与所述机器人110之间的最短有效距离,即所述目标对象与所述机器人之间基于所述2D或3D地图的最短有效路径的长度。 rp促使所述机器人系统向所述目标对象移动。如果不存在有效路径,即所述机器人110再也无法够到所述目标对象,负值rnegative可作为惩罚用作rp。函数Fp可以有各种形式,优选将输入距离传递为0到1之间的相似值。所述负值只是用来减少奖励的值,机器人的路径增加了跟踪所述目标对象的难度。
计算奖励模块245可在操作820计算跟踪质量奖励rk,以促进持续对象跟踪。在一个实施例中,rk可以定义如下:
其中,Size(object)和Size(observed)就像素数量而言分别是所述对象135的大小和所述对象135实际被观察到的部分的大小。项促使所述系统200观察整个对象115以进行有效跟踪,针对阻塞或太靠近所述被跟踪对象115而所述机器人系统无法观察整个对象之类的情况进行惩罚。Ctx和Cty分别为所述输入感应帧It 210中理想的横向位置和纵向位置,是希望所述目标对象115所处的位置。Ltx和Lty是对应的归一化因子。 Dist是距离测量结果。例如,Ctx和Cty可以是所述帧It 210的中心;Dist(xt0-Ctx)和Dist(yt0-Cty)可以分别是xt0与Ctx之间、yt0与Cty之间像素的数量;Ltx和Lty可以分别是所述帧It 210 的宽和高。奖励rk总体促使所述机器人系统观察所述目标对象的整体,以一个良好的视角进行跟踪。
所述计算奖励模块245也可在操作830计算可遍历性奖励rv以避免动态障碍物。在一个实施例中,所述可遍历性奖励rv可定义为所述2D或3D地图中所述机器人系统和潜在障碍物之间平均距离的函数,其中Dist是所述机器人和障碍物之间的距离测量结果,如欧氏距离测量结果。Tm∈Ω,其中Tm是表示障碍物或墙表面的地图点的集合的子集,且在到Tt+1的距离阈值内。确定所述地图点集合 Tm∈Ω的方法有多种。例如,Tm∈Ω可以是截断符号距离函数(truncated signed distance function,简称TSDF)为0值且在由Dist测量结果通过机器人系统位置Tt+1所定义的某个距离阈值内的地图点。rv促使所述机器人系统避免撞到障碍物和墙壁。函数Fv可有多种形式,优选将输入距离传递为0到1之间的相似值。例如,Fv可以是Fv(D)=-log(D)。
在255处的总奖励rt可在操作840中作为rp、rk和rv的组合来计算,例如通过简单的加法或加权加法,其中选择的奖励可能比其他奖励更重要。
rt=αrp+βrk+γrv
其中,α、β、γ是对应的权重。在一些实施例中,可选择少于三个奖励用于计算所述总奖励255。例如,当环境中出现较少的障碍物时,所述可遍历性奖励可能被排除或权重比其他奖励小得多。
DRL网络206也包括计算目标yk和损失Lk的模块260、用Lk更新所述DRL 网络的模块265、DRL网络Nk270(例如ANN 87)、动作选择模块275以及所选动作at 280。下面将详细介绍。注意Nk是训练中的网络,正在被更新。网络经训练后,最终的网络将固定下来。
在一些实施例中,在并非完全预知地图的情况下,基于Rt-1、Tt-1、Rt、Tt以及所述感应帧It-1与It 210之间发现的2D到2D点对应关系和/或所述感应帧It 210与所述3D 地图220之间发现的2D到3D点对应关系,所述系统200也可以在训练阶段更新所述2D 或3D地图220。例如,对于所述3D地图220中的每个现有3D点,如果一个2D显著特征点与该特定3D点匹配,则使用匹配的2D显著特征点的描述符更新所述3D点的描述符表示。
在一些实施例中,也基于新匹配的2D显著特征点更新所述3D点的3D位置。有多种的方法可执行所述更新。例如,可以使用对应于所述3D点的每一对2D关键点对候选3D位置进行三角测量,并且所述3D点的最终3D位置可以是根据这些候选点计算出的一些统计信息(例如统计的平均值)。新的2D或3D地图点也会添加到所述现有的2D 或3D地图220中。对于不同的传感系统,例如基于RGB、RGBD或深度传感器的系统,可以使用不同的流程来添加新的地图点。
用于不同传感系统的2D和3D地图可以用不同的方法更新。例如,针对深度传感器,可以使用基于粒子滤波的方法更新2D地图,如G.Grisetti等人发表在2007年的《IEEE机器人学汇刊》23:34–46的文章《通过Rao-Blackwellized粒子滤波器进行栅格地图构建的改进技术》中所描述的方法。针对RGB传感器,三角测量方法可用于3D地图更新。在进一步实施例中,其他方法可与各种不同的传感器一起使用。
图9以流程图形式示出了用于确定机器人动作的方法900。在图2B所示的训练期间,可用所述DRL网络Nk 270执行方法900。给定在时间戳t的传感输入Xt和给定一组所述机器人系统在时间戳t的m个可能动作at1……atm,如操作910所示,所述DRL 网络Nk270在操作920通过前馈方式为所有可能的动作计算估计的Q值Q(at1,Xt)……Q (atm,Xt)。所述Q值衡量每个可能动作的质量,每个Q值Q(ati,Xt)是数字(浮点数或整数),作为所述DRL网络Nk计算的输出。
本发明目的是在训练结束后,所述DRL网络Nk能够在每个时间戳t计算出可能动作的Q值,而Q值最大的动作将隐式地最大化训练过程中所使用的相应奖励。所述可能动作at1……atm是基于所述2D或3D环境地图中2D或3D坐标可能的移动方向的离散化来定义的。例如,在2D地图中,当前的4DoF位置Tt和姿态Rt指示机器人系统在所述2D地图中t时刻的2D坐标和方向,在2D地图构造平面上通过使2D空间离散可以得到m个可能的移动动作。
例如,所述可能的动作可以具有两个自由度、移动方向和移动步长,其中移动方向可以是移动步长可以是μ,2μ,...lμ和l×h=m。移动方向和移动步长的每个组合对应一个所述机器人移动的可能动作。类似地,在3D地图中,当前的6DoF位置 Tt和姿态Rt指示所述机器人系统在t时刻的3D坐标和方向,通过使3D空间离散可以得到m个可能的移动动作。例如,可先使Z轴离散,得到几个平面,在每个平面上对2D平面进行的离散化,类似于上述方法。
基于为所有可能动作Q(at1,Xt)……Q(atm,Xt)估计的Q值,动作选择275 在操作930时选择时间t的动作at 280。通常,此处优选ε-贪婪方法,其中选择随机动作 at的可能性是ε,选择Q值最大的最优动作at的可能性是1–ε。
然后,所述机器人系统根据动作at定义的移动方向和步长,在模块285通过移动自身来执行所述动作at 280。其后,在t+1时刻,可以从传感器得到新的传感帧It+1 210,所述系统200将重复上述步骤。
在训练阶段,所述系统200按K个时间戳的频率更新所述DRL网络Nk 270, K≥1。有许多方法可用来更新所述DRL网络。在方法1000以流程图形式示出的一个实施例中,所述系统200在操作1010存储转换集(Xt,at,rt,Xt+1)至重播内存R。所述重播内存R通常有存储限额。一旦达到存储限额,新添加的转换集在操作1020将取代最旧的转换集。
针对所述DRL网络的第k次更新,机器人设备的目的是将所述DRL网络从 Nk-1更新到Nk。所述机器人设备首先在操作1025从所述重播内存R中随机采样若干个转换集,然后对于每个转换集(Xj,aj,rj,Xj+1),所述机器人在操作1030通过使用所述当前DRL网络Nk-1计算目标yj:
yj=rj+ηmaxaQ(a,Xj+1),
如果Xj不是所述重播内存R中保存的最后一帧的终端感应输入,则目标yj表示为:
yj=rj,
如果Xj是终端感应输入,目标yj是在时间戳j采取最优动作后算出的目标Q 值。在观察到由当前网络Nk-1使用参数θk确定的新感应帧Xj+1后,计算出的目标Q值计算为当前奖励加估计的最优Q值。
参数η是值介于0和1之间的遗忘因子,确定了对比短期奖励,所述系统权衡的长期奖励的重要程度。所述遗忘因子越小,所述机器人设备对长期奖励的重视程度就越低,而只关注短期奖励。假如所述遗忘因子接近于1,所述机器人设备倾向于同等对待长期奖励和短期奖励。在操作1040,所述DRL网络每K个时间戳会将Nk-1更新到Nk一次。
模块260处算出的目标损失可用于在模块265处更新所述DRL网络Nk的参数。 Q(aj,Xj)是由目标网络N’通过采用输入Xj的转换集中的实际动作aj计算出的Q值;yj是期望更新后的DRL网络270在时间戳j会生成的目标Q值。所述目标网络N’与所述 DRL网络Nk 270基本相同。唯一的区别是所述目标网络N’的更新速度比所述DRL网络 Nk 270慢。换句话说,所述DRL网络Nk在每M次更新后会被复制到所述目标网络N’。 M是按经验调整的参数,在一个示例中,M被设置为10,但在进一步实施例中可能高于或低于10。如果将M设为1,网络N’可在网络Nk每次更新时进行更新。当M增大时,网络稳定性增加,但网络学习速度可能减慢,所述网络可能过早收敛。因此,M的值是稳定性、学习速度和收敛性之间的折衷。
使用所述目标网络N’是为了帮助稳定所述DRL网络的更新。所述机器人110 计算目标损失,在260用Lj表示:
Lj=(yj-Q(aj,Xj))2
并计算Lj的梯度:
其中,θk是DRL网络Nk-1的参数。根据Lj的梯度,通过反向传播执行梯度下降步骤,所述DRL网络Nk-1会更新为Nk。在一个实施例中,用统计方法(例如,随机梯度下降法(stochastic gradient descent,简称SGD))计算期望的Lj梯度。
一旦更新完成,DRL网络Nk 270用于动作选择275,并选择动作at 280。然后在285执行所述动作at,使所述机器人110响应所选动作而移动。然后从所述传感器115 接收新的输入感应帧210,并重复这个过程。注意,当使用模拟环境进行训练时,所述动作285和感应的执行对应于所述模拟环境,机器人不需要进行实际的物理运动。
训练结束后,在如图11流程框图中的系统1100所示的测试阶段和操作阶段,所述机器人115借助训练后的DRL网络N1110(例如ANN 87),可有效地同时进行导航和对象跟踪。所述DRL网络N1110经图2B所示的训练过程得到,用于选择有效的导航路径、持续跟踪所述目标对象135以及避开动态障碍物。具体地,所述系统1100将所述传感器115在t时刻的感应帧It 210作为输入,所述传感器115与训练阶段使用的传感器类型相同,例如,可以是视频RGB摄像机、RGBD传感器或深度传感器。注意,图11中的框与图2B中的相似框具有相同的参考编号。
给定时间戳t的输入感应帧It 210,所述系统1100首先在摄像机定位模块225 的2D或3D环境地图220中确定6DoF摄像机姿态和位置。同时,所述系统根据所述输入感应帧It210在目标定位模块240的2D或3D环境地图中确定所述跟踪的目标对象135 的3DoF位置。然后,根据所述输入感应帧It 210和所述目标对象的3D位置(Xt0,Yt0, Zt0),所述系统用与训练阶段同样的方式继续生成感应输入Xt 215。
给定机器人系统在时间戳t的m个可能动作at1……atm的集合,所述DRL网络 N通过前馈方式为所有可能的动作Q(at1,Xt)……Q(atm,Xt)计算估计的Q值。所述可能动作at1……atm是基于所述2D或3D环境地图中2D或3D坐标可能的移动方向的离散化,用与训练过程同样的方式来定义的。基于为所有可能动作Q(at1,Xt)……Q(atm, Xt)估计的Q值,所述动作选择275过程选择时间t的动作at 280。可采用ε-贪婪方法,其中选择随机动作at 280的可能性是ε,选择Q值最大的最优动作at的可能性是1–ε。
所述机器人根据动作at定义的移动方向和步长,在285通过移动自身执行所述动作at。其后,在t+1时刻,从传感器能得到新的传感帧It+1,所述系统继续进行直到下一时间戳。
图12是训练机器人跟踪目标对象并在仍确保能够跟踪所述目标对象时导航避开障碍物的方法1200的流程图。所述机器人可用摄像机和/或其他传感器跟踪所述目标对象。在一些实施例中,所述障碍物可以是动态的,因为这些障碍物也可以移动。
方法1200可以开始于操作1210:多次接收代表所述对象和环境的跟踪传感器输入。在一个实施例中,方法1200可以由与所述机器人集成在一起的处理资源或与所述机器人通信的远程处理资源来执行。在操作1220,响应于所述跟踪传感器输入,方法1200 多次计算所述机器人和所述对象的位置。
在操作1230,针对规定所述对象跟踪机器人的运动的可能动作集合,使用多次响应于计算出的所述机器人和所述对象的位置的训练后的深度强化学习(deepreinforcement learning,简称DRL)网络来估计跟踪质量奖励和机器人导航路径质量奖励。在操作1240,通过所述DRL网络,确定规定所述对象跟踪机器人的运动的动作集合中的动作,所述DRL网络被训练为估计的对象跟踪质量奖励和机器人导航路径质量奖励的函数。在1250的返回操作,方法1200针对所述机器人的每个新位置重复上述操作。所述机器人和目标的位置可模拟计算,从而比在真实环境中更快地训练所述DRL网络。
在进一步实施例中,可估计可遍历性质量奖励,并与其他质量奖励一起使用以训练所述DRL网络。在一些实施例中,所述质量奖励可加权。遗忘因子也可用于强调长期奖励与短期奖励。
所述跟踪传感器输入可以是基于某些实施例的RGB图像,并可包括其他类型的传感器,如深度传感器或惯性运动传感器,如陀螺仪、加速度计等,以增强对所述机器人和所述对象位置的计算。
图13是一种训练深度强化学习(deep reinforcement learning,简称DRL)网络以在环境中跟踪对象和导航机器人的方法1300的流程图。方法1300包括在操作1310的多次接收代表所述对象和所述环境的跟踪传感器输入。响应于所述跟踪传感器输入,在操作1320多次计算所述机器人和所述对象的位置;在操作1330,多次计算跟踪质量奖励,作为维持持续对象跟踪的函数。在操作1340,计算导航路径质量奖励,作为有效导航路径的函数。在操作1360,通过移动所述机器人的多个动作来训练DRL网络,以响应于跟踪质量奖励和导航路径质量奖励。
在进一步实施例中,在操作1350,可估计可遍历性质量奖励,并与其他质量奖励一起使用以确定所述动作。在一些实施例中,所述质量奖励可加权。遗忘因子也可用于强调长期奖励与短期奖励。
所述跟踪传感器输入可以是基于某些实施例的RGB图像,并可包括其他类型的传感器,如深度传感器或惯性运动传感器,如陀螺仪、加速度计等,以增强对所述机器人和所述对象位置的计算。
在一些实施例中,方法1300可在集成到机器人115中的处理资源上实现,以控制所述机器人115的导航和跟踪功能。
用于移动机器人的DRL辅助的对象跟踪与导航系统主动决定所述机器人如何移动从而有效地跟踪目标移动对象,同时通过环境地图进行导航。使用先前的真实世界和模拟的对象跟踪会话来训练DRL网络,所述系统可以借助所述训练后的DRL网络有效地在新的动态环境中同时进行导航和对象跟踪,以选择有效导航路径、持续跟踪所述目标对象并避开动态障碍物。
所述系统可使用三种类型的奖励函数从先前的跟踪会话中学习经验。路径质量奖励促进有效导航路径。跟踪质量奖励促进持续的对象跟踪。可以包括可选的可遍历性奖励,以避开动态障碍物。
所述系统在适用于机器人系统方面具有通用性和灵活性,适用于使用不同算法和硬件配置的各种类型的机器人系统,如使用2D或3D地图、使用RGB传感器、RGBD 传感器,或深度传感器。所述系统在适用于目标跟踪对象方面具有通用性和灵活性,适用于各种类型的目标跟踪对象,如人脸、人或一般对象,其中各种类型的目标定位(检测器) 可以合并。
所述系统在所述DRL网络的结构和部件方面具有灵活性。所述系统中可以使用具有离散动作空间的各种DRL网络。
图14是示出处理资源的框图,例如用于训练DRL网络的电路和程序,所述网络用于在跟踪对象时为机器人导航,以及用于根据示例实施例实现过程和执行方法。不需要在各实施例中使用所有组件。例如,用于训练的电路可以是功能更强大的计算机,所述计算机也可执行可使用所述机器人的环境模拟,而所述机器人可以包括功能较弱的电路版本,用于实际控制所述机器人的导航和跟踪功能。
计算机1400形式的一个示例计算设备可以包括处理器或处理单元1402、内存1403、可移动存储器1410和/或不可移动存储器1412。虽然所述示例计算设备图示并描述为计算机1400,但在不同实施例中,所述计算设备可以是不同形式的。例如,可替代地,所述计算设备可以是智能手机、平板电脑、智能手表或者结合图14所示和所述的包含相同或相似的元件的其它计算设备。智能手机、平板电脑、智能手表等设备通常统称为移动设备或用户设备。此外,虽然各种数据存储元件被图示为所述计算机1400的一部分,但是所述存储器还可以或者可选地包括通过网络例如互联网可访问的基于云的存储器,或者基于服务器的存储器。
内存1403可包括易失性内存1414和/或非易失性内存1408,其中任意一个可提供上述的重播内存R。所述计算机1400可包括或访问计算环境。所述计算环境包括各种计算机可读介质,如易失性内存1414和/或非易失性内存1408、可移动存储器1410和/ 或不可移动存储器1412。计算机存储器包括随机存取存储器(random access memory,简称RAM)、只读存储器(read-only memory,简称ROM)、可擦除可编程只读存储器(erasable programmableread only memory,简称EPROM)、电可擦除可编程只读存储器(electrically erasableprogrammable read-only memory,简称EEPROM)、闪存或其它存储器技术、只读光盘(compact disc read-only memory,简称CD-ROM)、数字多功能光盘(digital versatiledisc,简称DVD)或其它光盘存储器、盒式磁带、磁带、磁盘存储器或其它磁存储设备,或者任何其它能够存储计算机可读指令的介质。
所述计算机1400可以包括或者可以访问计算环境,所述计算环境包括输入 1406、输出1404和通信连接或接口1416。所述输出1404可以包括诸如触摸屏的显示设备,所述显示设备也可以用作输入设备。所述输入1406可以包括以下一种或多种:触摸屏、触摸板、鼠标、键盘、摄像机、一个或多个设备专用按钮、集成到或通过有线或无线数据连接耦合到所述计算机1400内的一个或多个传感器,以及其它输入设备。所述计算机可以使用通信连接在联网环境中工作,以连接到一个或多个远程计算机,如数据库服务器。所述远程计算机可以包括个人计算机(personal computer,简称PC)、服务器、路由器、网络PC、对等设备或其它公共网络节点等。所述通信连接可以包括电缆网络、局域网(local area network,简称LAN)、广域网(wide area network,简称WAN)、蜂窝、WiFi、蓝牙或其它网络。
在一个实施例中,设备包括接收装置,用于多次接收代表所述对象和所述环境的跟踪传感器输入。另外,所述设备包括计算装置,用于响应于所述跟踪传感器输入,多次计算所述机器人和所述对象的位置。所述设备还包括计算装置,用于多次计算跟踪质量奖励,作为维持持续对象跟踪的函数;计算导航路径质量奖励,作为有效导航路径的函数。最后,所述方法还包括训练装置,用于通过移动机器人的多个动作,训练响应于所述跟踪质量奖励和所述导航路径质量奖励的DRL网络。
存储在计算机可读介质上的计算机可读指令可由所述计算机1400的处理单元1402执行。硬盘驱动器、CD-ROM和RAM是产品的一些示例,所述产品包括如存储设备的非瞬时性计算机可读介质。术语计算机可读介质和存储设备不包括载波,因为载波过于短暂。例如,计算机程序1418可用于使所述处理单元1402执行本文所述的一个或多个方法或算法。
示例如下:
在示例1,一种跟踪对象和导航对象跟踪机器人的方法包括:多次接收代表所述对象和环境的跟踪传感器输入;响应于所述跟踪传感器输入,多次计算所述机器人和所述对象的位置;使用被训练为跟踪质量奖励和机器人导航路径质量奖励的函数的由计算机实现的深度强化学习(deep reinforcement learning,简称DRL)网络,所述DRL网络多次响应于计算出的所述机器人和所述对象的位置以:根据所述机器人和目标的当前位置,确定规定所述对象跟踪机器人的运动的可能动作;确定所述可能动作的质量值(quality value,简称Q-value);选择一个动作作为所述Q值的函数。
示例2包括示例1的方法,其中,所述跟踪质量奖励函数是所述观察到的对象的大小除以所述对象的大小和所述对象跟踪机器人到所述对象之间的距离的函数。
示例3包括示例1至2任一项所述的方法,所述跟踪质量奖励rk依据以下等式计算:
其中,Size(object)和Size(observed)就像素数量而言分别是所述对象的大小和所述对象实际被观察到的部分的大小,Ctx和Cty分别为输入感应帧It中理想的横向位置和纵向位置,Ltx和Lty均为归一化因子,xt0和yt0是所述对象的位置,Dist是到所述对象的距离测量结果。
示例4包括示例1至3中任一项所述的方法,其中,将所述机器人导航路径质量奖励rp定义为所述对象与所述机器人之间的最短有效距离的函数。
示例5包括示例1至4中任一项所述的方法,其中,所述DRL网络还被训练为可遍历性质量奖励rv的函数,针对规定所述对象跟踪机器人的运动的可能动作的集合。
示例6包括示例5的方法,其中,所述可遍历性质量奖励rv可定义为所述对象跟踪机器人与潜在障碍物之间的平均距离的函数。
示例7包括示例6的方法,其中,所述机器人和所述对象位于地图表示的所述环境中,所述可遍历性质量奖励其中Dist是所述机器人和障碍物之间的距离测量结果,Tm∈Ω是地图上点的集合,表示障碍物或墙的表面,且在到Tt+1的距离阈值内。
示例8包括示例5至7中任一项所述的方法,加权所述质量奖励。
示例9包括示例1至8中任一项所述的方法,其中,所述感应输入包括RGB 图像帧像素,所述方法还包括通过将过去时间窗口中的多个输入感应图像帧的像素堆叠在一起以创建感应输入,所述DRL网络使用所述感应输入来估计奖励并确定动作。
示例10包括示例1至9中任一项所述的方法,所述DRL网络包括遗忘因子,以加权长期奖励与短期奖励。
在示例11,一种训练深度强化学习(deep reinforcement learning,简称DRL) 网络以在环境中跟踪对象和导航机器人的方法包括:多次接收代表所述对象和所述环境的跟踪传感器输入;响应于所述跟踪传感器输入,多次计算所述机器人和所述对象的位置;多次计算跟踪质量奖励,作为维持持续对象跟踪的函数;计算导航路径质量奖励,作为有效导航路径的函数;通过移动机器人的多个动作,训练响应于所述跟踪质量奖励和所述导航路径质量奖励的DRL网络。
示例12包括示例11所述的方法,其中,所述跟踪质量奖励函数是所述观察到的对象的大小除以所述对象的大小和所述机器人到所述对象之间的距离的函数。
示例13包括示例11至12中任一项所述的方法,所述DRL网络还响应于:针对规定所述对象跟踪机器人的运动的可能动作集合,估计可遍历性质量奖励rv;通过所述 DRL网络确定所述动作,所述DRL网络也被训练为所述可遍历性质量奖励rv的函数。
示例14包括示例13的方法,其中,所述机器人和对象位于地图表示的所述环境中,所述可遍历性质量奖励其中Dist是所述机器人和障碍物之间的距离测量结果,Tm∈Ω是地图上点的集合,表示障碍物或墙的表面,且在到Tt+1的距离阈值内。
示例15包括示例11至14中任一项所述的方法,其中,所述感应输入包括RGB 图像帧像素,所述方法还包括通过将过去时间窗口中的多个输入感应图像帧的像素堆叠在一起以创建感应输入,所述DRL网络使用所述感应输入来估计奖励并确定动作。
示例16包括示例11至15中任一项所述的方法,还包括:计算目标损失;将所述DRL网络更新为所述目标损失的函数。
在示例17,一种跟踪目标和导航目标跟踪机器人的系统包括:内存存储器,包括指令;与所述内存通信的处理器,其中,所述处理器执行所述指令以:多次获取代表所述对象和环境的跟踪传感器输入;响应于所述跟踪传感器输入,多次计算所述机器人和所述对象的位置;使用被训练为对象跟踪质量奖励和机器人导航路径质量奖励的函数的深度强化学习(deep reinforcement learning,简称DRL)网络以:多次计算所述机器人和所述对象的位置;通过所述DRL网络,确定规定所述对象跟踪机器人的运动的动作。
示例18包括示例17所述的方法,其中,所述处理器还执行所述指令以根据所述动作移动所述机器人。
示例19包括示例17至18中任一项所述的方法,所述系统还包括机器人,其中,所述内存存储器和所述处理器集成至所述机器人中。
示例20包括示例17至19中任一项所述的方法,所述DRL网络已被训练为可遍历性奖励的其它函数。
在不脱离本发明范围的前提下,任何一个前述示例都可以与任何一个或多个其它前述示例结合以创建新的实施例。
虽然上文详细描述了几个实施例但是可能进行其它修改。例如,为了获得期望的结果,附图中描绘的逻辑流不需要按照所示的特定顺序或者先后顺序。可以提供其它步骤或者从所描述的流程中去除步骤,所描述的系统中可以添加或移除其它组件。其它实施例可以在所附权利要求书的范围内。
Claims (17)
1.一种跟踪对象和导航对象跟踪机器人的方法,其特征在于,所述方法包括:
多次接收代表所述对象和环境的跟踪传感器输入;
响应于所述跟踪传感器输入,多次计算所述机器人和所述对象的位置;
使用被训练为跟踪质量奖励和机器人导航路径质量奖励的函数的由计算机实现的深度强化学习DRL网络,所述DRL网络多次响应于计算出的所述机器人和所述对象的位置以:
根据所述机器人和目标的当前位置,确定规定所述对象跟踪机器人的运动的可能动作;
确定所述可能动作的质量值;
选择一个动作作为所述质量值的函数;
其中,所述跟踪质量奖励rk依据以下等式计算:
其中,Size(object)和Size(observed)就像素数量而言分别是所述对象的大小和所述对象实际被观察到的部分的大小,Ctx和Cty分别为输入感应帧It中理想的横向位置和纵向位置,Ltx和Lty均为归一化因子,xt0和yt0是所述对象的位置,Dist是到所述对象的距离测量结果。
2.根据权利要求1所述的方法,其特征在于,将所述机器人导航路径质量奖励rp定义为所述对象与所述机器人之间的最短有效距离的函数。
3.根据权利要求1或2所述的方法,其特征在于,所述DRL网络还被训练为可遍历性质量奖励rv的函数,针对规定所述对象跟踪机器人的运动的可能动作的集合。
4.根据权利要求3所述的方法,其特征在于,将所述可遍历性质量奖励rv定义为所述对象跟踪机器人与潜在障碍物之间的平均距离的函数。
6.根据权利要求1或2所述的方法,其特征在于,加权所述质量奖励。
7.根据权利要求1或2所述的方法,其特征在于,所述跟踪传感器输入包括RGB图像帧像素,所述方法还包括:
通过将过去时间窗口中的多个输入感应图像帧的像素堆叠在一起以创建感应输入,所述DRL网络使用所述感应输入来估计奖励并确定动作。
8.根据权利要求1或2所述的方法,其特征在于,所述DRL网络包括遗忘因子,以加权长期奖励与短期奖励。
9.一种训练深度强化学习DRL网络以在环境中跟踪对象和导航机器人的方法,所述方法包括:
多次接收代表所述对象和所述环境的跟踪传感器输入;
响应于所述跟踪传感器输入,多次计算所述机器人和所述对象的位置;
多次计算跟踪质量奖励,作为维持持续对象跟踪的函数;
计算导航路径质量奖励,作为有效导航路径的函数;
通过移动机器人的多个动作,训练响应于所述跟踪质量奖励和所述导航路径质量奖励的DRL网络;
其中,所述跟踪质量奖励rk依据以下等式计算:
其中,Size(object)和Size(observed)就像素数量而言分别是所述对象的大小和所述对象实际被观察到的部分的大小,Ctx和Cty分别为输入感应帧It中理想的横向位置和纵向位置,Ltx和Lty均为归一化因子,xt0和yt0是所述对象的位置,Dist是到所述对象的距离测量结果。
10.根据权利要求9所述的方法,其特征在于,所述DRL网络还响应于:
针对规定所述对象跟踪机器人的运动的可能动作集合,估计可遍历性质量奖励rv;
通过所述DRL网络确定所述动作,所述DRL网络也被训练为所述可遍历性质量奖励rv的函数。
12.根据权利要求9至11中任一项所述的方法,其特征在于,所述跟踪传感器输入包括RGB图像帧像素,所述方法还包括:
通过将过去时间窗口中的多个输入感应图像帧的像素堆叠在一起以创建感应输入,所述DRL网络使用所述感应输入来估计奖励并确定动作。
13.根据权利要求9至11中任一项所述的方法,其特征在于,还包括:
计算目标损失;
将所述DRL网络更新为所述目标损失的函数。
14.一种跟踪对象和导航对象跟踪机器人的系统,其特征在于,所述系统包括:
内存存储器,包括指令;
处理器,与所述内存通信,其中,所述处理器执行所述指令以:
多次获取代表所述对象和环境的跟踪传感器输入;
响应于所述跟踪传感器输入,多次计算所述机器人和所述对象的位置,使用被训练为对象跟踪质量奖励和机器人导航路径质量奖励的函数的深度强化学习DRL网络以:
通过所述DRL网络,多次计算所述机器人和所述对象的位置;
通过所述DRL网络,确定规定所述对象跟踪机器人的运动的动作;
其中,所述跟踪质量奖励rk依据以下等式计算:
其中,Size(object)和Size(observed)就像素数量而言分别是所述对象的大小和所述对象实际被观察到的部分的大小,Ctx和Cty分别为输入感应帧It中理想的横向位置和纵向位置,Ltx和Lty均为归一化因子,xt0和yt0是所述对象的位置,Dist是到所述对象的距离测量结果。
15.根据权利要求14所述的系统,其特征在于,所述处理器还执行所述指令以根据所述动作移动所述机器人。
16.根据权利要求14或15所述的系统,其特征在于,所述系统还包括机器人,所述内存存储器和所述处理器集成至所述机器人中。
17.根据权利要求14或15所述的系统,其特征在于,所述DRL网络已被训练为可遍历性奖励的函数。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/870,626 US10695911B2 (en) | 2018-01-12 | 2018-01-12 | Robot navigation and object tracking |
US15/870,626 | 2018-01-12 | ||
PCT/CN2019/071318 WO2019137464A1 (en) | 2018-01-12 | 2019-01-11 | Robot navigation and object tracking |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111587408A CN111587408A (zh) | 2020-08-25 |
CN111587408B true CN111587408B (zh) | 2022-07-12 |
Family
ID=67213534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980008280.1A Active CN111587408B (zh) | 2018-01-12 | 2019-01-11 | 机器人导航和对象跟踪 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10695911B2 (zh) |
EP (1) | EP3735625B1 (zh) |
CN (1) | CN111587408B (zh) |
WO (1) | WO2019137464A1 (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10695911B2 (en) * | 2018-01-12 | 2020-06-30 | Futurewei Technologies, Inc. | Robot navigation and object tracking |
JP6810087B2 (ja) * | 2018-03-29 | 2021-01-06 | ファナック株式会社 | 機械学習装置、機械学習装置を用いたロボット制御装置及びロボットビジョンシステム、並びに機械学習方法 |
US11449079B2 (en) * | 2019-01-30 | 2022-09-20 | Adobe Inc. | Generalizable robot approach control techniques |
CN113330490B (zh) * | 2019-01-31 | 2024-04-23 | 华为技术有限公司 | 三维(3d)辅助个性化家庭对象检测 |
EP3903226A1 (en) * | 2019-02-01 | 2021-11-03 | Siemens Aktiengesellschaft | Dense 6-dof pose object detector |
US20220281105A1 (en) | 2019-08-22 | 2022-09-08 | Nec Corporation | Robot control system, robot control method, and recording medium |
KR20210029586A (ko) * | 2019-09-06 | 2021-03-16 | 엘지전자 주식회사 | 이미지 내의 특징적 객체에 기반하여 슬램을 수행하는 방법 및 이를 구현하는 로봇과 클라우드 서버 |
US20210103286A1 (en) * | 2019-10-04 | 2021-04-08 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Systems and methods for adaptive path planning |
CN111045445B (zh) * | 2019-10-23 | 2023-11-28 | 浩亚信息科技有限公司 | 一种基于强化学习的飞行器智能避撞方法、设备、介质 |
CN110764415B (zh) * | 2019-10-31 | 2022-04-15 | 清华大学深圳国际研究生院 | 一种四足机器人腿部运动的步态规划方法 |
CN110989576B (zh) * | 2019-11-14 | 2022-07-12 | 北京理工大学 | 速差滑移转向车辆的目标跟随及动态障碍物避障控制方法 |
CN111161315B (zh) * | 2019-12-18 | 2023-01-03 | 北京大学 | 一种基于图神经网络的多目标跟踪方法和系统 |
EP3882649B1 (en) * | 2020-03-20 | 2023-10-25 | ABB Schweiz AG | Position estimation for vehicles based on virtual sensor response |
CN111539979B (zh) * | 2020-04-27 | 2022-12-27 | 天津大学 | 基于深度强化学习的人体正面跟踪方法 |
CN112068549B (zh) * | 2020-08-07 | 2022-12-16 | 哈尔滨工业大学 | 一种基于深度强化学习的无人系统集群控制方法 |
CN111949032A (zh) * | 2020-08-18 | 2020-11-17 | 中国科学技术大学 | 一种基于强化学习的3d避障导航系统及方法 |
US11189049B1 (en) * | 2020-10-16 | 2021-11-30 | Ford Global Technologies, Llc | Vehicle neural network perception and localization |
CN114851184B (zh) * | 2021-01-20 | 2023-05-09 | 广东技术师范大学 | 一种面向工业机器人的强化学习奖励值计算方法 |
CN112883262B (zh) * | 2021-02-04 | 2022-04-26 | 西南交通大学 | 一种基于深度强化学习的日程安排推荐方法 |
CN113043292A (zh) * | 2021-03-22 | 2021-06-29 | 哈尔滨理工大学 | 具有眼神模仿功能的极地馆迎宾机器人眼部装置及控制 |
DE102021204846B4 (de) | 2021-05-12 | 2023-07-06 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Steuern einer Robotervorrichtung |
CN113177664B (zh) * | 2021-05-20 | 2024-03-19 | 的卢技术有限公司 | 一种以安全性、距离代价为约束的自学习路径规划方法 |
CN113392584B (zh) * | 2021-06-08 | 2022-12-16 | 华南理工大学 | 基于深度强化学习和方向估计的视觉导航方法 |
CN113778082B (zh) * | 2021-08-23 | 2023-08-22 | 北京科技大学 | 一种基于自触发机制的无人车轨迹跟踪控制方法及系统 |
TWI769924B (zh) * | 2021-09-15 | 2022-07-01 | 東元電機股份有限公司 | 人體跟隨系統 |
CN113766267B (zh) * | 2021-09-15 | 2023-10-24 | 深圳市道通智能航空技术股份有限公司 | 基于无人机的多路视频直播方法、系统、设备及存储介质 |
CN113821035A (zh) * | 2021-09-22 | 2021-12-21 | 北京邮电大学 | 无人船轨迹追踪控制方法和装置 |
CN114237293B (zh) * | 2021-12-16 | 2023-08-25 | 中国人民解放军海军航空大学 | 一种基于动态目标分配的深度强化学习队形变换方法及系统 |
CN114355915B (zh) * | 2021-12-27 | 2024-04-02 | 杭州电子科技大学 | 一种基于深度强化学习的agv路径规划 |
CN114594768B (zh) * | 2022-03-03 | 2022-08-23 | 安徽大学 | 一种基于视觉特征图重构的移动机器人导航决策方法 |
DE102022204724A1 (de) | 2022-05-13 | 2023-11-16 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Steuern einer Robotervorrichtung |
CN115150784B (zh) * | 2022-09-02 | 2022-12-06 | 汕头大学 | 基于基因调控网络的无人机集群区域覆盖方法及设备 |
CN116300480B (zh) * | 2023-05-23 | 2023-08-01 | 西南科技大学 | 基于改进粒子滤波和生物启发神经网络的放射源搜寻方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317297A (zh) * | 2014-10-30 | 2015-01-28 | 沈阳化工大学 | 一种未知环境下机器人避障方法 |
CN105137967A (zh) * | 2015-07-16 | 2015-12-09 | 北京工业大学 | 一种深度自动编码器与q学习算法相结合的移动机器人路径规划方法 |
CN105741316A (zh) * | 2016-01-20 | 2016-07-06 | 西北工业大学 | 基于深度学习和多尺度相关滤波的鲁棒目标跟踪方法 |
CN106873585A (zh) * | 2017-01-18 | 2017-06-20 | 无锡辰星机器人科技有限公司 | 一种导航寻路方法、机器人及系统 |
CN106875428A (zh) * | 2017-01-19 | 2017-06-20 | 博康智能信息技术有限公司 | 一种多目标跟踪方法及装置 |
CN106970615A (zh) * | 2017-03-21 | 2017-07-21 | 西北工业大学 | 一种深度强化学习的实时在线路径规划方法 |
CN107065881A (zh) * | 2017-05-17 | 2017-08-18 | 清华大学 | 一种基于深度强化学习的机器人全局路径规划方法 |
CN107085429A (zh) * | 2017-05-23 | 2017-08-22 | 西南大学 | 基于忆阻交叉阵列与q学习的机器人路径规划系统 |
CN107368076A (zh) * | 2017-07-31 | 2017-11-21 | 中南大学 | 一种智能环境下机器人运动路径深度学习控制规划方法 |
CN107436595A (zh) * | 2016-05-27 | 2017-12-05 | 发那科株式会社 | 机械学习装置、故障预测装置、机械系统及机械学习方法 |
CN107544248A (zh) * | 2017-09-13 | 2018-01-05 | 上海思岚科技有限公司 | 一种移动机器人中的任务优化方法及设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110064269A1 (en) | 2009-09-14 | 2011-03-17 | Manipal Institute Of Technology | Object position tracking system and method |
US20170160751A1 (en) * | 2015-12-04 | 2017-06-08 | Pilot Ai Labs, Inc. | System and method for controlling drone movement for object tracking using estimated relative distances and drone sensor inputs |
EP3445539A4 (en) * | 2016-04-27 | 2020-02-19 | Neurala Inc. | METHODS AND APPARATUS FOR PRUNING EXPERIENCE MEMORIES FOR DEEP NEURONAL NETWORK-BASED Q-LEARNING |
US10748061B2 (en) * | 2016-12-19 | 2020-08-18 | Futurewei Technologies, Inc. | Simultaneous localization and mapping with reinforcement learning |
JP6603257B2 (ja) * | 2017-03-31 | 2019-11-06 | ファナック株式会社 | 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法 |
US11222262B2 (en) * | 2017-05-30 | 2022-01-11 | Xerox Corporation | Non-Markovian control with gated end-to-end memory policy networks |
JP6549644B2 (ja) * | 2017-06-27 | 2019-07-24 | ファナック株式会社 | 機械学習装置、ロボット制御システム及び機械学習方法 |
US10254759B1 (en) * | 2017-09-14 | 2019-04-09 | Waymo Llc | Interactive autonomous vehicle agent |
US10695911B2 (en) * | 2018-01-12 | 2020-06-30 | Futurewei Technologies, Inc. | Robot navigation and object tracking |
US11688160B2 (en) * | 2018-01-17 | 2023-06-27 | Huawei Technologies Co., Ltd. | Method of generating training data for training a neural network, method of training a neural network and using neural network for autonomous operations |
US20190220737A1 (en) * | 2018-01-17 | 2019-07-18 | Hengshuai Yao | Method of generating training data for training a neural network, method of training a neural network and using neural network for autonomous operations |
-
2018
- 2018-01-12 US US15/870,626 patent/US10695911B2/en active Active
-
2019
- 2019-01-11 WO PCT/CN2019/071318 patent/WO2019137464A1/en unknown
- 2019-01-11 CN CN201980008280.1A patent/CN111587408B/zh active Active
- 2019-01-11 EP EP19738252.6A patent/EP3735625B1/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317297A (zh) * | 2014-10-30 | 2015-01-28 | 沈阳化工大学 | 一种未知环境下机器人避障方法 |
CN105137967A (zh) * | 2015-07-16 | 2015-12-09 | 北京工业大学 | 一种深度自动编码器与q学习算法相结合的移动机器人路径规划方法 |
CN105741316A (zh) * | 2016-01-20 | 2016-07-06 | 西北工业大学 | 基于深度学习和多尺度相关滤波的鲁棒目标跟踪方法 |
CN107436595A (zh) * | 2016-05-27 | 2017-12-05 | 发那科株式会社 | 机械学习装置、故障预测装置、机械系统及机械学习方法 |
CN106873585A (zh) * | 2017-01-18 | 2017-06-20 | 无锡辰星机器人科技有限公司 | 一种导航寻路方法、机器人及系统 |
CN106875428A (zh) * | 2017-01-19 | 2017-06-20 | 博康智能信息技术有限公司 | 一种多目标跟踪方法及装置 |
CN106970615A (zh) * | 2017-03-21 | 2017-07-21 | 西北工业大学 | 一种深度强化学习的实时在线路径规划方法 |
CN107065881A (zh) * | 2017-05-17 | 2017-08-18 | 清华大学 | 一种基于深度强化学习的机器人全局路径规划方法 |
CN107085429A (zh) * | 2017-05-23 | 2017-08-22 | 西南大学 | 基于忆阻交叉阵列与q学习的机器人路径规划系统 |
CN107368076A (zh) * | 2017-07-31 | 2017-11-21 | 中南大学 | 一种智能环境下机器人运动路径深度学习控制规划方法 |
CN107544248A (zh) * | 2017-09-13 | 2018-01-05 | 上海思岚科技有限公司 | 一种移动机器人中的任务优化方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
US20190217476A1 (en) | 2019-07-18 |
EP3735625A4 (en) | 2021-06-23 |
EP3735625B1 (en) | 2024-03-06 |
EP3735625A1 (en) | 2020-11-11 |
US10695911B2 (en) | 2020-06-30 |
CN111587408A (zh) | 2020-08-25 |
WO2019137464A1 (en) | 2019-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111587408B (zh) | 机器人导航和对象跟踪 | |
CN107450593B (zh) | 一种无人机自主导航方法和系统 | |
Mishkin et al. | Benchmarking classic and learned navigation in complex 3d environments | |
Manuelli et al. | Keypoints into the future: Self-supervised correspondence in model-based reinforcement learning | |
Xie et al. | Towards monocular vision based obstacle avoidance through deep reinforcement learning | |
US11062207B2 (en) | Control systems using deep reinforcement learning | |
US10372968B2 (en) | Object-focused active three-dimensional reconstruction | |
Cao et al. | Target search control of AUV in underwater environment with deep reinforcement learning | |
Yuan et al. | An entorhinal-hippocampal model for simultaneous cognitive map building | |
Passalis et al. | Deep reinforcement learning for controlling frontal person close-up shooting | |
Kojima et al. | To learn or not to learn: Analyzing the role of learning for navigation in virtual environments | |
Yang et al. | Monocular camera and single-beam sonar-based underwater collision-free navigation with domain randomization | |
Saha et al. | Real-time robot path planning around complex obstacle patterns through learning and transferring options | |
Zhi et al. | Learning autonomous exploration and mapping with semantic vision | |
Zhai et al. | PEANUT: predicting and navigating to unseen targets | |
Xu et al. | Automated labeling for robotic autonomous navigation through multi-sensory semi-supervised learning on big data | |
Xu et al. | Avoidance of manual labeling in robotic autonomous navigation through multi-sensory semi-supervised learning | |
Moridian et al. | Learning navigation tasks from demonstration for semi-autonomous remote operation of mobile robots | |
Badalkhani et al. | Multi-robot SLAM in dynamic environments with parallel maps | |
US20200334530A1 (en) | Differentiable neuromodulated plasticity for reinforcement learning and supervised learning tasks | |
Jokić et al. | Mobile robot decision-making system based on deep machine learning | |
Shim et al. | Automatic object searching by a mobile robot with single RGB-D camera | |
Rodriguez-Tirado et al. | A pipeline framework for robot maze navigation using computer vision, path planning and communication protocols | |
Musić et al. | Adaptive fuzzy mediation for multimodal control of mobile robots in navigation-based tasks | |
Aamer et al. | A Novel Algorithm for Autonomous Robot Navigation System Using Neural Network |
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 |