(57)【特許請求の範囲】
【請求項１】
自走可能な走行体と、
指標部を有し、前記走行体により牽引される台車と、
カメラまたはレーザセンサを含み、前記走行体の走行時に、前記走行体に対する前記指標部の位置情報を取得する取得部と、
前記取得部において取得される前記指標部の位置情報の変化に基づいて、前記走行体の走行を制御する走行制御部とを備え、
前記取得部は、前記走行体の試走時に、前記走行体に対する前記指標部の位置情報をさらに取得し、前記試走は、前記台車の荷物の積載状態を一定または当該荷物が積載されていない状態で行なわれ、
前記走行制御部は、前記試走時において前記取得部によって取得される前記指標部の位置情報の変化に基づいて前記走行体の実運用時の走行条件を設定し、かつ、前記走行体の実運用時に前記走行条件を満たすように前記走行体の走行を制御する、走行システム。
【請求項２】
前記指標部の位置情報は、前記走行体の直線走行時に取得される第１位置情報と、前記走行体の曲線走行時に取得される第２位置情報とを含み、
前記走行制御部は、前記走行体の曲線走行時、前記第１位置情報を基準とする前記第２位置情報の変化量が予め定められた閾値を超えた場合に、前記走行体の走行を制御する、請求項１に記載の走行システム。
【請求項３】
前記走行制御部は、前記走行体の走行を、前記走行体の停止、前記走行体の減速、および、前記走行体の曲線走行における曲率の減少のいずれかに制御する、請求項２に記載の走行システム。
【請求項４】
前記台車は、頂部と、車輪部とを含み、
前記指標部は、上下方向において、前記車輪部よりも前記頂部寄りの位置に設けられる、請求項２または３に記載の走行システム。
【請求項５】
前記指標部の位置情報は、前記走行体が床面の段差を越える前に取得される第３位置情報と、前記走行体が床面の段差を越えた後に取得される第４位置情報とを含み、
前記走行制御部は、前記走行体の走行時、前記第３位置情報を基準とする前記第４位置情報の変化量が予め定められた閾値を超えた場合に、前記走行体の走行を制御する、請求項１から４のいずれか１項に記載の走行システム。
【請求項６】
前記走行制御部は、前記走行体が停止するように、前記走行体の走行を制御する、請求項５に記載の走行システム。
【請求項７】
前記指標部は、前記台車に付された特定の図形であり、
前記取得部は、前記カメラを含み、前記カメラにより撮像された前記図形の画像を取得することにより、前記指標部の位置情報を取得する、請求項１から６のいずれか１項に記載の走行システム。
【請求項８】
自走可能な走行体と、
指標部を有し、前記走行体により牽引される被牽引体と、
カメラまたはレーザセンサを含み、前記走行体の試走時に、前記走行体に対する前記指標部の位置情報を取得する取得部と、
前記取得部において取得される前記指標部の位置情報の変化に基づいて、前記走行体の走行条件を設定し、かつ、前記走行体の実運用時に前記走行条件を満たすように前記走行体の走行を制御する走行制御部とを備える、走行システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、走行システムに関する。
【背景技術】
【０００２】
工場などの生産システムにおいて、無人化が望まれている。無人化を実現するために、自走装置の開発が進められている。自走装置は、加工前のワークや工具などを各工作機械に搬送したり、各工作機械で加工が完了したワークや使用済の工具などを回収するために利用される。
【０００３】
自走装置としては、たとえば、床の磁気テープ等のトラックに従って移動する無人搬送車（ＡＧＶ：Automated  Guided  Vehicle）が知られている。また、近年、人や障害物を自動的に回避し自律走行する自律走行搬送ロボット（ＡＭＲ：Autonomous  Mobile  Robot）も開発されている。このような自律走行搬送ロボットは、マップを元に自動で走行ルートを算出する。たとえば、ブラウザが搭載された情報機器（パーソナルコンピュータ、タブレット、スマートフォン等）によって自律走行搬送ロボットを遠隔制御することにより、マップが生成される。
【０００４】
特開２０１９−８３５９号公報（特許文献１）には、自走装置として、投射光を出射する投光部を回転駆動させ、前記投射光が計測対象物で反射した反射光の受光に基づいて距離測定データを出力する距離測定装置と、距離測定データに基づいてマップ情報を作成するマップ作成部と、障害物を検知する障害物センサとを備える移動装置が開示されている。特許第６７７９３９８号公報（特許文献２）には、オムニホイールを備える自走装置が開示されている。特開２０２１−６３５９号公報（特許文献３）には、走行台車部とロボットアームとを備える自走装置が開示されている。
【０００５】
特開２０２１―７７０５４号公報（特許文献４）には、工作機械の周辺に配設される周辺装置と、周辺装置に係合して搬送する自走装置としての無人搬送車とが開示されている。周辺装置として、材料ストッカと、製品ストッカと、測定器およびチャックストッカとが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１９−８３５９号公報
【特許文献２】特許第６７７９３９８号公報
【特許文献３】特開２０２１−６３５９号公報
【特許文献４】特開２０２１―７７０５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
自走装置が台車等の被牽引体を牽引する自走システムにおいては、走行時に被牽引体が姿勢を崩すと、被牽引体が転倒する可能性もある。たとえば、曲線走行時に被牽引体が進行方向に向かって左右方向に大きく傾くと、被牽引体が横転する可能性がある。また、被牽引体が台車である場合、被牽引体が姿勢を崩すと、被牽引体が横転まではしなくても、被牽引体に積載した積載物が落下または転倒するおそれがある。このため、被牽引体の姿勢を保つように、自走装置（牽引体）を走行させる必要がある。
【０００８】
被牽引体の姿勢を保つために、たとえば、被牽引体に、慣性計測装置（ＩＭＵ：Inertial  Measurement  Unit）を設置することが考えられる。この場合、被牽引体は、慣性計測装置によって被牽引体の姿勢を検知し、かつ、検知結果を無線通信等で自走装置に通知する。自走装置は、検知結果に基づき、走行速度等の走行条件を変化させる。
【０００９】
しかしながら、慣性計測装置等の姿勢を検知する機器は、一般的には高価である。また、工場等の作業場では、数多くの被牽引体が利用される。それゆえ、被牽引体に慣性計測装置等の高価な機器を設置することは、コスト面からは得策とは言えない。
【００１０】
本開示は、上記の問題点に鑑みなされたものであって、その目的は、低コストで被牽引体の姿勢を保つことが可能な自走システムを提供することにある。
【課題を解決するための手段】
【００１１】
本開示のある局面に従うと、走行システムは、自走可能な走行体と、指標部を有し、走行体により牽引される被牽引体と、カメラまたはレーザセンサを含み、走行体の走行時に、走行体に対する指標部の位置情報を取得する取得部と、取得部において取得される指標部の位置情報の変化に基づいて、走行体の走行を制御する走行制御部とを備える。
【００１２】
このような構成によれば、取得部において取得される指標部の位置情報の変化に基づいて、走行体の走行を制御することによって、被牽引体の姿勢を保つことができる。たとえば、被牽引体の横転等を防止できる。この場合に、取得部にカメラまたはレーザセンサが利用されるため、慣性計測装置等の機器を用いる場合に比べて、低コストを実現することができる。
【００１３】
好ましくは、指標部の位置情報は、走行体の直線走行時に取得される第１位置情報と、走行体の曲線走行時に取得される第２位置情報とを含む。走行制御部は、走行体の曲線走行時、第１位置情報を基準とする第２位置情報の変化量が予め定められた閾値を超えた場合に、走行体の走行を制御する。このような構成によれば、走行体の曲線走行時に被牽引体が横転することを防止できる。
【００１４】
好ましくは、走行制御部は、走行体の走行を、走行体の停止、走行体の減速、および、走行体の曲線走行における曲率の減少のいずれかに制御する。このような構成によれば、走行体を停止させたり、減速させたり、曲線走行時における曲率を減少させたりすることによって、曲線走行時に被牽引体が横転することを防止できる。
【００１５】
好ましくは、被牽引体は、頂部と、車輪部とを含む。指標部は、上下方向において、車輪部よりも頂部寄りの位置に設けられる。このような構成によれば、走行体の曲率走行時、指標部の挙動がより大きくなるため、制御装置が、指標部の位置情報の変化を認識しやすくなる。
【００１６】
好ましくは、指標部の位置情報は、走行体が床面の段差を越える前に取得される第３位置情報と、走行体が床面の段差を越えた後に取得される第４位置情報とを含む。走行制御部は、走行体の走行時、第３位置情報を基準とする第４位置情報の変化量が予め定められた閾値を超えた場合に、走行体の走行を制御する。このような構成によれば、床面に段差があった場合に、被牽引体が横転することを防止できる。
【００１７】
好ましくは、走行制御部は、走行体が停止するように、走行体の走行を制御する。このような構成によれば、走行体を停止させることによって、床面に段差があった場合に、被牽引体が横転することを防止できる。
【００１８】
好ましくは、指標部は、被牽引体に付された特定の図形である。取得部は、カメラを含み、カメラにより撮像された図形の画像を取得することにより、指標部の位置情報を取得する。このような構成によれば、自走装置は、被牽引体に付された図形を用いて、被牽引体の姿勢を保つことができる。
【００１９】
好ましくは、被牽引体は、台車である。このように被牽引体が台車である場合、走行体により牽引する台車の種類が様々であったり、台車に積載する荷物の数および重量、荷物の積載位置が異なっていたりして、被牽引体の横転が生じる走行体の走行条件が都度変わる。このため、取得部において取得される指標部の位置情報の変化に基づいて、走行体の走行を制御することによって、被牽引体の横転を的確に防ぐことが可能となる。
【００２０】
好ましくは、取得部は、走行体の試走時に、走行体に対する指標部の位置情報をさらに取得する。試走は、台車の荷物の積載状態を一定または当該荷物が積載されていない状態で行なわれる。走行制御部は、試走時において取得部によって取得される指標部の位置情報の変化に基づいて走行体の実運用時の走行条件を設定し、かつ、走行体の実運用時に走行条件を満たすように走行体の走行を制御する。
【００２１】
このような構成によれば、走行体を試走させることによって、台車の積載状態が特定の状態にあるときに、台車が横転することのない走行条件を設定できる。実運用時において、当該走行条件を満たすように走行体の走行を制御し、かつ、取得部において取得される指標部の位置情報の変化に基づいて、走行体の走行を制御することによって、走行条件を予め設定しない場合に比べて、被牽引体の姿勢をより安定して保つことができる。
【００２２】
本開示の他の局面に従うと、走行システムは、自走可能な走行体と、指標部を有し、走行体により牽引される被牽引体と、カメラまたはレーザセンサを含み、走行体の試走時に、走行体に対する指標部の位置情報を取得する取得部と、取得部において取得される指標部の位置情報の変化に基づいて、走行体の走行条件を設定し、かつ、走行体の実運用時に走行条件を満たすように走行体の走行を制御する走行制御部とを備える。
【００２３】
このような構成によれば、走行体を試走させることによって、被牽引体が横転することのない走行条件を設定できる。当該走行条件を満たすように走行体の走行を制御することにより、走行体の走行時に、被牽引体の姿勢を保つことが可能となる。
【発明の効果】
【００２４】
本開示によれば、走行時において、低コストで被牽引体の姿勢を保つことが可能となる。
【図面の簡単な説明】
【００２５】
【図１】走行システムの側面図である。
【図２】走行システムの上面図である。
【図３】走行本体部を示す上面図である。
【図４】自走装置の動作制御に関する装置構成を示す図である。
【図５】図２のｖ-ｖ線矢視断面図である。
【図６】自走装置の機能的構成を説明するための機能ブロック図である。
【図７】自走装置が左旋回し始めたときの走行システムの上面図である。
【図８】図７のｉｘ−ｉｘ線矢視断面図である。
【図９】左旋回時を開始する直前と直後とに得られる画像データを説明するための模式図である。
【図１０】自走装置が段差を乗り越えた直後の走行システムの側面図である。
【図１１】自走装置が段差を乗り越える前と、乗り越えた直後とに得られる画像データを説明するための模式図である。
【図１２】自走装置で実行される処理の流れを説明するためのフロー図である。
【図１３】他の形態の台車を示した図である。
【図１４】走行システムを試走によって生成された走行条件を説明するための図である。
【発明を実施するための形態】
【００２６】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
【００２７】
また、以下では、自律走行搬送ロボット（ＡＭＲ：Autonomous  Mobile  Robot）に、ロボットアームが組み合わされた自走装置を例に挙げて説明する。ロボットアームは、たとえば、協働ロボットである。なお、自走装置は、自律走行搬送ロボットの代わりに、無人搬送車（ＡＧＶ：Automated  Guided  Vehicle）にロボットアームが組み合わされていてもよい。
【００２８】
また、自走装置は、自走可能な走行体を備えていればよく、ロボットアームを備えていなくてもよい。すなわち、自走装置は、単に、自律走行搬送ロボットまたは無人搬送車であってもよい。
【００２９】
また、以下では、自走装置に牽引される被牽引体の例として、台車を例に挙げて説明する。ただし、被牽引体は、台車に限定されず、車輪が付いた移動可能な周辺機器（たとえば、バッテリ駆動するバリ取り用の機械）であってもよい。
【００３０】
［実施の形態１］
＜Ａ．走行システムの概略構成＞
図１は、本実施の形態の走行システム１の側面図である。図２は、走行システム１の上面図である。
【００３１】
図１、図２および後出の図面には、前方、後方、右方、左方、上方および下方の６方向が適宜示されている。前方および後方は、自走装置１００が直進走行する場合の進行方向であり、互いに反対方向である。右方は、自走装置１００から前方を見た場合の右手方向である。左方は、自走装置１００から前方を見た場合の左手方向であり、右方の反対方向である。上方は、自走装置１００から見て空側であり、下方は、自走装置１００が走行する床面側である。
【００３２】
なお、本実施の形態では、後述するトレイ６６に対してロボットアーム１１が位置する方向を前方といい、その反対方向を後方というが、いずれの方向を前方といい、いずれの方向を後方というかは、特に限定されない。
【００３３】
図１および図２に示されるように、走行システム１は、自走装置１００と、被牽引体としての台車２００とを備える。自走装置１００と、台車２００とは、連結部４５で連結されている。台車２００は、自走装置１００により牽引される。台車２００は、典型的には、たとえば、材料ストッカ、製品ストッカ、測定器ストッカ、または、チャックストッカである。
【００３４】
自走装置１００は、図示しないサーバと双方向通信をする。当該通信は、たとえば、無線ＬＡＮ（Local  Area  Network）により実現される。あるいは、上記の通信は、移動体用の無線システムにより実現される。移動体用の無線システムとして、たとえば、第４世代通信システム（４Ｇ）、第５世代通信システム（５Ｇ）を用いることができる。
【００３５】
図１に示されるように、自走装置１００は、走行体６１と、ロボットアーム１１と、カメラ３５と、連結部４５ｂとを有する。走行体６１は、モータを用いた車輪駆動により走行可能（自走可能）に構成されている。ロボットアーム１１は、走行体６１に搭載されている。ロボットアーム１１の先端部には、エンドエフェクタ４０が装着されている。エンドエフェクタ４０は、ロボットアーム１１の先端に着脱可能に取り付けられ、対象物に対して作業を行なう。本例では、ロボットアーム１１には、エンドエフェクタ４０として、把持ハンドが接続される。自走装置１００は、エンドエフェクタ４０により、搬送対象物を把持可能に構成されている。
【００３６】
走行体６１は、走行本体部６２と、カバー部６３とを有する。カバー部６３は、走行本体部６２上に設けられている。カバー部６３は、走行本体部６２上に内部空間を形成するカバー体からなり、その内部には、ロボットアーム１１の駆動用モータ、自走装置１００の動力源として設けられるバッテリ、または、自走装置１００を制御するための各種制御部品などが収容されている。なお、走行本体部６２の構造については、後に詳しく説明する。
【００３７】
カバー部６３は、頂面６５を有する。頂面６５上には、搬送対象物を載置するためのトレイ６６が設けられている。ロボットアーム１１は、頂面６５に接続されている。ロボットアーム１１は、頂面６５から上方に向けて延出している。走行体６１に対するロボットアーム１１の接続位置は、トレイ６６と前後方向に並んでいる。
【００３８】
ロボットアーム１１は、基台部１２と、アーム部１３とを有する。基台部１２は、走行体６１に対して回転可能に接続されている。アーム部１３は、基台部１２に対して接続されている。アーム部１３は、基台部１２からアーム状に延びている。
【００３９】
ロボットアーム１１は、プログラム制御型ロボットである。ロボットアーム１１は、本例では、垂直多関節型ロボットである。詳しくは、本例では、ロボットアーム１１は、６自由度（６つの可動部）を有する６軸ロボットである。なお、６軸が制御可能なロボットアーム１１の代わりに、走行体６１に６軸以外の多軸制御可能なロボットアームが搭載されてもよい。
【００４０】
台車２００は、本体部２０５と、複数の車輪２２０とを備える。詳しくは、台車２００は、右側前輪２２０Ｒｆと、左側前輪２２０Ｌｆ（図３参照）と、右側後輪２２０Ｒｂと、左側前輪（図示せず）とを備える。
【００４１】
台車２００は、連結部４５ａをさらに備える。自走装置１００と台車２００とは、連結部４５を構成する連結部４５ａと連結部４５ｂとで、互いに連結される。
【００４２】
図２に示されるように、台車２００の本体部２０５は、収容部２１０と、複数の側壁部２５１とを備える。複数の側壁部２５１により収容部２１０が形成されている。詳しくは、台車２００は、前側の側壁部２５１Ｆと、後側の側壁部２５１Ｂと、右側の側壁部２５１Ｒと、左側の側壁部２５１Ｌとを備える。本例では、各側壁部２５１の頂部２１１は、平らな形状となっている。各側壁部２５１によって、台車２００の大きな傾き等により台車２００に積載された荷物（積載物）が落下してしまうことを防いでいる。
【００４３】
図１および図２に示されるように、カメラ３５は、走行体６１に設置されている。カメラ３５は、自走装置１００の後方を撮像可能に設置されている。詳しくは、カメラ３５は、台車２００を撮像可能な位置に設置されている。より詳しくは、カメラ３５は、台車２００の前側の側壁部２５１Ｆを撮像可能な位置に設置されている。
【００４４】
本例のように、自走装置１００が台車２００と連結されている場合には、カメラ３５は、側壁部２５１Ｆの少なくとも一部を含む領域を撮像する。図２の状態では、カメラ３５の光軸Ｊと、側壁部２５１Ｆとが略直交している。
【００４５】
カメラ３５は、本例では、典型的には、デジタルカメラである。カメラ３５は、少なくとも動画像を撮像可能である。なお、カメラ３５の設置位置は、図示した位置に限定されるものではない。台車２００に貼り付けられた後述する指標部３００が撮像可能な位置であれば、特に限定されるものではない。
【００４６】
＜Ｂ．自走装置の走行本体部＞
図３は、走行本体部６２を示す上面図である。
【００４７】
図３に示されるように、走行本体部６２は、第１駆動輪７１と、第１走行用モータ７７と、第２駆動輪７２と、第２走行用モータ７８と、複数の従動輪５１（５１Ｒｆ，５１Ｌｆ，５１Ｒｂ，５１Ｌｂ）とを有する。従動輪５１は、オムニホイールからなる。従動輪５１は、ホイール５６と、複数のローラ６０とを有する。
【００４８】
走行本体部６２は、第１車軸７３と、第２車軸７４と、減速機７５と、減速機７６とを有する。第１走行用モータ７７は、減速機７５を介して第１駆動輪７１に接続されている。第２走行用モータ７８は、減速機７６を介して第２駆動輪７２に接続されている。
【００４９】
走行本体部６２は、フレーム８６と、第１支持アーム９３と、第２支持アーム９４と、第１支持軸９１と、第２支持軸９２と、第３支持アーム８８と、第３支持軸８７とをさらに有する。
【００５０】
走行本体部６２は、第３車軸９６と、第４車軸９７と、第５車軸９８と、第６車軸９９とをさらに有する。従動輪５１Ｒｆは、第３車軸９６を介して、第１支持アーム９３に接続されている。従動輪５１Ｌｆは、第４車軸９７を介して、第２支持アーム９４に接続されている。従動輪５１Ｒｂは、第５車軸９８を介して、第３支持アーム８８に接続されている。従動輪５１Ｌｂは、第６車軸９９を介して、第３支持アーム８８に接続されている。本例では、連結部４５ｂは、フレーム８６に接続されている。
【００５１】
このような走行本体部６２のハードウェア構成は公知であるため、ここでは、当該構成についての詳細な説明は繰り返さない。以下、走行本体部６２による走行体６１の移動方向について、説明する。
【００５２】
走行体６１は、第１駆動輪７１および第２駆動輪７２に対して、互いに同じ回転が付与されることによって、前後方向に直進し、第１駆動輪７１および第２駆動輪７２に対して、互いに異なる回転が付与されることによって、左右方向に旋回動作する（差動２輪駆動方式）。第１駆動輪７１、第２駆動輪７２および従動輪５１は、左右に操舵不可である。
【００５３】
より具体的には、走行体６１は、第１駆動輪７１および第２駆動輪７２を、互いに等しい回転数で、かつ、正転させることによって、前方に直進する（前進）。走行体６１は、第１駆動輪７１および第２駆動輪７２を、互いに等しい回転数で、かつ、反転させることによって、後方に直進する（後進）。
【００５４】
走行体６１は、第２駆動輪７２を正転させ、第１駆動輪７１を第２駆動輪７２よりも大きい回転数で正転させることによって、左方に旋回動作する（左旋回）。走行体６１は、第１駆動輪７１を正転させ、第２駆動輪７２を第１駆動輪７１よりも大きい回転数で正転させることによって、右方に旋回動作する（右旋回）。
【００５５】
走行体６１は、第１駆動輪７１を正転させ、第２駆動輪７２を第１駆動輪７１と同じ回転数で反転させることによって、回転動作する（左回転）。上面視における走行体６１の回転中心は、理想的には、第１軸１２１および第２軸１２２の軸上であって、第１駆動輪７１および第２駆動輪７２の中心位置に対応している。
【００５６】
なお、第１駆動輪７１を反転させ、第２駆動輪７２を第１駆動輪７１と同じ回転数で正転させた場合には、走行体６１の回転動作の方向が上記の場合と逆転する（右回転）。本発明における「旋回動作」は、上記の右旋回、左旋回、および、回転（左回転、右回転）の動作を含む。
【００５７】
＜Ｃ．動作制御に関する装置構成＞
図４は、自走装置１００の動作制御に関する装置構成を示す図である。
【００５８】
図４に示されるように、自走装置１００は、制御装置５０１と、ＲＯＭ（Read  Only  Memory）５０２と、ＲＡＭ（Random  Access  Memory）５０３と、通信インターフェイス５０４と、レーザセンサ５０５と、モータ駆動装置５０６と、記憶装置５１０と、ロボットアーム１１と、アンテナ３１と、カメラ３５とを有する。これらのコンポーネントは、バス５０９に接続されている。
【００５９】
制御装置５０１は、たとえば、少なくとも１つの集積回路によって構成されている。集積回路は、たとえば、少なくとも１つのＣＰＵ（Central  Processing  Unit）、少なくとも１つのＧＰＵ（Graphics  Processing  Unit）、少なくとも１つのＡＳＩＣ（Application  Specific  Integrated  Circuit）、少なくとも１つのＦＰＧＡ（Field  Programmable  Gate  Array）、または、それらの組み合わせなどによって構成され得る。一例として、制御装置５０１は、ＰＬＣ（Programmable  Logic  Controller）である。
【００６０】
制御装置５０１は、制御プログラム５１１またはオペレーティングシステムなどの各種プログラムを実行することによって、自走装置１００の動作を制御する。制御装置５０１は、制御プログラム５１１の実行命令を受け付けたことに基づいて、記憶装置５１０またはＲＯＭ５０２からＲＡＭ５０３に制御プログラム５１１を読み出す。ＲＡＭ５０３は、ワーキングメモリとして機能し、制御プログラム５１１の実行に必要な各種データを一時的に格納する。
【００６１】
制御装置５０１は、走行体６１の走行制御を行なう。制御装置５０１は、ロボットアーム１１の動作を制御する。すなわち、制御装置５０１は、ロボットコントローラとしても機能する。なお、自走装置１００は、走行体６１の走行を制御する制御装置と、ロボットアーム１１の動作を制御する制御装置とを、別体として備えてもよい。
【００６２】
通信インターフェイス５０４には、アンテナ３１などが接続されている。自走装置１００は、アンテナ３１および通信インターフェイス５０４を介して、自走装置１００および外部機器（たとえば、サーバ）の間の無線通信を実現する。
【００６３】
レーザセンサ５０５は、図１のカバー部６３に収容されている。レーザセンサ５０５は、自ら回転しながらレーザ光を周囲に照射し、当該レーザ光の反射光を受光することによって、レーザセンサ５０５の周囲にある物体を検出する。レーザセンサ５０５は、レーザセンサ５０５からレーザ光の走査面内に存在する物体までの距離を、レーザセンサ５０５の回転軸周りの角度別に表わした２次元距離データＤとして、制御装置５０１に出力する。レーザセンサ５０５の走査面は、水平面に対して傾いている。そのため、自走装置１００は、移動することで周囲を３次元的にスキャンすることができる。
【００６４】
モータ駆動装置５０６は、制御装置５０１からのモータ駆動指令に従って、第１走行用モータ７７および第２走行用モータ７８の回転を制御する。モータ駆動指令は、たとえば、第１走行用モータ７７および第２走行用モータ７８の正転指令、第１走行用モータ７７および第２走行用モータ７８の逆転指令、ならびに、第１走行用モータ７７および第２走行用モータ７８の回転数（回転速度）を含む。
【００６５】
記憶装置５１０は、たとえば、ハードディスクまたはフラッシュメモリなどの記憶媒体である。記憶装置５１０は、自走装置１００の動作制御するための制御プログラム５１１、走行エリアの３次元マップ５１２などを格納する。詳しくは、制御プログラム５１１は、走行体６１の走行を制御するためのプログラムと、ロボットアーム１１の動作を制御するプログラムとを含む。なお、制御プログラム５１１および３次元マップ５１２は、記憶装置５１０に限定されず、制御装置５０１の記憶領域（たとえば、キャッシュメモリなど）、ＲＯＭ５０２、ＲＡＭ５０３、または、外部機器（たとえば、サーバー）などに格納されてもよい。
【００６６】
また、制御プログラム５１１は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、制御プログラム５１１による走行体６１の走行制御処理およびロボットアーム１１の動作制御処理は、任意のプログラムと協働して実現される。
【００６７】
このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う制御プログラム５１１の趣旨を逸脱するものではない。さらに、制御プログラム５１１によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも１つのサーバが制御プログラム５１１の処理の一部を実行する所謂クラウドサービスのような形態で、自走装置１００が構成されてもよい。
【００６８】
＜Ｄ．台車の指標部＞
図５は、図２のｖ-ｖ線矢視断面図である。
【００６９】
図５に示されるように、指標部３００は、台車２００に付されている。指標部３００は、台車２００の側壁部２５１Ｆに付されている。指標部３００は、上下方向において、台車２００の車輪２２０よりも頂部２１１に付されている。指標部３００は、検出精度の観点から、平らな面に付されることがこのましい。
【００７０】
たとえば、指標部３００は、側壁部２５１Ｆに直に貼り付けられる。指標部３００の裏面は、粘着シートで構成されてもよい。または、指標部３００は、側壁部２５１Ｆに取り付けられた透明のケースに入れられていてもよい。
【００７１】
指標部３００は、特定の図形である。指標部３００は、本例では、マーカである。指標部３００は、台車２００の傾きを自走装置１００が検出するために利用される。指標部３００は、台車２００の床面９１０（走行面）に対する傾きを検出するために利用される。詳しくは、指標部３００は、本体部２０５の床面９１０に対する傾き（図８参照）を検出するために利用される。なお、傾きは、典型的には、傾斜角度で表される。
【００７２】
なお、本体部２０５だけではなく、自走装置１００も同様に傾いたときには、指標部３００によって、自走装置１００に対する本体部２０５の傾きの度合いが検出されることになる。
【００７３】
指標部３００として、たとえば、ＡＲ（Augmented  Reality）マーカを用いることができる。本例では、ＡＲマーカの一つであるＡｐｒｉｌＴａｇを図示している。なお、ＡｐｒｉｌＴａｇは、３次元上の物体の位置および姿勢を検出するアプリケーション用の視覚的なマーカである。ＡｐｒｉｌＴａｇは、工作機械でも用いられている。ＡｐｒｉｌＴａｇは、符号化するデータが少なくなるように設計されているため、より高速に復号化できる。よって、リアルタイム性を必要とする走行システム１に適している。
【００７４】
本例では、ＡｐｒｉｌＴａｇが台車２００に付されているため、自走装置１００に対する台車２００の相対的位置および姿勢を、自走装置１００が検出できる。
【００７５】
なお、指標部３００は、ＡＲマーカに限定されるものではない。後述するように、自走装置１００は、少なくとも、カメラ３５に対する指標部３００の相対位置を検出できればよい。このため、指標部３００は、自走装置１００側のアプリケーションが認識できるものであればよい。指標部３００は、アプリケーションが指標部３００の位置を追従できるものであればよい。
【００７６】
＜Ｅ．自走装置の機能的構成＞
図６は、自走装置１００の機能的構成を説明するための機能ブロック図である。
【００７７】
図６に示されるように、制御装置５０１は、機能構成の一例として、走行制御部５５０と、ロボット制御部５６０と、データ処理部５５５とを含む。
【００７８】
ロボット制御部５６０は、ロボットアーム１１およびエンドエフェクタ４０の動作を制御するための機能構成である。ロボット制御部５６０は、ロボットアーム１１の６つの可動部（６軸）の動作を制御する。具体的には、ロボット制御部５６０は、ロボットアーム１１のアクチュエータ（図示せず）の動作（回転角、回転速度等）を制御する。
【００７９】
さらに、ロボット制御部５６０は、エンドエフェクタ４０の電動ハンドの動きを制御する。ロボット制御部５６０は、電動ハンドの把持動作を制御する。具体的には、ロボット制御部５６０は、エンドエフェクタ４０内のアクチュエータ（図示せず）の動作を制御する。
【００８０】
走行制御部５５０は、自走装置１００の走行を制御するための機能構成である。走行制御部５５０は、レーザセンサ５０５から入力される２次元距離データＤと、３次元マップ５１２とを比較することにより、自走装置１００の現在位置を特定する。制御装置５０１は、現在位置を特定することで、３次元マップ５１２上の予め定められた経路に沿って自走装置１００を走行させる。なお、制御装置５０１は、３次元マップ５１２を生成することもできる。
【００８１】
さらに、走行制御部５５０は、自走装置１００の駆動中にレーザセンサ５０５から順次取得される２次元距離データＤに基づいて、自走装置１００の周囲にある障害物を検知し、当該障害物との衝突を避けるように自走装置１００の走行を制御する。当該障害物は、たとえば、人物や他の自走装置１００などの移動体と、壁や棚などの静止体とを含む。
【００８２】
走行制御部５５０は、障害物が検知されていない間、３次元マップ５１２上の予め定められた経路を走行するように自走装置１００の走行を制御する。一方で、走行制御部５５０は、障害物が検知された場合には、当該障害物との衝突を避けるように自走装置１００の走行を制御する。
【００８３】
ある局面において、障害物までの距離が所定距離以上である場合には、走行制御部５５０は、当該障害物を避けるように自走装置１００の走行を制御する。一方で、障害物までの距離が所定距離未満である場合には、走行制御部５５０は、自走装置１００の走行を停止する。
【００８４】
次に、カメラ３５を用いた、制御装置５０１による走行体６１の制御について説明する。
【００８５】
自走装置１００は、位置情報取得部５７０を備える。位置情報取得部５７０は、カメラ３５と、制御装置５０１内のデータ処理部５５５とを含む。走行制御部５５０は、記憶部５５１を含む。記憶部５５１は、閾値Ｔｈ１と、閾値Ｔｈ２とを記憶している。本例では、閾値Ｔｈ１は、角度の閾値である。閾値Ｔｈ２は、距離（長さまたはピクセル数）に関する閾値である。なお、記憶部５５１は、記憶装置５１０の一部である。
【００８６】
図６に示されるように、位置情報取得部５７０は、カメラ３５を含み、走行体６１の走行時に、走行体６１に対する指標部３００の位置情報を取得する。詳しくは、カメラ３５は、指標部３００を連続的に撮像する。カメラ３５は、撮像により得られた画像データを、データ処理部５５５に逐次送信する。
【００８７】
データ処理部５５５は、当該画像データに基づいて、３次元空間上の指標部３００の位置および姿勢を算出する。詳しくは、データ処理部５５５は、指標部３００の位置（指標部３００の位置情報）を算出し、かつ、当該算出結果に基づき、指標部３００の姿勢を算出する。本例では、姿勢として、指標部３００の傾き（傾斜角度）が算出される。データ処理部５５５は、指標部３００の位置情報および指標部３００の傾きの情報を、走行制御部５５０に送る。なお、説明の便宜上、図５の状態における指標部３００の傾きは、０°とする。
【００８８】
このように、位置情報取得部５７０は、カメラ３５により撮像された指標部３００の画像を取得することにより、指標部３００の位置情報および傾きの情報を取得する。なお、データ処理部５５５は、全ての画像データにおける指標部３００の位置および傾きを決定する必要は必ずしもない。データ処理部５５５は、所定の演算周期に従って、指標部３００の位置および傾きを決定してもよい。
【００８９】
走行制御部５５０は、データ処理部５５５から指標部３００の位置情報および傾きの情報を逐次取得する。走行制御部５５０は、指標部３００の位置情報の変化に基づいて、走行体６１の走行を制御する。より詳しくは、走行制御部５５０は、指標部３００の位置情報の変化および当該変化に基づく指標部３００の傾きに基づいて、走行体６１の走行を制御する。
【００９０】
以下、指標部３００の位置情報の変化に基づく制御例を２つ説明する。なお、自走装置１００は、自律的に走行、あるいは指令された経路を走行するため、自走装置１００は、前進、後進、左旋回、右旋回、左回転、右回転のいずれを行なっているかを把握している。
【００９１】
（１）直線走行時から曲線走行時に切り替った場合
走行体６１の走行ルートが直線走行時から曲線走行時に切り替った際における、走行制御部５５０による走行体６１の制御について説明する。
【００９２】
指標部３００の位置情報は、走行体６１の直線走行時に取得される位置情報Ｐ１と、走行体６１の曲線走行時に取得される位置情報Ｐ２とを含む。走行制御部５５０は、走行体６１の曲線走行時、位置情報Ｐ１を基準とする位置情報Ｐ２の変化量（以下、「変化量ΔＰ１２」と称する）が予め定められた閾値Ｔｈ１を超えた場合に、走行体６１の走行を制御する。具体的には、本例では、変化量ΔＰ１２は、指標部３００の傾き（傾斜角度）である。
【００９３】
走行制御部５５０は、変化量ΔＰ１２が閾値Ｔｈ１を越えると、走行体６１の走行を停止させる。これに限定されず、走行制御部５５０は、上記変化量が閾値Ｔｈ１を越えると、走行体６１を減速させ、走行を続けさせてもよい。あるいは、走行制御部５５０は、上記変化量が閾値Ｔｈ１を越えると、走行体６１の曲線走行における曲率を減少させてもよい。走行制御部５５０が、いずれの制御を行なうかは、自走装置１００において予め設定されている。当該設定は、ユーザ操作に基づき行なうことができる。
【００９４】
また、走行制御部５５０は、走行体６１の走行速度および／または曲線の曲率に応じて、３つの制御のうちから、適宜、制御方法を選択してもよい。また、走行制御部５５０は、走行体６１の減速と、走行体６１の曲線走行における曲率の減少とを同時におこなってもよい。
【００９５】
たとえば、走行速度が予め定められた速度よりも早いときには、走行制御部５５０は、走行体６１を減速させる。曲率が予め定められた値よりも大きい場合には、走行制御部５５０は、走行体６１の曲線走行における曲率を減少させればよい。走行速度が予め定められた速度よりも早く、かつ曲率が予め定められた値よりも大きい場合には、走行制御部５５０は、走行体６１を減速と、走行体６１の曲線走行における曲率を減少とを同時に行なってもよい。
【００９６】
減速の制御は、予め定められた速度まで低下させる制御であってもよいし、所定の速度だけ走行速度を遅くする制御であってもよい。後者の制御の場合、走行制御部５５０は、変化量ΔＰ１２が閾値Ｔｈ１以下となるまで、所定の速度だけ走行速度を遅くする制御を繰り返す。
【００９７】
さらに、走行制御部５５０は、変化量ΔＰ１２と閾値Ｔｈ１との差に基づき、制御方法を選択してもよい。
【００９８】
（２）段差がある場合
走行体６１が段差を越えた際における、走行制御部５５０による走行体６１の制御について説明する。
【００９９】
指標部３００の位置情報は、走行体６１が床面９１０の段差を越える前に取得される位置情報Ｐ３と、走行体６１が床面９１０の段差を越えた後に取得される位置情報Ｐ４とを含む。走行制御部５５０は、走行体６１の走行時、位置情報Ｐ３を基準とする位置情報Ｐ４の変化量（以下、「変化量ΔＰ３４」と称する）が閾値Ｔｈ２を超えた場合に、走行体６１の走行を制御する。具体的には、本例では、変化量ΔＰ３４は、指標部３００の位置の上下方向の位置の変化量である。
【０１００】
走行制御部５５０は、変化量ΔＰ３４が閾値Ｔｈ２を越えると、走行体６１の走行を停止させる。これに限定されず、走行制御部５５０は、変化量ΔＰ３４が閾値Ｔｈ２を越えると、走行体６１を減速させ、走行を続けさせてもよい。走行制御部５５０が、いずれの制御を行なうかは、自走装置１００において予め設定されている。当該設定は、ユーザ操作に基づき行なうことができる。
【０１０１】
たとえば、走行速度が予め定められた速度よりも早いときには、走行制御部５５０は、走行体６１を停止させる。走行速度が予め定められた速度よりも遅いときには、走行制御部５５０は、走行体６１を減速させて、走行を続けさせる。
【０１０２】
また、走行制御部５５０は、変化量ΔＰ３４と閾値Ｔｈ２との差（すなわち、段差の大きさ）に基づき、制御方法を選択してもよい。たとえば、走行制御部５５０は、当該差が予め定められた値以上の場合には、走行体６１の走行を停止させ、当該差が予め定められた値未満の場合には、走行体６１を予め定められた速度まで減速させてもよい。
【０１０３】
なお、走行体６１を停止させた場合には、走行制御部５５０は、その後、走行体６１を逆走（たとえば、後進）させる。たとえば、走行制御部５５０は、走行体６１を停止させた後に所定の時間が経過したことを条件に、走行体６１を後進させてもよい。
【０１０４】
＜Ｆ．カメラで取得される画像の例＞
（１）直線走行時から曲線走行時に切り替った場合
図７は、自走装置１００が左旋回し始めたときの走行システム１の上面図である。
【０１０５】
図７に示されるように、自走装置１００が旋回を開始すると、台車の側壁部２５１Ｆのうち、カメラ３５によって撮像される被写体領域が変化する。カメラ３５の光軸Ｊと側壁部２５１Ｆとが交差する位置が、図２の位置から大きく変化する。
【０１０６】
図８は、図７のｉｘ−ｉｘ線矢視断面図である。
【０１０７】
図８に示されるように、本例では、台車２００は、左側前輪２２０Ｌｆが床面９１０から離間し、台車２００が角度θだけ傾いている。台車２００は、自走装置１００が左旋回することにより、矢印の方向に傾いている。これにともない、側壁部２５１Ｆに付された指標部３００も角度θだけ傾いた状態となっている。
【０１０８】
図９は、左旋回時を開始する直前と直後とに得られる画像データを説明するための模式図である。
【０１０９】
図９に示されるように、状態（Ａ）では、走行体６１および台車２００が直進しているため、指標部３００の画像３００Ｇは傾いていない。また、画像３００Ｇは、撮像により得られた画像データ５０１Ｇにおいて基準位置に存在する。なお、本例では、説明の便宜上、基準位置が画像データ５０１Ｇの中心となる場合を例に挙げている。
【０１１０】
状態（Ｂ）では、図７に示すように走行体６１が左旋回を開始したため、台車２００の状態が図８に示す状態となる。この場合、台車２００の左側前輪２２０Ｌｆが床面９１０から離間した状態で台車２００が角度θ傾いているため、指標部３００の画像３００Ｇは、角度θだけ傾くことになる。
【０１１１】
また、指標部３００の画像３００Ｇは、撮像により得られた画像データ５０２Ｇにおいて、デフルトの位置からずれる。本例の場合には、画像３００Ｇが、Ｘ軸の正方向にｘ１、Ｙ軸の正方向にｙ１だけずれている。
【０１１２】
ところで、上述したように、走行制御部５５０は、走行体６１の曲線走行時、位置情報Ｐ１を基準とする位置情報Ｐ２の変化量ΔＰ１２が閾値Ｔｈ１を超えた場合に、走行体６１の走行を制御する。当該変化量ΔＰ１２は、指標部３００としてＡｐｒｉｌＴａｇを用いているため、上述したように、変化量ΔＰ１２を画像３００Ｇの傾き（傾斜角度）とすることができる。閾値Ｔｈ１は、たとえば、３°とすることができる。
【０１１３】
なお、指標部３００として、傾斜角度を検知できない指標を用いる場合には、変化量ΔＰ１２を、ｙ１をｘ１で除したときの値（＝ｙ１／ｘ１）としてもよい。
【０１１４】
（２）段差がある場合
図１０は、自走装置１００が段差を乗り越えた直後の走行システム１の側面図である。
【０１１５】
図１０に示されるように、自走装置１００が段差Ｗを乗り越えると、台車の側壁部２５１Ｆのうち、カメラ３５によって撮像される被写体領域が変化する。カメラ３５の光軸Ｊと側壁部２５１Ｆとが交差する位置が、図２の位置から上方に変化する。
【０１１６】
図１１は、自走装置１００が段差Ｗを乗り越える前と、乗り越えた直後とに得られる画像データを説明するための模式図である。なお、本例では、段差Ｗを乗り越える前後において、自走装置１００および台車２００は、前進しているものとする。
【０１１７】
図１１に示されるように、状態（Ａ）では、走行体６１および台車２００が直進しているため、指標部３００の画像３００Ｇは、撮像により得られた画像データ５０３Ｇにおいて、デフルトの位置に存在する。本例においても、当該基準位置が、画像データ５０３Ｇの中心となる場合を例に挙げている。
【０１１８】
状態（Ｂ）では、図１０に示すように自走装置１００が段差Ｗを乗り越える一方で台車２００は段差Ｗを乗り越えていないため、指標部３００の画像３００Ｇは、撮像により得られた画像データ５０４Ｇにおいて、デフルトの位置からずれることになる。具体的には、本例の場合には、画像３００Ｇが、Ｙ軸の負方向にｙ２だけずれている。
【０１１９】
上述したように、走行制御部５５０は、走行体６１の走行時、位置情報Ｐ３を基準とする位置情報Ｐ４の変化量ΔＰ３４が閾値Ｔｈ２を超えた場合に、走行体６１の走行を制御する。本例では、変化量ΔＰ３４は、Ｙ座標の変化量とすることができる。
【０１２０】
なお、図１０の例では、段差Ｗによって、自走装置１００の位置が上方に変化する場合を例に挙げて説明した。段差によって自走装置１００の位置が下方に変化する場合には、指標部３００の画像３００Ｇは基準位置から上方向に変化することになる。
【０１２１】
＜Ｇ．制御構造および制御例＞
図１２は、自走装置１００で実行される処理の流れを説明するためのフロー図である。
【０１２２】
図１２に示されるように、ステップＳ１において、自走装置１００は走行を開始する。これにより、台車２００が自走装置１００に牽引される。ステップＳ２において、制御装置５０１による制御に基づき、カメラ３５による指標部３００の撮像が開始される。ステップＳ３において、制御装置５０１は、旋回を開始したか否かを判断する。
【０１２３】
旋回を開始したと判断された場合（ステップＳ３においてＹＥＳ）、制御装置５０１は、ステップＳ４において、指標部３００の傾き（詳しくは、指標部３００の画像３００Ｇの傾き）が閾値Ｔｈ１以上になったか否かを判断する。旋回を開始していないと判断された場合（ステップＳ３においてＮＯ）、制御装置５０１は、ステップＳ７において、指標部３００の位置（詳しくは、指標部３００の画像３００Ｇの位置）が基準位置から閾値Ｔｈ２以上、上方向または下方向に変化したか否かを判断する。
【０１２４】
ステップＳ４において肯定的な判断がなされた場合（ステップＳ４においてＹＥＳ）、制御装置５０１は、ステップＳ５において、走行体６１の走行を制御する。その後、制御装置５０１は、処理をステップＳ４に進める。ステップＳ４において否定的な判断がなされた場合（ステップＳ４においてＮＯ）、制御装置５０１は、処理をステップＳ６に進める。
【０１２５】
ステップＳ７において肯定的な判断がなされた場合（ステップＳ７においてＹＥＳ）、制御装置５０１は、ステップＳ８において、走行体６１の走行を制御する。その後、制御装置５０１は、処理をステップＳ６に進める。ステップＳ７において否定的な判断がなされた場合（ステップＳ７においてＮＯ）、制御装置５０１は、処理をステップＳ６に進める。
【０１２６】
ステップＳ６において、制御装置５０１は、自走装置１００および台車２００が、目的位置に到達したか否かを判断する。ステップＳ６において肯定的な判断がなされた場合（ステップＳ６においてＹＥＳ）、制御装置５０１は、一連の処理を終了する。ステップＳ６において否定的な判断がなされた場合（ステップＳ６においてＮＯ）、制御装置５０１は、処理をステップＳ３に戻す。
【０１２７】
＜Ｈ．小括＞
走行システム１の構成の一部を小括すると、以下のとおりである。
【０１２８】
（１）走行システム１は、自走可能な走行体６１と、指標部３００を有し、走行体６１により牽引される台車２００と、カメラ３５を含み、走行体６１の走行時に、走行体６１に対する指標部３００の位置情報を取得する位置情報取得部５７０と、位置情報取得部５７０において取得される指標部３００の位置情報の変化に基づいて、走行体６１の走行を制御する走行制御部５５０とを備える。
【０１２９】
走行体６１により台車２００を牽引する場合、台車２００の転倒を防ぐことが求められる。また、台車２００の姿勢を正す手段として慣性計測装置を用いた姿勢制御が考えられるが、高コストになる。
【０１３０】
これに対して、位置情報取得部５７０において取得される指標部３００の位置情報の変化に基づいて、走行体６１の走行を制御することによって、台車２００の転倒を防ぐことができる。この場合に、位置情報取得部５７０にカメラが利用されるため、低コストを実現することができる。
【０１３１】
また、走行体６１により牽引する台車２００の種類が様々であったり、台車２００に積載する荷物の数および重量、荷物の積載位置が異なっていたりして、台車２００の転倒が生じる走行体６１の走行条件が都度変わる。このため、位置情報取得部５７０において取得される指標部３００の位置情報の変化に基づいて、走行体６１の走行を制御することによって、台車の転倒を精度良く防止することが可能となる。
【０１３２】
（２）指標部３００の位置情報は、走行体６１の直線走行時に取得される位置情報Ｐ１と、走行体６１の曲線走行時に取得される位置情報Ｐ２とを含む。走行制御部５５０は、走行体６１の曲線走行時、位置情報Ｐ１を基準とする位置情報Ｐ２の変化量ΔＰ１２が予め定められた閾値Ｔｈ１を超えた場合に、走行体６１の走行を制御する。このような構成によれば、走行体６１の曲線走行時に台車が横転することを防止できる。
【０１３３】
たとえば、走行制御部５５０は、走行体６１の走行を、走行体６１の停止、走行体６１の減速、および、走行体６１の曲線走行における曲率の減少のいずれかに制御する。これによれば、走行体６１を停止させたり、減速させたり、曲線走行時における曲率を減少させたりすることによって、曲線走行時に台車２００が横転することを防止できる。
【０１３４】
（３）台車２００は、頂部２１１と、車輪２２０とを含む。指標部３００は、上下方向において、車輪２２０よりも頂部２１１寄りの位置に設けられる。このような構成によれば、走行体６１の曲率走行時に、指標部３００の挙動がより大きくなるため、制御装置５０１が、指標部３００の位置情報の変化を認識しやすくなる。
【０１３５】
（４）指標部３００の位置情報は、走行体６１が床面９１０の段差Ｗを越える前に取得される位置情報Ｐ３と、走行体６１が床面９１０の段差Ｗを越えた後に取得される位置情報Ｐ４とを含む。走行制御部５５０は、走行体６１の走行時、位置情報Ｐ３を基準とする位置情報Ｐ４の変化量ΔＰ３４が予め定められた閾値Ｔｈ２を超えた場合に、走行体６１の走行を制御する。このような構成によれば、床面９１０に段差Ｗがあった場合に、台車が転倒すること防止できる。
【０１３６】
たとえば、走行制御部５５０は、走行体６１が停止するように、走行体６１の走行を制御する。走行体６１を停止させることによって、床面９１０に段差Ｗがあった場合に、台車２００が横転することを防止できる。
【０１３７】
（５）指標部３００は、台車２００に付された特定の図形（本例では、ＡｐｒｉｌＴａｇ）である。位置情報取得部５７０は、カメラ３５により撮像された当該図形の画像を取得することにより、指標部３００の位置情報を取得する。
【０１３８】
＜Ｉ．変形例＞
（１）上記においては、指標部３００を台車２００の側壁部２５１Ｆに付けた場合を例に挙げて説明したが、これに限定されない。
【０１３９】
図１３は、台車２００Ａを示した図である。図１３に示されるように、台車２００Ａは、板状部材２９０を備える。板状部材２９０は、頂部２１１から上方に突き出るように本体部２０５に設置されている。本例では、板状部材２９０は、下端部が側壁部２５１Ｆに取り付けられている。
【０１４０】
板状部材２９０の上端部に、指標部３００が付けられている。指標部３００は、板状部材２９０のカメラ３５側の表面に付けられている。このような構成によれば、台車２００の場合に比べて、指標部３００の位置を床面９１０から高い位置とすることができる。
【０１４１】
台車２００Ａと台車２００とが同じ角度だけ傾いた場合には、台車２００Ａの方が、指標部３００の移動量が大きい。それゆえ、指標部３００として傾斜角度を検知できない指標を用いる場合には、制御装置５０１は、台車２００Ａの傾きを、台車２００のときよりも、精度よく検出することができる。
【０１４２】
なお、この場合には、自走装置１００のカメラ３５の位置を、台車２００のときよりも高い位置に設置する必要がある。また、板状部材２９０の代わりに、角ポールを用いてもよい。
【０１４３】
（２）上記においては、カメラ３５によって、走行体６１に対する指標部３００の位置情報を取得したが、これに限定されるものではない。カメラ３５の代わりに、レーザセンサ３６（図１等参照）を用いてもよい。
【０１４４】
（３）上記においては、指標部３００の傾き（傾斜角度）に関する閾値として、閾値Ｔｈ１のみを用いた。しかしならが、これに限定されず、傾きに関する閾値として、複数の閾値を用いてもよい。たとえば、２つの閾値Ｔｈ１＿ａ，Ｔｈ１＿ｂを用いる場合（Ｔｈ１＿ａ＞Ｔｈ１＿ｂ）、走行制御部５５０は、変化量ΔＰ１２がＴｈ１＿ａ以上となると走行体６１の走行を停止させ、変化量ΔＰ１２がＴｈ１＿ｂ以上かつＴｈ１＿ａ未満の場合に走行体６１を一定の速度まで減速させ、走行を継続してもよい。
【０１４５】
［実施の形態２］
実施の形態１では、走行制御部５５０は、位置情報取得部５７０において取得される指標部３００の位置情報の変化に基づいて、走行体６１の走行を制御した。すなわち、実施の形態１では、走行システム１の実運用時の制御について説明した。
【０１４６】
本実施の形態では、走行システム１を試走させて、台車２００が走行条件を予め設定する。当該走行条件の設定に、指標部３００の位置情報を利用する。走行条件は、本例では、台車２００が転倒（たとえば、横転）しない条件である。
【０１４７】
また、本実施の形態では、試走は、台車２００に荷物を積載していない状態で行なうものとする。ただし、これに限定されず、台車２００に都度同じ荷物を同じ数だけ同じ位置に載置する場合には、台車２００に荷物を積載した状態で試走を行なうことが好ましい。
【０１４８】
詳しくは、位置情報取得部５７０は、走行体６１の試走時に、走行体６１に対する指標部３００の位置情報を取得する。走行制御部５５０は、位置情報取得部５７０において取得される指標部３００の位置情報の変化に基づいて、走行体６１の走行条件を設定し、かつ、走行体６１の実運用時に当該走行条件を満たすように走行体６１の走行を制御する。
【０１４９】
走行体６１の試走時には、走行速度と、走行経路となる曲線の曲率との各々を、様々に変化させる。また、試走時には、高さが異なる段差を、複数の走行速度で通過させる。このような試走により、台車２００が転倒しない走行条件を見つけ出す。たとえば、台車２００の傾斜角θが上記閾値Ｔｈ１を越えないような、走行速度と曲線の曲率との組み合わせをもとめる。また、台車２００が段差を乗り越えられる走行速度を、段差の大きさ毎に見つけ出す。
【０１５０】
このような構成によれば、多くの状況下で、実運用時において指標部３００の位置情報の変化を監視する必要がなくなる。たとえば、特に、上述したように、台車２００に荷物を積載した状態で試走させたときには、監視が不要となる。
【０１５１】
図１４は、走行システム１を試走によって生成された走行条件を説明するための図である。走行条件は、自走装置１００によって生成されてもよいし、図示しないサーバによって生成されてもよい。走行条件は、上述したように、指標部３００の位置情報の変化に基づき、実運用前に生成される。なお、走行条件は、走行制御部５５０の記憶部５５１（図６）に格納される。
【０１５２】
図１４に示されるように、走行条件Ｐは、本例では、２つの走行条件Ｐ１，Ｐ２を含む。走行条件Ｐ１，Ｐ２は、台車２００が転倒しない条件である。走行条件Ｐ１，Ｐ２は、台車２００の種別、台車２００に載置された部材の重さ等に基づき、個別に設定されることが好ましい。
【０１５３】
走行条件Ｐ１は、自走装置１００の走行速度と、曲線の曲率との関係を示している。曲線の曲率とは、走行システム１の走行時の軌跡がある局面において円弧である場合の当該円弧の曲率である。
【０１５４】
走行条件Ｐ１は、本例では、関数により規定されている。グラフの領域は、当該関数によって、領域Ａ１と領域Ｂ１とに区分される。領域Ａ１は、曲率が関数の値（すなわち縦軸の曲率）以下の領域である。領域Ｂ１は、曲率が関数の値よりも大きい領域である。走行条件Ｐ１は、領域Ａ１内の走行速度と曲率との組み合わせとして定義される。「走行条件Ｐ１を満たす」とは、走行速度と曲率とが領域Ａ１内に収まっていることである。
【０１５５】
走行条件Ｐ２は、自走装置１００の走行速度と、段差の大きさとの関係を示している。段差の大きさは、上下方向における、床面の高さの差（ｃｍ）である。
【０１５６】
走行条件Ｐ２は、走行条件Ｐ１と同様、関数により規定されている。グラフの領域は、当該関数によって、領域Ａ２と領域Ｂ２とに区分される。領域Ａ２は、曲率が関数の値（すなわち縦軸の曲率）以下の領域である。領域Ｂ２は、曲率が関数の値よりも大きい領域である。走行条件Ｐ２は、領域Ａ２内の走行速度と曲率との組み合わせとして定義される。「走行条件Ｐ２を満たす」とは、走行速度と曲率とが領域Ａ２内に収まっていることである。
【０１５７】
このように、走行システム１の実運用時に走行条件Ｐを満たすように走行体６１の走行を制御することにより、実運用時において、台車２００が横転等することを防止できる。また、台車２００から積載物が落下することも防止できる。
【０１５８】
［実施の形態３］
実施の形態１の制御と、実施の形態２で設定した走行条件Ｐに基づく制御とを組み合わせてもよい。
【０１５９】
実施の形態２で説明したように、走行システム１の試走により走行条件Ｐを予め設定しておく。実運用では、自走装置１００は、走行条件Ｐを満たすように走行する。このような場合、大抵の場合には、台車２００の横転等は起こらない。
【０１６０】
しかしながら、台車２００の種類が様々であったり、台車２００に積載する荷物の数および重量、荷物の積載位置が異なっていたりしており、全てのケースにおいて走行条件Ｐを予め設定することは難しい場合もある。また、建物環境の変化、台車２００の劣化、衝突回避等により、走行条件Ｐを必ずしも満たせない場合も生じうる。また、走行条件Ｐを設定する際に、試走で試すことができなかった走行状態もあり得る。
【０１６１】
このような様々な場合を考慮し、制御装置５０１は、実運用においては、走行条件Ｐを満たすよう走行体６１を制御する一方で、さらなる信頼性の確保の観点から、実施の形態１で説明した指標部３００の位置情報の変化に基づく走行体６１の走行制御を実行する。
【０１６２】
詳しくは、位置情報取得部５７０は、走行体６１の試走時に、走行体６１に対する指標部３００の位置情報をさらに取得する。試走は、台車２００の荷物の積載状態を一定または当該荷物が積載されていない状態で行なわれる。走行制御部５５０は、試走時において位置情報取得部５７０によって取得される指標部３００の位置情報の変化に基づいて走行体６１の実運用時の走行条件Ｐを設定し、かつ、走行体６１の実運用時において走行条件Ｐを満たすように走行体６１の走行を制御する。
【０１６３】
このような構成によれば、走行体６１を試走させることによって、台車２００の積載状態が特定の状態にあるときに、台車２００が横転することのない走行条件Ｐを設定できる。実運用時において、走行制御部５５０は、走行条件Ｐを満たすように走行体の走行を制御し、かつ、位置情報取得部５７０において取得される指標部３００の位置情報の変化に基づいて、走行体６１の走行を制御することによって、走行条件Ｐを予め設定しない場合に比べて、台車２００の姿勢をより安定して保つことができる。
【０１６４】
具体的には、台車２００の左右方向または前後方向の傾きによって台車２００が転倒することをより一層防止することができる。また、台車２００から荷物（積載物）が落下することも防止できる。
【０１６５】
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１６６】
１  走行システム、１１  ロボットアーム、１２  基台部、１３  アーム部、３１  アンテナ、３５  カメラ、３６，５０５  レーザセンサ、４０  エンドエフェクタ、４５，４５ａ，４５ｂ  連結部、５１，５１Ｌｂ，５１Ｌｆ，５１Ｒｂ，５１Ｒｆ  従動輪、５６  ホイール、６０  ローラ、６１  走行体、６２  走行本体部、６３  カバー部、６５  頂面、６６  トレイ、７１  第１駆動輪、７２  第２駆動輪、７３  第１車軸、７４  第２車軸、７５，７６  減速機、７７  第１走行用モータ、７８  第２走行用モータ、８６  フレーム、８７  第３支持軸、８８  第３支持アーム、９１  第１支持軸、９２  第２支持軸、９３  第１支持アーム、９４  第２支持アーム、９６  第３車軸、９７  第４車軸、９８  第５車軸、９９  第６車軸、１００  自走装置、１２１  第１軸、１２２  第２軸、２００，２００Ａ  台車、２０５  本体部、２１０  収容部、２１１  頂部、２２０  車輪、２２０Ｌｆ  左側前輪、２２０Ｒｂ  後輪、２２０Ｒｆ  右側前輪、２５１，２５１Ｂ，２５１Ｆ，２５１Ｌ，２５１Ｒ  側壁部、２９０  板状部材、３００  指標部、３００Ｇ  画像、５０１  制御装置、５０１Ｇ，５０２Ｇ，５０３Ｇ，５０４Ｇ  画像データ、５０２  ＲＯＭ、５０３  ＲＡＭ、５０４  通信インターフェイス、５０６  モータ駆動装置、５０９  バス、５１０  記憶装置、５１１  制御プログラム、５１２  次元マップ、５５０  走行制御部、５５１  記憶部、５５５  データ処理部、５６０  ロボット制御部、５７０  位置情報取得部、９１０  床面、Ａ１，Ａ２，Ｂ１，Ｂ２  領域、Ｄ  次元距離データ、Ｊ  光軸、Ｐ，Ｐ１，Ｐ２  走行条件。 
【要約】
【課題】低コストで被牽引体の姿勢を保つことが可能な自走システムを提供する。
【解決手段】走行システムは、自走可能な走行体と、指標部を有し、前記走行体により牽引される被牽引体と、カメラまたはレーザセンサを含み、前記走行体の走行時に、前記走行体に対する前記指標部の位置情報を取得する取得部と、前記取得部において取得される前記指標部の位置情報の変化に基づいて、前記走行体の走行を制御する走行制御部とを備える。
【選択図】図１２【図１】
0006970852.tif 000002
【図２】
0006970852.tif 000003
【図３】
0006970852.tif 000004
【図４】
0006970852.tif 000005
【図５】
0006970852.tif 000006
【図６】
0006970852.tif 000007
【図７】
0006970852.tif 000008
【図８】
0006970852.tif 000009
【図９】
0006970852.tif 000010
【図１０】
0006970852.tif 000011
【図１１】
0006970852.tif 000012
【図１２】
0006970852.tif 000013
【図１３】
0006970852.tif 000014
【図１４】
0006970852.tif 000015