玩具机器人的程序设计的制作方法

文档序号:1626808阅读:411来源:国知局
专利名称:玩具机器人的程序设计的制作方法
技术领域
此发明涉及机器人控制,更具体的说,涉及对这样一种机器人的控制,所述机器人包括检测装置,用于检测相对于该机器人的若干预定区域的第一区域中的对象,并且用于产生标识该第一区域的一检测信号;并且该机器人还包括处理装置,用于响应所述检测信号、从若干动作中选择并执行一预定动作,所述预定动作对应于第一区域。
背景技术
玩具机器人对儿童、青少年以及成年人来说是一种流行的玩具类型。在玩玩具机器人期间所获得的满足程度,很大程度上依赖该玩具机器人对其环境的反应能力。环境可以包括玩机器人地那些人;不同类型的障碍,例如,起居室中的家具;其他玩具机器人;以及诸如温度和光强度之类的条件。
重复相同有限数目动作的玩具机器人,对所述用户来说不久将不再感兴趣。因此,人们主要感兴趣的是提高机器人对所述环境的反应能力。与所述环境的相互作用可以包含感测所述环境、作出决定以及进行动作的步骤。具体来讲,进行动作应该取决于孩子们希望参与的游戏具体情况的具体情况,例如玩捉迷藏、让机器人执行不同的任务等等。
用于实现提高与环境的相互作用的这样一个目标的基本前提在于用于感测所述环境的装置。关于这点,用于例如与相同或相似种类或形式的玩具机器人进行通信的装置,以及用于确定这种其他玩具机器人的位置的装置都是很重要的。
机器人具有的用于感测以及进行动作的装置越先进,其越能够与周围环境进行更复杂的交互作用,并且将越能够详细的反映所述环境中的复杂性。因此,复杂的行为源于丰富的用于感测、进行动作以及进行通信的装置。
第5,819,008号美国专利公开了一种传感器系统,该传感器系统用于防止移动式机器人之间以及移动式机器人和其他障碍物之间的碰撞。每个移动式机器人包括若干红外信号发送器以及红外接收器,用于发送和接收传输数据到/从不同的方向,所述传输数据包括关于发送机器人运动方向的信息。每个机器人进一步包括一个控制部件,该控制部件依据检测到的另一个移动式机器人所在的方向、以及另一个机器人已经用信号通知的运动方向,来控制所述移动式机器人执行预定冲突避免运动。
然而,上述现有技术的移动式机器人重复相同的且有限数目的动作,对用户来说,这不久就会显得很单调。因此,所述机器人不久将不再成为用户所感兴趣的。
由此,上述现有技术的系统存在缺点,即所述移动式机器人不能在具有变化的以及依赖具体情况的行为的其他机器人之中进行导航,其中用户可以感觉出所述具有变化的以及依赖具体情况的行为是智能的。

发明内容
上述及其他问题可以依照一种机器人控制方法来解决,所述机器人包括检测装置,用于检测相对于所述机器人的若干预定区域的第一区域中的对象,并且用于产生一个标识所述第一区域的检测信号;并且包括处理装置,用于响应所述检测信号、从若干动作中选择并且执行一预定动作,所述预定动作对应于所述第一区域;这部分内容在所述方法中进行了表征,所述方法包括
经由图形用户界面向用户呈现若干区域符号,所述区域符号均代表相对于所述机器人的多个区域的相应区域;
经由所述图形用户界面向所述用户呈现多个动作符号,每个动作符号均代表所述机器人的至少一个相应动作;
接收一条用户命令,所述命令表明将对应于第一动作的动作符号、依照一预定关系放置在对应于第一区域的所述区域符号的第一个区域符号中;并且
产生用于控制所述玩具机器人响应检测第一区域中的对象而执行第一动作的指令。
因此,依据所述机器人与其他机器人的位置关系而定的行为,可以由用户控制。提供了一种用于编程的图形用户界面,所述图形用户界面以对于用户、甚至对对空间抽象具有有限能力的儿童来说易于理解的方式呈现了空间条件。将所述机器人周围若干区域的图示以及若干动作符号呈现给用户,其每个都代表某一动作并且可以由所述用户放置在不同的区域内。因此,提供了用于客户化以及编程机器人的工具,所述工具可以由不具有高级专门技能或抽象逻辑能力的用户使用。
在这里,术语“区域”包括相对于所述机器人的一组预定位置或位置范围,例如相对于所述机器人的某一部分、与所述机器人移动表面平行的平面内部的某一区域等等。因此,当一个机器人检测到另一个机器人处于其区域的其中一个区域时,这两个机器人具有预定的位置关系,例如他们之间的距离可以处于某一范围之内,另一个机器人可以位于相对于处于某一方向范围内的检测机器人的运动方向的方向上。
术语“检测装置”包括适合于检测与另一个对象或机器人的位置关系的任何传感器。这种传感器的例子包括用于电磁波的发送器和/或接收器,所述电磁波诸如是无线电波、可见光、红外线等等。更适宜的是,所述装置包含红外线发射器和接收器。
在一个优选实施例中,所述机器人包括用于将信号发射到在机器人周围的以及相对于该机器人的预定位置的多个区域的装置;以及被设置以用于使所述信号携带专用于所述机器人周围单独区域的信息的装置。
因此,逐一区域地发射用于确定机器人方位的信息。所述方位的精确度通过若干区域来确定。将专用于单独区域的信息发射到一个位置,从该位置能够识别出所述区域。因为信息被发送到相对于所述机器人的预定位置,所以能够确定机器人的方位。
在一个优选实施例中,将所述装置设置为单独的发射器,这些发射器以一定的相互距离以及以互相偏角来安装,以用于在所述机器人周围产生空间辐照度区域。借此,获得了用于向相应区域发送区域专用信息的简单实施例。
当专用于所述单独区域的信息作为时分复用信号逐一区域地发射时,能够通过控制所述信号的时间来避免被发送到不同区域的信号之间的干扰。
当至少一个发射器被控制以用于向其它机器人发送具有与所述机器人有关的信息的报文信号时,另一个机器人能够自行接收该信息并且依照它们自己的规则来翻译所述信息。通常作为计算机程序实现的规则也实现一种行为。这种信息的例子包括所述机器人的标识符、机器人的类型等,以及与所述机器人的内部状态有关的信息等等。
在本发明的优选实施例中,所述方法进一步包括接收表示至少一个所选择的目标对象的标识符的用户命令的步骤;并且产生指令的步骤进一步包括产生用于控制玩具机器人、响应检测第一区域中至少一个目标对象之一来执行所述第一动作的指令。因此,所述机器人可以被控制以用于根据检测到的机器人、机器人/对象的类型等来区别其动作,借此提高可能的动作的变化性,这使得所述机器人更容易使人有兴趣与之交互,因为所述机器人的行为随环境而变。所选择的目标机器人可以是特定的机器人或其他的设备,或者可能是一组目标机器人,诸如某一类型的所有的机器人、所有的遥控装置等。例如,游戏方案可以被编程,其中不同的机器人或机器人组彼此合作或者彼此竞争。
检测装置的其他例子包括磁性传感器、无线电发送器/接收器等等。例如,机器人可包括用于以不同功率级以及不同频率发送无线电波的无线电发射器,其中所述不同频率对应于不同的功率级。所述机器人可进一步包括相应的接收器,用于接收这种无线电波,并且用于检测它们对应的频率。根据接收的频率,一个机器人可确定到另一个机器人的距离。
在一个优选的实施例中,这些装置通过携带专用信息的数字信号进行控制。
当检测装置包括距离传感器时,其中所述距离传感器用于产生表示到所述对象距离的传感器信号,并且每一区域符号代表距一个对象的预定距离范围时,提供了用于区别不同区域的简单测量。
可以通过控制所述装置以相应的功率级发射所述信号来产生这些区域,以相应功率级发射的信号包括用于识别该特定功率级的信息。因此,提供了用于确定到信号发送器的距离的信息。
可以利用这样一个系统来确定到用于确定距离的信号发送器的距离,所述系统包括用于接收具有用来识别特定功率级的信息的信号的装置,其中所述信号以该特定功率级发送。以及用于将该信息转换为代表系统和发送器之间距离的信息的装置,其中所述发送器发送所述信号。
在本发明的优选实施例中,检测装置包括方向传感器装置,用于产生表示朝向对象方向的传感器信号;并且每一区域符号代表朝向对象的预定方向范围。
所述系统可以包括用于接收信号的装置,所述信号携带专用于远程机器人周围以及相对于远程机器人的若干区域之一的信息;以及用于提取专用于单独区域的信息的装置,并且将那些信息转换为代表远程机器人方位的信息。借此,接收具有与如上所述机器人的方位有关的信息的传输信号,并将其转换为远程机器人方位的表述。对远程机器人方位的这种认识可用于各种的目的用于跟踪或跟随远程机器人的移动,用于觉察远程机器人的行为状态,其中所述远程机器人通过机器人的物理移动被告知。
在本发明的优选实施例中,所述检测装置包括方位传感器装置,用于产生表示对象方位的传感器信号;并且每一区域符号代表对象的预定取向范围。
因此,当所述系统包括用于从远程机器人接收信号、并且通过确定所接收的信号的入射方向来确定朝向该远程机器人的方向的装置时,就可以获知到该远程机器人的方位以及方向。借此,为确定其方位而从远程机器人发送的信号,还可以用于确定朝向远程机器人的方向。例如利用一系列检测器可以确定入射方向,所述检测器均以相互偏角来放置。
这里,术语“对象”包括任意的物理对象,所述物理对象能够由所述检测装置检测出来。所述对象的例子包括其他机器人、遥控装置或机器人控制器、用于信号的其他静止发送/接收设备,所述信号可以由所述机器人的检测装置检测到。另外,所述例子还包括反射由机器人等发射的信号的对象。
术语“处理装置”包括通用或专用的可编程序微处理机、数字信号处理机(DSP)、专用集成电路(ASIC)、可编程序逻辑阵列(PLA)、字段可编程门阵列(FPGA)、专用电子电路、其他适当的处理设备等等,或者是它们的组合。
一个动作可以是机器人的简单物理动作,诸如前进预定时间或距离、以预定角度旋转、经由扩音器发出声音、激活诸如LED等的光发射器、移动机器人的可移动部分,诸如举升手臂、旋转头部等。
在一个优选的实施例中,每一动作符号对应于玩具机器人的一预定物理动作序列。这种动作序列的例子可包括向后移动一短距离、向左旋转、前进,这引起了在障碍周围移动的更加复杂的动作。本发明的优点在于可以根据与对象的位置关系的检测,容易地编程复杂的以及组合的行为。
所述区域符号可包括任何适当的区域图示。区域符号的例子包括圆圈、椭圆或者其他形状,这些形状在某种程度上对应于上述检测装置的检测区域的位置和延伸被放置在所述机器人位置的周围以及在该机器人周围延伸。所述机器人的位置可以由预定的符号来表明,或者最好由机器人的图像、绘图等来表明。
所述动作符号可以是代表不同动作的图标或者其他符号。不同的动作可以由不同的图标、色彩、形状等加以区别。所述动作符号可以是图形用户界面的控件,并且适合于由指示设备激活以用于产生控制信号,所述控制信号使上述处理装置产生相应的指令。在一个优选的实施例中,所述动作符号可以经由拖放式操作来激活,该操作将涉及其中一个区域符号的动作符号放置在所述区域符号之内的预定位置上,例如放置在其中一个区域符号之内、放置在区域符号的边缘上等。当激活所述动作符号时,产生一个包括动作符号的识别符以及区域符号的标识符的控制信号,其中所述区域符号与所述动作符号相关。
接收用户命令的其他例子包括检测由指示设备对动作符号的点击以及随后对区域符号的点击,借此将动作符号与区域符号相关联。
术语“输入装置”包括用于接收用户命令的任意电路或者设备,所述用户命令表示与区域符号有关的动作符号的位置。输入装置的例子包括指示设备,诸如电脑鼠标、跟踪球、触摸板、触摸屏等。术语“输入装置”可进一步包括其他形式的人机接口,诸如语音接口等。
术语“指令”可包括任意的控制指令,所述控制指令使机器人执行相应的动作。所述指令可包括低级指令,用于直接使特定的电动机、传动装置、发光体、发声器等被激活。在一个实施例中,所述指令包括高级指令,诸如“前进3秒钟”、“向右转20度”等等,这些指令由机器人处理并翻译为相应的若干低级指令,借此来根据机器人的特定特征将指令发送给机器人,所述特定特征即电动机、齿轮等等的类型。
在一个优选的实施例中,产生指令的步骤包括产生用于由机器人执行的状态机的指令的步骤。
更适宜的是,至少一个所选的目标对象对应于状态机的第一状态。
在另一个优选的实施例中,所述方法进一步包括产生包括有已产生的指令的下载信号,并且将所述下载信号传送给玩具机器人。所述下载信号可以经由任何适当的通信链路发送到机器人中,例如经由诸如串行连接的有线连接,或者经由诸如红外线连接的无线连接,例如是IrDa连接、无线电连接,诸如蓝牙连接等等。
应注意的是,上述以及以下的方法特征可以以软件方式实现,并且在数据处理系统或者在可执行计算机可执行指令的其他处理装置中执行。所述指令可以是从存储介质或从另一台计算机经由计算机网络载入到存储器中的程序代码装置,所述存储器诸如是RAM。作为选择,所描述的特征可以由硬件的电路而不是软件、或者与软件的组合来实现。
此外,本发明可以按不同的方法实现,所述方法包括上述方法以及以下的方法,机器人以及更多的产品装置,均得益于结合首先提及的方法所描述的一个或多个益处和优点,并且均具有对应于结合了首先提及的方法所描述的、以及在独立权利要求中公开的优选实施例的一个或多个优选实施例。
本发明进一步涉及一种用于控制机器人的系统,所述机器人包括检测装置,所述检测装置用于检测相对于该机器人的若干预定区域的第一区域中的对象,并且用于产生识别所述第一区域的信号;以及处理装置,用于响应所述检测信号、从若干动作中选择并且执行一预定动作,所述预定动作对应于所述第一区域;
其特征在于,所述系统包括
-用于在显示屏幕上产生图形用户界面的装置,所述图形用户界面具有若干区域符号,这些区域符号均代表相对于所述机器人的若干区域中相应的一个区域,并且具有若干动作符号,每个动作符号代表所述机器人的至少一个相应动作;
-输入装置,适合于接收一条用户命令,所述命令表明将对应于第一动作的动作符号、依照一预定关系放置在对应于第一区域的所述区域符号的第一个区域符号中;以及
-处理部件,适合于产生控制玩具机器人、响应在所述第一区域中检测到的对象来执行第一动作的指令。
本发明进一步涉及一种机器人,所述机器人包括检测装置,用于检测相对于该机器人的若干预定区域中的第一区域中的对象,并且用于产生识别所述第一区域的检测信号;
处理装置,用于响应所述检测信号、从若干动作中选择并且执行一预定动作,所述预定动作对应于所述第一区域;
其特征在于,所述检测装置进一步用于识别作为若干预定目标对象的第一目标对象的对象,以及用于产生相应的识别信号;
所述处理装置用于接收检测以及识别信号,并且用于根据已识别出的第一目标对象、以及根据已识别的所述第一区域的检测信号来执行若干动作中的至少一个动作,其中所述已识别出的第一目标对象是在所述第一区域中检测到的。
在一个优选的实施例中,所述处理装置用于实现一状态机,
所述状态机包括若干状态,每个状态均对应于若干预定目标对象选择标准中的一个;
第一选择模块,用于响应所述识别信号、选择状态机的若干状态的第一状态;以及
第二选择模块,用于根据所选择的第一状态以及根据用于识别第一区域的检测信号来选择若干动作之一,其中在所述第一区域中检测到所识别的目标对象。因此,状态机的状态实现前后独立的行为,其中每个状态与一个或多个以由选择标准规定的目标对象有关。在一个实施例中,选择标准是一种目标对象的规格,诸如任何机器人、任何机器人的控制设备、我的机器人的控制设备、对立组的机器人等等。作为选择或另外,选择标准还可包括机器人/对象标识符、机器人/对象标识符的列表或范围等等。
本发明进一步涉及包括上述以及以下的机器人的玩具集合。
本发明进一步涉及一种玩具构造集合,包括具有上述以及以下的机器人的玩具部件,其中所述玩具部件包括耦合装置,所述耦合装置用于与玩具构造元件上互补的耦合装置进行内连。


将结合优选实施例并参考附图来更加充分地解释本发明,其中
图1a示出了两个机器人以及他们的空间相互关系的俯视图1b示出了机器人以及由所发射信号的空间辐照度特征而定义的区域的俯视图1c示出了机器人以及由所接收信号的空间敏感度特性而定义的区域的俯视图1d示出了两个机器人均处于其它辐照/敏感区域之一的俯视图1e示出了机器人以及由以不同功率级发射的信号的空间辐射度特征而定义的区域的俯视图2示出了具有用于发射信号的发射器的玩具机器人,其中所述信号是围绕机器人的若干区域中的每个区域的特征;
图3a示出了用于由机器人以三个不同的功率级发送查验信号的功率级;
图3b-e示出了用于由机器人的不同的二极管发射器发送查验信号的功率级;
图4示出了用于发送查验信号以及报文的结构图5示出了安装在机器人上的两个接收器的灵敏度曲线;
图6示出了具有用于发射信号的发射器的设备,所述信号是围绕该设备的若干区域中的每个区域的特征;
图7示出了用于接收查验信号以及报文信号的系统的框图8示出了机器人控制系统的框图9示出了由机器人控制系统执行的状态机的状态事件图表;
图10示出了用于编程机器人的系统示意图11示出了用于编程机器人的图形用户界面的一个例子的示意图12示出了用于编辑动作符号的图形用户界面的示意图;以及
图13示出了用于编程机器人的图形用户界面的另一个例子的示意图。
具体实施例方式
图1a示出了第一机器人以及第二机器人的俯视图,其中表示出了两个机器人的相对位置、距离以及方位。为了描述两个机器人间的此空间关系,将第二机器人102定位在具有x轴及y轴的坐标系的原点。第一机器人101被定位在沿相对于第二机器人方位的方向α远离第二机器人102一距离d。可以将第一机器人相对于第二机器人的方位(即关于垂直轴103的角位移)测量为φ。
如果在第二机器人102中可以获得d、α以及φ的知识,那么对于第二机器人102来说能够响应第一机器人101来进行导航。这些知识可以用作实现一种机器人间的行为的系统的输入。d、α以及φ的知识可以由机器人位置系统来保存。d、α以及φ可以作为离散信号来提供,这些信号指示出各自类型的间距,即距离或间隔角。
按照本发明并且如同在下面将要更加充分描述的那样,d、α以及φ的知识通过将信号发射到第一机器人周围相应的限制领域来获得,其中相应的信号用携带空间领域识别信息。当可以查出空间领域识别信息以及相应领域的值时,第二机器人能够确定d、α以及φ。
所发射的信号可以是用红外线信号、可见光信号、超声信号、射频信号等形式来发射的。
应该注意到的是,上述领域在下文中被表示为区域。
图1b示出了机器人以及通过已发射的信号的空间辐照度特征而定义的区域的俯视图。机器人104能够将信号TZ1、TZ12、TZ2、TZ23、TZ3、TZ34、TZ4、以及TZ14发送到相应的区域中,所述区域是通过四个发射器(未示出)的辐射度特征来定义的。所述发射器以一共同的距离并且以共同地偏角来设置,以用于在机器人104周围建立互相交错的辐射度区域。当所述信号TZ1、TZ12、TZ2、TZ23、TZ3、TZ34、TZ4以及TZ14可以彼此唯一地识别时,并且当可以接收一信号时,能够推断出信号是在哪个区域中被接收的。这些内容将更详细地解释。
图1c示出了机器人以及通过所接收的信号的空间敏感度特性而定义的区域的俯视图。所述机器人104也能接收上述类型的代表性信号RZ1、RZ12以及RZ2。所述接收器也以共同的距离以及以共同地偏角来设置,以用于在机器人104周围建立互相交错的接收区域。利用对一个对应接收器或多个对应接收器的接收区域的位置的知识,可以确定接收信号的方向。这些内容也将更详细地解释。
图1d示出了两个机器人均处于其它辐照/敏感区域的其中之一的位置上的俯视图。所述机器人106利用建立接收区域RZ1的右前方的接收器来接收信号。借此,可以推断出机器人105的方向是处于右前方方向中。此外,如果所述信号TZ1被标识并且映射到相对于机器人105的空间区域,那么可以在机器人106中推断出所述机器人105方位。因此,可以在机器人106中推断出与机器人105所成的方向以及机器人105的方位。为此,机器人105必须发射上述类型的信号,而机器人106必须能够接收所述信号,并且具有机器人105的辐射区域的信息。典型情况下,需要将发送系统和接收系统两者都嵌入在单个机器人中。
图1e示出了机器人以及通过以不同功率级发射的信号的空间辐射特征而定义的区域的俯视图。机器人107能够如图1b所示那样发射特殊区域信号之外,还能够以不同功率级发射所述特殊区域信号。在每个功率级,所述信号包括用于识别该功率级的信息。借此,机器人107发射专用于区域(Z1、Z2、……)以及距机器人107一段距离间隔的信息的信号。距离间隔是通过两个辐射曲线之间的空间来限定的,所述辐射曲线例如是(Z1;P2)到(Z1;P3)。
如果机器人108能够检测到识别区域Z1以及识别功率级P4、而不是功率级P3、P2以及P1的信息,那么能够通过机器人108推断出它存在于(Z1;P4)以及(Z1;P3)之间的空间中。曲线(例如(Z1;P4)以及(Z1;P3))间距离的实际尺寸,由用于接收信号的接收器的敏感性以及发射信号时所依据的功率级来确定。
图2示出了具有用于发射信号的发射器的玩具机器人,所述信号是围绕机器人的若干区域中的每个区域所特有的。机器人201以这样的一种方位来示出,其中该机器人的前端朝向上。
机器人201包括四个红外线发射器202,203,204以及205,每个红外线发射器都用于发射各自的红外线信号。更适宜的是,将所述发射器设置为以940nm到960nm间的波长来发射光线。
将红外线发射器202,203以及204安装在机器人的不同位置上,并且以不同的角度将红外线发射到区域FR、FL以及B中,这三个区域分别由围绕所述机器人的辐照曲线209、210以及211来表示。这些二极管相对于机器人前进运动方向的方向分别是60、300和180。当每个二极管的辐照角度大于120时,例如在120和160之间时,区域209和210重叠以产生进一步的区域F;同样地,区域210和211重叠以产生区域BL,并且区域209和211重叠以产生区域BR。所述区域由照射孔以及单独的发射器的上述位置和角度-以及由发射器发射的红外线的功率来定义。
控制所述发射器202,203以及204以用于以两个不同的功率级来发射红外线;在下文中,将这两个功率级称为低功率级(词头′L′)以及中功率级(词头′M′)。
相对大的辐照曲线209,210以及211表示这样一些区域,在这些区域内,当发送器之一正以中功率级发送时,接收器能够检测朝着接收器的方向发射的红外线信号FR、FL以及B。同样地,相对小的辐照曲线206,207以及208表示这样一些区域,在这些区域中,当其中一个发送器正在以低功率级发送时,接收器能够检测朝着接收器的方向发射的红外线信号LFR、LFL以及LB。在一个实施例中,相对大的曲线209,210,211具有大约120-160cm的直径。相对小的曲线206,207以及208具有大约30-40cm的直径。
将发射器205设置为以大于上述中功率级的高功率级来将信号发射到所述机器人周围。因为该信号很可能被从诸如墙壁、门等的对象反射回,所以没有示出对应的辐照曲线,代之以大写字母H,用于指示该辐照。应当能够在大约6×6公尺的标准起居室中检测到高功率脉冲信号。
由此,如此设置发射器202,203以及204,以便当以中功率级(M)操作时,使它们产生彼此部分重叠区域209,210以及211。此外,当所述发射器202,203及204以低功率级(L)操作时,使它们产生彼此部分重叠区域206,207及208。这允许了对机器人201定位的精确测定。
在图2的实施例中,重叠区域LF、LBR以及LBL分别通过由处于相应中功率级的重叠区域即F、、BR以及BL中、并接收来自二极管发射器202,203以及204中的至少一个的低功率信号的接收器来定义。
对利用对应于唯一一个红外发射器、并借此对应于围绕所述机器人的区域的分别区域的信息的每个红外信号FR、FL以及B进行编码,。
最好将所述红外信号设置为时分复用信号,其中,将对于红外发射器唯一的信息设置在互相不重叠的时隙中。
为了能够根据所述信号确定检测器存在于哪个区域中,为检测器系统提供了区域位置和各自信号之间关系的信息。
将结合图3a-e来说明检测原理的优选实施例。
为了让发送机器人对方位和距离信息进行编码,并将所述信息发送到用于随后在另一接收机器人中进行译码以及解释的区域中,使用了一种网络协议。所述网络协议基于声脉冲信号以及报文信号。这些信号将在下面进行说明。
图3a示出了用于从各个发射器发送声脉冲信号的功率级,所述发射器例如是图2的发射器202,203,204以及205。功率级P作为离散的功率级L,M以及H处的时间t的函数来示出。
将所述声脉冲信号编码为以紧密序列发送的位置信息位序列301。所述序列301在具有一周期时间TPR的周期内被发送,在所述紧密序列301之间留下一个间歇308。该间歇用来发送附加报文以及用来允许其他机器人发送类似的信号和/或用于发送其他信息,例如报文信号。
位置信息位序列301包括12位(b0-b11),以低功率(L)、中功率(M)或者以高功率(H)发送一个位。第一位302由二极管205以高功率来发送。在一个优选的实施例中,该位还可以由发射器202,203以及204以中功率来发送。通过在其他具有中功率的二极管上使高功率位加倍,可以增加接收范围,并且确保附近的接收器接收该位,即使房间的墙壁以及天花板是不良反射体。该起始位后面跟随有两个静默位303,在该位没有二极管发送信号。随后的三位304以低功率级进行发送,如此使得每个位仅仅由二极管202,203以及204中的一个来发送。同样地,接下来的三位305以中功率级来发送,如此使得每个二极管202,203以及204仅仅发送位305中的一个。随后的两位306再次由二极管205以高功率级来发送,最好由二极管202,203以及204以中功率级来发送,继之以静默的停止位307。
因此,如图3b-e中所示,每个二极管202,203,204以及205发送不同的位组合,其中图3b举例说明了由二极管202发射的位置位序列,图3c举例说明了由二极管203发射的位置位序列,图3d举例说明了由二极管204发射的位置位序列,以及图3e举例说明了由二极管205发射的位置位序列。
由于接收机器人可以确定发送机器人位于接收机器人所在区域的哪个区域,因而接收机器人可以使用已接收的位序列、来确定到达该已发送所接收的位组合的机器人的距离,以及确定发送机器人的方位。该确定过程可以借助于一个查找表来简单地完成,所述查找表将所接收的位组合关联到图2中所述区域之一。这些内容由表1进行说明。
表1
表1示出在已发送的脉冲信号中的已编码功率级信息是如何能够被译码为在发送机器人的区域之一中出现的,如果有的话。从而,区域表示方位以及距离。
应当理解的是,上述原理也可以适用于不同数目的二极管和/或不同的数目功率级中,其中更高数目的二极管可提高方位确定的精确度,并且更高数目的功率级可提高距离测量的精确度。这种在精确度方面增加,是以增加位序列为代价来实现的,由此,降低了传输速率。
在一个实施例中,所述机器人发送附加报文,例如与脉冲信号结合或者作为独立的报文信号。更适宜的是,结合位置信息位序列来发送所述报文,例如通过在每个位置位序列之后发送若干字节来实现。在一个实施例中,所述机器人发送包括位置信息位序列的脉冲信号,其中所述位置信息位序列跟随有首部字节、机器人ID以及校验和,例如循环冗余校验(CRC)。另外的或作为选择,也可以发送诸如关于该机器人的详细资料的其他的信息,所述详细资料例如是速度、运动方向、动作等等,以及将要在机器人之间交换的命令、数字令牌等等。
每个字节可包括例如8个数据位的若干数据位,还包括诸如起始位、停止位以及奇偶校验位的附加位。这些位可以以适当的比特率进行发送,例如以4800波特。这些附加报文字节最好由二极管205以高功率级来发送,而由二极管202,203以及204以中功率级来发送。
所述机器人ID最好为对于特定环境中的机器人来说是唯一的编号。所述机器人ID使机器人能够记录以及保存有关在现实世界之中或者经由因特网遭遇的同伴机器人的信息。所述机器人可存储有关其他机器人的信息,所述信息将作为外部状态记录的一部分,最好作为已知机器人的一个列表。该列表的每一项可包含诸如机器人ID、映射信息之类的信息,其中所述映射信息例如是方向、距离、方位,以及包含由机器人的传感器测量的信息、移动信息、来源于各个机器人的涉及游戏的信息,例如是某一机器人小组的任务,用于通过选择标准区别不同机器人组的类型信息,控制该机器人的机器人控制器的识别信息等等。
当一个机器人从另一个机器人那里接收广播式报文时,它更新列表中的信息。如果报文始发者是未知的,则产生一个新表项。当在一预定时间、例如比两个广播周期还要长的时间内不再有来源于列表中特定项的报文时,时,将机器人表项标记为不存在。
为了保持机器人ID尽量短,例如将其限制在一个字节,并且允许在特定环境中的机器人有唯一标识,可以在存在于通信范围内的机器人之中使用判优算法,其中所述通信范围例如是房间内。例如,从另一个具有相同ID的机器人那里接收脉冲信号的机器人,可选择不同的ID。
图4示出了用于发送脉冲信号以及报文信号的通信系统的框图。系统401经由缓冲器405接收脉冲信号(例如,首部、机器人ID以及CRC字节)以及报文信号。脉冲信号以及报文信号是由外部系统(未示出)经由传输接口406提供的。所述通信系统401因而能够从外部系统接收信息,其中所述外部系统从而能够相对于通信系统进行异步操作。
所述系统包括存储器403,用于存储如结合图3a-e中所描述的不同二极管的各个位置位序列。
控制器402被设置以用于接收脉冲信号以及报文信号、对应从存储器403中检索的位序列的词头,并且经由放大器407,408,409以及410控制红外线发送器202,203,204以及205。由发射器202,203,204以及205发射的功率级通过调节放大器407,408,409以及410的放大倍数来控制。提供给控制器的信号S是表示是否存在通信静默的一个二进制信号,也就是说,没有能够检测出有可能会干涉待发射信号的其他信号。所述控制器进一步提供了指示何时发送信号的信号R。
图5示出了安装在机器人上的两个接收器的灵敏度曲线。曲线504定义了这样一个区域,其中接收器502能够检测到如结合图2所描述的以中功率级并朝接收器502的方向发送的信号。曲线506定义了一个较小的区域,其中接收器502能够检测到朝接收器502的方向并以低功率级发送的信号。
曲线505以及507定义了这样两个区域,其中朝接收器503的方向、分别以中功率级和低功率级发送的信号能够由接收器503检测到。通常,将上述区域表示为接收区域。其中能够检测到朝着接收器502以及503其中之一以高功率发送的信号的区域是更加扩散的,因此,将该区域以虚曲线508示出。
因为在图2中的发射器202,203,204发送具有表示功率级的信息的信号,其中所述信号是以该功率级发送的,因此能够按照区域H、ML、MC、MR、LL、LCL、LC、LCR以及LR来确定到另一个机器人出现位置的方向和距离。在第一机器人上的两个接收器502和503中的一个或者两个,能够接收由第二机器人的发射器202,203,204以及205发射的信号。
因此,能够利用如上所述的简单的发送/接收系统获得距离、方向以及方位的高分辨能力。
在下文中将更加充分地说明如何译码方向和距离信息。假定
如果一个接收器获得高功率脉冲信号,则另一个也是如此;
如果一个接收器获得低功率脉冲信号,则它也获得中功率以及高功率脉冲信号;
如果一个接收器获得中功率脉冲信号,则它还获得高功率脉冲信号。
采用这样的表示方式L代表低功率脉冲信号,M代表中功率脉冲信号,并H代表高功率脉冲信号;能够依照下面的表2根据所接收的信号来确定存在区域。
表2
表2示出了如何能够将已发送的脉冲信号中的编码功率级信息,译码为在左列的十个区域之一中出现的内容,如果有的话。区域也表示方向以及距离。
为了译码方位信息,可以使用上面的表1。
图6示出了具有用于发射信号的发射器的设备,所述信号是围绕该设备的若干区域每个区域所特有的。类似于图2所示的机器人,设备601包括每一个发射分别的红外线信号的红外线发射器602以及603。所述发射器最好被设置以用于以940nm到960nm之间的波长发射光线。然而,设备601仅包括一个红外线发射器602,所述红外线发射器602安装在该设备上,以用于将红外线以中功率和低功率级分别发射到区域M以及L中,并分别由辐照曲线604和605表示。
发射器603被设置以用于以大于上述中功率级的高功率级、将信号发射到设备周围,如结合图2中的发射器205所描述的。
由此,发射器602和603被设置以用于产生三个邻近的区域最接近设备的区域L、中距离的区域M以及外部的区域H,借此允许由另一个设备或者机器人进行距离测量。
控制二极管602以及603以用于发射脉冲信号,所述脉冲信号包括如结合图3a-e所描述的位置位序列。由二极管603发送的位组合对应于图2的实施例的高功率二极管205的位组合,即图3e中所示的位组合。由二极管603发送的位组合对应于图3c的位组合。
接收机器人可以使用所接收的位序列来确定到该机器人的距离,所述机器人已经发送了如结合上面的图3a-e所描述的所接收的位组合。
设备601可以是机器人或者是用于与机器人通信的静止设备,例如是遥控装置、机器人控制器或者是适合于向机器人发送命令信息的其它设备。
因此,可以通过从遥控装置或者机器人控制器发送命令信息来控制机器人,其中所述命令信息包括距离和/或位置信息,借此允许该机器人根据到命令来源的距离和/或命令来源的位置来翻译接收到的命令。
图7示出了用于接收脉冲信号以及报文信号的系统的框图。系统701包括两个红外接收机702以及703,用于接收机器人之间的信号(特别是脉冲信号以及报文信号)以及遥控信号。
响应信号的到达,而分别借助于数据获取装置710以及709来以数字数据的方式提供由接收器702以及703检测到的信号。来源于数据获取装置的数字数据在各自的先进先出缓冲器L-缓冲器708以及R-缓冲器707中进行缓冲。在向控制系统(未示出)传输期间,将来自L-缓冲器以及R-缓冲器的数据,移到具有大容量的缓冲器704中,所述缓冲器704用于容纳数据。
表示红外信号是否朝着接收器702和703的方向发射的二进制信号S,由加法器706经由施密特触发器705来提供,所述加法器706用于将来自数据获取装置709和710的信号相加。借此,该信号表示通信静默是否存在。
控制信号R表明机器人自身何时发送脉冲信号,并且用来控制数据获取装置710和709,以便当机器人没有发送脉冲信号时仅输出数据信号。因此,避免接收机器人自己的脉冲信号的反射。
所述系统可被控制以用于从遥控部件(未示出)接收信号。那样的话,将提供给所述缓冲器的数据翻译为遥控指令。借此,接收器702和703可以用来接收脉冲/报文信号以及遥控指令。
图8示出了机器人控制系统的框图。控制系统801被设置以用于控制机器人,所述机器人可以由用户进行编程以便表现某些类型的行为。控制系统801包括中央处理单元(CPU)803、存储器802及输入/输出接口804。
所述输入/输出接口804包括用于接收机器人位置信息的接口(RPS/Rx)811,用于发射机器人位置信息的接口(RPS/Tx)812,用于向操纵装置(未示出)提供控制信号的动作接口809,用于经由转换器(未示出)感测不同物理作用的传感接口810,及用于与外部设备通信的链路接口813。
接口RPS/Rx 811最好可以如图4所示那样来实现;并且接口RPS/Tx最好如图7所示那样来实现。采用链路接口813以用于允许与外部设备进行通信,所述外部设备例如是个人电脑、PDA或者其他类型的电子数据来源/数据用户设备,例如结合图10所描述的。这种通信可包含用户创建的脚本程序和/或固件程序的程序的下载/上传。所述接口可以是任何接口类型,包括电线/连接器(例如,RS323);IR类型(例如IrDa);射频类型(例如蓝牙)等等。
用于向操纵装置提供控制信号的动作接口809,作为数字输出端口以及数模转换器的组合来实现。这些端口用来控制电动机、发声器及其他传动装置。
用于感测不同物理效应的传感接口810作为数字输入端口以及模拟/数字转换器的组合来实现。这些输入端口用来检测开关和/或光能级、温度、声压等等的激活。
存储器802被分成数据段805(DATA)、具有状态机执行系统的第一代码段806(SMES)、具有函数库的第二代码段807、以及具有操作系统(OS)的第三代码段808。
数据段805用来与输入/输出接口804交换数据(例如,由缓冲器704提供的数据以及提供给缓冲器405的数据)。此外,数据段用来存储与执行程序相关的数据。
第二代码段807包括编程装置,用于处理利用接口装置804的零件。编程装置作为利用所谓的应用编程接口(API)执行的函数和过程来实现。
第一代码段806包括用于实现机器人程序行为的编程装置。这种程序根据通过应用编程接口提供的函数和步骤而定。将结合图9来说明用于实现状态机的这种程序的实例。
第三代码段808包括用于实现操作系统(OS)的编程装置,所述操作系统用于处理多个并行程序过程、存储器管理等等。
所述CPU被设置以用于执行存储在存储器中的命令,用于从所述接口读取数据并将数据提供到所述接口以便控制机器人和/或与外部设备进行通信。
图9示出了由机器人控制系统实现的状态机的状态事件图。状态机901包括若干面向对象的行为状态902以及903,这些行为状态之一可以被一次激活。在图9的例子中,所述状态机包括两个行为状态902以及903。然而,该数目取决于实际游戏的方案,并且可以根据将要表示的不同目标的数目来改变。每个行为状态都与若干高级动作相关在图9的例子中,状态902与动作B111,...,B11I,B121,...,B12J,B131,...,B13K,即(I+J+K)动作相关,而状态903与动作B211,...,B21L,B221,...,B22M,B231,...,B23N,即(L+M+N)动作相关。所述动作最好包括执行高级面向对象的行为的命令。这种动作的例子包括“跟踪机器人X”、“从机器人Y处逃走”、“碰撞机器人Z”、“探测房间”等等。这些高级命令可以借助于函数库来实现,这些函数最好响应传感器输入、由机器人的控制部件转换为用于控制该机器人的控制信号。上述高级动作也称为动作珠程。存在有若干不同类型的动作珠程,诸如用于执行从状态图的一个状态到另一个状态的状态转换的珠程,当满足某一条件时,用于执行一个动作的条件性动作珠程等等。在一个实施例中,条件可以通过由机器人控制系统执行的观看过程来测试。监视器处理可以监控机器人的内部或外部状态参数,并当满足条件时,将信号发送到状态机。例如,监视器可以测试是否在特定接收区域中检测到机器人,检测到的机器人是否具有特定的方位等等。因此,在一个实施例中,动作珠程可包括一组基本动作中的一个或多个基本动作、产生一个或多个基本动作的条件、或者令状态机执行系统执行到不同状态转换的转换动作。应注意的是,作为选择或者另外的,状态转换可以通过动作珠程之外的机制来实现。
这种状态机的优点在于可以明确制定游戏方案的目标、规则以及策略,因而能够易于对不同的游戏方案进行调整。
图9的状态图包括起始状态912、获胜状态910、失败状态911以及两个行为状态902以及903,每一个行为状态分别表示目标对象T1和T2。目标对象通过选择标准来识别,所述选择标准例如是另一个机器人或装置的机器人ID,若干可能的机器人和/或设备、诸如某一类型的所有机器人、任何其他的机器人、另一组机器人中的任一机器人,与当前机器人有关的机器人控制器等等的规格。
每一个行为状态都与表示各自邻近区域的三个动作状态相关。状态902与动作状态904,905,906有关,其中动作状态904与邻近区域L有关,动作状态905与邻近区域M有关,而动作状态906与邻近区域H有关。因此,在状态902中,状态机执行系统测试是否已经在任意区域中检测到满足状态902的选择标准的目标对象。
根据所述选择标准,在机器人的邻近区域内检测到一个以上的满足选择标准的目标对象。所述状态机执行系统可通过搜索由该机器人保存的所有当前检测到的对象的列表,并且使用当前状态的选择标准过滤该列表来识别检测到的目标机器人。如果一个以上的对象满足所述选择标准,则可以应用预定的优先规则来选择其中一个检测到的对象作为当前目标对象T1。在一个实施例中,可以使用区域信息、在满足选择标准的对象之中选择目标对象。例如,到所述机器人距离较短的对象可因具有较高优先级而被选出。
如果在邻近区域L中检测到状态902的目标对象T1,则系统继续在动作状态904中的执行。动作状态904包括若干动作珠程B111,...,B111,如果一个或多个动作珠程是条件性动作珠程,那么这些动作珠程可能根据某些条件例如按照顺序地被执行。当执行动作B111,...,B11I时,状态机在状态902中继续执行。如果动作状态904不包含任何动作珠程,则不执行任何动作,并且状态机执行系统返回到状态902。同样地,如果在区域M中检测到目标对象,则继续在状态905中执行,这导致了珠程B121,...,B12J的执行。在图9的例子中,假设动作珠程B12J是用于进行到状态903的转换的转换动作。因此,在该情况下,继续在状态903中执行。当处于状态902中的时候,如果在区域H中检测到目标对象,那么继续在状态905中执行,这导致珠程B131,...,B13K的执行。在图9的例子中,假设动作珠程B13K是转换到失败状态911的转换动作,其中所述失败状态911使游戏方案终止。失败状态可令机器人停止移动,并例如借助于灯光效果、音响效果等等表明游戏结果。此外,所述机器人可以向其他机器人发送表明该机器人已经失败的对应的脉冲信号报文。最终,如果在状态902中没有在任何区域检测到目标对象,那么在状态902中继续执行。作为选择,还存在有与这一情况相关的特殊动作状态,用于允许在该情况下执行若干动作。
类似地,如上所述,行为状态903与目标T2即由状态903的对应的目标选择标准选择的目标对象有关。因此,当处于状态903中时,状态机执行系统校验是否在具有词头L、M或H的区域的一个区域里检测到目标对象T2。如果在区域L中检测到目标对象T2,则在状态907中继续执行,这导致动作珠程B211,...,B21L的执行。在图9的例子中,假设动作珠程B211,...,B21L的其中一个是到状态902的条件性转换珠程。由此,如果满足对应的条件,则在状态902中继续执行;否则,在动作珠程B211,…,B21L执行之后,状态机执行系统返回到状态903。如果在状态903中检测到目标对象T2处于区域M中,则在状态908中继续执行,这导致动作珠程B221,…,B22M的执行。在图9的例子中,假设动作珠程B221,…,B22M的其中一个是到获胜状态91 0的条件性转换珠程。
因此,如果满足相应的条件,则在状态910中继续执行;否则,在动作珠程B221,...,B22M执行之后,状态机执行系统返回到状态903。最后,如果在状态903中检测到目标对象T2处于区域H,则在状态909中继续执行,这导致动作珠程B231,...,B23N的执行,并且随后返回到状态903。
在一个实施例中,如果检测到目标对象已经从一个区域移动到另一个区域,那么中断当前执行动作并且状态执行系统返回到相应的行为状态。如上所述,根据所述行为状态,在对应于新区域的动作状态中继续执行。
在图9的例子中,区域L、M以及H对应于经由图5所示的接收区域而定义的邻近区域,对应于三个功率级L、M以及H。因此,依照该实施例,仅使用了距离信息,以便为特定目标对象确定将要执行哪个动作状态。如果目标对象至少处于图5的接收区域506以及507中的一个内,那么能够当处于L区域内时检测到目标对象;如果检测到目标对象处于区域504以及505中的至少一个区域中、但不是在L区域中,那么检测到目标对象将处于M区域中,并且如果检测到目标对象将处于接收区域508中,而不是处于其他任意区域内,那么检测到该目标对象将处于H区域。然而,对应于动作珠程的指令也可使用方向信息和/或方位信息。
此外,应注意的是,在另一个实施例中,存在有与每个行为状态相关的不同动作状态组,所述每一行为状态例如是用于图5的每一区域H、ML、MR、MC、LL、LCL、LC、LCR以及LR的动作状态。
另外,应进一步注意的是,机器人的行为可以由进一步的控制信号来控制,例如,由诸如监视器、事件处理机、中断处理机等等的并行状态机提供的控制信号。因此,应当理解的是,上述状态机仅仅是一个例子,可以提供动作珠程的执行方案的不同实现方式。
图10示出了依照本发明用于对玩具机器人的行为进行编程的系统的实施例,其中通过下载程序来控制所述行为。所述系统包括带有屏幕1034或其他显示装置的个人计算机1031、键盘1033以及诸如鼠标、触摸板、跟踪球等等的指示设备1032。在计算机上,执行应用程序,其允许用户创建以及编辑脚本、存储它们、编译它们并将它们下载到玩具机器人1000。计算机1031经由串行连接1035与玩具机器人1000连接,所述串行连接1035从计算机1031的诸串行端口中的一个到玩具机器人1000的串行链路1017。作为选择,所述连接可以是无线的,诸如红外线连接或蓝牙连接。当将程序代码从计算机1031下载到玩具机器人1000时,将所下载的数据路由到存储器1012,其中将所下载的数据存储在存储器1012中。在一个实施例中,玩具机器人的链路1017包括光敏元件以及LED,用于提供光接口。
玩具机器人1000包括壳体1001、由电动机1007a和1007b经由轴1008a和1008b驱动的一组轮子1002a-d。作为选择或另外,所述玩具机器人可包括各种用于移动的装置,诸如腿、线等等。其还包括其他的可活动的部分,诸如螺旋桨、支臂、工具、旋转机头等等。所述玩具机器人进一步包括用于向电动机提供电力的电源1011,以及玩具机器人的其他电气及电子器件。所述电源1011最好包括标准电池。所述玩具机器人进一步包括中央处理器CPU1013,用于实现对玩具机器人1000的控制。所述处理器1013与存储器1012连接,所述存储器可包括ROM及RAM,或EPROM部件(未示出)。存储器1012可存储中央处理器1013的操作系统以及包括将要由中央处理器1013执行的低级计算机可执行指令的固件,用于通过执行诸如“开启电动机”之类的命令来控制玩具机器人的硬件。此外,存储器1012可存储包括由中央处理器1013待执行的高级指令的应用软件,所述中央处理器1013用于控制玩具机器人的行为。所述中央处理器可以经由单独地控制信号等等、通过总线系统1014与玩具机器人的可控硬件元件连接。
所述玩具机器人可包括若干不同的传感器,这些传感器经由总线系统1014连接到中央处理器1013。玩具机器人1000包括用于当它受到碰撞时进行检测的碰撞传感器1005,以及用于测量亮度级以及用于检测闪烁的光敏元件1006。所述玩具机器人进一步包括用于检测并测绘(mapping)其他机器人的四个红外线(IR)发送器1003a-d以及两个IR接收器1004a-b。作为选择或者另外,所述玩具机器人可包括诸如震动传感器之类的其他传感器,例如,当玩具机器人被击中或撞到某物时,由悬挂在弹簧上的重量提供输出,或者包括用于检测包括时间、味觉、嗅觉、光线、图案、邻近、移动、声音、语言、振动、触觉、压力、磁性、温度、变形、通信等程度的传感器。
玩具机器人1000进一步包括用于产生光效应的LED1016,例如模仿激光枪,以及包括用于产生声效的压电元件1015。作为选择或者另外,玩具机器人可包括由处理器1013控制的其他有源硬件元件。
图11示出了用于对机器人编程的图形用户界面例子的示意图。所述用户界面1101是由用于执行机器人控制计算机程序的数据处理系统产生。所述用户界面通常响应相应的用户命令从而呈现在连接到数据处理系统的显示器上。所述图形用户界面包括待进行编程的机器人1102的表示。所述机器人包括碰撞传感器1103以及光敏元件1104。
所述用户界面进一步包括若干区域符号1106,1107以及1108,每个区域符号均示意性地说明邻近区域,在所述相邻区域中所述机器人可检测诸如另一个机器人、控制设备之类的对象。所述区域符号是不同大小的椭圆形,并从机器人符号1101延长不同的距离。区域1108示出检测区域,其中可以接收由另一个机器人以功率级L发送的信号。类似地,区域1107示出由另一个机器人或设备发送的中功率级信号的接收区域,而区域1106示出了由另一个机器人或设备发送的高功率级信号的接收区域。此外,区域符号1106、1107以及1108分别与控件1116、1117以及1118相连。
所述用户界面进一步包括用于动作符号1124,1125,1126以及1127的选择区域1140。每个动作符号对应于可以由如上所述的机器人执行的动作。所述动作符号可以利用它们的对应的动作来标记,例如利用相应动作效果的图形图示来标记。每个动作符号是一个控件,所述控件可以由指示设备来激活。用户可以在任何一个动作符号上执行拖放式操作,并将其放置在任何一个控件1116、1117以及1118之内。图11示出了这样一种情况,其中将动作符号1113放置在与外部区域1106相关的控件1116之内。为了增加可选择的动作符号的数目,提供了滚动功能,该功能可以经由控件1122以及1123来激活,所述控件1122以及1123允许从头至尾地翻滚动作符号列表。进一步将控制符号列表分成动作符号组,例如通过依照这些动作符号的动作属性将它们排列为组。这些组的例子可包括“线性运动”、“旋转”、“光效应”、“音响效果”、“机器人与机器人的交互作用”等等。如对应的组显示元件1121指示出的,动作符号1124,1125,1126以及1127的列表包含其中一个上述组的动作符号。用户可通过控件1119和1120选择不同的组,借此使不同的动作符号得以显示并且可进行选择。
动作符号列表以及对应的指令可以进行预写,并且能够作为特定类型的机器人的程序库来获得,例如在CD上或通过因特网来获得。动作珠程可以由诸如圆形这样的符号来表示,并且它们的形状、色彩和/或标记可标识它们的功能。例如可通过利用指示设备进行拖放式操作来执行在一个圆圈中放置一动作。
所述用户界面进一步包括附加控件1132以及1133,这些附加控件分别连接到碰撞传感器以及光传感器的图示1103以及1104上。因此,用户可以将动作符号也拖放到这些控件中,借此将动作与这些传感器关联起来。在图9的实施例中,在每个控件1116,1117,1118,1132以及1133之内至多可以放置一个动作符号,借此减少了可编程行为的复杂性,并使得编程以及测试任务更简单,特别是对于儿童来说。然而,在其他实施例中,可以取消该限制。
用户界面1101进一步包括用于表示不同目标对象的控件1110,1111以及1112,并因此可具有如结合图9所描述的状态机中的不同行为状态。控件1110,1111以及1112可以通过指示设备激活,例如通过点击其中一个元件,借此选择该元件以及取消选定其它元件。在图11中,示出了选择对应于目标对象T1的控件1101的情形。该选择过程通过到达符号1109的线1134来示出,所述符号1109示出目标对象。因此,用户可以在相对于不同目标对象的不同区域内放置不同的动作符号。
所述用户界面进一步包括另外的控件1129、1130、1131,这些控件可以由指示设备激活。控件1129允许用户导航到其他屏幕图像以用于访问机器人控制系统的更多功能。控件1130是一个下载按钮,当被激活时,向数据处理系统的处理部件发送控制信号以用于使数据处理系统产生程序脚本,并且将其下载到机器人中,例如图10中所描述的。
所述程序脚本可包括目标对象以及以由动作符号确定的不同区域的相关动作的列表,其中所述动作符号处于对应的控件中。
以下是这种程序脚本的表述的例子Name=Game1NumStates=2<!-- SIPO <DP n="29"> --><dp n="d29"/>[State1]TargetObject=T1BeadsLZone={Bead1,Bead15,Bead 34}BeadsMZone={Bead2,Bead1,Bead54,Bead117}BeadsHZone={}[State2]TargetObject={T2,T3}BeadsLZone={Bead21,Bead5,Bead7}BeadsMZone={Bead3}BeadsHZone={Bead5,Bead1}
作为选择或另外,程序脚本可以以不同的形式、不同的语法、结构等来表示。例如其可以被编译为更加紧凑的形式,例如二进制格式。在编辑期间,对应于动作珠程的预定义脚本与放置这些动作珠程的区域相关联。
控件1131是保存按钮,当被激活时,使数据处理系统产生上述程序脚本,并将其保存在存储介质上,所述存储介质诸如硬盘、磁盘、可写的CD-ROM等。如果要将若干程序存储在计算机上,则可以呈现一个保存对话框,以用于允许用户浏览存储的程序。
应当理解的是,作为选择或另外,用户界面可以提供对不同功能以及选项的访问,诸如帮助、撤消、添加/移除目标对象等等。
因此,所公开的系统提供了用于依靠其他对象的位置来对机器人行为进行编程、并通过如结合图9所描述的状态机进行控制的用户界面。
图12示出了用于编辑动作符号的图形用户界面的示意图。所述用户界面允许对与动作符号相关的动作进行编辑。如上所述,图11中的每个动作符号可以对应于一个高级动作,所述高级动作可以表示为简单的动作序列。这些将被称为基本珠程。当用户激活特定动作符号的编辑器时,机器人控制系统产生用户界面1201。
所述用户界面包括用于呈现与当前编辑的动作有关的信息的描述区域1210,诸如名称、功能描述信息等。
将包含在当前动作中的基本珠程序列,以珠程符号1202以及1203的序列来表示,其中所述珠程符号是以在预定的位置符号P1、P2、P3、以及P4处的执行顺序放置的。所述位置符号分别具有关联的参数字段1204,1205,1206以及1207,用于允许用户输入或编辑与基本珠程有关的参数。这种参数的例子包括移动时间、旋转度、音量等等。作为选择或另外,所述参数可以经由诸如滑动条等其他控件来形象化并且使其可控。此外,存在有一个以上的与基本珠程关联的参数。所述用户界面进一步提供了控件1208以及1209,用于必要时、从头至尾滚动基本珠程的序列。
所述用户界面进一步提供了珠程选择区域1240,包括一列可选择的控件1224,1225以及1226,这些可选择的控件表示基本珠程。所述控件可以利用指示设备激活,例如通过拖放式操作,将选择的珠程放置在位置符号P1、P2、P3或P4的其中一个上。与结合图11所描述的选择区域1140相似,选择区域1240包括用于从头至尾滚动基本珠程列表的控件1222以及1223,以及控件1219以及1220,以用于从如显示字段1221中所显示的若干基本珠程的组中选择的一个。
此外,所述用户界面包括用于导航至例如图11的机器人配置屏幕其的他屏幕的控件1229,用于取消当前编辑操作的控件1230,以及用于启动所编辑的珠程的保存操作的控件1231。作为选择或另外,还可以提供其他控件。
图13示出了用于编程机器人的图形用户界面的另一个例子的示意图。在该例子中,所述机器人由以圆圈1301示出的控件来表示。所述用户界面包括区域符号1302,1303,1304,1305,1306以及1307,每个区域符号表示一个区域。所述用户界面进一步包括如结合图11所描述的动作符号选择区域1140。在该例子中,所述动作珠程以被标记的圆圈1318-1327来表示,它们可以在区域符号之内被拖拉以及放下,以便将他们与某一区域相关联。一个珠程的功能最好由其标记、色彩、形状等来表示。
在图13的例子中,存在表示六个接收区域的六个区域符号。此外,表示该机器人的符号1301是另外的控件,其中动作符号可以被放下。当没有在任何区域中检测到目标对象时,执行这些动作。表3示出了如何将图5中所示的接收区域映射到图13中的所述区域中。
表3
因此,依照该实施例,对应的机器人状态机执行系统具有与每个行为状态相关的七个动作状态。
所述用户界面进一步包括用于选择目标对象的控件,以及如结合图11所描述的、用于操纵其他屏幕、保存以及下载程序脚本的另外的控件。
应注意的是,本发明已经结合用于做游戏的玩具机器人的优选实施例进行了说明,其中所述玩具机器人使用红外线发射器/接收器。应当理解的是,其它的检测系统以及原理也可以被实现。例如,可以使用不同数目的发射器/接收器,和/或所述发射器可以适合于以单个功率级或以两个以上功率级来发送信号,借此提供具有不同数目的区域的检测系统,其在检测位置方面提供了不同级别的精确度。此外,还可以采用其他的传感器,例如使用基于辐射的测得结果、磁性传感器等。
此外,所描述的用户界面可以使用不同技术以用于激活控件,以及用于表示区域符号、动作符号等等。
应该进一步理解的是,除了玩具机器人之外,还可结合移动式机器人来使用本发明,所述移动式机器人例如是将要由用户编程的移动式机器人以用于执行某些任务,例如与其它的移动式机器人的组合。这种任务的例子包括清除、侦察等等。
如上所述,依照本发明的方法可以作为计算机程序来实施。应注意的是,依照本发明的方法可进一步作为计算机程序产品来实施,将所述计算机程序产品设置为用于使处理器执行上面描述的方法。所述计算机程序产品可以在计算机可读介质上实施。所述术语“计算机可读介质”可包括磁带、光盘、数字化视频光盘(DVD)、光盘(CD或CD-ROM)、迷你盘、硬盘、软盘、铁电的存储器(ferro-electric memory)、电可擦可编程只读存储器(EEPROM)、闪存、EPROM、只读存储器(ROM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、铁磁存储器、光存储器、电荷耦合器件、智能卡、PCMCIA卡等等。
权利要求
1.一种用于控制机器人的方法,所述机器人包括一个检测装置,该检测装置用于在与所述机器人有关的若干预定区域中的一个第一区域中检测一对象,所述检测装置还用于产生用于识别所述第一区域的检测信号;以及,用于响应所述检测信号而从若干动作中选择并执行预定动作的处理装置,其中所述预定动作对应于所述第一区域;
其特征在于
所述方法包括
经由一个图形用户界面向用户呈现若干区域符号,这些区域符号中的每一个代表与所述机器人有关的若干区域中的相应的一个;
经由所述图形用户界面向用户呈现若干动作符号,每个动作符号均代表机器人的至少一个相应动作;
接收一个用户命令,所述用户命令表明将一个对应于第一动作的动作符号的放置,该放置依照与对应于一个第一区域的所述区域符号中的第一区域符号的预定关系;以及
产生用于控制玩具机器人以响应在所述第一区域中检测到的一个对象来执行所述第一动作的指令。
2.如权利要求1所述的方法,其特征在于所述方法进一步包括接收表示至少一个所选目标对象的标识符的用户命令的步骤;并且所述产生指令的步骤进一步包括产生用于控制玩具机器人响应检测到的目标对象来执行所述第一动作的指令,其中所述目标对象至少是在所述第一区域中选出的目标对象中的一个。
3.如权利要求1或2所述的方法,其特征在于所述检测装置包括一距离传感器,用于产生表示到所述对象距离的传感器信号;并且每一区域符号代表距一个对象的预定距离范围。
4.如权利要求1至3中任一项所述的方法,其特征在于所述检测装置包括方向传感器装置,用于产生表示到所述对象的方向的传感器信号;并且每一区域符号代表到一对象的预定方向范围。
5.如权利要求1至4中任一项所述的方法,其特征在于所述检测装置包括方位传感器装置,用于产生表示所述对象方位的传感器信号;并且每一区域符号代表一对象的预定方位范围。
6.如权利要求1至5中任一项所述的方法,其特征在于每一动作符号对应于玩具机器人的一个预定物理动作序列。
7.如权利要求1至6中所述的方法,其特征在于产生指令的步骤包括产生用于由机器人执行的状态机的指令。
8.如权利要求7所述的方法,其特征在于至少一个所选目标对象对应于状态机的第一状态。
9.如权利要求1至8中所述的方法,其特征在于所述方法进一步包括产生包括已产生的指令的下载信号,以及将所述下载信号传送到玩具机器人中。
10.一种用于控制机器人的系统,所述机器人包括用于在第一区域中检测一对象的检测装置,所述第一区域是相对于所述机器人的若干预定区域中的一个,并且所述检测装置用于产生识别所述第一区域的检测信号;以及用于响应所述检测信号、从若干动作中选择并执行预定动作的处理装置,所述预定动作对应于所述第一区域;
其特征在于
所述系统包括
用于在显示屏幕上产生图形用户界面的装置,所述图形用户界面具有若干区域符号以及若干动作符号,这些区域符号的每一个代表相对于所述机器人的若干区域中的对应一个区域,每个动作符号均代表所述机器人的至少一个相应的动作;
输入装置,用于接收用户命令,所述用户命令表明将一个对应于第一动作的动作符号的放置,该放置依照与对应于一个第一区域的所述区域符号中的第一区域符号的预定关系;以及
处理部件,用于产生控制玩具机器人响应在所述第一区域中检测到对象来执行所述第一动作的指令。
11.一种机器人,包括
检测装置,用于检测位于相对于所述机器人的若干预定区域中的第一区域中的对象,并且用于产生识别所述第一区域的检测信号;
处理装置,用于响应所述检测信号、从若干动作中选择并执行预定的动作,所述预定的动作对应于所述第一区域;
其特征在于
所述检测装置进一步用于识别作为若干预定目标对象的第一目标对象的对象,并且用于产生相应的识别信号;
所述处理装置用于接收检测以及识别信号,并且用于根据已识别出的第一目标对象、以及根据识别所述第一区域的所述检测信号来执行若干动作中的至少一个动作,其中所述已识别出的第一目标对象是在所述第一区域中检测到的。
12.如权利要求11所述的机器人,其特征在于所述处理装置用于实现一状态机
包括若干状态,每个状态对应于若干预定目标对象选择标准中的一个;
第一选择模块,用于响应所述识别信号来选择状态机的若干状态中的第一状态;以及
第二选择模块,用于根据所选择的第一状态并且根据用于识别所述第一区域的检测信号来选择若干动作中的一个,其中所述已识别出的目标对象是在该第一区域中检测到的。
13.如权利要求11或12所述的机器人,其特征在于所述机器人进一步包括输入装置,用于接收下载信号,所述下载信号包括由数据处理系统产生的指令,所述指令对应于涉及相应目标对象标识符以及区域的用户定义的动作。
14.一种包括如权利要求11至13中任一项所述的机器人的玩具集合。
15.一种包括如权利要求11至13中任一项所述机器人的玩具部件的玩具构造集合,其特征在于所述玩具部件包括耦合装置,用于与玩具构造元件上的互补耦合装置内连。
16.一种计算机程序,包括计算机程序代码装置,用于当在数据处理系统上运行时,执行如权利要求1至9中任一项所述的方法。
全文摘要
一种用于控制具有检测装置(1103、1104)的机器人(1102)的控制方法,所述检测装置用于在相对于所述机器人的若干区域中检测一个对象(1109);还包括用于响应所述检测信号来选择以及执行一预定动作的处理装置,所述动作对应于已检测的区域。所述方法包括经由图形用户界面(1101)向用户呈现若干区域符号(1106-1108),每个区域符号均表示相对于所述机器人的区域的一个对应区域;经由所述图形用户界面呈现若干动作符号(1124-1127),每个动作符号表示所述机器人的至少一个相应动作;接收一条用户命令,所述用户命令表示将动作符号放置到对应于第一区域的所述区域符号的第一个区域符号中;以及产生用于控制所述玩具机器人响应在第一区域中检测到的对象来执行相应动作的命令。
文档编号A63H11/18GK1529838SQ0281264
公开日2004年9月15日 申请日期2002年5月24日 优先权日2001年5月25日
发明者迈克·杜雷, 高特·芒茨, 芒茨, 迈克 杜雷 申请人:英特莱格公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1