(57)【要約】  実施形態に係る移動体にあっては、主車輪（２１）と、アーム（２２）と、副車輪（２３）と、制御部（３０）とを備える。主車輪（２１）は、移動本体部（１０）に回転可能に取り付けられる。アーム（２２）は、移動本体部（１０）に揺動可能に取付けられ、揺動中心軸（２２ｃ）が主車輪（２１）の回転中心軸（２１ｃ）に対してオフセットされる。副車輪（２３）は、アーム（２２）の先端部（２２ｄ）に回転可能に取り付けられる。制御部（３０）は、路面（Ｂ）の状態に応じてアーム（２２）の動作を制御し、副車輪（２３）を路面（Ｂ）に接地させる。
2014162605.tif 000002
【特許請求の範囲】
【請求項１】
移動本体部に回転可能に取り付けられる主車輪と、
前記移動本体部に揺動可能に取付けられ、揺動中心軸が前記主車輪の回転中心軸に対してオフセットされるアームと、
前記アームの先端部に回転可能に取り付けられる副車輪と、
路面の状態に応じて前記アームの動作を制御し、前記副車輪を路面に接地させる制御部と
を備えることを特徴とする移動体。
【請求項２】
前記アームの揺動中心軸は、
前記主車輪の回転中心軸よりも鉛直方向において下方にオフセットされること
を特徴とする請求項１に記載の移動体。
【請求項３】
前記主車輪および前記副車輪の両方に接続され、前記主車輪および前記副車輪を駆動する駆動源
を備えることを特徴とする請求項１に記載の移動体。
【請求項４】
前記アームは、
進行方向において前記移動本体部の前後にそれぞれ取り付けられ、
前記制御部は、
路面の段差を昇降する場合、前記移動本体部が所定の姿勢を維持するように、前記移動本体部の前側の前記アームと、前記移動本体部の後側の前記アームとを協働させて動作させること
を特徴とする請求項１に記載の移動体。
【請求項５】
進行方向において前記移動本体部の前方の左右側にそれぞれ取り付けられ、路面の段差を検出する段差検出部
を備え、
前記制御部は、
前記左右の段差検出部のうちの一方で段差が検出され、他方で段差が検出されない場合、前記主車輪の動作を制御し、前記移動本体部が段差の側壁面と正対するように前記移動本体部の向きを補正すること
を特徴とする請求項１に記載の移動体。
【請求項６】
前記制御部は、
前記移動本体部を信地旋回させて前記移動本体部の向きを補正すること
を特徴とする請求項５に記載の移動体。
【請求項７】
前記制御部は、
前記アームを動作させて、路面から離間した位置にある前記副車輪を路面に接地させる場合、前記副車輪が路面に接地する直前に前記アームの動作速度を減速させること
を特徴とする請求項１に記載の移動体。
【請求項８】
前記制御部は、
前記アームを動作させて、路面に接地される前記副車輪を路面から離反させて初期位置へ戻す場合、前記副車輪が路面から所定距離離反するまでの前記アームの動作速度が、前記副車輪が前記所定距離離反してから前記初期位置へ戻るまでの前記アームの動作速度よりも低くなるようにすること
を特徴とする請求項１に記載の移動体。
【請求項９】
前記移動本体部に取り付けられ、路面の段差を検出する段差検出部
を備え、
前記制御部は、
前記段差検出部によって段差が検出された場合、前記主車輪の動作を制御し、前記副車輪が段差の所定位置に接地するように前記移動本体部の位置を調整すること
を特徴とする請求項１〜８のいずれか一つに記載の移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、移動体に関する。
【背景技術】
【０００２】
従来、車輪を用いた移動機構を備え、車輪で路面を走行して移動する移動体（例えば移動ロボットなど）が知られている。このような移動体は、例えば工場や研究所、オフィスといった様々な場所で、物を運搬したり、ゲストを案内したりといった多様な用途に用いられる。【０００３】
移動体が走行する路面の状態は平坦とは限られず、例えばケーブルの配線や作業レイアウトの都合などから路面に段差があることも多い。そして、かかる段差の高さによっては、車輪を用いた移動機構がこれを乗り越えるのが難しいこともある。【０００４】
そこで、段差による制限を受けることなく移動することができる移動機構、例えば無限軌道（クローラ）を備えた移動体や、本体に設けられた伸縮自在な脚部の先に車輪を有する脚車輪機構を備えた移動体が提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−５９５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記した無限軌道や脚車輪機構のような移動機構を備えた移動体にあっては、構成が複雑になるとともに、大型化してしまうという点で改善の余地があった。また、脚車輪機構などの複雑な機構は、単に車輪を用いた移動機構に比して、平常走行時の移動に多くの動力を要し、走行効率が低下するおそれがあった。【０００７】
実施形態の一態様は、上記に鑑みてなされたものであって、走行効率を維持しつつ、小型でかつ簡素な構成で路面の段差を乗り越えることができる移動体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態の一態様に係る移動体は、主車輪と、アームと、副車輪と、制御部とを備える。主車輪は、移動本体部に回転可能に取り付けられる。アームは、前記移動本体部に揺動可能に取付けられ、揺動中心軸が前記主車輪の回転中心軸に対してオフセットされる。副車輪は、前記アームの先端部に回転可能に取り付けられる。制御部は、路面の状態に応じて前記アームの動作を制御し、前記副車輪を路面に接地させる。
【発明の効果】
【０００９】
実施形態の一態様によれば、移動体において、走行効率を維持しつつ、小型でかつ簡素な構成で路面の段差を乗り越えることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る移動ロボットを示す模式側面図である。
【図２】図２は、図１に示す移動ロボットにおいてカバーを取り外した状態を示す模式斜視図である。
【図３】図３は、図２に示す移動ロボットの模式平面図である。
【図４】図４は、移動ロボットの模式側面図である。
【図５】図５は、図２に示す主車輪、アーム、副車輪および第１動力伝達機構などを取り出して示す模式斜視図である。
【図６】図６は、移動ロボットを構成する各要素を模式的に示す模式側面図である。
【図７Ａ】図７Ａは、移動ロボットを模式的に示す模式側面図である。
【図７Ｂ】図７Ｂは、移動ロボットを模式的に示す模式側面図である。
【図７Ｃ】図７Ｃは、移動ロボットを模式的に示す模式側面図である。
【図８】図８は、移動ロボットの構成を示すブロック図である。
【図９】図９は、図８に示す段差乗り越え制御部の構成を示すブロック図である。
【図１０】図１０は、移動ロボットの段差乗り越え処理手順を示すフローチャートである。
【図１１】図１１は、位置補正・段差高さ取得処理の概要を示すフローチャートである。
【図１２】図１２は、移動ロボットの模式平面図である。
【図１３Ａ】図１３Ａは、移動ロボットの模式平面図である。
【図１３Ｂ】図１３Ｂは、移動ロボットの模式平面図である。
【図１４Ａ】図１４Ａは、移動ロボットの模式平面図である。
【図１４Ｂ】図１４Ｂは、移動ロボットの模式平面図である。
【図１４Ｃ】図１４Ｃは、移動ロボットの模式平面図である。
【図１５】図１５は、移動ロボットの模式側面図である。
【図１６】図１６は、アーム振り下げ処理の概要を示すフローチャートである。
【図１７】図１７は、移動ロボットを示す模式側面図である。
【図１８】図１８は、移動ロボットを示す模式側面図である。
【図１９】図１９は、移動ロボットを示す模式側面図である。
【図２０】図２０は、アーム振り上げ処理の概要を示すフローチャートである。
【図２１】図２１は、移動ロボットを示す模式側面図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本願の開示する移動体の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【００１２】
また、以下に示す実施形態では、移動体が、車輪を用いる移動機構を備えた移動ロボットであるものとして説明を行う。
【００１３】
図１は、実施形態に係る移動ロボット１を示す模式側面図である。また、図２は図１に示す移動ロボット１においてカバー（後述）を取り外した状態を示す模式斜視図であり、図３は図２に示す移動ロボット１の模式平面図である。
【００１４】
なお、説明を分かり易くするために、図１には、鉛直上向きを正方向とし、鉛直下向きを負方向とするＺ軸、紙面における左右方向をＸ軸、紙面手前から奥方向をＹ軸とした３次元の直交座標系を図示している。かかる直交座標系は、図２，３および後述の説明に用いる他の図面でも示す場合がある。
【００１５】
なお、本実施形態の説明において、移動ロボット１は、Ｘ軸の正方向を進行方向Ａとして移動するものとする（図１参照）。また、以下において左右あるいは前後などの記載は、移動ロボット１の進行方向Ａに対する左右方向あるいは前後方向を意味する。
【００１６】
図１に示すように、移動ロボット１は、移動本体部１０と、移動部２０と、制御部３０とを備える。移動本体部１０は、フレーム１１と、カバー１２（図１にのみ示す）とを備える。フレーム１１は、図２，３によく示すように、例えば略直方体形状に形成されるとともに、鉛直方向において上面と下面とが開口される。
【００１７】
カバー１２は、詳細な図示は省略するが、例えば中空の略直方体形状に形成され、鉛直方向において下面が開口される。カバー１２は、下面の開口部分がフレーム１１の上面の開口部分に合わさるようにしてフレーム１１に取り付けられる。
【００１８】
これにより、移動本体部１０の内側に内部空間１３が形成されることとなり、そこには制御部３０や後述する各種モータなどが収納される。なお、上記したフレーム１１やカバー１２の形状は例示であって限定されるものではなく、例えば立方体形状や円盤形状などであってもよい。また、フレーム１１において下面を開口するようにしたが、例えば下面の開口を底板などで塞ぎ、粉塵などが内部空間１３に侵入するのを防止するように構成してもよい。
【００１９】
移動部２０は、主車輪２１と、アーム２２と、副車輪２３とを備える。本実施形態に係る移動ロボット１にあっては、前側のアーム２２を動作させて副車輪２３を路面Ｂにある段差Ｃの段差面Ｃ１に乗せ、さらにその副車輪２３を押し下げて移動本体部１０を持ち上げつつ前進することで、段差Ｃを乗り越えるようにしている。また、移動本体部１０を持ち上げる際、後側のアーム２２を振り下げて副車輪２３を路面Ｂに接地させ、さらにその副車輪２３を押し下げることで、移動本体部１０の姿勢を水平に保ちつつ、段差Ｃを乗り越えるようにしている。
【００２０】
以下詳説すると、主車輪２１は、進行方向Ａにおいて移動本体部１０の前方の左右側面、および後方の左右側面にそれぞれ回転可能に取り付けられる。なお、以下においては、移動本体部１０の前方の一対の主車輪２１を「前輪２１ｆ」、後方の一対の主車輪２１を「後輪２１ｂ」という場合もある。
【００２１】
主車輪２１には、それぞれ１対１で対応付けられた駆動用モータ（駆動源）２４が接続される。駆動用モータ２４の駆動力は対応する主車輪２１へ伝達され、主車輪２１は正転方向あるいは逆転方向へ回転駆動する。
【００２２】
したがって、主車輪２１はいずれも駆動輪として機能し、それぞれが独立して駆動する。そのため、例えば駆動用モータ２４による主車輪２１の回転速度を左右で異ならせることで、移動本体部１０の進行方向Ａの向きを変えることもできる。上記した駆動用モータ２４は、移動本体部１０の内部に収納される。
【００２３】
上記の如く、移動ロボット１の移動部２０は、四輪駆動方式を採っている。なお、移動部２０は、四輪駆動方式でなくともよく、例えば、前後輪１輪ずつの二輪駆動方式や、前２輪、後ろ１輪などの三輪駆動方式であってもよい。
【００２４】
ここで、駆動用モータ２４のそれぞれは、移動本体部１０に収納された制御部３０によって個別に制御される。なお、制御部３０の配置位置は図示した例に限られるものではなく、例えば、移動ロボット１とは分離され、無線通信などを介して遠隔制御を行うように配置されてもよい。制御部３０の構成の詳細については、図８を用いて後述する。
【００２５】
また、図１などで図示を省略するが、駆動用モータ２４には、それぞれエンコーダ２５（図８参照）が取り付けられる。エンコーダ２５から出力された、駆動用モータ２４の回転量や回転角度を示すエンコーダ値は、制御部３０へ出力される。
【００２６】
アーム２２は、長尺の板状に形成され、その内部は中空とされる。また、アーム２２は、基端部２２ａ（図１参照）が、進行方向Ａにおいて移動本体部１０の前方の左右側面、および後方の左右側面にそれぞれ揺動可能に取り付けられる。また、アーム２２はそれぞれ、上記した主車輪２１に対応するような位置に取り付けられる。なお、以下においては、移動本体部１０の前方の一対のアーム２２を「前アーム２２ｆ」、後方の一対のアーム２２を「後アーム２２ｂ」という場合もある。
【００２７】
ここで、アーム２２の取り付け位置について図４を参照しつつ説明する。図４は、移動ロボット１の模式側面図である。なお、図４では、説明を分かりやすくする観点から、アーム２２を直線で表すなどして、移動ロボット１をごく模式的に示している。
【００２８】
図４に示すように、アーム２２は、揺動中心軸２２ｃが主車輪２１の回転中心軸２１ｃに対してオフセットされて、移動本体部１０に取り付けられる。詳しくは、アーム２２の揺動中心軸２２ｃは、主車輪２１の回転中心軸２１ｃよりも鉛直方向（Ｚ軸方向）において下方にオフセットされる。
【００２９】
具体的には、主車輪２１の直径をＤｍ、主車輪２１の回転中心軸２１ｃから揺動中心軸２２ｃまでの鉛直下向き方向におけるオフセット量をＤｚとした場合、オフセット量Ｄｚは、例えばＤｍ／２よりも小さい値に設定される。また、好ましくはオフセット量Ｄｚは、例えばＤｍ／４に設定される。
【００３０】
また、アーム２２の揺動中心軸２２ｃは、側面視において主車輪２１の回転中心軸２１ｃよりも移動本体部１０の端面側にオフセットされる。具体的には、前アーム２２ｆは、揺動中心軸２２ｃが、主車輪２１の回転中心軸２１ｃよりも移動本体部１０の前面１０ｆ側にオフセットされる。他方、後アーム２２ｂは、揺動中心軸２２ｃが、主車輪２１の回転中心軸２１ｃよりも移動本体部１０の後面１０ｂ側にオフセットされる。
【００３１】
また、回転中心軸２１ｃから揺動中心軸２２ｃまでのオフセット距離をＤａとした場合、オフセット距離Ｄａは、例えばＤｍ／２よりも小さい値に設定される。また、好ましくはオフセット距離Ｄａは、例えばＤｍ／４に設定される。なお、上記では、オフセット量Ｄｚおよびオフセット距離Ｄａを具体的に示したが、これはあくまでも例示であって、限定されるものではない。
【００３２】
上記のように、アーム２２の揺動中心軸２２ｃが主車輪２１の回転中心軸２１ｃに対してオフセットされることから、アーム２２が揺動するためのスペース（破線Ｅ１で示す）を減少させることができ、結果として移動ロボット１を小型化することができる。
【００３３】
すなわち、移動ロボット１は、後述するように、例えば段差Ｃを乗り越えた後にも、後アーム２２ｂの後副車輪２３ｂ（後述）が、段差Ｃの進行方向手前側の路面Ｂに接地される。そのため、後アーム２２ｂの長さはそのような場面に対応できるような値に設定される。同様に、移動ロボット１が例えば段差Ｃを降りる場合も、前アーム２２ｆの前副車輪２３ｆ（後述）が先に段差Ｃの下側の路面Ｂに接地されるため、前アーム２２ｆの長さはそのような場面に対応できるような値に設定される。
【００３４】
したがって、図４に想像線で示す如く、例えば仮にアームの揺動中心軸が、主車輪２１の回転中心軸２１ｃと同軸であった場合、段差Ｃの昇降時に副車輪２３を路面Ｂに接地させるには、アームの長さを、オフセットされたアーム２２に比して長くする必要が生じる。その場合のアームが揺動するためのスペースは、破線Ｅ２で示すような大きさとなる。
【００３５】
これに対し、本実施形態におけるアーム２２にあっては、揺動回転軸２２ｃが主車輪２１の回転中心軸２１ｃに対してオフセットされることから、アーム２２の揺動スペースＥ１を、同軸とされた場合のアームの揺動スペースＥ２に比して小さくすることができる。特に、アーム２２を振り上げたときの揺動スペースＥ１をＥ２に比して小さくすることができる。よって、結果的に高い段差乗り越え性能を維持しつつ、移動ロボット１を小型化することができる。
【００３６】
また、移動ロボット１は、平常走行時には主車輪２１を駆動して移動するため、例えば脚車輪機構などの複雑な移動機構を備えた移動ロボットに比して、走行効率を維持しつつ、簡素な構成で路面Ｂの段差Ｃを乗り越えることができる。
【００３７】
アーム２２の説明を続けると、アーム２２は、図３に示すように、Ｚ軸方向視（上面視）において移動本体部１０の側面と主車輪２１との間に配置される。
【００３８】
アーム２２には、それぞれ１対１で対応付けられたアーム用モータ２６が第１動力伝達機構２７（図１で見えず）を介して接続される。アーム用モータ２６のそれぞれは、駆動用モータ２４と同様、制御部３０によって個別に制御される。
【００３９】
アーム用モータ２６は、図３に示すように、本体部２６ａの一部が移動本体部１０の外側に露出するようにして、移動本体部１０の側面に固定される。このとき、アーム用モータ２６の本体部２６ａにおける出力側は、移動本体部１０の内部空間１３に位置される。また、第１動力伝達機構２７は、移動本体部１０の内部に収納される。
【００４０】
図５は、図２に示す主車輪２１、アーム２２、副車輪２３および第１動力伝達機構２７などを取り出して示す模式斜視図である。なお、図５では、進行方向Ａにおいて移動本体部１０の右前方の主車輪２１（前輪２１ｆ）やアーム２２（前アーム２２ｆ）などを示している。以下では、図５に基づいてアーム２２や第１動力伝達機構２７などの構成を説明するが、移動本体部１０の前後左右に設けられるアーム２２などは略同一の構成であるため、以下の説明は、移動本体部１０の左前方や後方に設けられるアーム２２などにも妥当する。
【００４１】
図５に示すように、第１動力伝達機構２７は、駆動プーリ２７ａと、従動プーリ２７ｂと、中間軸２７ｃと、第１ベルト２７ｄ１と、第２ベルト２７ｄ２とを備える。駆動プーリ２７ａは、アーム用モータ２６の出力軸（図示せず）に接続される。
【００４２】
従動プーリ２７ｂは、アーム２２の基端部２２ａに接続される。このとき、従動プーリ２７ｂは、移動本体部１０の側面に穿設された挿通孔（図示せず）を通って、アーム２２の基端部２２ａに接続される。したがって、アーム２２は、移動本体部１０の外側に位置され、従動プーリ２７ｂは、移動本体部１０の内側（内部空間１３）に位置されることとなる。
【００４３】
中間軸２７ｃは、移動本体部１０に回転可能に支持される。また、中間軸２７ｃは、一端に第１中間プーリ２７ｃ１が設けられる一方、他端に第２中間プーリ２７ｃ２が設けられる。上記した駆動プーリ２７ａと、従動プーリ２７ｂと、中間軸２７ｃの第１、第２中間プーリ２７ｃ１，２７ｃ２とは、互いの回転中心軸が略平行とされる。
【００４４】
なお、上記した「平行」や後述する「水平」などの語句は、必ずしも数学的に厳密な精度を必要とするものではなく実質的な公差や誤差などについては許容されるものである。
【００４５】
第１ベルト２７ｄ１は、駆動プーリ２７ａおよび第１中間プーリ２７ｃ１に巻き掛けられる。また、第２ベルト２７ｄ２は、第２中間プーリ２７ｃ２および従動プーリ２７ｂに巻き掛けられる。
【００４６】
これにより、アーム用モータ２６の駆動力は、駆動プーリ２７ａ、第１ベルト２７ｄ１を介して中間軸２７ｃの第１中間プーリ２７ｃ１へ伝達され、中間軸２７ｃが回転される。そして、中間軸２７ｃの回転に伴って第２中間プーリ２７ｃ２も回転し、その回転力は、第２ベルト２７ｄ２、従動プーリ２７ｂを介してアーム２２へ伝達され、よってアーム２２は揺動中心軸２２ｃ回りに揺動させられる。
【００４７】
したがって、各プーリの直径を適宜に設定することで、アーム用モータ２６の回転駆動力を第１動力伝達機構２７で減速して、アーム２２へ伝達することができる。具体的に例えば、駆動プーリ２７ａの直径を第１中間プーリ２７ｃ１のそれよりも小さくし、第２中間プーリ２７ｃ２の直径を従動プーリ２７ｂのそれよりも小さく設定するなどして、第１動力伝達機構２７を減速機構として機能させる。
【００４８】
なお、上記ではアーム用モータ２６の回転駆動力を第１動力伝達機構２７で減速するようにしたが、これに限定されるものではなく、例えば減速させずに、あるいは増速させてアーム２２へ伝達するようにしてもよい。
【００４９】
また、アーム２２同士は、互いに異なるアーム用モータ２６が接続されることから、それぞれが独立して駆動することができる。したがって、例えば高さＳが左右で相違する段差Ｃであっても、左右の前アーム２２ｆの動作をその高さＳに応じて個別に制御することで、それぞれの前副車輪２３ｆを段差Ｃの段差面Ｃ１に乗せて、段差Ｃを乗り越えることも可能となる。
【００５０】
また、図１などで図示を省略するが、アーム用モータ２６には、それぞれエンコーダ２８（図８参照）が取り付けられる。エンコーダ２８から出力された、アーム用モータ２６の回転量や回転角度を示すエンコーダ値は、制御部３０へ入力される。
【００５１】
副車輪２３は、アーム２２の先端部２２ｄに回転自在に取り付けられる。副車輪２３は、図３に示すように、Ｚ軸方向視（上面視）においてアーム２２と主車輪２１との間に配置される。なお、以下においては、移動本体部１０の前方の一対の副車輪２３を「前副車輪２３ｆ」、後方の一対の副車輪２３を「後副車輪２３ｂ」という場合もある。
【００５２】
また、アーム２２および副車輪２３は、図１に示すように、アーム２２が振り上げられて、副車輪２３が路面Ｂから離間した位置を「初期位置」として設定される。そして、副車輪２３は、後述の如く、移動ロボット１が段差Ｃを昇降する動作を行う場合に、アーム２２が振り下げられ路面Ｂに接地するように構成される。
【００５３】
図５に示すように、副車輪２３には、それぞれ対応する主車輪２１用の駆動用モータ２４が第２動力伝達機構２９を介して接続される。第２動力伝達機構２９は、移動本体部１０の外側に配置され、その一部はアーム２２の内部の中空部分に位置される。
【００５４】
具体的に第２動力伝達機構２９は、駆動プーリ２９ａと、従動プーリ２９ｂと、中間軸２９ｃと、第１ベルト２９ｄ１と、第２ベルト２９ｄ２とを備える。駆動プーリ２９ａは、主車輪２１の車軸２１ｄを介して駆動用モータ２４の出力軸（図示せず）に接続される。
【００５５】
従動プーリ２９ｂは、副車輪２３の車軸２３ｄに接続される。また、従動プーリ２９ｂは、アーム２２の内部の中空部分に位置される。
【００５６】
中間軸２９ｃは、移動本体部１０に回転可能に支持される。また、中間軸２９ｃは、一端に第１中間プーリ２９ｃ１が設けられ、他端に第２中間プーリ２９ｃ２が設けられる。中間軸２９ｃの第２中間プーリ２９ｃ２は、従動プーリ２９ｂと同様、アーム２２の内部の中空部分に位置される。上記した駆動プーリ２９ａと、従動プーリ２９ｂと、中間軸２９ｃの第１、第２中間プーリ２９ｃ１，２９ｃ２とは、互いの回転中心軸が略平行とされる。
【００５７】
第１ベルト２９ｄ１は、駆動プーリ２９ａおよび第１中間プーリ２９ｃ１に巻き掛けられる。また、第２ベルト２９ｄ２は、第２中間プーリ２９ｃ２および従動プーリ２９ｂに巻き掛けられる。上記したように第２中間プーリ２９ｃ２と従動プーリ２９ｂとは、アーム２２の中空部分に位置されるため、この第２ベルト２９ｄ２もアーム２２の中空部分に位置される。
【００５８】
このように、第２動力伝達機構２９の一部をアーム２２の中空部分に配置したことから、アーム２２および第２動力伝達機構２９の配置スペース（占有スペース）を小さくすることができ、結果として移動ロボット１全体を小型化することができる。
【００５９】
上記のように構成された第２動力伝達機構２９においては、駆動用モータ２４の駆動力は、主車輪２１の車軸２１ｄ、駆動プーリ２９ａ、第１ベルト２９ｄ１を介して中間軸２９ｃの第１中間プーリ２９ｃ１へ伝達され、中間軸２９ｃが回転される。中間軸２９ｃの回転に伴って第２中間プーリ２９ｃ２も回転し、その回転力は、第２ベルト２９ｄ２、従動プーリ２９ｂ、車軸２３ｄを介して副車輪２３へ伝達され、よって副車輪２３は回転中心軸２３ｃ回りに回転させられる。
【００６０】
したがって、各プーリの直径を適宜に設定することで、駆動用モータ２４の回転駆動力を第２動力伝達機構２９で減速して、副車輪２３へ伝達することができる。具体的に例えば、駆動プーリ２９ａの直径を第１中間プーリ２９ｃ１のそれよりも小さくし、第２中間プーリ２９ｃ２の直径を従動プーリ２９ｂのそれよりも小さく設定するなどして、第２動力伝達機構２９を減速機構として機能させる。
【００６１】
なお、上記では駆動用モータ２４の回転駆動力を第２動力伝達機構２９で減速するように構成したが、これは例示であって限定されるものではなく、例えば減速させずに、あるいは増速させて副車輪２３へ伝達するようにしてもよい。
【００６２】
このように、駆動用モータ２４は、対応する主車輪２１および副車輪２３の両方に接続され、主車輪２１および副車輪２３を駆動する。すなわち、駆動用モータ２４が、主車輪２１の駆動源、副車輪２３の駆動源として兼用されることから、副車輪２３専用のモータを不要にでき、その分移動ロボット１を小型化することができる。
【００６３】
また、副車輪２３同士は、互いに異なる駆動用モータ２４に接続されることから、副車輪２３はいずれも駆動輪として機能し、またそれぞれが独立して駆動することができる。そのため、例えば段差Ｃを乗り越えているときに、副車輪２３の回転速度を左右で異ならせることで、段差Ｃを乗り越えながら移動本体部１０の進行方向Ａの向きを変えるなどの動作も可能となる。
【００６４】
なお、第２動力伝達機構２９の構成は、上記に限定されるものではなく、例えば駆動用モータ２４と副車輪２３との間にクラッチを介挿してもよい。これにより、例えば移動ロボット１が段差Ｃを昇降する場合に限って、クラッチで駆動用モータ２４と副車輪２３とを接続し、副車輪２３を回転駆動させるようにすることができる。
【００６５】
図１に示すように、移動ロボット１はさらに、路面Ｂの段差Ｃを検出する段差検出部４０を備える。段差検出部４０は、複数個（例えば２個。図１において１個見えず）あり、移動本体部１０の上面１０ｕ（正確にはカバー１２の上面）に取付部材４１を介して取り付けられる。なお、図３において、移動本体部１０に対する段差検出部４０の位置を想像線で示した。また、上記では、段差検出部４０を２個備えるように構成したが、これに限定されるものではなく、例えば１個あるいは３個以上であってもよい。
【００６６】
具体的に段差検出部４０は、図３に示すように、進行方向Ａにおいて移動本体部１０の前方の左右側にそれぞれ取り付けられる。詳しくは、段差検出部４０は、移動本体部１０の前面１０ｆから進行方向Ａ側へ離間した位置に配置される。
【００６７】
段差検出部４０としては、例えば取付部材４１の取付位置から路面Ｂまでの距離（図１に破線の矢印で示す）を測定するレーザ変位計を用いることができる。段差検出部４０から出力される、路面Ｂまでの距離を示す信号は、制御部３０へ入力される。制御部３０では、入力された信号に基づいて段差Ｃの高さを算出し、その高さがしきい値より大きい場合、段差検出部４０の直下に段差Ｃがあると判定する。
【００６８】
なお、上記では、段差検出部４０としてレーザ変位計を例に挙げたが、これに限定されるものではなく、例えば静電容量センサなどを用いて路面Ｂまでの距離を測定するようにしてもよい。また、段差検出部４０が例えばカメラなどを備えるようにし、カメラで撮像された画像を解析することで、段差Ｃを検出してもよい。
【００６９】
ここで、上記のような移動ロボット１を構成する各要素の設計要件について説明する。図６は、移動ロボット１を構成する各要素を模式的に示す模式側面図である。なお、図６および以降の図では、理解の便宜のため、移動本体部１０を省略したり、アーム２２を直線で表すなどして、移動ロボット１を簡略化して示す。
【００７０】
移動ロボット１の各構成要素のパラメータを、図６に示す記号で定義する。具体的には、下記のように、
Ｄｍ：主車輪２１の直径
Ｄｓ：副車輪２３の直径
Ｄｚ：主車輪２１の回転中心軸２１ｃからアーム２２の揺動中心軸２２ｃまでのＺ軸方向（鉛直下向き方向）におけるオフセット量
Ｄｘ：主車輪２１の回転中心軸２１ｃからアーム２２の揺動中心軸２２ｃまでのＸ軸方向におけるオフセット量
Ｌａ：アーム２２の長さ
θｆ：前アーム２２ｆと水平面（ＸＹ平面）とのなす角度
θｂ：後アーム２２ｂと水平面（ＸＹ平面）とのなす角度
Ｓ：段差Ｃの高さ
である。また、図６に示していないが後述する式で用いる値として、
θｆs：前副車輪２３ｆが段差Ｃに接したときの前アーム２２ｆと水平面（ＸＹ平面）とのなす角度
θｂs：後副車輪２３ｂが段差Ｃに接したときの後アーム２２ｂと水平面（ＸＹ平面）とのなす角度
とおく。
【００７１】
移動ロボット１が高さＳの段差Ｃを昇降するために、各パラメータは、以下の式（１）〜（６）で表される６つの条件を満たすように設定される。各条件について図７Ａ〜７Ｃを参照しつつ説明する。図７Ａ〜７Ｃは、移動ロボット１の各要素を模式的に示す模式側面図である。
【００７２】
（条件１）
前副車輪２３ｆが段差Ｃに乗り上げたときの前副車輪２３ｆの下端２３ｆ１の位置が前輪２１ｆの前端２１ｆ１より前方にあること（図７Ａ参照）。この条件１は、下記の式（１）で表される。
【数１】
2014162605.tif 000003
【００７３】
（条件２）
前副車輪２３ｆが段差Ｃに乗り上げるため、前副車輪２３ｆの下端２３ｆ１が段差Ｃより高い位置に到達できること（図７Ａ参照）。この条件２は、下記の式（２）で表される。
【数２】
2014162605.tif 000004
【００７４】
（条件３）
前アーム２２ｆの揺動中心軸２２ｃが前輪２１ｆの下端２１ｆ２より鉛直方向において上方にあること（図７Ａ参照）。この条件３は、下記の式（３）で表される。
【数３】
2014162605.tif 000005
【００７５】
（条件４）
前副車輪２３ｆが段差Ｃに乗り上げたときの位置から、想像線で示すような前輪２１ｆの真下に来るまで、前輪２１ｆの回転中心軸２１ｃと前副車輪２３ｆの下端２３ｆ１との距離（矢印Ｇ）が、前輪２１ｆの半径より常に大きいこと（図７Ｂ参照）。この条件４は、下記の式（４）で表される。
【数４】
2014162605.tif 000006
【００７６】
（条件５）
前輪２１ｆと後輪２１ｂとがともに段差Ｃに乗り上げた状態で、後副車輪２３ｂを振り下げて段差Ｃの進行方向手前側の路面Ｂに接地したときに、後副車輪２３ｂの前端２３ｂ１が後輪２１ｂの下端２１ｂ１よりも後側（具体的にはＸ軸方向において負側）にあること（図７Ｃ参照）。この条件５は、下記の式（５）で表される。
【数５】
2014162605.tif 000007
【００７７】
（条件６）
前輪２１ｆと後輪２１ｂとがともに段差Ｃに乗り上げた状態で、後副車輪２３ｂの下端２３ｂ２が段差Ｃの進行方向手前側の路面Ｂより低い位置に到達できること（図７Ｃ参照）。この条件６は、下記の式（６）で表される。
【数６】
2014162605.tif 000008
【００７８】
移動ロボット１は、各構成要素のパラメータが上記した条件１〜６を満たすように設定されることで、高さＳの段差Ｃを昇降することができる。
【００７９】
次いで、制御部３０について図８を参照しつつ説明する。図８は、移動ロボット１の構成を示すブロック図である。
【００８０】
なお、図８では、本実施形態の説明にあたり必要な構成要素のみを示しており、一般的な構成要素についての記載を省略している。また、複数個の構成要素（例えば、駆動用モータ２４やアーム用モータ２６）については、図示の簡略化のため、１つのブロックにまとめて示すが、実際には複数個の構成要素が個別に制御されることは前述した通りである。
【００８１】
図８に示すように、移動ロボット１の制御部３０は、移動ロボット１の動作を制御する制御装置であり、例えばコンピュータなどからなる。制御部３０は、例えば図示しない上位コントローラ（もしくは操作者）から、移動本体部１０の前進、後進、旋回、段差乗り越えなどの操作指令が入力され、入力された操作指令に応じて駆動用モータ２４やアーム用モータ２６などの動作を制御する。なお、制御部３０は、上記した操作指令によらずに、前後進、旋回、段差乗り越えなどを行うように構成してもよい。
【００８２】
制御部３０は具体的に、駆動輪制御部３１と、段差乗り越え制御部３２とを備える。駆動輪制御部３１は、段差乗り越え制御部３２と通信可能に接続されるとともに、駆動用モータ２４のエンコーダ２５のエンコーダ値などが入力される。駆動輪制御部３１は、後述するように段差乗り越え制御部３２から受け取った制御指令やエンコーダ２５のエンコーダ値などに基づいて駆動用モータ２４の動作を制御し、主車輪２１および副車輪２３を回転駆動させる。
【００８３】
段差乗り越え制御部３２は、上位コントローラからの操作指令、具体的には段差乗り越え開始指令に応じて、自律的に段差乗り越え動作が実行されるように移動ロボット１の動作を制御する。
【００８４】
段差乗り越え制御部３２には、段差検出部４０の出力信号やアーム用モータ２６のエンコーダ２８のエンコーダ値が入力される。段差乗り越え制御部３２は、入力された各種信号に基づき、アーム用モータ２６の動作を制御し、アーム２２を揺動させる。また、段差乗り越え制御部３２は、段差乗り越え時において駆動輪制御部３１へ制御指令を出力し、駆動用モータ２４を介して主車輪２１および副車輪２３を回転駆動させる。
【００８５】
図９は、図８に示す段差乗り越え制御部３２の構成を示すブロック図である。図９に示すように、段差乗り越え制御部３２は、段差乗り越えシーケンス処理部３３と、段差検出処理部３４と、モータ制御部３５とを備える。
【００８６】
段差乗り越えシーケンス処理部３３は、段差乗り越え動作を自律的に実行するためのシーケンス処理を行う。具体的に段差乗り越えシーケンス処理部３３は、駆動用モータ２４の駆動情報（エンコーダ値など）および段差検出処理部３４から得られる段差検出値ＳＲ，ＳＬ（後述）に基づき、アーム２２の揺動角や駆動輪（主車輪２１および副車輪２３）に関する制御指令を出力する。この処理については後述する。
【００８７】
段差検出処理部３４は、移動本体部１０の左右に設けられた段差検出部４０の出力から左右の段差検出値ＳＲ，ＳＬを算出する処理を実行する。なお、上記した段差検出値ＳＲは、右側の段差検出部４０から算出された値であり、段差検出値ＳＬは、左側の段差検出部４０から算出された値である。
【００８８】
具体的に段差検出処理部３４は、左右の段差検出部４０の出力信号が入力されると、ＡＤコンバータ３４ａを介して出力電圧ＡｏｕｔＲ，ＡｏｕｔＬを得る。そして、段差検出処理部３４では、出力電圧ＡｏｕｔＲ，ＡｏｕｔＬを乗算器３４ｂ、フィルタ３４ｃへ供給し、下記の式（７）のように左右の段差検出値ＳＲ，ＳＬを算出する。なお、段差検出値ＳＲ，ＳＬは段差乗り越えシーケンス処理部３３へ入力され、そこで左右の段差検出値ＳＲ，ＳＬから下記の式（８）を用いて段差Ｃの平均段差検出値（段差Ｃの高さ）Ｓを求める。
【数７】
2014162605.tif 000009
【数８】
2014162605.tif 000010
【００８９】
モータ制御部３５の説明の前に、段差乗り越え制御部３２の機能について説明すると、段差乗り越え制御部３２では、アーム２２の角度制御が主として行われる。アーム２２への角度指令は、段差乗り越えシーケンス処理部３３によって生成されるため、モータ制御部３５は２次フィルタ３５ｃを乗じた値をアーム用モータ２６への位置指令として出力する。
【００９０】
なお、本実施形態に係る移動ロボット１の段差乗り越えでは、副車輪２３の接地時における衝撃を軽減させるため、下記のような動作１，２が採られている。
（動作１）：副車輪２３の接地直前でアーム２２の振り下げ速度を落とし、接地衝撃を緩和する。
（動作２）：アドミッタンス制御を用いて柔軟制御し、接地衝撃を緩和する。
【００９１】
モータ制御部３５において、アドミッタンス制御に基づく位置指令補正量θｃｏｍｐｘは、図９において破線で囲まれた、外力Ｔ＾ｄｘを推定する外乱オブザーバ（DOBS(Disturbance  Observer)）３５ａと、仮想的なマスバネダンパ系を模擬する２次フィルタ３５ｂによって得られる。具体的には下記の式（９）にしたがって演算する。
【数９】
2014162605.tif 000011
【００９２】
したがって、アーム用モータ２６への位置指令θ＊ｍｘは、位置指令補正量θｃｏｍｐｘと、段差乗り越えシーケンス処理部３３からの位置指令θ＊ｘを２次フィルタ３５ｃに供給して得た値とを、加算器３５ｄにおいて加算して算出される。具体的に位置指令θ＊ｍｘは、下記の式（１０）を用いて演算される。なお、ここでの指令フィルタの設定は、例えば減衰係数ζが１．０、角周波数ωｎが２πｒａｄ/ｓ程度とされるが、これらは例示であって限定されるものではない。
【数１０】
2014162605.tif 000012
【００９３】
そして、位置指令θ＊ｍｘはアーム用モータ２６側の位置速度制御部３６へ供給され、そこでトルク指令Ｔ＊ｍｘが算出され、算出されたトルク指令Ｔ＊ｍｘに基づいてアーム用モータ２６は駆動される。なお、上記した各式および後述する式における添字ｘは、前後左右のアーム２２であることを示し、例えば右前、左前、右後、左後のアーム２２の順で、θ＊ｘはθ＊ｆｒ，θ＊ｆｌ，θ＊ｂｒ，θ＊ｂｌなどと置換することができるものとする。
【００９４】
以上を踏まえつつ、次いで、移動ロボット１の制御部３０（正確には段差乗り越えシーケンス処理部３３など）で実行される、移動ロボット１の段差乗り越え処理について説明する。
【００９５】
なお、以下では、移動ロボット１が段差Ｃを乗り越える場面を例に挙げて説明するが、段差Ｃを降りる場合についても使用する数式等は変化せず、段差Ｃや管理する距離の符号を反転することで対応することができる。
【００９６】
図１０は、移動ロボット１の段差乗り越え処理手順を示すフローチャートである。図１０に示すように、先ず制御部３０は、段差乗り越え開始指令（以下「開始指令」という）が例えば上位コントローラから入力されたか否かを判定する（ステップＳ１０）。
【００９７】
制御部３０は、開始指令が入力されない場合（ステップＳ１０，Ｎｏ）、ステップＳ１０の処理を繰り返す。一方、制御部３０は、開始指令が入力された場合（ステップＳ１０，Ｙｅｓ）、続いて排他処理を実行する（ステップＳ１１）。この排他処理とは、移動ロボット１において、段差Ｃを乗り越えるための制御が行われているときは、例えば非常停止指令以外の処理を受け付けないようにする処理である。
【００９８】
次いで、制御部３０は、移動ロボット１が所定速度Ｖａで前進するように、駆動用モータ２４の動作を制御する（ステップＳ１２）。この所定速度Ｖａは、比較的低い値、例えば０．０２ｍ／ｓに設定される。したがって、ステップＳ１２の処理では、移動ロボット１は比較的低速で走行させられることとなる。
【００９９】
なお、上記した所定速度Ｖａの具体的な値は、例示であって限定されるものではない。また、以下においても各種の値に関して具体的な数値を例として挙げることもあるが、それらはあくまでも例示であって限定されるものではない。
【０１００】
次いで、制御部３０は、移動ロボット１の前進した距離Ｐ１がしきい値Ｐ１ａ未満か否かを判定する（ステップＳ１３）。なお、ここでしきい値Ｐ１ａは、移動ロボット１の大きさや用途、移動ロボット１が走行する場所などに基づいて適宜な値に設定され、ここでは例えば１ｍと設定される。
【０１０１】
制御部３０は、移動ロボット１の前進距離Ｐ１がしきい値Ｐ１ａ未満であると判定した場合（ステップＳ１３，Ｙｅｓ）、続いて左右の段差検出部４０のうちの少なくともいずれかで段差Ｃが検出されたか否かを判定する（ステップＳ１４）。
【０１０２】
ステップＳ１４では、具体的には左右の段差検出値ＳＲ，ＳＬのうちの少なくともいずれかがしきい値Ｓａよりも大きいか否で段差Ｃの有無を判定し、具体的にしきい値Ｓａよりも大きい場合、路面Ｂに段差Ｃがあると判定する。なお、しきい値Ｓａは例えば０．０１ｍとされる。
【０１０３】
制御部３０は、左右の段差検出部４０のいずれでも段差Ｃが検出されない場合（ステップＳ１４，Ｎｏ）、ステップＳ１２の処理に戻って前進動作を続ける。また、制御部３０は、左右の段差検出部４０のいずれかで段差Ｃが検出された場合（ステップＳ１４，Ｙｅｓ）、次いで移動ロボット１の位置補正・段差高さ取得処理を実行する（ステップＳ１５）。
【０１０４】
図１１は、図１０のステップＳ１５の位置補正・段差高さ取得処理の概要を示すフローチャートである。
【０１０５】
図１１に示すように、制御部３０は、先ず移動ロボット１を所定距離Ｐ２前進させ（ステップＳ１００）、続いて左右の段差検出部４０の両方で段差Ｃが検出されたか否かを判定する（ステップＳ１０１）。
【０１０６】
ここで、ステップＳ１００の処理で使用される所定距離Ｐ２、およびステップＳ１０１の処理について、図１２、図１３Ａ、図１３Ｂを参照して詳しく説明する。図１２、図１３Ａ、図１３Ｂは、移動ロボット１の模式平面図である。なお、図１２などでは、図の簡略化のため、アーム２２や副車輪２３などの図示を省略した。
【０１０７】
先ず図１２において、Ｌｓは、左右の段差検出部４０の離間距離を表し、θａは、移動本体部１０の前面１０ｆに対して平行な直線１０ｆ１と、段差Ｃの側壁面Ｃ２とのなす角度を表す。
【０１０８】
図１２のθａは、例えば移動ロボット１が段差Ｃの側壁面Ｃ２に対して傾いているが、そのままの状態であっても移動ロボット１は段差Ｃを乗り越えることができる角度の上限値とされる。すなわち、θａは移動ロボット１の段差Ｃに対する許容角度である。
【０１０９】
所定距離Ｐ２は、上記した離間距離Ｌｓと許容角度θａとを用いた、Ｌｓsin（θａ）によって求められる（図１２参照）。
【０１１０】
ここでは、ステップＳ１４で左右の段差検出部４０のいずれか一方で段差Ｃが検出された後、ステップＳ１００で移動ロボット１を所定距離Ｐ２だけ前進させ、そしてステップＳ１０１で左右の段差検出部４０の両方で段差Ｃが検出されたか否かを判定している。
【０１１１】
すなわち、図１３Ａに示すように、移動ロボット１が所定距離Ｐ２進んだにもかかわらず、左右の段差検出部４０の両方で段差Ｃが検出されない場合、移動ロボット１は、側壁面Ｃ２に対して許容角度θａを超えて傾いている状態にある。したがって、後述するように、移動本体部１０の向きを補正するようにする。
【０１１２】
他方、図１３Ｂに示すように、移動ロボット１が所定距離Ｐ２進んだときに、左右の段差検出部４０の両方で段差Ｃが検出される場合、移動ロボット１の側壁面Ｃ２に対する角度は許容角度θａの範囲内である。したがって、移動本体部１０の向きの補正を行わず、そのまま段差乗り越え動作に移行するようにする。
【０１１３】
図１１の説明に戻る。制御部３０は、左右の段差検出部４０の両方で段差Ｃが検出されない場合（ステップＳ１０１，Ｎｏ）、正確には左右の段差検出部４０のうちの一方で段差Ｃが検出され、他方で段差Ｃが検出されない場合、ステップＳ１０２以降で移動本体部１０の向きを補正する。詳しくは、ステップＳ１０２以降では、移動本体部１０が段差Ｃの側壁面Ｃ２と正対するように移動本体部１０の向きを補正する。
【０１１４】
具体的に制御部３０は、移動ロボット１が所定角速度γで信地旋回動作するように、駆動用モータ２４の動作を制御、具体的には主車輪２１の動作を制御する（ステップＳ１０２）。
【０１１５】
この信地旋回動作について、図１４Ａから図１４Ｃを参照して説明する。図１４Ａから図１４Ｃは、移動ロボット１の模式平面図である。
【０１１６】
図１４Ａでは、例えば左右の段差検出部４０のうち、右側の段差検出部４０で段差Ｃが検出され、左側の段差検出部４０で段差Ｃが検出されない場面が示されている。以下、この場面を例にとって説明する。
【０１１７】
この場合、制御部３０は、左右の主車輪２１のうち段差Ｃが検出されていない側の主車輪２１、すなわち、左側の主車輪２１を移動本体部１０が前進する方向へ回転するように、駆動用モータ２４の動作を制御する。なお、このときの右側の主車輪２１は停止している。これにより、左側の段差検出部４０は、段差Ｃへ向けて徐々に近づけられることとなる。
【０１１８】
なお、図１４Ａなどでは、信地旋回動作を理解し易くするため、主車輪２１の向きを変えて示したが、例えば実際に主車輪２１を操舵する機構を設け、同図のように、主車輪２１の向きを変えながら信地旋回動作を行うようにしてもよい。
【０１１９】
また、上記では、段差Ｃが検出されていない左側の主車輪２１を前進方向へ回転させるようにしたが、これに限定されるものではなく、段差Ｃが検出された右側の主車輪２１を、後進方向へ回転させて、信地旋回動作を行ってもよい。さらには、左右の主車輪２１で、回転方向を相違させる、いわゆる超信地旋回であってよい。
【０１２０】
図１１の説明に戻ると、制御部３０は、信地旋回による旋回角度Ｐγがしきい値Ｐγａ未満か否かを判定する（ステップＳ１０３）。このしきい値Ｐγａは、例えば４５ｄｅｇとされる。
【０１２１】
制御部３０は、旋回角度Ｐγがしきい値Ｐγａ未満の場合（ステップＳ１０３，Ｙｅｓ）、続いて、最初に段差Ｃを検出していない段差検出部４０、ここでは左側の段差検出部４０で段差Ｃが検出されたか否かを判定する（ステップＳ１０４）。具体的にステップＳ１０４は、移動本体部１０が図１４Ｂに示すような状態になったか否かを判定する処理である。
【０１２２】
制御部３０は、左側の段差検出部４０で段差Ｃが検出されない場合（ステップＳ１０４，Ｎｏ）、ステップＳ１０２の処理に戻る。他方、制御部３０は、左側の段差検出部４０で段差が検出された場合（ステップＳ１０４，Ｙｅｓ）、今度はステップＳ１０２での旋回方向とは反対側の方向へ所定旋回角度Ｒγだけ信地旋回動作を行う（ステップＳ１０５）。具体的にこの場合の制御部３０は、例えば右側の主車輪２１を移動本体部１０が前進する方向へ回転するように、駆動用モータ２４の動作を制御する。
【０１２３】
また、所定旋回角度Ｒγは、ステップＳ１０２の処理を最初に実行してからステップＳ１０４で肯定されるまでに旋回した旋回角度Ｐγよりも小さい値、例えば旋回角度Ｐγの半分程度とされる。
【０１２４】
このように、制御部３０は、移動本体部１０を反対方向へ少し戻すように旋回させて、図１４Ｂに示す状態だった移動本体部１０を、図１４Ｃに示すような、段差Ｃの側壁面Ｃ２と正対した状態にする。このように、ステップＳ１０２〜Ｓ１０５の処理では、移動本体部１０が段差Ｃの側壁面Ｃ２と正対するように移動本体部１０の向きを補正する。これにより、後述する段差Ｃの乗り越え動作において、移動ロボット１は確実に段差Ｃを乗り越えることができる。
【０１２５】
また、上記のように、移動本体部１０を信地旋回させて移動本体部１０の向きを補正することから、移動本体部１０において側壁面Ｃ２と正対させるときの動作範囲を小さくすることができる。
【０１２６】
なお、制御部３０は、旋回角度Ｐγがしきい値Ｐγａ以上となった場合（ステップＳ１０３，Ｎｏ）、そこまで旋回して段差検出部４０で段差Ｃが検出されないときには何らかの異常が発生したと判定して、そのまま図１０のフローチャートへ戻る。
【０１２７】
制御部３０は、移動本体部１０の向きを補正した後、移動ロボット１が所定速度Ｖａで前進するように、駆動用モータ２４の動作を制御する（ステップＳ１０６）。
【０１２８】
次いで、制御部３０は、ステップＳ１０６の処理によって移動ロボット１の前進した距離Ｐ３がしきい値Ｐ３ａ未満か否かを判定する（ステップＳ１０７）。なお、しきい値Ｐ３ａは例えば１０ｃｍと設定される。
【０１２９】
制御部３０は、移動ロボット１の前進距離Ｐ３がしきい値Ｐ３ａ未満である場合（ステップＳ１０７，Ｙｅｓ）、次いで段差検出部４０の両方で段差Ｃが検出されたか否かを判定する（ステップＳ１０８）。
【０１３０】
制御部３０は、左右の段差検出部４０の両方で段差Ｃが検出されない場合（ステップＳ１０８，Ｎｏ）、ステップＳ１０６の処理に戻る。なお、制御部３０は、前進距離Ｐ３がしきい値Ｐ３ａ以上となった場合（ステップＳ１０７，Ｎｏ）、そこまで前進して段差検出部４０で段差Ｃが検出されないときには何らかの異常が発生したと判定して、そのまま図１０のフローチャートへ戻る。
【０１３１】
制御部３０は、左右の段差検出部４０の両方で段差Ｃが検出された場合（ステップＳ１０８，Ｎｏ）、続いて、検出された段差Ｃの高さＳ、正確には平均段差検出値Ｓを取得する（ステップＳ１０９）。これについては、前述した式（８）を用いて算出する。
【０１３２】
次いで、制御部３０は、主車輪２１の動作を制御し、前副車輪２３ｆが段差Ｃの所定位置に接地するように移動本体部１０の位置を調整する（ステップＳ１１０）。
【０１３３】
図１５は、その移動本体部１０の位置の調整を説明するための移動ロボット１の模式側面図である。
【０１３４】
図１５に示すように、段差検出部４０で段差Ｃを検出した後、前副車輪２３ｆを段差Ｃの段差面Ｃ１の所定位置に接地させるため、移動本体部１０を前進もしくは後退させる必要がある。なお、この所定位置とは、前副車輪２３ｆが段差面Ｃ１において確実に、かつ安定して乗ることができるような位置を意味する。
【０１３５】
ここでは、例えば移動本体部１０を後退距離ｘ２後退させて、前副車輪２３ｆを段差Ｃの段差面Ｃ１の所定位置に接地させるものとする。後退距離ｘ２は、側面視において段差Ｃの段差面Ｃ１から前副車輪２３ｆの下端２３ｆ１までのＺ軸方向における距離をα、側面視において段差Ｃの側壁面Ｃ２から前副車輪２３の下端２３ｆ１までのＸ軸方向における距離をβと定義すると、下記の式（１１）から得られる。また、式（１１）中にあるアーム２２の終端位置θ＊ｆｎは、下記の式（１２）から得られる。
【数１１】
2014162605.tif 000013
【数１２】
2014162605.tif 000014
【０１３６】
具体的には、式（１２）によって求めた終端位置θ＊ｆｎを式（１１）に代入することによって、後退距離ｘ２を得ることができる。なお、このθ＊ｆｎは後に、アーム２２を振り下げるときの終端位置θ＊ｆｎとして利用する。
【０１３７】
そして、制御部３０は、移動本体部１０が算出された後退距離ｘ２だけ移動するように、駆動用モータ２４を介して主車輪２１の動作を制御する。これにより、前副車輪２３ｆを段差Ｃの段差面Ｃ１に確実かつ安定して乗せることができる。
【０１３８】
制御部３０は、次いで位置補正が正常に終了したことを示すフラグを立てて（ステップＳ１１１）、図１０のフローチャートへ戻る。なお、ステップＳ１０１で左右の段差検出部４０の両方で段差Ｃが検出された場合（ステップＳ１０１，Ｙｅｓ）、移動ロボット１は図１３Ｂに示す状態であるため、位置補正することなくステップＳ１１１へ進んで、上記した処理を行う。
【０１３９】
図１０の説明に戻ると、制御部３０は、位置補正が正常に終了したか否かを判定、すなわち、上記したフラグが立っているか否かを判定する（ステップＳ１６）。制御部３０は、位置補正が正常に終了している場合（ステップＳ１６，Ｙｅｓ）、次いでアーム振り下げ処理を実行する（ステップＳ１７）。
【０１４０】
図１６は、そのアーム振り下げ処理の概要を示すフローチャートである。
【０１４１】
図１６に示すように、制御部３０は、先ずアーム２２の振り下げ速度ωｍａｘ１を設定する（ステップＳ２００）。ここでは振り下げ速度ωｍａｘ１は比較的高い値、例えば３０ｄｅｇ／ｓに設定される。
【０１４２】
制御部３０は、次いで前後のアーム２２を、ステップＳ２００で設定された振り下げ速度ωｍａｘ１で終端位置θ＊ｆｎまで振り下げるように揺動させる（ステップＳ２０１）。終端位置θ＊ｆｎは、上記した式（１２）によって得られる。
【０１４３】
したがって、図１５に示すように、例えば前アーム２２ｆは、実線で示される初期位置から想像線で示される終端位置θ＊ｆｎまで、比較的高速で振り下げられることとなる。また、後アーム２２ｂも、前アーム２２ｆと同様、初期位置から、想像線で示す終端位置θ＊ｂｎまで比較的高速で振り下げられる。なお、終端位置θ＊ｆｎと終端位置θ＊ｂｎとは、同じ値とされる。
【０１４４】
次いで、制御部３０は、アーム２２の振り下げ速度ωｍａｘ２を設定する（ステップＳ２０２）。ここで振り下げ速度ωｍａｘ２は、ステップＳ２００で設定した値よりも低い値、例えば１０ｄｅｇ／ｓに設定される。
【０１４５】
制御部３０は、前アーム２２ｆを、ステップＳ２０２で設定された振り下げ速度ωｍａｘ２で終端位置θ＊ｆｅ（後述）まで振り下げるように揺動させる（ステップＳ２０３）。
【０１４６】
図１７は、そのときの移動ロボット１を示す模式側面図である。図１７に示すように、ステップ２０３の処理によって、前副車輪２３ｆが路面Ｂに接地、正確には段差Ｃの段差面Ｃ１に接地される。
【０１４７】
次いで、制御部３０は、後アーム２２ｂを、ステップＳ２０２で設定された振り下げ速度ωｍａｘ２で終端位置θ＊ｂｅ（後述）まで、前アーム２２ｆと同期させつつ振り下げるように揺動させる（ステップＳ２０４）。これにより、後副車輪２３ｂが路面Ｂに接地される。
【０１４８】
このように、路面Ｂから離間した位置、すなわち初期位置にある副車輪２３を路面Ｂに接地させる場合、副車輪２３が路面Ｂに接地する直前にアーム２２の動作速度を減速させる。これにより、副車輪２３が路面Ｂに接地する際に、移動ロボット１に作用する衝撃を軽減することができる。
【０１４９】
次いで、制御部３０は、後副車輪２３ｂを前後アーム２２ｆ，２２ｂに同期させつつ移動させる（ステップＳ２０５）。
【０１５０】
上記したステップＳ２０３〜Ｓ２０５の一連の処理について、図１８を参照して詳説する。図１８は、ステップＳ２０３〜Ｓ２０５の処理を説明するための、移動ロボット１を示す模式側面図である。
【０１５１】
まず、本実施形態に係る移動ロボット１にあっては、段差Ｃを乗り越える場合、移動本体部１０を所定の姿勢、例えば水平を維持しつつ乗り越えるように、前アーム２２ｆと後アーム２２ｂとを協働させて動作させるようにする。この移動本体部１０を水平に維持するため条件は、下記の式（１３）によって表される。
【数１３】
2014162605.tif 000015
【０１５２】
したがって、図１８に示すように、移動本体部１０を水平に維持するための後アーム２２ｂの制御角指令は、前アーム２２ｆの角度を基準とすると、以下の式（１４）によって算出される。
【数１４】
2014162605.tif 000016
【０１５３】
また、前輪２１ｆと後輪２１ｂとはともに、サーボロックされているため、アーム２２の揺動に合わせて主車輪２１の位置を協調制御する必要がある。段差Ｃに掛かる前輪２１ｆをサーボロックし、後輪２１ｂの位置で調整することを考え、段差Ｃと前副車輪２３ｆが接触した角度を近似的にθ＊ｆｎ,  θ＊ｂｎとみなし、その後の副車輪２３ｂの移動量を式（１５）によって求める。
【数１５】
2014162605.tif 000017
【０１５４】
また、アーム揺動の終端位置θ＊ｆｅ,  θ＊ｂｅは、主車輪２１の接地点が段差Ｃを越えればよいため、マージンδを見込んで式（１６）、式（１７）で算出される。なお、この終端位置θ＊ｆｅ,  θ＊ｂｅが、ステップＳ２０３，Ｓ２０４で使用される。
【０１５５】
アドミッタンス制御を用いているため、自重によって位置指令と終端位置に誤差が生じるが、仮想的に設定したバネダンパの特性に応じてマージンδを調整すればよい。
【数１６】
2014162605.tif 000018
【数１７】
2014162605.tif 000019
【０１５６】
このように、制御部３０は、移動本体部１０を所定の姿勢、例えば水平を維持しつつ乗り越えるように、前後アーム２２ｆ，２２ｂを協働させて動作させるようにした。
【０１５７】
これにより、移動ロボット１は、段差Ｃを乗り越える際に重心のバランスも維持されることから、横転などすることはなく、段差Ｃを確実に乗り越えることができる。また、例えば移動ロボット１が物を運搬する用途で用いられる場合、段差Ｃを乗り越えるときに移動本体部１０の姿勢を水平に維持することで、物が落下するのを防止することができる。
【０１５８】
また、前後アーム２２ｆ，２２ｂを協働させることで、移動本体部１０が持ち上がるときに移動本体部１０からアーム２２へ作用する負荷を分散させることができ、アーム２２やアーム用モータ２６を小型化することもできる。
【０１５９】
なお、移動本体部１０の所定の姿勢は、水平に限定されるものではなく、例えば移動本体部１０を前方または後方に傾斜するような姿勢でもよく、あるいは左側または右側に傾斜するようにしてもよい。
【０１６０】
図１０の説明に戻ると、制御部３０は次いで移動ロボット１を所定速度Ｖａで所定距離Ｐ４前進させる（ステップＳ１８）。所定距離Ｐ４は、例えば進行方向Ａにおける移動ロボット１の長さ（全長）と同程度の値に設定される。
【０１６１】
図１９は、所定距離Ｐ４前進した後の移動ロボット１を示す模式側面図である。図１９に示すように、ステップＳ１８の処理によって移動ロボット１は、前輪２１ｆおよび後輪２１ｂがともに、段差Ｃの段差面Ｃ１のところまで移動された状態とされる。
【０１６２】
なお、移動ロボット１にあっては、上記したマージンδを見込むようにしたことから、図１９に示すように、主車輪２１は段差Ｃの段差面Ｃ１から離れているが、例えばマージンδをゼロに設定し、主車輪２１が段差面Ｃ１に接地するようにしてもよい。これにより、移動ロボット１は、主車輪２１と副車輪２３との両方の回転駆動によって所定距離Ｐ４前進することができ、段差Ｃを乗り越えるのに要する時間を短縮することもできる。
【０１６３】
制御部３０は、次いでアーム振り上げ処理を実行する（ステップＳ１９）。図２０は、そのアーム振り上げ処理の概要を示すフローチャートである。
【０１６４】
図２０に示すように、制御部３０は、アーム２２の振り上げ速度ωｍａｘ３を設定する（ステップＳ３００）。ここでは振り上げ速度ωｍａｘ３は、比較的低い値、例えば１０ｄｅｇ／ｓに設定される。
【０１６５】
制御部３０は、前アーム２２ｆを、ステップＳ３００で設定された振り上げ速度ωｍａｘ３で終端位置θ＊ｆｐ（後述）まで振り上げるように揺動させる（ステップＳ３０１）。
【０１６６】
図２１は、そのときの移動ロボット１を示す模式側面図である。図２１に示すように、ステップ３０１の処理によって、前副車輪２３ｆが路面Ｂから所定距離（マージンδ）離反される。
【０１６７】
次いで、制御部３０は、後アーム２２ｂを、ステップＳ３００で設定された振り上げ速度ωｍａｘ３で終端位置θ＊ｂｐ（後述）まで、前アーム２２ｆと同期させつつ振り上げるように揺動させる（ステップＳ３０２）。これにより、図２１に示す如く、後副車輪２３ｂも路面Ｂから離反される。
【０１６８】
次いで、制御部３０は、後副車輪２３ｂを前後アーム２２ｆ，２２ｂに同期させつつ移動させる（ステップＳ３０３）。
【０１６９】
上記したステップＳ３００〜Ｓ３０３の一連の処理について詳説する。図２１に示すように、移動ロボット１が段差Ｃを乗り越えた後、式（１６）においてＳ＝０かつδ＜０とすると、移動本体部１０が着地して副車輪２３が路面Ｂから所定距離（マージンδ）だけ浮上した状態に制御することができる。
【０１７０】
よって、このときのアーム２２の終端位置θ＊ｆｐ，θ＊ｂｐは、下記の式（１８）、（１９）を用いて算出され、ステップＳ３０１，Ｓ３０２で使用される。また、上記したようにアーム振り上げ時は、終端位置θ＊ｆｐ，θ＊ｂｐになるまでアーム２２を低速で動作させる。
【数１８】
2014162605.tif 000020
【数１９】
2014162605.tif 000021
【０１７１】
また、ステップＳ３０３において、振り上げ時の後副車輪２３ｂの移動量dPosxbについても、振り下げ時の式（１５）と同様に考え、下記の式（２０）を用いて算出するようにする。
【数２０】
2014162605.tif 000022
【０１７２】
図２０の説明に戻ると、次いで、制御部３０は、アーム２２の振り上げ速度ωｍａｘ４を設定する（ステップＳ３０４）。ここで振り上げ速度ωｍａｘ４は、ステップＳ３００で設定した値よりも高い値、例えば３０ｄｅｇ／ｓに設定される。
【０１７３】
次いで、制御部３０は、図２１に想像線で示すように、前後アーム２２ｆ，２２ｂを、ステップＳ３０４で設定された振り上げ速度ωｍａｘ４で終端位置θ＊ｉｎｉｔまで振り上げるように揺動させる（ステップＳ３０５）。すなわち、ステップＳ３０５の処理によって、アーム２２および副車輪２３が初期位置まで戻される。
【０１７４】
このようにアーム２２を動作させて、路面Ｂに接地される副車輪２３を路面Ｂから離反させて初期位置へ戻す場合、副車輪２３が路面Ｂから所定距離δ離反するまでのアーム２２の動作速度（振り上げ速度ωｍａｘ３）が、副車輪２３が所定距離δ離反してから初期位置へ戻るまでのアーム２２の動作速度（振り上げ速度ωｍａｘ４）よりも低くなるようにした。
【０１７５】
これにより、副車輪２３は比較的低速で路面Ｂから離反することから、主車輪２１が路面Ｂに接地するときに、移動ロボット１が路面Ｂから受ける衝撃を軽減することができる。
【０１７６】
図１０の説明に戻ると、制御部３０は、排他処理を解除する（ステップＳ２０）。これにより、移動ロボット１は段差乗り越え制御から通常制御へ切り替えられる。このようにして、移動ロボット１の段差乗り越え動作が終了する。
【０１７７】
なお、制御部３０は、ステップＳ１３において移動ロボット１の前進した距離Ｐ１がしきい値Ｐ１ａ以上になった場合（ステップＳ１３，Ｎｏ）、移動ロボット１の付近に段差Ｃがない、あるいは何らかの異常が発生したと判定してステップＳ２０の処理後、プログラムを終了する。
【０１７８】
また、制御部３０は、ステップＳ１６において位置補正が正常に終了していないと判定した場合（ステップＳ１６，Ｎｏ）、同様に、何らかの異常が発生したと判定してステップＳ２０の処理後、プログラムを終了する。
【０１７９】
上述してきたように、本実施形態では、主車輪２１は、移動本体部１０に回転可能に取り付けられる。アーム２２は、移動本体部１０に揺動可能に取付けられ、揺動中心軸２２ｃが主車輪２１の回転中心軸２１ｃに対してオフセットされる。副車輪２３は、アーム２２の先端部２２ｄに回転可能に取り付けられる。制御部３０は、路面Ｂの状態に応じてアーム２２の動作を制御し、副車輪２３を路面Ｂに接地させる。これにより、移動ロボット（移動体）１において、走行効率を維持しつつ、小型でかつ簡素な構成で路面Ｂの段差Ｃを乗り越えることができる。
【０１８０】
なお、上述した実施形態では、移動本体部１０の前後にアーム２２および副車輪２３をそれぞれ取り付けるように構成したが、これに限定されるものではなく、例えば移動本体部１０の前側にのみアーム２２および副車輪２３を取り付けるようにしてもよい。
【０１８１】
また、主車輪２１および副車輪２３はともに駆動用モータ２４で駆動されるようにしたが、これに限定されるものでなない。すなわち、主車輪２１および副車輪２３のそれぞれに別の駆動源が接続され、独立に駆動されるように構成してもよい。これにより、例えば移動ロボット１が段差Ｃを昇降する場合に限って、副車輪２３を回転駆動させるようにすることができる。また、駆動源にあっては、対応する主車輪２１または副車輪２３のみを駆動できればよいことから、小型化することもできる。
【０１８２】
また、主車輪２１などの駆動源として、移動本体部１０に収納された駆動用モータ２４を例に挙げて説明したが、例えばインホイールモータなどその他の駆動源であってもよく、さらには例えば内燃機関などであってもよい。
【０１８３】
また、上記では、移動体が移動ロボット１であるものとして説明したが、これに限定されるものではなく、例えば自動車や二輪車など移動するような構成であれば、どのようなものであってもよい。
【０１８４】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１８５】
１  移動ロボット（移動体）
１０  移動本体部
２０  移動部
２１  主車輪
２１ｃ  （主車輪の）回転中心軸
２２  アーム
２２ｃ  （アームの）揺動中心軸
２３  副車輪
２４  駆動用モータ（駆動源）
２６  アーム用モータ
３０  制御部
４０  段差検出部
Ｂ  路面
Ｃ  段差
Ｃ１  段差面
Ｃ２  側壁面
【図１】
2014162605.tif 000023
【図２】
2014162605.tif 000024
【図３】
2014162605.tif 000025
【図４】
2014162605.tif 000026
【図５】
2014162605.tif 000027
【図６】
2014162605.tif 000028
【図７Ａ】
2014162605.tif 000029
【図７Ｂ】
2014162605.tif 000030
【図７Ｃ】
2014162605.tif 000031
【図８】
2014162605.tif 000032
【図９】
2014162605.tif 000033
【図１０】
2014162605.tif 000034
【図１１】
2014162605.tif 000035
【図１２】
2014162605.tif 000036
【図１３Ａ】
2014162605.tif 000037
【図１３Ｂ】
2014162605.tif 000038
【図１４Ａ】
2014162605.tif 000039
【図１４Ｂ】
2014162605.tif 000040
【図１４Ｃ】
2014162605.tif 000041
【図１５】
2014162605.tif 000042
【図１６】
2014162605.tif 000043
【図１７】
2014162605.tif 000044
【図１８】
2014162605.tif 000045
【図１９】
2014162605.tif 000046
【図２０】
2014162605.tif 000047
【図２１】
2014162605.tif 000048
【国際調査報告】
2014162605.tif 000049
2014162605.tif 000050
2014162605.tif 000051
2014162605.tif 000052
2014162605.tif 000053
2014162605.tif 000054
2014162605.tif 000055
2014162605.tif 000056