(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024169198
(43)【公開日】2024-12-05
(54)【発明の名称】作業車両を制御するためのシステム及び方法
(51)【国際特許分類】
G05D 1/43 20240101AFI20241128BHJP
B66F 9/24 20060101ALI20241128BHJP
【FI】
G05D1/02 W
B66F9/24 A
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023086461
(22)【出願日】2023-05-25
(71)【出願人】
【識別番号】000001236
【氏名又は名称】株式会社小松製作所
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】野寄 敬博
【テーマコード(参考)】
3F333
5H301
【Fターム(参考)】
3F333AA02
3F333AE02
3F333FA04
3F333FA05
5H301AA01
5H301AA10
5H301BB07
5H301CC03
5H301CC06
5H301GG07
5H301GG08
5H301GG09
5H301HH02
5H301HH10
5H301JJ05
(57)【要約】
【課題】作業機に掛かる負荷が変化しても作業車両を適正に旋回させること。
【解決手段】作業車両を制御するためのシステムは、作業車両の作業機が運搬物を支持しているか否かを検出するセンサと、作業車両を制御するコントローラと、を備える。コントローラは、作業車両が目標経路に従って走行するように作業車両の操舵を自動制御し、運搬物が支持されていない空荷状態において、作業車両の操舵角を調整する第1操舵角指令値を出力し、運搬物が支持されている積荷状態において、操舵角を調整する第2操舵角指令値を出力する。
【選択図】
図19
【特許請求の範囲】
【請求項1】
作業車両を制御するためのシステムであって、
前記作業車両の作業機が運搬物を支持しているか否かを検出するセンサと、
前記作業車両を制御するコントローラと、を備え、
前記コントローラは、
前記作業車両が目標経路に従って走行するように前記作業車両の操舵を自動制御し、
前記運搬物が支持されていない空荷状態において、前記作業車両の操舵角を調整する第1操舵角指令値を出力し、
前記運搬物が支持されている積荷状態において、前記操舵角を調整する第2操舵角指令値を出力する、
システム。
【請求項2】
前記作業車両は、車体と、前輪と、後輪と、を有し、
前記作業機は、前記車体の前方に配置され、
前記前輪及び前記後輪の一方又は両方が操舵輪であり、
前記第1操舵角指令値は、前記操舵輪の操舵角を第1操舵角に指定し、
前記第2操舵角指令値は、前記操舵輪の操舵角を前記第1操舵角よりも大きい第2操舵角に指定する、
請求項1に記載のシステム。
【請求項3】
前記操舵輪は、前記後輪である、
請求項2に記載のシステム。
【請求項4】
前記センサは、前記運搬物の重量を検出し、
前記コントローラは、
前記重量に基づいて、前記第2操舵角指令値を出力する、
請求項1に記載のシステム。
【請求項5】
前記目標経路は、複数の走行点を結ぶ仮想線であり、
前記第1操舵角指令値により、前記空荷状態の前記作業車両の目標操舵角が複数の前記走行点のそれぞれに設定され、
前記第2操舵角指令値により、前記積荷状態の前記作業車両の目標操舵角が複数の前記走行点のそれぞれに設定される、
請求項1に記載のシステム。
【請求項6】
作業車両を制御するための方法であって、
前記作業車両の作業機が運搬物を支持しているか否かを検出し、
前記作業車両が目標経路に従って走行するように前記作業車両の操舵を自動制御し、
前記運搬物が支持されていない空荷状態において、前記作業車両の操舵角を調整する第1操舵角指令値を出力し、
前記運搬物が支持されている積荷状態において、前記操舵角を調整する第2操舵角に指令値を出力する、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、作業車両を制御するためのシステム及び方法に関する。
【背景技術】
【0002】
作業車両に係る技術分野において、特許文献1に開示されているようなフォークリフトが知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
作業車両は、運搬物を支持する作業機を備える。作業機に運搬物が支持されていない空荷状態と支持されている積荷状態とで、作業車両の旋回性能に差が生じる可能性がある。作業車両の操舵が自動制御される場合、空荷状態と積荷状態とのそれぞれにおいて、作業車両が適正に旋回させることが要望される。
【0005】
本開示は、作業機に掛かる負荷が変化しても作業車両を適正に旋回させることを目的とする。
【課題を解決するための手段】
【0006】
本開示に従えば、作業車両を制御するためのシステムが提供される。システムは、作業車両の作業機が運搬物を支持しているか否かを検出するセンサと、作業車両を制御するコントローラと、を備える。コントローラは、作業車両が目標経路に従って走行するように作業車両の操舵を自動制御し、運搬物が支持されていない空荷状態において、作業車両の操舵角を調整する第1操舵角指令値を出力し、運搬物が支持されている積荷状態において、操舵角を調整する第2操舵角指令値を出力する。
【発明の効果】
【0007】
本開示によれば、作業機に掛かる負荷が変化しても作業車両が適正に旋回する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る作業車両を示す前方からの斜視図である。
【
図2】
図2は、実施形態に係る物体センサを模式的に示す図である。
【
図3】
図3は、実施形態に係る作業車両を上方から見た図である。
【
図4】
図4は、実施形態に係る第1前方センサを模式的に示す図である。
【
図5】
図5は、実施形態に係る第2前方センサが対象を検出している状態を模式的に示す図である。
【
図6】
図6は、実施形態に係る第2前方センサが対象を検出している状態を模式的に示す図である。
【
図7】
図7は、実施形態に係る作業車両を制御するための制御システムの構成を示すブロック図である。
【
図8】
図8は、実施形態に係るコントローラを示すブロック図である。
【
図9】
図9は、実施形態に係る対象を識別する方法の一例を示す概略図である。
【
図10】
図10は、実施形態に係る対象の周囲に存在する荷置きスペースの位置を示す模式図である。
【
図11】
図11は、実施形態に係る荷役作業を模式的に示す図である。
【
図12】
図12は、実施形態に係る作業車両の制御方法を示すフローチャートである。
【
図13】
図13は、実施形態に係る自動モード許可スイッチが操作されたときに表示装置に表示される表示データの一例を示す図である。
【
図14】
図14は、実施形態に係る自動モード開始スイッチが操作されたときに表示装置に表示される表示データの一例を示す図である。
【
図15】
図15は、実施形態に係る距離と経路データとの関係を模式的に示す図である。
【
図16】
図16は、実施形態に係る生成された経路に基づいて対象に接近するように走行する作業車両を模式的に示す図である。
【
図17】
図17は、実施形態に係る目標経路を説明するための図である。
【
図18】
図18は、実施形態に係る曲線経路に従って旋回する作業車両を模式的に示す図である。
【
図19】
図19は、実施形態に係るステップS8のルーチンを示すフローチャートである。
【
図20】
図20は、実施形態に係る作業車両が対象に接近している状態を模式的に示す図である。
【
図21】
図21は、実施形態に係る作業車両が対象に接近している状態を模式的に示す図である。
【
図22】
図22は、実施形態に係る作業車両が対象に接近している状態を模式的に示す図である。
【
図23】
図23は、実施形態に係るステップS12のルーチンを示すフローチャートである。
【
図24】
図24は、実施形態に係る走行自動制御の終了条件を説明するための図である。
【発明を実施するための形態】
【0009】
以下、本開示に係る実施形態について図面を参照しながら説明するが、本開示は実施形態に限定されない。以下で説明する実施形態の構成要素は、適宜組み合わせることができる。また、一部の構成要素を用いない場合もある。
【0010】
実施形態においては、左、右、前、後、上、及び下の用語を用いて各部の位置関係について説明する。これらの用語は、作業車両に規定された車体座標系の原点を基準とする相対位置又は方向を示す。
【0011】
[作業車両]
図1は、実施形態に係る作業車両1を示す前方からの斜視図である。実施形態において、作業車両1は、荷役車両の一種であるフォークリフトである。実施形態においては、作業車両1を適宜、フォークリフト1、と称する。実施形態において、作業車両1は、カウンタバランス型フォークリフトである。なお、作業車両は、フォークリフトに限定されない。作業車両は、例えばフォークアタッチメントを取り付け可能なホイールローダでもよい。
【0012】
フォークリフト1は、荷役作業を行う。荷役作業は、所定の保管位置に置かれている運搬物を取り上げる荷取り作業と、取り上げた運搬物を所定の目標位置に置く荷置き作業とを含む。フォークリフト1は、荷役作業の少なくとも一部を自動的に行う。実施形態において、フォークリフト1の動作モードは、オペレータの操作に基づいて荷役作業を行う手動モードと、荷役作業の少なくとも一部を自動的に行う自動モードとを含む。実施形態において、運搬物は、荷物を積載する荷役台や容器である。運搬物は、例えば、パレットやスキッド、コンテナである。運搬物は、一対のフォーク挿し込み穴を有する。
【0013】
フォークリフト1は、車体2と、車体2に支持されるキャブ3と、車体2の前方に配置される作業機4と、車体2を支持する車輪5と、物体を検出する物体センサ7とを備える。
【0014】
車体2は、カウンタウエイト6と、フェンダ8とを含む。カウンタウエイト6は、車体2の後部に配置される。カウンタウエイト6は、フォークリフト1が運搬物を取り上げた際に、フォークリフト1の前後方向の重量バランスをとるために車体2の後部に取り付けられる。フェンダ8は、車体2の前部に配置される。フェンダ8は、車体2の左側及び右側のそれぞれに配置される。
【0015】
キャブ3は、運転室を形成する。フォークリフト1のオペレータは、キャブ3に搭乗して、フォークリフト1を操作することができる。
【0016】
作業機4は、荷役作業の少なくとも一部を行う。作業機4は、車体2の前方に配置される。作業機4は、車体2に支持される。作業機4は、マスト41と、ブラケット42と、フォーク43とを有する。
【0017】
マスト41は、車体2の前部に傾動可能に支持される。マスト41は、上下方向に長い。ブラケット42は、フォーク43を支持する。ブラケット42は、マスト41に支持される。ブラケット42は、マスト41に沿って上下方向に移動可能である。フォーク43は、運搬物を支持する。フォーク43は、ブラケット42を介してマスト41に支持される。
【0018】
フォーク43は、一対設けられる。フォーク43は、第1のフォーク43Aと、第1のフォーク43Aよりも右側に配置される第2のフォーク43Bとを含む。ブラケット42は、第1のフォーク43Aと第2のフォーク43Bとを支持する。
【0019】
車輪5は、車体2を支持する。車輪5の少なくとも一部は、車体2よりも下方に配置される。車輪5は、前輪5Fと後輪5Rとを有する。前輪5Fは、後輪5Rよりも前方に配置される。前輪5Fは、車体2の左側及び右側のそれぞれに配置される。後輪5Rは、車体2の左側及び右側のそれぞれに配置される。前輪5F及び後輪5Rのそれぞれは、回転軸を中心に回転可能である。前輪5F及び後輪5Rの一方又は両方が操舵輪である。実施形態において、後輪5Rが操舵輪である。なお、前輪5Fが操舵輪でもよいし、前輪5F及び後輪5Rの両方が操舵輪でもよい。
【0020】
実施形態において、左右方向は、フォークリフト1が直進状態で走行するときの前輪5F及び後輪5Rの回転軸に平行な方向である。上下方向は、前輪5F及び後輪5Rの接地面に直交する方向である。前後方向は、左右方向及び上下方向のそれぞれに直交する方向である。
【0021】
フェンダ8は、前輪5Fの少なくとも一部を覆うように配置される。フェンダ8の少なくとも一部は、前輪5Fよりも上方に配置される。フェンダ8の少なくとも一部は、前輪5Fよりも後方に配置される。フェンダ8は、車体2の左側及び右側のそれぞれに配置される。左側のフェンダ8は、左側の前輪5Fの少なくとも一部を覆うように配置される。右側のフェンダ8は、右側の前輪5Fの少なくとも一部を覆うように配置される。
【0022】
物体センサ7は、フォークリフト1の周辺の物体を検出する。物体センサ7により検出される物体は、荷役作業を行う際に目標とする対象を含む。実施形態において、対象は、例えば、運搬物、運搬物を載置可能な荷置きスペース、又は、貨物車両の荷台である。物体センサ7は、フォークリフト1に複数設けられる。実施形態において、物体センサ7は、車体2の左側の側部に取り付けられる左側方センサ7Aと、車体2の右側の側部に取り付けられる右側方センサ7B(
図3参照)と、車体2の前部に取り付けられる第1前方センサ7Cと、作業機4の少なくとも一部に取り付けられる第2前方センサ7Dとを含む。
【0023】
図2は、実施形態に係る物体センサ7を模式的に示す図である。物体センサ7は、少なくとも3次元センサ72を含む。実施形態において、物体センサ7は、カメラ71と、3次元センサ72とを含む。カメラ71と3次元センサ72とは、上下方向に配置される。カメラ71と3次元センサ72とは、固定される。カメラ71と3次元センサ72との相対位置は、変化しない。
【0024】
カメラ71は、物体の画像データを取得する。3次元センサ72は、物体の3次元データを取得する。物体の3次元データは、物体の表面に規定される複数の検出点からなる点群を含む。点群は、3次元センサ72と物体の表面に規定される複数の検出点のそれぞれとの相対距離及び相対位置を示す。3次元センサ72として、レーザ光を射出することにより物体を検出するレーザセンサ(LiDAR:Light Detection and Ranging)が例示される。なお、3次元センサ72は、赤外光を射出することにより物体を検出する赤外線センサ又は電波を射出することにより物体を検出するレーダセンサ(RADAR:Radio Detection and Ranging)でもよい。
【0025】
カメラ71の撮像範囲710と、3次元センサ72の測定範囲720の少なくとも一部とは、重複する。以下の説明において、撮像範囲710と測定範囲720とを適宜、検出範囲70、と総称する。
【0026】
図3は、実施形態に係るフォークリフト1を上方から見た図である。
図1及び
図3に示すように、フォークリフト1は、複数の物体センサ7を備える。物体センサ7は、車体2の左側の側部に取り付けられる左側方センサ7Aと、車体2の右側の側部に取り付けられる右側方センサ7Bと、車体2の前部に取り付けられる第1前方センサ7Cと、作業機4の少なくとも一部に取り付けられる第2前方センサ7Dとを含む。
【0027】
物体センサ7の検出範囲70は、左側方センサ7Aの検出範囲70Aと、右側方センサ7Bの検出範囲70Bと、第1前方センサ7Cの検出範囲70Cと、第2前方センサ7Dの検出範囲70Dとを含む。
【0028】
左側方センサ7Aの検出範囲70Aは、車体2の左斜め前方に規定される。右側方センサ7Bの検出範囲70Bは、車体2の右斜め前方に規定される。第1前方センサ7Cの検出範囲70Cは、車体2の前方に規定される。第2前方センサ7Dの検出範囲70Dは、車体2の前方に規定される。
【0029】
前後方向において、左側方センサ7A及び右側方センサ7Bのそれぞれは、作業機4よりも後方に配置される。左側方センサ7A及び右側方センサ7Bのそれぞれは、マスト41よりも後方に配置される。
【0030】
前後方向において、左側方センサ7A及び右側方センサ7Bのそれぞれは、車体2の中心よりも前方に配置される。
【0031】
上下方向において、左側方センサ7A及び右側方センサ7Bのそれぞれは、前輪5Fの中心とカウンタウエイト6の上端部との間に配置される。
【0032】
実施形態において、左側方センサ7Aは、左側のフェンダ8の上面に取り付けられる。右側方センサ7Bは、右側のフェンダ8の上面に取り付けられる。
【0033】
前後方向において、第1前方センサ7Cは、作業機4よりも後方に配置される。第1前方センサ7Cは、マスト41よりも後方に配置される。第1前方センサ7Cは、作業機4よりも後方に配置されるように、車体2の前部に取り付けられる。
【0034】
実施形態において、第1前方センサ7Cは、左側のフェンダ8の上面に取り付けられる。なお、第1前方センサ7Cは、右側のフェンダ8の上面に取り付けられてもよい。
【0035】
第1前方センサ7Cは、地面に近い位置に存在する物体を検出可能である。上下方向において、第1前方センサ7Cの検出範囲70Cの位置は、前輪5Fの少なくとも一部の位置に一致する。上下方向において、第1前方センサ7Cの検出範囲70Cの少なくとも一部の位置は、上下方向におけるフォーク43の可動範囲の下端部の位置に一致する。
【0036】
第2前方センサ7Dは、フォーク43とともに上下方向に移動するように、作業機4の少なくとも一部に取り付けられる。左右方向において、第2前方センサ7Dは、第1のフォーク43Aと第2のフォーク43Bとの間に配置される。実施形態において、第2前方センサ7Dは、ブラケット42に取り付けられる。左右方向において、第2前方センサ7Dは、第1のフォーク43Aと第2のフォーク43Bとの間に配置されるように、ブラケット42に取り付けられる。
【0037】
[第1前方センサ]
図4は、実施形態に係る第1前方センサ7Cを模式的に示す図である。
図4に示すように、フォーク43が対象50を支持している場合、第2前方センサ7Dは、対象50に遮られて、フォークリフト1の前方の物体を検出できない可能性がある。実施形態において、フォークリフト1は、車体2の前部に取り付けられる第1前方センサ7Cを備える。そのため、第2前方センサ7Dがフォークリフト1の前方の物体を検出できない状況が発生しても、第1前方センサ7Cがフォークリフト1の前方の物体を検出することができる。
【0038】
上述のように、上下方向において、第1前方センサ7Cの検出範囲70Cの少なくとも一部の位置は、上下方向におけるフォーク43の可動範囲の下端部の位置に一致する。
図3に示すように、フォーク43が対象50を支持した状態でフォークリフト1が走行する場合、フォーク43は上昇される。そのため、第1前方センサ7Cは、対象50に遮られること無く、フォークリフト1の前方の物体を検出することができる。
【0039】
[第2前方センサ]
図5及び
図6のそれぞれは、実施形態に係る第2前方センサ7Dが対象50を検出している状態を模式的に示す図である。
図5及び
図6に示すように、第2前方センサ7Dは、作業機4と対象50とが正対した状態で、対象50を検出することができる。第2前方センサ7Dは、フォーク43とともに上下方向に移動することができる。そのため、
図5に示すようにフォーク43で支持する対象50が下方に配置されている場合、及び
図6に示すようにフォーク43で支持する対象50が上方に配置されている場合のそれぞれにおいて、フォーク43とともに第2前方センサ7Dが上下方向に移動することにより、第2前方センサ7Dは、対象50に設けられているフォーク挿し込み穴及びフォーク43を検出することができる。すなわち、上下方向においてフォーク挿し込み穴がどの位置に存在しても、フォーク43とともに第2前方センサ7Dが上下方向に移動することにより、第2前方センサ7Dは、フォーク挿し込み穴及びフォーク43を検出することができる。
【0040】
[制御システム]
図7は、実施形態に係る作業車両1を制御するための制御システム10の構成を示すブロック図である。
図7に示すように、制御システム10は、動力源11と、油圧ポンプ12と、作業機駆動装置45と、走行装置14と、制御弁ユニット13と、操作装置15と、出力装置16と、コントローラ100とを備える。
【0041】
動力源11は、油圧ポンプ12を駆動する。動力源11は、例えばエンジンである。
【0042】
油圧ポンプ12は、動力源11によって駆動され、作動油を吐出する。油圧ポンプ12から吐出された作動油は、制御弁ユニット13を介して、リフトシリンダ451、チルトシリンダ452、サイドシフトシリンダ453、走行モータ141、及びステアリングシリンダ142のそれぞれに供給される。
【0043】
作業機駆動装置45は、作業機4を作動させる。作業機駆動装置45は、リフトシリンダ451と、チルトシリンダ452と、サイドシフトシリンダ453とを有する。
【0044】
実施形態において、リフトシリンダ451、チルトシリンダ452、及びサイドシフトシリンダ453のそれぞれは、油圧シリンダである。リフトシリンダ451は、車体2に対してフォーク43を上下方向に移動させる。チルトシリンダ452は、車体2に対してフォーク43を前後方向に傾斜させる。サイドシフトシリンダ453は、車体2に対してフォーク43を左右方向に移動させる。
【0045】
リフトシリンダ451は、マスト41とブラケット42との間に配置される。リフトシリンダ451は、ブラケット42を上下方向に移動することにより、フォーク43を上下方向に移動させる。ブラケット42とフォーク43とは、上下方向に一緒に移動する。ブラケット42とフォーク43とは、マスト41に沿って上下方向に移動する。チルトシリンダ452は、車体2とマスト41との間に配置される。チルトシリンダ452は、マスト41を前後方向に傾斜させることにより、フォーク43を前後方向に傾斜させる。
【0046】
走行装置14は、フォークリフト1を走行させる。走行装置14は、フォークリフト1の進行、制動、及び操舵を行う。進行とは、フォークリフト1が前進又は後進することをいう。制動とは、フォークリフト1が減速又は停止することをいう。操舵とは、フォークリフト1の走行方向が変更されることをいう。走行装置14は、走行モータ141と、ブレーキ装置(不図示)と、ステアリングシリンダ142とを有する。
【0047】
走行モータ141は、フォークリフト1を進行させるための駆動力を発生する。走行モータ141は、前輪5Fを回転させることによって、フォークリフト1を前進又は後進させる。走行モータ141は、油圧ポンプ12から吐出される作動油によって駆動する。前輪5Fは、走行モータ141が発生する回転力により回転する駆動輪である。ブレーキ装置は、フォークリフト1を制動させる。ブレーキ装置は、フォークリフト1を減速又は停止させる。
【0048】
ステアリングシリンダ142は、フォークリフト1を操舵する。ステアリングシリンダ142は、後輪5Rを操舵することによって、フォークリフト1の走行方向を変更させる。後輪5Rは、ステアリングシリンダ142により操舵される操舵輪である。
【0049】
制御弁ユニット13は、リフトシリンダ451、チルトシリンダ452、サイドシフトシリンダ453、走行モータ141、及びステアリングシリンダ142等の油圧アクチュエータと、油圧ポンプ12との間に配置される。制御弁ユニット13は、走行モータ141に供給される作動油の流量及び方向を制御する走行制御弁131と、ステアリングシリンダ142に供給される作動油の流量及び方向を制御するステアリング制御弁132と、リフトシリンダ451、チルトシリンダ452、及びサイドシフトシリンダ453のそれぞれに供給される作動油の流量及び方向を制御する作業機制御弁133とを有する。制御弁ユニット13は、後述するコントローラ100によって制御される。
【0050】
操作装置15は、フォークリフト1を操作するための装置である。操作装置15は、キャブ3に配置されている。操作装置15は、作業機駆動装置45及び走行装置14を動作させるためのオペレータによる操作を受け付け、操作に応じた操作信号を出力する。手動モードにおいて、フォークリフト1は、オペレータによる操作装置15の操作に基づいて動作する。操作装置15は、例えば、ステアリングホイール151と、作業機レバー152と、前後進切換レバー153と、アクセルペダル154と、ブレーキペダル155と、自動モード許可スイッチ156と、自動モード開始スイッチ157とを有する。
【0051】
手動モードにおいて、ステアリングホイール151がオペレータに操作されることにより、後輪5Rが操舵される。手動モードにおいて、作業機レバー152がオペレータに操作されることにより、フォーク43の位置及び姿勢が調整される。前後進切換レバー153がオペレータに操作されることにより、フォークリフト1の前進と後進とが切り換えられる。アクセルペダル154及びブレーキペダル155の少なくとも一方がオペレータに操作されることにより、フォークリフト1の走行速度が調整される。
【0052】
自動モード許可スイッチ156は、オペレータに操作されることにより、荷役作業を自動的に行うための対象を識別する処理を開始させる制御指令を生成する。手動モードにおいて、自動モード許可スイッチ156が操作されることにより、コントローラ100は、物体センサ7の物体検出データに基づいて、対象を識別する処理を開始する。
【0053】
自動モード開始スイッチ157は、オペレータに操作されることにより、走行自動制御又は作業機自動制御を開始させる制御指令を生成する。自動モード許可スイッチ156が操作された後、自動モード開始スイッチ157が操作されることにより、コントローラ100は、フォークリフト1の動作モードを手動モードから自動モードに遷移させる。
【0054】
出力装置16は、キャブ3に配置されている。出力装置16は、オペレータに出力データを提供する。実施形態において、出力装置16は、表示装置161と、音声出力装置162とを含む。表示装置161は、出力データとしてオペレータに表示データを提供する。表示装置161として、液晶ディスプレイ(LCD:Liquid Crystal Display)又は有機ELディスプレイ(OELD:Organic Electroluminescence Display)のようなフラットパネルディスプレイが例示される。音声出力装置162は、出力データとしてオペレータに音声データを提供する。音声出力装置162として、ブザー又はスピーカが例示される。なお、出力装置16は、ランプを含んでもよい。
【0055】
コントローラ100は、フォークリフト1を制御する。コントローラ100は、フォークリフト1の走行及び作業機4の少なくとも一方を制御する。上述のように、フォークリフト1の動作モードは、手動モードと、自動モードとを含む。手動モードにおいて、フォークリフト1は、オペレータの運転操作に基づいて荷役作業を行う。自動モードにおいて、フォークリフト1は、物体センサ7の物体検出データに基づいて荷役作業の少なくとも一部を自動的に行う。
【0056】
自動モードにおいて、走行装置14及び作業機駆動装置45の少なくとも一方がコントローラ100により自動制御される。自動モードにおいて、コントローラ100は、物体センサ7の物体検出データに基づいて、走行装置14及び作業機駆動装置45の少なくとも一方を制御する。以下の説明において、自動モードにおいて走行装置14が自動制御されることを適宜、走行自動制御、と称し、自動モードにおいて作業機駆動装置45が自動制御されることを適宜、作業機自動制御、と称する。
【0057】
実施形態において、走行自動制御は、フォークリフト1の操舵を自動制御することを含む。自動モードにおいて、ステアリングシリンダ142がコントローラ100により自動制御される。
【0058】
実施形態において、作業機自動制御は、フォーク43の位置及び姿勢を自動制御することを含む。自動モードにおいて、リフトシリンダ451、チルトシリンダ452、及びサイドシフトシリンダ453の少なくとも一つがコントローラ100により自動制御される。
【0059】
制御システム10は、フォークリフト1の走行速度を検出する車速センサ143と、後輪5Rの操舵角を検出するステアリングセンサ144と、車体2に対するフォーク43の上下方向の位置を検出するリフトセンサ46と、車体2に対するフォーク43の前後方向の傾斜を検出するチルトセンサ47と、車体2に対するフォーク43の左右方向の位置を検出するサイドシフトセンサ48と、作業機4に掛かる負荷を検出する作業機負荷センサ49とを有する。
【0060】
作業機負荷センサ49は、フォークリフト1の作業機4が運搬物を支持しているか否かを検出する。作業機負荷センサ49は、作業機4に支持されている運搬物の重量を検出する。作業機負荷センサ49は、例えば、作業機4の少なくとも一部に配置された歪ゲージやロードセル等の荷重測定デバイスである。作業機負荷センサ49の検出データは、コントローラ100へ出力される。なお、作業機4に掛かる負荷は、例えば、リフトシリンダ451を駆動させる圧油の圧力を検出する油圧センサを用いて検出してもよい。この場合、運搬物がフォーク43によって支持されている状態と支持されていない状態とで、作業機4に掛かる負荷が変化する。作業機負荷センサ49は、作業機4に掛かる負荷の変化を検出する。
【0061】
[コントローラ]
図8は、実施形態に係るコントローラ100を示すブロック図である。コントローラ100は、コンピュータシステム1000を含む。コンピュータシステム1000は、CPU(Central Processing Unit)のようなプロセッサ1001と、ROM(Read Only Memory)のような不揮発性メモリ及びRAM(Random Access Memory)のような揮発性メモリを含むメインメモリ1002と、ストレージ1003と、入出力回路を含むインターフェース1004とを有する。コントローラ100の機能は、コンピュータプログラムとしてストレージ1003に記憶されている。プロセッサ1001は、コンピュータプログラムをストレージ1003から読み出してメインメモリ1002に展開し、プログラムに従って上述の処理を実行する。なお、コンピュータプログラムは、ネットワークを介してコンピュータシステム1000に配信されてもよい。
【0062】
図7に示すように、コントローラ100は、検出データ取得部101と、識別部102と、制御指令受信部103と、決定部104と、距離算出部105と、選択部106と、経路生成部107と、位置算出部108と、切換部109と、走行制御部110と、作業機制御部111と、出力制御部112と、記憶部113とを有する。
【0063】
記憶部113は、対象を識別するための対象辞書データ、及び自動モードにおけるフォークリフト1の走行条件を示す経路データを記憶する。記憶部113は、対象と正対するようにフォークリフト1を走行させるための経路データを記憶する。経路データは、予め定められる。実施形態において、記憶部113は、複数の経路データを記憶する。
【0064】
検出データ取得部101は、物体センサ7、車速センサ143、ステアリングセンサ144、リフトセンサ46、チルトセンサ47、サイドシフトセンサ48、及び作業機負荷センサ49のそれぞれの検出データを取得する。
【0065】
識別部102は、物体センサ7の物体検出データに基づいて、物体センサ7が検出した物体から荷役作業を行うための対象を識別する。対象を識別する方法については後述する。
【0066】
制御指令受信部103は、自動モード許可スイッチ156が操作されることにより生成された制御指令を受信する。制御指令受信部103は、対象を識別する処理を開始させる制御指令を自動モード許可スイッチ156から受信する。制御指令受信部103は、自動モード開始スイッチ157が操作されることにより生成された制御指令を受信する。制御指令受信部103は、走行自動制御又は作業機自動制御を開始させる制御指令を自動モード開始スイッチ157から受信する。
【0067】
決定部104は、自動モード開始スイッチ157からの制御指令に基づいて、荷役作業を自動的に行うための対象を決定する。
【0068】
距離算出部105は、物体センサ7の物体検出データに基づいて、フォークリフト1と荷役作業を自動的に行うための対象との距離を算出する。
【0069】
選択部106は、距離算出部105により算出された距離に基づいて、記憶部113に記憶されている複数の経路データから1つの経路データを選択する。
【0070】
経路生成部107は、選択部106により選択された経路データに基づいて、経路を生成する。
【0071】
位置算出部108は、物体センサ7の物体検出データに基づいて、物体センサ7を基準とした、荷役作業を自動的に行うための対象の方位角を算出する。
【0072】
切換部109は、位置算出部108により算出された対象の方位角に基づいて、対象の識別に使用される物体センサ7の物体検出データを切り換える。
【0073】
切換部109は、作業機負荷センサ49の検出データに基づいて、対象の識別に使用される第1前方センサ7Cの物体検出データと第2前方センサ7Dの物体検出データとを切り換える。切換部109は、作業機負荷センサ49の検出データに基づいて、フォーク43が運搬物を支持しているか否かを判定することができる。切換部109は、フォーク43に運搬物が支持されていないとき、フォークリフト1の前方に存在する対象の識別に使用される物体センサ7の物体検出データを、第2前方センサ7Dの物体検出データに決定する。切換部109は、フォーク43に荷物が支持されているとき、フォークリフト1の前方に存在する対象の識別に使用される物体センサ7の物体検出データを、第1前方センサ7Cの物体検出データに決定する。
【0074】
走行制御部110は、物体センサ7の物体検出データ及び経路データに基づいて、フォークリフト1の走行を制御する。
【0075】
作業機制御部111は、物体センサ7の物体検出データに基づいて、作業機4を制御する。
【0076】
出力制御部112は、走行装置14及び作業機4の少なくとも一方の状態が変化した時点において、出力装置16から出力データを出力させる。
【0077】
[対象の識別]
図9は、実施形態に係る対象を識別する方法の一例を示す概略図である。フォークリフト1は、対象を識別して、フォークリフト1を当該対象に対して自動で正対するように走行制御が行われる。
【0078】
実施形態において、識別部102は、3次元センサ72の物体検出データに基づいて、フォークリフト1の周囲に存在する物体から対象を識別する。
図9に示す例においては、対象50は、運搬物である。
図9に示す運搬物は、例えば、箱形状のパレットである。(a1)は、運搬物に3次元センサ72からレーザ光を照射して得られた物体検出データである点群を示す。(a2)は、(a1)の点群から推定した平面を網掛けして示す。平面は、点群が示す、3次元センサ72と物体の表面に規定される複数の検出点のそれぞれとの相対位置に基づいて推定される。推定された平面は、フォークリフト1が運搬物を取り上げる際にフォークリフト1と正対する面である。(a3)は、(a2)を上下方向視(平面視)に視点を変換した図である。(a3)において、(a2)で推定した平面を破線で示す。(a3)では、(a2)で推定した平面より左方に点群が表れている。楕円で囲んだ点群は、(a2)で推定した平面を通過した点群を示す。言い換えると、楕円で囲んだ点群は、運搬物に設けられたフォーク挿し込み穴を通過した点群である。(a4)は、推定した平面と、平面を通過した点群と3次元センサ72の座標系基準とを結ぶ直線との交点を求めた図である。(a5)は、(a4)で求めた交点の位置に点群を補完した図である。(a6)は、推定した平面を正面から見た二値画像に変換した図である。四角で囲んだ部分は、(a5)で補完した点群を示す。識別部102は、記憶部113に記憶された対象辞書データを参照して、補完した点群がフォーク挿し込み穴を示す特徴部であるか否かを判定し、運搬物を識別する。
【0079】
例えば、運搬物を一時保管しておく施設では、運搬物が隣接して載置されている。このため、3次元センサ72の物体検出データである点群から、各運搬物を独立した物体として識別することが難しい。しかしながら、各運搬物に設けられたフォーク挿し込み穴を識別することにより、隣接した運搬物群から1つの運搬物を識別することが可能である。
【0080】
次に、識別部102による荷置きスペースの識別について説明する。識別部102は、対象を識別し、識別した対象の周囲に存在する所定の大きさの空間に基づいて、荷置きスペースを識別する。
【0081】
図10は、実施形態に係る対象53の周囲に存在する荷置きスペース55の位置を示す模式図である。識別部102は、3次元センサ72からの物体検出データから、基準となる対象53を識別する。
図10に示す例において、基準となる対象53は、運搬物である。
【0082】
識別部102は、物体検出データから、基準となる対象53の周囲に存在する所定の大きさの空間を探索する。対象の周囲とは、その対象に隣接する位置のことである。
図10に示す例において、対象53の周囲は、対象53の前方、対象53の後方、対象53の右方、及び対象53の上方である。所定の大きさの空間とは、フォークリフト1が取り上げた運搬物を載置可能な空間である。所定の大きさの空間とは、例えば、運搬物の寸法以上の大きさを有する空間である。
【0083】
識別部102は、探索した運搬物を載置可能な大きさの空間を荷置きスペース55として識別する。
【0084】
実施形態においては、識別部102は、3次元センサ72からの物体検出データを用いて対象の識別を行うが、これに限られない。例えば、他の実施形態においては、識別部102は、カメラ71が撮像した撮像画像から特徴量を抽出し、抽出した特徴量と対象辞書データとに基づいて、撮像画像から対象を識別してもよい。対象の識別方法は、例えば、パターンマッチング、機械学習に基づく識別処理を行ってもよい。
【0085】
[制御方法]
図11は、実施形態に係る荷役作業を模式的に示す図である。
図12は、実施形態に係るフォークリフト1の制御方法を示すフローチャートである。
【0086】
図11に示す例において、荷役作業を自動的に行うための対象50は、運搬物である。
図11に示すように、荷役現場において、複数の対象50が所定の保管位置に置かれる。複数の対象50は、荷役現場に並ぶように配置される。複数の対象50は、対象50の正面50Fが走行路59を向くように配置される。対象50の正面50Fとは、フォークリフト1が対象50を取り上げる際にフォークリフト1と正対する面である。対象50の正面50Fには、一対のフォーク挿し込み穴が設けられる。
図11に示す例において、対象50は、第1の対象51と第2の対象52とを含む。第1の対象51と第2の対象52とは、隣接して配置される。対象50の正面50Fは、対象51の正面51Fと、対象52の正面52Fとを含む。コントローラ100は、隣接して配置された複数の対象50のうち、1つの対象50を作業機4のフォーク43で取り上げるように、走行自動制御及び作業機自動制御を行う。
【0087】
フォークリフト1は、複数の対象50のうち、1つの対象50をフォーク43で取り上げるために、複数の対象50の正面50F側に存在する走行路59を前進する。フォークリフト1は、複数の対象50の正面50F側を順次通過するように、走行路59を直進する。
【0088】
左側方センサ7Aの検出範囲70Aは、車体2の左斜め前方に規定される。そのため、フォークリフト1が走行路59を第1方向に前進する場合、左側方センサ7Aは、フォークリフト1の左側に存在する対象50を検出することができる。左側方センサ7Aの物体検出データは、コントローラ100に送信される。検出データ取得部101は、左側方センサ7Aの物体検出データを取得する。
【0089】
自動モード開始スイッチ157が操作されるまで、フォークリフト1は、手動モードで走行路59を前進する。オペレータは、フォークリフト1が走行路59を前進するように、ステアリングホイール151及びアクセルペダル154を操作する。フォークリフト1の動作モードを手動モードから自動モードに遷移させる場合、オペレータは、自動モード許可スイッチ156を操作した後に、自動モード開始スイッチ157を操作する。
【0090】
自動モード許可スイッチ156がオペレータに操作されることにより、制御指令受信部103は、自動モード許可スイッチ156からの制御指令を受信する。自動モード許可スイッチ156からの制御指令が制御指令受信部103に受信されると、対象50を探索する処理が開始される。識別部102は、左側方センサ7Aの物体検出データに基づいて、対象50の探索を開始する(ステップS1)。
【0091】
識別部102は、左側方センサ7Aの物体検出データに基づいて、対象50を1つずつ識別する。識別部102は、複数の対象50のうち、1つの対象50を識別したか否かを判定する(ステップS2)。
【0092】
図13は、実施形態に係る自動モード許可スイッチ156が操作されたときに表示装置161に表示される表示データの一例を示す図である。表示装置161は、カメラ71が撮像した画像データを表示する。
図13に示す例において、表示装置161は、複数の対象50を含む画像データを表示する。
図13に示すように、自動モード許可スイッチ156が操作された後、且つ、自動モード開始スイッチ157が操作される前の状態において、複数の対象50のうち、第1の対象51が識別された場合、出力制御部112は、対象51が撮像された画像データとともに、識別された対象51を示すシンボル36を表示装置161に表示させる。シンボル36は、画像データの対象51の位置に重畳するように表示される。実施形態において、シンボル36は、対象51を囲むように表示されるフレーム画像である。オペレータは、シンボル36により、複数の対象50のうち、対象51が識別されたことを認識することができる。複数の対象50のうち、対象52は識別されていないので、対象52を示すシンボル36は表示されない。
【0093】
ステップS2において、対象50が識別されていないと判定した場合(ステップS2:No)、コントローラ100は、ステップS1の処理に戻る。
【0094】
ステップS2において、複数の対象50のうち、1つの対象51が識別されたと判定された場合(ステップS2:Yes)、決定部104は、制御指令受信部103が自動モード開始スイッチ157からの制御指令を受信したか否かを判定する(ステップS3)。
【0095】
上述のように、自動モード許可スイッチ156が操作された後に、自動モード開始スイッチ157が操作されることにより、フォークリフト1の動作モードが手動モードから自動モードに遷移する。オペレータは、対象51の荷取り作業を自動モードで行う場合、識別部102により対象51が識別されている状態で、自動モード開始スイッチ157を操作する。自動モード開始スイッチ157がオペレータに操作されることにより、制御指令受信部103は、自動モード開始スイッチ157からの制御指令を受信する。
【0096】
ステップS3において、自動モード開始スイッチ157からの制御指令が受信されていないと判定した場合(ステップS3:No)、コントローラ100は、ステップS1の処理に戻る。
【0097】
ステップS3において、識別部102により対象51が識別されている状態で、自動モード開始スイッチ157からの制御指令が制御指令受信部103に受信されたと判定した場合(ステップS3:Yes)、決定部104は、荷取り作業を自動的に行うための対象50を対象51に決定する(ステップS4)。
【0098】
自動モード開始スイッチ157からの制御指令が受信され、荷取り作業を自動的に行うための対象51が決定されることにより、フォークリフト1の動作モードが手動モードから自動モードに遷移する。フォークリフト1の動作モードが手動モードから自動モードに遷移することにより、対象51の荷取り作業を行うための走行自動制御が開始される。
【0099】
図14は、実施形態に係る自動モード開始スイッチ157が操作されたときに表示装置161に表示される表示データの一例を示す図である。オペレータは、対象51の荷取り作業を自動モードで行う場合、対象51を示すシンボル36が表示された状態で、自動モード開始スイッチ157を操作する。自動モード開始スイッチ157がオペレータに操作されることにより、制御指令受信部103は、自動モード開始スイッチ157からの制御指令を受信する。識別部102により対象51が識別されている状態で、自動モード開始スイッチ157からの制御指令が制御指令受信部103に受信された場合、出力制御部112は、対象51が撮像された画像データとともに、自動モードによる荷取り作業の対象51を示すシンボル37を表示装置161に表示させる。シンボル37は、画像データの対象51の位置に重畳するように表示される。実施形態において、シンボル37は、対象51を囲むように表示されるフレーム画像である。オペレータは、シンボル37により、複数の対象50のうち、対象51が自動モードによる荷取り作業の目標として決定されたことを認識することができる。
【0100】
出力制御部112は、シンボル36の表示形態とシンボル37の表示形態とが異なるように、シンボル36及びシンボル37のそれぞれを表示装置161に表示させる。異なる表示形態とは、例えば、色、線種、太さの少なくともいずれかであってもよい。一例として、シンボル36は、例えば青色のフレーム画像であり、シンボル37は、例えば赤色のフレーム画像である。
【0101】
出力制御部112は、制御指令受信部103が自動モード開始スイッチ157からの制御指令を受信した時点において、出力装置16から出力データを出力させる。実施形態において、出力制御部112は、制御指令受信部103が自動モード開始スイッチ157からの制御指令を受信した時点において、音声出力装置162から音声データを出力させる。これにより、オペレータは、フォークリフト1の動作モードが手動モードから自動モードに遷移したことを認識することができる。音声データは、例えばブザー音である。
【0102】
出力制御部112は、走行自動制御が開始された時点において、出力装置16から出力データを出力させてもよい。これにより、オペレータは、走行装置14の自動制御が開始されたことを認識することができる。
【0103】
なお、オペレータは、自動モードで対象52の荷取り作業を行う場合、自動モード許可スイッチ156を操作した後、識別部102により対象52が識別されるまで、フォークリフト1を手動モードで走行路59を前進させる。対象52が識別され、画像データの対象52にシンボル36が重畳するように表示された後、オペレータは、自動モード開始スイッチ157を操作する。識別部102により対象52が識別された状態で、自動モード開始スイッチ157が操作されることにより、荷取り作業を自動的に行うための対象50に対象52が決定され、画像データの対象52にシンボル37が重畳するように表示される。自動モードによる荷取り作業の対象52が決定されることにより、自動モードに基づいて対象52の荷取り作業が開始される。
【0104】
荷取り作業の対象51が決定された後、距離算出部105は、左側方センサ7Aの物体検出データに基づいて、フォークリフト1と対象51との距離Dを算出する(ステップS5)。
【0105】
距離算出部105は、フォークリフト1の車体座標系の原点から、識別部102によって推定された対象51の平面までの距離Dを算出する。より詳しくは、距離算出部105は、識別部102によって推定された対象51の正面51Fの平面と直交する方向における、フォークリフト1の車体座標系の原点と対象51の正面51Fの平面までの距離Dを算出する。フォークリフト1の車体座標系の原点は、例えば、前輪5Fの回転軸と車体2の幅方向中心を通る軸の交点である。
図11に示す例において、識別部102によって推定された対象51の正面51Fの平面に平行な方向を第1方向、識別部102によって推定された対象51の正面51Fの平面と直交する方向を第2方向とする。すなわち、第2方向は、フォークリフト1が対象51を取り上げるために、フォークリフト1が対象51の正面に正対する方向を示す。
【0106】
選択部106は、ステップS5において距離算出部105により算出された距離Dに基づいて、記憶部113に記憶されている複数の経路データから1つの経路データを選択する(ステップS6)。
【0107】
図15は、実施形態に係る距離Dと経路データとの関係を模式的に示す図である。記憶部113は、複数の経路データを記憶する。経路データのそれぞれは、走行自動制御におけるフォークリフト1の目標経路60を含む。経路データは、フォークリフト1を第2方向に向かって走行させる走行条件を規定する。経路データは、対象51の正面に対して直行する方向にフォークリフト1を走行させる走行条件を規定する。
図15に示す例において、記憶部113に記憶されている目標経路60は、第1目標経路61と、第2目標経路62とを含む。
【0108】
目標経路60は、自動モードにおけるフォークリフト1の目標位置の集合体である。フォークリフト1の目標位置を含む目標経路60は、例えば車体座標系において規定される。
【0109】
目標経路60は、目標経路60が開始する開始点60Sと、目標経路60が終了する終了点60Eと、開始点60Sから延びる第1走行経路60Aと、フォークリフト1を第2方向に向かって走行させるように終了点60Eへ延びる第2走行経路60Bと、第1走行経路60Aと第2走行経路60Bとを繋ぐ曲線経路60Cとを含む。第1走行経路60Aは、開始点60Sからの曲線長に比例して曲率が増加するクロソイド曲線に沿った経路である。第2走行経路60Bは、終了点60Eからの曲線長に比例して曲率が増加するクロソイド曲線に沿った経路である。曲線経路60Cは、第1走行経路60Aの終端部と第2走行経路60Bの前端部とを繋ぐ円弧状の経路である。第1走行経路60Aの曲率は、開始点60Sから第1走行経路60Aの終端部に向かって増加する。第2走行経路60Bの曲率は、終了点60Eから第2走行経路60Bの始端部に向かって増加する。第1走行経路60Aの終端部と曲線経路60Cの始端部とが結ばれる。曲線経路60Cの終端部と第2走行経路60Bの始端部とが結ばれる。曲線経路60Cの曲率と、第1走行経路60Aの終端部における曲率と、第2走行経路60Bの始端部における曲率とは、等しい。目標経路60の曲率は、開始点60Sから第1走行経路61Aの終端部、曲線経路60C、及び第2走行経路61Bの始端部を経て、終了点60Eに至るまで、連続的に変化する。目標経路60は、滑らかに曲がる経路を形成する。
【0110】
複数の目標経路60のそれぞれにおいて、第2方向におけるフォークリフト1と対象51との距離が異なる。複数の目標経路60のそれぞれにおいて、曲線経路60Cの曲率が異なる。
図15に示す例において、第2方向における第1目標経路61のフォークリフト1と対象51との距離D1は、第2方向における第2目標経路62のフォークリフト1と対象51との距離D2よりも短い。第1目標経路61の曲線経路60Cの曲率1/r
61は、第2目標経路62の曲線経路60Cの曲率1/r
62よりも大きい。
【0111】
選択部106は、ステップS5において距離算出部105により算出された距離Dに基づいて、記憶部113に記憶されている複数の経路データから1つの経路データを選択する。距離算出部105により算出された距離Dが第1目標経路61の開始点60Sと対象51との距離D1に同一又は近似する場合、選択部106は、記憶部113に記憶されている複数の経路データから第1目標経路61を規定する第1の経路データを選択する。距離算出部105により算出された距離Dが第2目標経路62の開始点60Sと対象51との距離D2に同一又は近似する場合、選択部106は、記憶部113に記憶されている複数の経路データから第2目標経路62を規定する第2の経路データを選択する。
【0112】
なお、
図15に示した例において、経路データは2種類であるが、経路データは3種類でもよいし、4種類以上の任意の複数種類でもよい。
【0113】
経路生成部107は、ステップS6において選択部106により選択された経路データに基づいて、経路65を生成する(ステップS7)。
【0114】
経路生成部107は、フォークリフト1の車体座標系における対象51の基準点51Rの位置を決定する。経路生成部107は、選択部106により選択された目標経路60の終了点60Eと対象51の基準点51Rとの第1方向における位置が一致するように、且つ、選択部106により選択された目標経路60の開始点60Sとフォークリフト1の車体座標系の原点1Gとの第2方向における位置が一致するように目標経路60を配置する。経路生成部107は、目標経路60の終了点60Eと対象51の基準点51Rとを結ぶ直線経路63を生成する。実施形態において、対象51の基準点51Rは、対象51の正面51Fに有する一対のフォーク挿し込み穴54の各々を結ぶ線分の中心である。対象51の基準点51Rは、識別部102がフォーク挿し込み穴54を識別した際、識別部102によって物体センサ7の物体検出データに基づいて決定される。
【0115】
走行制御部110は、ステップS7において経路生成部107により生成された65経路に基づいて、走行装置14を制御する(ステップS8)。
【0116】
図16は、実施形態に係る生成された経路65に基づいて対象51に接近するように走行するフォークリフト1を模式的に示す図である。
図16に示すように、走行制御部110は、ステップS7において生成された経路65に基づいて、対象51に正対して接近するように走行装置14を制御する。走行制御部110は、第1方向に進行するフォークリフト1が旋回して、第2方向へ進行しながら対象51に接近するように走行装置14を制御する。
【0117】
自動モードにおいて、フォークリフト1の操舵が自動制御される。走行制御部110は、フォークリフト1が目標経路60に従って走行するように、フォークリフト1の操舵を自動制御する。走行制御部110は、フォークリフト1が対象51に向かって走行するように、フォークリフト1の操舵を自動制御する。走行制御部110は、ステアリングセンサ144の検出データに基づいて、経路データにより規定される目標経路60及び経路生成部107により生成された直線経路63に従ってフォークリフト1が走行するように、ステアリングシリンダ142を制御する。自動モードにおいて、フォークリフト1の進行及び制動は、オペレータによるアクセルペダル154及びブレーキペダル155の操作により行われる。すなわち、走行自動制御において、フォークリフト1の操舵は、目標経路60に基づいて自動的に行われ、フォークリフト1の進行及び制動は、オペレータの運転操作に基づいて手動的に行われる。なお、自動モードにおいて、フォークリフト1の進行及び制動も自動的に行われてもよい。
【0118】
図17は、実施形態に係る目標経路60を説明するための図である。実施形態において、目標経路60は、複数の走行点66を結ぶ仮想線によって規定される。走行点66は、走行路59に複数設定される。走行点66は、フォークリフト1の目標位置を規定する。複数の走行点66のそれぞれに、フォークリフト1の目標操舵角及びフォークリフト1の制限速度(目標走行速度)が設定される。複数の走行点66は、間隔をあけて設定される。走行自動制御において、フォークリフト1は、目標経路60に従って走行路59を走行する。走行自動制御において、フォークリフト1は、フォークリフト1の車幅方向において、フォークリフト1の中心と目標経路60とが一致するように走行する。
【0119】
フォークリフト1の目標位置とは、走行点66を通過するときのフォークリフト1の目標位置をいう。フォークリフト1の目標位置は、フォークリフト1の車体座標系において規定される。フォークリフト1の目標操舵角とは、走行点66を通過するときのフォークリフト1の操舵角をいう。実施形態において、目標操舵角は、後輪5Rの目標操舵角である。フォークリフト1の制限速度とは、走行点66を通過するときのフォークリフト1の制限速度をいう。フォークリフト1の制限速度は、走行点66を通過するときのフォークリフト1の目標走行速度とみなされてもよい。
【0120】
走行自動制御において、走行制御部110は、目標位置、目標操舵角、及び制限速度が設定された複数の走行点66を含む目標経路60と、物体センサ7、ステアリングセンサ144、及び車速センサ143のそれぞれの検出データとに基づいて、フォークリフト1が目標経路60に従って走行するように、走行装置14を制御する。
【0121】
物体センサ7は、車体座標系におけるフォークリフト1と対象51との相対位置を検出可能である。フォークリフト1の目標位置は、フォークリフト1の車体座標系において規定される。位置算出部108は、物体センサ7の検出データに基づいて、フォークリフト1と目標経路60(走行点66)との相対位置を算出することができる。走行制御部110は、走行点66を通過するときに物体センサ7により検出されたフォークリフト1の検出位置と走行点66に設定されているフォークリフト1の目標位置との偏差が小さくなるように、走行装置14を制御する。
【0122】
走行自動制御において、走行制御部110は、走行点66を通過するときにステアリングセンサ144により検出されたフォークリフト1の検出操舵角と走行点66に設定されているフォークリフト1の目標操舵角との偏差が小さくなるように、走行装置14を制御する。
【0123】
走行自動制御において、走行制御部110は、走行点66を通過するときに車速センサ143により検出されたフォークリフト1の検出走行速度と走行点66に設定されているフォークリフト1の目標走行速度との偏差が小さくなるように、走行装置14を制御する。
【0124】
図18は、実施形態に係る曲線経路60Cに従って旋回するフォークリフト1を模式的に示す図である。上述のように、走行自動制御において、走行制御部110は、目標経路60に従ってフォークリフト1が走行するように、走行装置14を制御する。曲線経路60Cに従ってフォークリフト1が旋回する場合、走行制御部110は、フォークリフト1の検出操舵角と目標操舵角との偏差が小さくなるように、ステアリングシリンダ142を制御する。
【0125】
フォーク43に運搬物が支持されていない場合、すなわち、フォーク43が空荷状態である場合、曲線経路60Cに従ってフォークリフト1が走行できるように、走行制御部110は第1操舵角指令値を決定し、走行装置14に出力する。第1操舵角指令値は、後輪5Rの操舵角を第1操舵角に指定する操舵角指令値である。後輪5Rの操舵角が第1操舵角に制御されることにより、フォークリフト1は、曲線経路60Cに従って走行することができる。
【0126】
一方、フォーク43に運搬物が支持されている場合、すなわち、フォーク43が積荷状態である場合、前方向に回転するモーメントがかかるため、後輪5R(操舵輪)の負荷が減少して旋回が困難になる。そのため、積荷状態のときに、上述の第1操舵角指令値が出力されても曲線経路60Cから逸脱する可能性がある。
【0127】
実施形態において、走行制御部110は、フォーク43に運搬物が支持されているか否かに基づいて、走行装置14に出力する操舵角指令値を補償する。走行制御部110は、作業機4に運搬物が支持されていない空荷状態において、フォークリフト1の操舵角を第1操舵角に調整する第1操舵角指令値を出力する。走行制御部110は、作業機4に運搬物が支持されている積荷状態において、フォークリフト1の操舵角を第2操舵角に調整する第2操舵角指令値を出力する。第1操舵角指令値は、後輪5Rの操舵角を第1操舵角に指定する。第2操舵角指令値は、後輪5Rの操舵角を第1操舵角よりも大きい第2操舵角に指定する。走行制御部110は、フォーク43に支持されている運搬物の重量に基づいて、第2操舵角指令値を出力する。第1操舵角は、空荷状態のフォークリフト1に設定される目標操舵角である。第2操舵角は、積荷状態のフォークリフト1に設定される目標操舵角である。なお、走行制御部110は、フォーク43支持される運搬物の重量に基づいて、走行装置14に出力する操舵角指令値を補償してもよい。
【0128】
図19は、実施形態に係るステップS8のルーチンを示すフローチャートである。走行制御部110は、作業機負荷センサ49の検出データを取得する(ステップS81)。作業機負荷センサ49は、フォーク43が積荷状態であるか否かを検出することができる。作業機負荷センサ49は、フォーク43に支持されている運搬物の重量を検出することができる。
【0129】
走行制御部110は、ステップS81において取得した検出データに基づいて、フォーク43が積荷状態であるか否かを判定する(ステップS82)。
【0130】
ステップS82において、フォーク43が空荷状態であると判定した場合(ステップS82:No)、走行制御部110は、第1操舵角指令値を走行装置14に出力する(ステップS83)。
【0131】
第1操舵角指令値は、後輪5Rの操舵角を第1操舵角に指定する操舵角指令値である。フォークリフト1の操舵角は、第1操舵角指令値に基づいて第1操舵角に制御される。フォークリフト1が空荷状態である場合、後輪5Rの操舵角が第1操舵角に制御されることにより、フォークリフト1は、目標経路60(曲線経路60C)に従って走行することができる。
【0132】
ステップS82において、フォーク43が積荷状態であると判定した場合(ステップS82:Yes)、走行制御部110は、第2操舵角指令値を走行装置14に出力する(ステップS84)。
【0133】
第2操舵角指令値は、後輪5Rの操舵角を第1操舵角よりも大きい第2操舵角に指定する操舵角指令値である。フォークリフト1の操舵角は、第2操舵角指令値に基づいて第2操舵角に制御される。フォークリフト1が積荷状態である場合、後輪5Rの操舵角が第2操舵角に制御されることにより、フォークリフト1は、目標経路60(曲線経路60C)に従って走行することができる。
【0134】
上述のように、積荷状態によって切り換えてもよいし、以下の(1)式のように、積荷重量を測定することで連続的に補償してもよい。第1操舵角指令値をCa1とし、第2操舵角指令値をCa2とし、運搬物の重量をWとし、係数をaとした場合、第2操舵角指令値は、以下の(1)式で表される。
【0135】
Ca2=Ca1×(1+W×a) …(1)
【0136】
なお、上述のように、走行点66には制限速度(目標走行速度)が設定される。制限速度は、目標経路60に従って走行するフォークリフト1が目標経路60から逸脱しないように予め定められる。例えば、オペレータがアクセルペダル154を大きく踏み込んでも、走行制御部110は、車速センサ143の検出データに基づいて、フォークリフト1の走行速度が制限速度を上回らないように走行装置14を制御する。
【0137】
曲線経路60Cの制限速度は、第1走行経路60Aの制限速度よりも低い。第2走行経路60Bの制限速度は、曲線経路60Cの制限速度よりも低い。すなわち、フォークリフト1が対象51に接近するほど制限速度が低くなる。
【0138】
実施形態において、曲線経路60Cの曲率が大きいほど制限速度は低い。
図15に示す例においては、第1目標経路61の曲線経路60Cを走行するときのフォークリフト1の制限速度は、第2目標経路62の曲線経路60Cを走行するときのフォークリフト1の制限速度よりも低い。すなわち、曲線経路60Cの曲がり具合がきついほど、フォークリフト1の走行速度が高くならないように、制限速度が定められる。
【0139】
図12に戻って、フォークリフト1が目標経路60に従って走行するとき、位置算出部108は、左側方センサ7Aの物体検出データ及び第2前方センサ7Dの物体検出データに基づいて、左側方センサ7Aを基準とした対象51の方位角、及び第2前方センサ7Dを基準とした対象51の方位角を算出する。(ステップS9)。
【0140】
図20、
図21、及び
図22のそれぞれは、実施形態に係るフォークリフト1が対象51に接近している状態を模式的に示す図である。
図20は、フォークリフト1が第1方向に向かって走行している状態を示す。
図21は、フォークリフト1が第1方向から第2方向に向かって旋回している状態を示す。
図22は、フォークリフト1が第2方向に向かって走行している状態を示す。
【0141】
図20、
図21、及び
図22に示すように、位置算出部108は、左側方センサ7Aを基準とした対象51の方位角として、左側方センサ7Aの指向方向を示す第1方向線LA1と、左側方センサ7Aと対象51の基準点51Rとを結ぶ第2方向線LA2とがなす第1角度θaを算出する。位置算出部108は、第2前方センサ7Dを基準とした対象51の方位角として、第2前方センサ7Dの指向方向を示す第3方向線LC1と、第2前方センサ7Dと対象51の基準点51Rとを結ぶ第4方向線LC2とがなす第2角度θcを算出する。
【0142】
位置算出部108は、算出した第1角度θaと第2角度θcとを比較して、第2角度θcが第1角度θa以下であるか否かを判定する(ステップS10)。
【0143】
ステップS10において、第2角度θcが第1角度θaよりも大きいと判定された場合(ステップS10:No)、コントローラ100は、ステップS9の処理に戻る。識別部102は、左側方センサ7Aの物体検出データに基づいて、対象51を識別し続けることができる。
【0144】
ステップS10において、第2角度θcが第1角度θa以下であると判定された場合(ステップS10:Yes)、切換部109は、対象51の識別に使用される物体センサ7の物体検出データを、左側方センサ7Aの物体検出データから第2前方センサ7Dの物体検出データに切り換える(ステップS11)。
【0145】
実施形態において、フォークリフト1が走行路59を第1方向に向かって走行しているときのフォークリフト1と対象51との相対角度αは、実質的に90度となる。フォークリフト1が第1方向から第2方向に向かって走行することにより、フォークリフト1と対象51との相対角度αは、90度から徐々に小さくなる。フォークリフト1が対象51の正面に正対するときのフォークリフト1と対象51との相対角度αは、実質的に0度となる。
【0146】
図20に示すように、フォークリフト1が第1方向に向かって走行しているとき、左側方センサ7Aは、対象51を検出することができる。すなわち、フォークリフト1と対象51との相対角度αが大きいとき、左側方センサ7Aの検出範囲70A内に対象51があるため、左側方センサ7Aは、対象51を検出することができる。
【0147】
図21に示すように、フォークリフト1が、第1方向から第2方向へ向かって旋回すると、左側方センサ7A及び第2前方センサ7Dの両方が、対象51を検出することができる。すなわち、フォークリフト1と対象51との相対角度αが90度から徐々に小さくなると、左側方センサ7Aの検出範囲70A内、且つ、第2前方センサ7Dの検出範囲70D内に対象51があるため、左側方センサ7A及び第2前方センサ7Dの両方が、対象51を検出することができる。
【0148】
図22に示すように、フォークリフト1が第2方向へ向かって走行しているとき、左側方センサ7Aは、対象51を検出できない可能性がある。すなわち、フォークリフト1と対象51との相対角度αが0度に近づくと、左側方センサ7Aの検出範囲70Aの外に対象51があるため、左側方センサ7Aは、対象51を検出できない。一方、フォークリフト1と対象51との相対角度αが0度に近づくと、第2前方センサ7Dの検出範囲70D内に対象51があるため、第2前方センサ7Dは、対象51を検出することができる。
【0149】
このように、フォークリフト1と対象51との相対角度αにより、対象51を検出することができる物体センサ7が変化するため、切換部109は、位置算出部108の判定に基づいて、対象51の識別に使用される物体センサ7の物体検出データを、左側方センサ7Aの物体検出データから第2前方センサ7Dの物体検出データに切り換える。
【0150】
識別部102は、第2角度θcが第1角度θaよりも大きい場合、左側方センサ7Aの物体検出データに基づいて対象51を識別する。識別部102は、第2角度θcが第1角度θa以下である場合、第2前方センサ7Dの物体検出データに基づいて対象51を識別する。これにより、フォークリフト1が旋回しても、識別部102は、左側方センサ7Aの検出データ及び第2前方センサ7Dの物体検出データのいずれか一方に基づいて、対象51を識別し続けることができる。
【0151】
走行制御部110は、走行自動制御の終了条件を満足するか否かを判定する(ステップS12)。終了条件を満足する場合に、走行自動制御が終了する。走行自動制御が終了された後、フォークリフト1は、操作装置15の操作に基づいて動作する手動モードに遷移する。
【0152】
図23は、実施形態に係るステップS12のルーチンを示すフローチャートである。
図24は、実施形態に係る走行自動制御の終了条件を説明するための図である。
【0153】
実施形態において、終了条件は、フォークリフト1の後輪5Rの操舵角θsが予め定められている閾値以下(第3閾値以下)であることを含む。閾値は、例えば1度である。
【0154】
走行自動制御において、フォークリフト1は、対象51に向かって、曲線経路60Cを含む目標経路60に従って走行する。フォークリフト1が曲線経路60Cを走行する場合、後輪5Rの向きが曲げられる。後輪5Rの向きが大きく曲げられた状態で、走行自動制御から手動モードに遷移した場合、フォークリフト1は、オペレータの意図しない方向に進行してしまう可能性がある。例えば、走行自動制御より対象51に正対したフォークリフト1が、手動モードに移行したときに対象51から外れた方向に進行してしまう可能性がある。すなわち、フォークリフト1と対象51との正対関係が崩れてしまう可能性がある。その結果、手動モードにおいて作業性が低下する可能性がある。
【0155】
上述のように、実施形態において、終了条件は、後輪5Rの操舵角θsが閾値以下であることを含む。後輪5Rの操舵角θsが閾値以下になっている状態で、走行自動制御から手動モードに遷移することにより、手動モードにおける作業性の低下が抑制される。
【0156】
また、終了条件は、フォークリフト1と対象51との相対位置が所定条件を満足することを含む。
【0157】
実施形態において、終了条件は、フォークリフト1と対象51の正面51Fとの正対角度αが予め定められている第1閾値以下であることを含む。正対角度αとは、車体座標系においてフォークリフト1の車幅方向に延びる左右軸と対象51の正面51Fとがなす角度をいう。第1閾値は、例えば0.5度である。
【0158】
また、終了条件は、フォークリフト1と対象51との横方向位置のずれ量Dsが予め定められている第2閾値以下であることを含む。横方向位置のずれ量Dsとは、車体座標系においてフォークリフト1の車幅方向における原点1Gと基準点51Rとのずれ量をいう。第2閾値は、例えば10cmである。
【0159】
また、終了条件は、対象51の正面51Fとフォーク43の先端部との距離Fsが予め定められている第4閾値以下であることを含む。第4閾値は、例えば1mである。
【0160】
図23に示すように、ステップS12のルーチンにおいて、識別部102は、第2前方センサ7Dの物体検出データに基づいて、フォークリフト1が対象51の正面に配置されたか否かを判定する。すなわち、識別部102は、第2前方センサ7Dの物体検出データに基づいて、フォークリフト1が対象51の正面51Fに正対したか否かを判定する。また、識別部102は、第2前方センサ7Dの物体検出データに基づいて、フォークリフト1と対象51の正面51Fとの正対角度αが第1閾値以下であるか否かを判定する(ステップS121)。
【0161】
ステップS121において、正対角度αが第1閾値以下であると判定した場合(ステップS121:Yes)、識別部102は、第2前方センサ7Dの物体検出データに基づいて、フォークリフト1と対象51との横方向位置のずれ量Dsが第2閾値以下であるか否かを判定する(ステップS122)。
【0162】
ステップS122において、ずれ量Dsが第2閾値以下であると判定した場合(ステップS122:Yes)、識別部102は、ステアリングセンサ144の検出データに基づいて、後輪5Rの操舵角θsが第3閾値以下であるか否かを判定する(ステップS123)。第3閾値は、上述の1度である。
【0163】
ステップS123において、操舵角θsが第3閾値以下であると判定した場合(ステップS123:Yes)、識別部102は、第2前方センサ7Dの物体検出データに基づいて、対象51の正面51Fとフォーク43の先端部との距離Fsが第4閾値以下であるか否かを判定する(ステップS124)。
【0164】
ステップS124において、距離Fsが第4閾値以下であると判定された場合(ステップS124:Yes)、走行制御部110は、走行自動制御の終了条件を満足したと判定する(ステップS125)。ステップS125の後、コントローラ100は、
図12に示すステップS13へ移行する。
【0165】
ステップS124において、距離Fsが第4閾値以下ではないと判定された場合(ステップS124:No)、走行制御部110は、走行自動制御の終了条件を満足していないと判定する(ステップS126)。ステップS126の後、コントローラ100は、
図12に示すステップS8の処理に戻る。
【0166】
ステップS121において、正対角度αが第1閾値以下ではないと判定された場合(ステップS121:No)、ステップS122において、ずれ量Dsが第2閾値以下ではないと判定された場合(ステップS122:Yes)、及び、ステップS123において、操舵角θsが第3閾値以下ではないと判定された場合(ステップS123:No)、識別部102は、第2前方センサ7Dの物体検出データに基づいて、対象51の正面51Fとフォーク43の先端部との距離Fsが予め定められている第5閾値以下であるか否かを判定する(ステップS127)。第5閾値は、例えば30cmである。すなわち、識別部102は、フォークリフト1が対象51に接近し過ぎているか否かを判定する。
【0167】
ステップS127において、距離Fsが第5閾値以下であると判定された場合(ステップS127:Yes)、走行制御部110は、走行自動制御の終了条件を満足したと判定する(ステップS125)。ステップS125の後、コントローラ100は、
図12に示すステップS13へ移行する。
【0168】
ステップS127において、距離Fsが第5閾値以下ではないと判定された場合(ステップS127:No)、走行制御部110は、走行自動制御の終了条件を満足していないと判定する(ステップS126)。ステップS126の後、コントローラ100は、
図12に示すステップS8の処理に戻る。
【0169】
ステップS12のルーチンにおいて、走行自動制御の終了条件が満足する(ステップS125)と判定された場合、
図12に示すように、走行制御部110は、後輪5Rの操舵角θsが予め定められている閾値以下(第3閾値以下)になるように操舵角θsを調整する。閾値は、例えば1度である。実施形態において、走行制御部110は、後輪5Rの操舵角θsを0度に調整する(ステップS13)。
【0170】
ステップS13において、後輪5Rの操舵角θsが0度に調整された後、走行自動制御が終了する(ステップS14)。
【0171】
上述のように、走行自動制御において、フォークリフト1は、対象51に向かって、曲線経路60Cを含む目標経路60に従って走行する。フォークリフト1が曲線経路60Cを走行する場合、後輪5Rの向きが曲げられる。後輪5Rの向きが大きく曲げられた状態で、走行自動制御が終了した場合、フォークリフト1は、オペレータの意図しない方向に進行してしまう可能性がある。その結果、手動モードにおいて作業性が低下する可能性がある。
【0172】
実施形態において、走行自動制御の終了条件を満足する場合に、後輪5Rの操舵角を0度にした後、走行自動制御から手動モードに遷移する。これにより、手動モードにおける作業性の低下が抑制される。
【0173】
出力制御部112は、フォークリフト1が対象51の正面51Fに配置された時点において、出力装置16から出力データを出力させる。実施形態において、出力制御部112は、第2前方センサ7Dの物体検出データに基づいてフォークリフト1が対象51の正面51Fに配置されたと判定された時点において、音声出力装置162から音声データとしてブザー音を出力させる。これにより、オペレータは、フォークリフト1が対象51の正面51Fに正対したことを認識することができる。
【0174】
走行自動制御が終了された後、オペレータは、作業機自動制御を開始するために、自動モード開始スイッチ157を操作する。制御指令受信部103は、自動モード開始スイッチ157からの制御指令を受信する(ステップS15)。
【0175】
制御指令受信部103が自動モード開始スイッチ157からの制御指令を受信することにより、作業機自動制御が開始される。
【0176】
出力制御部112は、制御指令受信部103が自動モード開始スイッチ157からの制御指令を受信した時点において、出力装置16から出力データを出力させる。実施形態において、出力制御部112は、制御指令受信部103が自動モード開始スイッチ157からの制御指令を受信した時点において、音声出力装置162から音声データとしてブザー音を出力させる。これにより、オペレータは、作業機自動制御が開始されたことを認識することができる。
【0177】
作業機制御部111は、第2前方センサ7Dの物体検出データに基づいて、フォーク43の先端部の位置と一対のフォーク挿し込み穴54の位置とが一致するように、作業機4を制御する。すなわち、作業機制御部111は、第2前方センサ7Dの物体検出データに基づいて、フォーク43と対象51の一対のフォーク挿し込み穴54との距離が予め定められている所定値以下になるように、フォーク43の位置及び姿勢を制御する。作業機制御部111は、フォーク43の先端部の位置と一対のフォーク挿し込み穴54の位置とが一致するように、リフトシリンダ451、チルトシリンダ452、及びサイドシフトシリンダ453の少なくとも一つを制御する(ステップS16)。
【0178】
出力制御部112は、第2前方センサ7Dの物体検出データに基づいて、フォーク43の先端部の位置と一対のフォーク挿し込み穴54の位置とが一致したと判定された時点において、出力装置16から出力データを出力させる。実施形態において、フォーク43と対象51の所定部位である一対のフォーク挿し込み穴54との距離が予め定められている所定値以下になった時点において、音声出力装置162から音声データとしてブザー音を出力させる。これにより、オペレータは、フォーク43の先端部の位置と一対のフォーク挿し込み穴54の位置とが一致したことを認識することができる。
【0179】
[効果]
以上説明したように、実施形態において、コントローラ100は、空荷状態において、フォークリフト1の操舵角θsを調整する第1操舵角指令値を出力し、積荷状態において、操舵角θsを調整する第2操舵角指令値を出力する。空荷状態と積荷状態とで作業車両の旋回性能に差が生じても、作業機4に掛かる負荷に基づいて操舵角θsが調整されることにより、フォークリフト1は、目標経路60に従って走行することができる。走行自動制御において、コントローラ100は、作業機4に掛かる負荷が変化しても、フォークリフト1を目標経路60に従って適正に旋回させることができる。
【0180】
[その他の実施形態]
上述の実施形態においては、走行路59を第1方向に走行するフォークリフト1の左側に、荷役作業を自動的に行うための対象が配置され、左側方センサ7Aが対象を検出することとした。走行路59を第1方向に走行するフォークリフト1の右側に、荷役作業を自動的に行うための対象が配置される場合、対象は右側方センサ7Bに検出される。識別部102は、右側方センサ7Bの物体検出データに基づいて、対象を識別する。
【0181】
上述の実施形態においては、フォークリフト1の動力源11がエンジンであることとしたが、これに限定されない。例えば、フォークリフト1の動力源11は、電力を供給するバッテリであってもよい。この場合、走行モータ141は、電動モータでもよい。また、油圧ポンプ12は、電動モータによって駆動されてもよい。
【0182】
上述の実施形態においては、自動モード許可スイッチ156と自動モード開始スイッチ157とが別々のスイッチであることとしたが、これに限定されない。例えば、自動モード許可スイッチ156と自動モード開始スイッチ157とが同一のスイッチでもよい。1つのスイッチが操作されることにより、荷役作業を自動的に行うための対象を識別する処理を開始させる制御指令が生成され、更に操作されることにより、走行自動制御又は作業機自動制御を開始させる制御指令が生成されてもよい。
【0183】
上述の実施形態においては、キャブ3に搭乗したオペレータがフォークリフト1を操作可能であることとしたが、これに限定されない。例えば、フォークリフト1を操作する操作装置がフォークリフト1の遠隔地に配置され、フォークリフト1が遠隔操作されてもよい。
【0184】
上述の実施形態においては、自動モード開始スイッチ157が操作されるまで、フォークリフト1は、手動モードで前進するとしたが、これに限定されない。例えば、フォークリフト1は、GNSS(Global Navigation Satellite System)などの自車位置を検出するための測位システムを備え、対象の位置情報を含む地図データと自車位置とを参照しながら目的の対象まで自動で走行してもよい。また、決定部104は、目的の対象が識別部102によって識別されたと判定された場合、荷役作業を自動的に行うための対象を決定してもよい。
【0185】
上述の実施形態においては、走行自動制御の際、フォークリフト1の進行及び制動は、オペレータの運転操作に基づいて手動的に行われるとしたが、これに限定されない。走行制御部110は、フォークリフト1の進行及び制動を制御してもよい。走行制御部110は、経路データに含まれるフォークリフト1の制限速度に基づいて、フォークリフト1の進行及び制動を制御してもよい。
【符号の説明】
【0186】
1…フォークリフト(作業車両)、1G…原点、2…車体、3…キャブ、4…作業機、5…車輪、5F…前輪、5R…後輪、6…カウンタウエイト、7…物体センサ、7A…左側方センサ、7B…右側方センサ、7C…第1前方センサ、7D…第2前方センサ、8…フェンダ、10…制御システム、11…動力源、12…油圧ポンプ、13…制御弁ユニット、14…走行装置、15…操作装置、16…出力装置、36…シンボル、37…シンボル、41…マスト、42…ブラケット、43…フォーク、43A…第1のフォーク、43B…第2のフォーク、45…作業機駆動装置、46…リフトセンサ、47…チルトセンサ、48…サイドシフトセンサ、49…作業機負荷センサ、50…対象、50F…正面、51…対象、51F…正面、51R…基準点、52…対象、52F…正面、53…対象、54…フォーク挿し込み穴、55…荷置きスペース、59…走行路、60…目標経路、60A…第1走行経路、60B…第2走行経路、60C…曲線経路、60E…終了点、60S…開始点、61…第1目標経路、62…第2目標経路、63…直線経路、65…経路、66…走行点、70…検出範囲、70A…検出範囲、70B…検出範囲、70C…検出範囲、70D…検出範囲、71…カメラ、72…3次元センサ、100…コントローラ、101…検出データ取得部、102…識別部、103…制御指令受信部、104…決定部、105…距離算出部、106…選択部、107…経路生成部、108…位置算出部、109…切換部、110…走行制御部、111…作業機制御部、112…出力制御部、113…記憶部、710…撮像範囲、720…測定範囲、131…走行制御弁、132…ステアリング制御弁、133…作業機制御弁、141…走行モータ、142…ステアリングシリンダ、143…車速センサ、144…ステアリングセンサ、151…ステアリングホイール、152…作業機レバー、153…前後進切換レバー、154…アクセルペダル、155…ブレーキペダル、156…自動モード許可スイッチ、157…自動モード開始スイッチ、161…表示装置、162…音声出力装置、451…リフトシリンダ、452…チルトシリンダ、453…サイドシフトシリンダ、1000…コンピュータシステム、1001…プロセッサ、1002…メインメモリ、1003…ストレージ、1004…インターフェース、LA1…第1方向線、LA2…第2方向線、LC1…第3方向線、LC2…第4方向線、α…相対角度、θa…第1角度、θc…第2角度。