触觉反馈系统的制作方法

文档序号:16366048发布日期:2018-12-22 08:26阅读:163来源:国知局
触觉反馈系统的制作方法

本申请要求2016年6月27日提交的标题为“modularcomputingenvironment”的美国临时专利申请序列号62/355,076和2016年10月31日提交的标题为“hapticfeedbacksystem”的美国专利申请序列号15/339,409的优先权。

本公开一般涉及至少部分地基于反馈方案向用户提供触觉反馈。

背景技术

许多用户界面设备(诸如刻度盘、旋钮、滑动器(slider)、开关、触发器(toggle)、音量调节器(fader)等)可以向用户提供反馈形式,以向用户提供关于设备的位置或配置的上下文信息。例如,机械刻度盘可包括被配置为抵抗刻度盘的运动的一个或多个棘爪(detent)或凹口以提供这种反馈。然而,这种传统的机械反馈机构可能是不灵活的,因为它们在用户界面(interface)设备已经被制造后不容易被改变和/或可能仅能够提供粗略的反馈水平(例如,由相邻棘爪或凹口之间的间距所确定那样)。而且,许多用户界面设备可以被配置为根据在其中操作用户界面设备的上下文来执行多个应用。例如,与汽车仪表板界面相关联的旋钮或刻度盘可以被配置为如用户所期望的那样在分开的时间控制与汽车相关联的空调系统和音量系统的音量。在这样的实施方式中,每个应用可以具有不同的反馈要求。在这种实例中,传统的机械反馈机构可能无法为多个应用中的每一个提供直观的和信息性的反馈。



技术实现要素:

本公开的实施例的各方面和优点将部分地在以下描述中阐述,或者可以从描述中习得,或者可以通过实施例的实践来习得。

本公开的一个示例方面涉及提供反馈控制的计算机实施的方法。该方法包括由一个或多个处理器访问指示与输入机构相关联的反馈方案的数据。该反馈方案包括与输入机构的可移动部分的位置相关联的一个或多个反馈点。该输入机构被配置为响应于用户对输入机构的致动而改变位置。该方法还包括在输入机构由用户致动时由一个或多个处理器确定输入机构的可移动部分的一个或多个位置。该方法还包括:至少部分地基于输入机构的确定的一个或多个位置,由一个或多个处理器控制一个或多个反馈马达的操作以根据反馈方案向用户提供反馈。此方面提供了改进的反馈机构,其可以提供比传统机械反馈机制更精细的反馈水平和/或可以容易地被重新配置以根据不同的反馈方案提供反馈。此外,在实施方式中,输入机构可以具有与其相关联的两个或更多个不同的反馈方案,例如,每个反馈方案对应于输入机构的不同应用。在该实施方式中,该方法可以包括由一个或多个处理器访问指示与输入机构相关联的两个或多个反馈方案中的选择的一个的数据,并且可以包括:至少部分地基于输入机构的确定的一个或多个位置,由一个或多个处理器控制一个或多个反馈马达的操作以根据选择的反馈方案向用户提供反馈。因此,即使不同的应用具有不同的反馈要求,此方面的方法也可以为输入机构的不同应用提供有用的反馈。

此方面的计算机实施的方法可以可选地具有以下特征中的一个或多个特征:反馈方案指定将要在一个或多个反馈点中的每一个反馈点处提供的反馈的类型;改反馈的类型包括振动反馈、照明反馈或音频反馈;反馈方案指定与将要在每个反馈点处提供的反馈相关联的一个或多个特性;该一个或多个特性包括反馈的强度水平、亮度、音量、颜色、图案或长度;一个或多个反馈点对应于跟与输入系统相关联的控制应用相关联的一个或多个设置;反馈方案可以至少部分基于控制应用的一个或多个变化来重新编程;输入机构是被配置为由用户致动以向输入系统提供输入的刻度盘、按钮、滑动器、音量调节器、开关或触发器;反馈方案至少部分基于输入系统将要执行的应用来确定;和/或输入机构的可移动部分的一个或多个位置包括一个或多个角位置。

本公开的其他示例方面涉及用于基于反馈方案向用户提供反馈的系统、装置、计算机可读介质(包括但不限于有形的非暂时性计算机可读介质)、用户界面、存储器设备和电子设备。

参考以下描述和所附权利要求,将更好地理解各种实施例的这些和其他特征、方面和优点。包含在本说明书中并构成本说明书的部分的附图示出了本公开的实施例,并且与说明书一起用于解释相关原理。

附图说明

在参考附图的说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,其中:

图1描绘了根据本公开的示例实施例的用于基于模块化计算环境控制一个或多个设备的示例系统的概况;

图2描绘了根据本公开的示例实施例的示例模块;

图3描绘了根据本公开的示例实施例的与一个或多个模块相关联的示例标识签名(signature);

图4描绘了根据本公开的示例实施例的模块和模块化组件之间的示例交互;

图5描绘了根据本公开的示例实施例的示例模块化链和示例执行模型表示;

图6描绘了根据本公开的示例实施例的用于确定状态数据的示例方法的流程图;

图7描绘了根据本公开的示例实施例的用于确定指令集合的示例方法的流程图;

图8描绘了根据本公开的示例实施例的用于确定指令集合的示例方法的流程图;

图9描绘了根据本公开的示例实施例的用于提供反馈控制的示例系统;

图10描绘了根据本公开的示例实施例的与输入机构相关联的示例反馈方案;

图11描绘了根据本公开的示例实施例的提供反馈控制的示例方法的流程图;和

图12描绘了根据本公开的示例实施例的示例系统。

具体实施方式

现在将详细参考实施例,其一个或多个示例在附图中示出。通过解释实施例的方式来提供每个示例,而不是限制本公开。实际上,对于本领域技术人员显而易见的是,在不脱离本公开的范围或精神的情况下,可以对实施例进行各种修改和变化。例如,作为一个实施例的部分示出或描述的特征可以与另一实施例一起使用以产生又一实施例。因此,旨在本公开的各方面覆盖这些修改和变化。

本公开的示例方面涉及模块化计算环境。例如,模块化计算环境可以包括控制实体和被配置为直接或间接通信地耦合到控制实体的一个或多个模块化组件。模块化组件可以被配置为通信地耦合到控制实体和/或耦合到一个或多个附加的模块化组件。以这种方式,模块化组件的链(例如模块化链)可以通信地耦合到控制实体。每个模块化组件可以被配置为接收模块。例如,模块可以是被配置为附接到模块化组件、装配在模块化组件内或以其他方式与模块化组件接触以与模块化组件配对的设备。模块可以包括标识签名,该标识签名可以例如,在由模块化组件在接收模块时由模块化组件读取。模块可以例如,在由模块化计算环境和/或外部设备的用户选择的应用的上下文中指定要由外部设备(例如,模块化计算环境外部的设备)执行的功能。例如,在一些实施方式中,该功能可以是与控制机器人设备或其他设备的操作相关联的功能,诸如移动、跳跃、右转、左转、旋转90度等。作为另一示例,该功能可以是用于控制例如在用户计算设备上执行的数字应用的操作的功能。在一些实施方式中,可以在模块的标识签名中编码该功能。

该模块可以是静态模块或动态模块。例如,静态模块可以(例如,在应用程序的上下文中)指定不变的功能。以这种方式,静态模块指定的功能可以在应用程序的上下文中保持不变。动态模块可以指定可变的功能。例如,动态模块可以包括能够接收用户的输入的输入机构。输入机构可以是可旋转的刻度盘、旋钮、开关、触发器、音量调节器设备、按钮或能够接收用户的输入的其他合适的输入机构。以这种方式,可以至少部分地基于输入机构的位置或状态来确定由动态模块指定的要被执行的功能。作为示例,如果与动态模块相关联的功能在与机器人相关联的控制应用中为机器人设备指定旋转命令,则用户可以与输入机构交互以控制要被机器人设备执行的旋转程度。在一些实施方式中,模块可以是不具有内部处理能力的“哑(dumb)”模块。以这种方式,模块必须与模块化组件配对,以便于提供用于在应用的实施方式中使用的指令。

在通过耦合到控制实体的模块化链中的模块化组件来接收模块时,模块化组件可以被配置为确定与模块化组件相关联的状态数据。例如,状态数据可以包括配对模块的标识签名、与配对模块相关联的位置数据(例如,当配对模块是动态模块时)、和/或模块化链中的模块化组件的配置上下文。

在一些实施方式中,标识签名可以是电容标识签名。例如,该模块可以包括一个或多个电容垫(pad),这些电容垫以指定了该模块的标识签名的预先定义的配置来布置。电容垫可以由各种合适的导电材料制成,诸如电容墨水、导电线、导电带、金属、pcb等。电容垫可以被附接到或者以其他方式位于模块的底表面上,使得模块的底表面可以被配置为与位于相对应的模块化组件的上表面上的电容传感器接触。电容传感器可以被配置为识别电容垫的配置。模块化组件可以至少部分地基于电容垫的识别的配置来确定模块的标识签名。在一些实施方式中,电容标识签名可以是以十六进制格式表示的8位签名。

位置数据可以被用于确定与功能相关联的控制值。更具体地,可以至少部分地基于与动态模块相关联的输入机构的位置和/或状态来确定控制值。例如,模块化组件还可包括一个或多个位置传感器。(多个)位置传感器可以包括一个或多个霍尔效应传感器、磁力计、旋转位置传感器或其他合适的位置传感器或以其他方式与其相关联。(多个)位置传感器可以确定与动态模块的输入机构相关联的位置数据(可旋转的刻度盘或旋钮的角位置,开关或按钮的状态,音量调节器位置,滑动器位置等)。例如,当动态模块与模块化组件配对时,(多个)位置传感器可以检测相对应的输入机构并确定输入机构的位置。以这种方式,当用户与输入机构交互以改变输入机构的位置时(例如,通过旋转刻度盘、翻转开关、按下按钮、滑动音量调节器或滑动器设备等),(多个)位置传感器可以检测位置的变化来解释输入机构的新位置。

在一些实施方式中,(多个)位置传感器可被配置为检测嵌入或以其他方式附接到输入机构的可移动部分的磁体的位置。以这种方式,磁体的位置可以对应于输入机构的位置,使得当用户与输入机构交互以使得输入机构改变位置时,磁体也改变位置。(多个)位置传感器可以被配置为至少部分地基于在磁体改变位置时磁场的变化和/或与磁体相关联的极性来检测磁体的位置。

模块化链内的模块化组件的配置上下文可以指定模块化链内的模块化组件的位置和/或朝向。例如,模块化链内的模块化组件可以与模块化链内的一个或多个附加模块化组件通信,以确定模块化组件相对于模块化链内的其他模块化组件的位置和/或朝向。

在一些实施方式中,模块化组件可以包括被配置为向用户提供反馈的一个或多个输出设备。例如,模块化组件可以包括照明反馈设备、触觉反馈设备和/或其他合适的反馈设备。照明反馈设备可以包括一个或多个照明元件,诸如一个或多个发光二极管(lightemittingdiodes,led)。在一些实施方式中,照明元件可以包括或多个rgbled。照明组件可以由控制实体单独地触发,以在每个模块化组件上本地的提供特定的反馈。触觉反馈设备可以包括一个或多个触觉马达(例如,振动马达),其可以被触发以在每个模块化组件上本地的提供特定的反馈。例如,在用户致动动态模块的输入机构时,触觉马达可以被触发。如下文将描述的,在用户致动输入机构时,可以控制触觉马达的操作以根据指定的反馈方案在一个或多个反馈点处提供反馈(例如,振动反馈)。

在从模块化链内的每个模块化组件接收到状态数据时,控制实体可以确定要被执行的指令集合。例如,控制实体可以将模块化链的状态数据转换成能够被外部设备读取的可执行结构。更具体地,控制实体可以将与状态数据相关联的标识签名映射到相对应的应用功能。控制实体可以进一步指定相对应的控制值作为应用功能内的自变量(argument)。以这种方式,由模块化组件确定的原始位置数据可以被映射到控制值,该控制值为应用的上下文中的功能指定预定义自变量。指令集合可以与应用相关联。例如,应用可以被用户选择,例如通过被通信地耦合(例如,通过网络)到控制实体的用户设备。每个接收到的标识签名可以被映射到要在选择的应用内被执行的功能。如所指示的那样,标识签名可以针对不同的活动与不同的功能相关联。以这种方式,与模块相关联的功能可以至少部分地基于由用户选择的应用来确定。

指令集合可以包括要由外部设备执行的一系列功能。可以至少部分地基于选择的活动来确定指令集合。可以进一步至少部分地基于模块化链内的模块化组件的配置和/或布局来确定指令集合。例如,控制实体可以至少部分地基于与模块化链的配置和/或布局相关联的执行模型来确定要被执行的各种功能的执行顺序。例如,与线性链相关联的执行模型可以指定线性执行顺序,使得根据相应的模块化组件-模块对与控制实体的接近度来顺序地读取指令。作为另一示例,执行模型可以指定来自每个模块化组件-模块对的指令被同时读取。当模块化链包括多维配置(例如,4×4的正方形布置)时,执行模型可以指定以并行行、并行列、同时或以其他合适的顺序一次一个地读取指令。

控制实体可以将指令集合提供给与选择的应用相关联的外部设备,用于执行由外部设备设置的指令。在一些实施方式中,外部设备可以是任何合适的计算设备,诸如智能手机、平板电脑、膝上型电脑、台式电脑、pda、移动电话、带有一个或多个处理器的显示器、可穿戴计算设备或其他合适的设备。在一些实施方式中,外部设备可以是物理设备,诸如机器人设备、照明设备、控制表面、汽车设备或能够由模块化计算环境控制的其他合适的外部设备。外部设备可以被通信地耦合到模块化计算环境,例如,通过网络(例如,wi-fi网络、蓝牙网络和/或其他合适的网络)。在一些实施方式中,用户设备可以向指定控制实体可以连接到的一个或多个应用的用户呈现用户界面。例如,活动可以与当前连接到网络的一个或多个外部设备相关联。在用户选择应用时,可以将指示选择的应用的数据通信到控制实体,并且该控制实体可以确定要在选择的应用的上下文中执行的指令集合。

根据本公开的示例方面,模块化计算环境可以是可重新配置的,使得与被直接或间接地耦合到控制实体的模块化组件-模块对的模块化链相关联的一个或多个模块化组件-模块对可以被重新布置、移除、替换、操纵、控制,以便于通过控制实体向外部设备提供期望的控制命令。以这种方式,用户可以以期望的布置来配置模块化链,以便于在选择的活动的上下文中执行期望的指令序列。

根据本公开的附加或替代示例方面,可以使用反馈控制系统来确定和实施反馈控制方案。反馈控制系统可以是包括一个或多个触觉马达的触觉反馈控制系统。一个或多个触觉马达可以与被配置为从用户接收输入的输入机构相关联。例如,输入机构可以是刻度盘,诸如可旋转的刻度盘、按钮、滑动器设备、音量调节器设备、开关、触发器设备或被配置为由用户致动的其他合适的输入机构。在一些实施方式中,输入机构可以是自由流动的输入机构,其不具有与输入机构的机械结构相关联的物理棘爪。反馈控制系统可以被配置为确定输入机构的位置或状态。例如,反馈控制系统可以被配置为确定刻度盘的角位置,开关、触发器或按钮的状态,沿着音量调节器或滑动器设备的轨迹(track)的位置等。

在一些实施方式中,反馈控制系统可以包括一个或多个位置传感器,诸如一个或多个霍尔效应传感器、磁力计、旋转位置传感器或其他合适的位置传感器。(多个)位置传感器可以确定与输入机构的可移动部分相关联的位置数据。以这种方式,在用户致动输入机构时,(多个)位置传感器可以跟踪输入机构的可移动部分的运动,以确定与输入机构相关联的角位置、状态、沿轨迹的位置等。

在一些实施方式中,(多个)位置传感器可以被配置为至少部分地基于被嵌入在输入机构的可移动部分内或以其他方式附接到输入机构的可移动部分的磁体的位置来确定与输入机构相关联的位置。磁体可以以由用户致动输入机构的相对应的方式移动。磁体(以及由此的输入机构)的位置可以通过由磁体的运动引起的磁场的变化和/或与磁体相关联的极性来确定。

可以为输入机构确定反馈方案。反馈方案可以指定与输入机构的位置相关联的一个或多个反馈点,在该输入机构的位置处将使用例如触觉马达来施加反馈。作为示例,当输入机构是可旋转的刻度盘时,反馈方案可以在与刻度盘的旋转运动相关联的一个或多个角位置处指定反馈点,在该反馈点处将施加反馈。作为另一示例,当输入机构是被配置为沿轨迹致动的滑动器或音量调节器设备时,反馈方案可以在相对于轨迹的一个或多个位置处指定反馈点,在该反馈点处将施加反馈。作为又一示例,当输入机构是具有多个状态的开关、触发器、按钮等时,反馈方案可以在与状态中的一个或多个状态相对应的、输入机构的位置处指定反馈点。在一些实施方式中,反馈方案可以指定反馈将响应于输入机构的每个状态改变而被施加。

在一些实施方式中,反馈方案可以进一步指定要被施加的反馈的类型和/或强度。例如,反馈方案可以指定在反馈点中的一个或多个反馈点处将施加的照明反馈、音频反馈、振动反馈或其他反馈类型。反馈方案可以进一步指定反馈强度,诸如与音频反馈相关联的音量,与振动反馈相关联的振动强度、长度、图案等,与照明反馈等相关联的亮度、颜色、图案等。反馈的类型和/或强度在不同的反馈点可以变化。例如,反馈方案可以指定将在第一反馈点处将施加照明反馈,并且将在第二反馈点处施加振动反馈。作为另一示例,反馈方案可以指定将在第一反馈点处施加具有第一强度水平的反馈,并且将在第二反馈点处施加具有第二强度水平的反馈。

在一些实施方式中,反馈方案中的反馈点可以跟与输入机构相关联的应用或活动的一个或多个设置相关联。例如,输入机构可以被配置为控制与一个或多个设备相关联的一个或多个应用的操作。作为示例,可旋转的刻度盘可以被配置为控制具有多个离散光强度设置(例如,暗淡、中等、明亮、非常明亮等)的照明元件的操作。刻度盘可以被配置为包括多个设置点,每个设置点对应于光强度设置。设置点可以被定位在与刻度盘相关联的各种角位置。在一些实施方式中,设置点可以围绕刻度盘的可旋转谱(spectrum)被均匀地间隔开。在用户将刻度盘致动到各种设置点时,照明元件可以根据各种光强度设置操作。以这种方式,反馈控制方案可以包括与每个光强度设置相对应的反馈点。例如,反馈点可以被定位在对应于光强度设置的变化(例如,对应于各种设置点)的刻度盘的多个角位置。作为另一示例,刻度盘可以控制能够拾取多个离散的无线电台的无线电设备的频率。然后,用户可以将刻度盘致动到与无线电台相关联的各种设置点,以改变无线电设备的接收频率以调谐到特定的无线电台。与输入机构相关联的反馈方案可以指定与各种设置点相对应的反馈点,使得当用户致动刻度盘时,反馈可以在每次无线电调谐到不同的无线电台时被加。

在一些实施方式中,可以至少部分地基于与应用相关联的可变数量的设置或输入来重新编程反馈方案。例如,继续来自以上的无线电控制示例时,如果无线电拾取附加的无线电台信号,则可以为附加的无线电台添加附加的设置点。然后反馈方案可以被重新编程以包括与附加的设置点和/或无线电台相关联的附加反馈点。例如,设置点和反馈点可以沿着刻度盘的旋转谱被重新分配,以包括附加的无线电台。相反,如上所述,在制造相关联的输入设备之后,不能容易地改变传统的机械反馈系统。

在一些实施方式中,特定的输入机构可以被配置为控制多个应用。应用中的一个或多个应用可以与不同的反馈方案相关联。可以为特定的输入机构和/或特定的应用定义反馈方案。以这种方式,在特定的应用中操作(诸如控制与汽车相关联的空调系统)的同时,反馈控制系统可以根据为应用确定的反馈方案来控制反馈马达的操作。以这种方式,在用户与输入机构交互时,在用户将输入机构移动到各种反馈点时,可以控制反馈马达以根据反馈方案向用户提供反馈。如果输入机构然后被用于另一应用(诸如控制与汽车相关联的音频系统的音量),则反馈控制系统可以根据为新应用确定的反馈方案控制反馈马达的操作。

现在参考附图,将更详细地描述本公开的示例方面。例如,图1描绘了根据本公开的示例实施例的示例模块化计算环境100的概况。环境100包括与一个或多个模块化组件104通信的控制实体102。模块化组件104可以直接或间接通信地耦合到控制实体102以形成模块化链。例如,可以将第一模块化组件104直接地耦合到控制实体102,例如,通过与控制实体102的物理接触。可以将一个或多个附加的模块化组件104间接地耦合到控制实体102,例如,通过与第一模块化组件104和/或一个或多个附加的模块化组件104的物理接触。以这种方式,模块化组件可以形成具有网格通信结构的模块化链,其中数据通过模块化链流到控制实体102和从控制实体102流出。

每个模块化组件可以被配置为例如,如用户所期望的那样接收模块106。模块106可以在模块106的标识签名内编码要在应用内被执行的功能、命令或指令。以这种方式,模块106可以是类似瓦片状(tile-like)结构,其被配置为装配在模块化组件104内、附接或安装到模块化组件104或以其他方式与模块化组件104接触。如上所示,模块106可以是静态模块或动态模块。以这种方式,模块106和模块化组件104可以形成模块化组件-模块对。用户可以形成模块化组件-模块对并且如所期望的那样布置他们,以便于执行在指定应用的框架内的期望的指令集合。

模块化组件104还可以包括状态数据生成器108。状态数据生成器108可以被配置为确定与模块化组件-模块对相关联的状态数据。例如,状态数据可以包括模块106的标识签名。状态数据可以附加地或可替代地包括指示模块化组件-模块对的配置上下文的数据。以这种方式,状态数据生成器108还可以被配置为确定模块化链内的模块化组件104的配置上下文。例如,与控制实体102相关联的模块化链内的每个模块化组件104可以彼此通信以确定模块化组件104的相应配置上下文。配置上下文可以指模块化链中的模块化组件104的位置。状态数据可以附加地或可替代地包括与模块106(例如,当模块106是动态模块时)的输入机构相关联的位置数据。可以至少部分地基于在输入机构的可移动部分的轨迹、谱、状态等的框架内的输入机构的位置来确定位置数据。例如,可以使用与模块化组件104相关联的一个或多个位置传感器110来确定输入机构的位置。如上所示,(多个)位置传感器可以包括一个或多个霍尔效应传感器、旋转位置传感器、磁力计或其他合适的位置传感器,或者与之相关联。例如,在一些实施方式中,位置传感器可以确定与嵌入在输入机构内或以其他方式与输入机构相关联的磁体相关联的位置数据。位置数据可以包括角位置数据(例如,旋钮或刻度盘的角位置数据)、状态数据(例如,开关、按钮或触发器的状态数据)、指示沿轨迹的位置的数据(例如,音量调节器或滑动器的指示沿轨迹的位置的数据)或其他合适的位置数据。

如下面将更详细描述的那样,模块化组件104还可以包括反馈控制112。反馈控制112可以包括一个或多个输出设备,诸如照明组件、反馈马达或被配置为向用户提供反馈的其他输出设备。在一些实施方式中,反馈控制112可以根据由控制实体102提供的一个或多个控制命令来提供反馈。在一些实施方式中,控制实体102可以向反馈控制112分配一些自主权(autonomy)。例如,控制实体102可以根据与模块106相关联的程序将反馈马达或照明元件的控制分配给反馈控制112。

与控制实体102相关联的模块化链中的每个模块化组件104可以例如,响应于来自控制实体102的请求,将确定的状态数据提供给控制实体。以这种方式,状态数据可以通过模块化链的方式被通信传达,使得被间接地耦合到控制实体102的模块化组件104(例如,不与控制实体102进行直接接触的模块化组件104)可以通过至少一个附加的模块化组件104向控制实体102提供状态数据。

控制实体102可以包括指令生成器120,该指令生成器120被配置为至少部分地基于接收的状态数据来生成要在指定应用的上下文内执行的指令集合。例如,控制实体102可以访问应用数据114以确定与状态数据内提供的标识签名相对应的、与指定应用相关联的功能。控制实体102可以进一步访问应用数据114以确定与对应于在状态数据内提供的位置数据的应用功能相关联的一个或多个应用控制值。如所指示那样,控制值可以被用作相对应的应用功能内的自变量。

如所指示那样,与特定的模块相关联的标识签名可以对应于用于不同应用的不同功能。例如,特定的标识签名可以对应于与控制车辆相关联的应用中的控制命令“右转”,并且对应于与机器人设备的控制相关联的应用中的控制命令“跳跃”。以这种方式,与应用相关联的功能的列表可以被映射到相对应的标识签名并且被存储在与应用数据114相关联的一个或多个数据库中。在一些实施方式中,可以将与特定的模块相关联的标识签名分配给特定的活动内的多个功能。例如,如果将模块重新分配给活动中的不同功能,则可以在特定的活动中重新使用模块。

控制实体102还可以例如经由网络与用户设备116和/或物理设备118处于通信。用户设备116可以向用户呈现用户界面以便于通过用户选择应用。例如,控制实体可以识别连接到网络并且能够从控制实体102接收用于执行应用的控制命令的一个或多个可用的外部设备(例如,用户设备116、物理设备118和/或其他外部设备)。控制实体102还可以至少部分地基于可用的设备来确定一个或多个可用的应用。例如,可用的应用可以是可用的设备能够实施的应用。控制实体102可以向用户设备116提供指示可用的应用的数据,该用户设备116可以在用户界面内向用户呈现可用的应用。用户可以选择应用,并且指示选择的数据可以被提供给控制实体102。以这种方式,在接收到指示选择的应用的数据时,指令生成器120可以访问应用数据114以确定用于选择的应用的功能数据。

如上所示,可以根据与控制实体102相关联的执行模型来确定指令集合的排序。执行模型可以指定将要以其执行指令集合内的功能的顺序。具体地,执行模型可以基于模块化组件104的模块化链的布置和/或配置来指定顺序。例如,执行模型可以是线性执行模型,该线性执行模型基于模块化组件-模块对与控制实体102的接近度来指定功能的执行顺序。作为另一示例,执行模型可以基于在其中相应的模块化组件-模块对位于模块化链中的行或列来指定功能的执行顺序。

一旦生成了指令集合,控制实体102就可以将指令集合提供给适当的设备(例如,用户设备116、物理设备118或其他外部设备)。每个应用可以对应于特定的设备。以这种方式,可以将指令集合提供给与选择的应用相对应的外部设备。在接收到指令集合时,外部设备可以执行指令以实施应用。

在一些实施方式中,更新的状态数据可以例如,在执行活动期间由一个或多个模块化组件104提供给控制实体102。更新的状态数据可以反映用户与模块106的输入机构的交互。更具体地,更新的状态数据可以包括指示输入机构的新位置的更新的位置数据。在接收到更新的状态数据时,控制实体102可以访问应用数据114以确定与位置数据相对应的控制值。然后,控制实体102可以将指示控制值的数据提供给适当的外部设备,使得外部设备可以根据控制值操作。

图2描绘了根据本公开的示例实施例的示例模块130和132。模块130表示静态模块,模块132表示动态模块。如所指示的那样,模块130、132可以是类似瓦片状结构,其被配置为附接到模块化组件或以其他方式与模块化组件进行接触。模块130、132可以编码模块的标识签名内的命令、功能或指令。在其中标识签名是电容签名的实施方式中,模块132、132可以由诸如纸、卡、木材、塑料或其他合适的非电容材料的各种合适的非电容材料制成。

如上所述,静态模块130可以与在特定的应用的上下文内不改变的不变的常数功能相关联。动态模块132可以与可以至少部分地基于用户与输入机构(诸如与动态模块132相关联的可旋转刻度盘134)的交互来确定的可变的功能相关联。如所指示的那样,尽管图2描绘了刻度盘,但是输入机构可以是能够由用户致动的任何合适的输入机构,诸如旋钮、按钮、开关、触发器、音量调节器等。刻度盘134可以进一步被装配有例如,在刻度盘134的可移动部分内的磁体136。以这种方式,磁体136可以被装配在刻度盘134内,使得当刻度盘134被用户旋转时,磁体136以相应的方式旋转。在这方面,磁体136的位置和/或朝向可以表示刻度盘134的位置和/或朝向。

如上所示,模块130、132可以被配置为编码分别表示模块的唯一标识签名。可以使用诸如射频标识(radio-frequencyidentification,rfid)技术(例如,无源rfid)、条形码技术(例如,2-d条形码)、近场通信(nearfieldcommunication,nfc)技术、电容感测技术和/或其他合适的标识技术的各种合适的技术来编码标识签名。例如,在一些实施方式中,标识签名可以是由附接到被配置为与模块化组件接触的模块的表面的电容材料的特定图案表示的电容签名。

例如,图3描绘了根据本公开的示例实施例可以使用的示例电容标识签名方案。具体地,图3描绘了电容签名表示140、142、144和146。每个电容签名表示可以被定位在模块的表面上。电容签名表示可以包括与模块的电容签名相对应的电容垫的预定义图案。例如,电容签名表示140包括电容垫148、150和152。电容垫可以由各种合适的导电材料制成,诸如电容墨水、导电线、导电带、金属、pcb等。预定义图案可以表示,例如,表示特定模块的8位十六进制电容签名。以这种方式,电容垫的不同布置或图案可以表示不同的电容签名。可以至少部分地基于与模块化组件相关联的电容传感器来配置图案。电容传感器可以被配置为当使得电容签名与电容传感器接触时读取模块的电容签名。

图4描绘了模块132和模块化组件104之间的示例交互。如所指示的那样,用户可以将模块化组件104和模块132配对以形成模块化组件-模块对,例如,通过使得模块132与模块化组件104接触。如所示的那样,模块化组件104包括电容传感器160。当模块被放置在模块化组件104上时,电容传感器160可以被配置为读取电容签名,在该示例中,该电容签名被定位在模块132的底表面上。具体地,电容传感器160可以被配置为确定与模块132相关联的电容垫的图案。然后该图案可以被映射到相应的电容签名。

如上所示,一个或多个模块化组件104可以被链接在一起以形成与控制实体102相关联的模块化链。模块化链中的模块化组件104可以由用户以各种方式布置。然后,控制实体102可以至少部分地基于模块化组件104的布置来确定与模块化组件104相关联的指令的执行顺序。具体地,控制实体102可以至少部分地基于与控制实体102相关联的执行模型来确定执行的顺序。执行模型可以指定用于确定执行顺序的协议。

例如,图5描绘了与模块化链相关联的各种示例模块化链和顺序协议。具体地,图5描绘了模块化链170、172、174、176和178。如图所示,模块化链170-178包括由用户以各种方式布置的多个模块化组件104。模块化链170-178内描绘的箭头180表示可用于确定与模块化链170-178内的模块化组件104相关联的指令的执行顺序的示例执行模型。

以这种方式,可以在控制实体102中以编程方式设置模块化链170-178的解释。例如,模块化链170可以在从顶行开始到底行的逐行基础上被解释。可以以最接近控制实体104的模块化组件104开始以线性方式解释模块化链172。在生成指令集合时执行顺序可以被控制实体使用。例如,指令集合可以被配置为使得与模块化链中的每个模块化组件相关联的功能由外部设备根据由执行模型指定的执行顺序和模块化链中的模块化组件104的布置来执行。

尽管图5描绘了通过组成模块化链的模块化组件之间的物理连接形成模块化链170-178,但是将理解的是,本公开的模块化链可以通过其他通信技术形成。例如,可以使用其中模块化组件104之间不要求物理连接以形成模块化链的无线通信技术来形成模块化链。此外,模块化链还可以通过无线通信技术来与控制实体通信。以这种方式,可以例如使用无线网格类型技术来执行通过模块化链的模块化组件104到控制实体的状态数据的通信,其中与特定的模块化组件相关联的状态数据可以被无线地路由到模块化链中的一个或多个附加的模块化组件并随后被通信传达到控制实体102。然而,还将理解的是,也可以使用非网格无线通信技术,其中模块化链中的每个模块化组件104使用无线通信技术将状态数据直接通信传达到控制实体102。

图6描绘了根据本公开的示例实施例的向控制实体提供状态数据的示例方法(200)的流程图。方法(200)可以由一个或多个计算设备(诸如图11中描绘的计算设备中的一个或多个计算设备)来实施。在具体实施方式中,方法(200)可以由图1中描绘的模块化组件104实施。另外,图6描绘了以特定的顺序执行的步骤以用于说明和讨论的目的。使用本文提供的公开内容,本领域的普通技术人员将理解,在不脱离本公开内容的范围的情况下,可以以各种方式适配、重新布置、扩展、省略或修改本文讨论方法中的任何方法的步骤。

在(202)处,方法(200)可以包括检测与定位在模块化组件的表面上的模块相关联的电容图案。如所指示的那样,电容图案可以表示模块的标识签名。可以使用以预定义图案布置的一个或多个电容垫来形成电容图案,使得当电容图案被定位在电容传感器附近时可以通过与模块化组件相关联的电容传感器来读取图案。以这种方式,当模块被定位在模块化组件附近时,电容传感器可以使用各种合适的电容感测技术来检测图案。

在(204)处,方法(200)可以包括至少部分地基于电容图案来确定模块的标识签名。例如,标识签名可以是与模块的特定图案相对应的8位十六进制标识签名。将理解的是,在不脱离本公开的范围的情况下,可以使用各种其他合适的标识签名格式。可以将图案映射到相对应的标识签名,例如通过访问查找表或将标识签名映射到电容图案的其他结构。

将理解的是,可以使用各种其他合适的标识签名,并且可以使用各种其他合适的标识技术来确定标识签名。例如,可以在与模块相关联的无源rfid标签内编码标识签名。以这种方式,模块化组件可以包括rfid读取器,使得当模块被定位在模块化组件附近时,rfid读取器可以从rfie标签提取标识签名。

在(206)处,方法(200)可以包括确定跟与模块相关联的输入机构相关联的位置数据。如所指示的那样,一个或多个模块可以包括能够被用户致动的输入机构。输入机构的可移动部分的位置、状态和/或朝向可以由模块化组件,例如,使用一个或多个位置传感器(诸如一个或多个磁力计、霍尔效应传感器、旋转位置传感器等)来确定。例如,位置数据可以与沿着限定在其中输入机构可以被致动的范围的轨迹或旋转谱的位置相关联。在一些实施方式中,位置数据可与状态(例如,开关或触发器的状态)相关联。

在(208)处,方法(200)可以包括确定直接或间接地耦合到控制实体的模块化链内的模块化组件的配置上下文。例如,配置上下文可以指模块化组件相对于模块化链的位置。以这种方式,模块化组件可以与模块化链内的一个或多个附加模块化组件通信,以协调模块化组件对配置上下文的确定。

在(210)处,方法(200)可以包括向控制实体提供标识签名、位置数据和/或配置上下文。例如,模块化组件可以生成状态数据分组,该状态数据分组包括指示标识签名、与输入机构相关联的位置数据或配置上下文中的一个或多个的数据。如所指示的那样,在一些实施方式中,可以在到达控制实体之前通过模块化链内的一个或多个附加的模块化组件来路由状态数据分组。

控制实体可以使用状态数据分组来确定与选择的应用相关联的指令集合。例如,图7描绘了根据本公开的示例实施例的确定指令集合的示例方法(300)的流程图。方法(300)可以由一个或多个计算设备实施,诸如图12中描绘的计算设备中的一个或多个计算设备。在具体实施方式中,方法(300)可以由图1中描绘的控制实体102来实施。此外,图7描绘了以特定的顺序执行的步骤以用于说明和讨论的目的。使用本文提供的公开内容,本领域的普通技术人员将理解,在不脱离本公开内容的范围的情况下,可以以各种方式适配、重新布置、扩展、省略或修改本文讨论的任何方法的步骤。

在(302)处,方法(300)可以包括通过网络识别一个或多个可控制的外部设备。例如,一个或多个可控制的外部设备可以包括一个或多个用户计算设备和/或一个或多个物理设备(例如机器人设备、汽车、光开关、无线电设备等)。可控制的设备可以是能够执行与控制实体相关联的应用和/或能够实施由控制实体提供的控制命令以用于与控制实体相关联的应用的实施方式中使用的设备。

在(304)处,方法(300)可以包括至少部分地基于外部设备的存在来确定一个或多个可用的应用。例如,可用的应用可以包括网络上存在的外部设备能够实施的一个或多个应用。例如,应用可以包括与汽车、机器人设备、用户设备、光开关无线电等相关联的控制应用。这些应用可以与当前外部设备的控制的各个方面相关联。

在(306)处,方法(300)可以包括接收指示由用户选择的应用的数据。例如,可以将可用的应用提供给用户设备以用于由用户设备在用户界面中显示。用户设备的用户可以通过与用户界面的交互来选择应用。指示选择的动作的数据可以被提供给控制实体。

在(308)处,方法(300)可以包括从直接或间接地耦合到控制实体的模块化组件的模块化链中的一个或多个模块化组件接收状态数据。在(310)处,方法(300)可以包括确定要由与选择的应用相关联的外部设备实施的指令集合。可以至少部分地基于状态数据来确定指令集合。该指令集合可以包括在选择的应用的上下文内要由外部设备执行的一个或多个功能。

图8描绘了根据本公开的示例实施例的确定指令集合的示例方法(400)的流程图。在一些实施方式中,方法(400)可以对应于方法(300)中的(310)。方法(400)可以由一个或多个计算设备实施,诸如图12中描绘的计算设备中的一个或多个计算设备。在具体实施方式中,方法(400)可以由图1中描绘的控制实体102来实施。此外,图8描绘了以特定的顺序执行的步骤以用于说明和讨论的目的。使用本文提供的公开内容,本领域的普通技术人员将理解的是,在不脱离本公开内容的范围的情况下,可以以各种方式适配、重新布置、扩展、省略或修改本文讨论的任何方法的步骤。

在(402)处,方法(400)可以包括将与模块化链内的一个或多个模块化组件相关联的一个或多个标识签名映射到与选择的应用相关联的一个或多个功能。例如,通过访问将标识签名与应用内的功能相联系的查找表,可以将标识签名映射到相对应的功能。

在(404)处,方法(400)可以包括将与一个或多个模块化组件相关联的位置数据映射到跟与选择的应用相关联的相对应的功能相关联的控制值。例如,控制值可以向与模块化组件相关联的相应功能指定自变量。

在(406)处,方法(400)可以包括至少部分地基于与一个或多个模块化组件相关联的配置上下文数据来确定要与指令集合相关联的执行的顺序。如所指示的那样,配置上下文数据可以指示模块化链内的模块化组件的相应位置。以这种方式,集合的配置上下文数据可以被用于确定模块化链的布置和/或配置。可以根据指定用于将以其执行指令的顺序的规则和/或协议的执行模型确定执行顺序。

在(408)处,方法(400)可以包括至少部分地基于映射的功能、映射的控制值和确定的执行顺序来生成指令集合。在(410)处,方法(400)可以包括将指令集合提供给与选择的应用相关联的外部设备。

如所指示的那样,本公开的附加方面涉及提供与能够由用户致动的输入机构相关联的反馈控制。在一些实施方式中,这种反馈控制可以被集成在本公开的模块化计算环境内。在一些实施方式中,本公开的反馈控制可以在一个或多个可替代的控制界面内实施。以这种方式,本公开的反馈控制可以在任何合适的系统内实施,其各方面包括向用户提供反馈。

例如,图9描绘了根据本公开的示例实施例的用于向用户提供反馈的示例系统500的概况。系统500包括与控制界面504接口的反馈生成器502。控制界面504可包括输入机构506。在一些实施方式中,输入机构506能够由用户致动。例如,输入机构506可以是旋钮、刻度盘、按钮、触发器、滑动器、音量调节器或其他合适的输入机构。输入机构506可以是不包括输入机构506的机械结构中的任何物理棘爪的自由流动的输入机构。以这种方式,用户可以与输入机构506交互来改变输入机构的位置和/或朝向,以控制与控制界面相关联的应用。

反馈生成器502包括反馈控制器508。反馈控制器508可以包括一个或多个处理器以及包括计算机可读指令的一个或多个存储器设备,该计算机可读指令可以由一个或多个处理器执行以执行根据本公开的示例实施例的操作。反馈控制器508可以被配置为控制一个或多个反馈马达510的操作,以使得(多个)反馈马达510向用户提供反馈。在一些实施方式中,反馈控制器508可以对应于图1的反馈控制112。(多个)反馈马达可以包括能够向用户提供反馈的任何合适的设备或组件。例如,(多个)反馈马达510可以包括一个或多个照明组件、音频组件、振动马达等。以这种方式,例如,响应于输入机构506的致动,可以控制反馈马达510的操作以向用户提供合适的反馈信号。

反馈发生器502还包括一个或多个位置传感器512。例如,一个或多个位置传感器512可包括能够确定输入机构506的位置和/或朝向的任何合适的设备或组件。在一些实施方式中,(多个)位置传感器512可包括一个或多个霍尔效应传感器、磁力计、旋转位置传感器和/或任何其他合适的位置传感器。

(多个)位置传感器512可以被配置为确定输入机构506的可移动部分的位置和/或朝向。例如,可以相对于输入机构506的状态确定位置和/或朝向。作为另一示例,可以相对于输入机构沿着轨迹的位置或者输入机构沿着输入机构被配置为旋转的旋转谱的角位置来确定位置和/或朝向。将理解的是,在不脱离本公开的范围的情况下,可以使用任何合适的位置确定技术来确定输入机构506的位置。例如,在一些实施方式中,输入机构506的位置可以使用机械技术来确定。

反馈控制器508可以被配置为至少部分地基于输入机构506的确定的位置和/或朝向来控制(多个)反馈马达510的操作。例如,反馈控制器508可以被配置为访问方案数据514以确定施加到输入机构506的反馈方案。反馈方案可以包括施加反馈的一个或多个反馈点。反馈点可以对应于输入机构506的位置。以这种方式,可以选择反馈点,使得当用户将输入机构506致动到一个或多个反馈点时,将反馈施加到输入机构506。

反馈方案可以至少部分地基于输入机构506的类型(例如,旋钮、刻度盘、开关等)来确定。例如,反馈方案可以被确定为在沿着刻度盘或旋钮的旋转谱的一个或多个位置处包括一个或多个反馈点。作为另一示例,反馈方案可以被确定为包括对应于开关的一个或多个状态中的开关的操作的一个或多个反馈点。作为又一示例,反馈方案可以被确定为在沿着与音量调节器或滑动器相关联的轨迹的一个或多个位置处包括一个或多个反馈点。以这种方式,在用户将输入机构506致动到对应于反馈点的一个或多个位置、状态等时,反馈控制器508可以控制(多个)反馈马达510的操作以根据反馈方案向用户提供反馈。

反馈方案还可以至少部分地基于与输入机构506相关联的控制应用来确定。例如,在反馈方案中的反馈点的量和/或反馈点的位置可以至少部分地基于与控制应用相关联的一个或多个设置和/或输入值来确定。例如,如果输入机构505被配置为控制音频系统的音量,则反馈点可以对应于音量水平。以这种方式,如果音频系统包括10个音量水平,则反馈方案可以包括沿与输入机构506相关联的轨迹、旋转谱等定位的10个反馈点。作为另一示例,如果输入机构506被配置为控制具有4个离散功率设置的车辆中的空调,则反馈方案可以包括沿与输入机构506相关联的旋转谱、轨迹等定位的4个反馈点。反馈点的位置可以变化。例如,在一些实施方式中,反馈点可以沿着输入机构506的轨迹或谱被均匀地间隔开。在一些实施方式中,反馈点可以围绕轨迹或谱被不均匀地间隔开。例如,在一些实施方式中,反馈点可以被定位成指示设置值和先前设置值之间的差异。

反馈方案可以至少部分地基于与输入机构506相关联的选择的应用被施加到输入机构506。以这种方式,输入机构506可以与多个应用相关联(例如,输入机构506可以被配置为控制车辆中的空调或收音机音量),并且用户可以选择与输入机构506相关联的多个应用中的一个,使得输入机构506可以被配置为控制选择的应用的一个或多个方面。可以访问方案数据514以至少部分地基于选择的应用来确定施加的反馈方案。

在一些实施方式中,反馈方案可以指定要被施加的反馈的类型。例如,反馈方案可以指定照明反馈、音频反馈、振动反馈和/或各种其他合适类型的反馈的应用。反馈方案可以进一步将不同的反馈类型与不同的反馈点相关联。例如,反馈方案可以在控制应用内在与输入机构506相关联的第一反馈点处指定第一反馈类型,并且在控制应用内在与输入机构506相关联的第二反馈点指定第二反馈类型。

在一些实施方式中,反馈方案可以控制要被提供的反馈的一个或多个特性。例如,反馈方案可以指定反馈的强度、反馈的图案、反馈的长度、反馈的颜色(例如,以用于照明反馈),反馈的亮度(例如,以用于照明反馈)和/或反馈的其他合适的特性。反馈方案还可以在控制应用内为不同反馈点指定不同的反馈特性。例如,在用户致动输入机构506时,反馈方案可以在各个反馈点指定处逐渐增大或减小的振动强度。以这种方式,反馈方案可以在第一反馈点处指定第一反馈特性(例如颜色、强度、亮度等)和在第二反馈点处指定第二反馈特性。

在一些实施方式中,反馈方案可以是可重新编程的以修改反馈方案。例如,一个或多个反馈点可以至少部分地基于控制应用的变化来添加、移除、修改、操纵等。以这种方式,也可以修改反馈类型和/或特性,例如,以适应控制应用的改变(例如,添加或移除设置等)。

以这种方式,在用户致动输入机构506时,反馈生成器502可以被配置为跟踪输入机构506的可移动部分的位置和/或朝向,并且根据与输入机构506相关联的反馈方案和与输入机构506相关联的控制应用来控制(多个)反馈马达510的操作。具体地,在输入机构506的可移动部分遍历各个反馈点时,可以控制(多个)反馈马达的操作以根据反馈方案提供反馈。

图10描绘了与输入机构506相关联的示例反馈方案520、522、524和526。如所示出的那样,图10将输入机构506描绘为可旋转的刻度盘或旋钮。例如,示例反馈方案每个包括与输入机构506被配置为在其上旋转的谱530相关联的反馈点528。在一些实施方式中,反馈点528可以被指定为沿谱的角位置。例如,反馈方案520可以包括相对于刻度盘的旋转谱在90度和270度的反馈点。以这种方式,在位置指示器530被旋转到90度和270度位置时,可以根据反馈方案520提供反馈。如所指示的那样,反馈点528可以对应于与一个或多个控制应用相关联的设置或输入值。以这种方式,可以至少部分地基于控制应用(例如,与控制应用相关联的多个设置)来确定反馈点的数量。

图11描绘了根据本公开的示例实施例的提供反馈的示例方法(600)的流程图。方法(600)可以由一个或多个计算设备实施,诸如图12中描绘的计算设备中的一个或多个计算设备。在具体实施方式中,方法(600)可以由图9中描绘的系统500来实施。此外,图11描绘了以特定的顺序执行的步骤以用于说明和讨论的目的。使用本文提供的公开内容,本领域的普通技术人员将理解的是,在不脱离本公开内容的范围的情况下,可以以各种方式适配、重新布置、扩展、省略或修改本文讨论的任何方法的步骤。

在(602)处,方法(600)可以包括访问指示与输入机构相关联的反馈方案的数据。具体地,反馈方案可以跟与输入机构相关联的控制应用相关联。反馈方案可以指定与输入机构的可移动部分的一个或多个物理位置和/或朝向相对应的一个或多个反馈点。反馈方案可以进一步指定要在一个或多个反馈点处施加的一种或多种类型的反馈和/或反馈的一个或多个特性。

在(604)处,方法(600)可以包括在输入机构由用户沿着轨迹或谱致动时,确定输入机构的一个或多个位置。例如,用户可以致动输入机构以控制与控制应用相关联的设备的一个或多个方面。在用户致动输入机构时,可以例如通过一个或多个位置传感器跟踪输入机构的位置和/或朝向。

在(606)处,方法(600)可以包括至少部分地基于反馈方案和输入机构的一个或多个确定的位置来控制一个或多个反馈马达的操作以为用户提供反馈。以这种方式,当输入机构的位置与反馈点对准时,可以控制(多个)反馈马达以提供如反馈方案中指定的振动、照明、音频信号等。

图12描绘了可用于实施根据本公开的示例方面的方法和系统的示例计算系统700。系统700可以使用一个或多个计算设备来实施,该计算设备包括通过网络740与一个或多个模块化组件730和一个或多个外部设备750通信的控制实体710。系统700可以使用诸如单个计算设备的其他合适的架构来实施。

系统700包括控制实体710。控制实体710可以使用任何合适的(多个)计算设备来实施。控制实体710可以具有一个或多个处理器712和一个或多个存储器设备714。控制实体710还可以包括用于通过网络740与一个或多个外部设备750通信的网络接口。网络接口可以包括用于与一个或多个网络接口的任何合适的组件,包括例如发射器、接收器、端口、控制器、天线或其他合适的组件。

一个或多个处理器712可以包括任何合适的处理设备,诸如微处理器、微控制器、集成电路、逻辑设备或其他合适的处理设备。一个或多个存储器设备714可以包括一个或多个计算机可读介质,包括但不限于非暂时性计算机可读介质、ram、rom、硬盘驱动器、闪存驱动器或其他存储器设备。一个或多个存储器设备714可以存储可由一个或多个处理器712访问的信息,包括可以由一个或多个处理器712执行的计算机可读指令716。指令716可以是任何指令的集合,当指令由一个或多个处理器712执行时,使得一个或多个处理器712执行操作。例如,指令716可以由一个或多个处理器712执行以实施参考图1描述的指令生成器120。

如图12中所示,一个或多个存储器设备714还可以存储可以由一个或多个处理器712检索、操纵、创建或存储的数据718。数据718可以包括例如应用数据、根据本公开的示例方面生成的状态数据、以及其他数据。数据718可以被本地存储在控制实体710上,或者存储在一个或多个数据库中。一个或多个数据库可以通过高带宽lan或wan被连接到控制实体710,或者也可以通过网络740被连接到控制实体710。一个或多个数据库可以被拆分使得它们位于多个场所(locale)中。

控制实体710还可以包括用于通过网络740与一个或多个远程计算设备(例如,外部设备750)通信的网络接口。网络接口可以包括用于与一个或多个网络接口的任何合适的组件,包括例如发射器、接收器、端口、控制器、天线或其他合适的组件。

控制实体710还可以包括用于使用各种合适的通信技术与一个或多个模块化组件730通信的通信接口720。以这种方式,通信接口720可以使用诸如电、磁(例如,感应)或光耦合、无线或(例如,具有分别与(多个)模块化组件730相关联的互补通信接口746的)其他通信技术的一个或多个通信技术将控制实体710通信地耦合到一个或多个模块化组件730。通信接口720可以包括用于与模块化组件730接口的任何合适的组件,包括例如发射器、接收器、端口、控制器、天线或其他合适的组件。作为示例,通信接口720可以包括多个插脚(prong)、引脚、触点等以形成多个串行数据连接或其他形式的数据连接。在其他实施方式中,通信接口720可以(例如,根据诸如蓝牙的短程无线通信协议,或诸如wi-fi的其他无线通信协议)执行与模块化组件730中的一个或多个的无线通信。

控制实体710可以与一个或多个模块化组件730交换数据。模块化组件730中的每一个可以使用任何合适的(多个)计算设备来实施。类似于控制实体710,模块化组件730可包括一个或多个处理器732和存储器734。一个或多个处理器732可以包括一个或多个中央处理单元(centralprocessingunits,cpu)和/或其他处理设备。存储器734可以包括一个或多个计算机可读介质,并且可以存储可由一个或多个处理器732访问的信息,包括可由一个或多个处理器732执行的指令736和数据738。例如,存储器734可以存储指令736以用于实施参考图1描述的状态数据生成器108和反馈控制112。数据738可以包括例如反馈数据、根据本公开的示例实施例确定的状态数据、根据本公开的示例实施例确定的位置数据、以及其他数据。

模块化组件730可以被配置为接收模块742。模块742可以编码与模块742相关联的标识签名。模块还可以包括根据本公开的示例实施例的输入机构。模块化组件730还可包括被配置为确定输入机构的位置和/或朝向的一个或多个位置传感器744。

模块化组件730还可以包括用于使用各种合适的通信技术与控制实体710和/或一个或多个附加的模块化组件730通信的通信接口746。以这种方式,通信接口746可以使用诸如电、磁(例如,感应)或光学耦合、无线或(例如,具有分别与控制实体710或(多个)附加模块化组件730相关联的互补通信接口720或746的)其他通信技术的一个或多个通信技术将模块化组件730通信地耦合到控制实体710和/或一个或多个附加的模块化组件730。通信接口746可以包括用于与控制实体710和/或附加的模块化组件730接口的任何合适的组件,包括例如发射器、接收器、端口、控制器、天线或其他合适的组件。作为示例,通信接口746可以包括多个插脚、引脚、触点等以形成多个串行数据连接或其他形式的数据连接。在其他实施方式中,通信接口746可以(例如,根据诸如蓝牙的短程无线通信协议或诸如wi-fi的其他无线通信协议)执行与控制实体710和/或一个或多个附加的模块化组件730的无线通信。

控制实体710可以通过网络740与一个或多个外部计算设备750通信。(多个)外部设备750可以包括一个或多个用户计算设备。用户计算设备可以是任何合适类型的计算设备,诸如通用计算机、专用计算机、膝上型计算机、台式计算机、移动设备、导航系统、智能手机、平板电脑、可穿戴计算设备、具有一个或多个处理器的显示器、或其他合适的计算设备。(多个)外部设备750还可以包括一个或多个物理设备,诸如一个或多个可控制的机器人设备、汽车、灯开关和/或能够由控制实体710控制的各种其他合适设备。

网络740可以是任何类型的通信网络,诸如局域网(例如内联网)、广域网(例如,互联网)、蜂窝网络或它们的某种组合。网络740还可以包括模块化组件730和控制实体710之间的直接连接。一般来说,控制实体710和模块化组件730之间的通信可以经由网络接口使用任何类型的有线和/或无线连接,使用各种通信协议(例如,tcp/ip、http、smtp、ftp)、编码或格式(例如,html、xml)和/或保护方案(例如,vpn、安全http、ssl)来承载。

本文讨论的技术参考了服务器、数据库、软件应用和其他基于计算机的系统,以及采取的行动和发送到这些系统和从这些系统发送的信息。本领域普通技术人员中的一个将认识到,基于计算机的系统的固有灵活性允许组件之间和组件当中的各种可能的配置、组合和任务与功能的划分。例如,本文讨论的服务器进程可以使用单个服务器或组合工作的多个服务器来实施。数据库和应用可以在单个系统上实施或跨多个系统分布。分布式组件可以顺序地或并行地操作。

虽然本主题已经相对于其特定的示例实施例进行了详细描述,但是将理解的是,本领域技术人员在理解了前述内容后,可以容易地产生对这些实施例的变更、变化和等同物。因此,本公开的范围是作为示例而不是作为限制的,并且对于本领域普通技术人员来说是显而易见的,本公开不排除包括对本主题的这种修改、变化和/或添加。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1