JP7436401B2 - 分散協調システム - Google Patents

分散協調システム Download PDF

Info

Publication number
JP7436401B2
JP7436401B2 JP2021005426A JP2021005426A JP7436401B2 JP 7436401 B2 JP7436401 B2 JP 7436401B2 JP 2021005426 A JP2021005426 A JP 2021005426A JP 2021005426 A JP2021005426 A JP 2021005426A JP 7436401 B2 JP7436401 B2 JP 7436401B2
Authority
JP
Japan
Prior art keywords
action
action candidate
candidate
information
moving object
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
JP2021005426A
Other languages
English (en)
Other versions
JP2022110181A (ja
Inventor
篤志 宮本
潔人 伊藤
弘之 水野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2021005426A priority Critical patent/JP7436401B2/ja
Priority to PCT/JP2021/042459 priority patent/WO2022153669A1/ja
Priority to US18/022,332 priority patent/US20240051132A1/en
Publication of JP2022110181A publication Critical patent/JP2022110181A/ja
Application granted granted Critical
Publication of JP7436401B2 publication Critical patent/JP7436401B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/69Coordinated control of the position or course of two or more vehicles
    • G05D1/698Control allocation
    • G05D1/6983Control allocation by distributed or sequential control
    • 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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2105/00Specific applications of the controlled vehicles
    • G05D2105/55Specific applications of the controlled vehicles for emergency activities, e.g. search and rescue, traffic accidents or fire fighting
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2107/00Specific environments of the controlled vehicles
    • G05D2107/30Off-road
    • G05D2107/36Catastrophic areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2109/00Types of controlled vehicles
    • G05D2109/10Land vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Description

本発明は、広域探索における自律型の分散協調システムに関する。
複数台のロボットが特定の環境下で連携してタスクを実行する協調ロボットシステムにおいて、実用上の多くのシステムが、集中管理された計算機であるホストマシンを必要としている。例えば、複数台のロボットで領域全体を探索するような探索タスクにおいて、事前計画に基づいた協調ロボットシステムがある。この方法では、予めすべてのロボットに共有の地図を与えておき、個々のロボットが担当する領域を事前計画して、均等に分担させる。ロボットが故障した場合や行動が遅れた場合には、全体としてタスクが完了しない可能性があり、また、事前計画の前処理が大きいといった課題がある。
別の手段として、共有地図に基づいた協調ロボットシステムがある。この方法では、各ロボットの位置情報を、集中管理された計算機に集約し、得られた全ての位置情報から各ロボットの行動をまとめて計算する。すべてのロボットで共通の座標系を持った共有地図を作成する必要があり、前処理や共有地図への位置情報の統合、通信などのコストが大きいといった課題がある。
特に、災害時や緊急時などの探索、捜索活動などを想定した場合には、環境の詳細を事前に把握することが難しかったり、障害によって集中管理されたシステムへの通信ができなくなる可能性が生じ、事前計画や地図の共有の課題はより顕著になる。この場合、より自律的にロボットを動かすことのできる分散協調ロボットシステムが求められる。タスクの一例としては、負傷者を発見する、周辺の異常事態を検出する、不審者を監視するなどがある。
自律的な分散協調ロボットシステムとして、例えば、特許文献1では、接近する自律移動体を適切に回避し、与えられたタスクを実行する自律移動体が開示されている。
特開2019-21973号公報
特許文献1に記載の技術は、外界センサによって、障害物や接近する他ロボットを監視し、接触する可能性のあることを予測した場合に、回避経路を生成して回避動作を実行させるものである。集中管理された計算機で制御することなく、回避行動によって障害物や他のロボットと衝突のない行動を実行させることができる。しかし、災害時や緊急時における広域探索などを想定し、それらを複数のロボットで効率よく実行させようとした場合、周辺情報のみを用いた回避行動だけでは十分でない。例えば、他ロボットと探索エリアが重複してしまったり、何度も同じ場所を探索してしまうと、大きく探索効率が下がってしまう。未知環境の広域探索を、複数のロボットで効率よく実現させるために、局所的な回避行動だけに留まらず、個々のロボットが適切に分担することで、タスク全体として協調の可能なロボットシステムの構築が必要である。
本発明は、上記のような課題を鑑みてなされたものであり、特に、未知環境における広域探索を対象とし、事前計画や地図共有を必要としない自律型の分散協調システムを提供することを目的とする。
上記の目的を達成するため、本発明においては、複数の移動体で所定のタスクを実行する分散協調システムであって、他の移動体との相対位置情報、自機の過去の経路情報、及び周囲の形状情報を取得するセンサの入力処理部と、前記相対位置情報に基づいて、前記他の移動体を避け第一の行動候補を生成する他移動体回避モジュールと、前記経路情報に基づいて、自機の過去経路を避ける第二の行動候補を生成する過去経路回避モジュールと、前記形状情報に基づいて、周囲の障害物を避ける第三の行動候補を生成する障害物回避モジュールと、前記第一の行動候補、前記第二の行動候補、及び前記第三の行動候補に基づいて、前記移動体の速度または角速度を決定する統合モジュールを含む行動計画処理部と、を備え
前記移動体の行動候補は、次の行動を表す複数の記号と、前記行動を表す複数の記号にそれぞれ対応する確率とからなり、
前記第一の行動候補、前記第二の行動候補、及び、前記第三の行動候補に基づいて、前記統合モジュールで統合された前記行動候補について、前記確率に基づいて、前記次の行動を表す複数の記号の中から一つ記号を選択し、前記移動体の次の行動を決定する分散協調システムを提供する。
本発明によれば、未知環境に対する広域探索タスクにおいて、効率的に探索域を拡げながら、他のロボットや障害物と干渉しないような協調的な探索が可能な分散協調システム、及びタスク実行方法を実現することができる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
実施例1の分散協調ロボットシステムの広域探索タスクの一例を示す図である。 実施例1の分散協調ロボットシステムの各ロボットにおける装置構成の1例を示すブロック図である。 実施例1の各ロボットのロボットシステムの構成例の一例を示す機能ブロック図である。 実施例1のロボットシステム300が実行する処理の概要を説明するフローチャートである。 実施例1の行動計画処理部で生成される行動候補の一例を説明する図である。 実施例1の他ロボット回避処理におけるロボットの相対関係を説明する図である。 実施例1の過去経路回避処理における自機ロボットと過去経路の関係を説明する図である。 実施例1の障害物回避処理における自機ロボットと障害物の関係を説明する図である。 実施例1の行動計画処理部の統合モジュール313の処理の流れの一例を示すフローチャートである。 実施例1の過去経路範囲内からの脱出処理を説明する図である。 実施例1のロボットシステムを実装した、10台ロボットによる広域探索の2次元シミュレーションの結果を示す図である。 実施例1の広域探索の2次元シミュレーション結果の表示画面の一例を示す図である。
以下、添付図面を参照して本発明の実施例について説明する。添付図面では、機能的に同じ要素は同じ番号で表示されている。なお、添付図面は本発明の原理に則った具体的な実施例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
実施例1は、複数のセンサを備えたロボットによる分散協調ロボットシステムの実施例である。
すなわち、複数のロボットで所定のタスクを実行する分散協調システムであって、ロボットは、他のロボットとの相対位置情報、過去の経路情報、及び、周囲の形状情報を取得するセンサ入力処理部と、相対位置情報に基づいて、他のロボットを避け第一の行動候補を生成する他ロボット回避モジュールと、経路情報に基づいて、過去の経路情報を避ける第二の行動候補を生成する過去経路回避モジュールと、形状情報に基づいて、周囲の障害物を避ける第三の行動候補を生成する障害物回避モジュールと、第一の行動候補、第二の行動候補、及び、第三の行動候補に基づいて、ロボットの速度及び角速度を決定する統合モジュールを含む行動計画処理部と、を備える構成の分散協調ロボットシステム、及びそのタスク実行方法の実施例である。
実施例1は、全地球測位システム(GPS:Global Positioning System)等の位置測量手段が使えない屋内等の未知環境に対する広域探索タスクを実現する分散協調ロボットシステムの実施例である。まず、実施例1の分散協調ロボットシステムの広域探索タスク、及び対象とするロボットの基本ハードウェア構成について説明する。
図1は、実施例1の分散協調ロボットシステムの広域探索タスクの一例を説明するための図である。図1の外枠は屋内100、屋内100の内側の直線は壁101、黒く塗りつぶされた四角は柱102、壁101で囲われた空間は部屋106を表している。バツの記号はロボットのスタートポイント103、三角の記号はロボット104、点線の曲線はロボットの軌跡105を表している。図1は、中央の空間から10台のロボット104が、屋内100内にある6つの部屋106を協調して探索する様子の一例を表している。
図1において、10台のロボット104は、例えば、緊急時を感知すると自動で起動し、スタートポイント103より探索を開始する。起動については、外部からの通信によって行われてもよい。10台ロボット104は互いに協調しながら探索タスクを実行し、タスクを完了すると、探索を停止する。ここで、タスクの完了は、例えば、特定の対象を発見する、一定時間経過する、電源の残量を確認する、などで判断する。完了後の行動は、例えば、その場で停止する、スタートポイントに帰還する、などであってもよい。なお、図1の屋内100のレイアウトおよびロボット104の台数は、一例であり、これに限らない。また、屋内での例を記したが、屋外であっても同様である。屋外の場合、タスク(探索)の範囲は予め設定されていてもよく、例えば、標的物や柵などをタスクの範囲の外周と設定するなどが考えられる。
図2は、実施例1のロボットのハードウェア構成例の一例を示すブロック図である。図2に示すロボット104は、筐体201および駆動部202から構成され、さらに筐体201の内部に、センサ203、通信機204、計算機205、駆動制御ユニット206、電源ユニット207を備える。筐体201は、ロボット本体の部品を納めた箱である。駆動部202は、ロボットの動力源であるモーター、車輪やプロペラなどを含む。
センサ203は、ロボット104の行動や周辺の状況を検知するセンサであり、カメラなどのビジョンセンサ、慣性計測装置(IMU:Inertial Measurement Unit)、周辺の形状情報を取得する深度センサ、更には各種の補助センサなどを含む。通信機204は、外部通信のための装置及び、電波強度を検知するための装置であり、規格化された近距離無線通信などの汎用的なものを含む。計算機205は、ロボットの行動を計画するブレインであり、例えば、ハードウェア構成としてプロセッサ210、メモリ211、インターフェース212、及びストレージ装置213を含む。駆動制御ユニット206は、駆動部を直接制御する制御ボードなどを含む。電源ユニット207は、バッテリーなどを含み、ロボット104に電源を共有する。
ロボット104は、センサ203や通信機204から周辺の状況についてのデータを収集し、集めたデータを計算機205で処理して制御コマンドを生成し、駆動制御ユニット206を介して、駆動部202を動かすことで行動する。
実施例1の分散協調ロボットシステムは、センサ203や通信機204のデータから計算して得られた他ロボットとの位置関係を示す情報である相対位置情報、自機が過去に移動した経路を示す情報である過去経路情報、自機の周辺の対象物の形状を示す情報である形状情報の3つを入力として、以下の3つの処理を実行して、他ロボットを避ける行動,過去の経路を避ける行動,障害物を避ける行動を予測する。
(1)他ロボット回避処理
(2)過去経路回避処理
(3)障害物回避処理
さらに、それらを統合することで,事前計画や地図の共有なく,ロボットの広域探索を実行可能とする。これらの機能は全て、例えば、計算機205のプログラムモジュールとして実装される。各ロボット104の計算機205のメモリに格納され、計算機205のプロセッサに逐次読み出され実行される。次に、これらの機能を実現するシステムおよび処理について説明する。
図3は、実施例1の各ロボットのロボットシステムの構成例の一例を示す機能ブロック図である。ロボットシステム300は、ロボット104の各々に搭載され、システム制御部301、センサ入力処理部302、行動計画処理部303、ロボット制御出力処理部304、フェイルセーフ処理部305、外部通信インターフェース306、などから構成される。さらに、行動計画処理部303は、他ロボット回避モジュール310、過去経路回避モジュール311、障害物回避モジュール312、及び統合モジュール313から構成される。
システム制御部301は、処理の開始を受け付けた場合、システム全体を起動する。その他のプログラムモジュールを起動し、システムが安定化するのを待ち、センサ入力処理部302、行動計画処理部303、ロボット制御出力処理部304、フェイルセーフ処理部305を実行可能な状態にする。また、フェイルセーフ処理部305よりフェイルセーフが働いて、行動計画処理を停止する必要が生じた場合、ロボット制御出力部304に割り込みを入れて、ロボットを停止させるように制御する。
センサ入力処理部302は、センサ203や通信機204から得られたデータを入力として、行動計画処理部303で処理しやすい形式に変換する。センサ入力処理部302への入力としては、他のロボットとの位置関係を図るために、ロボットの通信機器が発する電波強度情報320、自機の経路を推測するために、ロボット機体のIMU情報321、障害物との距離や形状を測るために、レーザー深度センサや深度カメラなどの深度センサの深度センサ情報322を利用する。センサ入力処理部302では、これらのデータから、相対位置情報330、過去経路情報331、形状情報332を生成する。また、センサ値にノイズが多く含まれる場合には、ノイズを低減させるフィルタリング処理も合わせて実行する。
行動計画処理部303は、センサ入力処理部302によって得られた相対位置情報330、過去経路情報331、形状情報332を用いて、行動計画を実行し、行動コマンド350を生成する。行動計画処理部303には、相対位置情報330、過去経路情報331、形状情報332に対応した、他ロボット回避モジュール310、過去経路回避モジュール311、障害物回避モジュール312があり、それらから生成された行動候補340~342を統合モジュール313で統合して、行動コマンド350を生成する。
ロボット制御出力処理部304は、生成された行動コマンド350から駆動制御ユニット206が処理可能な速度命令360に変換して駆動制御ユニット206へ渡す。駆動制御ユニット206に渡す速度命令360は、速度成分、角加速度成分を持つ速度情報である。また、システム制御部301によって、停止命令の割り込みがあった場合、速度情報の要素を全てゼロに上書きする。
フェイルセーフ処理部305は、センサ入力370を入力として、危険な状況を判断して検出する。危険な状況と判断した場合、システム制御部301に働きかけ、ロボットを停止させる。例えば、センサ入力として深度センサの入力を用い、急に進行方向に障害物が出現した場合などの緊急停止や、バッテリー残量をセンサ入力として、活動限界の前に安全にシステムを停止させる場合などに用いる。
最後に、外部通信インターフェース306は、外部装置320との通信を行うためのインターフェースである。初期起動を外部から与える場合や探索結果やログの情報を外部に発信する際に用いる。
これらの処理のための実行プログラム、及び当該プログラムの実行時に用いられる情報は、計算機205のメモリ211に格納される。プロセッサ210が、当該プログラムを実行することで、ロボットシステム300が有する各種機能を実現できる。以下の説明において、機能部を主体に処理の説明をするときには、当該機能部を実現するプログラムがプロセッサによって実行されていることを示す。
また、これらの処理部が実行するプログラムは、例えば、ROS(Robot Operating System)のようなロボットアプリケーション向けの支援ソフトウェアによって記述されていてもよい。ROSなどを用いている場合は、各処理部は、ノードとして設計され、各ノードは独立に動作し、各情報のやり取りはノード間のメッセージ通信によって実現される。
次に、本実施例のロボットシステム300が実行する処理について、その流れを具体的に説明する。図4は、実施例1のロボットシステム300が実行する探索処理の概要を説明するフローチャートである。システム起動ステップS401、センサ入力処理ステップS402、行動計画処理ステップS403、ロボット制御出力処理ステップS404、フェイルセーフ処理ステップS405、システム停止ステップS406からなる。ロボットシステム300は、以下で詳述する各処理を実行する。
<システム起動ステップS401>
システム起動ステップS401では、ロボットシステム300を起動する。具体的には、システム制御部301がシステム起動を実行する。システム制御部301は、外部通信インターフェース306を介して外部装置320より、開始を受け取った場合に、その他のプログラムモジュールを起動し、システムが安定化するのを待ち、センサ入力処理S402、行動計画処理S403、ロボット制御出力処理S404、フェイルセーフ処理S406を実行可能な状態にする。
<センサ入力処理ステップS402>
センサ入力処理ステップS402では、他のロボットとの位置関係を図るために、例えば、ロボットの通信機器が発する電波強度情報320を入力とし、他ロボットとの相対位置情報330を生成する。相対位置情報330は、自機の現在位置と、検出された他の全ての機体との距離や方向を表すデータである。
相対位置情報330は、例えば、他のロボットの通信モジュールの発する電波強度のデータから計算して取得し、自機のロボットに対する他のロボットの距離と位置を判定するために用いられる。電波強度のデータを用いない場合でも、例えば、カメラを用いて、カメラ画像上の写り方や、ステレオカメラによる3次元計測によって、他ロボットとの距離や方向を推測して用いてもよい。また他の手段によって、他ロボットとの距離や方向を求めてもよい。
また、センサ入力処理ステップS402では、例えば、自機の経路を推測するために、ロボット機体のIMU情報321を入力とし、自機の過去経路情報331を生成する。自機の過去経路情報331は、スタートポイントからの自機のIMU情報の積算によって計算される軌跡の情報であり、あるタイミング毎に取得された座標の時系列データである。すなわち、過去経路情報は、センサ203のデータから計算して取得し、自機の次の行動が、過去に通過した位置の周辺かどうかを判定するために用いられる。
さらに、センサ入力処理ステップS402では、例えば、障害物との距離を測るために、深度センサの深度センサ情報322を入力とし、形状情報332を生成する。例えば、深度カメラを用いた場合、形状情報332は、カメラの画素に対応して取得された点群の情報である。各点には物体までの深度(距離)に応じた輝度値が設定される。センサ値にノイズが多く含まれる場合には、ノイズを低減させるフィルタリング処理などを合わせて実行してもよい。このように、形状情報は、センサのデータから計算して取得し、自機の次の行動の安全範囲内に、障害物があるかどうかを判定するために用いる。
これらのセンサ入力処理S402は、具体的には、センサ入力処理部302が実行する。生成された相対位置情報330、過去経路情報331、形状情報332は、行動計画処理部303へと渡され、行動計画処理ステップS403へと処理を移行する。
<行動計画処理ステップS403>
行動計画処理ステップS403では、生成された前記の相対位置情報330、過去経路情報331、形状情報332を用いて、他のロボットを避ける第一の行動候補340、自機の過去経路を避ける第二の行動候補341、障害物を避ける第三の行動候補342を生成する。
図5は、実施例1の行動計画処理部303で生成される行動候補の一例を説明する図である。行動候補500は、図5の(A)に示すように、例えば、記号501と確率502の情報を持つ。記号501は、次の行動を表す記号である。例えば、図5の(B)に示すように、記号501は、2次元の行動として、直進速度維持の行動を表す記号「0」、方向変換左の行動を表す記号「1」、方向変換右の行動を表す記号「2」、直進加速の行動を表す記号「3」、直進減速の行動を表す記号「4」、の5つの行動を示している。この場合、記号501は5次元の記号列で表現される。図5の場合、ロボットの行動候補の次の行動を表す複数の記号は、直進、加速、減速、方向転換右、方向転換左である。
確率502は、記号501に対応する確率である。例えば、図5の(A)では、直進速度維持を表す記号「0」が30パーセントの割合で実行されることを表している。ここでは、行動候補を行動の記号と対応する確率で表現したが、必ずしも確率の表現にかぎらない。
すなわち、ロボットの行動候補は、例えば、次の行動を表す複数の記号と、行動を表す複数の記号にそれぞれ対応する確率とからなり、第一の行動候補、第二の行動候補、及び第三の行動候補に基づいて、統合モジュールで統合された行動候補について、例えば、確率に基づいて、次の行動を表す複数の記号の中から一つ記号を選択し、ロボットの次の行動を決定する。
行動計画処理ステップS403では、行動コマンド350を生成するために、下記の3つの処理を実行し、それらの行動候補を組み合わせる。
(1)他ロボット回避処理
他ロボット回避処理では、生成された前記の相対位置情報330を入力とし、他のロボットを避ける第一の行動候補340を生成する。具体的には、他ロボット回避モジュール310が、他のロボットを避ける第一の行動候補340生成を実行する。
図6は、実施例1の他ロボット回避処理におけるロボットの相対関係を説明する図である。同図において、自機のロボット601に対して、特定範囲603内に他のロボット602が侵入した場合、相対的位置関係を判定して、行動候補の確率を変更する。例えば、具体的には、他のロボットが自機のロボット601に対して、右側の方向に観測された場合(y’>0)、方向変換左の表す記号「1」に対応する確率を高め、逆に方向変換右の表す記号「2」あるいは、他の記号に対応する確率は低くする。また、他のロボットが自機のロボットに対して、左側の方向に観測された場合(y’<0)、方向変換右の表す記号「2」に対応する確率を高め、逆に方向変換左の表す記号「1あるいは、他の記号に対応する確率を低くする。
確率を高くあるいは低く変動させる程度は、距離604によって決定する。例えば、距離が遠くの場合には、確率を変動させる程度は低くし、逆に、距離が近くの場合には、確率を変動させる程度を高くして、互いのロボットが反発しあう力を高める。究極的には、対応する方向変換の確率を「1」として、その他の確率を全て「0」とすれば、互いのロボットは完全に反発し、探索を逆の方向に向けさせることができる。
また、図6は他のロボットは1台のみであるが、特定範囲内に複数のロボットが存在する場合も同様に考えればよい。全ての他のロボットで変動を判定したのち、対応する行動毎で和を求め、最終的に、正規化すればよい。また、最も距離の近いロボットに注目し、そのロボットとのみの回避処理としても問題ない。
(2)過去経路回避処理
過去経路回避処理では、生成された前記の過去経路情報331を入力とし、自機の過去経路を避ける第二の行動候補341を生成する。具体的には、過去経路回避モジュール311が、自機の過去経路を避ける第二の行動候補341生成を実行する。
図7は、実施例1の過去経路回避処理における自機ロボットと過去経路の関係を説明する図である。同図において、現在時刻tのロボットが、行動候補の選択で行動したと仮定して、その行動後の時刻t+1において、周辺に過去経路が存在するかを判定する。IMU情報から生成された前記の過去経路情報331は、軌跡703を持つ。軌跡703に対して、過去経路周辺幅702で定義された過去経路周辺範囲704を設定する。行動候補の行動毎に、判定方向701と過去経路周辺範囲704が重なるかを判定する。過去経路周辺範囲704と重なる場合は、その対応する行動の記号に対応する確率を低くする。
究極的には、重複する行動の確率を全て「0」とし、重複しない行動で確率を分配するようにすれば、行動候補の中に、探索可能な行動が存在するならば、完全に過去経路を避けた、未知の探索領域を優先した探索ができるようになる。
また、行動候補の行動毎に判定するのではなく、単純に時刻tにおける全周の判定範囲での過去経路周辺状況を観測し、判定範囲内で、自機のロボットから右側の領域の重複する割合が多い場合には、方向変換左の表す記号「1」に対応する確率を高め、また、自機のロボットから左側の領域の重複する割合が多い場合には、方向変換右の表す記号「2」に対応する確率を高めるように、確率を変動させてもよい。
(3)障害物回避処理
障害物回避処理では、生成された前記の形状情報332を入力として、周囲の障害物を避ける第三の行動候補342を生成する。具体的には、障害物回避モジュール312が、障害物を避ける第三の行動候補342生成を実行する。
図8は、実施例1の障害物回避処理における自機ロボットと障害物の関係を説明する図である。同図においては、障害物801が判定範囲802内に侵入した場合、速度をゼロに設定し、さらに、形状情報332を用いて、行動候補の行動に対する確率を変動させる。この際には、有効範囲803を設定し、その範囲内に障害物があるか否かで、回転する方向を定める。深度センサによって観測された障害物を取得し、自機から右側の領域に障害物がより近く観測される場合には、方向変換左の表す記号「1」に対応する確率を高め、また、自機のロボットから左側の領域に障害物がより近く観測される場合には、方向変換右の表す記号「2」に対応する確率を高めるように、確率を変動させる。この際、回転以外の行動は選択されないように、記号「1」及び「2」以外の行動の確率はゼロとなるようにする。
また、速度をゼロに設定するのではなく、障害物との距離を深度センサから取得し、段階的に減速しながら、障害物を回避するように調節してもよい。なお、障害物が判定範囲802内に存在しない場合、障害物回避処理を行わない。
最後に、生成された他のロボットを避ける第一の行動候補340、自機の過去経路を避ける第二の行動候補341、障害物を避ける第三の行動候補342を統合した行動候補を作成し、それらから重み付き選択を実行することで、次に実行する行動コマンド350を決定する。具体的には、統合モジュール313が、行動候補の統合と選択を実行する。すなわち、第三の行動候補に基づいて、初めに障害物を避ける行動を選択し、第一の行動候補に基づいて、次に他のロボットを避ける行動を選択し、第二の行動候補に基づいて、次に過去の経路を避ける行動を選択し、選択した行動が統合された行動候補について、例えば、確率に基づいて、次の行動を表す複数の記号の中から、一つ記号を選択し、ロボットの次の行動を決定する。
図9は、実施例1の行動計画処理部の統合モジュール313の統合処理の流れの一例を示すフローチャートである。初期化ステップS901、障害物を避ける第三の行動候補判定処理ステップS902、他のロボットを避ける行動候補判定処理ステップS903、過去経路を避ける行動候補判定処理ステップS904、過去経路範囲内から脱出処理ステップS905、行動選択処理S906、目標速度・目標角度設定処理S907からなる。
図9は、生成された、他のロボットを避ける第一の行動候補340、自機の過去経路を避ける第二の行動候補341、障害物を避ける第三の行動候補342を逐次的に判定して処理する手順を示している。本実施例の統合処理では、例えば、行動コマンド350として、目標速度情報及び目標角度を設定することを目標とする。
まず、初期化ステップS901では、目標速度情報、目標角度をセンサ値から推計される現在の速度情報、角度情報に初期化する。また、統合行動候補を、確率がゼロとなるように初期化する。
次に、障害物を避ける第三の行動候補判定処理ステップS901では、障害物を避ける第三の行動候補342を用いて、有効範囲内の進行方向に障害物が存在したかどうかを判定する。障害物が存在した場合、前記の障害物回避処理によって、回転以外の行動の確率がゼロ、もしくは十分に小さくなるため、その値を用いる。障害物が存在した場合、まず、目標速度情報をゼロに上書きして、固定する。また、統合行動候補を、第三の行動候補343の値に更新し、回転以外の確率を変動できないように、記号「0」、「3」、「4」に対応する確率の値を固定する。
次に、他のロボットを避ける行動候補判定処理ステップS903では、他のロボットを避ける第一の行動候補340を用いて、統合行動候補を更新する。この際、前の処理で固定された要素は更新しない。更新の仕方としては、加算、比重を加えて加算、選択するなどがある。
次に、過去経路を避ける行動候補判定処理ステップS904では、自機の過去経路を避ける第二の行動候補341を用いて、統合行動候補を更新する。この際、前の処理で固定された要素は更新しない。更新の仕方としては、加算、比重を加えて加算、選択するなどがある。また、この時、第二の行動候補341から、全ての確率が小さくなっている場合、周辺の領域で未探索の領域がなかったということである。その場合、過去経路範囲内から脱出処理ステップS905を実行する。
なお、第三の行動候補342、第一の行動候補340、第二の行動候補341の順番にて行動候補判定処理を実施する例を説明したが、それぞれの優先順位を設定し、第三の行動候補342、第一の行動候補340、第二の行動候補341の順番で優先順位を小さくしてもよい。この場合、確率への重みづけを調整することで優先順位を設定し、行動コマンド350を生成する。このように優先順位を設定することで、よりロボットシステムへの継続動作に影響が大きい事象を避けることができ、ロボットシステムの動作に支障がでないように制御することが可能となる。
過去経路範囲内から脱出処理ステップS905では、周辺の領域に未探索の境域がなくない、前記の過去経路を避ける行動候補判定処理のいずれの行動候補の確率が小さくなってしまった場合に、特定の行動をとらせることで、未探索の領域の範囲に、ロボットを移動させる処理である。すなわち、第二の行動候補に基づいて、過去の経路を避ける行動を選択する場合に、周辺の全てが過去経路に含まれていた場合、特定のルールに従って、過去経路の外まで脱出する行動候補を作成する。
図10は、本発明の実施例1の過去経路範囲内からの脱出処理を説明する図である。同図に示すように、直進可能ならば直進するように、障害物があり直進ができないようであれば、方向転換するように、統合行動候補の確率を変更する。このようにすることで、壁に沿って未探索のエリアまで脱出することができる。
次に、行動選択処理S906では、得られた統合行動候補の中から、確率的に選択し、次に行動する一つの行動を決定する。
最後に、目標速度・目標角度設定処理S907では、選択された行動に従って、目標速度および目標角度を更新し、行動コマンド350を生成する。
また、本実施例1においては、逐次的に判定を行いながら統合行動候補を決定する手順を示したが、統合行動候補の決定の方法はこれに限らない。例えば、強化学習を用いて実際に動かしながら学習したモデルを用いて、統合行動候補を作成してもよい。
図4の説明に戻る。
<ロボット制御出力処理ステップS404>
ロボット制御出力処理ステップS404では、前記の生成された行動コマンド350を入力とし、駆動制御ユニット206が処理可能な速度命令360に変換して駆動制御ユニット206へ渡す。駆動制御ユニット206に渡す速度命令360は、速度成分、角加速度成分を持つ速度情報である。具体的には、ロボット制御出力処理部が、速度命令360の発行処理を実行する。
ここで、前記の行動計画処理ステップS403において、行動コマンド350が直接、駆動制御ユニット206で処理可能であれば、本ステップは省略可能である。
ここまでの、センサ入力処理ステップS402、行動計画処理ステップS403、ロボット制御出力処理ステップS404によって、速度命令360が発行され、行動計画処理ステップS403で選択された1回の行動が実行される。探索終了判定ステップS407において、探索を終了しない場合、再びセンサ入力処理ステップS402に戻り、一方で、探索を終了する場合には、システム停止ステップS406に移行する。
ここで、探索終了の判定は、例えば、特定の対象を発見する、一定時間経過する、電源の残量を確認する、などで判断する。
<フェイルセーフ処理ステップS405>
フェイルセーフ処理ステップS405では、センサ入力370を入力として、危険な状況を判断して検出する。具体的には、フェイルセーフ処理部305が検出を実行する。危険な状況と判断した場合、システム制御部301にロボットを停止させるように働きかける。システム制御部301は、フェイルセーフ処理部305から検出情報が入力されると、ロボット制御出力処理部304に割り込みを入れて、速度命令360をすべてゼロに上書きする。
フェイルセーフとしては、上述したように、センサ入力として深度センサの入力を用い、急に進行方向に障害物が出現した場合などの緊急停止や、バッテリー残量をセンサ入力として、活動限界の前に安全にシステムを停止させる場合などに用いる。すなわち、フェイルセーフ処理部は、深度情報を監視して、進行方向に突然出現する障害物を検知した場合、あるいは、バッテリーの残量を監視し、ロボットの稼働時間が少なくなってしまった場合に、信号を発信して、ロボット制御に割り込みを行うことにより、速度あるいは加速度情報をゼロに上書きして、安全にシステムを停止させる。
<システム停止ステップS406>
システム停止ステップS406では、システムを停止させる。停止時の行動としては、例えば、その場で停止する、スタートポイントに帰還する、などであってもよい。停止の際、ロボットシステム300は、外部通信インターフェース306を通じて、外部装置320に自機の過去経路を送信しても構わない。これにより、例えば外部装置320に接続された画面などから各ロボットシステム300が通過した経路を表示することで、タスクの完了を目視でも確認することができる。
以上のような処理を実行することにより、本発明の分散協調ロボットシステムは、ロボットセンサ入力から得られる相対位置情報、過去経路情報、形状情報を用いて、他ロボットを避ける行動、過去の経路を避ける行動、障害物を避ける行動を予測するモデルを作成し、それらのモデルから得られる結果を組み合わせて、それぞれのロボットの行動を決定することできる。
図11に、本実施例のロボットシステムを実装した、10台ロボットによる広域探索の2次元シミュレーションの一例を結果1101として示す。図12にその探索完了の表示画面1201を示した。
実施例1によれば、ロボットシステム300は、例えば、電波強度のセンサ入力から生成された他ロボットとの相対位置情報330に基づいて、他のロボットを避ける第一の行動候補340を生成し、これを行動の決定に用いることで、他ロボットと反発し合い、反発が働く範囲内で、各ロボットが互いテリトリーを分担して干渉しないような協調的な探索ができる。
実施例1によれば、ロボットシステム300は、例えば、IMUのセンサ入力から生成された経路情報331に基づいて、過去の経路情報を避ける行動候補341を生成し、これを行動の決定に用いることで、自経路への重複を軽減し、探索域を広げながら探索ができる。
実施例1によれば、ロボットシステム300は、例えば、深度センサのセンサ入力から生成された形状情報332に基づいて、障害物を避ける行動候補342を生成し、これを行動の決定に用いることで、障害物との干渉を避けながら、衝突を回避した探索ができる。
実施例1によれば、他のロボットを避ける行動候補340、過去経路を避ける行動候補341、障害物を避ける行動候補342を統合モジュール313によって組み合わせて行動を選択することで、それぞれの行動候補の探索を補い合い、他のロボットや障害物との干渉を避けつつ、他のロボットとのテリトリーをつくりつつも、過去経路の参照から効率的に探索域を広げながら、協調的かつ自律的な探索ができる。
以上詳述した本発明の分散協調ロボットシステム、及びタスク実行方法によれば、未知環境に対する広域探索タスクにおいて、集中管理された計算機による事前計画や地図共有がなくとも、ロボットそれぞれが探索域を拡げながら、他ロボットや障害物と干渉しないような協調的な探索が可能な分散協調ロボットシステムを実現することができる。障害物を避け、過去経路の参照から探索域を広げつつも、他ロボットとの反発的な行動により、自らのテリトリーを作りながら、自律的な広域探索を実現する。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、必ずしも全ての制御線や情報線を示しているとは限らない。
100 屋内
101 壁
102 柱
103 スタートポイント
104 ロボット
105 軌跡
106 部屋
201 筐体
202 駆動部
203 センサ
300 ロボットシステム
301 システム制御部
302 センサ入力処理部
303 行動計画処理部
304 ロボット制御出力処理部
305 フェイルセーフ処理部
306 外部通信インターフェース

Claims (7)

  1. 複数の移動体で所定のタスクを実行する分散協調システムであって、
    他の移動体との相対位置情報、自機の過去の経路情報、及び周囲の形状情報を取得するセンサの入力処理部と、
    前記相対位置情報に基づいて、前記他の移動体を避け第一の行動候補を生成する他移動体回避モジュールと、前記経路情報に基づいて、自機の過去経路を避ける第二の行動候補を生成する過去経路回避モジュールと、前記形状情報に基づいて、周囲の障害物を避ける第三の行動候補を生成する障害物回避モジュールと、前記第一の行動候補、前記第二の行動候補、及び前記第三の行動候補に基づいて、前記移動体の速度または角速度を決定する統合モジュールを含む行動計画処理部と、を備え
    前記移動体の行動候補は、次の行動を表す複数の記号と、前記行動を表す複数の記号にそれぞれ対応する確率とからなり、
    前記第一の行動候補、前記第二の行動候補、及び、前記第三の行動候補に基づいて、前記統合モジュールで統合された前記行動候補について、前記確率に基づいて、前記次の行動を表す複数の記号の中から一つ記号を選択し、前記移動体の次の行動を決定する、
    ことを特徴とする分散協調システム。
  2. 請求項に記載の分散協調システムであって、
    前記移動体の行動候補の前記次の行動を表す複数の記号は、
    直進、加速、減速、方向転換右、方向転換左を含む、
    ことを特徴とする分散協調システム。
  3. 複数の移動体で所定のタスクを実行する分散協調システムであって、
    他の移動体との相対位置情報、自機の過去の経路情報、及び周囲の形状情報を取得するセンサの入力処理部と、
    前記相対位置情報に基づいて、前記他の移動体を避け第一の行動候補を生成する他移動体回避モジュールと、前記経路情報に基づいて、自機の過去経路を避ける第二の行動候補を生成する過去経路回避モジュールと、前記形状情報に基づいて、周囲の障害物を避ける第三の行動候補を生成する障害物回避モジュールと、前記第一の行動候補、前記第二の行動候補、及び前記第三の行動候補に基づいて、前記移動体の速度または角速度を決定する統合モジュールを含む行動計画処理部と、を備え、
    前記相対位置情報は、前記他の移動体の通信モジュールの発する電波強度のデータから計算して取得し、
    前記相対位置情報に基づいて、自機の移動体に対する他の移動体の距離と位置を判定し、
    当該判定に基づいて、前記第一の行動候補の行動に対応する確率を変更し、
    前記移動体の次の行動を決定する、
    ことを特徴とする分散協調システム。
  4. 複数の移動体で所定のタスクを実行する分散協調システムであって、
    他の移動体との相対位置情報、自機の過去の経路情報、及び周囲の形状情報を取得するセンサの入力処理部と、
    前記相対位置情報に基づいて、前記他の移動体を避け第一の行動候補を生成する他移動体回避モジュールと、前記経路情報に基づいて、自機の過去経路を避ける第二の行動候補を生成する過去経路回避モジュールと、前記形状情報に基づいて、周囲の障害物を避ける第三の行動候補を生成する障害物回避モジュールと、前記第一の行動候補、前記第二の行動候補、及び前記第三の行動候補に基づいて、前記移動体の速度または角速度を決定する統合モジュールを含む行動計画処理部と、を備え、
    前記経路情報は、前記センサのセンサデータから計算して取得し、
    前記経路情報に基づいて、自機の次の行動が、過去に通過した位置の周辺かどうかを判定し、
    当該判定に基づいて、前記第二の行動候補の行動に対応する確率を変更し、
    前記移動体の次の行動を決定する、
    ことを特徴とする分散協調システム。
  5. 複数の移動体で所定のタスクを実行する分散協調システムであって、
    他の移動体との相対位置情報、自機の過去の経路情報、及び周囲の形状情報を取得するセンサの入力処理部と、
    前記相対位置情報に基づいて、前記他の移動体を避け第一の行動候補を生成する他移動体回避モジュールと、前記経路情報に基づいて、自機の過去経路を避ける第二の行動候補を生成する過去経路回避モジュールと、前記形状情報に基づいて、周囲の障害物を避ける第三の行動候補を生成する障害物回避モジュールと、前記第一の行動候補、前記第二の行動候補、及び前記第三の行動候補に基づいて、前記移動体の速度または角速度を決定する統合モジュールを含む行動計画処理部と、を備え、
    前記形状情報は、前記センサのセンサデータから計算して取得し、
    前記形状情報に基づいて、自機の次の行動の安全範囲内に、障害物があるかどうかを判定し、
    当該判定に基づいて、前記第三の行動候補の行動に対応する確率を変更し、
    前記移動体の次の行動を決定する、
    ことを特徴とする分散協調システム。
  6. 請求項に記載の分散協調システムであって、前記第三の行動候補に基づいて、障害物を避ける行動を選択し、
    前記第一の行動候補に基づいて、他の移動体を避ける行動を選択し、
    前記第二の行動候補に基づいて、過去の経路を避ける行動を選択し、
    選択した前記行動が統合された行動候補について、
    前記確率に基づいて、前記移動体の次の行動を表す複数の記号の中から、一つ記号を選択し、前記移動体の次の行動を決定する、
    ことを特徴とする分散協調システム。
  7. 請求項に記載の分散協調システムであって、
    前記第一の行動候補、前記第二の行動候補、前記第三の行動候補を、学習されたモデルに基づいて統合し、
    統合された行動候補について、
    前記確率に基づいて、次の行動を表す複数の記号の中から、一つ記号を選択し、前記移動体の次の行動を決定する、
    ことを特徴とする分散協調システム。
JP2021005426A 2021-01-18 2021-01-18 分散協調システム Active JP7436401B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021005426A JP7436401B2 (ja) 2021-01-18 2021-01-18 分散協調システム
PCT/JP2021/042459 WO2022153669A1 (ja) 2021-01-18 2021-11-18 分散協調システム、及びタスク実行方法
US18/022,332 US20240051132A1 (en) 2021-01-18 2021-11-18 Distributed coordination system and task execution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021005426A JP7436401B2 (ja) 2021-01-18 2021-01-18 分散協調システム

Publications (2)

Publication Number Publication Date
JP2022110181A JP2022110181A (ja) 2022-07-29
JP7436401B2 true JP7436401B2 (ja) 2024-02-21

Family

ID=82447163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021005426A Active JP7436401B2 (ja) 2021-01-18 2021-01-18 分散協調システム

Country Status (3)

Country Link
US (1) US20240051132A1 (ja)
JP (1) JP7436401B2 (ja)
WO (1) WO2022153669A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115840463B (zh) * 2022-11-23 2023-07-18 北京华如科技股份有限公司 一种用于无人机集群协同侦察的数据处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019121179A (ja) 2018-01-05 2019-07-22 株式会社豊田中央研究所 監視装置、移動体の監視対象監視制御装置、監視対象監視制御プログラム
WO2020035902A1 (ja) 2018-08-14 2020-02-20 学校法人 千葉工業大学 移動ロボット
CN111913482A (zh) 2020-07-14 2020-11-10 徐州工程学院 一种基于多Agent的鸽群机器人运动控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102489806B1 (ko) * 2018-01-03 2023-01-19 삼성전자주식회사 청소용 이동장치, 협업청소 시스템 및 그 제어방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019121179A (ja) 2018-01-05 2019-07-22 株式会社豊田中央研究所 監視装置、移動体の監視対象監視制御装置、監視対象監視制御プログラム
WO2020035902A1 (ja) 2018-08-14 2020-02-20 学校法人 千葉工業大学 移動ロボット
CN111913482A (zh) 2020-07-14 2020-11-10 徐州工程学院 一种基于多Agent的鸽群机器人运动控制方法

Also Published As

Publication number Publication date
JP2022110181A (ja) 2022-07-29
WO2022153669A1 (ja) 2022-07-21
US20240051132A1 (en) 2024-02-15

Similar Documents

Publication Publication Date Title
EP3738009B1 (en) System and methods for robotic autonomous motion planning and navigation
US7801644B2 (en) Generic robot architecture
US8271132B2 (en) System and method for seamless task-directed autonomy for robots
US8073564B2 (en) Multi-robot control interface
US7974738B2 (en) Robotics virtual rail system and method
US7620477B2 (en) Robotic intelligence kernel
US7668621B2 (en) Robotic guarded motion system and method
US7587260B2 (en) Autonomous navigation system and method
US7584020B2 (en) Occupancy change detection system and method
US7211980B1 (en) Robotic follow system and method
US20120239191A1 (en) Real time explosive hazard information sensing, processing, and communication for autonomous operation
CN111949027B (zh) 自适应的机器人导航方法和装置
Saska et al. Formation control of unmanned micro aerial vehicles for straitened environments
Teck et al. Hierarchical agent-based command and control system for autonomous underwater vehicles
US20200125856A1 (en) Coverage device, moving body, control device, and moving body distributed control program
JP7436401B2 (ja) 分散協調システム
US20200019186A1 (en) Control device, control method, and non-transitory program recording medium
Everett et al. Coordinated control of multiple security robots
Wopereis et al. Bilateral human-robot control for semi-autonomous UAV navigation
KR101297608B1 (ko) 미지 환경에서의 로봇 커버리지 방법 및 시스템
Kuznetsov et al. Algorithm of Target Point Assignment for Robot Path Planning Based on Costmap Data
Boshlyakov et al. Development of a Navigation System for an Educational Mobile Robot
Skrzypczyliski Supervision and teleoperation system for an autonomous mobile robot
Hou et al. Behaviour-based rules with fuzzy logic controlled priority weights in multi-UUVs team cooperation
Selvan et al. Enhancing Robotic Navigation in Dynamic Environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231206

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: 20240130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240208

R150 Certificate of patent or registration of utility model

Ref document number: 7436401

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150