《1 前言》

1 前言

进入21 世纪以来,人口老龄化已成为世界主要国家需要面对的重要社会问题。统计数据显示,随着医疗保健条件的改善、城市化进程加快以及家庭规模的减小,越来越多的老年人口将面临独自生活的问题。欧盟数据显示,欧盟成员国的65 岁以上人口数已经占到总人口数的17.5% ( 2012 年欧盟总人口数为5.057 × 108 ,其中65 岁以上人口数为8.85 × 107 )。预计到2050 年,该比例将攀升至30% ,即65 岁以上人口数将近1.64 × 10[1] 。而在针对不同国家的统计中, 斯堪的纳维亚半岛三国的80 岁以上人口数中有高达67% 以上的老人处于独居状态。美国的情况也与之类似。在亚洲国家中,由于人口基数较大且家庭收入持续增长,这种趋势更加明显。其中,在日本, 2000 年65 岁以上人口数为2.16x 107 ,占总人口数的17.2% ,而2050 年这个比例将达到36.5% ;在中国, 2000 年该比例为6.9% ,近8.8 × 107 人,而2050 年将达到23.9% ,接近4 × 108 人。

具有自主移动能力的服务机器人系统可以辅助独居老人完成一些日常家务,图l 展示了Robot-Era 项目中的室内服务机器人。Robot-Era 项目由欧盟FP7 项目资助,项目开发了一套包括服务机器人在内的智能人居辅助环境( AAL )系统 [2] 。项目的目标服务人群为65 岁以上独居或缺少专门护理人员的老年人。尽管在医学上这些老年人被认为具有自主生活能力,但实际上其身体和精神上已经逐渐开始产生机能及认知上的障碍。本项目所开发的服务机器人系统能够辅助这类老年人完成日常的交流、穿戴、房屋清理和烹饪等活动,并能够帮助老年人进行脑力及身体的锻炼。

《图1》

图1. Robot-Era 家用机器人。(a) 该机器人配置了Scitos-G5 差分移动平台, Ki nova Jaco 6 自由度机器臂及三指灵巧手,倾覆传感器(pan-tilt sensor) ; (b)辅助用户行走的倾斜手柄' (c)物体搬运托盘。

对于系统的功能性需求通过问卷、采访以及观察等方式获得,调查对象为来自德国、意大利及瑞典的老年人[3] 。与典型的实验室机器人系统不同,Robot-Era 系统的用户多为有轻微精神或身体问题的老年人,他们对机器人系统几乎没有任何概念上的认识。因此,机器人的人机界面需要尽可能的简单,功能易于理解和使用。

系统的总体框架如图2 所示。在由多种传感器组成的智能家居环境以及统一调度的任务规划器的辅助下,该系统配备了多种不同类型的服务机器人。系统中多种机器人能够完成多类型的用户任务,其任务范围扩展至整栋公寓楼、小区甚至城镇。数据交换及信息整合通过指令中间层进行,环境信息的获取则通过环境中的固定基站、机器人上的传感器、用户输入以及环境认知模块( CAM )数据库实现。

《图2》

图2. Robot-Era 项目总体架构。用户通过语音界面或者平板触摸屏图形界面与系统进行交互。不同的场景采用不同的机器人,女日室内服务机器人、楼内转运机器人以及室外搬运机器人。PEIS 中间层对环境感知信息、用户操控数据、机器人信息和智能家电的数据进行整合。规划器用来协调智能环境系统和服务机器人。

目前,项目在意大利的Peccioli 和瑞典的Orebro 进行实验及示范。系统中包含3 种不同类型的服务机器人:

• 户外移动机器人一一用于完成户外运输任务,同时也负责为老年人提供辅助行走服务;

• 楼内转运机器人用于完成公寓楼内部多楼层间的物品转运工作;

• 室内服务机器人一一用于室内的物品搬运、清洁等作业。

另外,系统还对电梯和门进行了智能化改造,使其能够与机器人系统进行良好的任务协作。

系统中的室内服务机器人需要与用户进行密切的交互并自主完成多种任务,因此它是系统中最为复杂的个体设备。为节省开发成本, Robot-Era 项目中的室内服务机器人所使用的硬件设备均由较为典型和成熟的组件构成。

在下文中笔者将对室内服务机器人的软硬件设计思想、过程和方法进行详细阐述。第2 节介绍了现有相关技术,第3 节描述了室内移动机器人整体设计及相关部件的选择,第4 节阐述了项目及机器人的软件架构,第5节介绍了相关试验及结果。

《2 研究现状》

2 研究现状

在Nilsson[4]和Brooks[5]分别提出了基于规划的机器人包容体系架构之后,自主机器人控制系统框架结构设计就成为其相关研究中的核心问题。在近些年来的很多机器人系统的研发中,研究者们提出了一系列方法用于构建机器人的多层次、分布式控制架构。该架构主要包括进行符号化高层规划的规划层和封装了机器人基本作业能力的中间层等。类似系统中较为典型的有Player[6]、YARP[7]、ROS[8]和MIRA[9]等。这些软件架构提供了典型和常见的人机交互及机器人任务执行相关的软件模块。

室内服务机器人系统中比较典型的代表是由德国Fraunhofer 公司从1998 年开始研发的Care-O-bot[l0-12] 。它配备了具有万向轮的四驱移动平台,同时装备了一条轻型机器臂和一个可折叠的托盘,可完成物体搬运、拾取和放置等操作。该机器人的原始样机基于该公司自主开发的集中式软件架构[13],目前已经转向基于机器人操作系统( ROS )分布式软件系统进行开发。

助老服务机器人的研究始于日本,与第一代Care-O-bot 同一时期,早稻田大学早在1999 年就开始基于Wendy 系统进行服务机器人的开发[14] 。另一典型的室内服务机器人PR2 也采用了万向轮结构移动平台[15],搭载可升降躯干及两条7 自由度机器臂。可升降躯干大大提高了该机器人的工作空间。同时该机器人软件架构完全基于ROS 进行开发[16] 。许多研究机构购买了PR2作为科研平台,利用其开放的软件平台进行技术成果的交流及分享。类似具有可升降躯干及机器臂的机器人平台还有HoLLiE 系统等[17]

《3 室内服务机器人硬件系统》

3 室内服务机器人硬件系统

对以家庭应用为背景的室内服务机器人来说,其任务对象往往涉及各种日常的家居用品、家具等,可以说机器人的工作空间范围与人类的活动范围是一致的。因此,机器人设计过程中,需要考虑室内各种典型门的宽度限制;同时还需要在机器人的电池续航能力、执行器的负载能力、稳定性和机器人重量等指标之间进行平衡。另外,在大多数任务场景中,机器人需要在直接与人类进行接触、交互的过程中自主地完成移动和操作动作,因此,保障其运行过程中的安全性就显得尤为重要。

上文提到的机器人样机普遍采用了较为复杂的硬件系统设计,因此难以对其样机阶段的戚本进行准确估计。然而, Robot-Era 项目前期进行的目标客户调研及分析结果明确表明,即使是大型养老院也只能负担成本更低的机器人。在限定目标戚本的情况下,该项目采用差分驱动移动平台搭载一条机器臂的形式作为机器人硬件系统的设计基础。图3 展示了该项目进行的3 年过程中研发的若干代样机原型及其改进机型。

《图3》

图3. Robot-Era 项目中室内服务机器人各代样机原型及改进机型。(a) 带助行扶手的原始概念样机设计;(b) 基于J aco 轻型臂及Astromobile 移动平台的机器人样机 [17] ; (c)机器人执行器及传感器坐标系统(ROS 仿真环境) ; (d) 项目第年样机(无外观包装) ; (e) 第二年样机(有外观包装);(句第三年样机(硬件升级及外观包装); (g) 实验测试场景。

《3.1 移动平台》

3.1 移动平台

室内服务机器人的移动平台选用了Scitos-G5 差分驱动移动平台[19] 。该移动平台几何尺寸能够满足机器人在室内各种狭窄走廊和门之间穿行的要求;其内部集成的电池组有效降低了机器人整体的重心,使其能够稳定地完成辅助行走、辅助站立等任务。在电池充满的情况下,机器人可连续工作数小时,并能够自主返回充电桩进行充电。其定位、壁障传感器包括前置及后置激光雷达( SickS300 和Hokuyo URG05)、超声传感器组、里程计和陀螺仪等。

《3.2 机器人执行器》

3.2 机器人执行器

针对目标用户需求的研究表明, Robot-Era 项目中机器人需要具备能够抓取多种不同类型对象的能力,包括柔软物体及衣物等。另外,在进行清理工作时,用户不但希望机器人能够进行较大重量物体的搬运,还要求其能够对地面及较高储物架等位置的物品进行取、放等操作。同时,漂亮且具有亲和力的外观对提高目标用户对机器人的接受度具有明显的积极作用。

因此,笔者从功能需求出发,对若干典型轻型机器臂进行对比。主要考虑的指标包括机器臂重量、负载能力、运动学性能、工作空间范围、手抓形式、力/力矩及触觉传感器、机械及电器接口、软件支持和价格等因素。图4列出了部分可选的典型轻型机器臂,分别为Schunk Powerball[20]、Kinova Jaco[21]、Jaco 兰指灵巧手、Schunk模块化臂[22]、BioBob 记忆材料绳驱动柔顺臂[23]和UR5[24] 。到目前为止,上述机器臂在软件支持方面均缺少与ROS 的接口,但也都有进一步提供ROS 下软件支持的计划。

《图4》

图4. 对室内服务机器人所用机器臂的选择需要考虑的因素包括重量、负载能力、工作空间范围、是否易于安装于移动平台和成本等。(a) Schunk Powerball; (b) Kinova Jaco; (c) Jaco 三指灵巧手(伸展状态) ; (d) Schunk 模块化霄;但) BioRob; (f) URS。

笔者最终采用了Kinova Jaco 机器臂作为机器人的执行器。Kinova Jaco 机器臂具有1.5 峙的负载能力,能够满足机器人任务执行的需求;同时其三指灵巧手能够完成更多类型较为复杂的操作动作。该机器臂最初是作为智能轮椅上用来帮助残障人士进行抓取操作的执行器而设计的[25],不但具有极具亲和力的外观,而且已经获得医疗器械认证。在系统集成方面,该机器人提供了非常方便简易的接口,包括一个USB 数据接口以及一个24 V 直流电掘接口。尽管该机器臂不具备力/力矩或触觉传感器,但它提供了关节电机的电流测量接口,可以采用关节电机电流对机器人的操作力/力矩进行估计。

Kinova Jaco 机器臂的伸展范围为90 cm,且运动学构型独特,因此在移动平台上无法找到合适的安装位置使其能够同时满足对地面以及较高储物架上的物品进行操作的要求。考虑到机器人于臂的任务中主要操作对象均位于地面或桌面,因此笔者在保证机器人工作空间良好覆盖地面及桌面区域的前提下对机器人手臂的安装位置进行确定。原型样机及后续机型中机器人手臂的安装位置见图3 。图5 展示了针对机器人在医院场景两个典型任务中工作空间的分析结果。如果将机器臂安装于能够上下运动的躯干上(如PR2 或HoLLiE 中于臂的安装形式[15, 17] ),则可大幅扩展机器臂的操作覆盖范围。

《图5》

图5. 机器人Jaco 机器营工作空间分析实例(均以顶端抓取姿态为例)。手臂安装在机器人右侧,因此能够同时覆盖机器人右侧较大的工作空间,包括机器人右侧的地面以及机器人上的置物托盘。(a)机器人右侧地面工作空间覆盖范围;(b)医院护理场景工作空间覆盖范围。

《3.3 传感器及真校准》

3.3 传感器及真校准

机器人采用了一系列典型的传感器,包括移动平台上安装的传感器(前后置激光雷达、超声传感器、里程计、陀螺仪、碰撞传感器和急停开关等) 。机器人头部集成了两台FireWare 高速接口摄像头以及一个XtionProRGB-D 传感器,并可调整方向。一台USB 接口摄像头安装在机器人机体右侧,用来观察右侧地面上的对象。这些摄像头的内部参数通过摄像头的标准校准流程进行校准;对摄像头安装完成后的全局校准通过ROS 中自带的摄像头校准工具进行。

《4 软件架构》

4 软件架构

在Robot-Era 项目整体的软件架构中, 笔者通过一个抽象层将机器人能够执行的任务、动作封装成整个系统中的“服务”,供传感器网络中的其他节点调用。大量分布式的ROS 节点提供了各种高效的环境感知和运动规划等算法,并通过它们完成系统中的大部分运算。

《4.1 软件架构抽象层总体结构》

4.1 软件架构抽象层总体结构

如图6 所示,机器人软件架构可抽象为4 个层次。最上层包括人机界面(语音、触摸屏等)和PEIS 接口[26,27] 。其中, PEIS 系统用来对机器人AAL 环境中的传感器网络状态进行监控,并对各种物品对象、任务进行语义信息层次的管理,同时还提供了符号化的多机器人任务规划器用来控制不同机器人、传感器和环境中的其他智能设备[28]

软件架构中第2 层为PEIS-ROS 中间层,机器人的任务执行、操作动作等功能被封装成一系列的“服务”,作为PEIS 与ROS 之间的接口。这些功能性服务分为3 个级别:基础级服务(提供单一传感器或执行器的功能)、中间级服务(涉及多个传感器及执行器的功能)和高级服务(集成基础级和中间级服务中的相关功能) [29] 。表1 列出了PEIS-ROS 中间层中提供的部分服务示例,图7 展示了在传送物品任务中中间层的响应及与其他层交互的过程。

《表1》

表1. 室内服务机器人部分服务实例

Notes: L means low-level; I means intermediate; H means high-level.

《图7》

图7. 获取物晶服务的运行时序图示例。当获取到用户的指令( “取牛奶过来”) 后,规划器首先通过CAM 模块确定目标对象的位置,进行任务规划并调用服务机器人的相关服务。在此示例中,机器人的移动过程(移动至冰箱位置,从冰箱位置返回用户位置)由MIRA/CogniDrive模块处理,其他的感知、机器臂动作规划和执行等由ROS 申其他节点处理。

中间层提供的“服务”所对应的具体功能在第3 层中实现,即由一系列节点构成的ROS 系统层。其中, 物品抓取/搬运操作基于ROS 中提供的Movelt! 框架实现,该框架提供了基于多种传感器的碰撞检测模块和基于自适应滤波器的机器臂运动规划模块等。笔者通过自行开发ROS 节点实现了Jaco 机器臂及其灵巧手的底层控制;另外,还构建了状态监控节点,用来对系统中服务的运行时序进行管理,并将各级任务、子任务执行过程中的信息反馈给PEIS 及人机界面层。

软件架构的第4 层为系统中各种传感器、操作器等硬件设备的软件接口。其中, Metralabs 开发的MIRA/CogniDrive 软件包在Scitos-G5 移动平台的导航定位方面能够实现比ROS 自带的导航定位软件包更优越的效果,因此Robot-Era 项日中的机器人采用该软件包进行机器人的导航定位。

《4.2 ROS》

4.2 ROS

机器人的仿真模型通过URDF 文件进行描述[30],包括机器人的几何/运动学模型、各种传感器的安装位置及属性参数等。其中, ROS 已经实现了对大部分典型传感器和硬件设备的软件支持,如激光雷达、FireWare 摄像头和XtionPro RGB-D 传感器等。

《4.3 PEIS-ROS 申间层》

4.3 PEIS-ROS 申间层

设计PEIS-ROS 中间层的目的是为了对机器人能够提供的任务执行和操作能力进行封装,并映射到PEIS 中的元组空间中。元组空间中的元组包括对任务、对象及操作状态的描述,其数据均包含一个语义标识和相对应的数据体。当PEIS 层收到用户的服务指令后,将提取任务及对象的语义信息进行任务规划,以生成系统中不同机器人所执行的子任务(动作序列)。

在多数情况下,机器人执行动作序列的过程会持续数十秒至几分钟不等,因此笔者在PEIS-ROS 中间层的设计中采用了基于动作执行过程状态反馈的异步服务调用策略。笔者设计了一个继承自actionlib 的C++类exekutors作为服务调用时与PEIS 的接口。当系统中发生一个新的服务请求时,则会产生一个新的exekutor 管理系统中所有机器人在新的服务请求下的动作序列时序[31]。该exekutor 将通过订阅PEIS 网络中特定元组的信息对当前系统中所执行的任务状态进行监控。一旦该元组的状态发生改变,则触发相应的目标函数,开始执行新的服务及任务。元组信息中的数据体则作为目标函数的参数。在新的服务及任务的执行过程中,其执行状态及反馈信息通过exekutor 实时反馈给PEIS ,直到执行结束。

《4.4 多模态感知》

4.4 多模态感知

机器人多模态感知系统的设计面向室内服务机器人的多种任务场景。在机器人对特定物品进行抓取等操作时, 不仅需要准确检测到目标物品,还需要获得物品与机器人的相对位置和姿态关系。因此该场景涉及的物品可分为三类:

• 盒状物品(如麦片盒、牛奶盒、咖啡罐等);

• 圆柱状物品(如饮料瓶、杯子、易拉罐等) ;

• 其他特殊形状物品。

笔者针对上述不同类型的物品感知分别采用不同的算法,并在ROS 中设计了Visionhub 节点进行这些算法的整合。图8 详细展示了感知系统中各部分细节及其整合关系。图9 展示了在一个典型的多物品场景中物品感知的结果。

《图8》

图8. 多模态感知系统总体结构。RGB 摄像头的数据传送至SIFT 物品识别模块以及基于二维码的物品识别模块中。XtionPro 的RGB- D 图像及点云信息经PCL 进行处理, 利用ROS 中的tab letop_ objectrecognition 软件包进行物品的识别和抓取位姿的计算。不同识别模块的结果汇总至Vision hub 节点中进行数据融合,最终输出所识别的物品序列、位姿信息、以及相应的自相关性估计值。点云信息还用来进行人的识别以及移动平台导航定位过程中的避障。

《图9》

图9. 对随机摆放的桌面物品避行识别。(a)机器人头部摄像头视野中显示的摆放于桌面的若干盒装物品; (b)通过ROS 阳iz 可视化工具显示出的物品识别结果。每一个被检测到的物品的名称、形状以及物品的6 自由度位姿信息(3 位置, 3 姿态参数)通过ROS 申message 的形式发布出来。在该图场景中,全部4 个盒装物品通过Visionhub 节点准确地检测、计算并发布出来, 通过Rviz 显示它们的形状(包围盒)以及空间位姿(图中红、绿、蓝轴构成的空间坐标系)等信息。

对于盒状物品,由于其6 个表面中至少会有1 个表面完整地呈现在机器人的视野中,因此笔者采用SIFT 算法[32]进行该类物品的检测和识别。在机器人的数据库中储存有目标物品6 个表面的图像信息以及准确的几何信息。机器人通过视觉获取物品的图像信息,并将检测到的物品的完整表面的信息与数据库信息进行配准,从而识别物品并计算出物品的空间位置和姿态信息。

对圆柱形物品的检测则利用了XtionPro 摄像头所提供的30 点云信息。由于物品呈旋转对称,物品的姿态信息由30 退化成20 ,从而导致机器人在抓取姿态的选择上具有一定的随机性。

作为上述两种较为常规的室内物品的补充, Robot-Era项目的场景中还定义了另外一些用于特殊目的的盒子或篮子类的物品,如购物篮、洗衣篮和垃圾盒等。这些物品上均设计了方便Jaco 机器臂进行抓取的把于(图10 ),并安装了AprilTag [33] 二维码标签用来对物品进行准确的识别和位姿计算。这样,在物品识别的过程中仅依靠检测到的二维码即可完成物品的识别和定位,而不需要物品全部进入视野。通过对二维码的识别及定位,结合对机器人手臂抓取把手动作的示教,计算获得把手与二维码的相对位置。

《图10》

图10. 服务机器人与转运机器人之间的物品传送。(a)盒子上安装了AprilTag 二维码标签;(b)盒子内的圆形把手提高了Jaco 机器臂的抓取稳定性。

在任务规划和执行过程中,上述3 种物品识别及定位的底层算法(分别基于二维码、SIFT、点云) 通过Visionhub 节点进行整合,并作为高层任务级规划过程中的唯一物品识别结果输出节点,与操作控制、任务规划等节点共同完成机器人对物品进行抓取等操作的规划和执行。Visionhub 的XML 配置文件中包含如下数据:

• 物品包围盒维度;

• 物体表面图像及其几何尺寸信息;

• 二维码标签及其几何尺寸、位置信息;

• 抓取信息(如最大抓握力) 。

该节点还提供目标物品的属性、功能以及抓取方法等语义信息,用以作为对象概念化模块以及PEIS 中语义理解模块的接口。

《5 实验及结论》

5 实验及结论

2013-2014 年, Robot-Era 项目针对老年人用户进行了大量实验演示,其中3 5 人位于意大利的Peccioli ,另外35 人位于瑞典的Orebro ,如图11 所示。每位老人通过平板触摸屏或语音等方式与机器人进行交互,并反馈了对11 种机器人辅助任务效果的感受。用户对每个服务的实用性、可接受性以及认知能力进行评价。这些评价中,用户对该系统使用过程的学习曲线将会对评价结果产生重要影响,其中首次使用所受的影响最大。

《图11》

图11. 第一次实验场景图。(a)触摸屏界面;(b)公寓内转运机器人;(c)室内行走辅助;(d)室内服务机器人和转运机器人交接垃圾袋。

基于系统实用性级别( SUS) [34]用户调查问卷分析的实用性和可接受性结果如图12 所示。SUS 中对机器人肯定或否定的评价通过0~100 的数值进行表示,定义如下[35]:

• 0-64 :不实用。

• 65~84 :使用。

• 85~100 :非常实用。

更详细的实验结果分析已经在项目进行报告中发布[36]。对于大多数任务而言,不同性别、教育背景或者富裕程度的用户之间并没有明显差别。但相同软硬件条件下在意大利和瑞典的测试结果差别较大。

笔者仔细分析了来自用户、视频记录和实验过程中故障成因等的反馈[37],并据此对机器人及其系统进行了更新。具体分析及更新如下:

• 总体而言,尽管需要借助麦克风等设备,用户仍然更倾向于使用语音方式进行人机交互。室内环境下的语音识别正确率和效果均较好,使得用户更加倾向于直接与机器人进行语言上的交流。因此笔者对语音识别模块的效果进行了改进,使机器人具有
根据语义进行命令解析的能力。

• 大多数用户对机器人的外形较为在意。针对原始样机外形亲和力欠佳的情况, 笔者对机器人的外观进行了重新设计。

• 对机器臂和托盘位置进行了调整,以实现更优化的工作空间。对机载电脑的配置也进行了升级。

• 测试多次受到网络通讯、PEIS 中间层性能的影响,因此对相应的软硬件也进行了升级。

• 对未知物品的识别可靠性较低,因此将对环境中的物品进行标记,提高鲁棒性。

目前,上述更新均已完成,准备对机器人及其系统进行第二轮测试。两组对比实验仍在原型机实验的公寓环境进行。但实验中研究人员将不会在机器人出现问题时提供帮助或重启系统。最终的实验将在意大利Ancona的老年公寓进行, 实验将完全在没有开发者帮助的条件下进行。

《6 结论》

6 结论

本文中,笔者对采用AAL 架构的室内外助老机器人系统的系统设计及软件架构进行了概述。着重介绍了该系统中用来进行室内服务的机器人的硬件及软件架构。该机器人软件架构采用多层次分布式结构,并在中间层将机器人所能够提供的任务执行及动作能力封装为服务供系统中其他模块进行调用。基于ROS 中较先进的物品识别、操作控制等算法实现了机器人的大多数基本功能。2013-2014 年, 70 位意大利及瑞典的老年人参与进行了该系统的实验。实用性及可接受度分析表明实验结果是积极的。根据实验分析进行了机器人的改造更新,将进一步在第二轮测试中进行各种物品操作及清洁作业任务。

致谢

本文由FP7-288899 欧盟项目Robot-Era 资助, http://www.robot-era.eu/。

Compliance with ethics guidelines

Norman Hendrich, Hannes Bistry, and Jianwei Zhang declare that they have no conflict of interest or financialconflicts to disclose.