(57)【要約】【課題】簡易に速度パターンを変更することが可能な移動体制御装置を提供する。【解決手段】  軌道生成装置は、移動体が始点位置から目標位置まで移動するための目標軌跡を生成する。軌道生成装置は、目標軌跡上を移動するための速度パターンを設定する。速度パターンは移動期間の全体に亘る速度の変化を示す。速度パターンを時間積分すると目標軌跡の経路長になる。軌道生成装置は、速度パターンで使用される実時刻と対応した仮想時刻を生成する。仮想時刻は速度パターンの移動期間の少なくとも一部の変更期間において、実時刻に対する仮想時刻の経過速度を低下させることが可能な時刻である。軌道生成装置は、変更期間中の速度パターンを仮想時刻に基づいて変更する。軌道生成装置は、変更期間中の速度を低下させるとともに、変更期間中の速度パターンを時間軸方向へ伸ばす。変更前後の速度パターンの時間積分値が互いに等しくなる。【選択図】図１
2020135488.tif 000002
【特許請求の範囲】
【請求項１】
移動体の移動を制御する移動体制御装置であって、
始点位置から目標位置まで移動するための目標軌跡を生成する軌跡生成部と、
前記目標軌跡上を移動するための速度パターンを設定する速度パターン生成部であって、
前記速度パターンは前記始点位置から前記目標位置に到達するまでの移動期間の全体に亘る速度の変化を示すパターンであり、前記速度パターンを時間積分すると前記目標軌跡の経路長になる、前記速度パターン生成部と、
前記速度パターンで使用される実時刻と対応した仮想時刻を生成する仮想時刻生成部であって、
前記仮想時刻は前記速度パターンの前記移動期間の少なくとも一部の変更期間において、前記実時刻に対する前記仮想時刻の経過速度を低下させることが可能な時刻である、前記仮想時刻生成部と、
前記変更期間中の前記速度パターンを前記仮想時刻に基づいて変更する速度パターン制御部であって、
前記変更期間中の速度を変更前の速度パターンで示されている目標速度よりも低下させるとともに、前記変更期間中の前記速度パターンを時間軸方向へ伸ばす、前記速度パターン制御部と、
を備え、
変更後の速度パターンの時間積分値が変更前の速度パターンの時間積分値と等しくなる、移動体制御装置。 
【請求項２】
前記仮想時刻は、横軸が前記実時刻であり縦軸が前記仮想時刻とした場合の前記実時刻と前記仮想時刻との関係を示す直線の傾きの時間積分値であり、
前記仮想時刻生成部は、前記変更期間において、前記直線の傾きを小さくすることで前記実時刻に対する前記仮想時刻の経過速度を低下させる、請求項１に記載の移動体制御装置。 
【請求項３】
前記変更期間の開始時点を決定する開始時点決定部を、前記移動体制御装置はさらに備え、
前記仮想時刻生成部は、前記開始時点から、前記実時刻に対する経過速度を低下させた前記仮想時刻を生成し、
前記速度パターン制御部は、前記開始時点以降において、速度を前記目標速度よりも低下させる、請求項１または２に記載の移動体制御装置。 
【請求項４】
前記目標軌跡上の障害物を検出する検出部を、前記移動体制御装置はさらに備え、
前記開始時点決定部は、前記検出部で障害物が検出されたことに応じて、前記変更期間の開始時点を決定する、請求項３に記載の移動体制御装置。 
【請求項５】
前記変更期間の終了時点を決定する終了時点決定部を、前記移動体制御装置はさらに備え、
前記仮想時刻生成部は、前記終了時点から、前記実時刻に対する経過速度を元に戻した前記仮想時刻を生成し、
前記速度パターン制御部は、前記終了時点以降において、速度を前記目標速度に復帰させる、請求項１〜４の何れか１項に記載の移動体制御装置。 
【請求項６】
前記仮想時刻生成部は、前記目標軌跡上において前記移動体にかかる向心加速度を算出し、算出した前記向心加速度が予め定められたしきい値以上になる期間を前記変更期間とする、請求項１〜５の何れか１項に記載の移動体制御装置。 
【請求項７】
前記移動体は、操舵を行うためのハンドルを備えており、
前記仮想時刻生成部は、前記ハンドルの回転速度である操舵速度を算出し、算出した前記操舵速度が予め定められたしきい値以上になる期間を前記変更期間とする、請求項１〜６の何れか１項に記載の移動体制御装置。 
【請求項８】
前記仮想時刻生成部は、前記変更期間の一部において前記実時刻に対する前記仮想時刻の経過速度を負にすることが可能であり、
前記移動体は、前記実時刻に対する前記仮想時刻の経過速度が負の期間中において前記目標軌跡上をバックする、請求項１〜７の何れか１項に記載の移動体制御装置。 
【請求項９】
情報処理装置のコンピュータに読込まれる、移動体の移動を制御する制御プログラムであって、
前記制御プログラムは、
始点位置から目標位置まで移動するための目標軌跡を生成する軌跡生成手段と、
前記目標軌跡上を移動するための速度パターンを設定する速度パターン生成手段であって、
前記速度パターンは前記始点位置から前記目標位置に到達するまでの移動期間の全体に亘る速度の変化を示すパターンであり、前記速度パターンを時間積分すると前記目標軌跡の経路長になる、前記速度パターン生成手段と、
前記速度パターンで使用される実時刻と対応した仮想時刻を生成する仮想時刻生成手段であって、
前記仮想時刻は前記速度パターンの前記移動期間の少なくとも一部の変更期間において、前記実時刻に対する前記仮想時刻の経過速度を低下させることが可能な時刻である、前記仮想時刻生成手段と、
前記変更期間中の前記速度パターンを前記仮想時刻に基づいて変更する速度パターン制御手段であって、
前記変更期間中の速度を変更前の速度パターンで示されている目標速度よりも低下させるとともに、前記変更期間中の前記速度パターンを時間軸方向へ伸ばす、前記速度パターン制御手段と、
して前記情報処理装置を機能させ、
変更後の速度パターンの時間積分値が変更前の速度パターンの時間積分値と等しくなる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示の技術は、移動体制御装置および移動体の制御プログラムに関する。
【背景技術】
【０００２】
無人フォークリフトなど、移動体を自走させる技術が開発されている。移動体を自走させるには、軌跡を生成し、その軌跡上を走行するように予め速度パターンを設計し、速度パターンに従って移動体を軌跡上に走行させる。関連する技術が、例えば特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１７３７６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
移動体が予め決められた軌跡を走行する際、異常等で一時的に速度を抑制したり、停止させたりする場面が発生する。すると、事前に設計した軌跡や速度パターンの前提が破綻し、軌跡の生成や速度パターン設計からやり直さなければならない。本明細書は、簡易に速度パターンを変更することが可能な移動体制御装置を開示する。
【課題を解決するための手段】
【０００５】
本明細書に開示する軌道生成装置の一実施形態は、移動体が移動する軌道を生成する軌道生成装置である。軌道生成装置は、始点位置から目標位置まで移動するための目標軌跡を生成する軌跡生成部を備える。軌道生成装置は、目標軌跡上を移動するための速度パターンを設定する速度パターン生成部を備える。速度パターンは始点位置から目標位置に到達するまでの移動期間の全体に亘る速度の変化を示すパターンである。速度パターンを時間積分すると目標軌跡の経路長になる。軌道生成装置は、速度パターンで使用される実時刻と対応した仮想時刻を生成する仮想時刻生成部を備える。仮想時刻は速度パターンの移動期間の少なくとも一部の変更期間において、実時刻に対する仮想時刻の経過速度を低下させることが可能な時刻である。軌道生成装置は、変更期間中の速度パターンを仮想時刻に基づいて変更する速度パターン制御部を備える。速度パターン制御部は、変更期間中の速度を変更前の速度パターンで示されている目標速度よりも低下させるとともに、変更期間中の速度パターンを時間軸方向へ伸ばす。変更後の速度パターンの時間積分値が変更前の速度パターンの時間積分値と等しくなる。
【０００６】
仮想時刻生成部によって、速度パターンで使用される実時刻と対応した仮想時刻を生成することができる。そして速度パターン制御部によって、変更期間中の速度パターンを仮想時刻に基づいて変更することができる。このとき、変更前の速度パターンで示されている目標速度よりも速度を低下させるとともに、変更期間中の速度パターンを時間軸方向へ伸ばすことができる。また、変更後の速度パターンの時間積分値を、変更前の速度パターンの時間積分値と等しくすることができる。よって、予め設計された速度パターンを残しつつ、変更期間中の速度を加減速することが可能となる。一時的に速度を抑制したり停止させたりする場合においても、目標軌跡や速度パターンを再生成する必要がない。
【０００７】
仮想時刻は、横軸が実時刻であり縦軸が仮想時刻とした場合の実時刻と仮想時刻との関係を示す直線の傾きの時間積分値であってもよい。仮想時刻生成部は、変更期間において、直線の傾きを小さくすることで実時刻に対する仮想時刻の経過速度を低下させてもよい。効果の詳細は実施例で説明する。
【０００８】
変更期間の開始時点を決定する開始時点決定部を、移動体制御装置はさらに備えていてもよい。仮想時刻生成部は、開始時点から、実時刻に対する経過速度を低下させた仮想時刻を生成してもよい。速度パターン制御部は、開始時点以降において、速度を目標速度よりも低下させてもよい。効果の詳細は実施例で説明する。
【０００９】
目標軌跡上の障害物を検出する検出部を、移動体制御装置はさらに備えていてもよい。開始時点決定部は、検出部で障害物が検出されたことに応じて、変更期間の開始時点を決定してもよい。効果の詳細は実施例で説明する。
【００１０】
変更期間の終了時点を決定する終了時点決定部を、移動体制御装置はさらに備えていてもよい。仮想時刻生成部は、終了時点から、実時刻に対する経過速度を元に戻した仮想時刻を生成してもよい。速度パターン制御部は、終了時点以降において、速度を目標速度に復帰させてもよい。効果の詳細は実施例で説明する。
【００１１】
仮想時刻生成部は、目標軌跡上において移動体にかかる向心加速度を算出してもよい。算出した向心加速度が予め定められたしきい値以上になる期間を変更期間としてもよい。効果の詳細は実施例で説明する。
【００１２】
移動体は、操舵を行うためのハンドルを備えていてもよい。仮想時刻生成部は、ハンドルの回転速度である操舵速度を算出してもよい。算出した操舵速度が予め定められたしきい値以上になる期間を変更期間としてもよい。効果の詳細は実施例で説明する。
【００１３】
仮想時刻生成部は、変更期間の一部において実時刻に対する仮想時刻の経過速度を負にすることが可能であってもよい。移動体は、実時刻に対する仮想時刻の経過速度が負の期間中において目標軌跡上をバックしてもよい。効果の詳細は実施例で説明する。
【００１４】
なお、上記の情報処理装置を実現するための制御プログラムも、新規で有用である。
【図面の簡単な説明】
【００１５】
【図１】フォークリフトの構成を示すブロック図。
【図２】自走制御方法を説明するフローチャート。
【図３】始点位置、目標位置、目標軌跡の設定例を示す図。
【図４】初期状態の速度パターンの一例を示す図。
【図５】実時刻ｔと仮想時刻ｅの関係を示すグラフ。
【図６】変更後の速度パターンの一例を示す図。
【図７】実時刻ｔと仮想時刻ｅの関係を示すグラフ。
【図８】実時刻ｔと仮想時刻ｅの関係を示すグラフ。
【図９】始点位置、目標位置、目標軌跡の設定例を示す図。
【図１０】速度パターンの一例を示す図。
【図１１】向心加速度の一例を示すグラフ。
【図１２】傾きλの一例を示すグラフ。
【図１３】速度パターンの一例を示す図。
【図１４】実時刻ｔと仮想時刻ｅの関係を示すグラフ。
【発明を実施するための形態】
【実施例１】
【００１６】
（フォークリフト１０の構成）
以下、図面を参照して、本実施例のフォークリフト１０について説明する。図１に示すフォークリフト１０は、無人フォークリフトである。フォークリフト１０は、車体１２、測域センサ２６、演算装置３０を備えている。
【００１７】
車体１２は、操舵制御部２１、駆動制御部２２、車輪回転速度計測器２３を備えている。操舵制御部２１および駆動制御部２２は、ＣＰＵ等を備えたマイクロプロセッサによって構成されている。操舵制御部２１は、不図示の操舵装置と通信可能に接続されており、フォークリフト１０の進行方向を制御する。駆動制御部２２は、不図示の駆動輪モータと通信可能に接続されており、フォークリフト１０の走行速度を制御する。車輪回転速度計測器２３は、不図示の前輪に接続されており、前輪の回転量を検出可能となっている。車輪回転速度計測器２３は、前輪の動作に基づいて、車体１２の移動量及び移動方向を検出する。
【００１８】
測域センサ２６は、車体１２に設置され、一方向（本実施例では、水平方向）にレーザ光を走査する１次元走査型の測域センサである。測域センサ２６は、車体１２の前方に設定された設定空間内の物体と車体１２との距離を計測する。これにより、フォークリフト１０の前方の距離データを取得する。測域センサ２６で取得された距離データは、自己位置推定部３８、開始時点決定部４３、終了時点決定部４４に入力される。また測域センサ２６は、目標軌跡ＴＴ上の障害物を検出する機能を有する。障害物の検出結果は、開始時点決定部４３および終了時点決定部４４に入力される。
【００１９】
演算装置３０は、ＣＰＵ等を備えたマイクロプロセッサによって構成されている。演算装置３０は、始点位置／目標位置設定部３５、移動体制御装置４０、地図情報５８、自己位置推定部３８、制御指令生成部４８、を備える。地図情報５８は、フォークリフト１０が移動する空間内に存在する物体（例えば、柱、壁等）の位置及び大きさを示す情報である。地図情報５８は、例えば、フォークリフト１０が移動する領域内の物体を測域センサ２６によって予め測定し、この測定結果に基づいて作成しておくことができる。
【００２０】
自己位置推定部３８には、地図情報５８と、測域センサ２６により計測される周辺物体との距離データと、車輪回転速度計測器２３により検出された車体１２の移動量及び移動方向が入力される。自己位置推定部３８は、これらの入力データに基づいて、フォークリフト１０の自己位置を推定する。始点位置／目標位置設定部３５は、後述する始点位置ＰＳおよび目標位置ＰＥを設定する。
【００２１】
移動体制御装置４０は、軌跡生成部４１、速度パターン生成部４２、開始時点決定部４３、終了時点決定部４４、仮想時刻生成部４５、速度パターン制御部４６を備えている。軌跡生成部４１〜速度パターン制御部４６の内容については後述する。
【００２２】
（フォークリフト１０の自走制御）
図２のフローチャートを用いて、フォークリフト１０の自走制御方法を説明する。ステップＳ１において、始点位置／目標位置設定部３５は、始点位置ＰＳおよび目標位置ＰＥを設定する。また、始点姿勢および目標姿勢を設定する。始点姿勢および目標姿勢は、始点位置ＰＳおよび目標位置ＰＥの各々におけるフォークリフト１０の進行方向である。図３に、始点位置ＰＳおよび目標位置ＰＥの設定例を示す。図３では、始点位置ＰＳおよび目標位置ＰＥのｘｙ座標が（０，０）で同一である場合を説明している。すなわち図３の例では、スタート位置とゴール位置が同一である。
【００２３】
ステップＳ２において、軌跡生成部４１は、始点位置ＰＳから目標位置ＰＥまで移動するための目標軌跡ＴＴを生成する。始点位置ＰＳから目標位置ＰＥまでの全曲線長、および、始点位置ＰＳから所定の曲線長となる点の座標を計算することで、目標軌跡ＴＴを生成することが可能である。なお、曲線長の求め方は様々であってよい。実曲線に対してわずかな誤差を含む近似曲線の長さを、曲線長の近似値として用いてもよい。図３の例では、始点位置ＰＳを出発し、経由位置Ｐ１〜Ｐ５を順に経由して目標位置ＰＥへ至る目標軌跡ＴＴが生成されている。
【００２４】
ステップＳ３において、速度パターン生成部４２は、目標軌跡ＴＴ上を移動するための速度パターンを設定する。  速度パターンは始点位置ＰＳから目標位置ＰＥに到達するまでの移動期間の全体に亘る速度の変化を示すパターンである。速度パターンは、目標位置ＰＥにて速度および角速度がゼロとなるように生成される。図３の目標軌跡ＴＴに対して設計された速度パターンＶＰの一例を、図４に示す。縦軸はフォークリフト１０の移動速度であり、横軸は実時刻である。速度パターンＶＰの積分値（斜線部）が、始点位置ＰＳから目標位置ＰＥまでの経路長である。
【００２５】
ステップＳ４において、仮想時刻生成部４５は、実時刻と対応した仮想時刻を生成する。仮想時刻は、実時刻と対応して常時生成される。仮想時刻は、横軸が実時刻であり縦軸が仮想時刻とした場合の実時刻と仮想時刻との関係を示す直線の傾きの、時間積分値である。
【００２６】
後述する変更期間の開始指令（Ｓ６）が出力されるまでの期間は、実時刻と仮想時刻は一致する。換言すると、図５のグラフに示すように、実時刻ｔと仮想時刻ｅの関係は傾き１の直線で表される。仮想時刻は、実時刻ｔと仮想時刻ｅの直線の傾きの積分値になるため、下式（１）で表される。
【数１】
2020135488.tif 000003
式（１）は、変更期間の開始指令（Ｓ６）が出される前の期間における式であるため、λ（ｔ）は１である。このときの速度目標値ｄｕ／ｄｔは、下式（２）のように求められる。
【数２】
2020135488.tif 000004
ここでｕは曲線長、またはその近似値である。曲線長ｕと曲線を表す点（ｘ，ｙ）とは、例えば下式（３）のような多項式で表される関係がある。
【数３】
2020135488.tif 000005
ここでｍは相似変換のスケーリングパラメータである。本実施例では、ｍは１とする。
【００２７】
ｄｕ／ｄｅは次式で定義されるため、上記のような関係があると、ｄｕ／ｄｅは代数式（加減乗除とべき乗根だけの式）で求めることができる。
【数４】
2020135488.tif 000006
また角速度目標値は、下式（４）のように求まる。
【数５】
2020135488.tif 000007
ここでκは曲率である。式（２）で求まる速度目標値と、式（４）で求まる角速度目標値は、フォークリフト１０の移動を制御する際のフィードフォワード値として用いることができる。
【００２８】
ステップＳ５において、車体１２の移動を開始する。具体的には、速度パターン制御部４６は、速度パターンＶＰを制御指令生成部４８へ出力する。なお、後述する変更期間の開始指令（Ｓ６）が出力されるまでの期間では、変更されていない初期状態の速度パターンＶＰが出力される。制御指令生成部４８は、軌跡生成部４１で生成された目標軌跡ＴＴと、速度パターン制御部４６から入力される速度パターンＶＰと、自己位置推定部３８で算出されるフォークリフト１０の現在位置とに基づいて、目標位置ＰＥまで車体１２を移動するための制御指令値を算出する。生成された制御指令値は、操舵制御部２１および駆動制御部２２に入力される。
【００２９】
ステップＳ６において、仮想時刻生成部４５は、開始時点決定部４３から、変更期間ＣＴの開始指令を受信したか否かを判断する。変更期間ＣＴは、速度パターンＶＰを変更する期間である。変更期間ＣＴの開始指令は、開始時点決定部４３が速度パターンＶＰの変更開始を決定したことに応じて出力される指令である。例えば、異常が発生した場合（例：測域センサ２６から障害物が検出されたことを報知された場合）に、速度パターンＶＰの変更開始が決定されてもよい。否定判断される場合（Ｓ６：ＮＯ）にはステップＳ１０へ進み、肯定判断される場合（Ｓ６：ＹＥＳ）にはステップＳ７へ進む。
【００３０】
ステップＳ７において、仮想時刻生成部４５は、仮想時刻を変更する。具体的には、実時刻ｔと仮想時刻ｅの関係を示す直線の傾きを小さくすることで、実時刻ｔに対する仮想時刻ｅの経過速度を低下させる。速度パターン制御部４６は、変更後の仮想時刻に基づいて速度パターンを変更し、変更後の速度パターンを制御指令生成部４８へ出力する。
【００３１】
具体例を用いて説明する。図６の実線は、初期状態の速度パターンＶＰを示しており、図４と同一のパターンである。図６の点線は、変更後の速度パターンＶＰａを示している。初期状態の速度パターンＶＰにおいて、速度を０．３倍速にする「変更期間の開始指令」が、変更期間ＣＴの開始時点である実時刻ｔ１（１３．５ｓ）に発生した場合を説明する。図７に示すように、実時刻ｔ１以降における実時刻ｔと仮想時刻ｅの関係は、傾きを０．３とした直線ＬＬ１に変更される。すなわち、実時刻ｔに対する仮想時刻ｅの経過速度を低下させることができる。よって、現時刻と対応する仮想時刻は下式（５）により算出できる。
【数６】
2020135488.tif 000008
ここで、λ（ｔ）は０．３である。得られた仮想時刻を用いて、式（２）および（４）により速度目標値および角速度目標値を求める。
【００３２】
これにより、速度パターン制御部４６によって、仮想時刻に基づいて速度パターンが変更される。具体的には、図６の実時刻ｔ１からｔ２までの期間ＴＥ１に示すように、変更前の速度パターンＶＰ（実線）で示されている目標速度よりも、変更後の速度パターンＶＰａ（点線）を低下させることができる。
【００３３】
ステップＳ８において、仮想時刻生成部４５は、終了時点決定部４４から、変更期間ＣＴの終了指令を受信したか否かを判断する。変更期間ＣＴの終了指令は、終了時点決定部４４が速度パターンＶＰを元に戻すことを決定したことに応じて出力される指令である。例えば、異常が解消した場合（例：測域センサ２６で障害物が検出されなくなったことが報知された場合）に、速度パターンＶＰの変更終了が決定されてもよい。否定判断される場合（Ｓ８：ＮＯ）にはステップＳ８へ戻り待機し、肯定判断される場合（Ｓ８：ＹＥＳ）にはステップＳ９へ進む。
【００３４】
ステップＳ９において、仮想時刻生成部４５は、仮想時刻を元に戻す。具体的には、実時刻ｔと仮想時刻ｅの関係を示す直線の傾きを「１」に戻すことで、実時刻ｔに対する仮想時刻ｅの経過速度を同一にする。速度パターン制御部４６は、仮想時刻に基づいて速度パターンを元に戻し、戻された速度パターンを制御指令生成部４８へ出力する。
【００３５】
具体例を用いて説明する。図６の変更後の速度パターンＶＰａ（点線）において、速度を１倍速に戻す「変更期間の終了指令」が、実時刻ｔ２（１６ｓ）に発生した場合を説明する。図８に示すように、実時刻ｔ２以降における実時刻ｔと仮想時刻ｅの関係は、傾きを１とした直線ＬＬ２に変更される。よって、現時刻と対応する仮想時刻は下式（６）により算出できる。
【数７】
2020135488.tif 000009
ここで、λ（ｔ）は１である。得られた仮想時刻を用いて、式（２）および（４）により速度目標値および角速度目標値を求める。
【００３６】
これにより、速度パターン制御部４６によって、仮想時刻に基づいて速度パターンが元に戻される。具体的には、図６の変更後の速度パターンＶＰａ（点線）において、実時刻ｔ３以降の期間ＴＥ２における速度パターン形状が、変更前の速度パターンＶＰ（実線）と同一となる。すなわち図６に示すように、初期状態の速度パターンＶＰ（実線）に、速度パターンが変更された期間（変更期間ＣＴ）が挿入されることによって、以降の速度パターンＶＰ（実線）が仮想時刻分だけ時間軸方向Ｙ１にずれ、変更後の速度パターンＶＰａ（点線）となる。変更された速度パターンと、未来方向である時間軸方向Ｙ１へずらした速度パターンとは、実時刻ｔ３において接続点ＣＰで必ず接続する。これは、時間軸の調整により速度パターンを変更しているためである。また、変更後の速度パターンＶＰａの時間積分値（図６の斜線部）と、初期状態の速度パターンＶＰの時間積分値（図４の斜線部）とは等しくなる。
【００３７】
効果を説明する。予め設計された初期状態の速度パターンＶＰ（実線）を残しつつ、変更期間ＣＴにおいて速度を加減速することが可能となる。目標軌跡ＴＴや速度パターンを再生成する必要なく、一時的に速度を抑制したり停止させたりすることが可能となる。
【００３８】
ステップＳ１０において、制御指令生成部４８は、目標位置ＰＥまで到達したか否かを判断する。否定判断される場合（Ｓ１０：ＮＯ）にはステップＳ６へ戻り、肯定判断される場合（Ｓ１０：ＹＥＳ）にはフローを終了する。
【実施例２】
【００３９】
実施例１では、変更期間の開始指令（Ｓ６）に応じて速度パターン変更（Ｓ７）を行う形態を説明した。実施例２では、予め設計された目標軌跡ＴＴを用いて、転倒等の危険がある箇所（例：急カーブ部分）において速度パターンを予め変更する形態を説明する。
【００４０】
実施例１のフローチャート（図２）に対して、実施例２において異なる部分について、以下に説明する。ステップＳ１において、始点位置／目標位置設定部３５は、始点位置ＰＳおよび目標位置ＰＥを設定する。ステップＳ２において軌跡生成部４１は、目標軌跡ＴＴを生成する。図９に、始点位置ＰＳ、目標位置ＰＥ、目標軌跡ＴＴの設定例を示す。図９では、始点位置ＰＳのｘｙ座標が（０，０）であり、目標位置ＰＥのｘｙ座標が（９，３）である場合を説明している。
【００４１】
ステップＳ３において、速度パターン生成部４２は、目標軌跡ＴＴ上を移動するための初期状態の速度パターンを設定する。図１０に、図９の目標軌跡ＴＴに対して設計された速度パターンの具体例を示す。図１０の実線は初期状態の速度パターンＶＰ１を示しており、破線は変更後の速度パターンＶＰ１ａを示している。
【００４２】
ステップＳ４において、仮想時刻生成部４５は、実時刻と対応した仮想時刻を生成する。このとき、実施例２では、急カーブでの遠心力を制限するように仮想時刻が生成される。以下に説明する。
【００４３】
ｘｙ平面内の２次元において、経路の曲率をκ、曲率半径１／κ＝ｒとする。速度ｖは経路の接線方向に出ているため、向心加速度ａは速度ｖの直交方向となる。速度ｖ＝ｄｓ／ｄｔであるため、向心加速度ａは、下式（７）で求められる。
【数８】
2020135488.tif 000010
【００４４】
向心加速度ａの絶対値の最大値ａｍａｘが、ユーザや外部装置（例：荷重判定装置）によって与えられるとする。最大値ａｍａｘは、スリップ防止や荷崩れ防止の観点から定めてもよい。この場合、傾きλの値は下式（８）のように求めることができる。
【数９】
2020135488.tif 000011
【００４５】
なお、式（３）の多項式を用いている場合には、ｄｓ／ｄｕはほとんど１であるため無視できる。よって式（８）は、下式（９）のように簡略化することができる。
【数１０】
2020135488.tif 000012
【００４６】
曲率κおよびｄｓ／ｄｕは、仮想時刻ｅに対して十分に滑らかであるとみなせる。またｄｕ／ｄｅもユーザが設計した速度パターンであるため、十分に滑らかであるとみなせる。そのため、傾きλも時間に対して滑らかに変化する。
【００４７】
図１１に、式（７）を用いて算出された向心加速度ａのグラフを示す。図１１の実線は、初期状態の速度パターンＶＰ１（図１０）に対応する向心加速度パターンＡＰを示している。図１１の点線は、変更後の速度パターンＶＰ１ａに対応する向心加速度パターンＡＰａを示している。また図１１では、向心加速度の最大値ａｍａｘが０．８である場合を説明している。初期状態の速度パターンＶＰ１に対応する向心加速度パターンＡＰでは、期間ＴＲ１（図９の左カーブ期間）および期間ＴＲ２（右カーブ期間）において、向心加速度ａが最大値ａｍａｘを超過していることが分かる。
【００４８】
図１２に、式（９）を用いて算出された傾きλのグラフを示す。図１２の期間ＴＲ１ａおよび期間ＴＲ２ａは、図１１の期間ＴＲ１およびＴＲ２と、図１０の変更期間ＣＴ１およびＣＴ２に対応している。図１２の期間ＴＲ１ａおよび期間ＴＲ２ａにおいて、傾きλが１から小さくなるように変更されている。実施例１で前述したように、傾きλが１より小さくなることに応じて、実時刻ｔに対する仮想時刻ｅの経過速度を低下させることができる。よって、変更後の速度パターンＶＰ１ａ（図１０点線）に示すように、変更期間ＣＴ１およびＣＴ２において、速度を低下させるように速度パターンを変更することができる。その結果、変更後の速度パターンＶＰ１ａに対応する向心加速度パターンＡＰａ（図１１点線）では、向心加速度ａが最大値ａｍａｘを超過しないように抑制することができる。なお、図１２において傾きλが連続に変化しているため、速度パターンＶＰ１ａの変更期間ＣＴ１およびＣＴ２において速度も連続に変化する。よって制御指令生成部４８は、速度パターンＶＰ１ａに十分に追従することができる。
【００４９】
（効果）
目標軌跡ＴＴは予め設計しているため、転倒や荷崩れの危険性があるような急カーブ箇所は事前情報として把握することができる。実施例２の技術では、急カーブ箇所において速度を低下させるような速度パターンを、目標軌跡ＴＴを用いて予め作成することができる。これにより、目標軌跡ＴＴや速度パターンを再生成する必要なく、速度パターンの補正を行うことが可能となる。
【実施例３】
【００５０】
実施例３では、予め設計された目標軌跡ＴＴを用いて、操舵速度が高くなる箇所（例：目標物(パレット)を取るためにレーンチェンジする箇所）において速度パターンを予め変更する形態を説明する。フォークリフト１０は、操舵を行うための（不図示）を備えている。操舵速度は、ハンドルの回転速度である。
【００５１】
実施例２に対して異なる部分について、以下に説明する。ステップＳ４において、仮想時刻生成部４５は、実時刻と対応した仮想時刻を生成する。このとき、実施例３では、操舵速度を制限するように仮想時刻が生成される。以下に説明する。
【００５２】
操舵車輪の角度をΦとし、経路の曲率をκとする。非操舵輪（フォークリフト１０の前輪）の中心を原点とする。フォークリフト１０を上空から見て、車両の進行方向をｘ軸、進行方向に対して左側をｙ軸とする。操舵用車輪の中心の位置ベクトルを（ｌｘ，ｌｙ，０）とする。この場合、操舵速度ｄΦ／ｄｔは、下式（１０）で求められる。
【数１１】
2020135488.tif 000013
【００５３】
操舵速度の絶対値の最大値（ｄΦ／ｄｔ）ｍａｘが、ユーザや外部装置によって与えられるとする。この場合、傾きλの値は下式（１１）のように求めることができる。前述したように、この傾きλは滑らかに変化する。
【数１２】
2020135488.tif 000014
【００５４】
（効果）
目標軌跡ＴＴは予め設計しているため、操舵速度が上限を超えてしまう箇所は事前に把握することができる。実施例３の技術では、把握された箇所において操舵速度が上限を超過しないような速度パターンを、目標軌跡ＴＴを用いて予め作成することができる。これにより、目標軌跡ＴＴや速度パターンを再生成する必要なく、速度パターンの補正を行うことが可能となる。
【実施例４】
【００５５】
実施例４では、実時刻ｔと仮想時刻ｅの直線の傾きをマイナスとすることで、バック走行を可能にする形態を説明する。実施例１のフローチャート（図２）に対して、実施例４において異なる部分について、以下に説明する。ステップＳ１において、始点位置ＰＳおよび目標位置ＰＥが設定される。ステップＳ２において、目標軌跡ＴＴが生成される。実施例４では、図９に示すような始点位置ＰＳ、目標位置ＰＥ、目標軌跡ＴＴが設定される場合を説明する。
【００５６】
ステップＳ３において、速度パターン生成部４２は、目標軌跡ＴＴ上を移動するための初期状態の速度パターンを設定する。図１３に、図９の目標軌跡ＴＴに対して設計された速度パターンの具体例を示す。図１３の実線は初期状態の速度パターンＶＰ２を示しており、破線は変更後の速度パターンＶＰ２ａを示している。
【００５７】
ステップＳ６において、バック走行することを指示する「変更期間の開始指令」を仮想時刻生成部４５が受信した場合には、ステップＳ７において仮想時刻生成部４５は、実時刻ｔと仮想時刻ｅの関係を示す直線の傾きλを「負」に変更する。これにより、実時刻ｔに対する仮想時刻ｅの経過速度を「負」にする（すなわち時間を逆行させる）ことができる。実時刻ｔに対する仮想時刻ｅの経過速度が「負」の期間中においては、車体１２を目標軌跡ＴＴ上でバック走行させることができる。
【００５８】
具体例を用いて説明する。図１３の速度パターンに対応した、実時刻ｔと仮想時刻ｅの関係を、図１４に示す。開始時点である時刻ｔ１０からｔ１１までの期間では、仮想時刻と実時刻が一致している。よって、図１４の傾きλは１であり、図１３では速度パターンＶＰ２とＶＰ２ａとが一致している。
【００５９】
時刻ｔ１１（図１４）において、傾きλを−１にする（すなわちバック走行する）ことを指示する「変更期間の開始指令」が入力されると、傾きλが減少し始める。なお、傾きλの変化の割合は、事前に与えられている定数で定めることができる。そして、時刻ｔ１２以降において傾きλは「負」となるため、速度パターンＶＰ２ａ（図１３）に示すように、時刻ｔ１２以降はバック走行する。
【００６０】
時刻ｔ１３において、傾きλを０にする（すなわち停止する）ことを指示する「変更期間の開始指令」が入力されると、図１４に示すように、傾きλが時刻ｔ１４以降において「０」となる。よって速度パターンＶＰ２ａ（図１３）に示すように、時刻ｔ１４以降は停止する。
【００６１】
時刻ｔ１５において、傾きλを１にする（すなわち前進する）ことを指示する「変更期間の開始指令」が入力されると、図１４に示すように、傾きλが増加し始める。よって速度パターンＶＰ２ａ（図１３）に示すように、時刻ｔ１５から前進し始める。傾きλ（図１４）は、時刻ｔ１６以降において「１」となる。よって図１３に示すように、時刻ｔ１６以降の速度パターンＶＰ２ａ（点線）の形状は、速度パターンＶＰ２（実線）の後半部分と同一形状となる。
【００６２】
（効果）
実時刻ｔと仮想時刻ｅの直線の傾きλを「負」とすることで、仮想時刻ｅを逆行させることができる。これにより、目標軌跡ＴＴや速度パターンを再生成する必要なく、目標軌跡ＴＴ上をバック走行させることが可能となる。
【００６３】
以上、本明細書が開示する技術の実施例について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【００６４】
（変形例）
本明細書に記載されている技術は、「事前に決められた軌跡上を走行し、終点にて速度をゼロにする」というタスク全般に対して適用が可能である。従って本明細書の技術は、例えば、自動運転車による自動駐車の技術にも適用可能である。この場合、速度パターンを変更するトリガの一例としては、衝突防止のための緊急停止や減速などが挙げられる。また本明細書の技術は、例えば、自動運転バスの技術にも適用可能である。この場合、速度パターンを変更するトリガの一例としては、信号が赤に変わった場合の停止指示や、バス停で待機している人がいる場合のバス停での停車指示などが挙げられる。
【００６５】
本実施例では、目標速度よりも速度を低下させるように速度パターンを変更する場合を説明したが、この形態に限られず、目標速度よりも速度を上昇させてもよい。例えば、自動運転バスの技術において、信号が黄色に変わった場合に加速することで交差点を通過する形態が挙げられる。
【００６６】
実施例１では、変更期間の開始指令（Ｓ６）が１回出された場合を説明したが、この形態に限られない。変更期間の開始指令が複数回出される場合においても、本明細書の技術は適用可能である。
【００６７】
移動体制御装置４０はフォークリフト１０の演算装置３０内に備えられているとしたが、この形態に限られない。サーバなどの情報処理装置が備えるコンピュータ（ＣＰＵ）によって制御プログラムが読み込まれることによって、情報処理装置が移動体制御装置４０と同様の機能を発揮するとしてもよい。そして情報処理装置がフォークリフト１０と通信することにより、フォークリフト１０を走行させてもよい。
【００６８】
本実施例では、測域センサ２６として１次元走査型の測域センサを用いたが、各種のセンサを用いてもよい。例えば測域センサ２６は、2D LiDAR、3D LiDAR、ステレオカメラ、単眼カメラ、距離画像センサなどでもよい。自己位置推定部３８は、衛星測位を用いる手段によって自己位置を推定してもよい。
【００６９】
式（３）は、パラメトリック曲線の一例である。本実施例の技術では、様々なタイプのパラメトリック曲線を使用することが可能である。
【００７０】
本明細書に記載されている技術は、ガイドレスで移動体を自走させる技術に限られず、ガイド（例：磁気ガイド、レール）付きで自走する移動体にも適用可能である。特に、ガイド付きの場合であっても、位置決め用途がある場合に有効である。
【００７１】
ステップＳ２において、軌跡生成部４１が生成する目標軌跡ＴＴは、ガイドレス用にソフトウェア上で生成される軌跡に限られない。目標軌跡ＴＴは、磁気ガイドなど、物理的に設置される軌跡であってもよい。
【００７２】
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００７３】
１０：フォークリフト    １２：車体    ４０：移動体制御装置    ４１：軌跡生成部    ４２：速度パターン生成部    ４３：開始時点決定部    ４４：終了時点決定部    ４５：仮想時刻生成部    ４６：速度パターン制御部    ４８：制御指令生成部    ｅ：仮想時刻    ｔ：実時刻
【図１】
2020135488.tif 000015
【図２】
2020135488.tif 000016
【図３】
2020135488.tif 000017
【図４】
2020135488.tif 000018
【図５】
2020135488.tif 000019
【図６】
2020135488.tif 000020
【図７】
2020135488.tif 000021
【図８】
2020135488.tif 000022
【図９】
2020135488.tif 000023
【図１０】
2020135488.tif 000024
【図１１】
2020135488.tif 000025
【図１２】
2020135488.tif 000026
【図１３】
2020135488.tif 000027
【図１４】
2020135488.tif 000028