CN103354775B - 设有用于其物理和虚拟资源的管理器的类人机器人、及使用方法 - Google Patents
设有用于其物理和虚拟资源的管理器的类人机器人、及使用方法 Download PDFInfo
- Publication number
- CN103354775B CN103354775B CN201180066842.1A CN201180066842A CN103354775B CN 103354775 B CN103354775 B CN 103354775B CN 201180066842 A CN201180066842 A CN 201180066842A CN 103354775 B CN103354775 B CN 103354775B
- Authority
- CN
- China
- Prior art keywords
- resource
- behavior
- subset
- robot
- programmed
- 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.)
- Expired - Fee Related
Links
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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
- B62D57/032—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/008—Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/01—Mobile robot
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Manipulator (AREA)
Abstract
本发明涉及一种拥有针对其物理和虚拟资源的管理器的类人机器人、一种使用方法和一种对所述管理器进行编程的方法。请求所述资源(140,1410,1420)以便执行行为(130,1310,1320)。资源和行为被组织成分层子集,可选地在对象树中定义所述子集。在本地解决行为使用资源的冲突,对预留资源的行为进行编程以便向用户提供以下选项:通过预留行为锁住资源,为第一个其他请求行为释放资源,部分执行进行中的行为或者暂停。软件工具箱使得能够在允许对行为编程的开发环境中以图形方式对本发明的资源管理器进行编程。
Description
技术领域
本发明属于类人机器人的领域。更确切地说,本发明适用于管理所述机器人的资源,尤其是在这种机器人的若干用户对要由所述机器人实施的行为独立地进行编程时。
背景技术
只要机器人具有人的外观和功能的某些属性:头、躯干、两只手臂、两只手、两条腿、两只脚等,就可以将其描述为类人的。除去外观,机器人能够完成的功能将取决于其执行移动、说话和“推理”的能力。类人机器人能够用肢体行走或通过头部做姿势。他们能够执行的姿势的复杂性在不断增加。与另一姿势协调或者与言语(例如举起手臂、用沙哑的语调发出威胁性话语)、由机器人的部件(尤其是其LED)发出的信号相协调的姿势,可能是传达了其“情感”(例如,愤怒)的机器人行为的表达。某些机器人,尤其是NAO机器人,它是用于开发实现本发明的概念和方法的平台,向几位用户提供了彼此独立地开发行为的可能性。这些可能性随着采用用户语言的开发工具(例如Chorégraphe软件)而大大提高了。因此,问题就出现了,即知道如何确保由不同用户编程的各种行为在执行时的一致性,尤其是以便于避免在使用一个机器人或多个机器人的硬件和软件资源时发生冲突,从而确保必须同时使用的资源的可用性的同步并对一定数目功能执行的优先级进行管理。
确保保护电动机并禁止它们被若干行为同时使用是机器人学中的传统,这是资源管理中这种普遍问题的第一种解决方案,但它不是通用的解决方案:具体而言,这种类型的解决方案对于由不同资源的同步所造成的问题没有提供任何响应,并且对于释放资源的问题也没有提供任何响应。
为了解决其他技术领域中随着时间而分配资源的这些问题,传统的是在资源分配中实施优化机制,尤其是使用基于约束的逻辑编程类型的算法。不过,这些算法适合于不立即消耗掉的资源的分配计算,因为它们在计算资源方面很贪婪。具体而言,这些算法可以在拥有多个行为的类人机器人上使用,其仅用于多个行为中的一小部分。
因此在现有技术中,不存在任何解决方案能够解决向独立进程分配硬件或软件资源或其他类型资源的问题。本发明通过提供资源的分层定义,外加本地或分散化解决机制,解决了这个问题。
发明内容
为此目的,本发明公开了一种能够在机载管理模块的控制下执行多种行为的类人机器人,所述机载管理模块包括用于管理能分配给所述行为的执行的多种资源的子模块,在所述机器人中所述多种行为和所述多种资源均被组织成分层子集,用于管理所述资源的所述子模块是可编程的以预留至少一个资源子集中的至少一种资源来执行至少一个行为子集中的至少一种行为,所述预留被编程以由所述行为子集继承和/或应用于所述资源子集。
有利地,对用于管理所述多种资源的所述子模块进行编程,以在执行第一行为时,利用如下动作中的至少一个来响应第二行为的资源请求:拒绝令所述资源对所述第二行为可用,立即令所述资源对所述第二行为可用,执行至少一个额外动作并随后令所述资源对所述第二行为可用,暂停正在执行的所述第一行为并随后令所述资源对所述第二行为可用。
有利地,对用于管理所述多种资源的所述子模块进行编程,以在执行拒绝令所述第二行为请求的所述资源可用的动作时,所述第二行为再次执行请求以根据预定义频率令所述资源可用,直到类似预定义的期满周期到期。
有利地,对用于管理所述多种资源的所述子模块进行编程,使得在至少两种行为执行请求以令同一种资源可用时,所述至少两种行为的第一种行为在所述同一种资源被释放时有预留所述同一资源的优先权。
有利地,对用于管理所述多种资源的所述子模块进行编程,使得在至少一种行为执行请求以令至少两种资源可用时,将所述至少两种资源分组成被当作单一资源的新资源,针对执行相同资源请求的所有行为以唯一方式对所述分组排序。
有利地,对用于管理所述多种资源的所述子模块进行编程,使得在父行为预留至少一种资源而不使用它时,所述至少一种资源能够被所述父行为的子行为使用。
有利地,对用于管理所述多种资源的所述子模块进行编程,使得在第一子行为使用所述父行为预留的资源时,同一父母的第二子行为为了能够使用所述资源,必须要执行请求以使所述资源可以对所述第一子行为可用。
有利地,对用于管理所述多种资源的所述子模块进行编程,使得在父行为释放其先前预留的资源时,所述资源必须被所述父母的任何子行为释放。
有利地,对用于管理所述多种资源的所述子模块进行编程,使得在资源子集的可用性降低时,为根据所述可用性降低定义的虚拟行为执行所述资源的预留。
有利地,对用于管理所述多种资源的所述子模块进行编程,以便根据所述可用性降低的状态的演化释放所述预留。
有利地,所述多种资源包括至少一个状态变量,所述至少一个变量必须要处于预定义状态以便被预留,所述预留对执行至少一个行为是必需的。
有利地,所述多种资源包括至少一种累积资源,且将累积资源的使用率分配到被编程以便使用所述至少一种资源的行为。
有利地,所述多种资源包括至少一种必要资源和一种非必要资源,必须要求至少一种必要资源的任何行为在所述必要资源不可用时不能执行,而如果其必须要求所述至少一种非必要资源,则即使所述非必要资源不可用,所述行为也能够执行。
本发明还公开了一种用于管理能够在机载管理模块的控制下执行多种行为的类人机器人的资源的方法,所述方法包括预留可以分配给所述行为的执行的多种资源的步骤,其中所述多种行为和所述多种资源均被组织成分层子集,所述预留步骤向至少一个行为子集中的至少一个行为的执行分配至少一个资源子集中的至少一种资源,对所述预留进行编程以便由所述行为子集继承和/或应用于所述资源子集。
本发明还公开了一种包括程序代码指令的计算机程序,所述程序代码指令允许执行用于管理能够在机载管理子例程的控制下执行多种行为的类人机器人的资源的方法,所述子例程包括配置成执行用于预留可分配给所述行为的执行的多种资源的功能的模块,其中所述多种行为和所述多种资源均被组织成分层子集,所述预留功能向至少一个行为子集中的至少一种行为的执行分配至少一个资源子集中的至少一种资源,可以对所述预留进行编程以由所述行为子集继承和/或应用于所述资源子集。
有利地,所述行为子集和资源子集被定义为对象类别。
本发明还公开了一种用于开发管理类人机器人的资源的模块的方法和一种用于实施所述方法的计算机程序。
本发明还提供了避免锁住状况的优点,在具有在同一处理器上并行执行的进程的计算机***中这种锁住状况会频繁出现。本发明还能够管理类型非常悬殊的资源,包括与状态对应的虚拟资源,冻结虚拟资源能够避免启动容易产生机器人锁住或危险的状况的行为。
附图说明
从随后几个示范性实施例及其附图的描述,本发明将得到更好的理解,其各种特性和优点将显露出来,在附图中:
-图1是功能架构图,根据该架构在本发明的若干实施例中实现本发明;
-图2a和2b是允许本发明在其若干实施例中实现的计算机程序的屏幕视图;
-图3a和3b分别以可用资源的列表形式和基于框(box)的图形编程形式表示了在本发明的若干实施例中的资源管理方案;
-图4a和4b分别以功能流程图形式和弹出式图形菜单形式表示了在本发明的若干实施例中用于同步各种类型的资源的机制;
-图5a和5b分别以功能流程图形式和弹出式图形菜单形式表示了在本发明的若干实施例中用于预留临界资源的机制;
-图6a和6b分别以弹出式图形菜单形式和基于框的图形编程形式表示了在本发明的若干实施例中的资源预留的继承机制;
-图7a、7b和7c分别通过表示完整机器人、躯干机器人和可用/不可用资源的列表示出了在本发明的若干实施例中缺失资源管理的疑难问题;
-图8a至8e分别以功能流程图形式(8a)和对应于冲突的各种退出选项的弹出式图形菜单形式(8b至8e)示出了在本发明的若干实施例中用于解决冲突的若干方案;
-图9以弹出式图形菜单形式示出了在本发明的若干实施例中状态资源的使用;
-图10表示了在本发明的若干实施例中使用共享累积资源的功能流程图。
具体实施方式
图1是功能架构图,根据该架构在本发明的若干实施例中实现本发明。
底层的物理结构由类人机器人110和,任选地,远程工作站150组成,其中类人机器人110的示范性实施例在下文中给出,远程工作站150配备有用于创建行为的软件工作间160。
已知有商标为NAOTM的类人机器人。于2009年10月15日公开的专利申请WO2009/124951中已经特别公开了这种机器人。这个平台已经用作导致了本发明的改进的基础。在随后的描述中,这种类人机器人或者可以由这种通用术语或者可以由其商标NAOTM来指称,不会因此修改引用的一般性。这种机器人包括用于控制传感器和驱动关节的致动器的大约两打电子卡。关节通常具有至少两个自由度并因此有两个电动机。每个电动机都根据角度被驱动。关节还包括若干位置传感器,尤其是MRE(磁旋转编码器)。电子控制卡包括现成的微控制器。例如这可以是来自Microchip公司的DSPICTM。这是耦合到DSP的16位MCU。这种MCU具有1毫秒的循环从动周期。机器人还可以包括其他类型的致动器,尤其是LED(发光二极管),其颜色和强度可以传达机器人的情感。后者还可以包括其他类型的位置传感器,尤其是惯性单元FSR(地面压力传感器)。
头部包括机器人的智能,尤其是执行高级功能的卡,其允许机器人完成分配给它的任务。此卡的处理器可以是现成的x86处理器。例如来自AMD公司的低功耗处理器GeodeTM(32比特,500MHz)将以优选的方式被选出。此卡还包括一组RAM和闪存。此卡也管理机器人与外部(行为服务器、其他机器人等)的通信,通常在WiFi、WiMax传输层上,可选地在用于与任选地封装在VPN中的标准协议进行数据移动通信的公共网络上。该处理器通常由标准的OS驱动,从而可以使用常用的高级语言(C、C++、Python等)或用于诸如编程高级功能的URBI(用于机器人的专门编程语言)的用于人工智能的特定语言。
另一张卡容纳在机器人的躯干中。这是计算机所在的位置,计算机确保了将由头部的卡计算出的命令传输到关节控制卡。此卡的计算机也是现成的处理器。其可以有利地是时钟频率为100MHz的ARM 9TM式的32位处理器。这种类型的处理器,其中心位置靠近开/关按钮,其与电源控制的链接使它成为管理机器人的电源的非常合适的工具(空闲模式、紧急停止等)。此卡还包括一组RAM和闪存。
机器人的智能是根据特定的软件架构安装的,它构成了被称为NAOQI的真正操作和机器人接口管理***120。这种架构已于2009年10月15日公布的专利申请WO2009/124955中特别公开了。构成这种架构的软件模块包括用于管理机器人和PC或远程站点之间的通信以及用于交换提供了实现本发明所必需的软件基础设施的软件的***功能。这种架构包括用于管理机器人的基本功能所必需的功能,例如移动、移动肢体、解释传感器的信号或通过致动器调度信号。它还允许机器人的用户在机器人的机载存储器中安装用于控制机器人行为130、1310、1320的执行的软件程序,这些行为可能是姿势,包括诸如舞步、言语或情感的复杂而协调的姿势,这些最终通常是姿势、言语和由诸如LED的致动器发出的信号的组合。
为了执行这些行为,机器人将必须要求资源140、1410、1420。本发明涉及用于管理所述资源以允许非冲突执行行为的方案。其本质上是在用于管理资源的模块或“资源管理器服务器”1210中实施的,此模块的详细操作在本说明书的下文中描述。
在诸如工作站150的远程终端上,通过使用目标语言应该为C、C++、Python或Urbi的任何软件,有可能编程出机器人待执行的行为。不过,要实现本发明,有利地是使用用于编辑和编程类人机器人行为的特定功能架构。这种架构已经被2010年5月25日提交的专利申请PCT/EP2010/057111描述过了。用于编辑和编程类人机器人行为的软件工作间160,使得实施具有商标名称ChorégrapheTM的所述架构成为可能,并且在不损害引用的一般性的情况下,要么可以由其通用名称要么可以由其商品名称来指称。这种架构对于生成机器人行为尤其有效,因为这使得能够容易地实现由具有它们的时间维度的事件所触发的命令的关节移动。由事件触发的命令在Chorégraphe中由“框”或“控制框”来表示。框是一种树型编程结构,其可以包括此后定义的以下一个或多个元素:
-帧的“时间线(Timeline)”或时间轴;
-“图表”或流程图;
-脚本。
正常情况下,控制框通过通常将事件信息项目从一个框传输到另一个框的连接而链接在一起。任何框都直接或间接地链接到初始化机器人的行为/移动场景的“根框(Rootbox)”或根上。
帧的时间轴表示机器人的行为和移动所受的时间约束,机器人的行为和移动在***有所述帧的时间轴或时间线的框中定义。因此,时间线执行框的行为和移动的同步。它被分成帧,所述帧与定义为每秒帧数或帧频(FPS)的进展速度相关联。每条时间线的FPS都由用户进行参数化。默认情况下,FPS可以固定为一给定值,例如15FPS。
时间线可以包括:i)一个或多个行为层(Behavior Layer),每个行为层包括一个或多个行为关键帧或“主要行为帧”,其本身可以包括一个或多个图表或“流程图”,这实际上是在不通过行为层或时间线的情况下,也可以直接附加到更高层框的框集;ii)一个或多个运动层(motion Layer),每个运动层包括一个或多个运动关键帧或“主要运动帧”,其可以包括一个或多个运动屏幕(Motion Screen)。
如进一步详述的,流程图是一组连接在一起的框。框中的每一个可以依次包括附加有新的行为或运动层的其他时间线。
脚本是可以由机器人直接执行的程序。在本发明的框架内,脚本是以优选的方式用C++语言编写的。包括脚本的框不包括任何其他元素。
使用WindowsTM、MacTM或LinuxTM操作***可以将软件安装在PC或个人计算机类型的另一个平台上。
在本发明的框架内,特定的Chorégraphe屏幕1610(可以将其认为是被称为“资源管理器客户端”的Chorégraphe模块)通过生成待被嵌入到资源管理器服务器模块1210上的脚本,允许对用于管理诸如NAO的类人机器人的资源的规则进行编程。对可以彼此包含的Chorégraphe框的设计特别有利于实现本发明。事实上,图1中的更高层行为130可以被描述为父行为,其可以包括例如两个子行为1310、1320,通过将包括于父行为的框中的框,可以对所述子行为进行图形化编码(拖放预编程的Box和互联)。基本资源1410、1420指定了例如左腿资源和右腿资源,其可以被归为下肢单一资源140。左腿和右腿本身是复合资源,其每一个都包括大腿、膝、小腿、脚踝、脚,这些子集中的每一个自身能够包括一个或多个电动机、一个或多个传感器、一个或多个致动器。Chorégraphe通过假定行为所需的资源是可用的,利用时间线来管理资源的同步。如果没有本发明的资源管理器服务器,Chorégraphe将不能管理使资源可用。
有关使诸如电动机的低级资源可用的冲突可以由“互斥”或互斥型(mutex type)的常规算法来解决。这种算法的共同特征是排除了两个同时进程对用这种方式管理的资源的占用。这种类型的算法通过用于管理优先级和等待的机制尤其不同。不过,当进程必须访问复合资源时,这种算法不允许容易地解决更高级的冲突。此外,考虑到为了使机器人具有人类外观其行为的非常短的时间常数,考虑到资源分配优化算法的CPU消耗,以及考虑到嵌入到机器人上的计算资源的脆弱,通过求助于所述资源分配优化算法可能无法设想这个问题的解决方案。
在本发明的框架内解决资源管理问题的另一个困难是,若干用户可以彼此独立地对行为进行编程,并且每个用户都可以将他们的行为安装在同一个机器人上(当然条件是他们有权这样做)。
如整个说明书中详细所述,行为和资源的架构以及用于管理这些实体间关系的功能使如下成为可能,尤其是在本发明的框架内:避免资源冲突(两个行为不能同时使用相同的电动机,操纵同一个球的两个行为不能同时执行);同步使用不同的资源(打招呼要使用手臂和音频;为了获得一致的行为这两种资源必须同时可用);管理各种机器人模型(例如,没有手臂的机器人、有腿的机器人、带轮子的机器人等)和肢体出现故障或以降级(节能)模式运行的机器人;避免有关在多线程***(其中几个进程并行执行)中资源分配的死锁或锁住情况;具有冲突解决机制;确保用于临界行为的资源的可用性;不管行为是什么保护机器人(例如不跌倒)。
资源管理器服务器1210确保了资源的可用性。它在对象开发的框架内具有分层数据结构:父对象或行为可以预留资源,然后保证子行为获得资源。这也使得迅速解决冲突成为可能:该解决方案是分散的/本地的,由此可以规避约束解析引擎的数学和算法复杂性(计算时间)。产生冲突者解决冲突,资源管理器客户端不会做任何计算。
资源管理器服务器包括可以避免多线程***中的锁住/死锁问题的机制(例如,将一组资源(即所有电动机)作为单一资源(即:一个电动机)来联合管理)。该***也是通用的:相比于其他功能和资源嵌套的***,资源管理器可以管理任何类型的资源并且不依赖于一个功能。就像本发明的资源管理器那样,在不允许额外的抽象层次的情况下,可以使传统的方法与保护功能中数据的精确项的信号量/互斥量相比较(这些多种资源的同步)。
图2a和2b是允许在其若干实施例中实现本发明的计算机程序的屏幕视图。
图2a中示出了Chorégraphe屏幕。Chorégraphe模块160根据将在本说明书的后面详述的方案,将行为130、1310、1320以及由所述行为使用的资源140、1410、1420和事先已在资源管理器客户端1610定义的用于预留所述资源的规则加载到机器人上。资源管理器服务器1210是机器人上对应于资源管理器客户端的相对方。
当Chorégraphe引用资源时,其向机器人的服务器(或在PC上模拟的机器人)请求资源。在每次执行时,都将Chorégraphe代码传输给机器人。
图2b中示出的初始化文件列出了机器人的资源集。机器人有利地包括网络服务器1220,其应客户端1610的请求,将资源列表返回到站150,所述列表就可以在资源管理器客户端1610中被查看。所述列表可以由Chorégraphe(机器人的客户端Chorégraphe)或网络浏览器(机器人的客户端网页)来查看。不过,将会注意到,本发明可以在完全不用求助于Chorégraphe或求助于资源管理器客户端模块1610的情况下实现。在这种情况下,服务器站150调度行为到机器人(所述行为由NAOQI模块来解释),并获取服务器1220上的资源列表、行为的分层和在资源管理器服务器1210上执行的资源集合。
于是,资源管理器服务器1210是机器人的模块、NAOQI的子集,它定义了可用的资源集。行为包含动作(运动、音频、视频)。它用C++或Python编码,或以图形形式(Python或C++封装)被执行。机器人的网络服务器可以在浏览器中返回资源列表以及使用它们的行为和等待资源可用的行为。资源是分层的,用户可以很容易地占据机器人的顶部、底部、腿部,而不用知道位于机器人的这些部分中每一部分的电动机的详细信息。
API(应用程序编程接口)使得可以使用C++、python(包装的C++)或图形语言(C++或python的封装)的资源管理器1210并可以生成如下命令:
-占有或等待单一资源,即
void waitForResource(const string&resourceName,const string&ownerName,conststring&callbackName,constint&timeoutSeconds);
-在给出行为间的分层信息时占有或等待单一资源,(在后来的描述中,预留资源的行为被称为“所有者(Owner)”),即
void waitForLocalResourcesTree(const vector<string>&resourceName,const class AL::ALPtr<class AL::ALH ierarchyOwner>&treeO wnerPtr,conststring&callbackName,constint&timeoutSeconds);
-释放资源,即
void releaseResource(const string&resourceName,const string&ownerName)。
图3a和3b分别以可用资源的列表形式和基于框的图形编程形式表示了在本发明的若干实施例中的资源管理方案。
这些图示出了应用于对单一资源上冲突的管理的处理操作的原则。
就单一资源(例如电动机)而言,这需要避免任何死锁。只有资源列表在互斥型算法的帮助下受到保护,并且在资源添加或资源删除中使用这种互斥。尽管是线程安全的(thread-safe),但冲突本身(等待资源的释放)并没有受到保护。互斥是一种为了使应用程序线程安全而用于保护标准库的***(在具有若干线程的并行***上是可访问的)。另一方面,它们不防止死锁。我们因此只使用互斥来保护资源列表。冲突解决不会要求锁住***,即互斥,但是不管怎样它是线程安全的。
通过应用以下原则来完成资源预留中的冲突解决:i)在多线程***中,两个所有者不能在同一时刻占有相同的资源;因此我们用尝试锁住(try-lock)来保护请求,尝试锁住是一种获取由互斥锁住的资源的非禁用尝试;ii)当两个所有者在完全相同的时间(由OS的调度程序来定义)请求相同的资源时,所有的所有者必须解决冲突,但只有第一个所有者在资源释放时得到它(先到先服务)。
这种类型的范例由图3a的资源列表和用于定义图3b的Chorégraphe依存关系的框和屏幕视图来示出。
在本范例中,MoveHead1拥有资源。MoveHead2正在等待资源。MoveHead3也将等待资源但MoveHead2会首先得到它(先到先服务)。
由智能指针来进行资源分配(智能指针包括在所指向的资源上执行的封装代码),由此避免了使用互斥(分配对于OS而言必须是原子的)。
如果两个线程都在执行A=B(或就所示应用程序而言,OwnerResourceA=new_Owner),那么代码行A=B必须由互斥来保护,否则应用程序会在两个线程都执行它时被中断。现在,我们不想使用互斥来解决这种冲突。不过,在某些情况下,A=B并不需要得到保护,尤其是,如果A和B是原子类型(整型、浮点型等),其永远不会由另一个线程引起A=B的中断(并引起应用程序崩溃)。这就是为什么在OwnerResourceA=new_Owner中,ownerResourceA和new_Owner都是整数(指针)。于是,在缺乏任何互斥的情况下,我们的应用程序不能锁住(死锁)。
那么算法的类型是:
等待Resource-head
检测尝试锁住的同时请求
解决冲突(等待或超时)
如果根据尝试锁住我是第一个进入的:
point-to-my-old-owner=point-to-my-new-owner
否则进一步解决冲突。
在chorégraphe中,使用MoveHead框。两个头部移动是并行的,它们中每一个都引用相同的电动机。在此,锁住选项表示其他请求者将被置于备用等待它们超时的极限。
图4a和4b分别以功能流程图形式和弹出式图形菜单形式表示了在本发明的若干实施例中用于同步各种类型的资源的机制。
这些图示出了同一个所有者(行为、对象)请求几种资源的情况,这些资源必须是可用的,从而其可以执行。所有者可能是Chorégraphe Box,但也可能是也具有分层属性的C++对象(在面向对象的意义上)。
对象或行为正在等待备用或先前已经预留了资源。当一个所有者请求多个资源时,就创建了引用子资源的新的唯一资源。这种新资源允许以同样的方式来处理每个资源(例如电动机)和资源组(相同的超时)。这种机制,如图4a的功能流程图所示,使得如果单一资源不可用,尤其是停止等待所有资源成为可能。本发明的方法于是就避免了锁住(死锁)。
另一方面,以下算法将无法运行:
seize(List_resources)
Foreach resource
request_and_seize the resource
如图4b所示,在Chorégraphe中,对若干资源进行选择,于是导致调用waitResources方法(资源列表、所有者、回调、超时)和导致生成引用初步选定的资源列表的新的唯一资源。
此外,对资源列表进行有利的排序,以避免某些不必要的超时;在图4b所示的范例中,其中资源A是音频信号处理(Audio-TTS),资源B是左臂的俯仰运动(Arm-Leftarm–ShoulderPitch):
所有者1(线程1)请求A+B:所有者1占有A并等待B,
所有者2(线程2)请求B+A:所有者2占有B并等待A。
在没有资源排序的情况下,没有控制被分配到机器人。在排序的情况下:
所有者1(线程1)请求A+B:所有者1占有A,所有者1占有B,于是允许执行命令。
所有者2(线程2)请求A+B:所有者2等待A直到超时,或直到由所有者1释放资源A+B。
图5a和5b分别以功能流程图形式和弹出式图形菜单形式表示了在本发明的若干实施例中用于预留临界资源的机制。
对于临界行为(例如电池再充电)来说某些资源必须是可用的。这种可用性是由资源的对象继承确保的。父对象或行为可以预留资源。然后这些资源将对孩子可用,另一方面,孩子会为了这些资源而争吵。
如图5a的功能流程图所示,所有者1不一定使用资源,他为子对象或行为占据资源。资源管理器的算法迫使每个孩子在其本身释放资源时放弃自己的资源。换句话说,如果孩子释放掉这些资源,解决与孩子的冲突也会迫使解决与父母的冲突。
如图5b所示,在Chorégraphe中,创建流程图类型的父框(用于资源管理器服务器的分层对象或包含多个框的框)。
图6a和6b分别以弹出式图形菜单形式和基于框的图形化编程形式表示了在本发明的若干实施例中用于资源预留的继承机制。
如这两幅图所示的本发明实施方式的情况下,父所有者1预留资源A+B(A=TTS而B=Arms-LeftArm-ShoulderPitch)。
这种复合资源对于封装在父所有者1中的框(行为所有者2、所有者3)是可用的,第一个请求它的框能够立即使用它。
图7a、7b和7c分别通过表示完整机器人、躯干机器人和可用/不可用资源的列表示出了在本发明的若干实施例中缺失资源管理的疑难问题。
资源管理器可以通过冻结不存在的资源来管理机器人模型。在本发明的有利模式中,因而可以执行独立于机器人模型的行为。如果机器人变化,则企业实际上不可能重做一套其客户的行为。
就具有完整机器人的所有部件(尤其是其四肢,例如如图7a所示)的机器人模型而言,资源管理器识别出机器人模型是完整的,并且不实施资源冻结机制。
就没有腿的躯干机器人模型而言,例如如图7b所示,应用程序初始化之后,我们获得了图7c示出的资源列表,其中对应于躯干机器人所缺乏的腿部的资源被冻结(即,对于任何所有者来说都不可用)。它们被诸如LHipYaw Pitch->ALFrameManager_0x9425af8_root_RobotModel_3eStrong0(图7c的资源列表的Legs子集的第一行)的行为所预留。只要这种行为并不意图被执行,就可以将其描述为人为制品或虚拟行为。
可以将全部或部分冻结资源的相同机制应用于管理或防止机器人的某些部件的故障。具体而言,假设头部的电动机变热,hotEngine行为就会通过减少调度的能量来占据电动机直到电动机冷却。同样,如果手臂断裂了,则brokenArm行为就会占据破损的电动机使得没有其他行为使用它。
通过扩展这种缺失或缺乏资源的管理概念,可以定义关于行为的必要/非必要资源。就行为而言宣称是必要的资源的可用性对于所述行为的执行是至关重要的。另一方面,尽管被宣称是非必要的资源不可用,但也能够执行所述行为。例如,如果行为是打招呼,其通常包括语音消息“你好”(资源A=Audio)、右臂的姿势(资源B=RightArm)和前进两步(资源C=LeftLeg;资源D=RightLeg)的组合,如果宣称资源A和B是必要的,并且宣称资源C和D是非必要的,那么即使因为例如机器人就在行走的过程中所以资源C和D不可用,也将能够执行打招呼行为。
如果使用必要/非必要资源的概念,对于一行为,定义了一些资源为非必要的且是缺失或低效的,该行为将能够被执行,然而对于相同的资源被宣称是必要的行为来说,其将不能够被执行。如果一个行为既要求必要资源又要求非必要资源,则它将根据非必要资源的可用性或其他方面通过不同的方式来执行。
但是为了获得实现相同的功能,还可以将所有的资源定义为必要的,同时将行为分割成子行为。默认情况下,如果资源不可用,则子行为不会执行。同样在默认情况下,全局(父)行为将总是执行。但是如上所述,在父行为层和子行为(孩子行为)层有可能会修改默认选项。
图8a至8e分别以功能流程图形式(8a)和对应于冲突的各种退出选项的弹出式图形菜单形式(8b至8e)示出了在本发明的若干实施例中用于解决冲突的若干方案。
如图8a所示,多代理/分布式方法可以规避与实时兼容性差的复杂算法。对象或行为本身以本地的方式解决冲突。它或者拒绝另一个行为或请求资源的行为对资源的请求(图8b所示的情况)。或者立即释放资源使得资源可以被请求它们的另一行为所使用(图8c所示的情况)。或者预先执行允许它在释放所述资源之前采用稳定的位置的行为部分(图8d所示的情况;例如,当移动正在进行时,它会终止这个移动直到下一个稳定的位置)。或者拥有资源的行为自己暂停并释放被请求的资源,该暂停持续到占有资源的另一行为释放资源(图8e所示的情况)。在所有资源不被立即释放的情况下,请求者行为采用备用位置等待资源直到超时,超时的持续时间可以是预定义的。在所有情况下都避免了死锁。
通知由回调***来执行。用C++或用python:如果一个所有者拥有资源,它会被通知回调中的请求。在Chorégraphe中,通过在回调过程中提出解决方案给用户提供帮助(用户不需要知道回调过程的存在),向行为通知这个回调过程中的请求:
*该通知引起拥有资源的行为停止。
*该通知什么也不做,拥有它的行为来保持它。
*该通知暂停拥有资源的行为。
*该通知调用用户做他想做的事情的功能(例如,在释放资源之前采用稳定的位置)。
更确切地说,在Chorégraphe中,以下选项是可以由用户进行编程的:
-锁住:如果资源被另一个行为请求,占有资源而不释放它们(图8b);
-按需停止:如果资源被请求,占有资源并释放它们(图8c);
-按需回调:在资源冲突的情况下可以执行任何用户代码;例如在跳舞的情况下,在停止跳舞和释放资源之前将机器人置于稳定的位置;
-按需暂停:在资源冲突的情况下可以暂停行为,如果再次释放资源则将行为恢复到其原来的位置。
在默认情况下,行为保持资源。正在等待资源的那些因此要等待行为的结束。
图9以弹出式图形菜单形式示出了在本发明的若干实施例中状态资源的使用。
本图示出了在本发明的实施例中一种被称为状态资源的特定类型资源的使用。
避免电动机、音频、视频的使用冲突不足以保护类人机器人,尤其是对抗可能会导致故障或破损的跌倒的风险。存在较低水平的保护机制,例如由申请人提交的专利申请FR/1056798公开的跌倒管理方法。不过,其对于能够防止跌倒很有利。例如,在机器人行走时切断电动机会引起机器人跌倒。为了防止这种类型的情况,根据本发明,可以定义一种状态资源,其可用性(由所述状态资源的激活状态定义)对于执行某些行为是必要的。状态资源是共享的(几个对象或行为可以占据它)。资源的单一状态(激活状态)是可用的。如果该状态不可用,则资源响应于先前描述的相同机制(备用地等待资源直到超时并通知那些占据资源的对象)。在图9所示的情况下,状态资源是Sit,也就是说机器人必须处于坐下(或就坐)位置以使得某些行为(尤其是切断所有电动机)可以被执行。只要这种资源不可用,“切断所有电动机”行为就不可以被执行(在这种行为固定的超时状态下其是失活的)。
在Chorégraphe中,因此可以选择状态资源。可以将图9中的范例推广到其他状态,例如:摄像机1/摄像机2(机器人可以设置有具有不同视野的若干摄像机,其使用只在特定的位置相关)、***电源/不***电源(某些功能需要使用与机器人的自治资源不兼容的能量)等。
图10表示了在本发明的若干实施例中使用共享累积资源的功能流程图。
本图示出了在本发明的实施例中一种被称为累积资源的特定类型资源的使用。
这种类型的资源尤其在用于优化机器人的CPU管理上得到应用。各个用户无法启动所有的行为,但是他们可以根据资源的可用性(诸如电动机的单一资源)、机器人的位置(状态资源)、CPU(累积资源)、网络(累积资源)这样做。
每个行为都宣称共享其占据的CPU,作为共享资源的这种CPU就像状态资源类型的资源。不过,其使用被限制到100%。在图10所示的情况下,所有者1宣称使用10%的累积资源A,所有者2宣称使用90%的相同的累积资源A。所有者3等待累积资源A的可用性直到其超时。向所有者1和所有者2通知所有者3的请求,并可以用上文所述的选项之一响应该请求。
可以通过组合图中表示的和本说明书中独立描述的各种示范性实施例来实现本发明。于是,可以定义若干真实的或虚拟的行为或子行为并组合要求单一资源、状态资源、累积资源,其可以是必要的或非必要的资源。
已经在单一机器人的情况下描述了本发明的实施例。不过,可以将应用推广到彼此通信的几个机器人被诱导共享资源的情况中。于是:
-如果我们使用一个机器人的资源,那么***的任何机器人(客户端)都可以询问其他机器人的资源管理器(服务器)来占有资源;
-机器人也可以使用虚拟资源:例如球;在这种情况下,单一服务器机器人必须引用球资源;其他机器人(客户端)就可以从服务器机器人占有这种资源。
在下文中给出第二种情况的说明性范例:
-机器人1想要占有球(向服务器机器人请求);
-机器人1不能占有球(超时),因为另一个机器人拥有球资源。
-于是,同一团队的两个机器人因此不会试图为了相同的球而争吵。
上文描述的范例是以例示本发明实施例的方式给出的。它们不以任何方式限制由后附权利要求定义的本发明的范围。
Claims (14)
1.一种能够在机载管理模块(120)的控制下执行多种行为(130,1310,1320)的类人机器人,所述机载管理模块(120)包括用于管理能分配给所述行为的执行的多种资源(140,1410,1420)的子模块(1210),在所述机器人中所述多种行为和所述多种资源均被组织成分层子集,对用于管理所述资源的所述子模块进行编程以预留至少一个资源子集中的至少一种资源来执行至少一个行为子集中的至少一种行为,所述预留被编程以由所述行为子集继承和/或应用于所述资源子集;
其中,对用于管理所述多种资源的所述子模块进行编程,以在执行第一行为时,利用如下动作中的至少一个来响应第二行为的资源请求:拒绝令所述资源对所述第二行为可用,立即令所述资源对所述第二行为可用,执行至少一个额外动作并随后令所述资源对所述第二行为可用,暂停正在执行的所述第一行为并随后令所述资源对所述第二行为可用。
2.根据权利要求1所述的类人机器人,其中,对用于管理所述多种资源的所述子模块进行编程,以在执行拒绝令所述第二行为请求的所述资源可用的动作时,所述第二行为再次执行请求以根据预定义频率令所述资源可用,直到预定义的期满周期到期。
3.根据权利要求1所述的类人机器人,其中,对用于管理所述多种资源的所述子模块进行编程,使得在至少两种行为执行请求以令同一种资源可用时,所述至少两种行为的第一种行为在所述同一种资源被释放时有预留所述同一种资源的优先权。
4.根据权利要求1所述的类人机器人,其中,对用于管理所述多种资源的所述子模块进行编程,使得在至少一种行为执行请求以令至少两种资源可用时,将所述至少两种资源分组成被当作单一资源的新资源,针对执行相同资源请求的所有行为以唯一方式对所述分组排序。
5.根据权利要求1所述的类人机器人,其中,对用于管理所述多种资源的所述子模块进行编程,使得在父行为预留至少一种资源而不使用它时,所述至少一种资源能够被所述父行为的子行为使用。
6.根据权利要求5所述的类人机器人,其中,对用于管理所述多种资源的所述子模块进行编程,使得在第一子行为使用所述父行为预留的资源时,同父的第二子行为为了能够使用所述资源,必须要执行请求以使所述资源对所述第一子行为可用。
7.根据权利要求5所述的类人机器人,其中,对用于管理所述多种资源的所述子模块进行编程,使得在父行为释放其先前预留的资源时,所述资源必须被所述父行为的任何子行为释放。
8.根据权利要求1所述的类人机器人,其中,对用于管理所述多种资源的所述子模块进行编程,使得在资源子集的可用性降低时,为根据所述可用性降低定义的虚拟行为执行所述资源的预留。
9.根据权利要求8所述的类人机器人,其中,对用于管理所述多种资源的所述子模块进行编程,以便根据所述可用性降低的状态的演化释放所述预留。
10.根据权利要求1所述的类人机器人,其中,所述多种资源包括至少一个状态变量,所述至少一个变量必须要处于预定义状态以便被预留,所述预留对执行至少一个行为是必需的。
11.根据权利要求1所述的类人机器人,其中,所述多种资源包括至少一种累积资源,且将累积资源的使用率分配到被编程以便使用所述至少一种资源的行为。
12.根据权利要求1所述的类人机器人,其中,所述多种资源包括至少一种必要资源和一种非必要资源,必须要求至少一种必要资源的任何行为在所述必要资源不可用时不能执行,而如果其必须要求所述至少一种非必要资源,则即使所述非必要资源不可用,所述行为也能够执行。
13.一种用于管理能够在机载管理模块(120)的控制下执行多种行为(130,1310,1320)的类人机器人的资源的方法,所述方法包括预留能够分配给所述行为的执行的多种资源(140,1410,1420)的步骤,其中所述多种行为和所述多种资源均被组织成分层子集,所述预留步骤向至少一个行为子集中的至少一个行为的执行分配至少一个资源子集中的至少一种资源,对所述预留进行编程以便由所述行为子集继承和/或应用于所述资源子集;
其中,在执行第一行为时,利用如下动作中的至少一个来响应第二行为的资源请求:拒绝令所述资源对所述第二行为可用,立即令所述资源对所述第二行为可用,执行至少一个额外动作并随后令所述资源对所述第二行为可用,暂停正在执行的所述第一行为并随后令所述资源对所述第二行为可用。
14.一种用于开发用于管理能够在机载管理子例程(120)的控制下执行多种行为(130,1310,1320)的类人机器人的资源的模块(1610)的方法,所述子例程被配置成执行用于预留能分配给所述行为的执行的多种资源(140,1410,1420)的功能,其中所述多种行为和所述多种资源均被组织成分层子集,且所述预留功能向至少一个行为子集中的至少一种行为的执行分配至少一个资源子集中的至少一种资源,对所述预留功能进行编程以由所述行为子集继承和/或应用于所述资源子集;
其中,在执行第一行为时,利用如下动作中的至少一个来响应第二行为的资源请求:拒绝令所述资源对所述第二行为可用,立即令所述资源对所述第二行为可用,执行至少一个额外动作并随后令所述资源对所述第二行为可用,暂停正在执行的所述第一行为并随后令所述资源对所述第二行为可用。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1060755A FR2969026B1 (fr) | 2010-12-17 | 2010-12-17 | Robot humanoide dote d'un gestionnaire de ses ressources physiques et virtuelles, procedes d'utilisation et de programmation |
FR1060755 | 2010-12-17 | ||
PCT/EP2011/070684 WO2012079926A1 (fr) | 2010-12-17 | 2011-11-22 | Robot humanoide dote d'un gestionnaire de ses ressources physiques et virtuelles, procedes d'utilisation et de programmation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103354775A CN103354775A (zh) | 2013-10-16 |
CN103354775B true CN103354775B (zh) | 2016-08-31 |
Family
ID=44359864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180066842.1A Expired - Fee Related CN103354775B (zh) | 2010-12-17 | 2011-11-22 | 设有用于其物理和虚拟资源的管理器的类人机器人、及使用方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US9975246B2 (zh) |
EP (1) | EP2651607B1 (zh) |
JP (1) | JP6144628B2 (zh) |
KR (1) | KR101867640B1 (zh) |
CN (1) | CN103354775B (zh) |
BR (1) | BR112013015177A2 (zh) |
ES (1) | ES2535273T3 (zh) |
FR (1) | FR2969026B1 (zh) |
WO (1) | WO2012079926A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9956687B2 (en) * | 2013-03-04 | 2018-05-01 | Microsoft Technology Licensing, Llc | Adapting robot behavior based upon human-robot interaction |
US9056396B1 (en) * | 2013-03-05 | 2015-06-16 | Autofuss | Programming of a robotic arm using a motion capture system |
EP2933065A1 (en) | 2014-04-17 | 2015-10-21 | Aldebaran Robotics | Humanoid robot with an autonomous life capability |
FR3021572B1 (fr) * | 2014-06-03 | 2016-07-01 | Aldebaran Robotics | Securite d'un robot a caractere humanoide |
KR101678383B1 (ko) * | 2015-05-27 | 2016-12-06 | 주식회사 유진로봇 | 이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템 및 방법 |
US10254744B2 (en) * | 2015-09-25 | 2019-04-09 | Intel Corporation | Telerobotic controller |
JP6726388B2 (ja) * | 2016-03-16 | 2020-07-22 | 富士ゼロックス株式会社 | ロボット制御システム |
CN106126342A (zh) * | 2016-06-23 | 2016-11-16 | 北京光年无限科技有限公司 | 面向智能机器人的多程序运行方法及操作*** |
US10239205B2 (en) * | 2016-06-29 | 2019-03-26 | International Business Machines Corporation | System, method, and recording medium for corpus curation for action manifestation for cognitive robots |
CN111164522B (zh) * | 2017-09-30 | 2023-05-16 | 西门子股份公司 | 设计具有可重复使用技能的自主*** |
US10646998B2 (en) | 2017-11-27 | 2020-05-12 | Intuition Robotics, Ltd. | System and method for optimizing resource usage of a robot |
US10792813B1 (en) | 2018-04-26 | 2020-10-06 | X Development Llc | Managing robot resources |
US11526823B1 (en) | 2019-12-27 | 2022-12-13 | Intrinsic Innovation Llc | Scheduling resource-constrained actions |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1088629A1 (en) * | 1999-01-20 | 2001-04-04 | Sony Corporation | Robot device and motion control method |
JP2001179666A (ja) * | 1999-12-28 | 2001-07-03 | Namco Ltd | ペット型ロボット及びプログラムが記録されたコンピュータ読み取り可能な記録媒体 |
CN1372506A (zh) * | 2000-03-24 | 2002-10-02 | 索尼公司 | 机器人设备行为决定方法和机器人设备 |
CN1518489A (zh) * | 2002-03-15 | 2004-08-04 | 索尼公司 | 用于机器人的行为控制***和行为控制方法及机器人装置 |
JP2005300692A (ja) * | 2004-04-07 | 2005-10-27 | Sony Corp | ロボットの行動制御システム及び行動制御方法、並びにロボット装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR1056798A (fr) | 1951-09-17 | 1954-03-02 | Procédé pour la fabrication et chaussures conformes à celles obtenues par ce procédé | |
JP4086259B2 (ja) * | 1995-08-04 | 2008-05-14 | 株式会社東芝 | 通信システム |
GB2341057A (en) | 1998-08-28 | 2000-03-01 | Ibm | Allocating names to network resources for shared access |
JP2001014178A (ja) * | 1999-06-29 | 2001-01-19 | Fujitsu Ltd | データ入出力処理方法およびそのプログラム記録媒体 |
JP2001236221A (ja) * | 2000-02-21 | 2001-08-31 | Keisuke Shindo | マルチスレッドを利用するパイプライン並列プロセッサ |
US6975970B2 (en) * | 2000-12-15 | 2005-12-13 | Soliloquy, Inc. | Method for designing an interactive system |
KR100980793B1 (ko) * | 2001-11-28 | 2010-09-10 | 에볼루션 로보틱스, 인크. | 로봇을 위한 하드웨어 추상화 계층에서의 센서 및액추에이터 추상화 및 집단화 |
JP2003266352A (ja) | 2002-03-18 | 2003-09-24 | Sony Corp | ロボット装置及びロボット装置の制御方法 |
JP2004268235A (ja) * | 2003-03-11 | 2004-09-30 | Sony Corp | ロボット装置、その行動制御方法及びプログラム |
JP2004298976A (ja) | 2003-03-28 | 2004-10-28 | Sony Corp | ロボット装置及びロボット装置の認識制御方法 |
JP4150853B2 (ja) | 2003-06-06 | 2008-09-17 | 日本電気株式会社 | 資源競合制御システム及び制御方法並びにプログラム |
JP2005144612A (ja) * | 2003-11-17 | 2005-06-09 | Sony Corp | ロボットシステム、遠隔操作装置、ロボット装置及びその制御方法 |
US8843244B2 (en) * | 2006-10-06 | 2014-09-23 | Irobot Corporation | Autonomous behaviors for a remove vehicle |
AU2008353981B2 (en) * | 2008-04-02 | 2013-01-31 | Irobot Corporation | Robotics systems |
US8571745B2 (en) * | 2008-04-10 | 2013-10-29 | Robert Todd Pack | Advanced behavior engine |
FR2930108B1 (fr) | 2008-04-09 | 2010-07-30 | Aldebaran Robotics | Systeme et procede de communication distribue comprenant au moins un serveur, au moins un terminal distant, et au moins un terminal mobile capable de communiquer avec le terminal distant relie en reseau audit serveur |
FR2929873B1 (fr) | 2008-04-09 | 2010-09-03 | Aldebaran Robotics | Architecture de controle-commande d'un robot mobile utilisant des membres articules |
JP2010094799A (ja) * | 2008-10-17 | 2010-04-30 | Littleisland Inc | 人型ロボット |
KR101248802B1 (ko) * | 2008-10-31 | 2013-03-29 | 한국전자통신연구원 | 지능형 로봇 시스템에서의 로봇 소프트웨어 컴포넌트 관리 장치 및 방법 |
FR2946160B1 (fr) | 2009-05-26 | 2014-05-09 | Aldebaran Robotics | Systeme et procede pour editer et commander des comportements d'un robot mobile. |
FR2964055B1 (fr) | 2010-08-27 | 2012-08-17 | Aldebaran Robotics S A | Robot humanoide dote de capacites de gestion de chutes et methode de gestion desdites chutes |
-
2010
- 2010-12-17 FR FR1060755A patent/FR2969026B1/fr not_active Expired - Fee Related
-
2011
- 2011-11-22 WO PCT/EP2011/070684 patent/WO2012079926A1/fr active Application Filing
- 2011-11-22 EP EP11787856.1A patent/EP2651607B1/fr not_active Not-in-force
- 2011-11-22 ES ES11787856.1T patent/ES2535273T3/es active Active
- 2011-11-22 KR KR1020137018717A patent/KR101867640B1/ko active IP Right Grant
- 2011-11-22 BR BR112013015177-3A patent/BR112013015177A2/pt not_active Application Discontinuation
- 2011-11-22 US US13/994,751 patent/US9975246B2/en not_active Expired - Fee Related
- 2011-11-22 JP JP2013543610A patent/JP6144628B2/ja not_active Expired - Fee Related
- 2011-11-22 CN CN201180066842.1A patent/CN103354775B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1088629A1 (en) * | 1999-01-20 | 2001-04-04 | Sony Corporation | Robot device and motion control method |
US6337552B1 (en) * | 1999-01-20 | 2002-01-08 | Sony Corporation | Robot apparatus |
JP2001179666A (ja) * | 1999-12-28 | 2001-07-03 | Namco Ltd | ペット型ロボット及びプログラムが記録されたコンピュータ読み取り可能な記録媒体 |
CN1372506A (zh) * | 2000-03-24 | 2002-10-02 | 索尼公司 | 机器人设备行为决定方法和机器人设备 |
CN1518489A (zh) * | 2002-03-15 | 2004-08-04 | 索尼公司 | 用于机器人的行为控制***和行为控制方法及机器人装置 |
JP2005300692A (ja) * | 2004-04-07 | 2005-10-27 | Sony Corp | ロボットの行動制御システム及び行動制御方法、並びにロボット装置 |
Also Published As
Publication number | Publication date |
---|---|
JP6144628B2 (ja) | 2017-06-07 |
KR20140040091A (ko) | 2014-04-02 |
EP2651607B1 (fr) | 2015-01-21 |
JP2014504958A (ja) | 2014-02-27 |
KR101867640B1 (ko) | 2018-06-15 |
US20140316566A1 (en) | 2014-10-23 |
BR112013015177A2 (pt) | 2020-08-11 |
ES2535273T3 (es) | 2015-05-07 |
FR2969026B1 (fr) | 2013-02-01 |
CN103354775A (zh) | 2013-10-16 |
EP2651607A1 (fr) | 2013-10-23 |
FR2969026A1 (fr) | 2012-06-22 |
US9975246B2 (en) | 2018-05-22 |
WO2012079926A1 (fr) | 2012-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103354775B (zh) | 设有用于其物理和虚拟资源的管理器的类人机器人、及使用方法 | |
Brennan et al. | An agent-based approach to reconfiguration of real-time distributed control systems | |
JP2004237392A (ja) | ロボット装置、及びロボット装置の表現方法 | |
Kaminka et al. | Towards flexible teamwork in behavior-based robots | |
WO2001077872A3 (en) | System and method for enterprise modeling, optimization and control | |
FR2677474A1 (fr) | Dispositif permettant d'accroitre les performances d'un noyau d'executif temps reel associe a une structure multiprocesseur pouvant comprendre un nombre eleve de processeurs. | |
Boissier et al. | The jacamo framework | |
Jangid et al. | Cloud computing and robotics for disaster management | |
Klarl | Engineering self-adaptive systems with the role-based architecture of Helena | |
Paganini et al. | Streamlining tensor and network pruning in pytorch | |
Faro et al. | Middleware for Quantum: An orchestration of hybrid quantum-classical systems | |
Kloukinas et al. | A methodology and tool support for generating scheduled native code for real-time java applications | |
Jarvis et al. | Holonic execution: a BDI approach | |
Cabri et al. | Runtime change of collaboration patterns in autonomic systems: Motivations and perspectives | |
Noguero et al. | FTT-Modeler: a support tool for FTT-CORBA | |
Chou et al. | EMWF for flexible automation and assistive devices | |
Varvara | On the Team-based goal-oriented development for holonic manufacturing systems | |
Weyns et al. | Architectural design of a distributed application with autonomic quality requirements | |
Kim et al. | Nanoqplus: A multi-threaded operating system with memory protection mechanism for WSNs | |
Boissier | Multi-agent oriented programming and intelligent environments | |
Dastani et al. | Modularity in bdi-based multi-agent programming languages | |
YANIK et al. | Multitasking driver assistance system using arduino uno | |
Meng | Agent-based reconfigurable architecture for real-time object tracking | |
Parunak et al. | Engineering Artifacts for Multi-Agent Systems | |
Shah et al. | Resource allocation and supervisory control architecture for intelligent behavior generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160831 Termination date: 20191122 |
|
CF01 | Termination of patent right due to non-payment of annual fee |