JP7266048B2 - How to interconnect robots - Google Patents

How to interconnect robots Download PDF

Info

Publication number
JP7266048B2
JP7266048B2 JP2020566329A JP2020566329A JP7266048B2 JP 7266048 B2 JP7266048 B2 JP 7266048B2 JP 2020566329 A JP2020566329 A JP 2020566329A JP 2020566329 A JP2020566329 A JP 2020566329A JP 7266048 B2 JP7266048 B2 JP 7266048B2
Authority
JP
Japan
Prior art keywords
program
robot
message
robots
interconnection method
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.)
Active
Application number
JP2020566329A
Other languages
Japanese (ja)
Other versions
JP2021514515A (en
Inventor
マルワン アヤイダ
ナジール メサイ
フレデリック ヴァレンタン
ディミトリ マルシェラ
リッサン アフィラル
Original Assignee
ユニヴェルシテ・ドゥ・ランス・シャンパーニュ-アルデンヌ
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 ユニヴェルシテ・ドゥ・ランス・シャンパーニュ-アルデンヌ filed Critical ユニヴェルシテ・ドゥ・ランス・シャンパーニュ-アルデンヌ
Publication of JP2021514515A publication Critical patent/JP2021514515A/en
Application granted granted Critical
Publication of JP7266048B2 publication Critical patent/JP7266048B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • 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
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • 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
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/087Controls for manipulators by means of sensing devices, e.g. viewing or touching devices for sensing other physical parameters, e.g. electrical or chemical properties
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Manipulator (AREA)

Description

本発明は、接続されたデバイス群(移動可能なロボット群、センサ群等)の間の通信の分野、及びこれら接続されたデバイス群の相互運用性の分野に関する。 The present invention relates to the field of communication between connected devices (mobile robots, sensors, etc.) and interoperability of these connected devices.

ヒューマノイドロボット、操作アームを持つ又は持たない移動可能なキャリッジ、ドローン等のような、異なるタイプの移動可能なロボットを使うことが知られている。かなり頻繁に、これらロボットは、周囲のデータを獲得するための異なるセンサに関連付けられ、アドホック通信及び異なるオペレーティング及びモニタコントロールシステムを備える。実質的に自律的なこれら異なるオブジェクトに、完了されるべきタスクの分散及びこれらオブジェクト群の間の協働を組織化することによって、複雑な操作を実行させるためのインプリメンテーションは、しばしば相当に異種のものからなる、ハードウェア及びソフトウェア機器の間の通信及び情報のやりとりを必要とする。 It is known to use different types of mobile robots, such as humanoid robots, mobile carriages with or without operating arms, drones, and the like. Quite often these robots are associated with different sensors for acquiring data on their surroundings, equipped with ad-hoc communication and different operating and monitor control systems. Implementations for having these different objects, which are substantially autonomous, perform complex operations by organizing the distribution of tasks to be completed and the cooperation among these objects are often considerable. It requires communication and exchange of information between hardware and software devices of disparate nature.

今まで、その物理的特性によって及びそのそれぞれのオペレーティングソフトウェアによっての両方でヘテロジニアスでありながら、サードパーティソフトウェアブロックの容易で統一された統合だけでなく、特に高レベルアプリケーションサービスの開放を可能にする、これら移動可能なオブジェクト群(ロボット及び/又は他のデータセンサ)の間の所望の通信及び相互運用性を確実にするのに十分なインターフェイスソフトウェア又はプログラム、又はミドルウェアと呼ばれるものは存在しなかった。 Until now, it enables easy and unified integration of third-party software blocks as well as the opening of especially high-level application services, while being heterogeneous both by its physical characteristics and by its respective operating software. , there has not existed sufficient interface software or programs, or what is called middleware, to ensure the desired communication and interoperability between these movable objects (robots and/or other data sensors). .

よって、解決されるべき課題は、特に、おそらくはリモートで、協働して及び/又は1つ以上の操作者(群)によって、特定のタスクの完了のためのオブジェクトの1つ以上のフリート(群)に所属し得るこれらのオブジェクトを相互接続することによって、異種の移動可能なオブジェクトを一緒にすることができるインターフェイスソフトウェアを設計することにある。 Thus, the problem to be solved is, inter alia, the interaction of one or more fleets of objects, possibly remotely, collaboratively and/or by one or more operator(s), for the completion of a particular task. ) to design interface software that can bring together disparate movable objects by interconnecting these objects.

よって本発明は、この課題の全て又は一部に対する解決策を提供することを目的とする。 It is therefore an object of the present invention to provide a solution to all or part of this problem.

この目的のために、本発明は、第1ロボットを少なくとも1つの第2ロボットに相互接続する方法、及び複数のロボットの間の協働を管理する方法に関し、加えてこれら方法を実行するよう構成された命令を含む少なくとも1つのコンピュータプログラムにも関する。 To this end, the invention relates to a method of interconnecting a first robot with at least one second robot, and to a method of managing cooperation between a plurality of robots, and additionally adapted to carry out these methods. It also relates to at least one computer program comprising written instructions.

本発明は、第1ロボットを少なくとも1つの第2ロボットと相互接続する方法に関し、それぞれのロボットは、
モニタ制御ユニットであって、前記モニタ制御ユニットは、少なくとも1つのプロセッサ及び少なくとも1つのメモリモジュールを備える、モニタ制御ユニットと、
アクチュエータ又はセンサのような少なくとも1つの周辺機器と、
少なくとも1つの通信ネットワークに接続された少なくとも1つの通信機器と、
前記少なくとも1つの通信機器を制御するよう構成され、前記少なくとも1つのプロセッサ上で実行される複数の第1ソフトウェアモジュールを含む第1プログラムP1と、
前記少なくとも1つのプロセッサ上で実行される複数の第2ソフトウェアモジュールを含む第2プログラムであって、前記第2プログラムの構成は、解釈モード又は直接モードの間で送信モードを示すフィールドtyp_serviceを含むセットアップファイルによって決定され、前記送信モードは、前記第2プログラムによって送信されるメッセージを特徴付ける、第2プログラムP2と、
前記少なくとも1つのアクチュエータ及び/又は前記少なくとも1つのセンサを制御するよう構成され、前記少なくとも1つのプロセッサ上で実行される複数の第3ソフトウェアモジュールを含む第3プログラムP3と
を少なくとも備え、
前記方法は、前記第3プログラムから発生する第1メッセージの前記第2プログラムによる受信の後に、前記ロボットのそれぞれの中で前記第2プログラムによって実現される以下のステップ
前記第1メッセージを第2メッセージへ変換することであって、前記第2メッセージは、コマンド、クエリ、又は情報のタイプ群のうちの前記メッセージのタイプを示すフィールドtyp_msgを含む予め定義されたオブジェクト構造に従ってフォーマットされる、変換することと、
前記第2メッセージを、同じロボットに属する第1プログラム、他のロボットの第2プログラムのうちの少なくとも1つのプログラムに送信することと、
を含み、
前記相互接続方法は、同じロボットに属する第1プログラム、他のロボットの第2プログラムのうちの少なくとも1つのプログラムから発生する、前記予め定義されたオブジェクト構造に従ってフォーマットされた第3メッセージの前記第2プログラムによる受信の後に、前記第3メッセージの前記フィールドtyp_msgが、コマンドタイプ又はクエリタイプを示す時に、前記ロボットのそれぞれの中で前記第2プログラムによって実現される以下のステップ
前記第3メッセージに関連付けられた前記セットアップファイルの前記フィールドtyp_serviceが前記ダイレクト送信モードを表す時に、前記第3メッセージを、前記第3プログラムによって実現されるよう構成されたプログラム部分に翻訳することと、及び/又は
第2伝送プロトコルに従って、前記第3メッセージの、又は前記プログラム部分の少なくとも一部を前記第3プログラムに送信することと
をさらに含む。
The present invention relates to a method of interconnecting a first robot with at least one second robot, each robot comprising:
a monitor control unit, said monitor control unit comprising at least one processor and at least one memory module;
at least one peripheral such as an actuator or sensor;
at least one communication device connected to at least one communication network;
a first program P1 configured to control the at least one communication device and comprising a plurality of first software modules running on the at least one processor;
A second program comprising a plurality of second software modules executing on said at least one processor, wherein the configuration of said second program comprises a field typ_service indicating a transmission mode between interpreted mode or direct mode. a second program P2, determined by a file, wherein said transmission mode characterizes messages transmitted by said second program;
a third program P3 configured to control the at least one actuator and/or the at least one sensor and comprising a plurality of third software modules running on the at least one processor;
The method comprises the following steps implemented by the second program in each of the robots after receipt by the second program of a first message originating from the third program: converting the first message to a second message; wherein the second message is formatted according to a predefined object structure including a field typ_msg indicating the type of the message among command, query, or information types. and,
sending the second message to at least one of a first program belonging to the same robot and a second program of another robot;
including
Said interconnection method comprises said second message of a third message formatted according to said predefined object structure originating from at least one of a first program belonging to the same robot and a second program of another robot. After programmatic reception, the following steps implemented by said second program in each of said robots when said field typ_msg of said third message indicates a command type or query type associated with said third message: translating the third message into a program portion configured to be implemented by the third program when the field typ_service of the setup file indicates the direct transmission mode; and/or a second transmission protocol. sending at least a portion of said third message or of said program portion to said third program according to.

有利には、それを通して第2プログラムP2が、送信されるべき情報及び/又は命令のフォーマッティングを確保する、予め定義され一般的なオブジェクト構造は、以下のフィールドによって構成される。 Advantageously, the predefined and generic object structure through which the second program P2 ensures the formatting of the information and/or commands to be transmitted is constituted by the following fields.

-メッセージタイプ:コマンド、情報又はクエリ;
-メッセージサブタイプ:データ(位置、リアル、画像、ビデオ、…)又はコマンド(アドバンス、プルバック、ストップ、…)タイプ;
-ソース:ペアIPアドレス/ポートによって又はソースの名称によって又はソースの名称によって構成される送信者アドレス(ペアIPアドレス/ポートは、ルーティングテーブルでそれに関連付けられ得る);
-デスティネーション:ペアIPアドレス/ポート、又は受信者の名称によって構成された受信者アドレス;
-データフィールドのサイズ;
-データ。
- message type: command, information or query;
- message subtype: data (position, real, image, video, ...) or command (advance, pullback, stop, ...) type;
- source: sender address configured by pair IP address/port or by source name or by source name (pair IP address/port may be associated with it in the routing table);
- Destination: Recipient address constructed by pair IP address/port or recipient name;
- the size of the data field;
-data.

本発明の局面によれば、翻訳ステップは、少なくとも1つのメモリモジュール内に記憶されたルックアップテーブル又はデータベースのような第2プログラム内でのコンフィギュレーションファイル(P2に属する)へのアクセスを含み、コンフィギュレーションファイルは、第3プログラムによって実現されるよう構成されたプログラム部分を第2プログラムに提供する。 According to an aspect of the invention, the translation step includes accessing a configuration file (belonging to P2) within the second program, such as a lookup table or database stored within at least one memory module, The configuration file provides the second program with program portions configured to be implemented by the third program.

好ましくは、コンフィギュレーションファイルは、第2プログラムが
・メッセージのサブタイプ(前で提示されたオブジェクト構造のサブタイプフィールド内で定義される)と、データ(前で提示されたオブジェクト構造のデータフィールド内で定義される)との対応を確率すること、
・第3プログラムによって実現されるよう構成されたプログラム部分を選択すること(後者がそれを直接に実行できるようにする、ロボットの適切な言語におけるコマンドの又はクエリの翻訳)
をできるようにする。
Preferably, the configuration file is configured so that the second program: message subtypes (defined within the subtype field of the object structure presented above) and data (defined within the data field of the object structure presented above); ),
- Selecting program parts configured to be implemented by a third program (translation of commands or queries in the appropriate language of the robot, allowing the latter to execute it directly);
to be able to

本発明のある局面によれば、前記第3メッセージの、又は前記プログラム部分の少なくとも一部を送信するステップは、
・第2伝送プロトコルによる、前記第2プログラムから第4プログラムへの第4メッセージの第1送信と、
・前記第4プログラムから前記第3プログラムへの第5メッセージの第2送信と、
少なくとも含む。
According to one aspect of the invention, sending at least part of said third message or of said program portion comprises:
a first transmission of a fourth message from said second program to a fourth program according to a second transmission protocol;
- a second transmission of a fifth message from said fourth program to said third program;
At least include.

本発明のある局面によれば、第1伝送プロトコルは、前記第1ロボットの前記第2プログラムと、前記第2ロボットの前記第2プログラムとの間の第6メッセージの送信のために用いられる。 According to one aspect of the invention, a first transmission protocol is used for transmission of a sixth message between said second program of said first robot and said second program of said second robot.

本発明のある局面によれば、やり取りされた前記第1、第2、第3、第4、第5、及び第6メッセージは、JSONフォーマットである。 According to one aspect of the invention, the first, second, third, fourth, fifth and sixth messages exchanged are in JSON format.

本発明のある局面によれば、前記第1プロトコルは、UDPタイプである。 According to one aspect of the invention, the first protocol is of UDP type.

本発明のある局面によれば、前記第2プロトコルは、TCPタイプである。 According to one aspect of the invention, the second protocol is of TCP type.

本発明のある局面によれば、前記少なくとも1つの電気通信機器は、無線通信手段を備える。 According to one aspect of the invention, said at least one telecommunication device comprises wireless communication means.

本発明のある局面によれば、前記無線通信手段は、WIFIタイプのモジュール、RFIDタイプのモジュール、ブルートゥースタイプのモジュール、GSMタイプのモジュールのうちの少なくとも1つのモジュールを備える。 According to an aspect of the invention, said wireless communication means comprise at least one module of WIFI type, RFID type, Bluetooth type, GSM type module.

本発明のある局面によれば、前記第1ロボットの前記第2プログラムは、もし前記受信者が前記少なくとも1つの第2ロボットであるなら、前記第2メッセージを送信する前に、前記第2メッセージを暗号化し、前記第1ロボットの前記第2プログラムは、もし前記送信者が前記少なくとも1つの第2ロボットであるなら、前記第3メッセージを翻訳又は送信する前に、前記第3メッセージを復号化する。 According to one aspect of the invention, the second program of the first robot, if the recipient is the at least one second robot, prior to sending the second message, and said second program in said first robot decrypts said third message before translating or transmitting said third message if said sender is said at least one second robot do.

よって、それぞれのロボット内で、第2プログラムは、メッセージをそれらのオリジン及びデスティネーションに依拠して、スマートに暗号化及び/又は復号化するよう構成されている。 Thus, within each robot, a second program is configured to intelligently encrypt and/or decrypt messages depending on their origin and destination.

本発明のある局面によれば、前記少なくとも1つの第2ロボットは、インターネットサーバーに接続されたリモートオペレータを備える。 According to one aspect of the invention, the at least one second robot comprises a remote operator connected to an internet server.

本発明のある局面によれば、前記第3プログラムは、前記ロボットの前記オペレーティングシステム及び少なくとも1つのアクチュエータ及び/又は少なくとも1つのセンサのドライバプログラムを含む。 According to one aspect of the invention, the third program includes the operating system of the robot and a driver program for at least one actuator and/or at least one sensor.

本発明は、また、複数のロボットの間の協働を管理する方法であって、前記複数のロボットのそれぞれは、
- モニタ制御ユニットであって、前記モニタ制御ユニットは、少なくとも1つのプロセッサ及び少なくとも1つのメモリモジュールを備える、モニタ制御ユニットと、
- アクチュエータ又はセンサのような少なくとも1つの周辺機器と、
- 少なくとも1つの通信ネットワークに接続された少なくとも1つの通信機器と、
- 前記少なくとも1つの通信機器を制御するよう構成され、前記少なくとも1つのプロセッサ上で実行される複数の第1ソフトウェアモジュールを含む第1プログラムと、
- 前記少なくとも1つのプロセッサ上で実行される複数の第2ソフトウェアモジュールを含む第2プログラムと、
- 前記少なくとも1つのアクチュエータ及び/又は前記少なくとも1つのセンサを制御するよう構成され、前記少なくとも1つのプロセッサ上で実行される複数の第3ソフトウェアモジュールを含む第3プログラムと
を少なくとも備え、
前記方法は、以下のステップ
サーバーによってホストされた又はインターネットを通してアクセス可能なアプリケーションレイヤによる、予定された基本タスク及びそれらの順序のリストを含む送信ファイルと、前記周辺機器の識別及び優先度ファイルとの送信と、
前記複数のロボットのそれぞれのロボットの前記第1プログラムの機器サービスによる、前記ミッションファイルと前記識別及び優先度ファイルとの受信と、
前記複数のロボットのそれぞれのロボットの前記第1プログラムによる、第1クエリタイプメッセージの、その第2プログラムへの送信であって、これにより前記複数のロボットのそれぞれのロボットの少なくとも1つの周辺機器のうちのそれぞれの利用可能な周辺機器の識別子を確定する、第1クエリタイプメッセージの送信と、
前記複数のロボットのそれぞれのロボットの前記第2プログラムによる、本発明による相互接続方法の実行によって、前記複数のロボットのそれぞれのロボット上で利用可能な周辺機器の識別子のリクエストを第3プログラムから行い(同じロボット内で)、前記第1プログラムに送信する(同じロボット内で)ことと、
前記利用可能な周辺機器の識別子の前記複数のロボットのそれぞれのロボットの前記第1プログラムの前記機器サービスによる処理によって、前記複数のロボットのそれぞれのロボットによって実現可能なタスクのリストを生成すること(それぞれのロボットは、その中で、そこに提供される周辺機器に従って完了できるタスクのリストを確定する)、
前記複数のロボットのそれぞれのロボットによって実現可能なタスクのリストを、前記第1プログラムP1のそれぞれのネゴシエーション/選択サービスによって、前記複数のロボットのそれぞれのロボットに及び/又は前記サーバーの中央化されたサービスに送信すること、
前記サーバーの中央化されたサービスによる及び/又は前記ロボットのそれぞれのネゴシエーション/選択サービスの間の通信の処理に続く、前記周辺機器の前記識別及び優先度ファイルに基づく、及び前記実現可能なタスクのリストに基づく、前記ミッションに参加するロボットのリストの作成と、
前記ミッションの実行と、
前記ロボットの同期と、
前記ミッションの実行の監督と
を含む。
The invention is also a method of managing collaboration between a plurality of robots, each of said plurality of robots:
- a monitor control unit, said monitor control unit comprising at least one processor and at least one memory module;
- at least one peripheral such as an actuator or sensor;
- at least one communication device connected to at least one communication network;
- a first program configured to control said at least one communication device and comprising a plurality of first software modules running on said at least one processor;
- a second program comprising a plurality of second software modules running on said at least one processor;
- at least a third program configured to control said at least one actuator and/or said at least one sensor and comprising a plurality of third software modules running on said at least one processor;
The method comprises the following steps: sending a file containing a list of scheduled basic tasks and their order, and an identification and priority file of the peripheral device, by an application layer hosted by a server or accessible through the Internet. send and
receiving the mission file and the identification and priority files by equipment services of the first program of each robot of the plurality of robots;
sending, by said first program of each robot of said plurality of robots, a first query type message to its second program, whereby at least one peripheral device of each robot of said plurality of robots is sent; sending a first query type message that establishes an identifier for each available peripheral of the
Execution of the interconnection method according to the present invention by the second program of each robot of the plurality of robots causes a third program to make a request for an identifier of a peripheral device available on each robot of the plurality of robots. sending (within the same robot) to said first program (within the same robot);
Generating a list of tasks that can be performed by each of the plurality of robots by processing the identifiers of the available peripherals by the device service of the first program of the respective robot of the plurality of robots ( Each robot establishes therein a list of tasks that can be completed according to the peripherals provided therein),
centralizing a list of tasks that can be performed by each robot of the plurality of robots to each robot of the plurality of robots and/or on the server by a respective negotiation/selection service of the first program P1; to send to the Service;
based on the identification and priority files of the peripherals and of the feasible tasks following processing of communications by the server's centralized service and/or between the robot's respective negotiation/selection services; creating a list of robots to participate in the mission based on the list;
executing the mission;
synchronizing the robot;
and overseeing the execution of said mission.

本発明は、また、本発明による少なくとも1つの方法を実行するよう構成された命令のセットを含むコンピュータプログラムに関する。 The invention also relates to a computer program comprising a set of instructions adapted to carry out at least one method according to the invention.

好ましくは、本発明は、ロボットを相互接続する方法を実行するよう構成された命令のセットを含むコンピュータプログラム、及びロボット間の協働の管理方法を実行するよう構成された命令のセットを含むコンピュータプログラムに関する。 Preferably, the present invention relates to a computer program comprising a set of instructions arranged to carry out the method of interconnecting robots and a computer program comprising a set of instructions arranged to carry out the method of managing cooperation between robots. Regarding the program.

適切な理解のために、本発明は、本発明による装置の実施形態を非限定的な例として表す添付の図面を参照して説明される。
図1は、完全にそれに一体化された本発明の第1変形例による移動可能なロボット、及びその環境の概略を図示したものである。 図2は、完全にそれに一体化された本発明の第1変形例による、通信するロボットの一隊の概略を図示したものである。 図3は、第2変形例による本発明のアーキテクチャの概略を図示したものであり、ここで本発明は、一方で、ロボットに部分的に統合され、他方で、部分的にクラウドへ追いやられている。 図4は、本発明による異なるアクター(ロボット、ユーザー)及び異なる可能性のある通信チャンネルの概略を図示したものである。 図5は、第1ロボットR1及び第2ロボットR3の間の通信のダイヤグラムを図示したものである。 図6は、ユーザーU1及びロボットR3の間の通信のダイヤグラムを図示したものである。 図7は、本発明によるロボットの協働のシナリオの概略を図示する。 図8Aは、本発明によるロボットの協働のシナリオの概略を図示する。 図8Bは、本発明によるロボットの協働のシナリオの概略を図示する。
For a better understanding, the invention will be described with reference to the accompanying drawings, which represent, by way of non-limiting example, embodiments of the device according to the invention.
FIG. 1 schematically illustrates a mobile robot according to a first variant of the invention fully integrated therein and its environment. FIG. 2 schematically illustrates a fleet of communicating robots according to a first variant of the invention fully integrated therein. FIG. 3 schematically illustrates the architecture of the invention according to a second variant, where the invention is partially integrated into robots on the one hand and relegated to the cloud on the other hand. there is FIG. 4 is a schematic diagram of different actors (robots, users) and different possible communication channels according to the invention. FIG. 5 shows a diagram of the communication between the first robot R1 and the second robot R3. FIG. 6 illustrates a diagram of the communication between user U1 and robot R3. FIG. 7 schematically illustrates a robot collaboration scenario according to the invention. FIG. 8A schematically illustrates a robot collaboration scenario according to the invention. FIG. 8B schematically illustrates a robot collaboration scenario according to the invention.

本発明及びその実施形態は、図1-図8A,図8Bからなる添付の図面を参照して説明される。 The present invention and its embodiments are described with reference to the accompanying drawings consisting of FIGS. 1-8A and 8B.

本発明は、図1に概略的に示されるような、スタンドアローンロボット1上で第2プログラムP2によって実現される方法に関する。P2は、1つ以上のサブプログラム(群)又はソフトウェアモジュール(群)を含み、第1プログラムP1と、2つの他のプログラム、第3プログラムP3及び第4プログラムP4との間のインターフェイスを行うことを確保するソフトウェアレイヤを構成する。これらプログラムP1、P3、及びP4のそれぞれは、1つ以上のサブプログラム(群)又はソフトウェアモジュール(群)を含み、それぞれは、ソフトウェアレイヤを構成する。 The invention relates to a method implemented by a second program P2 on a stand-alone robot 1, as schematically shown in FIG. P2 includes one or more sub-program(s) or software module(s) to interface between the first program P1 and two other programs, a third program P3 and a fourth program P4. Configure software layers that ensure Each of these programs P1, P3 and P4 includes one or more sub-program(s) or software module(s), each constituting a software layer.

図1に提示されるように、ロボット1は、
● 他のロボット2と通信し、ロボット1は、ロボット2に情報及び/又はコマンドを提供し得て、ロボット2を介して、ロボット1は、情報及び/又はコマンドを受け取り得て、いずれの場合も受動的に及び/又はリクエストに応じて行い、
● リモートサーバー3と通信し、リモートサーバー3を通して、
○ オペレーターは、互いにインタラクトするロボット(群)によって実行されるべきタスクをリモートで特定することができ、
○ ロボット1は、他のロボット2と通信(情報及び/又はコマンドを受動的及び/又はリクエストに応じて)することができる。
As presented in FIG. 1, the robot 1:
- Communicate with other robots 2, robots 1 may provide information and/or commands to robots 2, through robots 2 robots 1 may receive information and/or commands, in any case also passively and/or upon request,
● Communicate with remote server 3, through remote server 3,
o Operators can remotely specify tasks to be performed by robot(s) interacting with each other,
o Robots 1 can communicate (information and/or commands passively and/or on request) with other robots 2 .

本発明の変形例によれば、ロボット1及び2は、直接にかつ互いとだけ通信するよう構成される(例えば、リモートサーバー3に欠陥がある品質低下動作モードにおいて、又は例えばメンテナンスが実行されるべきであるとき、及び/又はコストに関連する理由のためにリモートサーバー3を使用することなく進行させるとき)。 According to a variant of the invention, the robots 1 and 2 are arranged to communicate directly and only with each other (e.g. in degraded operating modes where the remote server 3 is faulty or when e.g. maintenance is performed). and/or proceed without using the remote server 3 for cost-related reasons).

- 本方法の説明を図示する働きをここでするスタンドアローンロボット1は、スタンドアローンロボット又は任意の他の接続されたデバイスであり得るが、ここでこのデバイスは、図1で示されるメインハードウェア機器を備え、それは、可動性又は荷重グリッピング等のためのアクチュエータタイプA1、A2の少なくとも1つの周辺機器、及び/又は環境データ獲得(地理的位置、温度等)のためのセンサタイプCを備える。 - The stand-alone robot 1, which here serves to illustrate the description of the method, can be a stand-alone robot or any other connected device, where this device comprises the main hardware shown in FIG. Equipment comprising at least one peripheral of actuator type A1, A2 for mobility or load gripping etc. and/or sensor type C for environmental data acquisition (geographic position, temperature etc.).

- 少なくとも1つの周辺機器(群)のモニタ・制御ユニットは、少なくとも1つのプロセッサ4及び少なくとも1つのメモリモジュールMを備え、プログラム又はソフトウェアレイヤP1、P2、P3、及びP4(アダプテーションモジュール(adaptation module))は、モニタ・制御ユニット(図2でも示される)のプロセッサ4上で実行される。 - the monitor and control unit of at least one peripheral(s), comprising at least one processor 4 and at least one memory module M, containing program or software layers P1, P2, P3 and P4 (adaptation modules ) is executed on the processor 4 of the monitor and control unit (also shown in FIG. 2).

- 例えばWIFI、又はブルートゥース、又はGSM通信モジュールのような少なくとも1つの通信機器T1、T2は、考慮されているデバイス1がリモートサーバー3と及び/又は他の接続されたデバイス2と通信できるようにする。 - at least one communication equipment T1, T2, for example WIFI or Bluetooth or GSM communication module, to enable the considered device 1 to communicate with a remote server 3 and/or with other connected devices 2; do.

第1プログラムP1は、電気通信手段T1、T2の管理、及び同じロボット又は接続されたデバイスのサブプログラムの間、及び2つの別個のロボット又は接続されたデバイスに属するプログラム及びサブプログラムの間でやりとりされるメッセージの転送プロトコルのサポートを確保する。有利には、第1プログラムP1は、
● コラボレーションサービス、
● ネゴシエーション/選択サービス、
● 機器サービス、及び
● とりわけ周辺機器検出サービス、データ同期化サービスを含む通信バス
のような(限定ではなく)ソフトウェアモジュール群のセットを含む。
The first program P1 manages the telecommunication means T1, T2 and interacts between sub-programs of the same robot or connected device and between programs and sub-programs belonging to two separate robots or connected devices. ensure support for the transport protocol of the message being sent. Advantageously, the first program P1 comprises:
● collaboration services,
● negotiation/selection services;
Includes (but is not limited to) a set of software modules such as: device services; and communication buses including peripheral detection services, data synchronization services, among others.

第2プログラムP2、又はサブプログラム群又はソフトウェアモジュール群の第2セットは、本発明による方法を実現する。 A second program P2 or a second set of sub-programs or software modules implements the method according to the invention.

第1及び第2プログラムP1、P2は、汎用であって、オペレーティングシステムに関係なく、任意のロボット上で展開され得る。 The first and second programs P1, P2 are generic and can be deployed on any robot regardless of operating system.

第3プログラムP3、又はサブプログラム群又はソフトウェアモジュール群の第3セットは、それぞれのロボット又は接続されたデバイスの特定のオペレーティングシステム、及びロボット又は考慮されている接続されたデバイスに関連付けられたアクチュエータ及び/又はセンサの特定のドライバを含む。有利には、プログラムP3は、
● ロボットオペレーティングシステム(例えば、ROS、ユニバーサルロボットOS、ABB OS):ネイティブライブラリ、ナビゲーションパッケージ、…
● ネイティブフレームワーク:ドライバ、ライブラリ、…
のような(限定ではなく)ソフトウェアモジュール群のセットを含む。
A third program P3, or a third set of sub-programs or software modules, includes the specific operating system of each robot or connected device and the actuators and software associated with the robot or connected device under consideration. /or include a specific driver for the sensor. Advantageously, program P3 comprises:
● Robot operating systems (eg ROS, Universal Robots OS, ABB OS): native libraries, navigation packages, …
● Native frameworks: drivers, libraries, …
including (but not limited to) a set of software modules such as

本記載によって、第3プログラムP3の具体的なものにおいて、本発明は、ロボット群の1つ以上のフリート(群)の中でその相互運用性を提供及び保証するために、そのロボットに具体的なロボットOSを中心として機能することが十分に理解されるべきである。 By this description, in the specifics of the third program P3, the invention is specific to the robots in order to provide and ensure their interoperability within one or more fleets of robots. It should be fully understood that the robot OS functions as a core.

第4プログラムP4、又はアダプテーションサブプログラム群又はソフトウェアモジュール群の第4セットは、本発明がインストールされるロボットに適合されるべき、本発明の唯一のソフトウェアモジュールである。 The fourth program P4, or the fourth set of adaptation subprograms or software modules, is the only software module of the invention to be adapted to the robot on which the invention is installed.

ロボット及びプログラムP1、P2、P3、P4の外部にあるアダプテーションライブラリは、そのロボットに特定の言語における前記第4プログラムのスケルトンを生成することを特に可能にする。 An adaptation library external to the robot and programs P1, P2, P3, P4 makes it possible in particular to generate the skeleton of said fourth program in a language specific to that robot.

前記アダプテーションライブラリを介して生成され、その必要に応じて操作者によって完了され終了されなければならない第4プログラムP4のスケルトンの例(とりわけ、関数<<これをしろ(dothis)>>、<<あれをしろ(dothat)>>のレベルにおいて)は、以下では、プログラミング言語中でイタリックで示される([ ]で囲まれるように表記される)(コメントはボールド文字である(「 」で囲まれるように表記される))。 An example of a skeleton of a fourth program P4 generated via said adaptation library and which must be completed and terminated by the operator according to its needs (especially the functions <<dothis>>, <<that at the level of dothat >>) are shown below in italics in the programming language (shown enclosed in [ ]) (comments are in bold letters (shown enclosed in " " )).

////////
「P2への接続を可能する関数」

open=socket_open(‘ip’,’port’)
「したがってip, portは、P2がインストールされるロボット又はコンピュータのアドレス(ローカル、クラウド)である」

while (open==false):
open=socket_open(‘ip’,’port’)
end

////////
「P2からメッセージを受け取る(フィールド単位で(<<インタープリートされた(interpreted)>>モード))ために用いられ得る関数」

def recv_msg():

socket_send_string(‘ready’)
「ロボットはメッセージを受け取る準備ができていることをP2に通知する」

while from==””:
from=socket_read_string()
「第1フィールドを受け取るまでスタンバイする」
end

type=socket_read_ascii_float(1)
「その後、他のフィールドが1つずつ受け取られる」

stype=socket_read_string()
size=socket_read_ascii_float(1)
data=socket_read_string()
end

////////////
「P2に対してメッセージを送ることを可能にする関数(それをメッセージ内に示されたターゲットに送信することを担う)」

def send_msg(message):
socket_send_string(message)
end

//////////////////////
「受け取られたメッセージの異なるフィールドの値に従って採用する振る舞いを操作者が定義する関数。よって、“これをしろ(dothis)”、“あれをしろ(dothat)”という関数は、一般に、そのロボットに特定の1つ命令又は命令(群)のセットである(これは、第4プログラム、つまりロボットに適合されるべき本発明の唯一のソフトウェアモジュールの性質を特徴付ける)。」

def handle():
if type==”command”:
dothis
if type==”request”
dothat
////////
例えば、アダプテーションライブラリは、クラウド上で利用可能であり、又はローカルコンピュータ又はタブレットのようなリクエストに基づいてロボットに接続され得るシステムを通して利用可能である。
////////
"Functions that allow connection to P2"

open=socket_open('ip','port')
"So ip, port are the addresses (local, cloud) of the robot or computer where P2 is installed"

while (open==false):
open=socket_open('ip','port')
end

////////
"Functions that can be used to receive messages from P2 (field-by-field (<<interpreted>>>mode))"

def recv_msg():

socket_send_string('ready')
"Robot notifies P2 that it is ready to receive messages"

while from==””:
from=socket_read_string()
"I will stand by until I receive the first field."
end

type=socket_read_ascii_float(1)
"Then the other fields are received one by one"

stype=socket_read_string()
size=socket_read_ascii_float(1)
data=socket_read_string()
end

////////////
"A function that allows sending a message to P2 (responsible for sending it to the target indicated in the message)"

def send_msg(message):
socket_send_string(message)
end

///////////////////////
"Functions in which the operator defines the behavior to adopt according to the values of different fields of the received message. Thus, the functions ``do this'' and ``do that'' are generally A specific instruction or set of instructions (which characterizes the fourth program, the only software module of the invention to be adapted to the robot)."

def handle():
if type==”command”:
dothis
if type==”request”
do that
////////
For example, adaptation libraries are available on the cloud or through a system such as a local computer or tablet that can be connected to the robot on request.

アダプテーションライブラリは、またロボット間のインタラクションのシナリオ(群)の定義及び構成において操作者を補助し得る。 The adaptation library may also assist the operator in defining and configuring scenario(s) of interaction between robots.

よって、アダプテーションソフトウェアモジュール(第4プログラムP4)は、操作者の必要に応じてカスタマイズされ、前記アダプテーションライブラリを介して少なくとも部分的に生成される。それは、とりわけ、以下の4つの関数を含む。 Thus, the adaptation software module (fourth program P4) is customized according to the needs of the operator and generated at least partially via said adaptation library. It contains, among others, the following four functions.

● <<コネクション>>:この関数は、ロボットをソフトウェアレイヤP1及びP2に接続することを可能にし、これは、適切なペアのIPアドレス/ポートの指示に特に基づいている。 - <<Connection>>: This function allows the robot to connect to the software layers P1 and P2, which is specifically based on the IP address/port designation of the appropriate pair.

● <<メッセージ送信>>:メッセージは、次から次へと送られるいくつかのフィールドによって作成され、これらメッセージは、6つのフィールド(タイプ、サブタイプ、ソース、デスティネーション、サイズ、データ)によって作成される。 ● <<Send Message>>: A message is made up of several fields that are sent one after another, and these messages are made up of 6 fields (Type, Subtype, Source, Destination, Size, Data). be done.

● <<メッセージ受信>>:受け取られたメッセージは、後で詳述される、特定の構造に準拠しなければならない。さらにロボットがデータを受け取れるようになるとすぐに、プログラムP4は、メッセージをレイヤP2に送って、自分がメッセージを受け取れることをそれに通知する。 ● <<Message Received>>: The received message must conform to a specific structure, detailed later. As soon as the robot is ready to receive more data, program P4 sends a message to layer P2 to inform it that it can receive messages.

● <<メッセージ処理>>:この関数は、それぞれのシチュエーションに具体的に適合され、それは、そのロボットに特定の言語で、一方では、受け取られたメッセージ及びデータに従って採用する振る舞いを定義し、他方では、そのシチュエーションに従う。特に、この関数は、ロボットがコマンド、クエリ、情報(ロボットの通信のやり方)を第4プログラムP4から第3プログラムP3に送信するやり方を定義する。 ● <<message handling>>: This function is specifically adapted to each situation, it defines, in a language specific to that robot, on the one hand, the behavior to adopt according to the received messages and data, and on the other hand Then follow that scenario. In particular, this function defines how the robot sends commands, queries, information (how the robot communicates) from the fourth program P4 to the third program P3.

相互接続されたロボット又はデバイスのそれぞれの上で、ソフトウェアレイヤP1は、リモートロボット及び/又はデバイスの間のやり取りのために利用可能である電気通信機器を介して、あるロボット(又はデバイス)から、他のロボット(又はデバイス)及び/又はリモートサーバー3に予め規定通りにフォーマットされたメッセージを転送するよう構成される。ソフトウェアレイヤP1及びこれらソフトウェアレイヤによって実現された電気通信機器は、協働して、とりわけ、通信バスBCのハードウェア及びソフトウェアの両方の機能を確保することによって、異なるロボットを相互に及びクラウドに接続することを可能にする。好ましくは、それぞれの通信バスBCは、それぞれに固有のルータRを有し、とりわけロボットを直接にクラウドに接続することを可能にする。サーバーによってホストされるより高いソフトウェアレイヤ、例えばHMI、又はクラウドは、アプリケーションレイヤと呼ばれる。 On each interconnected robot or device, a software layer P1, from one robot (or device), via telecommunications equipment available for interaction between remote robots and/or devices: It is arranged to transfer pre-defined formatted messages to other robots (or devices) and/or remote servers 3 . The software layer P1 and the telecommunications equipment realized by these software layers work together to connect the different robots to each other and to the cloud, inter alia by ensuring both hardware and software functionality of the communication bus BC. make it possible to Preferably, each communication bus BC has its own router R, allowing inter alia to connect the robots directly to the cloud. A higher software layer hosted by a server, such as an HMI, or cloud, is called an application layer.

しばしば<<ミドルウェア>>と呼ばれる中間プログラム又は中間ソフトウェアレイヤP2は、
- 一方では、より高いレベルP1から通信バスを介して受け取られた及び/又は他のロボットから発生する(特に送信者ロボットの第2プログラムから発生する)及び/又はリモートサーバー3からの情報又はコマンドを、アクチュエータ及び/又はセンサを操縦するための考慮されているロボットに特有のより低いソフトウェアレイヤP3によって理解され又は実行され得る情報又は命令に変換し、
- 他方では、逆方向に、考慮されているロボットによって他のロボット(又は接続されたデバイス)及び/又はリモートサーバー3に対して送信されるよう意図される情報又はコマンドメッセージを一般的なやり方でフォーマットし、一般的にフォーマットされたこのメッセージは、受信者ロボット又は接続されたデバイスのミドルレイヤP2によって受け取られてから変換される
よう構成される。
The intermediate program or intermediate software layer P2, often called <<middleware>>,
- on the one hand, information or commands received via the communication bus from the higher level P1 and/or originating from other robots (especially originating from the second program of the sender robot) and/or from the remote server 3; into information or instructions that can be understood or executed by the considered robot-specific lower software layer P3 for manipulating the actuators and/or sensors,
- on the other hand, in the opposite direction, information or command messages intended to be sent by the robot under consideration to other robots (or connected devices) and/or remote servers 3 in a general way; This formatted and generically formatted message is arranged to be received and transformed by the middle layer P2 of the recipient robot or connected device.

それぞれのロボット又は接続されたデバイスの、ヘテロジニアスでありそれぞれのロボット又はデバイスに固有であるソフトウェアレイヤP3及びP4とは異なり、中間ソフトウェアレイヤP2は、汎用的である。この中間ソフトウェアレイヤP2は、考慮されているロボットのアクチュエータ又はアクター(actors)を制御するためのソフトウェアレイヤP3によってそれぞれのロボット上で実現される所有権のあるフォーマット及び命令と、全てのロボット及び接続されたデバイスの全てに共通な汎用フォーマットとの間でインターフェイスすることを確保する。このインターフェイス機能は、特に、汎用フォーマットに従って受け取られた情報又はコマンドを、受信者ロボットのソフトウェアレイヤP4又はP3のうちの任意のものに従って実行され得る情報又は命令に翻訳するメカニズムを含む。 Unlike the software layers P3 and P4 of each robot or connected device, which are heterogeneous and specific to each robot or device, the intermediate software layer P2 is generic. This intermediate software layer P2 contains the proprietary formats and instructions implemented on each robot by the software layer P3 for controlling the considered robot's actuators or actors, and all robots and connections. interface to and from a generic format common to all of the supported devices. This interface function includes, among other things, a mechanism for translating information or commands received according to a generic format into information or instructions that can be executed according to any of the recipient robot's software layers P4 or P3.

図2に示されるように、ロボット1が通信する他のロボット2、21は、
● ロボット1のそれらと同種のハードウェア機器(アクチュエータ及び/又はセンサ、プロセッサ及びメモリモジュールを持つモニタ制御ユニット、電気通信機器)、
● ロボット1のそれらと同種のソフトウェアアーキテクチャ(プログラムP1、P2)、
● これらロボットに固有のソフトウェアアーキテクチャ(プログラムP3、P4)
を備え得る。
As shown in FIG. 2, the other robots 2, 21 with which the robot 1 communicates are:
- hardware equipment similar to those of robot 1 (actuators and/or sensors, monitor control unit with processor and memory modules, telecommunications equipment),
● a software architecture (programs P1, P2) similar to those of robot 1,
● Software architecture specific to these robots (programs P3, P4)
can be provided.

例えば、本発明による方法は、レイヤP1、P2、P31及びP41を備えるロボット1を
● 1つのアクチュエータ、2つのセンサ、1つのwifiタイプの電気通信機器、少なくとも1つのプロセッサ及び少なくとも1つのメモリモジュールを備える周辺機器の1つのモニタ制御ユニットを有する第1ロボット2であって、前記第1ロボット2のプログラム又はソフトウェアレイヤP1、P2、P32、P42はそのプロセッサ上で実行される、第1ロボット2、
● 6つのセンサ、2つのwifi及びブルートゥースタイプ電気通信機器、少なくとも1つのプロセッサ及び少なくとも1つのメモリモジュールを備える周辺機器の1つのモニタ制御ユニットを有する第2ロボット21であって、前記第2ロボット21のプログラム又はソフトウェアレイヤP1、P2、P33、P43はそのプロセッサ上で実行される、第2ロボット21
と相互接続することを可能にし得る。
For example, the method according to the invention comprises a robot 1 comprising layers P1, P2, P31 and P41: 1 actuator, 2 sensors, 1 wifi-type telecommunications device, at least 1 processor and at least 1 memory module. a first robot 2 having one monitor control unit of peripherals comprising said program or software layers P1, P2, P32, P42 of said first robot 2 running on its processor;
- a second robot 21 having one monitor control unit of six sensors, two wifi and bluetooth type telecommunication devices, peripherals comprising at least one processor and at least one memory module, said second robot 21 programs or software layers P1, P2, P33, P43 of the second robot 21
may allow it to be interconnected with

相互接続されたロボットのそれぞれのプログラムP1、P2は、同じ(同一の)ソフトウェアブロックを有する。 Each program P1, P2 of the interconnected robots has the same (identical) software blocks.

図3は、本発明の実施形態を示し、ここでロボット(ハードウェアの点で)は、それらに固有のプログラムP3及びP4だけしか与えられておらず、一方で、一般の汎用プログラムP1及びP2は、クラウド上に退避されている。ロボット群は、互いにハードウェア及びソフトウェア通信バスBC、及びルーティングテーブルTRが関連付けられている少なくとも1つのルータRを通して通信し、クラウドC及び/又はヒューマン・マシンインターフェイスHMIを介した少なくとも1人の人間のユーザーともおそらくは通信する。 FIG. 3 shows an embodiment of the invention, in which the robots (in terms of hardware) are provided only with their own programs P3 and P4, while the general purpose programs P1 and P2 is saved on the cloud. The robots communicate with each other through a hardware and software communication bus BC and at least one router R with associated routing tables TR, and communicate with the cloud C and/or at least one human via a human machine interface HMI. It also possibly communicates with the user.

好ましくは、前記ルーティングテーブルは、フォーム中の対のリスト(ロボットの名称、IPアドレス:ポート)を含み、これは、有利には第2プログラムP2内に統合され得るが、ルータが適切にメッセージを転送できるようにする。よって、ロボットは、メッセージの送信を希望するロボットの名称だけを知っていればよい。 Preferably, said routing table contains a list of pairs in the form (robot name, IP address: port), which may advantageously be integrated within the second program P2, but which routers are responsible for properly routing messages. make it transferable. Thus, a robot only needs to know the name of the robot to which it wishes to send a message.

情報が受信者ロボット又はデバイスに送信されるために第2プログラムP2に到達すると、第2プログラムP2は、以下のフィールドによって構成される所定の汎用オブジェクト構造に従ったメッセージで送信されるべき情報及び/又は命令のフォーマッティングを確保する。すなわち、
- メッセージタイプ:コマンド、情報又はクエリ;
- メッセージサブタイプ:データ(位置、リアル、画像、ビデオ、…)又はコマンド(アドバンス、プルバック、ストップ、…)タイプ;
- ソース:ペアIPアドレス/ポートによって又はソースの名称によって構成される送信者アドレス(ルーティングテーブルでそれに関連付けられたペアIPアドレス/ポート);
- デスティネーション:ペアIPアドレス/ポート、又は受信者の名称によって構成された受信者アドレス;
- データフィールドのサイズ;
- データ。
When information arrives at the second program P2 for transmission to a recipient robot or device, the second program P2 selects the information to be transmitted in a message according to a predetermined generic object structure composed by the following fields: / or ensure the formatting of the instruction. i.e.
- message type: command, information or query;
- message subtype: data (position, real, image, video, ...) or command (advance, pullback, stop, ...) type;
- source: sender address configured by paired IP address/port or by name of the source (paired IP address/port associated with it in the routing table);
- Destination: Recipient address constructed by pair IP address/port or recipient name;
- the size of the data field;
- data.

この汎用構造は、メッセージのより高いレベル(P1及びP2)へのトランスペアレントな伝送を可能にする。 This general structure allows transparent transmission of messages to higher levels (P1 and P2).

ソフトウェアレイヤP2の構成は、JSONファイルフォーマットに基づく。このセットアップファイルは、
- 第2プログラムP2が実行されるロボットのIPアドレス(サーバーから見たときの);
- 当該ロボットを特定するために用いられる名称;
- 第2プログラムP2が外部メッセージをリッスンしなければならない外部リスニングポート;
- 当該ロボットの第3又は第4プログラムP3、P4が接続しなければならない内部リスニングポート;
- ロボット(それが通信をしようと希望される)に向けられたメッセージが、受信者ロボットによって<<インタープリートされる>>(受信の後で)ように意図されているか、又はメッセージがダイレクトモードに従って送達されるかを示すことができるようにする、サービスタイプ。
The configuration of software layer P2 is based on the JSON file format. This setup file is
- the IP address of the robot on which the second program P2 is executed (as seen by the server);
- the name used to identify the robot;
- an external listening port on which the second program P2 must listen for external messages;
- an internal listening port to which the third or fourth program P3, P4 of the robot in question must connect;
- the message intended for the robot (with which it is desired to communicate) is intended to be <<interpreted>> (after receipt) by the recipient robot, or the message is in direct mode Service type, allowing you to indicate what is delivered according to.

<<インタープリートされる>>によって、ロボットは、受け取られたメッセージのフィールドの値を分析することによって、その振る舞いを定義しなければならないという事実が理解されなければならない。 By <<interpreted>> the fact that the robot must define its behavior by analyzing the values of the fields of the received message must be understood.

この解釈ステップは、第4プログラムP4によって実行され、前述のアダプテーションライブラリを通して予め構成される。 This interpretation step is performed by the fourth program P4 and is pre-configured through the aforementioned adaptation library.

ダイレクトサービスにおいて、もしメッセージタイプがコマンド又はクエリなら、コンフィギュレーションファイルのおかげで、受信者ロボット上で実行されている第2プログラムP2は、コマンド又はクエリをこの受信者ロボット上で直接に実行され得るコマンドに翻訳する。 In a direct service, if the message type is a command or query, thanks to the configuration file the second program P2 running on the recipient robot can directly execute the command or query on this recipient robot. Translate to commands.

本発明のある局面によれば、コンフィギュレーションファイルは、好ましくはその第2プログラムP2へのインジェクションの前に、アダプテーションライブラリから生成される(例えば外部プログラムによって)。 According to one aspect of the invention, the configuration file is generated (eg by an external program) from the adaptation library, preferably before its injection into the second program P2.

好ましくは、ダイレクトモードにおいてコンフィギュレーションファイルに頼ることは、メッセージが、外部システムによるコマンドの実行を可能にするロボットへのコマンド及び/又はクエリからなるときだけ起こる。 Preferably, recourse to the configuration file in direct mode only occurs when the messages consist of commands and/or queries to the robot that enable execution of commands by external systems.

例として、プログラミング言語におけるコンフィギュレーションファイルの構造は、以下にイタリックで示され([ ]で囲まれるように示され)、ここで、特に、<</cmd_vel>>によってROS言語に翻訳されたプログラム部分又はUR(ユニバーサルロボット)言語に翻訳されたプログラム部分<<movej>>をコマンド<<move>>に対応させている。 As an example, the structure of a configuration file in a programming language is shown below in italics (shown enclosed in [ ]), where in particular the program translated into the ROS language by <</cmd_vel>> A part or a program part <<movej>> translated into the UR (Universal Robots) language is associated with a command <<move>>.

{
[“commands”:]
{
[“move”:]
{
[“ros”: ”/cmd_vel”,
“ur”: ”movej”]
},
[“decoller”: ”/ardrone/takeoff”,
“atterrir”: ”/ardrone/land”]
},
[“requests”]
{
[“modal”: ”mandatory, needed for streaming, just modify the topic name if necessary”,
“modal”: ”/pose”,

“position”: ”/pose”]
}
}
考慮されているロボットの第2プログラムP2及びより低いソフトウェアレイヤP3、P4の間の通信は、TCPタイプの接続を介して実行され、図3で実線の矢印30によって示される。複数のロボット1、2、21に属する異なる第2プログラムP2間の通信は、点線矢印40によって図3で示されるUDPタイププロトコルに従って実行される。またサーバー及び/又はクラウドCへの通信は、図3で矢印41によって示されるUDPタイププロトコルに従って実行される。
{
[“commands”:]
{
[“move”:]
{
[“ros”: ”/cmd_vel”,
“ur”: “movej”]
},
[“decoller”: ”/ardrone/takeoff”,
“atterrir”: “/ardrone/land”]
},
[“requests”]
{
[“modal”: ”mandatory, needed for streaming, just modify the topic name if necessary”,
“modal”: ”/pose”,

“position”: ”/pose”]
}
}
Communication between the considered robot's second program P2 and the lower software layers P3, P4 is carried out via a TCP type connection, indicated by the solid arrow 30 in FIG. Communication between different second programs P2 belonging to a plurality of robots 1, 2, 21 is carried out according to a UDP type protocol indicated in FIG. Communication to the server and/or cloud C is also performed according to a UDP type protocol indicated by arrow 41 in FIG.

ロボット50、60の別個のフリートが本発明による方法を介して互いに通信する他の通信の変形例を説明するために、本発明の全体的な動作が図4に示される。これらフリートは、例えば、他のフリート、ダイレクトユーザー70、クラウドC、又はクラウドCを通じた少なくとも1つの非局在化されたユーザー80から、通信バスBCを介して上流で受け取られたメッセージを送信するよう構成されたマスターロボット51、61をさらに含み得る。 To illustrate another communication variant in which separate fleets of robots 50, 60 communicate with each other via the method according to the invention, the general operation of the invention is shown in FIG. These fleets transmit messages received upstream via the communication bus BC, e.g. from other fleets, direct users 70, cloud C, or at least one delocalized user 80 via cloud C. It may further include a master robot 51, 61 configured as such.

さらに、好ましくは、新しいロボットが、フリートへの参加又はまだそれが認識していない少なくとも1つの他のロボットとの通信をしたいとき、最初のやりとりは、UDPプロトコルに従って実行され、より好ましくはブロードキャストモード<<broadcast>>に従って実行される。 Further preferably, when a new robot wants to join a fleet or communicate with at least one other robot it is not yet aware of, the first interaction is performed according to the UDP protocol, more preferably in broadcast mode. Executed according to <<broadcast>>.

本発明による相互接続方法は、ほとんどが汎用であるソフトウェアレイヤ群及びモジュール群からなるセットのおかげで、一方では同じフリートのヘテロジニアスなロボットを相互接続することを可能にし、それと同時にいくつかのフリートを一緒に相互接続することも可能にする。 The interconnection method according to the invention makes it possible on the one hand to interconnect heterogeneous robots of the same fleet and at the same time several fleets, thanks to a set of mostly generic software layers and modules. can also be interconnected together.

この順序は、既存のアプリケーションレイヤ(群)(リモートHMI群、ロボットのサイト上で又はロボットそのものの上でのローカルHMI、クラウド、…)から構成される。 This sequence consists of existing application layer(s) (remote HMIs, local HMIs on the robot's site or on the robot itself, the cloud, ...).

よって、本発明は、ヘテロジニアスなロボット(異なるオペレーティングシステムを有する)の間での協働を管理する方法にも関し、とりわけ、以下のステップ
● アプリケーションレイヤ(HMI、クラウド)から、ミッションを示すファイル群のセットを送信すること(emitting)であって、このファイル群のセットは、とりわけ、予定された基本タスクの識別子群のリスト(LTP)、及び周辺機器の優先度ファイルを含む、ファイル群のセットを送信すること、
● それぞれのロボットのレイヤP1のサービス<<機器>>のレベルにおいて、予定された基本タスクの識別子の前記リスト(LTP)を受け取ること、
● このロボット上で利用可能な周辺機器を確定するために、クエリタイプメッセージをレイヤP1からレイヤP2に送信すること(同じロボット内で)、
● レイヤP2のレベルにおいて本発明による相互接続方法を実現することによって、
○ 適切な手法でクエリをレイヤP3及び/又はレイヤP4に送信すること、
○ レイヤP3及び/又はP4から発生する、要求された周辺機器情報を回収すること、
○ 予め定義されたオブジェクト構造に従って変換された前記情報をレイヤP1に送信すること
を行う、相互接続方法を実現すること、
● レイヤP1のレベルにおいて受け取られた情報を、<<機器>>サービスのレベルにおいて処理し、ロボットによって実現可能なタスク群のリスト(LTR)を生成すること、
● 前記ロボットによって実現可能なタスク群のリスト(LTR)を、レイヤP1の<<ネゴシエーション/選択>>サービスから全てのロボットに送信すること、
● 異なるロボットの異なるレイヤP1の異なる<<ネゴシエーション/選択>>サービス群の間でネゴシエーションメッセージをやりとりすること、
● クラウドのレベルにおいて及び/又はロボット間で、やりとりされたネゴシエーションメッセージに基づいて及び周辺機器の優先度ファイルに基づいて、ミッションに参加するロボットのリスト(ファイル)(LRM)を生成すること、
● 前記ミッションのプログレスプランの実行をトリガすること、
● ロボットを同期すること、
● ロボット間で協働を監督すること
を含む。
The invention thus also relates to a method of managing collaboration between heterogeneous robots (having different operating systems), inter alia by the following steps: from the application layer (HMI, cloud) files representing missions Emitting a set of files, the set of files including, among other things, a list of scheduled elementary task identifiers (LTP) and a peripheral device priority file. sending a set,
- receiving said list (LTP) of identifiers of scheduled elementary tasks at the level of service <<equipment>> of layer P1 of each robot;
- Sending a query type message from layer P1 to layer P2 (within the same robot) to determine the peripherals available on this robot;
- by implementing the interconnection method according to the invention at the level of layer P2,
o sending queries to layer P3 and/or layer P4 in an appropriate manner;
o retrieving the requested peripheral information originating from layers P3 and/or P4;
o implementing an interconnection method for transmitting said information transformed according to a predefined object structure to layer P1;
- processing the information received at the level of layer P1 at the level of the <<equipment>> service to generate a list of tasks feasible by the robot (LTR);
- Sending a list of tasks (LTR) that can be performed by said robot to all robots from the <<negotiation/selection>> service of layer P1;
- exchanging negotiation messages between different <<negotiation/selection>> services in different layers P1 of different robots;
Generating a list (file) (LRM) of robots participating in the mission based on negotiation messages exchanged at the cloud level and/or between robots and based on peripheral priority files;
- triggering the execution of the progress plan of said mission;
● synchronizing robots;
● Includes overseeing collaboration among robots.

好ましくは、ミッションをフォーマライズするファイル群のセットは、少なくとも、実行されるべき基本タスク群の識別子群のリスト(LTP)、前記タスクの順序の制約条件に関するパラメータ群のリスト、タスクの完了に必要な周辺機器(アクチュエータ、センサ、…)の識別子のリスト、周辺機器の優先度ファイルを含む。 Preferably, the set of files formalizing the mission includes at least a list of identifiers (LTP) of the basic tasks to be performed, a list of parameters relating to the order constraints of said tasks, a list of parameters required for completion of the tasks. list of identifiers of peripherals (actuators, sensors, . . . ), priority files for peripherals.

好ましくは、レイヤP1からの及びレイヤP1への送信は、通信バスBCに属する周辺機器検出サービスを介して実行される。 Preferably, transmission from and to layer P1 is performed via a peripheral detection service belonging to communication bus BC.

好ましくは、ロボットによって実現可能なタスクのリスト(LTR)は、ロボットの識別子、及び基本タスクの識別子のリスト(LTP)の中でそのロボットが完了できるタスクの識別子のリストをとりわけ含むファイルの形態であるか、又はデータベースの形態である。 Preferably, the list of tasks realizable by the robot (LTR) is in the form of a file containing inter alia the identifiers of the robot and the identifiers of the tasks that the robot can complete in the list of primitive task identifiers (LTP). or in the form of a database.

好ましくは、やりとりされたファイルのセットは、JSONフォーマットである。 Preferably, the set of files exchanged are in JSON format.

ミッションの実行は、退避されているか又はローカルかに関わらず、クラウド内のプログラムを介して、又は専用インターフェイスHMIからユーザーを介してトリガされ得る。 Mission execution, whether evacuated or local, can be triggered via a program in the cloud or via a user from a dedicated interface HMI.

有利には、周辺機器データは、レイヤP1の通信バスBCに属する<<データ同期>>サービスによって回復される。 Advantageously, the peripheral data are recovered by means of the <<Data Synchronization>> service belonging to the communication bus BC of layer P1.

有利には、ロボット間の協働の監督は、それぞれのロボットのレイヤP1の<<協働>>サービスのレベルにおいて実行される。 Advantageously, supervision of collaboration between robots is performed at the level of <<collaboration>> services of layer P1 of the respective robots.

図5のダイヤグラムは、第1ロボットR1及び第2ロボットR3の間の通信を示す。ここで、この通信の異なるステップを説明するが、プログラミング言語の対応する命令は、イタリックで示される([ ]で囲まれるように表記される)。 The diagram of FIG. 5 shows the communication between the first robot R1 and the second robot R3. The different steps of this communication will now be described, with the corresponding instructions in the programming language shown in italics (written as enclosed in [ ]).

- メッセージM(R1)P3>P2は、ロボットR1の第3プログラムP3から、ロボットR1の第2プログラムP2に送られる。 - The message M(R1) P3>P2 is sent from the third program P3 of robot R1 to the second program P2 of robot R1.

M(R1)P3>P2= [“info/position/robot3/3.0.1”.]
- 処理T(R1)P2は、レイヤP2によってロボットR1内でそれから実行され、予め定義されたオブジェクト構造に従ってメッセージをフォーマット及び/又は再構成(REC)する。
M(R1) P3>P2 = [“info/position/robot3/3.0.1”.]
- The process T(R1) P2 is then executed in robot R1 by layer P2 to format and/or reconstruct (REC) the message according to a predefined object structure.


Type= info
Subtype= position
Target= robot3
Source= robot1
Size= 5
Data= ”3,0,1”

- その後、例えばJSONフォーマットにおいてレイヤP2によってメッセージをいわゆるシリアル化するステップSEへと続き、このフォーマットは、相互運用性の確保及び情報の遡及的保存の容易さを特に、可能にする。
[
Type= info
Subtype= position
Target= robot3
Source= robot1
Size=5
Data = ”3,0,1”
]
- It is then followed by a step SE of so-called serializing the message by layer P2, for example in a JSON format, which notably allows ensuring interoperability and ease of retrospective storage of information.


{“py/object”: ”message.message”,
“src”: {py/tuple”: [“10.12.1.130”, 48000”]},
“protocol”: 0,
“target”: {py/tuple”: [10.12.1.131, 48000”]};
“type_msg”: “info”,
“subtype”: “position”,
“size”: 5,
“data”: “3,0,1”}

- その後、レイヤP2によってメッセージに署名するステップSIが続く(例えばコード内の内部キーからの暗号化署名によって)が、このステップは、JSONチェーンの完全性を確保する。
[
{“py/object”: ”message.message”,
“src”: {py/tuple”: [“10.12.1.130”, 48000”]},
“protocol”: 0,
“target”: {py/tuple”: [10.12.1.131, 48000”]};
“type_msg”: “info”,
“subtype”: “position”,
“size”: 5,
“data”: “3,0,1”}
]
- There follows a step SI of signing the message by layer P2 (eg by a cryptographic signature from an internal key in the code), which ensures the integrity of the JSON chain.


087aa394104a8b6d9a3c06d35c768a0bcefadc9
{“py/object”: “message.message”,
“src”: {py/tuple”: [“10.12.1.130”, 48000”]},
“protocol”: 0,
“target”: {py/tuple”: [10.12.1.131, 48000”]},
“type_msg”: “info”,
“subtype”: “position”,
“size”: 5,
“data”: “3,0,1”}

- メッセージM(R1>R3)は、ロボットR1からロボットR3に送られる。
[
087aa394104a8b6d9a3c06d35c768a0bcefadc9
{“py/object”: “message.message”,
“src”: {py/tuple”: [“10.12.1.130”, 48000”]},
“protocol”: 0,
“target”: {py/tuple”: [10.12.1.131, 48000”]},
“type_msg”: “info”,
“subtype”: “position”,
“size”: 5,
“data”: “3,0,1”}
]
- A message M(R1>R3) is sent from robot R1 to robot R3.

- 処理T(R3)P2は、ロボットR3の第2プログラム内でそれから実行されて、署名をチェックし(VSI)、メッセージを再構成し(REC)、これは、その後、ロボットR3の第2プログラムによって、ロボットR3の第3プログラムP3に送信される(M(R3)P2>P3)。 - The process T(R3) P2 is then executed in the second program of robot R3 to check the signature (VSI) and reconstruct the message (REC), which is then executed in the second program of robot R3. to the third program P3 of the robot R3 (M(R3) P2>P3 ).

最後に、図6のダイヤグラムは、ユーザーU1及びロボットR3の間の通信を図示する。この通信の異なるステップを説明するが、プログラミング言語の対応する命令は、イタリックで示される([ ]で囲まれるように表記される)。 Finally, the diagram of FIG. 6 illustrates the communication between user U1 and robot R3. While the different steps of this communication are described, the corresponding instructions in the programming language are shown in italics (written as enclosed in [ ]).

- メッセージM(U1>WS)がユーザーU1によってサーバーWSに送られる。 - A message M(U1>WS) is sent by user U1 to the server WS.

M(U1>WS)= [≪ Command :move :user1 :robot3 :0.1,0.0,0.3 ≫]
-それから処理T(WS)がサーバーWS内で実行され、予め定義されたオブジェクト構造に従ってメッセージを構成する(C)。
M(U1>WS)= [≪Command :move :user1 :robot3 :0.1,0.0,0.3≫]
- Then the process T(WS) is executed in the server WS, constructing the message according to the predefined object structure (C).


Type= command
Subtype= move
Target= robot3
Source= user1
Size= 11
Data= “0.1,0.0,0.3”

- その後、いわゆるメッセージをシリアル化するステップSE及びそれに署名するステップSIが続く。
[
Type = command
Subtype = move
Target= robot3
Source = user1
Size= 11
Data = “0.1,0.0,0.3”
]
- followed by a step SE of serializing the so-called message and a step SI of signing it.


087aa394104a8b6d9a3c06d35c768a0bcefadc9
{“py/object”: “message.message”,
“src”: “web-user1”,
“protocol”: 0,
“target”: {py/tuple”: [10.12.1.131, 48000”]},
“type_msg”: “command”,
“subtype”: “move”,
“size”: 11,
“data”: “0.1,0.0,0.3”}

- メッセージM(WS>R3)は、サーバーWSからロボットR3に送られる。
[
087aa394104a8b6d9a3c06d35c768a0bcefadc9
{“py/object”: “message.message”,
“src”: “web-user1”,
“protocol”: 0,
“target”: {py/tuple”: [10.12.1.131, 48000”]},
“type_msg”: “command”,
“subtype”: “move”,
“size”: 11,
“data”: “0.1,0.0,0.3”}
]
- A message M(WS>R3) is sent from the server WS to the robot R3.

- 意図されたシナリオによれば、処理T(R3)P2がそれからロボットR3の第2プログラム内で実行され、署名をチェックし(VSI)、メッセージを再構成し(REC)、それは、その後、ロボットR3の第2プログラムP2によって、ロボットR3の第3プログラムP3に送信される。すなわち、
○ <<直接>>モードによれば、(M(R3;D)P2>P3)においては、コマンド/クエリは、コンフィギュレーションファイルを通して第2プログラムから第3プログラムへ直接に、ロボットに適切な形態で提供される(外部システムによるコマンドの実行を許可するロボットの場合)。
- According to the intended scenario, the process T(R3) P2 is then executed in the second program of robot R3, checks the signature (VSI) and reconstructs the message (REC), which is then transferred to robot It is sent by the second program P2 of R3 to the third program P3 of robot R3. i.e.
o According to <<direct>> mode, in (M(R3;D) P2>P3 ), commands/queries are sent directly from the second program to the third program through the configuration file in the form appropriate for the robot. (for robots that allow commands to be executed by external systems).

例えば、OR ROSを持つロボットについては、

p=ros.Publisher()
p.publish(“/cmd_vel”, msg.data)

である。
For example, for a robot with OR ROS,
[
p=ros.Publisher()
p.publish(“/cmd_vel”, msg.data)
]
is.

○ <<解釈>>モードによれば、(M(R3;I)P2>P4>P3)においては、情報(一般に)又はコマンド/クエリ(外部システムによる実行を許可しないロボットの場合)が、第4プログラムを介して、第2プログラムから第3プログラムへと、ロボットに提供される。 ○ According to <<Interpretation>> mode, in (M(R3;I) P2>P4>P3 ), information (generally) or commands/queries (for robots that do not allow execution by external systems) Through 4 programs, the robot is provided with the second program to the third program.

このモードでは、第2プログラムは、メッセージをフィールドごとに(オブジェクト構造に従って)第4プログラムに送り、第4プログラムは、適切な要素を第3プログラムに提供し、これら適切な要素は、第4プログラム内で生成され、前記第4プログラムの構造(スケルトン、採用すべき振る舞いが意図されたプログラミング、…)に依存する。 In this mode, the second program sends a message field-by-field (according to the object structure) to the fourth program, which provides the appropriate elements to the third program, and these appropriate elements and depends on the structure of said fourth program (skeleton, programming intended behavior to adopt, . . . ).

やりとりのセキュリティ
さまざまな通信チャンネルが本発明には伴われる。これらには、とりわけ、
● 第1プログラムP1及び/又は第2プログラムP2に関連する、UDPタイププロトコルに従う通信、
● ロボット間の、TCPタイププロトコルに従う通信、
● クラウドと第1及び第2プログラムP1及びP2との間の、UDPタイププロトコルに従う通信
が含まれる。
Interaction Security Various communication channels are involved with the present invention. These include, inter alia:
- communication according to a UDP type protocol, associated with the first program P1 and/or the second program P2;
● Communication between robots according to TCP type protocol,
- Communication according to UDP type protocol is involved between the cloud and the first and second programs P1 and P2.

有利には、異なる通信チャンネルはセキュアである。 Advantageously, the different communication channels are secure.

異なる技術オプションが可能であり、当業者は、意図された応用例に最も適切な技術をどのように選択すべきかを知っている。 Different technology options are possible and those skilled in the art know how to choose the most appropriate technology for the intended application.

例として、
● UDPプロトコルに従う通信の場合、
○ 直接イーサネットリンクの使用、
○ プロトコルDTLS(<<データグラム トランスポート レイヤ セキュリティ>>)の使用、
○ とりわけ、例えばAES(<<高度暗号化標準>>)のような暗号化アルゴリズム及び例えばSHA(<<セキュアハッシュアルゴリズム>>)のようなハッシュ化アルゴリズムを実現する暗号シーケンス(<<暗号スイート>>)の使用
に対して言及され得る。
As an example,
● For communications that follow the UDP protocol,
o Using a direct Ethernet link,
o Use of protocol DTLS (<<Datagram Transport Layer Security>>),
o Cryptographic sequences (<<Ciphersuites>) which, inter alia, implement encryption algorithms such as AES (<<Advanced Encryption Standard>>) and hashing algorithms such as SHA (<<Secure Hash Algorithm>>). >) may be mentioned for use.

● TCPプロトコルに従う通信の場合、
○ <<SSL>>プロトコル(セキュア・ソケット・レイヤー)を介した暗号化及び認証のペア、又は
○ オープンソースインプリメンテーション(例えばOpenSSL)であるかどうかに関わらず、暗号シーケンス(<<暗号スイート>>)を実現する、<<TLS>>プロトコル(トランスポート・レイヤ・セキュリティ)を介した暗号化及び認証のペアであって、前記TLSプロトコルのセキュリティのセットアップを以下を介して可能にする:
・ 一方で、匿名であるかどうかに関わらず、例えば、RSAのような非同期暗号化を通して、又はディフィー・ヘルマンアルゴリズムを通してのような、鍵交換メカニズム、
・ 他方で、例えばAES(<<高度暗号化標準>>)のような暗号アルゴリズム及びSHA(<<セキュアハッシュアルゴリズム>>)のようなハッシュ化アルゴリズムを通して、やりとりされるデータのプライバシー及び完全性を確保するメカニズム。
● In case of communication according to TCP protocol,
o Encryption and authentication pairs via the <<SSL>> protocol (Secure Sockets Layer), or o Cipher sequences (<<Cipher Suite >>), a pair of encryption and authentication via the <<TLS>> protocol (Transport Layer Security), which enables the security setup of said TLS protocol via:
On the one hand, key exchange mechanisms, whether anonymous or not, for example through asynchronous encryption like RSA, or through the Diffie-Hellman algorithm;
On the other hand, it ensures the privacy and integrity of exchanged data, for example through cryptographic algorithms such as AES (<<Advanced Encryption Standard>>) and hashing algorithms such as SHA (<<Secure Hash Algorithm>>). mechanism to secure.

産業アプリケーションシナリオの例
例えば、ロボット群間で相互接続をし、及びロボット群間の協力を管理するこれらの方法は、図7及び図8A及び図8Bに示されるシナリオの完了を可能にする。
Examples of Industrial Application Scenarios For example, these methods of interconnecting and managing cooperation between robot swarms enable the completion of the scenarios shown in FIGS. 7 and 8A and 8B.

図7は、以下の4つのヘテロジニアスロボットを示す。 FIG. 7 shows the following four heterogeneous robots.

● R1:レーザーレンジファインダを持ち、OS ROSを持つ移動可能なロボット
● R2:爪を持ち、OS ABBを持つマニピュレータアーム
● R3:ロボットR2とは異なるブランドのマニピュレータアーム及びOS ABBを持つロボット、及び
● R4:OSユニバーサルロボットを持つドローン
それぞれのロボットは、それ自身のロボットオペレーティングシステムを用いる。
● R1: mobile robot with laser range finder and OS ROS ● R2: manipulator arm with claws and OS ABB ● R3: robot with different brand of manipulator arm and OS ABB than robot R2, and ● R4: Drones with OS Universal Robots Each robot uses its own robot operating system.

図8A及び図8Bのフローチャートに要約されるように、このミッションの間、湿度センサ、
温度センサ、及びRFIDタグを備えるロボットR1は、ロボットR2(これもRFIDタグを備える)からの、例えば積載エリアZCHに対応するエリアZ2においてR1がR2に合流することを促すメッセージを受け取ると、そのスタートエリアZ1-ZDを離れる。そこに到達するために、ロボットR1は、例えばそれ自身の走行距離計及びレーザーレンジファインダからのデータを用いて自律移動を実行しなければならない。いったんエリアZ2のレベルに達すると、ロボットR1は、部品の取扱のためのそのストップエリアをそれに示すRFIDタグと通信しなければならない。
During this mission, the humidity sensor,
When robot R1, equipped with a temperature sensor and an RFID tag, receives a message from robot R2 (also equipped with an RFID tag) prompting R1 to join R2 in area Z2, for example corresponding to loading area ZCH, it Leave the start area Z1-ZD. To get there, robot R1 must perform autonomous locomotion using data from, for example, its own odometer and laser range finder. Once the level of area Z2 is reached, robot R1 must communicate with an RFID tag indicating to it its stop area for handling parts.

第2フェーズの間に、それは、運搬されるべき物体を回収する準備ができていることをロボットR2に知らせる。よってロボットR2は、部品を回収し、それをロボットR1上に積載し、それから荷積みの終わりをそれに知らせる。 During the second phase, it informs robot R2 that it is ready to retrieve the object to be transported. Robot R2 thus picks up the part, loads it onto robot R1, and then signals to it the end of loading.

次に、ロボットR1は、処理エリアZ3-ZTRに向かって移動する。いったん前記エリアZ3のレベルに到達すると、それは、ロボットR3に部品の温度についての情報を通知する。 Robot R1 then moves toward processing area Z3-ZTR. Once the level of said area Z3 is reached, it informs robot R3 about the temperature of the part.

後者は、部品の温度に依存して、<<処理A>>又は<<処理B>>を実行する。このフェーズが完了すると、ロボットR4は、エリアZ3に合流し、部品を回収し、その温度に依存してエリアZ4A又はZ4Bにおいてそれを積載する。同時に、ロボットR1は、エリアZ1に戻り、次のサイクルを待つ。 The latter executes <<process A>> or <<process B>> depending on the temperature of the part. When this phase is completed, robot R4 joins area Z3, picks up the part and loads it in area Z4A or Z4B depending on its temperature. At the same time, robot R1 returns to area Z1 and waits for the next cycle.

よって、シナリオの例によって示されたように、本発明による方法は、そのほとんどが汎用であり、インストール及び使用が容易であり(ロボットの初期ロボットオペレーティングシステムはそのまま残る)、かつより高いソフトウェアレイヤの間の通信をトランスペアレントにするメッセージ変換及び送信のための効果的な原理であるソフトウェアアーキテクチャ(レイヤP1、P2)を提供することによって、ヘテロジニアスなロボット群及びセンサ群の間のスムーズな通信を可能にする。
Thus, as shown by the example scenarios, the methods according to the invention are mostly generic, easy to install and use (the robot's initial robot operating system remains intact), and require higher software layers. Enables smooth communication between heterogeneous robots and sensors by providing an effective principle software architecture (layers P1, P2) for message conversion and transmission that makes communication between them transparent to

Claims (15)

第1ロボット(1)を少なくとも1つの第2ロボット(2,21)と相互接続する相互接続方法であって、それぞれのロボット(1,2,21)は、
モニタ制御ユニットであって、前記モニタ制御ユニットは、少なくとも1つのプロセッサ(4)及び少なくとも1つのメモリモジュール(M)を備える、モニタ制御ユニットと、
アクチュエータ又はセンサのような少なくとも1つの周辺機器と、
少なくとも1つの通信機器と、
前記少なくとも1つの通信機器を制御するよう構成され、前記少なくとも1つのプロセッサ上で実行される複数の第1ソフトウェアモジュールを含む第1プログラム(P1)と、
前記少なくとも1つのプロセッサ上で実行される複数の第2ソフトウェアモジュールを含む第2プログラム(P2)であって、前記第2プログラム(P2)の構成は、解釈モード又は直接モードの間で送信モードを示すフィールドtyp_serviceを含むセットアップファイルによって決定され、前記送信モードは、前記第2プログラム(P2)によって送信されるメッセージを特徴付ける、第2プログラム(P2)と、
前記少なくとも1つのアクチュエータ及び/又は前記少なくとも1つのセンサを制御するよう構成され、前記少なくとも1つのプロセッサ上で実行される複数の第3ソフトウェアモジュールを含む第3プログラム(P3)と
を少なくとも備え、
前記相互接続方法は、前記第3プログラム(P3)から発生する第1メッセージの前記第2プログラム(P2)による受信の後に、前記ロボット(1、2、21)のそれぞれの中で前記第2プログラム(P2)によって実現される以下のステップ
前記第1メッセージを第2メッセージへ変換することであって、前記第2メッセージは、コマンド、クエリ、又は情報のタイプ群のうちの前記メッセージのタイプを示すフィールドtyp_msgを含む予め定義されたオブジェクト構造に従ってフォーマットされる、変換することと、
前記第2メッセージを、同じロボットに属する第1プログラム(P1)、他のロボットの第2プログラム(P2)のうちの少なくとも1つのプログラムに送信することと、
を含み、
前記相互接続方法は、同じロボットに属する第1プログラム(P1)、他のロボットの第2プログラム(P2)のうちの少なくとも1つのプログラムから発生する、前記予め定義されたオブジェクト構造に従ってフォーマットされた第3メッセージの前記第2プログラム(P2)による受信の後に、前記第3メッセージの前記フィールドtyp_msgが、コマ
ンドタイプ又はクエリタイプを示す時に、前記ロボット(1、2、21)のそれぞれの中で前記第2プログラム(P2)によって実現される
前記第3メッセージに関連付けられた前記セットアップファイルの前記フィールドtyp_serviceがダイレクト送信モードを表す時に、前記第3メッセージを、前記第3プログラム(P3)によって実現されるよう構成されたプログラム部分に翻訳する翻訳ステップ、及び/又は
第2伝送プロトコルに従って、前記第3メッセージの、又は前記プログラム部分の少なくとも一部を前記第3プログラム(P3)に送信するステップ
をさらに含む、相互接続方法。
An interconnection method for interconnecting a first robot (1) with at least one second robot (2,21), each robot (1,2,21) comprising:
a monitor control unit, said monitor control unit comprising at least one processor (4) and at least one memory module (M);
at least one peripheral such as an actuator or sensor;
at least one communication device;
a first program (P1) configured to control said at least one communication device and comprising a plurality of first software modules running on said at least one processor;
A second program (P2) comprising a plurality of second software modules running on said at least one processor, wherein the configuration of said second program (P2) switches between an interpreted mode and a direct mode. a second program (P2), determined by a setup file containing a field typ_service indicating, said sending mode characterizing messages sent by said second program (P2);
a third program (P3) configured to control said at least one actuator and/or said at least one sensor and comprising a plurality of third software modules running on said at least one processor (P3);
Said interconnection method comprises: said second program in each of said robots (1, 2, 21) after receipt by said second program (P2) of a first message originating from said third program (P3); The following steps realized by (P2): transforming said first message into a second message, said second message indicating a type of said message among command, query or information types. converting, formatted according to a predefined object structure including field typ_msg;
sending said second message to at least one of a first program (P1) belonging to the same robot and a second program (P2) of another robot;
including
The interconnection method comprises a first program (P1) belonging to the same robot, a second program (P2) of another robot, formatted according to the predefined object structure, originating from at least one program. After receipt by said second program (P2) of said third message, said third message in each of said robots (1, 2, 21) when said field typ_msg of said third message indicates a command type or a query type. 2 program (P2); when said field typ_service of said setup file associated with said third message indicates a direct transmission mode, sending said third message as implemented by said third program (P3); translating into a composed program part and/or sending at least a part of said third message or of said program part to said third program (P3) according to a second transmission protocol; interconnection method.
前記翻訳ステップは、前記少なくとも1つのメモリモジュール(M)に記憶されたコンフィギュレーションファイルに前記第2プログラム内でアクセスすることを含み、
前記コンフィギュレーションファイルは、前記第2プログラムに、前記第3プログラム(P3)によって実現されるよう構成された前記プログラム部分を提供する
請求項1に記載の相互接続方法。
said translating step comprising accessing within said second program a configuration file stored in said at least one memory module (M);
2. Interconnection method according to claim 1, wherein said configuration file provides said second program with said program portion adapted to be implemented by said third program (P3).
前記第3メッセージの、又は前記プログラム部分の少なくとも一部を送信するステップは、
第2伝送プロトコルによる、前記第2プログラム(P2)から第4プログラム(P4)への第4メッセージの第1送信と、
前記第4プログラム(P4)から前記第3プログラム(P3)への第5メッセージの第2送信と、
少なくとも含む
請求項1又は2に記載の相互接続方法。
transmitting at least part of said third message or of said program portion,
a first transmission of a fourth message from said second program (P2) to a fourth program (P4) according to a second transmission protocol;
a second transmission of a fifth message from said fourth program (P4) to said third program (P3);
3. An interconnection method according to claim 1 or 2, comprising at least.
第1伝送プロトコルは、前記第1ロボット(1)の前記第2プログラムP2と、前記第2ロボット(2、21)の前記第2プログラムP2との間の第6メッセージの送信のために用いられる
請求項1-3のいずれか1項に記載の相互接続方法。
The first transmission protocol is for transmission of a sixth message between said second program ( P2 ) of said first robot ( 1) and said second program ( P2 ) of said second robot (2, 21). An interconnection method according to any one of claims 1 to 3, used for.
やり取りされた前記第1メッセージ、前記第2メッセージ、前記第3メッセージ、前記第4メッセージ、及び前記第5メッセージは、JSONフォーマットである
請求項に記載の相互接続方法。
4. The interconnection method of claim 3, wherein said first message, said second message, said third message, said fourth message and said fifth message exchanged are in JSON format.
前記第1伝送プロトコルは、UDPタイプである
請求項に記載の相互接続方法。
5. Interconnection method according to claim 4 , wherein said first transmission protocol is of UDP type.
前記第2伝送プロトコルは、TCPタイプである
請求項1-6のいずれか1項に記載の相互接続方法。
Interconnection method according to any one of claims 1 to 6, wherein said second transmission protocol is of TCP type.
前記少なくとも1つの電気通信機器は、無線通信手段を備える
請求項1-7のいずれか1項に記載の相互接続方法。
An interconnection method according to any one of the preceding claims, wherein said at least one telecommunication equipment comprises wireless communication means.
前記無線通信手段は、WIFIタイプのモジュール、RFIDタイプのモジュール、ブルートゥースタイプのモジュール、GSMタイプのモジュールのうちの少なくとも1つのモジュールを備える
請求項に記載の相互接続方法。
Interconnection method according to claim 8 , wherein said wireless communication means comprises at least one module of a WIFI type module, an RFID type module, a Bluetooth type module, a GSM type module.
前記第2プログラム(P2)は、もし受信者が前記少なくとも1つの第2ロボット(2)であるなら、前記第2メッセージを送信する前に、前記第2メッセージを暗号化し、
前記第2プログラム(P2)は、もし送信者が前記少なくとも1つの第2ロボット(2)であるなら、前記第3メッセージを翻訳又は送信する前に、前記第3メッセージを復号化する
請求項1-9のいずれか1項に記載の相互接続方法。
said second program (P2) encrypting said second message before sending said second message if the recipient is said at least one second robot (2);
1. Said second program (P2) decrypts said third message before translating or sending said third message if the sender is said at least one second robot (2). 10. Interconnection method according to any one of -9.
前記少なくとも1つの第2ロボットは、サーバー(3)に接続されたリモートオペレータを備える
請求項1-10のいずれか1項に記載の相互接続方法。
Interconnection method according to any one of the preceding claims , wherein said at least one second robot comprises a remote operator connected to a server (3) .
前記第3プログラム(P3)は、前記ロボットのオペレーティングシステム及び少なくとも1つのアクチュエータ(A1、A2)及び/又は少なくとも1つのセンサ(C)のドライバプログラムを含む
請求項1-11のいずれか1項に記載の相互接続方法。
12. According to any one of claims 1-11, wherein said third program (P3) comprises an operating system of said robot and a driver program for at least one actuator (A1, A2) and/or at least one sensor (C). Interconnection method as described.
複数のロボット(1、2、21)の間の協働を管理する方法であって、前記複数のロボット(1、2、21)のそれぞれは、
モニタ制御ユニットであって、前記モニタ制御ユニットは、少なくとも1つのプロセッサ(4)及び少なくとも1つのメモリモジュール(M)を備える、モニタ制御ユニットと、
アクチュエータ(A1、A2)又はセンサ(C)のような少なくとも1つの周辺機器と、
少なくとも1つの通信ネットワークに接続された少なくとも1つの通信機器と、
前記少なくとも1つの通信機器を制御するよう構成され、前記少なくとも1つのプロセッサ上で実行される複数の第1ソフトウェアモジュールを含む第1プログラム(P1)と、
前記少なくとも1つのプロセッサ上で実行される複数の第2ソフトウェアモジュールを含む第2プログラム(P2)と、
前記少なくとも1つのアクチュエータ及び/又は前記少なくとも1つのセンサを制御するよう構成され、前記少なくとも1つのプロセッサ上で実行される複数の第3ソフトウェアモジュールを含む第3プログラム(P3)と
を少なくとも備え、
前記相互接続方法は、以下のステップ
前記サーバー(3)によってホストされた又はインターネットを通してアクセス可能なアプリケーションレイヤによる、予定された基本タスク及びそれらの順序のリストを含む送信ファイルと、前記周辺機器の識別及び優先度ファイルとの送信と、
前記複数のロボットのそれぞれのロボットの前記第1プログラム(P1)の機器サービスによる、ミッションファイルと前記識別及び優先度ファイルとの受信と、
前記複数のロボットのそれぞれのロボットの前記第1プログラム(P1)による、第1クエリタイプメッセージの、その第2プログラム(P2)への送信であって、これにより前記複数のロボット(1、2、21)のそれぞれのロボットの少なくとも1つの周辺機器のうちのそれぞれの利用可能な周辺機器(A1、A2、C)の識別子を確定する、第1クエリタイプメッセージの送信と、
前記複数のロボット(1、2、21)のそれぞれのロボットの前記第2プログラム(P2)による、請求項1-12のいずれか1項に記載の相互接続方法の実行によって、前記複数のロボット(1、2、21)のそれぞれのロボット上で利用可能な周辺機器(A1、A2、C)の識別子のリクエストを第3プログラム(P3)から行い、前記第1プログラム(P1)に送信することと、
前記利用可能な周辺機器(A1、A2、C)の識別子の前記複数のロボット(1、2、21)のそれぞれのロボットの前記第1プログラム(P1)の前記機器サービスによる処理によって、前記複数のロボット(1、2、21)のそれぞれのロボット(1、2、21)によって実現可能なタスクのリストを生成すること、
前記複数のロボット(1、2、21)のそれぞれのロボットによって実現可能なタスクのリストを、前記第1プログラム(P1)のそれぞれのネゴシエーション/選択サービスによって、前記複数のロボット(1、2、21)のそれぞれのロボット(1、2、21)に及び/又は前記サーバー(3)の中央化されたサービスに送信すること、
前記サーバー(3)の中央化されたサービスによる及び/又は前記ロボット(1、2、21)のそれぞれのネゴシエーション/選択サービスの間の通信の処理に続く、前記周辺機器の前記識別及び優先度ファイルに基づく、及び前記実現可能なタスクのリストに基づく、ミッションに参加するロボットのリストの作成と、
前記ミッションの実行と、
前記ロボットの同期と、
前記ミッションの実行の監督と
を含む、協働を管理する方法。
A method of managing collaboration between a plurality of robots (1, 2, 21), each of said plurality of robots (1, 2, 21) comprising:
a monitor control unit, said monitor control unit comprising at least one processor (4) and at least one memory module (M);
at least one peripheral such as actuators (A1, A2) or sensors (C);
at least one communication device connected to at least one communication network;
a first program (P1) configured to control said at least one communication device and comprising a plurality of first software modules running on said at least one processor;
a second program (P2) comprising a plurality of second software modules running on said at least one processor;
a third program (P3) configured to control said at least one actuator and/or said at least one sensor and comprising a plurality of third software modules running on said at least one processor (P3);
The interconnection method includes the following steps
sending, by an application layer hosted by said server (3) or accessible through the Internet, a transmission file containing a list of scheduled basic tasks and their order, and said peripheral identification and priority file;
receiving the mission file and the identification and priority file by equipment services of the first program (P1) of each robot of the plurality of robots;
sending, by said first program (P1) of each robot of said plurality of robots, a first query type message to its second program (P2), whereby said plurality of robots (1, 2, 21) sending a first query type message determining the identifier of each available peripheral (A1, A2, C) of the at least one peripheral of each robot;
By executing the interconnection method according to any one of claims 1 to 12 by the second program (P2) of each robot of the plurality of robots (1, 2, 21), the plurality of robots ( 1, 2, 21) making a request from the third program (P3) for the identifiers of the peripheral devices (A1, A2, C) available on the respective robots and transmitting them to the first program (P1); ,
Through processing by the device service of the first program (P1) of each of the plurality of robots (1, 2, 21) of the identifiers of the available peripheral devices (A1, A2, C), the plurality of generating a list of tasks that can be accomplished by each of the robots (1, 2, 21) (1, 2, 21);
A list of tasks that can be performed by each robot of said plurality of robots (1, 2, 21) is generated by a respective negotiation/selection service of said first program (P1) to said plurality of robots (1, 2, 21). ) to each robot (1, 2, 21) and/or to a centralized service of said server (3) ;
Said identification and priority files of said peripherals following processing of communications by said centralized service of said server (3) and/or between negotiation/selection services of said robots (1, 2, 21) respectively. and based on the list of feasible tasks , creating a list of robots to participate in the mission ;
executing the mission;
synchronizing the robot;
and overseeing the execution of said mission.
請求項1-12のいずれか1項に記載のロボットの相互接続方法を実行するよう構成された命令のセットを含むコンピュータプログラム。 A computer program comprising a set of instructions adapted to perform a method for interconnecting robots according to any one of claims 1-12. 請求項13に記載の協働を管理する方法を実行するよう構成された命令のセットを含むコンピュータプログラム。 14. A computer program comprising a set of instructions arranged to perform the method of managing cooperation according to claim 13.
JP2020566329A 2018-02-20 2019-02-14 How to interconnect robots Active JP7266048B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1851429A FR3078178B1 (en) 2018-02-20 2018-02-20 INTERCONNECTION PROCESS BETWEEN ROBOTS
FR18/51429 2018-02-20
PCT/FR2019/050328 WO2019162595A1 (en) 2018-02-20 2019-02-14 Robot interconnection method

Publications (2)

Publication Number Publication Date
JP2021514515A JP2021514515A (en) 2021-06-10
JP7266048B2 true JP7266048B2 (en) 2023-04-27

Family

ID=62683312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020566329A Active JP7266048B2 (en) 2018-02-20 2019-02-14 How to interconnect robots

Country Status (11)

Country Link
US (1) US11890761B2 (en)
EP (1) EP3756091B1 (en)
JP (1) JP7266048B2 (en)
KR (1) KR20200135358A (en)
CN (1) CN111742298B (en)
BR (1) BR112020016874A2 (en)
CA (1) CA3089452A1 (en)
ES (1) ES2923288T3 (en)
FR (1) FR3078178B1 (en)
SG (1) SG11202007674SA (en)
WO (1) WO2019162595A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020209746A1 (en) * 2020-07-31 2022-02-03 Airbus Operations Gmbh UNMANNED GROUND VEHICLE FOR HYGIENE MAINTENANCE AND METHODS FOR IMPROVING SANITARY CONDITIONS

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189608A (en) 2000-08-28 2002-07-05 Sony Corp Communication device and communicating method, information processing system, programming method, network system, and robot device
JP2003285285A (en) 2002-03-27 2003-10-07 Nec Corp Robot unit having software agent, control method thereof and program
US20060079997A1 (en) 2002-04-16 2006-04-13 Mclurkin James Systems and methods for dispersing and clustering a plurality of robotic devices
JP2006344075A (en) 2005-06-09 2006-12-21 Sony Corp Network system, mobile body device, control method therefor and computer program
JP2012131025A (en) 2010-12-23 2012-07-12 Korea Electronics Telecommun System and method for relaying robot plug-in
JP2013004050A (en) 2011-06-22 2013-01-07 Internatl Business Mach Corp <Ibm> Context information processing system and method
US20130123980A1 (en) 2011-11-14 2013-05-16 Electronics And Telecommunications Research Institute Method and system for controlling multiple small robots
JP2017116993A (en) 2015-12-21 2017-06-29 ファナック株式会社 State change management system of manufacturing cell in cell control system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374155B1 (en) * 1999-11-24 2002-04-16 Personal Robotics, Inc. Autonomous multi-platform robot system
US6687571B1 (en) * 2001-04-24 2004-02-03 Sandia Corporation Cooperating mobile robots
JP3925140B2 (en) * 2001-10-09 2007-06-06 ソニー株式会社 Information providing method, information providing apparatus, and computer program
KR100701823B1 (en) * 2006-05-24 2007-03-30 (주)시뮬레이션연구소 Communication System Among Toy Robots Using Messenger And Toy Robot Linked With The Same
US20090254671A1 (en) 2008-03-31 2009-10-08 France Telecom Remote control of a device by a terminal
JP6294036B2 (en) * 2012-09-07 2018-03-14 ファナック アメリカ コーポレイション System that monitors / analyzes robot-related information and displays it on smart devices
US9233468B2 (en) * 2013-11-12 2016-01-12 Irobot Corporation Commanding a mobile robot using glyphs
US9914220B2 (en) * 2014-02-07 2018-03-13 Abb Schweiz Ag Web browser access to robot cell devices
CN105429858B (en) * 2015-12-11 2018-08-03 中国人民解放军国防科学技术大学 A kind of real-time Message Passing method between multirobot
US10375019B2 (en) * 2017-10-06 2019-08-06 Stealthpath, Inc. Methods for internet communication security

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189608A (en) 2000-08-28 2002-07-05 Sony Corp Communication device and communicating method, information processing system, programming method, network system, and robot device
JP2003285285A (en) 2002-03-27 2003-10-07 Nec Corp Robot unit having software agent, control method thereof and program
US20060079997A1 (en) 2002-04-16 2006-04-13 Mclurkin James Systems and methods for dispersing and clustering a plurality of robotic devices
JP2006344075A (en) 2005-06-09 2006-12-21 Sony Corp Network system, mobile body device, control method therefor and computer program
JP2012131025A (en) 2010-12-23 2012-07-12 Korea Electronics Telecommun System and method for relaying robot plug-in
JP2013004050A (en) 2011-06-22 2013-01-07 Internatl Business Mach Corp <Ibm> Context information processing system and method
US20130123980A1 (en) 2011-11-14 2013-05-16 Electronics And Telecommunications Research Institute Method and system for controlling multiple small robots
JP2017116993A (en) 2015-12-21 2017-06-29 ファナック株式会社 State change management system of manufacturing cell in cell control system

Also Published As

Publication number Publication date
JP2021514515A (en) 2021-06-10
EP3756091B1 (en) 2022-04-13
US20200376669A1 (en) 2020-12-03
CA3089452A1 (en) 2019-08-29
SG11202007674SA (en) 2020-09-29
WO2019162595A1 (en) 2019-08-29
CN111742298B (en) 2024-03-22
FR3078178A1 (en) 2019-08-23
ES2923288T3 (en) 2022-09-26
KR20200135358A (en) 2020-12-02
CN111742298A (en) 2020-10-02
BR112020016874A2 (en) 2020-12-15
EP3756091A1 (en) 2020-12-30
FR3078178B1 (en) 2020-02-28
US11890761B2 (en) 2024-02-06

Similar Documents

Publication Publication Date Title
Osentoski et al. Robots as web services: Reproducible experimentation and application development using rosjs
CN108551464A (en) A kind of connection foundation of mixed cloud, data transmission method, device and system
CN109159125B (en) Cloud service system based on ROS system robot
US11140137B2 (en) Method and industrial computing apparatus for performing a secure communication
US11010216B2 (en) RPC conversion processing system and RPC conversion method
US10632616B1 (en) Smart robot part
Hong et al. A cloud-based control system architecture for multi-UAV
JP7266048B2 (en) How to interconnect robots
US20140169373A1 (en) Relay server and relay communication system
Chen et al. FogROS2-SGC: A ROS2 Cloud Robotics Platform for Secure Global Connectivity
Brooks et al. Implementation of an indoor active sensor network
Martins et al. MRGS: A multi-robot SLAM framework for ROS with efficient information sharing
JP2017521026A (en) Method and node for facilitating communication between a tool server and a plurality of tool controllers in a work tool communication system
JP6766501B2 (en) Information transfer systems, information processing devices, and programs
Bamfaste Development of a software layer for the integration of robotic elements into the METERON infrastructure using robotic services
JP5058191B2 (en) VPN control device, VPN connection device, VPN setting method, and program
Niebuhr et al. Distributed real-time control service framework for human-robot interaction applications
Denzler et al. Tunnelling and Mirroring Operational Technology Data with IP-based Middlewares
JP2010081109A (en) Communication system, management apparatus, relay equipment, and program
WO2015067052A1 (en) Method, device, and system for transmitting test command
Arnholm et al. Combining industry 4.0 and 5g connectivity with robots in digital production factories
RABBAH et al. Real Time Distributed and Decentralized Peer-to-Peer Protocol for Swarm Robots
KR20170051408A (en) Methods and systems for facilitating communication in a work tools network environmen
Profanter From Unpacking to Plug & Produce-Flexible Components Integration for Robots in Industry 4.0
Liu et al. RoboKube: Establishing a New Foundation for the Cloud Native Evolution in Robotics

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230320

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230417

R150 Certificate of patent or registration of utility model

Ref document number: 7266048

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150