自主移动机器人和用于控制自主移动机器人的方法与流程

文档序号:18456600发布日期:2019-08-17 01:38阅读:283来源:国知局
自主移动机器人和用于控制自主移动机器人的方法与流程

此处描述的实施例涉及自主移动的服务机器人,例如用于处理表面(清洁地板)、用于运输物品或用于监控和检查区域的机器人以及用于控制这种自主移动机器人的方法。



背景技术:

近年来,自主移动机器人、尤其服务机器人越来越多地应用于私人家用以及在工作场所中。例如自主移动机器人可用于清洁地面、用于监控建筑物、用于独立于位置和当前活动进行通信或用于运输物品。

自主移动机器人对此大多配设有各种传感器,例如激光扫描仪、超声波传感器或触觉传感器,以便识别出在其周围的隐藏物并且避免例如与物体或人碰撞。对此已知的传感器对准地面,以便例如可识别出可能的陡峭棱边(例如台阶)并且因此避免机器人翻倒。翻倒会导致机器人或在其附近的物体受到损坏。在移动机器人翻倒时也可能损伤人类。通过借助传感器检测周围环境并且之后评估数据,机器人可立即识别出潜在的危险并且避免事故,因为机器人根据危险情况调节其运动。

随着开发和销售更智能系统的需求,自主移动机器人中使用的行为例程的复杂性也持续提高。但是提高的复杂性大多也如同在多种复杂的软件应用中一样具有更高的错误率。这意味着,机器人虽然具有用于识别危险情况的传感器,但是控制软件例如由于未知的程序错误或不期望的外部影响的干扰,不能对已知危险情况作出适当的反应。随着控制软件的复杂性增加,机器人在可想到的所有危险情况中都能作出适当且正确的反应也变得越来越困难。在特定应用中基于法律规定可能需要关于功能安全性的这种证明。对功能安全性的要求也是各种标准(例如en/iec61508和en/iec62061)的主题。

本发明的目的因此可尤其为,提供用于自主移动机器人的稳固的安全机制,其可识别出可靠且可证实的危险情况并且可避免危险情况。



技术实现要素:

上述目的通过根据权利要求1的自主移动机器人以及通过根据权利要求26的方法实现。不同的实施例和改进方案是从属权利要求的主题。

描述了一种自主移动机器人。根据一种实施例,机器人包括:驱动模块,驱动模块配置成使机器人运动通过周围环境;控制模块,控制模块配置成将控制命令发送给驱动模块,其中,控制命令设置成控制机器人的运动;以及安全模块,安全模块配置成探测危险情况,对此根据预先规定的标准将机器人的当前运动分类为有危险的,在该运动分类为有危险时改变或停止机器人的运动。

此外描述了一种用于控制自主移动机器人的方法。根据一种实施例,该方法包括通过控制模块控制机器人的运动,其中,对运动的控制包括由控制模块将控制命令发送给驱动模块,其中,驱动模块配置成,使机器人运动通过周围环境。该方法还包括:借助安全模块探测危险情况;在探测到危险情况时,根据预先规定的标准对机器人的当前运动分类为有危险的;在该运动被分类为有危险时,通过安全模块改变或停止机器人(100)的运动。

附图说明

下面根据在附图中描述的示例详细阐述本发明。示意图不是一定按尺寸比例示出的并且本发明不仅限于示出的方案。而是重点在于呈现本发明所基于的原理。在附图中示出:

图1示例性地示出了各种自主移动机器人以及各种可能的危险情况。

图2在结构框图中示例性地示出了自主移动机器人。

图3在流程图中示出了用于控制自主移动机器人的方法。

图4示例性地示出了自主移动机器人的下侧的视图。

具体实施方式

图1示出了自主移动机器人100的不同示例以及可能的危险情况。图1a示例性地示出了吸尘机器人,其配置成用于清洁地面,尤其对地面吸尘。吸尘机器人对此大多基于三个轮子向前运动(在图1a中未示出)。在吸尘机器人的下侧还大多有可旋转的刷子等,以便在机器人100在地面上运动期间收集脏物。在陡峭棱边上翻倒、例如一节台阶上翻倒时,如在图1b中所示,吸尘机器人可受到损坏。此外,在机器人100掉落到地面或周围物体或碰撞到周围物体或人时,也会损伤地面、在周围的物体或人。因此,某些自主移动机器人100具有地面间隔传感器(floorclearancesensor)(在图1中未示出),其可立即识别出陡峭棱边,例如台阶,以避免翻倒。地面间隔传感器也称为地面探测传感器(floordetectionsensor)或简称为地面传感器(floorsensor)。

图1c示例性地示出了一种远程呈现机器人。远程呈现机器人通常具有界面101(用户端口,也为人机交互,hmi),例如显示器、智能手机、平板等。该界面101固定在机器人100的竖直臂102的上端。在竖直臂102的下端固定机器人主体,机器人主体具有驱动模块103。驱动模块103例如可具有一个或多个马达以及两个或多个轮子,借助它们使远程呈现机器人向前运动。远程呈现机器人原则上提供简单通信的能力,这与使用者的位置和活动无关,因为机器人100可独立地跟随使用者。由于机器人100的结构形式狭窄以及在竖直臂102的上端固定有界面101,这种远程呈现机器人具有相对高的重心。原则上机器人自动平衡。然而在非常倾斜的面上运动时,机器人100可稍微歪倾,由此会损害设备。在猛烈加速或越过门槛或台阶时也会导致机器人100歪倾。在机器人100歪倾或翻倒时,也会损坏周围地面、附近的物体或人。远程呈现机器人的歪倾例如在图1d中示出。因此,远程呈现机器人可具有传感器(在图1中未示出),其配置成,确定机器人100的位置(特别是倾斜度)、加速度和/或角速度。同样,远程呈现机器人例如可具有传感器,其配置成,探测门槛(例如大门槛)或阶梯,以便相应地调整机器人的行驶行为并因此可避免机器人歪倾。

图1e示例地示出了协助机器人,尤其运输机器人。运输机器人大多具有运输平台104,需要运输的物体、例如盘子或玻璃杯可放置在运输平台上。运输机器人在其下侧例如具有轮子(在图1e中未示出),运输机器人借助轮子可向前运动。这种机器人100例如可全天辅助老人并且以这种方式为他们实现独立生活。也可在疗养院中使用运输机器人,以便辅助护理人员的工作。可想到运输机器人的多种其他应用领域(例如在货物存放处、餐馆等)。在运输机器人中通常重要的是,确保缓慢加速,由此在运输平台104上放置的物体不会翻倾或移动。例如在运输平台104的区域中可布置传感器(在图1e中未示出),其确定需要运输物体的重量。也可借助传感器确定,何种物体位于运输平台104上。此外原则上重要的是,避免碰撞,从而避免需要运输物体或整个机器人100歪倾。对此,机器人100可具有不同的传感器,其(必要时具有对应的传感器信号处理)配置成,探测出在机器人100周围中竖立或运动的物体或人(例如激光测距仪、光学三角传感器、摄像机等)。

因此原则上能够在使用不同方法和方式的情况下使机器人自主地运动通过其应用区域,对此自主移动机器人100可识别出可能的危险情况以及避免事故,其中对识别出的危险情况作出适当反应(即,从而避免或至少减轻事故)。这种机器人100通常具有用于控制自主移动机器人100的控制软件。但是,这种在控制模块中通过处理器执行的控制软件越来越复杂。由于控制软件的复杂性提高,不期望的编程错误的危险也提高。此外越来越多的自主移动机器人100可以访问英特网。由此,例如不在机器人100附近的使用者可控制和操控机器人100。同样可经由网络更新机器人100的固件、尤其控制软件。例如自动地或根据使用者的要求下载软件升级。该功能性也称为空中编程(ota编程),ota升级或空中固件(fota)。

但是,自主移动机器人100与网络的连接也可带来危险,即,陌生人能够访问机器人100(例如所谓的截取、破解或越狱机器人)并且如此影响机器人,使得其不再对危险情况正确反应,由此会产生事故。所有控制软件可存储在机器人100本身中或布置在机器人中的存储介质上。但是也可将控制软件的一部分存储到外部设备、例如云服务上。如果控制软件的多个部分存储在外部设备上,此时机器人100的多个部分通常不再是实时的。已知的机器人100的控制软件算法使用非确定性蒙特卡罗方法或机器学习方法,例如深度学习(也称为深度机器学习)。作为蒙特卡罗算法是随机算法,其允许产生具有上限概率的错误结果。与确定性算法相比,蒙特卡罗算法通常更有效。深度学习通常是指一类人工神经网络的优化方法,它在输入层和输出层之间有许多中间层(隐藏层),因而具有较大的内部结构。在蒙特卡罗算法和机器学习中,因果关系不是先验地确定的,因此难以理解。结果,很难证明机器人100的安全操作并且确保机器人100的控制软件在任何危险情况下都正确且及时地作出反应以避免事故。同时,使用这种新的机器人控制方法对于使自主移动机器人100更加智能化是必要的。改进的智能允许机器人100更容易地适应用户的生活及其环境。

因此重要或必须的是,能够证明机器人行为是可靠的,但是对此没有限制机器人100的智能性。根据一种实施例,自主移动机器人100除了控制模块(在其中执行提及的控制软件)外还具有安全模块150(safetymodule),安全模块也可称为危险识别模块(riskdetectionmodule)。这示例性地在图2中的结构框图中示出。在此处描述的示例中,安全模块150与控制模块140无关地工作。原则上,安全模块150配置成,独立于控制模块来监控机器人行为并且识别出危险情况。如果机器人在检测到的危险情况下的行为被认为是错误的、危险的或不适当的,则安全模块150可以启动适当的对策(安全措施)。对策可以是,例如停止机器人100或改变机器人100的行进方向。这利用了这样的事实:比起确定正确的运动,通常更容易确定不应该执行哪个运动。

根据图2示出的示例,机器人100具有不同的其他模块。通常来说,对此一种模块可以是独立的模块(硬件),用于控制机器人100的软件组件,其在特定的机器人应用领域中执行期望的任务(task),也可为二者的组合(例如具有附加外围组件和适当软件和/或固件的专用硬件)。负责机器人100的行为的软件(控制软件)可在机器人100的控制模块140中执行(借助执行控制软件的处理器和存储控制软件的存储器)。提及的处理器例如可包含在微控制器中。控制软件的执行可至少部分地外包外给部设备300(例如个人电脑、服务器等),其例如可在家用网络(例如lan、wlan)中或经由互联网(云)实现。控制模块140可具有所有功能,其被需要用于使自主移动机器人100独立地在其应用区域中运动并且可实现目的。在“机器人”执行特定方法步骤或分步骤时,无需一定仅由机器人中的硬件和软件完成整个方法步骤或分步骤。机器人100(大多机器人的控制模块140)也可仅促使执行该方法步骤或分方法步骤并且使外部的硬件和/或软件来实际执行该方法步骤或分步骤(例如通过外部的计算机或服务器300,其可经由数据连接与机器人通信)。此外,机器人的“智能”也可分配到机器人的各个模块上并且无需集中在中央控制模块上。在“机器人”执行特定方法步骤或分步骤时,可通过机器人的一个模块(例如控制模块140)、多个模块共同地和/或借助外部硬件和软件来完成该方法步骤或分步骤。

控制模块140配置成,基于传感器模块120和/或通信模块130提供的信息为驱动模块170和/或作业模块160产生控制命令。此外,控制软件可具有物体识别和作业计划的功能。此外,控制模块140可配置成,基于由传感器模块120提供的信息识别出危险情况并且产生控制命令,其适合避免危险或减缓危险。在该示例中,自主移动机器人100包括驱动模块170,其例如可具有电动马达、变速器和轮子。借助驱动模块170,理论上可使机器人100行驶在其应用区域的每个点上。机器人100还可具有通信模块130,以便建立与人机接口200(hmi)和/或其他的外部设备300的通信连接。通信连接例如可为直接无线连接(例如蓝牙)、局域无线网络连接(例如wifi或zig-bee)或因特网连接(例如至云服务)。人机接口200可为使用者提供例如关于自主移动机器人100的信息(例如电池状态、当前作业任务、地图信息等)并且可接收用户命令,例如关于自主移动机器人100的作业任务。人机接口200的示例包括平板电脑、智能电话、智能手表、计算机或智能电视。在某些情况下,人机接口200也可直接集成到机器人100中并且可经由按键、手势和/或语音输入和输出。前面提及的外部硬件和软件也可至少部分地位于人机接口200中。对于外部设备300的示例包括在其上存储计算和/或数据的计算机和服务器,提供额外信息的外部传感器或其他的家用设备(例如其他的机器人),自主移动机器人与其共同作业和/或交换信息。

机器人100还可具有作业模块160(处理模块),其执行特定的程序,例如清洁地面或运输物品。该作业模块例如可为用于清洁地面的清洁模块(例如刷子、吸尘设备),配置成托盘的高度可调节的和/或可摆动的运输平台或用于获取和运输物品的夹持臂。在某些情况下,例如在远程呈现机器人或监控机器人中,作业模块160不是一定必须的。由此远程呈现机器人大多具有与人机接口200耦合的完整通信模块130,其具有由例如麦克风、摄像机和显示屏(参见图1,界面101)构成的多媒体单元,以便在多个空间远离的人员之间实现通信。另一示例是监控机器人,其基于控制行驶借助传感器模块120识别特定的(不寻常的)事件(例如火、光、未经授权的人员等)并且例如可根据相关信息通知控制工位。

为了可自主地执行任务,机器人100可选地也具有导航模块,机器人借助导航模块可在其周围中定向。导航模块可为控制模块140的组成部分并且因此在图2中未精确示出。为了定向和导航,导航模块可处理导航特征(navigationfeature,即,机器人定向依据的特征),例如地标(landmark,例如家具、门框、房间角落等),其可借助传感器模块120获知(即,可探测到且可定位到)、进行处理并且用于导航通过机器人的应用区域。这种导航模块例如可借助感测和回避策略(senseandavoidstrategy)和/或slam算法(simultaneouslocalizationandmapping,同步定位和映射)作业和/或借助机器人应用区域的一个或多个地图作业。这种机器人应用区域地图可使机器人在应用期间重新建立或使用在应用开始时存在的地图。现有的地图可在先前应用、例如考察行驶时由机器人本身建立,或由另一机器人和/或人类提供并且例如可持久地(长期地)存储在存储模块(在图2中未示出)中。存储模块通常由非易失性存储器(例如固态盘,ssd)组成。或者机器人应用区域的永久存储的地图也可以存储在机器人外部,例如存储在机器人使用者的家庭中的计算机上(例如平板电脑,家庭服务器)或者可以通过因特网访问的计算机上(例如,云服务器)。

传感器模块120例如可具有用于检测机器人100周围和/或检测机器人100当前状态的一个或多个传感器。例如,传感器模块120可具有一个或多个传感器,用于测量环境中的物体的距离,例如光学和/或声学传感器,其借助发射信号的三角或行进时间测量进行操作(例如三角测量传感器,飞行时间相机,激光扫描仪,超声波传感器等)。合适传感器的其他典型示例包括用于采集周围图像的摄像机,对与物体物理接触作出反应的触觉传感器,加速度传感器,转速传感器,里程表和/或上述地面间隔传感器,地面间隔传感器可以检测例如可能的陡峭棱边。用于检测机器人100的当前状态的传感器的示例包括用于确定致动器(尤其马达)状态的电流传感器、确定机器人是否与地面有牢固接触的轮子接触传感器、用于检测机器人100的倾斜度的位置传感器、里程表(例如,轮子转速传感器(车轮编码器)以及惯性传感器,诸如用于检测所述机器人100的运动的加速度计和转速传感器(例如,组合在惯性测量单元中(inertialmeasurementunit,imu))。

此外,自主移动机器人100可具有电源,例如电池(在图2中未示出)。电池例如在自主移动机器人100被插在(在图中未示出的)基站上时可被充电。基站例如可与电网连接。自主移动机器人100可配置成,在电池需要充电时或在机器人100完成其工作时可自动地驶向基站。

安全模块150配置成,自主地且独立于控制模块140,监控机器人100的自主移动的所选的与安全相关的方面。安全模块150还配置成,在危险情况下控制模块140没有反应或未适当反应时进行干预。未适当反应是指没有避免危险情况或可能引起另一危险情况的反应。不适当的情况例如可为会造成机器人100歪倾或翻倒,由此在没有人类干预的情况下不再能够使机器人100继续工作,或会发生机器人、周围物品、地面或周围人员受损的反应。为了实现提及的独立于控制模块140,安全模块150例如可具有自身的处理器以及存储模块。例如,安全模块可实现为机器人中的单独组件。在存储模块中可存储用于危险识别的软件,其可由处理器执行。对此可使安全模块150具有自身的、单独的处理器和自身的、单独的存储模块。但是同样可使安全模块150与机器人的一个或多个其他模块共享处理器和存储模块。在一种实施例中,可为安全模块150分配处理器的一个处理器核心,其另外的处理器核心由其他的模块(例如控制模块140)使用。例如控制模块140和安全模块150可共享一个处理器。尽管如此,存储模块150的软件可独立于控制模块140或其他模块的软件运行。在安全模块150具有自身的处理器和自身的存储模块(或处理器的处理器核心专用)时,这可降低干扰影响,从而可更容易确保,与安全相关的安全模块150能可靠地且及时地反应。

对此,用于识别危险的软件可尽可能简单地配置,以确保在危险情况下可追踪并因此能可靠验证地检测危险情况和反应。根据一种实施例,自主移动机器人100还可以具有多个安全模块150,其中每个安全模块150配置为利用相应的危险识别软件(其专用于此类识别)识别特定危险情况。例如,安全模块150的各个方案和任务也可以用硬件实现(即,没有专门的软件)。这确保了对关键事件的快速响应。

实现安全模块150以及危险识别软件的简单化目的的可行性方案例如在于,在安全模块150中使用反应性和/或基于行为的机器人(reactive/behaviour-basedrobotics)的不同方案。在这种方案中,例如机器人100的操作方式仅基于传感器模块120的当前传感器数据来确定。但是与这种方案不同的是,安全模块150配置成,仅在例外的情况下,例如在识别到直接的危险并且控制模块140没有适当反应时,干预到机器人100的控制中。为此例如可(基于传感器模块120提供的当前信息)确定禁止的或有潜在风险的运动,其在没有安全模块150的干预时会导致事故。安全模块150配置成在机器人100执行和/或应执行这种禁止的或有风险的运动时进行干预,以便防止或改变这种禁止的或有风险的运动。例如安全模块150可与一个或多个地面间隔传感器(例如包含在传感器模块120中)耦合。在地面间隔传感器显示离地面有不期望高度的间距时(例如因为机器人即将越过棱边或因为机器人被抬升),安全模块150可判断该情况作为危险情况。在相关的地面间隔传感器(在行驶方向上看)布置在机器人之前时,此时安全模块150可将当前运动作为潜在危险并且使当前运动停止或改变当前运动(例如返回)。在这种情况下,使用安全模块150探测危险情况的标准和使用安全模块150判断当前运动(是否作为危险或不危险)的标准实际上是相同的。即,在沿行驶方向位于前方的陡峭传感器显示提高的间距时,识别出危险情况并且判断当前运动作为危险的;安全模块“担当”控制模块并且使驱动模块停止或改变当前运动。在探测特定的危险情况时(例如在识别出在棱边处有翻倒危险时),安全模块可立即停止机器人的当前运动(因为实际上当前运动的任何延续被认为是不适当/危险的)。

自主移动机器人100的控制软件可配置成,经由通信模块130(例如与互联网)的连接进行更新(软件升级)或经由该连接加入功能(软件更新),以由此扩展机器人应用领域。但是原则上在每次升级或每次更新时都存在将错误加入控制软件中的风险。此外,机器人100例如与互联网的连接都是未经授权访问机器人的第三方的可能的攻击点,其可借此承担控制并且由此会造成损坏。因此对安全模块150的危险识别软件的更新例如仅可在附加的安全措施和/或在例外情况下进行。例如完全不进行危险识别软件的更新、该更新进行可经由有线连接的通信端口进行或仅可在先前安全认证更新软件来源之后进行更新(例如仅在交换软件证书之后)。如果危险识别软件以及控制软件只有在认证更新软件来源之后进行更新,则例如可为了更新危险识别软件和控制软件分别使用不同的认证方法。但是原则上也可使用任意合适的认证方法。

图3示例性地示出了用于控制自主移动机器人100的方法。在第一步骤301中,安全模块150可接收信息。该信息例如可从传感器120发出,其中,来自传感器模块120的信息例如可涉及机器人100的内部状态和/或周围环境。额外地或可替代地,安全模块150可接收关于从控制模块140发送给驱动模块170的控制命令的信息。但是安全模块150也可额外地或替代地从驱动模块170接收信息,其中,来自驱动模块170的信息例如可涉及当前的运动(例如方向和速度)以及从控制模块140接收的控制命令。额外地或可替代地,安全模块150可接收关于从控制模块140发送给作业模块160的控制命令的信息。因此,该信息例如可包括关于机器人100的周围环境(例如陡峭棱边、门槛或障碍物的位置或障碍物(例如人员)的运动)的信息。接收的关于机器人100的周围环境的信息可通过安全模块150与关于机器人100的当前运动或规划运动的信息相关联。对此,可直接在接收之后在安全模块150中处理信息和/或在其被处理之前,在此首先针对可预先给定的时间段或可预先给定的距离(机器人100行进的距离)存储该信息。

额外地,接收的信息也可涉及机器人100的周围环境的地图数据,其例如由导航模块建立并且管理。在地图数据中例如可包含关于陡峭棱边或其他障碍物的信息。机器人100知晓在正常运行下其在当前时间点位于地图上的何处。

根据接收的信息,安全模块150可检查是否存在危险情况(步骤302)。例如在机器人100的紧邻环境中有陡峭棱边、对于机器人100不利的地形(例如湿的、光滑的、非常倾斜的或不平的地面)或障碍物时,或在发现障碍物(例如人员)朝机器人100运动时,存在该危险情况。如果没有识别出危险情况,则没有任何反应,且安全模块150继续进行步骤301(收集和评估信息)。

如果安全模块150识别出危险情况,其首先可通知控制模块140该危险情况(步骤303)。但是并非绝对必须将已经识别的危险情况通知控制模块140。安全模块150也可作为一种“无声的观察者”,在没有通知控制模块140危险情况时检查该危险情况。此外,安全模块150检查,控制模块140是否对识别出的危险情况作出正确反应。即,安全模块150可检查,控制模块140是否如此操控驱动模块170,使得机器人100朝障碍物(或陡峭棱边等)行驶(并且由此使危险情况更严重)或是否机器人100偏离危险情况,被制动或停止。为此,安全模块150可首先根据识别出的危险情况确定,哪种运动原则上会导致机器人100的故障(步骤304)。很可能导致事故的运动例如可作为“有危险的运动”,而很可能不会导致事故的运动可作为“安全的运动”。有危险的运动例如是机器人100直接朝向陡峭棱边或障碍物运动的运动。机器人100撞击障碍物并由此会摆动、倒下或歪倾或由于接触障碍物遭受损坏的运动可作为有危险的。

在对运动分类为安全的或有危险的之后,安全模块150此时可检查,机器人100的当前运动是否为有危险的运动或安全的运动(步骤305)。安全模块150对此例如可检查,机器人100是否进一步朝危险情况运动,或是否其可能运动经过障碍物或更改方向以及是否被控制远离危险情况。为此,安全模块150例如可评估控制信号,其从控制模块140发送给驱动模块170。但是可替代地或额外地,也可直接评估驱动模块的运动(例如轮子状态、轮子的转速等)。在安全模块150确定机器人100没有(再)实施有危险的运动时,则没有任何反应,并且安全模块150继续步骤301。但是在安全模块识别出,机器人100执行分类为有危险的运动时,其可开始应对措施(安全措施)(步骤306),其确保机器人100以及周围物体的安全,避免事故或至少减轻事故。应对措施例如可包括利用安全模块150的控制命令覆盖控制模块140的控制命令,或者将驱动模块170与机器人100的电源(电池)断开。如果驱动模块170与电源断开,则机器人100在当前位置停止。安全模块150的控制命令可以包括例如停止信号,其也使机器人100停在当前位置。然而,安全模块150的控制信号还可以包括例如方向和/或速度命令,其使机器人100例如改变其方向和/或其速度。例如,当移动物体穿过机器人的预期路径时,通过降低速度可以避免事故。在许多情况下,例如如果机器人100仅稍微或更多地改变其方向,而不改变速度就足够了。还可以想到的是,机器人100在完全相反的方向上移动,即,例如执行180°旋转或反转。然而,在降低速度或者改变方向均不足以避免意外情况时(例如,如果障碍物已经太近),事故通常还可以通过机器人100的停止(紧急停止)来可靠地防止。

如果控制模块140和安全模块150都将控制命令发送给驱动模块170,控制模块的控制命令例如可被忽略并且仅考虑安全模块150的控制命令。由此,控制模块140的控制命令可如所述地被覆写或覆盖。如果安全模块150没有发送控制命令,可考虑控制模块140的控制命令。因为安全模块150配置成,仅在识别为危险的情况下、尤其仅在控制模块140在识别出危险情况下没有适当反应时,发出控制命令,控制模块140的控制命令也可仅在这种危险情况由通过安全模块150的控制命令覆盖。

对此可选地,安全模块150可通知控制模块140关于应对措施的信息(步骤307)。控制模块140可接收该信息(步骤308)。该操作例如可通过以下方式实现,即,控制模块140将更改的控制命令发送给驱动模块170,其匹配识别到的危险情况。但是也可使控制模块140将该操作直接发送给安全模块150。基于这种操作例如可再次断开与安全模块150中断的电源。

在预定时间之后(例如1秒)控制模块140没有或没有有效的反馈时,安全模块150可假定,例如,不能再确保机器人100的安全运行。在这种情况下,机器人100可选地持久停机(步骤309)。在机器人100先前已经作为安全模块150的应对措施被停机的情况下,其例如可在没有再一次运动的情况断开。如果作为应对措施从安全模块150发出控制命令,其使得机器人100的运动发生改变,机器人100可根据错误的反馈而停机并且断开。例如只有在通过使用者激活机器人或通过使用者或技术人员维修机器人100(例如清洁传感器)时才可重新启动。

根据本发明的一种实施方式,控制模块140可将请求发送给安全模块150,借助安全模块能够执行由安全模块150分类为有危险的运动,从而实现机器人100的进一步运行。在控制模块140通过安全模块150被告知对有危险的运动的应对措施之后可发出请求。可替代地或额外地频繁地进行请求,从而提前通知安全模块150关于规划的运动。由此例如可避免规划运动的中断。安全模块150可检查该请求并且又通知控制模块140,请求的运动是否被允许。传感器模块120的传感器在多个机器人中仅基于机器人100的向前行驶来设计,即,沿通常行驶方向的测量方向、即在机器人100之前的区域中。即,其可没有或仅有限地提供关于机器人100后面区域的信息。因此,机器人100的后移例如仅可在非常短的路程上被分类为安全的,例如在小于5cm或小于10cm的路程上的回移。因此,较长的回移是不被安全模块150允许的。但是,在朝机器人100可为其充电的基站行驶时或在离开基站时,例如需要较长的回移行驶。通常安全模块150在此基于使用者将基站按规定分成,可安全的朝基站行驶和离开基站。如果机器人100此时必须离开基站或向其行驶,为此需要较长的回移路径,控制模块140可将相应的请求发送给安全模块150。安全模块150此时例如可检查,机器人100是否实际上位于基站。例如对此检验,在机器人100的相应充电触头上是否施加电压。另一方案例如是,接触开口在插接到基站上时闭合。安全模块150因此可检查,接触开关是否已经闭合。但是这仅是示例。可以任意另一合适的方式检查,机器人100是否位于基站处。在安全模块150探测出,机器人100位于基站处时,释放为了离开基站所需的回行路程,尽管所需路程超过反向行驶所允许的路程。但是如果安全模块150探测到,机器人100没有在基站,仅可释放反向行驶的允许路程。但是这仅为示例。可想到不同的其他情况,在其中安全模块150例外的将分类为有危险的运动看作为安全的并且释放该运动。

根据本发明的另一实施方式,安全模块150配置成,执行自测试。对此自测试例如具有对属于安全模块150的存储模块的读取和写入测试。如果这种自测试失败,机器人100可持久停机并且切断,直至使用者再次释放机器人100的运行。在自测试失败之后,通常不可确保机器人100的可靠运行。自测试例如也可通过冗余的设计不同构件来实现。由此例如可有安全模块150的双倍的处理器和/或存储模块,其中,在存在的两个处理器上可通过处理危险识别软件。如果两个处理器的结果相同或仅有微小差异,可假定安全模块150正常运行。

根据本发明的另一实施方式,安全模块150可配置成,监控传感器模块120的传感器的可靠运行。对此仅监控将信息提供给安全模块150的传感器就足够。通过监控传感器可识别出,一个传感器是否例如由于故障或脏污而提供错误或不可靠的数据。对此,需要监控的传感器可配置成,自动地识别功能干扰并且将其发送给安全模块150。可替代地或额外地,传感器可配置成,仅将有意义的测量数据提供给安全模块150,如果传感器功能完全。由此例如在地面间隔传感器持久地提供与地面距离为零(或无穷)、而不是对于从传感器至地面距离典型的值时,识别出地面间隔传感器没有正确运行。可替代地或额外地,安全模块150可检测由传感器接收的数据是否一致。例如安全模块150检测,用于确定机器人100的运动的传感器数据与由控制模块140发出的控制命令是否一致。如果识别出一个或多个错误的传感器信号,机器人可持久停机并断开,直至使用者再次释放运行,因为否则不可确保机器人100的可靠运行。

有危险的运动可通过安全模块150基于直接的传感器测量来确定。直接的传感器测量例如是由地面间隔传感器执行的测量。但是也可根据表达的传感器测量确定有危险的运动。表达的传感器测量例如借助图像识别接收识别到的物体,其由机器人100的摄像机完成。机器人100例如可配置成,识别在机器人100的周围环境中的标记或人员和其运动。标记例如可为设立的警告标记,其警告新鲜清洁的土壤和因此易滑倒的土壤。大多数放置在地面上的这种警告标志例如可根据其形状来识别。然而,也可识别出警告标志上的铭文(例如,“注意,有滑倒危险”)或贴在警告标志上的标记,例如qr(quickresponse)代码。可以将关于检测到的标记的信息发送给安全模块150。这可以根据此信息来评估情况,并在必要时调整判断机器人移动的标准。例如,如果已经检测到光滑的地板,则安全模块150可以降低被认为是机器人100的最大安全速度。

但是在步骤304中,代替有危险的运动也可确定安全的运动。在步骤305中安全模块150此时可检测,机器人100是否执行这种安全运动。在如下情况下开始应对措施,其中识别出机器人100执行与没有识别为安全的运动一致的运动。

原则上可借助所述方法识别出任意已知的危险情况。对此,已知的危险情况可在测试情况中有针对性地证实,以便检查机器人100的安全性。在这种测试中,机器人100例如可有针对性地被引入潜在的危险情况中(例如机器人定位在陡峭棱边处)。此时可模拟一种情况,在其中控制模块140将错误的和/或随机的控制命令发送给驱动模块170。然后可观察到,安全模块150是否能可靠地防止事故。

图4示例性地示出了自主移动机器人100的下侧的视图。图4对此示例性地示出了清洁机器人,其中,为了清楚没有示出机器人的清洁模块。示出的机器人100具有两个属于驱动模块170的驱动轮171和一个前轮172。前轮172例如可为被动轮,被动轮本身没有驱动机构并且仅基于机器人100的运动在地面上一起运动。对此,前轮172可围绕基本垂直于地面的轴线转动360°(转动方向在图4中通过虚线箭头示出)。驱动轮171可分别与电驱动机构(例如电动马达)连接。通过驱动轮171的转动使得机器人100向前运动。机器人100还具有地面间隔传感器121。在图4示出的示例中机器人100具有三个地面间隔传感器121r、121m、121l。第一地面间隔传感器121r例如位于机器人100的右侧上(沿行驶方向上看)。对此,第一地面间隔传感器121r无需布置在中轴线x上,中轴线x将机器人100均匀地分配成前部和后部。第一地面间隔传感器121r例如从中轴线x来看可稍微向前布置。第二地面间隔传感器121l例如位于机器人100的左侧上(沿行驶方向看)。对此,第二地面间隔传感器121l同样无需布置在中轴线上。第二地面间隔传感器121l同样可从中轴线x来看稍微向上地布置。第三地面间隔传感器121m例如可在中间靠前的位置布置在机器人100上。例如在每个轮子之前布置至少一个地面间隔传感器121,使得在向前行驶时在轮子越过时,探测到陡峭棱边。

地面间隔传感器121配置成,探测机器人100与地面的间距,或至少配置成,探测地面是否距离特定的间距。在机器人100正常运行期间,地面间隔传感器121通常提供相对均匀的值,因为地面间隔传感器121以及机器人与地面的间距仅微小变化。尤其在光滑地面的情况下与地面的间距大多尽可能保持不变。稍微不同的值例如可在地毯上获得,在其上驱动轮171和前轮172可下陷。由此具有地面间隔传感器121的机器人主体与地面的间距可减小。例如在由其中至少一个地面间隔传感器121提供的值突然大幅增加时例如可识别出陡峭棱边、例如台阶阶级。例如在由至少一个地面间隔传感器121测量到的值提高大于一个预定的极限值时,可识别出陡峭棱边。地面间隔传感器121例如可具有用于光学或声学信号的发送器,和配置成探测发出信号的反射的接收器。可能的测量方法具有测量由地面反射的信号的强度、进行三角测量或测量发出信号的运行时间和其反射的运行时间。根据本发明的一种实施方式,地面间隔传感器121例如没有确定传感器与地面的精确间距,而是仅提供布尔信号,其显示是否在预定的间距之内探测到地面(例如在例如距离传感器121最大5cm的间距中探测到地面)。

由自主移动机器人执行的典型运动包括向前运动、向右或向左的转动运动和这些运动的组合。在机器人100在朝陡峭棱边执行这种运动时,其至少通过其中一个地面间隔传感器121探测出。出于简单的几何考虑,这使得能够确定可能会导致机器人100发生事故(这该情形下为翻倒)的这种运动。如果例如布置在机器人100一侧的第一或第二地面间隔传感器121r、121l被触发,则仅允许机器人100向前运动最大的第一路程l1,其中,第一路程l1对应于在相应的驱动轮171(轮支承点)和地面间隔传感器121r、121l之间的间距。例如如果触发位于机器人100之前的第三地面间隔传感器121m,则仅允许机器人100向前运动最大的第二路程l2,其中,第二路程对应于在前轮172(轮支承点)和第三地面间隔传感器121m之间的间距。因此,机器人100能够从全部行驶中检测到陡峭棱边,产生用于制动的控制信号,并且还在陡峭棱边之前(即在第一和第二路径l1、l2之内)停止。在此尤其应考虑所需的各个构件、即例如传感器模块120、控制模块140、安全模块150和驱动模块170的反应时间以及机器人100的速度、可能的用于使机器人100制动的(负)加速度和与此相关的制动路径。例如安全模块150可配置成,仅在其中一个地面间隔传感器121被触发时才允许机器人100向后运动。在探测到地面间距大于允许的最大值时触发地面间隔传感器。

在图4示出的示例中,第二路径l2短于第一路径l1。为了完全确保在触发第三地面间隔传感器121m之后,机器人100将及时地停在陡峭棱边之前,安全模块150例如可配置成,为了停止机器人100,一旦第三地面间隔传感器121m被触发,发出控制信号。安全模块150例如检查控制模块140的行为是否正确,因为这要求太多时间。只有在机器人100停止之后,安全模块150才可例如检查,控制模块140是否同样将适用于识别出的情况的控制命令发送给驱动模块170。在这种情况中适当的控制命令例如可包括使机器人停止、使向后行驶、转离陡峭棱边的命令。如果安全模块150识别出,控制模块140发出适当的控制命令,则可在控制模块140中完全保留关于机器人100的控制或发送给控制模块。但是如果安全模块150识别出控制模块140发出用于执行有危险运动(例如向前行驶)的控制命令时,则保持或承担关于机器人的控制。如上所述,安全模块150此时例如可还给出用于使机器人100停机的命令,其切断驱动模块170的供电或发出控制命令,其覆盖控制模块140的控制命令并且限定机器人100的可靠运动。

在触发第一或第二地面间隔传感器121r、121l时,例如等待控制模块140对危险情况作出反应是足够的,因为有更多的时间直至机器人100必须停机,以便避开事故。安全模块150在这种情况下例如可等待直至机器人100已经经过第三路程l3(例如l3=l1-l2)。在该时间点,机器人100此时仅还提供第二路程l2所需的时间,以避免事故。在第三路程l3所需的时间中安全模块150由此还可允许控制模块140不覆盖其控制命令或停止机器人100。如果控制模块140在该时间中适当反应,则无需安全模块150的写入,并且保持被动。例如可基于机器人100的可能的最大速度借助过去的时间和/或借助里程表确定是否已经经过第三路程l3。在控制模块140不是在通过第一或第二地面间隔传感器121r、121l探测到陡峭棱边之后的10ms之内停止机器人100和/或控制离开陡峭棱边时,安全模块150例如可使机器人100停机。

出于成本原因,机器人100通常仅如在图4中所示在机器人100的前部区域中具有地面间隔传感器121,从而仅可在机器人100向前行驶时识别出陡峭棱边。因为机器人100主要在向前方向向前运动,这通常足够确保机器人100关于陡峭棱边的可靠运行。但是在某些情况下可通过障碍物或陡峭棱边阻止在向前方向上的运动。在某些情况下不可避免的是,机器人100整个或至少借助其一个驱动轮171向后行驶,以便从该情况中脱离。但是对此,机器人100仅可如此可靠地向后行驶,如其在该方向上识别的路径那样。如果其没有识别出路径,由于机器人100后部缺少地面间隔传感器,其发生事故的风险增加,因为其例如不能识别位于其后的陡峭棱边。最终由机器人100经过的路程例如可近似为直线。向后行驶例如对于第四路程d可识别为安全的,其中,d是在驱动轮171和圆s之间的间距,地面间隔传感器121以该间距布置在机器人100的前部区域中。在机器人最终向前运动小于第四路径d时,其返回一段路径,该一段路径不大于最终向前方向经过的路径。在结合向前和向后运动的情况下可得出实际上经过的路径并且对于可能所需的返回行驶被考虑。

安全模块150例如可配置成,紧接在接通机器人100之后不允许向后运动,因为其可能没有关于其周围的信息并且其可能没有识别出,在其后是否有陡峭棱边。例如使用者可能将机器人100靠近桌子棱边处放置在桌子上或台阶阶级或台阶突出部上。对此,安全模块150例如可在障碍物或陡峭棱边阻挡向前方向时,阻挡机器人100的向后运动。如上所述,控制模块140例如可在其控制机器人100向后从基站向下时给安全模块150发出相应请求。在安全模块150对该请求已认证,机器人100实际上位于基站处,其可释放从基站向下行驶所需的路径以便向后行驶。

机器人100的运动可借助不同的传感器、例如借助里程表(例如轮子编码器)来确定和/或基于由控制模块140产生的且由安全模块150记录的控制命令来计算。在此例如由机器人100经由的路程例如可以预定的时间段和/或运动间隔来存储。此外,例如也可存储地面间隔传感器121的位置或路程,以便由此可更好地估计安全面积。

根据本发明的一种实施方式,在机器人100先前向前运动至少大于圆s的半径的路径时,地面间隔传感器121所在的圆s可看作是可安全行驶的面。安全模块150在这种情况下可配置成,在(例如基于控制命令和/或里程测量)检测到机器人100在向后行驶(并且由此结合短的向前运动)期间通过向后运动离开圆s时,使机器人100停止。

为了避免碰撞,可共同利用多个传感器探测障碍物。例如,传感器模块120具有光学传感器(例如激光扫描仪),其配置成,使得无接触地识别出障碍物。传感器模块120例如也可具有触觉传感器,其配置成在接触时识别出在光学上难以探测到的障碍物(例如玻璃门)。触觉传感器例如可具有接触开关,其配置成,在接触障碍物时闭合。触觉传感器例如还可具有弹簧行程,其在机器人100的主体冲撞到障碍物上时允许使机器人100制动。在这种情况下,安全模块150类似于在探测到陡峭棱边从而触发地面间隔传感器121时的行为。

安全模块150例如可配置成,监控在机器人附近的障碍物。在探测到障碍物在与机器人100的预定间距之内时,安全模块150例如可防止以高于极限速度的速度运动。预定的间距可与探测到障碍物的方向相关。例如在机器人100后面探测到的障碍物通常不限制机器人100的向前运动。极限速度可与距离障碍物的间距和/或探测到障碍物的方向相关。

传感器模块100例如也可具有传感器,其配置成探测生命体、尤其人类或宠物和其运动。传感器对此例如可包括摄像机,其配置成,拍摄周围环境的图像。例如借助脸部识别和/或根据发出的红外辐射(基于人或动物的身体温度)以及进一步根据拍摄的图像识别出人和/或动物。在此,可在单个的时间点或多个连续的时间点确定物体的位置。由此可确定,物体是否运动以及以何种速度运动。由物体的当前速度可确定该物体在未来时间点可能的位置。基于该数据,安全模块150此时可确定物体和/或机器人100的危险,并且防止机器人100朝特定的未来位置的方向的运动。

安全模块150也可配置成,在识别到物体时,防止速度和/或加速度大于预先规定的极限值,不管物体是否运动、以何种速度运动以及朝哪个方向运动。通过限定最大速度例如提高了可供机器人100使用的时间,从而对不期望的物体运动作出反应。同时通过限制最大速度降低了人员或动物受伤以及机器人或物体受到损伤的风险,因为速度降低导致机器人100的动能降低。通过限制机器人100的加速度,在周围的人员可更好地评估机器人100的行为并且可更好地对机器人的运动作出反应,由此同样降低事故风险。

自主移动机器人100、例如运输机器人的传感器模块120例如可包括传感器,传感器配置成,探测机器人100是否运输物体(例如玻璃或盘子)以及运输何种物体。根据该信息可调节机器人的运动。例如机器人100可加速为更快并且在其没有运输时,以更大的速度向前运动。如果其例如运输扁平的物体,例如盘子,其通常可加速为比其运输玻璃或瓶子更快。

与图1a、1b和图4中示出的机器人不同,自主移动机器人100、例如远程呈现机器人可具有高的并且细长的结构形状(参见图1c和d)。基于该结构形状,机器人100会易于歪倾运动。对于机器人100的稳定性重要的是其重心的位置、其与地面的接触点以及作用在机器人100上的力和扭矩。接触点例如是驱动模块170的驱动轮。力和扭矩例如通过重力、在机器人100加速时作用到平坦的或倾斜的地面上、作用到机器人100上的外力,例如冲撞以及通过机器人在平坦的或倾斜的地面上的位置确定。用于分析关于机器人100的位置的稳定性的条件通常是已知的并且因此在此处不再详述。

机器人100的当前位置是否稳固例如可借助在机器人100的至少一个部位上测量imu(惯性测量单元,英语inertialmeasurementunit)的当前加速度和角速度来确定。imu例如可布置在机器人重心的附近。此外,机器人100的位置可确定,例如机器人100是否位于平坦的或倾斜的表面上。竖立在倾斜表面上的机器人100原则上更容易摔倒(机器人100的位置的稳定性的损失,参见图1c和d)。同样可确定机器人100的重心的位置。例如在远程呈现机器人中安装在上端的多媒体单元101的高度可变,以便使其匹配使用者的需要(例如使用者站立或使用者坐下)。由此机器人重心的位置发生变化,由此又改变了机器人100的动力学和位置稳定性。

安全模块150可配置成,确保控制模块140没有将控制命令发送给驱动模块170,其有损于机器人100的位置的稳定性。对此,安全模块150例如配置成,用于基于从控制模块140发出的控制命令确定何种力和扭矩可作用到机器人100上,并且是否其可与机器人100的位置稳定性统一。在安全模块150识别出会有损于机器人100的位置稳定性的控制命令时,例如可开始应对措施(安全措施)。应对措施例如可包括停止机器人100。此外,可通知控制模块140该应对措施。会有损于机器人100的位置稳定性的控制命令的示例是机器人100的过快加速,因为其会导致机器人100歪倾。可能的最大加速度可基于机器人100的稳定性分析相对简单地被确定。可能的最大加速度例如与机器人100的位置(倾斜度)、关于支承点的位置的加速度方向(向前加速度、制动、在圆弧上行驶等)和机器人重心的位置相关。由此可例如使机器人100在斜坡上朝下行驶比朝上行驶的加速度更大。在机器人重心很低的情况下机器人100通常比机器人重心高的情况下加速度更高。对于可通过安全模块150防止的运动的另一示例是在倾斜度更大的斜坡上行驶。在机器人相对于水平倾斜大于预定角度时,安全模块150例如可防止机器人100进一步向前运动。该倾斜角可与机器人重心的高度相关。

但是可出现以下情况,在其中机器人100未按预先进入稳定位置中并且歪倾。例如机器人可保持竖立以便使人员经过并且在此发生撞击。机器人100的相应于撞击的自动运动可防止机器人100的翻倾。安全模块150例如可配置成,根据加速度和位置测量识别出这种碰撞并且可检查,控制模块140是否发出匹配撞击的控制命令。控制命令“什么都不做”或“停机”对此例如可分类为有危险的,因为原则上需要使机器人100运动,从而补偿撞击并且使机器人100稳定。安全模块150例如可配置成探测要求更多的时间等待控制模块140的反应,并且在没有等待控制模块140的反应的情况下将控制命令发送给驱动模块170,其进行机器人100的匹配撞击的运动。如果安全模块150识别出,控制模块140对撞击完全没有或作出错误反应,可将用于匹配撞击的运动的控制命令发送给驱动模块170。

安全模块150还可配置成,监控作业模块160的功能。这尤其可在作业模块160的操作与作业模块160本身的较大的运动和/或机器人100通过驱动模块170的运动相关联。

作业模块160例如可具有用于收集脏物的刷子。在此原则上有如下风险,即,转动的刷子例如缠绕环绕鞋的鞋带、地毯边缘线或电子设备的线缆并且由此受到阻挡。刷子的转动例如可借助转速编码器测量。在探测到刷子不再可转动时,此时可探测到刷子受到阻挡。例如也可确定刷子马达的电功率以及由此探测到刷子受到阻挡。

已知有各种方法来释放受到阻挡的刷子。例如控制模块140可将刷子切换到空转并且使机器人100可执行向后运动,在其中线缆等又被解开。但是该过程涉及以下危险,机器人100的运动在刷子受到阻挡的情况下原则上会导致事故。如果缠绕在刷子上的线缆例如是电设备的线缆原则上有如下风险,即,机器人在向后运动时同时拉动电设备。如果电设备在高处位置,例如布置在架子上,电设备由此可掉落到地上并且损坏。安全模块150因此例如可配置成,识别出在执行用于解开刷子的方法时,刷子是否还受到阻挡。在这种情况下例如停止机器人100的运动,因为在不损坏物体的情况下不可向前以及向后运动。另一方案在于,使刷子朝与正常运动方向相反的方向转动,以使线缆等从刷子中解开,对此没有改变机器人100的位置。

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