用于操纵、移动和/或重定向组件的移动代理的制作方法_3

文档序号:9475390阅读:来源:国知局
的宽度可以按规则间隔线性地改变,使得它按照与锯齿形更一致的外观来展开和收缩。所述方法方便相对于最大和最小宽度根据所述线在任何特定点处的宽度来确定沿着所述路径的展开和收缩点之间的相对位置。
[0095]在至少一个实施例中,采用编码定位的方案,其中移动代理104可以具有在工作环境内的优选行进路径(例如,如上文和/或上文引用的相关专利中所描述的,沿着径迹段)。然而,编码方案支持在没有与特定行进路径关联的情况下进行定位可能是有利的。例如,参考信息的编码可以支持从远离所述表面的可能观察方位进行辨识。这可以(例如)通过分析在观察期间收集到的数据来实现,使得如果存在用于观察标记以实现成功辨识的优选或甚至是必需的方位,那么可以调整观察数据以找到正确的方位。所述情形的实例可能会涉及工作表面上的含有经编码信息的图案或图案的一部分的所收集图像。如果所述图案具有用于分析的优选方位,那么处理可以调整所述表面的图像以找到所述优选方位。在此实例中,标记可以实现位置的确定。校正偏离标记的优选方位的观察方位的过程还可以提供代理104相对于工作表面的方位。
[0096]在至少一个实施例中,码被呈现为被设计成从多个方位读取的标记。现在参看图6,示出了可以从多个方位读取的所述机器可读码601的实例。根据一个实施例,码601可以(例如)与上文描述的布置和方法中的任一者结合使用,并且可以(例如)在整个工作表面407上使用以支持在表面407上进行操作的代理104的定位。
[0097]如图6中所示,在至少一个实施例中,将数据编码在不同线厚度的同心六边形和圆形中,从而实际上构成了一连串径向条码。然而,本领域的技术人员将认识到,可以使用任何其它类型的机器可读码601,并且所述码601可以采取任何合适的形式和外观;它们可以是或可以不是人眼可见的。在至少一个实施例中,经编码数据可以含有局部位置信息(例如,距参考原点的顺序距离)。然而,因为码601意欲支持从多个方向读取,所以推断出观察者相对于码601的方位可能变得更困难。作为对此的补救,补充标记可以通过指示方位来增强码601。用于提供此改进的便利方法的实例是保留同心地组织的标记的中心以便用指示参考方位或优选主方向的箭头或点来指示方位。然而,指示符可以使用或可以不使用磁罗盘布局的熟悉的约定,因为它可以采取确定参考方位的任何形式。现在参看图15,示出了包括各种类型的方位指示符1501的机器可读码601的实例。然而,本领域的技术人员将认识到,方位指示符可以采取任何所要的外观或形式。
[0098]在另一实施例中,信息可以编码在具有优选方位的机器可读码中,例如快速响应(QR)码或类似者。使用基于QR码(或类似者)的标记方案的益处是几何形状非常适于布置成栅格图案与所述方案适合于在紧凑空间中编码相对大量的信息。QR码含有指示优选方位以及尺度的参考标记。在至少一个实施例中,所述系统提供含有呈QR码(或类似者)形式的标记的栅格的工作表面407。与先前结合图6描述的径向或六边形码601 —样,QR码可以含有各种信息,例如唯一识别码、材料ID和/或类似者。表面上的邻近码可以提供不同的信息。
[0099]现在参看图20,示出了根据各种实施例的码类型的额外实例,所述码类型各自使用同心码方案。在码601C、601D、601E、601F、601G的每一实例中,数据编码在从每一单元格2001的中心径向地排序的一系列线宽中。在至少一个实施例中,每一单元格2001中心的空白空间2002可以填充有标记或其它识别符,例如,以指示特定的空间参考、对顺序方向的参考和/或区域命名(例如相对于另一建造区域指示一个建造区域)。在这些实例中的一些中,给每一单元格2001划界的计量线提供用于在横穿单元格2001时进行定位的参考。或者,如码601E中所示,单元格2001可以彼此间隔开以建立边界。
[0100]在至少一个实施例中,线宽可以指示特定码元素(例如单元格2001)的值,使得可以根据每一径向线的线宽来读取围绕单元格的中心径向地布置的一系列闭合线以得到经编码信息。在至少一个实施例中,单元格2001具有恒定尺寸并且被布置成规则形式,以便提供推断出关于相对位置的信息的能力,并且在经编码信息含有空间位置和/或单元格2001含有在单元格2001内被标记为图形元素或可读数据的参考点的情况中,可以根据远离已知空间位置的点的相对位置来确定全局位置。
[0101]在一些情形中,在特定表面407上提供不同类型的经编码数据可能是有用的。例如,在多个工作表面407可能同时处在使用中的实施例中,每一表面407可以包括唯一地识别特定表面407的散置码601。或者,本文中描述的码601中的任一者还可以包括识别使用中的特定表面407的信息。所述技术可以帮助避免由于使用原本可能会彼此混淆的多个表面407而引入的潜在不确定性。
[0102]现在参看图19,示出了具有码类型的混合使用的工作表面407的实例。六边形码601A方便从多个方向进行读取;窄间距的码线方便在表面407的被指定用于建造的区域中进行精确定位。所述码601A因此非常适合于组件402 (例如积木)的一般化放置。
[0103]码601B位于表面407的被指定用于运送的区域中并且因此倾向于以比通常用于组件402操纵和放置的较慢运动快的速度直线行进。因此,码601B内的标记较长并且隔开较远。在至少一个实施例中,如图19的实例中所示,码601B包括给每一侧划界的白色方形齿计量条,以辅助辨识从一个码区至另一码区的转移。在一些情况中,在代理104离开一个码基地中的已知位置到在另一码基地中建立新参考位置之间的时间内可能会存在一些不确定性。
[0104]就定位来说,数据的一部分可以存在于从码的几何中心或所述码内的某其它点至工作空间的参考原点(例如,在垫子或其它工作表面407的情况中,是特定拐角)的顺序距离中。额外信息可以包括码自身的尺寸;或者,码尺寸可以由代理104或其管理控制系统指定并且是预先知道的;例如,代理104可以参考查找信息,所述查找信息在与码的参考点的顺序距离结合时准许定位到码的轮廓线内的任一点。虽然QR码具有优选方位,但是在至少一个实施例中,码可以在任一方位读取,并且码内的参考点可以允许代理104确定优选方位;由此,可以确定相对于码(并且由此相对于工作表面407)的相对观察方位。
[0105]在使用径向设计的编码方案或具有优选方位的编码方法(例如QR码)的情况中,不需要在码标记间维持尺寸的均一性。在至少一个实施例中,工作表面407的一些部分可以具有在其中移动代理的精确移动可能比在其它区域中更重要的区域。实例可以包括工作表面407的意欲专门作为输送路线并且因此清除掉结构的部分可能不那么需要在非常窄的精度内进行定位,而是可能喜欢快速地导航通过所述区域。在这种情况中,在以较快速度行进时可能更有助于参考的较大的码对于这些区域来说可能是更好的选择,而在工作表面407的意欲支持移动代理104所选的结构的区中可能得益于较小尺寸的码以更好地使代理能够在较小容限内控制其定位和组件402的放置。
[0106]在至少一个实施例中,不需要为了解码数据而捕捉整个码。在使用径向编码技术时,这可能特别适用。所述方案的优势之一是数据从中心点全向呈现准许从单个径向向量的视程读取完整的经编码数据。因此,如与需要完全捕捉码601的图像来进行解译的编码方案相反,径向编码可以提供在码601的仅一部分可视或被捕捉时完全读取经编码数据的较高可能性。
[0107]迄今论述的定位方法提供了用于将位置数据编码在由标记的图案组成的码内的技术。然而,在其它实施例中,使用其它方法来使移动代理104从工作表面407上的一个或多个码的解译中推断出位置和方位。在不依赖于解码存储在局部码中的数据的一个实施例中,工作表面407上的标记的整个图案的布局可以是预先知道的,使得位置的确定是基于将在局部观察中捕捉到的码与较大图案内的对应位置匹配。在这种情形中,方法与基于在较大空间特征集合内识别局部特征的子集来在地图上找到某位置类似。
[0108]例如,遮盖工作表面407或表面407的意欲用于代理操作的那些部分的标记的图案可以由像素按非重复图案组成,使得对图案的局部观察不会得到多个可能位置。在所述实施例中,在观察过程内捕捉最小数目的像素以准许在构成整个图案的较大集合内对局部特征进行匹配。在匹配局部特征的过程中,可能的情况是观察方位得到局部图案,所述局部图案需要某一方式的重定向以匹配作为定位过程的一部分而存储的全局参考图案的取向。可以应用转换来重定向所述图案;所述转换还得到关于相对于工作表面407的观察方位的?目息O
[0109]系统架构
[0110]在至少一个实施例中,使用各种组件来实施所述系统,所述组件可以使用任何合适手段来彼此通信。在至少一个实施例中,如2013年8月9日提交的相关美国实用新型申请序列号13/963,638 “具有一个或多个计算装置的机器人系统的集成(Integrat1n ofa Robotic System with One or More Computing Devices),,(代理人案号 ANK002)中所描述,所述系统可以使用以下各者来实施:一组移动代理104,其中控制是在代理104与无线连接的中央装置之间分配或进一步在移动代理104间分配;中央装置,所述中央装置主动地维持操作环境的物理状态与虚拟状态之间的对等性;和专用于向用户提供对移动代理104的运动和动作的直接控制的装置。
[0111]现在参看图13,示出了根据一个实施例的实施架构。如图13中所描绘,在至少一个实施例中,系统1300由主机装置108主控,所述主机装置可以在任何合适的计算装置(不管是移动的还是固定的)上实施,例如智能电话、平板计算机、膝上型计算机、或类似者、和/或其任何组合。在至少一个实施例中,主机装置108支持和运行软件中含有的各种算法,所述算法实施整个系统的操作。主机装置108和关联软件在本文中被统称为基站或中央控制单元。虽然图13描绘了所有通信都要经过主机装置108,但是在替代实施例中,代理104可以彼此直接通信,并且主机装置108甚至可以完全被省去。
[0112]各种不同装置中的任一者可以充当主机装置108 ;实例包括智能电话、平板计算机、膝上型计算机、桌上型计算机、视频游戏控制台、和/或能够支持用于所述系统的控制软件的任何其它计算装置。在至少一个实施例中,所述装置可以使用任何合适的操作系统,包括(例如但不限于):购自加利福尼亚州库比蒂诺的Apple Inc.的1S或MacOS ;购自Mountain View, California 的 Google, Inc.的 Android ;或贝勾自 Redmond, Washington 的Microsoft Corporat1n的Windows。在至少一个实施例中,主机装置108是运行合适的软件应用程序(“应用”)的、购自加利福尼亚州库比蒂诺的Apple Inc.的iPhone或iPad。在至少一个实施例中,可以经由任何合适的手段(例如可下载应用程序(“应用”))来提供用于控制主机装置108的软件,所述软件包括适当的功能性和玩游戏结构以在物理空间中操作代理104以及安排、协调和执行代理104间的交互,所述交互包括玩游戏、建构、协作、冲突和/或类似者;这些交互可以根据规则并且在用户输入、人工智能或其组合的指导下来进行。在至少一个实施例中,主机装置108维护代理104的状态,并且向代理104发送命令和从代理104接收命令。主机装置108还可以包括用于方便用户与系统交互的合适的用户接口。
[0113]为了进行本文中提供的描述,代理104被称为移动代理104,但是所述代理104中的一些或全部可以是固定的。如上文所描述,代理104可以是包括其它组件和元件(包括被动、半主动和主动的)的架构框架内的一类组件402。在至少一个实施例中,代理104是车辆,例如玩具施工车辆,但是它们可以是其它物体或组件。
[0114]在至少一个实施例中,主机装置108是用于发送至代理104的所有活动和控制命令的中央节点,无论所述命令是发自在主机装置108上运行的算法还是通过主机装置108投送但是发自由亲自到场或位于远处的用户109D至109K控制的控制装置101D至101K。在其它实施例中,可以实施更分散的架构,其中主机装置108不需要是用于所有活动和控制命令的中央节点。
[0115]图13中所示的实例包括特定数目的控制器101D至101K、代理104和Al控制的代理104J。本领域的技术人员将认识到,图13中描绘和本文中描述的元件的特定数量仅是示例性的,并且可以使用任何其它数量和/或在适当时将所述元件中的一些省去的情况下来实施所述系统。另外,代理104在图13中被描绘为车辆,但是它们可以采取任何合适的形状。
[0116]在图13的架构中,系统1300是以集中化方式来实施,其中控制器101D至101K和代理104以及其它元件与主机装置108通信。如所描绘的,在至少一个实施例中,多个用户109(或玩家)可以控制多个代理104,而其它代理104J可以借助于人工智能来控制。
[0117]如图13中所示,可以经由任何合适的通信协议(例如蜂窝式/因特网连接111)将任何数目的外部装置连接至主机装置108。所述各种外部装置可以与或可以不与主机装置108相同。外部装置中的一些或全部充当控制器。图13描绘了可以用作控制器的装置的各种实例,包括:具有任何数目的控制器101J、101K(分别由用户109J、109K控制)的游戏控制台1lB ;膝上型计算机1lD (由用户109D控制);单独的控制器1lE (由用户109E控制);和智能电话101F、1lG和1lH(分别由用户109F、109G和109H控制)。在至少一个实施例中,控制器101中的任一者或全部可以是运行合适软件应用程序(“应用”)的、购自加利福尼亚州库比蒂诺的Apple Inc.的iPhone或iPad。控制器101J、101K、1lE可以是任何合适类型的,包括(例如)通常用于控制台游戏装置的控制器。
[0118]在至少一个实施例中,在主机装置108上托管游戏或游戏环境。主机装置108支持在软件的指示下在物理环境中的物理空间(例如在表面407上)以及在虚拟环境中玩游戏和/或代理101、组件402和/或其它元件的其它操纵;虚拟环境的状态保存在主机装置108上的存储器中和/或别处。
[0119]如2013年8月9日提交的相关美国实用新型申请序列号13/963,638 “具有一个或多个计算装置的机器人系统的集成(Integrat1n of a Robotic System with One orMore Computing Devices) ”(代理人案号ANK002)中所描述,在至少一个实施例中,在主机装置108上运行的基站软件维护所述环境的虚拟模型(包括代理104和组件402的位置),并且可以执行操作以使所述虚拟模型与代理104和组件402在物理空间中的检测到的位置一致。以此方式,主机装置108通过更新与代理104和/或组件402的位置、方向、速度和其它方面有关的所存储信息来不断地维持与物理环境中的事件的对等性。在至少一个实施例中,主机装置108确保在任何时间点物理环境与虚拟环境的状态相同(或基本上相同),或至少确保虚拟环境的状态在至少精确到足以玩游戏的程度上是物理状态的表示。在至少一个实施例中,系统实现了状态之间的双向影响,使得在虚拟空间中发生的事件可以影响物理状态,并且反之亦然。如本文中和相关专利申请中所描述,可以优先考虑虚拟状态或物理状态。
[0120]在至少一个实施例中,人工智能软件在主机装置108上运行并且发出命令(经由无线通信机制或其它机制)以控制一个或多个代理104J。在其它实施例中,用于控制代理104J的软件可以位于别处,和/或可以在代理104J自身上运行。
[0121]在至少一个实施例中,主机装置108可以同时充当用于控制代理104的人类用户109A的控制单元。所述功能性可以在主机装置108上提供,同时主机装置108还充当用于从控制其它车辆104的其它装置101D至101K传入的控制命令的管道和解译器。在另一实施例中,主机装置108不充当用于人类用户109的控制单元,而是操作为专用的中央控制单
J L ο
[0122]玩家控制器101D至101K可以直接与主机装置108通信,或者它们可以经由中间装置来通信。例如,在图1中,控制器101J和101K经由游戏控制台101B与主机装置108通信。类似地,可以在玩家控制器101D至101K与主机装置108之间配置任何数目的连接层,例如一个或多个智能电话通过往回联网至主机装置108的一连串装置连接至主机装置108。
[0123]本领域的技术人员可以了解到,随着用户109的数目和Al控制的对手的数目增加,对主机装置108的性能要求同样增加。取决于代理104的数目和主机装置108的能力,计算要求的增加(例如)可能会影响性能。在至少一个实施例中,所述系统是在分布式环境中实施,其中(例如)主机装置108具有将其逻辑的部分分配给它所连接至的并且能够支持所述逻辑的执行的任何数目的装置的能力。这些装置的实例包括智能电话、平板计算机、膝上型计算机、游戏控制台和/或类似者,但是也可以是能够提供必要支持以运行指派给它的逻辑的任何合适装置。在至少一个实施例中,例如,可以将与操作系统1300相关联的处理任务中的一些分配给一个或多个控制器1lD至101H。
[0124]所述分配不需要保持在本地;在至少一个实施例中,可以将逻辑分配给(例如)一个或多个位于远处的服务器(未图示)。主机装置108的结构的模块化设计可以适于逻辑的方便分配,并且从主机装置108卸下的逻辑处理的类型不需要是一个特定类型的功能或处理。在至少一个实施例中,例如,可以根据计算和存储器要求来对逻辑分配排定优先次序,使得最耗费主机装置108的资源的那些被最先分派到别处。
[0125]用来实现与控制器1lD至1lH通信和/或在控制器1lD至1lH间通信的无线接口不需要与用以在用户109的控制下连接至代理104的无线接口相同。例如,可能的情况是,主机装置108经由W1-Fi与控制器1lD至1lH通信,而主机装置108经由蓝牙与代理104通信。在所述情况中,主机装置108可以充当高功率协议(例如W1-Fi)与低功率协议(例如蓝牙)之间的桥梁。在由用户109经由主机装置108控制或直接由主机装置108控制(在Al控制下的代理104J的情况中)的代理104具有有限功率预算的情况中,可以了解到所述方法的优势。
[0126]如上文所描述,可以使用任何合适装置来实施控制器1lD至101H。此外,可以使用不那么高级的控制器101J、101K,例如无线游戏手柄或操纵杆。在使用并不装备有支持与主机装置108直接通信的无线通信模块的游戏手柄或操纵杆101J、101K的情况中,可以通过游戏控制台1lB或其它中间设备或通过使用插入至主机装置108上的适当端口中的软件狗(未图示)来达成至主机装置108的连接。所述软件狗无线地连接至控制器101并且通过它所插入到的端口来传递通信。软件狗的替代实施例可以包括在与控制器101兼容的无线协议和与主机装置108兼容的无线协议之间架起桥梁的单元。
[0127]除了通过主机装置108将用户109的命令传递至车辆104B至104F之外,控制器1lD至1lH还可以从主机装置108接收反映游戏的当前状态的更新。在至少一个实施例中,一些或全部的控制器1lD至1lH可以装备有一个或多个输出装置(例如显示器、扬声器、触觉输出机构和/或类似者),以便能够基于所述接收到的状态信息来增强游戏体验。所述增强可以包括(例如)游戏轨道上表示动作的渲染、触觉输出(例如振动)和/或音频和/或将所述动作聚集以增加现实感或提供用户109原本不可见的细节。
[0128]在至少一个实施例中,通过一些
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1