EP2855105A1 - System and method for generating contextual behaviours of a mobile robot executed in real time - Google Patents

System and method for generating contextual behaviours of a mobile robot executed in real time

Info

Publication number
EP2855105A1
EP2855105A1 EP13728694.4A EP13728694A EP2855105A1 EP 2855105 A1 EP2855105 A1 EP 2855105A1 EP 13728694 A EP13728694 A EP 13728694A EP 2855105 A1 EP2855105 A1 EP 2855105A1
Authority
EP
European Patent Office
Prior art keywords
module
robot
behavior
text
editing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP13728694.4A
Other languages
German (de)
French (fr)
Inventor
Victor PALEOLOGUE
Maxime MORISSET
Flora BRIAND
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aldebaran SAS
Original Assignee
Aldebaran Robotics SA
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 SA filed Critical Aldebaran Robotics SA
Publication of EP2855105A1 publication Critical patent/EP2855105A1/en
Ceased legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40099Graphical user interface for robotics, visual robot user interface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40392Programming, visual robot programming language

Definitions

  • the present invention belongs to the field of robot programming systems. BACKGROUND OF THE INVENTION More precisely, it applies to the control of behaviors coherent with the context in which the robot, in particular of human or animal form, evolves, expresses itself and moves on members articulated or not.
  • a robot can be called a humanoid from the moment it has certain attributes of the appearance and functionality of the man: a head, a trunk, two arms, possibly two hands, two legs, two feet ...
  • One of the features likely to give the robot an appearance and quasi-human behavior is the possibility of ensuring a strong coupling between gestural expression and oral expression. In particular, achieving this result intuitively allows new user groups to access humanoid robot behavior programming.
  • the patent application WO201 1/003628 discloses a system and a method responding to this general problem.
  • the invention disclosed by this application makes it possible to overcome some of the disadvantages of the prior art in which specialized programming languages accessible only to a professional programmer were used.
  • languages specialized in the programming of behaviors at the functional or intentional level, independently of physical actions such as FML (Function Markup Language) or at the level of behaviors themselves (which involve several parts of the virtual character to perform a function) such as BML (Behavior Markup Language) remain accessible only to the professional programmer and do not integrate with scripts written in everyday language.
  • FML Field Markup Language
  • BML Behavior Markup Language
  • the invention covered by the patent application cited does not control the robot in real time because it uses a publisher who is not able to send orders directly to the robot in "streaming", that is to say ie who can interact in real time with the behavior of the robot that can evolve according to the evolution of its environment.
  • a scenario must be replayed from the beginning when an event not provided for in the command scenario occurs.
  • the robot of the invention is provided with an editor and a command interpreter that can integrate graphically within thumbnails grouping texts and behaviors of a scenario that can be executed as soon as they are issued.
  • the present invention discloses a system for editing and controlling at least one scenario, said at least one scenario comprising at least one behavior to be executed and a text to be pronounced by at least one robot equipped with motor and locutionaries, said system comprising a module for editing said behaviors and texts, said editing module being autonomous with respect to said robot and comprising an input sub-module of said text to be pronounced by the robot and a sub-module for managing the behaviors, said system being characterized in that said editing module further comprises a graphic representation and association sub-module of said at least one behavior and said at least one text in at least one combined display area of said at least one least one behavior and said at least one text, said combined display area constituting a thumbnail, said thumbnail constituting a computing object compilable to be executed on said robot .
  • said at least one sticker comprises at least one graphic object belonging to the group comprising a waiting icon, an icon robot behavior and a text bubble comprising at least one word, said text to be pronounced by the robot.
  • said behavior icon of a sticker includes a graphical mark representing a personality and / or emotion of the robot associated with at least one text bubble in the thumbnail.
  • said graphical representation of said scenario further comprises at least one synchronization banner of the sequence of actions represented by said at least one thumbnail.
  • the editing and control system of the invention further comprises a module for interpreting said scenarios, said interpretation module being embedded on said at least one robot and communicating with the editing module in streaming mode.
  • the interpretation module of said scenarios comprises a conditioning sub-module of at least one scenario, said submodule being configured to provide said at least one input scenario of an identifier and a type.
  • the interpretation module of said scenarios comprises a compilation sub-module of said at least one behavior, said sub-module being configured to associate with said behavior the attributes of an object structure.
  • said compilation sub-module is configured to split said scenarios into subsets delimited by a punctuation mark or an end of line.
  • the interpretation module of said scenarios comprises a control sub-module for pre-loading said at least one behavior in the robot memory for execution by said behavior execution module.
  • the interpretation module of said scenarios comprises a synchronization sub-module of said at least one text with said at least one behavior.
  • the invention also discloses a method for editing and controlling at least one scenario, said at least one scenario comprising at least one behavior to be executed and a text to be pronounced by at least one robot with locomotive and locomotive capabilities, said method comprising a step of editing said behaviors and texts, said editing step being autonomous with respect to said robot and comprising an input substep of said text to be pronounced by the robot and a substep of behavior management, said method being characterized in that said editing step further comprises a substep of graphical representation and association of said at least one behavior and said at least one text in at least one thumbnail.
  • the invention also discloses a computer program comprising program code instructions for executing the method of the invention when the program is executed on a computer, said program being adapted to allow editing of at least one scenario, said at least one scenario comprising at least one behavior to be executed and a text to be pronounced by at least one robot equipped with locomotory and locomotory capabilities, said computer program comprising a module for editing said behaviors and texts, said module an edition being autonomous with respect to said robot and comprising an input sub-module for said text to be pronounced by the robot and a behavior management sub-module, said computer program being characterized in that said editing module comprises furthermore, a submodule for representing and graphically associating said at least one behavior and said at least one text in at least one vignette.
  • the invention also discloses a computer program comprising program code instructions for executing the method according to the invention when the program is executed on a computer, said program being adapted to allow the interpretation of at least one scenario, said at least one scenario comprising at least one behavior to be executed and a text to be pronounced by at least one robot with capacities motor and locutoires, said computer program comprising an interpretation module of said scenarios, said interpretation module being embedded on said at least one robot and communicating with an external platform in streaming mode.
  • the interpretation module of said scenarios comprises a compilation sub-module of said at least one behavior, said sub-module being configured to associate with said behavior the attributes of an object structure.
  • the interpretation module of said scenarios comprises a control sub-module for pre-loading said at least one behavior in the robot memory for execution by said behavior execution module (460).
  • the interpretation module of said scenarios comprises a synchronization sub-module of said at least one text with said at least one behavior.
  • the invention makes it possible to create behavioral libraries and to easily insert them into a script of scenes played by the robot.
  • the behaviors are modeled by graphic vignettes representing in each vignette the gestural and emotional behaviors of the robot, as well as its lyrics and the elements of environment (music, images, lyrics of other characters ).
  • This scenario creation interface is intuitive and allows the user to easily create complex scenarios that can be adapted in real time.
  • the invention also satisfactorily completes French Patent Application No. 09/53434 relating to a system and a method for editing and controlling the behavior of a mobile robot belonging to the Applicant.
  • This provides means to execute behaviors by a robot, said behaviors can be controlled either using a specialized scripting language, accessible to programmers, or graphically by using preprogrammed libraries that can be selected and insert in a series of behavior boxes linked by events.
  • the invention makes it possible to further simplify the programming interface of the behavior of the robot.
  • FIG. 1 represents the physical architecture of a system for implementing the invention according to several embodiments
  • FIG. 2 represents a general flowchart of the treatments according to several embodiments of the invention.
  • FIG. 3 represents a flowchart of the processes carried out in a command editing module according to several embodiments of the invention
  • FIG. 4 represents a flowchart of the processing carried out in a command interpreting module according to several embodiments of the invention
  • FIGS. 5a and 5b show thumbnails constituting a scenario executed by a robot in one embodiment of the invention.
  • FIG. 1 represents the physical architecture of a system for implementing the invention according to several embodiments.
  • a humanoid robot 1 1 0 is shown in the figure in one embodiment of the invention. Such a robot has been disclosed in particular in the patent application WO2009 / 124951 published on January 15, 2009. This platform served as a basis for the improvements that led to the present invention. In the remainder of the description, 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.
  • the robot has about two dozen electronic sensor control cards and actuators that drive the joints.
  • 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 includes the intelligence of the robot, including the card that performs the high-level functions that allow the robot to perform the tasks assigned to it, including, in the context of the present invention, for the execution of written scenarios by a user who is not a professional programmer.
  • 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).
  • the card processor can be a commercial x86 processor. We will choose in a preferred way a low-power processor, for example an ATOM TM from Intel (32 bits, 1600 MHz).
  • 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 8), 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.
  • the robot 1 1 0 will be able to perform behaviors for which it may have been programmed in advance, including a code generated according to the invention disclosed in the French patent application No. 09/53434 already cited, said code having been created by a programmer in a graphical interface.
  • These behaviors may also have been arranged in a scenario created by a user who is not a professional programmer using the invention disclosed in the patent application WO201 1/003628 also already mentioned.
  • it may be behaviors articulated among themselves according to a relatively complex logic in which the sequences of behaviors are conditioned by the events that occur in the environment of the robot.
  • a user who must have a minimum of programmer skills can use the Choregraph TM workshop, whose main operating modes are described in the cited application.
  • the flow logic of the scenario is not in principle adaptive.
  • a user who is not a professional programmer, 120 is able to produce a complex scenario comprising sets of behaviors including various gestures and movements, sound or visual signal transmissions, speech forming questions. and responses, these different elements being represented together graphically by icons on a sequence of thumbnails (see Figure 5).
  • the thumbnails are, as we will see later, the programming interface of the story that will be played by the robot.
  • FIG. 2 represents a general flowchart of the treatments according to several embodiments of the invention.
  • the PC 1 20 includes a software module 210 for graphically editing the commands that will be passed to the robot or robots.
  • the architecture and operation will be detailed in comment in Figure 3.
  • the PC communicates with the robot and transmits to it the thumbnails that will be interpreted to be executed by the thumbnail interpretation software module 220.
  • the architecture and operation of this module 220 will be detailed in comment in FIG. 4.
  • the user's PC communicates with the robot via a wired or radio interface, or both, in the case where the robot and the user are located in remote locations and communicate over a wide area network. This last case is not shown in the figure but is one of the possible embodiments of the invention.
  • FIG. 3 represents a flowchart of the processes performed in a command editing module according to several embodiments of the invention.
  • the editing module 210 comprises a scenario collector 310 which is in communication with scenario files 31.
  • the scenarios can be viewed and modified in a scenario editor 320 which can simultaneously have several 321 0 scenarios in memory. corresponds in general to a text and is constituted by a succession of vignettes.
  • the editing module includes a thumbnail editor 330.
  • a thumbnail In a thumbnail are inserted basic behavior commands represented by an icon. These behaviors can be reproduced by the robot. You can also insert a text (inserted in a bubble, as explained in comment in Figure 5). This text will also be reproduced by the robot in a vocal way.
  • the editing module normally receives input text that defines a scenario. This entry can be made directly using a simple computer keyboard or by loading into the system a file type text (* .doc, * .txt or other) or a html file (optionally designated by its URL). These files can also be received from a remote site, for example through a messaging system. To perform this reading, the system or the robot are provided with a synthesis device capable of interpreting the text of the script editor to produce sounds, which can be either words in the case of a humanoid robot, or sounds representative of the behavior of an animal. The sound synthesis device can also reproduce background sounds, for example background music which, possibly, can be played on a remote computer.
  • a synthesis device capable of interpreting the text of the script editor to produce sounds, which can be either words in the case of a humanoid robot, or sounds representative of the behavior of an animal.
  • the sound synthesis device can also reproduce background sounds, for example background music which, possibly, can be played on a remote computer.
  • the triggering of the reading of a story can be done during the reception of an external event to the robot such as:
  • An action of a user which can be the touch of a touch zone on the robot (for example, his head), a gesture or speech pre-programmed to do so.
  • the behavior commands are represented in a thumbnail by an icon illustrative of said behavior.
  • the behavior commands can generate:
  • the insertion of the behavior commands can take place in a behavior management module 340 by dragging a behavior control icon chosen from a library 3410 to a thumbnail located in the thumbnail editing module 330.
  • the 330 edition also allows you to copy and paste text.
  • the interpretation module embedded in the robot can interpret an annotated text from an external application.
  • the external application may be a Choregraph TM box, this application being the programming software of the NAO robot which is described in particular in French Patent Application No. 09/53434 already cited.
  • These annotated texts can also be web pages, e-mails, instantaneous short messages (SMS), or from other applications provided that the module 330 includes the necessary interface to integrate them.
  • the editing module 210 communicates with the robot via a communication management module 370 which conditions XML streams sent to the physical layer by which the robot is connected to the PC.
  • An interpretation manager 350 and a communications manager 360 complete the editing module.
  • Interpretation Manager 350 is used to initiate the interpretation of the text, to stop it and to have information about interpretation (place in the text where the interpretation is made, for example).
  • the communication manager 360 is used to connect to a robot, to disconnect and receive information about the connection (connection status or inadvertent disconnection for example).
  • FIG. 4 represents a flowchart of the processes carried out in a command interpreting module according to several embodiments of the invention.
  • the XML streams from the editing module 210 and other streams, such as annotated text from a mailbox or mobile phone, are provided with an identifier (ID) and a type by a sub-module 410 of the thumbnail interpretation module 220.
  • ID identifier
  • the identified and typed streams of the queue 41 are then converted into interpretable objects as behaviors by a compilation thread 420.
  • a reference to a behavior is replaced which is not necessarily explicit out of context by a synchronization tag coupled with a direct reference to the behavior via the path to where it is stored. ).
  • This thread exchanges with the behavior management module 340 of the thumbnail editor 21 0. These exchanges allow the detection of references to behaviors in the text.
  • the build thread Since the build thread does not know the tags that might correspond to a behavior, it must first ask all these tags to the behavior management module to be able to detect them in the text. Then, when it detects a tag in the text, it asks the behavior management module what is the behavior corresponding to this tag (eg "law"). The behavior management module responds by giving him the path to the corresponding behavior ("Animations / Positive / bau" for example). These exchanges are done synchronously with the compilation thread.
  • the compilation thread When the compilation thread detects an end of sentence (which may be defined by punctuation marks, end of line, etc.), it sends the sentence to the queue 421 0
  • an end of sentence which may be defined by punctuation marks, end of line, etc.
  • the call programmed by its identifier ID will be immediate as soon as, according to the scenario, a behavior must be executed.
  • the runtime module pre-loads the behavior and returns the unique ID of the instance of the behavior that is ready to run.
  • the execution module can immediately execute said behavior as soon as it is needed, the synchronization of text and behaviors being thereby greatly improved.
  • a synchronization thread 440 makes it possible to link temporally the text said by the speech synthesis module 450 and the behaviors executed by the execution module of the behaviors 460.
  • the text with synchronization tags is sent to the voice synthesis module 450, while the ID behavior identifiers corresponding to the synchronization tempo are sent to the behavior execution module 460 which performs the pre-loaded behavior calls corresponding to the IDs of the behaviors to be executed.
  • Figures 5a and 5b show thumbnails constituting a scenario executed by a robot in one embodiment of the invention.
  • the scenario of the figure includes 16 vignettes.
  • a scenario can include any number of thumbnails.
  • the robot waits for the touch sensor 51 1 0 5120 located on the head is actuated.
  • the robot waits for a specified period after 5520 action touching on the touch sensor elapsed.
  • the robot is first character, the narrator 531 0 and executes a first behavior symbolized by the graphical representation of the character that is to be rotated by reading the text written in the 5320 bubble with a voice characterizing said first character.
  • the robot shows a second character 5410 (in the scenario of the example, a cicada symbolized by a graphic mark 5430) and executes a second behavior symbolized by the graphical representation of the character which is to swing his arms right up and down by reading the text written in the bubble 5420 with a voice different from that of the narrator and characterizing said second character.
  • the narrator robot is in a static position represented by the character 5510 and reads the text written in the balloon 5520.
  • the robot 561 cicada 0 is also in the static position shown in the same way as in 5510 and reads the text written in the balloon 5620.
  • the robot represents a third character (in the scenario of the example, an ant symbolized by a graphic mark 5730) and pronounces a text 5720.
  • the number of behaviors and emotions is not limited either.
  • the behaviors can be taken from a base of behaviors 341 0, created in Choreographer, the professional behavior editor or other tools. They may possibly be modified in the module 340 for managing behaviors of the editing module 210 which manages the behavior database 3410.
  • a behavior object is defined by a name, a category, possibly a subcategory, a representation, possibly one or more parameters, possibly the association of one or more files (audio or other).
  • a vignette may include several bubbles, a bubble comprising at least one word, as illustrated on the thumbnail 5A0.
  • a scenario can also be characterized by a banner 5H0 which may or may not correspond to a musical score, said partition being synchronized with the thumbnail / bubble tree.
  • This synchronization facilitates the nesting of several levels of thumbnails whose execution is conditional.
  • Several bands can run in parallel as shown in the figure by the banner 5I0.
  • the texts can be read in different languages, with different prosodies (speed, volume, style, voice ...) -
  • the variety of behaviors and emotions that can be used in the system of the invention is not limited.
  • the voice may be a male, female or child voice; the tone may be more or less serious or acute; the speed may be more or less rapid; the intonation can be chosen according to the emotion that the robot is likely to feel according to the text of the script (affection, astonishment, anger, joy, remonstrance, etc.).
  • Accompanying gestures of the script may for example be a movement of the arms upwards or forwards; strike a foot on the ground; movements of the head upwards, downwards, to the right or to the left, according to the impression that one wants to communicate coherently with the script ...
  • the robot can interact with its environment and its interlocutors in a very varied way: speech, gestures, touch, light signals, etc.
  • speech gestures, touch, light signals, etc.
  • these can be activated to translate strong emotions "felt" by the robot by reading the text or to generate an eye blink adapted to the shape and speed of speech.
  • certain commands may be interrupt and wait commands for an external event, such as a motion in response to a question posed by the robot.
  • Some commands may be dependent on the reactions of the robot to its environment, captured for example by a camera or ultrasonic sensors.

Landscapes

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

Abstract

The invention concerns a system and method enabling a user who is not a computer specialist to generate contextual behaviours of a robot that can be executed in real time. To this end, the invention discloses a module (210) for editing thumbnail images (510, ..., 570) in which graphic representations (5310, ..., 5610) of behaviours to be executed by said robot can be inserted while it recites text inserted in bubbles (5210, ..., 5620) while expressing emotions (5430). A banner 580 generally comprising a musical score ensures the scenario unfolds in a synchronised manner. A module (220) for interpreting the thumbnail images implanted on the robot makes it possible to identify, compile, pre-load and synchronise the behaviours, texts and music.

Description

SYSTEME ET PROCEDE POUR GENERER DES COMPORTEMENTS CONTEXTUELS D'UN ROBOT MOBILE EXECUTES EN TEMPS REEL La présente invention appartient au domaine des systèmes de programmation de robots. Plus précisément, elle s'applique à la commande de comportements cohérents avec le contexte dans lequel le robot notamment de forme humaine ou animale, évolue, s'exprime et se déplace sur des membres articulés ou non. 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... Une des fonctionnalités susceptibles de donner au robot une apparence et des comportements quasi-humains est la possibilité d'assurer un couplage fort entre expression gestuelle et expression orale. En particulier, parvenir à ce résultat de manière intuitive permet à de nouveaux groupes d'utilisateurs d'accéder à la programmation de comportements de robots humanoïdes.  The present invention belongs to the field of robot programming systems. BACKGROUND OF THE INVENTION More precisely, it applies to the control of behaviors coherent with the context in which the robot, in particular of human or animal form, evolves, expresses itself and moves on members articulated or not. A robot can be called a humanoid from the moment it has certain attributes of the appearance and functionality of the man: a head, a trunk, two arms, possibly two hands, two legs, two feet ... One of the features likely to give the robot an appearance and quasi-human behavior is the possibility of ensuring a strong coupling between gestural expression and oral expression. In particular, achieving this result intuitively allows new user groups to access humanoid robot behavior programming.
La demande de brevet WO201 1 /003628 divulgue un système et un procédé répondant à cette problématique générale. L'invention divulguée par cette demande permet de surmonter une partie des inconvénients de l'art antérieur dans lequel on utilisait des langages de programmation spécialisés accessibles seulement à un programmeur professionnel. Dans le domaine des agents virtuels et des avatars, des langages spécialisés dans la programmation de comportements au niveau fonctionnel ou intentionnel, indépendamment des actions physiques tels que le FML (Function Markup Language) ou au niveau de comportements eux-mêmes (qui impliquent plusieurs parties du personnage virtuel pour exécuter une fonction) tel que le BML (Behaviour Markup Language) ne restent accessibles qu'au programmeur professionnel et ne s'intègrent pas avec des scripts écrits en langage de tous les jours. L'invention permet de dépasser ces limitations de l'art antérieur.  The patent application WO201 1/003628 discloses a system and a method responding to this general problem. The invention disclosed by this application makes it possible to overcome some of the disadvantages of the prior art in which specialized programming languages accessible only to a professional programmer were used. In the field of virtual agents and avatars, languages specialized in the programming of behaviors at the functional or intentional level, independently of physical actions such as FML (Function Markup Language) or at the level of behaviors themselves (which involve several parts of the virtual character to perform a function) such as BML (Behavior Markup Language) remain accessible only to the professional programmer and do not integrate with scripts written in everyday language. The invention makes it possible to overcome these limitations of the prior art.
Cependant, l'invention couverte par la demande de brevet citée ne permet pas de commander le robot en temps réel car elle utilise un éditeur qui n'est pas apte à envoyer des commandes directement au robot en « streaming », c'est-à-dire qui puissent interagir en temps réel avec les comportements du robot qui peuvent évoluer selon l'évolution de son environnement. En particulier, dans le robot de cet art antérieur, un scénario doit être rejoué depuis le début lorsqu'un événement non prévu dans le scénario de commandes survient. However, the invention covered by the patent application cited does not control the robot in real time because it uses a publisher who is not able to send orders directly to the robot in "streaming", that is to say ie who can interact in real time with the behavior of the robot that can evolve according to the evolution of its environment. In In particular, in the robot of this prior art, a scenario must be replayed from the beginning when an event not provided for in the command scenario occurs.
Pour résoudre ce problème dans un contexte où les scénarios peuvent être définis par des modalités graphiques inspirées de la bande dessinée, le demandeur a fait appel au concept de « vignette » qui est illustré par de nombreux passages de la description et qui est utilisé dans la présente demande dans un des sens qui lui est donné par le Trésor de la langue française informatisé (http://atilf.atilf.fr/dendien/scripts/tlfiv5/visusel.exe? 12;s=2774157495;r=1 ;nat=;sol=1 ; ) « Chacun des dessins délimités par un cadre dans une bande dessinée » To solve this problem in a context where the scenarios can be defined by graphic modalities inspired by the comic, the applicant has resorted to the concept of "vignette" which is illustrated by many passages of the description and which is used in the this application in one of the meanings given to it by the Trésor de la langue française computerized (http: / / atilf.atilf.fr/dendien/scripts/tlfiv5/visusel.exe? 12; s = 2774157495; r = 1; nat =; sol = 1;) "Each of the drawings delimited by a frame in a comic"
La présente invention permet de résoudre le problème de l'art antérieur mis en évidence ci-dessus. En particulier, le robot de l'invention est doté d'un éditeur et d'un interpréteur de commandes qui peuvent intégrer de manière graphique au sein de vignettes regroupant des textes et des comportements d'un scénario qui peuvent être exécutées dès qu'elles sont émises.  The present invention solves the problem of the prior art highlighted above. In particular, the robot of the invention is provided with an editor and a command interpreter that can integrate graphically within thumbnails grouping texts and behaviors of a scenario that can be executed as soon as they are issued.
A cet effet, la présente invention divulgue un système d'édition et de commande d'au moins un scénario, ledit au moins un scénario comprenant au moins un comportement à exécuter et un texte à prononcer par au moins un robot doté de capacités motrices et locutoires, ledit système comprenant un module d'édition desdits comportements et textes, ledit module d'édition étant autonome par rapport audit robot et comprenant un sous-module d'entrée dudit texte à prononcer par le robot et un sous-module de gestion des comportements, ledit système étant caractérisé en ce que ledit module d'édition comprend en outre un sous-module de représentation et d'association graphique dudit au moins un comportement et dudit au moins un texte dans au moins une zone d'affichage combiné dudit au moins un comportement et dudit au moins un texte, ladite zone d'affichage combiné constituant une vignette, ladite vignette constituant un objet informatique compilable pour être exécuté sur ledit robot.. For this purpose, the present invention discloses a system for editing and controlling at least one scenario, said at least one scenario comprising at least one behavior to be executed and a text to be pronounced by at least one robot equipped with motor and locutionaries, said system comprising a module for editing said behaviors and texts, said editing module being autonomous with respect to said robot and comprising an input sub-module of said text to be pronounced by the robot and a sub-module for managing the behaviors, said system being characterized in that said editing module further comprises a graphic representation and association sub-module of said at least one behavior and said at least one text in at least one combined display area of said at least one least one behavior and said at least one text, said combined display area constituting a thumbnail, said thumbnail constituting a computing object compilable to be executed on said robot ..
Avantageusement, ladite au moins une vignette comprend au moins un objet graphique appartenant au groupe comprenant une icône d'attente, une icône de comportement du robot et une bulle de texte comprenant au moins un mot, ledit texte étant à prononcer par le robot. Advantageously, said at least one sticker comprises at least one graphic object belonging to the group comprising a waiting icon, an icon robot behavior and a text bubble comprising at least one word, said text to be pronounced by the robot.
Avantageusement, ladite icône de comportement d'une vignette comprend une marque graphique représentative d'une personnalité et/ou d'une émotion du robot associée(s) à au moins une bulle de texte dans la vignette. Advantageously, said behavior icon of a sticker includes a graphical mark representing a personality and / or emotion of the robot associated with at least one text bubble in the thumbnail.
Avantageusement, ladite représentation graphique dudit scénario comprend en outre au moins un bandeau de synchronisation du déroulement des actions représentées par ladite au moins une vignette. Advantageously, said graphical representation of said scenario further comprises at least one synchronization banner of the sequence of actions represented by said at least one thumbnail.
Avantageusement, le système d'édition et de commande de l'invention comprend en outre un module d'interprétation desdits scénarios, ledit module d'interprétation étant embarqué sur ledit au moins un robot et communiquant avec le module d'édition en mode streaming. Advantageously, the editing and control system of the invention further comprises a module for interpreting said scenarios, said interpretation module being embedded on said at least one robot and communicating with the editing module in streaming mode.
Avantageusement, le module d'interprétation desdits scénarios comprend un sous-module de conditionnement d'au moins un scénario, ledit sous-module étant configuré pour doter ledit au moins un scénario en entrée d'un identifiant et d'un type. Advantageously, the interpretation module of said scenarios comprises a conditioning sub-module of at least one scenario, said submodule being configured to provide said at least one input scenario of an identifier and a type.
Avantageusement, le module d'interprétation desdits scénarios comprend un sous-module de compilation dudit au moins comportement, ledit sous- module étant configuré pour associer audit comportement les attributs d'une structure objet. Advantageously, the interpretation module of said scenarios comprises a compilation sub-module of said at least one behavior, said sub-module being configured to associate with said behavior the attributes of an object structure.
Avantageusement, ledit sous-module de compilation est configuré pour découper lesdits scénarios en sous-ensembles délimités par un signe de ponctuation ou une fin de ligne. Advantageously, said compilation sub-module is configured to split said scenarios into subsets delimited by a punctuation mark or an end of line.
Avantageusement, le module d'interprétation desdits scénarios comprend un sous-module de commande du pré-chargement dudit au moins comportement dans la mémoire du robot pour exécution par ledit module d'exécution de comportements. Avantageusement, le module d'interprétation desdits scénarios comprend un sous-module de synchronisation dudit au moins un texte avec ledit au moins un comportement. L'invention divulgue également un procédé d'édition et de commande d'au moins un scénario, ledit au moins un scénario comprenant au moins un comportement à exécuter et un texte à prononcer par au moins un robot doté de capacités motrices et locutoires, ledit procédé comprenant une étape d'édition desdits comportements et textes, ladite étape d'édition étant autonome par rapport audit robot et comprenant une sous-étape d'entrée dudit texte à prononcer par le robot et une sous-étape de gestion des comportements, ledit procédé étant caractérisé en ce que ladite étape d'édition comprend en outre une sous-étape de représentation et d'association graphique dudit au moins un comportement et dudit au moins un texte dans au moins une vignette. Advantageously, the interpretation module of said scenarios comprises a control sub-module for pre-loading said at least one behavior in the robot memory for execution by said behavior execution module. Advantageously, the interpretation module of said scenarios comprises a synchronization sub-module of said at least one text with said at least one behavior. The invention also discloses a method for editing and controlling at least one scenario, said at least one scenario comprising at least one behavior to be executed and a text to be pronounced by at least one robot with locomotive and locomotive capabilities, said method comprising a step of editing said behaviors and texts, said editing step being autonomous with respect to said robot and comprising an input substep of said text to be pronounced by the robot and a substep of behavior management, said method being characterized in that said editing step further comprises a substep of graphical representation and association of said at least one behavior and said at least one text in at least one thumbnail.
L'invention divulgue également un programme d'ordinateur comprenant des instructions de code de programme permettant l'exécution du procédé de l'invention lorsque le programme est exécuté sur un ordinateur, ledit programme étant adapté pour permettre l'édition d'au moins un scénario, ledit au moins un scénario comprenant au moins un comportement à exécuter et un texte à prononcer par au moins un robot doté de capacités motrices et locutoires, ledit programme d'ordinateur comprenant un module d'édition desdits comportements et textes, ledit module d'édition étant autonome par rapport audit robot et comprenant un sous-module d'entrée dudit texte à prononcer par le robot et un sous-module de gestion des comportements, ledit programme d'ordinateur étant caractérisé en ce que ledit module d'édition comprend en outre un sous-module de représentation et d'association graphique dudit au moins un comportement et dudit au moins un texte dans au moins une vignette.  The invention also discloses a computer program comprising program code instructions for executing the method of the invention when the program is executed on a computer, said program being adapted to allow editing of at least one scenario, said at least one scenario comprising at least one behavior to be executed and a text to be pronounced by at least one robot equipped with locomotory and locomotory capabilities, said computer program comprising a module for editing said behaviors and texts, said module an edition being autonomous with respect to said robot and comprising an input sub-module for said text to be pronounced by the robot and a behavior management sub-module, said computer program being characterized in that said editing module comprises furthermore, a submodule for representing and graphically associating said at least one behavior and said at least one text in at least one vignette.
L'invention divulgue également un programme d'ordinateur comprenant des instructions de code de programme permettant l'exécution du procédé selon l'invention lorsque le programme est exécuté sur un ordinateur, ledit programme étant adapté pour permettre l'interprétation d'au moins un scénario, ledit au moins un scénario comprenant au moins un comportement à exécuter et un texte à prononcer par au moins un robot doté de capacités motrices et locutoires, ledit programme d'ordinateur comprenant un module d'interprétation desdits scénarios, ledit module d'interprétation étant embarqué sur ledit au moins un robot et communiquant avec une plate-forme externe en mode streaming. The invention also discloses a computer program comprising program code instructions for executing the method according to the invention when the program is executed on a computer, said program being adapted to allow the interpretation of at least one scenario, said at least one scenario comprising at least one behavior to be executed and a text to be pronounced by at least one robot with capacities motor and locutoires, said computer program comprising an interpretation module of said scenarios, said interpretation module being embedded on said at least one robot and communicating with an external platform in streaming mode.
Avantageusement, le module d'interprétation desdits scénarios comprend un sous-module de compilation dudit au moins comportement, ledit sous- module étant configuré pour associer audit comportement les attributs d'une structure objet. Advantageously, the interpretation module of said scenarios comprises a compilation sub-module of said at least one behavior, said sub-module being configured to associate with said behavior the attributes of an object structure.
Avantageusement, le module d'interprétation desdits scénarios comprend un sous-module de commande du pré-chargement dudit au moins comportement dans la mémoire du robot pour exécution par ledit module d'exécution de comportements (460). Advantageously, the interpretation module of said scenarios comprises a control sub-module for pre-loading said at least one behavior in the robot memory for execution by said behavior execution module (460).
Avantageusement, le module d'interprétation desdits scénarios comprend un sous-module de synchronisation dudit au moins un texte avec ledit au moins un comportement. Advantageously, the interpretation module of said scenarios comprises a synchronization sub-module of said at least one text with said at least one behavior.
L'invention permet de créer des bibliothèques de comportements et de les insérer facilement dans un script de scènes jouées par le robot. Les comportements sont modélisés par des vignettes graphiques représentant dans chaque vignette les comportements gestuels et émotifs du robot, ainsi que ses paroles et les éléments d'environnement (musique, images, paroles d'autres personnages...). Cette interface de création de scénarios est intuitive et permet à l'utilisateur de créer facilement des scénarios complexes qui pourront être adaptés en temps réel. The invention makes it possible to create behavioral libraries and to easily insert them into a script of scenes played by the robot. The behaviors are modeled by graphic vignettes representing in each vignette the gestural and emotional behaviors of the robot, as well as its lyrics and the elements of environment (music, images, lyrics of other characters ...). This scenario creation interface is intuitive and allows the user to easily create complex scenarios that can be adapted in real time.
L'invention complète également de manière appropriée la demande de brevet française n ° 09/53434 relative à un système et à un procédé pour éditer et commander les comportements d'un robot mobile appartenant à la demanderesse. Celle-ci procure des moyens pour faire exécuter des comportements par un robot, lesdits comportements pouvant être commandés soit en utilisant un langage script spécialisé, accessible à des programmeurs, soit de manière graphique en faisant appel à des bibliothèques préprogrammées que l'on peut sélectionner et insérer dans une suite de boîtes de comportements reliées par des événements. L'invention permet de simplifier encore l'interface de programmation des comportements du robot. The invention also also satisfactorily completes French Patent Application No. 09/53434 relating to a system and a method for editing and controlling the behavior of a mobile robot belonging to the Applicant. This provides means to execute behaviors by a robot, said behaviors can be controlled either using a specialized scripting language, accessible to programmers, or graphically by using preprogrammed libraries that can be selected and insert in a series of behavior boxes linked by events. The invention makes it possible to further simplify the programming interface of the behavior of the robot.
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 : The invention will be better understood and its various features and advantages will emerge from the following description of several exemplary embodiments and its appended figures including:
- La figure 1 représente l'architecture physique d'un système pour mettre en œuvre l'invention selon plusieurs modes de réalisation ; FIG. 1 represents the physical architecture of a system for implementing the invention according to several embodiments;
- La figure 2 représente un organigramme général des traitements selon plusieurs modes de réalisation de l'invention; FIG. 2 represents a general flowchart of the treatments according to several embodiments of the invention;
- La figure 3 représente un organigramme des traitements effectués dans un module d'édition de commandes selon plusieurs modes de réalisation de l'invention;  FIG. 3 represents a flowchart of the processes carried out in a command editing module according to several embodiments of the invention;
- La figure 4 représente un organigramme des traitements effectués dans un module d'interprétation de commandes selon plusieurs modes de réalisation de l'invention ;  FIG. 4 represents a flowchart of the processing carried out in a command interpreting module according to several embodiments of the invention;
- Les figures 5a et 5b représentent des vignettes constituant un scénario exécuté par un robot dans un mode de réalisation de l'invention.  FIGS. 5a and 5b show thumbnails constituting a scenario executed by a robot in one embodiment of the invention.
La figure 1 représente l'architecture physique d'un système pour mettre en œuvre l'invention selon plusieurs modes de réalisation. FIG. 1 represents the physical architecture of a system for implementing the invention according to several embodiments.
Un robot humanoïde 1 1 0 est représenté sur la figure 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/1 0/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.  A humanoid robot 1 1 0 is shown in the figure in one embodiment of the invention. Such a robot has been disclosed in particular in the patent application WO2009 / 124951 published on January 15, 2009. This platform served as a basis for the improvements that led to the present invention. In the remainder of the description, this humanoid robot can be indifferently referred to under this generic name or under its trademark NAO ™, without the generality of the reference being modified.
Ce robot comprend environ deux douzaines de cartes électroniques de commande de capteurs et d'actionneurs qui pilotent les articulations. 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.... This robot has about two dozen electronic sensor control cards and actuators that drive the joints. The electronic control card includes a commercial microcontroller. It can be for example a DSPIC ™ 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 ....
La tête comporte l'intelligence du robot, notamment la carte 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, pour l'exécution de scénarios écrits par un utilisateur qui n'est pas un programmeur professionnel. 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 peut être un processeur x86 du commerce. On choisira de manière privilégiée un processeur à basse consommation, par exemple un ATOM™ de la société Intel (32 bits, 1 600 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 un 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.  The head includes the intelligence of the robot, including the card that performs the high-level functions that allow the robot to perform the tasks assigned to it, including, in the context of the present invention, for the execution of written scenarios by a user who is not a professional programmer. 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). The card processor can be a commercial x86 processor. We will choose in a preferred way a low-power processor, for example an ATOM ™ from Intel (32 bits, 1600 MHz). 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.
Le robot 1 1 0 va pouvoir exécuter des comportements pour lesquels il pourra avoir été programmé à l'avance, notamment par un code généré selon l'invention divulguée dans la demande de brevet française n ° 09/53434 déjà citée, ledit code ayant été créé par un programmeur dans une interface graphique. Ces comportements peuvent également avoir été agencés dans un scénario créé par un utilisateur qui n'est pas un programmeur professionnel en utilisant l'invention divulguée dans la demande de brevet WO201 1 /003628 également déjà citée. Dans le premier cas, il peut s'agir de comportements articulés entre eux selon une logique relativement complexe dans laquelle les séquences de comportements sont conditionnées par les événements qui se produisent dans l'environnement du robot. Dans ce cas, un utilisateur qui doit disposer d'un minimum de compétences de programmeur peut utiliser l'atelier Chorégraphe™, dont les principaux modes opératoires sont décrits dans la demande citée. Dans le deuxième cas, la logique de déroulement du scénario n'est pas en principe adaptative. The robot 1 1 0 will be able to perform behaviors for which it may have been programmed in advance, including a code generated according to the invention disclosed in the French patent application No. 09/53434 already cited, said code having been created by a programmer in a graphical interface. These behaviors may also have been arranged in a scenario created by a user who is not a professional programmer using the invention disclosed in the patent application WO201 1/003628 also already mentioned. In the first case, it may be behaviors articulated among themselves according to a relatively complex logic in which the sequences of behaviors are conditioned by the events that occur in the environment of the robot. In this case, a user who must have a minimum of programmer skills can use the Choregraph ™ workshop, whose main operating modes are described in the cited application. In the second case, the flow logic of the scenario is not in principle adaptive.
Dans la présente invention, un utilisateur qui n'est pas un programmeur professionnel, 120, est en mesure de produire un scénario complexe comprenant des ensembles de comportements comprenant des gestes et mouvements divers, des émissions de signaux sonores ou visuels, des paroles formant questions et réponses, ces différents éléments étant représentés ensemble de manière graphique par des icônes sur une séquence de vignettes (voir figure 5). Les vignettes constituent comme on le verra plus tard l'interface de programmation de l'histoire qui va être jouée par le robot. In the present invention, a user who is not a professional programmer, 120, is able to produce a complex scenario comprising sets of behaviors including various gestures and movements, sound or visual signal transmissions, speech forming questions. and responses, these different elements being represented together graphically by icons on a sequence of thumbnails (see Figure 5). The thumbnails are, as we will see later, the programming interface of the story that will be played by the robot.
La figure 2 représente un organigramme général des traitements selon plusieurs modes de réalisation de l'invention. FIG. 2 represents a general flowchart of the treatments according to several embodiments of the invention.
Pour créer des scénarios selon les modalités de l'invention, le PC 1 20 comprend un module logiciel 210 pour éditer de manière graphique les commandes qui seront passées au ou aux robots. L'architecture et le fonctionnement seront détaillés en commentaire à la figure 3. To create scenarios according to the terms of the invention, the PC 1 20 includes a software module 210 for graphically editing the commands that will be passed to the robot or robots. The architecture and operation will be detailed in comment in Figure 3.
Le PC communique avec le robot et lui transmet les vignettes qui seront interprétées pour être exécutées par le module logiciel d'interprétation des vignettes 220. L'architecture et le fonctionnement de ce module 220 seront détaillés en commentaire à la figure 4.  The PC communicates with the robot and transmits to it the thumbnails that will be interpreted to be executed by the thumbnail interpretation software module 220. The architecture and operation of this module 220 will be detailed in comment in FIG. 4.
Le PC de l'utilisateur communique avec le robot par une interface filaire ou par radio, voire les deux dans le cas où le robot et l'utilisateur sont situés dans des lieux éloignés et communiquent sur un réseau étendu. Ce dernier cas n'est pas représenté sur la figure mais constitue un des modes possibles de réalisation de l'invention.  The user's PC communicates with the robot via a wired or radio interface, or both, in the case where the robot and the user are located in remote locations and communicate over a wide area network. This last case is not shown in the figure but is one of the possible embodiments of the invention.
Bien que des modes de réalisation de l'invention dans lesquels plusieurs robots sont programmés par un seul utilisateur ou dans lesquels un robot est programmé par plusieurs utilisateurs ou plusieurs robots sont programmés par plusieurs utilisateurs ne soient pas représentés sur la figure, ces cas sont tout à fait possibles dans le cadre de la présente invention Although embodiments of the invention in which several robots are programmed by a single user or in which a robot is programmed by several users or several robots are programmed by several users are not shown in the figure, these cases are quite possible in the context of the present invention
La figure 3 représente un organigramme des traitements effectués dans un module d'édition de commandes selon plusieurs modes de réalisation de l'invention. FIG. 3 represents a flowchart of the processes performed in a command editing module according to several embodiments of the invention.
Le module d'édition 210 comprend un collecteur de scénarios 310 qui est en communication avec des fichiers de scénarios 31 10. Les scénarios peuvent être visualisés et modifiés dans un éditeur de scénarios 320 qui peut avoir simultanément en mémoire plusieurs scénarios 321 0. Un scénario correspond en général à un texte et est constitué par une succession de vignettes.  The editing module 210 comprises a scenario collector 310 which is in communication with scenario files 31. The scenarios can be viewed and modified in a scenario editor 320 which can simultaneously have several 321 0 scenarios in memory. corresponds in general to a text and is constituted by a succession of vignettes.
Pour mettre en œuvre l'invention, le module d'édition comprend un éditeur de vignettes 330. Dans une vignette sont insérées des commandes de comportement élémentaire représentées par une icône. Ces comportements pourront être reproduits par le robot. On peut également insérer un texte (inséré dans une bulle, comme explicité en commentaire à la figure 5). Ce texte sera également reproduit par le robot de manière vocale.  To implement the invention, the editing module includes a thumbnail editor 330. In a thumbnail are inserted basic behavior commands represented by an icon. These behaviors can be reproduced by the robot. You can also insert a text (inserted in a bubble, as explained in comment in Figure 5). This text will also be reproduced by the robot in a vocal way.
Le module d'édition reçoit normalement en entrée un texte qui définit un scénario. Cette entrée peut être effectuée directement à l'aide d'un simple clavier d'ordinateur ou par chargement dans le système d'un fichier de type textuel (*.doc, *.txt ou autre) ou d'un fichier html (éventuellement désigné par son adresse URL). Ces fichiers peuvent également être reçus d'un site distant, par exemple par l'intermédiaire d'un système de messagerie. Pour opérer cette lecture, le système ou le robot sont dotés d'un dispositif de synthèse apte à interpréter le texte de l'éditeur de script pour produire des sons, qui peuvent être soit des paroles dans le cas d'un robot humanoïde, soit des sons représentatifs du comportement d'un animal. Le dispositif de synthèse sonore peut également reproduire des sons de fond, par exemple une musique d'ambiance qui, éventuellement, peut-être jouée sur un ordinateur distant. The editing module normally receives input text that defines a scenario. This entry can be made directly using a simple computer keyboard or by loading into the system a file type text (* .doc, * .txt or other) or a html file (optionally designated by its URL). These files can also be received from a remote site, for example through a messaging system. To perform this reading, the system or the robot are provided with a synthesis device capable of interpreting the text of the script editor to produce sounds, which can be either words in the case of a humanoid robot, or sounds representative of the behavior of an animal. The sound synthesis device can also reproduce background sounds, for example background music which, possibly, can be played on a remote computer.
Le déclenchement de la lecture d'une histoire peut de se faire lors de la réception d'un événement externe au robot tel que :  The triggering of the reading of a story can be done during the reception of an external event to the robot such as:
- la réception d'un message électronique (mail, SMS, appel téléphonique ou autre message) ; - un événement domotique (par exemple, l'ouverture de la porte par quelqu'un, lumière allumée par quelqu'un ou autre événement),- the reception of an electronic message (mail, SMS, telephone call or other message); - a home automation event (for example, the opening of the door by someone, light lit by someone or other event),
- une action d'un utilisateur, qui peut être le toucher d'une zone tactile sur le robot (par exemple, sa tête), un geste ou une parole pré- programmés pour ce faire. - An action of a user, which can be the touch of a touch zone on the robot (for example, his head), a gesture or speech pre-programmed to do so.
Les commandes de comportement sont représentées dans une vignette par une icône illustrative dudit comportement. A titre d'exemple non limitatif, les commandes de comportement peuvent générer: The behavior commands are represented in a thumbnail by an icon illustrative of said behavior. As a non-limiting example, the behavior commands can generate:
- des mouvements des membres du robot (levée du bras, déplacement, etc ..) qui seront reproduits par le robot ; - movements of the robot members (arm lift, movement, etc.) that will be reproduced by the robot;
- des effets lumineux qui seront produits par les LED placées sur le robot ; - light effects that will be produced by the LEDs placed on the robot;
- des sons qui seront synthétisés par le robot ; - sounds that will be synthesized by the robot;
- des paramétrages de voix (vitesse, voix, langue, etc ..) pour régler les modalités de déclamation du texte qui sera reproduit par le robot.  - Parameters of voice (speed, voice, language, etc ..) to set the declamation of the text that will be reproduced by the robot.
L'insertion des commandes de comportement peut s'opérer dans un module 340 de gestion des comportements en faisant glisser une icône de commande de comportement choisie depuis une bibliothèque 3410 vers une vignette située dans le module d'édition de vignettes 330. Le module d'édition 330 permet également le copier-coller d'un texte. Le module d'interprétation embarqué dans le robot peut interpréter un texte annoté depuis une application externe. De manière avantageuse dans le cadre de la présente invention, l'application externe peut être une boîte Chorégraphe™, cette application étant le logiciel de programmation du robot NAO qui est décrit notamment dans la demande de brevet française n ° 09/53434 déjà citée. Ces textes annotés peuvent également être des pages web, des mail, des messages courts instantanés (SMS), ou provenir d'autres applications à condition que le module 330 comporte l'interface nécessaire pour les intégrer.  The insertion of the behavior commands can take place in a behavior management module 340 by dragging a behavior control icon chosen from a library 3410 to a thumbnail located in the thumbnail editing module 330. The 330 edition also allows you to copy and paste text. The interpretation module embedded in the robot can interpret an annotated text from an external application. Advantageously in the context of the present invention, the external application may be a Choregraph ™ box, this application being the programming software of the NAO robot which is described in particular in French Patent Application No. 09/53434 already cited. These annotated texts can also be web pages, e-mails, instantaneous short messages (SMS), or from other applications provided that the module 330 includes the necessary interface to integrate them.
Le module d'édition 210 communique avec le robot via un module de gestion des communications 370 qui conditionne des flux XML envoyés sur la couche physique par laquelle le robot est connecté au PC. Un gestionnaire d'interprétation 350 et un gestionnaire de communications 360 complètent le module d'édition. Le gestionnaire d'interprétation 350 sert à lancer l'interprétation du texte, à l'arrêter et à avoir des informations sur l'interprétation (endroit dans le texte où est rendue l'interprétation par exemple). Le gestionnaire de communications 360 sert à se connecter à un robot, à se déconnecter et à réceptionner des infos sur la connexion (statut de la connexion ou déconnexion intempestive par exemple). The editing module 210 communicates with the robot via a communication management module 370 which conditions XML streams sent to the physical layer by which the robot is connected to the PC. An interpretation manager 350 and a communications manager 360 complete the editing module. Interpretation Manager 350 is used to initiate the interpretation of the text, to stop it and to have information about interpretation (place in the text where the interpretation is made, for example). The communication manager 360 is used to connect to a robot, to disconnect and receive information about the connection (connection status or inadvertent disconnection for example).
La figure 4 représente un organigramme des traitements effectués dans un module d'interprétation de commandes selon plusieurs modes de réalisation de l'invention. FIG. 4 represents a flowchart of the processes carried out in a command interpreting module according to several embodiments of the invention.
Les flux XML en provenance du module d'édition 210 et d'autres flux, tels que du texte annoté en provenance d'une boîte mail ou d'un téléphone portable sont dotés d'un identifiant (I D) et d'un type par un sous-module 410 du module d'interprétation de vignettes 220. Les flux identifiés et typés de la file d'attente 41 10 sont ensuite convertis en objets interprétables comme des comportements par un thread de compilation 420. On remplace une référence à un comportement qui n'est pas forcément explicite hors contexte par une balise de synchronisation couplée avec une référence directe au comportement par l'intermédiaire du chemin vers l'endroit où il est stocké. ). Ce thread échange avec le module de gestion de comportements 340 de l'éditeur de vignettes 21 0. Ces échanges permettent la détection des références à des comportements dans le texte. Le thread de compilation ne connaissant pas les balises qui pourraient correspondre à un comportement, il doit donc d'abord demander toutes ces balises au module de gestion des comportements pour pouvoir les détecter dans le texte. Ensuite, quand il détecte une balise dans le texte, il demande au module de gestion des comportements quel est le comportement correspondant à cette balise (par exemple « loi »). Le module de gestion des comportements lui répond en lui donnant le chemin vers le comportement correspondant (« Animations/Positive/Laugh » par exemple). Ces échanges s'effectuent de manière synchrone avec le thread de compilation.  The XML streams from the editing module 210 and other streams, such as annotated text from a mailbox or mobile phone, are provided with an identifier (ID) and a type by a sub-module 410 of the thumbnail interpretation module 220. The identified and typed streams of the queue 41 are then converted into interpretable objects as behaviors by a compilation thread 420. A reference to a behavior is replaced which is not necessarily explicit out of context by a synchronization tag coupled with a direct reference to the behavior via the path to where it is stored. ). This thread exchanges with the behavior management module 340 of the thumbnail editor 21 0. These exchanges allow the detection of references to behaviors in the text. Since the build thread does not know the tags that might correspond to a behavior, it must first ask all these tags to the behavior management module to be able to detect them in the text. Then, when it detects a tag in the text, it asks the behavior management module what is the behavior corresponding to this tag (eg "law"). The behavior management module responds by giving him the path to the corresponding behavior ("Animations / Positive / Laugh" for example). These exchanges are done synchronously with the compilation thread.
Quand le thread de compilation détecte une fin de phrase (qui peut-être définie par des signes de ponctuations, des fins de ligne, etc .), il envoie la phrase à la file 421 0 Pour permettre une exécution plus rapide des scénarios, on a prévu un thread 430 de pré-chargement vers une file 4310 à partir de la file 4210 des comportements dont l'adresse sous forme de chemin vers le comportement est envoyée directement au module 460 d'exécution des comportements. Ainsi, l'appel programmé par son identifiant I D sera immédiat dès que, selon le scénario, un comportement doit être exécuté. Pour ce faire, le module d'exécution pré-charge alors le comportement et renvoie l'ID unique de l'instance du comportement prête à être exécutée. Ainsi, le module d'exécution pourra immédiatement exécuter ledit comportement dès que l'on en aura besoin, la synchronisation du texte et des comportements étant de ce fait grandement améliorée. Un thread de synchronisation 440 permet de lier temporellement le texte dit par le module de synthèse vocale 450 et les comportements exécutés par le module d'exécution des comportements 460. Le texte avec balises de synchronisation est envoyé au module de synthèse vocale 450, alors que les identifiants de comportements ID correspondant au tempo de la synchronisation sont envoyés au module d'exécution de comportements 460 qui réalise les appels de comportements pré-chargés correspondant aux I D des comportements à exécuter. When the compilation thread detects an end of sentence (which may be defined by punctuation marks, end of line, etc.), it sends the sentence to the queue 421 0 To allow faster execution of scenarios, provided a pre-loading thread 430 to a queue 4310 from the queue 4210 of behaviors whose address as a path to the Behavior is sent directly to the 460 behavior execution module. Thus, the call programmed by its identifier ID will be immediate as soon as, according to the scenario, a behavior must be executed. To do this, the runtime module pre-loads the behavior and returns the unique ID of the instance of the behavior that is ready to run. Thus, the execution module can immediately execute said behavior as soon as it is needed, the synchronization of text and behaviors being thereby greatly improved. A synchronization thread 440 makes it possible to link temporally the text said by the speech synthesis module 450 and the behaviors executed by the execution module of the behaviors 460. The text with synchronization tags is sent to the voice synthesis module 450, while the ID behavior identifiers corresponding to the synchronization tempo are sent to the behavior execution module 460 which performs the pre-loaded behavior calls corresponding to the IDs of the behaviors to be executed.
L'organisation des traitements dans ce module d'interprétation des vignettes permet de réaliser le chargement et l'exécution en streaming des scénarios à exécuter par le robot. Cela permet des interactions beaucoup plus fluides entre l'utilisateur et le robot, l'utilisateur pouvant par exemple écrire le scénario au fur et à mesure et le transmettre quand il le souhaite au robot qui peut exécuter les séquences du scénario pratiquement immédiatement après leur réception  The organization of the treatments in this thumbnail interpretation module makes it possible to perform the loading and the streaming execution of the scenarios to be executed by the robot. This allows much more fluid interaction between the user and the robot, the user can for example write the scenario as and when and when desired to the robot that can execute the scenario sequences almost immediately after receiving
Les figures 5a et 5b représentent des vignettes constituant un scénario exécuté par un robot dans un mode de réalisation de l'invention. Figures 5a and 5b show thumbnails constituting a scenario executed by a robot in one embodiment of the invention.
A titre purement illustratif, le scénario de la figure comprend 16 vignettes. Un scénario peut comprendre un nombre quelconque de vignettes. Dans la 1 ere vignette 510 le robot attend que son capteur tactile 51 1 0 situé sur la tête 5120 soit actionné. Dans la 2nde vignette 520, le robot attend qu'un délai 5520 déterminé après l'action de toucher sur le capteur tactile soit écoulé. Dans la 3eme vignette 530, le robot représente un premier personnage, le narrateur 531 0 et exécute un premier comportement symbolisé par la représentation graphique du personnage qui consiste à effectuer une rotation en lisant le texte écrit dans la bulle 5320 avec une voix caractérisant ledit premier personnage. Dans la 4eme vignette 540, le robot représente un deuxième personnage 5410 (dans le scénario de l'exemple, une cigale symbolisée par une marque graphique 5430) et exécute un deuxième comportement symbolisé par la représentation graphique du personnage qui consiste à balancer son bras droit de bas en haut en lisant le texte écrit dans la bulle 5420avec une voix différente de celle du narrateur et caractérisant ledit deuxième personnage.. Dans la 59me vignette 550, le robot narrateur est dans une position statique représentée par le personnage 5510 et lit le texte écrit dans la bulle 5520. Dans la 6ème vignette 560, le robot cigale 561 0 est également en position statique représentée de la même manière qu'en 5510 et lit le texte écrit dans la bulle 5620. Dans la 7ème vignette, 570, le robot représente un troisième personnage (dans le scénario de l'exemple, une fourmi symbolisée par une marque graphique 5730) et prononce un texte 5720. For illustrative purposes, the scenario of the figure includes 16 vignettes. A scenario can include any number of thumbnails. In the 1 st thumbnail 510 the robot waits for the touch sensor 51 1 0 5120 located on the head is actuated. In the 2 nd thumbnail 520, the robot waits for a specified period after 5520 action touching on the touch sensor elapsed. In the 3 rd thumbnail 530, the robot is first character, the narrator 531 0 and executes a first behavior symbolized by the graphical representation of the character that is to be rotated by reading the text written in the 5320 bubble with a voice characterizing said first character. In the 4 th thumbnail 540, the robot shows a second character 5410 (in the scenario of the example, a cicada symbolized by a graphic mark 5430) and executes a second behavior symbolized by the graphical representation of the character which is to swing his arms right up and down by reading the text written in the bubble 5420 with a voice different from that of the narrator and characterizing said second character. In the 5th 9th vignette 550, the narrator robot is in a static position represented by the character 5510 and reads the text written in the balloon 5520. in the 6 th thumbnail 560, the robot 561 cicada 0 is also in the static position shown in the same way as in 5510 and reads the text written in the balloon 5620. in the 7 th thumbnail, 570, the robot represents a third character (in the scenario of the example, an ant symbolized by a graphic mark 5730) and pronounces a text 5720.
Ainsi, dans l'exemple de scénario illustré par la figure, trois personnages différents 5310, 5410 et 5710 interviennent. Ce nombre de personnages n'est pas limité. Thus, in the scenario example illustrated by the figure, three different characters 5310, 5410 and 5710 intervene. This number of characters is not limited.
Le nombre de comportements et d'émotions n'est pas non plus limité. Les comportements peuvent être prélevés dans une base de comportements 341 0, créés dans Chorégraphe, l'éditeur professionnel de comportements ou autre outils. Ils peuvent éventuellement être modifiés dans le module 340 de gestion des comportements du module d'édition 210 qui gère la base de comportements 3410. Dans le cadre de la mise en œuvre de la présente invention, un objet comportement est défini par un nom, une catégorie, éventuellement une sous-catégorie, une représentation, éventuellement un ou plusieurs paramètres, éventuellement l'association de un ou plusieurs fichiers (audio ou autres). Une vignette peut comprendre plusieurs bulles, une bulle comprenant au minimum un mot, comme illustré sur la vignette 5A0.  The number of behaviors and emotions is not limited either. The behaviors can be taken from a base of behaviors 341 0, created in Choreographer, the professional behavior editor or other tools. They may possibly be modified in the module 340 for managing behaviors of the editing module 210 which manages the behavior database 3410. In the context of the implementation of the present invention, a behavior object is defined by a name, a category, possibly a subcategory, a representation, possibly one or more parameters, possibly the association of one or more files (audio or other). A vignette may include several bubbles, a bubble comprising at least one word, as illustrated on the thumbnail 5A0.
Un scénario peut également être caractérisé par un bandeau 5H0 qui peut correspondre ou pas à une partition musicale, ladite partition étant synchronisée avec l'arborescence des vignettes/bulles. Cette synchronisation facilite l'imbrication de plusieurs niveaux de vignettes dont l'exécution est conditionnelle. Plusieurs bandeaux peuvent se dérouler en parallèle comme illustré sur la figure par le bandeau 5I0. Les textes peuvent être lus en différentes langues, avec différentes prosodies (vitesse, volume, style, voix...)- La variété des comportements et émotions qui peuvent être utilisés dans le système de l'invention n'est pas limitée. Par exemple, la voix pourra être une voix mâle, femelle ou d'enfant ; la tonalité pourra être plus ou moins grave ou aiguë ; la vitesse pourra être plus ou moins rapide ; l'intonation pourra être choisie en fonction de l'émotion que le robot est susceptible de ressentir en fonction du texte du script (affection, étonnement, colère, joie, remontrance, etc .). Des gestes d'accompagnement du script pourront par exemple être un mouvement des bras vers le haut ou vers l'avant ; frappe d'un pied sur le sol ; mouvements de la tête vers le haut, le bas, à droite ou à gauche, selon l'impression que l'on veut communiquer en cohérence avec le script... A scenario can also be characterized by a banner 5H0 which may or may not correspond to a musical score, said partition being synchronized with the thumbnail / bubble tree. This synchronization facilitates the nesting of several levels of thumbnails whose execution is conditional. Several bands can run in parallel as shown in the figure by the banner 5I0. The texts can be read in different languages, with different prosodies (speed, volume, style, voice ...) - The variety of behaviors and emotions that can be used in the system of the invention is not limited. For example, the voice may be a male, female or child voice; the tone may be more or less serious or acute; the speed may be more or less rapid; the intonation can be chosen according to the emotion that the robot is likely to feel according to the text of the script (affection, astonishment, anger, joy, remonstrance, etc.). Accompanying gestures of the script may for example be a movement of the arms upwards or forwards; strike a foot on the ground; movements of the head upwards, downwards, to the right or to the left, according to the impression that one wants to communicate coherently with the script ...
Le robot peut interagir avec son environnement et son ou ses interlocuteurs de manière également très variée : parole, gestes, toucher, émission de signaux lumineux, etc .. Par exemple, si le robot est doté de diodes lumineuses (LED), celles-ci pourront être actionnées pour traduire des émotions fortes « ressenties » par le robot en lisant le texte ou pour générer un clignement des yeux adapté à la forme et à la vitesse d'élocution.  The robot can interact with its environment and its interlocutors in a very varied way: speech, gestures, touch, light signals, etc. For example, if the robot is equipped with LEDs, these can be activated to translate strong emotions "felt" by the robot by reading the text or to generate an eye blink adapted to the shape and speed of speech.
Comme illustré sur les vignettes 51 0 et 520, certaines commandes peuvent être des commandes d'interruption et d'attente d'un événement extérieur, tel qu'un mouvement en réponse à une question posée par le robot. As illustrated on thumbnails 51 0 and 520, certain commands may be interrupt and wait commands for an external event, such as a motion in response to a question posed by the robot.
Certaines commandes peuvent être dépendantes des réactions du robot à son environnement, captées par exemple par une caméra ou des capteurs ultrasonores. Some commands may be dependent on the reactions of the robot to its environment, captured for example by a camera or ultrasonic sensors.
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. The examples described above are given by way of illustration of embodiments of the invention. They in no way limit the scope of the invention which is defined by the following claims.

Claims

REVENDICATIONS
Système d'édition et de commande d'au moins un scénario, ledit au moins un scénario comprenant au moins un comportement à exécuter et un texte à prononcer par au moins un robot doté de capacités motrices et locutoires, ledit système comprenant un module (210) d'édition desdits comportements et textes, ledit module d'édition étant autonome par rapport audit robot et comprenant un sous-module d'entrée dudit texte à prononcer par le robot et un sous-module (340) de gestion des comportements, ledit système étant caractérisé en ce que ledit module d'édition comprend en outre un sous-module de représentation et d'association graphique dudit au moins un comportement et dudit au moins un texte dans au moins une zone d'affichage combiné dudit au moins un comportement et dudit au moins un texte, ladite zone d'affichage combiné constituant une vignette (510, 520, 530, 540, 550, 560, 570), ladite vignette constituant un objet informatique compilable pour être exécuté sur ledit robot. System for editing and controlling at least one scenario, said at least one scenario comprising at least one behavior to be executed and a text to be pronounced by at least one robot equipped with motor and speech capabilities, said system comprising a module (210 ) for editing said behaviors and texts, said editing module being autonomous in relation to said robot and comprising a sub-module for inputting said text to be pronounced by the robot and a sub-module (340) for managing behaviors, said system being characterized in that said editing module further comprises a sub-module for representing and graphical association of said at least one behavior and said at least one text in at least one combined display area of said at least one behavior and said at least one text, said combined display area constituting a thumbnail (510, 520, 530, 540, 550, 560, 570), said thumbnail constituting a compilable computer object to be executed on said robot.
Système d'édition et de commande selon la revendication 1 caractérisé en ce que ladite au moins une vignette comprend au moins un objet graphique appartenant au groupe comprenant une icône d'attente (51 10, 521 0), une icône de comportement du robot (5310, 541 0, 5510, 561 0, 5710) et une bulle de texte (5320, 5420, 5520, 5620, 5720) comprenant au moins un mot, ledit texte étant à prononcer par le robot. Editing and control system according to claim 1 characterized in that said at least one thumbnail comprises at least one graphic object belonging to the group comprising a wait icon (51 10, 521 0), a robot behavior icon ( 5310, 541 0, 5510, 561 0, 5710) and a text bubble (5320, 5420, 5520, 5620, 5720) comprising at least one word, said text being to be pronounced by the robot.
Système d'édition et de commande selon la revendication 2 caractérisé en ce que ladite icône de comportement (5410, 5710) d'une vignette (540, 570) comprend une marque graphique (5430, 5730) représentative d'une personnalité et/ou d'une émotion du robot associée(s) à au moins une bulle de texte (5420, 5720) dans la vignette (540, 570). Système d'édition et de commande selon la revendication 2 caractérisé en ce que ladite représentation graphique dudit scénario comprend en outre au moins un bandeau (5H0) de synchronisation du déroulement des actions représentées par ladite au moins une vignette. Editing and control system according to claim 2 characterized in that said behavior icon (5410, 5710) of a thumbnail (540, 570) comprises a graphic mark (5430, 5730) representative of a personality and/or of an emotion of the robot associated with at least one text bubble (5420, 5720) in the vignette (540, 570). Editing and control system according to claim 2 characterized in that said graphic representation of said scenario further comprises at least one banner (5H0) for synchronizing the progress of the actions represented by said at least one vignette.
Système d'édition et de commande selon la revendication 1 , caractérisé en ce qu'il comprend en outre un module (220) d'interprétation desdits scénarios, ledit module d'interprétation étant embarqué sur ledit au moins un robot et communiquant avec le module d'édition (210) en mode streaming. Editing and control system according to claim 1, characterized in that it further comprises a module (220) for interpreting said scenarios, said interpretation module being on board said at least one robot and communicating with the module (210) in streaming mode.
Système d'édition et de commande selon la revendication 5 caractérisé en ce que le module d'interprétation desdits scénarios comprend un sous-module (41 0) de conditionnement d'au moins un scénario, ledit sous-module étant configuré pour doter ledit au moins un scénario en entrée d'un identifiant et d'un type. Editing and control system according to claim 5 characterized in that the module for interpreting said scenarios comprises a sub-module (41 0) for conditioning at least one scenario, said sub-module being configured to provide said minus an input scenario of an identifier and a type.
Système d'édition et de commande selon la revendication 5 caractérisé en ce que le module d'interprétation desdits scénarios comprend un sous-module (420) de compilation dudit au moins comportement, ledit sous-module étant configuré pour associer audit comportement les attributs d'une structure objet. Editing and control system according to claim 5 characterized in that the module for interpreting said scenarios comprises a sub-module (420) for compiling said at least behavior, said sub-module being configured to associate said behavior with the attributes of 'an object structure.
Système d'édition et de commande selon la revendication 7 caractérisé en ce que ledit sous-module de compilation est configuré pour découper lesdits scénarios en sous-ensembles délimités par un signe de ponctuation ou une fin de ligne. Editing and control system according to claim 7 characterized in that said compilation submodule is configured to divide said scenarios into subsets delimited by a punctuation mark or an end of line.
Système d'édition et de commande selon la revendication 5 caractérisé en ce que le module d'interprétation desdits scénarios comprend un sous-module (430) de commande du pré-chargement dudit au moins comportement dans la mémoire du robot pour exécution par ledit module d'exécution de comportements (460). Editing and control system according to claim 5 characterized in that the module for interpreting said scenarios comprises a sub-module (430) for controlling the pre-loading of said at least behavior in the robot's memory for execution by said module execution of behaviors (460).
10. Système d'édition et de commande selon la revendication 5 caractérisé en ce que le module d'interprétation desdits scénarios comprend un sous-module (440) de synchronisation dudit au moins un texte avec ledit au moins un comportement. 10. Editing and control system according to claim 5 characterized in that the module for interpreting said scenarios comprises a submodule (440) for synchronizing said at least one text with said at least one behavior.
1 1 . Procédé d'édition et de commande d'au moins un scénario, ledit au moins un scénario comprenant au moins un comportement à exécuter et un texte à prononcer par au moins un robot doté de capacités motrices et locutoires, ledit procédé comprenant une étape d'édition desdits comportements et textes, ladite étape d'édition étant autonome par rapport audit robot et comprenant une sous-étape d'entrée dudit texte à prononcer par le robot et une sous-étape de gestion des comportements, ledit procédé étant caractérisé en ce que ladite étape d'édition comprend en outre une sous-étape de représentation et d'association graphique dudit au moins un comportement et dudit au moins un texte dans au moins une zone d'affichage combiné dudit au moins un comportement et dudit au moins un texte, ladite zone d'affichage combiné constituant une vignette, ladite vignette constituant un objet informatique compilable pour être exécuté sur ledit robot. 1 1 . Method for editing and controlling at least one scenario, said at least one scenario comprising at least one behavior to be executed and a text to be pronounced by at least one robot equipped with motor and speech capabilities, said method comprising a step of editing of said behaviors and texts, said editing step being autonomous in relation to said robot and comprising a sub-step of inputting said text to be pronounced by the robot and a sub-step of managing behaviors, said method being characterized in that said editing step further comprises a sub-step of representing and graphically associating said at least one behavior and said at least one text in at least one combined display area of said at least one behavior and said at least one text , said combined display area constituting a thumbnail, said thumbnail constituting a compilable computer object to be executed on said robot.
12. Programme d'ordinateur comprenant des instructions de code de programme, ledit programme étant adapté pour permettre l'édition d'au moins un scénario, ledit au moins un scénario comprenant au moins un comportement à exécuter et un texte à prononcer par au moins un robot doté de capacités motrices et locutoires, ledit programme d'ordinateur comprenant un module d'édition desdits comportements et textes, ledit module d'édition étant autonome par rapport audit robot et comprenant un sous-module d'entrée dudit texte à prononcer par le robot et un sous-module de gestion des comportements, ledit programme d'ordinateur étant caractérisé en ce que ledit module d'édition comprend en outre un sous-module de représentation et d'association graphique dudit au moins un comportement et dudit au moins un texte dans au moins une zone d'affichage combiné dudit au moins un comportement et dudit au moins un texte, ladite zone d'affichage combiné constituant une vignette, ladite vignette constituant un objet informatique compilable pour être exécuté sur ledit robot. 12. Computer program comprising program code instructions, said program being adapted to allow the editing of at least one scenario, said at least one scenario comprising at least one behavior to be executed and a text to be pronounced by at least a robot equipped with motor and speech capabilities, said computer program comprising a module for editing said behaviors and texts, said editing module being autonomous in relation to said robot and comprising a sub-module for inputting said text to be pronounced by the robot and a behavior management sub-module, said computer program being characterized in that said editing module further comprises a sub-module for representing and graphical association of said at least one behavior and said at least a text in at least one combined display area of said at least one behavior and said at least one text, said area combined display constituting a thumbnail, said thumbnail constituting a compilable computer object to be executed on said robot.
13. Programme d'ordinateur comprenant des instructions de code de programme, ledit programme étant adapté pour permettre l'interprétation d'au moins un scénario, ledit au moins un scénario comprenant au moins un comportement à exécuter et un texte à prononcer par au moins un robot doté de capacités motrices et locutoires, ledit programme d'ordinateur comprenant un module d'interprétation desdits scénarios, ledit module d'interprétation étant embarqué sur ledit au moins un robot et étant configuré pour recevoir d'une plate-forme externe en mode streaming des objets informatiques compilés contenant une association d'un texte à prononcer et d'un comportement à exécuter par ledit robot. 13. Computer program comprising program code instructions, said program being adapted to allow the interpretation of at least one scenario, said at least one scenario comprising at least one behavior to be executed and a text to be pronounced by at least a robot equipped with motor and speech capabilities, said computer program comprising a module for interpreting said scenarios, said interpretation module being on board said at least one robot and being configured to receive from an external platform in mode streaming of compiled computer objects containing an association of a text to be pronounced and a behavior to be executed by said robot.
14. Programme d'ordinateur selon la revendication 1 3 caractérisé en ce que le module d'interprétation desdits scénarios comprend un sous- module de compilation dudit au moins comportement, ledit sous- module étant configuré pour associer audit comportement les attributs d'une structure objet. 14. Computer program according to claim 1 3 characterized in that the module for interpreting said scenarios comprises a sub-module for compiling said at least behavior, said sub-module being configured to associate said behavior with the attributes of a structure object.
15. Programme d'ordinateur selon la revendication 1 3 caractérisé en ce que le module d'interprétation desdits scénarios comprend un sous- module de commande du pré-chargement dudit au moins comportement dans la mémoire du robot pour exécution par ledit module d'exécution de comportements (460). 15. Computer program according to claim 1 3 characterized in that the module for interpreting said scenarios comprises a sub-module for controlling the pre-loading of said at least behavior in the robot's memory for execution by said execution module behaviors (460).
16. Programme d'ordinateur selon la revendication 1 3 caractérisé en ce que le module d'interprétation desdits scénarios comprend un sous- module de synchronisation dudit au moins un texte avec ledit au moins un comportement. 16. Computer program according to claim 1 3 characterized in that the module for interpreting said scenarios comprises a sub-module for synchronizing said at least one text with said at least one behavior.
EP13728694.4A 2012-06-01 2013-05-30 System and method for generating contextual behaviours of a mobile robot executed in real time Ceased EP2855105A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1255105A FR2991222B1 (en) 2012-06-01 2012-06-01 SYSTEM AND METHOD FOR GENERATING CONTEXTUAL MOBILE ROBOT BEHAVIOR EXECUTED IN REAL-TIME
PCT/EP2013/061180 WO2013178741A1 (en) 2012-06-01 2013-05-30 System and method for generating contextual behaviours of a mobile robot executed in real time

Publications (1)

Publication Number Publication Date
EP2855105A1 true EP2855105A1 (en) 2015-04-08

Family

ID=47080621

Family Applications (1)

Application Number Title Priority Date Filing Date
EP13728694.4A Ceased EP2855105A1 (en) 2012-06-01 2013-05-30 System and method for generating contextual behaviours of a mobile robot executed in real time

Country Status (7)

Country Link
US (1) US20150290807A1 (en)
EP (1) EP2855105A1 (en)
JP (1) JP6319772B2 (en)
CN (1) CN104470686B (en)
BR (1) BR112014030043A2 (en)
FR (1) FR2991222B1 (en)
WO (1) WO2013178741A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6594646B2 (en) * 2015-04-10 2019-10-23 ヴイストン株式会社 Robot, robot control method, and robot system
JP6781545B2 (en) * 2015-12-28 2020-11-04 ヴイストン株式会社 robot
JP6604912B2 (en) * 2016-06-23 2019-11-13 日本電信電話株式会社 Utterance motion presentation device, method and program
US20180133900A1 (en) * 2016-11-15 2018-05-17 JIBO, Inc. Embodied dialog and embodied speech authoring tools for use with an expressive social robot
CN108932167B (en) * 2017-05-22 2023-08-08 中兴通讯股份有限公司 Intelligent question-answer synchronous display method, device and system and storage medium
JP6956562B2 (en) * 2017-08-10 2021-11-02 学校法人慶應義塾 Intelligent robot systems and programs
US11325263B2 (en) * 2018-06-29 2022-05-10 Teradyne, Inc. System and method for real-time robotic control
CN110543144B (en) * 2019-08-30 2021-06-01 天津施格自动化科技有限公司 Method and system for graphically programming control robot

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2496160A1 (en) * 1980-12-11 1982-06-18 Lamothe Andre Sealed connector for deep drilling tools - where drilling liq. can be fed to tool, or another liq. can be fed into drilled hole without reaching the tool
JPH07261820A (en) * 1994-03-25 1995-10-13 Nippon Telegr & Teleph Corp <Ntt> Software constituting method and controller for industrial robot operation
JP4366617B2 (en) * 1999-01-25 2009-11-18 ソニー株式会社 Robot device
JP4670136B2 (en) * 2000-10-11 2011-04-13 ソニー株式会社 Authoring system, authoring method, and storage medium
GB2385954A (en) * 2002-02-04 2003-09-03 Magenta Corp Ltd Managing a Virtual Environment
US7995090B2 (en) * 2003-07-28 2011-08-09 Fuji Xerox Co., Ltd. Video enabled tele-presence control host
JP4744847B2 (en) * 2004-11-02 2011-08-10 株式会社安川電機 Robot control device and robot system
JP2009025224A (en) * 2007-07-23 2009-02-05 Clarion Co Ltd Navigation device and control method for navigation device
FR2929873B1 (en) * 2008-04-09 2010-09-03 Aldebaran Robotics CONTROL-CONTROL ARCHITECTURE OF A MOBILE ROBOT USING ARTICULATED MEMBERS
FR2946160B1 (en) * 2009-05-26 2014-05-09 Aldebaran Robotics SYSTEM AND METHOD FOR EDIT AND ORDER BEHAVIOR OF MOBILE ROBOT.
FR2947923B1 (en) * 2009-07-10 2016-02-05 Aldebaran Robotics SYSTEM AND METHOD FOR GENERATING CONTEXTUAL BEHAVIOR OF A MOBILE ROBOT
US9472112B2 (en) * 2009-07-24 2016-10-18 Modular Robotics Incorporated Educational construction modular unit
US8260460B2 (en) * 2009-09-22 2012-09-04 GM Global Technology Operations LLC Interactive robot control system and method of use
DE102010004476A1 (en) * 2010-01-13 2011-07-14 KUKA Laboratories GmbH, 86165 Method for controlling e.g. palatalized robot application, involves generating and/or modifying control interfaces based on configuration of robot application or during change of configuration of robot application

Non-Patent Citations (2)

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

Also Published As

Publication number Publication date
FR2991222A1 (en) 2013-12-06
WO2013178741A1 (en) 2013-12-05
BR112014030043A2 (en) 2017-06-27
JP6319772B2 (en) 2018-05-09
FR2991222B1 (en) 2015-02-27
CN104470686B (en) 2017-08-29
JP2015525137A (en) 2015-09-03
US20150290807A1 (en) 2015-10-15
CN104470686A (en) 2015-03-25

Similar Documents

Publication Publication Date Title
EP2855105A1 (en) System and method for generating contextual behaviours of a mobile robot executed in real time
FR2963132A1 (en) HUMANOID ROBOT HAVING A NATURAL DIALOGUE INTERFACE, METHOD OF USING AND PROGRAMMING THE SAME
KR102306624B1 (en) Persistent companion device configuration and deployment platform
FR2947923A1 (en) SYSTEM AND METHOD FOR GENERATING CONTEXTUAL BEHAVIOR OF A MOBILE ROBOT
FR2989209A1 (en) ROBOT FOR INTEGRATING NATURAL DIALOGUES WITH A USER IN HIS BEHAVIOR, METHODS OF PROGRAMMING AND USING THE SAME
US10929759B2 (en) Intelligent robot software platform
EP2435216B1 (en) System and method for editing and controlling the behaviour of a movable robot
US9292957B2 (en) Portable virtual characters
EP3053162B1 (en) Method for dialogue between a machine, such as a humanoid robot, and a human interlocutor; computer program product; and humanoid robot for implementing such a method
KR102001293B1 (en) Executing software applications on a robot
US20100333037A1 (en) Dioramic user interface having a user customized experience
TW201916005A (en) Interaction method and device
Newnham Microsoft HoloLens By Example
FR3080926A1 (en) METHOD FOR CONTROLLING A PLURALITY OF EFFECTORS OF A ROBOT
Alonso et al. A flexible and scalable social robot architecture employing voice assistant technologies
WO2018183812A1 (en) Persistent companion device configuration and deployment platform
Singh Universal gesture tracking framework in OpenISS and ROS and its applications
Geraci Design and implementation of embodied conversational agents
US20210042639A1 (en) Converting nonnative skills for conversational computing interfaces
Hahkio Service robots’ feasibility in the hotel industry: A case study of Hotel Presidentti
Lleonsí Carrillo Development of a teaching assistance application for SoftBank Pepper
WO2006061308A1 (en) Method for the temporal animation of an avatar from a source signal containing branching information, and corresponding device, computer program, storage means and source signal

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20141230

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ALDEBARAN ROBOTICS S.A.

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20170105

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20190116