其它格式也是可能的。
[0106] 中央控制器400在每个信道450上周期性地传送数据包600,例如,在20赫兹下。 每个子信道字604包含用于在信道450中相应定位的数字模块的命令。例如,在图9所示 的信道450B中,第一子信道字604A将包含用于数字伺服模块(DSM) 100-2A的命令以及第 二子信道字604B将包含用于数字LED模块(LM) 200-2B的命令。所述MFID 608确定信道 450中的哪个数字模块应发送应答数据包610。例如,如果MFID 608的值是0X00,则数字 伺服模块100-2A将传送应答包,以及如果MFID 608的值是0X01,则数字LED模块200-2B 将传送应答包。当中央控制器400周期性地传送数据包600时,MFID 608的值连续地循 环,使得在信道中的每个被发现的数字模块有机会在中央控制器传输之间的时间间隔内进 行应答。例如,在信道中最多四个模块和20赫兹的中央控制器传输速率的情况下,各数字 模块提供5Hz的反馈速率。
[0107] 3. 3发现
[0108] 为了实现快速动态的重新配置,机器人系统在启动或通电开机时经受优选的发现 过程。
[0109] 每个信道450可在串联连接的配置或串行链路中的位置Α、Β、-·Ν中具有多达 Ν(优选四个)个数字模块。例如,在图9中,信道450Α在位置Α至D中分别具有四个数字 伺服模块(DSM) 100-1A、100-1B、100-1C和100-1D,以及信道450B在位置A至B中分别具 有两个数字模块DSM 100-2A和LM 200-2B。在位置A中的数字模块紧邻中央控制器400, 因此可以被认为是第一上游模块。在位置N中的数字模块在距离中央控制器400的最远下 游,因此可以被认为是在串行链路中的最后一个数字模块。(在其它实施方式中,根据可以 安全支持的串行比特速率,信道可以支持更多或更少的数字模块。)
[0110] 在通电开机时,中央控制器在所有的子信道数据字604上传送"分配ID"的命令。
[0111] 当第一数字模块A接收到该数据包时,模块注意到"分配ID"命令的第一实例是在 第一子信道字604A内。因此,第一数字模块A能够检测到它处于串行链中的第一位置下。 第一数字模块A不将该数据包向下游传递到串行链中的下一个相邻的数字模块B。相反,第 一数字模块A将"认可ID"应答发送回到中央控制器。因此,中央控制器检测到数字模块A 插入。第一数字模块A也将其数据信号I/O端口设置在流通模式下,如上所述。
[0112] 接下来,中央控制器发出第二数据包,第二数据包具有在第二、第三和第四子信道 数据字中的"分配ID"命令,并且所述MFID递增。第一子信道字具有另一个命令,诸如显式 ID编码的分配,意旨用于数字模块A。数字模块A将接收命令X并且不管它是什么都作出 反应。但是,数字模块A现在会把数据包向下游传递到数字模块B(如果已附连)。(一旦 数字模块接收到ID,它就将数据发送到下一个模块。)数字模块B现在接收数据包并检测 到在数据包中"分配ID"命令的第一实例是在第二子信道字内。数字模块B从而检测到它 在第二位置下,从而将作用于在第二子信道内传送的命令。数字模块B然后将"认可ID"的 应答发送回到中央控制器,并将其数据信号I/O端口设置在流通模式下,如上所述。因此, 中央控制器检测到数字模块B插入。
[0113] 该过程以中央控制器发出第三数据包并且所述MFID 608递增来继续,第三数据 包具有在第三和第四子信道数据字中的"分配ID"命令。第一和第二子信道字604A、604B 具有分别意指用于数字模块A和B的其它命令X和Y。数字模块A和B将接收命令X和Y 并且无论它们是什么都作出反应。但是,数字模块A和B将数据包向下游传递到数字模块 C (如果已附连)。数字模块C现在接收数据包并检测到在数据包中"分配ID"命令的第一 实例是在第三子信道字604C内。数字模块C从而检测到它在第三位置下,从而将作用于在 第三子信道604C内传送的命令。数字模块C然后将"认可ID"的应答发送回到中央控制 器,并将其数据信号I/O端口设置在流通模式下,如上所述。因此,中央控制器检测到数字 模块C插入。
[0114] 这个过程一直持续,直到所有的数字模块检测到它们在信道450内的位置和分配 的ID。类似地,中央控制器知晓多少模块插入。应注意的是,所述中央控制器继续在子信道 上发送"分配ID"命令,直到中央控制器接收所需应答。
[0115] 优选的发现过程给它带来许多优点。
[0116] 首先,发现过程使得附加数字模块的"热插拔"成为可能。例如,考虑的是数字模 块A和B都插入的情况。中央控制器以在子信道字三和四的"分配ID"命令发送出数据包。 如果数字模块C被插入,其将会收到经过数字模块A和B的数据流。数字模块C将获知"分 配ID"命令的第一实例是在第三子信道字内,因此检测它是在该信道的第三位置下。数字 模块C应答中央控制器,中央控制器从而检测数字模块C。因此,数字模块C被附连并分配 一个唯一的ID。
[0117] 优选的发现过程的另一优点是,它使得位置依相邻的模块而定。例如,考虑到数字 模块A,B和C已插入。数字模块B无法被拔掉,数字模块C也无法从信道拔掉。当中央控 制器没有从模块接收返回数据时(即,当没有响应于给定MFID的应答数据包时),则中央 控制器假定相应的数字模块被拔掉,并在相应的子信道上改变命令到"分配ID"。在该实例 中,通过数字模块B和C被拔掉,中央控制器未收到任何应答,并因此以在第二至第四子信 道字604B、604C和604D上的"分配ID"命令发送出数据包。
[0118] 该"分配ID"命令可包括唯一的标识符和值(例如,4位可用于命令以及4位用于 传送唯一的ID)。备选地,唯一的ID可在输送下一个数据包时在相应的子信道内被携载。 仍在进一步的替代方案中,如上所述,借助于发现过程基于位置可以暗示唯一 ID,所述发现 过程识别中央控制器和数字模块,后者的位置在串行链中。
[0119] 数字伺服模块通过感测在其输出I/O端口的数据信号线上的下拉电压来确定是 否附连标准的伺服单元。如果该条件被感测到,并且数字伺服模块注意到除了在相邻相应 的下行子信道字上的"分配ID"之外没有其它中央命令,则数字伺服模块假定附连标准的伺 服单元。
[0120] 3. 4命令集和状杰编码
[0121] 下面论述数字命令集的一个实施方式。表1列出用于数字伺服模块100和数字 LED模块200的各种状态情况。
表1 -状杰编码
[0122] 这些命令可以各种方式来实施。因为大多数命令通常都将是伺服设定位置的命 令,子信道字的地址范围可被分段,以便范围的一部分被保留用于显式命令,以及范围的大 部分用于"设定伺服位置"的隐式命令。例如,数据值OxFF到OxFO可被保留用于显式命令 (诸如上述的"分配ID"命令)。数据值OxEF到0x00可用于模块位置数据。因此,例如, OxAA可将命令"设定伺服位置"对应于数字伺服的预定角度范围(OXOO-OxEF)内的相对位 置OxAA。使用单字节来通信所需伺服位置消除了用于传送标准伺服50Hz的脉冲信号的需 求以及用于传送标准伺服50Hz的脉冲信号所需的带宽。
[0123] "请求类型"命令请求给定的数字模块来报告其类型,诸如数字伺服模块或数字 LED模块。由数字模块传送的应答数据包将把类型报告给中央控制器。
[0124] "获取伺服位置"命令可请求给定的数字伺服模块来报告其相关联的伺服马达的 位置。由数字伺服传送的应答数据包将把位置报告给中央控制器。在一些实施方式中,对 于中央控制器而言可能没有必要传送请求伺服位置反馈的显示命令;更确切地说,中央控 制器传送伺服位置命令的事实意味着数字伺服模块返回伺服位置反馈。
[0125] "请求伺服转矩"命令可以请求给定的数字伺服模块在其相关联的伺服马达的转 矩输出上进行报告。如先前所述,每个数字伺服模块包括用于感测所施加扭矩的电流传感 器。由数字伺服传送的应答数据包将把扭矩报告给中央控制器。
[0126] "获取伺服状态"命令可请求给定的数字伺服模块或LED模块报告其内部状态。由 数字模块传送的应答数据包将把状态报告给中央控制器。
[0127] 每个数字伺服模块自主地设定内部状态条件连同其相关联LED的颜色。这些状态 条件和相关联的颜色在表1中有所概述。在该具体的方案中,如果所述数字伺服模块正常 地操作,则它会将其内部状态条件设定到特定值并将所述LED的颜色设定成蓝色。类似地, 如果数字伺服模块正常地操作但连接到从属的标准伺服单元,则数字伺服模块将其内部状 态条件设定到另一预定值并将LED颜色设定成蓝色。如果数字伺服模块经受失速条件(电 流传感器检测到电流峰值),则数字伺服模块修订其内部状态条件,并将其LED颜色设定成 红色。如果失速条件持续超过阈值时限和/或位置传感器(电位计)不显示任何进一步的 运动,则所述数字伺服模块将暂时将其本身禁用,以防止任何物理损坏,修订其内部状态条 件以反映该条件,并将LED颜色设定成红色。如果数字伺服模块尚未从中央控制器接收到 ID编码,则数字伺服模块将其内部状态条件设定成特定值并将LED颜色设定成黄色。数字 伺服也可设置成"UM"模式,如下面更详细论述的那样。在这种情况下,数字伺服模块修订 其内部状态条件以反映这种条件,并将其相关联的LED颜色设定成绿色。
[0128] "设定LED颜色"命令请求给定的数字伺服模块或数字LED模块设定其相关联的 LED的颜色。如果该命令被发送到数字伺服模块并且颜色值为0,则所述数字伺服模炔基于 其内部状态自主地设定LED的颜色,如上所述。
[0129] 在一些实施方式中,设定颜色命令可通过两个数据包600传送。例如,一个实施方 式利用以下方案: ? ( i )第一字节=OOgggrrr,其中00表示这是第一字节,ggg为用于绿光强度的3位 值,以及rrr为用于红光强度的3位值; ? ( ii )第二字节=Oltttbbb,其中01表示这是第二字节,ttt是用于褪色时间的3位 值,以及bbb为蓝光强度的3位值。 ? ttt (褪色时间)值是不按比例如下预先设定的: 000- 0秒(不褪色,立即改变) 001- 200毫秒(非常非常快速地褪色) 010- 500毫秒(非常快速地褪色) 011- 800毫秒(快速地褪色) 100- 1秒(正常褪色) 101- 2秒(缓慢地褪色) 110- 3秒(非常缓慢地褪色) 111- 4秒(非常非常缓慢地褪色)
[0130] "设定伺服状态"命令指令所指示的数字伺服模炔基于由中央控制器传送的显式 值修订其内部状态条件。
[0131] "确认"命令请求快速认可应答。当不需要其它命令时,这可用于在中央控制器和 数字模块之间实施周期性的心跳协议。
[0132] 在一些实施方式中,由于来自数字伺服模块100的大多数应答将是伺服位置数 据,应答数据包字614的地址范围可被分段,以便该范围的一部分被保留用于显式返回编 码以及地址范围的大多数用于有关伺服位置的隐式反馈数据。例如,在一个实施方式中, OxEF-OXOO被保留用于伺服位置数据;OxFF指示伺服失速,而OxFA是数字伺服模块处于 UM模式的验证码。
[0133] 4. 0控制和编程
[0134] 所述机器人系统意旨用作玩具和/或用于教育市场,其中用户可能没有太多或者 任何先前编程的经验。该系统使得这些人能够容易地控制从机器人套件构建的任何机器人 人物。
[0135] 4.1语音识别
[0136] 机器人套件包将通常被传送给消费者,并且具有来自套件制造商的用于构建特定 机器人人