CN1768329A - 信息提供设备、方法和信息提供系统 - Google Patents

信息提供设备、方法和信息提供系统 Download PDF

Info

Publication number
CN1768329A
CN1768329A CN200480008565.9A CN200480008565A CN1768329A CN 1768329 A CN1768329 A CN 1768329A CN 200480008565 A CN200480008565 A CN 200480008565A CN 1768329 A CN1768329 A CN 1768329A
Authority
CN
China
Prior art keywords
robot device
information
program
function
data
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.)
Granted
Application number
CN200480008565.9A
Other languages
English (en)
Other versions
CN100351789C (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN1768329A publication Critical patent/CN1768329A/zh
Application granted granted Critical
Publication of CN100351789C publication Critical patent/CN100351789C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31196SOAP, describes available services and how to call them remotely
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40089Tele-programming, transmit task as a program, plus extra info needed by robot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Manipulator (AREA)

Abstract

机器人设备和服务器根据SOAP协议进行通信。将在来自机器人设备的询问中描述的关于服务请求的信息和关于该机器人设备的信息与诸如数据或程序那样的附加信息进行匹配,使得在存在具有不同硬件配置和平台的多个机器人设备的多平台环境中提供适合于每个机器人设备的数据和程序。

Description

信息提供设备、方法和信息提供系统
技术领域
本发明涉及一种用于通过网络提供数据或程序的装置、方法和系统。更具体地说,本发明涉及一种用于通过网络将数据或程序提供给机器人装置的装置、方法和系统。
更具体地说,本发明涉及一种用于提供信息的方法、装置和系统,其中,将数据或程序提供给硬件架构和平台不同的多个机器人装置,并且更具体地说,本发明涉及一种方法、装置和系统,其中,根据硬件架构和平台(多机器人平台)的差异提供数据或程序。
本申请要求2003年3月28日在日本提交的日本专利申请第2003-092166号的优先权,其整体通过引用而被合并于此。
背景技术
用于使用电或磁操作来对人类的运动进行运动模仿的机械装置称为“机器人”。术语“机器人”的词源据说是斯拉夫语的“ROBOTA”(奴隶机(slavemachine))。在60年代末期,机器人开始被广泛使用。所使用的大多数机器人是旨在使工厂操作自动化或实现无人操纵的工厂操作的工业机器人,例如机械手或运输机器人。
机器人装置的用途之一是获得在工业或生产活动中难以进行的各种操作,例如,获得核电厂或火电厂以及石油化工厂中的维护操作、在制造厂中对组成部件的运输和组装操作、超高层建筑物的清洁或者火灾现场的营救操作。
在机器人装置的其它用途中,存在与生活有关的用途,即,机器人装置的‘共同生活’或‘娱乐’型用途,而不是工作支持型用途。这种机器人装置利用诸如人、狗(宠物)或熊的比较高智能的步行动物的四肢来如实地再现运动机制或丰富的情感表现。另一方面,要求这种机器人装置不仅简单地如实再现预先输入的运动模式,还对诸如‘表扬’、‘责备’或‘轻拍’那样的来自用户或其它机器人装置的话或行为进行逼真的动态响应表现。
最近,机器人制造商将各种类型的移动机器人例如以两条腿或四条腿行走的机器人或有轮胎(tired)的机器人投入了销售。
同时,为了驱动机器人装置,需要多种软件产品(item),例如描述身体单元的运动的运动数据、或者与外部刺激或内部状态相一致地执行动作控制的应用程序。然而,如果在机器人装置中从一开始安装感觉上有必要的全部软件产品,则往往超过了设计存储器容量。另一方面,在发货之后的任意时刻,作为版本改变或新类型产品上市的结果,安装新的软件产品可能变得有必要。
因此,像通过将新软件产品从网络上的服务器下载到机器人装置那样来向机器人装置提供软件产品的这种方案被认为是有必要的。
然而,如果将从网络提供用于机器人装置的服务或内容,则存在这样的不便:因为在制造商之间机器人装置的种类是不同的,并且还因为由同一制造商生产的机器人装置可能在硬件架构或诸如操作系统、中间件产品、应用程序或内容那样的平台上是不同的,所以需要将各种不同的服务或内容提供给多个机器人装置。
发明内容
因此,本发明的一个目的是提供一种用于提供信息的方法、装置和系统,其中,可以最优地将数据或程序提供给硬件架构或平台不同的多个机器人装置。
本发明的另一目的是提供一种用于提供信息的方法、装置和系统,其中,可以在硬件架构或平台不同的多平台环境下最优地提供适合于单独的机器人装置的数据或程序。
鉴于以上目的,本发明提供了一种用于将数据或程序通过网络提供给机器人装置的信息提供装置,包括:内容存储部件,存储了要提供给机器人装置的数据或程序;接收部件,用于从机器人装置接收关于服务请求的询问(inquiry)和关于机器人装置的信息;分析部件,用于分析该询问;以及传送部件,用于将与所请求的服务相匹配的数据或程序传送给机器人装置。
信息提供装置包括多个装置(或用于实现指定功能的功能模块),这些装置或模块被逻辑地组合在一起,然而所述装置或功能模块是否被布置在唯一的外壳内是无关紧要的。
应当注意,该信息提供装置可以包括多个装置(或用于实现指定功能的多个功能模块)的逻辑集合,各个装置或功能模块是否处于唯一的外壳内并不重要。
该信息提供装置可以根据SOAP(简单对象访问协议)来与机器人装置通信。
SOAP(简单对象访问协议)是在XML(所提供的标记语言)或HTTP(超文本传输协议)的基础上形成的、用于调用其它系统上的数据或服务的协议。在采用SOAP的通信中,根据由HTTP例示的协议来交换由XML文档和附加到其(封装(envelop))上的补充信息中的每一个组成的消息。可以在不同的环境之间由被提供有负责生成和解释SOAP的引擎的客户端(client)和服务器二者来调用对象。
根据本发明的信息提供装置还可包括:数据库,用于管理关于存储在内容存储部件中的数据或程序的补充信息;以及用于在所述询问和数据库的补充信息之间进行匹配、准备可提供的数据或程序的列表、并向机器人装置返回该列表的部件。
根据本发明的信息提供装置还可包括这样的部件,其响应于来自机器人装置的、对可提供的数据或程序的列表的选择结果,返回用于访问所选数据或程序的方法。在此情况下,传送部件响应于来自机器人装置的、符合所述访问方法的访问请求而传送所请求的数据或程序。
关于所述数据或程序的补充信息包括关于服务的信息和关于机器人装置的信息。
利用该信息提供装置,通过将来自机器人装置的询问中包括的关于服务请求的信息和关于机器人装置的信息与数据或程序的补充信息相匹配,即使处于存在硬件架构或平台不同的多个机器人装置的多平台环境下,也可以适当地提供适合于单独的机器人装置的数据或程序。
关于机器人装置的信息包括以下信息的至少一部分,
(1)唯一地分配给每个机器人装置的、机器人装置独有的ID;
(2)唯一地分配给机器人装置的每个种类的机器人种类ID;
(3)机器人装置的功能列表;
(4)指明机器人装置的硬件架构的信息;以及
(5)机器人装置所拥有的数据库列表。
当关于机器人装置的信息包括至少机器人装置的功能列表时,根据本发明的信息提供装置还可包括:用于指定机器人装置提供服务所需的功能的部件;以及用于将由功能指定部件指定的所需功能和机器人装置的功能列表相比较、以便在所需功能中指定在该机器人装置中缺乏的功能的部件。传送部件传送用于使用可由该机器人装置使用的功能来代替缺乏的功能的数据或程序。
当关于机器人装置的信息包括至少机器人装置的功能列表时,信息提供装置还可以包括:对象存储部件,用于存储由机器人装置使用的功能对象;用于指定机器人装置提供服务所需的功能的部件;用于将由功能指定部件指定的所需功能和机器人装置的功能列表相比较、以便在所需功能中指定在该机器人装置中缺乏的功能的部件;以及检索部件,用于从对象存储部件中检索与缺乏的功能相匹配的缺乏的功能的对象。传送部件将该缺乏的功能的对象和与所提供的服务相匹配的数据或程序一起传送给机器人装置。
利用此信息提供装置,考虑到在来自机器人装置的询问中包括的关于机器人装置的信息中、关于该机器人装置的功能的信息,传送数据或程序或者缺乏的功能的对象,所述数据或程序用于使用可由该机器人装置使用的功能来替换在机器人装置提供服务所需的功能中、在该机器人装置中缺乏的功能,由此即使处于存在中间件功能不同的多个机器人装置的多平台环境下,也可以为单独的机器人装置提供服务。
考虑到以上目的而实现了根据本发明的信息提供系统,并且其包括机器人装置和前述信息提供装置。
特别是在结合附图阅读时,根据对本发明优选实施例的以下详细解释,本发明的其它目的和详细说明的优点将变得更加清楚。
附图说明
图1示意性地示出本发明第一实施例中的信息提供系统的整体结构。
图2示出可在信息提供系统上操作的机器人装置的功能配置的示例。
图3示出机器人装置的控制单元的详细结构。
图4示意性地示出信息提供系统中的服务器的功能配置。
图5图示服务器将与硬件结构或平台的差异一致的数据或程序分发给作为客户端的机器人装置的方案。
图6是示出协同操作过程的顺序图,其中,机器人装置发送QA表以做出对QA表的请求,并且服务器对其进行响应。
图7是图示选择作为客户端的机器人装置的硬件配置以及适合于该平台的内容的内容管理器的操作顺序的流程图。
图8示意性地示出本发明第二实施例中的信息提供系统的整体结构。
图9是示出协同操作过程的顺序图,其中,机器人装置发出服务请求和功能列表以请求服务,并且服务器对其进行响应。
图10示出机器人装置的软件配置。
图11示出机器人装置的软件的中间件层和应用层。
图12示出从机器人装置2a发送到服务器的功能列表的示例。
图13示出服务器分析从机器人装置发送的功能列表的程序的示例。
图14示出由服务器到机器人装置2a形成的树结构的示例。
图15示出用于实现由机器人装置2a拥有的消息行为模块的动作功能的状态机。
图16示出从机器人装置2b发送到服务器的功能列表的示例。
图17示出由服务器发送到机器人装置2b的数据形成的树结构的示例。
图18示出用于实现由机器人装置2b拥有的用户查找行为模块的动作功能的状态机。
图19示出从机器人装置2c发送到服务器的功能列表的示例。
图20示出用于实现由机器人装置2c拥有的消息行为模块的动作功能的状态机。
具体实施方式
参考附图,将详细解释本发明的优选实施例。
利用本发明实施例的信息提供系统,可以在存在硬件结构或平台不同的多个机器人装置的多平台环境中提供适合于单独的机器人装置的数据或程序。
(第一实施例)
图1示出了本发明第一实施例的信息提供系统的示意结构。
机器人装置能够例如通过进行对话来与用户交互。机器人装置通过线路或无线路径连接到因特网。在图1的实施例中,在系统中有两个用户1a、1b和两个机器人装置,即机器人装置2a、2b。在下面的解释中,如果没有将用户1a和1b彼此区分开的特别必要,则将这些用户每个都表示为用户1,并且如果没有将机器人装置2a和2b彼此区分开的特别必要,则将这些装置每个都表示为机器人装置2。
在因特网上安装了可从机器人装置2访问的服务器100。服务器100管理经由机器人装置2提供给用户的内容。其它常规(routine)站点150连接到因特网,使得用户1能够为了由新闻或天气例示的信息而直接或通过机器人装置访问服务器100。在前一情况中,机器人装置2访问服务器100,以经由此服务器100来详尽地获取站点150的信息。
在所述实施例中,用户1a通过例如对话来与机器人装置2a交互,而用户1b通过例如对话来与机器人装置2交互。机器人装置2a、2b访问服务器100,以便遵照用户1a、1b的请求。注意,在制造商之间,机器人装置2a、2b类型不同。即使制造商相同,机器人装置2a、2b也在硬件架构或平台上不同。
服务器100响应来自机器人装置2a、2b的请求,以便将数据或程序提供给硬件架构或平台不同的机器人装置2a、2b。在所述实施例中,服务器100包括内容存储单元120、接口代理121和内容管理器122。
在内容存储单元120中,存储了各种数据或程序,例如:数据内容,例如神话故事、字典或谜语;应用程序(application),例如舞蹈(dance)或歌曲(song);中间件,例如识别软件;或者用于机器人装置2的动作控制软件。在再现或执行时,这些数据内容和程序可以或可以不依赖于机器人装置2的部件上的硬件结构或执行环境如平台的差异。在本实施例中,在内容存储单元120中存储了适合于各个执行环境的执行环境相关的数据或程序。
接口代理121分析来自用户1的请求,并将分析结果传递给内容管理器122。基于该分析结果,内容管理器122选择符合用户1的请求的数据或程序,所述数据或程序适合于作为请求方的机器人装置2的硬件结构或平台。
同时,可以跨越多个站点而不是在唯一的站点处进行对要提供给机器人装置2的软件产品的分类,并且可以形成网络服务以发送给其它站点,以进行这些站点的合作。
图2示出了可在本实施例的信息提供系统上操作的机器人装置2的功能结构的示例。如该图所示,机器人装置2由负责全部操作和其它数据处理的全面控制的控制单元20、输入/输出单元40、驱动单元50和电源单元60。现在解释这些对应的组件。
输入/输出单元40的输入部分包括:作为输入单元的CCD照相机15、相当于机器人装置2的眼睛;麦克风16,相当于它的耳朵;布置在诸如它的头或背部的位置上的触摸传感器18、或其它各种类型的传感器,相当于它的五官感觉。输入/输出单元40的输出部分包括:扬声器17,相当于机器人装置的嘴;以及LED指示器(眼灯)19,通过闪烁的组合或者通过点亮的定时而形成脸部表情。输出部分的这些组件能够以除了由腿的运动例示的机械运动模式以外的其它形式,即,通过语音或通过灯的闪烁来表示来自机器人装置2的用户反馈。
驱动单元50是用于根据由控制单元20命令的预设运动模式来实现机器人装置2的身体单元的运动的功能块,并且是动作控制的对象。驱动单元50是用于实现机器人装置2的各个关节处的自由度的功能模块,并且是由为各个关节的滚动(roll)、俯仰(pitch)和偏转(yaw)轴提供的多个驱动单元组成的。每个驱动单元由电动机51、编码器52和驱动器53的组合组成,所述电动机51用于实现绕预设轴的旋转,所述编码器52用于检测电动机51的旋转位置,所述驱动器53根据编码器52的输出而自适应地控制电动机51的旋转位置或速度。
机器人装置2的硬件结构由驱动单元的组合方式确定。例如,机器人装置2可被形成为例如以两只脚或四只脚行走的有腿的移动机器人、或者有轮胎的移动机器人。
就像其名称所暗含的那样,电源单元60是用于向机器人装置2中的每个电路提供电力的功能模块。本实施例中的此机器人装置2是电池驱动的自主驱动型装置,并且电源单元60由充电电池61以及用于管理充电电池61的充电/放电状态的充电/放电控制器62组成。
充电电池61被形成为包括封装在盒中的多个锂离子蓄电池的“电池组”。
另一方面,充电/放电控制器62通过测量例如充电电池61的端电压或充电/放电电流的周围温度来掌握充电电池61的剩余容量,以确定充电的开始时间或结束时间。由充电/放电控制器62确定的充电开始时间或充电结束时间的时间被通知给控制单元20,并被用作机器人装置2开始或结束充电操作的触发(trigger)。
控制单元20相当于机器人装置2的大脑,并被装在例如机器人装置2的头部或躯干部分上。
图3更详细地图示了控制单元20的结构。如该图所示,控制单元20包括作为主控制器的CPU(中央处理单元)21,其通过总线连接到包括存储器的各种电路组件以及外围设备。总线28是公共信号传送路径,其包括数据总线、地址总线或控制总线。将固有地址分配给连接到该总线的每个组件。CPU 21能够指定一地址以便与总线28上的指定设备通信。
在CPU 21上,执行由多种诸如内容再现软件或用于通过例如视觉或听觉来识别外部环境的软件那样的应用程序例示的中间件。利用机器人装置2所拥有的硬件结构和操作系统的组合,确定机器人装置2的平台。将执行程序分类为依赖于由所述平台或硬件结构提供的执行环境的类型、以及不依赖于该执行环境的类型。还根据所加载的中间件,将执行程序分类为可在机器人装置2上再现的内容以及不能在其上再现的内容。
RAM(随机存取存储器)22是由易失性存储器例如DRAM(动态RAM)形成的可重写存储器,并用于装载由CPU 21执行的程序代码或临时存储正在执行的程序的工作数据。
ROM(只读存储器)23用于永久存储程序或数据。存储在ROM 23中的程序代码可由在机器人装置2加电时运行的自诊断检测程序、以及用于控制机器人装置2的运动的运动控制程序来例示。
机器人装置2的控制程序可由以下程序例示:‘传感器输入识别处理程序’,用于处理传感器输入,例如来自CCD照相机15或麦克风16的输入,所述CCD照相机15或麦克风16用于将来自外部的刺激识别为符号;‘动作控制程序’,用于在负责(take charge of)诸如短期存储或长期存储的存储操作时,根据传感器输入和预设的动作控制程序来控制机器人装置2的动作;‘驱动控制程序’,用于根据动作控制程序控制各个关节的电动机的驱动、或者来自扬声器17的语音输出;‘交互程序’,用于通过与用户1的对话进行交互;以及‘数据/程序获取程序’,用来通过网络访问服务器100,以获取响应于来自用户1的请求的数据或程序。
非易失性存储器24包括电可擦除可编程存储设备,例如EEPROM(电可擦除可编程ROM),并用于非易失性存储将顺次更新的数据。例如,这些将顺次更新的数据可以由诸如密钥(cipher key)的安全信息、以及要在发货之后安装的设备控制程序来例示。
接口25是用于连接到控制单元20外部的装置以允许与其进行数据交换的设备。当利用驱动单元50中的各个驱动器53-1、…执行数据或命令的输入/输出时,接口25利用例如CCD照相机15、麦克风16或扬声器17执行数据输入/输出。
接口25还可被提供有诸如RS(推荐标准)-232C那样的串行接口、诸如IEEE(电气和电子工程师协会)1284那样的并行接口、USB(通用串行总线)接口、i-Link(IEEE1394)接口、用于接纳PC卡或存储棒(商标)的SCSI(小型计算机系统接口)或存储卡接口(卡槽),以便利用本地互连或连接到因特网的外部装置(服务器)移动程序或数据。
接口25的另一示例是用于与外部装置进行无线通信的红外(IrDA)接口。
控制单元20还可被提供有无线通信接口26和网络接口卡(NIC)27,由此控制单元20可以通过诸如蓝牙的近程无线数据通信、诸如IEEE 802.11b的无线网络或诸如因特网的广域网,与多种外部主计算机进行数据通信。
通过机器人装置2和主计算机之间的上述数据通信,可以使用远程计算机资源来计算对机器人装置2的复杂操作控制,以实现远程控制或者下载执行符合用户1的请求的动作所必需的内容,例如数据或程序。
本实施例的机器人装置2从因特网上的预定网络服务站点以流或其它形式下载运动数据(例如,舞蹈序列)或其它用于发布的内容。为此,机器人装置2的平台具有以下组成要素(element)(a)至(f):
(a)用于连接到网络的无线LAN;
(b)SOAP(简单对象访问协议)/XML模块,用于将信息合并到SOAP封装(envelope)中,或者用于提取所接收的信息。
(c)HTTP模块,用于通过HTTP(超文本传输协议)、采用SOAP进行通信;
(d)软件模块,用于管理该通信;
(e)运动控制模块,用于执行对跳舞的姿势控制;以及
(f)语音输入/输出模块,用于与用户交互。
图4示意性地示出了在本实施例中可作为服务器100操作的主计算机的功能架构。
作为主控制器的CPU 101在操作系统的控制下执行多种应用程序。
在本实施例中,CPU 101能够运行使计算机作为因特网上的HTTP服务器操作的服务器程序、或者例如用于分析来自用户1请求的连接(interfacing)代理的软件程序、或者用于提供符合来自用户1的请求的数据或程序的内容管理器,所述数据或程序适合于作为请求实体的机器人装置2的平台或硬件架构。
如所示出的那样,CPU 101通过总线108与其它装置互连。
主存储器102是用于装载由CPU 101执行的程序代码、或者用于临时存储正在执行的程序的工作数据的存储设备,并且可以例如是半导体存储器,例如DRAM。例如,将用于作为因特网上的HTTP服务器而操作的服务器程序、或者诸如用于分析来自用户1的请求的“接口代理”的软件程序、或者用于提供符合用户1的请求的数据或程序的‘内容管理器’装载到主存储器102上,所述数据或程序适合于作为请求实体的机器人装置2的硬件架构或平台。
ROM(只读存储器)103是用于永久存储数据的半导体存储器。在此ROM中,写入例如启动时的自诊断检测(POST:加电自检)以及用于硬件输入/输出的程序代码(BIOS:基本输入/输出系统)。
显示控制器104是用于实际处理由CPU 101发出的呈现命令的专用控制器。在显示控制器104中处理的呈现数据被临时写入例如未示出的帧缓冲器中,并被输出到显示器111的屏幕。
输入装置接口105是用于将用户输入设备如键盘112或鼠标113连接到服务器100的设备。键盘112或鼠标113起到将用户输入例如数据或命令捕捉到系统的作用。
网络接口106能够根据预定的通信协议如以太网(注册商标),将服务器100连接到局域网(LAN)或广域网如因特网。
在网络上,在透明的条件下连接未示出的多个主计算机和作为客户端的机器人装置2,以形成分布式计算环境。在网络上,可以执行例如用于软件程序或数据内容的分布式服务。例如,可以通过网络下载用于使主计算机作为因特网上的HTTP服务器操作的服务器程序、或者诸如用于提供符合用户1的请求的数据或程序的‘内容管理器’那样的软件程序,其中所述数据或程序适合于作为请求实体的机器人装置2的硬件架构或程序。另一方面,可以通过网络将符合用户1的请求的数据或程序提供给机器人装置2,其中所述数据或程序适合于作为请求实体的机器人装置2的硬件架构或程序。
外部装置接口107用于将诸如硬盘驱动器(HDD)114或介质驱动器115那样的外部装置连接到服务器100。
HDD 114是在其上固定安装了作为存储介质的磁盘的外部存储设备。HDD在存储容量或数据传输速度上胜过其它外部存储设备。在HDD 114上设置处于可执行状态的软件程序称为将该程序‘安装’在系统上。在HDD 114中,通常以非易失状态存储将由CPU 101执行的操作系统的程序代码、应用程序或设备驱动程序。例如,可以将用来允许作为因特网上的HTTP服务器的操作的服务器程序、或者诸如提供符合来自用户1的请求的数据或程序的内容管理器的软件程序安装在HDD 114上,其中所述数据或程序适合于作为请求实体的机器人装置2的平台或硬件架构。
在本实施例中,HDD 114形成内容存储单元120。在内容存储单元120中,存储了各种数据或程序,例如:数据内容,例如神话故事、字典或谜语;应用程序,例如舞蹈或歌曲;中间件,例如识别软件或用于机器人装置2的动作控制软件。这些用于机器人装置2的数据内容和程序被分类为依赖于执行环境的数据内容和程序、以及不依赖于执行环境的数据内容和程序。在内容存储单元120中存储了多种依赖于执行环境的数据内容和程序,其适合于各个执行环境。
介质驱动器115被适配为将便携式介质例如CD(光盘)、MO(磁光盘)、DVD(数字多用途盘)加载到其上,并访问其数据记录表面。
便携式介质主要用于以计算机可读的形式备份主要是软件程序或数据文件、或者用于在不同的系统之间移动(包括销售、传播和分发)这些程序或文件。例如,可以通过使用这些便携式介质而在多个装置之间物理地传播和分发用于作为因特网上的HTTP服务器的操作的服务器程序、或者诸如用于分析来自用户1的请求的‘接口代理’那样的软件程序、或者用于提供符合用户1的请求的数据或程序的‘内容管理器’,其中所述数据或程序适合于作为请求实体的机器人装置2的硬件架构或平台。
为了向机器人装置2提供符合执行环境的服务,服务器100包括以下组成要素(a)至(d):
(a)SOAP/XML模块,用于将信息合并到SOAP封装中,或者用于提取所接收的信息;
(b)HTTP模块,用于通过HTTP、采用SOAP进行通信;
(c)多个内容,例如舞蹈序列;以及
(d)内容列表。
同时,SOAP是用于调用另一系统上的数据或服务的协议,并基于XML或HTTP而形成。在采用SOAP的通信中,通过由HTTP例示的协议来交换包括XML文档和附加在其(封装)上的补充信息的消息。通过具有适配为产生和解释SOAP的引擎的客户端和服务器,可以在不同环境之间调用对象。
现在将解释本发明的信息提供系统中的全部操作。
假设用户1例如通过进行对话来与机器人装置2交互,并且用户1询问机器人装置2关于是否有任何新信息。
为了遵照用户1的请求,机器人装置2在因特网上搜索服务器100。假设此时发送预定格式(如后面所解释的QA表)的请求。也就是说,与用户1进行对话的机器人装置2提取必要的信息,并用该信息填充所述表的相关空白区域,并且将所得到的表传送给服务器100。
在QA风格的表中,包含了用于指定机器人装置2的硬件架构或平台或者当前操作环境的信息。即使机器人装置2处于单机状态,也可以根据在内部保存的或所获取的信息来阐明(formulate)该信息。
服务器17根据从机器人装置2接收的表来制定必要的回答,并将如此制定的回答发送给作为请求方的机器人装置2。机器人装置2读取来自服务器10的回答,并向用户告知存在例如适合于机器人装置2的架构的舞蹈。
当用户通过对话通知机器人装置2该用户希望机器人装置2跳舞时,机器人装置2请求服务器100下载舞蹈数据。服务器100根据来自机器人装置2的请求而开始下载该舞蹈数据。
以这一方式,可以自动选择适合于作为请求方的机器人装置2的硬件结构或平台的新舞蹈数据,并随后向用户1提供舞蹈表演。例如,在具有舞蹈设计的歌曲数据中,适合于机器人装置2的架构的数据,例如供机器人装置2跳舞的舞蹈数据以及可再现的歌曲数据,被选择性地提供给用户。
在这些内容中,存在不是主要由舞蹈运动组成、而是允许机器人装置2为用户1朗读神话故事的内容。通常,当机器人装置2朗读神话故事时,需要作为内容来提供文本数据,同时机器人装置2有必要具有作为中间件的TTS(文本-语音)功能的功能(当输入句子时输出语音波形的功能)。此外,通过使适当的运动与诸如神话故事那样的故事相符合,结果是作为实体的机器人装置2所独有的应用程序。然而,由于在机器人装置之间,所指定的运动即对运动数据的描述不同,因此在描述运动数据时应当如何根据这种差异来提供数据是个问题。
图5示意性地示出了在本实施例的信息提供系统中,服务器100将符合硬件架构或平台的差异的数据或程序发送给作为客户端的机器人装置2的方案。
机器人装置2通过与用户1的交互例如对话来制定QA表。该QA表描述作为分析由机器人装置2请求的服务或内容的线索的信息,并被传送给服务器100。
基于该QA表,服务器100以适合于机器人装置2的形式发送由机器人装置2请求的服务或内容。如果在给出QA表的陈述的内容之后,信息不够,则服务器100返回对提供所述信息的请求或不能满足该请求的原因。
基于这样发送的QA表的内容,服务器100按照所需从数据库的内容中选择数据和软件,并将如此选择的数据和软件发送给机器人装置2。在图5示出的示例中,服务器100保存每个舞蹈数据的作为中间码系统的不依赖于CPU的字节代码、以及作为依赖于CPU的表的二进制代码。基于对QA表的分析结果,服务器判定要在字节代码表和二进制代码表的哪个中发送数据。
图6示出了传送QA表以请求数据或程序的机器人装置2以及对其进行响应的服务器10的协同动作的顺序。
如已经解释的那样,机器人装置2的平台具有以下组成要素(a)至(f):
(a)无线LAN,用于连接到网络;
(b)SOAP/XML模块,用于将信息合并到SOAP封装中、或者用于提取所接收的信息;
(c)HTTP模块,用于通过HTTP、采用SOAP进行通信;
(d)用于播放舞蹈的软件模块;
(e)运动控制模块,用于执行对舞蹈的姿势控制;以及
(f)语音输入/输出模块,用于与用户交互。
另一方面,为了向机器人装置2提供符合执行环境的服务,服务器100包括以下组成要素(a)至(d):
(a)SOAP/XML模块,用于将信息合并到SOAP封装中、或者用于提取所接收的信息;
(b)HTTP模块,用于通过HTTP、采用SOAP进行通信;
(c)多个内容,例如舞蹈序列;以及
(d)内容列表。
机器人装置2将通过与用户1交互而准备的QA表合并到SOAP封装中,并利用HTTP协议向服务器100发出询问(enquiry)。
另一方面,服务器100分析SOAP封装,以取出要素信息,并制定可提供的软件产品列表,使得如此准备的列表与注册软件的适应性信息(adaptiveinformation)相匹配。该列表被合并到SOAP封装中,并作为SOAP回答而被返回给机器人装置2。
当接收到SOAP回答时,机器人装置2对其进行分析以取出要素信息(elementary information)。将这样取出的要素信息与所存储的用户1的私人信息(例如口味和爱好)相匹配,以选择有可能匹配的软件。然后,机器人装置2制定对服务器100的获取请求,并将该请求合并到SOAP封装中,以便将所得到的数据发送到服务器100。
当接收到该请求时,服务器100制定包括所需文件位置的SOAP响应,以便将该SOAP响应返回给机器人装置2。
机器人装置2通过HTTP GET请求向服务器100请求必要的文件。当必要文件就绪时,机器人装置2执行用户1所需的动作,例如跳舞。
在QA表中描述的信息粗略地分为
(1)关于服务请求的信息;和
(2)关于机器人装置的信息。
‘关于服务请求的信息’包括与用户1的交互的内容、此时机器人装置的诸如本能或感情那样的情绪指标(index)、所检测的外壳的温度或湿度、光量、日照量、明亮日照的持续时间和其它外部刺激的指标。
‘关于机器人装置的信息’还可以列举如下:
(2-1)从一个机器人装置到另一个而唯一地分配的、机器人独有的ID;
(2-2)从一个机器人装置到另一个而唯一地分配的机器人种类ID;
(2-3)机器人装置的功能列表;
(2-4)示出机器人装置的硬件架构的信息;以及
(2-5)机器人装置的数据库列表。
‘机器人装置的功能列表’相当于关于中间件架构的信息,例如对于外部刺激的识别软件(脸部或语音识别)以及语音合成软件(TTS)。
‘示出机器人装置的硬件架构的信息’是这样的信息,该信息描述机器人装置2的物理形状(例如人形、四足宠物型、通用(utility)型或轮胎型)、腿的数目(两条或四条腿)、最大运动速度、手指数目、手的运送能力、关于外壳的其它物理性质以及思考(计算)能力的指标。
服务器100使用QA表中包含的上述信息来确定要提供给机器人装置2的内容(数据或程序)。以下关于所述内容的元信息被添加到内容存储单元120中:
(1)对应于服务请求的内容的块;和
(2)关于所述内容或软件对其有效的机器人装置的信息。
‘对应于服务请求的内容的块’是已经将关于服务的信息作为元信息添加到其中的内容。该元信息可列举如下:
(1-1)示出内容的信息
示例)<ContentsType>News</ContentsType>
<ContentsType>DanceMotion</ContentsType>
(1-2)示出数据类型的信息
示例)<DataType>Text</DataType>
<DataType>MIDI<DataType>
(1-3)示出制定日期和时间的信息
示例)<CreateDate>2003/03/23</CreateDate>
(1-3)关于标题的信息
示例)<Title>WeAreSDR</Title>
‘关于机器人装置的信息’可以列举如下:
(2-1)指定相关机器人装置种类的ID;
(2-2)使用所述内容所需的功能列表;和
(2-3)关于该机器人装置的架构的信息。
‘使用所述内容所需的功能列表’可以是在使用和再现所述内容时需要的中间件产品的列表。
‘关于该机器人装置的架构的信息’可以是这样的信息,该信息描述:机器人装置2的物理形状,例如人形、四足宠物型、通用型或轮胎型机器人;腿的数目(两条腿或四条腿);最大运动速度;手指数目;手的运送能力;以及其它关于外壳的物理性质和思考(计算)能力的指标。
服务器100的内容管理器122在从自机器人装置2获得的QA表取出的要素信息和内容存储单元120的元信息之间进行匹配,以选择符合用户1的请求的数据或程序,其中所述数据或程序适合于作为请求方的机器人装置2的平台或硬件架构。在图7的流程图中示出了此时内容管理器122的操作顺序。
首先,在步骤S1,根据服务请求搜索内容存储单元120。在下一步骤S2,如果在被<ContentsType></ContentsType>围住的区域中存在这种与服务请求一致的内容,则将其推入栈中。在下一步骤S3,检查是否检验了全部内容。如果检验了全部内容,则处理转到步骤S4,而如果是其它情况,则处理返回步骤S2,以重复与上述处理相似的处理。
在步骤S4,弹出所推入的内容,并将其与关于机器人装置2的信息进行比较。在步骤S5,在候选列表中登记一致的内容,并丢弃不一致的那些内容。在步骤S6中,检验是否搜索了所有栈,并且当检查了全部栈时,处理完成。如果相反没有检查全部栈,则处理返回步骤S4以重复该处理。
通过上述操作顺序,完成根据QA表搜索的内容列表。
利用上述根据第一实施例的信息提供系统,可以提供适合于单独的机器人装置的数据或程序,以使得即使处于存在硬件架构或平台不同的多个机器人装置的多平台环境下,也能够通过采用所转发的关于机器人装置的信息来执行所述服务。
(第二实施例)
图8示意性地示出了本发明第二实施例的信息提供系统的总体架构。
假设不同家庭中的机器人装置通过例如家庭网关连接到因特网。在图8的实施例中,在系统中存在3个用户1a、1b、1c和3个机器人装置,即机器人装置2a、2b、2c。在以下说明中,如果没有将用户1a、1b和1c彼此区分开的特别必要,则将这些用户每个都表示为用户1,并且如果没有将机器人装置2a至2c彼此区分开的特别必要,则将这些装置每个都表示为机器人装置2。在因特网上,安装了向机器人装置2提供服务的服务器100。
图9示出了机器人装置2和服务器100之间的全部通信。也就是说,机器人装置2向服务器100请求服务。此时,除了关于服务请求的信息以外,机器人装置2还向服务器100发送描述机器人装置2的功能、具体说是机器人装置2自身的功能的功能列表,具体地说,发送描述关于中间件产品的架构的信息的功能列表,以便使服务器100能够选择合适的数据或程序。服务器100响应来自机器人装置2的请求,以便将合适的数据或程序发送给机器人装置2。这些数据或程序是Java或Python的解释器语言或字节代码、或者简单的命令。在本实施例中,假设将HTTP以及其上的SOAP用作因特网协议。
在本实施例中,假设服务是这样的,即机器人装置2向用户发出询问,并且如果来自用户1的回答是肯定的,则将消息A传送给用户1,而如果该回答是否定的,则将消息B传送给用户1。假设在执行该服务时需要脸部识别和语音识别的功能、以及合成语音的功能(TTS功能)作为机器人装置2的功能。同时,在服务器100中从一开始将各个服务和执行这些服务所需的功能相关联。
现在假设上述机器人装置2a具有前述3个功能,即脸部识别的功能、语音识别的功能和TTS功能。还假设机器人装置2b仅具有语音识别的功能,而不具有剩余的两个功能。还假设机器人装置2c仅具有脸部识别的功能,而不具有剩余的两个功能。因此,如果将相同的数据或程序发送到机器人装置2a、2b和2c,则不能在没有提供服务执行所需的部分或全部功能的机器人装置2上提供该服务。
在本实施例的服务器100中,考虑了各个机器人装置2的功能差异,使得对于未提供有执行服务所必需的部分或全部功能的机器人装置2,传送用于使用可由所讨论的机器人装置2使用的功能来代替缺乏的功能的数据或程序,以允许执行所述服务。
例如,具有脸部识别功能的机器人装置2a、2c能够辨别用户1,然而,不具有脸部识别功能的机器人装置2b不得不使用另一功能来辨别用户1。因此,服务器100发送语音波形数据,使得机器人装置2b能够呼叫用户1的名字,并且可以基于响应来做出判断。另一方面,虽然具有语音识别功能的机器人装置2a、2b能够辨别对利用语音的询问的响应,但是不具有语音识别功能的机器人装置2c不得不使用另一功能,以便检验对该询问的响应。因此,如果在机器人装置2b的左右肩上提供了开关,则服务器100传送语音波形数据,从而在按下右肩上的开关或左肩上的开关时,将分别做出肯定响应或否定响应。此外,虽然具有TTS功能的机器人装置2a能够仅用一个句子(文本数据)来说出该询问或消息,但是不具有TTS功能的机器人装置2c不得不使用另一功能,以便说出该询问或消息。因此,服务器100传送语音波形数据来代替例如所述句子(文本数据)。
在图10中示出了机器人装置2的软件配置,从该图中看出,机器人装置2的软件包括:系统层200,包括操作系统201、设备驱动程序202,或者具有用于与其连接(interfacing)的API(应用程序接口)的系统层200;中间件层210,由用于实现脸部识别功能、语音识别功能、语音识别功能或TTS功能的一组软件段(piece)组成;应用层220,用于执行服务或采取自主动作;以及网络连接层230,用于连接到网络以发出适当的命令或传送/接收数据。
以机器人装置2a的情况为例,并参考图11,更详细地解释中间件层210和应用层220。在机器人装置2a的中间件层210中,存在用于脸部识别、语音识别和TTS的软件对象211至213,这些软件对象连接到系统层200和应用层220的软件产品。
应用层220包括短期存储单元221和动作控制器222。短期存储单元221综合中间件层210的输出,以存储存在于机器人装置2a外部的内容。该短期存储单元保存例如曾经通过图像处理而被检测到的人,即使在所检测的人由于施加在CCD照相机15的视野角度上的限制而走出该视野的情况下也是如此。另一方面,动作控制器222适当地管理或控制一组动作模块。动作模块223从中间件层210接收例如脸部识别的输出,以产生搜索或接近脸部的动作。动作模块223还能够请求网络连接层230发出命令或传送/接收数据。在网络连接层230中,存在软件对象231,其负责网络管理,并根据因特网协议来接入因特网上的服务,以传送/接收数据或程序。动作模块223能够使用诸如Java或Python的脚本语言或者字节数据,使得动作模块可以执行从因特网上的服务器100发送的脚本语言或字节代码,以便作为机器人装置2a的动作来实现所述服务。
动作模块223包括监控功能和动作功能。监控功能从中间件层210的软件监控外部和内部状态,以便对指示在动作模块中描述的动作的要求程度(degree of demand)的动作值进行判定。多个动作模块并行地计算动作值。动作控制器222执行具有高动作值的动作模块的动作功能。动作功能从中间件层210的软件产品接收例如脸部识别的输出,以便将该输出传递给例如语音合成以控制机器人装置2。如上所述,这些功能可以利用从因特网上的服务器100发送的脚本语言或字节代码来实现。在本实施例中,如上所述,可以用树结构来实现动作模块223。
以下描述针对这样的情况:这三个机器人装置2a、2b、2c提供服务,也就是说,机器人装置2a、2b、2c搜索用户1a、1b和1c以进行询问,并且通过语音向用户1a、1b和1c告知取决于响应是肯定还是否定而不同的消息A、B。
机器人装置2a具有脸部识别功能、语音识别功能和TTS功能,并且除了关于服务请求的信息以外,还在最初将例如图12示出的功能列表发送给服务器100。
服务器100指定提供服务所需的功能。在此情况下,如上所述,需要这三个功能,即脸部辨别功能、语音辨别功能和TTS功能。服务器100根据例如图13示出的程序来分析功能列表,以检验提供所述服务所需的功能是否已经准备就绪。由于机器人装置2a具有提供所述服务所需的全部功能,因此服务器100把将使用这三个功能的程序发送给机器人装置2a。具体地说,服务器100发送组成如图14所示的动作模块的树结构的数据、以及每个动作模块的动作功能和监控功能的实现。在该树结构中,假设动作控制器222包括根模块,作为所述模块的树结构的顶端。本实施例中的服务的父模块是服务动作模块,并且子模块是搜索动作模块、接近动作模块和消息动作模块。
在该树结构中,有FaceID和距离(Distance),作为由服务动作模块发出的公共信息区,这两个由这些模块共有(c-own)。在本实施例的服务中,在FaceID的预设状态中,即,在FaceID=userFaceID的这种状态中,发出共有的信息区,以便将消息告知特定用户1a。
搜索动作模块是用于检验在当前存储于短期存储单元221内的对象中,是否存在将满足FaceID=userFaceID的任何对象。如果存在满足FaceID=userFaceID的这种对象,则搜索动作模块将直到这种对象的距离写入共有信息区的距离中。对于实际的监控功能,需要搜索用户1a,以查看是否FaceID=userFaceID,使得将高动作值返回给服务动作模块。如果找到了用户1a,使得FaceID=userFaceID,则将低动作值返回给服务动作模块。对于动作功能,由于在选择了该搜索动作模块的状态下没有找到用户1a,因此移动机器人装置2a的视点,以便通过管理查找用户1a的控制将新信息发送到短期存储单元221。具体地说,通过脖子摆动、旋转躯干部分的运动的组合或者通过行走来改变机器人装置的视点。
接近动作模块是这样的动作模块,其用于管理对提供相对于所找到的用户1a的适当距离的控制。监控功能是这样的功能:如果将某个值输入从服务动作模块设置的FaceID,则该功能在短期存储单元221处产生对距离值dist的询问,并且如果值dist处于预设范围内,则该功能返回高动作值。如果值dist处于预设范围之外,则因为没有必要进行运动而返回低动作值。动作功能的目的是接近用户1a,如果值dist小于所设置的(as-set)距离的最小值minDialogueDist,则相对于用户的距离太小。因此,对机器人装置发出命令,以远离用户1a而后退。如果相反值dist大于所设置的距离的最小值minDialogueDist,则机器人装置相对于用户的距离太远。因此,对机器人装置发出命令,以进行向前的运动,以便接近用户1a。
消息动作模块是这样的动作模块:当用户1a位于距机器人装置有可以进行对话的距离处时,其按照适当的顺序告知消息。对于监控功能,如果FaceID=userFaceID并且minDialogueDist≤dist≤maxDialogueDist,则将高动作值返回给服务功能模块,而如果是其它情况,则返回低动作值。可以由图15中示出的状态机来实现动作功能。也就是说,将询问消息作为文本数据输出到TTS模块,以等待来自用户1a的响应。如果来自用户1a的响应是YES(是),则输出消息A,以结束该处理。如果相反来自用户1a的响应是NO(否),则输出消息A,以结束该处理。
机器人装置2b仅具有语音识别功能,而不具有脸部识别功能和TTS功能,因此除了关于服务请求的信息以外,还将例如图16示出的功能列表预先发送给服务器100。
服务器100按照与上面所述相同的方式来指定执行服务所需的功能,以分析从机器人装置2b传送的功能列表,以便检验该装置是否具有执行服务所必需的功能。由于如上所述机器人装置2b仅具有语音识别功能,因此服务器100发送用于利用可由机器人装置2b使用的功能来代替缺乏的功能的数据或程序。具体地说,服务器发送形成动作模块的树结构的数据、以及如图17所示的每个动作模块的动作功能和监控功能的实现。在此树结构中,用户查找动作模块和消息动作模块被形成为服务动作模块的子模块。
用户查找动作模块是用于在不使用脸部辨别功能的情况下查找用户1b的动作模块。同时,不具有TTS功能的机器人装置2b具有用于音频信号的输出部件,并且能够输出语音波形本身。在本实施例中,机器人装置2b输出符合WAB文件格式的语音波形数据。从服务器100发送该语音波形。可以用图18示出的状态机来实现该动作功能。也就是说,机器人装置通过语音输出读出“XX先生,如果你在场,请回答‘是’”的用户搜索消息,并等待来自用户1b的响应。如果用户1b回答了‘是’,则假设找到了用户1b,并且将用户ID设置为YES,以传递给消息动作模块。
可以利用与机器人装置2a的状态机基本相同的状态机来实现消息动作模块。也就是说,该模块将询问消息输出到用户1b,以等待回答。如果用户1b的响应是YES或NO,则分别输出消息A或B以结束该处理。注意,所述输出是采用与机器人装置1a的情况不同的方式的语音波形数据。
机器人装置2c仅具有脸部识别的功能,而不具有语音识别功能和TTS功能。因此,除了关于服务请求的信息以外,机器人装置还将例如图19示出的功能列表预先发送给服务器100。
服务器100按照与上面所述相同的方式来指定提供服务所需的功能,并分析从机器人装置2c传送的功能列表,以检验该装置是否具有提供服务所需的功能。由于如上所述机器人装置2c仅具有脸部识别功能,因此服务器100发送用于利用可由机器人装置2c使用的功能来代替缺乏的功能即脸部识别功能和TTS功能的数据或程序。具体地说,服务器发送形成动作模块的树结构的数据、以及如图14所示的每个动作模块的动作功能和监控功能的实现。
搜索动作模块检验在当前存储于短期存储单元221中的对象中,是否存在将满足FaceID=userFaceID的任何对象。如果存在满足FaceID=userFaceID的这种对象,则搜索动作模块将直到这种对象的距离写入共有信息区的距离中。
接近动作模块管理控制,使得机器人装置将位于距所找到的用户1a的合适距离处,就像在机器人装置1a的情况中那样。
消息动作模块是这样的动作模块:当用户1c位于距机器人装置可以进行对话的距离处时,其根据适当的顺序来告知消息。此时,如在机器人2b中那样,输出从服务器100发送的语音波形数据。该消息动作模块可以利用图20示出的状态机来实现。也就是说,将询问消息输出到用户1c,以等待响应。如果来自用户1的回答是YES或NO,则分别输出消息A或B,以结束该处理。在此情况中,只要涉及语音识别,就使用右肩开关和左肩开关。这可以通过输出读出:“分别按下右肩开关和左肩开关以回答YES或NO”的消息来实现。
利用第二实施例的上述信息提供系统,可以通过仔细检查关于从机器人装置传送的关于该机器人装置的功能的信息、以及通过发出用于利用可由所讨论的机器人装置2使用的功能来代替缺乏的功能的数据或程序,在存在中间件不同的多个机器人装置的多平台环境下提供服务。
利用上述第二实施例,如果所述功能不足以提供服务,则将用于利用可由机器人装置使用的功能来代替缺乏的功能的数据或程序提供给该装置。然而,由于可以将对应于缺乏的功能的功能对象本身传送给该装置,因此这并不意味着限制本发明。在这种情况下,服务器100将由机器人装置2使用的功能对象存储在例如内容存储单元120中。如果从机器人装置发送了功能列表和对服务的请求,则指定提供该服务所必需的功能,同时还指定在机器人装置2中缺乏的必要功能。在发出对应于所请求的服务的数据或程序时,从内容存储单元20中检索并传送对应于缺乏的功能的功能对象。当然,也可以将这些功能对象存储在不同于内容存储单元120的数据库中。
(补充)
至此,已经参照本发明的特定实施例说明了本发明。然而,应当注意,在由所附权利要求限定的本发明的范围内,本领域技术人员可以设想各种修改或替换。
本发明的主旨不一定限于称为“机器人”的产品。也就是说,本发明可应用于使用电或磁作用、其它普通的移动设备、或者用于计算和处理描述这些设备的运动的数据的数据处理系统,进行模仿人类运动的运动的机械装置、即使这种机械装置被分类为玩具也是如此。
此外,上述解释针对由通信系统利用SOAP进行的符合机器人装置的执行环境的服务。然而,本发明不限于这些服务。例如,除了SOAP以外,还可以使用将允许与平台无关的远程过程调用(RPC)如XML-RPC的这种通信系统。此外,可以不在唯一的位置处而是跨越多个站点来对提供给机器人装置的软件产品进行分类,并且可以创建另外的站点,以通过提供用于发送到其它站点的网络服务来允许这些站点的共同操作。
总而言之,出于说明的目的而公开了本发明,因而不应当以限制性的方式来解释本说明书的描述的内容。为了确定本发明的主旨,应当参照权利要求的陈述。
本发明不限于参照附图描述的实施例,并且在不背离如权利要求限定的本发明的范围的情况下,可以由本领域技术人员进行各种改变、替换或等同物。
工业实用性
根据本发明,可以提供一种信息提供系统和信息提供方法,由此,可以方便地将数据或程序提供给硬件架构或平台彼此不同的多个机器人装置。
此外,根据本发明,可以向多种配置的机器人装置、或者向在其中通过传感器或照片识别而识别的对象彼此不同的机器人装置提供适当的服务,同时服务提供者能够提供共同的服务,而不必知道特定机器人装置的种类。
此外,根据本发明,即使所提供的服务需要用于不同机器类型的机器人装置的不同数据或程序,也可以使用所传送的关于机器人装置的信息来提供适当的服务。

Claims (24)

1.一种用于通过网络向机器人装置提供数据或程序的信息提供装置,包括:
内容存储部件,存储了要提供给机器人装置的数据或程序;
接收部件,用于从机器人装置接收关于服务请求的询问、以及关于机器人装置的信息;
分析部件,用于分析所述询问;以及
传送部件,用于将与所请求的服务相匹配的数据或程序传送给所述机器人装置。
2.根据权利要求1的信息提供装置,其中,该装置根据SOAP(简单对象访问协议)来与机器人装置通信。
3.根据权利要求1的信息提供装置,还包括:
数据库,用于管理关于存储在所述内容存储部件中的数据或程序的补充信息;以及
用于在所述询问和所述数据库的补充信息之间进行匹配、准备可提供的数据或程序的列表、并向机器人装置返回所述列表的部件。
4.根据权利要求3的信息提供装置,还包括:
用于响应于来自所述机器人装置的、对所述可提供的数据或程序列表的选择结果,返回用于访问所述所选择的数据或程序的方法的部件;
所述传送部件响应于来自所述机器人装置的与所述访问方法相匹配的访问请求,传送所请求的数据或程序。
5.根据权利要求3的信息提供装置,其中,关于所述数据或程序的所述补充信息包括关于服务的信息和关于机器人装置的信息。
6.根据权利要求1或5的信息提供装置,其中,所述关于机器人装置的信息包括以下信息的至少一部分:
(1)唯一地分配给每个机器人装置的、机器人装置独有的ID;
(2)唯一地分配给机器人装置的每个种类的机器人种类ID;
(3)机器人装置的功能列表;
(4)指示机器人装置的硬件架构的信息;以及
(5)机器人装置所拥有的数据库列表。
7.根据权利要求1的信息提供装置,其中
所述关于机器人装置的信息包括至少机器人装置的功能列表,并且
所述信息提供装置还包括:
用于指定所述机器人装置提供服务所需的功能的部件;以及
用于对由所述功能指定部件指定的所需功能和所述机器人装置的功能列表进行比较,以便指定在所述所需功能中、在所述机器人装置中缺乏的功能的部件;
所述传送部件传送用于利用可由所述机器人装置使用的功能来代替缺乏的功能的数据或程序。
8.根据权利要求1的信息提供装置,其中
关于所述机器人装置的信息包括至少该机器人装置的功能列表,并且
所述信息提供装置还包括:
对象存储部件,用于存储由所述机器人装置使用的功能对象;
用于指定所述机器人装置提供服务所需的功能的部件;
用于对由所述功能指定部件指定的所需功能和所述机器人装置的功能列表进行比较,以便指定在所述所需功能中、在所述机器人装置中缺乏的功能的部件;
检索部件,用于从所述对象存储部件中检索与所述缺乏的功能相匹配的、缺乏的功能的对象;
所述传送部件将所述缺乏的功能的对象和与所请求的服务相匹配的数据或程序一起传送给所述机器人装置。
9.一种用于通过网络向机器人装置提供数据或程序的信息提供方法,包括:
接收步骤,从所述机器人装置接收询问,该询问包含关于服务请求的信息和关于所述机器人装置的信息;
分析步骤,分析所述询问;以及
传送步骤,将与所请求的服务相匹配的数据或程序传送给所述机器人装置。
10.根据权利要求9的信息提供方法,其中,与机器人装置的通信是利用SOAP(简单对象访问控制)进行的。
11.根据权利要求9的信息提供方法,还包括:
作为数据库来管理关于每个数据或程序的补充信息的步骤;以及
对所述询问和所述数据库的补充信息进行匹配、制定可提供的数据或程序的列表、并向机器人装置返回该列表的步骤。
12.根据权利要求11的信息提供方法,还包括:
响应于来自所述机器人装置的、对可提供的数据或程序的所述列表的选择结果,返回用于访问所选择的数据或程序的方法的步骤;
所述传送步骤响应于来自所述机器人装置的、符合所述访问方法的访问请求,传送所请求的数据或程序。
13.根据权利要求11的信息提供方法,其中,关于所述数据或程序的所述补充信息包括关于服务的信息和关于机器人装置的信息。
14.根据权利要求9或13的信息提供方法,其中,所述关于机器人装置的信息包括以下信息的至少一部分:
(1)唯一地分配给每个机器人装置的、机器人装置独有的ID;
(2)唯一地分配给机器人装置的每个种类的机器人种类ID;
(3)机器人装置的功能列表;
(4)指示机器人装置的硬件架构的信息;以及
(5)机器人装置所拥有的数据库列表。
15.根据权利要求9的信息提供方法,其中
所述关于机器人装置的信息包括至少机器人装置的功能列表,并且
所述信息提供方法还包括:
指定所述机器人装置提供服务所需的功能的步骤;以及
将由所述功能指定部件指定的所需功能与所述机器人装置的功能列表进行比较,以便指定在所述所需功能中、在所述机器人装置中缺乏的功能的步骤;
所述传送步骤传送用于利用可由所述机器人装置使用的功能来代替缺乏的功能的数据或程序。
16.根据权利要求9的信息提供方法,其中
关于所述机器人装置的信息包括至少机器人装置的功能列表,并且
所述信息提供方法还包括:
指定所述机器人装置提供服务所需的功能的步骤;
将由所述所需功能指定步骤指定的所需功能与所述机器人装置的功能列表相比较,以便指定在所述所需功能中、在所述机器人装置中缺乏的功能的步骤;以及
检索步骤,从在其中存储了由所述机器人装置使用的功能对象的对象存储部件中检索与所述缺乏的功能相匹配的、缺乏的功能的对象;
所述传送步骤将所述缺乏的功能的对象和与所请求的服务匹配的数据或程序一起传送给所述机器人装置。
17.一种包括机器人装置和用于通过网络向机器人装置提供数据或程序的信息提供装置的信息提供系统,所述系统包括:
内容存储部件,存储了要提供给机器人装置的数据或程序;
接收部件,用于从机器人装置接收关于服务请求的询问和关于机器人装置的信息;
分析部件,用于分析所述询问;以及
传送部件,用于将与所请求的服务相匹配的数据或程序传送给所述机器人装置。
18.根据权利要求17的信息提供方法,其中,该方法根据SOAP(简单对象访问协议)来与机器人装置通信。
19.根据权利要求17的信息提供方法,还包括:
数据库,用于管理关于存储在所述内容存储部件中的数据或程序的补充信息;以及
在所述询问和所述数据库的补充信息之间进行匹配,以便准备可提供的数据或程序的列表,以及向机器人装置返回所述列表的部件。
20.根据权利要求19的信息提供系统,还包括:
用于响应于来自所述机器人装置的、对可提供的数据或程序的所述列表的选择结果,返回用于访问所选择的数据或程序的方法的部件;
所述传送部件响应于来自所述机器人装置的、与所述访问方法相匹配的访问请求,传送所请求的数据或程序。
21.根据权利要求19的信息提供方法,其中,关于所述数据或程序的所述补充信息包括关于服务的信息和关于机器人装置的信息。
22.根据权利要求17或21的信息提供系统,其中,所述关于机器人装置的信息包括以下信息的至少一部分:
(1)唯一地分配给每个机器人装置的机器人装置独有的ID;
(2)唯一地分配给机器人装置的每个种类的机器人种类ID;
(3)机器人装置的功能列表;
(4)指示机器人装置的硬件架构的信息;以及
(5)机器人装置所拥有的数据库列表。
23.根据权利要求17的信息提供系统,其中
所述关于机器人装置的信息包括至少机器人装置的功能列表,并且
所述信息提供装置还包括:
用于指定所述机器人装置提供服务所需的功能的部件;以及
用于对由所述功能指定部件指定的所需功能和所述机器人装置的功能列表进行比较,以便指定在所述所需功能中、在所述机器人装置中缺乏的功能;
所述传送部件传送用于利用可由所述机器人装置使用的功能来代替所述缺乏的功能的数据或程序。
24.根据权利要求17的信息提供系统,其中
关于所述机器人装置的信息包括至少机器人装置的功能列表,并且
所述信息提供装置还包括:
对象存储部件,在其中存储了由所述机器人装置使用的功能对象;
用于指定所述机器人装置提供服务所需的功能的部件;
用于对由所述功能指定部件指定的所需功能和所述机器人装置的功能列表进行比较,以便指定在所述所需功能中、在所述机器人装置中缺乏的功能;以及
检索部件,用于从所述对象存储部件中检索与所述缺乏的功能相匹配的、缺乏的功能的对象;
所述传送部件将所述缺乏的功能的对象和与所请求的服务相匹配的数据或程序一起传送到所述机器人装置。
CNB2004800085659A 2003-03-28 2004-03-29 信息提供设备、方法和信息提供系统 Expired - Fee Related CN100351789C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003092166 2003-03-28
JP092166/2003 2003-03-28

Publications (2)

Publication Number Publication Date
CN1768329A true CN1768329A (zh) 2006-05-03
CN100351789C CN100351789C (zh) 2007-11-28

Family

ID=33127305

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800085659A Expired - Fee Related CN100351789C (zh) 2003-03-28 2004-03-29 信息提供设备、方法和信息提供系统

Country Status (4)

Country Link
US (1) US20060195598A1 (zh)
EP (1) EP1610221A4 (zh)
CN (1) CN100351789C (zh)
WO (1) WO2004088514A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111844018A (zh) * 2020-05-29 2020-10-30 北京理工大学 消防现场侦检机器人管理方法及装置

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308221A (ja) 2002-04-12 2003-10-31 Nec Corp ロボット制御システムと方法並びにプログラム
KR100497310B1 (ko) * 2005-01-10 2005-06-23 주식회사 아이오. 테크 네트워크 기반의 로봇 시스템에서 동작 정보 포함멀티미디어 콘텐츠의 선택 및 재생 방법
US7835821B2 (en) * 2005-11-17 2010-11-16 Electronics And Telecommunications Research Institute Robot server for controlling robot, system having the same for providing content, and method thereof
US20070150104A1 (en) * 2005-12-08 2007-06-28 Jang Choul S Apparatus and method for controlling network-based robot
JP5075664B2 (ja) * 2008-02-15 2012-11-21 株式会社東芝 音声対話装置及び支援方法
FR2947923B1 (fr) * 2009-07-10 2016-02-05 Aldebaran Robotics Systeme et procede pour generer des comportements contextuels d'un robot mobile
WO2012112822A2 (en) 2011-02-16 2012-08-23 Visa International Service Association Snap mobile payment apparatuses, methods and systems
US10586227B2 (en) 2011-02-16 2020-03-10 Visa International Service Association Snap mobile payment apparatuses, methods and systems
SG193510A1 (en) 2011-02-22 2013-10-30 Visa Int Service Ass Universal electronic payment apparatuses, methods and systems
US8380349B1 (en) 2011-05-06 2013-02-19 Google Inc. Methods and systems for providing instructions to a robotic device
US9355393B2 (en) 2011-08-18 2016-05-31 Visa International Service Association Multi-directional wallet connector apparatuses, methods and systems
US9582598B2 (en) 2011-07-05 2017-02-28 Visa International Service Association Hybrid applications utilizing distributed models and views apparatuses, methods and systems
US10121129B2 (en) 2011-07-05 2018-11-06 Visa International Service Association Electronic wallet checkout platform apparatuses, methods and systems
US10242358B2 (en) 2011-08-18 2019-03-26 Visa International Service Association Remote decoupled application persistent state apparatuses, methods and systems
US10825001B2 (en) 2011-08-18 2020-11-03 Visa International Service Association Multi-directional wallet connector apparatuses, methods and systems
US9710807B2 (en) 2011-08-18 2017-07-18 Visa International Service Association Third-party value added wallet features and interfaces apparatuses, methods and systems
US10223730B2 (en) 2011-09-23 2019-03-05 Visa International Service Association E-wallet store injection search apparatuses, methods and systems
US20130085602A1 (en) * 2011-10-04 2013-04-04 Hei Tao Fung Office Robot System
US20130290234A1 (en) * 2012-02-02 2013-10-31 Visa International Service Association Intelligent Consumer Service Terminal Apparatuses, Methods and Systems
AU2013214801B2 (en) 2012-02-02 2018-06-21 Visa International Service Association Multi-source, multi-dimensional, cross-entity, multimedia database platform apparatuses, methods and systems
WO2013192443A1 (en) * 2012-02-22 2013-12-27 Visa International Service Association Intelligent consumer service terminal apparatuses, methods and systems
JP6052576B2 (ja) * 2012-05-30 2016-12-27 日本電気株式会社 情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム
EP2933070A1 (en) * 2014-04-17 2015-10-21 Aldebaran Robotics Methods and systems of handling a dialog with a robot
US9802309B2 (en) * 2014-07-24 2017-10-31 X Development Llc Methods and systems for generating instructions for a robotic system to carry out a task
JP6726388B2 (ja) * 2016-03-16 2020-07-22 富士ゼロックス株式会社 ロボット制御システム
GB2567791B (en) 2016-09-09 2021-10-13 Groove X Inc Autonomously acting robot that accepts a guest
US10977872B2 (en) 2018-10-31 2021-04-13 Sony Interactive Entertainment Inc. Graphical style modification for video games using machine learning
US11375293B2 (en) 2018-10-31 2022-06-28 Sony Interactive Entertainment Inc. Textual annotation of acoustic effects
US11636673B2 (en) 2018-10-31 2023-04-25 Sony Interactive Entertainment Inc. Scene annotation using machine learning
US10854109B2 (en) 2018-10-31 2020-12-01 Sony Interactive Entertainment Inc. Color accommodation for on-demand accessibility

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195678B1 (en) * 1996-09-03 2001-02-27 Fujitsu Limited Remote resource management system for automatically downloading required files from application server depending on contents of selected files on requesting computer
JPH10301788A (ja) * 1997-04-30 1998-11-13 Sony Corp データ通信システムおよびデータ通信方法、ならびに、データ受信装置およびデータ受信方法
JP3196704B2 (ja) * 1997-09-30 2001-08-06 松下電器産業株式会社 産業用ロボット
SG118132A1 (en) * 1997-11-13 2006-01-27 Hyperspace Communications Inc File transfer system
CN1146491C (zh) * 1998-06-23 2004-04-21 索尼公司 机器人装置及信息处理系统
US6266577B1 (en) * 1998-07-13 2001-07-24 Gte Internetworking Incorporated System for dynamically reconfigure wireless robot network
US6167319A (en) * 1998-10-13 2000-12-26 Scientronix, Inc. Process for generating program listings for programming a logic control unit
JP2000181890A (ja) * 1998-12-15 2000-06-30 Fujitsu Ltd マルチプロセッサ交換機及びその主プロセッサ切替方法
US6801223B1 (en) * 1998-12-18 2004-10-05 Tangis Corporation Managing interactions between computer users' context models
US6560511B1 (en) * 1999-04-30 2003-05-06 Sony Corporation Electronic pet system, network system, robot, and storage medium
JP2001222316A (ja) * 2000-02-09 2001-08-17 Sony Corp ロボットの管理システム及びロボットの管理方法
JP2001222624A (ja) * 2000-02-10 2001-08-17 Sony Corp 情報提供システム、情報提供方法、部品情報提供装置及び部品情報提供方法
KR20000049446A (ko) * 2000-03-20 2000-08-05 김희석 이동단말기용 게임 프로그램 다운로딩 시스템 및 그 방법
US7693961B2 (en) * 2000-06-30 2010-04-06 Sharp Kabushiki Kaisha Method and system for supplying programs
JP2002113675A (ja) * 2000-10-11 2002-04-16 Sony Corp ロボット制御システム並びにロボット制御用ソフトウェアの導入方法
JP2002187082A (ja) * 2000-10-11 2002-07-02 Sony Corp ロボット制御システム及びロボット制御方法
CN100423911C (zh) * 2000-10-13 2008-10-08 索尼公司 机器人装置及其行为控制方法
JP2002123394A (ja) * 2000-10-16 2002-04-26 Denso Corp ロボット装置のプログラム登録システム
JP4664479B2 (ja) * 2000-11-01 2011-04-06 株式会社東芝 超音波診断装置
TWI236610B (en) * 2000-12-06 2005-07-21 Sony Corp Robotic creature device
JP4464029B2 (ja) * 2001-04-19 2010-05-19 キヤノン株式会社 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム
JP2002323980A (ja) * 2001-04-26 2002-11-08 Denso Corp プログラム導入システム、サーバ及びクライアント
US20020165976A1 (en) * 2001-05-02 2002-11-07 Jean-Charles Gonthier Software deployment in a data communications network
WO2003020476A1 (fr) * 2001-08-29 2003-03-13 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande a distance pour robot mobile bipede
JP4087104B2 (ja) * 2001-11-20 2008-05-21 シャープ株式会社 群ロボットシステム
US6889118B2 (en) * 2001-11-28 2005-05-03 Evolution Robotics, Inc. Hardware abstraction layer for a robot
US7185336B2 (en) * 2002-04-03 2007-02-27 Hewlett-Packard Development Company, L.P. System and method for selecting and installing a device driver
US7117067B2 (en) * 2002-04-16 2006-10-03 Irobot Corporation System and methods for adaptive control of robotic devices
US20040134337A1 (en) * 2002-04-22 2004-07-15 Neal Solomon System, methods and apparatus for mobile software agents applied to mobile robotic vehicles
FI20020904A0 (fi) * 2002-05-14 2002-05-14 Nokia Corp Menetelmä ja järjestely kohdelaitteiden päivittämiseksi
US20040002790A1 (en) * 2002-06-28 2004-01-01 Paul Senn Sensitive devices and sensitive applications
US7030875B2 (en) * 2002-09-04 2006-04-18 Honda Motor Company Ltd. Environmental reasoning using geometric data structure

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111844018A (zh) * 2020-05-29 2020-10-30 北京理工大学 消防现场侦检机器人管理方法及装置

Also Published As

Publication number Publication date
EP1610221A1 (en) 2005-12-28
WO2004088514A1 (ja) 2004-10-14
EP1610221A4 (en) 2009-01-07
CN100351789C (zh) 2007-11-28
US20060195598A1 (en) 2006-08-31

Similar Documents

Publication Publication Date Title
CN100351789C (zh) 信息提供设备、方法和信息提供系统
CN1254049C (zh) 具有通信功能的信息处理装置和信息处理方法
CN1273912C (zh) 机器人装置、面容识别方法和面容识别装置
CN1398214A (zh) 有足机器人、用于有足机器人的动作控制方法、和存储介质
CN1175365C (zh) 通过广域网的高效交互式数据事务的特制数据和传送协议
CN101030370A (zh) 信息处理系统和方法、及机器人装置
CN1253812C (zh) 信息处理装置和信息处理方法
CN1364275A (zh) 自动装置、信息提供装置、机器人装置和交易方法
CN1146491C (zh) 机器人装置及信息处理系统
CN1324501C (zh) 信息处理终端、服务器、信息处理程序及其计算机可读介质
CN1275139C (zh) 链接信息制作设备和链接信息制作方法
CN1363074A (zh) 信息处理设备和方法、数据存储设备和程序
CN1518489A (zh) 用于机器人的行为控制系统和行为控制方法及机器人装置
CN1720520A (zh) 对话控制设备和方法,以及机器人设备
US20050080514A1 (en) Content providing system
CN1304346A (zh) 机器人装置及其控制方法
CN1209895C (zh) 信息处理装置和信息处理方法
CN1277230C (zh) 用于小型脚印尺寸装置的智能书签
CN1924839A (zh) 设备驱动程序的管理方法和信息处理装置
CN1751492A (zh) 在网络通信中压缩报文的系统和方法
CN1287522A (zh) 机器人装置与其控制方法和显示方法及提供媒体
CN1757020A (zh) 信息处理装置、信息处理方法以及计算机程序
CN1795465A (zh) 操作履历利用系统
CN1620648A (zh) 使用网络的文本文件阅览系统
CN1778072A (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071128

Termination date: 20130329