(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024047448
(43)【公開日】2024-04-05
(54)【発明の名称】制御装置、走行装置、制御方法及び制御プログラム
(51)【国際特許分類】
G05D 1/43 20240101AFI20240329BHJP
【FI】
G05D1/02 H
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022153063
(22)【出願日】2022-09-26
(71)【出願人】
【識別番号】000232302
【氏名又は名称】ニデック株式会社
(74)【代理人】
【識別番号】100109380
【弁理士】
【氏名又は名称】小西 恵
(74)【代理人】
【識別番号】100109036
【弁理士】
【氏名又は名称】永岡 重幸
(72)【発明者】
【氏名】芳川 知樹
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA01
5H301AA10
5H301BB05
5H301CC03
5H301CC06
5H301GG08
(57)【要約】 (修正有)
【課題】走行装置の旋回後の位置及び向きの理論値に対する実際値の誤差を簡易な構成によって抑制することができる制御装置、走行装置、制御方法及び制御プログラムの提供。
【解決手段】走行装置の旋回後の位置及び向きを補正する制御装置であって、走行装置が旋回する前に、固定物体の2次元外形を検出する第1検出部と、指定角度だけ旋回した走行装置の位置の理論値と向きの理論値とを、第1検出部により検出された固定物体の2次元外形に基づいて算出する第1算出部と、走行装置の旋回後の位置の実際値と向きの実際値とを、第1検出部により検出された固定物体の2次元外形に基づいて検出する第2検出部と、第1算出部により算出された走行装置の位置の理論値及び向きの理論値と、第2検出部により検出された走行装置の位置の実際値及び向きの実際値と、の差に基づいて走行装置の駆動部を制御する制御部と、を有する制御装置。
【選択図】
図2
【特許請求の範囲】
【請求項1】
走行装置の旋回後の位置及び向きを補正する制御装置であって、
前記走行装置が旋回する前に、固定物体の2次元外形を検出する第1検出部と、
指定角度だけ旋回した前記走行装置の位置の理論値と向きの理論値とを、前記第1検出部により検出された前記固定物体の2次元外形に基づいて算出する第1算出部と、
前記走行装置の旋回後の位置の実際値と向きの実際値とを、前記第1検出部により検出された前記固定物体の2次元外形に基づいて検出する第2検出部と、
前記第1算出部により算出された前記走行装置の位置の理論値及び向きの理論値と、前記第2検出部により検出された前記走行装置の位置の実際値及び向きの実際値と、の差に基づいて前記走行装置の駆動部を制御する制御部と、
を有する制御装置。
【請求項2】
前記第1検出部により検出された前記固定物体の2次元外形に基づいて、前記走行装置の現在位置の実際値と現在の向きの実際値とを検出する第3検出部と、
前記第1検出部により検出された前記固定物体の2次元外形に基づいて、前記走行装置の現在位置の理論値と現在の向きの理論値とを算出する第2算出部と、をさらに備え、
前記制御部は、前記第3検出部により検出された現在位置の実際値及び現在の向きの実際値と、前記第2算出部により算出された現在位置の理論値及び現在の向きの理論値との差に基づいて、前記走行装置の駆動部を制御する、
請求項1に記載の制御装置。
【請求項3】
前記第3検出部により検出された現在位置の実際値と、前記第2算出部により算出された現在位置の理論値との差に基づいて、前記走行装置が有している現在位置情報を更新する更新部をさらに備える請求項2に記載の制御装置。
【請求項4】
前記固定物体は、
所定間隔で隔てられた壁を含む、
請求項2に記載の制御装置。
【請求項5】
前記走行装置は、
所定間隔で隔てられた壁の間を走行可能である、
請求項2に記載の制御装置。
【請求項6】
前記走行装置は、
自律走行装置である、
請求項1から請求項5のいずれかに記載の制御装置。
【請求項7】
前記第1検出部は、
二次元レーザセンサである、
請求項1から請求項5のいずれかに記載の制御装置。
【請求項8】
請求項1から請求項5のいずれかに記載の制御装置と、
前記制御装置により制御される駆動部と、
を有する走行装置。
【請求項9】
走行装置の旋回後の位置及び向きを補正する制御装置における制御方法であって、
前記走行装置が旋回する前に、固定物体の2次元外形を検出する第1検出ステップと、
指定角度だけ旋回した前記走行装置の位置の理論値と向きの理論値とを、前記第1検出ステップにより検出した前記固定物体の2次元外形に基づいて算出する第1算出ステップと、
前記走行装置の旋回後の位置の実際値と向きの実際値とを、前記第1検出ステップにより検出した前記固定物体の2次元外形に基づいて検出する第2検出ステップと、
前記第1算出ステップにより算出した前記走行装置の位置の理論値及び向きの理論値と、前記第2検出ステップにより検出した前記走行装置の位置の実際値及び向きの実際値と、の差に基づいて前記走行装置の駆動部を制御する制御ステップと、
を有する制御方法。
【請求項10】
コンピュータに、
走行装置が旋回する前に、固定物体の2次元外形を検出する第1検出ステップと、
指定角度だけ旋回した前記走行装置の位置の理論値と向きの理論値とを、前記第1検出ステップにより検出した前記固定物体の2次元外形に基づいて算出する第1算出ステップと、
前記走行装置の旋回後の位置の実際値と向きの実際値とを、前記第1検出ステップにより検出した前記固定物体の2次元外形に基づいて検出する第2検出ステップと、
前記第1算出ステップにより算出した前記走行装置の位置の理論値及び向きの理論値と、前記第2検出ステップにより検出した前記走行装置の位置の実際値及び向きの実際値と、の差に基づいて前記走行装置の駆動部を制御する制御ステップと、
を実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、走行装置の旋回後の位置及び向きを補正する制御装置、走行装置、制御方法及び制御プログラムに関する。
【背景技術】
【0002】
従来、工場、倉庫又は店舗等において、人間に代わって荷物を搬送する搬送機が知られている。このような搬送機は、目的地まで自律的に移動するため、現在位置を把握する必要がある。
【0003】
従来、自律的に移動する搬送機が現在位置を把握する方法としては、搬送機が床又は壁に設置された位置座標を含むQRコード(登録商標)又は磁気テープ等の物理マーカーより位置座標を読み取って、読み取った位置座標により現在位置を認識する方法が知られている。しかしながら、物理マーカーを設置する場合には、コスト増となると共に物理マーカーを読み取り可能な専用のセンサを搬送機に搭載する必要がある。また、物理マーカーを床に設置した場合には、人が歩いたりフォークリフトが走行したりすることにより、物理マーカーが劣化して剥がれたり破れたりする可能性がある。この場合、物理マーカーを貼り直す必要があり、コスト増となる。
【0004】
また、従来の自律的に移動する搬送機が現在位置を把握する方法としては、搬送機の車輪の回転量から移動量を演算して現在位置を推定する方法が知られている。しかしながら、この方法では、車輪の回転量の誤差が蓄積して位置推定誤差も大きくなるため、周囲の状況を計測できる複数のセンサを組み合わせて移動時の位置推定誤差を補正している。この際に、事前走行時に取得したデータをもとに作成した地図内に、標識等のランドマーク又はマーカーを設定し、後から同じ場所を走行してランドマークを検出した際に現在位置を補正していた。
【0005】
上記したような従来技術の課題に対し、特許文献1は、自車両の周囲に存在する物標と自車両との間の相対位置を自車両の移動量だけ移動させて物標位置データとして蓄積し、自車両が走行してきた方向に観測される観測物標の物標位置データと、蓄積された物標位置データと、を比較して物標位置の差が所定値未満となる区間に蓄積された物標位置データを選択し、選択された物標位置データと、地図情報に含まれる物標位置情報と、を照合して自車両の自己位置を推定する自己位置推定方法を開示している。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1においては、自車両の周囲に存在する物標を検出するための複数のカメラ及び複数のセンサと、地図情報と、が必要になると共に、物標位置データと物標位置情報とを比較する処理を行う演算機を搭載する必要があるため、構成が複雑になるという課題を有する。また、従来、移動せずに旋回する場合に位置誤差が大きくなることが知られており、旋回中の位置誤差を抑制する技術及び旋回後の停止位置精度を向上させる技術が必要である。
【0008】
本発明の目的は、走行装置の旋回後の位置及び向きの理論値に対する実際値の誤差を簡易な構成によって抑制することができる制御装置、走行装置、制御方法及び制御プログラムを提供することである。
【課題を解決するための手段】
【0009】
本発明に係る制御装置は、走行装置の旋回後の位置及び向きを補正する制御装置であって、前記走行装置が旋回する前に、固定物体の2次元外形を検出する第1検出部と、指定角度だけ旋回した前記走行装置の位置の理論値と向きの理論値とを、前記第1検出部により検出された前記固定物体の2次元外形に基づいて算出する第1算出部と、前記走行装置の旋回後の位置の実際値と向きの実際値とを、前記第1検出部により検出された前記固定物体の2次元外形に基づいて検出する第2検出部と、前記第1算出部により算出された前記走行装置の位置の理論値及び向きの理論値と、前記第2検出部により検出された前記走行装置の位置の実際値及び向きの実際値と、の差に基づいて前記走行装置の駆動部を制御する制御部と、を有する。
【0010】
本発明に係る走行装置は、上記の制御装置と、前記制御装置により制御される駆動部と、を有する。
【0011】
本発明に係る制御方法は、走行装置の旋回後の位置及び向きを補正する制御装置における制御方法であって、前記走行装置が旋回する前に、固定物体の2次元外形を検出する第1検出ステップと、指定角度だけ旋回した前記走行装置の位置の理論値と向きの理論値とを、前記第1検出ステップにより検出した前記固定物体の2次元外形に基づいて算出する第1算出ステップと、前記走行装置の旋回後の位置の実際値と向きの実際値とを、前記第1検出ステップにより検出した前記固定物体の2次元外形に基づいて検出する第2検出ステップと、前記第1算出ステップにより算出した前記走行装置の位置の理論値及び向きの理論値と、前記第2検出ステップにより検出した前記走行装置の位置の実際値及び向きの実際値と、の差に基づいて前記走行装置の駆動部を制御する制御ステップと、を有する。
【0012】
本発明に係る制御プログラムは、コンピュータに、走行装置が旋回する前に、固定物体の2次元外形を検出する第1検出ステップと、指定角度だけ旋回した前記走行装置の位置の理論値と向きの理論値とを、前記第1検出ステップにより検出した前記固定物体の2次元外形に基づいて算出する第1算出ステップと、前記走行装置の旋回後の位置の実際値と向きの実際値とを、前記第1検出ステップにより検出した前記固定物体の2次元外形に基づいて検出する第2検出ステップと、前記第1算出ステップにより算出した前記走行装置の位置の理論値及び向きの理論値と、前記第2検出ステップにより検出した前記走行装置の位置の実際値及び向きの実際値と、の差に基づいて前記走行装置の駆動部を制御する制御ステップと、を実行させる。
【発明の効果】
【0013】
本発明によれば、走行装置の旋回後の位置及び向きの理論値に対する実際値の誤差を簡易な構成によって抑制することができる。
【図面の簡単な説明】
【0014】
【
図1A】本発明の実施形態に係る走行装置の正面図である。
【
図1B】本発明の実施形態に係る走行装置の側面図である。
【
図1C】本発明の実施形態に係る走行装置の平面図である。
【
図2】本発明の実施形態に係る走行装置の構成を示すブロック図である。
【
図3A】本発明の実施形態に係る走行装置の旋回前の状態を示す模式図である。
【
図3B】本発明の実施形態に係る走行装置の旋回後の状態を示す模式図である。
【
図4】本発明の実施形態に係る制御装置の動作を示すフロー図である。
【
図5】本発明の実施形態に係る制御装置が実行する位置調整処理を示すフロー図である。
【
図6A】本発明の実施形態に係る走行装置が旋回位置に到達する前の状態を示す模式図である。
【
図6B】本発明の実施形態に係る走行装置が左旋回した状態を示す模式図である。
【
図6C】本発明の実施形態に係る走行装置が並進移動した状態を示す模式図である。
【
図6D】本発明の実施形態に係る走行装置が右旋回した状態を示す模式図である。
【
図6E】本発明の実施形態に係る走行装置が通路に侵入する直前の状態を示す模式図である。
【
図7A】本発明の実施形態に係る走行装置の旋回前の状態を示す模式図である。
【
図7B】本発明の実施形態に係る走行装置の旋回中の状態を示す模式図である。
【
図7C】本発明の実施形態に係る走行装置の旋回後の状態を示す模式図である。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら、本発明の例示的な実施形態に係る制御装置、走行装置、制御方法及び制御プログラムついて説明する。なお、本発明の範囲は、以下の実施形態に限定されず、本発明の技術的思想の範囲内で任意に変更可能である。また、以下の図面においては、各構成をわかりやすくするために、各構造における縮尺および数等を、実際の構造における縮尺および数等と異ならせる場合がある。
【0016】
<走行装置の構成>
本発明の実施形態に係る走行装置1の構成について、
図1Aから
図2を参照しながら、詳細に説明する。
【0017】
走行装置1は、自律走行可能であり、駆動輪2と、受動輪3と、制御装置4と、駆動部5と、天板6と、を有している。走行装置1は、外部からの指示に応じて、旋回(回転)、並進(直進)等を行うことができるとする。
【0018】
駆動輪2は、駆動部5が駆動することにより回転駆動する。
【0019】
受動輪3は、駆動輪2の回転駆動に従動して回転駆動する。
【0020】
制御装置4は、駆動部5の駆動を制御する。制御装置4は、走行装置1の旋回後の位置及び向きを補正する。なお、制御装置4の構成の詳細については後述する。
【0021】
駆動部5は、制御装置4の制御により駆動して駆動輪2を回転駆動させる。
【0022】
天板6は、荷台として使用することができ、天板6の上に搬送物を載置することができる。また、天板6は、後述の第1検出部41の上方の検出領域を規制している。
【0023】
<制御装置の構成>
本発明の実施形態に係る制御装置4の構成について、
図2を参照しながら、詳細に説明する。
【0024】
制御装置4は、第1検出部41と、第1算出部42と、第2検出部43と、第3検出部44と、第2算出部45と、更新部46と、記憶部47と、制御部48と、を有している。
【0025】
第1検出部41は、走行装置1の周囲にある固定物体の2次元外形を検出し、2次元外形の検出結果に応じた電気信号を第1算出部42、第2検出部43、第3検出部44及び第2算出部45に出力する。固定物体は、移動しない物体であり、所定間隔で隔てられた壁を含む。第1検出部41は、例えば二次元レーザセンサである。
【0026】
第1算出部42は、第1検出部41より入力された電気信号が示す固定物体の2次元外形の検出結果に基づいて、指定角度だけ旋回した走行装置1の位置の理論値と向きの理論値とを算出し、算出結果に応じた電気信号を制御部48に出力する。
【0027】
第2検出部43は、第1検出部41より入力された電気信号が示す固定物体の2次元外形の検出結果に基づいて現在位置を推定すると共に、推定した現在位置を示す電気信号を制御部48に出力する。第2検出部43は、走行装置1の旋回後の位置の実際値と向きの実際値とを検出し、検出結果に応じた電気信号を制御部48に出力する。
【0028】
第3検出部44は、第1検出部41より入力された電気信号が示す固定物体の2次元外形の検出結果に基づいて、走行装置1の現在位置の実際値と現在の向きの実際値とを検出し、検出結果に応じた電気信号を制御部48に出力する。第3検出部44は、制御部48の指示により検出結果を更新部46に出力する。
【0029】
第2算出部45は、第1検出部41より入力された電気信号が示す固定物体の2次元外形の検出結果に基づいて、走行装置1の現在位置の理論値と現在の向きの理論値とを算出し、算出結果に応じた電気信号を制御部48に出力する。第2算出部45は、制御部48の指示により算出結果を更新部46に出力する。
【0030】
更新部46は、第3検出部44より入力された電気信号が示す現在位置の実際値の検出結果と、第2算出部45より入力された電気信号が示す現在位置の理論値の算出結果と、の差に基づいて、記憶部47に記録されている走行装置1の現在位置を更新する。
【0031】
記憶部47は、走行装置1の現在位置を記録すると共に、更新部46により記録している現在位置を更新する。
【0032】
制御部48は、第2検出部43より入力された電気信号の示す現在位置を記憶部47に記録する。制御部48は、第1算出部42より入力された電気信号が示す走行装置1の位置の理論値及び向きの理論値の算出結果と、第2検出部43より入力された電気信号が示す走行装置1の位置の実際値及び向きの実際値の検出結果と、の差に基づいて走行装置1の駆動部5を制御する。制御部48は、第3検出部44より入力された電気信号が示す現在位置の実際値及び現在の向きの実際値の検出結果と、第2算出部45より入力された電気信号が示す現在位置の理論値及び現在の向きの理論値の算出結果との差に基づいて、走行装置1の駆動部5を制御する。制御部48は、記憶部47に記録されている現在位置を更新する際に、第3検出部44に対して更新部46への検出結果の出力を指示すると共に、第2算出部45に対して更新部46への算出結果の出力を指示する。
【0033】
<制御装置の動作>
本発明の実施形態に係る制御装置4の処理・動作について、詳細に説明する。
【0034】
最初に、走行装置1の旋回動作に伴って走行装置1の位置及び向きを補正する際の制御装置4の動作について、
図3A及び
図3Bを参照しながら、詳細に説明する。
【0035】
走行装置1は、指定角度だけ旋回する際に、向きがずれるのみならず位置もずれる場合がある。制御装置4は、このような走行装置1の旋回動作に伴って生じる向き及び位置のずれを補正する。
【0036】
まず、第1検出部41は、第1検出部41の所定の検出角度内に見える固定物体100(100a、100b、100c、100d)の2次元外形を検出する。本実施形態では、所定の検出角度は270度とする。
【0037】
例えば、第1検出部41は、
図3Aに示すように、第1検出部41の所定の検出角度内に存在する4つの固定物体100a、100b、100cおよび100dを検出する。そして、第1検出部41は、固定物体100cの線分L1を折れ点P1で線分L11と線分L12とに分割して、線分L11の始点P2及び終点P3を検出すると共に、線分L12の始点P4及び終点P5を2次元外形として検出する。なお、第1検出部41は、固定物体100a、100b及び100dについても、固定物体100cと同様に、
図3Aにおいて太線で示す線分の始点及び終点を2次元外形として検出する。線分はL字状の場合もあるし、I字状の場合もある。
図3Aにおいて、線分L1はL字状であるが、線分L2はI字状である。なお、線分はL字状やI字状に限定されない(例えば、V字状でもよい)。
【0038】
次に、第1算出部42は、旋回前に、第1検出部41により検出された固定物体100の2次元外形の検出結果に基づいて、走行装置1が指定角度だけ旋回後に走行装置1より固定物体100の見える角度を、旋回後の走行装置1の向きの理論値として算出する。
【0039】
例えば、第1算出部42は、
図3Aに示す状態(旋回前)において、走行装置1の進行方向Qに対する、第1検出部41と、指定角度だけ旋回後に走行装置1より見える固定物体100dの線分L2の始点P6と、を結ぶ直線のなす角度θ1を、旋回後の走行装置1の向きの理論値として算出する。なお、走行装置1の旋回前には、進行方向Qに対する、第1検出部41と固定物体100dの線分L2の始点P6とを結ぶ直線のなす角度はθ0になっている。
【0040】
また、第1算出部42は、
図3Aに示す状態において、第1検出部41により検出された固定物体100の2次元外形の検出結果に基づいて、指定角度だけ旋回後の走行装置1の位置の理論値を算出する。
【0041】
例えば、第1算出部42は、旋回前に、指定角度だけ旋回後に走行装置1より見える固定物体100aから100dの各々の位置関係を座標に変換して旋回後の走行装置1の位置の理論値として算出する。この際に、第1算出部42は、進行方向Qに対する、第1検出部41と、指定角度だけ旋回後に走行装置1より見える固定物体100aから100dの各々の始点及び終点と、を結ぶ直線のなす角度を各々求める。そして、第1算出部42は、予め保持している各角度と座標とを対応付けたテーブルにおいて、求めた各角度に対応付けられている座標を求める。このようなテーブルは、走行装置1が実際に走行する前に予め設定される。
【0042】
次に、第2検出部43は、旋回後に、第1検出部41により検出された固定物体100の2次元外形の検出結果に基づいて、走行装置1より固定物体の見える角度を検出する。この検出角度は、旋回後の走行装置1の向きの実際値である。
【0043】
例えば、第2検出部43は、
図3Bに示すように走行装置1が反時計回りに指定角度だけ旋回した後に、進行方向Qに対する、第1検出部41と、走行装置1より見える固定物体100dの線分L2の始点P6と、を結ぶ直線のなす角度θ1を、旋回後の走行装置1の向きの実際値として検出する。
【0044】
また、第2検出部43は、旋回後に、第1検出部41により検出された固定物体100の2次元外形の検出結果に基づいて、指定角度だけ旋回後の走行装置1の位置の実際値を検出する。
【0045】
例えば、第2検出部43は、
図3Bに示した状態において、走行装置1より見える固定物体100aから100dの各々の位置関係を座標に変換して旋回後の走行装置1の位置の実際値として検出する。
【0046】
次に、制御部48は、第1算出部42により算出された走行装置1の位置の理論値及び向きの理論値と、第2検出部43により検出された走行装置1の位置の実際値及び向きの実際値と、の差に基づいて(当該差をなくすように)、速度指令値を駆動部5に出力して駆動部5を駆動させる。これにより、走行装置1の指定角度だけ旋回後の向き及び位置のずれを簡易な構成によって抑制することができる。
【0047】
なお、制御部48は、記憶部47に地図データが記憶されていて当該地図データを参照しながら現在位置を推定している場合、記憶部47に記憶されている地図データを参考にして駆動部5を駆動させる。
【0048】
続いて、走行装置1の旋回及び並進動作に伴って走行装置1の向き及び位置を補正する際の制御装置4の動作について、
図4から
図6Eを参照しながら、詳細に説明する。
図4から
図6Eでは、走行装置1が固定物体100eと固定物体100fとの間の通路を自律走行によって通過する際の動作を一例として説明する。
【0049】
まず、制御部48は、走行装置1が
図6Aに破線で示す目的地に到達するまでの走行中に、第1検出部41により検出された図示しない固定物体の2次元外形に基づいて、第2検出部43により検出された現在位置を記憶部47に記録する(S1)。
【0050】
次に、第3検出部44は、走行装置1が目的地に到達した際に、第1検出部41により検出された固定物体100e及び100fの2次元外形の検出結果に基づいて、第1検出部41と固定物体100eの折れ点P7とのなす角度、並びに、第1検出部41と固定物体100fの折れ点P8とのなす角度より、位置誤差を検出する。走行装置1は、
図6Aにおいて破線によって示す姿勢が理想姿勢であるが、
図6Bに実線で示した位置に停止する場合もある(位置誤差を生じる場合がある)。第3検出部44は、この位置誤差を検出する。
【0051】
図7Aは、
図6Bに実線で示した走行装置1と固定物体100e、100fを図示している。第3検出部44は、
図7Aに示すように、進行方向Qに対する、第1検出部41と折れ点P7とを結ぶ直線のなす角度と、第1検出部41と折れ点P8とを結ぶ直線のなす角度と、が等しくない場合に、第1検出部41と折れ点P7とを結ぶ直線のなす角度と、第1検出部41と折れ点P8とを結ぶ直線のなす角度と、の差に応じた位置誤差を検出する。
【0052】
そして、制御部48は、第3検出部44により検出された位置誤差を記憶部47に記録する(S2)。
【0053】
次に、制御部48は、記憶部47に記録した位置誤差に基づいて、走行装置1の現在位置を補正する必要があるか否かを判定する(S3)。例えば、制御部48は、第1検出部41と折れ点P7とを結ぶ直線のなす角度と、第1検出部41と折れ点P8とを結ぶ直線のなす角度と、の差が所定の閾値以上であるか否かを判定することにより現在位置を補正する必要があるか否かを判定する。ここで、所定の閾値は、
図6Aから
図7Cの場合には走行装置1が通路を走行する際、固定物体100e又は固定物体100fに衝突して固定物体100eと固定物体100fとの間の通路に侵入不可となる値に設定されている。
【0054】
制御部48は、補正する必要がない場合に(ステップS3:No)、動作を終了する。
【0055】
一方、制御部48は、補正する必要がある場合に(ステップS3:Yes)、第3検出部44により検出された固定物体100eの線分L3と固定物体100fの線分L4とを抽出する(S4)。
【0056】
次に、制御部48は、抽出した線分L3及び線分L4を追跡する動作を開始する(S5)。
【0057】
次に、制御部48は、走行装置1の旋回及び並進動作に伴って走行装置1の向き及び位置を補正する位置調整処理を実行する(S6)。なお、位置調整処理については
図5から
図7Cを用いて後述する。
【0058】
次に、更新部46は、制御部48の指示により、記憶部47に記録されている現在位置を位置調整処理により補正した現在位置に更新し(S7)、その後に動作を終了する。
【0059】
<位置調整処理>
本発明の実施形態に係る制御装置4が実行する位置調整処理について、
図5から
図7Cを参照しながら、詳細に説明する。
【0060】
図5に示すフローチャートは、
図4のステップS5(位置調整処理)の詳細を示している。
【0061】
まず、制御部48は、駆動部5の駆動を制御して、走行装置1を
図7Aに示す状態から
図7Bの状態を経て
図7Cの状態になるまで旋回させる。具体的には、制御部48は、旋回開始時の線分L3の折れ点P7と、旋回終了時の線分L3の折れ点P7と、のなす角度が90度±閾値以内になるまで走行装置1を旋回させる(S11)。
図7Cの走行装置1は、
図6Bでは破線で示し走行装置1である。
【0062】
この際に、第2算出部45は、旋回前に、第1検出部41により検出された固定物体100e及び固定物体100fの2次元外形に基づいて、走行装置1の旋回後の向きの理論値を算出する。例えば、第2算出部45は、
図7Aに示す旋回前に、走行装置1の進行方向Qに対する、第1検出部41と、90度だけ旋回後に走行装置1より見える固定物体100eの線分L3の折れ点P7と、を結ぶ直線のなす角度を、旋回後の走行装置1の向きの理論値として算出する。
【0063】
また、第2算出部45は、旋回前に、第1検出部41により検出された固定物体100e及び固定物体100fの2次元外形に基づいて、走行装置1の旋回後の現在位置の理論値を算出する。例えば、第2算出部45は、
図7Aに示す旋回前に、走行装置1の進行方向Qに対する、第1検出部41と、90度だけ旋回後に走行装置1より見える固定物体100e及び100fの各々の位置関係を座標に変換して旋回後の走行装置1の現在位置の理論値として算出する。
【0064】
また、第3検出部44は、旋回後に、第1検出部41により検出された固定物体100e及び固定物体100fの2次元外形に基づいて、走行装置1が90度だけ旋回後に走行装置1より固定物体100の見える角度を、旋回後の走行装置1の向きの実際値として検出する。例えば、第3検出部44は、
図7Cに示す旋回後に、進行方向Qに対する、第1検出部41と、90度だけ旋回後に走行装置1より見える固定物体100eの線分L3の折れ点P7と、を結ぶ直線のなす角度を、旋回後の走行装置1の向きの実際値として検出する。
【0065】
また、第3検出部44は、旋回後に、第1検出部41により検出された固定物体100e及び固定物体100fの2次元外形に基づいて、走行装置1の現在位置の実際値を検出する。例えば、第3検出部44は、
図7Cに示す旋回後に、走行装置1の進行方向Qに対する、第1検出部41と、90度だけ旋回後に走行装置1より見える固定物体100e及び100fの各々の位置関係を座標に変換して旋回後の走行装置1の現在位置の実際値として検出する。
【0066】
そして、制御部48は、第2算出部45により算出された走行装置1の現在位置の理論値及び向きの理論値と、第3検出部44により検出された走行装置1の現在位置の実際値及び向きの実際値と、の差に基づいて、速度指令値を駆動部5に出力して駆動部5を駆動させる。これにより、90度だけ旋回する走行装置1の旋回後の向き及び現在位置のずれを簡易な構成によって抑制することができる。
【0067】
次に、制御部48は、
図6Cに示すように、走行装置1がステップS2において記録した位置誤差だけ並進移動するように駆動部5の駆動を制御する(S12)。つまり、
図6Cにおいて実線で示した走行装置1が矢印方向に進み、破線で示した位置に移動する。
【0068】
この際に、第2算出部45は、並進移動前に、第1検出部41により検出された固定物体100e及び固定物体100fの2次元外形に基づいて、走行装置1の並進移動後の向きの理論値を算出する。例えば、第2算出部45は、
図6Cにおいて実線で示す並進移動前に、走行装置1の進行方向Qに対する、第1検出部41と、並進移動後に走行装置1より見える固定物体100eの線分L3の折れ点P7と、を結ぶ直線のなす角度を、並進移動後の走行装置1の向きの理論値として算出する。
【0069】
また、第2算出部45は、並進移動前に、第1検出部41により検出された固定物体100e及び固定物体100fの2次元外形に基づいて、走行装置1の並進移動後の現在位置の理論値を算出する。例えば、第2算出部45は、
図6Cにおいて実線で示す並進移動前に、走行装置1の進行方向Qに対する、第1検出部41と、90度だけ並進移動後に走行装置1より見える固定物体100e及び100fの各々の位置関係を座標に変換して並進移動後の走行装置1の現在位置の理論値として算出する。
【0070】
また、第3検出部44は、並進移動後に、第1検出部41により検出された固定物体100e及び固定物体100fの2次元外形に基づいて、走行装置1が並進移動後に走行装置1より固定物体100の見える角度を、並進移動後の走行装置1の向きの実際値として検出する。例えば、第3検出部44は、
図6Cにおいて破線で示す並進移動後に、進行方向Qに対する、第1検出部41と、90度だけ旋回後に走行装置1より見える固定物体100eの線分L3の折れ点P7と、を結ぶ直線のなす角度を、並進移動後の走行装置1の向きの実際値として検出する。
【0071】
また、第3検出部44は、並進移動後に、第1検出部41により検出された固定物体100e及び固定物体100fの2次元外形に基づいて、走行装置1の並進移動後の現在位置の実際値を検出する。例えば、第3検出部44は、
図6Cにおいて破線で示す並進移動後に、走行装置1の進行方向Qに対する、第1検出部41と、並進移動後に走行装置1より見える固定物体100e及び100fの各々の位置関係を座標に変換して並進移動後の走行装置1の現在位置の実際値として検出する。
【0072】
そして、制御部48は、第2算出部45により算出された走行装置1の現在位置の理論値及び向きの理論値と、第3検出部44により検出された走行装置1の現在位置の実際値及び向きの実際値と、の差に基づいて、速度指令値を駆動部5に出力して駆動部5を駆動させる。これにより、並進移動する走行装置1の並進移動後の向き及び現在位置のずれを簡易な構成によって抑制することができる。
【0073】
次に、制御部48は、駆動部5の駆動を制御して、走行装置1を
図6Dにおいて実線で示す状態から破線で示す状態になるように時計回り旋回させる。時計回りの旋回は、
図7Cに示す状態から
図7Bの状態を経て
図7Aの状態になるという旋回である(なお、この状態の旋回では、
図7Aに示した位置誤差はない)。具体的には、制御部48は、旋回開始時の線分L3の折れ点P7と、旋回終了時の線分L3の折れ点P7と、のなす角度が0度±閾値以内になるまで走行装置1を旋回させ(S13)、その後に位置調整処理を終了する。
【0074】
なお、ステップS13における動作において、制御部48は、ステップS11と同様の補正を行う。
【0075】
このような位置調整処理を実行することにより、走行装置1は、
図6Eに示すように、間隔を有して対向する壁等の固定物体100eと固定物体100fとの間の通路を走行することができる。
【0076】
本実施形態の制御装置4の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませて実行することにより上記の処理を行なってもよい。
【0077】
このように、本実施形態によれば、走行装置1が旋回する前に、固定物体100の2次元外形を検出する第1検出部41と、指定角度だけ旋回した走行装置1の位置の理論値と向きの理論値とを、第1検出部41により検出された固定物体100の2次元外形に基づいて算出する第1算出部42と、走行装置1の旋回後の位置の実際値と向きの実際値とを、第1検出部41により検出された固定物体100の2次元外形に基づいて検出する第2検出部43と、第1算出部42により算出された走行装置1の位置の理論値及び向きの理論値と、第2検出部43により検出された走行装置1の位置の実際値及び向きの実際値と、の差に基づいて走行装置1の駆動部5を制御する制御部48と、を有することにより、走行装置1の旋回後の位置及び向きの理論値に対する実際値の誤差を簡易な構成によって抑制することができる。
【0078】
上述した実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した実施の形態ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0079】
なお、本技術は以下のような構成をとることが可能である。
【0080】
(1)走行装置の旋回後の位置及び向きを補正する制御装置であって、前記走行装置が旋回する前に、固定物体の2次元外形を検出する第1検出部と、指定角度だけ旋回した前記走行装置の位置の理論値と向きの理論値とを、前記第1検出部により検出された前記固定物体の2次元外形に基づいて算出する第1算出部と、前記走行装置の旋回後の位置の実際値と向きの実際値とを、前記第1検出部により検出された前記固定物体の2次元外形に基づいて検出する第2検出部と、前記第1算出部により算出された前記走行装置の位置の理論値及び向きの理論値と、前記第2検出部により検出された前記走行装置の位置の実際値及び向きの実際値と、の差に基づいて前記走行装置の駆動部を制御する制御部と、を有する制御装置。
【0081】
(2)前記第1検出部により検出された前記固定物体の2次元外形に基づいて、前記走行装置の現在位置の実際値と現在の向きの実際値とを検出する第3検出部と、前記第1検出部により検出された前記固定物体の2次元外形に基づいて、前記走行装置の現在位置の理論値と現在の向きの理論値とを算出する第2算出部と、をさらに備え、前記制御部は、前記第3検出部により検出された現在位置の実際値及び現在の向きの実際値と、前記第2算出部により算出された現在位置の理論値及び現在の向きの理論値との差に基づいて、前記走行装置の駆動部を制御する、(1)に記載の制御装置。
【0082】
(3)前記第3検出部により検出された現在位置の実際値と、前記第2算出部により算出された現在位置の理論値との差に基づいて、前記走行装置が有している現在位置情報を更新する更新部をさらに備える(2)に記載の制御装置。
【0083】
(4)前記固定物体は、所定間隔で隔てられた壁を含む、(1)から(3)のいずれかに記載の制御装置。
【0084】
(5)前記走行装置は、所定間隔で隔てられた壁の間を走行可能である、(1)から(4)のいずれかに記載の制御装置。
【0085】
(6)前記走行装置は、自律走行装置である、(1)から(5)のいずれかに記載の制御装置。
【0086】
(7)前記第1検出部は、二次元レーザセンサである、(1)から(6)のいずれかに記載の制御装置。
【0087】
(8)(1)から(7)のいずれかに記載の制御装置と、前記制御装置により制御される駆動部と、を有する走行装置。
【0088】
(9)走行装置の旋回後の位置及び向きを補正する制御装置における制御方法であって、前記走行装置が旋回する前に、固定物体の2次元外形を検出する第1検出ステップと、指定角度だけ旋回した前記走行装置の位置の理論値と向きの理論値とを、前記第1検出ステップにより検出した前記固定物体の2次元外形に基づいて算出する第1算出ステップと、前記走行装置の旋回後の位置の実際値と向きの実際値とを、前記第1検出ステップにより検出した前記固定物体の2次元外形に基づいて検出する第2検出ステップと、前記第1算出ステップにより算出した前記走行装置の位置の理論値及び向きの理論値と、前記第2検出ステップにより検出した前記走行装置の位置の実際値及び向きの実際値と、の差に基づいて前記走行装置の駆動部を制御する制御ステップと、を有する制御方法。
【0089】
(10)コンピュータに、走行装置が旋回する前に、固定物体の2次元外形を検出する第1検出ステップと、指定角度だけ旋回した前記走行装置の位置の理論値と向きの理論値とを、前記第1検出ステップにより検出した前記固定物体の2次元外形に基づいて算出する第1算出ステップと、前記走行装置の旋回後の位置の実際値と向きの実際値とを、前記第1検出ステップにより検出した前記固定物体の2次元外形に基づいて検出する第2検出ステップと、前記第1算出ステップにより算出した前記走行装置の位置の理論値及び向きの理論値と、前記第2検出ステップにより検出した前記走行装置の位置の実際値及び向きの実際値と、の差に基づいて前記走行装置の駆動部を制御する制御ステップと、を実行させる制御プログラム。
【符号の説明】
【0090】
1 走行装置
2 駆動輪
3 従動輪
4 制御装置
5 駆動部
6 天板
41 第1検出部
42 第1算出部
43 第2検出部
44 第3検出部
45 第2算出部
46 更新部
47 記憶部
48 制御部
100a 固定物体
100b 固定物体
100c 固定物体
100d 固定物体
100e 固定物体
100f 固定物体