CN101095104B - 终端数据格式和使用该终端数据格式的通信控制***及方法 - Google Patents

终端数据格式和使用该终端数据格式的通信控制***及方法 Download PDF

Info

Publication number
CN101095104B
CN101095104B CN2005800454037A CN200580045403A CN101095104B CN 101095104 B CN101095104 B CN 101095104B CN 2005800454037 A CN2005800454037 A CN 2005800454037A CN 200580045403 A CN200580045403 A CN 200580045403A CN 101095104 B CN101095104 B CN 101095104B
Authority
CN
China
Prior art keywords
robot
server
message
urc
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2005800454037A
Other languages
English (en)
Other versions
CN101095104A (zh
Inventor
朴宰奭
沈贤植
金惠正
姜宝贤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority claimed from PCT/KR2005/004589 external-priority patent/WO2006071062A1/en
Publication of CN101095104A publication Critical patent/CN101095104A/zh
Application granted granted Critical
Publication of CN101095104B publication Critical patent/CN101095104B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Manipulator (AREA)
  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)

Abstract

提供一种能够有效地控制在基于URC(无处不在的机器人伙伴)的基础架构中的各种基于网络的机器人的终端数据格式、使用该终端数据格式的通信控制***及其方法。所述数据格式包括:协议鉴别标志字段,包括关于协议标识符(ID)的信息以便允许在机器人、服务器和客户端之间的接口连接;会话ID字段,用于标识当前连接的会话;概要ID字段,用于标识由所述机器人、所述服务器和所述客户端中的任何一个执行的概要;MSG类型字段,包括关于在所述机器人、所述服务器和所述客户端之间收发的消息的类型的信息;以及有效负载字段,用于根据在MSG类型字段中定义的数据和在所述概要ID字段中包括的概要信息来执行相应功能的服务。

Description

终端数据格式和使用该终端数据格式的通信控制***及方法
技术领域
本发明一般涉及一种终端数据格式、使用该终端数据格式的通信控制***及其方法,具体而言,本发明涉及一种能够在基于URC(无处不在的机器人伙伴)的基础架构中有效地控制各种基于网络的机器人、并且使得基于服务扩展的开发有用的终端数据格式、使用该终端数据格式的通信控制***及其方法。
背景技术
通常,机器人装备有各种传感器,并且通过基于可识别指令(如语音或写入指令)来运行程序而可以执行用户所命令的任务。因而,根据分配给机器人的任务,机器人已逐渐发展成类人机器人,诸如清洁机器人、玩偶机器人等。而且,每一机器人已发展成能同时执行多种功能的程度。
此外,这样的机器人已发展成通过与人通信而提供各种服务。对于这种通信,许多组织和研究机构已提出通过使用因特网、开放网络来建立机器人接口的方法和体系结构。近来建议的一种间接代理的(proxy-mediated)人机接口(HRI)的体系结构包括通过因特网、利用间接代理的人机接口的在用户接口代理(IA)和嵌入代理(EA)之间的通信。
图1图解了在传统间接代理人机接口的体系结构中的网络连接。参照图1,受托代理(proxy agent)减少了用于与接口相关的任务的、IA的通信负荷和EA计算的资源百分比。而且,受托代理动态地产生或取消在IA和EA之间的链接,并且异步发送上流数据(upstream data)。
在图1中,使用RoboML,所述RoboML是用于机器人的标记语言,即修改的XML。XML由于适用性、便利性和兼容性而被用于代理通信和信息表达,其中适用性体现在XML可由公知语言来表达以编写程序,便利性体现在用户可以容易地处理或操作XML,兼容性体现在XML可用于其它平台中的应用程序。
代理通信语言包括AOP(面向代理的编程)、Telescript、KQML(知识查询操作语言)、FIPA(智能物理代理基金会)等等,其中,利用所述AOP,代理可被编程以进行通信和发展,所述Telescript定义在网络上的软件应用之间的事务的环境。
机器人语言包括TCA(任务控制体系结构)、PRS(过程推理***)、GOLOG等,其中所述TCA组合任务级别的控制和通信,并且在处理器之间传送消息以实现并行性。所述PRS基于过程推理专家***的原理,所述GOLOG是基于逻辑的行为语言,其被开发来对移动的导航、操作、感知和交互等进行编程。
因此,编程的机器人语言可以通过使用可被接口的传输协议来传达用户命令以便远程控制机器人。可以通过框架定义任意机器人的结构和行为,所述机器人可以用于通过使用现有通信协议来进行机器人数据通信。
然而,由于机器人制造商自定义用于机器人的传输协议,所以难以将该协议应用于其它机器人。结果,几乎不可能在机器人和服务器之间进行交互工作。
而且,现有的用于机器人的传输协议不能统一地应用于多种机器人。因此,所述传输协议显示出低通用性、以及由于缺乏兼容性导致的低开发可能性。
发明内容
技术问题
因此,本发明的一个目的是提供在机器人、URC服务器和远程客户端之间的通信协议以使得基于URC的各种机器人可以通过基于URC的基础架构向用户提供智能的、主动的、和适合于状态的服务,以及提供能够利用这样的通信协议平滑地控制机器人的通信控制***和方法。
本发明的另一目的是提供一种通信控制***及方法,其中,服务提供者(或远程客户端)利用所述通信协议在远程位置控制机器人,由此提高了在开发服务中的灵活性。
技术方案
根据本发明的一个方面,提供一种数据格式,用于在终端和服务器之间传输数据,所述数据格式包括:协议鉴别标志字段,用于允许在所述终端和所述服务器之间的接口连接;会话ID字段,用于设置ID以标识所述终端;数据方向字段,用于设置在所述终端和所述服务器之间传输数据的方向;数据类型字段,用于代表性地定义所述数据的格式和内容中的至少一个;服务ID字段,用于确定是否使用要由所述终端和所述服务器中的至少一个执行的消息服务,并且用于设置ID以标识所述确定;以及有效负载字段,用于设置在所述数据类型字段中定义的数据和在所述服务ID字段中确定的可用服务,分配消息以使得所述终端和所述服务器可以使用该服务。
根据本发明的另一方面,提供一种使用终端的数据格式的通信控制***。所述通信控制***包括:终端,用于根据所述数据格式的有效负载内容来执行视频、音频和运动的至少一种服务;和服务器,用于识别通过终端的用户命令以根据相应协议向终端发送和从终端接收所述数据格式,并且控制以利用所述数据格式执行服务。
仍根据本发明的另一方面,提供一种利用相应协议在至少一个终端和服务器之间传输终端数据格式的方法,所述方法包括步骤:根据验证过程,利用所述终端数据格式确认在所述终端和服务器之间的验证;在验证之后利用所述数据格式来分配会话ID以便标识所述至少一个终端的每一个;向被分配所述会话ID的相应终端输入用户的语音命令;向所述服务器发送具有语音数据的所述数据格式的有效负载消息;和分析所述有效负载消息以便回叫所述服务ID;和执行操作的相应终端根据所述服务ID向所述服务器发送作为所述分组的有效负载消息的所述结果。
仍根据本发明的另一方面,提供一种用于终端的数据格式,其中所述数据格式在机器人、服务器和客户端之间收发以便控制所述机器人,所述数据格式包括:协议鉴别标志字段,包含关于协议标识符的信息以便允许在所述机器人、所述服务器和所述客户端之间的接口连接;会话ID字段,包括用于标识当前连接的会话的唯一信息(ID);概要ID字段,包括用于标识由所述机器人、所述服务器和所述客户端中的任何一个执行的概要的信息;MSG类型字段,包括关于在所述机器人、所述服务器和所述客户端之间收发的消息的类型的信息;以及有效负载字段,包括用于根据在MSG类型字段中定义的数据和在所述概要ID字段中包括的概要信息来执行相应功能的服务的消息。
仍根据本发明的另一方面,提供一种通信控制***,包括:机器人,用于根据先前设置的数据格式的有效负载内容来执行视频、音频和运动服务中的至少一个;服务器,用于识别通过机器人的用户的命令,根据相应协议收发关于机器人的数据格式,并且利用所述数据格式对执行服务进行控制;和客户端,用于在远程位置通过服务器执行对机器人的服务的远程控制和监视。
仍根据本发明的另一方面,提供一种在通信控制***中,使用至少一个远程客户端来控制至少一个机器人的方法,所述通信控制***具有客户端、机器人,以及在所述客户端和所述机器人之间提供接口的服务器,所述方法包括步骤:所述远程客户端提供到所述服务器的连接以便执行远程控制的服务,以及监视所述机器人的任何一个;请求验证和关于连接到服务器的机器人的列表的信息;服务器执行对所述客户端的验证,向所述客户端发送与所述服务器连接的机器人的列表信息;所述客户端利用从所述服务器发送的机器人列表信息来选择要控制的机器人;向所述服务器发送相应信息;所述服务器在由所述客户端选择的机器人和所述客户端之间设置接口以便收发用于所述机器人的远程控制的消息以及监视服务。
附图说明
当结合附图思考时,通过下面的详细描述,本发明的更全面的理解和许多伴随的优点将是显而易见的,在所述附图中,相似的参考符号指代相同或类似的单元,其中:
图1图解了根据现有技术的、在机器人和用户主机之间接口连接以便控制所述机器人的网络;
图2图解了根据本发明的、用于控制机器人的URC协议的物理体系结构;
图3图解了根据本发明实施例的、通过URC协议在机器人和URC服务器之间收发以用于控制机器人的分组的报头格式;
图4是图解根据本发明的、根据在机器人和URC服务器之间收发的消息的消息类型变型的图;
图5图解了根据本发明一个实施例的、利用URC协议的机器人控制***的网络连接;
图6图解了根据本发明的、在机器人控制***中为服务收发的消息的序列,其中,当机器人和客户端连接到URC服务器时,所述URC服务器可以向所述机器人和所述客户端提供所述服务;
图7图解了根据本发明的、在机器人控制方法中在机器人和URC服务器之间的、用于机器人的语音识别服务的消息序列;
图8图解了根据本发明的、在机器人控制方法中在机器人和URC服务器之间收发的、用于图像识别服务和运动检测(跟踪)服务的消息序列;
图9图解了根据本发明的、在机器人控制方法中在机器人和URC服务器之间收发的、用于机器人的验证的消息序列;
图10图解了根据本发明的、在机器人控制方法中在远程机器人和服务器之间收发的、用于机器人的远程监视的验证消息的序列;
图11图解了根据本发明的、在机器人控制方法中在机器人和URC服务器之间收发以便控制机器人的消息的类型;
图12图解了根据本发明的、在机器人控制方法中在远程客户端和URC服务器之间收发以便在远程客户端上通过URC服务器控制机器人的消息的类型;
图13是图解根据本发明一个实施例的机器人控制***的连接的示意图;
图14图解了根据本发明一个实施例的、在机器人、URC服务器和客户端之间收发的消息的公共报头的格式;
图15图解了根据本发明一个实施例的、在机器人、客户端和URC服务器之间的URC协议概要体系结构;
图16图解了根据本发明一个实施例的、在通信控制***中,当在机器人上产生事件时的ACK操作;
图17图解了根据本发明的、在通信控制***中,检查在URC机器人和URC服务器之间的连接的方法;和
图18图解了根据本发明一个实施例的、被收发以在客户端远程控制机器人的消息的序列。
具体实施方式
下文中,将参照附图详细说明根据本发明的终端数据格式、使用该终端数据格式的通信控制***及其方法。
图2图解了根据本发明的用于控制机器人的基于TCP/IP的URC协议的物理层体系结构。如在图2中所图解的,基于以太网,URC协议属于在TCP/IP层、网络和传输层之上的应用层,确认服务器是否被验证使用终端(即基于TCP/IP的客户端和机器人),并因而使用期望的服务命令来控制服务器以便使得机器人能够执行被确认客户端的期望操作。这里,诸如简单邮件传输协议(SMTP)、域名***(DNS)等的其它协议与本发明的技术概念没有关系,并因而省略对它们的说明。
基于嵌入式网络、用于有效地管理和操作机器人的URC协议使得可以在URC服务器和机器人以及在URC服务器和客户端或其它终端之间容易地交互工作,并且也可以简单地执行各种服务操作。URC协议还使得可以通过基于TCP/IP的应用层之间的通信、在机器人和URC服务器之间以及在URC服务器和客户端之间收发数据来在客户端控制机器人,并且也可以通过使得用户直接经由机器人输入命令来平滑地执行机器人的服务操作。
可以通过在机器人和URC服务器之间以及在URC服务器和客户端之间的协议匹配、接口同步和数据收发来平滑地执行用户期望的服务。所收发的数据具有用于在机器人和URC服务器之间以及在URC服务器和客户端之间进行接口连接的数据格式。
虽然该数据格式具有用于在机器人、URC服务器和URC客户端之间的通信的预定规则,但是因为其遵循通常的分组规则,所以其在后面的说明中被称为分组。
图3图解了根据本发明的、通过用于控制机器人的URC协议在机器人和URC服务器之间收发的分组的报头格式。更具体而言,根据有效负载,具有如图3所图解的格式的分组被分成用于视频、音频、VoIP、运动等的分组。相应的端口发送这些分组。所述分组具有用于这些端口的公共报头。
分组的公共报头具有多个字段,即协议鉴别标志41、协议版本42、会话ID 43、数据方向44、数据类型45、服务ID 46、有效负载长度47、保留项48和有效负载49。这里,有效负载49包含2个字节的有效负载报头,并且具有由客户端类型、客户端ID、用户ID、消息类型和验证码组成的内部字段。
协议鉴别标志41被分配2个字节,其是用于指明消息数据是在协议中定义的消息的第一字段值。只有当输入数据具有相同的协议鉴别标志(即相同的第一字段值)时,才能在接口连接被授权之后处理该数据。然而,如果接口连接没有被授权,则数据被丢弃,而不是对其进行处理。例如,协议鉴别标志具有0x7E7E的格式。
协议版本42被分配2个字节,其代表协议的版本。协议版本42初始设置为0x0001(版本1.0),每当协议被更新时,该协议版本增加1。
会话ID 43被分配4个字节,并且由被初始设置为0x00000000的会话编号形成。在完成对用户的验证之后,服务器自动向机器人分配会话ID 43,并且该会话ID 43用于分别地将机器人与其它终端(例如用户终端和PDA)区分和标识开来。例如,存在使用一个端口或几个端口的方法。当使用一个端口时,使用该端口来将该机器人与其他机器人标识开。然而,当使用几个端口时,这些端口用于标识各个端口,以及将该机器人与其他机器人区分开。
在下面说明中,会话ID 43将被描述成为使用一个端口标识机器人。
数据方向44是被分配一个字节的字段,其标识数据的最终目的地。更具体而言,数据方向44用于确定数据是从机器人发送到URC服务器,还是从客户端发送到URC服务器。因此,数据方向44用于标识哪一个实体发送数据。例如,当在数据方向44字段中出现0x01时,这表示该数据从机器人发送到URC服务器。
数据类型45,其被分配一个字节,具有根据数据的格式和内容的不同类型。例如,该不同类型可以包括:表示用于语音识别的数据的ASR(自动语音识别)、表示用于语音输出的数据的TTS(文本到语音)、表示用于面部识别和运动检测的数据的FR(面部识别)/MD(运动检测)、表示用于授权的数据的Authorization(授权)、用于机器人控制的数据、用于PDA的数据、用于VoIP的数据等。根据数据类型45的数据格式,可以从不同的端口传送所述数据。
服务ID 46,其被分配2个字节,是由URC服务器分配以便标识机器人和远程客户端的服务会话的ID。服务ID 46用于确定是否可以使用有效负载服务,以及用于标识该确定结果。存在根据服务ID字段的值的多种服务,其被划分成无人操纵安全保护服务、远程监视服务、语音识别服务和视频识别服务。服务ID初始从0x0000开始,并且然后每当服务启动时增加1。
有效负载长度47具有2个字节,指示除报头之外的有效负载的实际尺寸(以字节为单位)。
保留项48是具有4个字节的未使用的额外字段,其没有被用做附加字段项,以确保将来的分组的QoS(服务质量)。
有效负载49是包含对应于每一服务的API(应用程序接口)的附加字段以及实际的视频和音频数据的部分。在定义了公共报头之后需要额外地区分发送到端口的消息。发送具有如在数据类型45中定义的类型数据的有效负载,所述数据类型诸如作为用于语音识别的数据的ASR、作为用于语音输出(组合)的数据的TTS、作为用于面部识别和运动检测的数据的FR/MD、作为用于授权的数据的Authorization、用于机器人控制的数据、用于PDA的数据、用于VoIP的数据等。
虽然未示出,但是有效负载49可以被划分成多个消息,所述多个消息表示作为用于语音识别的数据的ASR、作为用于语音输出(组合)的数据的TTS、作为用于面部识别和运动检测的数据的FR/MD、作为用于授权的数据的Authorization、用于机器人控制的数据、用于PDA的数据、和用于VoIP的数据。因此,有效负载49额外地包括用于客户端类型、客户端ID、用户ID、验证码、和消息类型的字段。
客户端类型被分配1个字节,表示终端的类型。例如,机器人或远程客户终端分别由0x01、0x02、0x03和0x04表示。也就是说,如果根据由数据方向44指示的数据发送方向,客户终端是源或是目的地,则客户端类型指示客户终端。
客户端ID被分配4个字节,用于通过向客户终端分配唯一ID来标识客户终端。为了分配该ID,组合产生顺序、用户的区域、用户的ID等来产生合适的ID。
用户ID被分配1个字节,表示由URC服务器识别的ID。用户ID初始设置为000000,然后每当用户的数量增加时增加1。要注册的ID在由URC服务器验证之后被分配给用户。在多个用户的情况下,除了一个用户作为主设备之外,其余作为从设备。
验证码是包括机器人的验证消息的验证数的字段,在消息报头部分的消息类型字段不指示验证消息时具有缺省值。当消息报头部分的消息类型字段指示验证消息时,用户提前输入提供给个体的验证密钥,并且仅当验证被确认时才可以提供服务。
消息类型被分配2个字节,用于根据是否发送数据,或是否执行连接初始化、响应、同步、验证等而在机器人和客户端和URC服务器之间进行过程区分。
图4是图解根据本发明的在机器人和URC服务器之间收发的消息类型中的变型的图。参照图4,当根据消息类型在过程之间进行区分时,存在请求消息50、确认响应消息51、出错确认响应消息52、同步消息53、验证消息54、肯定验证消息55、否定验证消息56、数据消息57和结束报告消息58。
如图4中所图解,请求消息50是在机器人尝试连接URC服务器时发送给该URC服务器的消息。确认响应消息51是当机器人发送请求消息50以请求连接并因而成功地与URC服务器连接时从URC服务器向机器人发送的消息。出错确认响应消息52是当机器人未成功地与URC服务器连接时从URC服务器向机器人发送的消息。同步消息53是用于在完成URC服务器和机器人之间的连接之后检查在URC服务器和机器人之间的连接是否被连续地维持的消息。验证消息54用于当从URC服务器接收到指示与机器人的网络连接正常的消息(确认响应消息52)时向URC服务器请求对机器人的验证。
肯定验证消息55是当URC服务器成功对机器人进行了验证时发送给机器人的消息。否定验证消息56是当URC服务器未成功验证机器人时发送给机器人的消息。数据消息57是在视频、音频、TTS、VoIP中使用的的消息,当传送通常的数据时其控制以相应格式的数据传输。结束报告消息58是当用户向机器人发出终止与URC的连接的命令时从机器人向URC服务器发送的断开消息。
有效负载消息被划分成用于视频的有效负载消息、用于音频的有效负载消息、和用于运动的有效负载消息。用于视频的有效负载消息字段包括文件编号部分、尺寸指示部分和实际二进制数据部分。文件编号部分由1字节的客户端类型、4字节的客户端ID和3字节的文件产生顺序组成。尺寸指示部分由4字节组成,指示实际视频的尺寸。所述数据部分是实际数据。
用于音频的有效负载消息字段具有与用于视频的有效负载消息字段相同的形式。因此,用于音频的有效负载消息字段包括文件编号部分、尺寸指示部分和实际二进制数据部分。文件编号部分由1字节的客户端类型、4字节的客户端ID和3字节的文件产生顺序组成。尺寸指示部分由4字节组成,指示实际语音的尺寸。所述数据部分是实际数据。
例如,如果用于视频和音频的有效负载消息字段具有文件编号0x01(客户端类型)000000001(客户端ID)000009(文件产生顺序),则这意味着第九次从第一机器人产生音频和视频数据。如果在报头的数据方向的值是0x01,则表示要从机器人的摄像头和麦克风向服务器发送音频和视频数据。如果数据方向的值是0x02,则表示要在相反方向上发送音频和视频数据。
用于运动的有效负载消息字段包括根据控制命令类型(即机器人运动、机器人状态控制、机器人状态报告、机器人出错状态和摄像头控制)的五种命令类型。如果命令类型是机器人运动,则分配总共123个字节,即用于机器人的X轴移动距离的4个字节、用于机器人的Y轴移动距离的4个字节、用于机器人的位置角度的2个字节和用于摄像头角度的2个字节。距离和角度分别以毫米和度为单位。
如果命令类型是机器人状态控制,则分配总共56个字节,即指示是否对机器人状态进行报告的1个字节和用于报告的周期的4个字节。
如果命令类型是机器人状态报告,则分配总共156个字节,即用于与使用关于机器人运动的信息的机器人的当前位置有关的信息的12个字节,用于与机器人的当前状态有关的信息的2个字节,以及指示是否完成动作的1个字节。这里,当前状态是无人操纵安全保护设置状态、机器人运动状态、监视状态、机器人异常状态、标识确认状态和报警状态中的一个。
如果命令类型是机器人出错状态,则分配总共3个字节,并具有机器人自己确定该机器人是否异常的结果。该结果以“无故障”、“机器人运动单元故障”、“由于障碍导致运动受限”和“电池不足”的消息给出。
如果命令类型是摄像头控制,则分配总共23个字节,即用于与视频数据传输开始等相关的命令状态的1个字节,和用于视频数据传输的1个字节。
下面将对根据本发明的使用上述数据格式的机器人控制***进行描述。
图5图解了使用根据本发明的数据格式的机器人控制***的网络连接。如图5中所图解,机器人控制***包括客户端10、URC服务器20和机器人30。客户端10和URC服务器20、URC服务器20和机器人30通过基于TCP/IP的网络(例如以太网)彼此连接,发送和接收分组以执行根据语音识别数据、图像识别数据和用于运动的控制数据的操作。
当用户通过网络传送控制分组以便经由客户端10操作机器人30时,URC服务器20解析所接收分组的有效负载。当用户的命令是语音或键盘命令时,URC服务器20控制机器人30以执行对应于所述命令的服务。
其后,机器人30完成该服务,并向URC服务器20提供对应于该服务的分组。URC服务器20解析从机器人30接收的服务完成分组,并通过网络向请求服务的客户端10提供对应于所述解析的结果消息。
因此,客户端10显示从URC服务器20接收的结果消息以便使得用户可以执行监视。
当用户以语音向机器人30输入服务命令时,机器人30将用户输入的语音输入信号转换成TCP/IP分组,并且将该转换的TCP/IP分组发送给URC服务器20。URC服务器20解析从机器人30接收的分组的音频数据,并识别由用户请求的服务。URC服务器20将具有音频数据的分组转换成用于运动控制命令的分组,并将该转换的分组通过网络发送给机器人30。机器人30执行与从URC服务器20接收的分组的有效负载对应的服务。当机器人30向URC服务器20发送对该服务的响应时,URC服务器20将所发送响应的结果生成为语音分组,并将该语音分组发送给机器人30。因此,用户可以通过从机器人30输出的语音消息来确认结果。
图6图解URC服务器可以向机器人和客户端提供的服务、以及在根据本发明的机器人控制***中机器人和客户端连接到URC服务器时收发用于服务的基本消息的过程。再次,分组包括多个不同字段,即协议鉴别标志41、协议版本42、会话ID 43、数据方向44、数据类型45、服务ID 46、有效负载长度47、保留项48和有效负载49。特别的,有效负载49字段具有内部字段:客户端类型、客户端ID、用户ID、验证码、和消息类型。
如图6中所示,机器人30和客户端10两者仅当它们在URC服务器20上被授权时,才可以执行由用户请求的服务。首先,针对在分组的有效负载的内部字段当中的验证码和消息类型来设置用于验证的数据,并根据代码和消息的每一个来执行验证处理。
更具体而言,最初不验证机器人30,因而它向URC服务器20发送用于验证的连接请求消息。从机器人30发送到URC服务器20的消息具有验证数,其被缺省设置为验证码。而且,有效负载的消息类型具有请求消息以便尝试互连,并且对于除请求消息之外的其他字段设置根据初始连接的数据。
接收连接请求消息的URC服务器20确认有效负载的消息类型是请求消息,并向机器人30发送响应消息(确认响应消息),其指示连接是成功的。当连接不成功时,URC服务器20向机器人30发送具有出错确认响应消息的分组。当所收发消息的有效负载的消息类型指示同步消息时,在URC服务器20和机器人30之间连续地执行网络连接。
URC服务器20确定网络正常,并向机器人30发送确认响应消息。接收到确认响应消息的机器人30识别出连接是成功的,并且向URC服务器20发送验证消息,其通过所接收消息的有效负载的消息类型指示验证请求。
其后,URC服务器20根据机器人30的验证请求执行对机器人30的验证。当验证成功时,URC服务器20向机器人30发送指示验证成功的肯定验证消息。所发送的消息包括关于机器人30的验证数的信息,并因而向机器人30分配验证数。如果机器人30的验证由于内部或外部因素造成的故障而结束,则URC服务器20向机器人30发送指示验证失败的否定验证消息。
因此,在确认在URC服务器20和机器人30之间的验证是否成功之后,可以通过在URC服务器20和机器人30之间收发任意的服务请求分组来执行用户期望的对于视频、音频、运动等的服务。
客户端10的验证过程和机器人30的上述验证过程相同。因此,不再描述客户端10的验证过程。而且,假定通过与机器人30的验证过程相同的过程来完成客户端10的验证。
当完成对机器人30和客户端10的验证过程时,URC服务器20向会话ID字段分配ID,以便在至少一个客户端10和URC服务器20之间以及在URC服务器20和至少一个机器人30之间进行区分,并且然后向机器人30和客户端10发送分组。相应的机器人30和客户端10通过利用由URC服务器20分配的会话ID,以期望服务请求消息或用于控制机器人30的控制请求消息向URC服务器20发出请求。URC服务器20根据所接收的服务请求消息执行相应的服务,或根据所接收的控制请求消息来控制机器人30。
更具体而言,机器人30向URC服务器20发送包括用户的语音命令的相应音频数据的分组。URC服务器20解析所接收分组的语音命令,从数据库(DB)中提取对应于语音命令的相应服务ID,并且向机器人30分配相应的服务ID。也就是说,相应于分组的会话ID,向机器人30发送服务ID。
被分配服务ID的相应机器人30执行对应于服务ID的服务(即无人操纵安全保护、远程监视、语音识别、视频识别和运动控制中的一个),同时向URC服务器20发送该对应服务的指定运行模式的分组。机器人30向URC服务器20发送执行结果的分组。服务ID可以设立可由机器人30执行的多个其他服务。
例如,服务ID的功能如下。
在终止对终端(机器人和客户端)的验证之后,当用户以语音请求通过机器人30的特定服务(例如无人操纵安全保护),URC服务器20通过解析过程将所接收的音频数据识别为特定服务呼叫,并确定机器人30是否具有使用该服务的权限。结果,当相应机器人30被给予使用相应服务的权限时,URC服务器20向被呼叫的机器人30分配会话ID。被分配服务ID的机器人30在使用该服务时使用所分配的服务ID。
当机器人30使用所分配的服务ID向URC服务器20发送分组以便请求任意服务时,URC服务器20解析从机器人30发送的分组的报头部分的服务ID,驱动用于执行相应服务的应用程序,并执行相应的服务。
由于客户端10不是象机器人30那样的移动物体,所以它被分配对应于用于远程监视的服务的服务ID。其后,客户端10通过发送针对服务ID的分组来接收机器人30的操作状态、监视图像、音频数据等,并执行监视。
更具体而言,客户端10简单地监视机器人30的状态等,而不是通过URC服务器20与机器人30通信来控制机器人30。在这种情况下,URC服务器20还通过与机器人30的分组通信来获得相应信息以便向客户端10提供关于机器人30的状态的信息(例如,包括关于机器人状态的图像信息、语音信息等的监视信息)。
为了获得如上所述的对应于服务ID的服务,在URC服务器20和机器人30之间收发分组的有效负载消息的实施例被分类成语音识别的实施例、图像识别的实施例、验证的实施例、运动控制的实施例、控制客户终端的实施例等等。将参照附图详细描述在URC服务器20和客户端30之间的用于所述服务的消息流。
图7图解了在根据本发明的机器人控制方法中的、在机器人和URC服务器之间的用于机器人的语音识别服务(诸如ASR(自动语音识别)和TTS(文本到语音))的消息序列。如图7中所图解的,在步骤S101,机器人30向URC服务器20发送消息ASR_SVC_RECG_WLST以便识别用户输入的语音命令。ASR_SVC_RECG_WLST消息包括用户语音的词汇列表,这是识别语音命令所需的。在步骤S 102,URC服务器20根据从机器人30接收的ASR_SVC_RECG_WLST消息向机器人30发送其中包括语音识别词汇表的文件名称的消息ASR_SVC_RECG_FLST。在步骤S103,机器人30向URC服务器20发送包括语音识别数据的消息ASR_SVC_RECG_PROC,然后在步骤S104,URC服务器20分析从机器人30接收的所述语音识别数据,并且向机器人30发送包括所识别出的词汇表和音调(score)信息的消息ASR_SVC_RECG_PROC_RESULT。
在步骤S 105,机器人30使用消息TTS_SVC_TEXT_BUFF请求URC服务器20合成文本,并且在步骤S106,URC服务器20根据合成文本的结果向机器人30发送消息TTS_SVC_TEXT_BUFF_RESULT。
在步骤S107,机器人30向URC服务器20发送TTS_SVC_TEXT_FILE,以便根据从URC服务器20接收的文本合成结果消息来请求具有指定文件名称的文本。
在步骤S108,URC服务器20发送包括根据机器人30的TTS_SVC_TEXT_FILE  消息合成的语音文件的消息TTS_SVC_TEXT_FILE_RESULT到URC服务器20,并且在步骤S109,机器人30通过使用消息TTS_SVC_TEXT_STREAM请求利用语音合成发送到URC服务器20的文本。
因此,在步骤S 110,URC  服务器20使用消息TTS_SVC_TEXT_STREAM_RESULT向机器人30发送机器人30请求的利用文本合成的音频数据和ID。
在步骤S 111,机器人30利用消息TTS_SVC_NAME_BUFF请求URC服务器20合成个人的名称,并且在步骤S112,URC服务器20通过有效负载消息TTS_SVC_NAME_BUFF_RESULT向机器人30发送所合成的个人名称的数据。
图8图解了在根据本发明的机器人控制方法中的、在机器人和URC服务器之间收发的、用于图像识别服务和运动检测(跟踪)服务的消息的序列。参照图8,在步骤S201,机器人30利用消息HCI_VISION_InitServer向URC服务器20发送其会话ID(即机器人ID)。在步骤S202,URC服务器20通过利用消息(HCI_VISION_InitServer_RESULT消息),根据从机器人30接收的机器人ID的HCI_VISION_InitServer消息向机器人30发送关于下述确定结果的信息:确定是否给出关于利用相应机器人ID的服务是否是可能的权限。在步骤S203,机器人30通过利用消息HCI_VISION_FRCONF向URC服务器20发送关于在执行面部注册模式之前是否可以根据所注册的用户ID来注册用户的面部的信息。
在步骤S204,URC  服务器20通过利用消息HCI_VISION_FRCONF_PROC向机器人30请求当根据机器人30的用户ID可以注册面部时要注册的面部图像。在步骤S205,机器人30利用消息HCI_VISION_FRMODE,向URC服务器20发送为根据URC服务器20请求的面部识别而拾取的面部图像,并且向URC服务器20注册所述面部图像。在步骤S206,URC服务器20向机器人30发送消息HCI_VISION_FR_PROC,通知面部图像被注册。
在步骤S207,机器人30通过使用消息HCI_VISION_FI_MODE向URC服务器20发送用于图像识别的实际面部数据。在步骤S208,URC服务器20向机器人30发送包括关于是否可以由从机器人30接收的面部数据来识别出面部的信息的消息HCI_VISION_FI_PROC。
在步骤S209,当机器人30利用消息HCI_VISION_SV_MODE向URC服务器20发送用于无人操纵安全保护的视频数据,在步骤S210,URC服务器20分析从机器人30发送的用于无人操纵安全保护的视频数据,并且根据对于无人操纵安全保护的分析结果向机器人30发送消息HCI_VISION_SV_PROC。因此,完成相应的服务。
图9图解了在根据本发明的机器人控制方法中的、在机器人和URC服务器之间收发的、用于机器人的验证的消息的序列,并且图10图解了在根据本发明的机器人控制方法中的、在远程机器人和服务器之间收发的用于远程监视机器人的验证消息的序列。如图9和10所图解的,当发出初始化连接的请求时发送用于验证的数据,并且验证被分成两类,即用于机器人30的验证,和用于客户端10的验证。
参照图9,对于机器人30的验证,在步骤S301,机器人30向URC服务器20发送包括验证所需的信息的消息AUTH_INITIATE。
在步骤S302,URC服务器20分析从机器人30所发送的验证所需的信息,发送包括关于分析结果的信息(即验证结果信息)的消息AUTH_RESULT,并执行验证以及然后执行其他服务。
参照图10,对于客户端10的验证,在步骤S401,客户端10通过使用消息AUTH_INITIATE发送在向主URC服务器20发出初始化连接的请求时的验证所需的信息,并且在步骤S402,主URC服务器20根据客户端10的验证请求,向客户端10发送包括关于可连接机器人30的列表的信息和关于每一机器人30的当前状态的信息的消息AUTH_ROBOT_LIST。
在步骤S403,客户端10向主URC服务器20发送消息AUTH_SELECTED_ROBOT以便执行由用户从几个机器人30中选择的机器人30的验证。在步骤S404,主URC服务器20向客户端10发送包括关于其它URC服务器21的相应信息的消息AUTH_ROBOT_LOCATION,以便定位由用户所选择的机器人30所连接的URC服务器21。该处理用于获得关于要控制的机器人30连接的URC服务器21的信息,但其可以被省略。
在步骤S405,客户端10向主URC服务器20发送消息AUTH_BYE以便终止与主URC服务器20的连接,由此可以终止与主URC服务器20的连接。在步骤S406,客户端10向URC服务器21发送作为验证请求消息的消息AUTH_RE_INITIATE以便访问由用户选择的机器人30所连接的URC服务器21并且得到期望的服务。因此,在步骤S407,URC服务器21向客户端10发送包括关于验证结果的信息的消息AUTH_RESULT,由此完成验证,以便进行到后面的过程。
图11图解了在根据本发明的机器人控制方法中的、在机器人和URC服务器之间收发以控制机器人的消息的类型。参照图11,从机器人30发送到URC服务器20的消息可以包括:Robot_Movement消息,用于发出对机器人30的运动控制的请求;Robot_Report_Frequency消息,用于决定检查机器人30的状态的周期;Robot_Status_Report消息,用于报告关于机器人30的当前状态的信息;Robot_Error_Status消息,用于检查关于机器人30的错误状态的信息。
从URC服务器20发送到机器人30的消息可以包括:Camera_Control消息,用于控制机器人30的摄像头的运动;Status_InfoReport消息,用于向机器人30通知机器人30或URC服务器20的状态;和Close_InfoReport消息,用于通知终止在机器人30和URC服务器20之间的连接的原因。从机器人30发送到URC服务器20的其他消息可以包括:DBU pdate消息,用于更新
UPC服务器20的数据;BObot_Attri Update消息,用于更新机器人的属性DB,其从机器人30发送到URC服务器20;User Info消息,用于发送用户ID和口令;和Authorization消息,用于验证机器人30。
图12图解了在根据本发明的机器人控制方法中的、远程客户端和URC服务器之间收发以便在远程客户端通过URC服务器来控制机器人的消息的类型。参照图12,URC服务器20发送Map_Version_Req消息,其用于向客户端10请求关于映射版本的信息。
响应于来自URC服务器20的请求,客户端10通过Map_Version_Resp消息向URC服务器20发送其自己的映射版本信息。在这种情况下,URC服务器20比较其自己的映射版本信息和通过Map_Version_Resp消息从客户端10接收的映射版本信息,分析比较结果,并通过Client_For_Image消息向客户端10发送关于映射版本的匹配结果的信息。而且,当映射版本不匹配时,URC服务器20通过Client_For_Image消息向客户端10发送该映射版本信息。
URC服务器20首先通过Client_For_Robot_Status消息通知客户端10机器人的状态。而且,客户端10向URC服务器20发送Client_Sampling_Freq,Client_For_Image  、Client_For_Button_Control  、Client_Map_Control和Client_For_Robot_Camera_Control消息,当控制机器人摄像头向服务器发送和请求终止时,在向URC服务器20请求关于多长时间从URC服务器20接收信息的视频数据的情况下发送上述每一消息。
如上所述,本发明提出了用于适合在机器人、服务器和用户终端(客户端)之间平滑地交互工作,从而使得机器人和客户端能够平滑和方便地利用服务器来监视通过机器人的所期望服务的终端数据格式。
而且,本发明适合于具有在服务中专用的消息格式以便实现该服务。然而,该消息格式具有下述缺点:每次应当建立或增加所述消息格式以便展开所述服务。而且,所增加的消息格式不适合于实现其他的所应用的服务,因此,不可能重用所增加的消息格式。
而且,如图3中所图解的,该消息格式具有服务ID字段,因此,机器人、URC服务器和得到该服务的客户端根据特定服务而被分配该服务ID并利用所分配的服务ID而实现该服务。如此,为了得到特定服务,对于每一服务需要不同的消息格式。
而且,在上面的本发明中,没有提供用于对执行服务进行同步的机制。如果对执行服务的同步不正确,则开始和终止服务的时间点可能变得不准确。也就是说,可能在不正确的时间在URC服务器侧提供了服务,并因此,可能导致机器人的误操作。
而且,没有提供克服可能在机器人和URC服务器之间发生的异常状态的机制。更具体而言,当在网路不稳定的状态下终止了机器人的连接时,URC服务器可能不能检测到这样的状态,因而识别出机器人连续地连接到网络。因此,用户不能识别出网络的不稳定状态,并且URC服务器不能采取正确的步骤,例如,输出出错消息,执行强制终止等。
如此,下面将描述本发明的可替代实施例,其旨在解决如上所述的、在本发明中出现的问题。
图13示意性地图解了根据本发明的另一实施例的机器人控制***的连接。如图13所图解的,多个机器人200通过网络连接到URC服务器100,以及在远程位置,多个客户端300通过网络连接到URC服务器100。机器人200获得语音命令或状态信息(诸如从用户或外部输入的图像),并向URC服务器100发送所获得的信息。
URC服务器100处理从机器人200发送的的语音命令或图像信息以确定用户的意图以便提供智能的且适合于状态的URC服务。
对于URC服务,除了诸如信息传送的服务之外,还可以利用移动性向用户提供有形的服务。
而且,远程客户端300在远程位置可以利用每一机器人200的识别功能和移动性提供多种服务。这些服务由URC服务器100提供,以及在远程位置的服务提供者提供,从而在URC基础架构中可以创建多种商业模式。
遵循URC标准的机器人200可以利用在URC基础架构中提供的多种服务。在URC基础架构中交互工作的许多机器人200可以提供能够使服务提供者得到收益的市场。
URC机器人200和远程客户端300收发消息以便与URC服务器100通信。该消息具有在URC机器人200或远程客户端300和URC服务器100之间的通信协议中使用的格式。
图14图解了根据本发明一个实施例的在机器人、URC服务器和客户端之间收发的消息的公共报头的格式。参照图14,URC协议使用利用TCP/IP的消息来通信,其中消息的单元称为URC消息。为了通信效率,对URC消息的成帧处理采用二进制格式的消息配置。根据使用,URC消息被划分成四种类型,即URC请求、URC响应、URC心跳(heartbeat)和URC事件。所有四种消息类型具有公共报头格式。在URC公共报头消息的报头字段中的数据的类型和意义如下表1所示。
  字段   类型   描述
  区别标志   短整型(short)   URC协议标识符(例如0x7e7e)
  版本   字节   当前工作的URC协议的
  版本(例如0x02)
  会话ID   整型   当前连接的会话的ID
  概要ID   短整型(short)   消息所属的概要的ID(功能ID)
  保留的   保留的字段(2个字节)
  消息类型   字节   消息的类型
  消息长度   无符号整型   除公共报头的尺寸之外的消息的长度
根据其功能和使用,在URC协议中定义的消息被分类成多种概要(profile)。在URC协议中提供的这些概要如图15所示。
图15图解了根据本发明一个实施例的、在机器人、客户端和URC服务器之间的URC协议概要体系结构。参照图15,URC服务器100的概要提供实现智能服务所需的多种功能(诸如语音/图像识别、语音合成等)、以及使得客户端300能够远程控制机器人的接口。因此,例如,URC服务器概要可以包括验证概要、远程接口概要、事件概要、语音识别概要、图像识别概要和运动检测概要。
如图14所示的URC公共机器人概要提供了用于控制机器人200的通用接口。URC服务基于在URC公共机器人概要中提供的功能,可以向用户提供利用机器人的有形服务。因此,例如,URC公共机器人概要可以包括移动概要、导航概要、EPD(结束点检测)概要、声音概要、运动概要和表情概要。
URC公共机器人概要是指下述功能:对于要通过URC基础架构而被提供服务的URC机器人,机器人开发者必须实现所述功能。实现URC公共机器人概要的机器人可被提供相同的服务,而与它们的类型和性能无关。
其后,将描述在本发明中的在机器人、URC服务器和客户端之间的URC通信协议操作机制。
URC通信协议操作机制可以包括URC消息成帧机制、URC消息编码机制、URC验证机制、URC机器人ACK(确认)、和HB(心跳)机制。
在URC消息成帧机制中,URC协议使用关于TCP的消息来通信,其中,消息单元被称为URC消息。为了通信效率,对URC消息的成帧采用二进制格式的消息配置,并且在URC消息中包含的多条信息以UDR(URC协议数据表达)的数据格式来表示。
在URC消息编码机制中,利用“little-endian”格式来编码URC消息,并且其韩文编码使用“KSC-5601”。
在URC验证机制中,可以接入URC基础架构的每个URC机器人和URC客户端通过识别用户和机器人200的验证过程,并且授予它们自己必要的权利。预注册的ROBOT ID标识URC机器人200,并且URC客户端300通过基于用户ID和口令来执行验证而验证它们自己。
在称为事件通知和确认的URC机器人ACK中,当在URC环境中发生诸如语音命令和运动的事件时,URC机器人200必须能够异步地向URC服务器100通知该信息。使用这样的异步事件,URC服务器100感知用户的意图和状态,并且然后产生适合于该意图和状态的充分的服务。
而且,由于由URC机器人200提供的大多数功能需要某种程度的从功能的开始到结束的耗时工作,所以URC服务器100必须以事件的形式通过工作的开始和结束进行确认以便使得URC机器人的功能能够与其他功能同步。URC服务器100通过ACK执行实现服务所需的同步。
在图16中图解了URC机器人ACK操作。如图16所示,由于URC机器人200的每一功能可以由每一部件来定义,每一部件执行其在状态机(例如如图16所示的URC机器人200的组成)中的操作,并且应当向URC服务器100通知在URC机器人200的状态处于转换的时间点的相应事件。
也就是说,由于每一URC机器人200的功能可以由每一部件来定义,URC机器人的每一部件执行其在状态机中的操作,并且必须在状态处于转换的时间点通知相应事件。
在URC协议中,URC机器人200的每一部件的状态被划分成两类,即“IDLE(空闲)”和“ACTIVE(激活)”。当每一状态转换到另一状态时,URC服务器10应当被通知“START(开始)”、“END(结束)”或“STOP(停止)”的事件。因此,URC服务器100根据从URC机器人200发送的事件消息,可以容易地检测到机器人的当前运行状态。
在URC HB机制中,基本上,URC机器人200被驱动和同时连接到URC服务器100。URC机器人200保持连接直到它们停止驱动。因此,对于由在执行服务时的异常网络环境导致的连接断开,重要的是迅速检测到异常状态和采取正确的步骤。为了继续监视在URC服务器100和URC机器人200之间是否保持正常的网络连接,URC协议定义了在URC服务器100和URC机器人200之间的HB(心跳)协议,由此管理由这样的网络环境导致的异常状态。相应地,在图17中图解检测在异常网络环境中的URC机器人200和URC服务器100之间的连接。
图17图解了检查在URC机器人和URC服务器之间的连接的方法。如图17所示,URC服务器100周期地(例如以N秒的间隔)向URC机器人200发送心跳请求消息。每一URC机器人200根据从URC服务器100发送的心跳请求消息而向URC服务器100发送心跳响应消息。因此,URC服务器100可以检查与URC机器人200的网络连接。
尽管发送了心跳请求消息,但是URC服务器100可能在预定时间段内没有接收到心跳响应消息。在这种情况下,URC服务器100确定网络连接异常。然而,当在预定时间段内接收到心跳响应消息时,URC服务器100确定与URC机器人200的连接正常。因此,当确定网络连接异常时,URC服务器100试图与URC机器人200重连接,由此持续地控制URC机器人200。
将参照图18描述使用如上所述的机制和URC协议消息、在远程客户端上通过URC服务器控制机器人的方法。
图18图解了根据本发明一个实施例的、被收发以在客户端上远程控制机器人的消息的序列。参照图18,URC机器人200开始连接至URC服务器100,并且向URC服务器100发送语音命令或状态信息(诸如其获得的当前图像信息)。URC机器人200从URC服务器100接收控制命令,并且执行在URC协议中规定的动作。
远程客户端300在远程位置上连接到URC服务器100,选择其希望控制的URC机器人200,并且从URC机器人200获得必需的信息,或者根据其希望实现的服务的逻辑来控制URC机器人200。
在远程控制和监视服务的情况下,远程客户端300向URC机器人200发出发送图像信息和状态信息的请求,从而它可以检查URC机器人200的图像和状态。而且,远程客户端300可以控制URC机器人200。例如,远程客户端300可以通过机器人控制命令在远程位置移动URC机器人200,或者产生来自URC机器人200的声音。
将参照图18顺序描述在客户端控制或监视机器人的操作流程。参照图18,在步骤S501,远程URC客户端300向URC服务器100发送URC_CLIENT_LOGIN消息以便远程控制URC机器人200或提供对URC机器人200的监视服务,并且连接到URC服务器100。URC客户端300从URC服务器100获得验证。已在前面说明了客户端的验证过程,因此将不再对其进行详细描述。
在步骤S502,在完成验证之后,URC客户端300向URC服务器100发送URC_GET_ROBOT_LIST消息,以便请求关于连接到URC服务器100的URC机器人200的列表的信息。在步骤S503,URC服务器100向URC客户端300发送包括URC客户端300所请求的机器人列表信息的URC_ROBOT_LIST消息。
在步骤S504,URC客户端300根据从URC服务器100发送的机器人列表信息来分配要控制的机器人,并且向URC服务器100发送URC_ALLOCATE_ROBOT消息以便请求关于机器人分配和相应机器人的使用权限的信息。
在步骤S505和S506,当URC服务器100授予对于机器人控制的用户授权时,URC  客户端300向相应的机器人200发送SUBSCRIBE_EVENT_CHANNEL(VISION,SYSTEM,ROBOT,STATUS)消息以便预订每一相应的事件信道,以便它可以监视用于控制或远程监视相应机器人200所需的状态和图像信息。URC服务器100作为到由URC客户端300分配的相应机器人200的、从URC客户端300发送的相应消息的接口。
而且,在步骤S507和S508,在其预定了期望的事件信道之后,URC客户端300通过URC服务器100向相应机器人200发送OPEN_VISION消息和OPEN_STATUS_MONITOR消息以便向相应的机器人200请求状态和图像信息。
在步骤S509到S512,根据URC客户端300的请求,URC机器人200周期地向URC客户端300发送包括其拾取的图像的信息和状态信息的EVENT_NOTIFICATION(VISION,STATUS)消息。
在步骤S513,URC  客户端300向机器人200发送MOVE_ROBOT(FORWARD)消息以便使用从机器人200发送的图像和状态信息来控制机器人200的移动。
在步骤S514和S515,URC机器人200执行由URC客户端300请求的相应运动。在这种情况下,URC机器人200向URC客户端300发送EVENT_NOTIFICATION(MOVE_START)和EVENT_NOTIFICATION(MOVE_END)消息以正确地通知运动的开始和结束,以便URC客户端300容易地检查机器人200的运动状态,从而实现服务同步。
利用上述方法,URC客户端300可以利用从机器人200发送的图像和状态信息来实时地远程控制URC机器人200。
其后,在步骤S516,如果服务终止,即当在URC客户端300上终止对机器人200的远程控制时,则URC客户端300向URC服务器100发送URC_RELEASE_ROBOT消息以便释放对远程控制的机器人200的分配。而且,在步骤S517,URC客户端300向URC服务器100发送URC_CLIENT_LOGOUT消息以便终止到URC服务器100的连接。相应地,终止所有的服务。
如上所述,在本发明中,专用的消息格式被改进为公共概要类型的协议,因此,服务提供者可以通过利用协议层来执行面向服务逻辑的开发。因此,提供公共接口和基础架构,而不增加新消息,从而可以增加更多的便利的服务。而且,通过利用这些概要可以在远程位置提供能够配置服务逻辑的接口,从而提供者可以容易地添加服务。
而且,为了提供服务执行同步,改进了提供的消息原语Request(请求)和Response(响应)的新格式,并增加了Event(事件)消息。更具体而言,利用正在所有机器人上执行的服务相关的事件消息来发送明确的应答,以便减少错误的发生,并且更容易地配置服务逻辑。
而且,增加URC HB消息,并因此检查机器人或服务器的异常状态,从而可以采取由此引起的步骤。这使得可以以更有效率的方式来检查在用户和机器人服务器之间的状态。
基于网络的机器人遵循在本发明中提出的协议,从而通过利用在URC基础架构中提供的多种功能,可以向用户提供智能的和适合于环境的服务。
而且,URC客户端可以利用机器人的传感功能和移动性提供多种服务。这使得可以由URC服务器和在远程位置的服务提供者单独提供服务,以便可以在URC基础架构中创建多种商业模式。
结果,遵循URC协议的机器人可以利用在URC基础架构中提供的各种服务。在URC基础架构中交互工作的多个机器人可以提供对服务提供者产生收益的市场,从而可以有利于推行智能机器人服务。
如上阐述的本发明提出了一种用于使得在机器人、服务器和用户客户端之间可以平滑交互工作、由此有效地确保甚至是在多种机器人和客户端之间的兼容性以促进广泛使用的协议的数据格式。
而且,为了提供对执行服务的同步,增加事件消息。使用正在所有机器人上执行的服务相关的事件消息来发送明确的确认,以便减少错误的发生,并且更容易地配置服务逻辑。
而且,提供克服在URC机器人和URC服务器之间可能发生的异常状态的机制。更具体而言,增加URCHB消息,并因而检查机器人或服务器的异常状态,从而可以容易地采取相应步骤。这使得可以以更有效的方式来检查在用户和机器人服务器之间的状态。
而且,基于网络的机器人遵循在本发明中提出的协议,从而通过利用在URC基础架构中提供的多种功能,可以向用户提供智能的和适合于环境的服务。
而且,URC客户端可以利用机器人的传感功能和移动性提供多种服务。这使得可以由URC服务器和在远程位置的服务提供者单独提供服务,以便可以在URC基础架构中创建多种商业模式。
结果,遵循URC协议的机器人可以利用在URC基础架构中提供的各种服务。在URC基础架构中交互工作的多个机器人可以提供对服务提供者产生收益的市场,从而可以有利于推行智能机器人服务。
虽然已参照本发明的示范性实施例来描述了本发明,但是本领域技术人员应当理解:在不脱离由后面的权利要求所定义的本发明的范围的情况下,可以在形式上和细节上进行各种修改。

Claims (14)

1.一种利用相应协议在至少一个终端和服务器之间传输数据的服务器方法,该服务器基于有线或无线通信与所述至少一个终端通信,所述方法包括步骤:
根据验证过程,利用终端数据格式确认在所述终端和服务器之间的验证;
在该验证之后利用终端数据格式分配用于标识所述至少一个终端的每一个的会话标识ID;
从具有所分配的会话标识ID的终端输入用户的语音命令;
向所述服务器发送具有语音数据的所述终端数据格式的有效负载消息;
分析所述有效负载消息以便识别用户的命令;和
允许相应终端根据识别的用户的命令执行操作。
2.如权利要求1所述的方法,其中该验证过程包括步骤:
所述终端通过顺序执行与所述数据格式的有效负载消息的内部字段对应的消息类型的请求消息、确认响应消息和出错确认响应消息而试图访问所述服务器;和
在进行连接之后,通过顺序执行消息类型的验证消息、肯定验证消息和否定验证消息而根据所述终端的验证请求来分配验证数。
3.如权利要求2所述的方法,其中当所述终端包括多个终端时,所述分配验证数的步骤还包括步骤:
接收所述多个终端的列表;和
利用选择消息向期望的相应终端发送验证请求消息。
4.如权利要求1所述的方法,其中所述终端由至少一个机器人和至少一个客户终端中的至少一个形成。
5.一种用于在服务器和至少一个机器人之间传输数据的数据通信方法,包括:
通过服务器产生具有专门数据格式的数据,所述专门数据格式能够与所述至少一个机器人通信;
通过服务器向所述至少一个机器人传输所述专门数据格式,
其中所述专门数据格式包括:
协议鉴别标志字段,包括关于协议标识符ID的信息以便允许在机器人和服务器之间的接口连接;
会话ID字段,包括用于标识在机器人和服务器之间的当前连接的会话的唯一ID信息;
概要ID字段,包括用于标识由所述机器人和所述服务器执行的概要的信息;
MSG类型字段,包括关于在所述机器人和所述服务器之间收发的消息的类型的信息;以及
有效负载字段,包括用于根据在MSG类型字段中定义的数据和在所述概要ID字段中包括的概要信息来执行相应功能的服务的消息。
6.如权利要求5所述的方法,其中所述服务器的概要包括下述项中的至少一个:
验证概要,用于验证所述机器人;
远程控制概要,用于提供使得所述服务器能够远程控制所述机器人的接口;
事件概要,用于使得所述服务器能够控制所述机器人的事件;
语音识别概要,用于识别从所述机器人接收的语音命令的语音;
语音合成概要,用于合成语音识别数据和文本数据;
图像识别概要,用于识别从所述机器人发送的图像信息;和
运动检测概要,用于检测所述机器人的运动。
7.如权利要求5所述的方法,其中所述机器人的概要包括下述项中的至少一个:
用于机器人位置移动的移动概要;
导航概要;
语音命令的语音检测概要;
用于输出数据到从所述服务器提供的语音合成的声音概要;
用于控制所述机器人的运动的运动概要;和
表情概要,用于执行机器人的表情表达功能。
8.如权利要求7所述的方法,其中,所述机器人的概要还包括:事件提供概要,用于当从所述服务器接收到机器人的运动控制消息以及所述机器人的每一部件的运动状态处于转换之中时,向所述服务器提供关于运动转换事件的信息。
9.如权利要求8所述的方法,其中,所述运动转换事件将所述机器人的每一部件的运动状态分成IDLE和ACTIVE状态,并且当所述机器人状态中的一个向另一个转换时划分START和END事件,其中IDLE和ACTIVE状态即是指空闲和激活状态,并且START和END事件即是指开始和结束事件。
10.如权利要求6所述的方法,其中所述服务器的概要还包括用于周期地发送心跳请求消息以便检测机器人的网络连接状态的心跳请求概要。
11.如权利要求7所述的方法,其中所述机器人的概要还包括根据从服务器周期发送的心跳请求消息而向服务器发送心跳响应消息以便检测机器人的网络连接状态的心跳响应概要。
12.一种在通信控制***中,使用至少一个远程客户端来控制至少一个机器人的方法,所述通信控制***具有所述至少一个远程客户端、所述至少一个机器人,以及在所述至少一个远程客户端和所述至少一个机器人之间提供接口的服务器,所述方法包括步骤:
所述至少一个远程客户端提供到所述服务器的连接以便执行远程控制的服务;
监视所述至少一个机器人的任何一个;
请求验证和关于连接到服务器的至少一个机器人的列表信息;
服务器执行对所述至少一个远程客户端的验证,向所述至少一个远程客户端发送与所述服务器连接的至少一个机器人的列表信息;
所述至少一个远程客户端利用从所述服务器发送的机器人列表信息来选择要控制的至少一个机器人;
向所述服务器发送相应信息;
所述服务器在所述至少一个远程客户端和由所述至少一个远程客户端选择的机器人之间设置接口以便收发所述机器人远程控制的消息;和
监视服务,
其中在机器人、服务器和客户端之间预先设置的用于发送它们中的信息的数据格式包括:
协议鉴别标志字段,包括关于协议标识符ID的信息以便允许在机器人、服务器和客户端之间的接口连接;
会话ID字段,包括用于标识当前连接的会话的唯一信息;
概要ID字段,包括用于标识由所述机器人、所述服务器和所述客户端中的任何一个执行的概要以及由其他装置执行的其他概要的信息;
MSG类型字段,包括关于在所述机器人、所述服务器和所述客户端之间收发的消息的类型的信息;以及
有效负载字段,包括用于根据在MSG类型字段中定义的数据和在所述概要ID字段中包括的概要信息来执行相应功能的服务的消息。
13.如权利要求12所述的方法,其中当在由所述至少一个客户端选择的至少一个机器人和所述至少一个远程客户端之间设置接口时,所述方法还包括步骤:
所述至少一个远程客户端预订用于通过服务器控制机器人的多种服务信道;
所述至少一个远程客户端在预定信道之后,通过所述服务器向机器人请求关于由所述机器人拾取的图像的信息和关于机器人的状态的信息;
发送根据从所述机器人周期发送的图像信息和状态信息来控制机器人的任意功能的控制消息;
所述机器人根据通过所述服务器从所述至少一个远程客户端发送的控制消息来执行相应功能;
通过所述服务器向所述客户端发送关于相应功能的开始时间点和结束时间点的事件的信息;
当完成机器人远程控制和监视服务时,所述至少一个远程客户端向所述服务器发送用于请求终止与所述机器人的连接的消息,和
退出与所述机器人的连接。
14.如权利要求13所述的方法,还包括步骤:
服务器周期地向机器人发送心跳请求消息以便检查所述机器人的网络连接状态;
根据从所述服务器发送的心跳请求消息,所述机器人发送心跳响应消息;以及
向所述服务器通知关于网络连接状态的信息。
CN2005800454037A 2004-12-30 2005-12-27 终端数据格式和使用该终端数据格式的通信控制***及方法 Expired - Fee Related CN101095104B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
KR20040116792 2004-12-30
KR10-2004-0116792 2004-12-30
KR1020040116792 2004-12-30
KR10-2005-0122044 2005-12-12
KR1020050122044A KR100902662B1 (ko) 2004-12-30 2005-12-12 단말용 데이터 포맷을 이용한 통신 제어 시스템 및 그 방법
KR1020050122044 2005-12-12
PCT/KR2005/004589 WO2006071062A1 (en) 2004-12-30 2005-12-27 A terminal data format and a communication control system and method using the terminal data format

Publications (2)

Publication Number Publication Date
CN101095104A CN101095104A (zh) 2007-12-26
CN101095104B true CN101095104B (zh) 2010-12-08

Family

ID=37170868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800454037A Expired - Fee Related CN101095104B (zh) 2004-12-30 2005-12-27 终端数据格式和使用该终端数据格式的通信控制***及方法

Country Status (3)

Country Link
JP (1) JP2008529324A (zh)
KR (1) KR100902662B1 (zh)
CN (1) CN101095104B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214079B2 (en) 2007-03-30 2012-07-03 Sungkyunkwan University Foundation For Corporate Collaboration Central information processing system and method for service robot having layered information structure according to recognition and reasoning level
US20090016251A1 (en) * 2007-07-13 2009-01-15 Gainspan, Inc. Management method and system of low power consuming devices
KR100924088B1 (ko) * 2007-12-28 2009-11-02 모스트아이텍 주식회사 Urc 서버 및 클라이언트 간 통신의 부분 흐름 제어 방법
KR101115529B1 (ko) * 2009-11-17 2012-02-27 (주)이산솔루션 로봇 관리 시스템 및 이를 이용한 로봇 컨트롤 및 모니터링 방법
CN102014122B (zh) * 2010-09-10 2015-04-22 上海复控华龙微***技术有限公司 基于双向安全认证的点对点协议的IP Camera服务***
CN102333071A (zh) * 2011-05-26 2012-01-25 浙江大学 一种工程机械车辆联网通信方法及工程机械车辆联网***
CN103229521B (zh) * 2012-12-26 2017-04-26 华为技术有限公司 远程唤醒方法、装置及***
CN104184776A (zh) * 2013-05-27 2014-12-03 腾讯科技(深圳)有限公司 一种实现即时通讯工具中常用语同步的方法及装置
CN106506674B (zh) * 2016-11-25 2019-07-09 腾讯科技(深圳)有限公司 通信消息同步方法及装置
CN111464573B (zh) * 2019-01-21 2023-07-28 胡俊喜 一种跨通信协议数据转发的网络通讯***、方法及装置
CN110071972A (zh) * 2019-04-19 2019-07-30 国网甘肃省电力公司电力科学研究院 一种识别基于TeamViewer软件远程控制网络通道的方法
CN110275532B (zh) * 2019-06-21 2020-12-15 珠海格力智能装备有限公司 机器人的控制方法及装置、视觉设备的控制方法及装置
KR102593008B1 (ko) * 2019-08-02 2023-10-23 한국전자통신연구원 Opc ua를 이용한 분산형 스마트 팩토리 운영 방법 및 장치
CN111741072B (zh) * 2020-05-27 2021-10-12 清华大学 基于设备虚拟化的低带宽高安全性的数据传输方法
CN113001541B (zh) * 2021-02-20 2021-11-19 周旺平 一种机器人自动化控制方法
CN113608538A (zh) * 2021-08-04 2021-11-05 联想新视界(南昌)人工智能工研院有限公司 一种基于5g边缘计算的水下机器人的控制服务集成方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1553845A (zh) * 2001-11-07 2004-12-08 索尼公司 机器人***和机器人设备的控制方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0155899B1 (ko) * 1995-10-17 1998-12-15 김광호 다중 로봇 제어방법
KR19980059207A (ko) * 1996-12-31 1998-10-07 이우복 로봇 콘트롤러용 통신패킷 발생방법
JP2873222B2 (ja) * 1997-05-12 1999-03-24 川崎重工業株式会社 ロボット情報処理装置
JP4320904B2 (ja) * 2000-03-02 2009-08-26 ソニー株式会社 ゲートウェイおよびデータ通信方法
JP2002328851A (ja) * 2001-04-27 2002-11-15 Sony Corp 制御方法及び伝送装置
JP2003134128A (ja) * 2001-10-23 2003-05-09 Japan Radio Co Ltd 多段伝送ネットワークの構築、修復再構築及び運用方法
KR100452343B1 (ko) * 2001-12-28 2004-10-12 에스케이텔레텍주식회사 기계어 코드 실행영역을 포함하는 이동통신 단말기용 파일을 기록하는 저장매체 및 그를 이용한 파일 실행방법
JP4073771B2 (ja) * 2002-12-04 2008-04-09 日本電信電話株式会社 映像・音声通信サービス提供システム、このシステムにおけるサービス処理方法、及び分散リソース連携による映像・音声通信システム
JP2004318862A (ja) * 2003-03-28 2004-11-11 Sony Corp 情報提供装置及び方法、並びに情報提供システム
JP2004306200A (ja) * 2003-04-08 2004-11-04 Yaskawa Electric Corp ロボット制御システム
KR100552507B1 (ko) * 2003-09-09 2006-02-14 삼성전자주식회사 분산 지능형 홈로봇 제어 시스템
KR100588626B1 (ko) * 2004-06-15 2006-06-14 주식회사 케이티프리텔 유무선 통합 네트워크를 통한 로봇 제어 방법 및 장치
KR100499770B1 (ko) * 2004-12-30 2005-07-07 주식회사 아이오. 테크 네트워크 기반의 로봇 제어 시스템
KR100497310B1 (ko) * 2005-01-10 2005-06-23 주식회사 아이오. 테크 네트워크 기반의 로봇 시스템에서 동작 정보 포함멀티미디어 콘텐츠의 선택 및 재생 방법
KR100594165B1 (ko) * 2005-05-24 2006-06-28 삼성전자주식회사 네트워크 기반 로봇 제어 시스템 및 네트워크 기반 로봇제어 시스템에서 로봇 속도 제어 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1553845A (zh) * 2001-11-07 2004-12-08 索尼公司 机器人***和机器人设备的控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JP特开2004-306200A 2004.11.04
JP特开2004-318862A 2004.11.11

Also Published As

Publication number Publication date
JP2008529324A (ja) 2008-07-31
KR100902662B1 (ko) 2009-06-15
CN101095104A (zh) 2007-12-26
KR20060079092A (ko) 2006-07-05

Similar Documents

Publication Publication Date Title
CN101095104B (zh) 终端数据格式和使用该终端数据格式的通信控制***及方法
US20060149824A1 (en) Terminal data format and a communication control system and method using the terminal data format
CN102209119B (zh) 维持会话连接
CN100407675C (zh) 建立协作通信的方法和***
FI112906B (fi) Menetelmä ja laite kommunikaatioryhmän muodostamiseksi
CN101163143B (zh) 用在tcp/ip通信网络中的轻量级协议
CN101485173A (zh) 远程更新存在服务器上的用户状态
CN103069772A (zh) 通信网络中进行自动发现的方法和装置
KR101646379B1 (ko) 차량의 통신 장치
CN101217504A (zh) 一种共享通信好友的方法及网络通信***
CN101217506B (zh) 一种消息处理方法、***及客户端
US8892149B2 (en) Interoperability and communications system dynamic media proxy based on capability negotiation
CN102742253B (zh) 通信***、通信终端、服务器、通信方法
WO2017181580A1 (zh) 一种智能手表管理手机的方法和***
US10204098B2 (en) Method and system to communicate between devices through natural language using instant messaging applications and interoperable public identifiers
CN108076007A (zh) 一种接口的实现方法、装置和设备
EP1739987B1 (en) Character/data transmitting/receiving system, terminal management apparatus and character/data transmitting/receiving method used therein
CN113411338B (zh) 一种基于状态通道的链上-链下协同的资源交易方法
CN101924768A (zh) 一种分布式rfid中间件的通信控制方法
CN109194731A (zh) 一种基于组态软件的并发实时数据传输接口实现方法
WO2010024778A1 (en) Remote control using instant messaging
CN111416889B (zh) 通过gatt和异常处理来适配的通信方法及***
US20050085189A1 (en) Communications apparatus and method
CN108735278B (zh) 一种适用于康复设备的指令的传输方法及应用
CN100594702C (zh) 通过存在消息收发的服务创建

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101208

Termination date: 20191227