(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-07
(45)【発行日】2023-11-15
(54)【発明の名称】自律移動体
(51)【国際特許分類】
G05D 1/02 20200101AFI20231108BHJP
【FI】
G05D1/02 X
(21)【出願番号】P 2020025183
(22)【出願日】2020-02-18
【審査請求日】2022-05-18
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】山村 憲司
【審査官】今井 貞雄
(56)【参考文献】
【文献】特開2019-175036(JP,A)
【文献】特開昭60-112110(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
(57)【特許請求の範囲】
【請求項1】
3つ以上の全方向移動車輪を備え、前記全方向移動車輪の回転によって移動する車両と、
大きさを速度指令値、前記車両の基準位置に対する角度を方向指令値とするベクトルであって前記車両の一点から延びる指令ベクトルを導出する指令導出部と、
前記車両を回転させる際の角速度指令値を導出する角速度指令導出部と、
前記車両の速度が前記速度指令値に追従し、前記車両の移動方向が前記方向指令値に追従するように前記車両を移動させながら、前記車両の角速度が前記角速度指令値に追従するように前記車両を回転させる制御部と、を備え、
前記角速度指令導出部は、1回の制御周期の間に変化する前記車両の回転角度が、1回の制御周期の間に変更され得る前記方向指令値の最大変更量未満の値になるように前記角速度指令値を導出
し、
前記指令導出部は、前記1回の制御周期の間における前記車両の回転角度だけ前記指令ベクトルの方向指令値を前記車両の回転方向とは反対方向に変更させる自律移動体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律移動体に関する。
【背景技術】
【0002】
自律移動体は、車両と、制御装置と、を備える。車両は、複数の車輪と、車輪を回転させるためのモータと、モータを駆動させるモータドライバと、を備える。モータドライバは、制御装置による指令に従いモータを回転させることで、車輪を回転させる。車輪として、全方向移動車輪を用いた自律移動体としては、例えば、特許文献1に記載されている。車輪として全方向移動車輪を用いることで、車両は、回転しない状態での移動、回転しながらの移動、移動しない状態での回転が可能である。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記したように、全方向移動車輪を用いた車両は、回転しながらの移動が可能である。制御装置は、車両を回転させながら移動させる場合、車両の速度及び車両の移動方向の指令値となる指令ベクトルと、車両の角速度指令値とを独立して導出する。指令ベクトルは、大きさを速度指令値、車両の基準位置に対する角度を方向指令値とするベクトルである。車両が回転しながら移動する場合、基準位置が車両の回転方向にずれていく。車両を直進させる場合、基準位置がずれていく方向とは反対方向への方向指令値を大きくすることで、車両を直進させる。この際、車両の角速度指令値が過剰に大きくなると、車両を意図した移動方向に移動させることができないおそれがある。
【0005】
本発明の目的は、車両の移動方向にずれが生じることを抑制できる自律移動体を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決する自律移動体は、3つ以上の全方向移動車輪を備え、前記全方向移動車輪の回転によって移動する車両と、大きさを速度指令値、前記車両の基準位置に対する角度を方向指令値とするベクトルであって前記車両の一点から延びる指令ベクトルを導出する指令導出部と、前記車両を回転させる際の角速度指令値を導出する角速度指令導出部と、前記車両の速度が前記速度指令値に追従し、前記車両の移動方向が前記方向指令値に追従するように前記車両を移動させながら、前記車両の角速度が前記角速度指令値に追従するように前記車両を回転させる制御部と、を備え、前記角速度指令導出部は、1回の制御周期の間に変化する前記車両の回転角度が、1回の制御周期の間に変更され得る前記方向指令値の最大変更量未満の値になるように前記角速度指令値を導出する。
【0007】
車両が回転しながら移動すると、車両の回転方向に基準位置がずれていく。角速度指令値は、1回の制御周期の間に変化する車両の回転角度が1回の制御周期の間に変更され得る方向指令値の最大変更量未満になるように導出される。このため、1回の制御周期の間に基準位置がずれた分だけ、車両の回転方向とは反対方向に方向指令値を変更することができる。方向指令値を変更することで、車両の回転による移動方向のずれを抑制できる。このため、角速度指令値が過剰に大きくなることにより、車両の移動方向がずれることを抑制することができる。
【発明の効果】
【0008】
本発明によれば、車両の移動方向にずれが生じることを抑制できる。
【図面の簡単な説明】
【0009】
【
図7】変更可能範囲の導出方法を説明するための図。
【発明を実施するための形態】
【0010】
以下、自律移動体の一実施形態について説明する。
図1に示すように、自律移動体10は、車両20と、車両20に搭載されたセンサ31と、車両20に搭載された制御装置32と、を備える。車両20は、車体21と、複数の車輪22と、車両20を移動させるための駆動機構23と、を備える。車両20は、制御装置32に制御されることで、登録された追尾対象Tを追尾するように自律移動する移動体である。自律移動体10は、追尾対象Tとの離間距離が所定の範囲内となるように移動する。
【0011】
車輪22は、オムニホイール、メカナムホイール、オムニボールなどの全方向移動車輪である。全方向移動車輪は、回転軸を中心として回転可能であり、かつ、回転軸の軸線方向への移動を許容する車輪である。車輪22は、3つ以上設けられている。車輪22の回転数、及び、回転方向が制御されることで、車両20は、回転しない状態での全方向への移動、回転しながらの移動、移動しない状態での回転が可能である。車両20は、操舵装置を備えず、複数の車輪22同士の回転数の差と回転方向の違いを利用して移動方向の変更、及び回転をするものである。なお、上記した「全方向」とは、車両20が移動する路面上での移動方向を示す。
【0012】
図2に示すように、駆動機構23は、車輪22を回転させるためのモータ24と、モータ24を駆動させるモータドライバ25と、エンコーダ26と、を備える。なお、図示は省略するが、モータ24及びモータドライバ25は、車輪22の数と同数設けられる。これにより、各車輪22の回転数と回転方向を独立して制御することが可能である。エンコーダ26は、車輪22毎に個別に設けられている。
【0013】
モータドライバ25には、指令回転数を示す情報と指令回転方向を示す情報を含む指令が制御装置32から入力される。モータドライバ25は、指令回転数に追従するようにモータ24の回転数を制御する。モータドライバ25は、指令回転方向とモータ24の回転方向が一致するようにモータ24を制御する。
【0014】
エンコーダ26は、例えば、モータ24の回転軸の回転量に基づいたパルス信号を出力するインクリメンタル型のエンコーダである。エンコーダ26は、モータ24の回転軸の回転数を検出する。モータドライバ25は、エンコーダ26の検出結果から、モータ24の回転数、及び回転方向を認識可能である。車両20は、モータ24の駆動による車輪22の回転によって移動する。
【0015】
センサ31としては、制御装置32に車両20の周辺に存在する物体を認識させることができ、かつ、自律移動体10から物体までの距離を測定できるものが用いられる。物体は、追尾対象T及び障害物を含む。
【0016】
本実施形態では、センサ31として、LIDAR:Laser Imaging Detection and Rangingを用いている。LIDARは、レーザーを周辺に照射し、レーザーが当たった部分によって反射された反射光を受光することで周辺環境を認識可能な距離計である。本実施形態のLIDARとしては、水平方向の照射角度を変更しながらレーザーを照射する二次元距離計が用いられる。
【0017】
図3に示すように、センサ31のレーザーの照射範囲は、例えば、水平方向への照射可能角度θ1=270°の範囲である。照射可能角度θ1の中央を基準軸Bとすると、レーザーの照射範囲は基準軸B±135°の範囲である。センサ31のレーザーの照射範囲は、中心角270°の扇形となる。レーザーの照射範囲は、センサ31による物体の検出を行える検出範囲ともいえる。レーザーは、270°の範囲を一定角度置きに照射されていく。一定角度は、角度分解能に応じた角度である。以下の説明において、車体21において、基準軸Bの延びる方向に位置する部位を正面Fと称する。
【0018】
レーザーが照射された物体における当該レーザーが当たった部分を測定点とすると、センサ31は、センサ31から測定点までの距離をレーザー照射から反射光を受光するまでの時間から算出し、レーザーの照射角度に対応付けて距離情報として、制御装置32に出力するものである。詳述すると、センサ31は、レーザー照射後、反射光を受光すると、レーザー照射から反射光を受光するまでの時間からセンサ31から測定点までの距離を算出し、算出した距離をレーザーの照射角度に対応付けて距離情報として、制御装置32に出力する。従って、制御装置32は、センサ31から受信した距離情報から車両20の周囲に物体が存在することを判断することができ、物体が存在する場合、物体までの距離と照射角度とを把握できる。なお、距離情報は、測定点の座標といえる。測定点の座標は、基準軸Bの延びる方向をX軸、水平方向のうちX軸に直交する軸をY軸とする直交座標系の座標である。座標は、センサ31を原点とする直交座標系の測定点の位置を表しているといえる。なお、本実施形態では、センサ31を直交座標系の原点としているが、車体21における水平方向の中心位置等、自律移動体10の任意の位置を原点とすることができる。
【0019】
制御装置32は、CPUやGPU等のプロセッサ33と、RAM及びROM等からなる記憶部34と、を備える。記憶部34には、自律移動体10を動作させるためのプログラムが記憶されている。記憶部34は、処理をプロセッサ33に実行させるように構成されたプログラムコードまたは指令を格納しているといえる。記憶部34、すなわち、コンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。制御装置32は、ASIC:Application Specific Integrated CircuitやFPGA:Field Programmable Gate Array等のハードウェア回路によって構成されていてもよい。処理回路である制御装置32は、コンピュータプログラムに従って動作する1つ以上のプロセッサ、ASICやFPGA等の1つ以上のハードウェア回路、或いは、それらの組み合わせを含み得る。また、自律移動体10は、制御装置32が読み取り可能な補助記憶装置を備えていてもよく、補助記憶装置に各種プログラムが記憶されていてもよい。
【0020】
制御装置32は、センサ31の検出結果から車両20の周囲に存在する物体を検出する。制御装置32は、複数の距離情報のうち、距離の差が所定範囲内の値が所定範囲内の照射角度に亘って存在する場合、それら複数の距離情報をクラスタ化して点群とする。制御装置32は、点群を物体と判断する。制御装置32は、点群の座標から物体の水平方向の寸法を導出する。
【0021】
制御装置32は、検出された物体から追尾対象Tを認識する。追尾対象Tの情報は、例えば、制御装置32の記憶部34に記憶されている。追尾対象Tの情報とは、例えば、追尾対象Tの形状や追尾対象Tの水平方向の寸法である。制御装置32は、登録された追尾対象Tの情報に適合する物体を追尾対象Tと判定する。制御装置32は、追尾対象Tと判定した物体とは異なる物体を障害物と判定する。
【0022】
制御装置32は、車両20を制御するための各種指令を導出する。制御装置32は、車両20を移動させる場合、指令ベクトルを導出し、この指令ベクトルに従って車両20を走行させる。指令ベクトルは、車両20の一点から延びるベクトルである。本実施形態において、車両20の一点は、水平方向における車両20の中心CPである。
【0023】
図4に指令ベクトルVVの一例を示す。指令ベクトルVVの大きさVは速度指令値、車両20の正面Fに対する指令ベクトルVVの角度θは方向指令値を示している。本実施形態において、車両20の正面Fは、車両20の移動方向の基準となる基準位置である。車両20の正面Fに対する指令ベクトルVVの角度θとは、車両20の中心CPと正面Fとを繋ぐ仮想的な線分L1と、指令ベクトルVVとがなす角の角度である。線分L1は、基準軸B、即ち、X軸と一致する線分である。制御装置32は、車両20の速度が速度指令値に追従し、車両20の移動方向が方向指令値に追従するようにモータ24の回転数及び回転方向を導出する。制御装置32は、指令回転数を示す情報と指令回転方向を示す情報を含む指令をモータドライバ25に出力する。これにより、車両20は指令ベクトルVVに従って移動する。車両20を回転させずに車両20を移動させる場合、車両20の正面Fが車両20の移動方向を向いた状態で車両20は移動する。
【0024】
次に、車両20を移動させながら車両20を回転させる際に制御装置32が行う処理について説明する。
図5に示すように、ステップS1において、制御装置32は、目標位置に向けて車両20を移動させるための速度指令値及び方向指令値からなる指令ベクトルVVを導出する。目標位置は、車両20の現在位置、車両20の周辺環境、追尾対象Tの現在位置等によって設定される。本実施形態の車両20は、追尾対象Tを追尾するため、車両20の周囲に障害物が存在しない場合、目標位置は追尾対象Tから離間した位置であって追尾対象Tとの離間距離が所定の範囲内となる位置に設定される。目標位置は、過去に追尾対象Tが通過した位置と捉えることもできる。車両20の周囲に障害物が存在している場合であり、追尾対象Tを追尾する際に障害物に接触したり、障害物に過剰に接近するおそれがある場合、制御装置32は障害物を回避できる位置に目標位置を設定する。
【0025】
制御装置32は、例えば、車両20の速度から指令ベクトルVVの速度指令値を導出する。制御装置32は、車両20を加速させる場合、車両20の現在の速度よりも高い値を速度指令値とする。制御装置32は、車両20の速度を維持する場合、車両20の現在の速度と同様の値を速度指令値とする。制御装置32は、車両20を減速させる場合、車両20の現在の速度よりも低い値を速度指令値とする。なお、指令ベクトルVVの速度指令値は、種々の手法で導出することができる。例えば、指令ベクトルVVの速度指令値は、車両20から目標位置までの距離が長いほど大きな値としてもよい。制御装置32は、車両20の移動方向が目標位置を向くように指令ベクトルVVの方向指令値を導出する。ステップS1の処理を行うことで、制御装置32は、指令導出部を備えているといえる。
【0026】
図6に示すように、1周期の間に変更可能な指令ベクトルVVには制限が設定されている。指令ベクトルVVの速度指令値及び方向指令値は、1周期の間に変更可能範囲A内で変更可能である。変更可能範囲Aは、前回の制御周期での指令ベクトルVV0から導出される。モータ24の応答性やモータ24の出力等、モータ24の性能による制限によって、1回の制御周期の間に指令ベクトルVVを大きく変更したとしても実際の車両20の速度や移動方向が指令ベクトルVVに追従できない場合がある。このため、変更可能範囲Aを設定し、この変更可能範囲A内で指令ベクトルVVの変更を許容することで、車両20の円滑な移動を可能にしている。
【0027】
指令ベクトルVVは、車両20の中心CPを原点とする極座標系の極座標として捉えることができる。詳細にいえば、指令ベクトルVVは、車両20の中心CPを原点、線分L1を始線、指令ベクトルVVと線分L1とのなす角を偏角、原点からの指令ベクトルVVの大きさを動径とする極座標系における極座標として捉えることができる。前回の制御周期での指令ベクトルVV0の大きさをV0、正面Fに対する角度をθ0とすると、前回の制御周期での指令ベクトルVV0の極座標は(V0,θ0)と捉えることができる。なお、
図6では、前回の制御周期での指令ベクトルVV0は正面Fを向いているため、角度θ0=0°である。
【0028】
変更可能範囲Aは、上記極座標系における前回の制御周期での指令ベクトルVV0の極座標(V0,θ0)を中心とする円形の範囲である。変更可能範囲Aの半径rは、前回の制御周期での指令ベクトルVV0の極座標(V0,θ0)を始点とするベクトルで定義され、当該ベクトルの大きさは、例えば、車両20の加速度[m/s2]×制御周期[s]である。変更可能範囲Aの半径rは、前回の制御周期での指令ベクトルVV0の極座標(V0,θ0)を極座標系の原点とした場合に、1回の制御周期の間に変化可能な速度[m/s]の上限を表しているといえる。なお、本実施形態において、車両20の加速度は一定である。車両20の加速度の上限値は、モータ24の性能によって定まる。車両20の加速度は、加速度の上限値以下の範囲で適宜設定することができる。
【0029】
上記したように、指令ベクトルVVは、車両20の中心CPを原点とする極座標系での極座標として捉えることができる。一方で、変更可能範囲Aは、前回の制御周期での指令ベクトルVV0の極座標(V0,θ0)を始点とするベクトルで定義されている。変更可能範囲Aについても、車両20の中心CPを原点とする極座標系での極座標として捉えるため、以下の方法で、車両20の中心CPを原点とする変更可能範囲Aの極座標を導出する。
【0030】
図7に示すように、前回の制御周期での指令ベクトルVV0の大きさV0は既知の値であり、変更可能範囲Aの半径rも既知の値である。前回の制御周期での指令ベクトルVV0と、前回の制御周期での指令ベクトルVV0から変更可能範囲Aの円周上に延びるベクトルとのなす角の角度をθnとする。余弦定理を用いて、角度θnを任意の値とした場合における車両20の中心CPから変更可能範囲Aの円周上までのベクトルVVrの大きさVrを導出することができる。同様に、余弦定理を用いて、角度θnを任意の値とした場合における車両20の中心CPから変更可能範囲Aの円周上まで延びるベクトルVVrと、前回の制御周期での指令ベクトルVV0とのなす角の角度θxを導出することができる。前回の制御周期での指令ベクトルVV0の角度θ0は既知の値であるため、角度θ0と角度θxから、車両20の中心CPから変更可能範囲Aの円周上までのベクトルVVrの角度θrを導出することができる。即ち、前回の制御周期での指令ベクトルVV0と、変更可能範囲Aの半径rから、角度θnを任意の値とした場合における車両20の中心CPから変更可能範囲Aの円周上までのベクトルVVrの極座標(Vr,θr)を導出することができる。なお、
図7では、前回の制御周期での指令ベクトルVV0が正面Fを向いているため、角度θxと角度θrは一致している。角度θnを所定角度毎に変更して、車両20の中心CPから変更可能範囲Aの円周上までのベクトルVVrを導出することで、車両20の中心CPを原点とする変更可能範囲Aの円周上の極座標を導出することができる。仮に、角度θnを1°毎に変更した場合、変更可能範囲Aの円周上の極座標が360箇所得られ、当該極座標を円周とする変更可能範囲Aを導出できる。変更可能範囲Aは、前回の制御周期での指令ベクトルVV0からの速度指令値の変更量が大きいほど方向指令値の変更量が小さくなるように設定された範囲である。
【0031】
変更可能範囲Aを導出するための半径rと角度θnは予め設定されており、記憶部34や補助記憶装置に記憶されている。制御装置32は、半径rと角度θnを用いて前回の制御周期での指令ベクトルVV0から変更可能範囲Aを導出可能である。
【0032】
図5及び
図6に示すように、ステップS2において、制御装置32は、1回の制御周期の間に変更され得る方向指令値の最大変更量θcを導出する。最大変更量θcは、前回の制御周期での指令ベクトルVV0から導出することができる。
【0033】
1周期の間に方向指令値の変更量が最大となるのは、今回の制御周期での指令ベクトルVV1が円形の変更可能範囲Aの接線となるときである。言い換えれば、前回の制御周期での指令ベクトルVV0、今回の制御周期での指令ベクトルVV1、両指令ベクトルVV0,VV1を示す極座標同士を繋ぐ線分による三角形が、前回の制御周期での指令ベクトルVV0を斜辺とする直角三角形のときである。従って、最大変更量θcは、以下の(1)式で導出することができる。
【0034】
【数1】
ただし、V0≦rの場合、θc=180°とする。
【0035】
次に、
図5及び
図8に示すように、ステップS3において、制御装置32は、角速度指令値ω[rad/sec]の上限ω
maxを導出する。角速度指令値ωは、1回の制御周期の間に変化する車両20の回転角度φが、1回の制御周期の間に変更され得る最大変更量θc未満の値になるように導出される。1回の制御周期の間に変化する車両20の回転角度φは、制御周期をT1[sec]とすると、以下の(2)式から導出できる。
【0036】
【数2】
角速度指令値ωは、回転角度φが最大変更量θcを超えないように制御されるため、回転角度φと最大変更量θcの関係は以下の(3)式で表現することができる。
【0037】
【数3】
αは、1よりも大きい任意の値である。αは、自律移動体10のユーザーなどが任意に設定することができる。αは、例えば、1.5~3.0の範囲で設定される。(3)式から把握できるように、回転角度φの上限は、θc/αである。(2)式及び(3)式から、角速度指令値ωの上限ω
maxは、以下の(4)式で与えられる。
【0038】
【数4】
(4)式から把握できるように、ステップS2で最大変更量θcを導出することで、角速度指令値ωの上限ω
maxを導出することができる。
【0039】
次に、ステップS4において、制御装置32は、角速度指令値ωを上限ωmax以下に設定する。角速度指令値ωを上限ωmax以下とすることで、回転角度φが最大変更量θcを超えないように制御を行うことができる。ステップS3及びステップS4の処理を行うことで、制御装置32は、角速度指令導出部を備えているといえる。
【0040】
なお、変更可能範囲Aの半径rと、制御周期T1は固定値である。このため、最大変更量θcは、前回の制御周期での指令ベクトルVV0の大きさV0によって変動する。(4)式は、以下の(5)式に変形することができる。
【0041】
【数5】
(5)式から把握できるように、前回の制御周期での指令ベクトルVV0の大きさV0が大きくなるほど、最大変更量θcは小さくなる。従って、角速度指令値ωは、前回の制御周期での指令ベクトルVV0の大きさV0によって制限されているともいえる。言い換えれば、角速度指令値ωは、車両20の速度によって制限されている。
【0042】
次に、ステップS5において、制御装置32は、指令ベクトルVV及び角速度指令値ωに従って車両20を駆動させる。制御装置32は、指令ベクトルVVの速度指令値に従った速度で、指令ベクトルVVの方向指令値に従った方向に移動しつつ、角速度が角速度指令値ωに追従するようにモータ24の指令回転数及び指令回転方向を演算する。制御装置32は、複数のモータ24毎に個別に指令回転数及び指令回転方向を演算し、モータドライバ25に指令回転数及び指令回転方向を含む指令を出力する。モータドライバ25は、指令回転数及び指令回転方向に従ってモータ24を制御する。これにより、指令ベクトルVV、及び角速度指令値ωに従い車両20は移動する。ステップS5の処理を行うことで、制御装置32は制御部を備えているといえる。
【0043】
ステップS6において、制御装置32は、指令ベクトルVVを保存する。指令ベクトルVVは、例えば、RAMや補助記憶装置に記憶される。ステップS6で保存された指令ベクトルVVは、次回の制御周期で、前回の制御周期での指令ベクトルVV0として、変更可能範囲Aの導出や最大変更量θcの導出に用いられる。
【0044】
本実施形態の作用について説明する。
図9及び
図10に示すように、車両20が回転しながら目標位置に向けて移動する場合を想定する。制御装置32は、目標位置に向けて車両20を移動させるために、指令ベクトルVVが目標位置に向かうように指令ベクトルVVを導出する。仮に、車両20を回転させずに車両20を目標位置に移動させる場合、正面Fが目標位置を向いた状態で車両20は移動する。正面Fは車両20の移動方向を向くため、制御周期毎に指令ベクトルVVの方向指令値を変化させることなく、車両20を移動させることができる。
【0045】
車両20が回転している場合、1回の制御周期の間に車両20の回転角度φ分だけ車両20の回転方向に正面Fの位置がずれる。このため、指令ベクトルVVが目標位置に向かうようにするためには、1回の制御周期の間における車両20の回転角度φ、即ち、1回の制御周期の間における正面Fのずれ角だけ指令ベクトルVVの方向指令値を車両20の回転方向とは反対方向に変更させる必要がある。即ち、方向指令値の基準となる基準位置のずれを相殺するように指令ベクトルVVを導出する必要がある。
【0046】
図9には、1回の制御周期の間に変化する車両20の回転角度φが、最大変更量θcを超えるように角速度指令値ωが導出された場合の車両20の動きを示している。1回の制御周期の間における車両20の回転角度φが最大変更量θcを超えると、指令ベクトルVVの方向指令値の変更量が回転角度φよりも小さくなる。結果として、制御周期毎に、指令ベクトルVVは車両20の回転方向に傾いていき、車両20の移動方向は目標位置を向かなくなる。即ち、車両20は意図した移動方向に移動することができず、目標位置に到達するまでの時間が長くなるおそれがある。
【0047】
図10には、本実施形態の制御を行った場合の車両20の動きを示している。1回の制御周期の間における車両20の回転角度φが最大変更量θc未満であれば、回転方向への正面Fのずれ角を相殺するように、方向指令値を変更することができ、車両20が回転している状態であっても移動方向が目標位置を向く。
【0048】
本実施形態の効果について説明する。
(1)制御装置32は、1回の制御周期の間に変化する車両20の回転角度φが1回の制御周期の間に変更され得る方向指令値の最大変更量θc未満になるように角速度指令値ωを導出する。このため、1回の制御周期の間に正面Fがずれた角度分だけ、車両20の回転方向とは反対方向に方向指令値を変化させることができる。方向指令値を変化させることで、車両20の回転による移動方向のずれを抑制できる。このため、角速度指令値ωが過剰に大きくなることにより、車両20の移動方向がずれることを抑制することができる。
【0049】
実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変形例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
○変更可能範囲Aの大きさは適宜変更してもよい。また、変更可能範囲Aは、円形の範囲に限られず、多角形の範囲や楕円形の範囲であってもよい。
【0050】
○変更可能範囲Aは設定されていなくてもよい。この場合、1回の制御周期の間に、指令ベクトルVVの方向指令値を変更できる範囲に制限を課す。即ち、指令ベクトルVVに課される制限は、方向指令値の制限のみであってもよい。この場合、最大変更量θcは一定値となる。
【0051】
○センサ31として用いられるLIDARとして、水平方向及び鉛直方向の両方の照射角度を変更しながらレーザーを照射する三次元距離計を用いてもよい。
○センサ31として、ステレオカメラを用いてもよい。ステレオカメラは、複数のカメラによって周辺環境を撮像することで得られた視差画像から周辺環境を制御装置32に認識させる。視差画像は、同一の特徴点について複数のカメラによって撮像を行った場合に、カメラ間で生じる画素差を示すものである。特徴点は、物体のエッジなど視差が得られる部分、即ち、撮像された画像の各画素において輝度が変化する画素である。制御装置32は、ステレオカメラの眼間距離、焦点距離、視差画像などを用いてセンサ31から特徴点までの距離及び方位を求めることができる。なお、センサ31としては、ミリ波レーダーを用いることもできる。
【0052】
○センサ31は、LIDARとステレオカメラなど、複数のセンサを組み合わせたものであってもよい。即ち、センサ31は、単数のセンサによって構成されていてもよいし、複数のセンサによって構成されていてもよい。
【0053】
○自律移動体10は、経路を追従するものであってもよい。
○追尾対象Tの検出は、追尾対象Tにセンサ31により検出できる目印などを設けることで行われてもよい。また、追尾対象Tの検出は、センサ31とは別の検出部によって行われてもよい。
【0054】
○駆動機構23としては、速度指令値に追従するように車両20の速度を制御することができれば、どのような構成のものでもよい。
○基準位置は、正面F以外であってもよい。
【0055】
○制御装置32は、点群だけでなく、1つの距離情報を物体と認識してもよい。
【符号の説明】
【0056】
F…基準位置としての正面、10…自律移動体、20…車両、24…モータ、32…制御装置。