MLchartDataset catalogue

Patent · US11890761B2 · B2 · US

Method for interconnecting robots

(11) Publication number
US11890761B2
(21) Application number
16/970,856
(22) Filing date
2019-02-14
(30) Priority date
2018-02-20
(43) Publication date
2024-02-06
(45) Date of grant
2024-02-06
(51) IPC
B25J 13/00; B25J 13/08; B25J 9/10; B25J 9/16
(52) CPC
  • B25J Manipulators; chambers provided with manipulation devices: 9/1682, 13/006, 13/087, 9/10, 9/161, 9/162, 9/1658, 9/1661, 9/1669
  • G06F Electric digital data processing: 9/546
  • H04L Transmission of digital information, e.g. telegraphic communication: 12/2803, 63/0428, 67/125, 69/26
(73) Assignee
Universite de Reims Champagne Ardenne URCA
(72) Inventors
Marwane Ayaida; Nadhir Messai; Frédéric VALENTIN; Dimitri Marcheras; Lissan Afilal
(54) Title
Method for interconnecting robots
(57) Abstract

A method for interconnecting a first robot with at least one second robot, each robot including at least: a first program, a second program, a third program, the method including the following steps, implemented by the second program after reception of a first message from the third program: conversion of the first message into a second message, the second message being formatted according to a predefined object structure including a field typ_msg indicating a type of the message amongst the types: command, query, or information; transmission of the second message to at least one program amongst: a first program belonging to the same robot, a second program of another robot.

Full text
View on Google Patents

Claims (20)

  1. A method for interconnecting a first robot with at least one second robot, each robot comprising at least: a monitor-control unit, the monitor-control unit comprising at least one processor and at least one memory module; at least one peripheral equipment, the at least one peripheral equipment comprising an actuator or a sensor; at least one communication equipment; a first program, configured to pilot the at least one communication equipment, and comprising a plurality of first software modules executed on the at least one processor; a second program, comprising a plurality of second software modules executed on the at least one processor, a configuration of the second program being determined by a setup file including a field typ_service indicating a sending mode amongst an interpret or a direct mode, the sending mode characterizing messages transmitted by the second program; a third program, configured to control the actuator and/or the sensor, and comprising a plurality of third software modules executed on the at least one processor; the method comprising the following steps, implemented by the second program within each of the robots, after reception by the second program of a first message originating from the third program: conversion of the first message into a second message, the second message being formatted according to a predefined object structure comprising a field typ_msg indicating a type of message amongst the types: command, query, or information; transmission of the second message to at least one program amongst: a first program belonging to the same robot, a second program of another robot; the method further comprising the following steps, implemented by the second program within each of the robots, after reception by the second program of a third message, formatted according to the predefined object structure, originating from at least one program amongst: a first program belonging to the same robot, a second program of another robot, when the field typ_msg of the third message indicates a command type or a query type: translation of the third message into a program portion adapted to be implemented by the third program when the a field typ_service of the setup file which is associated to the third message indicates the direct sending mode; and/or transmission according to a second transport protocol, of at least one portion of the third message, or of the program portion, to the third program.
  2. The method according to claim 1, wherein the step of transmitting at least one portion of the third message, or of the program portion, comprises at least: a first transmission, according to the second transport protocol, of a fourth message from the second program towards a fourth program, a second transmission of a fifth message from the fourth program to the third program.
  3. The method according to claim 1, wherein the first, second, and third, messages are in JSON format.
  4. The method according to claim 1, wherein the second protocol is of a TCP type protocol.
  5. The method according to claim 1, wherein the second program encrypts the second message before transmitting it if the addressee is the at least one second robot, and wherein the second program decrypts the third message before translating or transmitting it, if the sender is the at least one second robot.
  6. The method according to claim 1, wherein the at least one second robot comprises a remote operator connected to an Internet server.
  7. The method according to claim 1, wherein the third program comprises an operating system of each robot and a driver program of at least one actuator and/or of at least one sensor.
  8. A computer program comprising a set of instructions configured to execute the method according to claim 1.
  9. The method according to claim 1, wherein a first transport protocol is used for the transmission of a sixth message between the second program of the first robot and the second program of the at least one second robot.
  10. The method according to claim 9, wherein the first transport protocol is a UDP type protocol.
  11. The method according to claim 1, wherein the at least one telecommunication equipment comprises a wireless communication means.
  12. The method according to claim 11, wherein the wireless communication means comprises at least one module amongst: a WIFI type module, a RFID type module, a Bluetooth type module, a GSM type module.
  13. The method according to claim 1, wherein the translation step comprises access within the second program to a configuration file recorded in the at least one memory module, the configuration file providing the second program with the program portion adapted to be implemented by the third program.
  14. The method according to claim 13, wherein the step of transmitting at least one portion of the third message, or of the program portion, comprises at least: a first transmission, according to the second transport protocol, of a fourth message from the second program towards a fourth program, a second transmission of a fifth message from the fourth program to the third program.
  15. The method according to claim 14, wherein a first transport protocol is used for the transmission of a sixth message between the second program of the first robot and the second program of the at least one second robot.
  16. The method according to claim 15, wherein the first, second, third, fourth, fifth and sixth exchanged messages are in JSON format.
  17. The method according to claim 16, wherein the first protocol is a UDP type protocol.
  18. The method according to claim 17, wherein the second protocol is of a TCP type protocol.
  19. A method for managing the cooperation between a plurality of robots, each robot of the plurality of robots comprising at least: a monitor-control unit, the monitor-control unit comprising at least one processor and at least one memory module; at least one peripheral equipment, the at least one peripheral equipment comprising an actuator or a sensor; at least one communication equipment connected to at least one communication network; a first program, configured to pilot the at least one communication equipment, and comprising a plurality of first software modules executed on the at least one processor; a second program, comprising a plurality of second software modules executed on the at least one processor, a configuration of the second program being determined by a setup file including a field typ_service indicating a sending mode amongst an interpret or a direct mode, the sending mode characterizing messages transmitted by the second program; a third program, configured to control the actuator and/or the sensor, and comprising a plurality of third software modules executed on the at least one processor; the method comprising the following steps: emission by an application layer hosted by a server or accessible through the Internet, of a mission file, the mission file comprising a list of planned elementary tasks and the sequencing thereof, and of an identification and prioritization file of the at least one peripheral equipment, reception of the mission file and of the identification and prioritization file, by an equipment service of the first program of each robot of the plurality of robots, transmission, by the first program of each robot of the plurality of robots, of a first query-type message to its second program, to determine an identifier of each available peripheral equipment of the at least one peripheral equipment of each robot of the plurality of robots, implementation, by the second program of each robot of the plurality of robots, after reception by the second program of a first message originating from the third program: conversion of the first message into a second message, the second message being formatted according to a predefined object structure comprising a field typ_msg indicating a type of the message amongst the types: command, query, or information; transmission of the second message to at least one program amongst: a first program belonging to the same robot, a second program of another robot; the method further comprising the following steps, implemented by the second program within each robot of the plurality of robots, after reception by the second program of a third message, formatted according to the predefined object structure, originating from at least one program amongst: a first program belonging to the same robot, a second program of another robot, when the field typ_msg of the third message indicates a command type or a query type: translation of the third message into a program portion adapted to be implemented by the third program when a field typ_service of the setup file which is associated to the third message indicates the direct sending mode; and/or transmission according to a second transport protocol, of at least one portion of the third message, or of the program portion, to the third program, and implementation by the second program of each robot of the plurality of robots to request from the third program and transmit to the first program the identifier of the at least one peripheral equipment available on each robot of the plurality of robots; processing by the equipment service of the first program of each robot of the plurality of robots of the identifier of the at least one peripheral equipment available on each robot of the plurality of robots to generate a list of tasks feasible by each robot of the plurality of robots, transmission to each robot of the plurality of robots and/or to a centralized service of the server, by each negotiation/election service of the first program of the list of the tasks feasible by each robot of the plurality of robots, production by the centralized service of the server and/or following a process of communication between a negotiation/election service of each robot of the plurality of robots, based on the identification and prioritization file of the at least one peripheral equipment available on each robot of the plurality of robots and on the list of tasks feasible by each robot of the plurality of robots, of a list of robots of the plurality of robots participating in the mission file, execution of the mission file, synchronization of the robots of the plurality of robots, supervision of the execution of the mission file.
  20. A computer program comprising a set of instructions configured to execute the method according to claim 19.

Description

The present invention concerns the field of communication between connected devices (movable robots, sensors, etc.), and of interoperability of these connected devices.

It is known to use movable robots of different types, such as humanoid robots, movable carriages, with or without a manipulator arm, drones, etc. Quite often, these robots are associated with different sensors for acquiring surrounding data, and provided with an ad-hoc communication and different operating and monitor-control systems. The implementation of these different objects, substantially autonomous, to make them execute complex operations, by organizing a distribution of the tasks to be completed and a cooperation between these objects, requires means for communications and exchanges of information between hardware and software equipment that are often quite heterogeneous.

To date, there is no interface software or program, also called middleware, that is generic enough to ensure the desired communication and interoperability between these movable objects (robots and/or other data sensors), which are heterogeneous both by their physical characteristics and by their respective operating software, while allowing in particular opening of high-level application services, as well as an easy and unified integration of third-party software bricks.

Citations (7)

  • US6374155B1
  • US6687571B1
  • US20060079997A1
  • EP2107723A1
  • US20090254671A1
  • US20130123980A1
  • US20190109820A1
Record as JSON
{
  "publication_number": "US11890761B2",
  "country": "US",
  "kind": "B2",
  "title": "Method for interconnecting robots",
  "abstract": "A method for interconnecting a first robot with at least one second robot, each robot including at least: a first program, a second program, a third program, the method including the following steps, implemented by the second program after reception of a first message from the third program: conversion of the first message into a second message, the second message being formatted according to a predefined object structure including a field typ_msg indicating a type of the message amongst the types: command, query, or information; transmission of the second message to at least one program amongst: a first program belonging to the same robot, a second program of another robot.",
  "claims": [
    "1. A method for interconnecting a first robot with at least one second robot, each robot comprising at least: a monitor-control unit, the monitor-control unit comprising at least one processor and at least one memory module; at least one peripheral equipment, the at least one peripheral equipment comprising an actuator or a sensor; at least one communication equipment; a first program, configured to pilot the at least one communication equipment, and comprising a plurality of first software modules executed on the at least one processor; a second program, comprising a plurality of second software modules executed on the at least one processor, a configuration of the second program being determined by a setup file including a field typ_service indicating a sending mode amongst an interpret or a direct mode, the sending mode characterizing messages transmitted by the second program; a third program, configured to control the actuator and/or the sensor, and comprising a plurality of third software modules executed on the at least one processor; the method comprising the following steps, implemented by the second program within each of the robots, after reception by the second program of a first message originating from the third program: conversion of the first message into a second message, the second message being formatted according to a predefined object structure comprising a field typ_msg indicating a type of message amongst the types: command, query, or information; transmission of the second message to at least one program amongst: a first program belonging to the same robot, a second program of another robot; the method further comprising the following steps, implemented by the second program within each of the robots, after reception by the second program of a third message, formatted according to the predefined object structure, originating from at least one program amongst: a first program belonging to the same robot, a second program of another robot, when the field typ_msg of the third message indicates a command type or a query type: translation of the third message into a program portion adapted to be implemented by the third program when the a field typ_service of the setup file which is associated to the third message indicates the direct sending mode; and/or transmission according to a second transport protocol, of at least one portion of the third message, or of the program portion, to the third program.",
    "2. The method according to claim 1, wherein the step of transmitting at least one portion of the third message, or of the program portion, comprises at least: a first transmission, according to the second transport protocol, of a fourth message from the second program towards a fourth program, a second transmission of a fifth message from the fourth program to the third program.",
    "3. The method according to claim 1, wherein the first, second, and third, messages are in JSON format.",
    "4. The method according to claim 1, wherein the second protocol is of a TCP type protocol.",
    "5. The method according to claim 1, wherein the second program encrypts the second message before transmitting it if the addressee is the at least one second robot, and wherein the second program decrypts the third message before translating or transmitting it, if the sender is the at least one second robot.",
    "6. The method according to claim 1, wherein the at least one second robot comprises a remote operator connected to an Internet server.",
    "7. The method according to claim 1, wherein the third program comprises an operating system of each robot and a driver program of at least one actuator and/or of at least one sensor.",
    "8. A computer program comprising a set of instructions configured to execute the method according to claim 1.",
    "9. The method according to claim 1, wherein a first transport protocol is used for the transmission of a sixth message between the second program of the first robot and the second program of the at least one second robot.",
    "10. The method according to claim 9, wherein the first transport protocol is a UDP type protocol.",
    "11. The method according to claim 1, wherein the at least one telecommunication equipment comprises a wireless communication means.",
    "12. The method according to claim 11, wherein the wireless communication means comprises at least one module amongst: a WIFI type module, a RFID type module, a Bluetooth type module, a GSM type module.",
    "13. The method according to claim 1, wherein the translation step comprises access within the second program to a configuration file recorded in the at least one memory module, the configuration file providing the second program with the program portion adapted to be implemented by the third program.",
    "14. The method according to claim 13, wherein the step of transmitting at least one portion of the third message, or of the program portion, comprises at least: a first transmission, according to the second transport protocol, of a fourth message from the second program towards a fourth program, a second transmission of a fifth message from the fourth program to the third program.",
    "15. The method according to claim 14, wherein a first transport protocol is used for the transmission of a sixth message between the second program of the first robot and the second program of the at least one second robot.",
    "16. The method according to claim 15, wherein the first, second, third, fourth, fifth and sixth exchanged messages are in JSON format.",
    "17. The method according to claim 16, wherein the first protocol is a UDP type protocol.",
    "18. The method according to claim 17, wherein the second protocol is of a TCP type protocol.",
    "19. A method for managing the cooperation between a plurality of robots, each robot of the plurality of robots comprising at least: a monitor-control unit, the monitor-control unit comprising at least one processor and at least one memory module; at least one peripheral equipment, the at least one peripheral equipment comprising an actuator or a sensor; at least one communication equipment connected to at least one communication network; a first program, configured to pilot the at least one communication equipment, and comprising a plurality of first software modules executed on the at least one processor; a second program, comprising a plurality of second software modules executed on the at least one processor, a configuration of the second program being determined by a setup file including a field typ_service indicating a sending mode amongst an interpret or a direct mode, the sending mode characterizing messages transmitted by the second program; a third program, configured to control the actuator and/or the sensor, and comprising a plurality of third software modules executed on the at least one processor; the method comprising the following steps: emission by an application layer hosted by a server or accessible through the Internet, of a mission file, the mission file comprising a list of planned elementary tasks and the sequencing thereof, and of an identification and prioritization file of the at least one peripheral equipment, reception of the mission file and of the identification and prioritization file, by an equipment service of the first program of each robot of the plurality of robots, transmission, by the first program of each robot of the plurality of robots, of a first query-type message to its second program, to determine an identifier of each available peripheral equipment of the at least one peripheral equipment of each robot of the plurality of robots, implementation, by the second program of each robot of the plurality of robots, after reception by the second program of a first message originating from the third program: conversion of the first message into a second message, the second message being formatted according to a predefined object structure comprising a field typ_msg indicating a type of the message amongst the types: command, query, or information; transmission of the second message to at least one program amongst: a first program belonging to the same robot, a second program of another robot; the method further comprising the following steps, implemented by the second program within each robot of the plurality of robots, after reception by the second program of a third message, formatted according to the predefined object structure, originating from at least one program amongst: a first program belonging to the same robot, a second program of another robot, when the field typ_msg of the third message indicates a command type or a query type: translation of the third message into a program portion adapted to be implemented by the third program when a field typ_service of the setup file which is associated to the third message indicates the direct sending mode; and/or transmission according to a second transport protocol, of at least one portion of the third message, or of the program portion, to the third program, and implementation by the second program of each robot of the plurality of robots to request from the third program and transmit to the first program the identifier of the at least one peripheral equipment available on each robot of the plurality of robots; processing by the equipment service of the first program of each robot of the plurality of robots of the identifier of the at least one peripheral equipment available on each robot of the plurality of robots to generate a list of tasks feasible by each robot of the plurality of robots, transmission to each robot of the plurality of robots and/or to a centralized service of the server, by each negotiation/election service of the first program of the list of the tasks feasible by each robot of the plurality of robots, production by the centralized service of the server and/or following a process of communication between a negotiation/election service of each robot of the plurality of robots, based on the identification and prioritization file of the at least one peripheral equipment available on each robot of the plurality of robots and on the list of tasks feasible by each robot of the plurality of robots, of a list of robots of the plurality of robots participating in the mission file, execution of the mission file, synchronization of the robots of the plurality of robots, supervision of the execution of the mission file.",
    "20. A computer program comprising a set of instructions configured to execute the method according to claim 19."
  ],
  "description_excerpt": "The present invention concerns the field of communication between connected devices (movable robots, sensors, etc.), and of interoperability of these connected devices.\n\nIt is known to use movable robots of different types, such as humanoid robots, movable carriages, with or without a manipulator arm, drones, etc. Quite often, these robots are associated with different sensors for acquiring surrounding data, and provided with an ad-hoc communication and different operating and monitor-control systems. The implementation of these different objects, substantially autonomous, to make them execute complex operations, by organizing a distribution of the tasks to be completed and a cooperation between these objects, requires means for communications and exchanges of information between hardware and software equipment that are often quite heterogeneous.\n\nTo date, there is no interface software or program, also called middleware, that is generic enough to ensure the desired communication and interoperability between these movable objects (robots and/or other data sensors), which are heterogeneous both by their physical characteristics and by their respective operating software, while allowing in particular opening of high-level application services, as well as an easy and unified integration of third-party software bricks.",
  "cpc": [
    "B25J 9/1682",
    "B25J 13/006",
    "B25J 13/087",
    "B25J 9/10",
    "B25J 9/161",
    "B25J 9/162",
    "B25J 9/1658",
    "B25J 9/1661",
    "B25J 9/1669",
    "G06F 9/546",
    "H04L 12/2803",
    "H04L 63/0428",
    "H04L 67/125",
    "H04L 69/26"
  ],
  "ipc": [
    "B25J 13/00",
    "B25J 13/08",
    "B25J 9/10",
    "B25J 9/16"
  ],
  "assignees": [
    "Universite de Reims Champagne Ardenne URCA"
  ],
  "inventors": [
    "Marwane Ayaida",
    "Nadhir Messai",
    "Frédéric VALENTIN",
    "Dimitri Marcheras",
    "Lissan Afilal"
  ],
  "filing_date": "2019-02-14",
  "publication_date": "2024-02-06",
  "grant_date": "2024-02-06",
  "priority_date": "2018-02-20",
  "application_number": "US-201916970856-A",
  "family_id": "62683312",
  "cited_by_count": 0,
  "citations": [
    "US6374155B1",
    "US6687571B1",
    "US20060079997A1",
    "EP2107723A1",
    "US20090254671A1",
    "US20130123980A1",
    "US20190109820A1"
  ]
}

Record 561 of 8,000 in Patents full text (MLC-0201). Request the full dataset.