第11卷第2期 智能系统学报 Vol.11 No.2 2016年4月 CAAI Transactions on Intelligent Systems Apr.2016 D0I:10.11992/is.201510031 网络出版地址:http://www.cnki.net/kcms/detail/23.1538.TP.20160315.1252.020.html 基于强化学习的多定位组件自动选择方法 梁爽',曹其新,王雯珊,邹风山2 (1.上海交通大学机器人研究所,上海200240:2.新松机器人有限公司中央研究院,辽宁沈阳110000) 摘要:在一个大规模的动态环境中,针对机器人各种定位传感器的局限性,提出了一种基于强化学习的定位组件 自动选择方法。系统采用分布式架构,将机器人不同的定位传感器与定位方法封装为不同的组件。采用强化学习 的方法,寻找最优策略,实现多定位组件的实时切换。仿真结果表明,该方法可以解决大型环境中,单一定位方法不 能适用于整个环境的问题,能够依靠多定位组件提供可靠的机器人定位信息:环境发生改变时,通过学习的方法不 需要重新配置组件,且与直接遍历组件后切换组件的方法相比,极大地减小了延时。 关键词:移动机器人;定位:强化学习:中间件:Monte Carlo方法:多传感器:模块化:分布式系统 中图分类号:TP242.6文献标志码:A文章编号:1673-4785(2016)02-0149-07 中文引用格式:梁爽,曹其新,王雯珊,等.基于强化学习的多定位组件自动选择方法[J].智能系统学报,2016,11(2):149154 英文引用格式:LIANG Shuang,CAO Qixin,WANG Wenshan,etal.An automatic switching method for multiple location compo- nents based on reinforcement learning[J].CAAI transactions on intelligent systems,2016,11(2):149-154. An automatic switching method for multiple location components based on reinforcement learning LIANG Shuang',CAO Qixin',WANG Wenshan',ZOU Fengshan2 (1.Research Institute of Robotics,Shanghai Jiaotong University,Shanghai 200240,China;2.SIASUN Robot and Automation CO., LTD,Shenyang 110000,China) Abstract:To address the limitations of location sensors in large-scale dynamic environments,an automatic switching method for multiple robotic components based on reinforcement learning is proposed.This system uses distributed architecture and encapsulates different location sensors and methods into different middleware components.Rein- forcement learning is employed to find the optimal strategy for deciding how to switch between components in real time.The simulation result shows that this method can solve problems that a single location method cannot in a large-scale environment and can provide reliable location information depending on multiple location components. This method can also effectively reduce the time delay compared with a method that first traverses all the compo- nents directly and then switches components. Keywords:mobile robot;location;reinforcement learning;middleware;Monte Carlo;multi-sensor;modulariza- tion;distributed system 定位是移动机器人最重要的功能之一,其目的 获取的观测值,经过一系列的处理和转换,产生更加 在于确定机器人在环境中的位置。定位是指利用先 准确的对机器人当前位姿的估计。机器人的定 验环境地图信息、机器人位姿的当前估计与传感器 位方式与机器人使用的传感器有关。目前,在移动 机器人上使用较多的传感器有里程计、摄像头、激光 收稿日期:2015-10-29.网络出版日期:2016-03-15 基金项目:国家自然科学基金项目(61273331). 雷达、超声波等。不同的传感器有不同的优缺点,如 通信作者:曹其新.E-mail:qcao@jtu.edu.cm
第 11 卷第 2 期 智 能 系 统 学 报 Vol.11 №.2 2016 年 4 月 CAAI Transactions on Intelligent Systems Apr. 2016 DOI:10.11992 / tis.201510031 网络出版地址:http: / / www.cnki.net / kcms/ detail / 23.1538.TP.20160315.1252.020.html 基于强化学习的多定位组件自动选择方法 梁爽1 ,曹其新1 ,王雯珊1 ,邹风山2 (1.上海交通大学 机器人研究所,上海 200240; 2.新松机器人有限公司 中央研究院,辽宁 沈阳 110000) 摘 要:在一个大规模的动态环境中,针对机器人各种定位传感器的局限性,提出了一种基于强化学习的定位组件 自动选择方法。 系统采用分布式架构,将机器人不同的定位传感器与定位方法封装为不同的组件。 采用强化学习 的方法,寻找最优策略,实现多定位组件的实时切换。 仿真结果表明,该方法可以解决大型环境中,单一定位方法不 能适用于整个环境的问题,能够依靠多定位组件提供可靠的机器人定位信息;环境发生改变时,通过学习的方法不 需要重新配置组件,且与直接遍历组件后切换组件的方法相比,极大地减小了延时。 关键词:移动机器人;定位;强化学习;中间件:Monte Carlo 方法;多传感器;模块化;分布式系统 中图分类号: TP242.6 文献标志码:A 文章编号:1673⁃4785(2016)02⁃0149⁃07 中文引用格式:梁爽,曹其新,王雯珊,等. 基于强化学习的多定位组件自动选择方法[J]. 智能系统学报, 2016, 11(2): 149⁃154. 英文引用格式:LIANG Shuang, CAO Qixin, WANG Wenshan, et al. An automatic switching method for multiple location compo⁃ nents based on reinforcement learning[J]. CAAI transactions on intelligent systems, 2016, 11(2): 149⁃154. An automatic switching method for multiple location components based on reinforcement learning LIANG Shuang 1 , CAO Qixin 1 , WANG Wenshan 1 , ZOU Fengshan 2 (1. Research Institute of Robotics, Shanghai Jiaotong University, Shanghai 200240, China; 2. SIASUN Robot and Automation CO., LTD, Shenyang 110000, China) Abstract:To address the limitations of location sensors in large⁃scale dynamic environments, an automatic switching method for multiple robotic components based on reinforcement learning is proposed. This system uses distributed architecture and encapsulates different location sensors and methods into different middleware components. Rein⁃ forcement learning is employed to find the optimal strategy for deciding how to switch between components in real time. The simulation result shows that this method can solve problems that a single location method cannot in a large⁃scale environment and can provide reliable location information depending on multiple location components. This method can also effectively reduce the time delay compared with a method that first traverses all the compo⁃ nents directly and then switches components. Keywords:mobile robot; location; reinforcement learning; middleware; Monte Carlo; multi⁃sensor; modulariza⁃ tion; distributed system 收稿日期:2015⁃10⁃29. 网络出版日期:2016⁃03⁃15. 基金项目:国家自然科学基金项目(61273331). 通信作者:曹其新. E⁃mail:qxcao@ sjtu.edu.cn. 定位是移动机器人最重要的功能之一,其目的 在于确定机器人在环境中的位置。 定位是指利用先 验环境地图信息、机器人位姿的当前估计与传感器 获取的观测值,经过一系列的处理和转换,产生更加 准确的对机器人当前位姿的估计[1] 。 机器人的定 位方式与机器人使用的传感器有关。 目前, 在移动 机器人上使用较多的传感器有里程计、摄像头、激光 雷达、超声波等。 不同的传感器有不同的优缺点,如
150. 智能系统学报 第11卷 视觉传感器信息量大、感应时间短,但获得的数据噪 从而选择相应的定位组件。 声大、信息处理时间长,且定位目标容易受背景与光 口接口 照条件的影响)]:激光传感器在测距范围和方向上 数据流 切换开关 具有较高的精度,但价格昂贵:超声波传感器处理信 室内摄像头 息简单、成本低、速度快,但角度分辨力较低。各定 定位组件 位方法一般都有特定的工作环境要求,单一的定位 室内摄像头 方法很难适用于大规模动态环境。为了提高机器人 定位组件 的定位精度,常常采用多个传感器结合的方式。本 文提出一种模块化开发的架构,将几个不同的定位 室内摄像头 系统模块化,采用强化学习方法,通过对系统的试错 定位组件 -奖励寻找最优策略,从而在动态环境中自动选择 可靠的定位模块,不同的定位模块之间可以动态地 室内摄像头 切换、自由组合,以弥补各自的不足。 定位组件 室内摄像头 1 组件化系统架构 定位组件 本文采用RT中间件技术,将机器人各个功能 ▣ 模块及相应的算法封装成不同的RT组件。RT中 室内摄像头 间件通过将不同的机器人组件连接起来,从而构建 定位组件 组件分布式的系统以增强机器人系统的灵活性与软 室内摄像头 件的重用性)。RT中间件根据生命周期来定义T 定位组件 组件的动作,如图1所示,RT组件在被创建、未激 图2模块化的机器人系统 活、激活、错误几个状态间切换,通过执行不同的状 Fig.2 Modular robotic system 态对应的功能函数,来实现组件的功能。系统的每 1.1基于激光测距仪的定位方法 个组件都有输入与输出端口,用以和其他组件进行 激光测距仪是一种高精度、高解析度外部传感 数据传输。 器)。本文使用激光测距仪感知机器人所处的环 境信息,采用MCL(Monte Carlo localization)定位方 被创建 法,并使用ROS(robot operating system)中的AMCL 包完成基于激光测距仪的定位6。 未激活 激活】 MCL方法是一种基于贝叶斯滤波的概率估计 自定位方法。它使用一系列带有权值的粒子来表示 输人接口 输出接口 错误 机器人在运行环境中的可能位置。权值越大意味着 粒子代表的位置与机器人实际位置的匹配程度越 图1RT组件的结构 高。MCL算法首先根据机器人当前的运动状态, Fig.1 RT-Component Architecture 对代表机器人位置的粒子进行移动,由里程计运 本文创建7个组件:室内摄像头定位组件、走廊 动信息u-1和前一时刻的机器人位姿l,1= 摄像头定位组件、室外摄像头定位组件、激光传感器 (x-1,y-1,0-1)估计次粒子的位置;之后根据当 定位组件、定位选择组件、电机驱动组件与机器人导 前位置传感器得到的测量信息z,计算粒子权值; 航组件,各组件之间通过组件接口进行数据传输。 接着更新粒子分布,根据粒子权值的大小来复制 分布式的机器人系统如图2所示,机器人本体安装 粒子,权值较小的粒子即被筛除。最后根据粒子 有一个激光传感器,环境中分布安装有个环境摄像 的权值及其分布情况来计算机器人的位置,在粒 头,每个传感器模块及算法都采用中间件技术进行 子最集中的地方,选取权值最大的粒子作为机器 封装,保证各个传感器组件之间无影响,定位选择组 人的位置估计)。从而得到当前位置的估计值 件的输入接口可以连接到不同定位组件输出接口, (x,y,z)与相应的协方差矩阵C:
视觉传感器信息量大、感应时间短,但获得的数据噪 声大、信息处理时间长,且定位目标容易受背景与光 照条件的影响[2] ;激光传感器在测距范围和方向上 具有较高的精度,但价格昂贵;超声波传感器处理信 息简单、成本低、速度快,但角度分辨力较低。 各定 位方法一般都有特定的工作环境要求,单一的定位 方法很难适用于大规模动态环境。 为了提高机器人 的定位精度,常常采用多个传感器结合的方式。 本 文提出一种模块化开发的架构,将几个不同的定位 系统模块化,采用强化学习方法,通过对系统的试错 -奖励寻找最优策略,从而在动态环境中自动选择 可靠的定位模块,不同的定位模块之间可以动态地 切换、自由组合,以弥补各自的不足。 1 组件化系统架构 本文采用 RT 中间件技术,将机器人各个功能 模块及相应的算法封装成不同的 RT 组件。 RT 中 间件通过将不同的机器人组件连接起来,从而构建 组件分布式的系统以增强机器人系统的灵活性与软 件的重用性[3] 。 RT 中间件根据生命周期来定义 RT 组件的动作,如图 1 所示,RT 组件在被创建、未激 活、激活、错误几个状态间切换,通过执行不同的状 态对应的功能函数,来实现组件的功能。 系统的每 个组件都有输入与输出端口,用以和其他组件进行 数据传输。 图 1 RT 组件的结构 Fig.1 RT⁃Component Architecture 本文创建 7 个组件:室内摄像头定位组件、走廊 摄像头定位组件、室外摄像头定位组件、激光传感器 定位组件、定位选择组件、电机驱动组件与机器人导 航组件,各组件之间通过组件接口进行数据传输。 分布式的机器人系统如图 2 所示,机器人本体安装 有一个激光传感器,环境中分布安装有个环境摄像 头,每个传感器模块及算法都采用中间件技术进行 封装,保证各个传感器组件之间无影响,定位选择组 件的输入接口可以连接到不同定位组件输出接口, 从而选择相应的定位组件。 图 2 模块化的机器人系统 Fig.2 Modular robotic system 1.1 基于激光测距仪的定位方法 激光测距仪是一种高精度、高解析度外部传感 器[5] 。 本文使用激光测距仪感知机器人所处的环 境信息,采用 MCL (Monte Carlo localization)定位方 法,并使用 ROS( robot operating system) 中的 AMCL 包完成基于激光测距仪的定位[6] 。 MCL 方法是一种基于贝叶斯滤波的概率估计 自定位方法。 它使用一系列带有权值的粒子来表示 机器人在运行环境中的可能位置。 权值越大意味着 粒子代表的位置与机器人实际位置的匹配程度越 高。 MCL 算法首先根据机器人当前的运动状态, 对代表机器人位置的粒子进行移动,由里程计运 动信 息 ut - 1 和 前 一 时 刻 的 机 器 人 位 姿 l t - 1 = ( xt - 1 ,yt - 1 ,θt - 1 ) 估计次粒子的位置;之后根据当 前位置传感器得到的测量信息 zt 计算粒子权值; 接着更新粒子分布,根据粒子权值的大小来复制 粒子,权值较小的粒子即被筛除。 最后根据粒子 的权值及其分布情况来计算机器人的位置,在粒 子最集中的地方,选取权值最大的粒子作为机器 人的位置估计[ 7] 。 从而得到当前位置的估计值 ( x,y,z) 与相应的协方差矩阵 C : ·150· 智 能 系 统 学 报 第 11 卷
第2期 梁爽,等:基于强化学习的多定位组件自动选择方法 ·151· 「cov(x,x) cov(x,y)cov(x,z) Monte Carlo方法是通过估计值函数来学习的 C= cov(y,x) cov(y,y) cov(y,z) (1) 一种常用的强化学习算法,与其他方法相比,它不需 Lcov(z,x)cov(z,y) cov(z,z)」 要环境的完整模型,只需要与环境在线或者仿真下 二维平面中cov(x,x)、cov(y,y)分别代表x与 交互得到的状态、动作和奖励的采样序列。Monte y方向上的方差。 Carlo的具体算法如下山: 1.2基于环境摄像头的定位方法 1)初始化强化学习系统的Q(s,a)与策略 机器人在摄像头视野内运动时,可由摄像头得 π(s):对于所有的s∈S,a∈A(s),Q(s,a)与 到机器人的位置信息,本文采用颜色跟踪的方法,用 π(s)取任意值: CamShift算法实现机器人跟踪定位。CamShift跟踪 2)初始化移动机器人的状态: 算法是以颜色直方图为目标模式的目标跟踪算法, 3)根据状态信息与π(s),生成一个动作: 它具有较高的运算效率)。它的基本思想是首先 4)执行动作使机器人到达一个新的位置,同时 建立起被跟踪目标位置的颜色概率模型。选择出示 获得相应的奖励值,并添加到Returns(s,a); 搜索窗口的大小和位置后,统计出该区域内每个像 5)根据奖励值更新Q(s,a),Q(s,a)= 素点的直方图,再将此直方图作为概率查找表。在 average(Returns(s,a)); 目标跟踪的过程中,针对摄像头所得图像的每一个 6)选择最大Q值对应的动作π(s)=arg 像素,查找生成的概率查找表,从而将视频图像转化 maxQ(s,a) 为目标颜色概率分布图,同时用当前帧定位的结果 7)重复3)~6)。 来预测下一帧图像中目标的中心和大小。 对得到的结果进行卡尔曼滤波,同样得到当前 3基于强化学习的定位组件选择方法 位置的估计值(x,y,z)与相应的协方差矩阵C。 由于不同环境下不同定位组件的定位效果不 2基于Monte Carlo的强化学习算法 同,需要在不同的定位方法间动态地切换、自由组 合,来弥补各自的不足。例如走廊上由于几何特征 强化学习是一种基于试错机制的学习方法。所 不丰富,因此激光定位效果不佳,需要切换为走廊环 谓强化学习就是智能系统从环境到行为映射的学 境摄像头定位。 习,以使动作累积得到的奖励信号值最大,从而寻找 现有的方法采用简单直观的贪心思想,即总是 到一个最优策略。强化学习并不直接告诉强化学习 选择可靠度最高的那个组件。由于在线切换需 系统该如何产生正确或最优的动作,而是依靠自身 要遍历所有定位组件,效率低下。网络可能存在较 的经历学习,通过学习,在行动的环境中获得知识, 大延迟,每连接一个组件需要几百毫秒甚至两三秒 改进行动方案以适应环境[。 的时间。在大规模环境中在线切换算法会造成很大 定义系统状态集合为S,组件选择动作集合A。 的延迟。同时离线配置每个组件的定位范围,工作 在任意时刻t,系统从当前状态状态s,∈S选择下 量大,不能适应动态情况。离线配置需要各组件在 一步执行动作A(s,),系统变迁到新的状态s+1∈S 不同区域的定位精度有一个可靠的估计,在定位组 并获得相应的奖惩值,。定义目标函数为从初始 件众多、环境复杂的情况下很难配置。因此当环境 状态到目标状态后累积得到的奖励值。强化学习的 改变,例如移动家具,光线条件变化等,组件定位效 目的就在于搜索出一个最优策略π·:S→A,使得 果会发生变化,造成离线设定的失败。 目标函数的值最大,即π‘(s)=maxπ(s)【o。强 为了更加缩短组件间的切换时间,同时实现机 化学习的框图如图3所示。 器人的智能化,本文提出了一种基于强化学习的定 状态s 位组件自动选择方法,不用手动设定各组件的定位 奖励r 智能体 环境 范围,而是让机器人在环境中运动一段时间,自己找 动作a 出最优的定位方案。 图3强化学习的结构 3.1机器人状态与动作空间的描述 Fig.3 The structure of reinforcement learning 定义状态s(x,y,c,d)∈S,其中(x,y)表示机
C = cov(x,x) cov(x,y) cov(x,z) cov(y,x) cov(y,y) cov(y,z) cov(z,x) cov(z,y) cov(z,z) é ë ê ê êê ù û ú ú úú (1) 二维平面中 cov(x,x)、cov(y,y) 分别代表 x 与 y 方向上的方差。 1.2 基于环境摄像头的定位方法 机器人在摄像头视野内运动时,可由摄像头得 到机器人的位置信息,本文采用颜色跟踪的方法,用 CamShift 算法实现机器人跟踪定位。 CamShift 跟踪 算法是以颜色直方图为目标模式的目标跟踪算法, 它具有较高的运算效率[8] 。 它的基本思想是首先 建立起被跟踪目标位置的颜色概率模型。 选择出示 搜索窗口的大小和位置后,统计出该区域内每个像 素点的直方图,再将此直方图作为概率查找表。 在 目标跟踪的过程中,针对摄像头所得图像的每一个 像素,查找生成的概率查找表,从而将视频图像转化 为目标颜色概率分布图,同时用当前帧定位的结果 来预测下一帧图像中目标的中心和大小。 对得到的结果进行卡尔曼滤波,同样得到当前 位置的估计值 (x,y,z) 与相应的协方差矩阵 C 。 2 基于 Monte Carlo 的强化学习算法 强化学习是一种基于试错机制的学习方法。 所 谓强化学习就是智能系统从环境到行为映射的学 习,以使动作累积得到的奖励信号值最大,从而寻找 到一个最优策略。 强化学习并不直接告诉强化学习 系统该如何产生正确或最优的动作,而是依靠自身 的经历学习,通过学习,在行动的环境中获得知识, 改进行动方案以适应环境[9] 。 定义系统状态集合为 S,组件选择动作集合 A。 在任意时刻 t , 系统从当前状态状态 st ∈ S 选择下 一步执行动作 A(st) ,系统变迁到新的状态 st+1 ∈ S 并获得相应的奖惩值 rt 。 定义目标函数为从初始 状态到目标状态后累积得到的奖励值。 强化学习的 目的就在于搜索出一个最优策略 π ∗ :S → A ,使得 目标函数的值最大,即 π ∗ (s) = max a π a (s) [10] 。 强 化学习的框图如图 3 所示。 图 3 强化学习的结构 Fig.3 The structure of reinforcement learning Monte Carlo 方法是通过估计值函数来学习的 一种常用的强化学习算法,与其他方法相比,它不需 要环境的完整模型,只需要与环境在线或者仿真下 交互得到的状态、动作和奖励的采样序列。 Monte Carlo 的具体算法如下[11] : 1) 初 始 化 强 化 学 习 系 统 的 Q(s,a) 与 策 略 π(s) :对于所有的 s ∈ S , a ∈ A(s) , Q(s,a) 与 π(s) 取任意值; 2)初始化移动机器人的状态; 3)根据状态信息与 π(s) ,生成一个动作; 4)执行动作使机器人到达一个新的位置,同时 获得相应的奖励值,并添加到 Returns(s,a) ; 5) 根 据 奖 励 值 更 新 Q(s,a) , Q(s,a) = average(Returns(s,a)) ; 6) 选 择 最 大 Q 值 对 应 的 动 作 π(s) = arg max a Q(s,a); 7)重复 3) ~6)。 3 基于强化学习的定位组件选择方法 由于不同环境下不同定位组件的定位效果不 同,需要在不同的定位方法间动态地切换、自由组 合,来弥补各自的不足。 例如走廊上由于几何特征 不丰富,因此激光定位效果不佳,需要切换为走廊环 境摄像头定位。 现有的方法采用简单直观的贪心思想,即总是 选择可靠度最高的那个组件[12] 。 由于在线切换需 要遍历所有定位组件,效率低下。 网络可能存在较 大延迟,每连接一个组件需要几百毫秒甚至两三秒 的时间。 在大规模环境中在线切换算法会造成很大 的延迟。 同时离线配置每个组件的定位范围,工作 量大,不能适应动态情况。 离线配置需要各组件在 不同区域的定位精度有一个可靠的估计,在定位组 件众多、环境复杂的情况下很难配置。 因此当环境 改变,例如移动家具,光线条件变化等,组件定位效 果会发生变化,造成离线设定的失败。 为了更加缩短组件间的切换时间,同时实现机 器人的智能化,本文提出了一种基于强化学习的定 位组件自动选择方法,不用手动设定各组件的定位 范围,而是让机器人在环境中运动一段时间,自己找 出最优的定位方案。 3.1 机器人状态与动作空间的描述 定义状态 s(x,y,c,d) ∈ S ,其中( x,y) 表示机 第 2 期 梁爽,等:基于强化学习的多定位组件自动选择方法 ·151·
·152. 智能系统学报 第11卷 器人当前坐标,c∈C,C={1,2,3,4}表示当前使 位置本算法所选择的定位组件。可以看到,迭代次 用的定位组件,共有室内摄像头定位组件、走廊摄像 数越大,定位方法的选择越符合最优策略,当迭代次 头定位组件、室外摄像头定位组件、激光传感器定位 数为50000时,与图4对比可看出,不同组件所在 组件4种组件。d∈D,D={1,2,3,4,5,6,7,8}表 的位置都处于组件的有效定位区域内,此时系统可 示机器人运动方向,即在世界坐标系下沿-135°、 以自动地切换到有效的定位组件。 -90°、-45°、0°、45°、90°、135°、180°前进,动作a∈A 0 0 表示切换组件的动作。 5 3.2强化信号的确定 10 协方差矩阵可以用来判断定位信息是否可靠, 10 15 0 10 15 本文通过设定阈值的方法来判断定位是否有效。定 x/m x/m (a)激光有效区域 (b)室内摄像头有效区域 位方差过大,此时组件定位无效,令奖惩函数R(s, 01 a)表示在状态s下执行动作a后获得的奖惩值,此 时R(s,a)返回-5。若定位方差较小,说明切换到 有效的定位组件,则R(s,a)返回0。 10 10 期望函数Q(s,a)=E(∑R(s,a,)表示在状 5 10 15 5 x/m x/mo 15 态s下执行动作a的奖惩值的期望。策略π“(s)表 (©)走廊极像头有效区域 (d)室外摄像头有效区域 示采取的一系列动作的集合,在强化学习收敛以后, 图4环境内各传感器的有效定位区域 Fig.4 Effective area of each sensor in the environment 最优策略π·(s)就是针对每一个状态s,选择一个 使Q函数值最大的动作a。 在选择定位组件问题中,初始时可以使用一个随 机选择的策略。机器人在环境中按照当前策略运行, 运行一段时间后即根据奖励和惩罚,修改选择策略,使 10 得奖励值的期望值最大化,策略将收敛到最优策略。 12 051015 051015 4仿真与实验结果 x/m x/m (a)迭代次数为1 (b)迭代次数为10 为了验证本方案,在MATLAB平台上进行了仿 真实验。仿真环境中选用了两种传感器:激光传感 器和摄像头传感器,其中激光传感器在特征点较多 的房间内定位精度较高,而在特征点较为相似的走 廊中定位精度很差:由于摄像头定位能力局限于其 0 5 5 10 15 安装位置,因此3个摄像头有3个不同的有效定位 x/m x/m (c)迭代次数为100 (d)送代次数为1000 区域:室内摄像头区域、走廊摄像头区域、室外摄像 头区域。图4中的4幅图代表了不同传感器的有效 定位区域,黑色部分代表本传感器的无效定位区域。 实验中,设置机器人的起始位置后,系统随机选 10 10 择房间中的一点作为机器人的目标点,机器人通过 12 12 强化学习算法判断所经过的区域内选择何种传感器 051015 051015 x/m x/m 可以保证最优策略。实验测试了选取不同迭代次数 (e)迭代次数为10000 (D送代次数为50000 时本算法所得到的结果。 图5迭代次数分别为1、10、100、1000、10000、 图5所示为不同迭代次数下,本算法对于定位 50000时本算法对定位区域的选择 组件的选择,横坐标与纵坐标分别代表机器人所处 Fig.5 The choice of localization components when the iterations is 1,10,100,1 位置的横坐标与纵坐标,不同灰度的方块代表当前 000,10000,50000
器人当前坐标, c ∈ C, C = {1,2,3,4} 表示当前使 用的定位组件,共有室内摄像头定位组件、走廊摄像 头定位组件、室外摄像头定位组件、激光传感器定位 组件 4 种组件。 d ∈ D,D = {1,2,3,4,5,6,7,8} 表 示机器人运动方向,即在世界坐标系下沿- 135°、 -90°、-45°、0°、45°、90°、135°、180°前进,动作 a ∈ A 表示切换组件的动作。 3.2 强化信号的确定 协方差矩阵可以用来判断定位信息是否可靠, 本文通过设定阈值的方法来判断定位是否有效。 定 位方差过大,此时组件定位无效,令奖惩函数 R(s, a) 表示在状态 s 下执行动作 a 后获得的奖惩值,此 时 R(s,a) 返回-5。 若定位方差较小,说明切换到 有效的定位组件,则 R(s,a) 返回 0。 期望函数 Q(s,a) = E(∑R(si,ai)) 表示在状 态 s 下执行动作 a 的奖惩值的期望。 策略 π a (s) 表 示采取的一系列动作的集合,在强化学习收敛以后, 最优策略 π ∗ (s) 就是针对每一个状态 s,选择一个 使 Q 函数值最大的动作 a。 在选择定位组件问题中,初始时可以使用一个随 机选择的策略。 机器人在环境中按照当前策略运行, 运行一段时间后即根据奖励和惩罚,修改选择策略,使 得奖励值的期望值最大化,策略将收敛到最优策略。 4 仿真与实验结果 为了验证本方案,在 MATLAB 平台上进行了仿 真实验。 仿真环境中选用了两种传感器:激光传感 器和摄像头传感器,其中激光传感器在特征点较多 的房间内定位精度较高,而在特征点较为相似的走 廊中定位精度很差;由于摄像头定位能力局限于其 安装位置,因此 3 个摄像头有 3 个不同的有效定位 区域:室内摄像头区域、走廊摄像头区域、室外摄像 头区域。 图 4 中的 4 幅图代表了不同传感器的有效 定位区域,黑色部分代表本传感器的无效定位区域。 实验中,设置机器人的起始位置后,系统随机选 择房间中的一点作为机器人的目标点,机器人通过 强化学习算法判断所经过的区域内选择何种传感器 可以保证最优策略。 实验测试了选取不同迭代次数 时本算法所得到的结果。 图 5 所示为不同迭代次数下,本算法对于定位 组件的选择,横坐标与纵坐标分别代表机器人所处 位置的横坐标与纵坐标,不同灰度的方块代表当前 位置本算法所选择的定位组件。 可以看到,迭代次 数越大,定位方法的选择越符合最优策略,当迭代次 数为 50 000 时,与图 4 对比可看出,不同组件所在 的位置都处于组件的有效定位区域内,此时系统可 以自动地切换到有效的定位组件。 图 4 环境内各传感器的有效定位区域 Fig.4 Effective area of each sensor in the environment 图 5 迭代次数分别为 1、10、100、1 000、10 000、 50 000 时本算法对定位区域的选择 Fig. 5 The choice of localization components when the iterations is 1, 10, 100, 1 000, 10 000, 50 000 ·152· 智 能 系 统 学 报 第 11 卷
第2期 梁爽,等:基于强化学习的多定位组件自动选择方法 ·153. 为了测试系统的鲁棒性,将室内环境进行了小 与图6对比可以看到,在环境特征发生改变的 范围改变,使得激光有效定位区域发生了改变,此时 区域内(左上角部分),机器人可以通过学习,将定 各传感器的有效区域如图6所示。不同迭代次数 位组件更改为有效的室内摄像头,提高了系统的鲁 时,本算法对于定位组件的选择如图7所示。 棒性。 0 将仿真中收敛后的结果在机器人上进行了测 试,测试结果如图8所示,当机器人位于室内(室内 摄像头视野外和室内摄像头视野内)、室外、走廊中 10 时,机器人定位选择组件可以正确地切换到相应的 10 15 0 5 10 15 定位组件。 (a)激光有效区域 (6)室内摄像头有效区域 0 loc alsle cam alsle0 5 5 loc indoor cam ind oc_outdo 10 camoutdgor0selection0 5 10 15 0 5 10 15 ploc jaser 1” laser0 (©)走廊摄像头有效区域 (d)室外摄像头有效区域 图6环境改变后各传感器的有效定位区域 loc_alsle Fig.6 Effective area of each sensor when the environ- cam_alsle0 ment is changed loc indoor 1e camd oavigation eiacadaaioao loc laser laser0 loc_alsle 12 12 cam alsle0 0 51015 0 ,10 15 loc_indoor loc x/m (a)迭代次数为1 (b)迭代次数为10 camduavigation on loc laser loc alsle 10 10 cam alsle0 12 》loc indoo 12 loc 0 5 1015 0 51015 camndoavigation X/11m oc_outdoor (c)迭代次数为100 (d)迭代次数为1000 camoutdoorselection loc_laser laser0 图8实际环境中不同位置机器人定位组件的选择 Fig.8 The selection of localization component in differ- 8 ent positions 12 12 5 结束语 0 51015 0 51015 x/m x/m (e)迭代次数为10000 ()迭代次数为50000 本文提出了一种基于强化学习的大规模动态环 图7迭代次数分别为1、10、100、1000、10 境中多定位组件自动选择方法,实验结果表明移动 000、50000时本算法对定位区域的选择 机器人到达未知环境时,在环境中运行一段时间后, Fig.7 The choice of localization components 可以成功地根据所处的环境切换到较为可靠的传感 when the iterations is 1,10,100, 器。通过强化学习的方法,机器人在选择定位组件 1000,10000,50000
为了测试系统的鲁棒性,将室内环境进行了小 范围改变,使得激光有效定位区域发生了改变,此时 各传感器的有效区域如图 6 所示。 不同迭代次数 时,本算法对于定位组件的选择如图 7 所示。 图 6 环境改变后各传感器的有效定位区域 Fig.6 Effective area of each sensor when the environ⁃ ment is changed 图 7 迭代次数分别为 1、 10、 100、 1 000、 10 000、50 000 时本算法对定位区域的选择 Fig.7 The choice of localization components when the iterations is 1, 10, 100, 1 000, 10 000, 50 000 与图 6 对比可以看到,在环境特征发生改变的 区域内(左上角部分),机器人可以通过学习,将定 位组件更改为有效的室内摄像头,提高了系统的鲁 棒性。 将仿真中收敛后的结果在机器人上进行了测 试,测试结果如图 8 所示,当机器人位于室内(室内 摄像头视野外和室内摄像头视野内)、室外、走廊中 时,机器人定位选择组件可以正确地切换到相应的 定位组件。 图 8 实际环境中不同位置机器人定位组件的选择 Fig.8 The selection of localization component in differ⁃ ent positions 5 结束语 本文提出了一种基于强化学习的大规模动态环 境中多定位组件自动选择方法,实验结果表明移动 机器人到达未知环境时,在环境中运行一段时间后, 可以成功地根据所处的环境切换到较为可靠的传感 器。 通过强化学习的方法,机器人在选择定位组件 第 2 期 梁爽,等:基于强化学习的多定位组件自动选择方法 ·153·
154. 智能系统学报 第11卷 的时候,直接查找Q函数值最大的组件,而不是再 [8]李振伟,陈翀,赵有.基于OpenCV的运动目标跟踪及其 遍历所有的组件,耗时从O(n)减小到0(1),大大 实现[J刀.现代电子技术,2008,31(20):128-130,138. 减少了切换的延迟。组件化的结构可以极大地提高 LI Zhenwei,CHEN Chong,ZHAO You.Moving object 系统的扩展性。 tracking method and implement based on OpenCV[J].Mod- 实验表明多次迭代后,系统可以收敛,今后的工 ern electronics technique,2008,31(20):128-130,138. 作将着重放在进一步优化奖惩函数,以减少所需的 [9]张汝波,顾国昌,刘照德,等.强化学习理论、算法及应 用J].控制理论与应用,2000,17(5):637-642. 迭代次数上。 ZHANG Rubo,GU Guochang,LIU Zhaode,et al.Rein- 参考文献: forcement learning theory,algorithms and its application [J].Control Theory Applications,2000,17(5):637- [1]李群明,熊蓉,褚健.室内自主移动机器人定位方法研 642. 究综述[].机器人,2003,25(6):560-567,573. [10]黄炳强,曹广益,王占全.强化学习原理、算法及应用 LI Qunming,XIONG Rong,CHU Jian.Localization approa- [J].河北工业大学学报,2007,35(6):34-38. ches for indoor autonomous mobile robots:A review[J]. HUANG Bingqiang,CAO Guangyi,WANG Zhanquan.Re- Robot,2003,25(6):560-567,573. inforcement learning theory,algorithms and application [2]张雪华,刘华平,孙富春,等.采用Kinect的移动机器 [J].Journal of Hebei University of Technology,2007,35 人目标跟踪[J].智能系统学报,2014,9(1):34-39. (6):34-38. ZHANG Xuehua,LIU Huaping,SUN Fuchun,et al.Target [11]SUTTON R S,BARTO A G.Reinforcement learning:an tracking of mobile robot using Kinect[J].CAAI transactions Introduction[M].Cambridge,Mass.:MIT Press,1998: on intelligent systems,2014,9(1):34-39. 114-116. [3]ANDO N,SUEHIRO T,KITAGAKI K,et al.RT-middle- [12]WANG Wenshan,CAO Qixin,ZHU Xiaoxiao,et al.An ware:distributed component middleware for RT(robot tech- nology)[C]//Proceedings of 2005 IEEE/RSJ International automatic switching approach of robotic components for im- proving robot localization reliability in complicated environ- Conference on Intelligent Robots and Systems,2005.(IROS ment.Industrial robot:an international journal,2014, 2005).Edmonton,Alta.,Canada:IEEE,2005:3933- 3938. 41(2):135-144. [4]ANDO N,SUEHIRO T,KOTOKU T.A software platform 作者简介: for component based RT-system development:OpenRTM- 梁爽,女,1993年生,硕士研究生, aist[M]//CARPIN S,NODA I,PAGELLO E,et al.Simu- 主要研究方向为移动机器人路径规划 lation,Modeling,and Programming for Autonomous Robots. 及模块化机器人技术。 Berlin Heidelberg:Springer,2008:87-98. [5]庄严,王伟,王珂,等.移动机器人基于激光测距和单 目视觉的室内同时定位和地图构建[J].自动化学报, 2005,31(6):925-933. 曹其新,男,1960年生,教授,博士 ZHUANG Yan,WANG Wei,WANG Ke,et al.Mobile ro- 生导师,主要研究方向为智能机器人与 bot indoor simultaneous localization and mapping using laser 模块化系统、机器视觉与模式识别、移 range finder and monocular vision[J].Acta automatica sini- 动机器人、泛在机器人技术。被I、SCI ca,2005,31(6):925-933. 检索论文90余篇,获得发明和实用新 [6]GERKEY B P.AMCL[EB/OL].http://www.ros.org/wiki/ 型专利50余项。 amcl.2011. [7]刘洞波,刘国荣,胡慧,等.基于激光测距的温室移动 王雯珊,女,1986年生,博士研究 机器人全局定位方法[].农业机械学报,2010,41(5): 生,主要研究方向为泛在机器人、任务 158-163. 规划。 LIU Dongbo,LIU Guorong,HU Hui,et al.Method of mo- bile robot global localization based on laser range finder in greenhouse[J].Transactions of the Chinese society for agri- cultural machinery,2010,41(5):158-163
的时候,直接查找 Q 函数值最大的组件,而不是再 遍历所有的组件,耗时从 O( n)减小到 O(1),大大 减少了切换的延迟。 组件化的结构可以极大地提高 系统的扩展性。 实验表明多次迭代后,系统可以收敛,今后的工 作将着重放在进一步优化奖惩函数,以减少所需的 迭代次数上。 参考文献: [1]李群明, 熊蓉, 褚健. 室内自主移动机器人定位方法研 究综述[J]. 机器人, 2003, 25(6): 560⁃567, 573. LI Qunming, XIONG Rong, CHU Jian. Localization approa⁃ ches for indoor autonomous mobile robots: A review [ J]. Robot, 2003, 25(6): 560⁃567, 573. [2]张雪华, 刘华平, 孙富春, 等. 采用 Kinect 的移动机器 人目标跟踪[J]. 智能系统学报, 2014, 9(1): 34⁃39. ZHANG Xuehua, LIU Huaping, SUN Fuchun, et al. Target tracking of mobile robot using Kinect[J]. CAAI transactions on intelligent systems, 2014, 9(1): 34⁃39. [3]ANDO N, SUEHIRO T, KITAGAKI K, et al. RT⁃middle⁃ ware: distributed component middleware for RT (robot tech⁃ nology) [C] / / Proceedings of 2005 IEEE/ RSJ International Conference on Intelligent Robots and Systems, 2005. (IROS 2005). Edmonton, Alta., Canada: IEEE, 2005: 3933⁃ 3938. [4]ANDO N, SUEHIRO T, KOTOKU T. A software platform for component based RT⁃system development: OpenRTM⁃ aist[M] / / CARPIN S, NODA I, PAGELLO E, et al. Simu⁃ lation, Modeling, and Programming for Autonomous Robots. Berlin Heidelberg: Springer, 2008: 87⁃98. [5]庄严, 王伟, 王珂, 等. 移动机器人基于激光测距和单 目视觉的室内同时定位和地图构建[ J]. 自动化学报, 2005, 31(6): 925⁃933. ZHUANG Yan, WANG Wei, WANG Ke, et al. Mobile ro⁃ bot indoor simultaneous localization and mapping using laser range finder and monocular vision[J]. Acta automatica sini⁃ ca, 2005, 31(6): 925⁃933. [6]GERKEY B P. AMCL[EB/ OL]. http: / / www.ros.org / wiki / amcl, 2011. [7]刘洞波, 刘国荣, 胡慧, 等. 基于激光测距的温室移动 机器人全局定位方法[J]. 农业机械学报, 2010, 41(5): 158⁃163. LIU Dongbo, LIU Guorong, HU Hui, et al. Method of mo⁃ bile robot global localization based on laser range finder in greenhouse[J]. Transactions of the Chinese society for agri⁃ cultural machinery, 2010, 41(5): 158⁃163. [8]李振伟, 陈翀, 赵有. 基于 OpenCV 的运动目标跟踪及其 实现[J]. 现代电子技术, 2008, 31(20): 128⁃130, 138. LI Zhenwei, CHEN Chong, ZHAO You. Moving object tracking method and implement based on OpenCV[J]. Mod⁃ ern electronics technique, 2008, 31(20): 128⁃130, 138. [9]张汝波, 顾国昌, 刘照德, 等. 强化学习理论、算法及应 用[J]. 控制理论与应用, 2000, 17(5): 637⁃642. ZHANG Rubo, GU Guochang, LIU Zhaode, et al. Rein⁃ forcement learning theory, algorithms and its application [J]. Control Theory & Applications, 2000, 17( 5): 637⁃ 642. [10]黄炳强, 曹广益, 王占全. 强化学习原理、算法及应用 [J]. 河北工业大学学报, 2007, 35(6): 34⁃38. HUANG Bingqiang, CAO Guangyi, WANG Zhanquan. Re⁃ inforcement learning theory, algorithms and application [J]. Journal of Hebei University of Technology, 2007, 35 (6): 34⁃38. [11] SUTTON R S, BARTO A G. Reinforcement learning: an Introduction[M]. Cambridge, Mass.: MIT Press, 1998: 114⁃116. [12]WANG Wenshan, CAO Qixin, ZHU Xiaoxiao, et al. An automatic switching approach of robotic components for im⁃ proving robot localization reliability in complicated environ⁃ ment[J]. Industrial robot: an international journal, 2014, 41(2): 135⁃144. 作者简介: 梁爽,女,1993 年生,硕士研究生, 主要研究方向为移动机器人路径规划 及模块化机器人技术。 曹其新,男,1960 年生,教授,博士 生导师,主要研究方向为智能机器人与 模块化系统、机器视觉与模式识别、移 动机器人、泛在机器人技术。 被 EI、SCI 检索论文 90 余篇,获得发明和实用新 型专利 50 余项。 王雯珊,女,1986 年生,博士研究 生,主要研究方向为泛在机器人、任务 规划。 ·154· 智 能 系 统 学 报 第 11 卷