机器人控制系统的制作方法

文档序号:2328946阅读:300来源:国知局
专利名称:机器人控制系统的制作方法
机器人控制系统技术领域[OOOl]本发明涉及机器人控制系统,特别涉及在机器人的主处理器和传感器单元之间的数据通信。
背景技术
加速度传感器和角速度传感器用于机器人等的可移动躯体 的姿态控制。如果建立三个正交轴,即X轴、Y轴和Z轴,那么在这 三个轴向上的加速度由三个加速度传感器检测,并且围绕这三个轴的 角速度由三个角速度传感器检测。围绕这些轴的角,即姿态角,通过 角速度传感器的输出的时间积分来获得,并且因而计算侧倾(roll)角、 俯仰(pitch)角和横摆(yaw)角。
在公开号为JP-A-2004-268730的日本专利申请中,公开了利用从陀螺仪传感器输出的加速度数据和姿态数据来执行姿态控制的技 术。
而且,在公开号为JP-A-6-340149的日本专利申请中,公开了发送和接收包括可变长度的命令和参数组的数据。
尽管由传感器单元检测到的例如姿态角等传感器数据被发 送到执行机器人的姿态控制的主处理器(或主处理机),并且被用在反 馈控制中,但是由于当随着数据量的增加控制周期变长时机器人的可 控性降低,所以理想的是能够根据需要通过调节发送的数据量并因此 确保数据通信速度,来增强可控性。
而且,如果由于通信失败等导致数据丢失,主处理器能够执行预定丢失程序并且能够保持机器人的可控性,但是需要主处理器能 够可靠地检测发生了数据丟失的事实。发明内容
本发明的目的在于提供一种机器人控制系统,其可以确保机 器人控制的响应度。
根据本发明的第一方案的机器人控制系统,包括用于机器人 的主处理器和将传感器输出发送到主处理器的传感器单元。在主处理 器和传感器单元之间,数据以可变长度数据格式发送和接收。
在本发明的第一方案中,没有使用固定长度数据格式,而是 通过以可变长度数据格式来发送和接收数据来确保机器人的可控性。 换句话说,通过在适当地缩短数据长度的同时执行数据发送和接收, 可以增强通信速度,并且因此抑制控制滞后。[OOIO]因此,具体来说,可变数据长度格式包括传送大小段、命 令段、传送模式段和数据段;传送大小段规定了传送的数据量;命令 段规定了传送目的地的细节;并且传送模式段规定了要被传送的数据 的类型和序列。因此可以通过减小要被传送的数据的类型数来缩短数 据的长度,此外,因为要被传送的数据的类型和序列(从接收方来看, 是接收的数据的类型和序列)由传送模式段规定,即使数据的长度变 化,也可以可靠地获得接收方所需的数据。[OOll]根据本发明的第二方案,在第一方案中,载有由主处理器计 时的瞬时时刻的数据包含在从主处理器发送到所述传感器单元的数据 中;而且,此外,在载有瞬时时刻的数据和载有由传感器单元计时的经过时间的数据包含在从传感器单元发送到主处理器的数据中。通过 将载有瞬时时刻的数据和载有经过时间的数据包含在从传感器单元发 送到主处理器的数据中,可以在主处理器中获得与已经从传感器单元 接收到的数据有关的时间信息,并且可以简单地和容易地从接收数据 的非顺序时间中检测到数据的丟失。而且,即使在从传感器单元发送 到主处理器的数据中有延迟发生,由于(载有瞬时时刻的数据+载有 经过时间的数据)包含在从传感器单元发送到主处理器的数据中,因 而主处理器可以准确地识别从传感器单元发送的数据的时间(测量时 间)。此外,由于载有瞬时时刻的数据仅仅由主处理器产生,所以可以 没有任何所谓的同步问题的发生,即,由主处理器测量的瞬时时刻和 由传感器单元测量的瞬时时刻之间的任何误差问题。
根据本发明,由于可以以合适的方式增加和减小发送和接收的数据的长度,因而可以确保机器人控制的响应度。
此外,根据本发明的第二个方案,由于主处理器可以以精确 的方式获得时间信息,即使在通过传感器单元的数据发送中发生时间 延迟,也可以执行机器人的实时处理。


/人参照附图的下述描述和示例实施例中,本发明的前述和进 一步的目标、特点和优点将变得明显,其中相同或相应部分用相同的 附图标号表示,其中图1为根据本发明实施例的机器人控制系统的示意结构图;图2A和2B为数据发送和接收的时间图(timing chart);图3为数据格式图;图4A和4B为可变长度数据的说明图;图5为包含在测量数据段中的时间戳和计时时间的说明图;图6为示出了时间戳和计时时间的实例图;及图7A和7B为示出了该机器人控制系统的时间管理的说明图。
具体实施方式
下面将参照

本发明的实施例。
图1为根据本发明实施例的机器人控制系统的示意结构图。 设置有传感器单元IO和作为机器人的主处理器(主处理机)的机器人 CPU 12,并且该传感器单元IO和机器人CPU 12通过串行数据线14 连接起来,以使彼此能够串行通信。应理解为该传感器单元IO和机器 人CPU 12所安装到的机器人可以是任何所需的类型;其可以是任何在 两个轮子上行走的机器人,在四个轮子上行走的机器人,两条腿行走 的机器人,飞行机器人等。
传感器单元10包括作为加速度传感器或角速度传感器等 的传感器15、 RAM 16、 ROM 18、驱动器20和CPU22。
ROM 18存储OS (操作系统)或写入了作为用于传感器单 元10的运行程序的程序。在该程序中,包括转变要发送到机器人CPU 12的传感器输出的类型或重启功能的参数,或者设定内部滤波器等的 瞬时时刻的参数。ROM 18是可重写的存储器,例如闪存ROM等。
RAM 16存储已经存储在ROM 18中的参数。换句话说,存 储在ROM 18中的参数^t读出并且写入(即,导入)到RAM 16中, 并且然后通过读出写入到RAM 16中的参数来执行预定程序。CPU 22 将这些已经从ROM 18读出的参数写入到RAM 16的特定区域中。在 该实施例中,该特定区域称为"第一区域"。对于该第一区域,其起始 地址(物理地址)及其结束地址可以被预先固定地设置在ROM 16内; 或者可选的,它们也可以是可变的。
根据从RAM 16读出的参数,CPU 22从已经从传感器15输并且将它们经由驱动器20发送到机器人CPU 12。驱动器20可以是, 例如RS - 232C驱动器,但是不限于此;其可选地可以是USB、 RS422、 IEEE1394等。CPU 22将传感器输出数据经由驱动器20发送到串行线 上,但是仅仅在作为预定控制阶段的一部分的发送阶段过程中发送该 数据。所述预定控制阶段的剩余阶段被分配为接收阶段,在所述接收 阶段中,CPU22经由串行数据线14接收从机器人CPU 12发送的数据。
图2A和2B为示出了在传感器单元10的CPU 22和机器人 的CPU 12之间进行的串行通信的时间图。图2A为从CPU 22看在数 据发送过程中的时间图,而图2B为从CPU22看在数据接收过程中的时间图。
在图2A中, 一个控制阶段为,例如10msec,并且该控制阶 段被时间分割为发送阶段和接收阶段。CPU 22在该发送阶段将传感器 输出串行地从传感器15发送到机器人CPU 12。在图中,在该发送阶 段从CPU 22发送的数据示出为发送数据100。例如,该发送数据IOO 可以在编码为BASE64之后发送。该BASE64是公知技术,并且是用于发送编码为ASCII文件的二进制数据的变换方法其通过将二进制 数据每6比特进行分割,并且通过将这些分割的每个看作是从0到63 的6比特整数来对应于包括文字字符和其它标识的64个传统ASCII符 号中的一个来完成。通过BASE64编码,数据量增加,有利的方面是 容易读写数据,因为其是常规格式。当然,可以使用其它编码方法或 数据压缩方法。
通过在BASE64编码数据之前或之后附加预定的分离符(分 隔符)来构造发送数据的单个帧。对于分隔符,使用了 "("、"<"和 ")"。"("和"<"用作帧的起始分隔符,而")"用作结束分隔符; 发送数据的单个帧的两个可能的例子如下发送数据的一帧=(BASE64编码数据)发送数据的一帧=< BASE64编码数据)这里,"("为表示在发送数据中包含有命令的分隔符,而"<"为 表示在发送数据中包含有由传感器单元IO检测到的传感器数据的分隔 符。前一个类型帧称为命令类型帧,而后一个类型帧称为测量数据类 型帧。
另一方面,如图2B中所示,除了发送阶段之外的控制阶段 的剩余部分被分配为接收阶段,并且机器人CPU 12在该时刻将数据发 送到串行数据线14。 CPU 22在此时刻接收从机器人CPU 12发送的数 据。在图中,从机器人CPU 12发送的数据被示为接收数据200。当CPU 22在该接收阶段从机器人CPU 12接收数据时,其将该接收数据200 存储在RAM 16中。接收数据200所存储的区域为第二区域,其与第 一区域不同。第二区域的起始地址可以是在第一区域的结束地址之后的下一个地址,或者可以从那里间隔预定数量的存储地址。如果要发 送的数据量大,那么机器人CPU 12将该数据分割为分布在多个控制阶段上的包,并且连续地发送它们。CPU22连续地接收该数据并且将它 存储在RAM 16的第二区域中。当改变从传感器单元IO发送到机器人 CPU 12的数据的类型等时,存储在第二区域中的参数被使用。可变数据长度格式图3示出了用于在传感器单元10和机器人CPU 12之间的数据传 输的数据格式300。其是可变长度数据格式,其中发送的数据的数量可 以通过增加和减少来进行调节。数据格式300包含,顺序地,传送大小段302、命令段304、 传送模式段306、测量数据段308和CRC段310。传送大小段302规定了发送数据的 一帧中的数据总量。该数 据总量可以用例如两个字节来表示。命令段304规定了传送目的地的执行细节。特别地,其规定 了必须由传感器单元IO执行的细节。该命令用一个字节表示。这样的 命令的例子3o下。 "START"命令为用于启动通过传感器单元10测量的命令。 当收到该"START"命令时,CPU22在分配的阶段内将传感器输出从 传感器15发送到机器人CPU 12。 "STOP"命令为用于停止通过传感器单元10的测量的命令。 "GET"命令为用于读取存储在RAM 16的第一区域或第二 区域中的参数的命令。
"SET"命令为用于将新参数写入到RAM 16的第二区域中 的命令,并且,基于该"SET"命令,如上所述,CPU22将从机器人 CPU 12接收到的数据存储到RAM 16的第二区域中,并且能够通过读 取和执行存储在该第二区域中的新参数(更新参数)来改变其属性。 在本发明的该实施例中,发送数据的类型的变化或者发送数据的数量 的变化包含在传感器单元10的属性的变化中。
"WRITE"命令为用于将存储在RAM 16的第二区域中的新 参数写入ROM 18中的命令。据此,即使电源中断之后新参数也被保 留在传感器单元12中。
"RstTim"命令为用于将传感器单元10的计时时间重置到 0的命令。传感器单元10的计时时间将在以后进行描述。
传送模式段306规定了从传感器单元10发送到机器人CPU 12的传感器数据的类型。该传送模式可以用例如6字节来表示。尽管 需要为测量类型帧分配传送模式,但并不需要为命令类型帧分配一个。 传送类型的例子如下最低有效位(LSB):姿态角(侧倾角、俯仰角、横摆角)比特l:角速度比特3:倾斜角比特4:重力补偿之后的加速度 比特5:速度比特6:位置 比特7:姿态矩阵 比特8:姿态矩阵 比特9:姿态矩阵 比特10:姿态矩阵 比特11:未使用 比特12:单元温度 比特13:基一反温度 比特14:诊断 比特15:计时时间当这些比特中的任一个为"1"时,对应它的数据被作为测量数据 发送。例如,当比特0(LSB)为'T,时,来自传感器15的姿态角数 据被作为测量数据发送。
测量数据段308为由传送模式规定的传感器15的输出中的 传感器输出。例如,可能是姿态角、角速度、温度、时间戳、计时时 间、单元名等。这些传感器数据中的每个具有固定数据格式。换句话 说,姿态角、角速度、加速度、温度等是浮点型数据,而时间戳和计 时时间是整型数据,单元名是字符型数据。
CRC段310规定了 CRC ( Cyclic Redundancy Check)数据。 CRC是公知技术,其中作为测试对象的发送数据块被认为是二进制数据,通过例如产生二进制数据的多项式等式的计算等式来处理所述块, 来产生固定比特数(16比特或32比特)的测试数据,这样生成的此用 于测试的数据附加在实际数据之后被发送,并且,在接收方,利用相 同的多项式等式来处理来测试有无错误。
在此方式中,因为数据量由在发送数据格式的头部的传送大 小段302规定,并且要发送的传感器数据的类型和要发送的顺序由传 送模式段306规定,因而即使数据的长度改变,也可以以准确的方式 在接收方接收各种传感器数据。而且,由于特定的分隔符附加在帧头 和帧尾,接收方可以简单地和容易地确定数据接收的开始和结束,而 不用关心数据的长度。另外,当机器人CPU12 (或用户)要求传感器 单元改变数据的类型或格式时,即使由于实时处理导致发送帧的发送 被延迟,该变化的细节在所述发送帧中在从传感器单元10到机器人 CPU 12中被反映出来,因为涉及数据类型等的信息写入到数据格式 300中,机器人CPU 12也可以执行输入,而不关心帧被延迟的实情。
在下面将描述一个示例,在该示例中,要从机器人CPU 12 发送到传感器单元10的用于改变传感器输出的命令被输出,并且传感 器单元根据该命令改变传感器输出,并且从传感器单元IO发送到机器 人CPU 12的数据的长度改变。
假定在传感器15的输出中,传感器单元10的CPU 22在发 送阶段过程中发送姿态角、角速度和加速度。在图3的数据格式300 中,机器人CPU12在命令段304中设置"SET"命令,然后设置数据 量(在设置位置中)和设置参数(setting parameters ),并且在图2的接 收阶段将它们发送到传感器单元10。传感器单元10的CPU 22解释该 "SET"命令,并且将设置在测量数据段308中的参数存储到RAM 16的第二区域中。已经存储在RAM 16的第一区域中的参数是传送模式 的各种比特值,并且因为这是全部的姿态角、角速度和加速度被发送 的模式,所以第二比特、第一比特和最低有效位设定为"111"。另一 方面,从机器人CPU 12接收到的并且存储在RAM 16的第二区域中的 新参数为"100"。这是加速度被输出,而角速度和姿态角没有被输出 的模式。将这些参数存储在RAM 16的第二区域中之后,根据这样被 存储在第二区域中的参数,CPU 22将传感器输出以图3的数据格式300 从传感器15发送到机器人CPU 12。并且,在解释完"SET"命令并且 将新参数存储在RAM 16的第二区域中之后,CPU22转换到新参数并 且从下一个发送时刻发送数据。如果CPU 22不能在计算程序的执行过 程中分配任务,或者在通过RS - 232C等的通信过程中没有剩余时间, 那么转换到新参数从下一个发送帧反映出来。以此方式,传送模式段 306的传送模式从"111"转换到"100",并且包含在测量数据段308 中的传感器输出也从(加速度、角速度和姿态角)转换到(加速度)。 间隔符"<,,附加在帧头,间隔符")"附加在帧尾。因为角速度和姿 态角从测试数据中去除,所以数据的长度变短,从而一帧中数据量也 变少。数据的总量由传送大小段302在其头中设置。
机器人CPU 12通过检测数据的头间隔符和尾间隔符来确定 从传感器单元IO接收到的数据的一帧,从帧的传送大小段302确定接 收到的帧中的数据量,从传送模式段306确定只有加速度被发送,并 且获得设置在测量数据段308中的加速度。机器人CPU 12根据接收到 的该加速度执行机器人的姿态的反馈控制。由于发送的数据量少(即, 数据的长度变短),因而可以增强通信速度。
在图4A和4B中,示出了在参数变化之前的数据格式(在 图4A中)和在参数变化之后的数据格式(在图4B中)。示意性地示 出了测量数据段308表示的数据长度变短的情况。「00431通过时间戳的时间管理另一方面,当将传感器输出从传感器单元IO发送到机器人CPU 12 时,有时会发生数据丢失的数据"跳跃"。如果控制阶段分为Tl、 T2 和T3,那么在这些阶段期间,传感器单元10不中断地发送数据,有时 可能会发生,当机器人CPU 12在阶段T1和T3中接收数据时,而另 一方面阶段T2中的数据丟失。当该类型的数据丢失发生时,机器人 CPU 12需要可靠地检测到数据丟失的发生以执行丟失处理。如果不能 检测这样的数据丢失,那么基于在该错误期间的传感器输出,会错误 地执行姿态控制;然而,在另一方面,如果可以;险测这样的数据丟失, 那么可以通过执行用于丢失数据的辅助处理来保持姿态控制。
因此,在本发明的该实施例中,除了如上所述的可变长度数 据格式,"时间戳"数据和"计时时间"数据还被附加到测量数据段308 上。该"时间戳"数据在周期性时刻,或在任何需要的时刻被附加到 从机器人CPU 12发送到传感器单元IO的数据上。用于附加所述时间 戳的时刻由用户来设定。机器人CPU12结合内部计时器,并且当发送 数据时,将表示参考瞬时时刻的数据作为时间戳发送到传感器单元10。
传感器单元10的CPU 22也结合内部计时器,并且在将传感 器15的传感器输出发送到机器人CPU 12时,将包含在来自机器人CPU 12的数据中的时间戳发送到机器人CPU12,换句话说,即表示参考瞬 时时刻的数据,以及由计时器计时的已过时间。每当CPU22从机器人CPU 12接收到时间戳时,其进行更新并且将时间戳存储到RAM 16中。 而且,当电源打开时,或者当从机器人CPU12接收到"RtTim"命令 时,CPU22的计时器重置。因此,经过时间给出了从电源打开时的经 过时间,或者接收到"RtTim"命令时的经过时间。通过使时间戳随着 机器人CPU12发送"RtTim"命令而发送,可以确保计时时间示出了 由时间戳示出的瞬时时刻的经过时间,因而从所述两项信息,即,时 间戳和计时时间,机器人CPU 12可以精确地;险测到与从传感器单元 10接收到的数据有关的时间信息。
图5示意性地示出了数据结构300中的测量数据段部分。"时 间戳"308a包含在从机器人CPU 12发送到传感器单元10的数据中, 并且为载有参考瞬时时刻的数据,在所述参考瞬时时刻机器人CPU 12 执行测量例如,其可以是12:01:15等。并且"计时时间,,308b为载 有从传感器单元10执行测量开始时的经过时间;例如,其可能是 00:00:12,通过检测附加在从传感器单元10接收到的数据上的时间戳 308a和计时器308b,才几器人CPU 12可以识别^M专感器单元10接收到 的数据的时刻。"时间戳"308a也可被称为附加在"计时时间"308b 上的时间标签。如图6中所示,假定机器人CPU 12从传感器单元10 顺序接收到的帧1、 2和3的时间戳和计时时间如下<接收到的帧1>时间戳12:01:15计时时间00:00:12<接收到的帧2>时间戳12:01:15计时时间00:00:14 <接收到的帧3> 时间戳12:01:15 计时时间00:00:18从接收到的帧2的计时时间和接收到的帧3的计时时间之间差, 机器人CPU 12可以检测接收到的帧2和接收到的帧3之间的数据丢失 了。
图7A和7B示意性地示出了传感器单元IO和机器人CPU 12 之间的时间管理,换句话说,通过时间数据的发送和接收来进行时间 管理。首先,在图7A中,机器人CPU12在瞬时时刻tl发送时间戳。 传感器单元10的CPU22接收该时间戳,并且将该载有瞬时时刻tl的 时间戳存储在RAM 16中。如果"RsTim"命令与所述时间戳一同接收, 那么计时器被该命令重置到0,并且从该时间戳的瞬时时刻tl重新执 行计时。如图7B中所示,CPU22将瞬时时刻tl的时间戳和通过计时 器测量的计时时间At附加在来自传感器15的传感器输出上,然后将它 们发送到机器人CPU 12。机器人CPU 12能够识别收到数据的瞬时时 刻为tl+At。因而,即使例如通信需要一些时间,使得在从传感器单 元10到机器人CPU 12的传输中发生时间延迟,由于机器人CPU 12 可以识别所接收到的帧的瞬时时刻,即传感器单元10的测量时间,其 可以进行实时处理。而且,如果数据被连续接收的有效瞬时时刻分别 为tl + At、 tl+2.At和tl + 3.At,那么可以检测到数据已经被无丟失地 接收。另一方面,如果数据被连续接收的有效瞬时间分别为tl + At、 tl+ 2.At和tl + 4.At,那么,因为数据是在预定的阶段从传感器单元10 无中断地发送,可以检测到在tl + 3.At的数据项丟失。
尽管在该实施例中,不仅可以在机器人CPU 12中还可以在 传感器单元10中设置专用计时器,并且对于被该内部计时器测量的、 当发送来自传感器单元10的数据时要被附加和传输的当前瞬时时刻, 需要传感器单元10中的计时器和机器人CPU 12中的计时器彼此精确 地一致。因为在该实施例中,当前瞬时时刻不是由传感器单元IO测量, 而是只有时间间隔和时间戳一起被测量和发送,因此不需要考虑两个 计时器的同步问题。
如上所述,根据本发明的实施例,可以通过如下来提供流畅 的姿态控制(1)以预定的间隔将数据从传感器单元10无中断地发送到机器 人CPU 12;元10发送到机器人CPU 12,并且使得机器人CPU 12可以可靠地接收 并读取任何类型的数据,即使其是在任何时刻发送的;及(3 )当数据从传感器单元10发送到机器人CPU 12时,设置要被 传感器单元10附加的并且被发送到机器人CPU 12的测量时间数据, 使得两个计时器之间的同步或误差问题不会发生,并且机器人CPU 12 可以准确地确定这是多少数据。
尽管在该实施例中,传感器单元IO将载有时间戳和计时时 间的数据以可变常数数据格式300发送到机器人CPU 12, 也可以将 此应用到任何需要的数据格式,包括固定长度数据格式。
而且,尽管在所述实施例中,通过示例的方式示出了机器人CPU 12和传感器单元IO之间的一对一通信,本发明并不限于此。将 大量的器件连^^到例如USB、 IEEE1394、 Ethernet (注册商标)等的通 信线也是可接受的。具体来说,当前有多个类型的传感器或致动器, 此外还有大量的机器人CPU 12,它们全部连接在通讯网络上。对于此 多对多系统,为了确保其实时性能,不仅通讯速度足够高是不够的, 而且对于该系统来说,能够在它的数据单元中执行数据的解码也是非 常重要的,并且在数据中包括用于执行瞬时时刻补偿的必要的瞬时时 刻信息也是非常重要的。换句话说,在通讯网络中,通信速度快的高 级别器件,通信速度慢的低级别器件,以及尽管是高级別而且具有高 通信速度、但数据量极大、以致需要相当大的时间进行通信的器件或 类似器件混合在一起,并且由于它们之间的通信是随机执行的,所以 对于所有这些器件来说不可能实时地精确地运行,并且实际上需要在 充分的时间宽度内匹配它们的时刻。在实际中,该充分的时间宽度取 决于系统,但是通常来说其大约是lms到100ms。因此,在实际中, 为了确保实时控制,设置自解码能力和瞬时时刻计算功能变得关键。 应理解为,尽管需要标识自身或者基于命令所来自的器件,这可以通 过头部分来管理。而且,如上所述,尽管在该示例中使用了 BASE64, 因为BASE64是常用格式,其还有一个有利的方面是多个器件的每一 个可以通过读取数据大小和头,甚至是不读取内容(测量数据),以简 单和容易的方式确定这是否是其自身所需要的数据。
下面更具体地说明将机器人CPU 12和传感器单元IO连接到 网络的例子。应理解为,假定对于这些中的每个,附加有相互标识在的符号(处理器名称或处理器编号等)的符号,并且这些符号被包含 在发送数据中。「Q0531当网络中有多个传感器时因为在来自传感器的数据中,包含有标识传感器的符号,因而机 器人CPU能够从多个传感器中识别特定的传感器。而且,机器人CPU 能够利用该标识传感器的符号将命令发送到特定的传感器。「00541当网络中有多个CPU时因为在来自传感器的数据中,包含有标识多个CPU的特定的CPU 的符号,因而机器人的多个CPU能够从多个CPU中识别使用该传感 器的数据的特定的CPU。而且,因为来自机器人的多个CPU的特定的 CPU包含了在其发送的数据中标识其自身的符号,因而可以在识别特 定的CPU的同时将命令发送给传感器。「00551当网络中有多个传感器和多个CPU时因为在来自传感器的数据中,包含有标识传感器的符号和标识CPU的符号,因而机器人的多个CPU和多个传感器能够互相识别传感 器和CPU的组合。而且,因为在机器人的多个CPU中的特定的CPU 执行包含有标识传感器的符号和标识CPU的符号的数据传输,因而可 以在识别特定的CPU的同时将命令发送给传感器。「00561当网络中有多个传感器和多个CPU时的时间戳和计时时间计时时间以积分方式由每一个传感器固有的计时器来计算。对于时间戳,每一个CPU具有其自己的固有的时间戳和传感器,并且通过 传感器的预定组合,传感器和CPU共享共有的时间戳。据此,由多个传感器识别和管理的瞬时时刻被同步,而且即使没有维持该同步也可 以实时地控制机器人。传感器可以以简单的计时器(时钟计时器等) 来操作,所以可以以低成本来实现这些功能。
在此方法下,可以同步多个CPU的瞬时时刻,并且即使没 有维持该同步也可以实时地控制机器人。据此,使得CPU更紧凑并且 可以以低成本来实现。而且,因为即使扩展系统或者插入额外的器件, 也不需要同步所增加的CPU或传感器的瞬时时刻,因此系统的增减简 单并且容易。 一般地,同步多个传感器或CPU的瞬时时刻并且保持它 们的同步是困难的,并且这使得系统尺寸增大、成本增加、以及操作 延迟。因为通常,在筒单的时钟计时器中,计时由例如石英晶体震荡 器的低级时钟执行,因此难于精确地匹配多个传感器和多个CPU的时 钟周期和时钟时刻,所以实际中不可能同步多个传感器和多个CPU的 瞬时时刻。因为机器人的实时控制等所需要的是确定用于预定的CPU 和预定的传感器的同步的瞬时时刻,因此通过具有固有的共有时间戳, 可以实现相等的行为来进行瞬时时刻的同步。而且,通过以预定长度 的周期来更新时间戳,可以消除由于通过例如石英晶体震荡器的时钟 进行的计时导致的积分误差,并且因此在实际中长期的瞬时时刻管理 变得可能。因此,对于具有共有的时间戳的多个CPU,可以筒单地并 且容易地实现它们相互的瞬时时刻的等同匹配。
权利要求
1、一种机器人控制系统,包括用于机器人的主处理器以及将传感器输出发送到所述主处理器的传感器单元,其特征在于,在所述主传感器和所述传感器单元之间,数据以可变长度数据格式发送和接收;所述可变长度数据格式包括传送大小段、命令段、传送模式段和数据段;所述传送大小段规定了传送的数据量;所述命令段规定了传送目的地的细节;及所述传送模式段规定了要被传送的数据的类型和序列。
2、 根据权利要求1所述的机器人控制系统,其中所述主处理器将参数设定为所述传送模式,以减小要被传送的数 据的类型数,并且将所述参数发送到所述传感器单元;及传送大小和所述传送模式,并且将类型数减少的数据发送到所述主处理器。
3、 根据权利要求1所述的机器人控制系统,其中载有由所述主处理器计时的瞬时时刻的数据包含在从所述处理器 发送到所述传感器单元的数据中;及所述载有瞬时时刻的数据,和载有由所述传感器单元计时的经过 时间的数据包含在从所述传感器单元发送到所述主处理器的数据中。
4、 根据权利要求3所述的机器人控制系统,其中所述经过时间由 每一个传感器所固有的计时器累加得到。
5、 根据权利要求1所述的机器人控制系统,其中在作为预定控制阶段的一部分的发送阶段过程中,所述传感器单元将数据发送到所述 主处理器,并且在所述预定控制阶段的剩余阶段过程中,所述传感器 单元从所述主处理器接收数据。
6、 根据权利要求1所述的机器人控制系统,其中所述传感器输出 包括姿态角、角速度、加速度、温度、时间戳、计时时间和单元名中 的至少一个。
7、 根据权利要求1所述的机器人控制系统,其中所述传感器输出 包括标识传感器的符号和标识CPU的符号中的至少一个。
全文摘要
本发明涉及机器人控制系统。利用串行数据线(14)在传感器单元(10)和机器人CPU(12)之间进行通信。可变长度数据格式包括传送大小段、命令段、传送模式段、测量数据段和CRC段;并且,随着增加和减小所述测量数据段中的数据的类型数,由传送类型段规定该数据的类型。通过减小所述数据的类型数,所述数据的长度被缩短,因而确保了通信速度。此外,通过发送来自所述机器人CPU(12)的时间戳数据,以及通过发送来自所述传感器单元(10)的时间戳+计时时间数据,所述传感器单元(10)的测量次数精确地被所述机器人CPU(12)控制。
文档编号B25J9/00GK101232977SQ200680027933
公开日2008年7月30日 申请日期2006年8月1日 优先权日2005年8月1日
发明者杉原久义, 藤吉基弘, 野野村裕 申请人:丰田自动车株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1