WO2004088514A1 - 情報提供装置及び方法,並びに情報提供システム - Google Patents

情報提供装置及び方法,並びに情報提供システム Download PDF

Info

Publication number
WO2004088514A1
WO2004088514A1 PCT/JP2004/004433 JP2004004433W WO2004088514A1 WO 2004088514 A1 WO2004088514 A1 WO 2004088514A1 JP 2004004433 W JP2004004433 W JP 2004004433W WO 2004088514 A1 WO2004088514 A1 WO 2004088514A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
function
robot
data
program
Prior art date
Application number
PCT/JP2004/004433
Other languages
English (en)
French (fr)
Inventor
Masahiro Fujita
Masanori Omote
Original Assignee
Sony Corporation
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 Corporation filed Critical Sony Corporation
Priority to EP04724203A priority Critical patent/EP1610221A4/en
Priority to US10/551,039 priority patent/US20060195598A1/en
Publication of WO2004088514A1 publication Critical patent/WO2004088514A1/ja

Links

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]

Definitions

  • the present invention relates to an information providing apparatus and method for providing data and programs via a network, and an information providing system, and more particularly, to a news report apparatus via a network.
  • Information providing apparatus and method for providing data and programs, and an information providing system are particularly, to provide data and programs, and an information providing system.
  • the present invention relates to an information providing apparatus for providing data and programs to a plurality of pot devices having different hardware configurations and platforms, a method therefor, and an information providing system, in particular Provide a schedule and program according to the hardware configuration and platform of the mouth pot device
  • the present invention relates to an information providing device and method thereof, and an information providing system.
  • An object of the present invention is to provide an excellent information providing apparatus and method capable of suitably providing data and programs to a plurality of mouth bots having differences in hardware configuration and brat form, and It is to provide an information providing system.
  • a further object of the present invention is to preferably provide data and programs suitable for individual spot devices under a multiple brat form environment in which there are multiple robots 1 and devices with differences in hardware configuration and brat form. It is an object of the present invention to provide an excellent information providing apparatus and method, and an information providing system that can
  • An information providing apparatus is made in consideration of the above problems, and is an information providing apparatus for providing data or a program to a pot apparatus via a network, and the data or program to be provided to a ropot apparatus.
  • this information provision device includes a plurality of devices (or functional modules for realizing a specific function) logically gathered, and it is determined whether each device or function module is in a single case. It does not matter in particular.
  • the information providing device may communicate with the pot device according to the Simple Object Access Protocol (SOAP) protocol.
  • SOAP Simple Object Access Protocol
  • Simple Object Access Protocol is a protocol for calling data and services on other systems, and is configured based on XML (extended Markup Language) and HTTP (Hyper Text Transfer Protocol). Ru.
  • SOAP Simple Object Access Protocol
  • messages envelopes
  • HTTP Hyper Text Transfer Protocol
  • the information providing apparatus matches a database for managing additional information related to the schedule or program stored in the content storage means, and the above inquiry and the additional information based on the above date base,
  • the information processing apparatus may further comprise means for creating a list of data or programs that can be provided and returning it to the robot apparatus.
  • the information providing apparatus is a means for returning a method for accessing the selected date or program in response to the selection result from the robot apparatus for the list of available data or programs. Further, in this case, the transmission means transmits the requested data or program in response to an access request according to the access method from the robot apparatus.
  • the additional information on the data or program includes information on the service and information on the mouth pot apparatus.
  • the hardware configuration or the hardware configuration can be obtained by matching the information on the service request contained in the query from the lopot apparatus and the information on the lopot apparatus with the additional information of the data or program. Even in a multiplatform environment in which there are a plurality of robot units having differences in black form, data and programs suitable for each robot unit can be suitably provided.
  • the information on the mouth pot apparatus includes at least a part of the information shown below.
  • the necessary function specification for specifying the necessary function required when the ropod device performs the service is specified. And comparing the required function specified by the required function specifying means with the function list of the robot apparatus to identify the insufficient function lacking in the robot apparatus among the required functions.
  • the apparatus may further comprise a foot function specifying means, in which case the transmitting means transmits a date or program for causing the insufficient function to be replaced by a function available to the ropod device.
  • the information on the mouth pot apparatus similarly includes at least a function list of a robot apparatus, object storage means in which a function object used in the robot apparatus is stored; By comparing the required function specifying means for specifying the required function required when the robot apparatus performs the service, the required function specified by the required function specifying means, and the function list of the above-mentioned robot apparatus.
  • the apparatus further comprises: insufficient function specifying means for specifying an insufficient function lacking in the logo device among the required functions; and search means for searching the object storage means for an insufficient function object corresponding to the insufficient function.
  • the transmission means may transmit data or a program corresponding to the requested service. , It transmits the lack functional objects in the Ropotto device.
  • the middleware Services can be made available to individual robot devices even in multi-platform environments where there are multiple robot devices with different functions.
  • An information providing system has been made in consideration of the above problems, and is characterized by including a ropot device and the information providing device as described above.
  • FIG. 1 is a diagram schematically showing an entire configuration of an information providing system according to a first embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of a functional configuration of a robot apparatus that can be operated on the information providing system.
  • FIG. 3 is a diagram showing in detail the configuration of the control unit of the robot apparatus.
  • FIG. 4 is a diagram schematically showing a functional configuration of a server in the information provision system.
  • FIG. 5 is a diagram for explaining how the server distributes data and programs according to the difference in hardware configuration and platform to the robot apparatus as the client.
  • FIG. 6 is a sequence diagram showing a procedure of cooperative operation in which the robot apparatus sends a QA form to request data or a program, and the server responds thereto.
  • FIG. 7 is a flowchart explaining the operation procedure of the content manager when selecting content suitable for the hardware configuration and platform of the robot apparatus as a client.
  • FIG. 8 is a view schematically showing an entire configuration of an information providing system according to a second embodiment of the present invention.
  • FIG. 9 is a sequence diagram showing a cooperative operation procedure in which the robot apparatus transmits a service request and a function list to request a service, and the server responds thereto.
  • FIG. 10 shows the software configuration of the mouth pot apparatus.
  • FIG. 11 is a diagram showing in detail the middleware layer and application layer of the software of the ROPOT device.
  • FIG. 12 is a diagram showing an example of a function list sent by the robot apparatus 2a to the server.
  • FIG. 13 shows an example of a program for the server to analyze the function list sent from the robot apparatus.
  • FIG. 14 is a diagram showing an example of a tree structure composed of data sent by the server to the robot device 2 a.
  • FIG. 15 is a diagram showing a state machine for realizing the detection function of the message action module possessed by the robot apparatus 2a.
  • FIG. 16 is a diagram showing an example of a function list sent by the lopot device 2b to the server.
  • FIG. 17 is a diagram showing an example of a tree structure composed of data sent by the server to the robot device 2 b.
  • FIG. 18 is a diagram showing a state machine for realizing the detection function of the user discovery action module possessed by the robot apparatus 2 b.
  • FIG. 19 is a diagram showing an example of a function list that the proxy device 2 c sends to the server.
  • FIG. 20 is a diagram showing a state machine for implementing the detection function of the message action module possessed by the lopot device 2c.
  • the information providing system provides data and programs suitable for individual robot apparatus under a multi-bolt form environment in which there are a plurality of robot apparatuses having different hardware configurations and platforms. It is possible.
  • FIG. 1 schematically shows the entire configuration of the information providing system in the first embodiment.
  • the ropot apparatus can interact with the user.
  • the mouth pot device is connected to the Internet through wireless or wired communication.
  • two users namely users l a, l b, and two types of mouth pot devices, ie mouth pot devices 2 a, 2 b, are present in the system.
  • user 1 when there is no need to distinguish between user 1 a and user 1 b, user 1 is described, and when it is not necessary to distinguish between ropot device 2 a and robot device 2 b, robot device 2 and robot device 2 are described. Note.
  • a server 100 that can be accessed by the robot 2 is installed on the Internet.
  • the server 100 manages the contents provided to the user 1 via the robot device 2.
  • Other general sites 150 are connected, and user 1 can directly access information such as news and weather via the mouth pot device 2 or the server 100.
  • the robot apparatus 2 accesses the server 100 and acquires information on general site 150 via the server 100. .
  • the user 1a interacts with the robot apparatus 2a through interaction and the like
  • the user 1b interacts with the robot apparatus 2b through interaction.
  • Each pot device 2a, 2b accesses the server 100 to respond to the request of the users 1a, 1b.
  • the robot pots 2a and 2b are different in type from one manufacturer to another, or there are differences in hardware configurations and platforms even with the same manufacturer.
  • the servos are used to transmit data and data to a plurality of robot devices 2a and 2b having differences in platform configuration and platform configurations.
  • the server 100 includes a content storage unit 120, an interface 'agent 1 21', and a content 'manager 1 22'.
  • Content storage unit 120 includes a variety of data such as fairy tales and dictionaries, data such as riddles, content applications, dance and song applications, middleware such as recognition software, behavior control software for Ropot device 2, etc. Programs are accumulated. These contents and programs may or may not depend on the difference in the execution environment such as the hardware configuration and platform of the Lopot 2 on playback and execution. In the present embodiment, the content storage unit 120 prepares, for the execution environment dependent data / content and program, one suitable for each execution environment.
  • Interface 1 2 1 parses the request from user 1 and passes the analysis result to the content manager 1 2 2. Based on the analysis results, the content manager 1 2 2 uses data and programs for responding to user 1's request that are suitable for the hardware configuration and platform of the ropot device 2 as the request source. select. It should be noted that the software provided to the mouth pot device 2 may be classified not at one site but at multiple sites, and a web service may be constructed to provide guidance to other sites for linking them.
  • FIG. 2 shows an example of a functional configuration of the mouth pot device 2 that can be operated on the information providing system in the present embodiment.
  • the mouth pot device 2 has a control unit 20 that performs overall control of the entire operation and other data processing, an input / output unit 40, a drive unit 50, and a power supply unit 6 It consists of 0 and. The following describes each part.
  • the input / output unit 40 is disposed at a CCD camera 15 corresponding to the eyes of the robot apparatus 2 as an input unit, a microphone 16 corresponding to the ear, or a site such as a head or a back. Includes a sensor that senses the evening sensor 18 or any other type of sensor that corresponds to the five senses.
  • a speaker 17 corresponding to the mouth an LED indicator (eye lamp) 19 that forms a facial expression by combination of blinking and lighting, etc. are provided.
  • These output units can express user feedback from the mouth pot device 2 in a form other than the machine motion pattern by the legs or the like by performing sound or blinking of a lamp.
  • the driving unit 50 is a functional block that implements the robot motion of the robot device 2 in accordance with a predetermined motion pattern commanded by the control unit 20, and is a control target by action control.
  • the drive unit 50 is a functional module for achieving the degrees of freedom at each joint of the mouth pot device 2 and is a plurality of drive units provided for each joint axis such as roll, pitch, and joint at each joint. Configured
  • Each drive unit includes a motor 51 that rotates about a predetermined axis, an encoder 52 that detects the rotational position of the motor 51, and a motor 51 based on the output of the encoder 52. It consists of a combination of drivers 53 that control the rotational position and rotational speed adaptively.
  • the hardware configuration of the robot apparatus 2 is determined.
  • the mouth pot device 2 can be configured as a leg type moving port pot such as biped walking or quadruped walking, or as a tire type moving robot.
  • the power supply unit 60 supplies each electric circuit in the mouth pot device 2 It is a functional module that performs electricity. Mouth pot device 2 in the present embodiment is an autonomous drive type using a battery, and power supply unit 60 is a charge / discharge control unit that manages the charge / discharge state of charge battery 61 and charge battery 61. 6 and 2
  • the charge battery 61 is configured, for example, in the form of a “battery 'pack” in which a plurality of lithium ion secondary battery cells are packaged in a cartridge type.
  • the charge / discharge control unit 62 also determines the remaining capacity of the charge battery 61 by measuring the terminal voltage of the charge battery 61, the charge Z discharge current amount, the ambient temperature of the charge battery 61, etc. Determine the start time, end time, etc.
  • the control unit 20 is notified of the start and end timings of charging determined by the charge / discharge control unit 62, and serves as a trigger for the ropot device 2 to start and end the charge operation.
  • the control unit 20 corresponds to the brain of the mouth pot device 2 and is mounted on, for example, the body head or body of the mouth pot device 2.
  • FIG. 3 illustrates the configuration of the control unit 20 in more detail.
  • the control unit 20 has a configuration in which a CPU (Central Processing Unit) 21 as a main controller is bus-connected to a memory and other circuit components and peripheral devices.
  • the bus 2 8 is a common signal transmission path including a data bus, an address bus, a control bus and the like.
  • Each device on the bus 28 is assigned a unique address (memory, address or address).
  • the CPU 21 can communicate with a specific device on the bus 28 by specifying an address.
  • middleware such as various application programs (content playback software etc.) and external environment (vision, hearing etc.) recognition software etc.
  • middleware such as various application programs (content playback software etc.) and external environment (vision, hearing etc.) recognition software etc.
  • the combination of hardware configuration and application system of Ropot device 2 determines the platform of mouth pot device 2.
  • Executable programs come in two types depending on the hardware configuration and execution environment provided by the platform. Also, depending on the middleware that is equipped, it is divided into content that can be played on the robot device 2 and content that can not be played.
  • RAM (Random Access Memory) 22 is volatile such as DRAM (Dynamic RAM) This is a writable memory composed of memory, which is used for loading a program executed by the CPU 21 • and for temporarily storing work data by the executing program.
  • DRAM Dynamic RAM
  • the ROM (Read Only Memory) 23 is a read only memory for permanently storing program data. Examples of program code stored in the ROM 23 include a self-diagnosis test program executed when the robot apparatus 2 is powered on, and an operation control program defining the operation of the robot apparatus 2.
  • the control program of the Ropot device 2 processes sensor inputs such as CCD camera 15 and microphone 14 to recognize external stimuli as sympol "Sensor input ⁇ recognition processing program", short-term memory and long-term memory Control the behavior of the mouth pot device 2 based on the sensor input and a predetermined behavior control model while controlling memory operations such as “action control program”, driving force and speed of each joint motor according to the behavior control model 1 7, control the voice output etc.
  • “Drive control program” interact with user 1
  • Interaction program access server 100 via the network and access user 1's request It includes “data program acquisition program” that acquires data and programs to respond.
  • the non-volatile memory 24 is composed of an electrically erasable / rewritable memory element such as EE PROM (Electrically Erasable and Programmable ROM), for example, to hold data to be successively updated in a non-volatile manner. used. Data that should be updated sequentially includes cryptographic keys and other security information, and device control programs that should be installed after shipping.
  • EE PROM Electrically Erasable and Programmable ROM
  • the interface 25 is a device for interconnecting with devices outside the control unit 20 to enable data exchange.
  • the interface 25 performs data input / output with the CCD camera 15, the microphone 16, and the speaker 17, for example.
  • the interface 25 performs data command input / output with each driver 53-1,... In the drive unit 50.
  • the interface 25 is a RS (Recommended Standard) — serial interface such as 232, I EEE (Institute of Electrical and electronics Engineers) 1284 such as a parallel 'interface, US B (University B al Serial Bus interface, i-1 L ink (IEEE 1 394) interface, SCSI (Small Computer System Interface) interface, memory card that accepts PC Memory Stick (trademark), interface (card ' And a general-purpose interface for connecting peripheral devices of a computer, etc., to transfer data between a local connection or an external device (server) connected via the Internet. May be
  • an infrared communication (I r DA) interface may be provided to perform wireless communication with an external device.
  • control unit 20 includes a wireless communication interface 26 and a network 'interface card (NIC) 27 etc., and a close proximity wireless data communication such as B 1 uetooth, such as I EEE 80 2.1 1 b Data communication can be performed with various external hosts and computers via a wide area network such as a wireless network or the Internet.
  • NIC network 'interface card
  • Such data communication between the robot device 2 and the host / computer enables remote computer resources to be used to calculate, control, and / or control the complex operation control of the mouth pot device 2. It is possible to take down contents such as the schedule or program necessary to demonstrate the action appropriate to the request 1).
  • the mouth pot device 2 in the present embodiment is connected to a network, and motion data (such as dance sequence) and other contents to be distributed from predetermined web service sites on the Internet are listed. Download in the same format or any other format.
  • the platform on the side of mouth pot apparatus 2 is equipped with the following components (a) to (f).
  • FIG. 4 schematically shows a functional configuration of a host computer that can operate as the server 100 in the present embodiment.
  • the main 'controller' CPU 101 runs various applications under control of the operating system.
  • the CPU 101 is, for example, a server program for operating as an HTTP server on the Internet, an interface agent for analyzing requests from the browser 1, a user 1)
  • a software program such as a content manager, which provides a suitable one for the hardware configuration of the ropot apparatus 2 as the request source and the hardware configuration of the request source, and a program for responding to the request of 1. it can.
  • C PU 101 is interconnected with other devices (described later) by bus 108.
  • the main memory 120 is a storage device used for loading a program code executed in the CPU 1 or for temporarily storing work data of the executed program, for example, DRAM.
  • semiconductor memory is used.
  • a server program to operate as an HTTP server on the Internet, an “interface 'agent” that analyzes a request from user 1, a request source among data or programs for responding to user 1's request
  • the software / programs such as “Content Manager” will be loaded onto the main memory 102 to provide the hardware configuration and platform configuration suitable for the desktop device 2.
  • a ROM (Read Only Memory) 103 is a semiconductor memory for permanently storing data. For example, a program for power on self test (POST) or a program for hardware input / output is possible. ⁇ Code (BI OS: Basic Input / Output System) is written.
  • Display ⁇ Controller 104 executes drawing commands issued by CPU 101 It is a dedicated controller for processing at the same time.
  • the display data processed in the display controller 104 is temporarily written, for example, in a frame buffer (not shown) and then displayed on the screen by the display 111.
  • An input device interface 105 is a device for connecting a user input device such as a keyboard 112 or a mouse 113 to the server 100.
  • the keyboard 1 1 2 and the mouse 1 1 3 are responsible for capturing user input such as commands and commands into the system.
  • the network interface 106 is a local network such as a LAN (Local Area Network), or even an Internet, according to a predetermined communication protocol such as Etherne t (registered trademark). Connection to a wide area network.
  • LAN Local Area Network
  • Etherne t registered trademark
  • a distributed computing environment is established by transparently connecting a plurality of host computers (not shown) and a random device 2 as a client.
  • delivery services such as software, programming, content, etc. can be performed.
  • a server or program for operating as an HTTP server on the Internet an interface 'agent' for analyzing a request from user 1, a schedule or a program for responding to a request from a browser 1 or a program
  • software / programs such as “Content Manager” that provides the hardware configuration and platform suitable for the request source's device 2 via the network.
  • the external device interface 1 0 7 is a device for connecting an external device such as a hard disk drive (HDD) 1 1 4 or a media drive 1 1 5 to the server 1 0 0.
  • HDD hard disk drive
  • the HDD 114 is an external storage device on which a magnetic disk as a storage carrier is fixedly mounted, and is superior to other external storage devices in terms of storage capacity, data transfer speed, etc. ing.
  • Software 'Placing the program on the HDD 1 14 in an executable state is called installing the program into the system.
  • the HDD 1 1 4 has a CPU 1 0 1 executing a program ⁇ system program ⁇ code
  • Application programs, devices, drivers, etc. are stored non-volatilely.
  • a server or program to operate as an HTT P server on the Internet an in-process agent that analyzes requests from user 1, a request source among data and programs for responding to user 1's request It is possible to install on the HD D 114 the software / program etc. such as the content 'manager or the like that provides the hardware configuration of the robot device 2 and the one that is suitable for the platform.
  • the HDD 114 constitutes a content storage unit 120.
  • Content storage unit 120 includes a wide variety of data such as fairy tales and dictionaries, data such as riddles, content, dance and song applications, middleware including recognition software, behavior control software for mouth pot device 2, etc. Programs are accumulated.
  • Media 'drive 1 15 is a device for loading portable media such as CD (Compact Disc), MO (Magneto-Optical 1 disc), DVD (Digital Versatile Disc), etc. and accessing its data recording surface .
  • CD Compact Disc
  • MO Magnetic-Optical 1 disc
  • DVD Digital Versatile Disc
  • Portable media is mainly used for the purpose of backing up software 'program's, programs, files, etc. as computer readable format and moving them between systems (including sales, distribution, distribution). Be done.
  • a server program to operate as an HT TP server on an internet "interface 'agent” that analyzes requests from user 1, data or programs to respond to user 1's requests Among them, a “content manager” that provides the hardware configuration and platform form suitable for the request source, the port apparatus 2, can be used among a plurality of devices using these portable media. It can be physically distributed and distributed.
  • execution environment-dependent and non-dependant data and content programs for ropot devices can be physically distributed and distributed among a plurality of devices using portable media.
  • the server 100 has the following components (a) to (d) in order to provide the mouth pot device 2 with services according to the execution environment.
  • SOAP is a protocol for calling data and services on other systems, and is configured based on XML and HTTP.
  • messages envelopes
  • HTTP HyperText Transfer Protocol
  • the user 1 interacts with the mouth pot device 2 through interaction.
  • the user 1 asks the mouth pot device 2 for any new information.
  • the mouth pot device 2 searches the server 100 on the Internet in order to meet the request of the user 1. At that time, we will send a request of a predetermined format (QA form: described later). That is, the mouth pot device 2 extracts the necessary information by interacting with the user 1, embeds the information in the corresponding blank field of the format, and transmits this to the server 100.
  • a predetermined format QA form: described later
  • the format of the QA form includes information to identify the hardware configuration and platform of the robot 1 and device 2 and the current working environment, etc., and the robot device 2 is stand-alone. Created from data held or acquired internally even in the state it can.
  • the server 100 generates a necessary answer according to the format received from the mouth pot device 2 and sends it back to the robot device 2 as the request source.
  • the mouth pot device 2 reads the reply from the server 100 and informs the user 1 that there is a new match suitable for the configuration of the ropod device 2, for example.
  • the robot device 2 When the user 1 interactively communicates with the robot device 2 that he / she wants the dance to be shown, the robot device 2 requests the server 100 to download the dance data. The server 100 starts downloading the dance data according to the request from the robot device 2.
  • dance performance can be supplied to user 1 by automatically selecting a new dance date and time suitable for the hardware configuration and platform of the ropot device 2 as the request source.
  • a new dance date and time suitable for the hardware configuration and platform of the ropot device 2 as the request source.
  • the robot device 2 can perform demonstrative dance data and reproducible song data and so on.
  • Some of the content is not based on dance or other activities, but some of them read fairy tales to user 1.
  • the server 100 distributes data and programs according to the difference in hardware configuration and platform to the robot apparatus 2 as a client. Is shown schematically.
  • the robot device 2 creates a QA form through interaction with the user 1 and the like.
  • the QA form describes the service required by the robot device 2 and information that is a key to analyze the content. Passed
  • the server 100 side supplies the service and content requested by the mouth pot device 2 in a format suitable for the robot device 2 based on the QA form. Also, if there is not enough information in the description content of the received QA form, the server 100 will return a request to provide information and a reason why the request can not be answered.
  • the server 100 side On the server 100 side, according to the contents of the Q A form sent, the necessary data and software are selected from the contents database and sent to the mapping device 2.
  • the server 100 side holds, for example, byte code, which is a CPU independent intermediate code format, and binary code format, which is CPU dependent format, per one dance data. . Then, based on the analysis result of the QA form, it is judged whether to send the data in the form of pit code or binary code.
  • FIG. 6 shows a cooperative operation procedure in which the robot apparatus 2 sends a QA form to request data or a program, and the server 100 responds thereto.
  • the platform on the side of the mouth pot apparatus 2 is equipped with the following components (a) to (f).
  • the server 100 is provided with each component shown in the following (a) to (d) in order to provide the mouth pot apparatus 2 with a service according to the execution environment.
  • the robot apparatus 2 side incorporates the QA form created through interaction with the user 1 into the S OAP envelope, and queries the server 100 by the HTTP protocol.
  • the server 100 side analyzes the SOAP envelope and extracts element information. Then, it matches with the registered information of the registered software, and creates a list of available software. This list is incorporated into the SOAP envelope and returned to ROPOT2 as an SOAP response.
  • the mouth pot device 2 When the mouth pot device 2 receives the S ⁇ AP response, it analyzes it and takes out the element information, and matches it with the user 1's personal information (hobby, preferences, etc.) accumulated and it is easy to match Select software. Then, create an acquisition request to server 100, embed this in the S OAP envelope, and send it to server 100.
  • the server 100 When the server 100 receives this request, it creates an S O AP response including an UR L indicating the location of the necessary file, and returns it to the ropod device 2.
  • the mouth pot device 2 requests the necessary file from the server 100 by the HTTP GET request.
  • Server 100 returns the requested file to device 2.
  • the mouth pot device 2 demonstrates dances and other actions required by the user 1 when the necessary files are ready.
  • the information described in the QA form is roughly divided into the following two.
  • “Information on service request” indicates the contents of interaction with user 1 and index values related to emotions such as instinct and emotion of the robot device 2 at that time, temperature and humidity to detect the housing, light intensity, solar radiation amount, and sunshine duration Or other index values of external stimuli are included.
  • “Function list of mouth pot device” corresponds to, for example, configuration information of an external stimulus recognition software (face recognition, speech recognition, etc.) or mid-air such as speech synthesis software (TTS).
  • an external stimulus recognition software face recognition, speech recognition, etc.
  • TTS speech synthesis software
  • “information indicating the hardware configuration of the mouth pot device” includes the physical shape of the mouth pot device 2 (humanoid, four-leg pet type, utility type, tire type, etc.), the number of legs (two legs, four Information that describes, for example, the maximum movement speed, the number of hands, the ability to carry hands, physical characteristics of other cases, and indicators of thinking (calculation) ability.
  • the server 100 uses the information contained in the QA form to determine the content (data or program) to be provided to the mouth pot device 2.
  • the following meta information on content is added to the content storage unit 120:
  • the physical shape of the robot device 2 (humanoid, 4-foot pet type, utility type, tire type, etc.), number of legs (2-leg, 4-leg etc), maximum moving speed
  • the information includes, for example, the number of hands, hand transportability, physical characteristics of other cases, and indicators of thinking (calculation) ability.
  • the content manager of the server 100 responds to the request of the user 1 by matching the element information extracted from the QA form obtained from the robot device 2 with the meta information of the content storage unit 120. Of the data and programs listed in, select the appropriate one for the hardware configuration and platform of the ROPOT device 2 that is the request source. The operation procedure of the content manager 1 2 2 at this time is shown in the flowchart of FIG.
  • step S1 the content storage unit 120 is searched according to the service request.
  • step S2 if there is a content that matches the service request in the field enclosed by ContentsType> Contents / ContentsType>, push it to stack.
  • step S3 it is determined whether or not all the content has been confirmed, and if it is confirmed, the process proceeds to step S4. On the other hand, if all the contents have not been confirmed, the process returns to step S2 and the same process is repeated.
  • step S4 the pushed content is popped and compared with the information on the mouth pot device.
  • step S5 the matched content is registered in the candidate list, and the non-matching content is discarded.
  • step S6 it is determined whether all the stacks have been checked, and if all the stacks have been checked, the process ends. On the other hand, if all stacks have not been examined, return to step S4 and continue processing.
  • the information is sent even in a multi-platform environment where there are a plurality of robot devices having different hardware configurations and platforms.
  • the information on ropot equipment it is possible to provide data and programs suitable for each ropot equipment and make the service executable.
  • FIG. 8 schematically shows the entire configuration of the information providing system in the second embodiment.
  • the home potters in each home are connected to the Internet via the home gateway etc.
  • users 1 a, 1 b and 1 c are described as user 1 when there is no need to distinguish them, and when there is no need to distinguish between mouth pot devices 2 a, 2 b and 2 c, mouth pot devices It is written as 2.
  • a server 100 for providing services to these robot devices 2 is installed on the Internet.
  • FIG. 9 shows a rough exchange between the robot apparatus 2 and the server 100. That is, first, the pot device 2 requests a service from the server 100. At this time, the mouth pot device 2 sends the server 10 a function list describing its own function, in particular middleware configuration information, in addition to the information related to the service request. Allow 0 to select appropriate data or program. The server 100 transmits appropriate data or program to the mouth pot device 2 in response to the request from the mouth pot device 2. As will be described later, these may be a simple language or code, such as J ava or P y t h o n, or a simple instruction. In the present embodiment, it is assumed that H.sub.TPT and S.sub.O.sub.AP on top of it are used as a network connection protocol.
  • H.sub.TPT and S.sub.O.sub.AP on top of it are used as a network connection protocol.
  • the robot device 2 queries the user 1 and if the reply by the robot 1 is affirmative, the message A is transmitted to the user 1, and the reply is negative. In this case, consider what conveys message B to user 1. And, to execute this service, three functions of a face identification function, a speech recognition function, and a speech synthesis TTS function are required as functions of the robot apparatus 2. Each service and the function required to execute the service are associated in advance in the server 100.
  • the above-mentioned mouth pot device 2 a has all the three functions of face recognition function, voice recognition function, and TTS function.
  • the mouth pot device 2b has only a speech recognition function and does not have the other two functions.
  • the pot device 2c has only a face identification function and does not have the other two functions. For this reason, when the same data or program is sent to the mouth pot device 2a, 2b, 2c, the ropod device 2 which does not have some or all of the functions required to execute the service Will not be able to
  • the server 100 in the present embodiment takes into consideration the differences in the functions of the individual mouth pot apparatuses 2 and does not provide a part or all of the functions necessary for executing the service. Send a schedule or program to replace the missing function with the function that the robot device 2 can use, and make the service executable.
  • a mouth pot device 2a, 2c having a face identification function can distinguish the user 1, but a mouth pot device 2b not having a face identification function may use another to distinguish the user 1.
  • the function of must be used. Therefore, the server 100 transmits voice waveform data so that, for example, the robot device 2 b can call the name of the user 1 b and make a decision based on that reply.
  • the mouth pot devices 2a and 2b having the voice recognition function can distinguish the answer of the question by voice, but the ropot device 2c having no voice recognition function judges the answer of the question. You have to use another function to do this.
  • the server 100 will answer affirmatively if the switch on the right shoulder is pressed and negative if the switch on the left shoulder is pressed. Transmit voice waveform data so that it can be communicated to user1.
  • the pot unit 2a having the TTS function can speak a question or a message only with sentences (texts and texts)
  • the mouth pot unit 2b and 2c which does not have the TTS function. To speak questions and messages Have to use another function. Therefore, the server 100 transmits voice waveform data instead of, for example, text (text data).
  • the software configuration of the robot apparatus 2 is shown in FIG.
  • the software of the robot device 2 is a system provided with an operating system 201, a device driver 202, or an API (Application Program Interface) that interfaces with them.
  • a middleware layer 210 consisting of a group of software that realizes a layer 200, face recognition function, voice recognition function, TTS function, etc., and an application layer that executes services or acts autonomously. It consists of a network connection layer 230 that connects to the network and issues appropriate instructions and sends and receives data.
  • the middleware layer 210 and the application layer 220 will be further described with reference to FIG. 11 by taking the case of the robot apparatus 2 a as an example.
  • the middleware layer 210 of the ropot device 2 a there exist software objects 21 1 to 21 3 of face identification, speech recognition, and TTS, respectively, and these are system layers for appropriate inter-object communication.
  • 0 and application layer 220 Connected to software.
  • the application layer 220 has a short-term storage unit 21 1 and a behavior control unit 22 2.
  • the short-term storage unit 21 is a unit that integrates the outputs from the middleware layer 210 and stores what exists outside the mouth pot device 2a. This is a mechanism for holding a person or the like once detected by image processing even if it is out of the field of view, for example, because the view angle or the like of the CCD camera 15 is limited.
  • the behavior control unit 22 2 is a part that appropriately manages and controls behavior modules.
  • the behavior module 2 2 3 is a module that receives an output such as face identification from the middleware layer 2 10 0 and generates an action such as searching for a face or approaching to a face.
  • the action module 223 can request the network connection layer 230 to issue an instruction, and can transmit and receive data.
  • the network connection layer 230 there is a software object 231 for managing the network, which accesses the service on the internet according to the internet protocol, and transmits / receives data or programs. can do.
  • the behavior module 2 2 3 can use script language or byte data such as Ja Va or Python. ⁇ By executing script language and byte data sent from server 100 on the net, it is possible to realize services as actions of robot device 2 a specifically.
  • the action module 2 23 has a monitor function and an action function.
  • the monitor function monitors the external situation and internal state from the software of the middleware layer 120 to determine an action value indicating the degree of execution request of the action described in the action module.
  • a plurality of action modules calculate this action value in parallel, and the action control unit 222 executes the action function of the action module with high action value.
  • the function receives the output of face identification etc. from the software of the middleware layer 210 and controls the mouth pot device 2 a by outputting it to speech synthesis etc.
  • these functions can be realized with script language or byte code sent from server 100 on the Internet.
  • the behavior module 223 is implemented in a tree structure as described later.
  • the mouth pot devices 2a, 2b, 2c execute a service, that is, the mouth pot devices 2a, 2b, 2c look for users la, lb, lc and ask questions, and A case will be described in which different messages A and B are voiced to the users la, lb and 1c depending on whether the reply is positive or negative.
  • the mouth pot device 2a has a face identification function, a speech recognition function, and a TTS function, and in addition to the information on the service request, for example, a function list as shown in FIG. Send to
  • the server 100 specifies the functions required to execute the service. In the case of the present embodiment, as described above, the three functions of the face identification function, the speech recognition function, and the TTS function are required. Then, the server 100 analyzes this function list according to the program as shown in FIG. 13, for example, and checks whether or not the function necessary to execute the service is provided. As described above, since the mouth pot device 2a has all the functions necessary to execute the service, the server 100 can use a program that uses these three functions in the mouth pot device 2a. send. Specifically, as shown in Fig. 14, the data constituting the tree structure of the behavior module and the implementation of the monitor function and the action function of each behavior module are sent.
  • the action controller 22 2 Suppose that you have a rule module as the top of the tree structure of the action module.
  • the parent module of the service in this embodiment is a service behavior module, and a search behavior module, an approach behavior module, and a message behavior module are configured as child modules.
  • Face ID and Distance are shared information area issued by the service behavior module, and these information are shared among modules.
  • FaceID usrFaceID
  • it is still necessary to search for user 1 a so high action value is returned to the service behavior module, and user 1 a is found.
  • FaceID usrFaceID And return low behavioral value to the service behavioral module.
  • moving the viewpoint of ropot 2 a sends new information to short-term storage unit 221, and the user Control to find 1 a. Specifically, shake your head, turn your body, move, etc. to change your point of view.
  • the approach action module is an action module that controls to be an appropriate distance to the discovered user 1a.
  • a monitor function if a value is included in the FacelD set from the service behavior module, the Distance value dist of that Distance is inquired to the short-term storage unit 221, and if the value dist is out of a preset range, high behavior value is returned. Because it does not have to move anymore within the range, it returns low action value.
  • the objective function is to approach user 1 a, and if the value dist is smaller than the set minimum distance minDialogueDist, the distance to user 1 a is too close, so from user 1 a Issue an instruction to move backwards. On the other hand, if the value dist is larger than the maximum value maxDialogueDist set, the distance to user 1 a is too far In order to reach user 1 a, issue an instruction for forward movement approaching.
  • the message action module is an action module that delivers a message according to an appropriate sequence when the user 1a is within the range where he can speak.
  • the action function can be realized by a state machine as shown in Figure 15. That is, first, the question message is output to the T T S module as a text message to wait for the response of the user 1 a. Then, if the response of the user 1 a is Y E S, the message A is output and the process ends. If the response of the user 1 a is N 0, the message B is output and the process ends.
  • the mouth pot device 2b has only the speech recognition function and does not have the face identification function and the TTS function, in addition to the information related to the service request, for example, the function list as shown in FIG. Send to 1000.
  • the server 100 does the server 100 identify the functions required to execute the service in the same manner as described above, and further analyze the function list sent from the mouth pot device 2 b and have the functions necessary to execute the service? Check if it is not.
  • the server 100 substitutes the lacking face identification function and TTS function with the functions provided in the mouth pot device 2 b.
  • a user discovery action module and a message action module are configured as child modules of the service action module.
  • the user discovery action module is an action module for discovering the user 1 b without using the face identification function.
  • the mouth pot device lb does not have the TTS function, it has an audio signal output means and can output the audio waveform itself.
  • audio waveform data compliant with the WAB file format is output.
  • This voice waveform data is sent from server 100.
  • the action function can be realized by a state machine as shown in Figure 18 Can. That is, for example, the user search message "Say Mr. XX, please answer” Yes "if it is” is output by voice, and the user 1 b waits for a response. Then, if the user lb replies "Yes", it assumes that the user 1b is found and the user ID is YES, and the process moves to the message action module.
  • the message action module can be realized by basically the same state machine as the robot 2a. That is, it outputs a question message to user 1 b and waits for a response. Then, if the response of the user 1 b is Y ES, the message A is output and the process ends, and if the response of the user 1 b is NO, the message B is output and the process ends. However, this output is voice waveform data unlike the mouth pot 1 a.
  • the mouth pot device 2c has only the face identification function and does not have the speech recognition function and the TTS function, in addition to the information on the service request, for example, the function list as shown in FIG. Send to 1000.
  • the server 100 identifies the functions required to execute the service, analyzes the function list sent from the mouth pot device 2c, and provides the functions necessary to execute the service. Check if it is As described above, since the mouth pot device 2c has only a face identification function, the server 100 substitutes the missing face identification function and TTS function in the functions provided in the mouth pot device 2c. Send a program or program to the robot 2c. Specifically, as shown in Fig.14, send data of the tree structure of the action module and the implementation of the monitor function and the function of the action module of each action module.
  • the approach behavior module controls so as to be an appropriate distance to the found user 1a.
  • the message action module delivers messages according to an appropriate sequence when the user 1 c is within the range where he can speak. At this time, as in the case of the mouth pot 2b, the voice waveform data sent from the server 100 is output.
  • This message The behavior module can be realized by a state machine as shown in FIG. That is, it outputs a question message to user 1 c and waits for a response. Then, if the response of the user 1 c is YES, the message A is output and the process ends. If the response of the user 1 c is NO, the message B is output and the process is ended. At this time, the right shoulder switch and the left shoulder switch will be used for speech recognition. This is when waiting for a user response
  • the function of the ropot apparatus which is sent even in the multi-brow form environment in which a plurality of ropot apparatuses having a difference in middleware exist
  • the service can be made executable by sending a schedule or program to replace the function that is insufficient for service execution with the function that the pot device can use in consideration of the information.
  • the server 100 stores the function object used by the mouth pot device 2 in, for example, the content storage unit 120, and the service request and the function list are sent from the ropod device 2 In addition to identifying the functions required to execute the service, identify the functions that the pot device 2 lacks among the required functions. Then, when transmitting data or a program corresponding to the requested service, the functional object corresponding to the insufficient function is retrieved from the content storage unit 120 and transmitted.
  • the functional object may be stored in another database instead of the content storage unit 120.
  • the gist of the present invention is not limited to this.
  • the software provided to the mouth pot device may be classified not at one site, but at multiple sites, and a Web service may be constructed to guide other sites for linking them.
  • an excellent information providing system and information providing system can suitably provide data and programs to a plurality of pot devices having different hardware configurations and platforms. We can provide a way.
  • appropriate services can be received even in various types of mouth pot devices, and different ropot devices that can be recognized by sensors, image recognition, etc., and the service provider side can also receive various types of ropod devices.

Abstract

 ロボット装置とサーバは、SOAPプロトコルに従って通信を行う。ロボット装置からの問い合わせに記述されているサービス要求に関する情報と、ロボット装置に関する情報を、データやプログラムの付加情報とマッチングをとることにより、ハードウェア構成やプラットフォームの相違がある複数のロボット装置が存在するマルチプラットフォーム環境下で、個々のロボット装置に適したデータやプログラムを好適に提供する。

Description

明細書 情報提供装置及ぴ方法、 並びに情報提供システム 技術分野 本発明は、 ネットワーク経由でデータやプログラムを提供する情報提供装置及 びその方法、 並びに情報提供システムに係り、 特に、 ネットワーク経由でロポッ ト装置にデータやプログラムを提供する情報提供装置及びその方法、 並びに情報 提供システムに関する。
さらに詳しくは、 本発明は、 ハードウェア構成やプラットフォームの相違があ る複数の口ポット装置に対してデータやプログラムを提供する情報提供装置及び その方法、 並びに情報提供システムに係り、 特に、 個々の口ポット装置のハード ウェア構成やプラットフォームの相違に応じたデ一夕やプログラムを提供する
(すなわち、 「マルチ口ポット · プラットフォーム」 を提供する) 情報提供装置 及びその方法、 並びに情報提供システムに関する。
本出願は、 日本国において 2003年 3月 28日に出願された日本特許出願番 号 2003— 092166を基礎として優先権を主張するものであり、 この出願 は参照することにより、 本出願に援用される。 背景技術 電気的又は磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のこ とを 「口ポット」 という。 口ポットの語源は、 スラブ語の "ROBOTA (奴隸 機械) " に由来すると言われている。 我が国でロボット装置が普及し始めたのは 1 960年代末からであるが、 その多くは、 工場における生産作業の自動化 ·無 人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロポット装置 (industrial robot) であった。
ロポット装置の用途の 1つとして、 産業活動 ·生産活動等における各種の難作 業の代行が挙げられる。 例えば、 原子力発電プラントや火力発電プラント、 石油 化学プラントにおけるメンテナンス作業、 製造工場における部品の搬送 ·組立作 業、 高層ビルにおける清掃、 火災現場その他における救助といったような危険作 業 ·難作業の代行などである。
また、 ロボット装置の他の用途として、 上述の作業支援というよりも、 生活密 着型、 すなわち人間との 「共生」 或いは 「エンターテインメント」 という用途が 挙げられる。 この種の口ポット装置は、 ヒト或いはィヌ (ペット) 、 クマなどの 比較的知性の高い脚式歩行動物の動作メカニズムや四肢を利用した豊かな感情表 現を忠実に再現する。 また、 予め入力された動作パターンを単に忠実に実行する だけではなく、 ユーザ (或いは他のロボット装置) から受ける言葉や態度 ( 「褒 める」 とか 「叱る」 、 「叩く」 など) に対して動的に対応した、 生き生きとした 応答表現を実現することも要求される。
最近では、 2足歩行、 4足歩行、 タイヤ式など、 様々なタイプの移動口ポット が各社から提供されるようになってきている。
ところで、 口ポット装置を動作させるためには、 機体動作を記述したモ一ショ ン ·データや、 外部刺激や内部状態に応じた行動制御を行うアプリケ一ションな ど、 様々なソフトウェアが必要である。 ところが、 必要と思われる全てのソフト ウェアを予めロポット装置にインストールしておくことはメモリ容量の制限から 無理がある。 また、 バ一ジョンの変更や新製品の登場などによって、 出荷した後 任意の夕イミングでソフトウエアをィンストールする必要がある。
そこで、 ネッ卜ワーク上にあるサーバから新たなソフ卜ウェアをロポット装置 にダウン口一ドするといつた、 ソフトウエアをロポット装置に供給する仕組みが 必要であると考えられる。
ところが、 ネットワークからロボット装置用のサービス或いはコンテンツを供 給する場合、 口ポット装置の種類がその製造元により異なり、 或いは同じ製造元 であってもハードウエア構成やブラットフオーム (搭載されているォペレ一ティ ング · システム ( O S ) ゃミ ドルウェア, アプリケーション、 コンテンッ) の相 違があるため、 複数のロボット装置に対してそれぞれ別々のサービスやコンテン ッを提供しなければならないという不都合がある。 発明の開示 本発明の目的は、 ハ一ドウエア構成やブラットフォームの相違がある複数の口 ボット装置に対してデータやプログラムを好適に提供することができる、 優れた 情報提供装置及びその方法、 並びに情報提供システムを提供することにある。 本発明のさらなる目的は、 ハ一ドウエア構成やブラットフォームの相違がある 複数のロボッ 1、装置が存在するマルチブラットフオーム環境下で、 個々のロポッ ト装置に適したデータやプログラムを好適に提供することができる、 優れた情報 提供装置及びその方法、 並びに情報提供システムを提供することにある。
本発明に係る情報提供装置は、 上記課題を参酌してなされたものであり、 ネッ トワーク経由で口ポット装置にデータ又はプログラムを提供する情報提供装置で あって、 ロポット装置に提供するデータ又はプログラムが蓄積されたコンテンツ 蓄積手段と、 ロポット装置からサービス要求に関する情報と該ロポット装置に関 する情報とを含む問い合わせを受信する受信手段と、 上記問い合わせを解析する 解析手段と、 要求されたサービスに応じたデータ又はプログラムを上記ロポット 装置に送信する送信手段とを備えるこ を特徴とするものである。
ただし、 この情報提供装置は、 複数の装置 (又は特定の機能を実現する機能モ ジュール) が論理的に集合したものを含み、 各装置や機能モジュールが単一の筐 体内にあるか否かは特に問わない。
ここで、 情報提供装置は、 S OAP (Simple Object Access Protocol) プロト コルに従って口ポット装置と通信を行うようにしてもよい。
S OAP (Simple Object Access Protocol) は、 他のシステム上のデータゃサ 一ビスを呼び出すためのプロトコルであり、 XML (extended Markup Languag e) や HTTP (Hyper Text Transfer Protocol) をべ一スとして構成される。 S OAPによる通信では、 XMLドキュメントに付帯情報が付けられたメッセージ (エンベロープ) を、 H T T Pなどのプロトコルで交換する。 クライアントとサ ーバの双方が S OAPの生成及び解釈を行うェンジンを装備することで、 異なる 環境間でのオブジェクト呼出しが可能となる。 本発明に係る情報提供装置は、 上記コンテンツ蓄積手段に蓄積されるデ一夕又 はプログラムに関する付加情報を管理するデータベースと、 上記問い合わせと上 記デ一夕ベースの付加情報とのマッチングをとり、 提供可能なデータ又はプログ ラムのリストを作成してロボット装置に返す手段とをさらに備えてもよい。
また、 本発明に係る情報提供装置は、 上記提供可能なデータ又はプログラムの リストに対する上記ロボット装置からの選択結果に応答して、 該選択されたデ一 夕又はプログラムへのアクセス方法を返す手段をさらに備えてもよく、 この場合、 上記送信手段は、 上記ロボット装置からの上記アクセス方法に従ったアクセス要 求に応答して、 要求されたデータ又はプログラムを送信する。
ここで、 上記データ又はプログラムに関する付加情報は、 サ一ビスに関する情 報と、 口ポット装置に関する情報とを含むものとする。
このような情報提供装置によれば、 ロポット装置からの問い合わせに含まれて いるサービス要求に関する情報及びロポット装置に関する情報を、 データ又はプ 口グラムの付加情報とマッチングをとることにより、 ハードウエア構成やブラッ トフオームの相違がある複数のロポット装置が存在するマルチプラットフオーム 環境下においても、 個々のロポット装置に適したデータやプログラムを好適に提 供することができる。
ここで、 口ポット装置に関する情報は、 以下に示す情報のうち少なくとも一部 を含むものとする。
( 1 ) ロポット装置毎にユニークに割り振られるロポット固有 I D
( 2 ) ロポット装置の種類毎にユニークに割り振られるロポット種類 I D
( 3 ) ロポット装置の機能リスト
( 4 ) 口ポット装置のハードウェア構成を示す情報
( 5 ) 口ポット装置が持つデータベース · リスト
また、 本発明に係る情報提供装置は、 上記口ポット装置に関する情報がロポッ 卜装置の機能リス卜を少なくとも含む場合、 上記ロポット装置がサービスを実行 する際に必要な必要機能を特定する必要機能特定手段と、 上記必要機能特定手段 により特定された必要機能と、 上記ロボット装置の機能リス卜とを比較すること で、 上記必要機能のうち上記ロポット装置に不足している不足機能を特定する不 足機能特定手段とをさらに備えてもよく、 この場合、 上記送信手段は、 上記不足 機能を該ロポット装置が利用可能な機能で代替させるためのデ一夕又はプロダラ ムを送信する。
また、 本発明に係る情報提供装置は、 上記口ポット装置に関する情報が同様に ロボット装置の機能リストを少なくとも含む場合、 ロポット装置で利用される機 能オブジェク卜が記憶されたォブジェクト記憶手段と、 上記ロボット装置がサー ビスを実行する際に必要な必要機能を特定する必要機能特定手段と、 上記必要機 能特定手段により特定された必要機能と、 上記ロポット装置の機能リストとを比 較することで、 上記必要機能のうち上記ロポッ卜装置に不足している不足機能を 特定する不足機能特定手段と、 上記不足機能に対応する不足機能オブジェクトを 上記オブジェクト記憶手段から検索する検索手段とをさらに備えてもよく、 この 場合、 上記送信手段は、 上記要求されたサービスに応じたデータ又はプログラム とともに、 上記不足機能オブジェクトを上記ロポット装置に送信する。
このような情報提供装置によれば、 ロポット装置からの問い合わせに含まれて いる口ポット装置に関する情報のうち口ポット装置の機能に関する情報を考慮し、 ロポット装置がサービスを実行する際に必要な必要機能のうち該ロボット装置に 不足している不足機能をその口ポット装置が利用可能な機能で代替させるための データ又はプログラム、 或いは不足機能に応じた不足機能オブジェクトを送信す ることにより、 ミドルウェアの機能に相違がある複数のロポット装置が存在する マルチプラットフオーム環境下においても、 個々のロボット装置に対してサービ スを実行可能とすることができる。
本発明に係る情報提供システムは、 上記課題を参酌してなされたものであり、 ロポット装置と上述したような情報提供装置とを備えることを特徴とするもので ある。
本発明の更に他の目的、 本発明によって得られる具体的な利点は、 以下に説明 される実施例の説明から一層明らかにされるであろう。 図面の簡単な説明 図 1は、 本発明の第 1の実施の形態における情報提供システムの全体構成を模 式的に示す図である。
図 2は、 同情報提供システム上で稼動することができるロボット装置の機能構 成の一例を示す図である。
図 3は、 同ロボット装置の制御ュニットの構成を詳細に示す図である。
図 4は、 同情報提供システムにおけるサーバの機能構成を模式的に示す図であ る。
図 5は、 サーバがクライアントとしてのロボット装置に対してハードウェア構 成やブラットフオームの相違に応じたデータやプログラムの配信を行う仕組みを 説明するための図である。
図 6は、 ロポット装置が Q Aフォームを送信してデータやプログラムを要求し、 サーバがこれに応じるという協働的動作の手順を示すシーケンス図である。
図 7は、 クライアントとしてのロポット装置のハードウェア構成やプラットフ オームに適したコンテンツを選択する際のコンテンツ ·マネージャの動作手順を 説明するフローチヤ一トである。
図 8は、 本発明の第 2の実施の形態における情報提供システムの全体構成を模 式的に示す図である。
図 9は、 ロポット装置がサービス要求及び機能リストを送信してサービスを要 求し、 サーバがこれに応じるという協働的動作の手順を示すシーケンス図である。 図 1 0は、 口ポット装置のソフトウエア構成を示す図である。
図 1 1は、 ロポット装置のソフトウェアのミドルウェア層及びアプリケーショ ン層を詳細に示す図である。
図 1 2は、 ロポット装置 2 aがサーバに送る機能リストの一例を示す図である。 図 1 3は、 サーバがロボット装置から送られてきた機能リストを解析するプロ グラムの一例を示す図である。
図 1 4は、 サーバがロボット装置 2 aに送ったデータで構成される木構造の一 例を示す図である。
図 1 5は、 ロボット装置 2 aが有するメッセ一ジ行動モジュールのァクション 関数を実現するステートマシンを示す図である。 図 1 6は、 ロポット装置 2 bがサーバに送る機能リストの一例を示す図である。 図 1 7は、 サーバがロボット装置 2 bに送ったデータで構成される木構造の一 例を示す図である。
図 1 8は、 ロボット装置 2 bが有するュ一ザ発見行動モジュールのァクション 関数を実現するステ一トマシンを示す図である。
図 1 9は、 ロポッ 卜装置 2 cがサーバに送る機能リストの一例を示す図である。 図 2 0は、 ロポット装置 2 cが有するメッセージ行動モジュールのァクション 関数を実現するステ一トマシンを示す図である。 発明を実施するための最良の形態 以下、 図面を参照しながら本発明の実施の形態について詳解する。
本実施の形態における情報提供システムは、 ハ一ドウエア構成やプラットフォ ームの相違がある複数のロポット装置が存在するマルチブラットフオーム環境下 において、 個々のロポット装置に適したデータやプログラムを提供することが可 能なものである。
(第 1の実施の形態)
先ず、 第 1の実施の形態における情報提供システムの全体構成を図 1に模式的 に示す。
ロポット装置は、 ユーザと対話などのィンタラクションを行うことが可能であ る。 また、 口ポット装置は、 無線又は有線を通じてインタ一ネットと接続してい る。 同図に示す例では、 2人のユーザ、 すなわちユーザ l a, l b、 並びに 2種 類の口ポット装置、 すなわち口ポット装置 2 a, 2 bがシステム内に存在してい る。 以下、 ユーザ 1 aとユーザ 1 bとを特に区別する必要がない場合にはユーザ 1と記し、 ロポット装置 2 aとロポット装置 2 bとを特に区別する必要がない場 合にはロボット装置 2と記す。
インターネッ卜上には、 ロポット装置 2からアクセスすることができるサーバ 1 0 0が設置されている。 このサーバ 1 0 0には、 ロボット装置 2を介してユー ザ 1に提供されるコンテンツが管理されている。 また、 インタ一ネット上には、 その他の一般のサイト 1 5 0が繋がっており、 ユーザ 1は、 ニュースや天気など の情報を、 口ポット装置 2経由で、 或いはサーバ 1 0 0へ直接アクセスすること が可能である。 前者の例では ロボット装置 2の計算量を削減するため、 ロボッ ト装置 2は、 サーバ 1 0 0にアクセスし、 サーバ 1 0 0を介して一般のサイト 1 5 0の情報を取得するものとする。
図示の例では、 ユーザ 1 aはロポット装置 2 aと対話などを通じてィンタラク シヨンをし、 ユーザ 1 bはロボット装置 2 bと対話などを通じてィン夕ラクショ ンをしている。 各口ポット装置 2 a, 2 bは、 ユーザ l a , 1 bの要求に応じる ため、 サーバ 1 0 0にアクセスする。 また、 各ロポット装置 2 a , 2 bは、 製造 元毎に種類が異なり、 或いは同じ製造元であってもハードウエア構成やプラット フォームの相違がある。
サ一パ 1 0 0は、 各口ポット装置 2 a, 2 bからの要求に応じて、 ハ一ドゥエ ァ構成やプラットフオームの相違がある複数のロポット装置 2 a , 2 bに対して データやプログラムを提供する。 図示の例では、 サーバ 1 0 0は、 コンテンツ蓄 積部 1 2 0と、 インタフェース 'エージェント 1 2 1と、 コンテンツ 'マネージ ャ 1 2 2とを備えている。
コンテンツ蓄積部 1 2 0には、 童話や辞書、 なぞなぞなどのデータ · コンテン ッゃ、 踊りや歌などのアプリケーション、 認識ソフトウェアなどのミドルウェア、 ロポット装置 2の行動制御ソフトウエアなど、 多種多様なデータやプログラムが 蓄積されている。 これらデ一夕 · コンテンツやプログラムは、 その再生や実行に 際し、 ロポット装置 2側のハードウェア構成やプラットフオームなどの実行環境 の相違に依存するものと依存しないものとがある。 本実施の形態では、 コンテン ッ蓄積部 1 2 0は、 実行環境依存型のデータ · コンテンツやプログラムに関して は、 それぞれの実行環境に適合するものを用意しておく。
インタフェース ·ェ一ジェント 1 2 1は、 ユーザ 1からのリクエストを解析し、 解析結果をコンテンツ ·マネージャ 1 2 2に渡す。 コンテンッ ·マネージャ 1 2 2は、 解析結果に基づいて、 ユーザ 1のリクエストに応じるためのデータやプロ グラムのうち、 要求元となるロポット装置 2のハードウェア構成やプラットフォ —ムに適したものを選択する。 なお、 口ポット装置 2に提供するソフトウェアの分類を 1ケ所ではなく、 複数 のサイトにまたがって行い、 それらを連携させるためのさらに別のサイトを案内 する W e bサービスを構築してもよい。
図 2には、 本実施の形態における情報提供システム上で稼動することができる 口ポット装置 2の機能構成の一例を示している。 同図に示すように、 口ポット装 置 2は、 全体の動作の統括的制御やその他のデータ処理を行う制御ュニット 2 0 と、 入出力部 4 0と、 駆動部 5 0と、 電源部 6 0とで構成される。 以下、 各部に ついて説明する。
入出力部 4 0は、 入力部としてロボット装置 2の目に相当する C C Dカメラ 1 5や、 耳に相当するマイクロフォン 1 6、 頭部や背中などの部位に配設されてュ 一ザ 1の接触を感知する夕ツチ ·センサ 1 8、 或いは五感に相当するその他の各 種のセンサを含む。 また、 出力部として、 口に相当するスピーカ 1 7、 或いは点 滅の組合わせや点灯の夕イミングにより顔の表情を形成する L E Dインジケータ (目ランプ) 1 9などを装備している。 これら出力部は、 音声やランプの点滅を 行うことによって、 脚などによる機械運動パターン以外の形式でも、 口ポット装 置 2からユーザ · フィードバックを表現することができる。
駆動部 5 0は、 制御ュニット 2 0が指令する所定の運動パターンに従ってロボ ット装置 2の機体動作を実現する機能ブロックであり、 行動制御による制御対象 である。 駆動部 5 0は、 口ポット装置 2の各関節における自由度を実現するため の機能モジュールであり、 それぞれの関節におけるロール、 ピッチ、 ョ一など関 節軸毎に設けられた複数の駆動ユニットで構成される。 各駆動ユニットは、 所定 軸回りの回転動作を行うモータ 5 1と、 モ一夕 5 1の回転位置を検出するェンコ ーダ 5 2と、 エンコーダ 5 2の出力に基づいてモ一夕 5 1の回転位置や回転速度 を適応的に制御するドライバ 5 3の組合わせで構成される。
駆動ュニットの組合わせ方によって、 ロポット装置 2のハ一ドウエア構成が定 まる。 例えば、 口ポット装置 2を例えば 2足歩行又は 4足歩行などの脚式移動口 ポットとして構成したり、 或いはタイヤ式の移動ロポットとして構成したりする ことができる。
電源部 6 0は、 その字義通り、 口ポット装置 2内の各電気回路などに対して給 電を行う機能モジュールである。 本実施の形態における口ポット装置 2は、 バッ テリを用いた自律駆動式であり、 電源部 6 0は、 充電バッテリ 6 1と、 充電バッ テリ 6 1の充放電状態を管理する充放電制御部 6 2とで構成される。
充電バッテリ 6 1は、 例えば、 複数本のリチウムイオン 2次電池セルをカート リッジ式にパッケージ化した 「バッテリ 'パック」 の形態で構成される。
また、 充放電制御部 6 2は、 充電バッテリ 6 1の端子電圧や充電 Z放電電流量、 充電バッテリ 6 1の周囲温度などを測定することで充電バッテリ 6 1の残存容量 を把握し、 充電の開始時期や終了時期などを決定する。 充放電制御部 62が決定 する充電の開始及び終了時期は制御ュニット 20に通知され、 ロポット装置 2が 充電オペレ一ションを開始及び終了するためのトリガとなる。
制御ユニット 20は、 口ポット装置 2の頭脳に相当し、 例えば口ポット装置 2 の機体頭部或いは胴体部に搭載されている。
図 3には、 制御ユニット 20の構成をさらに詳細に図解している。 同図に示す ように、 制御ユニット 20は、 メイン · コントローラとしての CPU (Central Processing Unit) 2 1が、 メモリやその他の各回路コンポーネントや周辺機器と バス接続された構成となっている。 バス 2 8は、 デ一夕 'バス、 アドレス 'バス、 コントロール ·バスなどを含む共通信号伝送路である。 バス 28上の各装置には それぞれに固有のアドレス (メモリ , アドレス又は I 〇アドレス) が割り当て られている。 CPU2 1は、 ァドレスを指定することによってバス 2 8上の特定 の装置と通信することができる。
CPU 2 1上では、 ォペレ一ティング ' システム (OS) による制御下で、 各 種のアプリケーション · プログラム (コンテンツ再生ソフトウェアなど) や、 外 部環境 (視覚、 聴覚など) 認識ソフトウェアなどのミ ドルウェアが実行される。 ロポット装置 2が持つハードウエア構成とォペレ一ティング · システムの組合わ せにより、 口ポット装置 2のプラットフォームが定まる。 実行プログラムには、 ハ一ドウエア構成やプラットフオームにより提供される実行環境に依存する夕ィ プと依存しないタイプとがある。 また、 装備されるミ ドルウェアに応じて、 ロボ ッ卜装置 2上で再生可能なコンテンツと再生不可能なコンテンツとに分かれる。
RAM (Random Access Memory) 22は、 DRAM (Dynamic RAM) などの揮発 性メモリで構成された書込可能メモリであり、 CPU2 1が実行するプログラム • コードをロードしたり、 実行プログラムによる作業データの一時的な保存した りするために使用される。
ROM (Read Only Memory) 23は、 プログラムゃデ一夕を恒久的に格納する 読み出し専用メモリである。 ROM 23に格納されるプログラム · コードには、 ロボット装置 2の電源投入時に実行する自己診断テスト · プログラムや、 ロポッ ト装置 2の動作を規定する動作制御プログラムなどが挙げられる。
ロポット装置 2の制御プログラムには、 C C Dカメラ 1 5やマイクロフオン 1 6などのセンサ入力を処理して外界からの刺激をシンポルとして認識する 「セン サ入力 ·認識処理プログラム」 、 短期記憶や長期記憶などの記憶動作を司りなが らセンサ入力と所定の行動制御モデルとに基づいて口ポット装置 2の行動を制御 する 「行動制御プログラム」 、 行動制御モデルに従って各関節モータの駆動ゃス ピー力 1 7の音声出力などを制御する 「駆動制御プログラム」 、 ユーザ 1との対 話を通じたインタラクションを行う 「対話プログラム」 、 ネットワーク経由でサ —バ 1 0 0にアクセスしてュ一ザ 1のリクエストに応えるためのデータゃプログ ラムを取得する 「デ一タ プログラム取得プログラム」 などが含まれる。
不揮発性メモリ 24は、 例えば EE PROM (Electrically Erasable and Pr ogra匪 able ROM) のように電気的に消去再書込みが可能なメモリ素子で構成され、 逐次更新すべきデータを不揮発的に保持するために使用される。 逐次更新すべき データには、 暗号鍵やその他のセキュリティ情報、 出荷後にインストールすべき 装置制御プログラムなどが挙げられる。
インタフェース 25は、 制御ユニット 20外の機器と相互接続し、 データ交換 を可能にするための装置である。 インタフェース 25は、 例えば、 CCDカメラ 1 5やマイクロフォン 16、 スピーカ 1 7との間でデータ入出力を行う。 また、 ィンタフエース 25は、 駆動部 50内の各ドライバ 53— 1 , …との間でデータ ゃコマンドの入出力を行う。
また、 イン夕フエ一ス 25は、 RS (Recommended Standard) — 232じなど のシリアル ·インタフェース, I EEE (Institute of Electrical and electr onics Engineers) 1284などのパラレル 'インタフェース、 US B (Univers al Serial Bus) インタフェース、 i一 L i n k ( I E E E 1 394 ) インタフエ ース、 S C S I (Small Computer System Interface) インタフェース、 P C力一 ドゃメモリ ·スティック (商標) を受容するメモリ ·カード ,インタフェース (カード 'スロット) などのような、 コンピュータの周辺機器接続用の汎用イン 夕フェースを備え、 ローカル接続又はインターネット接続された外部機器 (サ一 バ) との間でプロダラムゃデ一夕の移動を行うようにしてもよい。
また、 インタフェース 2 5の他の例として、 赤外線通信 ( I r DA) インタフ エースを備え、 外部機器と無線通信を行うようにしてもよい。
さらに、 制御ユニット 2 0は、 無線通信インタフェース 2 6やネットワーク ' インタフェース ·カード (N I C) 2 7などを含み、 B 1 u e t o o t hのよう な近接無線データ通信や、 I EEE 80 2. 1 1 bのような無線ネットワーク、 或いはインターネットなどの広域ネットヮ一クを経由して、 外部の様々なホスト - コンピュータとデータ通信を行うことができる。
このようなロポット装置 2とホスト · コンピュータ間におけるデータ通信によ り、 遠隔のコンピュータ資源を用いて、 口ポット装置 2の複雑な動作制御を演算 したり、 リモート · コントロールしたり、 さらにュ一ザ 1のリクエストに適った 行動を実演するために必要なデ一夕やプログラムなどのコンテンツをダウン口一 ドすることができる。
後述するように、 本実施の形態における口ポット装置 2は、 ネットワーク接続 して、 インターネット上の所定の We bサービス ·サイトからモーション ·デー 夕 (ダンス · シーケンスなど) やその他の配信コンテンツを、 ストリ一ミング或 いはその他の形式でダウンロードする。 このため、 口ポット装置 2側のプラット フォームは以下の (a) 〜 ( f ) に示す各構成要素を装備している。
(a) ネットワークに接続するための無線 LAN
(b) SOAP (Simple Object Access Protocol) エンベロープに情報を組み 込んだり受け取った情報を抽出したりする S OAP/XMLモジュール
( c ) HTTP (Hyper Text Transfer Protocol) で S OAPなどを通信する ための HTT Pモジュール
(d) 通信を統制するソフトウェア ·モジュール ( e ) ダンスを実行する姿勢制御のためのモーション · コントロール ·モジュ
—ル
( f ) ユーザとの対話を行う音声入出力モジュール
また、 図 4には、 本実施の形態においてサーバ 1 00として動作することがで きるホスト · コンピュータの機能構成を模式的に示している。
メイン ' コントローラである CPU 1 0 1は、 オペレーティング ' システムの 制御下で、 各種のアプリケーションを実行する。
本実施の形態では、 C P U 1 0 1は、 例えばインタ一ネット上で H T T Pサ一 バとして動作するためのサーバ ·プログラムや、 ュ一ザ 1からのリクエストを解 析するイン夕フェース ·エージェント、 ユーザ 1のリクエストに応じるためのデ —夕やプログラムのうち要求元となるロポット装置 2のハードウエア構成やブラ Vトフオームに適したものを提供するコンテンツ ·マネージャなどのソフトゥェ ァ ·プログラムを実行することができる。
図示の通り、 C P U 1 0 1は、 バス 1 08によって他の機器類 (後述) と相互 接続されている。
主メモリ 1 02は、 C PU 10 1において実行されるプログラム · コ一ドをロ —ドしたり、 実行プログラムの作業データを一時保管したりするために使用され る記憶装置であり、 例えば DRAMのような半導体メモリが使用される。 例えば、 インタ一ネット上で HTT Pサーバとして動作するためのサーバ · プログラムや、 ユーザ 1からのリクエストを解析する 「インタフェース 'エージェント」 、 ユー ザ 1のリクエストに応じるためのデータやプログラムのうち要求元となるロポッ ト装置 2のハ一ドウエア構成やプラットフオームに適したものを提供する 「コン テンッ ·マネージャ」 などのソフトウェア · プログラムなどが主メモリ 1 02上 にロードされる。
また、 ROM (Read Only Memory) 103は、 データを恒久的に格納する半導 体メモリであり、 例えば、 起動時の自己診断テスト (POST : Power On Self Test) や、 ハードウエア入出力用のプログラム · コード (B I OS : Basic Inpu t/Output System) などが書き込まれている。
ディスプレイ · コントローラ 104は、 CPU 1 0 1が発行する描画命令を実 際に処理するための専用コントローラである。 ディスプレイ · コントローラ 1 0 4において処理された描画データは、 例えばフレーム .バッファ (図示しない) に一旦書き込まれた後、 ディスプレイ 1 1 1によって画面出力される。
入力機器ィン夕フェース 1 0 5は、 キーボード 1 1 2やマウス 1 1 3などのュ 一ザ入力機器をサーバ 1 0 0に接続するための装置である。 キ一ポード 1 1 2や マウス 1 1 3は、 デ一夕ゃコマンドなどのユーザ入力をシステムに取り込む役割 を持つ。
ネットワーク ·ィン夕フェース 1 0 6は、 Etherne t (登録商標) などの所定の 通信プロトコルに従って、 サーバ 1 0 0を L A N (Local Area Ne twork) などの 局所的ネットワーク、 さらにはィンタ一ネットのような広域ネットワークに接続 することができる。
ネットワーク上では、 複数のホスト ' コンピュータ (図示しない) ゃクライア ントとしてのロポット装置 2がトランスペアレントな状態で接続され、 分散コン ピュ一ティング環境が構築されている。 ネットワーク上では、 ソフトウェア ' プ ログラムゃデ一夕 · コンテンツなどの配信サービスを行うことができる。 例えば、 インタ一ネット上で H T T Pサーバとして動作するためのサーバ · プログラムや、 ユーザ 1からのリクエストを解析する 「インタフェース 'エージェント」 、 ュ一 ザ 1のリクエストに応じるためのデ一夕やプログラムのうち要求元となるロポッ ト装置 2のハードウェア構成やプラットフオームに適したものを提供する 「コン テンッ ·マネージャ」 などのソフトウエア · プログラムなどをネットワーク経由 でダウンロードすることができる。 また、 ユーザ 1のリクエストに応じるための データやプログラムのうち要求元となるロポット装置 2のハードウエア構成ゃプ ラットフオームに適したものをネットワーク経由でロボット装置 2に提供するこ とができる。
外部機器インタフェース 1 0 7は、 ハード 'ディスク · ドライブ ( H D D ) 1 1 4やメディア · ドライブ 1 1 5などの外部装置をサーバ 1 0 0に接続するため の装置である。
H D D 1 1 4は、 記憶担体としての磁気ディスクを固定的に搭載した外部記憶 装置であり、 記憶容量やデータ転送速度などの点で他の外部記憶装置よりも優れ ている。 ソフトウェア ' プログラムを実行可能な状態で HDD 1 14上に置くこ とを、 プログラムのシステムへの 「インスト一ル」 と呼ぶ。 通常、 HDD 1 1 4 には、 C P U 1 0 1が実行すぺきォペレ一ティング · システムのプログラム · コ
—ドや、 アプリケーション · プログラム、 デバイス , ドライバなどが不揮発的に 格納されている。 例えば、 インターネット上で HTT Pサーバとして動作するた めのサーバ · プログラムや、 ュ一ザ 1からのリクエストを解析するィンタフエー ス ·エージェント、 ユーザ 1のリクエス卜に応じるためのデータやプログラムの うち要求元となるロボット装置 2のハードウェア構成やプラットフオームに適し たものを提供するコンテンツ 'マネージャなどのソフトウェア · プログラムなど を、 HD D 1 14上にインスト一ルすることができる。
また、 本実施の形態では、 HDD 1 14はコンテンツ蓄積部 1 2 0を構成する。 コンテンツ蓄積部 1 20には、 童話や辞書、 なぞなぞなどのデータ · コンテンツ や、 踊りや歌などのアプリケーション、 認識ソフトウェアなどを含むミドルゥェ ァ、 口ポット装置 2の行動制御ソフトウェアなど、 多種多様なデータやプロダラ ムが蓄積されている。 これらロポット装置 2用のデータ · コンテンツやプロダラ ムには、 実行環境依存型のものと非依存型のものとがあるが、 実行環境依存型の データ · コンテンツやプログラムに関しては、 それぞれの実行環境に適合する複 数のものをコンテンツ蓄積部 1 20に用意しておく。
メディア ' ドライブ 1 15は、 CD (Compact Disc) や MO (Magneto- Optica 1 disc) 、 DVD (Digital Versatile Disc) などの可搬型メディアを装填して、 そのデータ記録面にアクセスするための装置である。
可搬型メディアは、 主として、 ソフトウェア ' プログラムゃデ一夕 · ファイル などをコンピュータ可読形式デ一夕としてバックアップすることや、 これらをシ ステム間で移動 (販売 ·流通 ·配布を含む) する目的で使用される。 例えば、 ィ ンタ一ネット上で HT T Pサーバとして動作するためのサーバ · プログラムや、 ュ一ザ 1からのリクエストを解析する 「インタフェース 'エージェント」 、 ユー ザ 1のリクエストに応じるためのデータやプログラムのうち要求元となるロポッ ト装置 2のハードウエア構成やプラッ卜フォームに適したものを提供する 「コン テンッ 'マネージャ」 などを、 これら可搬型メディアを利用して複数の機器間で 物理的に流通 ·配布することができる。 或いは、 実行環境依存型並びに非依存型 のロポット装置用データ · コンテンッゃプログラムを、 可搬型メディァを利用し て複数の機器間で物理的に流通 ·配布することができる。
サーバ 1 0 0は、 口ポット装置 2に対し実行環境に応じたサービスを提供する ために、 以下の (a) 〜 (d) に示す各構成要素を備えている。
(a) S O A Pエンベロープに情報を組み込んだり受け取つた情報を抽出した りする S OAPZXMLモジュール
(b) HTT Pで S OAPなどを通信するための HTT Pモジュール
( c ) ダンス · シーケンスなど複数のコンテンツ
(d) コンテンッのリスト
なお、 SOAPは、 他のシステム上のデータゃサ一ビスを呼び出すためのプロ トコルであり、 XMLや HTT Pをべ一スとして構成される。 SOAPによる通 信では、 XMLドキュメントに付帯情報が付けられたメッセ一ジ (ェンベロー プ) を、 HTT Pなどのプロトコルで交換する。 クライアントとサーバの双方が S OAPの生成及び解釈を行うエンジンを装備することで、 異なる環境間でのォ ブジェク卜呼出しが可能となる。
ここで、 本実施の形態における情報提供システムにおける全体的な動作につい て説明する。
ユーザ 1は、 口ポット装置 2と対話などを通じて、 インタラクションをしてい る。 ここで、 ユーザ 1が、 何か新しい情報がないか、 口ポット装置 2に尋ねたと する。
口ポット装置 2は、 ュ一ザ 1の要求に応じるため、 インタ一ネット上のサーバ 1 0 0を探索する。 その際、 予め定められた書式のリクエスト (QAフォーム : 後述) を送ることとする。 すなわち、 口ポット装置 2はユーザ 1と対話をするこ とで必要な情報を抽出し、 その書式の該当するブランク · フィールドに情報を埋 め込み、 これをサーバ 1 0 0に送信する。
Q Aフォームの書式には、 ロポッ 1、装置 2のハ一ドウエア構成やブラットフォ ーム、 現在の作業環境などを特定するための情報が含まれており、 それはロボッ ト装置 2がスタンドア口ン状態でも内部的に保持又は取得されるデータより作成 できる。
サーバ 1 0 0は、 口ポット装置 2から受信した書式に従って、 必要な答えを生 成し、 これを要求元のロボット装置 2に送り返す。 口ポット装置 2はサーバ 1 0 0からの返事を読み、 ユーザ 1に例えばロポット装置 2の構成に適した新しいダ ンスがあることを知らせる。
ユーザ 1がダンスを見せて欲しいとロボッ卜装置 2に対して対話で伝えると、 ロボッ卜装置 2は、 ダンス ·データのダウンロードをサーバ 1 0 0に要求する。 サーバ 1 0 0は、 ロポット装置 2からの要求に従いダンス ·データのダウンロー ドを開始する。
このようにして、 要求元となるロポット装置 2のハードウェア構成やプラット フォームに適した新しいダンス ·デ一夕を自動的に選定して、 ユーザ 1にダンス •パフォーマンスを供給することができる。 例えば、 振り付けのある歌データの 場合、 ロボット装置 2が実演可能なダンス ·デ一夕と再生可能な歌データといつ た具合に、 ロポット装置 2の構成に適したデータを選択して送ることになる。 コンテンツの中には、 ダンスなどの動きを主体としたものではなく、 童話など をユーザ 1に読んで聞かせるものもある。 一般に、 童話などを朗読する場合には、 テキスト ·データをコンテンツとして持ち、 ロポット装置 2側では例えばミ ドル ウェアとして T T S (Text-To-Speech) の機能 (文を入力すると音声波形を出力 する機能) を備える必要がある。 さらに、 童話などの話にも、 適切な動作を振り 付けることで、 実体を持った口ポット装置 2ならではの応用になる。 しかしなが ら、 具体的な動作すなわちモーション ·データの記述はロポット装置 2によって 異なるので、 このような相違に応じてデ一夕をどのように与えるかが問題になる。 図 5には、 本実施の形態における情報提供システムにおいて、 サーバ 1 0 0が クライアントとしてのロポット装置 2に対してハードウェア構成やプラットフォ ームの相違に応じたデータやプログラムの配信を行う仕組みを模式的に示してい る。
ロボット装置 2は、 ユーザ 1との対話などのィンタラクションを通じて、 Q A フォームを作成する。 Q Aフォームは、 ロボット装置 2が要求するサービスゃコ ンテンッを解析する手掛かりとなる情報を記述したものであり、 サーバ 1 0 0に 渡される。
サーバ 1 0 0側では、 QAフォームに基づいて、 口ポット装置 2が要求するサ 一ビスやコンテンツを、 ロボット装置 2に適した形式で供給する。 また、 受信し た Q Aフォームの記述内容では情報が足りない場合には、 サーバ 1 0 0は、 情報 提供の要求や、 要求に応えられないときの理由などを記述して返す。
サーバ 1 0 0側では、 送られてきた Q Aフオームの内容に従って、 コンテンツ のデータベースから必要なデータとソフトウエアを選び、 ロポッ卜装置 2に送出 することになる。 図 5に示す例では、 サーバ 1 0 0側では、 例えば 1つのダンス 'データにつき.、 C P U非依存な中間コード形式であるバイトコードと、 CPU 依存形式であるバイナリコードの形式で保持している。 そして、 QAフォームの 解析結果に基づいて、 パイトコード又はバイナリコードの何れの形式でデ一夕を 送るべきかを判断する。
図 6には、 ロポット装置 2が Q Aフォームを送信してデータやプログラムを要 求し、 サーバ 1 0 0がこれに応じるという協働的動作の手順を示している。 既に述べたように、 口ポット装置 2側のプラットフォームは以下の (a) 〜 ( f ) に示す各構成要素を装備している。
(a) ネットワークに接続するための無線 LAN
(b) S〇 A Pエンベロープに情報を組み込んだり受け取った情報を抽出した りする S OAP/X MLモジュール
( c ) HTTPで S OAPなどを通信するための HTTPモジュール
(d) 通信を統制するソフトウェア ·モジュール
( e ) ダンスを実行する姿勢制御のためのモーション · コントロール ·モジュ —ル
( f ) ユーザとの対話を行う音声入出力モジュール
また、 サーバ 1 0 0は、 口ポット装置 2に対し実行環境に応じたサービスを提 供するために、 以下の (a) 〜 (d) に示す各構成要素を備えている。
(a) S 0 A Pエンベロープに情報を組み込んだり受け取った情報を抽出した りする S OA PZXMLモジュール
(b) HTT Pで S OAPなどを通信するための HTT Pモジュール (c) ダンス · シーケンスなど複数のコンテンツ
(d) コンテンツのリスト
ロボット装置 2側では、 ユーザ 1とのィン夕ラクションを通じて作成された Q Aフォームを S OAPエンベロープに組み込み、 HTTPプロトコルによりサ一 バ 1 00への問い合わせを行う。
これに対し、 サーバ 1 0 0側では、 S OAPエンベロープを解析して要素情報 を取り出す。 そして、 登録してあるソフトウェアの適合情報とマッチングをとり、 提供可能なソフトウエアのリストを作成する。 このリストを S OAPェンベロー プに組み込んで、 S OAP回答としてロポット装置 2に返す。
口ポット装置 2側では、 S〇AP回答を受け取ると、 これを解析して要素情報 を取り出し、 蓄積してあるユーザ 1の個人情報 (趣味や嗜好など) とのマツチン グをとり、 合致し易いソフトウエアを選択する。 そして、 サーバ 1 0 0への取得 要請を作成し、 これを S OAPエンベロープに組み込んで、 サーバ 1 00へ送信 する。
サーバ 1 0 0は、 この要請を受け取ると、 必要なファイルの所在を示した UR Lを含んだ S O AP回答を作成して、 ロポット装置 2に返す。
口ポット装置 2は、 必要なファイルを HTTP G E Tリクエストによりサー バ 1 00へ要求する。 サーバ 1 0 0は、 要求されたファイルをロポット装置 2へ 返す。 そして、 口ポット装置 2は、 必要なファイルが揃うと、 ダンスやその他の ユーザ 1が要求する行動を実演する。
QAフォームに記述される情報は、 以下の 2つに大別される。
(1) サービス要求に関する情報
(2) ロポット装置に関する情報
「サービス要求に関する情報」 は、 ユーザ 1とのインタラクションの内容や、 そのときのロボット装置 2の本能や感情といった情動に関する指標値、 筐体の検 出する温度や湿度、 光量、 日射量、 日照時間或いはその他の外部刺激の指標値な どが含まれる。
また、 「口ポット装置に関する情報」 としては、 さらに以下のようなものが挙 げられる。 (2— 1) ロポット装置毎にユニークに割り振られるロポット固有 I D
(2 - 2) ロボット装置の種類毎にユニークに割り振られるロボット種類 I D
(2 - 3) 口ポット装置の機能リスト
(2 - 4) ロボッ卜装置の八一ドウエア構成を示す情報
(2 - 5) 口ポット装置が持つデ一夕べ一ス · リスト
「口ポット装置の機能リスト」 とは、 例えば、 外部刺激の認識ソフトウェア (顔認識、 音声認識など) や、 音声合成ソフトウエア (TT S) などのミ ドルゥ エアの構成情報に相当する。
また、 「口ポット装置のハ一ドウエア構成を示す情報」 は、 口ポット装置 2の 物理形状 (人間形、 4足ペット型、 ユーティリティ型、 タイヤ型など) 、 足の本 数 (2足、 4足など) 、 最大移動速度、 手の本数、 手の運搬能力、 その他の筐体 に関する物理的な特性、 思考 (計算) 能力の指標などを記述した情報である。 サーバ 1 00は、 QAフォームに含まれるこれらの情報を用いて、 口ポット装 置 2に提供すべきコンテンツ (データやプログラム) を決定する。 コンテンツ蓄 積部 1 2 0には、 コンテンツに関する以下のメタ情報が付加されている。
( 1) サ一ビス要求に対応するコンテンツのブロック
( 2 ) コンテンッ或いはソフトウエアが有効なロポット装置に関する情報 「サ一ビス要求に対応するコンテンッのブロック」 としては、 コンテンツにメ 夕情報として、 サービスに関する情報が付加されている。 このメタ情報としては、 次のようなものが挙げられる。
( 1 - 1) 内容を示す情報
例) く Content sType〉Newsく/ Content sType>
〈ContentsType>DanceMotion</ConteiitsType>
( 1 - 2) デ一夕の型を示す情報
例) <DataType>Text</DataType>
<DataType>MIDK/DataType>
( 1 - 3) 作成日時に関する情報
例) <CreateDate>2003/03/23</CreateDate>
( 1— 4) タイトルなどに関する情報 例) <Title>WeAreSDR</Title>
また、 「口ポット装置に関する情報」 としては、 次のようなものが挙げられる。 (2 - 1) 対応するロボット装置の種類を示す I D
(2 - 2) コンテンッ使用に必要な機能リス 1、
(2 - 3) 口ポット装置の構成に関する情報
「コンテンツ使用に必要な機能リスト」 に関しては、 コンテンツの使用 '再生 に際して必要なミドルウェアのリストなどが挙げられる。
「口ポット装置の構成に関する情報」 に関しては、 ロボット装置 2の物理形状 (人間形、 4足ペット型、 ユーティリティ型、 タイヤ型など) 、 足の本数 (2足、 4足など) 、 最大移動速度、 手の本数、 手の運搬能力、 その他の筐体に関する物 理的な特性、 思考 (計算) 能力の指標などを記述した情報などが挙げられる。 サーバ 1 0 0のコンテンツ ·マネージャ 1 22は、 ロボット装置 2から得た Q Aフォームから取り出される要素情報と、 コンテンツ蓄積部 1 20のメタ情報と のマッチングをとることにより、 ユーザ 1のリクエストに応じるためのデータや プログラムのうち、 要求元となるロポット装置 2のハードウェア構成やプラット フォームに適したものを選択する。 このときのコンテンツ ·マネージャ 1 2 2の 動作手順を図 7のフローチャートに示す。
先ずステツプ S 1において、 サービス要求に従ってコンテンツ蓄積部 1 2 0を 探索する。 次にステップ S 2において、 く ContentsType〉 く/ ContentsType>で囲ま れるフィールドにサービス要求と一致するコンテンッがあれば、 それをスタツク にプッシュする。 続いてステップ S 3において、 全てのコンテンツを確認したか 否かを判別し、 確認した場合にはステップ S 4に進む。 一方、 全てのコンテンツ を確認していない場合にはステツプ S 2に戻って同様の処理を繰り返す。
ステップ S 4では、 プッシュしたコンテンツをポップし、 口ポット装置に関す る情報と比較する。 ステップ S 5では、 一致したコンテンツを候補リストに登録 し、 一致しなかったコンテンツを廃棄する。 そして、 ステップ S 6では、 全ての スタックを調べたか否かを判別し、 全て調べた場合には終了する。 一方、 全ての スタックを調べていない場合には、 ステツプ S 4に戻って処理を継続する。
このような手順により、 Q Aフォームに従って調べられたコンテンツ ' リスト ができあがる。
以上説明したように、 第 1の実施の形態における情報提供システムによれば、 ハードウエア構成ゃプラットフオームの相違がある複数のロボット装置が存在す るマルチプラットフオーム環境下においても、 送られてくるロポット装置に関す る情報を用いることで、 個々のロポット装置に適したデータやプログラムを提供 し、 サービスを実行可能とすることができる。
(第 2の実施の形態)
次に、 第 2の実施の形態における情報提供システムの全体構成を図 8に模式的 に示す。
各家庭のロポット装置は、 それぞれの家庭のゲートウェイなどを経由してィン 夕一ネットに接続されているものとする。 同図に示す例では、 3人のュ一ザ、 す なわちユーザ l a, l b , 1 c、 並びに 3種類の口ポット装置、 すなわちロポッ ト装置 2 a, 2 b, 2 cがシステム内に存在している。 以下、 ユーザ 1 a, 1 b , 1 cを特に区別する必要がない場合にはユーザ 1と記し、 口ポット装置 2 a , 2 b , 2 cを特に区別する必要がない場合には口ポット装置 2と記す。 また、 イン 夕一ネット上には、 これらのロポット装置 2にサービスを提供するサーバ 1 0 0 が設置されている。
図 9には、 ロポット装置 2とサーバ 1 0 0との大まかなやり取りを示している。 すなわち、 先ず口ポット装置 2がサーバ 1 0 0に対してサービスを要求する。 こ の際、 口ポット装置 2は、 サービス要求に関する情報の他に、 口ポット装置 2自 身の機能、 特にミドルウェアの構成情報を記述した機能リストをサーバ 1 0 0に 送ることで、 サーバ 1 0 0が適切なデータ又はプログラムを選択できるようにす る。 サーバ 1 0 0は、 口ポット装置 2からの要求に答えて、 口ポット装置 2に適 切なデータ又はプログラムを送信する。 後述のように、 これらは J a v aや P y t h o nなどのィン夕一プリ夕言語若しくはバイ トコ一ド、 又は単純な命令であ る。 なお、 本実施の形態では、 ィン夕一ネッ卜プロトコルとして、 H T T Pとそ の上の S O A Pとを利用したものを想定する。
本実施の形態では、 サービスとして、 ロボット装置 2がユーザ 1に質問し、 ュ 一ザ 1の返事が肯定の場合にはメッセージ Aをユーザ 1に伝え、 返事が否定の塲 合にはメッセ一ジ Bをユーザ 1に伝えるものを考える。 そして、 このサービスの 実行には、 ロボット装置 2の機能として、 顔識別機能、 音声認識機能、 音声合成 T T S機能の 3つの機能が必要であるものとする。 なお、 各サービスとそのサ一 ビスの実行に必要となる機能とは、 予めサーバ 1 0 0内で対応付けられている。 ここで、 上述した口ポット装置 2 aは、 顔識別機能、 音声認識機能、 T T S機 能の 3つの機能を全て有しているものとする。 また、 口ポット装置 2 bは、 音声 認識機能のみを有し、 他の 2つの機能を有していないものとする。 また、 ロポッ ト装置 2 cは、 顔識別機能のみを有し、 他の 2つの機能を有していないものとす る。 このため、 口ポット装置 2 a , 2 b , 2 cに対して同一のデータ又はプログ ラムを送信した場合、 サービスの実行に必要な機能の一部又は全部が備わってい ないロポット装置 2では、 サービスを実行できないことになる。
そこで、 本実施の形態におけるサーバ 1 0 0は、 個々の口ポット装置 2の機能 の相違を考慮し、 サービスの実行に必要な機能の一部又は全部が備わっていない ロポット装置 2に対しては、 不足している機能をそのロポット装置 2が利用可能 な機能で代替させるためのデ一夕又はプログラムを送信し、 サ一ビスを実行可能 とさせる。
例えば、 顔識別機能を有する口ポット装置 2 a, 2 cは、 ユーザ 1を見分ける ことが可能であるが、 顔識別機能を有さない口ポット装置 2 bは、 ユーザ 1を見 分けるために別の機能を用いなければならない。 そこで、 サーバ 1 0 0は、 例え ばロポット装置 2 bがユーザ 1 bの名前を呼び、 その返事で判断することができ るように、 音声波形データを送信する。 また、 音声認識機能を有する口ポット装 置 2 a , 2 bは、 質問の返事を音声で聞き分けることが可能であるが、 音声認識 機能を有さないロポット装置 2 cは、 質問の返事を判断するために別の機能を用 いなければならない。 そこで、 例えば口ポット装置 2 cの左右の肩にスィッチが ある場合、 サーバ 1 0 0は、 右肩のスィッチを押した場合は肯定の返事、 左肩の スィツチを押した場合は否定の返事とする旨をユーザ 1に伝えることができるよ うに、 音声波形データを送信する。 また、 T T S機能を有するロポッ ト装置 2 a は、 文章 (テキストデ一夕) だけで質問やメッセ一ジを話すことが可能であるが、 T T S機能を有さない口ポット装置 2 b , 2 cは、 質問やメッセージを話すため に別の機能を用いなければならない。 そこで、 サーバ 1 0 0は、 例えば文章 (テ キス卜データ) の代わりに音声波形データを送信する。
ここで、 ロボット装置 2のソフトウェア構成を図 1 0に示す。 同図に示すよよ うに、 ロボット装置 2のソフトウエアは、 オペレーティング · システム 2 0 1や デバイス · ドライバ 2 0 2、 或いはそれらとインタフェースする A P I (App l i c at ion Program Int er f ace) を備えるシステム層 2 0 0と、 顔識別機能、 音声認識 機能、 T T S機能等を実現するソフトウエア群からなるミ ドルウェア層 2 1 0と、 サービスを実行したり自律的な行動をしたりするアプリケーシヨン層 2 2 0と、 ネットワークと接続して適切な命令を発行したりデ一夕を送受信したりするネッ トワーク接続層 2 3 0とからなる。
ロポット装置 2 aの場合を例にとり、 ミドルウェア層 2 1 0及びアプリケーシ ヨン層 2 2 0について図 1 1を参照しながらさらに説明する。 ロポット装置 2 a のミドルウェア層 2 1 0には、 顔識別、 音声認識、 T T Sの各ソフトウェアォブ ジェクト 2 1 1〜 2 1 3が存在し、 これらは適切なオブジェクト間通信でシステ ム層 2 0 0及びアプリケ一ション層 2 2 0のソフトウエアと接続している。
アプリケーション層 2 2 0は、 短期記憶部 2 2 1と行動制御部 2 2 2とを有す る。 短期記憶部 2 2 1は、 ミ ドルウェア層 2 1 0からの出力を統合し、 口ポット 装置 2 aの外部に何が存在するかを記憶する部分である。 これは、 例えば C C D カメラ 1 5の視野角等が制限されているために、 一旦画像処理で検出された人物 等が視野外になつても保持するための機構である。 一方、 行動制御部 2 2 2は、 行動モジュール群を適切に管理 ·制御する部分である。 行動モジュール 2 2 3は、 ミドルウェア層 2 1 0からの顔識別などの出力を受けて、 顔を探したり、 顔に近 づいたりといった行動を生成させるモジュールである。 また、 行動モジュール 2 2 3は、 ネットワーク接続層 2 3 0に対して命令発行を依頼したり、 データの送 受信を行ったりすることができる。 ネットワーク接続層 2 3 0には、 ネットヮ一 ク管理を行うソフ卜ウェアオブジェクト 2 3 1が存在し、 インタ一ネットプロト コルに従ってィンターネット上のサービスに対してアクセスし、 データ又はプロ グラムを送受信することができる。 行動モジュール 2 2 3は、 J a V aや P y t h o nといったスクリプト言語又はバイトデ一夕を使用することができ、 インタ ーネット上のサーバ 1 0 0から送られてきたスクリプト言語やバイトデ一夕を実 行することでサービスを具体的にロボッ卜装置 2 aの行動として実現することが 可能になっている。
行動モジュール 2 2 3は、 モニタ関数とアクション関数とを有する。 モニタ関 数は、 ミドルウェア層 2 1 0のソフトウエアから外部状況及ぴ内部状態をモニタ —することで、 当該行動モジュールに記述された動作の実行要求度を示す行動価 値を決定する。 複数の行動モジュールが並行にこの行動価値を計算し、 行動制御 部 2 2 2は、 行動価値の高い行動モジュールのアクション関数を実行に移す。 ァ クシヨン関数は、 ミドルウェア層 2 1 0のソフトウエアから顔識別などの出力を 受け取り、 音声合成などへ出力することで口ポット装置 2 aを制御する。 前述の ように、 これらの関数をィン夕一ネット上のサーバ 1 0 0から送られてきたスク リプト言語やバイトコードなどで実現することができる。 本実施の形態では、 後 述のように行動モジュール 2 2 3を木構造で実装する。
以下、 この 3つの口ポット装置 2 a, 2 b , 2 cがサービスを実行する場合、 すなわち口ポット装置 2 a , 2 b , 2 cがユーザ l a, l b, l cを探して質問 を行い、 その返事が肯定であるか否定であるかに応じて、 ユーザ l a , l b , 1 cに対して異なるメッセ一ジ A , Bを音声で伝える場合について説明する。 先ず、 口ポット装置 2 aは、 顔識別機能、 音声認識機能、 及び T T S機能を有 しており、 サービス要求に関する情報に加えて、 例えば図 1 2に示すような機能 リストを予めサーバ 1 0 0に送る。
サーバ 1 0 0は、 サ一ビスの実行に必要となる機能を特定する。 本実施の形態 の場合、 上述したように、 顔識別機能、 音声認識機能、 T T S機能の 3つの機能 が必要とされる。 そして、 サーバ 1 0 0は、 例えば図 1 3に示すようなプロダラ ムに従ってこの機能リストを解析し、 サービスの実行に必要な機能が備わってい るか否かを確認する。 上述の通り、 口ポット装置 2 aにはサービスの実行に必要 な機能が全て備わっているため、 サーバ 1 0 0は、 これらの 3つの機能を利用す るようなプログラムを口ポット装置 2 aに送る。 具体的には、 図 1 4のように行 動モジュールの木構造を構成するデータと、 それぞれの行動モジュールのモニタ 関数及びアクション関数の実装とを送る。 この木構造では、 行動制御部 2 2 2が 行動モジュールの木構造のトップとしてル一トモジュールを持っているとする。 本実施の形態におけるサービスの親モジュールをサービス行動モジュールとし、 その子モジュールとしてサーチ行動モジュール、 アプローチ行動モジュール、 メ ッセージ行動モジュ一ルが構成されている。
この木構造では、 サービス行動モジュールが発行する共有情報領域として Face ID及び Distanceがあり、 これらの情報をモジュール間で共有する。 本実施の形態 におけるサービスでは、 特定のユーザ 1 aに対してメッセ一ジを伝えるため、 こ の Face IDを予め設定した状態、 すなわち FaceID=usrFaceIDという状態で共有情報 領域を発行する。 なお、 発行時の Distanceは空である。
サーチ行動モジュールは、 短期記憶部 221に現在記憶されている物体の中に FaceID==usrFaceIDを満たすものがあるか否かを確認する行動モジュールであり、 FaceID = usrFaceIDを満たす物体が存在すれば、 その物体までの距離を共有情報領 域の Distanceに書き込む。 実際のモニタ関数としては、 FacelD! =usrFaceIDであ ればまだユーザ 1 aを探す必要があるため、 高い行動価値をサービス行動モジュ —ルに返し、 ュ一ザ 1 aが発見され FaceID = usrFaceIDとなれば低い行動価値をサ 一ビス行動モジュールに返す。 アクション関数としては、 このサーチ行動モジュ ールが選ばれた状態ではユーザ 1 aが発見されていないため、 ロポット 2 aの視 点を移動させることで新しい情報を短期記憶部 22 1に送り込み、 ユーザ 1 aを 発見するように制御する。 具体的には、 首を振る、 体を回す、 移動するなどを組 み合わせて視点を変える。
アプローチ行動モジュールは、 発見されたユーザ 1 aに対して適当な距離にな るように制御する行動モジュールである。 モニタ関数としては、 サービス行動モ ジュールから設定された FacelDに値が入っていればその Distanceの値 distを短期 記憶部 221に問い合わせ、 値 distが予め設定した範囲外であれば高い行動価値 を返し、 範囲内であればもう移動しなくてよいため低い行動価値を返す。 ァクシ aン関数としては、 ユーザ 1 aに接近することが目的であり、 値 distが、 設定し た距離の最小値 minDialogueDistよりも小さければユーザ 1 aとの距離が近すぎる ため、 ユーザ 1 aから遠ざかる後退移動の命令を発行する。 一方 値 distが設定 した距離の最大値 maxDialogueDistよりも大きければユーザ 1 aとの距離が遠すぎ るため、 ユーザ 1 aに接近する前進移動の命令を発行する。
メッセ一ジ行動モジュールは、 ユーザ 1 aが話ができる範囲内にいるときに適 切なシーケンスに従ってメッセージを伝える行動モジュールである。 モニタ関数 としては、 Face ID = us rFace IDとなっており m i nD i a 1 ogueD i s t≤d i s t≤ maxD i a l ogu e D i s tであれば高い行動価値をサービス行動モジュールに返し、 そうでなければ低 い行動価値をサービス行動モジュールに返す。 アクション関数としては、 図 1 5 に示すようなステートマシンで実現できる。 すなわち、 先ず質問メッセージを T T Sモジュールにテキストデ一夕として出力してユーザ 1 aの応答を待つ。 そし て、 ユーザ 1 aの応答が Y E Sであればメッセージ Aを出力して終了し、 ユーザ 1 aの応答が N Oであればメッセージ Bを出力して終了する。
続いて口ポット装置 2 bは、 音声認識機能のみを有し、 顔識別機能及び T T S 機能を有さないため、 サービス要求に関する情報に加えて、 例えば図 1 6に示す ような機能リストを予めサーバ 1 0 0に送る。
サーバ 1 0 0は、 上述と同様にしてサービスの実行に必要となる機能を特定し、 さらに口ポット装置 2 bから送信された機能リストを解析し、 サービスの実行に 必要な機能が備わっているか否かを確認する。 上述の通り、 口ポット装置 2 bに は音声認識機能しか備わっていないため、 サーバ 1 0 0は、 口ポット装置 2 bに 備わっている機能で不足している顔識別機能及び T T S機能を代替させるような デ一夕又はプログラムを口ポット装置 2 bに送る。 具体的には、 図 1 7のように 行動モジュールの木構造を構成するデ一夕と、 それぞれの行動モジュールのモニ 夕関数及びアクション関数の実装とを送る。 この木構造では、 サービス行動モジ ユールの子モジュールとして、 ユーザ発見行動モジュール、 メッセ一ジ行動モジ ユールが構成されている。
ユーザ発見行動モジュールは、 顔識別機能を利用することなくユーザ 1 bを発 見するための行動モジュールである。 なお、 口ポット装置 l bは、 T T S機能を 有さないが、 オーディォ信号の出力手段を有し、 音声波形そのものを出力できる。 本実施の形態では、 WA Bファイルフォーマツ卜に準拠した音声波形データを出 力するものとする。 この音声波形データは、 サ一バ 1 0 0から送られてくるもの である。 アクション関数としては、 図 1 8に示すようなステートマシンで実現で きる。 すなわち、 例えば 「X Xさん、 いたら "はい" と返事してください」 とい つたユーザ探索メッセージを音声により出力し、 ユーザ 1 bの応答を待つ。 そし て、 ユーザ l bが "はい" と返答をすると、 ユーザ 1 bが発見されたものとして ユーザ I Dを Y E Sとし、 メッセージ行動モジュールに移る。
メッセージ行動モジュールは、 ロポッ卜装置 2 aと基本的に同じステートマシ ンで実現できる。 すなわち、 ユーザ 1 bに質問メッセ一ジを出力して応答を待つ。 そして、 ユーザ 1 bの応答が Y E Sであればメッセージ Aを出力して終了し、 ュ —ザ 1 bの応答が N Oであればメッセージ Bを出力して終了する。 但し、 この出 力は口ポット 1 aとは異なり音声波形データである。
続いて口ポット装置 2 cは、 顔識別機能のみを有し、 音声認識機能及び T T S 機能を有さないため、 サービス要求に関する情報に加えて、 例えば図 1 9に示す ような機能リストを予めサーバ 1 0 0に送る。
サーバ 1 0 0は、 上述と同様にしてサービスの実行に必要となる機能を特定し、 さらに口ポット装置 2 cから送信された機能リストを解析し、 サ一ビスの実行に 必要な機能が備わっているか否かを確認する。 上述の通り、 口ポット装置 2 cに は顔識別機能しか備わっていないため、 サーバ 1 0 0は、 口ポット装置 2 cに備 わっている機能で不足している顔識別機能及び T T S機能を代替させるようなデ 一夕又はプログラムをロボット装置 2 cに送る。 具体的には、 図 1 4のように行 動モジュールの木構造を構成するデータと、 それぞれの行動モジュールのモニタ 関数及びァクション関数の実装とを送る。
サーチ行動モジュールは、 口ポット装置 1 aの場合と同様に、 短期記憶部 2 2 1に現在記憶されている物体の中に Face ID = usrFace IDを満たすものがあるか否か を確認し、 Face ID = usrFace IDを満たす物体が存在すれば、 その物体までの距離を 共有情報領域の D i s t anceに書き込む。
アプローチ行動モジュールは、 口ポット装置 1 aの場合と同様に、 発見された ユーザ 1 aに対して適当な距離になるように制御する。
メッセ一ジ行動モジュールは、 ユーザ 1 cが話ができる範囲内にいるときに適 切なシーケンスに従ってメッセージを伝える。 このとき、 口ポット 2 bの場合と 同様に、 サーバ 1 0 0から送られてきた音声波形データを出力する。 このメッセ ージ行動モジュールは、 図 2 0に示すようなステートマシンで実現できる。 すな わち、 ユーザ 1 cに質問メッセ一ジを出力して応答を待つ。 そして、 ユーザ 1 c の応答が Y E Sであればメッセージ Aを出力して終了し, ユーザ 1 cの応答が N Oであればメッセージ Bを出力して終了する。 この際、 音声認識に関しては、 右 肩スィッチ及び左肩スィッチを使うことになる。 これは、 ユーザ応答待ちの際に、
Γ Υ Ε Sの場合は右肩のスィツチを、 N Oの場合は左肩のスィツチを押して下さ い」 というメッセージを出力することで実現される。
以上説明したように、 第 2の実施の形態における情報提供システムによれば、 ミドルウェアの相違がある複数のロポット装置が存在するマルチブラットフォー ム環境下においても、 送られてくるロポット装置の機能に関する情報を考慮し、 サービスの実行に不足している機能をその口ポット装置が利用可能な機能で代替 させるためのデ一夕又はプログラムを送信することで、 サービスを実行可能とす ることができる。
なお、 上述した第 2の実施の形態では、 サ一ビスの実行に不足している機能を そのロポット装置が利用可能な機能で代替させるためのデ一夕又はプログラムを 送信するものとして説明したが、 これに限定されるものではなく、 不足している 機能に対応する機能オブジェクト自体を送信するようにしても構わない。 この場 合、 サーバ 1 0 0は、 口ポット装置 2で利用される機能オブジェクトを例えばコ ンテンッ蓄積部 1 2 0に記憶しておき、 ロポット装置 2からサービス要求と機能 リストとが送られてくると、 そのサービスの実行に必要な機能を特定するととも に、 必要な機能のうち口ポット装置 2に不足している機能を特定する。 そして、 要求されたサービスに応じたデータ又はプログラムを送信する際に、 不足してい る機能に対応する機能オブジェクトをコンテンツ蓄積部 1 2 0から検索して送信 する。 なお、 コンテンツ蓄積部 1 2 0ではなく、 他のデータベースに機能ォブジ ェクトを記憶しておいてもよいことは勿論である。
(追補)
以上、 特定の実施例を参照しながら、 本発明について詳解してきた。 しかしな がら、 本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得 ることは自明である。 本発明の要旨は、 必ずしも 「口ポット」 と称される製品には限定されない。 す なわち、 電気的又は磁気的な作用を用いて人間の動作に似せた運動を行う機械装 置或いはその他一般的な移動体装置、 或いはこれら装置の動作を記述したデータ を演算処理するデー夕処理システムであるならば、 例えば玩具などの他の産業分 野に属する製品であっても、 同様に本発明を適用することができる。
また、 本明細書中では、 S O A Pによる通信方式によりロボット装置に対する 実行環境に応じたサービスについて説明してきたが、 本発明の要旨はこれに限定 されるものではない。 例えば、 X M L— R P Cなど、 S O A P以外でプラットフ オーム非依存の遠隔手続呼出し (Remo te Procedure Cal l ; R P C ) を行う通信方 式を採用することができる。 また、 口ポット装置に提供するソフトウェアの分類 を 1ケ所ではなく、 複数のサイトにまたがって行い、 それらを連携させるための さらに別のサイトを案内する W e bサービスを構築してもよい。
要するに、 例示という形態で本発明を開示してきたのであり、 本明細書の記載 内容を限定的に解釈するべきではない。 本発明の要旨を判断するためには、 冒頭 に記載した特許請求の範囲の欄を参酌すべきである。
本発明は、 図面を参照して説明した上述の実施例に限定されるものではなく、 添付の請求の範囲及びその主旨を逸脱することなく、 様々な変更、 置換又はその 同等のものを行うことができることは当業者にとって明らかである。 産業上の利用可能性 本発明によれば、 ハードウエア構成やプラットフオームの相違がある複数の口 ポット装置に対してデータやプログラムを好適に提供することができる、 優れた 情報提供システム及び情報提供方法を提供することができる。
また、 本発明によれば、 多種の形態の口ポット装置、 センサや画像認識などで 認識できるものが異なるロポット装置などにおいても、 適切なサービスが受けら れるとともに、 サービス提供側もロポット装置の種類を意識せずに共通に提供で きるサービスを持つことができる。
また、 本発明によれば、 機種が異なる口ポット装置に対して異なるデータゃプ ログラムを必要とするサービスであっても、 送られてくるロポット装置に関する 情報を用いて適切にサービスを提供することができる。

Claims

請求の範囲
1 - ネットワーク経由でロポット装置にデータ又はプログラムを提供する情報提 供装置であって、
ロボット装置に提供するデータ又はプログラムが蓄積されたコンテンツ蓄積手 段と、
ロポット装置からサービス要求に関する情報と該ロボット装置に関する情報と を含む問い合わせを受信する受信手段と、
上記問い合わせを解析する解析手段と、
要求されたサービスに応じたデ一夕又はプログラムを上記口ポット装置に送信 する送信手段と
を備えることを特徴とする情報提供装置。
2 . S O A P ( S imp l e Obj ec t Acces s Pro t oco l ) プロトコルに従ってロボット装 置と通信を行うことを特徴とする請求の範囲第 1項記載の情報提供装置。
3 . 上記コンテンツ蓄積手段に蓄積されるデータ又はプログラムに関する付加情 報を管理するデータベースと、
上記問い合わせと上記データベースの付加情報とのマッチングをとり、 提供可 能なデータ又はプログラムのリストを作成してロポット装置に返す手段と をさらに備えることを特徴とする請求の範囲第 1項記載の情報提供装置。
4 . 上記提供可能なデータ又はプログラムのリストに対する上記ロポット装置か らの選択結果に応答して、 該選択されたデータ又はプログラムへのアクセス方法 を返す手段をさらに備え、
上記送信手段は、 上記ロボット装置からの上記アクセス方法に従ったアクセス 要求に応答して、 要求されたデ一夕又はプログラムを送信する
ことを特徴とする請求の範囲第 3項記載の情報提供装置。
5 . 上記データ又はプログラムに関する付加情報は、 サービスに関する情報と口 ポット装置に関する情報とを含むことを特徴とする請求の範囲第 3項記載の情報 提供装置。
6 . 上記口ポット装置に関する情報は、 以下に示す情報のうち少なくとも一部を 含むことを特徴とする請求の範囲第 1項又は第 5項記載の情報提供装置。
( 1 ) ロポット装置毎にユニークに割り振られるロポット固有 I D
( 2 ) ロボット装置の種類毎にユニークに割り振られるロボット種類 I D
( 3 ) ロポット装置の機能リスト
( 4 ) ロボット装置のハードウェア構成を示す情報
( 5 ) 口ポット装置が持つデータベース · リスト
7 . 上記ロボット装置に関する情報は、 ロボット装置の機能リストを少なくとも 含み、
上記口ポット装置がサービスを実行する際に必要な必要機能を特定する必要機 能特定手段と、
上記必要機能特定手段により特定された必要機能と、 上記ロポット装置の機能 リストとを比較することで、 上記必要機能のうち上記ロポット装置に不足してい る不足機能を特定する不足機能特定手段とをさらに備え、
上記送信手段は、 上記不足機能を該ロポット装置が利用可能な機能で代替させ るためのデ一夕又はプログラムを送信する
ことを特徴とする請求の範囲第 1項記載の情報提供装置。
8 . 上記口ポット装置に関する情報は、 口ポット装置の機能リストを少なくとも 含み、
ロポット装置で利用される機能ォブジェクトが記憶されたォブジェクト記憶手 段と、
上記ロポット装置がサービスを実行する際に必要な必要機能を特定する必要機 能特定手段と、
上記必要機能特定手段により特定された必要機能と、 上記ロポット装置の機能 リストとを比較することで、 上記必要機能のうち上記ロポット装置に不足してい る不足機能を特定する不足機能特定手段と、
上記不足機能に対応する不足機能ォブジェクトを上記オブジェクト記憶手段か ら検索する検索手段とをさらに備え、
上記送信手段は、 上記要求されたサービスに応じたデータ又はプログラムとと もに、 上記不足機能オブジェクトを上記ロポット装置に送信する ことを特徴とする請求の範囲第 1項記載の情報提供装置。
9 . ネットワーク経由でロボット装置にデータ又はプログラムを提供する情報提 供方法であって、
ロポット装置からサ一ビス要求に関する情報と該ロボット装置に関する情報と を含む問い合わせを受信する受信ステップと、
上記問い合わせを解析する解析ステップと、
要求されたサ一ビスに応じたデータ又はプログラムを上記ロボット装置に送信 する送信ステツプと
を有することを特徴とする情報提供方法。
1 0 . S O A P (Simple Obj ec t Access Protocol) プロトコルに従って口ポット 装置と通信を行うことを特徴とする請求の範囲第 9項記載の情報提供方法。
1 1 . 各データ又はプログラムに関する付加情報をデータベースとして管理する ステップと、
上記問い合わせと上記デ一夕ベースの付加情報とのマッチングをとり、 提供可 能なデータ又はプログラムのリストを作成してロボット装置に返すステップと をさらに有することを特徴とする請求の範囲第 9項記載の情報提供方法。
1 2 . 上記提供可能なデータ又はプログラムのリストに対する上記ロポット装置 からの選択結果に応答して、 該選択されたデータ又はプログラムへのアクセス方 法を返すステツプをさらに有し、
上記送信ステップでは、 上記ロポット装置からの上記アクセス方法に従ったァ クセス要求に応答して、 要求されたデータ又はプログラムを送信する
ことを特徴とする請求の範囲第 1 1項記載の情報提供方法。
1 3 . 上記データ又はプログラムに関する付加情報は、 サービスに関する情報と ロポット装置に関する情報とを含むことを特徴とする請求の範囲第 1 1項記載の 情報提供方法。
1 4 . 上記口ポット装置に関する情報は、 以下に示す情報のうち少なくとも一部 を含むことを特徴とする請求の範囲第 9項又は第 1 3項記載の情報提供方法。
( 1 ) ロボット装置毎にユニークに割り振られるロボッ卜固有 I D
( 2 ) ロボット装置の種類毎にユニークに割り振られるロポット種類 I D ( 3 ) ロポット装置の機能リスト
( 4 ) 口ポット装置のハードウェア構成を示す情報
( 5 ) ロボット装置が持つデータべ一ス · リスト
1 5 . 上記ロボット装置に関する情報は 口ポット装置の機能リストを少なくと も含み、
上記ロボット装置がサ一ビスを実行する際に必要な必要機能を特定する必要機 能特定ステツプと、
上記必要機能特定ステップにて特定された必要機能と、 上記ロボット装置の機 能リストとを比較することで、 上記必要機能のうち上記ロポット装置に不足して いる不足機能を特定する不足機能特定ステップとをさらに有し、
上記送信ステップでは、 上記不足機能を該ロポット装置が利用可能な機能で代 替させるためのデータ又はプログラムを送信する
ことを特徴とする請求の範囲第 9項記載の情報提供方法。
1 6 . 上記口ポット装置に関する情報は、 口ポット装置の機能リストを少なくと も含み、
上記口ポット装置がサービスを実行する際に必要な必要機能を特定する必要機 能特定ステップと、
上記必要機能特定ステップにて特定された必要機能と、 上記ロポット装置の機 能リストとを比較することで、 上記必要機能のうち上記ロポット装置に不足して いる不足機能を特定する不足機能特定ステップと、
上記不足機能に対応する不足機能オブジェクトをロポット装置で利用される機 能ォブジェク卜が記憶されたォブジェクト記憶手段から検索する検索ステップと をさらに有し、
上記送信ステップでは、 上記要求されたサービスに応じたデータ又はプロダラ ムとともに、 上記不足機能オブジェクトを上記ロポット装置に送信する
ことを特徴とする請求の範囲第 9項記載の情報提供方法。
1 7 . 口ポット装置と、 ネットワーク経由で該ロポット装置にデータ又はプログ ラムを提供する情報提供装置とを備える情報提供システムであって、
上記情報提供装置は、 ロボット装置に提供するデータ又はプログラムが蓄積されたコンテンツ蓄積手 段と、
ロポット装置からサービス要求に関する情報と該ロボット装置に関する情報と を含む問い合わせを受信する受信手段と、
上記問い合わせを解析する解析手段と、
要求されたサービスに応じたデータ又はプログラムを上記口ポット装置に送信 する送信手段とを有する
ことを特徴とする情報提供システム。
1 8. S OAP (Simple Object Access Protocol) プロトコルに従って口ポット 装置と上記情報提供装置とが通信を行うことを特徴とする請求の範囲第 1 7項記 載の情報提供システム。
19. 上記情報提供装置は、
上記コンテンッ蓄積手段に蓄積されるデータ又はプログラムに関する付加情報 を管理するデータベースと、
上記問い合わせと上記データベースの付加情報とのマッチングをとり、 提供可 能なデータ又はプログラムのリストを作成してロポット装置に返す手段と
をさらに備えることを特徴とする請求の範囲第 1 7項記載の情報提供システム。
20. 上記情報提供装置は、 上記提供可能なデータ又はプログラムのリストに対 する上記口ポット装置からの選択結果に応答して、 該選択されたデータ又はプロ グラムへのアクセス方法を返す手段をさらに備え、 '
上記送信手段は、 上記ロボット装置からの上記アクセス方法に従ったアクセス 要求に応答して、 要求されたデ一夕又はプログラムを送信する
ことを特徴とする請求の範囲第 1 9項記載の情報提供システム。
2 1. 上記データ又はプログラムに関する付加情報は、 サービスに関する情報と ロボット装置に関する情報とを含むことを特徴とする請求の範囲第 1 9項記載の 情報提供システム。
22. 上記ロボット装置に関する情報は、 以下に示す情報のうち少なくとも一部 を含むことを特徴とする請求の範囲第 1 7項又は第 2 1項記載の情報提供システ ム。 ( 1 ) ロポット装置毎にユニークに割り振られるロポット固有 I D
( 2 ) ロボット装置の種類毎にユニークに割り振られるロポット種類 I D
( 3 ) ロボット装置の機能リス ト
( 4 ) ロボット装置のハードウェア構成を示す情報
( 5 ) 口ポット装置が持つデータベース · リス ト
2 3 . 上記口ポット装置に関する情報は、 ロポット装置の機能リストを少なくと も含み、
上記情報提供装置は、
上記口ポット装置がサービスを実行する際に必要な必要機能を特定する必要機 能特定手段と、
上記必要機能特定手段により特定された必要機能と、 上記ロポット装置の機能 リストとを比較することで、 上記必要機能のうち上記ロポット装置に不足してい る不足機能を特定する不足機能特定手段とをさらに備え、
上記送信手段は、 上記不足機能を該ロポット装置が利用可能な機能で代替させ るためのデータ又はプログラムを送信する
ことを特徴とする請求の範囲第 1 7項記載の情報提供システム。
2 4 . 上記口ポット装置に関する情報は、 口ポット装置の機能リストを少なくと も含み、
上記情報提供装置は、
ロポット装置で利用される機能ォブジェクトが記憶されたォブジェクト記憶手 段と、
上記口ポット装置がサ一ビスを実行する際に必要な必要機能を特定する必要機 能特定手段と、
上記必要機能特定手段により特定された必要機能と、 上記ロポット装置の機能 リス卜とを比較することで、 上記必要機能のうち上記ロボット装置に不足してい る不足機能を特定する不足機能特定手段と、
上記不足機能に対応する不足機能オブジェク卜を上記オブジェクト記憶手段か ら検索する検索手段とをさらに備え、
上記送信手段は、 上記要求されたサ一ビスに応じたデータ又はプログラムとと もに、 上記不足機能オブジェクトを上記ロポット装置に送信する ことを特徴とする請求の範囲第 1 7項記載の情報提供システム。
PCT/JP2004/004433 2003-03-28 2004-03-29 情報提供装置及び方法,並びに情報提供システム WO2004088514A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP04724203A EP1610221A4 (en) 2003-03-28 2004-03-29 INFORMATION PROVIDER DEVICE, ASSOCIATED METHOD, AND INFORMATION PROVIDER SYSTEM
US10/551,039 US20060195598A1 (en) 2003-03-28 2004-03-29 Information providing device,method, and information providing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003-092166 2003-03-28
JP2003092166 2003-03-28

Publications (1)

Publication Number Publication Date
WO2004088514A1 true WO2004088514A1 (ja) 2004-10-14

Family

ID=33127305

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/004433 WO2004088514A1 (ja) 2003-03-28 2004-03-29 情報提供装置及び方法,並びに情報提供システム

Country Status (4)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2390450B (en) * 2002-04-12 2005-10-12 Nippon Electric Co System,method,and program for robot control

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US10586227B2 (en) 2011-02-16 2020-03-10 Visa International Service Association Snap mobile payment apparatuses, methods and systems
US20120209749A1 (en) 2011-02-16 2012-08-16 Ayman Hammad Snap mobile payment apparatuses, methods and systems
AU2012220669A1 (en) 2011-02-22 2013-05-02 Visa International Service Association 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
US10121129B2 (en) 2011-07-05 2018-11-06 Visa International Service Association Electronic wallet checkout platform 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
US9710807B2 (en) 2011-08-18 2017-07-18 Visa International Service Association Third-party value added wallet features and interfaces 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
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
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
US20130290234A1 (en) * 2012-02-02 2013-10-31 Visa International Service Association Intelligent Consumer Service Terminal Apparatuses, Methods and Systems
AU2013277083A1 (en) * 2012-02-22 2015-01-22 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 富士ゼロックス株式会社 ロボット制御システム
CN109689174B (zh) 2016-09-09 2020-12-29 Groove X 株式会社 接纳访客的机器人及服务器
US10854109B2 (en) 2018-10-31 2020-12-01 Sony Interactive Entertainment Inc. Color accommodation for on-demand accessibility
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
CN111844018A (zh) * 2020-05-29 2020-10-30 北京理工大学 消防现场侦检机器人管理方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110027A (ja) * 1997-09-30 1999-04-23 Matsushita Electric Ind Co Ltd 産業用ロボット
WO1999067067A1 (fr) * 1998-06-23 1999-12-29 Sony Corporation Robot et systeme de traitement d'information
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
JP2001222624A (ja) * 2000-02-10 2001-08-17 Sony Corp 情報提供システム、情報提供方法、部品情報提供装置及び部品情報提供方法
JP2002113675A (ja) * 2000-10-11 2002-04-16 Sony Corp ロボット制御システム並びにロボット制御用ソフトウェアの導入方法
JP2002123394A (ja) * 2000-10-16 2002-04-26 Denso Corp ロボット装置のプログラム登録システム
JP2002187082A (ja) * 2000-10-11 2002-07-02 Sony Corp ロボット制御システム及びロボット制御方法
JP2002323980A (ja) * 2001-04-26 2002-11-08 Denso Corp プログラム導入システム、サーバ及びクライアント
JP2003006133A (ja) * 2001-04-19 2003-01-10 Canon Inc 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10301788A (ja) * 1997-04-30 1998-11-13 Sony Corp データ通信システムおよびデータ通信方法、ならびに、データ受信装置およびデータ受信方法
US6219669B1 (en) * 1997-11-13 2001-04-17 Hyperspace Communications, Inc. File transfer system using dynamically assigned ports
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
WO2000066239A1 (fr) * 1999-04-30 2000-11-09 Sony Corporation Systeme d'animal de compagnie electronique, systeme de reseau, robot et support de donnees
JP2001222316A (ja) * 2000-02-09 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
US6718232B2 (en) * 2000-10-13 2004-04-06 Sony Corporation Robot device and behavior control method for robot device
JP4664479B2 (ja) * 2000-11-01 2011-04-06 株式会社東芝 超音波診断装置
TWI236610B (en) * 2000-12-06 2005-07-21 Sony Corp Robotic creature device
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 シャープ株式会社 群ロボットシステム
AU2002357040A1 (en) * 2001-11-28 2003-06-10 Evolution Robotics, Inc. Sensor and actuator abstraction and aggregation in a 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

Patent Citations (9)

* 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
JPH11110027A (ja) * 1997-09-30 1999-04-23 Matsushita Electric Ind Co Ltd 産業用ロボット
WO1999067067A1 (fr) * 1998-06-23 1999-12-29 Sony Corporation Robot et systeme de traitement d'information
JP2001222624A (ja) * 2000-02-10 2001-08-17 Sony Corp 情報提供システム、情報提供方法、部品情報提供装置及び部品情報提供方法
JP2002113675A (ja) * 2000-10-11 2002-04-16 Sony Corp ロボット制御システム並びにロボット制御用ソフトウェアの導入方法
JP2002187082A (ja) * 2000-10-11 2002-07-02 Sony Corp ロボット制御システム及びロボット制御方法
JP2002123394A (ja) * 2000-10-16 2002-04-26 Denso Corp ロボット装置のプログラム登録システム
JP2003006133A (ja) * 2001-04-19 2003-01-10 Canon Inc 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム
JP2002323980A (ja) * 2001-04-26 2002-11-08 Denso Corp プログラム導入システム、サーバ及びクライアント

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1610221A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2390450B (en) * 2002-04-12 2005-10-12 Nippon Electric Co System,method,and program for robot control
US7054715B2 (en) 2002-04-12 2006-05-30 Nec Corporation System, method, and program for robot control

Also Published As

Publication number Publication date
CN1768329A (zh) 2006-05-03
EP1610221A4 (en) 2009-01-07
EP1610221A1 (en) 2005-12-28
CN100351789C (zh) 2007-11-28
US20060195598A1 (en) 2006-08-31

Similar Documents

Publication Publication Date Title
WO2004088514A1 (ja) 情報提供装置及び方法,並びに情報提供システム
JP2005078456A (ja) コンテンツ提供システム
KR100827088B1 (ko) 소프트웨어 로봇 장치
US6816753B2 (en) Robot control system and robot control method
JP4670136B2 (ja) オーサリング・システム及びオーサリング方法、並びに記憶媒体
US6470235B2 (en) Authoring system and method, and storage medium used therewith
JP4765155B2 (ja) オーサリング・システム及びオーサリング方法、並びに記憶媒体
CN101004806B (zh) 用于对合成数据进行语音呈现的方法和系统
TWI430189B (zh) 訊息擬真處理系統、裝置及方法
WO2002034478A1 (fr) Robot pourvu de jambes, procede de commande du comportement d&#34;un tel robot, et support de donnees
JP2002113675A (ja) ロボット制御システム並びにロボット制御用ソフトウェアの導入方法
JP2005515903A (ja) ロボット用センサおよびアクチュエータのハードウェア抽象化層内における抽象化および集合化
WO2019057019A1 (zh) 机器人互动方法和设备
WO2019072104A1 (zh) 互动方法和设备
JP6319772B2 (ja) リアルタイムで行われる移動ロボットの脈絡ある挙動を生成する方法およびシステム
Mayer et al. Facilitating the integration and interaction of real-world services for the web of things
JP2004318862A (ja) 情報提供装置及び方法、並びに情報提供システム
JP3925140B2 (ja) 情報提供方法及び情報提供装置、並びにコンピュータ・プログラム
Helal The Landscape of Pervasive Computing Standards
Wang et al. Robotic reliability engineering: Experience from long-term tritonbot development
JP2006510104A (ja) ロボティック・ウェブブラウザ
Berk et al. Autonomous light air vessels (ALAVs)
KR102300873B1 (ko) 피지컬 실체화 가능한 사이버 로봇
Dourlens et al. Tangible ambient intelligence with semantic agents in daily activities
JP2004237391A (ja) ロボット装置、及びロボット装置の動作制御方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004724203

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006195598

Country of ref document: US

Ref document number: 10551039

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 20048085659

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2004724203

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10551039

Country of ref document: US