CN102448678B - 用于编辑和控制移动机器人的行为的系统和方法 - Google Patents

用于编辑和控制移动机器人的行为的系统和方法 Download PDF

Info

Publication number
CN102448678B
CN102448678B CN201080022802.2A CN201080022802A CN102448678B CN 102448678 B CN102448678 B CN 102448678B CN 201080022802 A CN201080022802 A CN 201080022802A CN 102448678 B CN102448678 B CN 102448678B
Authority
CN
China
Prior art keywords
robot
action
behavior
frame
controller chassis
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
Application number
CN201080022802.2A
Other languages
English (en)
Other versions
CN102448678A (zh
Inventor
B·迈索尼耶
J·蒙索
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.)
SoftBank Robotics Europe SAS
Original Assignee
Aldebaran Robotics SA
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 Aldebaran Robotics SA filed Critical Aldebaran Robotics SA
Publication of CN102448678A publication Critical patent/CN102448678A/zh
Application granted granted Critical
Publication of CN102448678B publication Critical patent/CN102448678B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial 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
    • 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/40392Programming, visual robot programming language

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (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

本发明涉及用于编辑和控制移动机器人的动作的系统和方法。它特别允许根据事件逻辑和根据时间逻辑来创建和修改行为和运动,后者控制事件逻辑并且因此允许不同机器人子组件的行为和运动的同步。为此,以行为和运动层来组织该系统,该行为和运动层包括动作序列和时间线。可以以通过传送信息的信号互连的框来编程动作。以分层结构来组织框,其最低级包括可以被虚拟机器人和在适当时被物理机器人解释的脚本,虚拟机器人模拟命令的执行。也可以通过运动屏幕来图形地控制机器人的运动。

Description

用于编辑和控制移动机器人的行为的系统和方法
技术领域
本发明涉及机器人编程系统的领域。更具体地,它应用于基于有关节的肢或使用它们来走动的机器人(尤其是人或动物形状的机器人)的行为和运动的编辑和控制。
背景技术
当机器人具有下述特定人外观属性时运动可以被认为是类人机:头,躯干、两臂、两手、两腿、两脚等。然而,类人机器人可能或多或少地复杂。它的肢可能具有更多或更少数量的关节。它可以静态地和动态地控制其本身的平衡,并且可能在三个维度上基于两肢行走。它可以从环境采集信号(“听”、“看”、“触摸”、“感测”等),并且根据或多或少复杂的行为来进行反应,并且通过语音或通过手势与其他机器人或人交互。为了最佳地利用这些能力,仍然需要向机器人的计算机控制单元提供用于所述行为的命令。一些机器人可以独立地提取执行与它们的使用简档(profile)对应的行为所需的命令。然而,仍然需要用户能够介入以创建新的行为和运动。编程所需命令的第一种方式是使得它们根据预定的时序来运行。这种编程逻辑提供了机器人的行为在时间上可预测的优点:行为的系列具有在可预测的时间发生的起点和终点。例如参见由美国专利6,718,231公开的用于编辑和时间编程机器人的行为的方法。然而,这种逻辑在下述情况下受到限制:机器人与其环境的交互既是不可避免的(在路径上遇到障碍)又是期望的(机器人对环境或其用户的要求作出反应),这些事件中断了预编程的行为序列的进展。这是为什么基于状态机理论的事件类型的另一种编程逻辑已经用于类人机器人以及工业机器人:在该编程逻辑中,链路连接行为,在链中的第二事件取决于第一事件的输出。这个逻辑使得有可能控制与环境的交互。例如参见由美国专利6,470,235公开的用于编辑和事件编程机器人的方法。然而,这个逻辑呈现了缺点:直到预期的事件已经发生才能中断行为的预编程的序列。简化的示例将使得容易理解这个困难:用户想要机器人从第一位置走向它必须在确定的时刻到达的第二位置。在其路径中,它可能必须执行取决于与环境的交互的动作(向它遇到的另一个机器人说“你好”、收集物体等)。不受时间限制的纯事件编程不能解决这个问题。
通过日本专利申请JP2002/120174公开了并置该事件和时间编程逻辑二者的方法。然而,在所述方法中,编程者必须介入这两个编程块之一,以使得它们兼容。该方法因此未解决在没有编程者的介入的情况下使得事件和时间编程逻辑二者兼容所存在的问题。
发明内容
本发明提供下述方式来解决这个问题:提供一种用于编辑和编程机器人的行为的系统和方法,其在不需要编程者在每一个事件上介入的情况下将时间和事件编程逻辑二者结合起来。
为此,本发明公开了一种使得用户能够编辑和控制移动机器人的至少一个动作的方法,所述至少一个动作属于行为类型和运动类型的一组动作,并且属于至少一个主动作帧(actionframe),其中,所述主动作帧连接到选自一组先前事件和后续事件的至少一个事件,并且根据由时间线(timeline)限定的时间约束来进行。
有益的是,所述主动作帧属于至少一个动作层。
有益的是,所述动作层属于控制框(box)。
有益的是,所述主动作帧是行为类型的,并且被分解为基本行为,所述基本行为中的每一个由至少一个控制框定义,所述控制框在至少一个流程图内互连。
有益的是,至少两个行为主帧根据相同的时间线来进行,并且每一个包括连接到所述第二行为主帧的至少一个控制框的所述第一行为主帧的至少一个控制框。
有益的是,至少一个控制框包括至少一个第二控制框。
有益的是,所述第二控制框使得所述用户能够设置高级控制框的操作参数。
有益的是,所述控制框包括可以直接由机器人解释的脚本,所述程序可直接由用户修改。
有益的是,所述控制框包括至少一个输入和至少一个输出。
有益的是,至少一个第一控制框的至少一个输出通过用于传送表示事件的信号的连接器而链接到至少一个第二控制框的至少一个输入。
有益的是,所述移动机器人包括头和至多四个肢。
有益的是,所述动作是选自至少包括头和至多四个肢的一组部件的、并且被至少一个电机的旋转限定的机器人的至少一部件的运动。
有益的是,所述至少一个电机的所述至少一个旋转由所述用户对于位于运动屏幕上的光标的动作来定义,该动作表示要被设置进行运动的所述机器人的所述部件。
本发明还公开了一种计算机程序,用于实现用于编辑和控制移动机器人的动作的方法;以及公开了一种编辑和控制系统,其包括所述程序和能够从所述编辑和控制系统接收指令的机器人。
本发明还提供了允许对由所述机器人执行的命令进行用户友好的编辑的优点,所述机器人允许使用预编程的行为和运动控制框。以分层结构来组织所述框,该分层结构使得有可能将复杂行为分解为基本行为。可以用能够直接由机器人解释的脚本语言来编程所述基本行为。以模块来组织所述脚本,所述模块使用通用数据结构并且因此彼此独立。用户可以在分层行为树的所有层介入。用户也可以在树的一个分支的行为和属于树的另一个分支的其他行为之间建立交互。他或她也可以在机器人的基本运动层介入,所述机器人的基本运动层确定给定的行为。此外,所述系统与多个开发环境(语言,特别是诸如Python、URBI;WindowsXP、MacOS、UNIX等)兼容。
附图说明
通过下面的多个示例性实施例的说明以及附图,将更好地理解本发明,并且其各种特征和优点将变得清楚,在附图中:
图1是在本发明的一个实施例中的用于编辑和编程机器人的行为的功能架构的图;
图2是在本发明的一个实施例中的用于编辑和编程机器人的行为的系统的主屏幕的视图;
图3是在本发明的一个实施例中的使得用户能够编辑机器人的行为和运动层的屏幕的视图;
图4是示出在本发明的一个实施例中的连接来用于编辑和编程要由机器人执行的行为主帧的行为控制框的屏幕的视图;
图5是在本发明的一个实施例中的用于编辑和编程机器人的行为的系统的控制框的架构的功能流程图;
图6是示出在本发明的一个实施例中的、在连接来用于编辑和编程要由机器人执行的行为主帧的行为控制框之间的不同类型的连接的视图;
图7是示出在本发明的一个实施例中的通过在虚拟机器人的电机的图形表示上的直接动作来进行示例性编程的视图;
图8a和8b是说明在本发明的一个实施例中的在所分配的时间中不可能执行的机器人的运动的示例的两个屏幕的视图;
图9a、9b和9c是说明在本发明的一个实施例中的编辑和控制机器人的行为的复杂示例的屏幕的视图;
图10a、10b和10c是说明在本发明的一个实施例中的编辑和控制与帧时间轴或时间线同步的机器人的行为序列的示例的屏幕的视图;
图11说明在本发明的一个实施例中的允许机器人的行为的执行的直接编程的示例性脚本。
具体实施方式
图1是在本发明的一个实施例中的用于编辑和编程机器人的行为的功能架构的图。
由本发明的方法和系统控制的机器人可以是类人机器人,该类人机器人具有头、躯干和四肢,每一个部件被关节连接,每一个关节被一个或多个电机控制。本发明使得系统的用户能够通过下述方式来控制这样的机器人:建立行为,该行为是在虚拟机器人上模拟的,并且在通过有线或无线链路连接到系统的真实机器人上被执行。
它涉及在为了该目的而编程的计算机的屏幕上观看、模拟和引起要执行的行为(诸如行走——直向前、向右或向左走n步;“你好”——手臂之一在头上方的运动;语音等)和(头的、肢的部分的、给定角度的)运动。
附图说明由具有时间维度的事件触发的命令联连方式。通过框或“控制框”10在本发明的语义中表示由事件触发的命令。框是树形结构的编程结构,其可以包括随后定义的下面的元素的一个或多个:
-“时间线”或帧时间轴20;
-“图”和流程图70
-脚本90
控制框通常通过连接互连,该连接经常从一个框向另一个框发送事件信息项,如下面的描述中详细描述的。任何帧直接或间接地连接到初始化机器人的行为/运动情况的“根框”。
帧时间轴20表示机器人的行为和运动必须符合的时间约束,如在其中插入所述帧时间轴的框中所限定的。以下在说明书和权利要求中,将使用术语时间线,其通常被接受以传送在编程领域中的相同含义。时间线因此产生帧的行为和运动的同步。它被细分为与被定义为每秒帧数(FPS)的滚动速度相关联的帧。用户可以将每一个时间线的FPS参数化。默认地,FPS可以被设置为给定值,例如,15FPS。
时间线可以包括:
-一个或多个行为层30,每一个包括一个或多个行为主帧50,行为主帧50继而可以包括一个或多个图或“流程图”70,图或“流程图”70事实上是也可以直接地附接到更高级框的多组框,而不通过行为层或时间线;
-一个或多个运动层40,其中每一个包括一个或多个运动主帧60,该主帧60可以包括一个或多个运动屏幕80。
行为层定义了一组机器人的行为或行为主帧。可以在同一个框内定义多个行为层。它们然后被编程以便以由框的时间线同步的方式来运行。
行为层可以包括一个或多个行为主帧。行为主帧定义机器人的行为,诸如行走(行走)、说话(“说”)、播放音乐(“音乐”)等。在本发明的系统中预编程了特定数量的行为,以由用户从后面在说明书中详细说明的库中以简单的“拖放”操作来直接地进行插入。每一个行为主帧由触发事件定义,该触发事件是帧的开始,在此时帧被插入到时间线中。仅由另一个行为主帧在其后被插入,或如果定义了结束事件来定义该行为主帧的结束。
运动层定义了机器人的一组运动,该一组运动被一个或多个连续运动主帧编程,该一个或多个连续运动主帧将机器人的关节的电机的运动编组在一起。这些要执行的运动由可以被运动屏幕上的动作编程的所述电机的到达的角位置来定义,下面在说明书中详细地描述所述动作。通过框的时间线来同步同一框的所有运动主帧。通过到达帧来定义运动主帧。离开帧是前一个运动主帧的结尾的帧或框的开始事件的帧。
短语“动作主帧”用于表示行为主帧和运动主帧。
有可能并行地执行多个动作主帧(行为或运动),只要它们附接到同一时间线。
流程图是一组互连的框,如下详细所述。每一个框可以继而包括附接新的行为或运动层的其他时间线。
脚本是可以由机器人直接地执行的程序。包括脚本的框不包括任何其他元素。
图2是在本发明的一个实施例中的用于编辑和编程机器人的行为的系统的主屏幕的视图。
右手部件2.1包括要控制的机器人的虚拟图像,它使得有可能产生命令的执行的模拟。机器人可以是任何类型的,但是本发明在具有头、身体和肢的人或动物形状的机器人的情况中特别有益。
左手部件2.2给出了对在计算机上存储的行为库的访问。这些行为是可再用的部件,这些可再用的部件可以用于定义频繁使用的基本行为,诸如行走、跳舞、说话、眼睛或其他LED的接通等。
中心部件2.3用于组装从库2.2获取的行为以编辑它们,并且以流程图形式的行为序列来组装它们,如在下面的说明书中详细指示的。
图3是在本发明的一个实施例中的使得用户能够编辑机器人的行为和运动层的屏幕的视图。
如在部件3.1(行为层)和3.2(运动层)中可以看到的,可以在行为类型和运动类型中定义多个层,并且在每一个层中,可以创建多个主帧。
以下在说明书中描述行为类型的层。
后面将在说明书中描述运动类型的层的主帧的创建。在此解释用于编辑运动主帧的模态。可以在运动层内或从一个运动层到另一个运动层复制或移动序列。在该第二种情况下,可能不能执行运动,因为向同一个电机提供了冲突的命令。
可以通过例如产生线性或指数类型的插入来平滑在运动序列之间的过渡。还可以在适用于其中运动本身对称的对称构件的序列中复制对于上或下肢定义的序列。
可以在附图的部件3.3中看出,在运动类型的层中,也可能在轴的系统中看到机器人的每一个部件的电机的趋势,在该轴的系统中,X轴是行为和运动层的时间线,并且Y轴是可以为正或负的每一个电机的旋转角度。在本发明的一个示例性实施例中,机器人可以包括多个电机。通过在X轴和/或在Y轴上移动电机的停止点来修改运动。一些电机运动不是相互兼容的,并且不能被执行。
图4是示出在本发明的一个实施例中的、连接来编辑和编程要由机器人执行的行为序列的行为控制框的屏幕的视图。
行为控制框是根据本发明的用于编辑和控制机器人的系统的基本构建块。行为控制框定义了一个或多个动作,并且具有一个或多个输入和一个或多个输出。在图4的示例中,输入是在图2的屏幕2.3的左上处的“StartofbehaviorsequenceX(行为序列X的开始)”事件。这个点通过弧连接到位于第一“Movement(运动)”框的左面的输入之一。所述框的输出连接到第二“Hello(你好)”框的输入之一。该第二框的输出连接到在屏幕的右上处的“EndofbehaviorsequenceX(行为序列X的结尾)”事件。通过从图2的库2.2复制对应元素(拖放操作)来在屏幕中创建这两个框。已经通过使用鼠标链接输入/输出点来图形地创建连接。
如在对于图1的注释中所指示的,在本发明的一个实施例中,框可以具有三种类型:
-脚本框,其包括计算机语言的一系列指令;所使用的语言可以是机器人控制专用语言,诸如URBITM;
-流程图框,其包括多个框,例如包括使得用户能够定义由另一个框使用的参数(例如,行驶距离)的框;
-包括具有一个或多个运动层和/或一个或多个行为层的时间线的框。
图5是在本发明的一个实施例中的用于编辑和编程机器人的行为的系统的框的架构的功能流程图。
该图的流程图汇总了由框提供的各种可能:脚本、流程图、时间线,该时间线一方面具有行为主帧并且另一方面具有由行为构成的另一个流程图。
图6是示出在本发明的一个实施例中的、在连接来编辑和编程要由机器人执行的行为主帧的行为框之间的不同类型的链接的视图。
存在多个可能输入:
-OnStart:开始输入,其启动框的执行;
-OnStop:由叉表示的输入,当其被激活时停止框的执行;然而,仅在动作的结尾出现停止,因为在执行期间的中断会将机器人置于不稳定位置(例如,“Walk(行走)”框的情况);
-OnStopped:当结束框的执行时激活的输出;该输出可以连接到其他框的输入;当连接到该输入的在前框的行为已经被完全执行时将激活这些输入;
-OnLoad:在框的结构中隐藏的输入;当打开多级框时这个输入出现;当多级框被完全加载到存储器中时激活该输入,所述加载仅在更高级框的激活时出现;
-连接到ALMemory的输入:每当在ALMemory中计算的值改变时该输入被激活;
○存储器ALMemory是机器人内部的数据库;它是短期存储器:给定变量的最新值被插入其中(可能具有较短的历史,即,变量的几个在前值),并且存储器可以注意通知被一个或多个变量的改变影响的模块;它包含例如每20ms更新的来自所有传感器的信息:电机的角度值、电流、温度等;在机器人上的执行期间,该存储器可以包含超过4000个变量;在机器人上运行或与其连接的所有模块可以与ALMemory进行通信,以插入要公布的值或获得(register)它们感兴趣的变量,并且对于它们的改变作出反应(示例:对于电池值作出反应,以使得当电池电平低于特定阈值时机器人寻找其充电器);
-事件输入:当激活该输入时,修改在框中的执行期间的行为;
○作为说明性示例,我们采用以规则的速率来刺激其输出之一的“定时器”框的情况:每n秒:“事件输入”类型的输入等待“数量”类型的参数,并且如果它接收到关于这个输入的信号则改变框的步调;因此,如果值‘3’的信号到达它的输入,则将仅在每3秒刺激输出;
-准时输出:在框中的行为的执行期间的任何时刻可以激活该输出;
○作为说明性示例,我们采用面部检测框的情况:这个框具有“数量”类型的准时输出;当正在执行该框时,它在每次机器人在其视场内识别与前一个时刻作相比不同数量的面部时刺激这个输出;如果过去没有面部,并且如果机器人现在看到面部,则它使用信息‘1’来刺激其输出;如果第二个面部到达,则它发送信息‘2’,并且如果该两个面部稍后消失,则它发送‘0’;因此恢复事件“识别了面部”,并且识别了面部的数量。
通过链路来互连框和事件,如在图6中所示。链路在输入和输出之间传送事件信号。可以有多种类型的事件信号:
-激活信号,没有其他信息;
-携带一个或多个数量(例如,步骤的数量或距离)的信号;
-携带一个或多个字符串(例如,必须被传送到机器人的语音合成模块的文本)的信号;
-复合信号,其可以包括多个信号,每一个信号是前面的类型之一。
有益地,通过具有不同纹理的颜色或线来以不同方式图形地表示这些链路。
一些框仅接受某些预定义类型的输入,而不接受其他类型的输入。
可以在属于不同的行为主帧但是在同一时间线上具有交叉的两个框之间建立连接。对于这一点,本发明的系统的用户可以在时间线上选择时刻,并且编辑在所述时刻处活跃的所有行为主帧。因此,如果第一主帧被加载到时间线内并且第二主帧以及其框和其连接出现,则用户可以移动或修改框和它们之间的连接,因此动态地修改将由机器人执行的行为。
图7是示出在本发明的一个实施例中的通过在虚拟机器人的电机的图形表示上的直接动作来进行编程的视图。
图7表示机器人的左臂。在这个示例中,该手臂具有臂肩关节和手臂关节,该臂肩关节具有由两个电机致动的两个正交自由度,该手臂关节也具有两个自由度。可以通过使用鼠标拖动每个电机的对应游标来直接地控制该关节的4个电机的旋转角度。对于每一个电机显示角度值。在本发明的标准实施例中,由虚拟机器人的关节的电机进行的命令的执行可能需要大约1秒。在未在这个时间内执行运动的情况下,这可能表示该运动是不可行的,特别是因为存在反对运动的执行的障碍。
状态指示符示出是否记录受控的运动。如果状态指示符在“未记录”位置,则这可能表示该运动是不可执行的,特别是因为在依赖时间线的运动层调用的电机不能在依赖于同一时间线的另一个运动层中调用。
有可能单独地或对于给定部件观看在图3中所示的电机的每一个的时间线/角度。
如已经指示的,在该控制模式中还可以将对于肢编程的运动传送到对称肢。在该情况下,电机的运动是对称的。
在这个屏幕中,可以编程主从模式,其中,连接到本发明的编辑和编程系统的物理机器人被系统控制,而虚拟机器人被物理机器人控制。
图8a和8b是分别说明在本发明的一个实施例中的不可能按照命令执行的机器人的运动的示例和使得它能够执行的运动调整的示例的两个屏幕的视图。
在图8a中,可以看出,表示所命令的运动的线未遇到它正常应当遇到的下一个运动序列的位置(由小正方形具体化)。在离开位置和到达位置之间,仅有5个运动序列步骤。在给定的对于电机设置的速度限制(它可以例如根据电机在例如4和8rev/s之间改变)、帧滚动速度(在该情况下为30FPS)和要由电机覆盖的角振幅(在附图的示例中为从-52度到+37度)的情况下,不能执行该命令。
在图8b中,可以看出,一到达不可执行运动主帧所位于的帧,则电机移动到下一个命令的执行。
可以看出,不可能的条件取决于由用户选择的FPS的数量和电机限制速度,注意后一个参数仅接受小变化,并且取决于电机特性。
图9a、9b和9c是说明在本发明的一个实施例中的编辑和控制机器人的行为的复杂示例的屏幕的视图。
图9a说明了下述情况:通过在行为类型层中通过在框编辑窗口中增加第一“Dance”框进行创建来产生第一行为序列(在behaviorlayer1上的主帧1),所述第一序列与motionlayer1中的时间线同步。在第一序列主帧1中的框编辑窗口中增加第二“FaceLed”框(面部的LED)。
图9b和9c是图9a的两种变化形式,其中:
-在图9b中,其他LED替代FaceLed,并且全部链接到框的输入,这意味着将并行地执行对应的行为(LED的接通);
-在图9c中,在FaceLed之前的序列中增加其他LED,这意味着在FaceLED的接通之前连续地进行它们的接通。
图10a、10b和10c是说明在本发明的一个实施例中的编辑和控制与时间线同步的机器人的行为序列的示例的屏幕的视图。
图10a示出通过时间线的帧索引(在附图的示例中的100)参数化的“GotoAndStop”框。当激活这个框时,执行跳到由框的参数指定的步骤,并且停止当前行为的执行。
如在图10b中所示,也存在“GotoAndPlay”行为框,其与“GotoAndStop”行为框区别在于:不是停止在所涉及的行为层中的时间的运行,而是它可以从指定步骤运行它。在所说明的情况下,两个框“GotoAndPlay”和“GotoAndStop”连接到“Bumper(缓冲器)”框的输出,“Bumper”框分别包括机器人的左脚和右脚的冲击传感器(在一个实施例中,机器人在每只脚上有两个冲击传感器)。
图10c示出缓冲器框的内部视图,其中,说明了传感器的两个“左”(左脚的传感器)和“右”(右脚的传感器)传感器。
返回到图10b,将可以看到
-如果激活左脚的传感器中的至少一个(左脚在由传感器检测的障碍物上的冲击),则停止当前行为(在附图的示例中的跳舞),但是其中插入行走行为的行为层的时间线继续运行;
-如果启动右脚的传感器中的至少一个(右脚在由传感器检测的障碍物上的冲击),则停止当前行为(在附图的示例中的行走),并且暂停其中插入行走行为的行为层的时间线。
图11说明在本发明的一个实施例中的允许对机器人的行为的执行的直接编程的脚本的示例。
该图的示例是用于接通机器人的左耳的LED的脚本(LEarLed)。脚本是在此以Python语言编写的模块,Python语言是解释语言。用3个步骤来进行脚本框的建立:
-框的实例化;
-将框注册为能够由链接到它的其他框调用的模块;
-框的初始化。
用户不在前两个步骤中介入。他或她控制第三步骤。因为它传统上使用脚本语言,所以每一个模块由可以在一个或多个类中使用的方法构成。对于一个或多个模块定义属性(或变量)。用户能够完全或部分地修改脚本。系统的模式是直接可访问的。一些模块管理机器人的基本功能(ALMemory用于其存储器、ALMotion用于运动功能、ALLed用于LED等)。ALMotion模块提供了用于移动机器人的接口(在编程接口的意义上)。它包含诸如“向前行走一米”的非常高级的方法,或较低级方法:“在1.5秒中移动‘HeadPitch’关节至多30度,使用内插以平滑运动”。ALLed模块提供对机器人的所有LED的访问;因此可以调整每一个LED或一组LED(例如一次调整左眼的全部LED)的强度、颜色(当LED可以改变颜色时)。也存在更高级的方法,使得可以旋转一组LED(诸如耳部的LED)。
用于编辑和控制本发明的移动机器人的运动的系统可以被安装在具有传统操作系统(Windows、Mac、UNIX)的市场标准的个人计算机上。所使用的脚本语言或多种脚本语言必须被安装在计算机上。如果系统用于直接地控制物理机器人,则需要链路,WiFi型无线电链路或有线链路。这些链路也可以用于通过局域网或远程网络来获得与其他用户交换的行为脚本。编辑和控制系统的虚拟机器人是要由系统控制的物理机器人的图像,该虚拟机器人必须能够解释和执行从系统接收的命令。
根据本发明的同一编辑和控制系统可以控制多个机器人。这些机器人中的一些可以具有不同的物理外观——类人、动物等——和甚至不同的结构(不同的自由度数量;仅执行运动的简单机器人和可以执行运动和行为的其他机器人)。然而,能够被本发明的系统控制的机器人必须具有必要的通信接口和适合于执行根据本发明的编辑和控制系统的框的脚本的软件模块。
如上所述的示例被给出作为本发明的实施例的说明。它们不以任何方式限制由所附的权利要求限定的本发明的范围。

Claims (14)

1.一种控制运动机器人的方法,包括:
从用户接收对所述运动机器人的至少一个动作的编辑,所述动作属于行为类型或运动类型的一组动作,并且与至少一个主动作帧相关联,
其中,所述机器人的至少一个动作是由至少一个控制框触发的,在所述控制框中所述主动作帧连接到选自一组先前事件和后续事中件的至少一个事件并且根据由时间线预定义的时间约束来进行,
其中所述至少一个控制框包括用于在由所述主动作帧的时间线定义的时间段内接收至少一个事件输入的一个或多个链接,所述至少一个事件输入包括行为修改、新行为以及来自传感器的输入中的至少一个。
2.根据权利要求1所述的控制运动机器人的方法,其中,所述主动作帧属于至少一个动作层。
3.根据权利要求2所述的控制运动机器人的方法,其中,所述动作层属于控制框。
4.根据权利要求1所述的控制运动机器人的方法,其中,所述主动作帧是行为类型的,并且被分解为基本行为,所述基本行为的每一个由至少一个控制框定义,所述控制框在至少一个流程图内互连。
5.根据权利要求4所述的控制运动机器人的方法,其中,至少两个行为主帧根据相同的时间线来进行,并且每一个包括连接到第二行为主帧的至少一个控制框的第一行为主帧的至少一个控制框。
6.根据权利要求4所述的控制运动机器人的方法,其中,至少一个控制框包括至少一个第二控制框。
7.根据权利要求6所述的控制运动机器人的方法,其中,所述第二控制框使得所述用户能够设置更高级控制框的操作参数。
8.根据权利要求4所述的控制运动机器人的方法,其中,所述控制框的至少一个包括脚本,所述脚本可以由所述机器人直接地解释,所述脚本可直接地由所述用户修改。
9.根据权利要求3所述的控制运动机器人的方法,其中,所述控制框包括至少一个输入和至少一个输出。
10.根据权利要求9所述的控制运动机器人的方法,其中,至少一个第一控制框的至少一个输出通过用于传送表示事件的信号的连接器而连接到至少一个第二控制框的至少一个输入。
11.根据权利要求1所述的控制运动机器人的方法,其中,所述运动机器人包括头和至多四个肢。
12.根据权利要求11所述的控制运动机器人的方法,其中,所述动作是选自至少包括所述头和至多四个肢的一组部件的、被至少一个电机的旋转限定的所述机器人的至少一部件的运动。
13.根据权利要求12所述的控制运动机器人的方法,其中,所述至少一个电机的所述至少一个旋转由所述用户对位于运动屏幕上的光标的动作来定义,所述动作表示要被设置进行运动的所述机器人的所述部件。
14.一种控制运动机器人的装置,包括:
用于从用户接收对所述运动机器人的至少一个动作的编辑的模块,所述动作属于行为类型和运动类型的一组动作,并且与至少一个主动作帧相关联,其中,所述机器人的至少一个动作是由至少一个控制框触发的,
用于使所述主动作帧连接到选自一组先前事件和后续事件的至少一个事件并且根据由时间线预定义的时间约束来进行的模块,
其中所述至少一个控制框包括用于在由所述主动作帧的时间线定义的时间段内接收至少一个事件输入的一个或多个链接,所述至少一个事件输入包括行为修改、新行为以及来自传感器的输入中的至少一个。
CN201080022802.2A 2009-05-26 2010-05-25 用于编辑和控制移动机器人的行为的系统和方法 Expired - Fee Related CN102448678B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0953434A FR2946160B1 (fr) 2009-05-26 2009-05-26 Systeme et procede pour editer et commander des comportements d'un robot mobile.
FR0953434 2009-05-26
PCT/EP2010/057111 WO2010136427A1 (fr) 2009-05-26 2010-05-25 Systeme et procede pour editer et commander des comportements d'un robot mobile

Publications (2)

Publication Number Publication Date
CN102448678A CN102448678A (zh) 2012-05-09
CN102448678B true CN102448678B (zh) 2016-08-03

Family

ID=41284197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080022802.2A Expired - Fee Related CN102448678B (zh) 2009-05-26 2010-05-25 用于编辑和控制移动机器人的行为的系统和方法

Country Status (8)

Country Link
US (1) US9333651B2 (zh)
EP (1) EP2435216B8 (zh)
JP (1) JP6549815B2 (zh)
CN (1) CN102448678B (zh)
DK (1) DK2435216T3 (zh)
ES (1) ES2628195T3 (zh)
FR (1) FR2946160B1 (zh)
WO (1) WO2010136427A1 (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2962048A1 (fr) 2010-07-02 2012-01-06 Aldebaran Robotics S A Robot humanoide joueur, methode et systeme d'utilisation dudit robot
FR2963132A1 (fr) 2010-07-23 2012-01-27 Aldebaran Robotics Robot humanoide dote d'une interface de dialogue naturel, methode d'utilisation et de programmation de ladite interface
FR2969026B1 (fr) 2010-12-17 2013-02-01 Aldebaran Robotics Robot humanoide dote d'un gestionnaire de ses ressources physiques et virtuelles, procedes d'utilisation et de programmation
US8843235B2 (en) * 2012-01-13 2014-09-23 Toyota Motor Engineering & Manufacturing North America, Inc. Robots, computer program products, and methods for trajectory plan optimization
FR2991222B1 (fr) * 2012-06-01 2015-02-27 Aldebaran Robotics Systeme et procede pour generer des comportements contextuels d'un robot mobile executes en temps reel
JP5582427B2 (ja) * 2012-12-18 2014-09-03 株式会社安川電機 教示データ作成装置、ロボットシステム、及び教示データ作成方法
JP5716769B2 (ja) * 2013-02-21 2015-05-13 株式会社安川電機 ロボットシミュレータ、ロボット教示装置およびロボット教示方法
US20150314454A1 (en) * 2013-03-15 2015-11-05 JIBO, Inc. Apparatus and methods for providing a persistent companion device
US20170206064A1 (en) * 2013-03-15 2017-07-20 JIBO, Inc. Persistent companion device configuration and deployment platform
KR101323148B1 (ko) 2013-04-19 2013-10-30 한성대학교 산학협력단 Ucr 융합 컨텐츠 에디터 장치
JP2015016531A (ja) * 2013-07-12 2015-01-29 株式会社ダイヘン 操作装置
JP6144845B2 (ja) * 2014-02-05 2017-06-07 アーベーベー シュヴァイツ アクツィエンゲゼルシャフト ショーを協調的に演じている複数のロボットの動きを定義するためのシステム及び方法
US9841749B2 (en) 2014-04-01 2017-12-12 Bot & Dolly, Llc Runtime controller for robotic manufacturing system
EP2927771B1 (en) * 2014-04-03 2024-01-31 Dronisos Flying drone trajectory synchronization
EP2933065A1 (en) 2014-04-17 2015-10-21 Aldebaran Robotics Humanoid robot with an autonomous life capability
EP2933069B1 (en) 2014-04-17 2019-07-03 Softbank Robotics Europe Omnidirectional wheeled humanoid robot based on a linear predictive position and velocity controller
EP2933068B1 (en) 2014-04-17 2021-08-18 Aldebaran Robotics Omnidirectional wheeled humanoid robot based on a linear predictive position and velocity controller
WO2016011159A1 (en) * 2014-07-15 2016-01-21 JIBO, Inc. Apparatus and methods for providing a persistent companion device
CN104858852B (zh) * 2015-05-05 2016-08-17 上海交通大学 类人机器人实时模仿人体上肢动作的优化与约束方法
US9707680B1 (en) 2015-05-28 2017-07-18 X Development Llc Suggesting, selecting, and applying task-level movement parameters to implementation of robot motion primitives
WO2016206647A1 (zh) * 2015-06-26 2016-12-29 北京贝虎机器人技术有限公司 用于控制机器装置产生动作的系统
JP2019521449A (ja) * 2016-03-31 2019-07-25 ジボ インコーポレイテッド 永続的コンパニオンデバイス構成及び配備プラットフォーム
WO2017197018A2 (en) * 2016-05-10 2017-11-16 Trustees Of Tufts College Systems and methods enabling online one-shot learning and generalization by intelligent systems of task-relevant features and transfer to a cohort of intelligent systems
CN106647354A (zh) * 2016-10-31 2017-05-10 遨博(北京)智能科技有限公司 一种控制方法、装置及系统
IL250605B (en) * 2017-02-14 2021-02-28 Brillianetor Ltd System and method for operating an artificial social network
WO2018188001A1 (zh) * 2017-04-12 2018-10-18 曾华均 无人机的飞行动作编辑及编队控制系统和控制方法
JP6549654B2 (ja) * 2017-08-03 2019-07-24 ファナック株式会社 ロボットシステムのシミュレーション装置およびシミュレーション方法
WO2019097793A1 (ja) * 2017-11-16 2019-05-23 ソニー株式会社 情報処理装置及び情報処理方法、コンピュータ・プログラム、並びにプログラム製造方法
CN108268255A (zh) * 2018-02-11 2018-07-10 遨博(北京)智能科技有限公司 用于编程机器人的方法和装置
CN110297697B (zh) * 2018-03-21 2022-02-18 北京猎户星空科技有限公司 机器人动作序列生成方法和装置
CN109408042A (zh) * 2018-10-10 2019-03-01 高新兴科技集团股份有限公司 机器人可视化脚本配置方法、装置及计算机存储介质
KR20200102295A (ko) * 2019-02-21 2020-08-31 삼성전자주식회사 멀티 태스크 관리 방법 및 이를 위한 전자 장치
JP7251224B2 (ja) * 2019-03-11 2023-04-04 セイコーエプソン株式会社 制御装置およびロボットシステム
JP6717401B1 (ja) 2019-04-01 2020-07-01 株式会社安川電機 プログラミング支援装置、ロボットシステム及びプログラミング支援方法
CN110053046B (zh) * 2019-04-09 2022-05-03 江门市蚂蚁机器人有限公司 基于自定义事件的机器人控制方法及其系统
CN110253569B (zh) * 2019-05-22 2021-07-20 深圳镁伽科技有限公司 用于控制机器人运动的运动控制部件、系统以及方法
US11883963B2 (en) * 2019-06-03 2024-01-30 Cushybots Corporation Robotic platform for interactive play using a telepresence robot surrogate
US11288883B2 (en) 2019-07-23 2022-03-29 Toyota Research Institute, Inc. Autonomous task performance based on visual embeddings
JP2021041511A (ja) * 2019-09-13 2021-03-18 株式会社デンソーウェーブ ロボットハンドの動作教示装置
CN111113414B (zh) * 2019-12-19 2022-08-30 长安大学 一种基于屏幕标识的机器人三维空间尺度提示方法及系统
CN111390906B (zh) * 2020-03-20 2021-11-19 深圳市安泽智能机器人有限公司 一种机器人系统、机器人及存储介质
CN111791232B (zh) * 2020-06-03 2021-02-05 中南民族大学 一种基于时间硬同步的机器人底盘控制系统及方法
WO2021260898A1 (ja) * 2020-06-25 2021-12-30 株式会社日立ハイテク ロボット教示装置及び作業教示方法
CN112621759B (zh) * 2020-12-28 2021-12-24 燕山大学 基于事件触发机制的遥操作系统分数阶滑模同步控制方法
CN113386112A (zh) * 2021-07-29 2021-09-14 厦门凤凰创壹软件有限公司 一种可控制多种品牌三维虚拟工业机器人的示教器
CN117251152A (zh) * 2022-12-12 2023-12-19 北京小米机器人技术有限公司 机器人图形化编程方法和装置、移动终端、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1392824A (zh) * 2000-09-28 2003-01-22 索尼公司 编辑系统和方法及存储介质
CN1835828A (zh) * 2003-08-12 2006-09-20 株式会社国际电气通信基础技术研究所 用于通信机器人的控制系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0496785B1 (en) * 1989-10-17 1997-03-26 The Perkin-Elmer Corporation Robotic interface
JP3026276B2 (ja) * 1992-05-22 2000-03-27 本田技研工業株式会社 脚式移動ロボットの非常停止制御装置
NL1000679C2 (nl) * 1995-06-28 1996-12-31 Arie Van Wieringen Video Film Bewegingseditor/samensteleenheid.
JP2001353678A (ja) * 2000-06-12 2001-12-25 Sony Corp オーサリング・システム及びオーサリング方法、並びに記憶媒体
JP4670136B2 (ja) * 2000-10-11 2011-04-13 ソニー株式会社 オーサリング・システム及びオーサリング方法、並びに記憶媒体
US7137103B2 (en) * 2001-03-08 2006-11-14 International Business Machines Corporation Coverage analysis of message flows
JP3614824B2 (ja) 2002-03-18 2005-01-26 ソニー株式会社 脚式移動ロボットのための動作編集装置及び動作編集方法
US20070150102A1 (en) * 2005-12-09 2007-06-28 Joong Ki Park Method of supporting robot application programming and programming tool for the same
JP2008254074A (ja) * 2007-03-30 2008-10-23 Sega Corp ロボットのモーション編集装置及びそのプログラム
JP5181541B2 (ja) * 2007-06-15 2013-04-10 富士通株式会社 ロボットシステム、エディタ端末、およびエディタプログラム
FR2918477A1 (fr) * 2007-07-04 2009-01-09 Aldebaran Robotics Soc Par Act Procede d'edition de mouvements d'un robot
WO2009047225A1 (en) * 2007-10-11 2009-04-16 Lego A/S A toy construction system
US8458667B2 (en) * 2008-01-30 2013-06-04 National Instruments Corporation Debugging a statechart for a real time target

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1392824A (zh) * 2000-09-28 2003-01-22 索尼公司 编辑系统和方法及存储介质
CN1835828A (zh) * 2003-08-12 2006-09-20 株式会社国际电气通信基础技术研究所 用于通信机器人的控制系统

Also Published As

Publication number Publication date
JP6549815B2 (ja) 2019-07-24
CN102448678A (zh) 2012-05-09
JP2012528015A (ja) 2012-11-12
FR2946160A1 (fr) 2010-12-03
DK2435216T3 (en) 2017-07-03
ES2628195T3 (es) 2017-08-02
WO2010136427A1 (fr) 2010-12-02
FR2946160B1 (fr) 2014-05-09
US20120136481A1 (en) 2012-05-31
EP2435216B1 (fr) 2017-03-29
EP2435216A1 (fr) 2012-04-04
EP2435216B8 (fr) 2017-08-30
US9333651B2 (en) 2016-05-10

Similar Documents

Publication Publication Date Title
CN102448678B (zh) 用于编辑和控制移动机器人的行为的系统和方法
CN107671857B (zh) 用于服务机器人操作演示与算法验证的三维仿真平台
US6718231B2 (en) Authoring system and authoring method, and storage medium
JP4670136B2 (ja) オーサリング・システム及びオーサリング方法、並びに記憶媒体
US20210316459A1 (en) Cloud based computer-implemented system and method for computer-assisted planning and simulation of robot motions in construction
CN106843124A (zh) 一种自动化仓库三维实时监控方法和系统
CN103838563B (zh) 自动装置的程序开发方法
WO2007113112A1 (en) Apparatus and method for automatic path generation for an industrial robot
CN102629388A (zh) 机械装备仿真系统生成方法
JP2023511617A (ja) 製造又は産業環境における協調ロボットとの相互作用のために仮想/拡張現実を使用するためのシステム及び方法
Noser et al. Playing games through the virtual life network
CN109249381A (zh) 机器人
Wang et al. Walkingbot: Modular interactive legged robot with automated structure sensing and motion planning
CN205721358U (zh) 机器人及其控制系统
Kasper et al. Abstracting perception and manipulation in end-user robot programming using Sikuli
CN112883450A (zh) 用于机械控制系统的图标式控制方法、装置、系统及介质
CN210161164U (zh) 仿人脑机器人控制中枢及仿人脑行走机器人控制中枢
Husár et al. Online and offline control of collaborative robot sused mixed reality
Wagner et al. ProVAR assistive robot interface
Sorouri et al. Plug-and-play design and distributed logic control of medical devices using IEC 61499 function blocks
KR20210007774A (ko) 로봇 시뮬레이터의 표시 방법
Bavelos et al. Augmented reality‐based method for road maintenance operators in human–robot collaborative interventions
Sun et al. Direct virtual-hand interface in robot assembly programming
US20220402126A1 (en) Systems, computer program products, and methods for building simulated worlds
CN111176189A (zh) 一种基于cps的机器人远程控制系统

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160803

Termination date: 20210525