(57)【要約】      （修正有）【課題】車両と、車両の横にある物体と、の接触を抑制する車両走行状態決定装置を提供する。【解決手段】横センサ４０は、車両１よりも車両横方向Ｙ外側にある横物体Ａ１０までの距離を検出する。横センサ４０は、前側横センサ４０ｆと、後側横センサ４０ｒと、を備える。後側横センサ４０ｒは、車両１に対して前側横センサ４０ｆが検知する側と車両横方向Ｙと同じ側の位置、かつ、前側横センサ４０ｆの検知位置よりも車両後側Ｘ２の位置を検知する。コントローラ７０は、前側横センサ４０ｆおよび後側横センサ４０ｒが検出した距離を用いて、車両１と横物体Ａ１０との間隔が開いた状態になるように、車両１の走行状態を決定する。【選択図】図１
2020050257.tif 000002
【特許請求の範囲】
【請求項１】
車両に設けられ、前記車両よりも車両横方向外側にある横物体までの距離を検出する横センサと、
前記横センサの検出値が入力されるコントローラと、
を備え、
前記横センサは、
前側横センサと、
前記車両に対して前記前側横センサが検知する側と車両横方向同じ側の位置、かつ、前記前側横センサの検知位置よりも車両後側の位置を検知する後側横センサと、
を備え、
前記コントローラは、前記前側横センサおよび前記後側横センサが検出した距離を用いて、前記車両と前記横物体との間隔が開いた状態になるように、前記車両の走行状態を決定する、
車両走行状態決定装置。
【請求項２】
請求項１に記載の車両走行状態決定装置であって、
前記車両の車両横方向外側部分における車両前後方向の端部から前記横物体までの距離に関する値を間隔値としたとき、
前記コントローラは、前記車両の寸法、前記車両に対する前記横センサの位置、および前記車両に対する前記横センサの検出角度を用いて、前記間隔値を算出し、算出した前記間隔値を用いて前記車両の走行状態を決定する、
車両走行状態決定装置。
【請求項３】
請求項１または２に記載の車両走行状態決定装置であって、
前記コントローラは、前記車両の寸法、および、前記車両の走行速度を用いて、前記車両が通ると予測される軌跡を算出し、算出した前記軌跡を用いて前記車両の走行状態を決定する、
車両走行状態決定装置。
【請求項４】
請求項３に記載の車両走行状態決定装置であって、
前記車両は、左右のクローラを備え、
前記コントローラは、左右の前記クローラそれぞれの走行速度を用いて、前記軌跡を算出する、
車両走行状態決定装置。
【請求項５】
請求項１〜４のいずれか１項に記載の車両走行状態決定装置であって、
前記車両よりも車両前後方向外側にある前後物体の、前記車両に対する位置に関する情報を検出する前後センサを備え、
前記コントローラは、前記前後センサが検出した情報を用いて、前記車両の走行状態を決定する、
車両走行状態決定装置。
【請求項６】
請求項１〜５のいずれか１項に記載の車両走行状態決定装置であって、
前記車両は、
走行可能な下部走行体と、
前記下部走行体に旋回可能に取り付けられる上部旋回体と、
を備え、
前記横センサは、前記上部旋回体に取り付けられる、
車両走行状態決定装置。
【請求項７】
請求項６に記載の車両走行状態決定装置であって、
前記コントローラは、前記車両の走行状態を決定する前に、前記下部走行体に対する前記上部旋回体の旋回角度が、前記コントローラに設定された所定旋回角度になるように、前記下部走行体に対して前記上部旋回体を旋回させる、
車両走行状態決定装置。
【請求項８】
請求項１〜７のいずれか１項に記載の車両走行状態決定装置であって、
前記コントローラは、前記車両の車両前後方向と、前記横物体が延びる方向と、が平行になる側に前記車両の走行状態を決定する、
車両走行状態決定装置。
【請求項９】
請求項１〜８のいずれか１項に記載の車両走行状態決定装置であって、
前記前側横センサは、
前記車両よりも車両左側にある前記横物体である左物体を検知する前側左センサと、
前記車両よりも車両右側にある前記横物体である右物体を検知する前側右センサと、
を備え、
前記後側横センサは、
前記左物体を検知する後側左センサと、
前記右物体を検知する後側右センサと、
を備える、
車両走行状態決定装置。
【請求項１０】
請求項９に記載の車両走行状態決定装置であって、
前記コントローラは、前記車両の車両左側部分から前記左物体までの間隔と、前記車両の車両右側部分から前記右物体までの間隔と、が等しくなる側に前記車両の走行状態を決定する、
車両走行状態決定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の走行状態を決定する、車両走行状態決定装置に関する。
【背景技術】
【０００２】
例えば特許文献１などに、従来の車両が記載されている。同文献には、地面と荷台との間に架け渡された梯子状部材を、車両が走行することが記載されている。また、車両の左・右倣いセンサが、梯子状部材の外側端面に接触したり離れたりする検出情報に基づいて、車両を走行させることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３１４８２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
同文献に記載の技術では、車両が走行する梯子状部材に、左・右倣いセンサが接触したり離れたりすることが必要である。そのため、左・右倣いセンサが接触したり離れたりすることがない場所（例えば同文献では地面や荷台）を車両が走行する場合には、同文献に記載の技術を用いることができない。そのため、例えば、車両の横にある物体（例えば同文献では荷台の横のあおり板など）に、車両が接触するおそれがある。
【０００５】
そこで、本発明は、車両と、車両の横にある物体と、の接触を抑制できる、車両走行状態決定装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の車両走行状態決定装置は、横センサと、コントローラと、を備える。前記横センサは、車両に設けられ、前記車両よりも車両横方向外側にある横物体までの距離を検出する。前記コントローラには、前記横センサの検出値が入力される。前記横センサは、前側横センサと、後側横センサと、を備える。前記後側横センサは、前記車両に対して前記前側横センサが検知する側と車両横方向同じ側の位置、かつ、前記前側横センサの検知位置よりも車両後側の位置を検知する。前記コントローラは、前記前側横センサおよび前記後側横センサが検出した距離を用いて、前記車両と前記横物体との間隔が開いた状態になるように、前記車両の走行状態を決定する。
【発明の効果】
【０００７】
上記構成により、車両と、車両の横にある物体と、の接触を抑制できる。
【図面の簡単な説明】
【０００８】
【図１】車両１などを上から見た図である。
【図２】図１に示す車両１が、横物体Ａ１０に対して傾いた状態を上から見た図であり、車両１と右物体Ａ１２との間の距離などを示す図である。
【図３】図２に示す車両１と左物体Ａ１１との間の距離などを示す図２相当図である。
【図４】図１に示す車両１を模式的に示す図である。
【図５】図１に示すクローラ１１ｃを上から見た図である。
【図６】図１に示す車両１の作動を示すフローチャートである。
【発明を実施するための形態】
【０００９】
図１〜図６を参照して、図１に示す車両走行状態決定装置２０を備える車両１について説明する。
【００１０】
車両１は、走行可能な機械である。車両１は、例えば作業を行う作業機械であり、例えば建設作業を行う建設機械であり、例えばショベルなどである。図１に示す例では、車両１は、小型ショベルである。車両１は、自動操縦される場合があってもよく、遠隔操縦される場合があってもよい。車両１は、下部走行体１１と、ブレード１３と、上部旋回体１５と、アタッチメント１７と、車両走行状態決定装置２０と、を備える。
【００１１】
下部走行体１１は、走行可能であり、上部旋回体１５を支持する構造（機構、構造物）を備える。下部走行体１１は、例えばホイール（図示なし）を備えてもよく、例えばクローラ１１ｃ（クローラ走行装置）を備えてもよい。クローラ１１ｃは、左右に（２つ）設けられる。
【００１２】
ブレード１３（排土板）は、下部走行体１１に取り付けられる作業装置（下部走行体側作業装置）である。ブレード１３は、下部走行体１１に対して上下方向に移動可能であり、車両横方向Ｙ（方向については後述）には移動しない。なお、ブレード１３以外の作業装置が、下部走行体１１に取り付けられてもよい。
【００１３】
上部旋回体１５は、下部走行体１１に旋回可能に取り付けられる。上部旋回体１５には、例えば、運転席（図示なし）、および、車両１の駆動源（図示しないエンジンなど）などが設けられる。
【００１４】
アタッチメント１７は、上部旋回体１５に取り付けられる作業装置（上部旋回体側作業装置）である。アタッチメント１７は、例えば、ブーム、アーム、およびバケットなどを備える。下部走行体１１に対して上部旋回体１５が旋回するときに、アタッチメント１７は、上部旋回体１５と共に旋回する。
【００１５】
（方向）
車両１が前進直進および後進直進する方向を、車両前後方向Ｘとする。例えば、下部走行体１１がクローラ１１ｃを備える場合は、車両前後方向Ｘは、左右のクローラ１１ｃのそれぞれが延びる方向である。例えば、下部走行体１１がホイールを備える場合は、車両前後方向Ｘは、ホイールが転がり得る方向などである。車両前後方向Ｘにおいて、車両１が前進直進するときの車両１の移動の向き（移動する側）を車両前側Ｘ１とし、その逆向きを車両後側Ｘ２とする。車両前側Ｘ１は、車両１の現在位置Ｐ１から、目標位置Ｐ２に向かう向きである。下部走行体１１に対する上部旋回体１５の旋回の回転軸が延びる方向を、車両１の上下方向とする。車両前後方向Ｘ、および車両１の上下方向のそれぞれの方向に直交する方向を、車両横方向Ｙとする。車両横方向Ｙにおいて、車両後側Ｘ２から車両前側Ｘ１に向かって見たときの左側を車両左側Ｙ１とし、その逆側を車両右側Ｙ２とする。上部旋回体１５の、ある向きを、「上部旋回体１５前側」とする。例えば、上部旋回体１５に対してアタッチメント１７が突出する側を、上部旋回体１５前側としてもよい。下部走行体１１に対する上部旋回体１５の角度を、「旋回角度」とする。さらに詳しくは、旋回角度は、車両前側Ｘ１に対する、上部旋回体１５前側の角度である。車両前側Ｘ１と上部旋回体１５前側とが一致する状態（図１〜図３に示す状態）を、旋回角度の基準（０°）とする。以下では、主に、旋回角度が０°の場合について説明する。
【００１６】
車両走行状態決定装置２０は、車両１がどのように走行すべきかを（走行状態を）決定する。車両走行状態決定装置２０は、センサ３０と、コントローラ７０と、を備える。
【００１７】
センサ３０は、車両１に対する、車両１の周囲の物体（後述する横物体Ａ１０など）の位置に関する情報を検出する。センサ３０は、横センサ４０と、前後センサ５０と、旋回角度センサ６０（図４参照）と、を備える。
【００１８】
横センサ４０は、車両１に対する横物体Ａ１０（後述）の位置に関する情報を検出する。横センサ４０は、横センサ４０から、横物体Ａ１０までの距離を検出する。横センサ４０は、距離センサであり、例えば光センサであり、例えば赤外線センサである。横センサ４０は、車両１に取り付けられる。横センサ４０には、左センサ４１と、右センサ４２と、がある。
【００１９】
左センサ４１は、左センサ４１から左物体Ａ１１（後述）までの距離を検出する。左センサ４１は、左物体Ａ１１までの距離を検出できるような位置に配置される。例えば、左センサ４１は、車両１の車両左側Ｙ１部分に取り付けられる。例えば、左センサ４１は、上部旋回体１５に取り付けられ、上部旋回体１５の車両左側Ｙ１部分（上部旋回体１５の旋回角度が０°のときの上部旋回体１５の車両左側Ｙ１部分）に取り付けられる。左センサ４１は、下部走行体１１に取り付けられてもよい。左センサ４１の検出方向（検出可能な方向）は、例えば車両横方向Ｙと一致する方向であり、例えば車両左側Ｙ１と一致する向きである。左センサ４１の検出方向は、車両横方向Ｙに対して傾いた方向でもよい。左センサ４１は、２つ以上設けられる。左センサ４１の数が多いほど、左物体Ａ１１に対する車両１の傾き（図２の傾きαを参照）を正確に算出しやすい。図１に示す左センサ４１は、前側左センサ４１ｆ（前側横センサ４０ｆ）と、後側左センサ４１ｒ（後側横センサ４０ｒ）と、を備える。
【００２０】
前側左センサ４１ｆと後側左センサ４１ｒとは、車両横方向Ｙの互いに同じ側（具体的には車両左側Ｙ１）の位置を検知する。後側左センサ４１ｒは、車両１に対して前側左センサ４１ｆが検知する側（車両左側Ｙ１）と同じ側（車両左側Ｙ１）の位置を検知する。前側左センサ４１ｆの検知可能な位置（検知位置）と、後側左センサ４１ｒの検知位置とは、互いに車両前後方向Ｘにずれた位置である。後側左センサ４１ｒは、前側左センサ４１ｆよりも車両後側Ｘ２の位置を検知する。例えば、後側左センサ４１ｒは、前側左センサ４１ｆよりも車両後側Ｘ２に配置される。例えば、後側左センサ４１ｒの車両横方向Ｙにおける位置は、前側左センサ４１ｆの車両横方向Ｙにおける位置と同じ位置である。
【００２１】
右センサ４２は、右センサ４２から右物体Ａ１２（後述）までの距離を検出する。右センサ４２は、左センサ４１と車両横方向Ｙに対称（左右対称）または略対称に設けられる。右センサ４２は、２つ以上設けられ、例えば左センサ４１と同じ数設けられる。右センサ４２は、左センサ４１と同様に、前側右センサ４２ｆ（前側横センサ４０ｆ）と、後側右センサ４２ｒ（後側横センサ４０ｒ）と、を備える。
【００２２】
前後センサ５０は、車両１に対する前後物体Ａ２０（後述）の位置に関する情報を検出する。前後センサ５０は、車両１に取り付けられてもよく、車両１の外部に設けられてもよい。前後センサ５０には、前センサ５１と、後センサ５２と、がある。
【００２３】
前センサ５１は、車両１に対する前物体Ａ２１（後述）の位置に関する情報を検出する。例えば、前センサ５１は、前センサ５１から前物体Ａ２１までの距離（前センサ５１の検出方向における距離）を検出する。前センサ５１は、横センサ４０に比べ、距離を正確に検出できなくてもよい。例えば、前センサ５１は、ある範囲内に前物体Ａ２１が存在するか否かのみを検出できてもよい。前センサ５１は、前物体Ａ２１の位置に関する情報を検出できるような位置および、数に設定される。前センサ５１の数は、１でもよく、複数でもよい。例えば、前センサ５１は、上部旋回体１５に取り付けられ、上部旋回体１５の車両前側Ｘ１部分などに取り付けられる。前センサ５１は、下部走行体１１に取り付けられてもよい。
【００２４】
後センサ５２は、車両１に対する後物体Ａ２２（後述）の位置に関する情報を検出する。後センサ５２は、前センサ５１と車両前後方向Ｘに対称または略対称に設けられる。
【００２５】
旋回角度センサ６０は、図４に示すように、下部走行体１１に対する上部旋回体１５の旋回角度を検出する。旋回角度センサ６０は、車両１に取り付けられる。例えば、旋回角度センサ６０は、上部旋回体１５に取り付けられる上部センサ部材６１と、下部走行体１１に取り付けられる下部センサ部材６２と、を備える。旋回角度センサ６０による旋回角度の検出の例は次の通りである。
【００２６】
［検出の例１］旋回角度センサ６０は、旋回角度が、所定旋回角度（例えば約０°）であるか否かを検出可能である。［検出の例１ａ］例えば、上部センサ部材６１および下部センサ部材６２の一方は、信号（例えば光信号）を送信する送信機であり、他方（送信機ではない方）は、信号を受信する受信機である。［検出の例１ｂ］上部センサ部材６１および下部センサ部材６２の一方は、信号を送受信する送受信機であり、他方（送受信機ではない方）は、信号を反射する物などでもよい。上記の［検出の例１ａ］および［検出の例１ｂ］の場合、受信機（または送受信機）が信号を受信したときに、旋回角度が所定旋回角度であることを検出する。また、受信機（または送受信機）が信号を受信しないときに（例えば図４において二点鎖線で示す上部センサ部材６１を参照）、旋回角度が所定旋回角度ではないことを検出してもよい。この場合、下部走行体１１に対して上部旋回体１５を１回転以下旋回させれば、旋回角度が所定旋回角度（例えば約０°）となった状態を検出できる。
【００２７】
［検出の例２］旋回角度センサ６０は、旋回角度が何度であるかを、所定間隔で（例えば１°間隔などで）検出可能でもよい。旋回角度センサ６０は、旋回角度を直接的に検出するもの（エンコーダなど）でもよい。この場合、例えば、旋回角度センサ６０は、上部旋回体１５と下部走行体１１との接続部分（図示しないスイベルジョイントなど）などに取り付けられてもよい。
【００２８】
コントローラ７０（図１参照）は、信号の送受信、演算（判定など）、および情報の記憶などを行う。図１に示すように、コントローラ７０には、センサ３０の検出値（検出結果、出力信号）が入力される。コントローラ７０は、車両１に設けられてもよく、車両１の外部に設けられてもよい。
【００２９】
（車両１の周囲の物体）
車両１を走行させる空間を、スペースＳとする。車両１よりも車両横方向Ｙ外側にある物体を横物体Ａ１０とする。横物体Ａ１０には、左物体Ａ１１と、右物体Ａ１２と、の少なくともいずれかがある。左物体Ａ１１は、車両１よりも車両左側Ｙ１にある物体である。右物体Ａ１２は、車両１よりも車両右側Ｙ２にある物体である。以下では、左物体Ａ１１および右物体Ａ１２がある場合について説明する。左物体Ａ１１と右物体Ａ１２とは、互いに平行または略平行に配置される。車両１よりも車両前後方向Ｘ外側にある物体を前後物体Ａ２０とする。前後物体Ａ２０には、前物体Ａ２１と、後物体Ａ２２と、がある。前物体Ａ２１は、車両１よりも車両前側Ｘ１にある物体である。後物体Ａ２２は、車両１よりも車両後側Ｘ２にある物体である。
【００３０】
（スペースＳに関する位置、方向）
スペースＳには、現在位置Ｐ１と、目標位置Ｐ２と、がある。現在位置Ｐ１は、現在の車両１の位置である。目標位置Ｐ２は、現在位置Ｐ１よりも車両前側Ｘ１の位置であり、車両１を配置させようとする位置である。例えば、目標位置Ｐ２は、車両１を駐機（駐車）させようとする位置でもよい。例えば、目標位置Ｐ２は、車両１の走行経路の、車両１を通過させようとする位置でもよい。上から見て、右物体Ａ１２および左物体Ａ１１からの距離が等しい点を結んだ線を、スペース中心線Ｓａとする。スペース中心線Ｓａが延びる方向を、スペース前後方向ＳＸとする。なお、上から見たときに、スペース中心線Ｓａが曲線の場合は、車両１とスペース中心線Ｓａとが重なる位置またはその近傍などの点における、スペース中心線Ｓａの接線方向を、スペース前後方向ＳＸとしてもよい。また、右物体Ａ１２および左物体Ａ１１のうち一方のみがある場合は、横物体Ａ１０が延びる方向をスペース前後方向ＳＸとする。スペース前後方向ＳＸにおいて、現在位置Ｐ１から目標位置Ｐ２に向かう側をスペース前側ＳＸ１とし、その逆側をスペース後側ＳＸ２とする。スペース前後方向ＳＸに直交する水平方向を、スペース横方向ＳＹとする。スペース横方向ＳＹにおいて、スペース前側ＳＸ１と車両前側Ｘ１とを一致させたときに車両右側Ｙ２となる側を、スペース右側ＳＹ２とし、その逆側をスペース左側ＳＹ１とする。
【００３１】
車両１の周囲の物体などの具体例は、次の通りである。［物体などの例１］スペースＳは、車両１を運搬するための運搬車の荷台である。横物体Ａ１０は、荷台のスペース横方向ＳＹ外側端部にある、あおり板である。前物体Ａ２１は、荷台よりもスペース前側ＳＸ１にある運転室の壁、または、荷台のスペース前側ＳＸ１端部にある壁などである。後物体Ａ２２は、荷台のうち、車両１よりもスペース後側ＳＸ２の部分（荷台後部）などである。後物体Ａ２２には、道板Ａ２２ａなどが含まれてもよい。道板Ａ２２ａは、荷台の下（地面など）と荷台との間で、車両１を走行させるための部材（例えば梯子状部材など）である。［物体などの例２］スペースＳは、車両１の駐機（駐車）場所でもよい。駐機場所は、地面上でもよく、建物（倉庫など）内などでもよい。横物体Ａ１０および前物体Ａ２１の少なくともいずれかは、壁などでもよく、車両１の横や前に配置される車両１とは異なる車両でもよい。前物体Ａ２１および後物体Ａ２２の少なくともいずれかは、地面や床など（車両１の底面が接触する面）でもよく、地面や床などに設けられた目印など（線など）でもよい。
【００３２】
（作動）
車両１（主にコントローラ７０）は、以下のように作動するように構成される。コントローラ７０は、車両１の走行状態を決定する。走行状態には、車両１の進行方向および旋回方向が含まれる。走行状態は、左旋回、右旋回、前進、および後進の少なくともいずれかである。走行状態には、停止が含まれてもよい。前進には、前進直進と、前進旋回と、がある。前進旋回には、前進左旋回と、前進右旋回と、がある。後進には、後進直進と、後進旋回と、がある。後進旋回には、後進左旋回と、後進右旋回と、がある。車両１がクローラ１１ｃを備える場合は、前進も後進もすることなく、その場で旋回（スピンターン、ピボットターン）する場合がある。なお、以下では、旋回とは、特に断らない限り、下部走行体１１に対する上部旋回体１５の旋回ではなく、車両１の走行による旋回を意味する。
【００３３】
コントローラ７０は、横センサ４０が検出した距離を用いて、少なくとも横物体Ａ１０に車両１が接触しないような走行状態を決定する。コントローラ７０は、図６に示すように、旋回角度に関する処理（Ｓ１０）と、目標位置Ｐ２に関する処理（Ｓ２１、Ｓ２３）と、前進および後進の走行状態の決定に関する処理（Ｓ３１〜Ｓ５７）と、を行う。以下では、フローチャートの各ステップについては図６を参照して説明する。
【００３４】
ステップＳ１０では、図１に示すコントローラ７０は、下部走行体１１に対する上部旋回体１５の旋回角度が、所定旋回角度になるように、下部走行体１１に対して上部旋回体１５を旋回させる。この処理は、コントローラ７０が車両１の走行状態を決定する前（例えば車両１の走行開始前など）に行われる。上記「所定旋回角度」は、コントローラ７０に設定される。所定旋回角度は、例えば予めコントローラ７０に設定された一定値である。所定旋回角度は、傾きα（図２参照）の測定（ステップＳ３１）に適した旋回角度（理想的な旋回角度）に設定される。所定旋回角度は、例えば約０°であり、例えば０°を中央値とする角度範囲（例えば−１°から１°など）でもよい。旋回角度は、旋回角度センサ６０（図４参照）により検出される。
【００３５】
このステップＳ１０では、旋回角度センサ６０（図４参照）により旋回角度が何度であるかが検出されてもよい。コントローラ７０は、旋回角度センサ６０に検出された旋回角度を用いて、後述する各処理（計算など）を行ってもよい。コントローラ７０は、この旋回角度を用いて、後述する各値（センサ３０の検出値など）を補正（換算）してもよい。以下では、旋回角度が理想状態（０°）である場合について説明する。また、以下では、主に、図２に示すように、スペース前側ＳＸ１の向きに対して、車両前側Ｘ１の向きが、スペース右側ＳＹ２に傾いている場合（傾きαがスペース右側ＳＹ２向きの場合）について説明する。なお、傾きαがスペース左側ＳＹ１向きの場合は、下記の説明の左右を逆にすればよい。次に、フローはステップＳ２１に進む。
【００３６】
（目標位置Ｐ２に関する処理（Ｓ２１、Ｓ２２））
ステップＳ２１では、図１に示す前センサ５１により、車両１に対する前物体Ａ２１の位置に関する情報が検出される。例えば、前センサ５１が、前センサ５１から前物体Ａ２１までの距離（前センサ５１の検出方向（例えば車両前後方向Ｘ）における距離）を検出する場合がある。この場合、コントローラ７０は、例えば、図２に示す距離ｂ4を算出する。距離ｂ4は、車両１の車両前側Ｘ１の端（例えばアタッチメント１７の端）から、前物体Ａ２１までの距離である。次に、フローはステップＳ２３に進む。
【００３７】
ステップＳ２３では、図１に示すコントローラ７０は、車両１が目標位置Ｐ２に到着したか否かを判定する。例えば、コントローラ７０は、図２に示す距離ｂ4が、所定値以下であるか否かなどを判定する。車両１が目標位置Ｐ２に到着した場合（Ｓ２３でＹＥＳの場合）、コントローラ７０は、走行状態を停止に決定し、フローは終了する。車両１が目標位置Ｐ２に到着していない場合、コントローラ７０は、前進および後進の走行状態の決定に関する処理（Ｓ３１〜Ｓ５７）を行う。
【００３８】
（前進および後進の走行状態の決定に関する処理（Ｓ３１〜Ｓ５７））
図１に示すコントローラ７０は、車両１と横物体Ａ１０との間隔が開いた状態になるように、走行状態を決定する。さらに詳しくは、コントローラ７０は、車両１と横物体Ａ１０との間隔が、所定間隔以上開くように、走行状態を決定する。上記「所定間隔」は、コントローラ７０に設定される。少なくとも、コントローラ７０は、横物体Ａ１０に車両１が接触しないように、走行状態を決定する。以下では、車両１と横物体Ａ１０との間隔が所定間隔以上開くことを、単に「間隔を確保」などともいう。
【００３９】
前進および後進の走行状態の決定に関する処理の概要は次の通りである。横センサ４０は、横物体Ａ１０までの距離を検出する（Ｓ３１）。そして、傾きα（図２参照）が所定範囲内の場合は、走行状態を前進直進に決定する（Ｓ３３、Ｓ３７）。傾きαが所定範囲内でない場合、コントローラ７０は、前進に関する処理（Ｓ４０）を行う。車両１と横物体Ａ１０との間隔を確保した状態で車両１が前進できる場合は、コントローラ７０は、走行状態を前進に決定する（Ｓ４７）。車両１と横物体Ａ１０との間隔を確保した状態では車両１が前進できない場合は、車両１を一旦後進させる。そのために、コントローラ７０は、後進に関する処理（Ｓ５０）を行い、後進に関する走行状態を決定する（Ｓ５７）。これらの処理の具体例は次の通りである。
【００４０】
ステップＳ３１では、横センサ４０が、横センサ４０から横物体Ａ１０までの距離を検出する。横センサ４０のうち、少なくとも、傾きαの向き（図２ではスペース右側ＳＹ２）と同じ側の横センサ４０（右センサ４２）が、横物体Ａ１０（右物体Ａ１２）までの距離を検出する。図１に示す右センサ４２および左センサ４１が、横物体Ａ１０までの距離を検出してもよい。ここでは、右センサ４２が、右センサ４２から右物体Ａ１２までの距離を検出する場合について説明する。図２に示すように、後側右センサ４２ｒから右物体Ａ１２までの距離を、距離ａ1とする。前側右センサ４２ｆから右物体Ａ１２までの距離を、距離ａ2とする。距離ａ1および距離ａ2は、右センサ４２の検出方向における距離（直線距離）であり、右センサ４２から右物体Ａ１２までの最短距離とは限らない。この例では、前側右センサ４２ｆと後側右センサ４２ｒとで、車両横方向Ｙにおける位置は同じである。また、この例では、車両前後方向Ｘに対する後側右センサ４２ｒの検出角度（φ1）、および、車両前後方向Ｘに対する前側右センサ４２ｆの検出角度（φ2）のそれぞれは９０°であるとする。なお、前側右センサ４２ｆと後側右センサ４２ｒとで、車両横方向Ｙにおける位置がずれている場合や、φ1およびφ2の少なくともいずれかが９０°でない場合などには、後述する計算に用いる各値を補正（換算）してもよい。次に、フローはステップＳ３３に進む。
【００４１】
ステップＳ３３では、コントローラ７０（図１参照、以下のコントローラ７０について同様）は、傾きαが、所定範囲内か否かを判定する。また、コントローラ７０は、傾きαの向きを判定する。具体的には例えば、コントローラ７０は、距離ａ1と距離ａ2との差が、所定範囲内か否かを判定する。距離ａ1が、距離ａ2よりも大きい場合は、傾きαの向きは、スペース右側ＳＹ２である。距離ａ1が、距離ａ2よりも小さい場合は、傾きαの向きは、スペース左側ＳＹ１である。傾きαの所定範囲は、コントローラ７０に設定される。傾きαの所定範囲は、所定範囲内の傾きαで車両１が前進直進したときに、車両１と右物体Ａ１２との間に間隔を確保できるように設定される。傾きαの所定範囲は、例えば０°を中央値とする角度範囲などである。傾きαの所定範囲は、コントローラ７０に予め設定される一定値でもよく、例えば車両１の寸法に応じて設定されてもよく、スペースＳの寸法が分かっている場合はスペースＳの寸法に応じて設定されてもよい。傾きαの所定範囲は、何らかの条件（例えば距離ｂ4、距離ａ1、距離ａ2など）に応じてコントローラ７０が設定しても（変えても）よい。傾きαが所定範囲内の場合（Ｓ３３でＹＥＳの場合）、コントローラ７０は、車両１が前進直進した場合に車両１と右物体Ａ１２との間に間隔を確保できる、と判断する。この場合、コントローラ７０は、走行状態を、前進直進に決定し（Ｓ３７）、例えばステップＳ２１に戻る。傾きαが所定範囲内ではない場合（Ｓ３３でＮＯの場合）、コントローラ７０は、前進に関する処理（Ｓ４０）を行う。
【００４２】
（前進に関する処理（Ｓ４０））
次に、コントローラ７０は、車両１が前進可能か否かを判定（推定）する。ステップＳ４１では、コントローラ７０は、間隔値ｂ5を算出する。間隔値ｂ5は、車両１の部分１ａから、右物体Ａ１２までの距離に関する値である。間隔値ｂ5は、部分１ａから右物体Ａ１２までの距離でもよく、この距離に応じて決まる値でもよい。部分１ａは、車両１が仮に前進直進した場合に、車両１の中で右物体Ａ１２に最初に接触すると考えられる部分である。部分１ａは、車両１の車両右側Ｙ２（車両横方向Ｙ外側）部分における車両前側Ｘ１の端部（車両前後方向Ｘの端部）である。具体的には例えば、部分１ａは、ブレード１３の車両右側Ｙ２かつ車両前側Ｘ１の端部（先端部）である。車両１がブレード１３を備えない場合は、部分１ａは、例えばクローラ１１ｃの車両右側Ｙ２かつ車両前側Ｘ１の端部でもよい。図２に示す例では、間隔値ｂ5は、車両前後方向Ｘにおける、部分１ａから右物体Ａ１２までの距離である。間隔値ｂ5は、右物体Ａ１２と接触せずに、車両１が現在位置Ｐ１からどれだけ前進直進できるかを表す値である。間隔値ｂ5は、車両前後方向Ｘにおける、部分１ａから、右物体Ａ１２をスペース前後方向ＳＸに延長した部分までの距離としてもよい（図３の左物体Ａ１１をスペース前後方向ＳＸに延長した部分、および間隔値ｄ5を参照）。
【００４３】
間隔値ｂ5の算出に用いられる情報は、例えば次の通りである。後側右センサ４２ｒが検出した距離ａ1、および前側右センサ４２ｆが検出した距離ａ2が、間隔値ｂ5の算出に用いられる。車両１の設計データ（既知の値）が、間隔値ｂ5の算出に用いられる。具体的には、車両１の寸法（例えば下部走行体１１の寸法、上部旋回体１５の寸法）が、間隔値ｂ5の算出に用いられる。また、車両１における右センサ４２の位置の情報が、間隔値ｂ5の算出に用いられる。車両１における右センサ４２の位置の情報には、例えば、距離ｂ2および距離ｂ3が含まれてもよい。距離ｂ2は、前側右センサ４２ｆと後側右センサ４２ｒとの、車両前後方向Ｘにおける距離（間隔）である。距離ｂ3は、前側右センサ４２ｆと部分１ａとの、車両前後方向Ｘにおける距離である。車両前後方向Ｘに対する前側右センサ４２ｆの検出角度（φ1）、および、車両前後方向Ｘに対する後側右センサ４２ｒの検出角度（φ2）が、間隔値ｂ5の算出に用いられる。下部走行体１１に対する上部旋回体１５の旋回角度が、間隔値ｂ5の算出に用いられてもよい。なお、間隔値ｂ5の算出に用いられる情報は、必要に応じて選択されればよい（下記の軌跡の算出も同様）。例えば、前側右センサ４２ｆが部分１ａに配置される場合などには、車両１の寸法は算出に用いられなくてよい。
【００４４】
間隔値ｂ5の算出の具体例は、次の通りである。右物体Ａ１２の延びる方向（スペース前後方向ＳＸ）と、車両横方向Ｙ（例えば右センサ４２の検出方向）と、が成す角度を角度Θとする。Θは、下記の数１のように表される。また、相似の関係から、図２に示す距離ｂ1は、下記の数２のように表される。
【００４５】
【数１】
2020050257.tif 000003
【００４６】
【数２】
2020050257.tif 000004
【００４７】
距離ｂ1から、距離ｂ2（既知の値）および距離ｂ3（既知の値）を引けば、間隔値ｂ5が求まる。次に、フローはステップＳ４３に進む（ステップＳ４５に進んでもよい）。
【００４８】
ステップＳ４３では、コントローラ７０は、車両１が通ると予測される軌跡（軌道、経路）を算出する。コントローラ７０が算出する軌跡は、スペースＳにおける車両１の軌跡であり、右物体Ａ１２に対する車両１の軌跡である。コントローラ７０が算出する軌跡は、車両１が仮に前進（前進直進または前進旋回）した場合に、車両１が通ると予測される軌跡である。コントローラ７０が算出する軌跡は、車両１のうち、少なくとも右物体Ａ１２に接触しうる部分の軌跡であり、例えば上から見たときの車両１の角の部分（例えば部分１ａなど）の軌跡であり、車両１全体の軌跡でもよい。
【００４９】
軌跡の算出に用いられる情報は、例えば次の通りである。車両１の寸法（例えば下部走行体１１の寸法、上部旋回体１５の寸法）が、軌跡の算出に用いられる。車両１の走行速度が、軌跡の算出に用いられる。例えば、左右のクローラ１１ｃのそれぞれの走行速度（詳細は後述）が、軌跡の算出に用いられる。スペースＳにおける車両１の現在位置Ｐ１の情報（例えばセンサ３０の検出値など）が、軌跡の算出に用いられてもよい。
【００５０】
軌跡の算出に用いられる車両１の走行速度は、例えば次のように決められる。車両１が走行している場合は、この「走行速度」は、現在の（実際の）車両１の走行速度でもよく、目標値としての車両１の走行速度（目標走行速度）でもよい。現在の車両１の走行速度は、例えば、下部走行体１１のモータの回転数などから算出できる。車両１が停止している場合は、この「走行速度」は、目標走行速度である。目標走行速度は、例えばコントローラ７０に設定される。目標走行速度は、コントローラ７０に予め設定された速度でもよい。この場合、目標走行速度は、例えば、スペースＳでの移動時（例えば荷台への積み込み時）に用いられる走行速度として、コントローラ７０に予め設定された走行速度の上限値などでもよい。例えば、コントローラ７０には、複数種類の目標走行速度が予め設定されてもよい。目標走行速度は、傾きαが減る側に車両１を前進旋回させる場合の、車両１の走行速度である。例えば、目標走行速度は、距離ａ1と距離ａ2との差が小さくなる側に車両１を前進旋回させる場合の、車両１の走行速度である。
【００５１】
軌跡の算出の例は、次の通りである。ここでは、車両１が左右のクローラ１１ｃを備える場合の例を示す。図５に示すように、左右のクローラ１１ｃの速度（スペースＳ（図２参照）に対するクローラ１１ｃの速度）をそれぞれＶl、Ｖrとする。左右のクローラ１１ｃの間隔（左右のクローラ１１ｃの幅方向中央どうしの間隔）を２ｄとする。車両１の中心の速度、および角速度をそれぞれ、Ｖc、ωcとする。このとき、車両１の中心座標（ｘ、ｙ）、および方位角θには、下記の数３の関係式が成立する。
【００５２】
【数３】
2020050257.tif 000005
【００５３】
なお、車両１が左右のクローラ１１ｃを備える場合、ＶlおよびＶrの一方が０であり、他方が０よりも大きい場合がある。また、車両１が左右のクローラ１１ｃを備える場合、車両１はスピンターンを行う場合がある。スピンターンの場合は、右のクローラ１１ｃと左のクローラ１１ｃとが互いに逆向きに回転するので、ＶlとＶrとの正負が逆になる（例えば、前進を正、後進を負とする）。ただし、スピンターンの場合は、前進旋回の場合に比べ、算出した軌跡に対する、車両１の実際の軌跡の差異が大きくなる場合がある。そのため、スピンターンは、コントローラ７０が決定する走行状態に含まれなくてもよい（含まれてもよい）。次に、フローはステップＳ４５に進む。
【００５４】
ステップＳ４５では、コントローラ７０は、図２に示す車両１と右物体Ａ１２との間隔に関する判定をする。さらに詳しくは、コントローラ７０は、算出した間隔値ｂ5、および算出した軌跡を用いて、車両１が前進（直進、旋回）した場合に、車両１と右物体Ａ１２との間隔を確保できるか否かを判定する（判定の具体例は後述）。車両１が前進した場合に、車両１と右物体Ａ１２との間隔を確保できる場合（Ｓ４５でＹＥＳの場合）、コントローラ７０は、走行状態を前進（前進直進または前進旋回）に決定する（ステップＳ４７）。車両１が前進した場合に、車両１と右物体Ａ１２との間隔を確保できない場合（Ｓ４５でＮＯの場合）、一旦後進するために、後進に関する処理（Ｓ５０）を行う。
【００５５】
このステップＳ４５での判定の具体例は、次の通りである。［判定の具体例１ａ］コントローラ７０は、間隔値ｂ5が所定値以上の場合は、車両１が前進直進した場合に車両１と横物体Ａ１０との間隔を確保できると判定し、走行状態を前進直進に決定する（ステップＳ４７）。この間隔値ｂ5の所定値は、コントローラ７０に設定される。間隔値ｂ5の所定値は、コントローラ７０に予め設定される一定値でもよく、例えば車両１の寸法に応じて設定される一定値でもよい。間隔値ｂ5の所定値は、条件に応じてコントローラ７０が設定する（変える）値でもよい。例えば、コントローラ７０は、間隔値ｂ5の所定値を、前センサ５１の検出値（例えば距離ｂ4）に応じて設定してもよい。例えば、コントローラ７０は、距離ｂ4が大きいほど、間隔値ｂ5の所定値を大きく設定してもよい。
【００５６】
［判定の具体例１ｂ］間隔値ｂ5が所定値未満の場合、車両１が前進直進すれば、車両１と右物体Ａ１２との間隔を確保できない、とコントローラ７０は判断する。この場合、コントローラ７０は、ステップＳ４３で算出した軌跡に沿って車両１が前進旋回した場合に、車両１と右物体Ａ１２との間隔を確保できるか否かを判定する。上記の軌跡に沿って車両１が前進旋回した場合に、車両１と右物体Ａ１２との間隔を確保できる場合は、算出した軌跡で前進旋回するように、走行状態を決定する（ステップＳ４７）。上記の軌跡に沿って車両１が前進旋回した場合に、車両１と右物体Ａ１２との間隔を確保できない場合は、一旦後進するために、後進に関する処理（Ｓ５０）を行う。
【００５７】
（後進に関する処理（Ｓ５０））
次に、コントローラ７０は、車両１が後進可能か否かを判定（推定）する。後進に関する処理（Ｓ５０）は、ほぼ、前進に関する処理（Ｓ４０）を、前後逆および左右逆にした処理である。
【００５８】
ステップＳ５１では、コントローラ７０は、間隔値ｂ5と同様に（但し、前後左右に逆）、図３に示す間隔値ｄ5を算出する。間隔値ｄ5は、車両１の部分１ｂから、左物体Ａ１１までの距離に関する値である。間隔値ｄ5は、車両１の部分１ｂから、左物体Ａ１１までの距離でもよく、この距離に応じて決まる値でもよい。部分１ｂは、車両１が仮に後進直進した場合に、車両１の中で左物体Ａ１１に最初に接触すると考えられる部分である。部分１ｂは、車両１の車両左側Ｙ１（車両横方向Ｙ外側）部分の、車両後側Ｘ２端部（車両前後方向Ｘ端部）である。具体的には例えば、部分１ｂは、車両左側Ｙ１のクローラ１１ｃの、車両左側Ｙ１かつ車両後側Ｘ２の端部である。具体的には例えば、間隔値ｄ5は、車両前後方向Ｘにおける、部分１ｂから、左物体Ａ１１をスペース前後方向ＳＸに延長した部分までの距離である。間隔値ｄ5は、車両前後方向Ｘにおける、部分１ｂから、左物体Ａ１１までの距離としてもよい（図３の間隔値ｂ5、および右物体Ａ１２を参照）。
【００５９】
間隔値ｄ5の算出に用いられる情報は、間隔値ｂ5の算出に用いられた情報とほぼ同様（但し前後左右に逆）であり、例えば次の通りである。前側左センサ４１ｆが検出した距離ｃ1、および後側左センサ４１ｒが検出した距離ｃ2が、間隔値ｄ5の算出に用いられる。車両１の寸法などの設計データ（既知の値）が、間隔値ｄ5の算出に用いられる。また、車両１に対する左センサ４１の位置の情報が、間隔値ｄ5の算出に用いられる。車両１に対する左センサ４１の位置の情報には、例えば、距離ｄ2および距離ｄ3が含まれてもよい。距離ｄ2は、前側左センサ４１ｆと後側左センサ４１ｒとの、車両前後方向Ｘにおける距離（間隔）である。距離ｄ3は、後側左センサ４１ｒと部分１ｂとの、車両前後方向Ｘにおける距離である。車両前後方向Ｘに対する前側左センサ４１ｆの検出角度（ψ1）、および、車両前後方向Ｘに対する後側左センサ４１ｒの検出角度（ψ2）が、間隔値ｂ5の算出に用いられる。下部走行体１１に対する上部旋回体１５の旋回角度が、間隔値ｄ5の算出に用いられてもよい。なお、間隔値ｄ5の算出に用いられる情報は、必要に応じて選択されればよい。
【００６０】
間隔値ｄ5の算出の具体例は、次の通りである。左物体Ａ１１の延びる方向（スペース前後方向ＳＸ）と、車両横方向Ｙ（例えば左センサ４１の検出方向）と、が成す角度を角度Θとする。Θは、下記の数４のように表される。また、相似の関係から、図３に示す距離ｄ1は、下記の数５のように表される。
【００６１】
【数４】
2020050257.tif 000006
【００６２】
【数５】
2020050257.tif 000007
【００６３】
距離ｄ1から、距離ｄ2（既知の値）、および距離ｄ3（既知の値）を引けば、間隔値ｄ5が求まる。次に、フローはステップＳ５３に進む（ステップＳ５５に進んでもよい）。
【００６４】
ステップＳ５３では、ステップＳ４３と同様に（但し前後左右に逆に）、コントローラ７０は、車両１が通ると予測される軌跡（軌道、経路）を算出する。次に、フローはステップＳ５５に進む。
【００６５】
ステップＳ５５では、ステップＳ４５と同様に（但し前後左右に逆に）、コントローラ７０は、車両１と左物体Ａ１１との間隔に関する判定をする。［判定の具体例２ａ］上記［判定の具体例１ａ］と同様に、コントローラ７０は、車両１が後進直進した場合に、左物体Ａ１１と車両１との間隔を確保できるか否かを判定してもよい。［判定の具体例２ｂ］また、上記［判定の具体例１ｂ］と同様に、コントローラ７０は、ステップＳ５３で算出した軌跡に沿って車両１が後進旋回した場合に、車両１と右物体Ａ１２との間隔を確保できるか否かを判定してもよい。
【００６６】
さらに、コントローラ７０は、後物体Ａ２２（例えば荷台）に関する判定を行ってもよい。［判定の具体例２ｃ］例えば、後センサ５２（図１参照）が、車両１に対する後物体Ａ２２の位置に関する情報を検出する。そして、コントローラ７０は、車両１の車両後側Ｘ２に、後進可能なスペースＳが存在するか否かを判定する。後進可能なスペースＳが存在する場合、コントローラ７０は、上記の［判定の具体例２ａ］および［判定の具体例２ｂ］の少なくともいずれかの判定に基づいて、走行状態を、後進直進または後進旋回に決定する（ステップＳ５７）。また、後進可能なスペースＳが存在しない場合（Ｓ５５でＹＥＳの場合）、コントローラ７０は、走行状態を停止に決定する。この場合、フローは終了する。この場合、コントローラ７０は、エラー信号を出力してもよい。［判定の具体例２ｄ］また、後センサ５２（図１参照）が、車両１の車両後側Ｘ２端部から、スペースＳのスペース後側ＳＸ２端部（荷台の後端など）までの距離を検出してもよい。コントローラ７０は、この距離が、所定距離以上あるか否かを判定してもよい。この距離が所定距離以上ある場合に、コントローラ７０は、車両１の車両後側Ｘ２に後進可能なスペースＳが存在すると判定してもよい。この距離が所定距離未満の場合に、コントローラ７０は、車両１の車両後側Ｘ２に後進可能なスペースＳが存在しないと判定してもよい。
【００６７】
コントローラ７０は、ステップＳ３７、Ｓ４７、またはＳ５７で走行状態を決定し、決定した走行状態に従って、図１に示す車両１を走行させる。センサ３０での検出およびコントローラ７０の各処理（各判定）は、車両１が走行している間にも継続して行われる。ステップＳ３７、Ｓ４７、またはＳ５７の後、フローはステップＳ２１に戻る。なお、車両１の後進中（ステップＳ５７の後）は、車両１は目標位置Ｐ２に到着することはないので、フローはステップＳ３１に戻ってもよい。
【００６８】
車両１の後進を停止させる（走行状態を後進から停止に変える）タイミングの例は、次の通りである。コントローラ７０は、車両１の後進旋回中に、傾きα（図３参照）が所定範囲内（Ｓ３３でＹＥＳ）となった場合に、後進を停止させ、前進を開始させてもよい（Ｓ４７）。コントローラ７０は、車両１が後進している最中に、前進旋回の軌跡を算出し（Ｓ４３）、前進旋回が可能と判定された場合（Ｓ４５でＹＥＳの場合）に、後進を停止させ、前進を開始させてもよい（Ｓ４７）。
【００６９】
コントローラ７０は、少なくとも、車両１と横物体Ａ１０との間に所定の間隔を確保するように、走行状態を決定する。この場合は、例えば、車両１が、スペース右側ＳＹ２への移動、およびスペース左側ＳＹ１への移動を繰り返しながら、スペース前側ＳＸ１に移動し、目標位置Ｐ２に移動する。
【００７０】
コントローラ７０は、図３に示す傾きαが小さくなる側に、走行状態を決定することが好ましい。［例３ａ］コントローラ７０は、車両前後方向Ｘと、左物体Ａ１１が延びる方向と、が平行になる側に走行状態を決定することが好ましい。具体的には例えば、コントローラ７０は、前側左センサ４１ｆが検出した距離ｃ1と後側左センサ４１ｒが検出した距離ｃ2とが等しくなる側に、走行状態を決定することが好ましい。［例３ｂ］コントローラ７０は、車両前後方向Ｘと、右物体Ａ１２が延びる方向と、が平行になる側に走行状態を決定することが好ましい。具体的には例えば、コントローラ７０は、図２に示す後側右センサ４２ｒが検出した距離ａ1と、前側右センサ４２ｆが検出した距離ａ2と、が等しくなる側に、走行状態を決定することが好ましい。［例３ｃ］コントローラ７０は、上記［例３ａ］および［例３ｂ］の両方を満たすように、走行状態を決定することが、さらに好ましい。
【００７１】
コントローラ７０は、車両１の車両横方向Ｙ中央部が、スペース中心線Ｓａ（スペースＳのスペース横方向ＳＹ中央部）に近づく側に、走行状態を決定することが好ましい。さらに詳しくは、コントローラ７０は、車両１の車両左側Ｙ１部分から左物体Ａ１１までの間隔と、車両１の車両右側Ｙ２部分から右物体Ａ１２までの間隔と、が等しくなる側に走行状態を決定することが好ましい。具体的には例えば、コントローラ７０は、距離ａ1または距離ａ2と、図３に示す距離ｃ1または距離ｃ2と、が等しくなる側に、走行状態を決定することが好ましい。
【００７２】
車両走行状態決定装置２０（図１参照）の作動、例えば図６に記載のフローチャートの各ステップの順序などは、様々に変更可能である。例えば、コントローラ７０は、直進前進可能な場合（例えばＳ３３でＹＥＳの場合）に、走行状態を前進旋回に決定してもよい。具体的には例えば、コントローラ７０は、直進前進可能な場合でも、傾きαが小さくなるように、走行状態を前進旋回に決定してもよい。また、例えば、コントローラ７０は、前進直進可能な場合でも、車両１の車両横方向Ｙ中央部がスペース中心線Ｓａに近づくように、走行状態を前進旋回に決定してもよい。同様に、コントローラ７０は、前進可能な場合に、傾きαが小さくなるように、走行状態を後進に決定してもよい。また、コントローラ７０は、前進可能な場合に、車両１の車両横方向Ｙ中央部がスペース中心線Ｓａに近づくように、走行状態を後進に決定してもよい。
【００７３】
なお、コントローラ７０は、決定した走行状態に従って車両１を走行させなくてもよい。例えば、コントローラ７０は、決定した走行状態を表示してもよい。この場合、車両１の操作者が、この表示を参考にして、車両１を走行させる操作を行ってもよい。
【００７４】
（効果）
図１に示す車両走行状態決定装置２０による効果は次の通りである。
【００７５】
（第１の発明の効果）
［構成１−１］車両走行状態決定装置２０は、横センサ４０と、コントローラ７０と、を備える。横センサ４０は、車両１に設けられ、車両１よりも車両横方向Ｙ外側にある横物体Ａ１０までの距離を検出する。コントローラ７０には、横センサ４０の検出値が入力される。
【００７６】
［構成１−２］横センサ４０は、前側横センサ４０ｆと、後側横センサ４０ｒと、を備える。後側横センサ４０ｒは、車両１に対して前側横センサ４０ｆが検知する側（例えば車両左側Ｙ１）と車両横方向Ｙ同じ側（例えば車両左側Ｙ１）の位置、かつ、前側横センサ４０ｆの検知位置よりも車両後側Ｘ２の位置を検知する。
【００７７】
［構成１−３］コントローラ７０は、前側横センサ４０ｆおよび後側横センサ４０ｒが検出した距離を用いて、車両１と横物体Ａ１０との間隔が開いた状態になるように、車両１の走行状態を決定する。
【００７８】
車両走行状態決定装置２０は、上記［構成１−２］を備える。よって、車両１に対する車両横方向Ｙの少なくとも一方側で、前側横センサ４０ｆの検知位置および後側横センサ４０ｒの検知位置のそれぞれの位置で、横物体Ａ１０までの距離が検出される。よって、例えば図２に示す傾きαなどを検出できる。そして、上記［構成１−３］では、この検出結果（例えば傾きαなど）を用いて、車両１と横物体Ａ１０との間隔が開いた状態になるように、車両１の走行状態を決定できる。したがって、決定された走行状態に従って車両１を走行させた場合、車両１と横物体Ａ１０との接触を抑制できる。
【００７９】
（第２の発明の効果）
［構成２］図２に示すように、車両１の車両横方向Ｙ外側部分における車両前後方向Ｘの端部から、横物体Ａ１０までの距離に関する値を間隔値（ｂ5、ｄ5（図３参照））とする。コントローラ７０（図１参照）は、車両１の寸法、車両１に対する横センサ４０の位置、および車両１に対する横センサ４０の検出角度（φ1、φ2）を用いて、間隔値（ｂ5、ｄ5）を算出する。コントローラ７０は、算出した間隔値（ｂ5、ｄ5）を用いて、車両１の走行状態を決定する。
【００８０】
車両１の車両横方向Ｙ外側部分における車両前後方向Ｘの端部（例えば部分１ａ、部分１ｂ（図３参照））は、車両１の他の部分に比べ、横物体Ａ１０に接触する可能性が高い部分と言える。そこで、上記［構成２］では、この部分（部分１ａ、部分１ｂ）から、横物体Ａ１０までの距離に関する値である間隔値（ｂ5、ｄ5（図３参照））が、走行状態の決定に用いられる。よって、走行状態の決定に間隔値（ｂ5、ｄ5）が用いられない場合に比べ、車両１と横物体Ａ１０との間隔をより確実に確保しやすい。
【００８１】
（第３の発明の効果）
［構成３］図１に示すコントローラ７０は、車両１の寸法、および、車両１の走行速度を用いて、車両１が通ると予測される軌跡を算出する（図６のＳ４３、Ｓ５３）。コントローラ７０は、算出した軌跡を用いて、車両１の走行状態を決定する（図６のＳ４７、Ｓ５７）。
【００８２】
上記［構成３］により、車両１が通ると予測される軌跡が走行状態の決定に用いられない場合に比べ、車両１と横物体Ａ１０との間隔をより確実に確保しやすい。
【００８３】
（第４の発明の効果）
［構成４］車両１は、左右のクローラ１１ｃを備える。コントローラ７０は、図５に示す左右のクローラ１１ｃそれぞれの走行速度（Ｖl、Ｖr）を用いて、軌跡を算出する。
【００８４】
上記［構成４］により、左右のクローラ１１ｃそれぞれの走行速度（Ｖl、Ｖr）が走行状態の決定に用いられない場合に比べ、図１に示す車両１の軌跡を適切に算出できる。その結果、車両１と横物体Ａ１０との間隔をより確実に確保しやすい。
【００８５】
（第５の発明の効果）
［構成５］車両走行状態決定装置２０は、前後センサ５０を備える。前後センサ５０は、車両１よりも車両前後方向Ｘ外側にある前後物体Ａ２０の、車両１に対する位置に関する情報を検出する。コントローラ７０は、前後センサ５０が検出した情報を用いて、車両１の走行状態を決定する。
【００８６】
上記［構成５］により、前後物体Ａ２０と車両１との位置関係に応じて、走行状態を決定できる。具体的には例えば、車両１よりも車両前側Ｘ１に、車両１が前進できるスペースＳがあるか否かに応じて、走行状態を決定できる。また、例えば、車両１よりも車両後側Ｘ２に車両１が後進できるスペースＳがあるか否かに応じて、走行状態を決定できる。
【００８７】
（第６の発明の効果）
［構成６］車両１は、走行可能な下部走行体１１と、下部走行体１１に旋回可能に取り付けられる上部旋回体１５と、を備える。横センサ４０は、上部旋回体１５に取り付けられる。
【００８８】
上記［構成６］により、下部走行体１１に横センサ４０が取り付けられる場合に比べ、横センサ４０の検出の機能が発揮されやすい。具体的には例えば、下部走行体１１に横センサ４０が取り付けられる場合に比べ、横センサ４０が、汚れにくく、破損しにくい。
【００８９】
（第７の発明の効果）
［構成７］コントローラ７０は、車両１の走行状態を決定する前に、下部走行体１１に対する上部旋回体１５の旋回角度が、コントローラ７０に設定された所定旋回角度になるように、下部走行体１１に対して上部旋回体１５を旋回させる（図６のＳ１０）。
【００９０】
上記［構成６］では、下部走行体１１に対して上部旋回体１５が旋回可能であり、上部旋回体１５に横センサ４０が取り付けられる。そのため、下部走行体１１に対する横物体Ａ１０の位置が同じでも、下部走行体１１に対して上部旋回体１５が旋回すると、横センサ４０から横物体Ａ１０までの距離が変わる。そこで、車両走行状態決定装置２０は、上記［構成７］を備える。よって、下部走行体１１に対する上部旋回体１５の旋回角度を、走行状態を決定するのに適した旋回角度（例えば０°など）にした状態で、走行状態を決定できる。その結果、車両１と横物体Ａ１０との間隔をより確実に確保しやすい。
【００９１】
（第８の発明の効果）
［構成８］コントローラ７０は、車両１の車両前後方向Ｘと、横物体Ａ１０が延びる方向（スペース前後方向ＳＸ）と、が平行になる側に、車両１の走行状態を決定する。
【００９２】
上記［構成８］により、横物体Ａ１０と平行になるように、車両１を走行させることができる。その結果、車両１と横物体Ａ１０との間隔をより確実に確保しやすい。
【００９３】
（第９の発明の効果）
［構成９］前側横センサ４０ｆは、前側左センサ４１ｆと、前側右センサ４２ｆと、を備える。前側左センサ４１ｆは、左物体Ａ１１を検知する。左物体Ａ１１は、車両１よりも車両左側Ｙ１にある横物体Ａ１０である。前側右センサ４２ｆは、右物体Ａ１２を検知する。右物体Ａ１２は、車両１よりも車両右側Ｙ２にある横物体Ａ１０である。後側横センサ４０ｒは、左物体Ａ１１を検知する後側左センサ４１ｒと、右物体Ａ１２を検知する後側右センサ４２ｒと、を備える。
【００９４】
上記［構成９］により、車両１と左物体Ａ１１との間隔を開けた状態で、かつ、車両１と右物体Ａ１２との間隔を開けた状態で、車両１を走行させることができる。
【００９５】
（第１０の発明の効果）
［構成１０］コントローラ７０は、車両１の車両左側Ｙ１部分から左物体Ａ１１までの間隔と、車両１の車両右側Ｙ２部分から右物体Ａ１２までの間隔と、が等しくなる側に車両１の走行状態を決定する。
【００９６】
上記［構成１０］により、左物体Ａ１１と右物体Ａ１２との中央に、車両１を配置しやすい。その結果、車両１と横物体Ａ１０との間隔をより確実に確保しやすい。
【００９７】
なお、上記［構成１−１］〜［構成１−３］、および［構成２］〜［構成８］では、横センサ４０は、右センサ４２および左センサ４１の少なくとも一方である。例えば、横センサ４０が右センサ４２の場合、前側横センサ４０ｆは、前側右センサ４２ｆであり、後側横センサ４０ｒは、後側右センサ４２ｒであり、横物体Ａ１０は、右物体Ａ１２である。
【００９８】
（スペースＳが荷台の場合の効果）
スペースＳが運搬車の荷台の場合、車両１が荷台（スペースＳ）に積み込まれ、運搬車が車両１を運搬した後、荷台から車両１が積み降ろされる。この積み降ろしの際、車両１は、道板Ａ２２ａを用いて荷台から積み降ろされる場合がある。道板Ａ２２ａは、通常、あおり板（横物体Ａ１０）と平行または略平行に配置される。そのため、車両１が荷台（スペースＳ）から積み降ろされる際に、車両１が、あおり板（横物体Ａ１０）に平行に位置していることが望まれる。そのため、車両１が荷台（スペースＳ）に積み込まれる時点で、車両１が、あおり板（横物体Ａ１０）に対して平行に車両１が積み込まれることが望ましい。スペースＳが荷台であり、上記［構成８］を備える場合は、あおり板（横物体Ａ１０）に対して平行に車両１を積み込みやすい。また、車両１の積み込みおよび積み降ろしの際、車両１があおり板に接触しないように、荷台（スペースＳ）のスペース横方向ＳＹ中央に車両１が配置されることが望まれる。スペースＳが荷台であり、上記［構成１０］を備える場合は、荷台（スペースＳ）のスペース横方向ＳＹ中央に車両１を配置しやすい。
【００９９】
（変形例）
上記実施形態は様々に変形されてもよい。例えば、各構成要素の配置や形状が変更されてもよい。例えば、図６に示すフローチャートのステップの順序は変更されてもよく、ステップの一部が行われなくてもよい。例えば、車両１の構成要素の数が変更されてもよく、構成要素の一部が設けられなくてもよい。例えば、互いに異なる複数の構成要素として説明したものが、一つの部材や部分とされてもよい。例えば、一つの部材や部分として説明したものが、互いに異なる複数の部材や部分に分けて設けられてもよい。例えば、車両１は、下部走行体１１と上部旋回体１５とに分かれていなくてもよい。
【符号の説明】
【０１００】
１  車両
１１  下部走行体
１１ｃ  クローラ
１５  上部旋回体
４０  横センサ
４０ｆ  前側横センサ
４０ｒ  後側横センサ
４１ｆ  前側左センサ（前側横センサ）
４１ｒ  後側左センサ（後側横センサ）
４２ｆ  前側右センサ（前側横センサ）
４２ｒ  後側右センサ（後側横センサ）
５０  前後センサ
７０  コントローラ
ｂ5、ｄ5  間隔値
Ａ１０  横物体
Ａ１１  左物体（横物体）
Ａ１２  右物体（横物体）
Ａ２０  前後物体
Ｘ  車両前後方向
Ｘ２  車両後側
Ｙ  車両横方向
Ｙ１  車両左側
Ｙ２  車両右側
【図１】
2020050257.tif 000008
【図２】
2020050257.tif 000009
【図３】
2020050257.tif 000010
【図４】
2020050257.tif 000011
【図５】
2020050257.tif 000012
【図６】
2020050257.tif 000013