(57)【特許請求の範囲】
【請求項１】
設定された領域内を移動する移動体であって、
車体と、
前記車体に搭載され、前記車体に対して特定の方向に存在する物体と前記車体との距離を計測する測域センサと、
前記車体が移動する軌道を規定する軌道データを生成する演算装置と、
前記演算装置で生成された軌道データに基づいて、前記車体を移動させる移動機構と、を備えており、
前記演算装置は、
前記領域内に設定された第１設定位置から第２設定位置まで車体を移動させる広域的軌道データを生成する広域的軌道データ生成部と、
前記測域センサから出力される距離データに基づいて、前記第２設定位置の近傍に配置された目標物体の位置及び姿勢を認識する認識部と、
前記認識部の認識結果に基づいて、前記第２設定位置から前記目標物体に対して前記車体が予め定められた位置及び姿勢となる目標位置まで車体を移動させるアプローチ軌道データを生成するアプローチ軌道データ生成部と、
前記アプローチ軌道データが生成されたときに、前記車体が走行する軌道を前記広域的軌道データから前記アプローチ軌道データへと切換える軌道データ切換部と、を備えており、
前記アプローチ軌道データ生成部は、前記目標物体を認識するために要する時間及び前記アプローチ軌道データの生成が完了するまでに要する時間の間に、前記車体が前記広域的軌道データに従って走行する距離及び姿勢に基づいて、前記車体が前記広域的軌道データに従って走行している間に、前記アプローチ軌道データを生成する、移動体。
【請求項２】
前記軌道データ切換部は、前記車体を停止させることなく前記車体が走行する軌道を前記広域的軌道データから前記アプローチ軌道データへ切換える、請求項１に記載の移動体。
【請求項３】
前記アプローチ軌道データ生成部は、前記広域的軌道データに従って走行する前記車体の終速度と、前記アプローチ軌道データに従って走行する前記車体の初速度が等しくなるように、前記アプローチ軌道データを生成する、請求項１または２に記載の移動体。
【請求項４】
前記アプローチ軌道データ生成部は、前記車体を前記第２設定位置から前記目標位置まで移動させる間、前記認識部の認識結果に基づいて、前記アプローチ軌道データを逐次的に修正する、請求項１〜３のいずれか一項に記載の移動体。
【請求項５】
前記移動体は、前記車体に取付けられるフォークを備えるフォークリフトであって、
前記特定の方向には、前記フォークの前方に設定された空間内の物体が前記測域センサで検出可能となる角度範囲が設定される、請求項１〜４のいずれか一項に記載の移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示の技術は、移動体に関する。
【背景技術】
【０００２】
車体が目標物体に対して所定の位置関係となる目標位置に車体を自動的に位置決めする自律移動型の移動体が開発されている。この種の移動体では、通常、目標物体をセンサによって認識し、これに基づいて軌道データを生成することで、車体を目標位置に位置決めしている。
【０００３】
例えば、特許文献１の無人フォークリフトでは、車体が目標物体の遠方に位置する際は、カメラにより取得された画像データから広域的軌道データを生成し、目標物体の近傍まで車体を移動させる。車体が目標物体の近傍に位置すると、目標物体をセンサにより認識し、アプローチ軌道データを修正し、目標位置まで車体を移動させる。
【０００４】
特許文献２の移動ロボットでは、レーザ距離センサによって目標物体との距離を計測し、これに基づいて目標物体に対する自身の相対位置、相対姿勢を検出し、目標位置へ位置決めする。この移動ロボットでは、目標物体の遠方に位置する際には目標物体の距離計測を行うことはなく、目標物体の近傍に到着してからレーザ距離センサによる距離計測（すなわち、相対位置、相対姿勢）の検出が行われる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平３−２５２７０７号公報
【特許文献２】特開２０１３−６５３４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の無人フォークリフト及び特許文献２の移動ロボットは、センサによって目標物体を認識することで、正確に目標位置に位置決めすることができる。しかしながら、いずれに開示の技術でも、センサにより目標物体を認識する際は一時的に静止するため、結果として目標位置まで移動するための移動時間が長くなる。移動時間の増加は、作業時間の増加に繋がる。本明細書は、目標位置までの移動時間を短縮することができる移動体を開示する。
【課題を解決するための手段】
【０００７】
本明細書に開示する移動体は、設定された領域内を移動する。移動体は、車体と、車体に搭載され、車体に対して特定の方向に存在する物体と車体との距離を計測する測域センサと、車体が移動する軌道を規定する軌道データを生成する演算装置と、演算装置で生成された軌道データに基づいて、車体を移動させる移動機構とを備えている。演算装置は、領域内に設定された第１設定位置から第２設定位置まで車体を移動させる広域的軌道データを生成する広域的軌道データ生成部と、測域センサから出力される距離データに基づいて、第２設定位置の近傍に配置された目標物体の位置及び姿勢を認識する認識部と、認識部の認識結果に基づいて、第２設定位置から目標物体に対して車体が予め定められた位置及び姿勢となる目標位置まで車体を移動させるアプローチ軌道データを生成するアプローチ軌道データ生成部と、アプローチ軌道データが生成されたときに、車体が走行する軌道を広域的軌道データからアプローチ軌道データへと切換える軌道データ切換部とを備えている。アプローチ軌道データ生成部は、車体が広域的軌道データに従って走行している間に、アプローチ軌道データを生成する。
【０００８】
上記の移動体は、第１設定位置から認識部によって目標物体を認識できる第２設定位置まで車体が移動する軌道データを生成する広域的軌道データ生成部と、第２設定位置から目標位置まで車体が移動する軌道データを生成するアプローチ軌道データ生成部を備えている。アプローチ軌道データは、車体が広域的軌道データに沿って走行しているときに生成される。そして、アプローチ軌道データが生成されると、軌道データ切換部によって、車体の走行する軌道が広域的軌道データからアプローチ軌道データに切換えられる。したがって、上記の移動体では、車体の走行中に目標物体を認識することができる。従来のように静止して目標物体を認識することを要さないため、目標位置まで車体を移動させる時間を短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】実施例のフォークリフトの構成を模式的に示す斜視図。
【図２】実施例のフォークリフトにより目標物体認識用のレーザ光を走査している状態の例を模式的に示す図。
【図３】実施例に係るフォークリフトの制御構成を示すブロック図。
【図４】実施例のフォークリフトを初期位置から目標位置まで移動させる処理の手順を示すフローチャート。
【図５】実施例のフォークリフトが初期位置から目標位置まで移動する状態を示す図。
【図６】実施例のフォークリフトが初期位置から目標位置まで移動する際の各時刻における速度変化を示す図。
【発明を実施するための形態】
【００１０】
以下に説明する実施例の主要な特徴を列記しておく。なお、以下に記載する技術要素は、それぞれ独立した技術要素であって、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項に記載の組合せに限定されるものではない。
【００１１】
（特徴１）  本明細書に開示する移動体では、軌道データ切換部は、車体を停止させることなく車体が走行する軌道を広域的軌道データからアプローチ軌道データへ切換えてもよい。このように構成すると、車体を目標位置まで移動させる時間をより短縮することができる。
【００１２】
（特徴２）  本明細書に開示する移動体では、アプローチ軌道データ生成部は、広域的軌道データに従って走行する車体の終速度と、アプローチ軌道データに従って走行する車体の初速度が等しくなるように、アプローチ軌道データを生成してもよい。このように構成すると、車体が走行するために使用する軌道データを広域的軌道データからアプローチ軌道データへスムーズに切換えることができる。なお、アプローチ軌道生成部は、アプローチ軌道データを生成するまでに要する時間の間の、広域的軌道データの増大距離を予測してアプローチ軌道データを生成してもよい。このように構成すると、広域的軌道データからアプローチ軌道データへよりスムーズに切換えることができる。
【００１３】
（特徴３）  本明細書に開示する移動体では、アプローチ軌道データ生成部は、車体を第２設定位置から目標位置まで移動させる間、認識部の認識結果に基づいて、アプローチ軌道データを逐次的に修正してもよい。このように構成すると、車体を目標位置に位置決めする精度を向上することができる。
【００１４】
（特徴４）  本明細書に開示する移動体は、車体に取付けられるフォークを備えるフォークリフトであってもよい。特定の方向には、フォークの前方に設定された空間内の物体が測域センサで検出可能となる角度範囲が設定されてもよい。
【実施例１】
【００１５】
以下、図面を参照して、実施例１のフォークリフト１０について説明する。図１に示すように、フォークリフト１０は、無人フォークリフトであり、車体１２と、マスト２０と、フォーク２２と、リフトチェーン２４と、測域センサ２６，２７と、演算装置３０（図３に図示）と、制御装置３２（図３に図示）を備えている。
【００１６】
車体１２は、その両側面のそれぞれに前輪２８及び後輪２９を備えている。前輪２８及び後輪２９は、それぞれ車体１２に対して回転可能に支持されている。左右の前輪２８には、エンコーダ９２（図３に図示）が接続されており、前輪２８の回転量を検出可能となっている。後輪２９の一方は、図示しない駆動機構を介して駆動輪モータ９０（図３に図示）が接続されており、駆動輪モータ９０によって回転駆動されるようになっている。また、駆動輪モータ９０に接続された後輪２９は、操舵装置９４（図３に図示）にも接続されており、操舵装置９４によって車輪の向きが調整される。後輪２９の他方は、キャスタ輪であり、車体１２の走行に追従して回転及び操舵する。制御装置３２が駆動輪モータ９０及び操舵装置９４を制御することで、車体１２は路面を走行すると共に、車体１２の進行方向を変えることができる。エンコーダ９２は、左右の前輪２８の動作に基づいて、車体１２の移動量及び移動方向を検出する。
【００１７】
マスト２０は、車体１２の前面に取付けられている支柱であり、その軸線は上下方向に伸びている。
【００１８】
フォーク２２は、マスト２０に上下方向に移動可能に取付けられている。フォーク２２は、一対のツメ２２ａ，２２ｂを有している。ツメ２２ａ，２２ｂは、車体１２の左右方向に互いに離間した位置に配置されており、マスト２０側から車体１２の前方に向かって伸びている。なお、フォーク２２は、図示しないティルト機構によって、マスト２０に対して揺動可能となっていてもよい。
【００１９】
リフトチェーン２４は、マスト２０に設置されており、フォーク２２と係合している。リフトチェーン２４が図示しないフォーク昇降装置により駆動されると、それによってフォーク２２が昇降される。フォーク２２の上下方向の位置は、フォーク昇降装置の駆動量によって特定可能となっている。
【００２０】
測域センサ２６は、車体１２（詳細には、車体１２に取付けられたマスト２０）に設置され、フォーク２２の前方に設定された設定空間内の物体と車体１２との距離を計測する。測域センサ２６は、一方向（本実施例では、水平方向）にレーザ光を走査する１次元走査型の測域センサである。測域センサ２６は、フォークリフト１０の前方の所定の角度範囲の領域５０にレーザ光を照射する。測域センサ２６は、照射したレーザ光の反射光から領域５０に存在する物体との距離を計測する。これにより、フォークリフト１０の前方の距離データを取得する。測域センサ２６で取得された距離データは、演算装置３０に入力される。なお、測域センサ２６をフォーク２２に取付け、図２に示すように、測域センサ２６をフォーク２２と一体となって上下方向に昇降させることにより、測域センサ２６から照射されるレーザ光を水平方向及び鉛直方向の２次元に走査させてもよい。このようにすると、フォークリフト１０の前方の３次元の距離データを取得することができる。
【００２１】
測域センサ２７は、車体１２（詳細には、車体１２の後部）に設置され、フォークリフト１０の後方に設定された空間内の物体と車体１２との距離を計測する。測域センサ２７は、測域センサ２６と同様に一方向にレーザ光を走査する１次元走査型の測域センサである。測域センサ２７は、フォークリフト１０の後方の所定の角度範囲の領域５１にレーザ光を照射する。測域センサ２７は、照射したレーザ光の反射光から領域５１に存在する物体との距離を計測する。これにより、フォークリフト１０の後方の距離データを取得する。測域センサ２７で取得された距離データは、演算装置３０に入力される。
【００２２】
なお、後述するように、本実施例では、測域センサ２６は、パレット１００の認識及びフォークリフト１０の自己位置推定のために用いられる。また、測域センサ２７は、フォークリフト１０の自己位置を推定するために用いられる。これは、例えば、フォークリフト１０により、荷物が載置されたパレット１００を荷取りした状態では、測域センサ２６による距離データの取得ができなくなる。このため、このような状態では、フォークリフト１０の後方に設置される測域センサ２７によって、周辺物体との距離を計測し、取得した距離データに基づいてフォークリフト１０の自己位置を推定する。なお、測域センサ２６，２７としては、例えば、北陽電機製のＵＴＭ−３０ＬＸやＳＩＣＫ社製ＬＭＳ１００等を用いることができる。
【００２３】
制御装置３２は、ＣＰＵ等を備えたマイクロプロセッサによって構成されている。制御装置３２は、車体１２に搭載されている。図３に示すように、制御装置３２は、駆動輪モータ９０、操舵装置９４等と通信可能に接続されており、これらの動作を制御する。すなわち、制御装置３２は、駆動輪モータ９０及び操舵装置９４を駆動することで、フォークリフト１０の進行方向及び走行速度を制御する。具体的には、制御装置３２は、駆動輪モータ９０及び操舵装置９４に制御指令値を出力することで、一方の後輪２９を駆動する。これによって、フォークリフト１０の進行方向、走行速度及び走行経路が制御される。なお、フォークリフト１０の進行方向及び走行速度の制御については、従来公知の方法で行うことができるため、その詳細な説明は省略する。
【００２４】
演算装置３０は、ＣＰＵ等を備えたマイクロプロセッサによって構成されている。演算装置３０は、車体１２に搭載されている。図３に示すように、演算装置３０は、測域センサ２６，２７、制御装置３２等と通信可能に接続されている。演算装置３０は、メモリに記憶されているプログラムを実行することで、測域センサ２６によりパレット１００を認識し、その認識したパレット１００を荷取りするための位置（目標位置Ｐｏ（Ｘｏ，Ｙｏ，θｏ））にフォークリフト１０を移動させるための軌道データを生成する処理等を実行する。具体的には、演算装置３０は、まず、予め入力された地図データ５８を元に、測域センサ２６，２７により周辺物体との距離を計測して自己位置を特定し、第１設定位置Ｐ１（Ｘ１，Ｙ１，θ１）（すなわち、フォークリフト１０の初期位置）からパレット１００を測域センサ２６により認識可能な領域内（パレット認識エリア６０）に設定される第２設定位置Ｐ２（Ｘ２，Ｙ２，θ２）までフォークリフト１０を移動させるための軌道データ（広域的軌道データ６２）を生成する処理を実行する。次に、演算装置３０は、生成した広域的軌道データ６２に基づいて算出した広域的制御指令値を制御装置３２に出力する。これにより、制御装置３２が駆動輪モータ９０及び操舵装置９４を制御し、車体１２を駆動する処理を実行する。パレット認識エリア６０内まで車体１２が移動すると、演算装置３０は、測域センサ２６によりパレット１００の位置及び姿勢を検出する処理を実行する。次に、演算装置３０は、パレット１００の位置及び姿勢（パレットデータ６６）に基づいて、荷取り位置（目標位置Ｐｏ）までの軌道データ（アプローチ軌道データ６４）を生成する処理を実行する。最後に、演算装置３０は、生成したアプローチ軌道データ６４に基づいて算出した制御指令値を制御装置３２に出力する。これにより、制御装置３２が駆動輪モータ９０及び操舵装置９４を制御し、車体１２を目標位置Ｐｏまで移動させる処理を実行する。すなわち、演算装置３０は、図３に示すように、自己位置推定部３８、広域的軌道データ生成部４０、認識部４２、アプローチ軌道データ生成部４４、軌道データ切換部４６、軌道追従制御部４８として機能する。演算装置３０が上述した各部３８，４０，４２，４４，４６，４８として機能し、演算装置３０から出力される制御指令値に基づいて制御装置３２が車体１２を駆動することで、パレット１００を荷取りするための目標位置Ｐｏまで車体１２が移動する。各部３８〜４８の詳細については、以下で説明する演算装置３０で行われる処理と共に説明する。
【００２５】
次に、演算装置３０及び制御装置３２によって、パレット１００の荷取り位置（目標位置Ｐｏ）までフォークリフト１０を移動させる処理について説明する。図４に示すように、まず、演算装置３０は、予め入力される地図データ５８と、測域センサ２６，２７により計測される周辺物体との距離データとに基づいて、フォークリフト１０の自己位置を推定する（Ｓ１０）。地図データ５８は、フォークリフト１０が移動する空間内に存在する物体（例えば、柱、壁等）の位置及び大きさを記憶する。すなわち、移動する空間の位置（ｘ，ｙ，ｚ）と、その位置に物体（例えば、柱、壁、障害物等）が存在するか否かを示すデータ（１又は０）によって表される。地図データ５８は、例えば、フォークリフト１０が移動する領域内の物体を測域センサ２６，２７によって予め測定し、この測定結果に基づいて作成しておくことができる。上記のように地図データ５８は、フォークリフト１０が移動する空間内の柱や壁の位置を記憶する。このため、演算装置３０は、地図データ５８から、フォークリフト１０が走行可能な領域を特定することができる。一方、フォークリフト１０の周辺（詳細には、測域センサ２６，２７で検出される領域）の物体（例えば、柱、壁等）は、ステップＳ１０の開始時に測域センサ２６，２７で検出される。演算装置３０は、予め入力されている地図データ５８と、測域センサ２６，２７で検出される物体（フォークリフト１０の周辺の環境地図）とを照合することで、フォークリフト１０の現在位置及び姿勢を特定することができる。なお、フォークリフト１０の自己位置推定は、測域センサ２６，２７の両者を用いて実行してもよいし、いずれか一方を用いて実行してもよい。なお、地図データ５８と測域センサ２６，２７で検出される検出結果とを用いて自己位置を同定する方法については、従来公知の方法を用いることができる。これによって、第１設定位置Ｐ１におけるフォークリフト１０の位置及び姿勢を算出することができる。ここで、パレット認識エリア６０と、パレット認識エリア６０内に設定される第２設定位置Ｐ２は、予め演算装置３０に入力されている。このため、第１設定位置Ｐ１（初期位置）におけるフォークリフト１０の位置及び姿勢が算出されると、演算装置３０は、第１設定位置Ｐ１と第２設定位置Ｐ２の位置関係を特定することができる。なお、パレット認識エリア６０は、パレット１００が載置された位置の近傍に設定されており、測域センサ２６の認識範囲（すなわち、レーザ光による距離計測範囲）に基づいて、パレット１００から所定の距離だけ離れた領域が設定されている。なお、フォークリフト１０が移動を開始した後の自己位置は、左右の前輪２８の移動量から算出（すなわち、オドメトリにより算出）することができる。ただし、測域センサ２６，２７の検出結果に基づくフォークリフト１０の自己位置推定は、その走行中にも逐次実行されてもよい。上記のステップＳ１０の処理によって実現される演算装置３０の機能が、図３に示す自己位置推定部３８に相当する。
【００２６】
次に、演算装置３０は、第１設定位置Ｐ１からパレット認識エリア６０内に設定される第２設定位置Ｐ２まで車体１２を移動させる広域的軌道データ６２を生成する（Ｓ１２）。具体的には、演算装置３０は、第１設定位置Ｐ１におけるフォークリフト１０の位置及び姿勢データと、第２設定位置Ｐ２におけるフォークリフト１０の位置及び姿勢データから、第１設定位置Ｐ１から第２設定位置Ｐ２まで移動する際に要する時間を決定し、広域的速度計画及び広域的軌道計画を作成する。次いで、演算装置３０は、作成した広域的速度計画と広域的軌道計画に基づいて、第２設定位置Ｐ２まで移動する間の各時刻での広域的目標位置及び広域的目標姿勢（広域的軌道データ６２）を算出する。広域的速度計画と広域的軌道計画には、例えば、直線補間やスプライン曲線による補間のような従来公知の方法を用いることができる。上記の処理によって実現される演算装置３０の機能が、図３に示す広域的軌道データ生成部４０に相当する。
【００２７】
次に、演算装置３０は、ステップＳ１２で生成した広域的軌道データ６２と、フォークリフト１０の現在位置（オドメトリにより算出される自己位置）とに基づいて、第２設定位置Ｐ２まで車体１２を移動するための制御指令値を算出する（Ｓ１４）。本実施例では、フォークリフト１０が第１設定位置Ｐ１から第２設定位置Ｐ２まで移動する間も、推定される現在の自己位置と第２設定位置Ｐ２とに基づいて広域的軌道データ６２が逐次的に補正される。すなわち、車体１２が移動する度に、現在位置と第２設定位置Ｐ２とから偏差が算出され、フィードバック制御を行うことにより広域的軌道データ６２の制御指令値（すなわち、並進速度及び角速度）が補正される。上記の処理によって実現される演算装置３０の機能が、図に示す軌道追従制御部４８に相当する。生成された広域的軌道データ６２（制御指令値）は、制御装置３２に入力され、制御装置３２は、図５に示すように車体１２を第２設定位置Ｐ２に向かって移動させる（Ｓ１６）。
【００２８】
フォークリフト１０がパレット認識エリア６０に進入すると、測域センサ２６により、パレット１００との距離データが計測される。すなわち、パレット１００が載置されているおおよその位置は、演算装置３０に予め入力されている。このため、パレット１００が載置されているおおよその位置に基づいて、パレット認識エリア６０及び第２設定位置Ｐ２が設定され、第２設定位置Ｐ２におけるフォークリフト１０の姿勢が設定されている。したがって、フォークリフト１０がパレット認識エリア６０に侵入すると、測域センサ２６によってパレット１００を検出することができる。演算装置３０は、測域センサ２６で測定された距離データに基づいて、パレット１００の実際の位置及び姿勢Ｐｐ（Ｘｐ，Ｙｐ，θｐ）を認識する（Ｓ１８）。この処理によって実現される演算装置３０の機能が、図に示す認識部４２に相当する。
【００２９】
次に、演算装置３０は、認識部４２の認識結果（すなわち、パレット１００の位置及び姿勢）に基づいて、第２設定位置Ｐ２から目標位置Ｐｏまで車体１２を移動させるアプローチ軌道データ６４を生成する（Ｓ２０）。目標位置Ｐｏは、パレット１００に対して車体１２が予め定められた位置及び姿勢となるような位置であり、具体的には、パレット１００の荷取り作業を行うための位置である。演算装置３０は、フォークリフト１０がパレット認識エリア６０に進入し、認識部４２によりパレット１００の位置及び姿勢が認識されると（Ｓ１８）、アプローチ軌道データ６４の生成を開始する。すなわち、演算装置３０は、車体１２が広域的軌道データ６２に従って走行している間に、アプローチ軌道データ６４を生成する。演算装置３０は、現在時刻におけるフォークリフト１０の目標位置及び目標姿勢と、目標位置Ｐｏにおけるフォークリフト１０の目標位置及び目標姿勢から、現在位置から目標位置Ｐｏまで移動する際に要する時間を決定し、アプローチ速度計画及びアプローチ軌道計画を作成する。次いで、演算装置３０は、作成したアプローチ速度計画とアプローチ軌道計画に基づいて、目標位置Ｐｏまで移動する間の各時刻でのアプローチ目標位置及びアプローチ目標姿勢（アプローチ軌道データ６４）を算出する。なお、演算装置３０は、アプローチ軌道データ６４を生成するまでに要する時間の間の広域的軌道データ６２の増大距離を予測してアプローチ軌道データ６４を生成してもよい。例えば、アプローチ軌道データ６４の生成を開始する時の広域的軌道データ６２の終速度とその方向は既知である。そこで、ステップＳ１８における測域センサ２６によってパレット１００を認識するために要する時間と、ステップＳ２０におけるパレット１００の認識結果に基づくアプローチ軌道データ６４の生成に要する時間との和に基づいて、その時間の間の広域的軌道データ６２の増大距離を予測し、その予測位置から目標位置Ｐｏまで車体１２を移動させるアプローチ軌道データ６４を生成する処理を行ってもよい。なお、アプローチ速度計画とアプローチ軌道計画には、例えば、Ｂ−スプライン曲線やクロソイド曲線による補間のような従来公知の方法を用いることができる。上記の処理によって実現される演算装置３０の機能が、図３に示すアプローチ軌道データ生成部４４に相当する。
【００３０】
アプローチ軌道データ６４が生成されると、演算装置３０は、車体１２が走行する軌道を広域的軌道データ６２からアプローチ軌道データ６４へと切換える（Ｓ２２）。ここで、演算装置３０は、図６に示すように、広域的軌道データ６２に従って走行する車体１２の終速度と、アプローチ軌道データ６４に従って走行する車体１２の初速度がＶ０で等しくなるように、アプローチ軌道データ６４を生成する。すなわち、演算装置３０は、車体１２を停止させることなく車体１２が運動の連続性を保って走行するように、広域的軌道データ６２からアプローチ軌道データ６４へ切換える。アプローチ軌道データ６４に従って走行する車体１２の初速度は、例えば、Ｂ−スプライン曲線の初期の制御点において、速度を与える（速度Ｖ０≠０）ことにより、算出することができる。上記の処理によって実現される演算装置３０の機能が、図３に示す軌道データ切換部４６に相当する。なお、図６において破線で示す曲線は、車体１２が走行する軌道を広域的軌道データ６２からアプローチ軌道データ６４への切換える際に、フォークリフト１０が一度静止する場合（詳細には、パレット１００を認識する際に速度が０となる場合）を比較例として示している。
【００３１】
次に、演算装置３０は、生成したアプローチ軌道データ６４と、フォークリフト１０の現在位置とに基づいて、目標位置Ｐｏまで車体１２を移動するための制御指令値を算出する（Ｓ２４）。本実施例では、ステップＳ１４と同様に、フォークリフト１０が現在位置から目標位置Ｐｏまで移動する間も、推定される現在の自己位置（オドメトリにより算出される自己位置）と目標位置Ｐｏとに基づいてアプローチ軌道データ６４が逐次的に補正される。すなわち、車体１２が移動する度に、現在位置と目標位置Ｐｏとから偏差が算出され、フィードバック制御を行うことによりアプローチ軌道データ６４の制御指令値（すなわち、並進速度及び角速度）が補正される。上記の処理によって実現される演算装置３０の機能が、図３に示す軌道追従制御部４８に相当する。生成されたアプローチ軌道データ６４（制御指令値）は、制御装置３２に入力され、制御装置３２は、図５に示すように車体１２を目標位置Ｐｏまで移動させる（Ｓ２６）。演算装置３０は、ステップＳ２６の処理を実行すると、処理を終了する。
【００３２】
上述したフォークリフト１０では、まず、広域的軌道データ生成部４０により、第１設定位置Ｐ１から認識部４２によってパレット１００を認識できる第２設定位置Ｐ２まで車体１２が移動する広域的軌道データ６２を生成する。その後、アプローチ軌道データ生成部４４により、第２設定位置Ｐ２から目標位置Ｐｏまで車体１２が移動するアプローチ軌道データ６４を生成する。アプローチ軌道データ６４は、車体１２が広域的軌道データ６２に沿って走行しているときに生成される。このため、フォークリフト１０は、車体１２の走行中にパレット１００を認識することができる。そして、アプローチ軌道データ６４が生成されると、軌道データ切換部４６によって、車体１２の走行する軌道が広域的軌道データ６２からアプローチ軌道データ６４に切換えられる。したがって、車体１２が走行する軌道の切換えに際して、静止することなくフォークリフト１０を目標位置Ｐｏに移動させることができる。すなわち、目標位置Ｐｏまで車体１２を移動させる時間を短縮することができる。図６にも示すように、広域的軌道データ６２からアプローチ軌道データ６４への切換えの際に一度静止する場合と比較して、時間ｔｓの分、目標位置Ｐｏに到達する時間を短縮することができる。
【００３３】
また、認識部４２によるパレット１００の認識結果に基づいてアプローチ軌道データ６４を生成するため、パレット１００の位置及び／又は姿勢が予め入力されている位置及び／又は姿勢からずれている場合であっても、精度良く、目標位置Ｐｏを算出することができる。
【００３４】
上述した実施例と請求項との対応関係を説明しておく。駆動輪モータ９０、操舵装置９４が、請求項でいう「移動機構」の一例である。
【００３５】
以上、本明細書が開示する技術の実施例について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【００３６】
例えば、アプローチ軌道データ６４の生成において、パレット１００からのずれ（位置及び姿勢のずれ）の大きさに応じて、アプローチ軌道データ６４に基づいて走行する車体１２の並進速度を可変に構成してもよい。すなわち、ずれが大きい場合には並進速度を小さくして軌道修正を可能とし、ずれが小さい場合には並進速度を大きくすることで、移動時間に無駄が生じることを抑制することができる。
【００３７】
また、広域的軌道データ６２及びアプローチ軌道データ６４は、軌道追従制御部４８によるフィードバック制御により、逐次的に補正されていたが、フィードバック制御を行わずに、最初に生成した各軌道データ６２，６４に沿って走行してもよい。
【００３８】
また、上述した実施例では、測域センサ２６，２７として１次元走査型の測域センサを用いたが、２次元に走査可能な測域センサを用いてもよい。
【００３９】
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００４０】
１０：フォークリフト
１２：車体
２０：マスト
２２：フォーク
２２ａ，２２ｂ：ツメ
２４：リフトチェーン
２６，２７：測域センサ
２８：前輪
２９：後輪
３０：演算装置
３２：制御装置
３８：自己位置推定部
４０：広域的軌道データ生成部
４２：認識部
４４：アプローチ軌道データ生成部
４６：軌道データ切換部
４８：軌道追従制御部
６２：広域的軌道データ
６４：アプローチ軌道データ
６６：パレットデータ
９０：駆動輪モータ
９２：エンコーダ
９４：操舵装置
１００：パレット
【図１】
0006492024.tif 000002
【図２】
0006492024.tif 000003
【図３】
0006492024.tif 000004
【図４】
0006492024.tif 000005
【図５】
0006492024.tif 000006
【図６】
0006492024.tif 000007