JP4348276B2 - ロボット制御装置 - Google Patents

ロボット制御装置 Download PDF

Info

Publication number
JP4348276B2
JP4348276B2 JP2004319287A JP2004319287A JP4348276B2 JP 4348276 B2 JP4348276 B2 JP 4348276B2 JP 2004319287 A JP2004319287 A JP 2004319287A JP 2004319287 A JP2004319287 A JP 2004319287A JP 4348276 B2 JP4348276 B2 JP 4348276B2
Authority
JP
Japan
Prior art keywords
robot
data
subgoal
avoidance
robots
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.)
Expired - Fee Related
Application number
JP2004319287A
Other languages
English (en)
Other versions
JP2006133863A (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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co 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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2004319287A priority Critical patent/JP4348276B2/ja
Priority to US11/261,775 priority patent/US20060095160A1/en
Publication of JP2006133863A publication Critical patent/JP2006133863A/ja
Application granted granted Critical
Publication of JP4348276B2 publication Critical patent/JP4348276B2/ja
Expired - Fee Related 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0289Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling with means for avoiding collisions between vehicles
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39082Collision, real time collision avoidance
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS

Landscapes

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

Description

本発明は、複数の移動ロボットを制御するロボット制御装置に関し、詳しくは、複数の移動ロボットを、移動ロボット同士が衝突することなく移動させるロボット制御装置に関する。
従来、自律移動可能な複数の移動ロボットにタスクを実行させるロボット制御装置がある。このロボット制御装置においては、一つの移動領域内を複数の移動ロボットが移動するので、移動ロボット同士の衝突を回避する必要がある。移動ロボット同士の衝突を回避するため、以下の技術が開示されている。
特許文献1に記載の移動ロボットシステムは、移動ロボットが走行路に設けられたノードを検出しつつ、検出したノードを目標として移動するシステムである。そして、移動ロボットが制御局に対して走行予約を要求し、制御局が走行予約を許可するか否かを判定する。そして、走行予約が許可された場合に移動ロボットが許可されたノードを目標として移動する。
特許文献2に記載の自律移動ロボットは、自律移動ロボット同士の相互通信によって、他の自律移動ロボットを回避するように構成されている。
特開平5−66831号公報(段落0008〜0015、図1〜図7) 特開平8−63229号公報(段落0012〜0064、図1〜図12)
しかしながら、特許文献1に記載の移動ロボットシステムでは、先の走行予約が優先されるので、優先順位が低いタスクを実行している移動ロボットの走行予約が先に行われ、優先順位が高いタスクを実行している移動ロボットが、実際には衝突する可能性がないにも関わらず、走行予約を行えずに移動できないおそれがあるなど、複数の移動ロボットの移動の最適化が行われていない。
また、移動ロボットが移動するためには常に走行予約を行うことが必要となるため、走行予約に伴う移動ロボット−制御局間の通信処理が煩雑になる。
また、特許文献2に記載の自律移動ロボットにおいても、自律移動ロボットのタスクの優先順位の変化に対応できず、自律移動ロボットの回避動作の最適化が行われてない。
また、他の自律移動ロボットを回避する動作は、予め設定された定型動作によるため、自律移動ロボットの移動領域の地形などを反映した回避動作ができない。
本発明は、前記した問題を解決すべく創案されたものであり、通常時のロボットの移動に影響を与えることなく、必要時にのみロボットの移動経路を変更し、ロボット同士の衝突を避けることが可能なロボット制御装置を提供することを課題とする。
前記課題を解決するため、本発明の請求項1に記載の発明は、移動経路に基づいて移動する機能を備えた複数のロボットと通信を行い、前記ロボット同士の衝突を避けるために複数の前記ロボットの移動を制御するロボット制御装置であって、前記移動経路が形成される移動領域に関する地図データを取得する地図取得手段と、前記ロボットの現在位置に関する現在位置データを取得する現在位置取得手段と、前記移動経路に設定された有限個のサブゴールに関するサブゴールデータを取得するサブゴール取得手段と、取得した前記サブゴールデータに基づいて、2台の前記ロボットが衝突する可能性があるか否かを判定する衝突可能性判定手段と、衝突可能性がある2台の前記ロボットのうち、少なくとも1台の前記ロボットの前記移動経路を、前記地図データ、前記現在位置データ及び前記サブゴールデータに基づいて、衝突可能性がある他の前記ロボットとの衝突を避けるように変更させる移動経路変更命令信号を生成する移動経路変更命令手段と、前記移動経路変更命令信号を対応する前記ロボットに送信する送信手段と、衝突可能性がある2台の前記ロボットの優先順位を、優先順位が高い方を優先ロボット、優先順位が低い方を非優先ロボットと設定する優先順位設定手段と、を備え、前記移動経路変更命令手段は、少なくとも前記非優先ロボットの移動経路を、前記優先ロボットとの衝突を避けるように変更させる移動経路変更命令信号を生成し、前記移動経路変更命令手段は、前記移動経路変更命令信号として、前記非優先ロボットの移動経路を、退避位置に移動することによって前記優先ロボットの移動経路から退避するように変更させる退避命令信号を生成する退避命令手段と、前記移動経路変更命令信号として、前記優先ロボットの移動経路を、前記退避位置に退避した前記非優先ロボットを回避して移動するように変更させる回避命令信号を生成する回避命令手段と、を備えており、前記退避命令手段は、前記地図データ及び前記サブゴールデータに基づいて、前記退避位置に関する退避位置データを生成する退避位置生成部と、前記退避位置データに基づいて、前記非優先ロボットを前記退避位置に退避させる前記退避命令信号を生成する退避命令生成部と、を備えており、前記回避命令手段は、前記退避位置に関する退避位置データ、前記地図データ及び前記サブゴールデータに基づいて、前記優先ロボットが回避移動する回避位置に関する回避位置データを生成する回避位置生成部と、前記回避位置データに基づいて、前記優先ロボットを前記回避位置に回避させる回避命令信号を生成する回避命令生成部と、を備えており、前記回避位置生成部は、前記地図データ及び前記退避位置データに基づいて、前記退避位置に退避した前記非優先ロボットを回避しつつ通過する回避中継位置に関する回避中継位置データを生成する回避中継位置生成部と、前記優先ロボットが前記移動経路に復帰する回避終了位置に関する回避終了位置データを生成する回避終了位置生成部と、を備えており、前記回避命令生成部は、前記回避中継位置データ及び前記回避終了位置データに基づいて、前記優先ロボットを、前記回避中継位置を経由して前記回避終了位置に移動させる前記回避命令信号を生成し、前記退避位置生成部は、前記現在位置データ、前記サブゴールデータ及び前記地図データに基づいて、前記サブゴールごとに、退避候補位置に関する退避候補位置データを生成する退避候補位置生成部と、前記退避候補位置データ及び前記現在位置データに基づいて、前記退避候補位置から退避位置を決定する退避位置決定部と、を備えており、前記退避候補位置生成部は、前記サブゴールごとに、二以上の前記退避候補位置に関する前記退避候補位置データを生成し、前記回避中継位置生成部は、前記退避位置に対応する前記サブゴールの、残りの前記退避候補位置から、前記回避中継位置を決定することを特徴とする。
このように、衝突可能性を判定し、衝突可能性があるロボットの移動経路のみを変更させるので、衝突可能性がない場合のロボットの移動を妨げることがなく、必要なときのみに衝突を避ける制御を行うことが可能となる。また、ロボット制御装置が衝突可能性のあるロボットの移動経路を、地図データに基づいて変更させるので、より適切な衝突回避動作を設定することが可能となる。また、ロボットが独自に移動経路を変更するのではなく、ロボット制御装置が、衝突可能性がある2台のロボットの両方の移動経路と地図データとに基づいて移動経路変更命令信号を生成するので、より好適な衝突回避動作が可能となる。
また、ロボットの優先順位に基づいて移動経路の変更内容を決定するので、衝突回避以降のロボットの動作に対する影響を抑えることができる。
本発明における「退避」は、非優先ロボットが退避位置に移動し、この退避位置で優先ロボットの回避を待機することを意味している。
また、本発明における「回避」は、優先ロボットが、退避位置で待機している非優先ロボットを回避して移動することを意味している。
このように、衝突可能性のある2台のロボットのそれぞれに、退避、回避を行わせることにより、確実に衝突を避けることができる。
また、請求項2に記載の発明は、請求項1に記載のロボット制御装置であって、前記ロボットの移動速度に関する移動速度データを取得する移動速度取得手段と、取得した前記現在位置データ及び前記移動速度データに基づいて、2台の前記ロボットが接近しているか否かを判定する接近判定手段と、をさらに備え、前記接近判定手段が、2台の前記ロボットが接近していると判定した場合に、前記衝突可能性判定手段が、接近している2台の前記ロボットが衝突する可能性があるか否かを判定することを特徴とする。
さらに、2台のロボットが接近している場合にのみ衝突可能性を判定するので、衝突可能性の判定制御の頻度を抑えることができ、必要なときのみに衝突可能性を判定することが可能となる。
また、請求項3に記載の発明は、請求項2に記載のロボット制御装置であって、複数の前記ロボットから2台の前記ロボットを選択するロボット選択手段をさらに備え、前記現在位置取得手段は、選択した2台の前記ロボットの前記現在位置データを取得し、前記移動速度取得手段は、選択した2台の前記ロボットの前記移動速度データを取得し、前記接近判定手段は、取得した前記位置データ及び前記移動速度データに基づいて、選択した2台の前記ロボットが接近しているか否かを判定することを特徴とする。
また、請求項4に記載の発明は、請求項2または請求項3に記載のロボット制御装置であって、前記接近判定手段が、2台の前記ロボットが接近していると判定した場合に、前記サブゴール取得手段が、接近している2台の前記ロボットの前記サブゴールデータを取得することを特徴とする。
また、請求項5に記載の発明は、請求項2から請求項4のいずれか一項に記載のロボット制御装置であって、前記衝突可能性判定手段は、接近している2台の前記ロボットの前記サブゴールデータから一つずつ選択するサブゴール選択部と、選択した前記サブゴールデータに基づいてサブゴール間距離を算出するサブゴール間距離算出部と、算出した前記サブゴール間距離が所定距離以下であるか否かを判定するサブゴール間距離判定部と、選択した前記サブゴールデータ並びに取得した前記現在位置データ及び前記移動速度データに基づいて、接近している2台の前記ロボットが対応する前記サブゴールに到達するのに要する到達時間をそれぞれ算出する到達時間算出部と、算出した前記到達時間の差が一定時間内であるか否かを判定する到達時間判定部と、前記サブゴール間距離判定部が、前記サブゴール間距離が所定距離以下であると判定し、かつ、前記到達時間判定部が、前記到達時間の差が一定時間内であると判定した場合に、接近している2台の前記ロボットが衝突する可能性があると判定する衝突可能性判定部と、を備えていることを特徴とする。
このようにすることで、2台のロボットが、一定時間内に一定距離内に位置していることが判定でき、衝突可能性の判定を好適に行うことができる。
また、請求項6に記載の発明は、請求項5に記載のロボット制御装置であって、前記サブゴール間距離判定部が、前記サブゴール間距離が所定距離以下であると判定した場合に、前記到達時間算出部が、接近している2台の前記ロボットが対応する前記サブゴールに到達するのに要する到達時間を算出することを特徴とする。
このようにすることで、到達時間を算出する回数を減らすことができる。
また、請求項7に記載の発明は、請求項5または請求項6に記載のロボット制御装置であって、前記衝突可能性判定手段は、前記サブゴール取得手段が取得した前記サブゴールデータから、隣り合うサブゴールデータを補間するため新たなサブゴールデータを生成するサブゴール補間部をさらに備え、前記サブゴール補間部は、補間された前記サブゴールデータを前記サブゴール選択部に出力することを特徴とする。
ロボットが移動するのに使用するサブゴールは、ロボットの移動開始位置と移動終了位置との間に設けられた有限個のノードである。隣り合うサブゴール間の距離が、ロボットの大きさと比較して大きい場合には、かかるサブゴールに関するサブゴールデータが、衝突可能性を判定するのに不向きとなる。そこで、隣り合うサブゴール間を補間するようにサブゴールデータを生成し、補間したサブゴールデータを用いて衝突可能性を判定することで、衝突可能性の判定精度がさらに高まる。
また、請求項8に記載の発明は、請求項1から請求項7のいずれか一項に記載のロボット制御装置であって、前記優先順位設定手段は、衝突可能性がある2台の前記ロボットのタスクの種類に基づいて優先順位を設定することを特徴とする。
本発明によれば、通常時のロボットの移動に影響を与えることなく、必要時にのみロボットの移動経路を変更し、ロボット同士の衝突を避けることが可能なロボット制御装置を提供することができる。
以下、本発明の実施形態について、本発明のロボット制御装置を企業などの受付案内に適用した場合を例にとり、適宜図面を参照しながら説明する。同様の部分には同一符号を付し、重複する説明を省略する。
(ロボット制御システムAの構成)
はじめに、本発明の実施形態に係るロボット制御システムついて説明する。図1は、本発明の実施形態に係るロボット制御システムを示すシステム構成図である。
このロボット制御システムAは、ロボット制御装置3がロボットRにタスクを実行させる実行命令信号を送信し、実行命令信号を受信したロボットRがタスクを実行するものである。
図1に示すように、ロボット制御システムAは、タスク実行エリアEAに配置された複数(本実施形態では3台)のロボットRA,RB,RCと、これらロボットRA,RB,RCと無線通信によって接続された基地局(例えば、無線LAN)1と、基地局1にルーター2を介して接続されたロボット制御装置(例えば、サーバー)3と、ロボット制御装置3にネットワーク(LAN)4を介して接続された端末5と、を備えている。そして、ロボットRA,RB,RCが、特許請求の範囲における「移動ロボット」に相当し、タスク実行エリアEAが、特許請求の範囲における「移動領域」に相当する。
ロボットRA,RB,RCは、タスク実行エリアEAに配置されており、タスク実行エリアEA内において自律移動を行い、タスクを実行するものである。以下、ロボットRA,RB,RCを区別する必要がない場合には、ロボットRと記載することもある。
基地局1は、タスク実行エリアEAに設けられており、ロボットRと通信するためのものである。
以下、ロボットR及びロボット制御装置3の構成についてそれぞれ詳細に説明する。
[ロボットR]
本発明の実施形態に係るロボットRは、自律移動型の2足移動ロボットである。
このロボットRは、ロボット制御装置3から送信された実行命令信号に基づき、タスクを実行するものである。
図1に示すように、このロボットRは、頭部R1、腕部R2、脚部R3を有しており、頭部R1、腕部R2、脚部R3は、それぞれアクチュエータにより駆動され、自律移動制御部50(図2参照)により2足移動の制御がなされる。この2足移動についての詳細は、例えば特開2001−62760号公報に開示されている。
図2は、図1のロボットを示すブロック図である。図2に示すように、ロボットRは、前記した頭部R1、腕部R2、脚部R3に加えて、カメラC,C、スピーカS、マイクMC、画像処理部10、音声処理部20、制御部40、自律移動制御部50、無線通信部60、記憶部70を有している。
さらに、ロボットRは、ロボットR自身の向きを検出するためのジャイロセンサSR1と、ロボットR自身の現在位置を検出するためのGPS受信器SR2と、を有している。
ジャイロセンサSR1が得た向きデータと、GPS受信器SR2が得た現在位置データとは、それぞれ制御部40に出力され、ロボットRの行動を決定するのに利用されると共に、制御部40から無線通信部60を介してロボット制御装置3に送信される。
[カメラC,C]
カメラC,Cは、映像をデジタルデータとして取り込むことができるものであり、例えばカラーCCD(Charge-Coupled Device)カメラが使用される。カメラC,Cは、左右に平行に並んで配置され、撮影した画像は画像処理部10に出力される。このカメラC,Cと、スピーカS及びマイクMCは、いずれも頭部R1の内部に配設されている。
[画像処理部10]
画像処理部10は、カメラC,Cが撮影した画像を処理して、撮影された画像からロボットRの周囲の状況を把握するため、周囲の障害物や人物の認識を行う部分である。この画像処理部10は、ステレオ処理部11a、移動体抽出部11b、及び顔認識部11cを含んで構成される。
ステレオ処理部11aは、左右のカメラC,Cが撮影した2枚の画像の一方を基準としてパターンマッチングを行い、左右の画像中の対応する各画素の視差を計算して視差画像を生成し、生成した視差画像及び元の画像を移動体抽出部11bに出力する。なお、この視差は、ロボットRから撮影された物体までの距離を表すものである。
移動体抽出部11bは、ステレオ処理部11aから出力されたデータに基づき、撮影した画像中の移動体を抽出するものである。移動する物体(移動体)を抽出するのは、移動する物体は人物であると推定して、人物の認識をするためである。
移動体の抽出をするために、移動体抽出部11bは、過去の数フレーム(コマ)の画像を記憶しており、最も新しいフレーム(画像)と、過去のフレーム(画像)を比較して、パターンマッチングを行い、各画素の移動量を計算し、移動量画像を生成する。そして、視差画像と、移動量画像とから、カメラC,Cから所定の距離範囲内で、移動量の多い画素がある場合に、その位置に人物がいると推定し、その所定距離範囲のみの視差画像として、移動体を抽出し、顔認識部11cへ移動体の画像を出力する。
顔認識部11cは、抽出した移動体から肌色の部分を抽出して、その大きさ、形状などから顔の位置を認識する。なお、同様にして、肌色の領域と、大きさ、形状などから手の位置も認識される。
認識された顔の位置は、ロボットRが移動するときの情報として、また、その人とのコミュニケーションを取るため、制御部40に出力されると共に、無線通信部60に出力されて、基地局1を介して、ロボット制御装置3に送信される。
[音声処理部20]
音声処理部20は、音声合成部21aと、音声認識部21bとを有している。
音声合成部21aは、制御部40が決定し、出力してきた発話行動の指令に基づき、文字情報から音声データを生成し、スピーカSに音声を出力する部分である。音声データの生成には、予め記憶している文字情報と音声データとの対応関係を利用する。
音声認識部21bは、マイクMCから音声データが入力され、予め記憶している音声データと文字情報との対応関係に基づき、音声データから文字情報を生成し、制御部40に出力するものである。
[制御部40]
制御部40は、後記するロボット制御装置3に送信する信号を生成すると共に、ロボット制御装置から出力された実行命令信号に基づいて、ロボットRの各部(画像処理部10、音声処理部20、自律移動制御部50及び無線通信部60)を制御するものである。
そして、制御部40は、ロボット状態データを定期的に生成し、出力する。ロボット状態データは、ロボットID、現在位置データ、向きデータ及び移動有無データを含んでおり、無線通信部60を介してロボット制御装置3に送信される。
現在位置データは、ロボットRの現在位置(座標)に関するデータであり、GPS受信器SR2から得られる。
向きデータは、ロボットRの向きに関するデータであり、ジャイロセンサSR1から得られる。
移動有無データは、ロボットRが移動しているか否かに関するデータであり、脚部制御部51cが脚部R3を駆動している場合には「移動している」、脚部制御部51cが脚部R3を駆動していない場合には「移動していない」とする。
また、制御部40は、タスク開始位置(スタート)データ、タスク終了位置(ゴール)データ及び地図データに基づいて、サブゴールに関するサブゴールデータを生成する。
ここで、サブゴールについて説明する。図3は、ロボットのサブゴールを説明するための模式図である。
ロボットRは、ロボット制御装置3からの実行命令信号を受信することによって、タスクを実行する。この実行命令信号は、タスク(自律移動)の目的地であるタスク終了位置に関するタスク終了位置データを含んでいる。
制御部40は、GPS受信器SR2から得たロボットRの現在位置に関する現在位置データと、タスク終了位置データと、地図データと、に基づいて、タスク開始位置(スタート)とタスク終了位置(ゴール)との間に有限個のノードであるサブゴールを設定する。これらサブゴールの位置に関するデータが、サブゴールデータである。このサブゴールは、地図データを参照し、ロボットRが自律移動可能な場所に、隣り合うサブゴール間の距離が略一定となるように生成される。
本実施形態において、地図データは、地図上にメッシュ状に配置された有限個のノード(点列)に関するノードデータを含んでいる。これらノードのうち、ロボットRが移動可能な位置にあるノードが、移動可能ノード(以下、単にノードともいう)として設定されている。隣り合う移動可能ノード間には、リンクが設定されている。つまり、ある移動可能ノードに存在するロボットRは、リンクが設定された隣の移動可能ノードへと移動可能である。制御部40は、当該ロボットRの現在位置データ及びタスク終了位置データと、地図データとに基づいて、いくつかの移動可能ノードを選択し、選択された移動可能ノードを当該ロボットRの自律移動におけるサブゴールとして設定する。
本実施形態では、ロボットRAはNA個のサブゴールデータSGA(nA)を有しており、NA番目のサブゴールデータSGA(NA)がタスク終了位置データとなっている。また、ロボットRBはNB個のサブゴールデータSGB(nB)を有しており、NB番目のサブゴールデータSGB(NB)がタスク終了位置データとなっている。ロボットRは、一つ先のサブゴールを目標として移動することを繰り返し、タスク終了位置まで移動する。
また、制御部40は、ロボット制御装置3から出力されたサブゴール要求信号に基づいて、記憶部70からサブゴールデータを取得する。取得されたサブゴールデータは、無線通信部60を介して、ロボット制御装置3に向けて送信される。
また、制御部40は、退避移動開始連絡信号を生成する。この退避移動開始連絡信号は、ロボットRが受信した退避命令信号に基づき、退避を開始したことを連絡するための信号である。退避移動開始連絡信号は、無線通信部60を介して、ロボット制御装置3に向けて送信される。
また、制御部40は、回避移動終了連絡信号を生成する。回避移動終了連絡信号は、ロボットRが受信した回避命令信号に基づき、回避を終了したことを連絡するための信号である。制御部40は、GPS受信器SR2から出力された現在位置データと、回避終了位置データとを比較する。そして、これらの位置が一致する場合に、ロボットRの回避移動が終了したと判定する。そして、制御部40は、回避移動が終了したと判定した場合に、回避移動終了連絡信号を生成する。回避移動終了連絡信号は、無線通信部60を介して、ロボット制御装置3に向けて送信される。
[自律移動制御部50]
図2に戻り、ロボットRの構成に関する説明を続ける。自律移動制御部50は、頭部制御部51a、腕部制御部51b、脚部制御部51cを有している。
頭部制御部51aは、制御部40の指示に従い頭部R1を駆動し、腕部制御部51bは、制御部40の指示に従い腕部R2を駆動し、脚部制御部51cは、制御部40の指示に従い脚部R3を駆動する。
[無線通信部60]
無線通信部60は、ロボット制御装置3とデータの送受信を行う通信装置である。無線通信部60は、公衆回線通信装置61a及び無線通信装置61bを有している。
公衆回線通信装置61aは、携帯電話回線やPHS(Personal Handyphone System)回線などの公衆回線を利用した無線通信手段である。一方、無線通信装置61bは、IEEE802.11b規格に準拠する無線LANなどの、近距離無線通信による無線通信手段である。
無線通信部60は、ロボット制御装置3からの接続要求に従い、公衆回線通信装置61a又は無線通信装置61bを選択してロボット制御装置3とデータ通信を行う。
[記憶部70]
記憶部70は、ロボットRの移動制御に必要なデータを記憶する。記憶部70に記憶されたデータは、無線通信部60を介して更新可能である。
記憶部70は、ロボットRがタスクを実行するタスク実行エリアEAの地図情報を格納する地図情報データベース71を備えている。地図情報データベース71に格納された地図情報は、ロボット制御装置3の地図情報データベース220に格納された地図情報と同一である。
また、記憶部70は、制御部40が生成したサブゴールデータを記憶する。
[ロボット制御装置3]
続いて、ロボット制御装置3の構成について説明する。図4は、図1のロボット制御装置を示すブロック図である。図4に示すように、ロボット制御装置3は、入出力手段100、記憶手段200及び制御手段300を備えている。
[入出力手段100]
入出力手段100は、基地局1やネットワーク4を介して、ロボットRや端末5との間でデータの送受信を行うためのインタフェースである。この入出力手段100が、特許請求の範囲における「送信手段」の一例である。
[記憶手段200]
記憶手段200は、ロボットRを制御するための各種データを記憶する。
記憶手段200は、ロボット情報データベース210及び地図情報データベース220を備えている。
[ロボット情報データベース210]
ロボット情報データベース210は、ロボットRの状態に関するデータであるロボットデータをロボットRごとに関連付けて記憶するためのデータベースである。
ロボットデータは、少なくともロボットID、現在位置データ及び移動速度データを含み、その他、当該ロボットRの大きさ(幅など)、バッテリ残量、駆動系異常の有無などに関する情報(データ)を含んでいる。
現在位置データは、ロボットRから送信されたロボット状態データに含まれている。
移動速度データは、ロボットRの移動速度に関するデータであり、移動速さに関する移動速さデータと、移動の向きに関する向きデータと、を含んでいる。
移動速さデータは、ロボットRから送信されたロボット状態データに含まれる移動有無データと、予め記憶されたロボットRの平均移動速さに関する平均移動速さデータに基づいて生成される。移動有無データが、「移動している」ことを示すデータである場合には、平均移動速さデータを移動速さデータとする。一方、移動有無データが、「移動していない」ことを示す場合には、移動速さデータを「0」とする。
向きデータは、ロボットRから送信されたロボット状態データに含まれている。
また、ロボット情報データベース210は、ロボットRに実行させるタスクに関するタスクデータも記憶している。
また、ロボット情報データベース210は、衝突回避リストを備えている。
衝突回避リストは、衝突する可能性があると判定された2台のロボットR,Rの組み合わせを記憶するためのものである。衝突する可能性があるロボットR,Rの組み合わせは、衝突可能性判定手段360によって追加登録され、また、シナリオ復帰命令手段400によって削除される。
また、衝突回避リストには、2台のロボットR,Rの回避制御に関する状態が、「State0」、「State1」、「State2」、「State3」、「State4」の5段階に分類されて記憶されている。この回避制御に関する状態は、ロボット制御装置3の衝突回避制御動作に伴い、制御手段300によって設定・更新される。
[地図情報データベース220]
地図情報データベース220は、ロボットRが自律移動し、タスクを実行する位置に関する地図データ(グローバルマップ)を格納するためのデータベースである。地図データは、ロボットRの自律移動範囲にある通路、階段、エレベータ、部屋などに関する情報を含むデータである。ロボットRは、地図データによって移動可能な範囲で自律移動可能である。また、地図データは、オペレータによる端末5の操作によって更新可能である。
[制御手段300]
制御手段300は、実行命令生成手段301、ロボット選択手段310、現在位置取得手段320、移動速度取得手段330、接近判定手段340、サブゴール取得手段350、衝突可能性判定手段360、優先順位設定手段370、地図取得手段380、移動経路変更命令手段390及びシナリオ復帰命令手段400を備えている。
[実行命令生成手段301]
実行命令生成手段301は、ロボット情報データベース210に記憶されたタスクデータに基づいて、ロボットRにタスクを実行させるための実行命令信号を生成するものである。生成した実行命令信号は、入出力手段100を介して、対応するロボットRに向けて送信される。
[ロボット選択手段310]
ロボット選択手段310は、複数のロボットRから2台のロボットR,Rを選択するためのものである。以下、ロボット選択手段310が2台のロボットRA,RBを選択した場合を例にとり説明する。ロボット選択手段310は、選択した2台のロボットRA,RBに関するロボットIDを、現在位置取得手段320及び移動速度取得手段330に出力する。
[現在位置取得手段320]
現在位置取得手段320は、ロボット選択手段310が選択したロボットRA,RBに関する現在位置データを、ロボット情報データベース210から取得する。取得された現在位置データは、接近判定手段340に出力され、また、必要に応じて移動経路変更命令手段390に出力される。
[移動速度取得手段330]
移動速度取得手段330は、ロボット選択手段310が選択したロボットRA,RBに関する移動速度データを、ロボット情報データベース210から取得する。取得された移動速度データは、接近判定手段340に出力される。
[接近判定手段340]
接近判定手段340は、入力された現在位置データ及び移動速度データに基づいて、複数のロボットRのうち、任意の2台のロボットR,Rが接近しているか否かを判定する。
本実施形態では、ロボット選択手段310が選択したロボットRA,RBが接近しているか否かを判定する。
ここで、接近判定手段340による接近判定について説明する。図5は、接近判定手段による接近判定を説明するためのグラフである。
接近判定手段340は、ロボット接近速度Vとロボット間距離Dとが次の式(1)を満たしているか否かを判定する。なお、aは比例定数である。
V≧aD …(1)
ロボット接近速度Vは、ロボットRA,RBが互いに近づく速度であり、ロボットRA,RBが近づくように移動する場合には正の値をとり、ロボットRA,RBが離れるように移動する場合には負の値をとる。このロボット接近速度Vは、ロボット情報データベース210に予め記憶されたロボットRA,RBの平均移動速さデータと、ロボットRA,RBの向きデータと、に基づいて算出される。
ロボット間距離Dは、ロボットRA,RBの現在位置データに基づいて算出される。
比例定数aは、正の値であり、ロボットRの大きさなどに基づいて、予め設定されている。
ロボット接近速度V及びロボット間距離Dが前記式(1)を満たす場合(図5の斜線領域)に、接近判定手段340が、ロボットRA,RBが接近していると判定する。
すなわち、接近判定手段340は、ロボット接近速度V及びロボット間距離Dに基づいて、ロボット接近速度Vが一定の場合には、ロボット間距離Dが所定値(V/a)以下である場合にロボットRA,RBが接近していると判定する。そして、ロボット間距離Dが一定の場合には、ロボット接近速度Vが所定値(aD)以上である場合にロボットRA,RBが接近していると判定する。
また、ロボット間距離Dが小さい場合であっても、ロボット接近速度Vが負の値をとる場合、すなわち、ロボットRA,RBが離れるように移動している場合には、接近判定手段340は、ロボットRA,RBが接近していないと判定する。
接近判定手段340が、ロボットRA,RBが接近していると判定した場合には、接近判定手段340は、ロボットRA,RBのロボットIDをサブゴール取得手段350に出力する。
接近判定手段340が、ロボットRA,RBが接近していないと判定した場合には、その旨を伝える信号をロボット選択手段310に出力する。
[サブゴール取得手段350]
図4に戻り、ロボット制御装置3の構成の説明を続ける。サブゴール取得手段350は、接近判定手段340が、ロボットRA,RBが接近していると判定した場合に、当該2台のロボットRA,RBのサブゴールデータを取得する。
以下、サブゴールデータの取得手順について簡単に説明する。
まず、サブゴール取得手段350は、ロボットRA,RBのロボットIDを含むサブゴール要求信号を生成する。サブゴール要求信号は、入出力手段100を介して、ロボットRに向けて送信される。サブゴール要求信号を受信したロボットRは、ロボットIDを比較し、自身のロボットIDと一致するものが含まれている場合には、サブゴールデータをロボット制御装置3に向けて送信する。ここでは、ロボットIDが一致するロボットRA,RBがそれぞれサブゴールデータを送信する。送信されるサブゴールデータには、当該ロボットRA(RB)のロボットIDが付与されている。サブゴール取得手段350は、ロボットRA,RBから送信されたサブゴールデータを取得する。取得されたサブゴールデータは、衝突可能性判定手段360に出力され、必要に応じて、優先順位設定手段370に出力される。
[衝突可能性判定手段360]
衝突可能性判定手段360は、接近判定手段340が、ロボットRA,RBが接近していると判定した場合に、ロボットRA,RBが衝突する可能性があるか否かを判定する。
本実施形態において、衝突可能性判定手段360は、2台のロボットRA,RBのサブゴールデータ、現在位置データ及び移動速度データに基づいて、2台のロボットRA,RBが衝突する可能性があるか否かを判定する。
図6は、図4の衝突可能性判定手段を示すブロック図である。図6に示すように、衝突可能性判定手段360は、サブゴール補間部361、サブゴール選択部362、サブゴール間距離算出部363、サブゴール間距離判定部364、到達時間算出部365、到達時間判定部366及び衝突可能性判定部367を備えている。
(サブゴール補間部361)
サブゴール補間部361は、入力されたサブゴールデータに基づいて、隣り合うサブゴール間を補間するために新たにサブゴールを生成する。
ここで、サブゴールの補間について説明する。図7は、サブゴール補間部によるサブゴールの補間を説明するための模式図であり、(a)は補間前を示す図、(b)は補間後を示す図である。サブゴール補間部361は、入力されたサブゴールデータから、b倍のサブゴールデータを新たに生成し、隣り合うサブゴール間の距離を小さくする。つまり、図7に示すように、サブゴールSGA(nA)とサブゴールSGA(nA+1)との間に、(b−1)個のサブゴールを生成し、サブゴールデータを補間する(図7(a)→図7(b))。
なお、本実施形態では、一つ過去に通過したサブゴール以降のサブゴールについて補間する。これは、既に通過したサブゴールに関しては、衝突可能性を判定する必要はないため、一つ過去に通過したサブゴール以前のサブゴールに関する演算を省略し、サブゴール補間部361にかかる負荷を減らすための処置である。また、一つ未来のサブゴールまでの間に衝突する可能性もあるため、一つ過去のサブゴールと一つ未来のサブゴールとの間については補間する。補間されたサブゴールデータは、サブゴール選択部362に出力される。なお、補間されることによって新たに生成されたサブゴールデータは、衝突可能性を判定するために使用されるものであり、ロボットRの移動制御には使用されない。
サブゴールを補間するための所定の値bは、隣り合うサブゴール間の距離を、ロボットR同士の衝突可能性を判定するのに十分な距離とするためのものであり、ロボットRの大きさと、元の隣り合うサブゴール間の距離とに基づいて予め設定されている。
(サブゴール選択部362)
図6に示すサブゴール選択部362は、サブゴール補間部361が補間したサブゴールデータを一時記憶すると共に、記憶したサブゴールデータから、ロボットRAの一つのサブゴールデータと、ロボットRBの一つのサブゴールデータを選択し、サブゴール間距離算出部363及び到達時間算出部365に出力する。
(サブゴール間距離算出部363)
サブゴール間距離算出部363は、入力されたサブゴールデータに基づいて、サブゴール間距離を算出する。算出されたサブゴール間距離は、サブゴール間距離判定部364に出力される。
(サブゴール間距離判定部364)
サブゴール間距離判定部364は、入力されたサブゴール間距離が、一定距離c内であるか否かを判定する。ここで、一定距離cは、対応するサブゴールにロボットRA,RBが位置しているときに、ロボットRA,RBがぶつからない程度の距離に予め設定されている。サブゴール間距離判定部364の判定結果は、衝突可能性判定部367に出力される。
本実施形態では、サブゴール間距離判定部364が、一定距離c内であると判定した場合には、その旨を伝える信号が到達時間算出部365に出力される。
(到達時間算出部365)
到達時間算出部365は、ロボットRA,RBのそれぞれが、選択されたサブゴールデータに対応するサブゴールに到達するのに要する時間、すなわち、ロボットRA,RBのそれぞれが、現在位置から対応するサブゴールに到達するのに要する到達時間を算出する。
ロボットRAが選択されたサブゴールまで到達するのに要する時間は、ロボットRAの現在位置データ、平均移動速さデータ及び対応するサブゴールデータに基づいて算出される。
ロボットRBが選択されたサブゴールまで到達するのに要する時間は、ロボットRBの現在位置データ、平均移動速さデータ及び対応するサブゴールデータに基づいて算出される。
本実施形態では、到達時間算出部365は、後記するサブゴール間距離判定部364が一定距離c内であると判定した場合に、対応するサブゴールに関する演算を行う。算出された到達時間は、到達時間判定部366に出力される。
(到達時間判定部366)
到達時間判定部366は、2台のロボットRA,RBのそれぞれが、選択されたサブゴールに到達するのに要する時間の差が一定時間d内であるか否かを判定する。ここで、一定時間dは、ロボットRの平均移動速さを考慮して設定されている。到達時間判定部366の判定結果は、衝突可能性判定部367に出力される。
(衝突可能性判定部367)
衝突可能性判定部367は、サブゴール間距離判定部364及び到達時間判定部366の判定結果に基づいて、選択されたサブゴールにおいてロボットRA,RBが衝突する可能性があるか否かを判定する。
衝突可能性判定部367は、サブゴール間距離判定部364の判定結果が一定距離c内であり、到達時間判定部366の判定結果が一定時間d内である場合には、ロボットRA,RBが衝突する可能性があると判定し、それ以外の場合には、ロボットRA,RBが衝突する可能性がないと判定する。
衝突可能性判定部367が、衝突可能性があると判定した場合には、その旨を伝える信号を優先順位設定手段370に出力する。
衝突可能性判定部367が、衝突可能性がないと判定した場合には、その旨を伝える信号がロボット選択手段310に出力される。そして、ロボット選択手段310は、別のロボットR,Rの組み合わせを選択する。
[優先順位設定手段370]
優先順位設定手段370は、衝突可能性があると判定されたロボットRA,RBについて、ロボットRA,RBのタスクを比較することによって優先順位を設定する。
ここで、優先順位設定手段370による優先順位の設定について説明する。
本実施形態のロボット制御システムAは、ロボットRにタスク(受付案内)を実行させるためのものである。ロボットRの状態は、タスクデータに基づいて決定され、以下の<0>,<1>,<2>,<9>などに分類される。
<0>:フリー
<1>:タスク実行中
<2>:タスク一時停止中
<9>:非常事態
状態<1>は、さらに以下のように細かく分類される。
<1−1> :案内タスク
<1−2> :引継ぎ案内タスク
<1−5> :受付業務
<1−99>:バッテリ交換
これらの状態を優先順位の高いものから順に並べると、以下のようになる。
<1−1> → <1−2> → <1−99> → <1−5> → <2> → <0> → <9>
ロボットRの優先順位が同じであるなど、これだけでロボットRの優先順位の判定ができない場合には、タスク終了位置までの未通過サブゴールの個数が多い、すなわち、現在位置からタスク終了位置までの距離が遠いロボットRの優先順位が、タスク終了位置までの未通過サブゴールの個数が少ないロボットRの優先順位よりも高くなるように優先順位を設定する。
なお、以下の説明において、ロボットRBの優先順位がロボットRAの優先順位よりも高いと判定されたものとし、ロボットRAを非優先ロボットRA、ロボットRBを優先ロボットRBと記載することもある。
[地図取得手段380]
地図取得手段380は、地図情報データベース220に記憶された地図データを取得する。取得された地図データは、移動経路変更命令手段390に出力される。
[移動経路変更命令手段390]
移動経路変更命令手段390は、衝突可能性があると判定されたロボットRA,RBについて、少なくとも一方の移動経路を変更させる移動経路変更命令信号を生成する。本実施形態において、移動経路変更命令信号には、非優先ロボットRAを退避させる退避命令信号と、優先ロボットRBを回避させる回避命令信号の2種類がある。
図8は、図4の移動経路変更命令手段を示すブロック図である。図8に示すように、移動経路変更命令手段390は、退避命令信号を生成する退避命令手段391と、回避命令信号を生成する回避命令手段396を備えている。
退避命令信号は、非優先ロボットRAに対して退避移動を命令するための信号であり、非優先ロボットRAのロボットIDと、退避位置データとを含んでいる。
回避命令信号は、優先ロボットRBに対して回避移動を命令するための信号であり、優先ロボットRBのロボットIDと、回避位置データとを含んでいる。
(退避命令手段391)
退避命令手段391は、地図データ、非優先ロボットRAの現在位置データ及び非優先ロボットRAのサブゴールデータに基づいて、非優先ロボットRAを退避させる退避命令信号を生成する。
退避命令手段391は、退避候補位置生成部392a及び退避位置決定部392bを備えた退避位置生成部392と、退避命令生成部393と、を備えている。
退避候補位置生成部392aは、非優先ロボットRAが退避移動して優先ロボットRBの回避移動を待つ退避候補位置に関する退避候補位置データを生成する。
退避位置決定部392bは、退避候補位置データから、退避位置データを選択し、決定する。
退避命令生成部393は、退避位置データに基づいて、非優先ロボットRAを退避位置に退避移動させる退避命令信号を生成する。
この退避命令手段391による退避位置決定手順については、後で詳細に説明する。
(回避命令手段396)
回避命令手段396は、優先ロボットRBを回避させる回避命令信号を生成する。
回避命令手段396は、回避中継位置生成部397a及び回避終了位置生成部397bを備えた回避位置生成部397と、回避命令生成部398と、を備えている。
回避中継位置生成部397aは、優先ロボットRBが回避移動する際に通過する回避中継位置に関する回避中継位置データを生成する。
回避終了位置生成部397bは、退避位置データ及び優先ロボットRBのサブゴールデータに基づいて、優先ロボットRBが回避移動を終了し元の移動経路に復帰する回避終了位置に関する回避終了位置データを生成する。
回避命令生成部398は、回避中継位置データ及び回避終了位置データに基づいて、優先ロボットRBを、回避中継位置を経由して回避終了位置に回避移動させる回避命令信号を生成する。
この回避命令手段396による回避位置決定手順については、後で詳細に説明する。
[シナリオ復帰命令手段400]
シナリオ復帰命令手段400は、退避した非優先ロボットRA及び回避した優先ロボットRBのそれぞれに対して、退避または回避を終了し、元のタスクを実行する動作に復帰させるためのシナリオ復帰命令信号を生成する。ここでいうシナリオは、退避または回避を行う前にロボットRが実行していたタスクの内容に相当する。生成されたシナリオ復帰命令信号は、入出力手段100を介して、対応するロボットRに向けて送信される。
シナリオ復帰命令信号を生成するタイミングなどについては、後で詳細に説明する。
以下、本実施形態のロボット制御システムAを用いて、タスク実行エリアEAにおける2台のロボットRA,RBの衝突を避ける制御について説明する。図9ないし図12は、2台のロボットの退避及び回避を説明するための模式図であり、タスク実行エリアの一部と、そこに位置する2台のロボットとを示す図である。
まず、図9に示すように、2台のロボットRA,RBがタスク実行エリアEAにおける通路を移動している際に、ロボット制御装置3(図1参照)が、2台のロボットが衝突する可能性があると判定する。
続いて、図10に示すように、ロボット制御装置3が、ロボットRAを退避位置P1に退避させる退避命令信号を生成し、ロボットRAに向けて送信する。退避命令信号を受信したロボットRAは、退避位置P1へ退避する。
続いて、図11に示すように、ロボット制御装置3が、ロボットRBを、回避中継位置P2を経由して回避終了位置P3に回避させる回避命令信号を生成し、ロボットRBに向けて送信する。回避命令信号を受信したロボットRBは、回避中継位置P2を経由して回避終了位置P3へ回避する。
そして、図12に示すように、ロボットRBが回避中継位置P2を通過すると、ロボットRAが退避位置P1から移動を再開する。
<ロボット制御システムAによる衝突回避制御>
続いて、ロボット制御システムAによるロボットR同士の衝突を避けるための制御について、2台のロボットRA,RBの衝突を避ける場合を例にとって説明する。図13は、本発明の実施形態に係るロボット制御システムによる、2台のロボットの衝突を避けるためのロボット及びロボット制御装置の動作例を示すフローチャートである。なお、ロボットRA,RB及びロボット制御装置3の構成要素の符号については、適宜図2、図4、図6及び図8を参照する。
ロボットR(ロボットRA,RB)は、ロボット状態データを生成し、生成したロボット状態データをロボット制御装置3に向けて定期的に送信する(S11,S31)。
ロボット制御装置3は、受信したロボットR(ロボットRA,RB)のロボット状態データをロボット情報データベース210に記憶する。なお、ロボットRA,RB以外のロボットRCがタスク実行エリアEAに存在する場合には、ロボットRCもロボット状態データを生成し、生成したロボット状態データをロボット制御装置3に向けて送信する。
ロボット選択手段310は、複数のロボットRから2台のロボットRA,RBを選択する。現在位置取得手段320が、ロボットRA,RBの現在位置データを取得すると共に、移動速度取得手段330が、ロボットRA,RBの移動速度データを取得する。取得した現在位置データ及び移動速度データは、接近判定手段340に出力される。
そして、接近判定手段340が、入力された現在位置データ及び移動速度データに基づいて、ロボットRA,RBが接近しているか否かを判定する(S21)。以下、接近判定手段340が、ロボットRA,RBが接近していると判定したものとして説明する。
続いて、サブゴール取得手段350が2台のロボットRA,RBに対するサブゴール要求信号を生成する。サブゴール要求信号は、入出力手段100を介して、ロボットRに向けて送信される(S22)。
ロボットRA,RBがサブゴール要求信号を受信すると、制御部40が、記憶部70からサブゴールデータを呼び出す。呼び出されたサブゴールデータは、無線通信部60を介して、ロボット制御装置3に向けて送信される(S12,S32)。
ロボット制御装置3が、サブゴールデータを受信すると、サブゴール取得手段350がサブゴールデータを取得する。そして、衝突可能性判定手段360が、入力されたサブゴールデータに基づいて、ロボットRA,RBが衝突する可能性があるか否かを判定する(S23)。以下、衝突可能性判定手段360が、ロボットRA,RBが衝突する可能性があると判定したものとして説明する。
続いて、優先順位設定手段370が、ロボットRA,RBの優先順位を設定する(S24)。そして、移動経路変更命令手段390の退避命令手段391が、非優先ロボットRAの退避位置を算出し、退避位置データを含む退避命令信号を生成する。退避命令信号は、入出力手段100を介して、ロボットRAに向けて送信される(S25)。
非優先ロボットRAが退避命令信号を受信すると、非優先ロボットRAの制御部40が、退避位置までの退避経路を生成する(S13)。そして、非優先ロボットRAが退避位置までの移動を開始すると共に、非優先ロボットRAの制御部40が退避開始連絡信号を生成する。退避開始連絡信号は、無線通信部60を介して、ロボット制御装置3に向けて送信される(S14)。非優先ロボットRAは、退避位置まで移動すると、退避移動を終了し、退避位置で停止し、優先ロボットRBが回避移動するまで待機する(S15)。
一方、ロボット制御装置3が退避開始連絡信号を受信すると、移動経路変更命令手段390の回避命令手段396が、優先ロボットRBの回避位置を算出し、回避位置を含む回避命令信号を生成する。回避命令信号は、入出力手段100を介して、優先ロボットRBに向けて送信される(S26)。
優先ロボットRBが回避命令信号を受信すると、優先ロボットRBの制御部40が、回避位置までの回避経路を生成する(S33)。そして、優先ロボットRBが回避位置までの移動を開始し(S34)、回避移動が終了すると、優先ロボットRBの制御部40が回避終了連絡信号を生成する。回避終了連絡信号は、無線通信部60を介して、ロボット制御装置3に向けて送信される(S35)。
ロボット制御装置3が回避終了連絡信号を受信すると、ロボット制御装置3は、ロボットRA,RBの衝突回避制御を終了する(S27)。
<ロボット制御装置3のメインフローチャート>
続いて、ロボット制御装置3の動作についてさらに詳細に説明する。図14は、本発明の実施形態に係るロボット制御装置の動作を示すフローチャートである。なお、ロボットRA,RB及びロボット制御装置3の構成要素の符号については、適宜図2、図4図6及び図8を参照する。
まず、ロボット選択手段310が、ロボット情報データベース210に記憶されたロボットRから2台のロボットRA,RBを選択する(S101)。
続いて、ロボット選択手段310が、ロボットRA,RBが衝突回避リストにリストアップされているか否かを判定する(S102)。
ロボットRA,RBが衝突回避リストにリストアップされていない場合(S102でno)には、現在位置取得手段320がロボットRA,RBの現在位置データを取得すると共に、移動速度取得手段330がロボットRA,RBの移動速度データを取得し、これらのデータが接近判定手段340に出力される。
そして、接近判定手段340がロボットRA,RBが接近しているか否かを判定する。そして、接近判定手段340が、ロボットRA,RBが接近していると判定した場合には、サブゴール取得手段350が、ロボットRA,RBに対するサブゴール要求信号を生成する。サブゴール要求信号はロボットRA,RBに向けて送信される。ロボットRA(ロボットRB)がサブゴール要求信号を受信すると、制御部40がサブゴールデータを生成する。サブゴールデータはロボット制御装置3に向けて送信される。そして、サブゴール取得手段350がサブゴールデータを取得し、取得したサブゴールデータを衝突可能性判定手段360に出力する。そして、衝突可能性判定手段360が、ロボットRA,RBが衝突する可能性があるか否かを判定する(S103)。
衝突可能性判定手段360が、ロボットRA,RBが衝突する可能性があると判定した場合には、ロボットRA,RBの組み合わせを衝突回避リストに追加し、(S104)制御手段300が、衝突回避リストにおけるロボットRA,RBの状態を「State0」に移行させる(S105)。
ステップS103において、接近判定手段340が、ロボットRA,RBが接近していないと判定した場合、及び衝突可能性判定手段360が、ロボットRA,RBが衝突する可能性がないと判定した場合には、ステップS101に移行し、別の2台のロボットR,Rの組み合わせを選択し、この2台のロボットR,Rについての処理を開始する。
続いて、制御手段300が、選択されたロボットRA,RBの状態を判定する(S106)。そして、ロボットRA,RBの状態に応じて、各ステップに移行する。
「State0」
ステップS106において、ロボットRA,RBの状態が「State0」であると判定された場合には、サブゴール取得手段350が、RA,RBに対するサブゴール要求信号を生成する。サブゴール要求信号は、入出力手段100を介して、ロボットRA,RBに向けて送信される(S107)。そして、制御手段300がロボットRA,RBの状態を「State1」に移行させ(S108)、ステップS101に戻る。
「State1」
ステップS106において、ロボットRA,RBの状態が「State1」であると判定された場合には、サブゴール取得手段350が、ロボットRA,RBからのサブゴールデータを受信する(S109)。
サブゴール取得手段350がサブゴールデータを受信した場合(S109でyes)には、優先順位設定手段370がロボットRA,RBの優先順位を設定する(S110)。
続いて、移動経路変更命令手段390の退避命令手段391が、非優先ロボットRAに対する退避命令信号を生成する(S111)。退避命令信号は、入出力手段100を介して、非優先ロボットRAに向けて送信される(S112)。そして、制御手段300がロボットRA,RBの状態を「State2」に移行させ(S113)、ステップS101に戻る。
なお、サブゴール取得手段350がサブゴールデータを受信していない場合(S109でno)には、ステップS101に移行し、サブゴールデータを受信するまで待機する。
「State2」
ステップS106において、ロボットRA,RBの状態が「State2」であると判定された場合には、移動経路変更命令手段390の回避命令手段396が、非優先ロボットRAからの退避開始連絡信号を受信する(S114)。
回避命令手段396が退避開始連絡信号を受信した場合(ステップS114でyes)には、回避命令手段396が優先ロボットRBに対する回避命令信号を生成する(S115)。回避命令信号は入出力手段100を介して、優先ロボットRBに向けて送信される(S116)。そして、制御手段300がロボットRA,RBの状態を「State3」に移行させ(S117)、ステップS101に戻る。
なお、回避命令手段396が退避開始連絡信号を受信していない場合(ステップS114でno)には、ステップS101に移行し、退避開始連絡信号を受信するまで待機する。
「State3」
ステップS106において、ロボットRA,RBの状態が「State3」であると判定された場合には、シナリオ復帰命令手段400が、非優先ロボットRAの退避移動が終了し、かつ、ロボット間距離Dが増大しているか否かを判定する(S118)。非優先ロボットRAの退避移動が終了したか否かは、定期的に送信される非優先ロボットRAのロボットデータに含まれる現在位置データと退避位置データとを比較することによって判定可能である。また、非優先ロボットRAが退避位置まで移動した際に、非優先ロボットRAの制御部40が退避終了連絡信号を生成し、シナリオ復帰命令手段400がこの退避終了連絡信号を受信することによって判定する構成であってもよい。
シナリオ復帰命令手段400が、非優先ロボットRAの退避移動が終了し、かつ、ロボット間距離Dが増大していると判定した場合(S118でyes)には、シナリオ復帰命令手段400が、非優先ロボットRAに対するシナリオ復帰命令信号を生成する。シナリオ復帰命令信号は、非優先ロボットRAに向けて送信される(S119)。
シナリオ復帰命令信号を受信した非優先ロボットRAは、退避して中止していたタスクを再開する。
そして、制御手段300がロボットRA,RBの状態を「State4」に移行させ(S120)、ステップS101に戻る。
なお、ステップS118において、制御手段300が、非優先ロボットRAの退避移動が終了していない、またはロボット間距離Dが増大していないと判定した場合(S118でno)には、ステップS101に戻る。
「State4」
ステップS106において、ロボットRA,RBの状態が「State4」であると判定された場合には、シナリオ復帰命令手段400が、優先ロボットRBの回避移動が終了したか否かを判定する(S120)。
シナリオ復帰命令手段400が、優先ロボットRBの回避移動が終了したと判定した場合(S120でyes)には、シナリオ復帰命令手段400が、優先ロボットRBに対するシナリオ復帰命令信号を生成する。シナリオ復帰命令信号は、優先ロボットRBに向けて送信される(S122)。
そして、シナリオ復帰命令手段400は、このロボットRA,RBの組み合わせを、衝突回避リストから削除させ(S123)、ステップS101に戻る。
<接近判定・衝突可能性判定>
続いて、接近判定手段340による接近判定手順と、衝突可能性判定手段360による衝突可能性判定手順とについて、図15を参照し、さらに詳しく説明する。
図15は、接近判定手段及び衝突可能性判定手段の動作を示すフローチャートである。以下に説明するステップS201〜S205は、図14のフローチャートにおけるステップS103のサブルーチンに相当する。
接近判定手段340は、ロボットRA,RBの現在位置データ及び移動速度データに基づいて、ロボットRA,RBが接近しているか否かを判定する(S201)。
ロボット接近速度Vとロボット間距離Dとが前記式(1)を満たしている場合(S201でyes)には、接近判定手段340は、ロボットRA,RBが接近していると判定し、サブゴール取得手段350を作動させる。
ロボット接近速度Vとロボット間距離Dとが前記式(1)を満たしていない場合(S201でno)には、接近判定手段340は、ロボットRA,RBが接近しておらず、衝突する可能性がないと判定する。
そして、接近判定手段340がロボットRA,RBが接近していると判定した場合には、衝突可能性判定手段360のサブゴール補間部361が、ロボットRA,RBから受信したサブゴールデータを補間する(S202)。
続いて、サブゴール間距離算出部363がロボットRAのサブゴールとロボットRBのサブゴールとの距離(サブゴール間距離)を算出し、サブゴール間距離判定部364が、サブゴール間距離が一定距離c以下であるか否かを判定する。このようにして、一定距離c以下となる分割サブゴールの組み合わせが抽出される(S203)。
続いて、到達時間算出部365が、抽出されたサブゴールの組み合わせに対する、2台のロボットRA,RBの到達時間を算出する(S204)。
続いて、到達時間判定部366が、到達時間の差が一定時間d内であるか否かを判定する(S205)。到達時間の差が一定時間d内の場合(S205でyes)には、ある時刻に2台のロボットRA,RBが非常に近づいて位置することになるので、衝突可能性判定部367が、ロボットRA,RBが衝突する可能性があると判定する。到達時間の差が一定時間dよりも大きい場合(S205でno)には、2台のロボットRA,RBの移動経路が接近しているものの、ロボットRA,RBは接近部分を、時間差を持って移動することになるので、衝突可能性判定部367が、ロボットRA,RBが衝突する可能性がないと判定する。
<退避位置算出>
続いて、非優先ロボットRAの退避位置の算出について、さらに詳しく説明する。
図16は、退避位置生成部による非優先ロボットの退避位置生成を説明するための模式図である。図17は、退避位置生成部による退避位置生成動作を示すフローチャートである。以下の説明におけるステップS301〜S312が、図14のフローチャートにおけるステップS115のサブルーチンに相当する。
ここで、退避動作を行う非優先ロボットRAは、NA個のサブゴールを有しているものとする。そして、nA個目のサブゴールに関するサブゴールデータを、2次元座標上の点として定義し、
SGA(nA) (nA=1,2,…,NA
と記載する。
そして、ロボットRAが、現在mA個目のサブゴール(サブゴールデータはSGA(mA))を目標として移動しているとし、退避候補位置生成部392aが、現時点における過去、未来2個ずつのサブゴールに関するサブゴールデータを抽出する(S301)。これら4個のサブゴールデータをそれぞれ、
Cal_SGA(iA) (iA=1,2,3,4)
と記載する。つまり、抽出したサブゴールデータCal_SGA(iA)は、以下のようになる。

Cal_SGA(1)=SG(mA+1) …二つ未来のサブゴール
Cal_SGA(2)=SG(mA) …現在目標とする(一つ未来の)サブゴール
Cal_SGA(3)=SG(mA−1) …一つ過去のサブゴール
Cal_SGA(4)=SG(mA−2) …二つ過去のサブゴール
続いて、退避候補位置生成部392aが、抽出した4個のサブゴールデータに対応する退避候補位置に関する退避候補位置データを生成する(S302)。
4個のサブゴールに対応して、それぞれ退避位置の候補となる退避候補位置が2点または4点存在する。これら退避候補位置に関する退避候補位置データを
Offset_Path(iA)(jA) (iA=1,2,3,4、jA=2or4)
と記載する。
これら退避候補位置の中から一つを選び、退避位置を決定する。
ここで、各サブゴールに対応する退避候補位置データの生成について、(1)2点設定の場合、(2)4点設定の場合の順に説明する。
(1)2点設定の場合
所定幅の通路など、サブゴール(移動可能ノード)が直線上に並んでおり、隣り合う移動可能ノード間にリンクが設定されている場合には、退避候補位置生成部392aが、退避候補位置を2点設定する。以下、2点設定の場合について、図18ないし図20を参照して説明する。
まず、退避候補位置生成部392aが、サブゴールデータCal_SGA(iA)に対応するリンクを探索する。ここでは、図18に示すように、サブゴールデータCal_SGA(iA)に対応するリンクが、Link(1),Link(2)の二つ存在している。これらのリンクLink(1),Link(2)は、同一直線上に並んでいる。
そして、図19に示すように、退避候補位置生成部392aが、そのリンクが作るベクトルLink_Vectorに対して垂直であり、かつ、サブゴールCal_SGA(iA)を通る直線Lを引く。
続いて、退避候補位置生成部392aが、この直線L上に、ロボット間最小マージンを満たし、かつ、壁とのマージンを満足する2点の平面座標に関するデータを、退避候補位置データOffset_Path(iA)(1),Offset_Path(iA)(2)として設定する。ここでは、図20に示すように、2点の退避候補位置が設定される。ロボット間最小マージンは、ロボットRA,RBが衝突せずにすれ違うことができる距離であり、ロボットRの大きさに基づいて予め設定されている。
ここで、退避候補位置Offset_Path(iA)(1),Offset_Path(iA)(2)それぞれから壁面までの距離s1,s3が、壁とのマージンであり、所定の値以上に設定される。また、退避候補位置Offset_Path(iA)(1),Offset_Path(iA)(2)間の距離s2が、ロボット間最小マージンを満たしている。壁面同士が離れている場合などには、ロボット間最小マージンをmとしたとき、サブゴールCal_SGA(iA)と退避候補位置Offset_Path(iA)(1)との距離をm/2の値に設定する構成であってもよい(退避候補位置Offset_Path(iA)(2)についても同様)。
(2)4点設定の場合
サブゴール(移動可能ノード)が十字路内にある場合などには、退避候補位置生成部392aが、退避候補位置を4点設定する。以下、4点設定の場合について、図21ないし図24を参照して説明する。
まず、退避候補位置生成部392aが、サブゴールデータCal_SGA(iA)に対応するリンクを探索する。ここでは、図21に示すように、サブゴールデータCal_SGA(iA)に対応するリンクが、Link(11),Link(12),Link(13),Link(14)の四つ存在している。これらのリンクLink(11),Link(12),Link(13),Link(14)は、十字状に配置されている。
そして、図22に示すように、退避候補位置生成部392aが、これらのリンクが作る二つのベクトルLink_Vector(1),Link_Vector(2)に対して垂直であり、かつ、サブゴールCal_SGA(iA)を通る2本の直線L(1),L(2)を引く。
続いて、退避候補位置生成部392aが、この直線L(1),L(2)上それぞれに、ロボット間最小マージンを満たし、かつ、壁とのマージンを満足する2点の平面座標に関するデータを、計4点の退避候補位置データOffset_Path(iA)(1),Offset_Path(iA)(2),Offset_Path(iA)(3),Offset_Path(iA)(4)として設定する。ここでは、図23に示すように、直線L(1)上に2点の退避候補位置Offset_Path(iA)(1),Offset_Path(iA)(3)が設定され、直線L(2)上に2点の退避候補位置Offset_Path(iA)(2),Offset_Path(iA)(4)が設定される。
設定した退避候補位置が他のリンクが作るベクトル上に存在する場合には、退避候補位置生成部392aが、ベクトル同士のなす角度の半分を回転角とし、サブゴールを中心に全ての退避候補位置を回転する。ここでは、図24に示すように、各退避候補位置を、サブゴールCal_SGA(iA)を中心として時計回りに45度回転させる。
続いて、退避位置決定部392bが、iA=1とし(S303)、退避候補位置に対して、当該退避候補位置が退避位置に適しているか否かを判定するための計算(i)〜(iii)を実行する。
<計算(i)>
まず、退避候補位置が4点存在する場合には、2点に絞り込む。
退避候補位置が4点存在する場合とは、図25に示すように、サブゴールCal_SGA(iA)が交差点内に位置する場合などである。
まず、退避位置決定部392bは、優先ロボットRBの現在位置と移動終了位置とを結ぶベクトルを生成する。このベクトルを、
Des_Vector
と記載する。
また、退避位置決定部392bは、4点の退避候補位置のうち、対角に位置する2点を結ぶベクトルを生成する。これら2個のベクトルを、
Path_Vector(1)
Path_Vector(2)
と記載する。
そして、Des_VectorとPath_Vector(1)とがなす角の小さい方を
arg(1)
と記載し、Des_VectorとPath_Vector(2)とがなす角の小さい方を
arg(2)
と記載する。そして、退避位置決定部392bは、arg(1)とarg(2)との大きさを比較し、大きい方の角を与える退避候補位置の対(本実施形態では、Offset_Path(iA)(2)及びOffset_Path(iA)(4))を、退避候補位置として採用する。
ここで、4点の退避候補位置を回転させた場合と、回転させない場合とにおけるロボットRA,RBの退避/回避動作について比較する。図26は、退避候補位置が4点ある場合のロボットの退避/回避動作の例を説明する模式図であり、(a)は退避候補位置を回転させた場合を示す図、(b)は退避候補位置を回転させない場合を示す図である。
図26(a)に示す例では、退避候補位置を回転させた状態で、非優先ロボットRAがOffset_Path(iA)(4)に退避し、優先ロボットRBがOffset_Path(iA)(2)を回避中継位置として回避移動する。
一方、図26(b)に示す例では、退避候補位置を回転させない状態で、非優先ロボットRAがOffset_Path(iA)(1)またはOffset_Path(iA)(4)に退避し、優先ロボットRBがOffset_Path(iA)(2)及びOffset_Path(iA)(2)を回避中継位置として回避移動する。
図26(a),(b)からもわかるように、4点の退避候補位置を回転させた状態で、対角上の2点の退避候補位置を採用することで、ロボットRA,RBの距離を確保することができ、より好適に衝突を避けることができる。
<計算(ii)>
2点の退避候補位置に対して、以下の計算を行う。
まず、退避位置決定部392bは、距離Da,Dbを算出する。

Da=(当該退避候補位置と近傍のロボットR全てとの距離の最小値)
Db=(当該退避候補位置と優先ロボットRBの移動終了位置(ゴール)との距離)

ここで、Daを算出する際の近傍のロボットR全てとは、退避候補位置から所定距離内にある非優先ロボットRA以外の全てのロボットRのことであり、優先ロボットRBも含まれる。本実施形態では、優先ロボットRBと、その他のロボットRCが「近傍のロボットR全て」に該当する(図16参照)。
図16には、退避候補位置データOffset_Path(2)(1)に対するDa,Dbが示されている。本実施形態では、退避候補位置と優先ロボットRBとの距離Dr(1)が退避候補位置とその他のロボットRCとの距離Dr(2)よりも小さい。したがって、距離Dr(1)がDaとなる。
そして、退避位置決定部392bは、DaとDbのうち、小さい方を当該退避候補位置データOffset_Path(2)(1)に対するDmin(=Dmin(1))とする。本実施形態では、DaがDmin(=Dmin(1))となる。
また、退避位置決定部392bは、対となる退避候補位置データOffset_Path(2)(2)についても同様の計算を行い、退避候補位置データOffset_Path(2)(2)に対するDmin(=Dmin(2))を算出する。
<計算(iii)>
退避候補位置2点に対するDminをそれぞれDmin(1),Dmin(2)とし、Dmin(1),Dmin(2)のうち、大きい方をDmin_f、小さい方をDmin_nとする。
すなわち、Dmin_f,Dmin_nは、以下の式によって求められる。

Dmin_f=Max(Dmin(1),Dmin(2))
Dmin_n=min(Dmin(1),Dmin(2))

本実施形態では、 Dmin_f=Dmin(1) , Dmin_n=Dmin(2) である。
そして、
Dmin_f>(ロボット間最小距離+マージン) …式(2)
を満たす場合には、退避位置決定部392bは、Dmin_fを与える退避候補位置を退避位置とし、回避中継位置生成部397aは、Dmin_nを与える退避候補位置を回避中継位置とする(S305)。
なお、式(2)を満たし、かつ、 Dmin_f=Dmin_n である場合には、退避位置決定部392bは、Dbが大きい方の退避候補位置を退避位置として選択する。これは、優先ロボットRBが、その移動終了位置に近い方を回避中継位置とするための措置である。
さらに、一対の退避候補位置の各Dbの値が等しい場合には、退避位置決定部392bは、Dmin(1)を与える退避候補位置を退避位置として選択する。
前記式(2)を満たさない場合には、退避位置決定部392bは、iA=1における退避候補位置については解なしと判断する。そして、iAを一つだけ大きくし(S307)、退避候補位置Offset_Path(2)(jA)についてステップS304,S305を実行する。
本実施形態では、退避位置決定部392bは、iA=1から順に退避候補位置を探索する。そして、解が見つかった時点で探索を終了する。これは、小さいiAに基づく退避候補位置の方が、非優先ロボットRAのゴールにより近いため、より好適な退避位置であると考えられるためである。
なお、本実施形態では、図16に示すように、退避位置決定部392bは、退避候補位置データOffset_Path(2)(1)を退避位置P1に関する退避位置データとして設定し、回避中継位置生成部397aは、退避候補位置データOffset_Path(2)(2)を回避中継位置P2に関する回避中継位置データとして設定する。そして、非優先ロボットRBがシナリオ復帰命令信号を受信すると、非優先ロボットRBはタスクを再開し、サブゴールCal_SGA(1)に向かって移動する。
解が見つからない場合(S305でno、かつ、S306でyes)、または、S301においてサブゴールがない場合には、退避候補位置生成部392aは、非優先ロボットRAの現在位置を始点とし、渦巻状に退避候補位置を探索し(S308)、探索された退避候補位置について、退避候補位置生成部392a及び退避位置決定部392bが、計算(i)〜(iii)を実行する(S309)。かかる演算は、探索半径R’まで続行される(S310,S311)
ここで、渦巻状の探索について説明する。退避候補位置生成部392aが、適当な負でない実数tに対して、非優先ロボットRAの現在位置を原点とした平面座標(x,y)において、

x=(r+ft)sin(gt)
y=(r+ft)cos(gt)

を算出する(f,g,rは定数。)。退避候補位置生成部392a及び退避位置決定部392bは、算出されたx,yに最も近いノード(移動可能ノード)に対して前記計算を行い、解(退避位置)が存在するかを調べる。
これらを実行しても解が見つからなかった場合には(S310でno、かつ、S311でyes)、優先ロボットと非優先ロボットとの設定を反転させ(S312)、退避候補位置生成部392a及び退避位置決定部392bが、新たに非優先ロボットとなったロボットRBについて退避位置算出処理を行う。
続いて、優先ロボットRBの回避位置の算出について説明する。
図27は、回避位置生成部による優先ロボットの回避位置生成を説明するための模式図である。図28は、回避位置生成部による回避位置生成動作を示すフローチャートである。以下に説明するステップS401〜S408は、図14のフローチャートにおけるステップS115のサブルーチンに相当する。
優先ロボットRBの回避移動は、回避中継位置及び回避終了位置を算出することによって行われる。ここで、回避中継位置の生成は、前記した非優先ロボットRAの退避位置の生成の際に行われており、回避中継位置生成部397aは、既に生成された回避中継位置データを受け取ることによって、回避中継位置を設定する。
まず、回避終了位置生成部397bは、優先ロボットRBのサブゴールから回避終了候補位置を抽出する(S401)。
回避移動を行う優先ロボットRBは、NB個のサブゴールを有しているものとする。そして、nB個目のサブゴールに関するサブゴールデータを、2次元座標上の点として定義し、
SGB(nB) (nB=1,2,…,NB
と記載する。
優先ロボットRBが現在mB番目のサブゴールを目標として移動していると仮定する。この場合に、回避終了候補位置に関する回避終了候補位置データを、
Cal_SGB(iB) (iB=1,2,…k)
と記載する。
Cal_SGB(1)=SG(mB

Cal_SGB(k)=SG(NB) (k=NB−mB+1)
と、k個、すなわち(NB−mB+1)個のサブゴールの回避終了候補位置Cal_SGB(iB)が存在する。
そして、回避終了位置生成部397bは、iB=1と設定し(S402)、Cal_SGB(1)に対して距離Dc,Dd,Deを算出する(S403)。

Dc=(当該回避終了候補位置と非優先ロボットの退避位置との距離)
Dd=(当該回避終了候補位置と優先ロボットの現在位置との距離)
De=(当該回避終了候補位置と他のロボットの現在位置との距離の最小値)

ここでいう他のロボットとは、非優先ロボットRA及び優先ロボットRB以外の全てのロボットRのことである。
なお、図27には、回避終了候補位置データCal_SGB(3)におけるDc,Dd,Deを図示している。
そして、回避終了位置生成部397bは、回避終了候補位置Cal_SGB(iB)に対して以下の条件を当てはめ、以下の条件(iv),(v)を満たすか否かを判定する(S404)。
(iv) 当該回避終了候補位置が優先ロボットRBの移動終了位置(最終ゴール)(iB=k)でない場合
Dc>(ロボット間最小距離+マージン) …(3)
Dd>(非優先ロボットの現在位置と優先ロボットの現在位置との距離+マージン) …(4)
De>(ロボット間最小距離+マージン) …(5)
Dcが式(3)を満たせば、「回避終了位置が、退避位置に存在する非優先ロボットRAから十分な距離を保持している」ことになる。
Ddが式(4)を満たせば、「回避終了位置が、非優先ロボットよりも遠く(優先ロボットRBのゴール側)に設定されている」ことになる。
Deが式(5)を満たせば、「回避終了位置が、他のロボットR(非優先ロボットRAを含む)から十分な距離を保持している」ことになる。
(v) 当該回避終了候補位置が最終ゴール(iB=k)である場合
Dc>(ロボット間最小距離+マージン) …(6)
Dd>(ロボット間最小距離+マージン) …(7)
De>(ロボット間最小距離+マージン) …(8)
Dc,Dd,Deがこれらの式(6)、(7)、(8)を満たせば、「回避終了位置が、優先ロボットRB以外の全てのロボットRに接近していない」ことになる。
これらの条件を満たさない場合には、回避終了位置生成部397bは、iBの値を1ずつ増やし(S406)、条件を満たす回避終了候補位置が表れるまでステップS403,S404を繰り返す。
条件を満たす場合には、回避終了位置生成部397bは、当該回避終了候補位置が最終ゴールであるか否かを判定する(S407)。当該回避目終了候補位置が最終ゴールでないと判定された場合には、回避終了位置生成部397bは、この回避終了候補位置を回避終了位置とする。当該回避終了候補位置が最終ゴールであると判定された場合には、回避終了位置生成部397bは、回避中継位置を回避終了位置とする(S408)。
また、すべてのiBについて条件を満たさない場合には(S404でno、かつ、S4005でyes)、回避終了位置生成部397bは、回避中継位置を回避終了位置とする(S408)。
さらに、ステップS401において回避終了候補位置を抽出できない場合、例えば、優先ロボットRBがサブゴールを持っていない場合には、回避終了位置生成部397bは、回避中継位置を回避終了位置とする(S409)。
なお、本実施形態では、図27に示すように、回避終了位置生成部397bは、回避終了候補位置データCal_SG(3)を回避終了位置P3に関する回避終了位置データとして設定する。
本発明の実施形態に係るロボット制御装置3は、ロボットRの接近を判定し、続いて接近した2台のロボットR,Rの衝突可能性を判定し、衝突可能性のある2台のロボットR,Rの衝突を避ける装置である。すなわち、ロボット制御装置3は、通信を用いて各ロボットRの状態と行動プランニング(タスク)を監視し、必要なときにのみロボットRに対してその行動プランニングに応じた衝突回避動作(退避または回避)を送信する。このように、衝突可能性がある場合にのみ、2台のロボットR,Rの衝突を避ける制御を行うので、通常時(衝突可能性のない場合)のロボットRの移動に影響を与えることがない。また、2台のロボットR,Rの優先順位を判定し、優先順位に基づいて退避、回避を行わせるので、ロボット制御システムA全体におけるロボットタスク実行の遂行効率を向上させることができる。
以上、各実施形態について詳細に説明したが、本発明は、前記した各実施形態に限定されず、本発明の要旨を逸脱しない範囲で適宜設計変更可能である。
例えば、ロボットRの自律移動経路(サブゴール)の生成手法は、前記したものに限定されない。また、ロボット制御装置3がサブゴールを生成し、ロボットRに送信する構成であってもよい。
本発明の実施形態に係るロボット制御システムを示すシステム構成図である。 図1のロボットを示すブロック図である。 ロボットのサブゴールを説明するための模式図である。 図1のロボット制御装置を示すブロック図である。 接近判定手段による接近判定を説明するためのグラフである。 図4の衝突可能性判定手段を示すブロック図である。 サブゴール補間部によるサブゴールの補間を説明するための模式図であり、(a)は補間前を示す図、(b)は補間後を示す図である。 図4の移動経路変更命令手段を示すブロック図である。 2台のロボットの退避及び回避を説明するための模式図である。 2台のロボットの退避及び回避を説明するための模式図である。 2台のロボットの退避及び回避を説明するための模式図である。 2台のロボットの退避及び回避を説明するための模式図である。 本発明の実施形態に係るロボット制御システムによる、2台のロボットの衝突を避けるためのロボット及びロボット制御装置の動作を示すフローチャートである。 本発明の実施形態に係るロボット制御装置の動作を示すフローチャートである。 接近判定手段及び衝突可能性判定手段の動作を示すフローチャートである。 退避位置生成部による非優先ロボットの退避位置生成を説明するための模式図である。 退避位置生成部による退避位置生成動作を示すフローチャートである。 退避候補位置を2点設定する場合を説明するための模式図である。 退避候補位置を2点設定する場合を説明するための模式図である。 退避候補位置を2点設定する場合を説明するための模式図である。 退避候補位置を4点設定する場合を説明するための模式図である。 退避候補位置を4点設定する場合を説明するための模式図である 退避候補位置を4点設定する場合を説明するための模式図である 退避候補位置を4点設定する場合を説明するための模式図である 退避候補位置が4点存在する場合を説明するための模式図である。 退避候補位置が4点ある場合のロボットの退避/回避動作の例を説明する模式図であり、(a)は退避候補位置を回転させた場合を示す図、(b)は退避候補位置を回転させない場合を示す図である。 回避位置生成部による優先ロボットの回避位置生成を説明するための模式図である。 回避位置生成部による回避位置生成動作を示すフローチャートである。
符号の説明
3 ロボット制御装置
310 ロボット選択手段
320 現在位置取得手段
330 移動速度取得手段
340 接近判定手段
350 サブゴール取得手段
360 衝突可能性判定手段
370 優先順位設定手段
380 地図取得手段
390 移動経路変更命令手段

Claims (8)

  1. 移動経路に基づいて移動する機能を備えた複数のロボットと通信を行い、前記ロボット同士の衝突を避けるために複数の前記ロボットの移動を制御するロボット制御装置であって、
    前記移動経路が形成される移動領域に関する地図データを取得する地図取得手段と、
    前記ロボットの現在位置に関する現在位置データを取得する現在位置取得手段と、
    前記移動経路に設定された有限個のサブゴールに関するサブゴールデータを取得するサブゴール取得手段と、
    取得した前記サブゴールデータに基づいて、2台の前記ロボットが衝突する可能性があるか否かを判定する衝突可能性判定手段と、
    衝突可能性がある2台の前記ロボットのうち、少なくとも1台の前記ロボットの前記移動経路を、前記地図データ、前記現在位置データ及び前記サブゴールデータに基づいて、衝突可能性がある他の前記ロボットとの衝突を避けるように変更させる移動経路変更命令信号を生成する移動経路変更命令手段と、
    前記移動経路変更命令信号を対応する前記ロボットに送信する送信手段と、
    衝突可能性がある2台の前記ロボットの優先順位を、優先順位が高い方を優先ロボット、優先順位が低い方を非優先ロボットと設定する優先順位設定手段と、
    を備え、
    前記移動経路変更命令手段は、少なくとも前記非優先ロボットの移動経路を、前記優先ロボットとの衝突を避けるように変更させる移動経路変更命令信号を生成し、
    前記移動経路変更命令手段は、
    前記移動経路変更命令信号として、前記非優先ロボットの移動経路を、退避位置に移動することによって前記優先ロボットの移動経路から退避するように変更させる退避命令信号を生成する退避命令手段と、
    前記移動経路変更命令信号として、前記優先ロボットの移動経路を、前記退避位置に退避した前記非優先ロボットを回避して移動するように変更させる回避命令信号を生成する回避命令手段と、
    を備えており、
    前記退避命令手段は、
    前記地図データ及び前記サブゴールデータに基づいて、前記退避位置に関する退避位置データを生成する退避位置生成部と、
    前記退避位置データに基づいて、前記非優先ロボットを前記退避位置に退避させる前記退避命令信号を生成する退避命令生成部と、
    を備えており、
    前記回避命令手段は、
    前記退避位置に関する退避位置データ、前記地図データ及び前記サブゴールデータに基づいて、前記優先ロボットが回避移動する回避位置に関する回避位置データを生成する回避位置生成部と、
    前記回避位置データに基づいて、前記優先ロボットを前記回避位置に回避させる回避命令信号を生成する回避命令生成部と、
    を備えており、
    前記回避位置生成部は、
    前記地図データ及び前記退避位置データに基づいて、前記退避位置に退避した前記非優先ロボットを回避しつつ通過する回避中継位置に関する回避中継位置データを生成する回避中継位置生成部と、
    前記優先ロボットが前記移動経路に復帰する回避終了位置に関する回避終了位置データを生成する回避終了位置生成部と、
    を備えており、
    前記回避命令生成部は、前記回避中継位置データ及び前記回避終了位置データに基づいて、前記優先ロボットを、前記回避中継位置を経由して前記回避終了位置に移動させる前記回避命令信号を生成し、
    前記退避位置生成部は、
    前記現在位置データ、前記サブゴールデータ及び前記地図データに基づいて、前記サブゴールごとに、退避候補位置に関する退避候補位置データを生成する退避候補位置生成部と、
    前記退避候補位置データ及び前記現在位置データに基づいて、前記退避候補位置から退避位置を決定する退避位置決定部と、
    を備えており、
    前記退避候補位置生成部は、前記サブゴールごとに、二以上の前記退避候補位置に関する前記退避候補位置データを生成し、
    前記回避中継位置生成部は、前記退避位置に対応する前記サブゴールの、残りの前記退避候補位置から、前記回避中継位置を決定する
    ことを特徴とするロボット制御装置。
  2. 前記ロボットの移動速度に関する移動速度データを取得する移動速度取得手段と、
    取得した前記現在位置データ及び前記移動速度データに基づいて、2台の前記ロボットが接近しているか否かを判定する接近判定手段と、
    をさらに備え、
    前記接近判定手段が、2台の前記ロボットが接近していると判定した場合に、前記衝突可能性判定手段が、接近している2台の前記ロボットが衝突する可能性があるか否かを判定する
    ことを特徴とする請求項1に記載のロボット制御装置。
  3. 複数の前記ロボットから2台の前記ロボットを選択するロボット選択手段をさらに備え、
    前記現在位置取得手段は、選択した2台の前記ロボットの前記現在位置データを取得し、
    前記移動速度取得手段は、選択した2台の前記ロボットの前記移動速度データを取得し、
    前記接近判定手段は、取得した前記位置データ及び前記移動速度データに基づいて、選択した2台の前記ロボットが接近しているか否かを判定する
    ことを特徴とする請求項2に記載のロボット制御装置。
  4. 前記接近判定手段が、2台の前記ロボットが接近していると判定した場合に、前記サブゴール取得手段が、接近している2台の前記ロボットの前記サブゴールデータを取得する
    ことを特徴とする請求項2または請求項3に記載のロボット制御装置。
  5. 前記衝突可能性判定手段は、
    接近している2台の前記ロボットの前記サブゴールデータから一つずつ選択するサブゴール選択部と、
    選択した前記サブゴールデータに基づいてサブゴール間距離を算出するサブゴール間距離算出部と、
    算出した前記サブゴール間距離が所定距離以下であるか否かを判定するサブゴール間距離判定部と、
    選択した前記サブゴールデータ並びに取得した前記現在位置データ及び前記移動速度データに基づいて、接近している2台の前記ロボットが対応する前記サブゴールに到達するのに要する到達時間をそれぞれ算出する到達時間算出部と、
    算出した前記到達時間の差が一定時間内であるか否かを判定する到達時間判定部と、
    前記サブゴール間距離判定部が、前記サブゴール間距離が所定距離以下であると判定し、かつ、前記到達時間判定部が、前記到達時間の差が一定時間内であると判定した場合に、接近している2台の前記ロボットが衝突する可能性があると判定する衝突可能性判定部と、
    を備えていることを特徴とする請求項2から請求項4のいずれか一項に記載のロボット制御装置。
  6. 前記サブゴール間距離判定部が、前記サブゴール間距離が所定距離以下であると判定した場合に、前記到達時間算出部が、接近している2台の前記ロボットが対応する前記サブゴールに到達するのに要する到達時間を算出する
    ことを特徴とする請求項5に記載のロボット制御装置。
  7. 前記衝突可能性判定手段は、前記サブゴール取得手段が取得した前記サブゴールデータから、隣り合うサブゴールデータを補間するため新たなサブゴールデータを生成するサブゴール補間部をさらに備え、
    前記サブゴール補間部は、補間された前記サブゴールデータを前記サブゴール選択部に出力する
    ことを特徴とする請求項5または請求項6に記載のロボット制御装置。
  8. 前記優先順位設定手段は、衝突可能性がある2台の前記ロボットのタスクの種類に基づいて優先順位を設定する
    ことを特徴とする請求項1から請求項7のいずれか一項に記載のロボット制御装置。
JP2004319287A 2004-11-02 2004-11-02 ロボット制御装置 Expired - Fee Related JP4348276B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004319287A JP4348276B2 (ja) 2004-11-02 2004-11-02 ロボット制御装置
US11/261,775 US20060095160A1 (en) 2004-11-02 2005-10-31 Robot controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004319287A JP4348276B2 (ja) 2004-11-02 2004-11-02 ロボット制御装置

Publications (2)

Publication Number Publication Date
JP2006133863A JP2006133863A (ja) 2006-05-25
JP4348276B2 true JP4348276B2 (ja) 2009-10-21

Family

ID=36263115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004319287A Expired - Fee Related JP4348276B2 (ja) 2004-11-02 2004-11-02 ロボット制御装置

Country Status (2)

Country Link
US (1) US20060095160A1 (ja)
JP (1) JP4348276B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021194194A1 (ko) * 2020-03-25 2021-09-30 주식회사 우아한형제들 멀티 서빙로봇 운용방법 및 시스템

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1942289A (zh) * 2004-04-16 2007-04-04 松下电器产业株式会社 机器人、提示输出装置、机器人控制系统、机器人控制方法、机器人控制程序及集成电路
US7474945B2 (en) * 2004-12-14 2009-01-06 Honda Motor Company, Ltd. Route generating system for an autonomous mobile robot
US8152693B2 (en) * 2006-05-08 2012-04-10 Nokia Corporation Exercise data device, server, system and method
US8073564B2 (en) 2006-07-05 2011-12-06 Battelle Energy Alliance, Llc Multi-robot control interface
US8271132B2 (en) * 2008-03-13 2012-09-18 Battelle Energy Alliance, Llc System and method for seamless task-directed autonomy for robots
US7801644B2 (en) * 2006-07-05 2010-09-21 Battelle Energy Alliance, Llc Generic robot architecture
US8965578B2 (en) 2006-07-05 2015-02-24 Battelle Energy Alliance, Llc Real time explosive hazard information sensing, processing, and communication for autonomous operation
US8355818B2 (en) * 2009-09-03 2013-01-15 Battelle Energy Alliance, Llc Robots, systems, and methods for hazard evaluation and visualization
US7974738B2 (en) 2006-07-05 2011-07-05 Battelle Energy Alliance, Llc Robotics virtual rail system and method
EP1972415B1 (en) * 2007-03-23 2019-01-02 Honda Research Institute Europe GmbH Robots with collision avoidance functionality
EP1972416B1 (en) * 2007-03-23 2018-04-25 Honda Research Institute Europe GmbH Robots with occlusion avoidance functionality
EP1974869A1 (en) * 2007-03-26 2008-10-01 Honda Research Institute Europe GmbH Apparatus and method for generating and controlling the motion of a robot
ITRM20070347A1 (it) * 2007-06-21 2008-12-22 Space Software Italia S P A Metodo e sistema per la interazione e cooperazione di sensori, attuatori e robot
JP4577697B2 (ja) 2007-11-30 2010-11-10 本田技研工業株式会社 移動装置および移動装置システム
JP4328819B2 (ja) * 2007-11-30 2009-09-09 本田技研工業株式会社 移動装置およびその制御プログラム
JP4839487B2 (ja) * 2007-12-04 2011-12-21 本田技研工業株式会社 ロボット及びタスク実行システム
CN101581936B (zh) * 2008-05-16 2012-01-25 深圳富泰宏精密工业有限公司 利用手机控制两足式机器人的系统及方法
TWI416071B (zh) * 2008-06-06 2013-11-21 Chi Mei Comm Systems Inc 利用手機控制兩足式機器人的系統及方法
TWM348676U (en) * 2008-07-22 2009-01-11 Iner Aec Executive Yuan Environmental survey robot
JP5208649B2 (ja) 2008-09-29 2013-06-12 本田技研工業株式会社 移動装置
JP2010120139A (ja) * 2008-11-21 2010-06-03 New Industry Research Organization 産業用ロボットの安全制御装置
US9679449B2 (en) 2008-12-30 2017-06-13 Oneevent Technologies, Inc. Evacuation system
US8749392B2 (en) 2008-12-30 2014-06-10 Oneevent Technologies, Inc. Evacuation system
US9799205B2 (en) 2013-07-15 2017-10-24 Oneevent Technologies, Inc. Owner controlled evacuation system with notification and route guidance provided by a user device
JP5324286B2 (ja) * 2009-03-30 2013-10-23 株式会社国際電気通信基礎技術研究所 ネットワークロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラム
DE102009052629A1 (de) 2009-11-10 2011-05-12 Vorwerk & Co. Interholding Gmbh Verfahren zur Steuerung eines Roboters
JP5560978B2 (ja) * 2010-07-13 2014-07-30 村田機械株式会社 自律移動体
JP5560979B2 (ja) * 2010-07-13 2014-07-30 村田機械株式会社 自律移動体
JP5572104B2 (ja) * 2011-01-20 2014-08-13 国立大学法人 東京大学 移動体システム
PL2807526T3 (pl) * 2012-01-25 2020-11-30 Omron Robotics And Safety Technologies, Inc. Autonomiczny robot mobilny do obsługi zleceń pracy w środowisku fizycznym zasiedlonym przez przeszkody stacjonarne i niestacjonarne
US8788121B2 (en) 2012-03-09 2014-07-22 Proxy Technologies, Inc. Autonomous vehicle and method for coordinating the paths of multiple autonomous vehicles
US8874360B2 (en) 2012-03-09 2014-10-28 Proxy Technologies Inc. Autonomous vehicle and method for coordinating the paths of multiple autonomous vehicles
JP5901753B2 (ja) * 2012-05-18 2016-04-13 株式会社日立製作所 自律移動装置、制御装置および自律移動方法
KR101441187B1 (ko) * 2012-07-19 2014-09-18 고려대학교 산학협력단 자율 보행 로봇 경로 계획 방법
WO2014138472A2 (en) * 2013-03-06 2014-09-12 Robotex Inc. System and method for collecting and processing data and for utilizing robotic and/or human resources
DE102013003834A1 (de) * 2013-03-07 2014-09-11 Sew-Eurodrive Gmbh & Co Kg Verfahren zur Steuerung der Fahrzeuge, insbesondere Transportfahrzeuge, einer Anlage
JP5754454B2 (ja) * 2013-03-18 2015-07-29 株式会社安川電機 ロボットピッキングシステム及び被加工物の製造方法
GB201310784D0 (en) 2013-06-17 2013-07-31 Ocado Ltd Systems and Methods for Order Processing
US11858738B2 (en) 2013-08-09 2024-01-02 Ocado Innovation Limited Apparatus for retrieving units from a storage system
GB201314313D0 (en) 2013-08-09 2013-09-25 Ocado Ltd Apparatus for retrieving units from a storage system
JP6282140B2 (ja) * 2014-02-26 2018-02-21 キヤノン株式会社 軌道生成方法、ロボット装置、プログラム及び記録媒体
GB201409883D0 (en) 2014-06-03 2014-07-16 Ocado Ltd Methods, systems, and apparatus for controlling movement of transporting devices
EP2952301B1 (en) * 2014-06-05 2019-12-25 Softbank Robotics Europe Humanoid robot with collision avoidance and trajectory recovery capabilities
FI20155139L (fi) * 2015-02-27 2016-08-28 Rocla Oyj Reittiristiriidan ratkaisu
JP6619977B2 (ja) * 2015-08-31 2019-12-11 綜合警備保障株式会社 警備装置
US9987745B1 (en) * 2016-04-01 2018-06-05 Boston Dynamics, Inc. Execution of robotic tasks
US9864377B2 (en) * 2016-04-01 2018-01-09 Locus Robotics Corporation Navigation using planned robot travel paths
CN105911970B (zh) * 2016-06-14 2018-10-02 中山市顺通快递服务有限公司 一种基于蜂群控制的混合动力货物移载系统
CN106041931B (zh) * 2016-06-30 2018-03-13 广东工业大学 一种多障碍空间多agv机器人协作防碰撞路径优化方法
US10642282B2 (en) * 2017-04-12 2020-05-05 X Development Llc Roadmap annotation for deadlock-free multi-agent navigation
JP2019059004A (ja) * 2017-09-28 2019-04-18 セイコーエプソン株式会社 ロボットシステム
CN111417906A (zh) * 2017-12-13 2020-07-14 首选网络株式会社 控制装置、控制方法以及程序
WO2020018527A1 (en) 2018-07-16 2020-01-23 Brain Corporation Systems and methods for optimizing route planning for tight turns for robotic apparatuses
JP6823015B2 (ja) * 2018-07-17 2021-01-27 ファナック株式会社 ロボットシステム
US11203122B2 (en) * 2018-08-03 2021-12-21 Digital Dream Labs, Llc Goal-based robot animation
CN110220524A (zh) * 2019-04-23 2019-09-10 炬星科技(深圳)有限公司 路径规划方法、电子设备、机器人及计算机可读存储介质
US11179850B2 (en) * 2019-04-24 2021-11-23 Intrinsic Innovation Llc Robot motion planning
KR20210045022A (ko) * 2019-10-16 2021-04-26 네이버 주식회사 인식된 사람과 연관된 개인 영역에 기반하여 로봇을 제어하는 방법 및 시스템
CN113050549B (zh) * 2019-12-26 2022-06-10 炬星科技(深圳)有限公司 可自由组网的机器人执行任务的方法、设备及存储介质
KR102428447B1 (ko) * 2020-03-25 2022-08-02 주식회사 우아한형제들 멀티 서빙로봇 운용방법 및 시스템
WO2022124004A1 (ja) * 2020-12-09 2022-06-16 ソニーグループ株式会社 経路計画装置
KR20220120009A (ko) * 2021-02-22 2022-08-30 현대자동차주식회사 로봇의 충돌 감지 장치 및 그 방법
KR102462491B1 (ko) * 2021-05-06 2022-11-03 네이버랩스 주식회사 지정 구역을 주행하는 다수의 로봇들을 제어하는 방법 및 시스템
US20230195123A1 (en) * 2021-12-22 2023-06-22 Ford Global Technologies, Llc Systems and methods for controlling autonomous mobile robots in a manufacturing environment
WO2024004164A1 (ja) * 2022-06-30 2024-01-04 日本電信電話株式会社 ロボットコミュニケーションシステム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179329A (en) * 1989-04-25 1993-01-12 Shinko Electric Co., Ltd. Travel control method, travel control device, and mobile robot for mobile robot systems
US5150452A (en) * 1989-07-28 1992-09-22 Megamation Incorporated Method and apparatus for anti-collision and collision protection for multiple robot system
US5247608A (en) * 1991-04-01 1993-09-21 At&T Bell Laboratories Method and apparatus for achieving dynamic path control of multiple robots
US6738697B2 (en) * 1995-06-07 2004-05-18 Automotive Technologies International Inc. Telematics system for vehicle diagnostics
JP3296105B2 (ja) * 1994-08-26 2002-06-24 ミノルタ株式会社 自律移動ロボット
US5819008A (en) * 1995-10-18 1998-10-06 Rikagaku Kenkyusho Mobile robot sensor system
US6611738B2 (en) * 1999-07-12 2003-08-26 Bryan J. Ruffner Multifunctional mobile appliance
WO2001011388A1 (en) * 1999-08-06 2001-02-15 Roadrisk Technologies, Llc Methods and apparatus for stationary object detection
US6421579B1 (en) * 1999-11-05 2002-07-16 International Business Machines Corporation Multiple independent intelligent pickers with dynamic routing in an automated data storage library
JP2002370183A (ja) * 2001-06-15 2002-12-24 Yamaha Motor Co Ltd 監視装置及び監視システム
US7117067B2 (en) * 2002-04-16 2006-10-03 Irobot Corporation System and methods for adaptive control of robotic devices
JP3768174B2 (ja) * 2002-07-24 2006-04-19 ファナック株式会社 ワーク取出し装置
US20060064202A1 (en) * 2002-08-26 2006-03-23 Sony Corporation Environment identification device, environment identification method, and robot device
US7805220B2 (en) * 2003-03-14 2010-09-28 Sharper Image Acquisition Llc Robot vacuum with internal mapping system
US20040204792A1 (en) * 2003-03-14 2004-10-14 Taylor Charles E. Robotic vacuum with localized cleaning algorithm
US7099745B2 (en) * 2003-10-24 2006-08-29 Sap Aktiengesellschaft Robot system using virtual world
US7089099B2 (en) * 2004-07-30 2006-08-08 Automotive Technologies International, Inc. Sensor assemblies

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021194194A1 (ko) * 2020-03-25 2021-09-30 주식회사 우아한형제들 멀티 서빙로봇 운용방법 및 시스템

Also Published As

Publication number Publication date
US20060095160A1 (en) 2006-05-04
JP2006133863A (ja) 2006-05-25

Similar Documents

Publication Publication Date Title
JP4348276B2 (ja) ロボット制御装置
JP2006326703A (ja) ロボット制御装置
JP6671750B2 (ja) ナビゲーションシステム、装置、および方法
JP4329667B2 (ja) 自律移動システム
JP6880552B2 (ja) 自律移動体システム
US20130002868A1 (en) Surveillance camera terminal
JP4608472B2 (ja) 移動ロボット及び移動ロボットの制御装置
JP4616664B2 (ja) ロボット制御装置、ロボット制御方法およびロボット制御プログラム、ならびに移動ロボット
JP5615160B2 (ja) 移動体
CN113329455B (zh) 任务执行系统、无线电连接方法和计算机可读介质
CN112631269B (zh) 自主移动机器人及自主移动机器人的控制程序
JP2009205652A (ja) 移動体制御システム及び移動体制御方法
CN110146090B (zh) 机器人靠右行走导航方法和机器人
JP4093245B2 (ja) 自律移動装置
JP2008134744A (ja) 自律移動装置群制御システム
KR20210033808A (ko) 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 방법 및 이를 구현하는 로봇과 클라우드 서버
CN110677811B (zh) 多移动机器人的自组网方法以及确定各自工作区域的方法
JP7178066B2 (ja) ロボット、並びに、その行動計画装置及び行動計画用プログラム
JP7230657B2 (ja) システム、情報処理装置、及び情報処理方法
CN114851207B (zh) 一种双机器人的防碰撞控制方法、系统和多机器人系统
EP3889718B1 (en) Control system , control method, and program
WO2020210986A1 (zh) 应用于agv的导航方法、系统、计算设备、介质以及产品
KR101401311B1 (ko) 복수의 이동체의 경로를 계획하는 장치 및 방법
CN116149314A (zh) 机器人全覆盖作业方法、装置及机器人
JP2019144612A (ja) 走行装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20090116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090116

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090717

R150 Certificate of patent or registration of utility model

Ref document number: 4348276

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120724

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120724

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130724

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140724

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees