FR2920686A1 - Robot apte a echanger des programmes informatiques codant pour des comportements - Google Patents

Robot apte a echanger des programmes informatiques codant pour des comportements Download PDF

Info

Publication number
FR2920686A1
FR2920686A1 FR0706387A FR0706387A FR2920686A1 FR 2920686 A1 FR2920686 A1 FR 2920686A1 FR 0706387 A FR0706387 A FR 0706387A FR 0706387 A FR0706387 A FR 0706387A FR 2920686 A1 FR2920686 A1 FR 2920686A1
Authority
FR
France
Prior art keywords
robot
computer program
behavior
computer
equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0706387A
Other languages
English (en)
Other versions
FR2920686B1 (fr
Inventor
Bruno Maisonnier
Fabien Bardinet
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.)
Softbank Robotics 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
Priority to FR0706387A priority Critical patent/FR2920686B1/fr
Priority to PCT/EP2008/060372 priority patent/WO2009033898A1/fr
Priority to EP08786975A priority patent/EP2197632A1/fr
Priority to JP2010524435A priority patent/JP2010538849A/ja
Priority to US12/677,985 priority patent/US20110218672A1/en
Publication of FR2920686A1 publication Critical patent/FR2920686A1/fr
Application granted granted Critical
Publication of FR2920686B1 publication Critical patent/FR2920686B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/1602Programme controls characterised by the control system, structure, architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39254Behaviour controller, robot have feelings, learns 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/39Robotics, robotics to robotics hand
    • G05B2219/39371Host and robot controller

Landscapes

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

Abstract

L'invention se rapporte à un robot (1, 1a, 1b) comprenant des moyens de stockage (6, 6a, 6b) agencés pour stocker au moins un programme informatique qui, lorsqu'il est exécuté, fait agir le robot selon un comportement, caractérisé en ce qu'il comprend des moyens de chargement (8, 9) aptes à charger depuis un équipement informatique distant (12), un programme informatique (16) qui, lorsqu'il est exécuté, fait agir le robot selon un comportement, et des moyens d'enregistrement (22) aptes à enregistrer le programme informatique (16) ainsi chargé dans lesdits moyens de stockage (6, 6a, 6b).

Description

ROBOT APTE A ECHANGER DES PROGRAMMES INFORMATIQUES CODANT POUR DES COMPORTEMENTS L'invention se rapporte à un robot comprenant des moyens de stockage agencés pour stocker au moins un programme informatique qui, lorsqu'il est exécuté, fait agir le robot selon un comportement.
De façon connue en soi dans le domaine de la robotique humanoïde, les comportements du robot peuvent correspondre à l'activation d'un ou plusieurs moteurs pour commander des membres du robot, au déclenchement d'une ou plusieurs applications informatiques pour déclencher par exemple la lecture d'une piste musicale, ou la prise d'une photographie lorsque le robot dispose d'un appareil photo intégré, et à la prise en compte de stimuli externes détectés par des capteurs. Les programmes informatiques stockés dans les moyens de stockage permettent alors de faire agir le robot selon de tels comportements lorsqu'ils sont exécutés, éventuellement en réponse à des stimuli reçus par le robot.
L'invention se rapporte plus particulièrement à un robot tel que décrit ci-dessus dont les comportements sont susceptibles d'évoluer dans le temps.
On connaît dans l'état de la technique des robots dont les comportements sont susceptibles d'évoluer dans le temps.
Pour réaliser l'évolution dans le temps, il est connu de charger dans une mémoire du robot, un programme d'ordinateur comprenant des instructions permettant au robot de réaliser un apprentissage. Ce type de programme d'ordinateur est communément appelé logiciel d'intelligence artificiel et est largement utilisé pour réaliser des robots, humanoïdes ou non. Grâce à ce logiciel d'intelligence artificielle, le robot réagit à différents stimuli extérieurs et, en fonction des stimuli reçus, peut évoluer dans le temps.
Toutefois, même dans le cas d'un logiciel d'intelligence artificielle complexe, le nombre de comportements réalisables par le robot est limité par les programmes informatiques stockés dans les moyens de stockage définis ci-dessus. Dès lors, un utilisateur utilisant le robot comme une sorte de jouet intelligent peut être vite lassé du robot s'il reproduit constamment les mêmes comportements. Ceci est bien sûr un inconvénient de ces robots connus.
Le problème résolu par l'invention est d'améliorer les capacités d'évolution du robot.
Plus particulièrement, le problème résolu est de permettre une évolution du robot dans le temps de façon permanente, de sorte à mieux simuler l'évolution d'un être vivant, et à rendre le robot beaucoup plus intéressant dans le temps.
Ce problème est résolu par le fait que le robot comprend des moyens de chargement aptes à charger depuis un équipement informatique distant, un programme informatique qui, lorsqu'il est exécuté, fait agir le robot selon un comportement, et des moyens d'enregistrement aptes à enregistrer le programme informatique ainsi chargé dans lesdits moyens de stockage.
Grâce à l'inventiion, le robot peut donc réaliser de nouveaux comportements et donc étendre continuellement sa gamme de comportements. Dès lors, son évolution est assurée par l'invention et, si le programme chargé est apte à faire agir le robot selon un nouveau comportement, il réalisera de nouvelles actions.
L'idée de l'échange de programmes informatiques entre entités distantes est connue dans le domaine informatique. En particulier, il est connu qu'un premier ordinateur requiert, au niveau d'un serveur distant, un programme informatique pour réaliser une mise à jour logicielle. Toutefois, un tel échange de programmes informatiques n'a jamais été appliqué au domaine technique de la robotique pour qu'un robot puisse agir selon de nouveaux comportements.
Selon un mode de réalisation de l'invention, les moyens de chargement sont agencés pour transmettre à l'équipement distant une requête de chargement pour déclencher le chargement du programme informatique depuis l'équipement distant.
De la sorte, en transmettant la requête, c'est le robot qui prend l'initiative du chargement du programme informatique, et ce sans intervention du détenteur humain du robot au moment du chargement.
De préférence, la requête comprend des données relatives aux actions réalisables par le robot. De la sorte, le programme informatique à charger pourra dépendre des capacités d'action du robot. Il sera alors possible de faire que les nouveaux comportements chargés par le robot soient tous compatibles avec les capacités du robot.
Afin de permettre un contrôle de l'évolution du robot, le robot comprend de préférence au moins une mémoire pour stocker des paramètres d'évolution, et les moyens de chargement sont agencés en outre pour transmettre la requête en fonction des paramètres d'évolution.
Les paramètres d'évolution comprennent de préférence des données 30 d'abonnement déterminant le nombre de requêtes susceptibles d'être transmises à l'équipement distant.
Afin de simuler une évolution naturelle du robot, les moyens de chargement sont avantageusement agencés pour déclencher automatiquement le chargement du programme informatique.
Le robot peut comprendre des moyens de génération de comportement agencés pour que le robot réalise, lorsqu'ils sont activés, des comportements, le programme informatique étant apte, à l'exécution, à faire agir le robot selon au moins un comportement du robot en activant lesdits moyens de génération de comportement.
Ceci permet notamment de générer de nouveaux mouvements du robot, ou des réactions à de nouveaux stimuli.
En particulier, lesdits moyens de génération de comportement comprennent de préférence des parties mobiles commandées par des moteurs, et le programme informatique peut être apte à faire agir le robot selon au moins un comportement en activant au moins un desdits moteurs de sorte à déplacer au moins une des parties mobiles.
Le robot peut également comprendre des applications le programme informatique est dans ce cas apte à faire agir le robot selon au moins un comportement en activant au moins une desdites applications.
Le robot peut également comprendre des moyens de transmission agencés pour déclencher la transmission du programme informatique stocké dans les moyens de stockage vers l'équipement distant. De la sorte, le robot peut à la fois recevoir et transmettre des programmes informatiques codant pour des comportements, ce qui a l'avantage de permettre également l'évolution d'autres robots.
L'invention se rapporte également à un robot comprenant des moyens de stockage agencés pour stocker au moins un programme informatique qui, à l'exécution, fait agir le robot selon au moins un comportement, le robot étant caractérisé en ce qu'il comprend des moyens de transmission agencés pour déclencher la transmission du programme informatique stocké dans les moyens de stockage vers un équipement distant, de sorte à permettre le chargement du programme informatique depuis l'équipement distant par les moyens de chargement d'un robot tel que décrit précédemment.
De la sorte, il est possible de former une communauté de robots échangeant des programmes permettant d'exécuter des nouveaux comportements. Dès lors, si un nouveau programme permettant d'exécuter un nouveau comportement a été défini pour un robot de la communauté, ce programme pourra être échangé entre les robots de la communauté de sorte que l'évolution de l'ensemble des robots de la communauté peut être assurée.
L'invention se rapporte également à un système comprenant un robot tel que décrit précédemment, et un équipement informatique comprenant des moyens de stockage agencés pour stocker des programmes informatiques aptes, à l'exécution, à faire agir le robot selon au moins un comportement, des programmes informatiques ainsi stockés dans les moyens de stockages, et des moyens de transmission agencés pour transmettre le programme informatique au robot lorsque le chargement depuis l'équipement distant est déclenché par les moyens de chargement du robot.
Selon un mode de réalisation du système précédemment décrit, l'équipement informatique distant comprend des moyens de sélection agencés pour déterminer si le robot est capable de réaliser le comportement codé par le programme informatique à charger vers le robot.
De la sorte, les nouveaux comportements chargés par le robot sont tous compatibles avec les capacités du robot.
De préférence, les moyens de sélection sont aptes à déterminer si le robot est capable de réaliser le comportement codé par le programme informatique à charger vers le robot en fonction de données de la requête.
L'invention se rapporte également à un procédé pour faire évoluer un robot comprenant des étapes dans lesquelles : - le robot charge depuis un équipement informatique distant, un programme informatique apte à faire agir le robot selon un 10 comportement, - le robot enregistre dans des moyens de stockage, le programme informatique ainsi chargé, de sorte à pouvoir faire agir le robot selon le comportement lorsque le programme informatique est exécuté.
15 De préférence, l'étape dans laquelle le robot charge le programme informatique comprend des étapes dans lesquelles : - le robot transmet une requête vers l'équipement informatique distant; - l'équipement informatique transmet le programme informatique au 20 robot en réponse à la requête.
De préférence, l'étape dans laquelle l'équipement informatique transmet le programme informatique au robot en réponse à la requête comprend des étapes dans lesquelles : 25 - l'équipement informatique analyse la requête de sorte à déterminer si le robot est apte à exécuter le programme informatique ; - l'équipement informatique transmet le programme informatique si le robot est apte à l'exécuter.
30 Afin de former une communauté de robots permettant une évolution simple des robots, le procédé précédemment décrit comprend de préférence des étapes dans lesquelles : - un premier robot stocke dans des moyens de stockage le programme informatique qui, lorsqu'il est exécuté, fait agir le premier robot selon un comportement; - le premier robot transmet le programme informatique à un équipement distant; - l'équipement distant stocke le programme informatique dans des moyens de stockage; - un deuxième robot charge le programme informatique ainsi transmis, depuis l'équipement distant.
Dans ce procédé, le robot peut exécuter le programme informatique ainsi chargé de sorte à réaliser le comportement.
On décrit maintenant un mode de réalisation de l'invention en référence aux figures annexées dans lesquelles : FIG. 1 représente un robot selon un mode de réalisation de l'invention ; - FIG. 2 représente un mode de réalisation détaillé de l'unité centrale du robot décrit en référence à la FIG.1 ; FIG. 3 représente le chargement d'un programme informatique codant pour un comportement par le robot illustré à la FIG. 1 depuis un équipement distant ; FIG. 4 représente une communauté de robots selon l'invention pouvant échanger des programmes informatiques codant pour un comportement ; FIG. 5 représente un autre mode de réalisation de l'unité centrale du robot décrit en référence à la FIG. 1.
Sur les figures, des références identiques représentent des caractéristiques techniques similaires.
Comme illustré FIG. 1, un robot 1 selon l'invention comprend une ou plusieurs parties mobiles 2a à 2e, ainsi qu'un ensemble de capteurs 23a à 23f. Lorsque le robot 1 est un robot humanoïde, les parties mobiles 2a à 2e correspondent aux membres d'un humain. Sur la FIG. 1 par exemple, les parties mobiles 2a et 2d correspondent à des bras du robot 1, les parties mobiles 2b et 2c à des jambes, et la partie 2e, à une tête. Toutes les parties mobiles sont aptes à être déplacées grâce à des articulations 3a à 3e comprenant des moteurs respectifs. Lorsque les moteurs des articulations 3a à 3e sont activés, ils mettent en mouvement les parties mobiles 2a à 2e, de sorte que le robot 1 peut réaliser différents comportements.
Un comportement du robot 1 peut également être réalisé grâce à une ou plusieurs applications 4. Par exemple, l'application 4 peut correspondre au fait, pour le robot, de prendre une photographie numérique grâce à un appareil numérique intégré, à réaliser une reconnaissance de, visage grâce à une application de reconnaissance de visage, ou toute autre application impliquant une action sans nécessairement déplacer les parties mobiles 2a à 2e.
La réalisation d'un comportement du robot 1 peut également correspondre à une réaction à des stimuli captés par les capteurs 20 23a à 23f.
La réalisation de comportements du robot, c'est-à-dire le déplacement des parties mobiles 2a à 2e par l'intermédiaire de l'activation des articulations 3a à 3e, le lancement d'une application 25 4, le tout éventuellement en réaction à des stimuli captés par les capteurs 23a à 23f, est commandé par une unité centrale 5.
L'unité centrale 5 est décrite plus en détail sur la FIG. 2.
30 L'unité centrale 5 comprend des processeurs et des mémoires non représentés pour exécuter des séries d'instructions de programmes informatiques. Elle comprend également un système d'exploitation non représenté. Les composants décrits par la suite interagissent de façon connue en soi avec les processeurs et les mémoires pour réaliser les fonctions décrites.
L'unité centrale comprend en outre une base de données de comportements 6. Cette base de données de programmes informatiques 7 aptes à faire agir le robot 1 selon des comportements. Ces programmes informatiques 7 comprennent des instructions qui, lorsqu'elles sont exécutées par les processeurs du robot, déclenchent une activation particulière des articulations 3a à 3e, ce qui provoque des mouvements des parties mobiles 2a à 2e, ou traitent les informations issues des capteurs 23a à 23f. Ils peuvent également déclencher l'activation des applications 4. Dès lors, lorsqu'un programme informatique 7 de la base de données 6 est exécuté, le robot 1 réalise un comportement particulier associé au programme informatique 7.
L'unité centrale 5 comprend également une unité d'intelligence artificielle 8 qui coopère avec la base de données 6 pour déterminer le comportement que doit avoir le robot 1 à un instant donné, c'est-à- dire le programme informatique 7 qui doit être exécuté à un instant donné. L'unité d'intelligence artificielle comprend un programme informatique d'intelligence artificielle connu en soi et permet une sélection des comportements appropriés en fonction des stimuli externes captés par des capteurs du robot 1, ou en fonction d'un objectif de comportement préprogrammé.
L'unité centrale 5 comprend également des moyens d'échange de données 9 agencés pour transmettre des données du robot 1 vers un équipement informatique distant, et pour recevoir des données depuis cet équipement informatique distant. Ces moyens d'échange de données comprennent par exemple une carte de communication par réseau sans fil Wifi, ou une carte de communication par un réseau filaire. De la sorte, des données peuvent être échangées par un canal de transmission 10 vers l'extérieur du robot et depuis l'extérieur du robot.
L'unité centrale 5 comprend également un module d'enregistrement 5 22 qui permet de récupérer les données reçues par les moyens d'échange de données 9 pour les stocker dans la base de données 6.
On décrit maintenant en détail le fonctionnement de l'évolution du robot 1 en référence à la FIG. 3. 10 Grâce aux moyens de transmission de données 9 décrits ci-dessus, le robot 1 transmet une requête 11 vers un équipement informatique distant 12. En plus des moyens décrits en détail ci-dessous, l'équipement informatique distant comprend des processeurs et des 15 mémoires non représentés pour exécuter des séries d'instructions de programmes informatiques. Les composants décrits par la suite interagissent de façon connue en soi avec les processeurs et les mémoires pour réaliser les fonctions décrites.
20 La requête 11 vise à recevoir de l'équipement distant 12 un nouveau programme informatique permettant de doter le robot d'un nouveau comportement. La requête 11 comprend notamment un identifiant du robot 1.
25 La requête 11 est reçue au niveau de l'équipement distant 12 qui comprend également des moyens de transmission de données avec ou sans fil adaptés aux moyens de transmission de données 9 du robot. La requête 11 est ensuite analysée par des moyens de sélection de comportement 13. Ces moyens de sélection 14 de 30 comportement lisent l'identifiant de la requête 11 de sorte à identifier le robot 1. Grâce à cet identifiant, les moyens de sélection 13 déterminent, grâce à une première base de données 14, les caractéristiques techniques du robot 1 ayant transmis la requête 11 afin que le nouveau comportement soit adapté aux actions réalisables par le robot 1.
En outre, à la place ou en plus de l'identifiant du robot 1, la requête 11 peut également comprendre des données relatives aux actions réalisables par le robot. Ces données sont par exemple sous la forme d'une liste des composants du robot 1 susceptibles d'être activés à l'exécution d'un programme informatique. Cette liste peut par exemple comprendre un identifiant des capteurs 23a à 23f, et/ou des parties mobiles 2a--2e, et/ou des applications 4.
Par exemple, si la jambe 2b du robot 1 ne comprend pas d'articulation au niveau du genou, et que la requête 11 est une requête pour obtenir un nouveau comportement pour la jambe, les moyens de sélection 13 identifieront que le robot 1 ne comprend pas d'articulation de genou et sélectionneront uniquement les comportements de jambe qui ne comprennent pas de mouvement au niveau de l'articulation du genou. Les moyens de sélection 13 permettent donc d'adapter les nouveaux comportements aux caractéristiques physiques de robot 1 qui émet des requêtes 11.
Une fois le robot 1 identifié et des comportements incompatibles avec les caractéristiques physiques éventuellement exclues par les moyens de sélection 13, les moyens de sélection 13 récupèrent auprès d'une base de données de comportement 15, un programme informatique permettant au robot 1 d'agir selon un comportement.
Comme la base de données 7 comprise dans le robot 1, la base de données de comportement 15 comprend des programmes informatiques 16 qui comprennent des instructions qui, lorsqu'elles sont exécutées par les processeurs du robot, déclenchent des comportements du robot. Les programmes informatiques 16 susceptibles d'être chargés par le robot 1 peuvent également comprendre des modules informatiques dont le robot 1 a besoin pour exécuter des fonctions appelées par certaines instructions du programme informatique 16.
Une fois le programme informatique 16 sélectionné, il est transmis 17 par l'équipement distant 12 vers le robot 1 ayant émis la requête 11. Le programme informatique est alors reçu par le robot grâce aux moyens d'échange de données 9. Les moyens d'enregistrement 22 provoquent alors l'enregistrement du programme informatique 16 dans la base de données 6. Dès lors, le programme informatique 16 est accessible par l'unité d'intelligence artificielle 8 pour que le robot 1 réalise un nouveau comportement correspondant aux instructions comprises dans le programme informatique 16. Comme précédemment, ce nouveau comportement peut être une activation particulière des articulations 3a à 3e, ce qui provoque des mouvements des parties mobiles 2a à 2e. Ils peuvent également déclencher l'activation des applications 4. Dès lors, lorsque le nouveau programme informatique 16 de la base de données 6 est exécuté, le robot 1 réalise ce nouveau comportement particulier associé au programme informatique 16.
On décrit maintenant comment sont chargés les programmes informatiques 16 de la base de données 15 de l'équipement distant 12.
Selon un mode de réalisation de l'invention illustré FIG. 4, les programmes informatiques 16 de la base de données 15 de l'équipement distant 12 sont reçus de robots la et lb formant, avec le robot 1, une communauté de robots compatibles. Ainsi, comme le robot 1, les robots la et 1 b comprennent une base de données 6a et 6b comprenant des programmes informatiques qui, à l'exécution, permettent respectivement aux robots la et lb de réaliser des comportements par activation des moteurs de leurs articulations ou de leurs applications. Les robots la et lb comprennent également chacun des moyens de transmission agencés pour transmettre ces programmes informatiques codant pour des comportements vers l'équipement distant 12. Ainsi, dans une étape 18a, le robot la transmet un ou plusieurs programme informatique de sa base de données 6a vers l'équipement 12, et dans une étape 18b, le robot lb transmet un ou plusieurs programme informatique de sa base de données 6b vers l'équipement 12. Ces programmes informatiques sont stockés dans la base de données 15 de l'équipement distant 12, et sont alors accessibles par le robot 1 grâce à une requête comme décrit précédemment.
De la même façon, les robots la et lb peuvent être agencés comme le robot 1 précédemment décrit pour recevoir des nouveaux programmes informatiques codant pour de nouveaux comportements depuis l'équipement distant 12. En outre, le robot 1 peut être agencé comme les robots la et lb et permettre la transmission des programmes informatiques 7 stockés dans la base de données 6.
Dès lors, on comprend que les possibilités d'évolution des robots selon l'invention grâce à la communauté formée par les robots 1, 1a et lb, sont très grandes. En effet, si le possesseur du robot la développe, pour son robot la, un nouveau programme informatique codant pour un nouveau comportement, toute la communauté des robots, et notamment les robots lb et 1, pourront bénéficier de ce nouveau comportement en recevant le nouveau programme informatique de l'équipement distant 12 puisque la base de données 15 de l'équipement distant 12 comprend tous les programmes informatiques 16 codant pour tous les comportements susceptibles d'être réalisés par les robots la, lb, 1 de la communauté de robots. Ainsi, une communauté de programmeurs peuvent incrémenter et améliorer sans cesse la base de données 15 pour faire évoluer les robots de la communauté.
On décrit maintenant comment sont déclenchées les requêtes 11 du robot 1 pour recevoir un programme informatique 16 de la base de données 15 de l'équipement informatique 12.
Selon un mode de réalisation de l'invention, les requêtes 11 peuvent être déclenchées périodiquement de façon automatique par le robot 1. Pour ce faire, on programme, par exemple dans l'unité d'intelligence artificielle 5, des instructions pour déclencher des requêtes 11 un certain nombre de fois par jour, par exemple 3 fois.
Toutefois, si l'on ne limite pas le nombre de requêtes 11 émises par le robot, il existe un risque que le robot évolue trop fortement et de façon non contrôlée par son détenteur.
Selon un autre mode de réalisation de l'invention illustré FIG. 5, le nombre de requête 11 transmises par le robot 1 est déterminé par un abonnement à l'équipement distant 12. Pour ce faire, on programme, par exemple dans une zone mémoire 19 de l'unité centrale 5, des instructions pour déclencher des requêtes 11 un nombre de fois égal à un paramètre dynamique pouvant être modifié en fonction de l'abonnement. L'abonnement est alors réalisé par le détenteur du robot 1 qui s'abonne à l'équipement distant 12, par exemple au moyen d'une interface Web, pour un nombre déterminé de requêtes. Une fois que l'équipement distant 12 a reçu ces instructions d'abonnement, il transmet le paramètre d'abonnement au robot 1 pour que le nombre de requêtes à l'équipement distant 12 soit limité à ce paramètre. Le paramètre d'abonnement 20 est stocké dans la zone mémoire 19. Lorsqu'une requête 11 est émise par le robot 1, l'équipement distant 12 compare alors le nombre de requêtes déjà émises et n'accepte la transmission d'un programme 16 que si le nombre maximal de requêtes déterminé par l'abonnement n'est pas atteint. Si un programme 16 est transmis au robot 1, l'équipement distant 12 décrémente un compteur de requêtes pour tenir compte du programme 16 transmis.
En outre, au-delà du nombre de requêtes 11 susceptibles d'être transmises par le robot 1, le type de requêtes 11 transmises peut également être préprogrammé sous la forme d'un objectif de vie du robot ou faire l'objet d'un abonnement. Par exemple, il est possible de pré-programmer dans le robot 1, le fait que l'objectif de vie du robot 1 est d'être un robot danseur. Dès lors, les requêtes 11 du robot 1 pourront être limitées à des requêtes concernant des comportements de danse, ou à des musiques. L'objectif de vie est par exemple stocké sous la forme d'un paramètre 21 dans la zone mémoire 19 du robot 1.
Les paramètres d'abonnement 20 et les paramètres d'objectif de vie 21 forment alors des paramètres d'évolution déterminant l'évolution du robot 1.
De la même façon, lorsqu'ils reçoivent la requête 11, les moyens de sélection 13 pourront, lorsqu'ils identifient le robot 1, identifier que le robot 1 est un robot danseur, et sélectionner en priorité les programmes informatiques 16 codant pour des comportements de danse.
L'unité d'intelligence artificielle 8 permet alors de déclencher automatiquement la transmission d'une requête 11 et donc le chargement d'un programme informatique 16 de la base de données 15 de l'équipement 12 en fonction des abonnements et des objectifs de vie préprogrammés du robot 1.
Selon un mode de réalisation de l'invention, il est possible que le programme informatique transmis par exemple par le robot la, soit transmis directement au robot 1. Dès lors, dans ce cas, la requête 11 est émise par le robot 1 directement vers le robot la, et l'équipement distant 12 se confond avec les robots 1, la et lb eux-mêmes. Toutefois, ce mode de réalisation a l'inconvénient d'empêcher tout contrôle sur le type de programmes informatiques qui seront échangés par les robots, de sorte qu'il ne sera pas possible de contrôler les comportements des robots. En effet, en l'absence de contrôle externe, si un programmeur générait un programme informatique codant pour un comportement dangereux d'un robot, ce robot pourrait alors transmettre ce comportement dangereux à d'autres robots.
Dès lors, selon un deuxième mode de réalisation préféré de l'invention, l'équipement distant 12 est toujours distinct des robots 1, la, et lb et, les programmes informatiques codant pour un comportement passent par l'équipement distant 12 avant de pouvoir être chargés par un robot. Au niveau de l'équipement informatique 12, on peut alors procéder à une vérification des programmes informatiques reçus depuis les robots pour s'assurer qu'ils ne codent pas pour des comportements dangereux. Ainsi, pour l'échange de comportements entre un premier robot la et un deuxième robot 1, le premier robot la stocke dans sa base de données 6a un programme informatique 7 qui, lorsqu'il est exécuté, fait agir le premier robot la selon un comportement, le premier robot la transmet le programme informatique 7 à l'équipement distant 12, et un deuxième robot, par exemple le robot 1, charge le programme informatique ainsi transmis, depuis l'équipement distant 12.

Claims (20)

REVENDICATIONS
1. Robot (1, la, lb) comprenant des moyens de stockage (6, 6a, 6b) agencés pour stocker au moins un programme informatique qui, lorsqu'il est exécuté, fait agir le robot selon un comportement, caractérisé en ce qu'il comprend des moyens de chargement (8, 9) aptes à charger depuis un équipement informatique distant (12), un programme informatique (16) qui, lorsqu'il est exécuté, fait agir le robot selon un comportement, et des moyens d'enregistrement (22) aptes à enregistrer le programme informatique (16) ainsi chargé dans lesdits moyens de stockage (6, 6a, 6b).
2. Robot (1, la, 1 b) selon la revendication précédente dans lequel les moyens de chargement sont agencés pour transmettre à l'équipement distant une requête de chargement (11) pour déclencher le chargement du programme informatique depuis l'équipement distant (12).
3. Robot (1, la, lb) selon la revendication précédente dans lequel la requête comprend des données relatives aux actions réalisables par le robot.
4. Robot (1, la, lb) selon l'une des revendications 2 ou 3 dans lequel le robot comprend au moins une mémoire pour stocker des paramètres d'évolution, et les moyens de chargement sont agencés en outre pour transmettre la requête en fonction des paramètres d'évolution (20, 21).
5. Robot selon la revendication précédente dans lequel les paramètres d'évolution (20, 21) comprennent des données d'abonnement (20) déterminant le nombre de requêtes susceptibles d'être transmises à l'équipement distant.
6. Robot selon l'une des revendications précédentes dans lequel les moyens de chargement sont agencés pour déclencher automatiquement le chargement du programme informatique.
7. Robot selon l'une des revendications précédentes comprenant des moyens de génération de comportement (2a-2e, 3a-3e, 4, 23a-23f) agencés pour que le robot réalise, lorsqu'ils sont activés, des comportements du robot, le programme informatique (16) étant apte, à l'exécution, à faire agir le robot selon au moins un comportement en activant lesdits moyens de génération de comportement.
8. Robot selon la revendication précédente dans lequel lesdits moyens de génération de comportement (2a-2e, 3a-3e, 4, 23a-23f) comprennent des parties mobiles (2a-2e) commandées par des moteurs, et dans lequel le programme informatique (16) est apte à faire agir le robot selon au moins un comportement en activant au moins un desdits moteurs de sorte à déplacer au moins une des parties mobiles.
9. Robot selon l'une des revendications 7 ou 8, dans lequel les moyens de génération de comportement (2a-2e, 3a-3e, 4, 23a-23f) comprennent des applications (4) et dans lequel le programme informatique (16) est apte à réaliser au moins un comportement en activant au moins une desdites applications.
10. Robot selon l'une des revendications précédentes comprenant en outre le programme informatique (16) ainsi chargé stocké dans les moyens de stockage (6, 6A, 6b).
11. Robot (1, la, lb) selon l'une des revendications précédentes comprenant en outre des moyens de transmission agencés pour déclencher la transmission du programme informatique (7) stocké dans les moyens de stockage vers l'équipement distant (12).30
12. Robot (1, la, lb) comprenant des moyens de stockage (6, 6a, 6b) agencés pour stocker au moins un programme informatique (7) qui, à l'exécution, fait agir le robot selon au moins un comportement, le robot étant caractérisé en ce qu'il comprend des moyens de transmission agencés pour déclencher la transmission du programme informatique (7) stocké dans les moyens de stockage vers un équipement distant (12), de sorte à permettre le chargement du programme informatique depuis l'équipement distant (12) par les moyens de chargement (8,9) d'un robot selon l'une des revendications précédentes.
13. Système comprenant un robot (1, la, lb) selon l'une des revendications 1 à 11, et un équipement informatique (12) comprenant des moyens de stockage (15) agencés pour stocker des programmes informatiques (16) aptes à faire agir le robot selon au moins un comportement, des programmes informatiques (16) stockés dans lesdits moyens de stockage (15), et des moyens de transmission agencés pour transmettre le programme informatique (16) au robot lorsque le chargement depuis l'équipement distant (12) est déclenché par les moyens de chargement (8, 9) du robot.
14. Système selon la revendication précédente dans lequel l'équipement informatique comprend des moyens de sélection (13) agencés pour déterminer si le robot est capable de réaliser le comportement codé par le programme informatique à charger vers le robot.
15. Système selon la revendication précédente dans lequel les moyens de sélection (13) sont aptes à déterminer si le robot est capable de réaliser le comportement codé par le programme informatique à charger vers le robot en fonction de données de la requête (11).
16. Procédé pour faire évoluer un robot comprenant des étapes dans lesquelles : - le robot charge depuis un équipement informatique distant (12), un 5 programme informatique (16) apte à faire agir le robot selon un comportement, - le robot enregistre dans des moyens de stockage (6, 6a, 6b), le programme informatique (16) ainsi chargé, de sorte que le robot puisse agir selon le comportement lorsque le programme informatique 10 (16) est exécuté.
17. Procédé selon la revendication 16 dans lequel l'étape dans laquelle le robot charge le programme informatique comprend des étapes dans lesquelles : 15 - le robot transmet une requête (11) vers l'équipement informatique distant (12) ; - l'équipement informatique (12) transmet le programme informatique au robot en réponse à la requête. 20
18. Procédé selon l'une des revendications 16 ou 17 dans lequel l'étape dans laquelle l'équipement informatique (12) transmet le programme informatique au robot en réponse à la requête comprend des étapes dans lesquelles : - l'équipement informatique (12) analyse la requête (11) de sorte à 25 déterminer si le robot est apte à exécuter le programme informatique ; - l'équipement informatique (12) transmet le programme informatique si le robot est apte à l'exécuter. 30
19. Procédé selon l'une des revendications 16 à 18 dans lequel - un premier robot stocke dans des moyens de stockage (6, 6a, 6b) le programme informatique (7) qui, lorsqu'il est exécuté, fait agir le premier robot selon un comportement ;- - le premier robot transmet le programme informatique (7) à un équipement distant (12) ; - l'équipement distant (12) stocke le programme informatique (7) dans des moyens de stockage (15) ; - un deuxième robot charge le programme informatique ainsi transmis, depuis l'équipement distant (12).
20. Procédé selon l'une des revendications 16 à 19 dans lequel le robot exécute le programme informatique (16) ainsi chargé de sorte à 10 réaliser le comportement.
FR0706387A 2007-09-12 2007-09-12 Robot apte a echanger des programmes informatiques codant pour des comportements Expired - Fee Related FR2920686B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR0706387A FR2920686B1 (fr) 2007-09-12 2007-09-12 Robot apte a echanger des programmes informatiques codant pour des comportements
PCT/EP2008/060372 WO2009033898A1 (fr) 2007-09-12 2008-08-07 Robot apte a echanger des programmes informatiques codant pour des comportements
EP08786975A EP2197632A1 (fr) 2007-09-12 2008-08-07 Robot apte a echanger des programmes informatiques codant pour des comportements
JP2010524435A JP2010538849A (ja) 2007-09-12 2008-08-07 挙動符号化コンピュータプログラムを交換可能なロボット
US12/677,985 US20110218672A1 (en) 2007-09-12 2008-08-07 Robot Capable of Exchanging Behavior-Coding Computer Programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0706387A FR2920686B1 (fr) 2007-09-12 2007-09-12 Robot apte a echanger des programmes informatiques codant pour des comportements

Publications (2)

Publication Number Publication Date
FR2920686A1 true FR2920686A1 (fr) 2009-03-13
FR2920686B1 FR2920686B1 (fr) 2010-01-15

Family

ID=39322575

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0706387A Expired - Fee Related FR2920686B1 (fr) 2007-09-12 2007-09-12 Robot apte a echanger des programmes informatiques codant pour des comportements

Country Status (5)

Country Link
US (1) US20110218672A1 (fr)
EP (1) EP2197632A1 (fr)
JP (1) JP2010538849A (fr)
FR (1) FR2920686B1 (fr)
WO (1) WO2009033898A1 (fr)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140288704A1 (en) * 2013-03-14 2014-09-25 Hanson Robokind And Intelligent Bots, Llc System and Method for Controlling Behavior of a Robotic Character
EP2933068B1 (fr) * 2014-04-17 2021-08-18 Aldebaran Robotics Robot humanoïde à roues omnidirectionnelles basé sur une commande prédictive linéaire de position et de vitesse
EP3172235A2 (fr) 2014-07-25 2017-05-31 Cytomx Therapeutics Inc. Anticorps anti-cd3, anticorps anti-cd3 activables, anticorps anti-cd3 multispécifiques, anticorps anti-cd3 activables multispécifiques et procédés d'utilisation de ces anticorps
US9443192B1 (en) 2015-08-30 2016-09-13 Jasmin Cosic Universal artificial intelligence engine for autonomous computing devices and software applications
US9864933B1 (en) 2016-08-23 2018-01-09 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using visual surrounding for autonomous object operation
US10452974B1 (en) 2016-11-02 2019-10-22 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using a device's circumstances for autonomous device operation
US10607134B1 (en) 2016-12-19 2020-03-31 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using an avatar's circumstances for autonomous avatar operation
US10102449B1 (en) 2017-11-21 2018-10-16 Jasmin Cosic Devices, systems, and methods for use in automation
US10474934B1 (en) 2017-11-26 2019-11-12 Jasmin Cosic Machine learning for computing enabled systems and/or devices
US10402731B1 (en) 2017-12-15 2019-09-03 Jasmin Cosic Machine learning for computer generated objects and/or applications

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1103351A1 (fr) * 1999-10-26 2001-05-30 Sony France S.A. Méthode et système de télétransfert d'agent pour robot

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003001578A (ja) * 2001-06-26 2003-01-08 Casio Comput Co Ltd ロボット、ロボット管理システム、ロボット制御プログラム、ロボット管理処理プログラム、ロボット管理方法、及び機器管理システム、機器管理処理プログラム、機器管理方法
JP3925140B2 (ja) * 2001-10-09 2007-06-06 ソニー株式会社 情報提供方法及び情報提供装置、並びにコンピュータ・プログラム
JP2005078456A (ja) * 2003-09-01 2005-03-24 Sony Corp コンテンツ提供システム
JP2005279830A (ja) * 2004-03-29 2005-10-13 Victor Co Of Japan Ltd ロボットおよびロボットを用いた情報管理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1103351A1 (fr) * 1999-10-26 2001-05-30 Sony France S.A. Méthode et système de télétransfert d'agent pour robot

Also Published As

Publication number Publication date
WO2009033898A1 (fr) 2009-03-19
US20110218672A1 (en) 2011-09-08
JP2010538849A (ja) 2010-12-16
FR2920686B1 (fr) 2010-01-15
EP2197632A1 (fr) 2010-06-23

Similar Documents

Publication Publication Date Title
FR2920686A1 (fr) Robot apte a echanger des programmes informatiques codant pour des comportements
KR101994574B1 (ko) 로봇 시스템 컴포넌트 사용의 클라우드-기반 분석
EP3243178A1 (fr) Procédé de traitement d'une transaction à partir d'un terminal de communication
EP2168018B1 (fr) Procédé d'édition de mouvements d'un robot
Goransson et al. Professional Android open accessory programming with Arduino
EP1969535A1 (fr) Cle electronique generique munie d'une carte a puce personnalisee
Lachgar et al. Decision framework for mobile development methods
FR2589595A1 (fr) Mecanisme automatique programmable destine particulierement a agir comme un etre humain dans des activites physiques, ludiques et analogues
CA2261620C (fr) Interface homme-machine pour lecteur de carte a puce
FR2931969A1 (fr) Carte electronique et systeme comportant une pluralite de telles cartes
FR3041787A1 (fr) Procede de transfert d'informations de configuration d'un objet connecte
EP3987390A1 (fr) Système d'applications de service pour terminaux de paiement
EP2751624A1 (fr) Systeme de supervision embarque d'une machine a partir d'un terminal portable
KR101337831B1 (ko) 안드로이드 기반 모바일 장치와 로봇 간에 연동을 위한 어플리케이션 개발 인터페이스, 서버 및 로봇 제어 방법
FR3040811A1 (fr) Procede d'autorisation d'une action par une authentification interactive et intuitive d'un utilisateur et dispositif associe
FR2906382A1 (fr) Procedes et dispositifs pour optimiser le traitement xml
EP3000224B1 (fr) Procédé d'auto-adaptation d'une qualité de signal, dispositifs et programme d'ordinateur correspondants
ES2311375A1 (es) Sistema para programacion de dispositivos moviles basados en eventos.
Williams Insectronics: Build Your Own Six-Legged Walking Robot
Prayaga et al. Android App Inventor for the Absolute Beginner
FR3077903A1 (fr) Procede de creation d'un environnement d'execution informatique unique pour applications logicielles necessitant des environnements d'execution differents
EP3692747B1 (fr) Technique de gestion d'un droit d'accès à un réseau pour un dispositif communicant
EP2991279B1 (fr) Procédé de transfert d'information bidirectionnel à partir d'un système domotique, un tel système et un ensemble convenant à la mise en uvre du procédé
de FO Araújo et al. Maerobot: an open source test platform for prototyping robots
WO2001073622A1 (fr) Dispositif i d'intercommunication selective de terminaux mobiles en proximite physique, egalement relies par des reseaux globaux

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

ST Notification of lapse

Effective date: 20200906