[go: up one dir, main page]

CN111133397B - 信息处理设备、信息处理方法以及程序 - Google Patents

信息处理设备、信息处理方法以及程序 Download PDF

Info

Publication number
CN111133397B
CN111133397B CN201880060907.3A CN201880060907A CN111133397B CN 111133397 B CN111133397 B CN 111133397B CN 201880060907 A CN201880060907 A CN 201880060907A CN 111133397 B CN111133397 B CN 111133397B
Authority
CN
China
Prior art keywords
planning
units
unit
planning unit
information
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
Application number
CN201880060907.3A
Other languages
English (en)
Other versions
CN111133397A (zh
Inventor
山口隆盛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN111133397A publication Critical patent/CN111133397A/zh
Application granted granted Critical
Publication of CN111133397B publication Critical patent/CN111133397B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0006Digital architecture hierarchy
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40519Motion, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Manufacturing & Machinery (AREA)
  • Business, Economics & Management (AREA)
  • Medical Informatics (AREA)
  • Transportation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

[问题]要提出一种能够在适当地改变状态的同时规划动作的信息处理设备、信息处理方法以及程序。[解决方案]一种信息处理设备设置有:第一规划单元,其用于在多种类型的预定状态之间改变状态的同时执行与动作的规划有关的预定处理,其中,在状态改变的情况下,第一规划单元向比第一规划单元级别更高的第二规划单元通知指示状态改变的信息,并且多种类型的预定状态包括多种类型的、指示正常执行正在进行的第一状态。

Description

信息处理设备、信息处理方法以及程序
技术领域
本公开涉及信息处理设备、信息处理方法以及程序。
背景技术
常规地,例如,已经提出了通过识别外界的情况来自主地进行运动的各种机器人。
例如,以下专利文献1描述了一种机器人设备,该机器人设备具有以树结构格式配置的多个动作模块,并且然后多个动作模块中的较高级别动作模块基于存储在存储部中的控制策略来控制连接至该较高级别动作模块的一个或更多个动作模块。
引用列表
专利文献
专利文献1:日本专利第4449372号
发明内容
本发明要解决的问题
然而,专利文献1中所描述的技术没有考虑在动作模块执行处理时改变动作模块的状态。
因此,本公开提出了能够在适当地改变状态的同时规划动作的、新的且改进的信息处理设备、信息处理方法以及程序。
问题的解决方案
根据本公开,提供了一种信息处理设备,该信息处理设备包括第一规划单元,该第一规划单元在多种类型的预定状态之间改变状态的同时执行与动作的规划有关的预定处理,其中,在状态已经改变的情况下,第一规划单元向比第一规划单元级别更高的第二规划单元通知指示状态已经改变的信息,并且多种类型的预定状态包括多种类型的、指示正常执行正在进行的第一状态。
此外,根据本公开,提供了一种信息处理方法,该信息处理方法包括:在多种类型的预定状态之间改变状态的同时由处理器执行与动作的规划有关的预定处理;以及在状态已经改变的情况下,向较高级别的第二规划单元通知指示状态已经改变的信息,其中,多种类型的预定状态包括多种类型的、指示正常执行正在进行的第一状态。
另外,根据本公开,提供了一种程序,该程序使得计算机用作:第一规划单元,其在多种类型的预定状态之间改变状态的同时执行与动作的规划有关的预定处理,其中,在状态已经改变的情况下,第一规划单元向比第一规划单元级别更高的第二规划单元通知指示状态已经改变的信息,并且多种类型的预定状态包括多种类型的、指示正常执行正在进行的第一状态。
本发明的效果
如上面所描述的,根据本公开,可以在适当地改变状态的同时规划动作。注意,这里所描述的效果不必然是限制性的,并且可以应用本公开中所描述的任何效果。
附图说明
图1是示出本公开的每个实施方式的共同的信息处理系统的配置示例的说明图。
图2是示出某个机器人的动作规划模块的整体配置的示例的图。
图3是示出根据第一实施方式的机器人10的功能配置示例的框图。
图4是示出根据第一实施方式的动作规划单元100的配置示例的框图。
图5是示出由某个规划单元所保持的、对应于比该规划单元级别更高的各个规划单元的状态的示例的图。
图6是示出其中在每个规划单元的每个服务器中所保持的状态在多种类型的预定状态之间改变的流程的示例的图(状态转换图)。
图7是示出在较高级别规划单元与较低级别规划单元之间发送和接收的信息的示例的图。
图8是示出在动作规划单元100中可以实现的分支结构(branch structure)和聚集结构(aggregation structure)的示例的图。
图9是示出在使图8所示出的规划单元X和规划单元Y顺序地执行处理时每个规划单元的状态的改变的示例的图。
图10是示出规划单元104的详细功能配置示例的框图。
图11是示出根据第一实施方式的处理流程的一部分的流程图。
图12是示出根据第一实施方式的处理流程的一部分的流程图。
图13是示出根据第二实施方式的、通过每个规划单元将指示状态已经改变的信息的输出至存储单元164的示例的图。
图14是示出根据第二实施方式的直至基于运动历史信息来显示跟踪画面(tracescreen)为止的流程的图。
图15是示出跟踪画面的显示示例的图。
图16是示出关于在图15所示出的跟踪画面中的部分区域的详细画面的显示示例的图。
图17是示出根据第二实施方式的处理流程的一部分的流程图。
图18是示出根据第二实施方式的处理流程的一部分的流程图。
具体实施方式
在下文中,将参照附图详细地描述本公开的优选实施方式。注意,在本说明书和附图中,具有基本相同的功能配置的构成元件将由相同的附图标记表示,并且将省略冗余的描述。
此外,在本说明书和附图中,还存在以下情况:通过在相同的附图标记之后附加不同的字母来区分具有基本相同的功能配置的多个构成元件。例如,根据需要将具有基本相同的功能配置的多个构成元件区分为规划单元102a和规划单元102b。然而,在不需要特别区分具有基本相同的功能配置的多个构成元件中的每一个的情况下,仅附加相同的附图标记。例如,在不需要特别区分规划单元102a与规划单元102b的情况下,将规划单元102a和规划单元102b简单地称为规划单元102。
另外,将根据以下项目顺序来描述“具体实施方式”。
1.概述
2.第一实施方式
3.第二实施方式
4.变型
<<1.概述>>
首先,将描述本公开的概述。通常,例如自主机器人的自主移动设备具有动作规划功能(动作规划模块)。此外,在该动作规划模块中,具有不同执行周期的多个算法通常被配置成形成层级结构(例如,树结构)。
<1-1.动作规划模块的概述>
图2是示出某个机器人的动作规划模块的整体配置的示例的图。如图2所示出的,该机器人的动作规划模块被配置成使得具有不同执行周期的多个算法(规划模块)形成层级结构。具体地,动作规划模块被配置成使得:在层级的顶部处的功能具有“针对动作目的的确定功能”;在层级的第二位置处的功能具有“针对拓扑图上的移动路线的确定功能”;在层级的第三位置处的功能具有“针对至最近节点的移动路线的确定功能”;以及然后在层级的第四位置处的功能具有“针对与移动路线一致的控制命令值的确定功能”。然后,在该动作规划模块中,每个规划模块控制位于低一层级的层级的规划模块的执行。
在此,将更具体地描述上述规划模块中的每一个的内容。首先,在“针对动作目的的确定功能”中,例如机器人基于经由稍后描述的通信网络22获取的人工操作信息(humanoperation information)来选择移动模式,并且然后基于操作信息来确定目的地。该“针对动作目的的确定功能”的周期可以是人工操作的周期。
在“针对拓扑图上的移动路线的确定功能”中,例如机器人首先基于与由“针对动作目的的确定功能”所确定的目的地有关的信息以及从机器人执行的状况识别的结果获得的拓扑图和与拓扑图上的自身位置有关的信息,来“规划移动路线和移动方法”。然后,机器人执行规划的移动方法。该“针对拓扑图上的移动路线的确定功能”的周期可以是人工操作的周期或拓扑图的变化的周期。
在“针对至最近节点的移动路线的确定功能”中,例如机器人首先使用从上述状况识别的结果获得的占用的网格图和自身位置,通过例如A*(A-star)搜索算法的图形搜索算法,来生成与至目的地的移动路线有关的信息。然后,机器人合并所生成的与各个移动路线有关的信息。该“针对至最近节点的移动路线的确定功能”的周期可以是大约几赫兹(例如,1Hz)。
在“针对与移动路线一致的控制命令值的确定功能”中,例如机器人使用从上述状况识别的结果获得的自身位置、自身姿势、自身速度等,来确定控制命令值(例如行进方向和行进速度),使得控制命令值与(通过“针对至最近节点的移动路线的确定功能”得到的)合并后的移动路线一致。该“针对与移动路线一致的控制命令值的确定功能”的周期可以是大约几赫兹(例如,5Hz)。
<1-2.问题的组织>
顺便提及,常规上期望提高例如动作规划模块的软件的开发效率。
通常,用于特定机器人的动作规划算法通常适用于其他类型的机器人。例如,用于自动驾驶车辆的动作规划算法的一部分可以与室内移动机器人(例如,服务机器人)的算法相同。以这种方式,在许多情况下,算法在不同类型的机器人之间适用。因此,期望专门为某个机器人开发的算法适用于具有不同层级结构的其他类型的机器人。
因此,已经聚焦于上述情况而创建了本公开的每个实施方式。根据每个实施方式,可以提供一种软件框架,该软件框架使得即使对于具有不同用例的机器人也能够共享实现机器人的动作规划的算法实现方式。因此,可以提高软件开发效率。
<1-3.信息处理系统的配置>
接下来,将参照图1描述本公开的每个实施方式的共同的信息处理系统的配置示例。如图1所示出的,根据每个实施方式的信息处理系统包括机器人10、终端20和通信网络22。
{1-3-1.机器人10}
机器人10是根据本公开的信息处理设备的示例。机器人10可以是能够使用电影响和/或磁影响自主地进行动作(例如,移动)的设备。例如,机器人10可以能够执行与上面参照图2所描述的动作规划模块的功能类似的功能。
尽管图1示出了其中机器人10是车辆(例如自动驾驶车辆)的示例,但是本公开不限于这样的示例。例如,机器人10可以是用于室内移动的机器人、人形自主控制机器人、四足步行机器人、无人机、工业机器人(例如,用于机器等的装配机器人)、服务机器人(例如,诸如手术机器人的医疗机器人、以及烹饪机器人)或玩具。此外,自动驾驶车辆不限于四轮车辆,并且可以是两轮车辆或三轮车辆。
{1-3-2.终端20}
例如,终端20是由例如机器人10的开发者的用户使用的信息处理终端。终端20包括例如:控制单元,其包括处理电路(例如中央处理单元(CPU));输入单元(例如鼠标和键盘),其用于用户操作;显示单元(例如液晶显示器(LCD)或有机发光二极管(OLED)),其对显示画面进行显示;以及通信单元,其经由通信网络22与其他设备进行通信。
例如,终端20接受与机器人10的动作有关的用户操作信息(例如,目的地的指定)的输入,并且然后经由通信网络22将输入的操作信息发送至机器人10。此外,例如,机器人10的开发者可以使用终端20来开发可以在机器人10中实现的软件。
{1-3-3.通信网络22}
通信网络22是用于从连接至通信网络22的设备发送的信息的有线或无线传输路径。例如,通信网络22可以包括:公共线路网络,例如电话线网络、因特网和卫星通信网络;包括以太网(注册商标)的各种局域网(LAN);以及广域网(WAN)。此外,通信网络22可以包括专用线路网络,例如因特网协议-虚拟专用网络(IP-VPN)。
<<2.第一实施方式>>
上面已经描述了每个实施方式的共同的信息处理系统的配置。接下来,将描述根据本公开的第一实施方式的内容。
<2-1.配置>
首先,将描述根据第一实施方式的机器人10的功能配置。图3是示出根据第一实施方式的机器人10的功能配置示例的框图。如图3所示出的,机器人10包括控制单元150、通信单元160、传感器单元162、存储单元164以及移动机构166。
{2-1-1.控制单元150}
控制单元150使用例如诸如中央处理单元(CPU)或者图形处理单元(GPU)的处理电路以及诸如只读存储器(ROM)或随机存取存储器(RAM)的存储器,以全面地控制机器人10的运动。例如,控制单元150基于传感器单元162的感测结果来执行状况理解(例如,对与外界有关的信息、机器人10的运动状态等的理解)和动作规划等。然后,控制单元150通过基于这些理解和规划的结果控制移动机构166来移动至目的地。
此外,如图3所示出的,控制单元150包括动作规划单元100。
{2-1-2.动作规划单元100}
动作规划单元100基于例如传感器单元162的感测结果(图像、声音、位置信息等)、通信单元160接收到的用户操作信息等来规划机器人10的动作。
图4是示出动作规划单元100的配置示例的框图。如图4所示出的,动作规划单元100包括多个规划单元,并且此外,多个规划单元被配置成形成N层层级结构。在此,N可以是等于或大于2的任意数。例如,动作规划单元100包括:具有最高层级顺序的一个或更多个规划单元102(在下文中有时被称为“层级A中的规划单元102”);具有第二高层级顺序的一个或更多个规划单元104(在下文中有时被称为“层级B中的规划单元104”);以及具有第三高层级顺序的一个或更多个规划单元106(在下文中有时被称为“层级C中的规划单元106”)。
此外,规划单元中的每一个规划单元可以被配置成能够与位于比该规划单元高一级别的层级中的一个或更多个规划单元中的每一个以及位于比该规划单元低一级别的层级中的一个或更多个规划单元中的每一个进行通信。例如,如图4所示出的,层级B中的规划单元104a被配置成能够与各个“层级A中的规划单元102”中的全部以及各个“层级C中的规划单元106”中的全部进行通信。
(2-1-2-1.处理的执行)
每个规划单元在多种类型的预定状态之间改变状态的同时,执行与机器人10的动作的规划有关的预定处理。例如,每一个规划单元执行针对该规划单元预先定义的、与机器人10的动作的规划有关的处理。在此,例如,可以由开发者预先定义每一个规划单元,以便执行类型对于该规划单元所位于的每个层级而不同的处理。注意,位于相同层级中的各个规划单元可以被预先定义,以便执行彼此不同的类型的处理,或者可以被预先定义,以便每个规划单元均执行相同类型的处理。
此外,如图5所示出的,例如,每一个规划单元可以保持与位于比该规划单元高一级别的层级中的各个规划单元中的全部对应的状态,其中,状态的数目与所有这些较高级别的规划单元的数目相同。然后,每个规划单元可以在多种类型的预定状态之间改变与所有这些相应的较高级别的规划单元对应的(当前)状态中的每一个。例如,如稍后将参照图6描述的,对于各个较高级别的规划单元中的全部,每个规划单元将与这些较高级别的规划单元中的每一个对应的当前状态改变为多种类型的预定状态中的、与当前状态相关联的任意其他状态。作为示例,对于各个较高级别的规划单元中的全部,每个规划单元使用用于将与这些较高级别的规划单元中的每一个对应的当前状态改变为多种类型的预定状态中的、与当前状态相关联的任意其他状态的功能,来将当前状态改变为任意其他状态。
多种类型的预定状态可以包括:多种类型的、指示正常执行正在进行的第一状态;以及多种类型的、不同于第一状态的第二状态。在此,多种类型的第一状态中的每一个可以被定义成表示与相关规划单元对应的处理的彼此不同的进展程度。例如,如图6所示出的,多种类型的第一状态是“正在激活(ACTIVATING)”、“已激活(ACTIVE)”和“即将结束(APPROACHING)”,并且此外,“正在激活”、“已激活”和“即将结束”的顺序可以被定义为以下顺序:其中处理的较低进展放在较早的位置。作为示例,“正在激活”是指示正在准备与相关规划单元对应的处理的状态。“已激活”是上述处理正在正常执行并且该处理的进展程度小于预定阈值的状态。“即将结束”是上述处理正在正常执行并且该处理的进展程度等于或大于预定阈值的状态(即,与相关规划单元对应的处理即将结束的状态)。
此外,如图6所示出的,多种类型的第二状态包括例如:处理的执行处于待机的状态(预备(READY));处理已经正常结束的状态(即,处理的进展程度已经达到100%的状态)(成功(SUCCEEDED));处理正在异常结束的状态(正在异常结束(ABORTING));处理已经异常结束的状态(已异常结束(ABORTED));处理正在被中断的状态(正在中断(PREEMPTING));以及处理已经被中断的状态(已中断(PREEMPTED))。
—来自较高级别的指示
下面将更详细地描述由上述每个规划单元执行的处理的内容。例如,每一个规划单元基于从位于比该规划单元高一级别的层级中的规划单元中之一接收到的控制信息来执行与该规划单元对应的处理(规划处理)。在此,上述控制信息可以包括指示与该规划单元对应的处理的开始或停止等的信息。例如,如图7所示出的,规划单元B104可以从较高级别的规划单元A102接收用于指示处理的开始的控制信息。在这种情况下,规划单元B104可以根据接收到的控制信息,在将规划单元B104所保持的与规划单元A102对应的当前状态从“预备”改变为“正在激活”的同时,开始执行与规划单元B104对应的处理。
此外,如图7所示出的,规划单元B104可以从规划单元A102接收用于指示处理的停止的控制信息。在这种情况下,规划单元B104可以根据接收到的控制信息来停止(中断)当前正在执行的与规划单元B104对应的处理。在这种情况下,规划单元B104可以在将规划单元B104所保持的与规划单元A102对应的当前状态(“正在激活”、“已激活”和“即将结束”中的任意一个)改变为“正在中断”的同时,停止与规划单元B104对应的处理的执行。
替选地,所接收到的控制信息可以包括指示在多种类型的预定状态之间改变与相关的较高级别的规划单元对应的当前状态的信息。例如,可以包括指示与相关较高级别的规划单元所对应的当前状态相关联的一个或更多个其他预定状态中的、改变目的地状态的信息。作为示例,在与相关较高级别的规划单元对应的当前状态为“已激活”的情况下,控制信息可以包括将状态改变为“正在中断”的指示。
—来自较低级别的通知
此外,每一个规划单元基于从位于比该规划单元低一级别的层级中的规划单元中的一个规划单元接收到的信息以及该规划单元的设置(实现方式)来执行与该规划单元对应的处理。例如,如图7所示出的,每一个规划单元可以从位于比该规划单元低一级别的层级中的规划单元中的一个规划单元接收信息,该信息指示上述一个规划单元的状态已经改变为其他状态。替选地,每一个规划单元可以接收指示与上述一个规划单元中对应的处理的进展(例如,处理的完成或失败)的信息。在这种情况下,每一个规划单元可以执行与这些接收到的信息以及该规划单元的设置对应的处理。
—对状态的组合
此外,每一个规划单元基于该规划单元的当前状态和该规划单元的设置来执行与该规划单元对应的处理。如上面所描述的,每一个规划单元可以保持与位于比该规划单元高一级别的层级中的各个规划单元中的全部对应的状态。在这种情况下,每一个规划单元可以执行预先和与各个较高级别的规划单元中的全部对应的当前状态的组合相关联的(该规划单元的)处理。
(2-1-2-2.向较高级别的规划单元的通知)
此外,在状态已经改变的情况下,每一个规划单元向位于比该规划单元高一级别的层级中的另外的规划单元通知指示状态已经改变的信息。例如,每当任意一个规划单元改变与位于比该任意一个规划单元高一级别的层级中的规划单元中的一个规划单元对应的状态时,该任意一个规划单元仅顺序地向较高级别的规划单元中的上述一个规划单元通知指示相对于所有较高级别的各个规划单元、与较高级别的规划单元中的上述一个规划单元对应的状态已经改变的信息。在此,“指示与较高级别规划单元中的上述一个规划单元对应的状态已经改变的信息”包括例如关于与较高级别的规划单元中的上述一个规划单元对应的改变之前的状态的标识信息和关于与较高级别的规划单元中的上述一个规划单元对应的改变之后的状态的标识信息。
此外,例如,如图7所示出的,每一个规划单元可以基于该规划单元的设置,向位于比该规划单元高一级别的层级中的一个或更多个规划单元通知指示与该规划单元对应的处理的进展(例如,处理的完成或失败)的信息。
(2-1-2-3.较低级别的规划单元的控制)
此外,如图7所示出的,每一个规划单元还可以基于该规划单元的设置,控制位于比该规划单元低一级别的层级中的另外的规划单元,以执行与该另外的规划单元对应的处理。例如,每一个规划单元可以基于该规划单元的处理的进展程度,向位于比该规划单元低一级别的层级中的另外的规划单元通知用于指示与该另外的规划单元对应的处理的开始或停止等的控制信息。替选地,每一个规划单元可以基于该规划单元中所保持的、与位于比该规划单元高一级别的层级中的各个规划单元中的全部对应的当前状态的组合,来向较低级别的规划单元通知控制信息。
因此,在第一实施方式中,针对每个规划单元的连接方法、每个规划单元的状态转换规则以及针对每个规划单元的控制方法基本上是共同的。因此,动作规划单元100可以采用任意的层级结构。例如,如图8所示出的,允许动作规划单元100包括分支结构或聚集结构。在图8所示出的示例中,配置用于使得规划单元A102能够并行控制位于比规划单元A102低一级别的层级中的规划单元X104a和规划单元Y104b中的每一个的结构(即,分支结构)。此外,在图8所示出的示例中,配置用于使得位于相同层级中的多个规划单元(具体地,规划单元X104a和规划单元Y104b)中的每一个能够独立地控制位于比所述多个规划单元低一级别的层级中的一个规划单元106的结构(即,聚集结构)。如上所描述的,第一实施方式可以提供一种软件框架,在该软件框架中指定各个规划单元之间的标准接口,使得可以实现在各种自主设备(例如各种机器人)中可以预期的任意的层级结构。
例如,由于配置如图8所示出的“分支结构”,因此在使多个规划单元104顺序地执行图9所示出的处理的场景中,可以消除(或大大减少)各个规划单元104在处理任务之间进行切换时所需的切换时间。更具体地,如图9所示出的,图8所示出的规划单元A102可以在规划单元X104a的状态从“已激活”变为“即将结束”时的定时处,通过将规划单元Y104b的状态(从“预备”)切换为“正在激活”,使得规划单元Y104b能够执行暖气操作。以这种方式,可以平滑地(高效地)切换两个规划单元104的执行。
—变型
另外地或替选地,每一个规划单元还可以基于该规划单元的设置,向位于比该规划单元低一级别的层级中的另外的规划单元通知用于将该另外的规划单元的状态改变为另外的状态的控制信息。
(2-1-2-4.每个规划单元的详细功能配置示例)
在此,将参照图10描述每个规划单元的更详细的功能配置示例。图10是示出规划单元104的详细功能配置的示例的框图。如图10所示出的,规划单元104的配置可以包括N个服务器1040、处理单元1044和N个客户端1046。在此,N是预先定义的等于或大于2的数。注意,在图10中,尽管作为示例示出规划单元104的配置示例,但是位于其他层级中的其他规划单元(例如,规划单元102和规划单元106)可以与图10所示出的配置示例类似地进行配置。
—服务器1040
每个服务器1040具有与位于比规划单元104高一级别的层级中的规划单元102中之一进行通信的功能。例如,位于比规划单元104高一级别的层级中的各个规划单元102中的全部各自以一对一的方式与不同的服务器1040相关联。于是,每一个服务器1040仅与(所有规划单元102中的)和该服务器1040相关联的规划单元102进行通信。根据这样的配置,规划单元104可以与位于比规划单元104高一级别的层级中的所有规划单元102进行通信。
——状态的改变
此外,每个服务器1040包括状态机1042。状态机1042保持与和服务器1040(包括该状态机1042)相关联的较高级别的规划单元102对应的状态。利用该配置,规划单元104可以保持与位于比规划单元104高一级别的层级中的各个规划单元102中的全部对应的状态,如图5所示出的那样。在图5所示出的示例中,与“规划单元X”102a相关联的服务器1040a中的状态机1042a保持“已激活”作为与“规划单元X”102a对应的当前状态。
此外,例如,如图6所示出的,每个服务器1040中的状态机1042在上面所描述的多种类型的预定状态之间改变所保持的状态。
图6是示出其中在多种类型的预定状态之间改变(状态转换)每个状态机1042所保持的状态的流程的示例的图(状态转换图)。注意,在图6中,实线指示响应于来自较高级别的规划单元102的指示(请求)而发生状态改变的情况。此外,虚线指示响应于来自处理单元1044的请求而发生状态改变的情况,这将在后面进行描述。另外,点划线指示状态自动改变的情况。在图6所示出的示例中,在某个状态机1042所保持的当前状态为“预备”的情况下,该状态仅响应于来自较高级别的规划单元102的指示而改变,并且此外,改变之后的状态被指定为“正在激活”。以这种方式,在第一实施方式中,包括在各个规划单元中的各个状态机1042全部以相同的流程进行状态转换。因此,动作规划单元100可以采用任意的层级结构。
——状态改变的通知
此外,每当任意一个服务器1040改变该任意一个服务器1040中的状态机1042所保持的状态时,该任意一个服务器1040向与该任意一个服务器1040相关联的较高级别的规划单元102通知指示状态已经改变的信息(也称为消息)(如之前所描述的那样)。此外,例如,每当任意一个服务器1040改变该任意一个服务器1040中的状态机1042所保持的状态时,该任意一个服务器1040向稍后描述的处理单元1044通知指示状态已经改变的信息(例如,与该任意一个服务器1040有关的标识信息和与改变之后的状态有关的标识信息)。
——处理的进展的通知
此外,每一个服务器1040例如基于来自处理单元1044的请求,向与该服务器1040相关联的较高级别的规划单元102通知指示处理单元1044执行的处理的进展的信息。在此,指示处理的进展的信息可以指示处理的进展程度,或者,例如可以指示已经发生了预先定义的各种事件(例如,与处理的完成对应的事件或者与处理的失败对应的事件)中的事件。
—客户端1046
每个客户端1046具有与位于比规划单元104低一级别的层级中的规划单元106中之一进行通信的功能。例如,位于比规划单元104低一级别的层级中的各个规划单元106中的全部各自以一对一的方式与不同的客户端1046相关联。于是,每一个客户端1046仅与(全部规划单元106中的)和该客户端1046相关联的规划单元106进行通信。根据这样的配置,规划单元104可以与位于比规划单元104低一级别的层级中的所有规划单元106进行通信。
例如,每一个客户端1046可以基于从稍后所描述的处理单元1044获取的请求,向与该客户端1046相关联的规划单元106通知控制信息,该控制信息指示与该相关联的规划单元106对应的处理的开始或者停止等。此外,每一个客户端1046从与该客户端1046相关联的规划单元106接收指示该相关联的规划单元106的状态已经改变的信息(更详细地,指示在该相关联的规划单元106中与相关规划单元104对应的状态已经改变的信息)。
—处理单元1044
处理单元1044执行开发者针对相关规划单元104预先定义的与机器人10的动作的规划有关的功能(所实现的功能)。例如,处理单元1044请求与位于比规划单元104低一级别的层级中的规划单元106中的一个规划单元106相关联的客户端1046向上述一个规划单元106通知用于指示与上述一个规划单元106对应的处理的开始或停止的控制信息。
此外,在满足预先定义的用于在多种类型的预定状态之间改变与位于比规划单元104高一级别的层级中的规划单元102中的一个规划单元102对应的当前状态的条件的情况下,处理单元1044请求与上述一个规划单元102相关联的服务器1040改变所请求的服务器1040中的状态机1042中所保持的状态。例如,在这种情况下,处理单元1044首先基于如图6所示出的状态改变(转换)设置来确定与上述一个规划单元102对应的改变之后的状态。然后,处理单元1044请求与上述一个规划单元102相关联的服务器1040将该相关联的服务器1040(该相关联的服务器1040中的状态机1042)所保持的当前状态改变为确定的状态。
例如,处理单元1044调用用于引起向确定的状态进行改变的预定的数学函数(Call),由此向相关联的服务器1040请求该相关联的服务器1040中的状态机1042保持的状态的改变。在此,可以针对改变之后的每个状态预先定义预定的数学函数。例如,可以将用于引起向“正在激活”进行改变的数学函数定义为setActivating(),可以将用于引起向“成功”进行改变的数学函数定义为setSucceeded(),可以将用于引起向“正在中断”进行改变的数学函数定义为setPreempting(),等等。
在此,相对于处理单元1044预先设置用于改变与各个规划单元102对应的当前状态的条件。例如,根据针对处理单元1044定义的处理的进展程度等来设置这些条件。作为示例,“在当前状态为“已激活”的情况下在针对处理单元1044定义的整个处理的80%完成的时刻将当前状态改变为“即将结束”可以被定义为这些条件中之一。
{2-1-3.通信单元160}
通信单元160的配置可以包括通信接口,例如网卡或天线。通信单元160例如经由通信网络22向外部设备发送信息并且从外部设备接收信息。例如,通信单元160从外部设备接收用户操作信息。
{2-1-4.传感器单元162}
传感器单元162执行与例如外界或机器人10的运动状态有关的感测。传感器单元162包括例如摄像装置(图像传感器)、深度传感器(例如飞行时间类型传感器或立体摄像装置)、麦克风、加速度传感器、陀螺仪、温度传感器、地磁传感器以及/或者扭矩传感器。此外,传感器单元162可以包括从全球定位系统(GPS)、全球导航卫星系统(GLONASS)等的定位卫星接收定位信号的接收器。
{2-1-5.存储单元164}
存储单元164的配置可以包括存储设备,例如硬盘驱动器(HDD)。存储单元164存储各种类型的数据和各种类型的软件。
{2-1-6.移动机构166}
移动机构166是用于使机器人10移动的机构。例如,移动机构166可以包括多个轮子、多个用于行走的腿部(例如,两个腿或四个腿),或者履带式机构,例如履带(caterpillar)(注册商标)。
例如,移动机构166包括一个或更多个致动器。在这种情况下,机器人10可以以这样的方式移动:基于从机器人10中的电源单元(未示出)提供的电力和从控制单元150传递的控制信号来驱动一个或更多个致动器。
<2-2.处理流程>
上面已经描述了根据第一实施方式的配置。接下来,将参照图9至图11来描述根据第一实施方式的处理流程的示例。在此,将描述机器人10中的某个规划单元104的处理流程的示例。
图11是示出某个规划单元104的处理流程的一部分的流程图。如图11所示出的,首先,位于比规划单元104高一级别的层级中的规划单元102中的一个规划单元102将用于指示与规划单元104对应的处理的开始的控制信息发送至与上述一个规划单元102相关联的(规划单元104中的)服务器1040。然后,相关联的服务器1040向规划单元104中的处理单元1044通知接收到的控制信息(S101)。
此后,规划单元104中的处理单元1044基于接收到的控制信息,请求与较高级别的规划单元102中的上述一个规划单元102相关联的服务器1040将与较高级别的规划单元102中的上述一个规划单元102对应的状态从“预备”改变为“正在激活”。然后,相关联的服务器1040将该相关联的服务器1040中的状态机1042所保持的当前状态从“预备”改变为“正在激活”(S103)。
随后,相关联的服务器1040向较高级别的规划单元102中的上述一个规划单元102通知指示与较高级别的规划单元102中的上述一个规划单元102对应的状态已经改变为“正在激活”的信息(S105)。
随后,规划单元104中的处理单元1044开始针对规划单元104预先定义的与机器人10的动作的规划有关的处理(S107)。
此后,处理单元1044继续执行定义的处理直至建立了用于改变规划单元104中的各个服务器1040所保持的任意当前状态的条件为止(S109:否)。
在此,将参照图12描述在建立了用于改变任意状态的上述条件的情况下的处理流程(S109:是)。如图12所示出,在这种情况下,处理单元1044首先请求与相关状态对应的服务器1040基于图6所示出的状态转换图,在多种类型的预定状态之间改变相关状态。然后,请求的服务器1040基于该请求将由请求的服务器1040中的状态机1042所保持的状态改变为其他状态(S121)。
随后,请求的服务器1040向与请求的服务器1040相关联的较高级别的规划单元102通知指示已经做出向其他状态进行改变的信息(S123)。
此后,在满足用于中断或结束相关处理的条件的情况下(S125:是),规划单元104中断或结束相关处理。另一方面,在不满足用于中断或结束相关处理的条件的情况下(S125:否),规划单元104再次执行S109中的处理和S109之后的处理。
<2-3.效果>
如到目前为止所描述的,根据第一实施方式的机器人10包括一个或更多个规划单元,这一个或更多个规划单元在多种类型的预定状态之间改变状态的同时执行与动作的规划有关的预定处理,并且在状态已经改变的情况下,一个或更多个规划单元中的每一个向比一个或更多个规划单元中的该规划单元级别更高的规划单元通知指示状态已经改变的信息。因此,例如,与已知技术相比,关于机器人10的动作的规划,可以实现较多种类型的处理。
例如,每一个规划单元保持与位于比该规划单元高一层级的层级中的各个规划单元中的全部对应的状态,并且此外,基于图6所示出的状态转换图,在多种类型的预定状态之间改变与各个较高级别的规划单元中的全部对应的状态中的每一个。因此,例如,包括具有不同执行周期的多个规划单元的动作规划单元100可以采用任意的层级结构。
如上所描述的,根据第一实施方式,可以提供一种软件框架,在该软件框架中指定各个规划单元之间的标准接口,使得可以实现在各种自主设备(例如各种机器人)中可以预期的任意的层级结构。因此,提高了算法的适用性。例如,可以使专门为某个机器人开发的算法适用于其他类型的机器人。因此,也可以提高软件开发效率。
<<3.第二实施方式>>
上面已经描述了第一实施方式。如前面所描述的,根据第一实施方式的机器人10中的多个规划单元可以同时地且并行地运动,并且规划单元还可以通过异步通信彼此协作。
同时,从开发机器人10的开发者的角度来看,例如,存在可能出现以下困难的问题。首先,在机器人10的运行期间,开发者可能难以掌握机器人10中的每个规划单元的运动状态。其次,在机器人10中的一个或更多个规划单元中出现缺陷的情况下,开发者可能难以分析该缺陷。
接下来,将描述本公开的第二实施方式。如后面将描述的,根据第二实施方式,可以将每个规划单元的运动历史(或运动状态)可视化。因此,可以进一步促进机器人10的开发。
<3-1.配置>
首先,将描述根据第二实施方式的机器人10的功能配置。根据第二实施方式的机器人10中所包括的每个构成元件类似于例如图3、图4和10所示出的第一实施方式的每个构成元件。在下文中,将仅描述与第一实施方式的内容不同的内容,并且将省略相同内容的描述。
{3-1-1.规划单元}
如图13所示出的,例如,每当改变状态时,根据第二实施方式的每个规划单元将指示状态已经改变的信息作为运动历史信息输出至存储单元164(例如,输出至存储单元164的预定区域)。例如,每当任意一个规划单元改变与位于比该任意一个规划单元高一级别的层级中的全部规划单元中的一个规划单元对应的状态时,该任意一个规划单元将指示如下状态已经改变的信息输出至存储单元164作为运动历史信息:该状态与较高级别的规划单元中的上述一个规划单元对应。在此,“指示状态已经改变的信息”包括例如:状态改变的日期和时间;与改变之前的状态有关的标识信息;与改变之后的状态有关的标识信息;以及与较高级别规划单元中的上述一个规划单元有关的标识信息。
此外,每当任意一个规划单元向位于比该任意一个规划单元高一级别的层级中的全部规划单元中的一个规划单元通知状态已经改变的信息时,该任意一个规划单元还可以将指示通知(消息)已经发送至较高级别的规划单元中的上述一个规划单元的信息输出至存储单元164作为运动历史信息。在此,“指示通知已经发送的信息”包括例如:通知的发送日期和时间;与作为通知的发送目的地的规划单元有关的标识信息;以及通知的标识号。
此外,每当任意一个规划单元从位于比该规划单元高一级别的层级中的规划单元中的一个规划单元接收到指示状态已经改变的通知时,该规划单元还可以将指示已经接收到针对状态改变的通知的信息输出至存储单元164作为运动历史信息。在此,“指示已经接收到针对状态改变的通知的信息”包括例如:通知的接收日期和时间;与作为通知的发送源的规划单元有关的标识信息;以及通知的标识号。
此外,每当任意一个规划单元使用针对该任意一个规划单元预先定义的功能(例如,数学函数)时,该任意一个规划单元还可以将指示已经使用功能的信息(包括例如使用功能的日期和时间、以及与所使用的数学函数有关的标识信息)输出至存储单元164作为运动历史信息。另外,例如,每当在执行与任意一个规划单元对应的处理期间发生预先定义的任意事件时,该任意一个规划单元还可以将事件发生信息(包括例如事件发生时间和与事件有关的标识信息)输出至存储单元164作为运动历史信息。
(3-1-1-1.运动历史信息)
在第二实施方式中,例如,可以基于保存在存储单元164中的运动历史信息来显示如图15所示出的用于使每个规划单元的运动历史可视化的跟踪画面。例如,如图14所示出的,首先,可以将保存在存储单元164中的运动历史信息30转换为用于显示跟踪画面的跟踪文件32。然后,可以例如通过终端20基于跟踪文件32来显示跟踪画面。
例如,终端20经由通信网络22从机器人10接收跟踪文件32,并且然后基于接收到的跟踪文件32来控制跟踪画面的显示。替选地,终端20可以经由通信网络22接收保存在存储单元164中的所有运动历史信息以将所有相应的运动历史信息转换为跟踪文件32,并且然后可以基于所有转换的跟踪文件32来控制跟踪画面的显示。
(3-1-1-2.跟踪画面)
图15是示出跟踪画面(跟踪画面40)的显示示例的图。如图15所示出的,跟踪画面40可以沿时间轴显示各个规划单元中的状态改变的历史的列表。根据该显示示例,例如,在一个或更多个规划单元中出现缺陷的情况下,开发者可以沿时间轴确认作为一种列表的、每个规划单元的直到缺陷的发生时间为止的运动历史。因此,可以更容易地分析缺陷的内容和原因。
图16是示出详细画面(详细画面42)的显示示例的图,该详细画面示出图15所示出的跟踪画面40中的部分区域(具体地,“A”所示出的区域)的详细信息。如图16所示出的,详细画面42包括:详细历史显示420,其示出在与相关区域对应的时间带期间每个规划单元的运动状态的时间序列(例如,相关规划单元的状态,发生的事件以及所使用的数学函数);通信历史显示422,其示出在对应的时间带期间各个规划单元之间的通信历史;以及详细信息显示字段424,其示出与在对应的时间带期间发生的一个事件有关的详细信息。在此,可以基于例如上面所描述的“事件发生信息”来显示详细历史显示420。可以基于例如上面所描述的“指示通知已经发送的信息”与“指示已经接收到通知的信息”的组合来显示通信历史显示422。可以基于例如上面所描述的“事件发生信息”来显示详细信息显示字段424。
<3-2.处理流程>
上面已经描述了根据第二实施方式的配置。接下来,将参照图17和图18来描述根据第二实施方式的处理流程的示例。在此,将描述机器人10中的某个规划单元104的处理流程的示例。
图17是示出根据第二实施方式的某个规划单元104的处理流程的一部分的流程图。注意,图17所示出的S201至S205中的处理类似于第一实施方式中的S101至S105中的处理。
在S205之后,规划单元104中的相关联的服务器1040将指示相关联的服务器1040所保持的状态已经改变为“正在激活”的信息输出至存储单元164作为运动历史信息(S207)。
注意,图17所示出的S209和S211中的处理类似于第一实施方式中的S107和S109中的处理。
在此,将参照图18描述S211之后的处理流程。图18所示出的S221和S223中的处理类似于第一实施方式中的S121和S123中的处理。
在S223之后,规划单元104中的相关联的服务器1040将指示相关联的服务器1040所保持的状态已经改变的信息输出至存储单元164作为运动历史信息(S225)。
注意,图18所示出的S227中的处理类似于第一实施方式中的S125中的处理。
<3-3.效果>
如到目前为止所描述的,每当状态改变时,根据第二实施方式的每个规划单元将指示状态已经改变的信息输出至存储单元164作为运动历史信息。此外,可以基于输出的运动历史信息来显示跟踪画面。因此,由于可以使每个规划单元的运动历史(或运动状态)可视化,因此可以进一步促进机器人10的开发。
例如,当在一个或更多个规划单元中出现缺陷时,由于可以显示每个规划单元的、直到缺陷的发生时间的运动历史,因此开发者可以沿时间轴确认作为一种列表的、所显示的运动历史。因此,可以更容易地分析缺陷的内容和原因。
<<4.变型>>
至此已经参照附图详细地描述了本公开的优选实施方式。然而,本公开不限于这些示例。显然,本公开所属的技术领域的普通技术人员可以在权利要求书所公开的技术精神的范围内进行各种变型或修改,并且当然,这些变型或修改是可以被理解为本公开的技术范围的一部分。
<4-1.第一变型>
在上面所描述的实施方式的每一个中,已经描述了其中根据本公开的信息处理设备是机器人10的示例;然而,实施方式不限于该示例。信息处理设备可以例如是服务器机器、通用个人计算机(PC)、平板型终端、游戏机、例如智能电话的移动电话、例如头戴式显示器(HMD)或智能手表的可穿戴装置、或者车载设备(例如车辆导航设备)。
另外地或替选地,信息处理设备可以规划其他设备(例如,其他机器人)的动作或人(或由人驾驶的各种交通工具)的动作,而不是规划自己的动作。
<4-2.第二变型>
根据上面所描述的实施方式的每一个的处理流程中的每个步骤不必然需要按所描述的顺序进行处理。例如,可以通过适当地改变顺序来处理各个步骤。此外,各个步骤可以部分地并行地或单独地进行处理,而不是按时间顺序进行处理。另外,可以省略所描述的步骤的一部分,或者还可以添加其他步骤。
另外地,根据上面所描述的实施方式中的每一个,还可以提供一种计算机程序,其用于使例如CPU、ROM和RAM的硬件表现出与根据上面所描述的实施方式中的每一个的机器人10的每个组件(例如,动作规划单元100)的功能等同的功能。此外,还提供了上面记录有上述计算机程序的存储介质。
此外,本说明书中描述的效果仅是说明性或示例性的,而不是限制性的。即,连同上面所描述的效果一起或者替代上面所描述的效果,根据本公开的技术可以展现出根据本说明书的描述对于本领域技术人员而言明显的其他效果。
注意,如下面所描述的配置也在本公开的技术范围内。
(1)一种信息处理设备,包括:
第一规划单元,其在多种类型的预定状态之间改变状态的同时执行与动作的规划有关的预定处理,其中,
在所述状态已经改变的情况下,所述第一规划单元向比所述第一规划单元级别更高的第二规划单元通知指示状态已经改变的信息,并且
所述多种类型的预定状态包括多种类型的、指示正常执行正在进行的第一状态。
(2)根据上述(1)所述的信息处理设备,其中,与所述多种类型的各个第一状态对应的所述预定处理的进展程度彼此不同。
(3)根据上述(2)所述的信息处理设备,其中,
所述多种类型的预定状态还包括与所述第一状态不同的至少一种类型的第二状态,并且
所述至少一种类型的所述第二状态包括以下中至少之一:指示待机正在进行的状态;指示异常结束正在进行的状态;指示执行正被中断的状态以及指示正常结束已经完成的信息。
(4)根据上述(3)所述的信息处理设备,其中,所述预定处理是与所述信息处理设备的动作的规划有关的处理。
(5)根据上述(4)所述的信息处理设备,其中,
所述第二规划单元位于比所述第一规划单元高一层级的层级中,并且存在一个或更多个第二规划单元,并且
所述第一规划单元保持与所述一个或更多个第二规划单元中的每一个对应的状态,并且在所述多种类型的预定状态之间改变与所述一个或更多个第二规划单元中的每一个对应的每个状态。
(6)根据上述(5)所述的信息处理设备,其中,对于所述一个或更多个第二规划单元中的每一个,在与所述第二规划单元中的一个第二规划单元对应的状态已经改变的情况下,所述第一规划单元向所述第二规划单元中的所述一个第二规划单元通知指示与所述第二规划单元中的所述一个第二规划单元对应的状态已经改变的信息。
(7)根据上述(6)所述的信息处理设备,其中,指示与所述第二规划单元中的所述一个第二规划单元对应的状态已经改变的信息包括改变之后的、与所述第二规划单元中的所述一个第二规划单元对应的状态的标识信息。
(8)根据上述(6)或(7)所述的信息处理设备,其中,对于所述一个或更多个第二规划单元中的每一个,所述第一规划单元将与所述第二规划单元中的一个第二规划单元对应的当前状态改变为所述多种类型的预定状态中的与所述当前状态相关联的任意其他状态。
(9)根据上述(8)所述的信息处理设备,其中,对于所述一个或更多个第二规划单元中的每一个,所述第一规划单元使用用于引起向所述多种类型的预定状态中的、与所述第二规划单元中的一个第二规划单元所对应的当前状态相关联的任意其他状态进行改变的功能,来将所述当前状态改变为所述任意其他状态。
(10)根据上述(8)或(9)所述的信息处理设备,其中,
所述第一规划单元还从所述一个或更多个第二规划单元中至少之一接收用于控制所述第一规划单元以执行处理的第一控制信息,并且
所述第一规划单元基于接收到的所述第一控制信息来执行所述预定处理。
(11)根据上述(10)所述的信息处理设备,其中,所述第一规划单元还基于与所述一个或更多个第二规划单元中的各个第二规划单元对应的状态的组合来执行所述预定处理。
(12)根据上述(10)或(11)所述的信息处理设备,其中,所述第一规划单元基于所述预定处理的进展来改变与所述一个或更多个第二规划单元中至少之一对应的状态。
(13)根据上述(10)至(12)中任一项所述的信息处理设备,还包括:
所述一个或更多个第二规划单元,其中,
所述一个或更多个第二规划单元中的每一个执行与所述动作的规划有关的处理,所述处理不同于所述预定处理。
(14)根据上述(13)所述的信息处理设备,其中,所述第一规划单元还基于与所述一个或更多个第二规划单元中的各个第二规划单元对应的状态的组合或者所述预定处理的进展,向比所述第一规划单元级别更低的一个或更多个第三规划单元中的任意的一个第三规划单元通知第二控制信息,所述第二控制信息用于控制与所述一个或更多个第三处理单元中的所述一个第三规划单元对应的处理的执行。
(15)根据上述(14)所述的信息处理设备,其中,
所述第一规划单元从所述一个或更多个第三规划单元中的每一个接收指示所述一个或更多个第三规划单元中的所述一个第三规划单元的状态已经改变的信息或者指示与所述一个或更多个第三规划单元中的所述一个第三规划单元对应的处理的进展的信息,并且
所述第一规划单元还基于接收到的指示所述一个或更多个第三规划单元中的所述一个第三规划单元的状态已经改变的信息或者接收到的指示与所述一个或更多个第三规划单元中的所述一个第三规划单元对应的处理的进展的信息来执行所述预定处理。
(16)根据上述(14)或(15)所述的信息处理设备,其中,
所述一个或更多个第三规划单元位于比所述第一规划单元低一层级的层级中,
还设置有所述一个或更多个第三规划单元,并且
所述一个或更多个第三规划单元中的每一个执行与所述动作的规划有关的处理,所述处理不同于所述预定处理。
(17)根据上述(16)所述的信息处理设备,其中,
所述第一规划单元包括:数目等于或大于所述一个或更多个第二规划单元的数目的多个服务器;
执行所述预定处理的处理单元;以及
数目等于或大于所述一个或更多个第三规划单元的数目的多个客户端,
所述多个服务器中的一个或更多个服务器中的每一个保持与所述一个或更多个第二规划单元中的分别不同的一个所述第二规划单元对应的状态,并且在所述状态已经改变的情况下,向与所述状态对应的所述不同的一个第二规划单元通知指示所述状态已经改变的信息,并且
所述多个客户端中的一个或更多个客户端中的每一个向所述一个或更多个第三规划单元中的分别不同的一个所述第三规划单元通知用于控制与所述不同的一个第三规划单元对应的处理的执行的控制信息。
(18)根据上述(16)或(17)所述的信息处理设备,其中,
对于所述一个或更多个第二规划单元中的每一个,在与所述第二规划单元中的一个第二规划单元对应的状态已经改变的情况下,所述第一规划单元还将指示与所述第二规划单元中的所述一个第二规划单元对应的状态已经改变的信息输出至存储单元,并且
基于保存在所述存储单元中的指示所述状态已经改变的信息,在显示单元上显示与包括所述第一规划单元的多个规划单元的状态的改变有关的历史信息。
(19)一种信息处理方法,包括:
在多种类型的预定状态之间改变状态的同时由处理器执行与动作的规划有关的预定处理;以及
在所述状态已经改变的情况下,向较高级别的第二规划单元通知指示状态已经改变的信息,其中,
所述多种类型的预定状态包括多种类型的、指示正常执行正在进行的第一状态。
(20)一种程序,其用于使得计算机用作:
第一规划单元,其在多种类型的预定状态之间改变状态的同时执行与动作的规划有关的预定处理,其中,
在所述状态已经改变的情况下,所述第一规划单元向比所述第一规划单元级别更高的第二规划单元通知指示状态已经改变的信息,并且
所述多种类型的预定状态包括多种类型的、指示正常执行正在进行的第一状态。
附图标记列表
10 机器人
20 终端
22 通信网络
100 动作规划单元
102、104、106 规划单元
150 控制单元
160 通信单元
162 传感器单元
164 存储单元
166 移动机构
1040 服务器
1042 状态机
1044 处理单元
1046 客户端

Claims (20)

1.一种信息处理设备,包括:
第一规划单元,所述第一规划单元在多种类型的预定状态之间改变状态的同时执行与动作的规划有关的预定处理,其中,
在所述状态已经改变的情况下,所述第一规划单元向比所述第一规划单元级别更高的第二规划单元通知指示状态已经改变的信息,并且
所述多种类型的预定状态包括多种类型的、指示正常执行正在进行的第一状态,
其中,所述预定处理包括确定拓扑图上的移动路线,以及
其中,所述第二规划单元确定动作目的。
2.根据权利要求1所述的信息处理设备,其中,与所述多种类型的各个第一状态对应的所述预定处理的进展程度彼此不同。
3.根据权利要求2所述的信息处理设备,其中,
所述多种类型的预定状态还包括与所述第一状态不同的至少一种类型的第二状态,并且
所述至少一种类型的所述第二状态包括以下中至少之一:指示待机正在进行的状态;指示异常结束正在进行的状态;指示执行正被中断的状态以及指示正常结束已经完成的信息。
4.根据权利要求3所述的信息处理设备,其中,所述预定处理是与所述信息处理设备的动作的规划有关的处理,并且其中针对所述信息处理设备确定所述移动路线。
5.根据权利要求4所述的信息处理设备,其中,
所述第二规划单元位于比所述第一规划单元高一层级的层级中,并且存在一个或更多个第二规划单元,并且
所述第一规划单元保持与所述一个或更多个第二规划单元中的每一个对应的状态,并且在所述多种类型的预定状态之间改变与所述一个或更多个第二规划单元中的每一个对应的每个状态。
6.根据权利要求5所述的信息处理设备,其中,对于所述一个或更多个第二规划单元中的每一个,在与所述第二规划单元中的一个第二规划单元对应的状态已经改变的情况下,所述第一规划单元向所述第二规划单元中的所述一个第二规划单元通知指示与所述第二规划单元中的所述一个第二规划单元对应的状态已经改变的信息。
7.根据权利要求6所述的信息处理设备,其中,指示与所述第二规划单元中的所述一个第二规划单元对应的状态已经改变的信息包括改变之后的、与所述第二规划单元中的所述一个第二规划单元对应的状态的标识信息。
8.根据权利要求6所述的信息处理设备,其中,对于所述一个或更多个第二规划单元中的每一个,所述第一规划单元将与所述第二规划单元中的一个第二规划单元对应的当前状态改变为所述多种类型的预定状态中的与所述当前状态相关联的任意其他状态。
9.根据权利要求8所述的信息处理设备,其中,对于所述一个或更多个第二规划单元中的每一个,所述第一规划单元使用用于引起向所述多种类型的预定状态中的、与所述第二规划单元中的一个第二规划单元所对应的当前状态相关联的任意其他状态进行改变的功能,来将所述当前状态改变为所述任意其他状态。
10.根据权利要求8所述的信息处理设备,其中,
所述第一规划单元还从所述一个或更多个第二规划单元中至少之一接收用于控制所述第一规划单元以执行处理的第一控制信息,并且
所述第一规划单元基于接收到的所述第一控制信息来执行所述预定处理。
11.根据权利要求10所述的信息处理设备,其中,所述第一规划单元还基于与所述一个或更多个第二规划单元中的各个第二规划单元对应的状态的组合来执行所述预定处理。
12.根据权利要求10所述的信息处理设备,其中,所述第一规划单元基于所述预定处理的进展来改变与所述一个或更多个第二规划单元中至少之一对应的状态。
13.根据权利要求10所述的信息处理设备,还包括:
所述一个或更多个第二规划单元,其中,
所述一个或更多个第二规划单元中的每一个执行与所述动作的规划有关的处理,所述处理不同于所述预定处理并且包括确定所述动作目的。
14.根据权利要求13所述的信息处理设备,其中,所述第一规划单元还基于与所述一个或更多个第二规划单元中的各个第二规划单元对应的状态的组合或者所述预定处理的进展,向比所述第一规划单元级别更低的一个或更多个第三规划单元中的任意的一个第三规划单元通知第二控制信息,所述第二控制信息用于控制与所述一个或更多个第三处理单元中的所述一个第三规划单元对应的处理的执行。
15.根据权利要求14所述的信息处理设备,其中,
所述第一规划单元从所述一个或更多个第三规划单元中的每一个接收指示所述一个或更多个第三规划单元中的所述一个第三规划单元的状态已经改变的信息或者指示与所述一个或更多个第三规划单元中的所述一个第三规划单元对应的处理的进展的信息,并且
所述第一规划单元还基于接收到的指示所述一个或更多个第三规划单元中的所述一个第三规划单元的状态已经改变的信息或者接收到的指示与所述一个或更多个第三规划单元中的所述一个第三规划单元对应的处理的进展的信息来执行所述预定处理。
16.根据权利要求14所述的信息处理设备,其中,
所述一个或更多个第三规划单元位于比所述第一规划单元低一层级的层级中,
还设置有所述一个或更多个第三规划单元,并且
所述一个或更多个第三规划单元中的每一个执行与所述动作的规划有关的处理,所述处理不同于所述预定处理。
17.根据权利要求16所述的信息处理设备,其中,
所述第一规划单元包括:数目等于或大于所述一个或更多个第二规划单元的数目的多个服务器;
执行所述预定处理的处理单元;以及
数目等于或大于所述一个或更多个第三规划单元的数目的多个客户端,
所述多个服务器中的一个或更多个服务器中的每一个保持与所述一个或更多个第二规划单元中的分别不同的一个所述第二规划单元对应的状态,并且在所述状态已经改变的情况下,向与所述状态对应的所述不同的一个第二规划单元通知指示所述状态已经改变的信息,并且
所述多个客户端中的一个或更多个客户端中的每一个向所述一个或更多个第三规划单元中的分别不同的一个所述第三规划单元通知用于控制与所述不同的一个第三规划单元对应的处理的执行的控制信息。
18.根据权利要求16所述的信息处理设备,其中,
对于所述一个或更多个第二规划单元中的每一个,在与所述第二规划单元中的一个第二规划单元对应的状态已经改变的情况下,所述第一规划单元还将指示与所述第二规划单元中的所述一个第二规划单元对应的状态已经改变的信息输出至存储单元,并且
基于保存在所述存储单元中的指示所述状态已经改变的信息,在显示单元上显示与包括所述第一规划单元的多个规划单元的状态的改变有关的历史信息。
19.一种信息处理方法,包括:
在多种类型的预定状态之间改变状态的同时由处理器执行与动作的规划有关的预定处理;以及
在所述状态已经改变的情况下,向较高级别的第二规划单元通知指示状态已经改变的信息,其中,
所述多种类型的预定状态包括多种类型的、指示正常执行正在进行的第一状态,
其中,所述预定处理包括确定拓扑图上的移动路线,以及
其中,所述第二规划单元确定动作目的。
20.一种记录有程序的存储介质,所述程序用于使得计算机用作:
第一规划单元,所述第一规划单元在多种类型的预定状态之间改变状态的同时执行与动作的规划有关的预定处理,其中,
在所述状态已经改变的情况下,所述第一规划单元向比所述第一规划单元级别更高的第二规划单元通知指示状态已经改变的信息,并且
所述多种类型的预定状态包括多种类型的、指示正常执行正在进行的第一状态,
其中,所述预定处理包括确定拓扑图上的移动路线,以及
其中,所述第二规划单元确定动作目的。
CN201880060907.3A 2017-09-26 2018-06-18 信息处理设备、信息处理方法以及程序 Active CN111133397B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017184564 2017-09-26
JP2017-184564 2017-09-26
PCT/JP2018/023149 WO2019064730A1 (ja) 2017-09-26 2018-06-18 情報処理装置、情報処理方法、および、プログラム

Publications (2)

Publication Number Publication Date
CN111133397A CN111133397A (zh) 2020-05-08
CN111133397B true CN111133397B (zh) 2023-10-03

Family

ID=65901522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880060907.3A Active CN111133397B (zh) 2017-09-26 2018-06-18 信息处理设备、信息处理方法以及程序

Country Status (5)

Country Link
US (1) US20200198136A1 (zh)
EP (1) EP3690588B1 (zh)
JP (1) JP7163925B2 (zh)
CN (1) CN111133397B (zh)
WO (1) WO2019064730A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6973427B2 (ja) * 2019-02-15 2021-11-24 株式会社安川電機 通信システム、通信方法、及びプログラム
DE102021201212A1 (de) * 2021-02-09 2022-08-11 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Mehrzahl an Fahrfunktionen in einem automatisierten oder autonomen Fahrzeug

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231808A (ja) * 2010-06-16 2010-10-14 Autonetworks Technologies Ltd プログラム変更方法及びコンピュータプログラム
CN102637036A (zh) * 2012-05-08 2012-08-15 北京理工大学 一种复合式仿生四足机器人控制器
CN103317513A (zh) * 2013-04-17 2013-09-25 杭州职业技术学院 一种基于多cpu的网络化机器人控制系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4449372B2 (ja) * 2002-09-02 2010-04-14 ソニー株式会社 ロボット装置及びその行動制御方法
JP2006110707A (ja) * 2004-09-14 2006-04-27 Sony Corp ロボット装置
JP4702930B2 (ja) * 2005-04-20 2011-06-15 パナソニック株式会社 搬送システムの制御方法および搬送システム
US10025306B2 (en) * 2012-10-02 2018-07-17 Nathan Bivans System and method for remote control of unmanned vehicles
KR101999231B1 (ko) * 2013-02-27 2019-07-11 주식회사 케이티 차량 콤포넌트 제어 유닛 및 차량 콤포넌트 제어를 위한 휴대용 단말
JP6868408B2 (ja) * 2017-01-31 2021-05-12 株式会社Screenホールディングス パラメータ管理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231808A (ja) * 2010-06-16 2010-10-14 Autonetworks Technologies Ltd プログラム変更方法及びコンピュータプログラム
CN102637036A (zh) * 2012-05-08 2012-08-15 北京理工大学 一种复合式仿生四足机器人控制器
CN103317513A (zh) * 2013-04-17 2013-09-25 杭州职业技术学院 一种基于多cpu的网络化机器人控制系统

Also Published As

Publication number Publication date
EP3690588A1 (en) 2020-08-05
EP3690588A4 (en) 2021-02-17
JP7163925B2 (ja) 2022-11-01
CN111133397A (zh) 2020-05-08
US20200198136A1 (en) 2020-06-25
EP3690588B1 (en) 2023-05-17
WO2019064730A1 (ja) 2019-04-04
JPWO2019064730A1 (ja) 2020-09-03

Similar Documents

Publication Publication Date Title
EP3535705B1 (en) Reinforcement learning with auxiliary tasks
JP2020170535A (ja) 強化学習を使用した環境ナビゲーション
EP4209849A1 (en) Telepresence robots having cognitive navigation capabilit
Basu et al. Trust Dynamics in Human Autonomous Vehicle Interaction: A Review of Trust Models.
EP3907679B1 (en) Enhanced robot fleet navigation and sequencing
Scheutz ADE: Steps toward a distributed development and runtime environment for complex robotic agent architectures
US20220197304A1 (en) Systems and methods for centralized control of a fleet of robotic devices
WO2020047314A1 (en) Secure exploration for reinforcement learning
CN111133397B (zh) 信息处理设备、信息处理方法以及程序
CN110103987A (zh) 应用于自动驾驶车辆的决策规划方法和装置
CN112416323A (zh) 控制代码的生成方法、运行方法、装置、设备及存储介质
Al-Hussaini et al. Generating alerts to assist with task assignments in human-supervised multi-robot teams operating in challenging environments
Brunetti et al. Smart augmented fields for emergency operations
JP6308580B2 (ja) 管理装置、ワーク実行システム、管理方法及びプログラム
CN119910642A (zh) 机械手控制方法、装置及电子设备
CN114714350B (zh) 服务机器人的控制方法、装置、设备及介质
CN115392706A (zh) 故障机器人调度方法、装置、电子设备和计算机可读介质
CN111061259A (zh) 行走机器人的事件化驱动方法、系统、设备及存储介质
KR20140122966A (ko) 자율 컴퓨팅 장치들간의 토픽을 공유하는 장치 및 그 방법
Tsuda et al. Towards self-adaptation on real-world hardware: A preliminary lightweight programming framework
US20250258683A1 (en) Finite state machines with multi-state reconciliation in distributed computing infrastructures
JP6898367B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP7646107B1 (ja) 巡回監視システム
Devi et al. GPS tracking system based on setting waypoint using geo-fencing
Khalid et al. Super-Convergence of Autonomous Things

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