(57)【要約】【課題】シンプルな構造のロボットを複数用いるロボットシステムにおいて、隊列を組んだ相対的な姿勢を常に保持しながら、大物の物体を速く安定に搬送するシステムを構築することが目的である。【解決手段】搬送物を共同で搬送する全てのロボットにおいて、ロボットの旋回中心が概ね一致し、かつ、全ての移動手段の移動方向がこの旋回中心に対して概ね垂直となるようにするように、操舵手段の舵角を制御する。このような状態で全てのロボットの相対距離を保持すると、移動手段である車輪の横すべりを大幅に低減できるので、相対姿勢を所定の状態に保持することが容易になる。このような操舵手段の制御を行いながら、かつ、ロボット間の相対姿勢をフィードバック制御することで、相対姿勢のずれを防止でき、高速に走行する場合にも、ロボットの隊列を崩すことなく、移動、旋回することができる。【選択図】図１
2010055415.tif 000002
【特許請求の範囲】
【請求項１】
複数のロボットと、各ロボットの動作を指示するロボット指令部と、を備え、物体を前記複数のロボットで支持し、搬送経路に沿って搬送するためのロボットシステムであって、
前記複数のロボットのそれぞれは、自ロボット本体の位置及び方向の情報を含む姿勢を検出する姿勢検出部と、前記自ロボット本体を移動する移動部と、前記自ロボット本体の前記姿勢を変える操舵部と、前記姿勢検出部から得られた前記姿勢の情報を用いて前記移動部と前記操舵部を制御する制御部と、を備え、
前記複数のロボットのうち少なくとも１つのロボットの前記制御部は、前記姿勢検出部から得られる他のロボットとの相対姿勢を演算し、この相対姿勢の情報に基づいて前記移動部及び前記操舵部を制御することを特徴とするロボットシステム。
【請求項２】
前記複数のロボットにおいてそれぞれの旋回中心が概ね一致し、
前記制御部は、前記複数のロボットのそれぞれの前記移動部の移動方向が前記旋回中心と概ね垂直となるように、前記操舵部を制御することを特徴とする請求項１に記載のロボットシステム。
【請求項３】
前記少なくとも１つのロボットの前記制御部は、前記相対姿勢が許容範囲からずれた場合にシステムの動作を停止することを特徴とする
請求項１に記載のロボットシステム。
【請求項４】
前記姿勢検出部は、前方の所定角度範囲内に存在する障害物との距離を検出するセンサを備え、予め格納部に保存された前記障害物の地図情報と前記センサによって得られた距離とを比較して、前記姿勢を検出することを特徴とする請求項１に記載のロボットシステム。
【請求項５】
自ロボット本体の位置及び方向の情報を含む姿勢を検出する姿勢検出部と、前記自ロボット本体を移動する移動部と、前記自ロボット本体の前記姿勢を変える操舵部と、を有する複数のロボットと、
前記複数のロボットのそれぞれに目標姿勢の情報を与え、前記複数のロボットのうち、少なくとも１つのロボットに目標相対姿勢の情報を与えるロボットコントローラと、を備え、
前記複数のロボットの少なくとも１つは、前記姿勢検出部により得た前記自ロボットと他のロボットの間の相対姿勢を前記目標相対姿勢に保持する相対姿勢制御部と、前記相対姿勢制御部の演算結果に基づいて前記目標姿勢の情報を補正するロボット姿勢補正部と、この補正された目標姿勢の情報に基づいて前記移動部及び前記操舵部を制御するための制御信号を出力するロボット制御部と、を備えることを特徴とするロボットシステム。
【請求項６】
前記相対姿勢制御部は、前記移動手段の速度を所定値以内に制限するようにしながら、前記相対姿勢を前記相対目標姿勢に保持することを特徴とする請求項５記載の移動ロボットシステム。
【請求項７】
前記姿勢検出部は、前方の所定角度範囲内に存在する障害物との距離を検出するセンサを備え、予め格納部に保存された前記障害物の地図情報と前記センサによって得られた距離とを比較して、前記姿勢を検出することを特徴とする請求項５に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のロボットを用いて物体（例えば、長尺物、大型物）の搬送を行うためのロボットシステムに関するものである。
【背景技術】
【０００２】
複数のロボットが隊列を組んで長尺物や大型物を搬送する方法として、いくつかの方法が提案されている。
【０００３】
例えば、特許文献１には、移動体の移動状態を車輪のエンコーダにより計測し、複数の移動体が一定の位置関係を保持しながら移動する方法が記載されている。これによれば、長尺物や大型物を搬送するロボットシステムとしては、特許文献１がシンプルな構造のロボットを用いるので、安価なシステムを構築できる利点がある。
【０００４】
また、特許文献２には、単体のロボットについて、その舵角を制御してスムーズに旋回する方法が記載されている。
【０００５】
【特許文献１】特開２００４−３６２０２２号公報
【特許文献２】特開平１１−１３４０３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の方法では、複数のロボットのうちいずれかのロボットの車輪がスリップすると、進むべき所定の方向と異なる方向に移動して、搭載している搬送物の位置や方向がずれて搬送に支障を来たすことがある。特に、ロボットが速い速度で旋回する場合などに、スリップする割合が大きくなり、搬送物への影響が大きくなってしまう。このように、複数のロボットで物体を搬送する場合には、個々のロボットの姿勢（位置及び進行方向）を制御するだけでは安定的に物体を搬送することはできない。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、複数のロボットを用いて物体を搬送するシステムにおいて、安定的に、かつスムーズに物体を搬送することを可能にする制御手法を提供するものである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明では複数のロボット間における相対的な姿勢（相対的位置、角度）を検出し、この情報を用いて姿勢制御するようにしている。各ロボットがそれぞれの姿勢を目標値になるように制御するだけでなく、物体の搬送が安定的にできるようにロボット間の距離や角度を制御する。
【０００９】
即ち、本発明によるロボットシステムは、複数のロボットと、各ロボットの動作を指示するロボット指令部と、を備え、物体を前記複数のロボットで支持し、搬送経路に沿って搬送するためのロボットシステムであって、複数のロボットのそれぞれは、自ロボット本体の位置及び方向の情報を含む姿勢を検出する姿勢検出部と、自ロボット本体を移動する移動部と、自ロボット本体の姿勢を変える操舵部と、姿勢検出部から得られた姿勢の情報を用いて移動部と操舵部を制御する制御部と、を備える。そして、複数のロボットのうち少なくとも１つのロボットの制御部は、姿勢検出部から得られる他のロボットとの相対姿勢を演算し、この相対姿勢の情報に基づいて移動部及び操舵部を制御する。ここで、複数のロボットにおいてそれぞれの旋回中心が概ね一致する。このとき、制御部は、複数のロボットのそれぞれの移動部の移動方向が旋回中心と概ね垂直となるように、操舵部を制御する。また、少なくとも１つのロボットの制御部は、相対姿勢が許容範囲からずれた場合にシステムの動作を停止するようにしてもよい（警告を出してもよい）。
【００１０】
また、本発明によるロボットシステムは、自ロボット本体の位置及び方向の情報を含む姿勢を検出する姿勢検出部と、自ロボット本体を移動する移動部と、自ロボット本体の姿勢を変える操舵部と、を有する複数のロボットと、複数のロボットのそれぞれに目標姿勢の情報を与え、複数のロボットのうち、少なくとも１つのロボットに目標相対姿勢の情報を与えるロボットコントローラと、を備える。そして、複数のロボットの少なくとも１つは、姿勢検出部により得た自ロボットと他のロボットの間の相対姿勢を目標相対姿勢に保持する相対姿勢制御部と、相対姿勢制御部の演算結果に基づいて目標姿勢の情報を補正するロボット姿勢補正部と、この補正された目標姿勢の情報に基づいて移動部及び操舵部を制御するための制御信号を出力するロボット制御部と、を備えている。このとき、相対姿勢制御部は、移動手段の速度を所定値以内に制限するようにしながら、相対姿勢を相対目標姿勢に保持するようにしてもよい。
【００１１】
なお、上述の姿勢検出部は、前方の所定角度範囲内に存在する障害物（壁や経路上に設置された機器等）との距離を検出するセンサを備え、予め格納部に保存された障害物の地図情報とセンサによって得られた距離とを比較して、前記姿勢を検出するようにする。
【００１２】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【００１３】
以上説明した本発明によれば、ロボットの相対姿勢をフィードバックしてロボット操舵とロボット移動を制御するので、常に安定して複数のロボットの相対姿勢を保持しながら移動できるようになる。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
【００１５】
（１）第１の実施形態
＜移動ロボットシステムの構成＞
図１は、本発明による移動ロボットシステムの概略構成であって、システムが２台のロボットで構成される場合のブロック図である。また、図２は、制御演算部１０５及び１１５の内部構成をより詳細に示した場合のシステムのブロック図である。なお、実施形態ではシステムの基本形のみを提示しており、システムを構成するロボットの数は２台に限定されるものではないのはもちろんのことである。
【００１６】
本発明の第１の実施形態による移動ロボットシステムは、システム全体の制御を実行するロボットコントローラ１２０と、ロボット１００及び１１０と、を備えている。ロボットコントローラ１２０は、各ロボットの移動経路を発生する移動経路発生部１２１と、その演算結果を各ロボットに通信する通信部１２２と、を備え、ロボット１００に目標姿勢情報（ｘ１ｒ，ｙ１ｒ，θ１ｒ）を、ロボット１１０に目標姿勢情報（ｘ２ｒ，ｙ２ｒ，θ２ｒ）をそれぞれ出力している。ここで、ロボットの位置（ｘ，ｙ）と角度（方向）θをあわせて、姿勢とよぶ。また、ロボットコントローラ１２０は、さらに、ロボット１００に目標相対姿勢情報（ｄｘｒ，ｄｙｒ，ｄθｒ）を出力する。なお、終点となる目標姿勢情報はユーザによってロボットコントローラ１２０に入力される。始点となるロボットの姿勢情報は分かる（ユーザが入力しても良い）ので、移動経路発生部１２１が取るべき経路中の位置及び角度を経時的な目標姿勢情報（例：複数のポイント情報）として各ロボットに与える。
【００１７】
ロボット１００は、ロボットコントローラ１２０や他のロボット１１０と通信を行う通信部１０１と、所定の範囲内にある物体との距離を計測する外界センサ１０２と、自ロボットの姿勢（位置及び角度）を検出する姿勢検出部１０３と、進路の形状や進路上に存在する物体等の情報を含む環境地図情報を保存する環境地図記憶部１０４と、姿勢制御等の制御演算を行う制御演算部１０５と、移動モータ（４輪の場合４つ）１０６と、操舵モータ１０７と、他のロボットとの相対姿勢を検出する相対姿勢検出部１０８と、相対姿勢が目標相対姿勢から所定許容範囲よりずれた場合や現時点での姿勢が目標姿勢から所定許容範囲よりずれた場合に、警告を発する警告音発信部１０９と、を備えている。なお、複数のロボットのうち、少なくとも１つがロボット１００のような構成を備えていなければならない。
【００１８】
ロボット１１０は、ロボットコントローラ１２０や他のロボット１００と通信を行う通信部１１１と、所定の範囲内にある物体との距離を計測する外界センサ１１２と、自ロボットの姿勢（位置及び角度）を検出する姿勢検出部１１３と、進路の形状や進路上に存在する物体等の情報を含む環境地図を保存する環境地図記憶部１１４と、姿勢制御等の制御演算を行う制御演算部１１５と、移動モータ（４輪の場合４つ）１１６と、操舵モータ１１７と、現時点での姿勢が目標姿勢から所定許容範囲よりずれた場合に警告を発する警告音発信部１１９と、を備えている。
【００１９】
＜目標姿勢制御動作の概略＞
ロボット１００では、ロボットコントローラ１２０から与えられたロボット１００の目標姿勢情報（ｘ１ｒ，ｙ１ｒ，θ１ｒ）が、通信部１０１より制御演算部１０５に入力される。ロボット１００は、上述のように、ロボット本体の姿勢を検出するための外界センサ１０２を備えている。ここでは、具体的には、外界センサ１０２はレーザ距離センサであり、ロボットの進行方向を中心として±９０°（つまり１８０°）の範囲で、ロボット１００から物体（例えば、壁、設備、移動体など）までの距離データを観測するものである。
【００２０】
姿勢検出部１０３は、この計測した距離データを環境地図記憶部１０４に保存された地図と照合し、地図上におけるロボット１００の姿勢情報（ｘ１，ｙ１，θ１）を検出する。ここで検出された姿勢情報（ｘ１，ｙ１，θ１）と目標姿勢情報（ｘ１ｒ，ｙ１ｒ,θ１ｒ）を用いて、制御演算部１０５はロボット１００の制御演算を行う。それにより得られた制御演算結果で、４つの移動モータ１０６及び４つの操舵モータ１０７が駆動され、ロボットの姿勢や移動が行われる。ロボット１１０についても、同様にしてロボットの姿勢を制御している。ロボットの構造として、４つの車輪を駆動、操舵することができる四輪駆動・四輪操舵システムの構造を採用している。
【００２１】
＜相対姿勢制御動作の概略＞
次に、ロボット１００とロボット１１０が相対的な姿勢の関係（以下、相対姿勢とよぶ）を乱すことなく、移動するための動作について説明する。例えば、ロボット１００に比べてロボット１１０が遅れている場合に、ロボット１００の移動速度を制御して、ロボット１００とロボット１１０が安定的に走行できるようにするための制御である。
【００２２】
ロボット１００の通信部１０１とロボット１１０の通信部１１１は、相互に通信するための機能を持ち、これにより互いの姿勢情報を得ることができる。図１の場合には、ロボット１００の相対姿勢検出部１０８において、ロボット１００とロボット１１０の姿勢の差、つまり、相対姿勢情報（ｄｘ，ｄｙ，ｄθ）を求めている。この相対姿勢情報（ｄｘ，ｄｙ，ｄθ）はロボット１００の制御演算部１０５に入力され、ロボットコントローラ１２０から入力された目標相対姿勢情報（ｄｘｒ，ｄｙｒ，ｄθｒ）と比較される。
【００２３】
制御演算部１０５は、この比較結果に基づいて、目標相対姿勢になるようにフィードバック制御を実行する。同時に、相対姿勢制御のための情報は、通信部１０１、１１１を介して、ロボット１１０の制御演算部１１５にも入力され、同様に、目標相対姿勢となるようにロボット１１０の姿勢も制御される。これにより、２台のロボットが所定の移動経路を移動しながら、かつ、常にその相対姿勢を目標相対姿勢にできる。
【００２４】
＜目標姿勢制御及び相対姿勢制御の詳細動作＞
図２及び図３を用いて、目標姿勢制御及び相対姿勢制御動作の詳細について説明する。図２は、ロボット１００及び１１０の内部の詳細構成を示すブロック図である。図３は、ロボット移動システムにおける制御動作を説明するためのフローチャートである。
【００２５】
まず、図２を用いて、ロボット１００の制御演算部１０５の詳細な構成及び関連動作について説明する。制御演算部１０５は、ロボット姿勢補正部１０５ａと、ロボット制御部１０５ｂと、モータ制御指令部１０５ｃと、舵角制御指令部１０５ｄと、相対姿勢制御部１０５ｅと、を備えている。相対姿勢制御部１０５ｅは、先に説明したように、ロボットコントローラ１２０から供給される目標相対姿勢情報（ｄｘｒ，ｄｙｒ，ｄθｒ）と相対姿勢情報（ｄｘ，ｄｙ，ｄθ）から、その差が小さくなるように、ロボット補正部１０５ａに補正指令を出力する。ロボット補正部１０５ａは、ロボットコントローラ１２０の移動経路発生部１２１から与えられた目標姿勢情報（ｘ１ｒ，ｙ１ｒ，θ１ｒ）に、上記補正指令を追加して、補正目標姿勢情報（ｘ１ｒｃ，ｙ１ｒｃ，θ１ｒｃ）を算出し、ロボット制御部１０５ｂに出力する。なお、目標姿勢制御部１０５ｅは、移動モータ１０６の速度を所定値以内に制限するようにしながら相対姿勢を制御するようにしてもよい。
【００２６】
ロボット制御部１０５ｂは、補正目標姿勢情報と姿勢検出部１０３から得られた姿勢情報（ｘ１，ｙ１，θ１）とを基に、ロボット１００の本体を移動するための車輪速度指令ω１１ｒ、ω１２ｒ、ω１３ｒ、ω１４ｒ、さらに、ロボット本体の角度を変えるための舵角指令α１１ｒ、α１２ｒ、α１３ｒ、α１４ｒを制御演算する。先に述べたように、ロボット１００は四輪操舵システムになっているので、４つの車輪速度指令は同一の値であるとは限定されず、旋回方法、移動方法により、車輪の横すべりが小さくなるように算出される。同様に、ロボット制御部１０５ｂは、車輪が滑らないように最適な指令値を与えるように、４つの舵角指令を出力する。これらの指令を従って、モータ制御指令部１０５ｃは、４つの移動モータ１０６の制御演算を行い、車輪速度指令どおりに回転させる。同様に、舵角制御指令部１０５ｄは、４つの操舵モータ１０７の制御演算を行う。これにより、ロボット１００の姿勢は補正目標姿勢になる。
【００２７】
ロボット１１０では、ロボット１００の相対姿勢制御部１０５ｅで演算された結果に基づき、ロボット姿勢補正部１１５ａが、補正目標姿勢情報（ｘ２ｒｃ，ｙ２ｒｃ，θ２ｒｃ）を演算し、ロボット１００と同様に、ロボット１１０の本体を制御する。
【００２８】
以上のような演算を行うことにより、ロボット１００とロボット１１０は相対姿勢を目標相対姿勢に維持しながら、移動経路発生部の指示どおりの経路に従って移動できるので、２つのロボットで長尺物を安定して搬送することができる。
【００２９】
続いて、図３のフローチャートを用いて、目標姿勢制御及び相対姿勢制御の詳細について説明する。ここで、ロボット１００は姿勢検出部１０３によって、姿勢検出をある一定の周期で常に行っており、ロボット１００は現在の姿勢情報を任意のタイミングで参照することが可能である。
【００３０】
まず、説明の簡単のために、お互いの位置関係がずれることのない場合についてロボット１００の挙動について説明する。ロボットコントローラ１２０は、移動経路発生部１２０を用いて移動経路を生成し（ステップ１２００）、通信部１２２、１０１及び１１１を介してロボット１００及び１１０に目標姿勢情報を送信し、ロボット姿勢補正部１０５ａ及び１１５ａはその情報を受信する（ステップ１００１及び１１０１）。このとき、ロボット１００には目標相対姿勢も送信され、ロボット１００の相対姿勢制御部１０５ｅはその情報を受信する（ステップ１００７）。つまり、ロボット１００がロボット１１０とどのような姿勢（位置（距離）及び角度）を取るべきかの情報も与えられる。ここでは相対姿勢にずれがないとしたため、目標姿勢補正１００２では処理が行われない。
【００３１】
ロボット１００のロボット姿勢補正部１０５ａは、現在の姿勢情報（ｘ１，ｙ１，θ１）と受信した目標姿勢情報（ｘ１ｒ，ｙ１ｒ，θ１ｒ）を基に目標姿勢の補正値を算出する（ステップ１００２）。続いて、ロボット制御部１０５ｂは、ステップ１００２で求めた目標姿勢補正値を用いて、ロボットの姿勢を目標姿勢に近づけるためのロボット姿勢制御を行う（ステップ１００３）。つまり、上述のように、ロボット制御部１０５ｂは、車輪速度指令をモータ制御指令部１０５ｃに供給し、舵角指令を舵角制御指令部１０５ｄに供給する。
【００３２】
次に、制御部１０５は、移動後の姿勢（ｘ１，ｙ１，θ１）が目標姿勢に到達したかどうかの判定を行う（ステップ１００４）。到達していなければ、この姿勢情報を図２におけるロボット制御部１０５ｂ、相対姿勢検出部１０８および移動経路発生部１２１へフィードバックし（１００５）、目標姿勢補正処理（ステップ１００２）に戻りロボット姿勢制御処理（ステップ１００３）へ移行する。目標姿勢に到達していれば、この目標姿勢が最終目標姿勢であるかどうかの判定を行う（ステップ１００８）。最終目標姿勢に到達していれば、ロボットは停止する。到達していなければ移動経路発生処理（ステップ１２００）に戻り、新たな目標姿勢を受信する。ロボット１１０に関する動作も同様である。
【００３３】
続いて、目標相対姿勢と相対姿勢にずれの生じている場合について説明する。上述したように、ロボット１００の相対姿勢制御部１０５ｅは、移動経路発生部１２１から目標相対姿勢情報（ｄｘｒ，ｄｙｒ，ｄθｒ）を受信する（ステップ１００７）。次に、相対姿勢検出部１０８は、ロボット１００および１１０の相対姿勢ｄｘ、ｄｙ、ｄθを計算する（ステップ１００８）。
【００３４】
相対姿勢制御部１０５ｅは、目標相対姿勢情報（ｄｘｒ，ｄｙｒ，ｄθｒ）と相対姿勢情報（ｄｘ，ｄｙ，ｄθ）から、相対姿勢が目標値に近づくような補正指令をロボット姿勢制御部１０５ａ及び１１５ａに出力する（ステップ１００９）。ロボット姿勢補正部１０５ａは、この補正指令に基づいて目標姿勢情報（ｘ１ｒ，ｙ１ｒ，θ１ｒ）に修正を加え、補正目標姿勢情報（ｘ１ｒｃ，ｙ１ｒｃ，θ１ｒｃ）を算出する（ステップ１００２）。また、ロボット姿勢補正部１１５ａは、補正指令に基づいて、目標姿勢情報（ｘ２ｒ，ｙ２ｒ，θ２ｒ）に修正を加えて補正目標姿勢情報（ｘ２ｒｃ，ｙ２ｒｃ，θ２ｒｃ）を算出する。続く動作は、上述した通りである。
【００３５】
なお、相対姿勢が目標相対姿勢から許容範囲よりもずれた場合には、ロボット１００は停止信号を発信し、受信したロボット１１０を停止させる。同時に、ロボット１００も停止し、警告音発信部１０９から警告音を発信する構成とし、信頼性の向上を図っている。
【００３６】
＜動作状態の具体例＞
図４は、図１のシステムを用いてロボット１００、１１０を制御したときの動作状態を示した平面図である。図４（ａ）は、ロボット１００および１１０が壁２０２、２０３（細い実線で示されている）などの間の通路を移動している様子を示している。ロボット１１０は壁２０２や２０３との距離をレーザ距離センサ（外界センサ）１１２によって計測している。計測できる範囲２０４は、ロボット１１０に取り付けたレーザ距離センサ１１２の光源から直線的に観測できる部分であり、図４に太線で示している。なお、細い実線で示された壁部分は、レーザ距離センサ１０２及び１１２から死角になっている。
【００３７】
ロボット１１０の環境地図記憶部１１４には、予め壁２０２及び２０３や障害物の存在する状態を示す地図が記憶されている。姿勢検出部１１３は、観測範囲２０４の形状と地図の形状をマッチングすることでロボット１１０の姿勢情報（ｘ２，ｙ２，θ２）を得ている。また、先導するロボット１００についても姿勢情報（ｘ１，ｙ１，θ１）を同様の方法で得ている。図２で説明したように、これらの姿勢の情報から２台のロボットの相対姿勢を算出してフィードバック制御している。なお、このときのマッチングに使用する方法としてはIterative Closest Point（ＩＣＰ）法など、どんな方法を用いてもよい。
【００３８】
図４（ｂ）は、図４（ａ）の姿勢からロボット１００及び１１０が相対姿勢を保持したまま、通路の角を旋回しているときの状態を示す図である。この図からわかるように、旋回中のロボット１００の各車輪とロボット１１０の各車輪を、旋回中心２０７に対して、垂直となるように、舵角が制御される。これにより、横滑りすることなく、安定して、相対姿勢を保持して旋回することができる。なお、図４（ｂ）におけるロボット１００及び１１０の観測範囲２０４は図４（ａ）と異なっているが、当然のことながら、これはロボット１００及び１１０の姿勢（位置及び方向）が違うためである。しかしながら、図４（ａ）及び（ｂ）におけるロボット１１０は、いずれも、観測範囲２０４の中央に、ロボット１００の背面を観測し、距離データとして計測していることがわかる。
【００３９】
（２）第２の実施形態
第２の実施形態の移動ロボットシステムは、相対姿勢検出部をロボット１１０に配置した点で、第１の実施形態とは異なっている。
【００４０】
＜移動ロボットシステムの構成＞
図５は、本発明の第２の実施形態による移動ロボットシステムの概略構成であって、システムが２台のロボットで構成される場合のブロック図である。第２の実施形態による移動ロボットシステムは、第１の実施形態と同様に、システム全体の制御を実行するロボットコントローラ１２０と、ロボット１００及び１１０と、を備えている。
【００４１】
ロボットコントローラ１２０は、各ロボットの移動経路を発生する移動経路発生部１２１と、その演算結果を各ロボットに通信する通信部１２２と、を備え、ロボット１００に目標姿勢情報（ｘ１ｒ，ｙ１ｒ，θ１ｒ）を、ロボット１１０に目標姿勢情報（ｘ２ｒ，ｙ２ｒ，θ２ｒ）をそれぞれ出力している。ここで、ロボットの位置（ｘ，ｙ）と角度（方向）θをあわせて、姿勢とよぶ。また、ロボットコントローラ１２０は、さらに、ロボット１１０に目標相対姿勢情報（ｄｘｒ，ｄｙｒ，ｄθｒ）を出力する。なお、終点となる目標姿勢情報はユーザによってロボットコントローラ１２０に入力される。始点となるロボットの姿勢情報は分かる（ユーザが入力しても良い）ので、移動経路発生部１２１が取るべき経路中の位置及び角度を経時的な目標姿勢情報（例：複数のポイント情報）として各ロボットに与える。
【００４２】
ロボット１００は、ロボットコントローラ１２０や他のロボット１１０と通信を行う通信部１０１と、所定の範囲内にある物体との距離を計測する外界センサ１０２と、自ロボットの姿勢（位置及び角度）を検出する姿勢検出部１０３と、進路の形状や進路上に存在する物体等の情報を含む環境地図を保存する環境地図記憶部１０４と、目標姿勢に対してロボットの姿勢を制御するための制御演算を行う制御演算部１０５と、移動モータ（４輪の場合４つ）１０６と、操舵モータ１０７と、姿勢が目標姿勢から所定許容範囲よりずれた場合に警告を発する警告音発信部１０９と、を備えている。
【００４３】
ロボット１１０は、ロボットコントローラ１２０や他のロボット１００と通信を行う通信部１１１と、所定の範囲内にある物体との距離を計測する外界センサ１１２と、自ロボットの姿勢（位置及び角度）を検出する姿勢検出部１１３と、進路の形状や進路上に存在する物体等の情報を含む環境地図を保存する環境地図記憶部１１４と、姿勢制御等の制御演算を行う制御演算部１１５と、移動モータ（４輪の場合４つ）１１６と、操舵モータ１１７と、他のロボットとの相対姿勢を検出する相対姿勢検出部１１８と、相対姿勢が目標相対姿勢から所定許容範囲よりずれた場合や現時点での姿勢が目標姿勢から所定許容範囲よりずれた場合に、警告を発する警告音発信部１１９と、を備えている。なお、複数のロボットのうち、少なくとも１つがロボット１００のような構成を備えていなければならない。また、姿勢検出の方法は第１の実施形態と同様であるので、その詳細については第１の実施形態の説明を参照されたい。
【００４４】
＜目標姿勢制御及び相対姿勢制御の詳細動作＞
図６及び図７を用いて、目標姿勢制御及び相対姿勢制御動作の詳細について説明する。図５は、第２の実施形態による、ロボット１００及び１１０の内部の詳細構成を示すブロック図である。図６は、ロボット移動システムにおける制御動作を説明するためのフローチャートである。
【００４５】
まず、図５を用いて、ロボット１１０の制御演算部１１５及びロボット１００の制御演算部１０の詳細な構成及び関連動作について説明する。制御演算部１１５は、ロボット姿勢補正部１１５ａと、ロボット制御部１１５ｂと、モータ制御指令部１１５ｃと、舵角制御指令部１１５ｄと、相対姿勢制御部１１５ｅと、を備えている。相対姿勢制御部１１５ｅは、先に説明したように、ロボットコントローラ１２０から供給される目標相対姿勢情報（ｄｘｒ，ｄｙｒ，ｄθｒ）と相対姿勢情報（ロボット１００との距離の情報）から、その差が小さくなるように、ロボット補正部１１５ａに補正指令を出力する。ロボット補正部１１５ａは、ロボットコントローラ１２０の移動経路発生部１２１から与えられた目標姿勢情報（ｘ２ｒ，ｙ２ｒ，θ２ｒ）に、上記補正指令を追加して、補正目標姿勢情報（ｘ２ｒｃ，ｙ２ｒｃ，θ２ｒｃ）を算出し、ロボット制御部１１５ｂに出力する。
【００４６】
ロボット制御部１１５ｂは、補正目標姿勢情報と姿勢検出部１１３から得られた姿勢情報（ｘ２，ｙ２，θ２）とを基に、ロボット１１０の本体を移動するための車輪速度指令ω２１ｒ、ω２２ｒ、ω２３ｒ、ω２４ｒ、さらに、ロボット本体の角度を変えるための舵角指令α２１ｒ、α２２ｒ、α２３ｒ、α２４ｒを制御演算する。先に述べたように、ロボット１１０は四輪操舵システムになっているので、４つの車輪速度指令は同一の値であるとは限定されず、旋回方法、移動方法により、車輪の横すべりが小さくなるように算出される。同様に、ロボット制御部１１５ｂは、車輪が滑らないように最適な指令値を与えるように、４つの舵角指令を出力する。これらの指令を従って、モータ制御指令部１１５ｃは、４つの移動モータ１１６の制御演算を行い、車輪速度指令どおりに回転させる。同様に、舵角制御指令部１１５ｄは、４つの操舵モータ１１７の制御演算を行う。これにより、ロボット１１０の姿勢は補正目標姿勢になる。
【００４７】
ロボット１００では、ロボットコントローラ１２０から供給された目標姿勢情報（ｘ１ｒ，ｙ１ｒ，θ１ｒ）と現在の姿勢情報（ｘ１，ｙ１，θ１）に基づいて、ロボット制御部１０５ｂが、ロボット１１０と同様に、ロボット１１０の本体を制御する。つまり、ロボット１００は、ロボット１１０の姿勢に関しては気にせずに自ロボットの姿勢が目標値になるように制御しているだけである。
【００４８】
以上のような演算を行うことにより、ロボット１１０がロボット１００との相対姿勢（距離）を目標相対姿勢に維持しながら、移動経路発生部の指示どおりの経路に従って移動できるので、２つのロボットで長尺物を安定して搬送することができる。
【００４９】
続いて、図７のフローチャートを用いて、目標姿勢制御及び相対姿勢制御の詳細について説明する。ロボット１００に関しては図３（第１の実施形態）の位置ずれのない場合に対する説明と同様である。ロボット１１０についても位置ずれがない場合では、ロボット１００と同様である。図３と異なる点としては２点あり、位置ずれが生じた場合に相対姿勢を制御するための機能がロボット１００ではなくロボット１１０に備わっていること、相対姿勢の計算に距離データを使用していることである。
【００５０】
図７において、まず、ロボットコンとローラ１２０の移動距離経路発生部１２１が移動経路情報を生成し、目標姿勢情報をロボット１００及び１１０に、目標相対姿勢情報をロボット１１０に供給する（ステップ１２００）。相対姿勢制御部１１５ｅは、移動経路発生部１２１から目標相対姿勢情報（ｄｘｒ，ｄｙｒ，ｄθｒ）を受信する（ステップ２１０７）。そして、相対姿勢制御部１１５ｅは、ロボット１００との相対姿勢を計算する（ステップ２１０８）。図４の観測範囲２０４において説明したように、ロボット１１０が距離データとして、ロボット１００の背面までの距離と方向を計測している。このデータよりロボット１１０に対するロボット１００の相対姿勢情報（ｄｘ，ｄｙ，ｄθ）を計算し、ロボット姿勢制御部１１５ａに出力する（ステップ２１０９）。
【００５１】
次に、ロボット姿勢補正部１１５ａは、相対姿勢制御部から得た相対姿勢情報及び姿勢検出部１１３から得た姿勢情報に基づいて、入力された目標姿勢情報を補正し、補正目標姿勢情報（ｘ２ｒｃ，ｙ２ｒｃ，θ２ｒｃ）をロボット制御部１１５ｂに出力する（ステップ１１０２）。そして、ロボット制御部１１５ｂが、この補正姿勢目標情報に基づいて、車輪速度指令及び舵角指令をモータ制御指令部１１５ｃ及び舵角制御指令部１１５ｄにそれぞれ出力する（１１０３）。
【００５２】
以上のように、ロボット１１０内の相対姿勢制御部１１５ｅにおいては、相対姿勢検出部１１８で得られた相対姿勢を用いて、ロボット１００までの相対姿勢が目標相対姿勢（ｄｘｒ，ｄｙｒ，ｄθｒ）になるように、ロボット姿勢補正部１１５ａに補正指令を出力している。これにより、ロボット１１０の姿勢を補正し、ロボット１００とロボット１１０の相対姿勢をフィードバック制御している。本実施形態によれば、ロボット相互の通信量を少なくしながら、ロボット１１０のレーザ距離センサ１１２だけを用いて、より高速にフィードバック制御を行うことができる。そのため、本実施例は、より精度良く安定して相対姿勢を保持できる特徴がある。
【００５３】
（３）舵角制御方法
以下、４輪操舵の舵角制御方法について説明する。なお、この舵角制御については、第１及び第２の実施形態において共通のものである。
【００５４】
図８は、より具体的な４輪操舵の舵角制御方法を示した図である。時刻ｔ１において、ロボット１００とロボット１１０が、相対姿勢を保持しながら旋回している状態を実線で示している。
【００５５】
図８では、旋回中心３０９に対して移動ロボット１１０の中心点３０２が半径Ｓの円周上にあり、移動ロボット１００の中心点３０４が半径Ｒの円周上にある。移動ロボット１００（ｔ１）の車輪３１１（１）〜（４）と移動ロボット１１０（ｔ１）の車輪３１０（１）〜（４）は旋回中心３１１からの垂線に対して直角となるように舵角を切っている。これにより、移動ロボット１００（ｔ１）は移動ロボット１００（ｔ２）の位置へ、移動ロボット１１０（ｔ１）は移動ロボット１１０（ｔ２）の位置へと、舵角を固定したまま移動することが可能である。このとき移動ロボット１００の移動速度ｖ１と移動ロボット１１０の移動速度ｖ２の関係を（式１）のように制御する。
【００５６】
ｖ１×Ｒ＝ｖ２×Ｓ  ・・・（式１）
【００５７】
これにより複雑な制御を必要とせず、また、２台のロボットの相対姿勢を変化させずに旋回することができる。また、各実施形態では簡単のため２台の移動ロボットによって説明を行ったが、複数台の場合においても、旋回中心３０９からの垂線に対して舵角を直角とし、速度の関係を（式１）となるように制御することで同様の効果を得られることは明らかである。
【００５８】
図９は、移動ロボット１００が移動経路４００上を通過しながら移動ロボット１１０と強調して長尺物４０５を搬送している様子を示している。まず、移動ロボット１００が旋回開始点４０１まで移動経路４００上を直進する。次に旋回中心３０９に対して、図４において説明したように舵角を切り、２台のロボットの移動速度を（式１）として旋回を始める。旋回を行っている際に舵角を変化させる必要はない。また、図９の例では移動経路上の旋回を行う部分は９０°旋回するための経路であるが、旋回角度が９０°以外の任意の角度でもスムーズに曲がれることは明らかである。このように曲がることによって、舵角を図８と同様に制御することができる。
【００５９】
図１０は、図９と同様に、移動ロボット１００と移動ロボット１１０が長尺物５０４を搬送している様子を示している。このとき移動経路５０５上を通過する点を長尺物５０４上の点５０１が搬送経路５０５に接するように移動するように制御する。これにより、移動ロボット１００と移動ロボット１１０の旋回速度を近づけることができる。特に、２台のロボットを結ぶ直線上の中心点を旋回中心とすれば、２台のロボットの移動速度は等しくなり、より簡単に旋回を行うことが可能となる。２台のロボットを結ぶ直線とこの直線に直交する旋回中心３０９からの垂線上の点が円弧上を通過するように制御しても同様の結果を得ることができる。
【００６０】
図１１は、移動ロボット１００と移動ロボット１１０が長尺物６０１を移動経路６０４に従って移動している様子を示している。図１１においては、旋回中心が搬送物上にあることが図９及び１０と異なる点である。移動ロボット１００と移動ロボット１１０は旋回中心３０９に到達するまで直進を行い、旋回中心に到達後旋回を行う。この場合でも図１０の説明と同様に２台のロボットを結ぶ直線を２等分する点を旋回中心とすれば移動ロボット１００と移動ロボット１１０の旋回速度は等しくなり、簡単な制御でロボットの進行方向を変更することが可能となる。
【００６１】
図１２は、旋回中心７０３が移動ロボット１００の下にある場合の説明図である。図４の場合と同様に移動ロボット１００および１１０の舵角は、旋回中心７０３からの垂線に対して直角となる方向を向いている。
【００６２】
図１３は、４台の移動ロボット８０１〜８０４が協調して大きい物体８０９を搭載し、旋回している様子を示している。これらの移動ロボットのうちで特に移動ロボット８０４は搬送物の重心近くに配置されており、搬送物の重量によって、搬送物が変形してしまうことを防ぐ役割を担っている。また、旋回中心８０５は移動ロボット８０４上にあるが、これも図１２で説明したように舵角を制御することで、簡単に旋回することができる。旋回する際に、旋回中心８０５から最も遠くはなれている移動ロボット８０１の移動速度が相対的に最も速くなるが、移動ロボット８０１の速度を基準として（式１）の関係を用いて他の移動ロボットの旋回速度を決定する。これにより、スリップの少ない安定した旋回を行うことが可能となる。
【００６３】
（４）その他
以上説明したように実施形態からも分かるように、本発明は変形した搬送物やロボットに対してより巨大な搬送物を搬送する場合にも適用できる。実施形態では、隊列を組むロボットの台数は２台、４台とした場合について説明したが、台数を限定するものではなく、より多くの台数の隊列や奇数の台数の場合にも適用できることは言うまでもない。
【００６４】
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００６５】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【００６６】
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ-ＲＷ、ＣＤ-Ｒ等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はＣＰＵやＭＰＵ)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【図面の簡単な説明】
【００６７】
【図１】第１の実施形態によるシステム構成図（２台のロボットを用いた場合）である。
【図２】第１の実施携帯の制御を実現するための詳細な制御ブロック図である。
【図３】第１の実施形態の動作を説明するためのフローチャートである。
【図４】第１の実施携帯のロボットが動作している状態を示した平面図である。
【図５】第２の実施形態によりシステム構成図（２台のロボットを用いた場合）である。
【図６】１つのロボットだけで相対姿勢を検出する制御を実現するための詳細な制御ブロック図である。
【図７】第２の実施形態の動作を説明するためのフローチャートである。
【図８】ロボットが円弧上を旋回するときの旋回中心と舵角の関係を示した平面図である。
【図９】長尺物協調搬送中、方向転換する際に図８で示す旋回方法によって方向転換する１形態を示した平面図である。
【図１０】長尺物協調搬送中、方向転換する際に図８で示す旋回方法によって方向転換する１形態を示した平面図である。
【図１１】長尺物協調搬送中、方向転換する際に図８で示す旋回方法によって方向転換する１形態を示した平面図である。
【図１２】ロボットの下に旋回中心がある場合における、旋回中心と舵角の関係を示した平面図である。
【図１３】４台のロボットが大物を協調搬送する際の旋回方法と各ロボットの速度の関係を示した平面図である。
【符号の説明】
【００６８】
１００、１１０：ロボット
１０１、１１１：通信部
１０２、１１２：センサ
１０３、１１３：姿勢検出部
１０４、１１４：環境地図記憶部
１０５、１１５：制御演算部
１０６、１１６：移動モータ
１０７、１１７：操舵モータ
１０８：相対姿勢検出部
１０９、１１９：警告発生部
１２０：ロボットコントローラ
１２１：移動経路発生部
【図１】
2010055415.tif 000003
【図２】
2010055415.tif 000004
【図３】
2010055415.tif 000005
【図４】
2010055415.tif 000006
【図５】
2010055415.tif 000007
【図６】
2010055415.tif 000008
【図７】
2010055415.tif 000009
【図８】
2010055415.tif 000010
【図９】
2010055415.tif 000011
【図１０】
2010055415.tif 000012
【図１１】
2010055415.tif 000013
【図１２】
2010055415.tif 000014
【図１３】
2010055415.tif 000015