WO2012000927A1 - Robot humanoide joueur, methode et systeme d'utilisation dudit robot - Google Patents

Robot humanoide joueur, methode et systeme d'utilisation dudit robot Download PDF

Info

Publication number
WO2012000927A1
WO2012000927A1 PCT/EP2011/060693 EP2011060693W WO2012000927A1 WO 2012000927 A1 WO2012000927 A1 WO 2012000927A1 EP 2011060693 W EP2011060693 W EP 2011060693W WO 2012000927 A1 WO2012000927 A1 WO 2012000927A1
Authority
WO
WIPO (PCT)
Prior art keywords
player
game
robot
nao
humanoid robot
Prior art date
Application number
PCT/EP2011/060693
Other languages
English (en)
Inventor
Jérôme MONCEAUX
Céline BOUDIER
Original Assignee
Aldebaran Robotics
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 Aldebaran Robotics filed Critical Aldebaran Robotics
Priority to KR1020137002733A priority Critical patent/KR101869111B1/ko
Priority to JP2013517224A priority patent/JP6002885B2/ja
Priority to EP11729960.2A priority patent/EP2588209B1/fr
Priority to ES11729960.2T priority patent/ES2553146T3/es
Priority to BR112013000023A priority patent/BR112013000023A2/pt
Priority to CN201180041842.6A priority patent/CN103079657B/zh
Priority to US13/808,040 priority patent/US9950421B2/en
Publication of WO2012000927A1 publication Critical patent/WO2012000927A1/fr

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0006Exoskeletons, i.e. resembling a human figure
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/18Question-and-answer games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/18Question-and-answer games
    • A63F9/183Question-and-answer games electric
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H11/00Self-movable toy figures
    • A63H11/18Figure toys which perform a realistic walking motion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/24Electric games; Games using electronic circuits not otherwise provided for
    • A63F2009/2401Detail of input, input devices
    • A63F2009/243Detail of input, input devices with other kinds of input
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/24Electric games; Games using electronic circuits not otherwise provided for
    • A63F2009/2401Detail of input, input devices
    • A63F2009/243Detail of input, input devices with other kinds of input
    • A63F2009/2432Detail of input, input devices with other kinds of input actuated by a sound, e.g. using a microphone
    • A63F2009/2433Voice-actuated
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/24Electric games; Games using electronic circuits not otherwise provided for
    • A63F2009/2448Output devices
    • A63F2009/247Output devices audible, e.g. using a loudspeaker
    • A63F2009/2476Speech or voice synthesisers, e.g. using a speech chip
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H2200/00Computerized interactive toys, e.g. dolls

Definitions

  • the present invention belongs to the field of humanoid robots. More precisely, it applies to the methods of programming and using robots of this type for specialized uses, such as gambling.
  • a robot can be described as humanoid from the moment it possesses certain attributes of the robot. appearance and features of the man: a head, a trunk, two arms, possibly two hands, two legs, two feet ... Beyond the appearance, the functions that a humanoid robot is able to fill go depend on one's ability to move, talk and reason. Humanoid robots are able to walk, to make gestures, with the limbs or with the head. The complexity of the gestures they are able to perform increases constantly.
  • the humanoid robot from Sony TM which has US Pat. No. 6,580,369 and US Pat. No. 6,832,132 are described in gaming environments, in particular football or athletic games. However, it is his only fun activity and he has no function allowing him to participate in complex games of a virtual universe, such as strategy games.
  • Nonhumanoidal automata are also known for performing specialized game functions (chess, certain card games, Guitar Hero, etc.). It would be advantageous to have a humanoid robot capable of performing all of these functions.
  • the present invention solves this problem by providing a humanoid robot that can, for a plurality of games, serve as an interface to a player to interact with a game, provide him with an intelligent help to progress in the game and occupy a full place player in a multi-player game.
  • the present invention discloses a humanoid robot adapted to move on its lower limbs, to perform movements of its upper limbs, to receive visual, sound and / or gestural messages and to produce at least one autonomous behavior, said robot characterized in that said at least one behavior constitutes an element of a sequence of a game generated in response to at least one message belonging to the group of visual, sound and / or gestural messages.
  • the robot of the invention is able to recognize objects in its environment and integrate them into the sequence of said game.
  • the robot of the invention is able to ask questions and to determine within response messages. true answers, false answers and ambiguous answers.
  • said determination is performed at the output of a loop of iterations determined according to recognition thresholds of said responses.
  • the robot of the invention is the host of a question-answer game in which at least one other player participates who must provide the answers to the questions asked by the robot.
  • the robot of the invention is one of the players of a game in which at least one other player participates and in which he has to recognize a person or a thing according to at least indicia communicated to him by said at least one other player.
  • the robot of the invention is able to seek help on the internet to perform said recognition.
  • the robot of the invention is a player of a game in which he is able to cooperate with at least one other player to solve at least one enigma.
  • the movements of the robot of the invention are determined in part according to the first instructions of movements communicated to it by a remote control manipulated by a first player, second instructions of movements, antagonists to the first instructions, which are communicated to him visually. by a second player and third instructions of displacements, antagonists to the second instructions which are communicated to him by a third player.
  • said remote control is a portable housing provided with at least one motion sensor and capable of translating the outputs of said at least one sensor into said first setpoints.
  • At least two robots participate in the same game, said at least two robots being in communication by at least one visual, sound and / or gestural message.
  • at least two robots participate in the same game, said at least two robots being in communication by exchanging behavior messages.
  • said exchange of behavior messages is activated after a step of reciprocal identification of said robots by exchange of information characterizing them.
  • said at least two robots are furthermore able to download a synchronization signal of their movements.
  • At least one player robot and another player are located in two places not connected by a local network.
  • said at least one player robot and another player communicate by wide area communication protocol and in that said player robot is provided with autonomous processing means for encoding network accesses.
  • a player is able to communicate with the robot of the invention by means of a visual code.
  • the robot of the invention is able to perform a helper function of at least one other player consisting of performing at least one action in the game instead of the player.
  • said action consists in saving the game.
  • said assistance function consists in applying instructions for controlling access to the game.
  • the robot of the invention is able to trigger and manage the interruptions and resumptions of a game sequence.
  • the invention also discloses a method of controlling a humanoid robot adapted to move on its lower limbs, to perform movements of its upper limbs, to receive visual, sound and / or gestural messages and to produce at least one behavior autonomous, said method being characterized in that said at least one behavior constitutes an element of a sequence of a game generated in response to at least one message belonging to the group of visual, sound and / or gestural messages.
  • the invention also discloses a computer program comprising program code instructions for executing a control method of a humanoid robot when the program is run on a computer, said program being adapted to enable said humanoid robot to move on its lower limbs, to perform movements of its upper limbs, to receive visual, sound and / or gestural messages and to produce at least one autonomous behavior, said program being characterized in that said at least one behavior constitutes an element of a sequence of a game generated in response to at least one message belonging to the group of visual, sound and / or gestural messages.
  • a humanoid robot such as that of the present invention offers players a completely new experience by providing a physical avatar of a virtual character that can "go out" of the virtual world to reach the real world.
  • the humanoid robot of the invention also has complementary advantages. It can replace at a moment's notice a player who has to suspend his participation in a game. He can also be expected to save Periodically the game configuration, which allows to add an additional backup means, in case of hardware or software problem on one or more stations or game servers. It can be equipped with sophisticated parental control functions allowing it to adapt the periods and modalities of a game at the age or the profile of the players and provide in real time and in natural language to the players concerned the explanations corresponding to the programmed control criteria.
  • the humanoid robot of the invention can easily receive updates of its programs and / or data that allow it to participate in new games or new versions of the same games.
  • the game functions of the humanoid robot of the invention are only part of the complex functions that such a robot can perform.
  • Such a robot can indeed provide a mission of assistance and monitoring of a person (child, elderly, sick ...) with which it is placed, giving an appropriate alert if detected. a fall or degradation of a function programmed to be monitored.
  • FIG. 1 is a diagram of the physical architecture of a humanoid robot in one embodiment of the invention
  • FIG. 2 is a diagram of the architecture of the high-level software for controlling the functions of the robot in one embodiment of the invention
  • FIG. 3 is a diagram of the functional architecture for editing and programming the behaviors of a robot in one embodiment of the invention
  • FIGS. 4a, 4b, 4c, 4d, 4e and 4f represent different functional and / or technical architectures for implementing the invention
  • FIG. 5 is an illustration of a game of riddles that can be animated by a humanoid robot player in one embodiment of the invention
  • FIG. 6 represents the processing flowchart of another game that a humanoid player robot can play in communication with a game server in one embodiment of the invention
  • FIGS. 7a, 7b and 7c illustrate a strategy game that can be played by a humanoid robot player in one embodiment of the invention
  • FIGS. 8a, 8b, 8c and 8d illustrate a challenge game that is played with a humanoid robot in one embodiment of the invention.
  • FIG 1 illustrates the physical architecture of a humanoid robot in one embodiment of the invention.
  • a humanoid robot has been disclosed in particular in the patent application WO2009 / 124951 published on 15/10/2009.
  • This platform served as a basis for the improvements that led to the present invention.
  • this humanoid robot can be indifferently referred to under this generic name or under its trademark NAO TM, without the generality of the reference being modified.
  • This robot comprises about two dozen electronic cards type 1 10 control sensors and actuators that control the joints.
  • the card 1 10 shown in the figure is the one that controls the left foot.
  • One of the virtues of architecture is that the cards controlling the joints are for the most part interchangeable.
  • a joint normally has at least two degrees of freedom and therefore two motors.
  • the joint also includes several position sensors, including MRE (Magnetic Rotary Encoder).
  • MRE Magnetic Rotary Encoder
  • the electronic control card includes a commercial microcontroller. It can be for example a DSPIC TM of the company Microchip. It is a 16-bit MCU coupled to a DSP. This MCU has a servo loop cycle of one ms.
  • the robot can also include other types of actuators, including LEDs (electroluminescent diodes) whose color and intensity can reflect the emotions of the robot. It may also include other types of position sensors, including an inertial unit, FSR (ground pressure sensors), etc ....
  • the head comprises the intelligence of the robot, including the card 130 which performs the high-level functions that allow the robot to perform the tasks assigned to it, including, in the context of the present invention, participation in games.
  • the card 130 could however be located elsewhere in the robot, for example in the trunk. However, we will see that this location, when the head is removable, can replace these high-level functions and thus in particular to completely change the intelligence of the robot and therefore its missions very quickly. Or conversely to change a body by another (for example a defective body by a non defective) keeping the same artificial intelligence.
  • the head may also include specialized cards, especially in the speech or vision processing or also in the processing of service inputs / outputs, such as the encoding necessary to open a port to establish a communication remotely over Wide Area Network (WAN).
  • WAN Wide Area Network
  • the processor of the card 130 may be a commercial x86 processor.
  • a low-power processor such as the Géode TM from AMD (32-bit, 500 MHz) will be favorably selected.
  • the card also includes a set of RAM and flash memories. This card also manages the communication of the robot with the outside (behavior server, other robots ...), normally on a WiFi transmission layer, WiMax, possibly on a public network of mobile data communications with standard protocols possibly encapsulated in a VPN.
  • the processor is normally controlled by a standard OS which allows to use the usual high-level languages (C, C ++, Python, ...) or the specific languages of artificial intelligence like URBI (programming language specialized in robotics) for programming high-level functions.
  • a card 120 is housed in the trunk of the robot. This is where the computer that provides the transmission to cards 1 10 orders calculated by the card 130. This card could be housed elsewhere in the robot. But the location in the trunk is advantageous because it is located near the head and at the crossroads of the four members, which allows to minimize the connectivity connecting the card 130 to the card 120 and cards 1 10.
  • the calculator of this card 120 is also a commercial processor. This may advantageously be a 32-bit processor of the ARM 9 TM type clocked at 100 MHz. The type of processor, its central position, close to the on / off button, its connection to the control of the power supply make it a tool well adapted for the management of the power supply of the robot (standby mode, emergency stop,. ..).
  • the card also includes a set of RAM and flash memories.
  • This three-level architecture is particularly advantageous for the implementation of the present invention in which the robot must be able to execute coordinated movements and other actions such as sensor readings and simultaneously interpret words or signals emitted in its environment. and react or respond to them.
  • FIG. 2 is a diagram of the architecture of the high-level software for controlling the functions of the robot in one embodiment of the invention.
  • a software architecture of this type has been disclosed in particular in the patent application WO2009 / 124955 published on 15/10/2009. It comprises the basic functions of communication management between a robot and a PC or a remote site and exchange of software that provide the software infrastructure necessary for the implementation of the present invention.
  • This architecture is described below generically, without specific mention of the software functions used in a given game, it being understood that these functions are treated like any other behavior management software function of the robot of the present invention.
  • FIG. 2 is very schematically represented a first humanoid robot RH1 communicating with a first remote terminal TD1, for example by wireless link for reasons of mobility.
  • Remote terminal means a remote terminal of the server platform PFS, providing, via a communication network, access to a web service SW, dedicated to this type of humanoid robot RH1.
  • the communication links between elements of the system may be wired, and the mobile terminals may be, alternatively, mobile phones or laptops.
  • a second humanoid robot RH2 communicates with a second remote terminal TD2, for example also by wireless link so as not to hinder the mobility of the humanoid robot RH2.
  • the TD1 and TD2 remote terminals and the PFS server platform are networked via the RC communication network.
  • the humanoid robots RH1 and RH2 only one respective connection module B5, B2, B4, B1 and B3 dedicated to at least a module comprising at least one series of instructions implementing a software function by execution by a processor.
  • the respective modules M51, M52, M21, M22, M41, M42, M1 1, M12, M31, M32 of the linking modules B5, B2, B4, B1 and B3 are in this example represented in number of two per module. linking, but this number may be different and any for each linking module.
  • the first humanoid robot RH1 triggers the module M1 1 which must first use a function "On".
  • the module M1 1 then uses a connection interface module and function call or proxy P1 which makes a request to the connection module B1 to which the module M1 1 is linked.
  • the linking module B1 makes requests to its own modules and connection modules of the network to which it is directly connected (child connection modules) which repeat this operation iteratively, until a network matching module responds to the request with the location of the called function it has in a module.
  • the answer to the request is also transmitted iteratively by the parent linking modules (in the opposite direction) to the connection module B1 directly linked to the proxy P1 needing to connect and call this function.
  • the function requested for the step is located in the module M41 of the second remote terminal TD2.
  • the connection module B4 returned the call parameters of the "on" function, which, for example, contain an integer duration parameter in seconds representing the duration during which the robot is going to walk, and a parameter Exclusive, of Boolean type, representing the exclusive or not running of the robot, ie if the robot is allowed to do another action or not while walking.
  • the walk function with the parameter Duration equal to 10 and the Exclusive parameter equal to 1, because we want it to speak after having walked for 10 seconds in this example.
  • connection and call interface module P1 can thus make the connection and the call of the "on" function with the desired parameters, remotely, as if it were located locally.
  • the connection interface and function call modules use intercom software capable of calling a function of a module located on a different terminal or server, the function being able to be written by a series of instructions in a computer language different from that of the calling module.
  • Proxies use, for example, the SOAP intercommunication software. We therefore have an inter-platform and inter-language communication architecture. Once this function delocalized "on” carried out, the module M1 1 must call a function "speaks".
  • Another connection interface and function call or P2 proxy module makes a request to the connection module B1 to which the module M1 1 is linked.
  • connection module B1 makes a request to its own modules M1 1 and M12 in a first step, through a function performed in the form of a sequence of stored instructions, which goes, by example, return the presence of this function "speaks" in the module M12.
  • the connection module B1 informs the connection interface module and function call P2 which can then directly call, by a call of the local call type, the "talk" function of the module M12, with as parameter, for example , the text to say "hello", this parameter having been transmitted to the proxy P2 by the linking module B1.
  • the system comprises an STM storage and management module (short for "Short Term Memory” in English) of parameters representative of the state of the mobile terminal, in this case the humanoid robot RH1, adapted to set day the values of said parameters on receipt of an external event, and to inform a module, upon prior request, of an update of one of said stored parameter. Also the module prevented will be able to initiate an action according to the modifications of parameters of which it was informed.
  • STM storage and management module short for "Short Term Memory” in English
  • the STM storage and management module can memorize the state of a parameter representative of the appearance of someone detected by a motion detector of the robot RH1.
  • this parameter passes from a representative state of person in the immediate environment of the robot to a representative state of someone present in the immediate environment of the robot, on request previously carried out by the module M1 1, the memory module and STM prevents, by an event or signal, this change in value.
  • the module M1 1 can then, for example, automatically trigger the successive triggering described above (the functions "on” and "speaks").
  • the storage and management module STM is part of the remote terminal TD1, but, as a variant, it can be part of the other remote terminal TD2, of the server platform PFS, or a humanoid robot RH1 or RH2.
  • the STM storage and management module is also capable of storing in memory a temporal evolution of certain parameters over respective reference time intervals.
  • a module of the system can, in addition, have access to the evolution of the values of these parameters for a certain duration, and take into account these changes in the actions to be carried out.
  • the modules of the called functions can be located on the server platform PGS, on a humanoid robot RH1, RH2 or on a remote terminal TD1, TD2 of the communication network RC.
  • the present invention makes it possible to have a program distributed over the network, and an identical operation of the mobile terminal, whether it makes a local or remote call to a function.
  • the present architecture also makes it possible to have a set of stored parameters representative of the state of the mobile terminal, and to be able to take account of changes in this state to trigger certain actions automatically.
  • the storage and management module can also record an evolution of parameter values during a predetermined time interval, which allows a module to have access to a history of revolution of these parameters.
  • FIG. 3 is a diagram of the functional architecture for editing and programming the behaviors of a robot in one embodiment of the invention.
  • Choregraph TM Such an architecture has been described by patent application PCT / EP2010 / 057111 filed on 25/05/2010.
  • the software for editing and programming the behaviors of a humanoid robot for implementing said architecture is commercially known as Choregraph TM, and may be denoted by its generic name or by its commercial name, without altering the generality of the references.
  • the robot controlled by this architecture may be a humanoid robot having a head, a trunk and four members, each of the parts being articulated, each articulation being controlled by one or more motors.
  • This architecture allows a user of the system to control such a robot by creating simulated behaviors on a virtual robot and executed on the real robot connected to the system by a wired or wireless link.
  • behaviors such as walking - straight, right or left of n not, a hello - movements of one of the arms above the head speech, etc.
  • movements of the head, of a limb part, of a given angle
  • FIG. 3 is a flowchart of the processes which illustrates the articulation of the commands triggered by events with their temporal dimension. Commands triggered by events are represented in the semantics of the invention by Boxes or "Boxes” or “Control Boxes” 310.
  • a Box is a tree programming structure which may comprise one or more of the following elements which are defined below:
  • Control boxes are normally interconnected by connections that most often transmit event information from one Box to another, as detailed later in the description. Any Box is connected directly or indirectly to a "Root Box” or Root that initializes the behavior / motion scenario of the robot.
  • a time axis of frames 320 represents the temporal constraint to which the behaviors and movements of the robot defined in the box in which the said temporal axis of frames is inserted are subjected.
  • the Timeline thus synchronizes the behaviors and movements of the Box. It is divided into frames which are associated with a run rate defined in number of frames per second or Frames Per Second (FPS).
  • the FPS of each Timeline is customizable by the user. By default, the FPS can be set to a given value, for example 15 FPS.
  • a Timeline can include:
  • Behavior Layers or "Behavior Layers” 330 each comprising one or more Behavior Key Frames or "Behavior Principal Frames” 50, which may themselves include one or more Diagrams or "Flow Diagrams” 70, which are actually sets of Boxes that can also be attached directly to a higher-level Box without going through a Behavior Layer or a Timeline;
  • One or more Motion Layers or "Motion Layers” 40 each comprising one or more Motion Key Frames or “Motion Master Frames” 360 which may include one or more Motion Screens or "Motion Screens” 380.
  • a behavior layer defines a set of behaviors of the robot or main behavior patterns. Several behavior layers can be defined within the same box. They will then be programmed to run synchronously by the Timeline of the Box.
  • a behavior layer may include one or more main patterns of behavior.
  • a main behavior matrix defines a behavior of the robot, such as walking ("Walk"), speech (“Say”), the music game (“Music”) ...
  • a certain number of behaviors are pre-programmed in the system of the invention to be directly inserted by the user in a simple "drag and drop” from a library as detailed later in the description.
  • Each Primary Behavior Frame is defined by a trigger event that is the start of the frame to which it is inserted into the Timeline.
  • the end of the Main Behavior Frame is defined only to the extent that another Main Behavior Frame is inserted after it, or if an end event is defined.
  • a Movement Layer defines a set of robot motions that are programmed by one or more successive main Motion Frames that group movements of the robot's joint motors. These movements to be executed are defined by the angular positions of arrival of said engines that can be programmed by action on motion screens, said actions being detailed further in the description. All the main Motion Frames of the same Box are synchronized by the Timeline of the Box.
  • a Main Motion Frame is defined by an Arrival Frame. The starting frame is the ending frame of the previous main movement frame or the start event of the box.
  • Main Behavior Frames and the Main Motion Frames are commonly referred to as Main Action Frame. It is possible to run in parallel several main action frames (behavior or movement), provided that they are attached to the same Timeline.
  • a flow diagram is a set of connected boxes, as detailed below.
  • Each of the Boxes may in turn include other timelines to which new patterns of behavior or movement are attached.
  • a script is a program directly executable by the robot.
  • a Box that includes a script does not include any other element.
  • the software can be installed on a PC or other personal computer platform using a Windows TM, Mac TM or Linux TM operating system.
  • the humanoid robot of the present invention will generally be programmed to play using the Choregraph TM software.
  • the combination of temporal and behavioral logics made possible by this development architecture is particularly advantageous for the implementation of the present invention.
  • a certain number of tools, mentioned later in comment in FIG. 9, have been particularly adapted for the implementation of the humanoid robot player of the present invention.
  • FIGS. 4a, 4b, 4c, 4d, 4e and 4f represent different functional and / or technical architectures for implementing the invention.
  • FIG. 4a shows an embodiment in which the robot 400a itself constitutes the game platform with which several physical players 410a, 420a, 430a can play, normally in the same room 440a as the robot, with the variants explained. further in comment in Figure 4f.
  • the robot 400a may for example ask questions to the players 410a, 420a, 430a as illustrated further in more detail in commentary on FIG. 5.
  • the number of players is in no way limited to three.
  • the robot can in particular be the animator of the game. It can ask questions to the players or have them recognize sequences.
  • the robot then behaves functionally as a game console but given its ability to reproduce human behavior, it offers players a gaming experience that presents a unique character.
  • the behaviors of the robot that allow it to interact with the players are stored in its central unit 130. They will have been previously loaded either from a PC on which they have been generated if said PC is equipped with the editing software of the robot. Choreographer TM behaviors described above in commentary in Figure 3, either downloaded from a game server. The games can also be downloaded from the server from the PC and downloaded from the PC to the robot. One can also consider game downloads between robots, as explained below in commentary in Figure 4e. The execution of the game can be initialized from the robot or from the PC. When the PC is equipped with behavior editing software, it can also be used to play, a virtual robot present on the PC being able to run on the PC most of the behavior of the physical robot 400a.
  • FIG 4b there is illustrated an embodiment in which an animator player 410b interacts with a player robot 400b normally located in the physical presence, in the same room 430b as him.
  • the game may consist in proposing the robot recognition of characters or things from increasingly allusive clues.
  • the robot accesses sources of information and processing located on a remote computer 420b. This access is made by requests sent to a specialized site of the game on the Internet.
  • the robot will establish a connection on the network via an access port which can be for example a LiveBox TM or a FreeBox TM to which it accesses via Wifi link.
  • the behaviors of the robot are however themselves embedded on the robot 400b. These behaviors are produced, edited and loaded on the robot in a manner identical to that indicated above in commentary on FIG. 4a.
  • the processing is distributed between a robot and a remote server. But the remote server does not participate in the game. It serves as a resource center for the robot that will tap into it as need. There is no direct interaction between the player 410b and the server 420b.
  • FIG. 4c illustrates an embodiment in which a player 410c interfaces both with a player robot 400c and with a PC or a game console 420c, said robot also communicating with said PC or said console.
  • These three elements are normally located in the physical presence in the same room 430c.
  • This embodiment is particularly applicable to role plays of the type illustrated below in detail in commentary on FIGS. 7a, 7b and 7c.
  • the player In this type of game, the player must solve puzzles for which the robot will provide clues.
  • the player must interact with the 400c robot but also with the 420c console.
  • the game modules are divided between the two units.
  • the modules that are implanted on the robot (behavior of the robot but also parts of the puzzles) are edited and transferred in the manner indicated above in commentary to FIG. 4a.
  • the player may have visual aids or sound that he gets himself or that are provided by the robot. It can also interface with the robot by coded signs.
  • Figure 4d is illustrated an embodiment in which three players 41 Od, 420d, 430d interfere with a robot 400d, the four characters being located in the same physical environment 450d. The three players potentially have different roles with respect to the robot, unlike the embodiment illustrated in Figure 4a.
  • One of the players can interact with the robot via a 440d remote control. Said remote control makes it possible to transmit orders, in particular of movement, to the robot 400d. It can be an Apple TM iPhone TM or another phone with motion capture and / or positioning capabilities.
  • It may also be constituted by a Nintendo TM WIIMote TM 3D remote control, Movea TM AirMouse TM or other, subject to recovering motion signals, positioning or other types output of said remote controls.
  • a part of the game application will be embedded in the remote control, in particular the part that makes it possible to generate the instructions for moving the robot according to the movements printed on the screen.
  • remote control angles of bearing, roll, yaw, pressure on real or virtual buttons.
  • An exemplary embodiment is illustrated below in detail in commentary on FIGS. 8a, 8b, 8c and 8d.
  • Most of the game application is embedded in the robot as discussed above in commentary Figure 4a.
  • Players 420d and 430d may communicate with the robot as discussed above in commentary in Figure 4c.
  • Figure 4e is illustrated an embodiment in which two 400th and 430th robots play together. It can be dialogues, coordinated movements, such as dances or fights.
  • the robots can be controlled by players 410e, 440e equipped with 420e remote controls, 450th of the type of remote control 440d of Figure 4d. Orders can however be given to robots by the players by speech or visually. Robots can also play with each other without a real player.
  • an email account identifier (xmpp, jabber, gtalk ..., skype); - a social network account identifier.
  • behavior files, music files and behavior signals can be exchanged to interact.
  • the game can be extended to more than two robots. In this case, it may be necessary to provide a global synchronization signal emitted either by one of the robots or by a PC.
  • This synchronization signal can be retrieved on a Network Time Protocol (NTP) time reference server and serve as a starting point for timelines of the different robots that synchronize their behaviors.
  • NTP Network Time Protocol
  • This synchronization can be kept for a long time (of the order of fifteen minutes).
  • Dance moves or group games can then be performed by a group of robots in a fully synchronized manner.
  • FIG. 4f is an embodiment in which a player 41 Of and a robot 400f are located in two remote locations 440f and 430f, the player having a PC or mobile device connected by an internet-based 450f wide-area network.
  • a local area network 460f to which the robot (s) are (are) connected.
  • the connection between the robot and the PC (or mobile device) of the player allows the exchange of data in the form of requests or flows allowing the exchange of raw data, binary, audiovisual and text with a sufficiently short delivery time to ensure the reactivity of the game.
  • the player can take complete or partial control of the robot by sending him commands of execution of behavior. He can also read, within the framework of the game, the information captured by the robot such as the images of his cameras, the sound, and the values of all the sensors of the robot as well as values coming from the web or other robots present in the environment.
  • the information captured by the robot such as the images of his cameras, the sound, and the values of all the sensors of the robot as well as values coming from the web or other robots present in the environment.
  • most of the games mentioned in the case where the robot (s) and the player (s) are located in the same physical environment can be executed in an extended environment.
  • This WAN communication mode can be applied in case the player is replaced by a second robot.
  • the second robot must have the same wide-area access features as those of the first robot described above.
  • Figure 5 is an illustration of a guessing game that can animate a humanoid robot player.
  • This first embodiment uses the functional and technical architecture described above in connection with FIG. 4a.
  • the game that serves as an illustration of this embodiment is a Quiz, the NAO TM Quiz.
  • Figure 5 is the table of mimes, riddles and sounds that can serve as a frame for the game.
  • NAO presents the game, for example on a game show style music + applause: "Hello ladies and gentlemen, The NAO Quiz will begin, presented by the star of television, NAO! ". In this game NAO will have the personality of a TV host, enough enough and not hesitating to chamber participants.
  • NAO introduces the mode: "We are going to play Everybody for You to determine which of you is the best”. For a single player the sentence will be different, style: "What score will you succeed to get? ". If several players participate, NAO asks them to register: "The first player has one second to give me his name, I'm listening”. The ears of NAO come on and he records for a second. If NAO hear nothing he rests the same question. NAO then repeats his first name and asks the player to indicate his position by pointing his arm towards him (NAO then holds out his arm in front of him): “Hello Pierre, tell me where you are by directing my arm towards you. Press my head to confirm. " This allows NAO to move towards the player whose turn it is to ask him his question.
  • NAO does not register and looks ahead to ask questions.
  • NAO asks if the player is an adult or a child (box of choice), which corresponds to 2 levels of difficulty.
  • NAO launches the game.
  • NAO launches a different game depending on the number of human players:
  • NAO poses a total of 9 questions to each participant, allocates 1 point per correct answer and calculates the total score of each player. He explains how it works: "I am going to ask you 9 questions each, the one who gives the most correct answers will be declared the winner”. The sentence is changed in case of a single player.
  • NAO To each question NAO turns to the player he has chosen (randomly), says his name (if 2 players, not in the case of a solo part) and selects 1 question of the difficulty required and which has not already been asked during this part.
  • the 10-second countdown begins only at the end of the mime / sound / riddle. It is represented by the LEDs around NAO's eyes which gradually go out. Arrived at 0, NAO plays a buzzer sound. If the timer reaches 0, the buzzer sounds and NAO says something like "Too late, sorry". If the player answers correctly, NAO congratulates him. NAO could clap his hands, nod "yes” or raise his arms to heaven.
  • NAO says “Wrong answer” (or is provocative: “It was easy though” I “I was expecting you better” ... NAO could give up a disappointed do “no" of the head.
  • NAO Whenever NAO analyzes a response, if the reaction time is a little high, it could have a gesture related to reflection (look up, put a finger in front of his mouth, take his chin in the hand, scratching himself the head).
  • NAO moves on to the next player (if any).
  • NAO announces that the game is finished and summarizes the scores: "Bravo, you have a score of X points”.
  • NAO will choose a winner: "Peter is the winner” or a tie: "It's a draw.”
  • NAO summarizes the scores and invites the 2 best players to participate in the final: "Bravo Pierre and Paul, you are in the final”.
  • NAO will decide the players by a game of chance. He asks each player, in turn, to press one of his feet or one of his hands: "Player 1, choose a hand or a foot”. The member in question will light up. Then he will ask the other tied players to choose from the remaining members. Once all the choices are made, the lights start to turn as for a game of chance, with a sound close to that of a slot machine. The lit parties at the end are those of the players qualified for the final. NAO can put its grain into it by making the light come back a notch, by making it advance at the last moment, after several seconds of stopping ... It accompanies these jokes of sentences like: "No, finally I prefer this player".
  • NAO will ask the 2 finalists to position themselves in front of him.
  • NAO sits down and asks 3 questions (no mime). If one or both of the players are children, the questions will be child level. Yes the 2 players are adults, the questions will be adult level. In case of equality before the last question, it will be more difficult than the others (adult or expert).
  • NAO "Pierre, you play with my right foot (the foot comes alive)".
  • NAO explains the rule: "I'm going to ask 3 questions. The first who presses on my foot has the right to give an answer. You have 10 seconds in total to press, and then 5 seconds to give your answer. "NAO asks a question and waits for 10 seconds for someone to press.
  • NAO stops the 10-second clock and pronounces the fastest name. It then begins the countdown of 5 seconds. If the player gives an answer, NAO tells him if he is right or not. If he is right, NAO congratulates him and moves on to the next question. If he is wrong or if he does not answer anything NAO will inform him and resume the countdown of the 10 seconds from where he left off: "Wrong answer / No answer, the other player can now press to answer »
  • NAO determines the winner: "Bravo Paul, you won the final”. If a player has 2 points after the 2nd issue, it is automatically declared the winner.
  • NAO can taunt them "It seems to me that my questions are a bit too complicated for you".
  • NAO asks questions to the group of players, who have the right to give only one answer. If successful NAO asks another question, in case of failure the game stops.
  • the goal for players is to answer as many questions as possible within the limit of a predetermined number (15 to 20 for example).
  • NAO presents the mode: "We will play together, will you be able to answer my questions?" The first 6 questions will be child level, the next 6 adult and the last 3 expert level. If there are only adult players, the first 12 questions will be adult questions (no child questions). If there are only children players, the first 10 will be child difficulty, the last 5 adults.
  • NAO speaks to the group and asks their first question (box of choice). Then he gives them 15 seconds to answer.
  • NAO In case of no response, or wrong answer, NAO stops the game and gives the score obtained by the team. He also remembers to the participants what is the best score ever obtained on this mode of play.
  • NAO will be able to congratulate them with a little dance planned for the occasion.
  • NAO will have a reaction and offer a different reward depending on the score achieved, in stages (from 0 to 5 points: “Can do better", from 5 to 10 points: “Not bad at all” and from 10 to 14 points "Very good play ").
  • NAO needs space for mime (moving), he warns players to place him in a clear place.
  • NAO chooses a player and asks him questions (mimes, riddles and mixed sounds) until he makes a mistake. Each good answer yields more than the previous one (we can start at 5 points and increase by 5 points each time). When the player is wrong, his turn is over and NAO passes to the next player. Questions "quit or double” or levels to "Who wants to earn millions” could spice up the game (possibility of losing points). The game could also be limited in the time, to prevent other players spending too much time waiting their turn (the time limit is to be defined according to the speed of NAO to ask questions / mime and interpret the answers)
  • NAO chooses a player (at random or in a defined order) and asks him a question (mimes, riddles or sounds). In case of correct answer, the player scores 10 points, in case of bad answer he loses 5 points.
  • NAO asks each player questions, but he must answer the previous question and not the one that NAO has just asked.
  • FIG. 6 represents the processing flowchart of another game that a humanoid robot player can play in communication with a game server.
  • NAO TM Akinator TM is a game in which an AI needs to guess who the player is thinking of. In the game of the embodiment of this invention, it is the robot that must guess from clues given to it by the player. This is helped by queries sent to the game's website.
  • Akinator is indeed an existing game for humans that has been adapted (moderately) to be played by a humanoid robot.
  • the Akinator app launches a menu before starting the application.
  • NAO is able to guess a character.
  • NAO plays an animation based on the percentage of certainty.
  • the categories of character are integrated in the game: for example, 132 results ranked in 5 categories: family, combat, actor, footballer, singer; 1 1 characters have a specific animation.
  • NAO plays an animation when he announces the character he has guessed. If the character found is in a category, NAO plays the associated animation. NAO for example retains the last 50 characters played and can make a remark if a character already found is played again.
  • NAO tries to guess who or what the guru is thinking by asking questions.
  • NAO uses the existing website (http://en.akinator.com/).
  • the game structure was developed with the NAO's Behavior Development Workshop.
  • the web requests have been developed in Python language, well suited for the control of robots, and can be integrated as modules in the control boxes of the Choregraph TM workshop. 2 - Web requests used
  • the FileAkinatorRequest class is designed to send web requests to the Akinator site using the wget command.
  • the options in the query are used as arguments in the class construction procedure (as strings).
  • the web service is downloaded and saved as a file whose content is used as an attribute of the class.
  • the RequestBase class is used to:
  • a single class has been created for each different web service; each class inherits the base class RequestBase; the specific data of the web service associated with this class is used as arguments of the SendRequest method; the data is retrieved, interpreted and created in the attributes of the class; by For example, the AnswerRequest class is used to retrieve data from the Answer web service.
  • the data channel, base, session, signature, step, answer, and question_filter are used as parameters of the SendRequest method.
  • the data is retrieved, interpreted and created in the attributes of the classes: "question”, “answers", "step” and "progression".
  • FIGS. 7a, 7b and 7c illustrate a strategy game that can be played by a humanoid robot player in one embodiment of the invention.
  • This exemplary embodiment uses the functional and technical architecture described above in connection with FIG. 4c.
  • this is a game in which the player has to solve several complex puzzles to complete the stages and reach the end of the game.
  • the game is titled "Shana Spirit Journey” or “Voyage”. of the Spirit of Shana ".
  • the goal of the game is to have the player cooperate with the NAO invention robot to send Shana, a character from another world embodied in NAO on Earth, to his world through a spatio-temporal portal created by the guardian of the world. of Shana at the beginning of the game.
  • FIG. 7b A small spellbook, the 1 st page is illustrated in Figure 7b: this is a collection of 6 double in A6 size pages. Each double page of the booklet shows an illustration on the left page. On the right page there is a NAOMARK accompanied by a title and a text;
  • NAOMARK are elements of Shana's world language; they realize a visual code interpretable by the robot NAO; examples of NAOMARK are shown in Figure 7c.
  • the Anamturas form clans like the Celts. They are constantly looking for clues to find out what happened on their home planet and to try to better understand their civilization and history.
  • Anamturas have already landed on earth, seeking explanations of their home planet. (Ref Aldabra Island). This team arrived on earth would have found information on the reason of the disappearance of the planet of origin of Anamturas and would have left indices. These Anamturas mysteriously disappeared after sending a message to theirs in the Aldebaran system.
  • Anamturas technology is based on magic and the use of natural resources.
  • Anamturas used two methods depending on the distance of the target. Space ships have allowed the Anamturas to establish themselves in the near worlds as the main colony of the Aldebaran system.
  • Anamturas colonized a set of worlds, out of curiosity, but also to escape the overpopulation of their home planet.
  • Anamtura receives a signal. This is the signal of one of the search missions. This mission had not given any sign of life for a long time and was considered lost. This signal took years to reach its destination.
  • Shana's spirit is sent to Earth, while NAO begins to come alive.
  • Shana has seized the grimoire which also falls in the portal. This is the booklet provided with the game.
  • NAO At the end of the video (black), NAO "turns off” and collapses. 3-4 seconds later, his head is slightly upright and moving from right to left, as if searching for something "Where am I?" What has happened to me? ". This same text appears at the same time on the PC screen, on a black background. NAO calls, "Does anyone hear me? And repeat this sentence. As before, this sentence also appears on the screen and the application closes. NAO continues to call regularly until the player interacts with him.
  • the player and NAO will have to cooperate to return Shana to his world using a spatio-temporal portal identical to that created by the Guardian of the beginning of the adventure.
  • the puzzle booklet (supplied with the game CD) serves as a "HUB" to the game. That is to say that from this booklet, the player has access to all 6 (5 bases + 1 final) puzzles of the game.
  • NAO an NAOmark is present on each page of enigma.
  • NAO reacts to the enigma text on the page and makes a comment aloud to the player.
  • NAO can also take a certain pose, play a sound, and so on.
  • NAO physically portrays the chosen enigma. It is through him or directly with him (by manipulating him) that the player will solve each riddle.
  • Figures 8a, 8b, 8c and 8d illustrate a challenge game that is played with a humanoid robot in one embodiment of the invention.
  • This game is implemented in the functional and technical architecture described above in commentary on FIG. 4d.
  • the movements of a humanoid robot 820a of the invention are remotely controlled by one of the three real players using a remote control, for example an iPhone TM 810a from Apple. TM.
  • a remote control for example an iPhone TM 810a from Apple.
  • This first player must drive the robot from a starting point to an end point.
  • a second real player must counter the movements of the robot by communicating movement instructions via NAOMARK 830a.
  • a third real player seeks to help 1 player by communicating to the robot and / or 1 player advice and performing actions.
  • the positioning of the robot 820a, the starting and finishing points are illustrated in FIG. 8b.
  • the game of challenge is played with a single NAO robot and comes down from solo mode (only one human) to a 3 human mode.
  • a privileged mode is the 1 NAO and 3 Humans mode, it is the one that will be mainly described in the present description.
  • Solo mode is a training or demonstration mode. It allows a single player to test the different features of the game, or to improve.
  • Player N the player controlling the NAO
  • Player Allied Player N is named: Player A
  • Player E the Enemy and opponent of the first two players
  • the 3 players together define a starting point (point D) and an end point (point A). Two locations will have to be far enough apart that the NAO can not travel the distance between these two points in less than a minute. Ideally, these two points could be in different rooms.
  • Player N must then take control of the NAO through his iPhone and drive it from point D to point A.
  • the player E must do everything to make him fail and win the victory.
  • Player A must best assist Player N with his advice and the actions he can take.
  • Player N can then handle Allied cards himself.
  • the game is therefore a clash between the team of players N and A against the player E.
  • the iPhone it is the accessory of control, which allows the player N to control the NAO.
  • player N places NAO on starting point D. He places a 20-card deck in front of player A and a deck of 20 cards in front of player E. A and E then draw 2 cards in their deck. respective and keep these cards secret, (even the player A compared to the player N).
  • the player N launches the game application. After a series of Logos, he arrives on the main menu.
  • An audible announcement warns all players that the game has started. The countdown starts. On the screen, the time is perfectly visible.
  • the player N can from this moment control the NAO. He can move.
  • the iPhone announces the situation of the game.
  • NAOMARK is placed at point A.
  • NAO can send the victory information to the iPhone, which ends the game.
  • a congratulatory message appears on the iPhone screen for N and A players.
  • the defeat is quite simple: if the meter reaches Zero on the iPhone, the game is over and the player E wins.
  • the iPhone is the control center of the game, but also the "remote control" allowing player N to control NAO.
  • the main NAO controls running on the iPhone are the move controls.
  • the accelerometer included in the iPhone identifies the movements of the hands of the player N and executes them according to a programmed code, which can be for example that illustrated in Figure 8d. It is possible to move NAO forward, backwards, to the right or to the left. With additional buttons on the screen, you can ask NAO to extend your arms forward or perform any other actions you wish to program.
  • the cards are different in the 2 piles.
  • the cards are divided into categories and can be activated in some cases by NAO itself.
  • Players A and E can use and activate cards that are in their possession at any time.
  • the activation of the card depends on the type of card.
  • Some cards are activated by NAO itself: by presenting the card (equipped with a NAOMARK) to NAO,
  • the cards of the player A are generally made to cancel or counter the negative effects of the player E:
  • - Cancellation Card this card must be presented to NAO in some cases; this card once played allows to cancel a card or an effect of another card (generally a negative card of the player E); - Additional Time Card: This card must be presented to NAO; it allows to add a minute to the remaining time;
  • this card must be presented to NAO; by engaging this card, NAO refuses to read any negative card that presented to him for 1 minute; however, this does not protect cards that do not require reading by NAO;
  • This card must be presented to NAO; this card allows the NAO for 1 minute to move faster.
  • the cards of the player E are generally made to annoy the players N and A in their quest for victory.
  • This card does not need to be presented to NAO; thanks to this card, the player E can place a physical obstacle on the road of NAO; NAO must then circumvent this obstacle or attempt to cross it, but at the risk of falling; there is no particular rule for the choice of the obstacle, on the other hand, the player E can not in any case block access to the arrival, and the obstacle must never be of a bigger size at 2 times that of NAO;
  • this card does not need to be presented to NAO (except failure); this particular card asks NAO to complete a mini-challenge; first, NAO must reach out; then put a tray and put on a foam ball; from that moment, NAO must continue to play but in this position; the difficulty comes from the fact that he does not have to drop the ball in foam, otherwise he suffers a penalty of 4 minutes (in this case, the player E presents the card to the NAO to validate the loss of time); player A can use cards to free NAO from this constraint.
  • the player accesses 2 sub-menus: - Free Mode: In this mode, the player will be able to control the NAO without any particular purpose. This allows to play with his NAO by remote control with his iPhone;
  • the player has control of NAO and can reproduce the conditions of a real game; time is present and he has cards A in his possession; it's the iPhone that every minute will trigger a negative event to delay the player; the strategy aspect is not present, but the training allows to improve.
  • the humanoid robot of the invention is advantageously equipped with sensors and software to detect and possibly recognize shapes, including faces, and words. However, given the imperfections of this type of mechanism, it is necessary to provide mechanisms to remove doubt or circumvention in the event of faulty recognition.
  • a Chorégraphe software Choice Box which is one of the boxes whose generic roles and functions are explained above in comment in FIG. 3, can be programmed to allow the robot to ask a question (possibly empty) to the user by making available, for example, a finite number of responses. It is also programmed to ask a player to provide details of his answer when the robot is not sure of having correctly recognized or interpreted it. This mechanism is identical to that used by a human who has poor hearing or is immersed in an environment that makes understanding difficult.
  • the Choice Box is programmed with different answers depending on the level of understanding of the response by the robot.
  • These thresholds are set according to the recognition confidence calculated by the recognition software: for example, when a first recognition threshold is not reached, the robot asks the player to repeat his response; when the first threshold is reached but when a second higher recognition threshold is not reached, the robot is programmed to ask a question whose answer will normally remove the doubt.
  • the robot communicates with the player or players by speech, or by emitting signs, especially with its LEDs, or by performing gestures. It can also be programmed to communicate by coded language, such as walrus, which can be executed either visually (LED, gestures) or audibly.
  • the player robot of the invention is able to embody several characters in the same game. It may have several "personalities" that allow, expressed in particular by different voices, to multiply the possibilities of players and increase the fun experience.
  • pause and recovery mechanisms and means for dealing with incidents such as a fall of the robot or a depletion of its power supply.
  • Breaks can be programmed by the real players. The part is then saved in the various memories associated with the processors where the game is possibly distributed (robots, PCs, remote sites). The recovery is activated by the player according to a standard procedure or automatically by the robot which restarts in the appropriate mode. In the case of incidents, automatic backup mechanisms may be provided at regular intervals, which allow recovery when the incident is resolved.
  • the programming of the robot to execute the behaviors envisaged in a game is carried out by means of a behavior editor software of the Choregraph TM type described above in commentary in FIG. 3.
  • This software includes standard behaviors.
  • Game-specific behaviors can be programmed in Python or C ++ and be associated with the project corresponding to the game as a project resource. They will be called as needed by the different control boxes constituting the application.
  • the humanoid robot of the invention can, however, be used without the need for the behavior editing software. In this case, the behaviors and other software modules necessary for the execution of the game are downloaded to the robot itself, for example by the game editor.
  • Various modes of exploitation of the invention are indeed conceivable.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Mechanical Engineering (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Manipulator (AREA)
  • Toys (AREA)

Abstract

L'invention concerne un robot humanoïde joueur, un procédé et des programmes informatiques associés. Dans l'art antérieur, on ne trouve pas de robot humanoïde apte se mouvoir sur ses membres inférieurs, effectuer des gestes, communiquer des signes visuels et/ou sonores, en recevoir et les interpréter pour en déduire des comportements appropriés pour participer un jeu en temps qu'animateur, questionneur, questionné, enquêteur ou enjeu mobile du jeu. Les architectures matérielles, logicielles internes et logicielles de programmation du robot de l'invention permettent de réaliser ces fonctions et de créer de nouvelles expériences de jeu dans lesquelles les frontières entre monde virtuel et monde réel sont nouveau déplaces.

Description

ROBOT HUMANOÏDE JOUEUR, METHODE ET SYSTEME D'UTILISATION
DUDIT ROBOT La présente invention appartient au domaine des robots humanoïdes. Plus précisément, elle s'applique aux méthodes de programmation et d'emploi de robots de ce type pour des usages spécialisés, tels que le jeu. Un robot peut être qualifié d'humanoïde à partir du moment où il possède certains attributs de l'apparence et des fonctionnalités de l'homme: une tête, un tronc, deux bras, éventuellement deux mains, deux jambes, deux pieds...Au-delà de l'apparence, les fonctions qu'un robot humanoïde est capable de remplir vont dépendre de sa capacité à effectuer des mouvements, à parler et à « raisonner ». Des robots humanoïdes sont capables de marcher, de faire des gestes, avec les membres ou avec la tête. La complexité des gestes qu'ils sont capables d'effectuer augmente sans cesse. Ils peuvent même jouer au football, la Robocup étant devenue le challenge où s'affrontent les meilleures équipes de conception de robots humanoïdes du monde. Certains robots peuvent parler, en réponse à des paroles entendues et interprétées ou en déclamant un texte qui leur est envoyé par e-mail ou mis sous le regard. Des ordinateurs, pour le moment non embarqués sur des robots humanoïdes ont été conçus pour jouer aux échecs et ont battu les meilleurs grands maîtres.
Les robots virtuels sont par ailleurs très présents dans l'univers du jeu vidéo, avec un développement considérable des avatars de personnages réels qui vivent une « deuxième vie » dans un univers miroir de l'univers réel (« Second Life »). Mais les robots physiques ont jusqu'à présent été peu mêlés à l'univers du jeu. Tout au plus peut-on signaler quelques réalisations simples, telles que le ROB (Robotic Operating Buddy) de Nintendo™ dans les années 1980. Ce robot est programmé pour réagir à des variations de luminosité, de couleur ou de forme de parties d'un écran et avoir des comportements déterminés en fonction de séquences d'un jeu s'affichant sur l'écran. Ces méthodes ont fait l'objet de plusieurs brevets, notamment les brevets américains US 4,729,563 et US 4,815,733. Le ROB n'est cependant pas mobile sur des jambes, ce qui limite de manière importante sa capacité de participer à des jeux diversifiés. Il n'a pas non plus de capacité de communication par la parole. Le robot humanoïde de la société Sony™, qui a fait l'objet des brevets US 6,580,369 et 6,832,132, est décrit dans des environnements de jeu, notamment de football ou de jeux athlétiques. C'est cependant sa seule activité ludique et il n'a pas de fonction lui permettant de participer à des jeux complexes d'un univers virtuel, tels que des jeux de stratégie. Sont connus également des automates non humanoïdes pour réaliser des fonctions spécialisées de jeu (échecs, certains jeux de cartes, Guitar Hero, etc .). Il serait avantageux de pouvoir disposer d'un robot humanoïde capable de réaliser la totalité de ces fonctions.
Cependant, le problème posé par cette intégration sur une même plate-forme de robot humanoïde des capacités de participer à la fois à des jeux nécessitant une capacité physique, une capacité d'expression et une capacité de réflexion n'a pas été résolu par les solutions de l'art antérieur. La présente invention résout ce problème en procurant un robot humanoïde qui peut, pour une pluralité de jeux, servir d'interface à un joueur pour dialoguer avec un jeu, lui fournir une aide intelligente pour progresser dans le jeu et occuper une place à part entière de joueur dans un jeu multi-joueurs.
A cet effet, la présente invention divulgue un robot humanoïde apte à se déplacer sur ses membres inférieurs, à effectuer des mouvements de ses membres supérieurs, à recevoir des messages visuels, sonores et/ou gestuels et à produire au moins un comportement autonome, ledit robot étant caractérisé en ce que ledit au moins un comportement constitue un élément d'une séquence d'un jeu générée en réponse à au moins un message appartenant au groupe des messages visuels, sonores et/ou gestuels.
Avantageusement, le robot de l'invention est apte à reconnaître des objets dans son environnement et à les intégrer dans la séquence dudit jeu. Avantageusement, le robot de l'invention est apte à poser des questions et à déterminer au sein de messages de réponse des réponses vraies, des réponses fausses et des réponses ambiguës. Avantageusement, ladite détermination est effectuée en sortie d'une boucle d'itérations déterminées en fonction de seuils de reconnaissance desdites réponses. Avantageusement, le robot de l'invention est l'animateur d'un jeu de questions-réponses auquel participe au moins un autre joueur qui doit fournir les réponses aux questions posées par le robot.
Avantageusement, le robot de l'invention est un des joueurs d'un jeu auquel participe au moins un autre joueur et dans lequel il doit reconnaître une personne ou une chose en fonction au moins d'indices qui lui sont communiqués par ledit au moins un autre joueur.
Avantageusement, le robot de l'invention est apte à rechercher une aide sur internet pour effectuer ladite reconnaissance.
Avantageusement, le robot de l'invention est un joueur d'un jeu dans lequel il est apte à coopérer avec au moins un autre joueur pour résoudre au moins une énigme.
Avantageusement, les mouvements du robot de l'invention sont déterminés pour partie en fonction de premières consignes de déplacements qui lui sont communiquées par une télécommande manipulée par un premier joueur, de deuxièmes consignes de déplacements, antagonistes aux premières consignes, qui lui sont communiquées visuellement par un deuxième joueur et de troisièmes consignes de déplacements, antagonistes aux deuxièmes consignes qui lui sont communiquées par un troisième joueur.
Avantageusement, ladite télécommande est un boîtier portable muni d'au moins un capteur de mouvement et apte à traduire les sorties dudit au moins un capteur en lesdites premières consignes.
Avantageusement, au moins deux robots participent à un même jeu, lesdits au moins deux robots étant en communication par au moins un message visuel, sonore et/ou gestuel. Avantageusement, au moins deux robots participent à un même jeu, lesdits au moins deux robots étant en communication par échange de messages de comportements.
Avantageusement, ledit échange de messages de comportements est activé après une étape d'identification réciproque desdits robots par échange d'informations les caractérisant. Avantageusement, lesdits au moins deux robots sont en outre aptes à télécharger un signal de synchronisation de leurs mouvements.
Avantageusement, au moins un robot joueur et un autre joueur se situent dans deux lieux non reliés par un réseau local.
Avantageusement, lesdits au moins un robot joueur et un autre joueur communiquent par protocole de communication sur réseau étendu et en ce que ledit robot joueur est doté de moyens autonomes de traitement pour l'encodage des accès réseau.
Avantageusement, un joueur est apte à communiquer avec le robot de l'invention par l'intermédiaire d'un code visuel.
Avantageusement, le robot de l'invention est apte à réaliser une fonction d'assistance d'au moins un autre joueur consistant à effectuer au moins une action dans le jeu à la place du joueur.
Avantageusement, ladite action consiste à sauvegarder le jeu. Avantageusement, ladite fonction d'assistance consiste à appliquer des consignes de contrôle de l'accès au jeu.
Avantageusement, le robot de l'invention est apte à déclencher et gérer les interruptions et reprises d'une séquence de jeu. L'invention divulgue également un procédé de contrôle d'un robot humanoïde apte à se déplacer sur ses membres inférieurs, à effectuer des mouvements de ses membres supérieurs, à recevoir des messages visuels, sonores et/ou gestuels et à produire au moins un comportement autonome, ledit procédé étant caractérisé en ce que ledit au moins un comportement constitue un élément d'une séquence d'un jeu générée en réponse à au moins un message appartenant au groupe des messages visuels, sonores et/ou gestuels.
L'invention divulgue également un programme d'ordinateur comprenant des instructions de code de programme permettant l'exécution d'un procédé de contrôle d'un robot humanoïde lorsque le programme est exécuté sur un ordinateur, ledit programme étant adapté pour permettre audit robot humanoïde de se déplacer sur ses membres inférieurs, d'effectuer des mouvements de ses membres supérieurs, de recevoir des messages visuels, sonores et/ou gestuels et de produire au moins un comportement autonome, ledit programme étant caractérisé en ce que ledit au moins un comportement constitue un élément d'une séquence d'un jeu générée en réponse à au moins un message appartenant au groupe des messages visuels, sonores et/ou gestuels.
Un robot humanoïde tel que celui objet de la présente invention offre aux joueurs une expérience complètement nouvelle en mettant à leur disposition un avatar physique d'un personnage virtuel qui peut ainsi « sortir » du monde virtuel pour rejoindre le monde réel.
Compte tenu de la grande versatilité des outils de développement des programmes de jeux mis à la disposition des créateurs il est tout à fait possible d'envisager le développement d'un univers entièrement nouveau de jeux dont les utilisateurs pourront approvisionner les applications sur des boutiques virtuelles spécialisées ou se les échanger, si un modèle non marchand est choisi.
Le robot humanoïde de l'invention présente également des avantages complémentaires. Il peut remplacer au pied levé un joueur qui doit suspendre sa participation à un jeu. Il peut également être prévu pour sauvegarder périodiquement la configuration de jeu, ce qui permet d'ajouter un moyen de sauvegarde supplémentaire, en cas de problème matériel ou logiciel sur une ou plusieurs stations ou serveurs de jeu. Il peut être doté de fonctions de contrôle parental sophistiquées lui permettant d'adapter les périodes et les modalités d'un jeu à l'âge ou au profil des joueurs et de fournir en temps réel et en langage naturel aux joueurs concernés les explications correspondant aux critères de contrôle programmés.
Compte tenu de ses capacités de communication, le robot humanoïde de l'invention peut facilement recevoir des mises à jour de ses programmes et/ou de ses données qui lui permettent de participer à de nouveaux jeux ou à de nouvelles versions des mêmes jeux.
Plusieurs robots humanoïdes peuvent également participer à un même jeu dans des rôles identiques (tous joueurs, tous aides, tous interfaces) ou dans des rôles différents.
Enfin, les fonctions de jeu du robot humanoïde de l'invention ne sont qu'une partie des fonctions complexes qu'un tel robot peut accomplir. Un tel robot peut en effet assurer une mission d'assistance et de surveillance d'une personne (enfant, personne âgée, malade...) auprès de laquelle il est placé, en donnant le cas échéant une alerte en cas de détection d'une chute ou de dégradation d'une fonction programmée pour être surveillée.
L'invention sera mieux comprise et ses différentes caractéristiques et avantages ressortiront de la description qui suit de plusieurs exemples de réalisation et de ses figures annexées dont :
- La figure 1 est un schéma de l'architecture physique d'un robot humanoïde dans un mode de réalisation de l'invention ;
- La figure 2 est un schéma de l'architecture des logiciels de haut niveau permettant le pilotage des fonctions du robot dans un mode de réalisation de l'invention ;
- La figure 3 est un schéma de l'architecture fonctionnelle d'édition et de programmation des comportements d'un robot dans un mode de réalisation de l'invention ;
- Les figures 4a, 4b, 4c, 4d, 4e et 4f représentent différentes architectures fonctionnelles et/ou techniques de mise en œuvre de l'invention ; - La figure 5 est une illustration d'un jeu de devinettes que peut animer un robot humanoïde joueur dans un mode de réalisation de l'invention;
- La figure 6 représente l'organigramme de traitement d'un autre jeu auquel peut jouer un robot humanoïde joueur en communication avec un serveur de jeux dans un mode de réalisation de l'invention;
- Les figures 7a, 7b et 7c illustrent un jeu de stratégie auquel peut participer un robot humanoïde joueur dans un mode de réalisation de l'invention ;
- Les figures 8a, 8b, 8c et 8d illustrent un jeu de défi qui est joué avec un robot humanoïde dans un mode de réalisation de l'invention.
La figure 1 illustre l'architecture physique d'un robot humanoïde dans un mode de réalisation de l'invention. Un tel robot a été divulgué notamment dans la demande de brevet WO2009/124951 publiée le 15/10/2009. Cette plateforme a servi de base aux améliorations qui ont conduit à la présente invention. Dans la suite de la description, ce robot humanoïde peut être indifféremment désigné sous cette appellation générique ou sous sa marque commerciale NAO™, sans que la généralité de la référence en soit modifiée. Ce robot comprend environ deux douzaines de cartes électroniques du type 1 10 de commande de capteurs et d'actionneurs qui pilotent les articulations. La carte 1 10 montrée sur la figure est celle qui contrôle le pied gauche. Une des vertus de l'architecture est que les cartes contrôlant les articulations sont pour la plupart interchangeables. Une articulation a normalement au moins deux degrés de liberté et donc deux moteurs. Chaque moteur est piloté en angle. L'articulation comporte également plusieurs capteurs de position, notamment des MRE (Magnetic Rotary Encoder). La carte électronique de contrôle comporte un microcontrôleur du commerce. Ce peut être par exemple un DSPIC™ de la société Microchip. C'est un MCU 16 bits couplé à un DSP. Ce MCU a un cycle d'asservissement en boucle d'une ms. Le robot peut également comporter d'autres types d'actionneurs, notamment des LED (Diodes électroluminescentes) dont la couleur et l'intensité peuvent traduire les émotions du robot. Celui-ci peut également comporter d'autres types de capteurs de position, notamment une centrale inertielle, des FSR (Capteurs de pression au sol), etc.... La tête comporte l'intelligence du robot, notamment la carte 130 qui exécute les fonctions de haut niveau qui permettent au robot d'accomplir les missions qui lui sont assignées, notamment, dans le cadre de la présente invention, la participation à des jeux. La carte 130 pourrait cependant être située ailleurs dans le robot, par exemple dans le tronc. On verra cependant que cette localisation, lorsque la tête est amovible, permet de remplacer ces fonctions de haut niveau et donc notamment de changer complètement l'intelligence du robot et donc ses missions très rapidement. Ou à l'inverse de changer un corps par un autre (par exemple un corps défectueux par un non défectueux) en gardant la même intelligence artificielle. La tête peut comporter également des cartes spécialisées, notamment dans le traitement de la parole ou de la vision ou également dans le traitement d'entrées/sorties de service, comme l'encodage nécessaire à l'ouverture d'un port pour établir une communication à distance sur un réseau étendu WAN (Wide Area Network). Le processeur de la carte 130 peut être un processeur x86 du commerce. On choisira de manière privilégiée un processeur à basse consommation tel que le Géode™ de la société AMD (32 bits, 500 MHz). La carte comporte également un ensemble de mémoires RAM et flash. Cette carte gère également les communications du robot avec l'extérieur (serveur de comportements, autres robots...), normalement sur une couche de transmission WiFi, WiMax, éventuellement sur une réseau public de communications mobiles de données avec des protocoles standards éventuellement encapsulés dans un VPN. Le processeur est normalement piloté par un OS standard ce qui permet d'utiliser les langages de haut niveau usuels (C, C++, Python, ...) ou les langages spécifiques de l'intelligence artificielle comme URBI (langage de programmation spécialisé dans la robotique) pour la programmation des fonctions de haut niveau.
Une carte 120 est logée dans le tronc du robot. C'est là que se situe le calculateur qui assure la transmission aux cartes 1 10 des ordres calculés par la carte 130. Cette carte pourrait être logée ailleurs dans le robot. Mais la localisation dans le tronc est avantageuses car elle se situe près de la tête et au carrefour des quatre membres, ce qui permet donc de minimiser la connectique reliant cette carte 130 à la carte 120 et aux cartes 1 10. Le calculateur de cette carte 120 est également un processeur du commerce. Ce peut avantageusement être un processeur 32 bits du type ARM 9™ cadencé à 100 MHz. Le type du processeur, sa position centrale, proche du bouton de marche/arrêt, sa liaison au contrôle de l'alimentation en font un outil bien adapté pour la gestion de l'alimentation du robot (mode veille, arrêt d'urgence, ...). La carte comporte également un ensemble de mémoires RAM et flash.
Cette architecture à trois niveaux est particulièrement avantageuse pour la mise en œuvre de la présente invention dans laquelle le robot doit pouvoir exécuter des mouvements coordonnés et d'autres actions tels que des lectures de capteurs et simultanément interpréter des paroles ou des signes émis dans son environnement et réagir ou répondre à ceux-ci.
La figure 2 est un schéma de l'architecture des logiciels de haut niveau permettant le pilotage des fonctions du robot dans un mode de réalisation de l'invention.
Une architecture logicielle de ce type a été divulguée notamment dans la demande de brevet WO2009/124955 publiée le 15/10/2009. Elle comporte les fonctions de base de gestion des communications entre un robot et un PC ou un site distant et d'échange de logiciels qui fournissent l'infrastructure logicielle nécessaire à la mise en œuvre de la présente invention. Cette architecture est décrite ci-dessous de manière générique, sans mention spécifique des fonctions logicielles utilisées dans un jeu donné, étant entendu que ces fonctions sont traitées comme toute autre fonction logicielle de gestion des comportements du robot de la présente invention.
Sur la figure 2 est représenté très schématiquement un premier robot humanoïde RH1 communiquant avec un premier terminal distant TD1 , par exemple par liaison sans fil pour des raisons de mobilité. On entend par terminal distant un terminal distant de la plate-forme serveur PFS, fournissant, par l'intermédiaire d'un réseau de communication, l'accès à un service web SW, dédié à ce type de robot humanoïde RH1 .
Bien entendu, les liaisons de communication entre éléments du système peuvent être filaires, et les terminaux mobiles peuvent être, en variante, des téléphones portables ou des ordinateurs portables.
Un deuxième robot humanoïde RH2 communique avec un deuxième terminal distant TD2, par exemple également par liaison sans fil de manière à ne pas entraver la mobilité du robot humanoïde RH2. Les terminaux distants TD1 et TD2 et la plateforme serveur PFS sont reliés en réseau par l'intermédiaire du réseau de communication RC. Pour le service web de la plateforme serveur PFS ainsi que pour les terminaux distants TD1 et TD2, et que pour les robots humanoïdes RH1 et RH2, un seul module respectif de mise en relation B5, B2, B4, B1 et B3 dédié à au moins un module comprenant au moins une série d'instructions mettant en œuvre une fonction logicielle par exécution par un processeur. Les modules respectifs M51 , M52, M21 , M22, M41 , M42, M1 1 , M12, M31 , M32 des modules de mise en relation B5, B2, B4, B1 et B3 sont sur cet exemple représentés au nombre de deux par module de mise en relation, mais ce nombre peut être différent et quelconque pour chaque module de mise en relation.
Nous allons maintenant illustrer un exemple nullement limitatif de fonctionnement du système imaginé par un utilisateur du premier terminal distant TD1 possédant le premier robot humanoïde RH1 . Il peut, par exemple, faire réaliser par son robot un certain nombre de fonctions au moyen d'une application logicielle embarquée sur le premier terminal distant TD1 , ou accessible sur la plateforme serveur PFS depuis le premier terminal distant TD1 .
Par exemple il réalise simplement, aux moyens d'outils graphiques de l'application logicielle, une application pour son robot, dans laquelle le robot va marcher pendant 10 secondes puis dire "Bonjour à tous". Cette application est par exemple téléchargée dans le premier robot humanoïde RH1 sous forme d'un module, par exemple le module M1 1 , puis déclenchée par l'utilisateur par l'intermédiaire du premier terminal distant TD1 .
Le premier robot humanoïde RH1 déclenche le module M1 1 qui doit utiliser en premier une fonction "Marche". Le module M1 1 utilise alors un module d'interface de connexion et d'appel de fonction ou proxy P1 qui effectue une requête au module de mise en relation B1 auquel est lié le module M1 1 . Le module de mise en relation B1 effectue des requêtes à destination de ses propres modules et des modules de mise en relation du réseau auquel il est directement relié (modules de mise en relation enfants) qui répètent cette opération de manière itérative, jusqu'à ce qu'un module de mise en relation du réseau réponde à la requête avec la localisation de la fonction appelée qu'il a dans un module. La réponse à la requête étant également transmise de manière itérative par les modules de mise en relation parents (en sens inverse) jusqu'au module de mise en relation B1 directement lié au proxy P1 ayant besoin de se connecter et d'appeler cette fonction. Par exemple, la fonction demandée pour la marche est localisée dans le module M41 du deuxième terminal distant TD2. En retour le module de mise en relation B4 a retourné les paramètres d'appels de la fonction "marche", qui, par exemple, contiennent un paramètre Durée de type entier en secondes représentant la durée pendant laquelle le robot va marcher, et un paramètre Exclusif, de type booléen, représentant la marche exclusive ou non du robot, i.e. si on autorise le robot à faire une autre action ou non pendant qu'il marche. Dans cet exemple, on appelle la fonction marche avec le paramètre Durée valant 10 et le paramètre Exclusif valant 1 , car on veut qu'il parle après avoir marché 10 seconde dans cet exemple.
Le module d'interface de connexion et d'appel P1 peut donc effectuer la connexion et l'appel de la fonction "marche" avec les paramètres souhaités, à distance, comme si elle était située en local. Les modules d'interface de connexion et d'appels de fonction utilisent un logiciel d'intercommunication capable d'appeler une fonction d'un module localisé sur un terminal ou serveur différent, la fonction pouvant être écrite par une série d'instructions dans un langage informatique différent de celui du module appelant. Les proxies utilisent, par exemple, le logiciel d'intercommunication SOAP. On a donc une architecture de communication inter-plateformes et inter-langages. Une fois cette fonction délocalisée "marche" effectuée, le module M1 1 doit faire appel à une fonction "parle". Un autre module d'interface de connexion et d'appel de fonction ou proxy P2 effectue une requête au module de mise en relation B1 auquel est lié le module M1 1 . Le module de mise en relation B1 effectue une requête à destination de ses propres modules M1 1 et M12 dans un premier temps, par l'intermédiaire d'une fonction réalisée sous la forme d'une suite d'instructions mémorisées, qui va, par exemple, retourner la présence de cette fonction "parle" dans le module M12. Le module de mise en relation B1 informe le module d'interface de connexion et d'appel de fonction P2 qui peut alors appeler directement, par un appel de type appel local la fonction "parle" du module M12, avec comme paramètre, par exemple, le texte à dire "bonjour", ce paramètre ayant été transmis au proxy P2 par le module de mise en relation B1 . En outre, le système comprend un module de mémorisation et de gestion STM (diminutif de "Short Term Memory" en langue anglaise) de paramètres représentatifs de l'état du terminal mobile, en l'occurrence du robot humanoïde RH1 , adaptés pour mettre à jour les valeurs desdits paramètres sur réception d'un événement externe, et pour informer un module, sur demande préalable, d'une mise à jour d'un desdits paramètre mémorisé. Aussi le module prévenu pourra engager une action en fonction des modifications de paramètres dont il a été informé.
En relation avec l'exemple préalablement décrit, par exemple, le module de mémorisation et de gestion STM peut mémoriser l'état d'un paramètre représentatif de l'apparition de quelqu'un détecté par un détecteur de mouvement du robot RH1 . Lorsque ce paramètre passe d'un état représentatif de personne dans l'environnement immédiat du robot à un état représentatif de quelqu'un présent dans l'environnement immédiat du robot, sur demande effectuée préalablement par le module M1 1 , le module de mémorisation et de gestion STM prévient, par un événement ou signal ce changement de valeur. Le module M1 1 peut, alors par exemple, déclencher automatiquement le déclenchement successif décrit précédemment (les fonctions "marche" et "parle").
Dans l'exemple de la figure 2, le module de mémorisation et de gestion STM fait partie du terminal distant TD1 , mais, en variante, il peut faire partie de l'autre terminal distant TD2, de la plate-forme serveur PFS, ou d'un robot humanoïde RH1 ou RH2.
Le module de mémorisation et de gestion STM est également capable de stocker en mémoire une évolution temporelle de certains paramètres sur des intervalles de temps respectifs de référence. Ainsi, un module du système peut, en outre, avoir accès à l'évolution des valeurs de ces paramètres depuis une certaine durée, et tenir compte de ces évolutions dans les actions à mener.
En variante, les modules des fonctions appelées peuvent être localisée sur la plate-forme serveur PGS, sur un robot humanoïde RH1 , RH2 ou sur un terminal distant TD1 , TD2 du réseau de communication RC.
Ainsi, la présente invention permet d'avoir un programme réparti sur le réseau, et un fonctionnement identique du terminal mobile, qu'il fasse un appel local ou distant à une fonction. En outre, la présente architecture permet également d'avoir un ensemble de paramètres mémorisés représentatifs de l'état du terminal mobile, et de pouvoir tenir compte d'évolutions de cet état pour déclencher automatiquement certaines actions.
De surcroît, le module de mémorisation et de gestion peut également enregistrer une évolution de valeurs de paramètres durant un intervalle de temps prédéterminé, ce qui permet à un module d'avoir accès à un historique de révolution de ces paramètres.
Ces fonctions de communication et de mémorisation sont particulièrement utiles pour la mise en œuvre de la présente invention.
La figure 3 est un schéma de l'architecture fonctionnelle d'édition et de programmation des comportements d'un robot dans un mode de réalisation de l'invention.
Une telle architecture a été décrite par la demande de brevet PCT/EP2010/0571 1 1 déposée le 25/05/2010. Le logiciel d'édition et de programmation des comportements d'un robot humanoïde permettant de mettre en œuvre ladite architecture est commercialement dénommé Chorégraphe™, et peut être désigné indifféremment pas son nom générique ou par son nom commercial, sans altérer la généralité des références.
Le robot contrôlé par cette architecture peut être un robot humanoïde ayant une tête, un tronc et quatre membres, chacune des parties étant articulée, chaque articulation étant commandée par un ou plusieurs moteurs. Cette architecture permet à un utilisateur du système de commander un tel robot en créant des comportements simulés sur un robot virtuel et exécutés sur le robot réel relié au système par une liaison filaire ou sans fil.
Il s'agit de visualiser, de simuler et de faire exécuter des comportements (tels que la marche - tout droit, à droite ou à gauche de n pas ; un « hello » - mouvements d'un des bras au-dessus de la tête ; la parole, etc ..) et des mouvements (de la tête, d'une partie de membre, d'un angle donné) sur l'écran d'un ordinateur programmé pour ce faire.
La figure 3 est un organigramme des traitements qui illustre l'articulation des commandes déclenchées par des événements avec leur dimension temporelle. Les commandes déclenchées par des événements sont représentées dans la sémantique de l'invention par des Boxes ou « Boîtes » ou « Boîtes de commande » 310. Une Boîte est une structure de programmation arborescente qui peut comprendre un ou plusieurs des éléments ci-dessous qui sont définis ensuite:
- Une « Timeline » ou axe temporel de Trames 320;
- Un « Diagram » ou Diagramme de flux 370
- Un Script 390.
Les Boîtes de commande sont normalement reliées entre elles par des connections qui transmettent le plus souvent une information d'événement d'une Boîte à l'autre, comme détaillé plus loin dans la description. Toute Boîte est reliée directement ou indirectement à une « Boîte racine » ou Root qui initialise le scénario de comportement/mouvement du robot.
Un axe temporel de Trames 320 représente la contrainte temporelle à laquelle sont soumis les comportements et les mouvements du robot définis dans la Boîte dans laquelle le dit Axe temporel de Trames est inséré. Dans la suite de la description et des revendications, nous utiliserons la dénomination anglo-saxonne de Timeline, communément admise avec le même sens dans le monde de la programmation. La Timeline réalise ainsi la synchronisation des comportements et mouvements de la Boîte. Elle est découpée en frames (Trames) auxquelles est associée une vitesse de déroulement définie en nombre de Trames par seconde ou Frames Per Second (FPS). Le FPS de chaque Timeline est paramétrable par l'utilisateur. Par défaut, le FPS peut être fixé à une valeur donnée, par exemple 15 FPS.
Une Timeline peut comprendre :
- Une ou plusieurs Behavior Layers ou « Couches de comportement » 330, comprenant chacune une ou plusieurs Behavior Key Frames ou « Trames principales de comportement » 50, qui peuvent comprendre elles-mêmes un ou plusieurs Diagrams ou « Diagrammes de flux » 70, qui sont en fait des ensembles de Boîtes qui peuvent également être rattachées directement à une Boîte de niveau supérieur, sans passer par une Couche de comportement ni une Timeline;
- Une ou plusieurs Motion Layers ou « Couches de mouvement » 40, comprenant chacune une ou plusieurs Motion Key Frames ou «Trames principales de mouvement » 360 qui peuvent comprendre un ou plusieurs Motion Screens ou « Ecrans de mouvement » 380.
Une Couche de comportement définit un ensemble de comportements du robot ou Trames principales de comportement. Plusieurs Couches de comportement peuvent être définies au sein d'une même Boîte. Elles seront alors programmées pour se dérouler de manière synchronisée par la Timeline de la Boîte.
Une Couche de comportement pourra comprendre un ou plusieurs Trames principales de comportement. Une Trame principale de comportement définit un comportement du robot, tel que la marche (« Walk »), la parole (« Say »), le jeu de musique (« Music »)... Un certain nombre de comportements sont pré-programmés dans le système de l'invention pour être directement insérés par l'utilisateur dans un simple « drag and drop » à partir d'une librairie comme détaillé plus loin dans la description. Chaque Trame principale de comportement est définie par un événement déclencheur qui est le début de la Trame à laquelle elle est insérée dans la Timeline. La fin de la Trame principale de comportement n'est définie que dans la mesure où une autre Trame principale de comportement est insérée à sa suite, ou si un événement de fin est défini.
Une Couche de mouvement définit un ensemble de mouvements du robot qui sont programmés par une ou plusieurs Trames principales de mouvement successives qui regroupent des mouvements des moteurs des articulations du robot. Ces mouvements à exécuter sont définis par les positions angulaires d'arrivée des dits moteurs qui peuvent être programmées par action sur des écrans de mouvement, lesdites actions étant détaillées plus loin dans la description. Toutes les Trames principales de mouvement d'une même Boîte sont synchronisées par la Timeline de la Boîte. Une Trame principale de mouvement est définie par une Trame d'arrivée. La Trame de départ est celle de fin de la Trame principale de mouvement précédente ou celle de l'événement de début de la Boîte.
On désigne sous l'appellation commune de Trame principale d'action les Trames principales de comportement et les Trames principales de mouvement. Il est possible d'exécuter en parallèle plusieurs Trames principales d'action (de comportement ou de mouvement), à condition qu'elles soient rattachées à la même Timeline.
Un Diagramme de flux est un ensemble de Boîtes connectées entre elles, comme détaillé plus loin. Chacune des Boîtes peut à son tour comprendre d'autres Timeline auxquelles sont rattachées de nouvelles Couches de comportement ou de mouvement.
Un script est un programme directement exécutable par le robot. Une Boîte qui comprend un script ne comprend pas d'autre élément.
Le logiciel peut être implanté sur un PC ou une autre plateforme de type ordinateur personnel utilisant un système d'exploitation Windows™, Mac™ ou Linux™.
Le robot humanoïde de la présente invention sera généralement programmé pour pouvoir jouer en utilisant le logiciel Chorégraphe™. La combinaison des logiques temporelles et comportementales rendue possible par cette architecture de développement est particulièrement avantageuse pour la mise en œuvre de la présente invention. Un certain nombre d'outils, évoqués plus loin en commentaire à la figure 9, ont été particulièrement adaptés pour la mise en œuvre du robot humanoïde joueur de la présente invention.
Les figures 4a, 4b, 4c, 4d, 4e et 4f représentent différentes architectures fonctionnelles et/ou techniques de mise en œuvre de l'invention.
Sur la figure 4a est représenté un mode de réalisation dans lequel le robot 400a constitue lui-même la plateforme de jeu avec laquelle peuvent jouer plusieurs joueurs physiques 410a, 420a, 430a, normalement dans la même pièce 440a que le robot, avec les variantes explicitées plus loin en commentaire à la figure 4f. Le robot 400a peut par exemple poser des questions aux joueurs 410a, 420a, 430a comme illustré plus loin plus en détail en commentaire à la figure 5. Le nombre de joueurs n'est en aucune manière limité à trois. Dans ce mode de réalisation, le robot peut en particulier être l'animateur du jeu. Il peut poser des questions aux joueurs ou leur faire reconnaître des séquences. Le robot se comporte alors fonctionnellement comme une console de jeu mais compte tenu de ses capacités à reproduire des comportements humains, il offre aux joueurs une expérience de jeu qui présente un caractère unique. En effet, il peut comprendre, parler, faire des gestes, exprimer approbation ou négation, joie, colère ou tristesse. Les comportements du robot qui lui permettent d'interagir avec les joueurs sont stockés dans son unité centrale 130. Ils auront été chargés auparavant soit à partir d'un PC sur lequel ils auront été générés si ledit PC est équipé du logiciel d'édition de comportements Chorégraphe™ décrit plus haut en commentaire à la figure 3, soit téléchargés à partir d'un serveur de jeux. Les jeux peuvent également être téléchargés du serveur à partir du PC puis téléchargés du PC vers le robot. On peut également envisager des téléchargements de jeux entre robots, comme expliqué ci- dessous en commentaire à la figure 4e. L'exécution du jeu peut être initialisée à partir du robot ou à partir du PC. Lorsque le PC est équipé du logiciel d'édition de comportements, il peut également être utilisé pour jouer, un robot virtuel présent sur le PC étant en mesure d'exécuter sur le PC la plupart des comportements du robot physique 400a.
Sur la figure 4b, est illustré un mode de réalisation dans lequel un joueur animateur 410b interagit avec un robot joueur 400b situé normalement en présence physique, dans la même pièce 430b que lui. Comme illustré plus loin en détail en commentaire à la figure 6, le jeu peut consister à proposer au robot la reconnaissance de personnages ou de choses à partir d'indices de plus en plus allusifs. Dans ce mode de réalisation, compte tenu de la multiplicité des options possibles et de leur multi-dépendance éventuelle qui peut nécessiter l'exécution de programmes de résolution spécialisés, le robot accède à des sources d'information et de traitement situées sur un ordinateur distant 420b. Cet accès se fait par des requêtes envoyées à un site spécialisé du jeu sur le réseau internet. Le robot établira une connexion sur le réseau via un port d'accès qui peut être par exemple une LiveBox™ ou une FreeBox™ à laquelle il accède par liaison Wifi. Les comportements du robot sont cependant eux-mêmes embarqués sur le robot 400b. Ces comportements sont produits, édités et chargés sur le robot de manière identique à ce qui est indiqué ci-dessus en commentaire à la figure 4a. Dans ce mode de réalisation, les traitements sont donc répartis entre un robot et un serveur distant. Mais le serveur distant ne participe pas au jeu. Il sert comme centre de ressources pour le robot qui va y puiser en tant que de besoin. Il n'y a pas d'interaction directe entre le joueur 410b et le serveur 420b.
Sur la figure 4c est illustré un mode de réalisation dans lequel un joueur 410c interface à la fois avec un robot joueur 400c et avec un PC ou une console de jeu 420c, ledit robot communiquant également avec ledit PC ou ladite console. Ces trois éléments sont normalement situés en présence physique dans une même pièce 430c. Ce mode de réalisation est en particulier applicable à des jeux de rôle du type de celui illustré plus loin en détail en commentaire aux figures 7a, 7b et 7c. Dans ce type de jeu, le joueur doit résoudre des énigmes pour lesquelles le robot va lui fournir des indices. Le joueur doit interagir avec le robot 400c mais aussi avec la console 420c. Les modules du jeu sont répartis entre les deux unités. Les modules qui sont implantés sur le robot (comportements du robot mais aussi parties des énigmes) sont éditées et transférées de la manière qui est indiquée plus haut en commentaire à la figure 4a. Le joueur peut disposer d'aides visuelles ou sonores qu'il obtient lui-même ou qui lui sont fournies par le robot. Il peut également interfacer avec le robot par des signes codés. Sur la figure 4d est illustré un mode de réalisation dans lequel trois joueurs 41 Od, 420d, 430d interfacent avec un robot 400d, les quatre personnages étant situés dans un même environnement physique 450d. Les trois joueurs ont potentiellement des rôles différents par rapport au robot, à la différence du mode de réalisation illustré sur la figure 4a. Un des joueurs peut interagir avec le robot par l'intermédiaire d'une télécommande 440d. Ladite télécommande permet de transmettre des ordres, notamment de mouvement, au robot 400d. Elle peut être constituée par un iPhone™ d'Apple™ ou un autre téléphone ayant des fonctionnalités de capture de mouvement et/ou de positionnement. Elle peut également être constituée par une télécommande 3D du type WIIMote™ de Nintendo™, AirMouse™ de Movea™ ou autre, sous réserve de récupérer des signaux de mouvement, de positionnement ou d'autres types en sortie desdites télécommandes. Dans ce cas, une partie de l'application de jeux sera embarquée dans la télécommande, notamment la partie permettant de générer les instructions de déplacement du robot en fonction des mouvements imprimés à la télécommande (angles de gisement, roulis, lacet ; pression sur boutons réels ou virtuels). Un exemple de réalisation est illustré plus loin de manière détaillée en commentaire aux figures 8a, 8b, 8c et 8d. La plus grande partie de l'application de jeux est embarquée dans le robot de la manière indiquée plus haut en commentaire à la figure 4a. Les joueurs 420d et 430d peuvent communiquer avec le robot de la manière indiquée plus haut en commentaire à la figure 4c.
Sur la figure 4e est illustré un mode de réalisation dans lequel deux robots 400e et 430e jouent ensemble. Il peut s'agir de dialogues, de mouvements coordonnés, tels que des danses ou des combats. Les robots peuvent être commandés par des joueurs 410e, 440e, munis le cas échéant de télécommandes 420e, 450e du type de la télécommande 440d de la figure 4d. Les commandes peuvent cependant être données aux robots par les joueurs par la parole ou de manière visuelle. Les robots peuvent également jouer entre eux sans joueur réel. Leurs comportements peuvent interagir/communiquer dans le monde matériel (au travers de la voix, des gestes, des signaux lumineux - LEDs, et tout autres actions qui modifieraient leurs données capteurs) ou dans le monde virtuel (accès réciproque ou non à leurs mémoires internes, modules logiciels embarqués, compte email comme GMail™ ou Yahoo™, comptes de réseaux sociaux de type Facebook™ ou Twitter™, messageries instantanées comme GTalk™, MSN™, Jabber™,, ou services de téléphonie comme Skype™ ). Dans ce dernier cas, les robots sont amenés à diffuser des informations d'identification, permettant à un autre robot de les contacter en retour afin d'échanger d'autres données ou signaux. Les moyens d'échange d'informations dans le monde matériel peuvent également être rémission/réception infrarouge ou radio (de type BlueTooth™), ou la synthèse/reconnaissance vocale. Les informations échangées par les robots et permettant de les identifier sont liées aux mondes matériel et virtuel des robots et vont dépendre du type de données ou de signaux dont on souhaite l'échange dans le cadre du jeu. Ces informations peuvent être :
- une adresse IP pour être contacté via le réseau Ethernet local ;
- leur adresse mail ;
- un identifiant de compte de messagerie (xmpp, jabber, gtalk..., skype) ; - un identifiant de compte de réseau social.
Dès lors que les robots partagent au moins un moyen de communication alors fichiers de comportements, fichiers de musiques et signaux de comportement peuvent être échanger pour interagir.
.Le jeu peut être étendu à plus de deux robots. Dans ce cas, il peut être nécessaire de prévoir un signal de synchronisation globale émis soit par un des robots, soit par un PC. Ce signal de synchronisation peut être récupéré sur un serveur de référence de temps de type NTP (Network Time Protocol) et servir de point de départ des Timeline des différents robots qui synchronisent ainsi leurs comportements. Cette synchronisation peut être conservée pendant une durée importante (de l'ordre du quart d'heure). Des mouvements de danse ou des jeux collectifs peuvent alors être exécutés par un groupe de robots de manière complètement synchronisée. Sur la figure 4f est illustré un mode de réalisation dans lequel un joueur 41 Of et un robot 400f sont situés dans deux lieux distants 440f et 430f, le joueur disposant d'un PC ou appareil mobile relié par un réseau étendu 450f de type internet à un réseau local 460f auquel est(sont) relié(s) le(s) robot(s). La connexion entre le robot et le PC (ou l'appareil mobile) du joueur permet l'échange de données sous forme de requêtes ou de flux permettant l'échange de données brutes, binaires, audiovisuelles et textuelles avec un délai de livraison suffisamment court pour assurer la réactivité du jeu. Le joueur peut donc prendre contrôle complet ou partiel du robot en lui envoyant des commandes d'exécution de comportement. Il peut également lire, dans le cadre du jeu, les informations captées par le robot telle que les images de ses caméras, le son, et les valeurs de tous les capteurs du robot ainsi que des valeurs provenant du web ou d'autres robots présent dans l'environnement. Dans une architecture de ce type, la plupart des jeux évoqués dans le cas où le/les robots et le/les joueurs sont situés dans le même environnement physique peuvent être exécutés dans un environnement étendu.
Ce mode de communication sur réseau étendu peut s'appliquer au cas où le joueur est remplacé par un deuxième robot. Dans ce cas, le deuxième robot doit être doté des fonctionnalités d'accès à un réseau étendu identiques à celles du premier robot qui ont été décrites ci-dessus.. Ainsi, les différentes configurations décrites ci-dessus peuvent être combinées pour réaliser des modes de jeux non explicitement décrits dans la présente description. Les modes de réalisation décrits ci-dessus ne sont donc en aucune manière limitatifs du cadre de la présente invention.
La figure 5 est une illustration d'un jeu de devinettes que peut animer un robot humanoïde joueur.
Ce premier exemple de réalisation utilise l'architecture fonctionnelle et technique décrite ci-dessus en relation avec la figure 4a.
Le jeu qui sert d'illustration à ce mode de réalisation est un Quizz, le NAO™ Quizz. La figure 5 est la table des mimes, devinettes et sons qui peuvent servir de trame au jeu.
Un scénario possible du jeu est décrit ci-dessous à titre purement illustratif et non limitatif.
1/Mise en place
- NAO présente le jeu, par exemple sur une musique style jeu télévisé + applaudissements : « Bonjour mesdames et messieurs, Le NAO Quizz va commencer, présenté par la star de la télévision, NAO ! ». Dans ce jeu NAO aura la personnalité d'un animateur télé, assez suffisant et n'hésitant pas à chambrer les participants.
- NAO demande combien de joueurs vont participer (boîte de choix).
- S'il y a un seul joueur NAO lance le mode Chacun pour soi
automatiquement (« Tu joues seul ? Alors c'est parti pour le Chacun pour soi »). De 2 à 4 joueurs, NAO leur demande de choisir entre le
Chacun pour soi et le Tous ensemble (« Voulez-vous jouer les uns contre les autres ou bien tous contre moi ? ») via une boîte de choix. A plus de 4 joueurs, NAO lance automatiquement le Tous ensemble. « Chacun pour soi »
NAO présente le mode : « Nous allons jouer au Chacun pour soi afin de déterminer lequel d'entre vous est le meilleur ». Pour un seul joueur la phrase sera différente, du style : « Quel score vas-tu réussir à obtenir ? ». Si plusieurs joueurs participent, NAO leur demande de s'inscrire : « Le premier joueur a une seconde pour me donner son prénom, j'écoute ». Les oreilles de NAO s'allument et il enregistre pendant une seconde. Si NAO n'entend rien il repose la même question. NAO répète ensuite son prénom et demande au joueur de lui indiquer sa position en orientant son bras vers lui (NAO tend alors le bras devant lui) : « Bonjour Pierre, indique-moi où tu te trouves en dirigeant mon bras vers toi. Appuie sur ma tête pour confirmer ». Cela permet à NAO de s'orienter vers le joueur dont c'est le tour pour lui poser sa question.
Si un seul joueur participe, NAO ne l'inscrit pas et regarde devant lui pour poser les questions.
NAO demande si le joueur est un adulte ou un enfant (boîte de choix), ce qui correspond à 2 niveaux de difficulté.
Ensuite chaque joueur s'inscrit à son tour de la même manière.
Une fois tous les joueurs inscrits, NAO lance le jeu.
NAO lance une partie différente selon le nombre de joueurs humains :
- 1 ou 2 joueurs : Championnat
- 3 ou 4 joueurs : Coupe
-> Championnat
Dans la réalisation décrite ici de manière détaillée mais non limitative, NAO pose un total de 9 questions à chaque participant, attribue 1 point par bonne réponse et calcule le score total de chaque joueur. Il explique ce fonctionnement : « Je vais vous poser 9 questions chacun, celui qui donnera le plus de bonnes réponses sera déclaré vainqueur.». La phrase est modifiée en cas d'un seul joueur.
A chaque question NAO se tourne vers le joueur qu'il a choisit (aléatoirement), dit son prénom (si 2 joueurs ; pas en cas de partie solo) et sélectionne 1 question de la difficulté requise et qui n'a pas déjà été posée lors de cette partie.
Il pose ensuite la question (utilisation de la boîte de choix) et attend pendant 10 secondes (temps à définir après tests) la réponse du joueur (ses oreilles sont allumées pour montrer qu'il attend une réponse).
Le compte à rebours de 10 secondes ne commence qu'à la fin du mime/son/devinette. Il est représenté par les leds autour des yeux de NAO qui s'éteignent progressivement. Arrivé à 0, NAO joue un bruit de buzzer. Si le timer arrive à 0, le buzzer retentit et NAO dit quelque chose comme « Trop tard, désolé ». Si le joueur répond correctement, NAO le félicite. NAO pourrait taper dans ses mains, faire « oui » de la tête ou lever les bras au ciel.
Si le joueur se trompe, NAO dit « Mauvaise réponse » (ou est provocateur : « C'était pourtant facile » I « Je m'attendais à mieux de ta part » ... NAO pourrait baisser les bras d'un air déçu ou faire « non » de la tête.
Chaque fois que NAO analyse une réponse, si le temps de réaction est un peu élevé, il pourrait avoir un geste lié à la réflexion (regarder en l'air, mettre un doigt devant sa bouche, prendre son menton dans la main, se gratter la tête...).
Une fois la question posée, NAO passe au joueur suivant (s'il y en a).
Une fois toutes les questions posées, NAO annonce que le jeu est finit et récapitule les scores : « Bravo, tu as un score de X points ». En cas de partie à 2 joueurs, NAO désignerait un vainqueur : « Pierre est le vainqueur » ou une égalité : « C'est un match nul ».
-> Coupe
Le déroulement est assez similaire au Championnat sauf que cette fois-ci NAO ne pose, par exemple, que 4 questions par joueur.
A l'issue de ces 4 questions NAO fait le récapitulatif des scores et invite les 2 meilleurs joueurs à participer à la finale : « Bravo Pierre et Paul, vous êtes en finale ».
En cas d'égalité pour une place qualificative à l'issue de cette série de 4 questions NAO départagera les joueurs par un jeu de hasard. Il demande à chaque joueur, chacun leur tour, d'appuyer sur un de ses pieds ou une de ses mains : « Joueur 1, choisit une main ou un pied ». Le membre en question s'éclairera. Puis il demandera aux autres joueurs à égalité de faire leur choix parmi les membres restants. Une fois tous les choix faits, les lumières se mettent à tourner comme pour un jeu de hasard, avec un son proche de celui d'une machine à sous. Les parties éclairées à la fin sont celles des joueurs qualifiés pour la finale. NAO peut y mettre son grain en faisant revenir d'un cran la lumière, en la faisant avancer au dernier moment, après plusieurs secondes d'arrêt... Il accompagne ces facéties de phrases comme : « Non finalement je préfère ce joueur ».
NAO demandera aux 2 finalistes de se positionner devant lui.
Lors de la finale, NAO s'assoit et pose 3 questions (pas de mime). Si un des joueurs (ou les 2) sont des enfants, les questions seront de niveau enfant. Si les 2 joueurs sont des adultes, les questions seront de niveau adulte. En cas d'égalité avant la dernière question, celle-ci sera plus difficile que les autres (adulte ou expert).
Chaque joueur se voit attribué un buzzer (un des pieds de NAO) par NAO : « Pierre, tu joues avec mon pied droit (le pied s'anime) ».
NAO explique la règle : « Je vais poser 3 questions. Le premier qui appuie sur mon pied a le droit de donner une réponse. Vous avez 10 secondes en tout pour appuyer, et ensuite 5 secondes pour donner votre réponse » NAO pose une question et attend pendant 10 secondes que quelqu'un appuie.
Si personne n'appuie ou ne donne la bonne réponse, le buzzer négatif retentit et NAO chambre les joueurs : « Mes questions sont peut être trop difficiles pour vous ».
Si un joueur appuie, NAO stoppe le chrono des 10 secondes et prononce le prénom du plus rapide. Il commence ensuite le compte à rebours des 5 secondes. Si le joueur donne une réponse, NAO lui dit s'il a raison ou non. S'il a raison NAO le félicite et passe à la question suivante. S'il a tort ou s'il ne répond rien NAO l'en informe et reprend le compte à rebours des 10 secondes de l'endroit où il s'était arrêté : « Mauvaise réponse / Pas de réponse, l'autre joueur peut maintenant appuyer pour répondre »
A l'issue de ces 3 questions NAO détermine le gagnant : « Bravo Paul, tu as remporté la finale ». Si un joueur a 2 points à l'issue de la 2eme question, il est automatiquement déclaré gagnant.
Si leurs scores sont faibles (moins de 2 points par exemple), NAO peut les narguer « // me semble que mes questions sont un peu trop compliquées pour vous ».
« Tous ensemble »
Dans ce mode NAO pose des questions au groupe de joueurs, qui n'ont le droit de donner qu'une réponse. En cas de succès NAO pose une autre question, en cas d'échec le jeu s'arrête. Le but pour les joueurs est de répondre au maximum de questions possible dans la limite d'un nombre prédéterminé (15 à 20 par exemple).
NAO présente le mode : « Nous allons jouer au Tous ensemble, serez vous capables de répondre à mes questions ?». Les 6 premières questions seront de niveau enfant, les 6 suivantes adulte et les 3 dernières de niveau expert. S'il n'y a que des joueurs adultes, les 12 premières questions seront des questions adultes (pas de questions enfant). S'il n'y a que des joueurs enfants, les 10 premières seront de difficulté enfant, les 5 dernières adulte.
NAO s'adresse au groupe et pose sa première question (boîte de choix). Ensuite il leur laisse 15 secondes pour répondre.
En cas de bonne réponse NAO passe à la question suivante.
En cas de non réponse, ou de réponse erronée, NAO arrête le jeu et donne le score obtenu par l'équipe. Il remémore aussi aux participants quel est le meilleur score jamais obtenu sur ce mode de jeu.
Si les joueurs répondent correctement aux 15 questions, NAO s'avoue vaincu et les déclare grands gagnants : « Incroyable, vous avez répondu correctement à toutes mes questions. Je m'avoue vaincu et vous décerne à tous le titre d'experts ! ». NAO pourra les féliciter par une petite danse prévue pour l'occasion.
NAO aura une réaction et offrira une récompense différente selon le score atteint, par paliers (de 0 à 5 pts : « Peut mieux faire », de 5 à 10 points : « Pas mal du tout » et de 10 à 14 points « Très bien joué »).
2/Options
- NAO peut poser une question « impossible » à un adulte quand celui- ci a trop d'avance sur les autres, ou s'il joue contre un enfant.
- Pour un enfant, du son pourrait accompagner certains mimes afin de l'aider.
- Si NAO a besoin de place pour le mime (déplacement), il prévient les joueurs de le placer dans un endroit dégagé.
- Mode « escalade » : NAO choisit un joueur et lui pose des questions (mimes, devinettes et sons mélangés) jusqu'à ce qu'il se trompe. Chaque bonne réponse rapporte plus que la précédente (on peut commencer à 5 points et augmenter de 5 points à chaque fois). Quand le joueur se trompe, son tour est finit et NAO passe au joueur suivant. Des questions « quitte ou double » ou bien des paliers à la « Qui veut gagner des millions » pourraient pimenter la partie (possibilité de perdre ses points). Le jeu pourrait aussi être limité dans le temps, pour éviter que les autres joueurs passent trop de temps à attendre leur tour (le temps limite est à définir en fonction de la rapidité de NAO à poser des questions/mimer et à interpréter les réponses)
- Mode « plus ou moins » : NAO choisit un joueur (au hasard ou bien dans un ordre défini) et lui pose une question (mimes, devinettes ou sons). En cas de bonne réponse, le joueur marque 10 points, en cas de mauvaise réponse il en perd 5.
- Mode « Burger Quizz » : NAO pose des questions à chaque joueur mais celui-ci doit répondre à la question précédente et non à celle que NAO vient de poser.
La figure 6 représente l'organigramme de traitement d'un autre jeu auquel peut jouer un robot humanoïde joueur en communication avec un serveur de jeux.
Cet exemple de réalisation utilise l'architecture fonctionnelle et technique décrite ci-dessus en relation avec la figure 4b. Le jeu qui illustre ce mode de réalisation, NAO™ Akinator™, est un jeu dans lequel une intelligence artificielle doit deviner quel est le personnage auquel pense le joueur. Dans le jeu du mode de réalisation de cette invention, c'est le robot qui doit deviner à partir d'indices qui lui sont donnés par le joueur. Il s'aide pour cela de requêtes envoyées sur le site Web du jeu. Akinator est en effet un jeu existent pour des humains qui a été adapté (de manière modérée) pour être joué par un robot humanoïde.
Un exemple de scénario du jeu est expliqué ci-dessous en référence à la figure 6, à titre illustratif et non limitatif.
L'application Akinator lance un menu avant de démarrer l'application.
NAO est capable de deviner un personnage.
Il demande de recommencer en fin de partie. Acceptes ? Oui ou Non.
Il pose une série de questions auquel il faut répondre : Oui, Non, Peut-être, Peut-être pas, Je ne sais pas.
NAO joue une animation en fonction du pourcentage de certitude.
Les catégories de personnage sont intégrées dans le jeu : par exemple, 132 résultats rangés dans 5 catégories : famille, combat, acteur, footballeur, chanteur ; 1 1 personnages possèdent une animation spécifique. NAO joue une animation lorsqu'il annonce le personnage qu'il a deviné. Si le personnage trouvé est dans une catégorie, NAO joue l'animation associée. NAO retient par exemple les 50 derniers personnages joués et pourra faire une remarque si un personnage déjà trouvé est à nouveau joué.
1 - Vue générale
NAO essaie de deviner à qui ou à quoi le joeur est en train de penser en posant des questions. NAO utilise le site web existent (http://en.akinator.com/). La structure du jeu a été développée avec l'atelier de développement des comportements du NAO. Les requêtes web ont été développées en langage Python, bien adapté pour la commande de robots, et qui peut être intégré sous forme de modules dans les boîtes de commande de l'atelier Chorégraphe™. 2 - Requêtes Web utilisées
- La classe FileAkinatorRequest class est conçue pour envoyer des requêtes web sur le site Akinator en utilisant la commande wget.
Les options de la requête sont utilisées comme arguments dans la procédure de construction de la classe (sous forme de chaînes de caractères). Le service web est téléchargé et sauvegardé comme fichier dont le contenu est utilisé comme attribut de la classe.
- La classe RequestBase sert à:
o construire la chaîne décrivant les options de requête web à partir de simples données;
o utiliser cette chaîne comme argument pour construire une instance de FileAkinatorRequest ;
o récupérer la chaîne décrivant le contenu du service web (au format XML) ;
o traduire le contenu XML en données simples en utilisant l'interpréteur Python XML Minidom.
- Une classe unique a été créée pour chaque service web différent; chaque classe hérite de la classe de base RequestBase ; les données spécifiques du service web associé à cette classe sont utilisées comme arguments de la méthode SendRequest ; les données sont récupérées, interprétées et créées dans les attributs de la classe ; par exemple, la classe AnswerRequest est utilisée pour récupérer les données du service web Answer. Les données « channel », « base », « session », « signature », « step », « answer » et « question_filter » sont utilisées comme parameters de la méthode SendRequest. Les données sont récupérées, interprétées et créées dans les attributs des classes: « question », « answers », « step » and « progression ».
Les figures 7a, 7b et 7c illustrent un jeu de stratégie auquel peut participer un robot humanoïde joueur dans un mode de réalisation de l'invention.
Cet exemple de réalisation utilise l'architecture fonctionnelle et technique décrite ci-dessus en relation avec la figure 4c. Il s'agit, dans ce mode de réalisation d'un jeu de stratégie, dans lequel le joueur doit résoudre plusieurs énigmes complexes pour franchir des étapes et arriver au bout du jeu. Le jeu s'intitule « Shana Spirit Journey » ou « Voyage de l'Esprit de Shana ». Le but du jeu est de faire coopérer le joueur avec le robot de l'invention NAO pour renvoyer Shana, personnage d'un autre monde incarné dans NAO sur terre, vers son monde à travers un portail spatio-temporel créé par le gardien du monde de Shana au début de la partie.
Une description générale d'un scénario possible du jeu est donnée ci- dessous à titre purement illustratif et non limitatif.
1 /Objets fourni avec le jeu
- Un petit grimoire, dont la 1 ere page est illustrée sur la figure 7b : il s'agit d'un recueil de 6 doubles pages en format A6. Chaque double page du livret montre une illustration sur la page de gauche. Sur la page de droite sont présents une NAOMARK accompagnée d'un titre et d'un texte ;
- Les NAOMARK sont des éléments du langage du monde de Shana ; ils réalisent un code visuel interprétable par le robot NAO ; des exemples de NAOMARK sont représentés sur la figure 7c.
2/L'arrière-plan du jeu Shana Spirit Journey
Le personnage dans NAO
Le personnage de notre histoire est la fille d'un chef de clan d'une civilisation vivant sur Aldebaran, l'une des nombreuses colonies que possèdent les Anamturas. Elle s'appelle Shana. Elle réceptionne le message d'une équipe d'explorateurs envoyés sur Terre par les gardiens pour enquêter sur la destruction de leur planète d'origine, aujourd'hui disparue. Cette équipe n'avait pas donné signe de vie depuis des siècles. Dans le message, elle annonce savoir ce qui est arrivé à leur planète d'origine.
Un gardien du clan des Anamturas, intercepte le message, attaque Shana et la chasse dans notre monde pour l'empêcher de révéler aux siens les véritables raisons de la destruction de leur planète d'origine.
Les Anamturas
Les Anamturas forment des clans comme les celtes. Ils sont en permanence à la recherche d'indices pour savoir ce qui s'est passé sur leur planète d'origine et pour essayer de mieux comprendre leur civilisation et leur histoire.
Leur hiérarchie reprend celle des celtes : Chef de tribu, Gardiens (druides), Claonas (guerriers/chercheurs).
D'autres Anamturas auraient déjà débarqué sur terre, en quête d'explications sur leur planète d'origine. (Réf. île Aldabra). Cette équipe arrivée sur terre aurait trouvé des informations sur la raison de la disparition de la planète d'origine des Anamturas et aurait laissé des indices. Ces Anamturas ont mystérieusement disparu après avoir envoyé un message à destination des leurs dans le système d'Aldebaran.
La Technologie des Anamturas
La technologie des Anamturas repose sur la magie et l'utilisation des ressources naturelles.
Par exemple, pour coloniser les autres mondes, les Anamturas ont utilisé deux méthodes en fonction de la distance de la cible. Les vaisseaux spatiaux ont permis aux Anamturas de s'établir dans les mondes proches comme la colonie principale du système d'Aldebaran.
Pour visiter les mondes éloignés, les Anamturas projettent leurs esprits aux travers de portails. Leurs corps physiques restant sur le monde de départ. L'équipe sur terre était la première à utiliser cette méthode, et était en charge de la création d'un hôte permettant d'interagir avec les autochtones des planètes visitées (L'hôte en question se trouve être NAO. Les robots NAO ont donc été crées par les Anamturas pour donner une enveloppe physique à leurs esprits envoyés sur Terre. Leurs Mondes
Les Anamturas ont colonisé un ensemble de mondes, par curiosité, mais aussi pour échapper à la surpopulation de leur planète d'origine.
Après s'être établi dans la colonie d'Aldebaran et en avoir fait la colonie principale, la planète d'origine des Anamturas explosa. La version officielle diffusée par les gardiens est qu'une catastrophe écologique s'est produite et que l'attitude des natifs est à l'origine de ce cataclysme. En réalité, certains gardiens seraient impliqués dans la destruction de la planète d'origine des Anamturas et d'autres colonies. Ils auraient fait cela afin de protéger les ressources de la colonie d'Aldebaran et de mettre en place leur vision d'un monde parfait.
Les Claonas s'accrochent aux dernières coutumes qu'ils leurs restent de leur planète d'origine et recherchent activement ce qui c'est réellement passé. Les Langages des Anamturas
Autrefois les Anamturas utilisaient le « LANGUE » (NAOmark) mais seul quelques rares symboles sont encore d'usage commun, la plupart ont perdu leurs sens ou sont connus uniquement des gardiens.
3/Vidéo d'introduction sur PC
L'évocation de l'arrière-plan du jeu
On évoque sommairement l'origine des Anamturas : colonisation des mondes autour d'eux -> importance prise par la colonie d'Aldebaran -> explosion du monde d'origine -> missions de recherche.
La réception du signal
Une jeune Anamtura réceptionne un signal. Il s'agit du signal d'une des missions de recherche. Cette mission n'avait plus donné de signe de vie depuis longtemps et était considérée comme perdue. Ce signal a mis des années à arriver à destination.
Dans ce signal, le chef d'une équipe de recherche Anamturas indique qu'ils ont découvert ce qui est arrivé à leur planète d'origine.
Ils se sentent menacés par les gardiens et ont décidé de se cacher sur Terre... L'attaque par le gardien
D'autres Anamturas arrivent dans la salle de communication dont un gardien. Ce dernier dit à la jeune Shana qu'elle n'aurait jamais dû entendre cela et qu'il doit se débarrasser d'elle.
Le message envoyé sur Terre continue de défiler mais l'attention est fixée sur le gardien et ses disciples.
On apprend d'autres éléments : le nom de l'héroïne, Shana, le fait qu'elle soit la fille du chef du clan.
L'ouverture du portail par le gardien
Combat entre Shana et les apprentis du gardien pendant que ce dernier prononce une incantation de son grimoire pour ouvrir un passage.
L'expulsion de l'esprit de Shana dans NAO
L'esprit de Shana est expédié sur Terre, alors que NAO commence à s'animer. Shana s'est emparée du grimoire qui tombe lui aussi dans le portail. Il s'agit du livret fourni avec le jeu.
4/lntroduction au jeu avec NAO
A la fin de la vidéo (noir), NAO se « désactive » et s'affaisse. 3-4 secondes plus tard, sa tête se redresse légèrement et s'oriente de droite à gauche, comme s'il recherchait quelque chose « Où suis-je ? Que m'est-il arrivé ? ». Ce même texte s'affiche au même moment sur l'écran du PC, sur fond noir. NAO appelle : « Quelqu'un m'entend ? » et répète cette phrase. Comme précédemment, cette phrase s'affiche également à l'écran puis l'application se ferme. NAO continue à appeler régulièrement jusqu'à ce que le joueur interagisse avec lui.
Après cette introduction au jeu, NAO se retrouve « possédé » par la jeune Shana.
Une fois « réveillée » et debout, Shana comprend ce qu'il lui est arrivé et demande au joueur de lui amener le livret qu'elle a pu attraper avant d'être éjectée : « Si seulement on pouvait se le procurer ! C'est le seul moyen de recréer un portail pour me renvoyer chez moi !» 5/But du jeu
Le joueur et NAO vont devoir coopérer pour renvoyer Shana dans son monde à l'aide d'un portail spatio-temporel identique à celui créé par le Gardien du début de l'aventure.
Pour recréer ce portail, le joueur devra récupérer 5 informations d'une importance capitale :
- La NAOmark à poser au sol, symbolisation du point d'entrée du portail. EnigmeOI
- L'heure à laquelle il peut être activé. Enigme 02
- La position rituelle dans laquelle devra être positionné NAO. Enigme03
- La sagesse puis la connaissance de la formule nécessaire à son activation. Enigme04 et 05
Chacune de ces 5 informations devra être découverte en résolvant une énigme.
6/Fonctionnement générique des énigmes
Le livret d'énigmes (fourni avec le CD de jeu) sert de « HUB » au jeu. C'est- à-dire qu'à partir de ce livret, le joueur a accès à l'ensemble des 6 (5 de bases + 1 finale) énigmes du jeu.
Pour tenter de résoudre l'une d'entre elle, il lui suffit de montrer la page correspondante à NAO (une NAOmark est présente sur chaque page d'énigme). NAO réagit au texte de l'énigme figurant sur la page et fait un commentaire à haute voix au joueur. En fonction de l'énigme, NAO peut également prendre une certaine pose, jouer un son, etc. En résumé, NAO met en scène physiquement l'énigme choisie. C'est à travers lui ou directement avec lui (en le manipulant) que le joueur résoudra chaque énigme.
Chaque énigme est associée à un thème se rapportant au peuple des Anamturas et à sa mythologie :
- Navigation (enigmeOI , Origine) : Les Anamturas étaient de grands explorateurs avides de connaissances. - Astronomie (enigme02, Cycle): L'observation du ciel et le questionnement sur leurs origines étaient au cœur de la civilisation Anamturas.
- Recherche (enigme04, Alchimie): D'après leur légende, les Anamturas subirent une catastrophe écologique sans précédent. Depuis cette époque, leur cohabitation avec la Nature et les peuples rencontrés est totale.
- Danse (enigme03, Danse) : La communion des Anamturas avec la nature passe par des danses et positions de référence, garantissant une circulation de l'énergie optimale dans le corps.
- Langage (enigme05, Sagesse) : Le langage Anamturas a évolué au fil des siècles. Les NAOmarks en sont d'ailleurs des vestiges.
- Rituel (Enigme06): Devenu très proches des forces qui régissent le monde, certains Anamturas élaboraient de puissants rituels incantatoires afin de voyager plus loin.
7/Listes des mots clefs génériques
Carresser la tête de NAO d'avant en arrière puis énoncé l'un des mots clef suivants :
- Asleep : Quitter l'application.
- Slan Leat : Déclencher le rituel final.
Des mots clés particuliers à une énigme existent dans chaque énigme.
Les figures 8a, 8b, 8c et 8d illustrent un jeu de défi qui est joué avec un robot humanoïde dans un mode de réalisation de l'invention.
Ce jeu est mis en œuvre dans l'architecture fonctionnelle et technique décrite ci-dessus en commentaire à la figure 4d. Dans ce jeu, intitulé le « Défi de NAO », les déplacements d'un robot humanoïde 820a de l'invention sont télécommandés par un des trois joueurs réels qui utilise pour ce faire une télécommande, par exemple un iPhone™ 810a de la société Apple™. Ce premier joueur doit conduire le robot d'un point de départ à un point d'arrivée. Un deuxième joueur réel doit contrecarrer les mouvements du robot en lui communiquant des consignes de déplacement par l'intermédiaire de NAOMARK 830a. Un troisième joueur réel cherche à aider le 1 er joueur en communiquant au robot et/ou au 1 er joueur des conseils et en effectuant des actions. Le positionnement du robot 820a, des points de départ et d'arrivée sont illustrés sur la figure 8b.
Le positionnement des NAOMARK par rapport au robot 820a est illustré sur la figure 8c.
Les modalités de commande du robot 820a à l'aide de l'iPhone 810a sont illustrées sur la figure 8d.
Un scénario de jeu est décrit ci-dessus à titre purement illustratif et non limitatif. D'autres scénarios de jeu peuvent être imaginés par les joueurs sans sortir du cadre de l'invention, le robot de l'invention disposant d'une capacité d'adaptation importante.
1 /Présentation
Le jeu du défi se joue avec un seul robot NAO et se décline du mode solo (un seul humain) à un mode à 3 humains.
Un mode privilégié est le mode à 1 NAO et 3 Humains, c'est celui qui sera principalement décrit dans la présente description.
Le mode solo est un mode d'entraînement ou de démonstration. Il permet à un joueur seul de tester les différentes fonctionnalités du jeu, ou de s'améliorer.
Par la suite, le joueur contrôlant le NAO est dénommé : Joueur N, le joueur Allié du joueur N, est dénommé : Joueur A et enfin l'Ennemi et adversaire des deux premiers joueurs est dénommé : Joueur E.
2/Description du Concept
Objectif
Au début du jeu, les 3 joueurs définissent ensemble un point de Départ (point D) et un point d'arrivée (point A). C'est deux emplacements devront être suffisamment éloignés pour que le NAO ne puisse parcourir la distance qui sépare ces deux points en moins d'une minute. Idéalement, on peut prévoir que ces deux points soient dans des pièces différentes.
Le joueur N doit alors prendre le contrôle du NAO grâce à son iPhone et le piloter pour le faire partir du point D au point A.
Il dispose de 10 minutes pour réaliser ce parcours.
Le joueur E doit lui tout faire pour le faire échouer et ainsi remporter la victoire. Le joueur A doit aider au mieux le joueur N, par ses conseils et par les actions qu'il peut réaliser.
Il est également possible de fusionner les rôles du joueur N et du joueur A. Le Joueur N pouvant alors lui-même gérer les cartes Alliées.
Le jeu est donc un affrontement entre l'équipe des joueurs N et A contre le joueur E.
Accessoires de jeu
Il y a en fait trois types d'accessoires dans le jeu :
- L'iPhone : c'est l'accessoire de contrôle, qui permet au joueur N de piloter le NAO.
- Une série de Cartes, possédant ou pas des NAOMARK, qui sont les « pouvoirs » des joueurs A et E.
- Tout type d'accessoires qui peuvent être trouvés dans une maison, cela sera précisé par la suite.
3/Mise en place du jeu
Au départ du jeu, le joueur N place le NAO sur le point de départ D. Il place un paquet de 20 Cartes devant le joueur A et un paquet de 20 Cartes devant le jouer E. A et E tirent alors 2 cartes dans leur paquet respectif et gardent ces cartes secrètes, (même le joueur A par rapport au joueur N).
Sur l'iPhone, le joueur N lance l'application de jeu. Après une série de Logos, il arrive sur le menu principal.
Dans ce menu, il choisit « jeu à plusieurs ».
Sur l'écran s'affiche un compteur avec 10 minutes et un bouton « Start ». A ce moment, le joueur N ne peut pas contrôler le NAO.
4/Lancement du jeu
Le joueur N presse le bouton « Start » sur son iPhone. Une annonce sonore avertit tous les joueurs que la partie a commencé. Le compte à rebours s'enclenche. Sur l'écran, le temps est donc parfaitement visible.
Le joueur N peut à partir de ce moment contrôler le NAO. Il peut donc bouger.
A des moments clés, l'iPhone annonce la situation de la partie.
Lorsqu'on est à mi temps (5 minutes)
Lorsqu'il ne reste qu'une minute. Un Bip sonore s'enclenche dans les 10 dernières secondes. 5/Victoire et Défaite.
La défaite des joueurs N et A entraine automatiquement la victoire du joueur E et inversement.
Le joueur E ne peut « gagner » par lui même. Sa victoire est la conséquence de la défaite des joueurs N et A.
Victoire pour les Joueurs N et A
Si le NAO parvient au point d'arrivée, alors que le temps impartit n'est pas encore écoulé, la victoire est acquise.
Afin de valider cette arrivée, une NAOMARK est placée au point A. En reconnaissant cette NAOMARK, NAO peut envoyer l'information de victoire à l'iPhone, ce qui met fin à la partie. Un message de félicitation apparaît sur l'écran de l'iPhone pour les joueurs N et A.
Apres un clic sur l'écran, on revient sur le menu de départ.
Défaite pour les Joueurs N et A
La défaite est assez simple : si le compteur arrive à Zéro sur l'iPhone, la partie est terminée et le joueur E est vainqueur.
Option : En cas de chute du NAO, on peut, soit déclarer cette chute comme étant définitive, le NAO envoyant un signal de défaite, soit limiter la chute à la perte de temps naturelle qu'elle engendre, soit enfin demander au NAO d'envoyer un message faisant perdre une quantité de temps (30 secondes par exemple), ce qui handicape les joueurs N et A. 6/L'iPhone
L'iPhone est le centre de contrôle de la partie, mais également la « télécommande » permettant au joueur N de contrôler NAO.
Les principaux contrôles de NAO exécutés sur l'iPhone sont les contrôles de déplacement. L'accéléromètre inclus dans l'iPhone repère les mouvements des mains du joueur N et les exécute en fonction d'un code programmé, qui peut être par exemple celui illustré par la figure 8d. Il est ainsi possible de faire se déplacer NAO en avant, vers arrière, vers la droite ou vers la gauche. Grâce à des boutons additionnels sur l'écran, il est possible de demander à NAO de tendre les bras vers l'avant ou d'effectuer tout autre geste que l'on souhaitera programmer.
Comme indiqué en commentaire à la figure 4d, il est possible de remplacer l'iPhone par une autre télécommande disposant de fonctionnalités similaires.
7/Les cartes
Présentation
L'un des aspects notables du jeu est l'utilisation de cartes par les joueurs A et E.
Ces cartes permettent aux joueurs A et E d'intervenir sur le déroulement du jeu, de manière positive ou négative pour le joueur N.
Il existe 2 piles de cartes. Une pour le joueur A et une pour le joueur E.
Les cartes sont différentes dans les 2 piles.
Les cartes sont divisées en catégories et peuvent être activiées dans certains cas par NAO lui même.
Utilisation
Au départ du jeu, les joueurs A et E tirent 2 cartes chacun. Cela permet en fait d'avoir une certaine stratégie dans l'utilisation des cartes.
Toutes les minutes, (l'iPhone indique le bon moment), les joueurs A et E peuvent tirer une carte supplémentaire.
Les joueurs A et E peuvent utiliser et donc activer les cartes qui sont en leur possession à tout moment.
L'activation de la carte dépend en fait du type de la carte.
- Certaines cartes exigent des actions de certains joueurs.
- Certaines cartes sont activées par NAO lui même : en présentant la carte (munie d'une NAOMARK) à NAO,
Les cartes alliées
Voici une série de cartes dont le joueur A pourra bénéficier. Les cartes du joueur A sont en général faites pour annuler ou contrer les effets négatifs du joueur E :
- Carte Annulation : cette carte doit être présentée à NAO dans certains cas ; cette carte une fois jouée permet d'annuler une carte ou un effet d'une autre carte (en général une carte négative du joueur E) ; - Carte Temps supplémentaire : cette carte doit être présentée à NAO ; elle permet d'ajouter une minute au temps restant ;
- Carte Protection : cette carte doit être présentée à NAO ; en enclenchant cette carte, NAO refuse de lire toute carte négative qui lui ai présenté pendant 1 minute ; en revanche, cela ne protège pas des cartes qui ne nécessitent pas la lecture par NAO ;
- Carte Ralentissement : cette carte doit être présentée à NAO ; grâce à cette carte, le temps s'écoule 2 fois moins vite, ce qui permet au joueur N de disposer de plus de temps ;
- Carte Déplacement du Point d'Arrivée : cette carte n'a pas besoin d'être présentée à NAO ; cette carte très particulière n'existe qu'en un seul exemplaire dans le jeu. Elle permet de déplacer le point d'Arrivé dans le but de faciliter la tâche du NAO ; ce déplacement est cependant normalement limité à un rayon de 3 m ;
- La carte Mystère : cette carte doit être présentée à NAO ; son effet est une surprise ; dans la plus part des cas, elle va avoir un effet positif et se comporter comme une carte de type 1 à 4, mais dans un cas sur 5 elle va avoir un effet négatif : elle peut enclencher une Danse du NAO ;
- Carte Turbo : Cette carte doit être présentée à NAO ; cette carte permet au NAO pendant 1 minute de se déplacer plus vite.
Les cartes ennemies
Voici une série de cartes dont le joueur E pourra bénéficier. Les cartes du joueur E sont en général faites pour gêner les joueurs N et A dans leur quête de victoire.
Ce sont les cartes les plus intéressantes car c'est elles qui engendre les défis auxquels NAO est confronté :
- Carte Mouvement : Tour sur place ; cette carte n'est pas présentée à NAO ; en activant cette carte, le joueur E demande au joueur N de faire faire à NAO 3 tours sur place. Cette manœuvre va donc le retarder ;
- Carte Accélération du Temps : cette carte doit être présentée à NAO ; en activant cette carte, le temps se met à avancer plus vite ; - Carte Danse : cette carte doit être présentée à NAO ;en activant cette carte, NAO enclenche sur place une danse de démonstration ; celle-ci prend un certain temps et pendant ce temps, le joueur N perd le contrôle de NAO ;
- Carte Obstacle : cette carte n'a pas besoin d'être présentée à NAO ; grâce à cette carte, le joueur E peut placer un obstacle physique sur la route de NAO ; NAO doit alors contourner cet obstacle ou tenter de le franchir, mais en prenant alors le risque de tomber ; il n'y a pas de règle particulière pour le choix de l'obstacle, par contre, le joueur E ne peut en aucun cas bloquer l'accès à l'arrivé, et l'obstacle ne doit jamais être d'une taille supérieure à 2 fois celle de NAO ;
- Carte Balle en Mousse : cette carte n'a pas besoin d'être présentée à NAO (sauf échec) ; cette carte particulière demande à NAO de réaliser un mini-défi ; tout d'abord, NAO doit tendre les bras ; on lui pose ensuite un plateau et on place dessus une balle en mousse ; à partir de cet instant, NAO doit continuer à jouer mais dans cette position ; la difficulté vient du fait qu'il ne doit pas faire tomber la balle en mousse, sinon, il subit une pénalité de 4 minutes (dans ce cas, le joueur E présente la carte au NAO pour valider la perte de temps) ; le joueur A peut utiliser des cartes pour libérer NAO de cette contrainte.
- Carte Commandes Inversées : cette carte doit être présenté à NAO.
Une fois activés, les commandes du NAO par le joueur N sont inversées pendant 1 minute, ce qui devient très difficile, surtout si d'autres événements sont actifs (balle en mousse, obstacle, ect...) - Carte Déplacement du Point d'Arrivée : cette carte n'a pas besoin d'être présentée à NAO ; cette carte très particulière n'existe qu'en un seul exemplaire dans le jeu ; elle permet de déplacer le point d'Arrivé, ce qui complique la tâche de l'équipe Alliée ; ce déplacement doit se faire dans une zone visible par le NAO.
D'autres cartes peuvent aisément être imaginées et ajoutées au jeu ainsi décrit.
8/Le mode solo
A partir du menu principal sur l'iPhone, il est possible de choisir le mode Solo. Dans ce cas, le joueur accède à 2 sous-menus : - Mode Libre : dans ce mode, le joueur va pouvoir contrôler le NAO sans but particulier. Cela permet de jouer avec son NAO en le télécommandant avec son iPhone ;
- Mode Entrainement : dans ce mode, le joueur a le contrôle de NAO et peut reproduire les conditions d'une partie réelle ; le temps est présent et il dispose des cartes A en sa possession ; c'est l'iPhone qui toutes les minutes va enclencher un événement négatif pour retarder le joueur ; l'aspect stratégie n'est pas présent, mais l'entraînement permet de se perfectionner.
Pour mettre en œuvre l'invention, il faut assurer une communication entre robot joueur et joueur humain ou entre robots joueurs qui soit la moins ambiguë et la plus fluide possible.
Le robot humanoïde de l'invention est avantageusement équipé de capteurs et de logiciels lui permettant de détecter et éventuellement reconnaître des formes, notamment des visages, et des paroles. Cependant compte tenu des imperfections de ce type de mécanismes, il est nécessaire de prévoir des mécanismes de lever de doute ou de contournement en cas de reconnaissance défectueuse.
En particulier, s'agissant de l'aptitude du robot à reconnaître un joueur parmi plusieurs, il est simple et avantageux, dans de nombreuses configurations de jeu, de demander aux joueurs de jouer à leur tour à l'appel de leur indice (Joueur 1 , Joueur 2, Joueur 3, etc .).
Les joueurs peuvent également disposer de signes permettant de les reconnaître, tels que des NAOMARK, précédemment décrites.
Il est également possible de communiquer avec le robot par le toucher, sur des parties de son corps prévues à cet effet, telles que la tête, le torse ou les pieds.
Il est notamment souvent nécessaire de prévoir des moyens pour lever les doutes et ambiguïtés des réponses interprétées par le robot.
S'agissant de la reconnaissance vocale, une Boîte Choix du logiciel Chorégraphe, qui est une des Boîtes dont les rôles et fonctionnements génériques sont expliqués ci-dessus en commentaire à la figure 3, peut être programmée permettre au robot de poser une question (éventuellement vide) à l'utilisateur en rendant disponible par exemple un nombre fini de réponses. Elle est également programmée pour demander à un joueur de fournir des précisions à sa réponse lorsque le robot n'est pas certain de l'avoir correctement reconnue ou interprétée. Ce mécanisme est identique à celui utilisé par un humain qui aurait une audition déficiente ou qui serait plongé dans un environnement rendant sa compréhension difficile. La Boîte Choix est programmée avec des réponses différentes selon le niveau de compréhension de la réponse par le robot. Ces seuils sont fixés en fonction de la confiance de reconnaissance calculée par le logiciel de reconnaissance : par exemple, lorsqu'un premier seuil de reconnaissance n'est pas atteint, le robot demande au joueur de répéter sa réponse ; lorsque le premier seuil est atteint mais lorsqu'un deuxième seuil de reconnaissance plus élevé n'est pas atteint, le robot est programmé pour poser une question dont la réponse permettra normalement de lever le doute.
En retour, le robot communique avec le ou les joueurs par la parole, ou en émettant des signes, notamment avec ses LED, ou en effectuant des gestes. Il peut également être programmé pour communiquer par langage codé, tel que le morse, qui peut être exécuté soit de manière visuelle (LED, gestes) soit de manière sonore.
Compte tenu de sa grande versatilité, le robot joueur de l'invention est apte à incarner plusieurs personnages dans un même jeu. Il peut pour cela avoir plusieurs « personnalités » qui permettent, exprimées notamment par des voix différentes, de démultiplier les possibilités des joueurs et d'accroître l'expérience ludique. Dans le cadre de la présente invention, sont également prévus des mécanismes de pause et de reprise ainsi que des moyens pour faire face à des incidents tels qu'une chute du robot ou un épuisement de son alimentation électrique.
Des pauses peuvent être programmées par les joueurs réels. La partie est alors sauvegardée dans les différentes mémoires associées aux processeurs où le jeu est éventuellement réparti (robots, PC, sites distants). La reprise est actionnée par le joueur selon une procédure standard ou automatiquement par le robot qui redémarre dans le mode adéquat. En ce qui concerne les incidents, il peut être prévu des mécanismes de sauvegarde automatique à intervalles réguliers, qui permettent une reprise lorsque l'incident est résolu.
Des procédures permettent également au robot de se relever en position debout ou de se rasseoir après une chute (Procédures Standing, Sitting).
La programmation du robot pour exécuter les comportements prévus dans un jeu s'effectue par l'intermédiaire d'un logiciel d'édition de comportements du type de Chorégraphe™ décrit ci-dessus en commentaire à la figure 3. Ce logiciel comporte des comportements standards. Les comportements particuliers à un jeu peuvent être programmés en langage Python ou en C++ et être associés au projet correspondant au jeu en tant que ressource du projet. Ils seront ainsi appelés en tant que de besoin par les différentes Boîtes de commande constituant l'application. Le robot humanoïde de l'invention peut cependant être utilisé sans qu'il soit nécessaire de disposer du logiciel d'édition des comportements. Dans ce cas, les comportements et autres modules logiciels nécessaires à l'exécution du jeu sont téléchargés sur le robot lui-même, par exemple par l'éditeur du jeu. Différents modes d'exploitation de l'invention sont en effet envisageables
Les exemples décrits ci-dessus sont donnés à titre d'illustration de modes de réalisation de l'invention. Ils ne limitent en aucune manière le champ de l'invention qui est défini par les revendications qui suivent.

Claims

REVENDICATIONS
1 . Robot humanoïde (100) apte à se déplacer sur ses membres inférieurs (140), à effectuer des mouvements de ses membres supérieurs (150), à émettre et recevoir des messages appartenant au groupe des messages visuels, sonores, gestuels et/ou tactiles et à produire au moins un comportement autonome, ledit au moins un comportement constituant un élément d'une séquence d'un jeu générée en réponse à au moins un message appartenant au groupe des messages visuels, sonores, gestuels et/ou tactiles, ledit robot étant caractérisé en ce qu'il est apte à poser au moins une question sous forme de message appartenant au groupe des messages visuels, sonores, gestuels et/ou tactiles et à déterminer si au moins un message de réponse appartenant au même groupe contient une réponse vraie, une réponse fausse ou une réponse ambiguë.
2. Robot humanoïde selon la revendication 1 , caractérisé en ce que ladite détermination est effectuée en sortie d'une boucle d'itérations déterminées en fonction de seuils de reconnaissance desdites réponses.
3. Robot humanoïde selon l'une des revendications 1 à 2, caractérisé en ce que ledit robot est apte à reconnaître des objets dans son environnement et à les intégrer dans la séquence dudit jeu.
4. Robot humanoïde selon l'une des revendications 1 à 3, caractérisé en ce qu'il est l'animateur d'un jeu de questions-réponses auquel participe au moins un autre joueur qui doit fournir les réponses aux questions posées par le robot.
5. Robot humanoïde selon l'une des revendications 1 à 3, caractérisé en ce qu'il est un des joueurs d'un jeu auquel participe au moins un autre joueur et dans lequel il doit reconnaître une personne ou une chose en fonction au moins d'indices qui lui sont communiqués par ledit au moins un autre joueur.
6. Robot humanoïde selon la revendication 5, caractérisé en ce qu'il est apte à rechercher une aide sur internet pour effectuer ladite reconnaissance.
7. Robot humanoïde selon l'une des revendications 1 à 3, caractérisé en ce qu'il est un joueur d'un jeu dans lequel il est apte à coopérer avec au moins un autre joueur pour résoudre au moins une énigme.
8. Robot humanoïde selon l'une des revendications 1 à 3, caractérisé en ce que ses mouvements sont déterminés pour partie en fonction de premières consignes de déplacements qui lui sont communiquées par une télécommande manipulée par un premier joueur, de deuxièmes consignes de déplacements, antagonistes aux premières consignes, qui lui sont communiquées visuellement par un deuxième joueur et de troisièmes consignes de déplacements, antagonistes aux deuxièmes consignes qui lui sont communiquées par un troisième joueur.
9. Robot humanoïde selon la revendication 8, caractérisé en ce que ladite télécommande est un boîtier portable muni d'au moins un capteur de mouvement et apte à traduire les sorties dudit au moins un capteur en lesdites premières consignes.
10. Robot humanoïde selon l'une des revendications 1 à 9, caractérisé en ce que au moins deux robots participent à un même jeu, lesdits au moins deux robots étant en communication par au moins un message visuel, sonore et/ou gestuel.
1 1 . Robot humanoïde selon l'une des revendications 1 à 9, caractérisé en ce que au moins deux robots participent à un même jeu, lesdits au moins deux robots étant en communication par échange de messages de comportements.
12. Robot humanoïde selon la revendication 1 1 , caractérisé en ce que ledit échange de messages de comportements est activé après une étape d'identification réciproque desdits robots par échange d'informations les caractérisant.
13. Robot humanoïde selon la revendication 12, caractérisé en ce que lesdits au moins deux robots sont en outre aptes à télécharger un signal de synchronisation de leurs mouvements.
14. Robot humanoïde selon l'une des revendications 1 à 13, caractérisé en ce qu'au moins un robot joueur et un autre joueur se situent dans deux lieux non reliés par un réseau local.
15. Robot humanoïde selon la revendication 14, caractérisé en ce que lesdits au moins un robot joueur et un autre joueur communiquent par protocole de communication sur réseau étendu et en ce que ledit robot joueur est doté de moyens autonomes de traitement pour l'encodage des accès réseau.
16. Robot humanoïde selon l'une des revendications 1 à 15, caractérisé en ce qu'un joueur est apte à communiquer avec lui par l'intermédiaire d'un code visuel.
17. Robot humanoïde selon l'une des revendications 1 à 16, caractérisé en ce qu'il est apte à réaliser une fonction d'assistance d'au moins un autre joueur consistant à effectuer au moins une action dans le jeu à la place du joueur.
18. Robot humanoïde selon la revendication 17, caractérisé en ce que ladite action consiste à sauvegarder le jeu.
19. Robot humanoïde selon la revendication 17, caractérisé en ce que ladite fonction d'assistance consiste à appliquer des consignes de contrôle de l'accès au jeu.
20. Robot humanoïde selon l'une des revendications 1 à 19, caractérisé en ce que ledit robot est apte à déclencher et gérer les interruptions et reprises d'une séquence de jeu.
21 . Robot humanoïde selon l'une des revendications 1 à 20, caractérisé en ce que ledit robot est apte à reconnaître au moins un joueur parmi plusieurs, ladite reconnaissance utilisant un indice appartenant au groupe des indices visuels, sonores, gestuels et/ou tactiles.
22. Procédé de contrôle d'un robot humanoïde apte à se déplacer sur ses membres inférieurs (140), à effectuer des mouvements de ses membres supérieurs (150), à émettre et recevoir des messages appartenant au groupe des messages visuels, sonores, gestuels et/ou tactiles et à produire au moins un comportement autonome, ledit au moins un comportement constituant un élément d'une séquence d'un jeu générée en réponse à au moins un message appartenant au groupe des messages visuels, sonores et/ou gestuels, ledit procédé étant caractérisé en ce qu'il comprend une étape dans laquelle ledit robot pose au moins une question sous forme de message appartenant au groupe des messages visuels, sonores, gestuels et/ou tactiles et détermine si au moins un message de réponse appartenant au même groupe contient une réponse vraie, une réponse fausse ou une réponse ambiguë..
23. Programme d'ordinateur comprenant des instructions de code de programme permettant l'exécution du procédé selon la revendication 22 lorsque le programme est exécuté sur un ordinateur, ledit programme étant adapté pour permettre à un robot humanoïde de se déplacer sur ses membres inférieurs (140), d'effectuer des mouvements de ses membres supérieurs (150), d'émettre et de recevoir des messages appartenant au groupe des messages visuels, sonores, gestuels et/ou tactiles et de produire au moins un comportement autonome, ledit au moins un comportement constituant un élément d'une séquence d'un jeu générée en réponse à au moins un message appartenant au groupe des messages visuels, sonores et/ou gestuel, ledit programme étant caractérisé en ce qu'il comprend un module apte à générer un comportement dans lequel ledit robot pose au moins une question sous forme de message appartenant au groupe des messages visuels, sonores, gestuels et/ou tactiles et un module apte à déterminer si au moins un message de réponse appartenant au même groupe contient une réponse vraie, une réponse fausse ou une réponse ambiguë.
PCT/EP2011/060693 2010-07-02 2011-06-27 Robot humanoide joueur, methode et systeme d'utilisation dudit robot WO2012000927A1 (fr)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020137002733A KR101869111B1 (ko) 2010-07-02 2011-06-27 게임을 플레이하기 위한 휴머노이드 로봇, 상기 로봇을 이용하기 위한 방법 및 시스템
JP2013517224A JP6002885B2 (ja) 2010-07-02 2011-06-27 ヒューマノイドゲーム実行ロボット、ならびに前記ロボットを使用するための方法およびシステム
EP11729960.2A EP2588209B1 (fr) 2010-07-02 2011-06-27 Robot humanoide joueur, methode et systeme d'utilisation dudit robot
ES11729960.2T ES2553146T3 (es) 2010-07-02 2011-06-27 Robot humanoide jugador, método y sistema de utilización de dicho robot
BR112013000023A BR112013000023A2 (pt) 2010-07-02 2011-06-27 Robô humanóide jogador, método e sistema para usar dito robô
CN201180041842.6A CN103079657B (zh) 2010-07-02 2011-06-27 类人博弈机器人、使用所述机器人的方法和系统
US13/808,040 US9950421B2 (en) 2010-07-02 2011-06-27 Humanoid game-playing robot, method and system for using said robot

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1055382 2010-07-02
FR1055382A FR2962048A1 (fr) 2010-07-02 2010-07-02 Robot humanoide joueur, methode et systeme d'utilisation dudit robot

Publications (1)

Publication Number Publication Date
WO2012000927A1 true WO2012000927A1 (fr) 2012-01-05

Family

ID=43707816

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2011/060693 WO2012000927A1 (fr) 2010-07-02 2011-06-27 Robot humanoide joueur, methode et systeme d'utilisation dudit robot

Country Status (9)

Country Link
US (1) US9950421B2 (fr)
EP (1) EP2588209B1 (fr)
JP (1) JP6002885B2 (fr)
KR (1) KR101869111B1 (fr)
CN (1) CN103079657B (fr)
BR (1) BR112013000023A2 (fr)
ES (1) ES2553146T3 (fr)
FR (1) FR2962048A1 (fr)
WO (1) WO2012000927A1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013150076A1 (fr) 2012-04-04 2013-10-10 Aldebaran Robotics Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot
WO2015083915A1 (fr) * 2013-12-03 2015-06-11 Byrobot Co., Ltd. Système de relais de jeu de combat utilisant des robots volants
EP2933067A1 (fr) 2014-04-17 2015-10-21 Aldebaran Robotics Procédé de réalisation de dialogue multimodal entre un utilisateur et un robot humanoïde, produit de programme informatique et robot humanoïde mettant en oeuvre ce procédé
US10583559B2 (en) 2014-04-17 2020-03-10 Softbank Robotics Europe Humanoid robot with an autonomous life capability
WO2021165517A1 (fr) * 2020-02-20 2021-08-26 Ludotech Robot mobile de jeu et système associé

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150138333A1 (en) * 2012-02-28 2015-05-21 Google Inc. Agent Interfaces for Interactive Electronics that Support Social Cues
US9305411B2 (en) 2012-03-14 2016-04-05 Autoconnect Holdings Llc Automatic device and vehicle pairing via detected emitted signals
US9412273B2 (en) 2012-03-14 2016-08-09 Autoconnect Holdings Llc Radar sensing and emergency response vehicle detection
US9378601B2 (en) 2012-03-14 2016-06-28 Autoconnect Holdings Llc Providing home automation information via communication with a vehicle
US9384609B2 (en) 2012-03-14 2016-07-05 Autoconnect Holdings Llc Vehicle to vehicle safety and traffic communications
US8744645B1 (en) * 2013-02-26 2014-06-03 Honda Motor Co., Ltd. System and method for incorporating gesture and voice recognition into a single system
EP2817591A4 (fr) 2013-04-15 2015-10-07 Flextronics Ap Llc Modification de comportement par l'intermédiaire de trajets de carte modifiés sur la base d'informations de profil d'utilisateur
CN103336788A (zh) * 2013-06-05 2013-10-02 上海交通大学 一种仿人机器人辅助的互联网信息获取方法及系统
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
KR101571719B1 (ko) * 2014-10-02 2015-11-25 엘지전자 주식회사 로봇 청소기
US10692126B2 (en) 2015-11-17 2020-06-23 Nio Usa, Inc. Network-based system for selling and servicing cars
JP6594567B2 (ja) * 2016-01-04 2019-10-23 浙江立▲ビアオ▼机器人有限公司 ロボットとサーバーとの間の同期化方法及びシステム
US20180012196A1 (en) 2016-07-07 2018-01-11 NextEv USA, Inc. Vehicle maintenance manager
US9928734B2 (en) 2016-08-02 2018-03-27 Nio Usa, Inc. Vehicle-to-pedestrian communication systems
US10031523B2 (en) 2016-11-07 2018-07-24 Nio Usa, Inc. Method and system for behavioral sharing in autonomous vehicles
US10410064B2 (en) 2016-11-11 2019-09-10 Nio Usa, Inc. System for tracking and identifying vehicles and pedestrians
US10694357B2 (en) 2016-11-11 2020-06-23 Nio Usa, Inc. Using vehicle sensor data to monitor pedestrian health
US10708547B2 (en) 2016-11-11 2020-07-07 Nio Usa, Inc. Using vehicle sensor data to monitor environmental and geologic conditions
US10699305B2 (en) 2016-11-21 2020-06-30 Nio Usa, Inc. Smart refill assistant for electric vehicles
US10249104B2 (en) 2016-12-06 2019-04-02 Nio Usa, Inc. Lease observation and event recording
US10848091B2 (en) 2016-12-22 2020-11-24 Nidec Corporation Motor unit and multi-motor system
CN106826847B (zh) * 2017-01-09 2019-03-19 深圳前海勇艺达机器人有限公司 具有主持婚礼功能的机器人
US10074223B2 (en) 2017-01-13 2018-09-11 Nio Usa, Inc. Secured vehicle for user use only
US10031521B1 (en) 2017-01-16 2018-07-24 Nio Usa, Inc. Method and system for using weather information in operation of autonomous vehicles
US9984572B1 (en) 2017-01-16 2018-05-29 Nio Usa, Inc. Method and system for sharing parking space availability among autonomous vehicles
US10471829B2 (en) 2017-01-16 2019-11-12 Nio Usa, Inc. Self-destruct zone and autonomous vehicle navigation
US10286915B2 (en) 2017-01-17 2019-05-14 Nio Usa, Inc. Machine learning for personalized driving
US10464530B2 (en) 2017-01-17 2019-11-05 Nio Usa, Inc. Voice biometric pre-purchase enrollment for autonomous vehicles
US10897469B2 (en) 2017-02-02 2021-01-19 Nio Usa, Inc. System and method for firewalls between vehicle networks
CN107030691B (zh) * 2017-03-24 2020-04-14 华为技术有限公司 一种看护机器人的数据处理方法及装置
US10234302B2 (en) 2017-06-27 2019-03-19 Nio Usa, Inc. Adaptive route and motion planning based on learned external and internal vehicle environment
US11106967B2 (en) 2017-07-03 2021-08-31 X Development Llc Update of local features model based on correction to robot action
US10562181B2 (en) 2017-07-03 2020-02-18 X Development Llc Determining and utilizing corrections to robot actions
US10710633B2 (en) 2017-07-14 2020-07-14 Nio Usa, Inc. Control of complex parking maneuvers and autonomous fuel replenishment of driverless vehicles
US10369974B2 (en) 2017-07-14 2019-08-06 Nio Usa, Inc. Control and coordination of driverless fuel replenishment for autonomous vehicles
US10837790B2 (en) 2017-08-01 2020-11-17 Nio Usa, Inc. Productive and accident-free driving modes for a vehicle
US10635109B2 (en) 2017-10-17 2020-04-28 Nio Usa, Inc. Vehicle path-planner monitor and controller
US10606274B2 (en) 2017-10-30 2020-03-31 Nio Usa, Inc. Visual place recognition based self-localization for autonomous vehicles
US10935978B2 (en) 2017-10-30 2021-03-02 Nio Usa, Inc. Vehicle self-localization using particle filters and visual odometry
US10717412B2 (en) 2017-11-13 2020-07-21 Nio Usa, Inc. System and method for controlling a vehicle using secondary access methods
JP7128842B2 (ja) * 2017-12-14 2022-08-31 株式会社ソニー・インタラクティブエンタテインメント エンターテインメントシステム、ロボット装置およびサーバ装置
CN108582089B (zh) * 2017-12-27 2021-04-30 重庆柚瓣家科技有限公司 基于虚拟游戏的机器人系统
US10814487B2 (en) * 2018-01-22 2020-10-27 Disney Enterprises, Inc. Communicative self-guiding automation
JP7363764B2 (ja) * 2018-02-26 2023-10-18 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
US10369966B1 (en) 2018-05-23 2019-08-06 Nio Usa, Inc. Controlling access to a vehicle using wireless access devices
US11279041B2 (en) * 2018-10-12 2022-03-22 Dream Face Technologies, Inc. Socially assistive robot
KR102228866B1 (ko) * 2018-10-18 2021-03-17 엘지전자 주식회사 로봇 및 그의 제어 방법
CN109794937B (zh) * 2019-01-29 2021-10-01 南京邮电大学 一种基于强化学习的足球机器人协作方法
KR102134189B1 (ko) 2019-07-11 2020-07-15 주식회사 아들과딸 인공지능 로봇을 활용한 도서 콘텐츠 제공 방법 및 장치
CN110769071A (zh) * 2019-10-31 2020-02-07 北京鲲鹏神通科技有限公司 一种机器人远程学习控制方法
CN111467795B (zh) * 2020-04-02 2023-06-13 北京代码乾坤科技有限公司 游戏场景内的物理结算方法和装置
KR102641331B1 (ko) * 2020-08-12 2024-02-27 봉래 박 Ai를 활용한 어휘 연상 게임을 제공하는 방법 및 이를 제공하는 게임 서버
US11478927B1 (en) * 2021-04-01 2022-10-25 Giant.Ai, Inc. Hybrid computing architectures with specialized processors to encode/decode latent representations for controlling dynamic mechanical systems
KR102567743B1 (ko) * 2023-03-07 2023-08-17 주식회사 아임토리 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4729563A (en) 1984-12-28 1988-03-08 Nintendo Co., Ltd. Robot-like game apparatus
WO2000044464A1 (fr) * 1999-01-28 2000-08-03 Lego A/S Jouet teleguide
WO2001012285A1 (fr) * 1999-08-19 2001-02-22 Kidkids, Inc. Jouets en reseau
WO2001070361A2 (fr) * 2000-03-24 2001-09-27 Creator Ltd. Applications pour jouets interactifs
US20020081937A1 (en) * 2000-11-07 2002-06-27 Satoshi Yamada Electronic toy
US6580369B1 (en) 1995-10-11 2003-06-17 Motorola, Inc. Electronic tag assembly and method therefor
US6832132B2 (en) 1999-11-25 2004-12-14 Sony Corporation Legged mobile robot and method and apparatus for controlling the operation thereof
WO2009124951A1 (fr) 2008-04-09 2009-10-15 Aldebaran Robotics Architecture de controle - commande d'un robot mobile utilisant des membres articules
WO2009124955A2 (fr) 2008-04-09 2009-10-15 Aldebaran Robotics Systeme et procede de communication distribue et modulaire comprenant au moins un serveur, au moins un terminal distant, et au moins un terminal mobile capable de communiquer avec le terminal distant relie en reseau audit serveur

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4398720A (en) * 1981-01-05 1983-08-16 California R & D Center Robot computer chess game
CN1146491C (zh) 1998-06-23 2004-04-21 索尼公司 机器人装置及信息处理系统
US6980956B1 (en) * 1999-01-07 2005-12-27 Sony Corporation Machine apparatus and its driving method, and recorded medium
US6519506B2 (en) * 1999-05-10 2003-02-11 Sony Corporation Robot and control method for controlling the robot's emotions
US6347261B1 (en) * 1999-08-04 2002-02-12 Yamaha Hatsudoki Kabushiki Kaisha User-machine interface system for enhanced interaction
JP2001154681A (ja) * 1999-11-30 2001-06-08 Sony Corp 音声処理装置および音声処理方法、並びに記録媒体
CN1151016C (zh) * 1999-11-30 2004-05-26 索尼公司 机器人设备及其控制方法,和机器人性格判别方法
JP2001157976A (ja) * 1999-11-30 2001-06-12 Sony Corp ロボット制御装置およびロボット制御方法、並びに記録媒体
JP2001154685A (ja) * 1999-11-30 2001-06-08 Sony Corp 音声認識装置および音声認識方法、並びに記録媒体
JP2001179663A (ja) * 1999-12-24 2001-07-03 Sony Corp 脚式移動ロボット及び脚式移動ロボットの制御方法、並びに充電ステーション
US6615109B1 (en) * 2000-02-10 2003-09-02 Sony Corporation System and method for generating an action of an automatic apparatus
JP2001322079A (ja) * 2000-05-15 2001-11-20 Sony Corp 脚式移動ロボット及びその動作教示方法
JP2005500912A (ja) * 2001-02-27 2005-01-13 アンソロトロニックス インコーポレイテッド ロボット装置および無線通信システム
EP1375084A4 (fr) * 2001-03-09 2009-10-21 Japan Science & Tech Agency Systeme de robot audiovisuel
EP1262844A1 (fr) * 2001-06-01 2002-12-04 Sony International (Europe) GmbH Méthode de commande d'une unité d'interface homme-machine
US6560512B1 (en) * 2002-01-04 2003-05-06 Machine Consciousness, Inc. Relational robotic controller
JP2003255991A (ja) * 2002-03-06 2003-09-10 Sony Corp 対話制御システム、対話制御方法及びロボット装置
JP4007069B2 (ja) * 2002-05-29 2007-11-14 日本電気株式会社 ロボット装置、ロボット装置の制御方法及びプログラム
US7640164B2 (en) * 2002-07-04 2009-12-29 Denso Corporation System for performing interactive dialog
US6925357B2 (en) * 2002-07-25 2005-08-02 Intouch Health, Inc. Medical tele-robotic system
US20090030552A1 (en) * 2002-12-17 2009-01-29 Japan Science And Technology Agency Robotics visual and auditory system
JP3632099B2 (ja) * 2002-12-17 2005-03-23 独立行政法人科学技術振興機構 ロボット視聴覚システム
JP2004302785A (ja) * 2003-03-31 2004-10-28 Honda Motor Co Ltd 移動ロボットの画像送信装置
US20050038647A1 (en) * 2003-08-11 2005-02-17 Aurilab, Llc Program product, method and system for detecting reduced speech
JP2005193331A (ja) * 2004-01-06 2005-07-21 Sony Corp ロボット装置及びその情動表出方法
JP4244812B2 (ja) * 2004-01-16 2009-03-25 ソニー株式会社 行動制御システム及びロボット装置の行動制御方法
JP3924583B2 (ja) * 2004-02-03 2007-06-06 松下電器産業株式会社 ユーザ適応型装置およびその制御方法
JP4661074B2 (ja) * 2004-04-07 2011-03-30 ソニー株式会社 情報処理システム、情報処理方法、並びにロボット装置
US20060122837A1 (en) * 2004-12-08 2006-06-08 Electronics And Telecommunications Research Institute Voice interface system and speech recognition method
US20060136210A1 (en) * 2004-12-16 2006-06-22 Sony Corporation System and method for tying variance vectors for speech recognition
JP4204541B2 (ja) * 2004-12-24 2009-01-07 株式会社東芝 対話型ロボット、対話型ロボットの音声認識方法および対話型ロボットの音声認識プログラム
US20060257830A1 (en) * 2005-05-13 2006-11-16 Chyi-Yeu Lin Spelling robot
US8583282B2 (en) * 2005-09-30 2013-11-12 Irobot Corporation Companion robot for personal interaction
KR100819848B1 (ko) * 2005-12-08 2008-04-08 한국전자통신연구원 발화검증을 위한 임계치값 자동 갱신을 이용한 음성인식장치 및 방법
US8484146B2 (en) * 2006-01-18 2013-07-09 Sony Corporation Interaction device implementing a bayesian's estimation
ES2359430T3 (es) * 2006-04-27 2011-05-23 Mobiter Dicta Oy Procedimiento, sistema y dispositivo para la conversión de la voz.
JP5018773B2 (ja) * 2006-05-26 2012-09-05 日本電気株式会社 音声入力システム、対話型ロボット、音声入力方法、および、音声入力プログラム
WO2007148493A1 (fr) * 2006-06-23 2007-12-27 Panasonic Corporation Dispositif de reconnaissance d'émotion
US20080256008A1 (en) * 2007-03-31 2008-10-16 Mitchell Kwok Human Artificial Intelligence Machine
US20080281766A1 (en) * 2007-03-31 2008-11-13 Mitchell Kwok Time Machine Software
US7966093B2 (en) * 2007-04-17 2011-06-21 Yefim Zhuk Adaptive mobile robot system with knowledge-driven architecture
ATE555433T1 (de) * 2007-04-26 2012-05-15 Ford Global Tech Llc Emotives beratungssystem und verfahren
JP2009011362A (ja) * 2007-06-29 2009-01-22 Sony Computer Entertainment Inc 情報処理システム、ロボット装置及びその制御方法
US8868410B2 (en) * 2007-08-31 2014-10-21 National Institute Of Information And Communications Technology Non-dialogue-based and dialogue-based learning apparatus by substituting for uttered words undefined in a dictionary with word-graphs comprising of words defined in the dictionary
US7809664B2 (en) * 2007-12-21 2010-10-05 Yahoo! Inc. Automated learning from a question and answering network of humans
US9165199B2 (en) * 2007-12-21 2015-10-20 Honda Motor Co., Ltd. Controlled human pose estimation from depth image streams
JP5075664B2 (ja) * 2008-02-15 2012-11-21 株式会社東芝 音声対話装置及び支援方法
JP5294315B2 (ja) * 2008-11-28 2013-09-18 学校法人早稲田大学 対話活性化ロボット
KR20100086262A (ko) * 2009-01-22 2010-07-30 삼성전자주식회사 로봇 및 그 제어방법
FR2946160B1 (fr) 2009-05-26 2014-05-09 Aldebaran Robotics Systeme et procede pour editer et commander des comportements d'un robot mobile.
JP5663201B2 (ja) * 2009-06-04 2015-02-04 本田技研工業株式会社 音源方向推定装置及び音源方向推定方法
US8676581B2 (en) * 2010-01-22 2014-03-18 Microsoft Corporation Speech recognition analysis via identification information
JP2011186351A (ja) * 2010-03-11 2011-09-22 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
US8706298B2 (en) * 2010-03-17 2014-04-22 Raytheon Company Temporal tracking robot control system
FR2963132A1 (fr) * 2010-07-23 2012-01-27 Aldebaran Robotics Robot humanoide dote d'une interface de dialogue naturel, methode d'utilisation et de programmation de ladite interface
US8594845B1 (en) * 2011-05-06 2013-11-26 Google Inc. Methods and systems for robotic proactive informational retrieval from ambient context
US8918208B1 (en) * 2012-02-07 2014-12-23 Ryan Hickman Projection of interactive map data
US9302393B1 (en) * 2014-04-15 2016-04-05 Alan Rosen Intelligent auditory humanoid robot and computerized verbalization system programmed to perform auditory and verbal artificial intelligence processes

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4729563A (en) 1984-12-28 1988-03-08 Nintendo Co., Ltd. Robot-like game apparatus
US4815733A (en) 1984-12-28 1989-03-28 Nintendo Co., Ltd. Photosensing video game control system
US6580369B1 (en) 1995-10-11 2003-06-17 Motorola, Inc. Electronic tag assembly and method therefor
WO2000044464A1 (fr) * 1999-01-28 2000-08-03 Lego A/S Jouet teleguide
WO2001012285A1 (fr) * 1999-08-19 2001-02-22 Kidkids, Inc. Jouets en reseau
US6832132B2 (en) 1999-11-25 2004-12-14 Sony Corporation Legged mobile robot and method and apparatus for controlling the operation thereof
WO2001070361A2 (fr) * 2000-03-24 2001-09-27 Creator Ltd. Applications pour jouets interactifs
US20020081937A1 (en) * 2000-11-07 2002-06-27 Satoshi Yamada Electronic toy
WO2009124951A1 (fr) 2008-04-09 2009-10-15 Aldebaran Robotics Architecture de controle - commande d'un robot mobile utilisant des membres articules
WO2009124955A2 (fr) 2008-04-09 2009-10-15 Aldebaran Robotics Systeme et procede de communication distribue et modulaire comprenant au moins un serveur, au moins un terminal distant, et au moins un terminal mobile capable de communiquer avec le terminal distant relie en reseau audit serveur

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013150076A1 (fr) 2012-04-04 2013-10-10 Aldebaran Robotics Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot
US10052769B2 (en) 2012-04-04 2018-08-21 Softbank Robotics Europe Robot capable of incorporating natural dialogues with a user into the behaviour of same, and methods of programming and using said robot
WO2015083915A1 (fr) * 2013-12-03 2015-06-11 Byrobot Co., Ltd. Système de relais de jeu de combat utilisant des robots volants
EP2933067A1 (fr) 2014-04-17 2015-10-21 Aldebaran Robotics Procédé de réalisation de dialogue multimodal entre un utilisateur et un robot humanoïde, produit de programme informatique et robot humanoïde mettant en oeuvre ce procédé
US10242666B2 (en) 2014-04-17 2019-03-26 Softbank Robotics Europe Method of performing multi-modal dialogue between a humanoid robot and user, computer program product and humanoid robot for implementing said method
US10583559B2 (en) 2014-04-17 2020-03-10 Softbank Robotics Europe Humanoid robot with an autonomous life capability
WO2021165517A1 (fr) * 2020-02-20 2021-08-26 Ludotech Robot mobile de jeu et système associé
FR3107457A1 (fr) * 2020-02-20 2021-08-27 Ludotech Robot mobile de jeu et système associé

Also Published As

Publication number Publication date
CN103079657B (zh) 2015-06-10
US20130103196A1 (en) 2013-04-25
KR101869111B1 (ko) 2018-06-19
US9950421B2 (en) 2018-04-24
JP6002885B2 (ja) 2016-10-05
EP2588209B1 (fr) 2015-09-23
FR2962048A1 (fr) 2012-01-06
BR112013000023A2 (pt) 2023-12-05
ES2553146T3 (es) 2015-12-04
EP2588209A1 (fr) 2013-05-08
KR20140040062A (ko) 2014-04-02
CN103079657A (zh) 2013-05-01
JP2013536090A (ja) 2013-09-19

Similar Documents

Publication Publication Date Title
EP2588209B1 (fr) Robot humanoide joueur, methode et systeme d'utilisation dudit robot
CN103657087B (zh) 身临其境式叙事环境
Lindley Story and narrative structures in computer games
Chernova et al. Crowdsourcing human-robot interaction: Application from virtual to physical worlds
US8858311B2 (en) Traveling virtual pet game system
WO2012010437A1 (fr) Robot humanoide dote d'une interface de dialogue naturel, procede de controle du robot et programme correspondant
Green Storytelling in video games: the art of the digital narrative
Wood Dynamic syuzhets: writing and design methods for playable stories
US20180015373A1 (en) Addiction/Compulsive Behavior Recovery and Relapse Prevention Gaming Simulation Platform
Jordan The pleasures and pains of Pikachu
Robertson Taming Gaming: Guide your child to healthy video game habits
Berger Storytelling for New Technologies and Platforms: A Writer’s Guide to Theme Parks, Virtual Reality, Board Games, Virtual Assistants, and More
Mason Therapeutic metaphors
Nguyen A Human's Guide to the Future
Juju " Viesti Venuksesta/Message from Venus"–Creating new kind of game concept with emphasis on experience design
Youell Matthew: From numbers to numeracy: from knowledge to knowing in a ten year-old boy with Asperger's Syndrome
Ryan Curiouser and curiouser: researching the K link in psychoanalytic therapy
Clift Virgin's Handbook on Virtual Relationships
Green A Place to Be
Grödem Co-authorial narrative: Attempting to draw a border in the no man’s land that is emergent narrative
Gameplay 7 Zombie Video Games, Eros, and Thanatos
Wang et al. Personality AI Development
Carrera The Form of Videogames Within Videogames
Griffin VR Together
Sommerseth Being virtual: embodiment and experience in interactive computer game play

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180041842.6

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11729960

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013517224

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13808040

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2011729960

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20137002733

Country of ref document: KR

Kind code of ref document: A

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112013000023

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112013000023

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20130102