(57)【特許請求の範囲】
【請求項１】
少なくとも走行用の電動機を備える作業車両であり、
前記電動機を制御するための速度指令値を生成し、かつ前記電動機に発生させるトルクの指令値であるトルク指令値と前記作業車両の走行速度との関係に前記作業車両の実走行速度を与えて第１トルク指令値を生成する第１制御部と、
前記第１制御部が生成した前記速度指令値と前記実走行速度とに基づいて第２トルク指令値を生成し、前記作業車両が前進しているときには前記第１トルク指令値と前記第２トルク指令値とのうち小さい方を用いて前記電動機を制御し、前記作業車両が後進しているときには前記第１トルク指令値と前記第２トルク指令値とのうち大きい方を用いて前記電動機を制御する第２制御部と、を含み、
前記第１制御部は、前記作業車両の実際の進行方向と、前記作業車両の進行方向を規定する進行方向指令値とが相違する場合、この相違が発生したときの前記実走行速度に基づいて前記速度指令値を決定する、作業車両。
【請求項２】
前記第１制御部は、
前記速度指令値を、前記相違が発生したときの前記実走行速度の絶対値よりも大きい値とする、請求項１に記載の作業車両。
【請求項３】
前記第１制御部は、
前記速度指令値を、前記相違が発生したときに生成した値よりも大きくしない、請求項１又は２に記載の作業車両。
【請求項４】
前記第１制御部は、前記実走行速度が０から変化した場合に、前記速度指令値の絶対値を０より大きい値とする、請求項１から３のいずれか１項に記載の作業車両。
【請求項５】
前記第１トルク指令値と前記作業車両の走行速度との関係は、前記作業車両のアクセルの開度によって変化する、請求項１から４のいずれか１項に記載の作業車両。
【請求項６】
前記第１制御部は、
前記実走行速度が０に近づくにしたがって、前記速度指令値を小さくする、請求項１から５のいずれか１項に記載の作業車両。
【請求項７】
前記電動機は、ローターが永久磁石を有する、請求項４から６のいずれか１項に記載の作業車両。
【請求項８】
少なくとも走行用の電動機を備える作業車両であり、
前記電動機を制御するための速度指令値を生成し、かつ前記電動機に発生させるトルクの指令値であるトルク指令値と前記作業車両の走行速度との関係に前記作業車両の実走行速度を与えて第１トルク指令値を生成する第１制御部と、
前記第１制御部が生成した前記速度指令値と前記実走行速度とに基づいて第２トルク指令値を生成し、前記作業車両が前進しているときには前記第１トルク指令値と前記第２トルク指令値とのうち小さい方を用いて前記電動機を制御し、前記作業車両が後進しているときには前記第１トルク指令値と前記第２トルク指令値とのうち大きい方を用いて前記電動機を制御する第２制御部と、を含み、
前記第１制御部は、前記作業車両の実際の進行方向と、前記作業車両の進行方向を規定する進行方向指令値とに基づいて前記速度指令値を決定し、かつ前記実際の進行方向と前記作業車両の進行方向を規定する進行方向指令とが相違する場合、この相違が発生したときの速度に基づいて前記速度指令値を決定し、さらに、前記実走行速度が０から変化した場合に、前記速度指令値を、その絶対値が０よりも大きい値とする、作業車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動機によって走行する作業車両に関する。
【背景技術】
【０００２】
走行用の電動機を搭載し、この電動機にバッテリから電力の供給をして走行させる作業車両がある。このような作業車両として、例えば、特許文献１には、バッテリ式車両の走行制御装置に関する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−９５０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、作業車両がフォークリフトである場合、荷役作業時にスイッチバックと呼ばれる動作を行うことがある。スイッチバックは、作業車両の実際の進行方向と、進行方向を規定するための指令とが異なる動作である。また、例えば、作業車両が下り坂にいる場合、勾配が急である等の理由から作業車両が後進しようとしているにも関わらず前進して坂道を下ってしまうことがある（その反対も同様）。この場合、作業車両が坂道をずり下がることを抑制する制御が介入することがある。このため、これらのスイッチバックの動作とずり下がりを抑制する制御とを両立させる必要がある。【０００５】
下り坂にいる作業車両の進行しようとする方向と実際の進行方向とが相違する状態は、作業車両の実際の進行方向と、進行方向を規定するための指令とが相違するので、スイッチバック動作と同様の状況が生じることになる。作業車両が坂道をずり下ることを抑制する制御中にスイッチバック動作が発生した場合又はその反対の場合には、二種類の制御を切り替えたり、別個の制御に移行したりする必要があるので、制御の切り替え又は移行の条件が複雑になったり、制御の切り替え時に発生する可能性がある作業車両の急な加減速等を抑制したりする必要がある。特許文献１に記載された技術は、アクセルオフ回生（後退）から前進のスイッチバック回生に切り替えるとき、現トルク量を０にするため、急激なトルクの変動が発生する可能性がある。その結果、特許文献１に記載の技術は、作業車両に急な加減速等が発生する可能性がある。【０００６】
本発明は、電動機によって走行する作業車両において、スイッチバック動作と坂道におけるずり下がりの抑制とが同時に発生した場合に、作業車両に発生する急な加減速等を抑制することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、少なくとも走行用の電動機を備える作業車両であり、前記電動機を制御するための速度指令値を生成し、かつ前記電動機に発生させるトルクの指令値であるトルク指令値と前記作業車両の走行速度との関係に前記作業車両の実走行速度を与えて第１トルク指令値を生成する第１制御部と、前記第１制御部が生成した前記速度指令値と前記実走行速度とに基づいて第２トルク指令値を生成し、前記作業車両が前進しているときには前記第１トルク指令値と前記第２トルク指令値とのうち小さい方を用いて前記電動機を制御し、前記作業車両が後進しているときには前記第１トルク指令値と前記第２トルク指令値とのうち大きい方を用いて前記電動機を制御する第２制御部と、を含み、前記第１制御部は、前記作業車両の実際の進行方向と、前記作業車両の進行方向を規定する進行方向指令値とが相違する場合、この相違が発生したときの前記実走行速度に基づいて前記速度指令値を決定する。【０００８】
前記第１制御部は、前記速度指令値を、前記相違が発生したときの前記実走行速度の絶対値よりも大きい値とすることが好ましい。【０００９】
前記第１制御部は、前記速度指令値を、前記相違が発生したときに生成した値よりも大きくしないことが好ましい。【００１０】
前記第１制御部は、前記実走行速度が０から変化した場合に、前記速度指令値の絶対値を０より大きい値とすることが好ましい。【００１１】
前記第１トルク指令値と前記作業車両の走行速度との関係は、前記作業車両のアクセルの開度によって変化することが好ましい。【００１２】
前記第１制御部は、前記実走行速度が０に近づくにしたがって、前記速度指令値を小さくすることが好ましい。【００１３】
前記電動機は、ローターが永久磁石を有することが好ましい。【００１４】
本発明は、少なくとも走行用の電動機を備える作業車両であり、前記電動機を制御するための速度指令値を生成し、かつ前記電動機に発生させるトルクの指令値であるトルク指令値と前記作業車両の走行速度との第１の関係に前記作業車両の実走行速度を与えて第１トルク指令値を生成する第１制御部と、前記第１制御部が生成した前記速度指令値に基づいた、前記トルク指令値と前記走行速度との第２の関係に、前記実走行速度を与えて第２トルク指令値を生成し、前記作業車両が前進しているときには前記第１トルク指令値と前記第２トルク指令値のうち小さい方を用いて前記電動機を制御し、前記作業車両が後進しているときには前記第１トルク指令値と前記第２トルク指令値のうち大きい方を用いて前記電動機を制御する第２制御部と、を含み、前記第１制御部は、前記作業車両の実際の進行方向と、前記作業車両の進行方向を規定する進行方向指令値とに基づいて前記速度指令値を決定し、かつ前記実際の進行方向と前記作業車両の進行方向を規定する進行方向指令とが相違する場合、この相違が発生したときの速度に基づいて前記速度指令値を決定し、さらに、前記実走行速度が０から変化した場合に、前記速度指令値を、その絶対値が０よりも大きい値とする。【００１５】
本発明は、電動機によって走行する作業車両において、スイッチバック動作と坂道におけるずり下がりの抑制とが同時に発生した場合に、作業車両に発生する急な加減速等を抑制することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本実施形態に係る作業車両を左側から見た状態を示した側面図である。
【図２】図２は、本実施形態に係る作業車両を左後方斜め上側から見た状態を示した斜視図である。
【図３】図３は、本実施形態に係るバッテリ式フォークリフトが備える走行用電動機の制御システムを示す模式図である。
【図４】図４は、第１制御部及び第２制御部を示す模式図である。
【図５】図５は、第１制御部及び第２制御部が走行用電動機の制御に用いる制御マップの一例を示す概念図である。
【図６】図６は、第１制御部及び第２制御部が走行用電動機を制御する際の手順の一例を示すフローチャートである。
【図７】図７は、本実施形態に係る走行用電動機の制御例を示すフローチャートである。
【図８】図８は、坂道制御及びスイッチバック制御における速度リミット指令と実走行速度との関係を示す図である。
【図９】図９は、バッテリ式フォークリフトが上り坂にいる状態を示す図である。
【図１０】図１０は、坂道制御における第３トルク指令値及びバッテリ式フォークリフトの動作を説明するための図である。
【図１１】図１１は、バッテリ式フォークリフトが上り坂にいて、アクセルが踏まれている状態を示す図である。
【図１２】図１２は、図１１に示す状態での第３トルク指令値及びバッテリ式フォークリフトの動作を説明するための図である。
【図１３】図１３は、バッテリ式フォークリフトが下り坂にいる状態を示す図である。
【図１４】図１４は、坂道制御における第３トルク指令値及びバッテリ式フォークリフトの動作を説明するための図である。
【図１５】図１５は、スイッチバック動作の一例を示す図である。
【図１６】図１６は、バッテリ式フォークリフトが力行かつ前進している状態を示す図である。
【図１７】図１７は、バッテリ式フォークリフトが力行かつ前進している状態のトルク指令値を説明するための図である。
【図１８】図１８は、バッテリ式フォークリフトがスイッチバック動作になったことを示す図である。
【図１９】図１９は、バッテリ式フォークリフトがスイッチバック動作になったときのトルク指令値を説明するための図である。
【図２０】図２０は、スイッチバック動作中のバッテリ式フォークリフトを示す図である。
【図２１】図２１は、スイッチバック動作中のトルク指令値を説明するための図である。
【図２２】図２２は、減速によって進行方向が反転したバッテリ式フォークリフトを示す図である。
【図２３】図２３は、減速によって進行方向が反転した場合におけるトルク指令値を説明するための図である。
【図２４】図２４は、スイッチバック制御に入った後に下り坂を走行するバッテリ式フォークリフトを示す図である。
【図２５】図２５は、スイッチバック制御に入った後、下り坂を走行する場合におけるトルク指令値を説明するための図である。
【図２６】図２６は、バッテリ式フォークリフトが下り坂にいるときにアクセルを開き後進する状態を示す図である。
【図２７】図２７は、バッテリ式フォークリフトが下り坂にいるときにアクセルを開き後進する状態におけるトルク指令値を説明するための図である。
【図２８】図２８は、バッテリ式フォークリフトが下り坂にいるときにスイッチバック制御が実行されている状態を示す図である。
【図２９】図２９は、バッテリ式フォークリフトが下り坂にいるときのスイッチバック制御におけるトルク指令値を説明するための図である。
【図３０】図３０は、第１制御部が備える速度指令値生成部の制御ブロック図である。
【図３１】図３１は、シフト量決定部が決定する速度リミット指令のシフト量を説明するための図である。
【図３２】図３２は、シフト量に基づいて速度リミット指令を変化させた場合の一例を示す図である。
【図３３】図３３は、第１制御部の速度指令値生成部が第２制御部の制御状態を判定する手法の一例を説明するための図である。
【図３４】図３４は、第１制御部の速度指令値生成部が第２制御部の制御状態を判定する手法の一例を説明するための図である。
【図３５】図３５は、第１制御部の速度指令値生成部が第２制御部の制御状態を判定する手法の一例を説明するための図である。
【図３６】図３６は、第２制御部が第１トルク指令値に従って走行用電動機を制御しているときにおける速度リミット指令の変更例を示す図である。
【図３７】図３７は、バッテリ式フォークリフトが下り坂にいるときにアクセルペダルを開いた状態を示す図である。
【図３８】図３８は、バッテリ式フォークリフトが下り坂にいるときにアクセルペダルを開いた場合のおけるトルク指令値を説明するための図である。
【発明を実施するための形態】
【００１７】
本発明を実施するための形態（実施形態）につき、図面を参照しつつ詳細に説明する。
【００１８】
図１は、本実施形態に係る作業車両を左側から見た状態を示した側面図である。図２は、本実施形態に係る作業車両を左後方斜め上側から見た状態を示した斜視図である。本実施形態においては、電動機によって走行する作業車両として、バッテリ式フォークリフト１を例として説明するが、作業車両はこれに限定されない。例えば、作業車両は、バッテリからの電力又はエンジン等によって駆動される発電機から得られた電力で駆動されるホイールローダ、油圧ショベル等であってもよい。
【００１９】
以下において、バッテリ式フォークリフト１は、フォーク１３が設けられている側が前方Ｆであり、カウンタウエイト２０が設けられている側が後方Ｂである。作業車両がバッテリ式フォークリフトでない場合、運転席３４から操作装置としてのハンドル３６に向かう側が前方Ｆであり、ハンドル３６から運転席３４に向かう側が後方Ｂである。操作装置としては、作業車両の操舵に用いるハンドル３６の他、油圧ショベル又はホイールローダ等においては作業機を操作するための操作レバーも含まれる。
【００２０】
本実施形態においては、左右とは前方Ｆに対する左右をいうものとする。左右方向は、作業車両の本体としての車体１０の幅方向である。上方Ｕは、前輪１１及び後輪１２のうち少なくとも３個と接触する平面（接地平面）に直交し、かつ接地平面から前輪１１及び後輪１２の回転中心軸に向かう側である。下方Ｄは、前輪１１及び後輪１２の回転中心軸から接地平面に向かう側である。車体１０の前後方向に向かい、かつ車体１０の幅方向中心を通る軸を前後軸といい、前後軸に直交し、かつ車体１０の左右方向に向かう軸を左右軸という。車体１０の上下方向に向かう軸を上下軸という。上下軸は、前後軸と左右軸との両方に直交する。以下において、平面視とは、上方Ｕから見た状態をいうものとする。
【００２１】
＜バッテリ式フォークリフト１の全体構成＞
バッテリ式フォークリフト１は、車体１０の前方の隅部にそれぞれ前輪１１を備え、車体１０の後方の隅部にそれぞれ後輪１２を備える。バッテリ式フォークリフト１は、前輪１１の後方に設けられた走行用の電動機（走行用電動機）５０によって前輪１１が駆動されることにより走行する。より具体的には、走行用電動機５０の出力は、減速機能を有する動力伝達装置５１を介して両方の前輪１１、１１に伝達されて、これらを駆動する。
【００２２】
本実施形態において、走行用電動機５０には、例えば、ＰＭ（Permanent  Magnet）型、すなわちローターが永久磁石を有する形式の電動機を用いることができる。ＰＭ型の電動機が走行用電動機５０として用いられる場合、ＳＰＭ（Surface  Permanent  Magnet）型であってもよいし、ＩＰＭ（Interior  Permanent  Magnet）型であってもよい。
【００２３】
車体１０の前方Ｆには、荷物の積み降ろし又は移動を行うためのフォーク１３が設けられている。フォーク１３は、上下方向に沿って設けられたマスト１４に支持されている。フォーク１３は、マスト１４との間に設けたマストシリンダ１５の駆動により、マスト１４に沿って昇降する。図には明示していないが、マスト１４は、その下端部において左右軸回りに回転可能に車体１０に取り付けられている。さらに、マスト１４は、車体１０との間に、図示しないチルトシリンダを備えている。マスト１４は、チルトシリンダの駆動により、車体１０に対して前傾姿勢又は後傾姿勢をとることが可能である。
【００２４】
車体１０の後端部には、カウンタウエイト２０が設けられている。このように、バッテリ式フォークリフト１は、カウンタバランス型のフォークリフトであるが、これに限定されるものではない。カウンタウエイト２０は、フォーク１３が荷物を支持した場合に釣り合いをとるためのウエイトである。カウンタウエイト２０は、例えば、金属が用いられるがこれに限定されるものではない。カウンタウエイト２０は、車体１０において後輪１２の上方となる部位から後端にわたる部位に配設してある。
【００２５】
図２に示すように、カウンタウエイト２０は、上面に前後方向に開放した凹部を有するように形成してある。具体的には、上面が平坦となるウエイト本体２１の両側に上方に向けて一対の柱状部材２２が突設されることにより、上面に凹部を有したカウンタウエイト２０が形成される。柱状部材２２は、ウエイト本体２１の両側において互いに対向する部位から上方Ｕ及び車体１０の前方Ｆに向けて突出し、車体１０の前後方向に沿って相互に平行となるガイド面を有した凸状部分であり、ウエイト本体２１と一体に成形してある。なお、カウンタウエイト２０の後面は、樹脂製のウエイトカバー２３によって覆われている。
【００２６】
図１に示すように、車体１０の中央部には、電源となるバッテリ３０が搭載してある。バッテリ３０は、上面が開口した直方体状を成すバッテリケース３１の内部に複数のバッテリセルを収容し、バッテリセルが開放された開放式のものである。バッテリ３０は、このような開放式のものに限定されない。バッテリケース３１は、車体１０の幅方向に沿った寸法が、一対の柱状部材２２の相互間距離よりもわずかに小さくなっている。このような構造により、バッテリケース３１は、一対の柱状部材２２の相互間を通過することが可能である。バッテリ３０は、図１に示すように、車体１０においてウエイト本体２１の前面２１Ｆよりも前方Ｆ、かつウエイト本体２１の上面２１ａよりも下方Ｄに設定されたバッテリ載置面２４に搭載してある。バッテリ載置面２４は、バッテリ３０が搭載された場合、バッテリ３０の後端上方部が相互の柱状部材２２の間に介在し、カウンタウエイト２０と重なった状態となるようにその位置が設定してある。
【００２７】
バッテリ載置面２４に搭載されたバッテリ３０の上方Ｕには、バッテリフード３３が配設してあり、さらにバッテリフード３３の上面に運転席３４が配設してある。バッテリフード３３は、バッテリケース３１の上面を覆うために十分な大きさを有したもので、その前端縁部が車体１０の左右方向に沿った支持軸３３ａを介して車体１０の支持ブラケット３５に支持させてある。バッテリフード３３を支持する支持ブラケット３５は、バッテリ載置面２４の前端に位置する部位から上方Ｕに立設したものである。バッテリフード３３は、支持軸３３ａの軸心回りに回転させることで、バッテリ３０の上方Ｕを覆う水平位置と、後端縁を上方Ｕに跳ね上げてバッテリ３０の上方Ｕを開放した前傾位置とに移動させることが可能である。
【００２８】
バッテリ３０を交換する場合、バッテリフード３３を移動させ、バッテリ３０の上方Ｕを開放した前傾位置とした状態とする。この状態で、バッテリ３０は車体１０の上方Ｕに吊り上げられ、かつ後方Ｂに引き出されて取り出される。充電されたバッテリ３０は、吊り下げられた状態で車体１０の後方Ｂからバッテリ載置面２４の上方Ｕまで移動されて、バッテリ載置面２４に搭載される。
【００２９】
車体１０の上方Ｕには、図１に示すように、天板４０が設けてある。天板４０は、図２に示すように、運転席３４の上方Ｕを覆う大きさを有した略矩形の枠体４１に複数の桟４２を配置したもので、車体１０の幅方向に沿った寸法が車体１０よりも小さくなっている。この天板４０は、一対のフロントステー４３及び一対のリヤステー４４を介して車体１０に取り付けられる。
【００３０】
フロントステー４３は、図１に示すように、天板４０の前端隅部から下方Ｄに向けて前方Ｆに傾斜するように延在し、個々の下端部が車体１０の前端部に固定してある。フロントステー４３の相互間隔は、全長にわたってほぼ同一である。リヤステー４４は、天板４０の後端隅部から下方Ｄに向けて漸次互いに離れるように側方に向けて直線状に突出した拡開部４４ａと、拡開部４４ａの下端部からほぼ下方に向けて延在し、個々の下端部が車体１０の後端部に固定されたステー本体部４４ｂとを有している。
【００３１】
リヤステー４４において互いに平行に配設されるステー本体部４４ｂの相互間隔は、柱状部材２２の相互間隔とほぼ同一であり、バッテリケース３１及びバッテリフード３３を通過させることが可能である。ステー本体部４４ｂと拡開部４４ａとが交わる位置は、水平位置にあるバッテリフード３３を前傾位置に移動させた場合にもリヤステー４４と干渉せず、かつバッテリ３０をバッテリ移載位置に配置した場合にもバッテリケース３１と干渉しないように、できるだけ高い位置に設定してある。
【００３２】
バッテリ式フォークリフト１は、アクセルペダル３７、ブレーキペダル３８、進行方向切替レバー３９を備えている。アクセルペダル３７は、走行用電動機５０の出力及び回転方向を制御する操作用の部材である。ブレーキペダル３８は、バッテリ式フォークリフト１を停止させるための操作用の部材である。進行方向切替レバー３９は、バッテリ式フォークリフト１の進行方向を前方Ｆ又は後方Ｂのいずれか一方に切り替えるための操作用の部材である。
【００３３】
図２に示すように、バッテリ式フォークリフト１は、ハンドル３６の前方Ｆに、操作パネル５２を備えている。操作パネル５２は、バッテリ式フォークリフト１に対して様々な設定をするための入力部と、バッテリ式フォークリフト１の状態等に関する情報を表示する表示部とを有している。バッテリ式フォークリフト１のオペレータは、操作パネル５２を介して、バッテリ式フォークリフト１に対して様々な設定をする。操作パネル５２の表示部に表示されるバッテリ式フォークリフト１の状態等に関する情報としては、例えば、バッテリ３０の状態又はマストシリンダ１５等に供給される作動油の油圧等であり、作動油は後述する荷役用電動機５５により駆動される油圧ポンプから供給される。
【００３４】
＜走行用電動機の制御システム＞
図３は、本実施形態に係るバッテリ式フォークリフトが備える走行用電動機の制御システムを示す模式図である。走行用電動機５０の制御システム２は、第１制御部１０１と、インバータ５４に備えられた第２制御部１０２とを有している。第１制御部１０１と第２制御部１０２とは、例えば、同一の制御装置に組み込まれていてもよい。インバータ５４と第２制御部１０２とは別体であってもよい。第１制御部１０１、第２制御部１０２及びインバータ５４は、ＤＣ／ＤＣコンバータ５３を介してバッテリ３０から電力が供給される。ＤＣ／ＤＣコンバータ５３は、バッテリ３０の電圧を、第１制御部１０１と、第２制御部１０２と、インバータ５４とがそれぞれ必要とする電圧に変換してこれらに印加する。
【００３５】
第１制御部１０１及び第２制御部１０２は、ＣＰＵ（Central  Processing  Unit）及びメモリを備えるコンピュータである。インバータ５４は、第２制御部１０２からの指令に基づき、走行用電動機５０及び油圧ポンプ５６を駆動する荷役用電動機５５に駆動電流を供給する。第１制御部１０１と第２制御部１０２とは、通信線１１０を介して接続されている。通信線１１０は、車内通信回線であってもよい。
【００３６】
第１制御部１０１と第２制御部１０２とは、通信線１１０を介して互いに信号又は情報を送受信する。第１制御部１０１は、例えば、第２制御部１０２に対して走行用電動機５０に発生させるトルクの指令値としての第１トルク指令値Ｔｃｆ及び速度指令値としての速度リミット指令等Ｖｌｉｍを送信する。第２制御部１０２は、例えば、走行用電動機５０から取得した走行用電動機５０の回転速度（単位時間当たりの回転数、以下、電動機回転数ともいう）Ｎを第１制御部１０１に対して送信する。
【００３７】
第１制御部１０１には、アクセル開度センサ３７Ｃ、進行方向切替レバー３９及び操作パネル５２が接続されている。アクセル開度センサ３７Ｃは、アクセルペダル３７の開度を検出し、検出した開度を電気信号に変換して出力する。進行方向切替レバー３９は、例えば、前進、中立、後進のポジションに応じた指令値を出力する。操作パネル５２は、例えば、バッテリ式フォークリフト１の設定を変更する際に、変更後の新たな設定値を出力する。
【００３８】
＜第１制御部１０１及び第２制御部１０２＞
図４は、第１制御部及び第２制御部を示す模式図である。第１制御部１０１は、第１トルク指令値生成部１０３と、速度指令値生成部１０４とを有している。第２制御部１０２は、第２トルク指令値生成部１０５と、トルク指令値生成部１０６とを有している。第２トルク指令値生成部１０５は、減算部１０７と、乗算部１０８とを有している。
【００３９】
本実施形態において、第１制御部１０１の第１トルク指令値生成部１０３は、アクセル開度ＡＣｏと、進行方向指令値ＤＲと、設定値ＵＳＴと、電動機回転数Ｎとが入力される。これらの入力に基づき、第１トルク指令値生成部１０３は、第１トルク指令値Ｔｃｆを生成する。速度指令値生成部１０４は、アクセル開度ＡＣｏと、設定値ＵＳＴと、電動機回転数Ｎと、第１トルク指令値Ｔｃｆとが入力される。これらの入力に基づき、速度指令値生成部１０４は、速度指令値としての速度リミット指令Ｖｌｉｍを生成する。
【００４０】
アクセル開度ＡＣｏは、図３に示すアクセル開度センサ３７Ｃが出力した信号であり、アクセルペダル３７の開度に対応した値となる。進行方向指令値ＤＲは、進行方向切替レバー３９が出力した信号であり、バッテリ式フォークリフト１の進行方向を規定する信号である。設定値ＵＳＴは、操作パネル５２が出力した信号であり、バッテリ式フォークリフト１の様々な設定値に対応している。電動機回転数Ｎは、走行用電動機５０に取り付けられた回転速度検出用センサ５０Ｒが出力した信号であり、走行用電動機５０の回転速度に対応した値となる。回転速度検出用センサ５０Ｒは、例えば、レゾルバ等が用いられる。電動機回転数Ｎは、バッテリ式フォークリフト１が走行する実際の速度（実走行速度）Ｖｒに変換できる。すなわち、電動機回転数Ｎは、図１に示す動力伝達装置５１の減速比と、前輪１１の半径（より具体的には、前輪１１の回転中心から接地面までの半径）とを用いて、走行速度に変換される。
【００４１】
第２制御部１０２の第２トルク指令値生成部１０５が有する減算部１０７は、速度指令値生成部１０４が生成した速度リミット指令Ｖｌｉｍと、回転速度検出用センサ５０Ｒが検出して出力した電動機回転数Ｎとが入力される。減算部１０７は、速度リミット指令Ｖｌｉｍと電動機回転数Ｎとの差分ΔＶを演算して出力する。このとき、第２制御部１０２は、電動機回転数Ｎを実走行速度Ｖｒに変換して減算部１０７に入力する。乗算部１０８は、差分ΔＶに係数αを乗算し、その結果であるα×ΔＶを第２トルク指令値Ｔｃｓとして、トルク指令値生成部１０６に出力する。
【００４２】
トルク指令値生成部１０６は、第１トルク指令値生成部１０３が生成した第１トルク指令値Ｔｃｆと、第２トルク指令値生成部１０５が生成した第２トルク指令値Ｔｃｓとが入力される。トルク指令値生成部１０６は、入力された第１トルク指令値Ｔｃｆ又は第２トルク指令値Ｔｃｓのいずれか一方を、走行用電動機５０に発生させるトルクの指令値（実トルク指令値）としてインバータ５４に出力する。トルク指令値生成部１０６が出力するトルク指令値を、適宜第３トルク指令値Ｔｃｉという。
【００４３】
第２制御部１０２のトルク指令値生成部１０６が生成した第３トルク指令値Ｔｃｉは、インバータ５４に入力される。インバータ５４は、走行用電動機５０が第３トルク指令値Ｔｃｉに対応したトルクを発生するために必要な電流を、駆動電流Ｉｍとして走行用電動機５０に供給してこれを駆動する。
【００４４】
＜第１制御部１０１及び第２制御部１０２による走行用電動機５０の制御＞
図５は、第１制御部及び第２制御部が走行用電動機の制御に用いる制御マップの一例を示す概念図である。図６は、第１制御部及び第２制御部が走行用電動機を制御する際の手順の一例を示すフローチャートである。本実施形態において、第１制御部１０１は、制御マップＭＰに従って第１トルク指令値Ｔｃｆを生成する（ステップＳ１１）。第２制御部１０２は、速度リミット指令Ｖｌｉｍと実走行速度Ｖｒとに基づき第２トルク指令値Ｔｃｓを生成し（ステップＳ１２）、かつ第１トルク指令値Ｔｃｆ又は第２トルク指令値Ｔｃｓのいずれか一方を第３トルク指令値Ｔｃｉとしてインバータ５４に出力する。制御マップＭＰは、トルク指令値Ｔｃを縦軸、走行速度Ｖを横軸とした直交座標系に記述されている。前述したように、第１トルク指令値Ｔｃｆは第１制御部１０１によって生成され、第２トルク指令値Ｔｃｓは、第２制御部１０２によって生成される。図５に示す制御マップＭＰは、例えば、第１制御部１０１の記憶部に記憶されている。
【００４５】
制御マップＭＰの第１象限Ｓ１には、バッテリ式フォークリフト１が前進かつ力行するときの走行速度Ｖとトルク指令値Ｔｃとの関係が記述されている。第２象限Ｓ２には、バッテリ式フォークリフト１が後進かつ回生するときの走行速度Ｖとトルク指令値Ｔｃとの関係が記述されている。第３象限Ｓ３には、バッテリ式フォークリフト１が後進かつ力行するときの走行速度Ｖとトルク指令値Ｔｃとの関係が記述されている。第４象限Ｓ４には、バッテリ式フォークリフト１が前進かつ回生するときの走行速度Ｖとトルク指令値Ｔｃとの関係が記述されている。
【００４６】
図４に示す第１制御部１０１の第１トルク指令値生成部１０３は、走行用電動機５０に発生させるトルクの指令値であるトルク指令値Ｔｃとバッテリ式フォークリフト１の走行速度Ｖとの関係（以下、適宜トルク指令曲線という）Ｃｔに、バッテリ式フォークリフト１の実際の走行速度（以下、適宜実走行速度という）Ｖｒを与えて第１トルク指令値Ｔｃｆを生成する（ステップＳ１１）。トルク指令曲線Ｃｔは、バッテリ式フォークリフト１の走行速度Ｖとトルク指令値Ｔｃとの関係であり、走行速度Ｖに対してトルク指令値Ｔｃが一義的に決定される。本実施形態において、トルク指令曲線Ｃｔは、例えば、走行用電動機５０の牽引力曲線又は制動力曲線として設定されている。トルク指令曲線Ｃｔは、アクセル開度ＡＣｏの大きさに対応して複数設定されている。例えば、制御マップＭＰの第１象限Ｓ１及び第３象限Ｓ３、すなわち力行時において、複数のトルク指令曲線Ｃｔは、同一の走行速度Ｖに対してトルク指令値Ｔｃの絶対値がより大きくなる方が、アクセル開度ＡＣｏは大きくなるように設定されている。第１象限Ｓ１において、トルク指令曲線Ｃｔ１よりもトルク指令曲線Ｃｔ２の方がアクセル開度ＡＣｏは大きい。第１トルク指令値Ｔｃｆは、第１トルク指令値生成部１０３が、アクセル開度ＡＣｏに応じたトルク指令曲線Ｃｔ（例えば、トルク指令曲線Ｃｔ１）に実走行速度Ｖｒを与えたときにおける、制御マップＭＰの縦軸の値（トルク指令値Ｔｃ）である。このように、トルク指令曲線Ｃｔは、アクセル開度ＡＣｏによって変化する。
【００４７】
図４に示す第１制御部１０１の速度指令値生成部１０４は、速度リミット指令Ｖｌｉｍを生成する。速度リミット指令Ｖｌｉｍは、走行用電動機５０を制御するために用いられる。速度リミット指令Ｖｌｉｍは、バッテリ式フォークリフト１の走行状態によって変化する。速度リミット指令Ｖｌｉｍの詳細は後述する。
【００４８】
本実施形態において、第２制御部１０２の第２トルク指令値生成部１０５は、速度リミット指令Ｖｌｉｍと実走行速度Ｖｒとに基づいて、第２トルク指令値Ｔｃｓを生成する（ステップＳ１２）。具体的には、前述したように、第２トルク指令値生成部１０５は、速度リミット指令Ｖｌｉｍと実走行速度Ｖｒとの差分ΔＶに係数αを乗算して、第２トルク指令値Ｔｃｓであるα×ΔＶを生成する。図５に示すように、係数αは、速度リミット指令Ｖｌｉｍを通る直線（速度リミット線）Ｌｖの傾きである。第２トルク指令値生成部１０５は、係数αを複数有して、バッテリ式フォークリフト１の走行条件又は設定等に応じて係数αを変更してもよい。係数αが一定である場合、第２トルク指令値Ｔｃｓは、実走行速度Ｖｒ及び速度リミット指令Ｖｌｉｍが変化することによって、速度リミット線Ｌｖに沿って変化する。図５の制御マップＭＰには、説明の便宜上、速度リミット指令Ｖｌｉｍ及び速度リミット線Ｌｖも記述したが、これらは第２トルク指令値Ｔｃｓの生成に関するものなので、実際には制御マップＭＰに記述されていない。
【００４９】
図４に示す第２制御部１０２のトルク指令値生成部１０６は、バッテリ式フォークリフト１の走行状態に応じて、第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓとの一方を選択して、第３トルク指令値Ｔｃｉとして出力する。本実施形態において、トルク指令値生成部１０６は、バッテリ式フォークリフト１が前進しているときには（ステップＳ１３、Ｙｅｓ）、第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓとのうち小さい方を第３トルク指令値Ｔｃｉとして用いて走行用電動機５０を制御する（ステップＳ１４）。バッテリ式フォークリフト１が後進しているときには（ステップＳ１３、Ｎｏ）、トルク指令値生成部１０６は、第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓとのうち大きい方を第３トルク指令値Ｔｃｉとして用いて走行用電動機５０を制御する（ステップＳ１５）。
【００５０】
制御マップＭＰのトルク指令値Ｔｃｕ又は−Ｔｃｕを通り、かつ横軸に平行な点線の直線は、バッテリ式フォークリフト１のオペレータによって設定される、スイッチバック回生力（制動力）ＵＳＴｔである。スイッチバック回生力（制動力）ＵＳＴｔが設定されると、第１トルク指令値Ｔｃｆは、スイッチバック回生力（制動力）ＵＳＴｔが上限となる。例えば、第１トルク指令値Ｔｃｆは、トルク指令曲線Ｃｔに関わらず、スイッチバック回生力（制動力）ＵＳＴｔが上限とされる。このため、スイッチバック回生力（制動力）ＵＳＴｔに基づいて第３トルク指令値Ｔｃｉが生成されると、走行用電動機５０は、スイッチバック回生力（制動力）ＵＳＴｔに対応するトルク指令値Ｔｃｕよりも大きなトルクは出力しない。その結果、バッテリ式フォークリフト１の実走行速度Ｖｒは、走行用電動機５０がトルク指令値Ｔｃｕに対応するトルクを出力したときの速度に制限される。
【００５１】
図７は、本実施形態に係る走行用電動機の制御例を示すフローチャートである。本実施形態において、第１制御部１０１は、バッテリ式フォークリフト１の走行状態（停止も含む）に応じて、坂道制御とスイッチバック制御と力行制御とを切り替えて、走行用電動機５０を制御する。例えば、第１制御部１０１は、バッテリ式フォークリフト１の実際の進行方向と、バッテリ式フォークリフト１の進行方向を規定する進行方向指令値ＤＲとに基づいて速度リミット指令Ｖｌｉｍを決定することにより、坂道制御及びスイッチバック制御を実行する。坂道制御は、バッテリ式フォークリフト１の実際の進行方向と進行方向指令値ＤＲとが異なった場合であって、実走行速度Ｖｒが進行方向指令と逆向きに増加した場合に、実走行速度Ｖｒの急激な増加を抑制する制御である。主に、バッテリ式フォークリフト１が坂道で停止したときに実行される。スイッチバック制御は、バッテリ式フォークリフト１がスイッチバック動作をするときの制御である。スイッチバック動作とは、バッテリ式フォークリフト１の実際の進行方向と、進行方向指令値ＤＲが規定する進行方向とが相違する場合におけるバッテリ式フォークリフト１の動作である。例えば、図１、図２に示すアクセルペダル３７を踏み、かつ進行方向切替レバー３９を前進としてバッテリ式フォークリフト１を前進させている状態で、進行方向切替レバー３９を後進に切り替えたとき等の動作がスイッチバック動作である。力行制御は、バッテリ式フォークリフト１が力行しているとき、すなわち、走行用電動機５０に駆動電流Ｉｍが供給されているときに実行される制御である。
【００５２】
第１制御部１０１及び第２制御部１０２が走行用電動機５０の動作を制御するにあたり、ステップＳ１０１において、バッテリ式フォークリフト１の実際の進行方向と進行方向指令値ＤＲ（進行方向切替レバー３９の指示）とが相違する場合（ステップＳ１０１、Ｙｅｓ）、第１制御部１０１及び第２制御部１０２は、ステップＳ１０２で坂道制御又はスイッチバック制御を実行する。ステップＳ１０３において、バッテリ式フォークリフト１の実際の進行方向と進行方向指令値ＤＲとが同一である場合、第１制御部１０１及び第２制御部１０２は、ステップＳ１０３で力行制御を実行する。次に、それぞれの制御の詳細を説明する。
【００５３】
＜坂道制御＞
図８は、坂道制御及びスイッチバック制御における速度リミット指令と実走行速度との関係を示す図である。図９は、バッテリ式フォークリフトが上り坂にいる状態を示す図である。図１０は、坂道制御における第３トルク指令値及びバッテリ式フォークリフトの動作を説明するための図である。
【００５４】
坂道制御においては、図８に示すように、速度リミット指令Ｖｌｉｍは、実走行速度Ｖｒに関わらず一定値β又は−βである（図８の実線Ｌｓｌ）。速度リミット指令Ｖｌｉｍが−βとなる場合は、図９に示すようにバッテリ式フォークリフト１が上り坂ＳＬｕにいるときである。速度リミット指令Ｖｌｉｍがβとなる場合は、図１３に示すようにバッテリ式フォークリフト１が下り坂ＳＬｄにいるときである。βは一定値であれば０であってもよいが、本実施形態においては、例えば、０．５ｋｍ／ｈ程度としている。
【００５５】
図９に示すように、バッテリ式フォークリフト１が上り坂ＳＬｕにいる場合において、バッテリ式フォークリフト１の実際の進行方向と進行方向指令値ＤＲとが相違する場合、図４に示す第１制御部１０１及び第２制御部１０２は坂道制御を実行する。坂道制御は、主として、バッテリ式フォークリフト１の実際の進行方向が切り替わることにより開始される。この場合、第１制御部１０１の第１トルク指令値生成部１０３は、アクセル開度ＡＣｏ＝０であることから、図１０に示すように、第１トルク指令値Ｔｃｆ＝０とする。第１制御部１０１の速度指令値生成部１０４は、速度リミット指令Ｖｌｉｍを０以外の値、具体的には図８に示すように−βとする。実走行速度がＶｒ１である場合、すなわち、上り坂ＳＬｕでバッテリ式フォークリフト１がＶｒ１で後進している場合、第２制御部１０２の第２トルク指令値生成部１０５は、第２トルク指令値Ｔｃｓ１を求める。第２トルク指令値Ｔｃｓ１は、上述した通り、α×ΔＶ＝α×（Ｖｌｉｍ−Ｖｒ１）である。
【００５６】
この例は、バッテリ式フォークリフト１が実走行速度Ｖｒ１で後進しているので、第２制御部１０２のトルク指令値生成部１０６は、第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓ１との大きい方を第３トルク指令値Ｔｃｉとする。具体的には、図１０に示すように、第３トルク指令値Ｔｃｉ＝Ｔｃｆ＝０となる。このため、バッテリ式フォークリフト１は、徐々に増速しながら後進する。
【００５７】
アクセル開度ＡＣｏ＝０の状態で、バッテリ式フォークリフト１が増速しながら上り坂ＳＬｕを後進し、実走行速度Ｖｒが速度リミット指令Ｖｌｉｍを超えてＶｒ２になったとする。第１制御部１０１及び第２制御部１０２は、第１トルク指令値Ｔｃｆ、速度リミット指令Ｖｌｉｍ及び実走行速度Ｖｒ２から、第３トルク指令値Ｔｃｉを生成する。この場合、図１０に示すように、第３トルク指令値Ｔｃｉ＝Ｔｃｓ２＞０となる。走行用電動機５０の回生に対応する第２象限Ｓ２において第３トルク指令値Ｔｃｉ＞０なので、走行用電動機５０は電力を回生している。第３トルク指令値Ｔｃｉに基づき走行用電動機５０は、電力の回生によって上り坂ＳＬｕを上る方向のトルクを発生するので、バッテリ式フォークリフト１が上り坂ＳＬｕを後進する速度は小さくなる。
【００５８】
図１１は、バッテリ式フォークリフトが上り坂にいて、アクセルが踏まれている状態を示す図である。図１２は、図１１に示す状態での第３トルク指令値及びバッテリ式フォークリフトの動作を説明するための図である。図１１に示すように、実走行速度がＶｒ２の状態で、アクセルが踏まれることにより、アクセル開度ＡＣｏ＞０となると、駆動輪としての前輪１１は、第３トルク指令値Ｔｃｉに基づいて駆動される走行用電動機５０によって、トルクＴｗを発生している。このとき、第１制御部１０１は、実走行速度Ｖｒ２及び第２象限Ｓ１のトルク指令曲線Ｃｔ２から第１トルク指令値Ｔｃｆ２を生成する。第２制御部１０２は、速度リミット指令Ｖｌｉｍ及び実走行速度Ｖｒ２から、第２トルク指令値Ｔｃｓ２を生成する。この場合、図１２に示すように、第３トルク指令値Ｔｃｉ＝Ｔｃｓ２＞Ｔｃｆ２＞０となる。
【００５９】
アクセル開度ＡＣｏが大きくなると、第１制御部１０１は、実走行速度Ｖｒ２及び第２象限Ｓ１のトルク指令曲線Ｃｔ３から第１トルク指令値Ｔｃｆ３を生成する。トルク指令曲線Ｃｔ３は、実走行速度Ｖｒが同一である場合、トルク指令値Ｃｔ２よりも大きくなる。したがって、トルク指令曲線Ｃｔ３から生成された第１トルク指令値Ｔｃｆ３は、トルク指令曲線Ｃｔ２から生成された第１トルク指令値Ｔｃｆ２よりも大きくなる。本例では、トルク指令曲線Ｃｔ３から生成された第１トルク指令値Ｔｃｆ３は、速度リミット指令Ｖｌｉｍ及び実走行速度Ｖｒ２から第２制御部１０２によって生成された第２トルク指令値Ｔｃｓ２よりも大きくなっている。この場合、図１２に示すように、第３トルク指令値Ｔｃｉ＝Ｔｃｆ３＞Ｔｃｓ２＞０となる。第３トルク指令値Ｔｃｉが、上り坂ＳＬｕをバッテリ式フォークリフト１が後進するときの走行抵抗に打ち勝った場合、バッテリ式フォークリフト１は減速する。減速後、実走行速度Ｖｒの方向反転により後述する力行制御へと移行し、バッテリ式フォークリフト１は、上り坂ＳＬｕを上る。次に、バッテリ式フォークリフト１が下り坂にいる場合を説明する。
【００６０】
図１３は、バッテリ式フォークリフトが下り坂にいる状態を示す図である。図１４は、坂道制御における第３トルク指令値及びバッテリ式フォークリフトの動作を説明するための図である。図１３に示すように、バッテリ式フォークリフト１が下り坂ＳＬｄを実走行速度Ｖｒ３で前進している場合、第１制御部１０１の第１トルク指令値生成部１０３は、アクセル開度ＡＣｏ＝０であることから、第１トルク指令値Ｔｃｆ＝０とする。第１制御部１０１の速度指令値生成部１０４は、速度リミット指令Ｖｌｉｍを０以外の値、具体的には図８に示すようにβとする。図１４に示すように、実走行速度がＶｒ３である場合、すなわち、下り坂ＳＬｄでバッテリ式フォークリフト１が実走行速度Ｖｒ３で前進している場合、第２制御部１０２の第２トルク指令値生成部１０５は、第２トルク指令値Ｔｃｓ３を求める。第２トルク指令値Ｔｃｓ３は、上述した通り、α×ΔＶ＝α×（Ｖｌｉｍ−Ｖｒ３）である。
【００６１】
この例は、バッテリ式フォークリフト１が実走行速度Ｖｒ３で前進しているので、第２制御部１０２のトルク指令値生成部１０６は、第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓ３との小さい方を第３トルク指令値Ｔｃｉとする。具体的には、図１４に示すように、第３トルク指令値Ｔｃｉ＝Ｔｃｆ＝０となる。このため、バッテリ式フォークリフト１は、徐々に増速しながら前進する。
【００６２】
アクセル開度ＡＣｏ＝０の状態で、バッテリ式フォークリフト１が増速しながら下り坂ＳＬｄを前進し、実走行速度が速度リミット指令Ｖｌｉｍを超えてＶｒ４になったとする。第１制御部１０１及び第２制御部１０２は、第１トルク指令値Ｔｃｆ、速度リミット指令Ｖｌｉｍ及び実走行速度Ｖｒ４から、第３トルク指令値Ｔｃｉを生成する。この場合、図１４に示すように、第３トルク指令値Ｔｃｉ＝Ｔｃｓ４＜０となる。走行用電動機５０の回生に対応する第４象限Ｓ４において第３トルク指令値Ｔｃｉ＜０なので、走行用電動機５０は電力を回生している。第３トルク指令値Ｔｃｉに基づき走行用電動機５０は、回生によって下り坂ＳＬｄを上る方向のトルクを発生するので、バッテリ式フォークリフト１が下り坂ＳＬｄを前進する速度は小さくなる。
【００６３】
本実施形態に係る坂道制御は、第１制御部１０１が、アクセル開度ＡＣｏと、実走行速度Ｖｒとに基づいて速度リミット指令Ｖｌｉｍを決定する。そして、本実施形態に係る坂道制御は、第２制御部１０２が、バッテリ式フォークリフト１の前進時には第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓとのうち小さい方を用いて走行用電動機５０を制御し、後進時には第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓとのうち大きい方を用いて電動機を制御する。第１制御部１０１は、バッテリ式フォークリフト１の実際の進行方向と、バッテリ式フォークリフト１の進行方向を規定する進行方向指令値ＤＲとに基づいて速度リミット指令Ｖｌｉｍを決定することにより、坂道制御を実行する。すなわち、第１制御部１０１は、坂道制御において、バッテリ式フォークリフト１の実際の進行方向と進行方向指令値ＤＲとが相違することを条件として、速度リミット指令Ｖｌｉｍを＋β又は−β（｜β｜）に決定する。このようにすることで、バッテリ式フォークリフト１が坂道を下る方向に進む速度の増加を抑制することができる。
【００６４】
本実施形態に係る坂道制御は、前述のような処理によって、バッテリ式フォークリフト１が坂道を徐々に下るようにすることができる。このため、バッテリ式フォークリフト１のオペレータに、バッテリ式フォークリフト１が坂道にいることを確実に認識させることができる。走行用電動機５０にＰＭ型の電動機を用いる場合、走行用電動機５０が励磁された状態で停止すると、ローターに取り付けられた永久磁石は発熱して保持力の低下を招く可能性がある。本実施形態に係る坂道制御は、坂道においてバッテリ式フォークリフト１を徐々に移動させるので、走行用電動機５０が励磁されているときに回転している状態を継続することができる。その結果、ローターに取り付けられた永久磁石の発熱及び保持力の低下を抑制できる。
【００６５】
速度リミット指令Ｖｌｉｍを０とすると、実走行速度Ｖｒが０近傍である場合には、第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓとの大きさが近接するので、ハンチングを起こしやすくなる可能性がある。このため、本実施形態に係る坂道制御は、実走行速度Ｖｒが０から変化した場合、速度リミット指令Ｖｌｉｍを０以外の値、すなわち絶対値が０よりも大きい値（本実施形態では｜β｜）とすることが好ましい。このようにすることで、坂道制御を実行しているときのハンチングを抑制することができる。なお、本実施形態に係る坂道制御は、進行方向切替レバー３９のポジション、すなわち、進行方向指令値ＤＲと、バッテリ式フォークリフト１の実際の進行方向とが相違する場合には、アクセル開度ＡＣｏに関係なく実行される。次に、スイッチバック制御について説明する。
【００６６】
図１５は、スイッチバック動作の一例を示す図である。例えば、バッテリ式フォークリフト１が荷物ＰＫに向かって前進（進行方向指令値ＤＲ＝Ｆｗ）して接近しているときのあるタイミングで、オペレータが進行方向切替レバー３９を前進から後進（進行方向指令値ＤＲ＝Ｂｋ）に切り替える。すると、フォーク１３が荷物ＰＫの下に差し込まれ、フォーク１３に荷物ＰＫが載置されたタイミングでバッテリ式フォークリフト１は後進を開始する。このような動作がスイッチバック動作の一例である。
【００６７】
図１６は、バッテリ式フォークリフトが力行かつ前進している状態を示す図である。図１７は、バッテリ式フォークリフトが力行かつ前進している状態のトルク指令値を説明するための図である。バッテリ式フォークリフト１は、スイッチバック動作に入る前に、例えば、図１６に示すように、実走行速度Ｖｒで力行し、前進している。このとき、駆動輪としての前輪１１は、第３トルク指令値Ｔｃｉに基づいて駆動される走行用電動機５０によって、トルクＴｗを発生している。アクセル開度ＡＣｏは０より大きく、進行方向指令値ＤＲは前進を示すＦｗである。
【００６８】
バッテリ式フォークリフト１が力行かつ前進しているので、第１トルク指令値Ｔｃｆは、第１象限Ｓ１のトルク指令曲線Ｃｔと実走行速度Ｖｒとから、第１制御部１０１によって生成される。このときの速度リミット指令Ｖｌｉｍは、後述する力行制御によって決定されている。第２トルク指令値Ｔｃｓは、速度リミット指令Ｖｌｉｍと実走行速度Ｖｒとから、第２制御部１０２によって生成される。バッテリ式フォークリフト１が前進しているので、第２制御部１０２は、第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓとの小さい方、この例では、第１トルク指令値Ｔｃｆを第３トルク指令値Ｔｃｉとする。走行用電動機５０は、第１トルク指令値Ｔｃｆを発生するように、図４に示すインバータ５４によって駆動される。次に、スイッチバック制御について説明する。
【００６９】
図１８は、バッテリ式フォークリフトがスイッチバック動作になったことを示す図である。図１９は、バッテリ式フォークリフトがスイッチバック動作になったときのトルク指令値を説明するための図である。スイッチバック制御は、坂道制御と同様に、バッテリ式フォークリフト１の実際の進行方向と進行方向指令値ＤＲとが相違する場合に実行される。スイッチバック制御は、主として、進行方向指令値ＤＲが変化した場合に実行される。進行方向指令値ＤＲは、例えば、バッテリ式フォークリフト１のオペレータが進行方向切替レバー３９を操作することにより変化する。スイッチバック制御は、図４に示す第１制御部１０１及び第２制御部１０２が実行する。
【００７０】
図１８に示すバッテリ式フォークリフト１は、アクセルペダル３７が踏まれた（開かれた）状態（ＡＣｏ＞０）で、進行方向切替レバー３９が前進から後進に切り替えられている。このため、バッテリ式フォークリフト１は、実際の進行方向が前方Ｆであるが、進行方向指令値ＤＲは後進を示すＢｋになっている。すなわち、バッテリ式フォークリフト１は、実際の進行方向と進行方向指令値ＤＲとが異なっている。駆動輪としての前輪１１は、第３トルク指令値Ｔｃｉに基づいて駆動される走行用電動機５０によって、トルクＴｗを発生している。このときのトルクＴｗは、バッテリ式フォークリフト１を制動する方向に発生しており、バッテリ式フォークリフト１を前進させる方向とは反対方向である。
【００７１】
進行方向切替レバー３９が前進から後進に切り替えられた直後は、バッテリ式フォークリフト１は実走行速度Ｖｒで前進している。バッテリ式フォークリフト１の実際の進行方向と進行方向指令値ＤＲとに相違（以下、適宜、進行方向の相違という）が発生しているため、第１制御部１０１及び第２制御部１０２は、スイッチバック制御を実行する。スイッチバック制御において、第１制御部１０１の第１トルク指令値生成部１０３は、力行制御で用いた、牽引力曲線に基づく第１象限Ｓ１のトルク指令曲線Ｃｔに代えて、制動力曲線に基づく第４象限Ｓ４のトルク指令曲線Ｃｔを用いて第１トルク指令値Ｔｃｆを生成する。図１９から明らかなように、第１トルク指令値Ｔｃｆは負の値である。
【００７２】
スイッチバック制御において、速度リミット指令Ｖｌｉｍを、バッテリ式フォークリフト１に進行方向の相違が発生した時点における実走行速度Ｖｒ絶対値よりも大きい値とする。本実施形態において、第１制御部１０１の速度指令値生成部１０４は、図１９、図８に示すように、バッテリ式フォークリフト１に進行方向の相違が発生した時点の実走行速度Ｖｒ（Ｖｓｂ１）に、任意の速度ｖを加算した値を、速度リミット指令Ｖｌｉｍ（Ｖｌｉｍ１）とする。第２制御部１０２は、速度リミット指令Ｖｌｉｍ（Ｖｌｉｍ１）と実走行速度Ｖｒ（Ｖｓｂ１）とから、第２トルク指令値Ｔｃｓを生成する。バッテリ式フォークリフト１が前進しているので、第２制御部１０２は、第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓとの小さい方、この例では、第１トルク指令値Ｔｃｆを第３トルク指令値Ｔｃｉとする。走行用電動機５０は、第１トルク指令値Ｔｃｆを発生するように、図４に示すインバータ５４によって駆動される。
【００７３】
図２０は、スイッチバック動作中のバッテリ式フォークリフトを示す図である。図２１は、スイッチバック動作中のトルク指令値を説明するための図である。図２０に示すバッテリ式フォークリフト１は、前輪１１が発生するトルクＴｗ、すなわち回生制動トルクによって、徐々に減速する。回生制動トルクは、バッテリ式フォークリフト１を、現在の進行方向とは反対方向に進ませようとするトルクである。前進方向の実走行速度Ｖｒが減少している場合、アクセル開度ＡＣｏ＞０、進行方向指令値ＤＲは後進を表すＢｋになっている。
【００７４】
進行方向切替レバー３９が後進、かつアクセル開度ＡＣｏ＞０の状態でバッテリ式フォークリフト１が減速しているときも、第１制御部１０１の第１トルク指令値生成部１０３は、制動力曲線に基づく第４象限Ｓ４のトルク指令曲線Ｃｔを用いて第１トルク指令値Ｔｃｆを生成する。本実施形態において、第１制御部１０１の速度指令値生成部１０４は、図２１、図８に示すように、実走行速度Ｖｒ（Ｖｓｂ２）が、バッテリ式フォークリフト１に進行方向の相違が発生した時点の実走行速度Ｖｒ（Ｖｓｂ１）よりも小さくなった場合、速度リミット指令Ｖｌｉｍを、進行方向の相違が発生した時点の速度リミット指令Ｖｌｉｍ１よりも小さくし、Ｖｌｉｍ２とする。これは、実走行速度Ｖｒが０に近づくにしたがって、速度リミット指令Ｖｌｉｍを小さくすることを意味する。この場合、速度リミット指令Ｖｌｉｍ２と実走行速度Ｖｓｂ２との差は、図２１、図８に示すように速度ｖである。すなわち、本実施形態において、実走行速度Ｖｒが減少する場合、速度リミット指令Ｖｌｉｍは、実走行速度Ｖｒよりも速度ｖだけ大きい値で実走行速度Ｖｒに追従する。速度ｖは０であってもよいが、ｖを絶対値が０よりも大きい値とすることで、スイッチバック制御においてハンチングの発生を抑制できるので好ましい。
【００７５】
このように、本実施形態において、第１制御部１０１は、速度リミット指令Ｖｌｉｍを、バッテリ式フォークリフト１に進行方向の相違が発生したときに生成した値よりも大きくしない。すなわち、速度リミット指令Ｖｌｉｍは、本実施形態においては、図８に示す実線Ｌｌｖ１に沿って減少する方向にのみ変化する。このようにすることで、バッテリ式フォークリフト１が一旦減速した後に再加速することを抑制することができる。
【００７６】
第２制御部１０２は、速度リミット指令Ｖｌｉｍ（Ｖｌｉｍ２）と実走行速度Ｖｒ（Ｖｓｂ２）とから、第２トルク指令値Ｔｃｓを生成する。バッテリ式フォークリフト１が前進しているので、第２制御部１０２は、第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓとの小さい方、この例では、第１トルク指令値Ｔｃｆを第３トルク指令値Ｔｃｉとする。走行用電動機５０は、第１トルク指令値Ｔｃｆを発生するように、図４に示すインバータ５４によって駆動される。
【００７７】
図２２は、減速によって進行方向が反転したバッテリ式フォークリフトを示す図である。図２３は、減速によって進行方向が反転した場合におけるトルク指令値を説明するための図である。図２２に示すバッテリ式フォークリフト１は、前輪１１が発生するトルクＴｗ、すなわち回生制動トルクによって徐々に減速し、進行方向が前進から後進に切り替わっている。このため、バッテリ式フォークリフト１の実際の進行方向と進行方向指令値ＤＲとが同一になっている。アクセル開度ＡＣｏ＞０、進行方向指令値ＤＲは後進を表すＢｋになっている。
【００７８】
進行方向切替レバー３９が後進、かつアクセル開度ＡＣｏ＞０の状態でバッテリ式フォークリフト１が実走行速度Ｖｒで後進しているとき、第１制御部１０１及び第２制御部１０２は、後進の力行制御によって走行用電動機５０を制御する。第１制御部１０１の第１トルク指令値生成部１０３は、スイッチバック制御で用いた、制動力曲線に基づく第４象限Ｓ４のトルク指令曲線Ｃｔに代えて、牽引力曲線に基づく第３象限Ｓ３のトルク指令曲線Ｃｔを用いて第１トルク指令値Ｔｃｆを生成する。図２３から明らかなように、第１トルク指令値Ｔｃｆは負の値である。
【００７９】
第１制御部１０１の速度指令値生成部１０４は、後進の力行制御に基づいて速度リミット指令Ｖｌｉｍを生成する。第２制御部１０２は、速度リミット指令Ｖｌｉｍと実走行速度Ｖｒとから、第２トルク指令値Ｔｃｓを生成する。バッテリ式フォークリフト１が後進しているので、第２制御部１０２は、第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓとの大きい方、この例では、第２トルク指令値Ｔｃｓを第３トルク指令値Ｔｃｉとする。走行用電動機５０は、第２トルク指令値Ｔｃｓを発生するように、図４に示すインバータ５４によって駆動される。前述した説明においては、アクセル開度ＡＣｏ＞０である場合を例としたが、スイッチバック制御は、アクセル開度ＡＣｏに関わらず、坂道制御と同様に、バッテリ式フォークリフト１の実際の進行方向と進行方向指令値ＤＲとが相違する場合に実行される（以下同様）。次に、図２４、図２５に示すスイッチバック制御に入った後、バッテリ式フォークリフト１が下り坂を走行する例を説明する。
【００８０】
図２４は、スイッチバック制御に入った後に下り坂を走行するバッテリ式フォークリフトを示す図である。図２５は、スイッチバック制御に入った後、下り坂を走行する場合におけるトルク指令値を説明するための図である。図２４に示すバッテリ式フォークリフト１は、アクセルペダル３７が踏まれた状態（ＡＣｏ＞０）で、進行方向切替レバー３９が前進から後進に切り替えられている（ＤＲ＝Ｂｋ）。このため、第１制御部１０１及び第２制御部１０２は、スイッチバック制御を実行している。バッテリ式フォークリフト１は、下り坂を走行するため、実走行速度Ｖｒが増加することになる。
【００８１】
実走行速度Ｖｒが増加した場合、図２５及び図８の直線Ｌｌｖ２に示すように、第１制御部１０１の速度指令値生成部１０４は、速度リミット指令Ｖｌｉｍは変更しない。すなわち、本実施形態において、速度指令値生成部１０４は、バッテリ式フォークリフト１に進行方向の相違が発生してスイッチバック制御に移行した時点に生成した速度リミット指令Ｖｌｉｍ１よりも速度リミット指令Ｖｌｉｍを大きくしない。このようにすることで、第３トルク指令値Ｔｃｉが不足することに起因する実走行速度Ｖｒの増加を抑制することができる。第３トルク指令値Ｔｃｉは、例えば、アクセル開度ＡＣｏが不足している、坂が急傾斜である又は図５に示すスイッチバック回生力（制動力）ＵＳＴｔがユーザー毎に異なる等によって不足する可能性がある。
【００８２】
本実施形態に係るスイッチバック制御は、実走行速度Ｖｒが少なくとも速度リミット指令Ｖｌｉｍを超えるまでは、第１トルク指令値Ｔｃｆが第３トルク指令値Ｔｃｉとなるため、走行用電動機５０が発生するトルクの急変は抑制される。さらに、速度リミット指令Ｖｌｉｍを通る傾きがαの直線は、第４象限Ｓ４のトルク指令曲線Ｃｔと交差するので、第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓとの切り替わりも滑らかになる。このため、走行用電動機５０が発生するトルクの急変は抑制される。第１トルク指令値Ｔｃｆ、第２トルク指令値Ｔｃｓ及び第３トルク指令値Ｔｃｉの生成は、上述した通りなので説明を省略する。
【００８３】
図８の点線Ｌｌｖ３に示すように、速度指令値生成部１０４は、速度リミット指令Ｖｌｉｍが少なくなる方向に変更されたら、変更後の速度リミット指令Ｖｌｉｍ（図８に示す例ではＶｌｉｍ２）よりも速度リミット指令Ｖｌｉｍを大きくしないようにしてもよい。このようにすると、バッテリ式フォークリフト１が一旦減速した後に再加速することを抑制することができる。次に、前述した坂道制御中にスイッチバック制御へ移行する例を説明する。
【００８４】
図２６は、バッテリ式フォークリフトが下り坂にいるときにアクセルを開き後進する状態を示す図である。図２７は、バッテリ式フォークリフトが下り坂にいるときにアクセルを開き後進する状態におけるトルク指令値を説明するための図である。前述した図１３に示すように、バッテリ式フォークリフト１が進行方向切替レバー３９を前進として、下り坂ＳＬｄにいるときに図１４に示すような坂道制御が実行されている場合を考える。この状態では、バッテリ式フォークリフト１は、下り坂ＳＬｄを徐々に前進して下っている状態である。このとき、オペレータが、進行方向切替レバー３９を後進、すなわち現在の進行方向とは反対に切り替え、かつアクセルペダル３７を開いたとする。すると、図２６に示すように、バッテリ式フォークリフト１は実走行速度Ｖｒで前進しているが、進行方向指令値ＤＲはＦｗからＢｋに切り替わる。この場合は、進行方向指令値ＤＲが切り替わることにより、バッテリ式フォークリフト１の実際の進行方向と進行方向指令値ＤＲとが相違するので、スイッチバック制御が実行される。
【００８５】
バッテリ式フォークリフト１に進行方向の相違が発生するので、第１制御部１０１及び第２制御部１０２は、スイッチバック制御を実行する。スイッチバック制御を実行するにあたり、第１制御部１０１の第１トルク指令値生成部１０３は、制動力曲線に基づく第４象限Ｓ４のトルク指令曲線Ｃｔを用いて第１トルク指令値Ｔｃｆを生成する。第１制御部１０１の速度指令値生成部１０４は、図２７に示すように、バッテリ式フォークリフト１に進行方向の相違が発生した時点の実走行速度Ｖｒに速度ｖを加算した値を、速度リミット指令Ｖｌｉｍとする。第２制御部１０２は、速度リミット指令Ｖｌｉｍと実走行速度Ｖｒとから、第２トルク指令値Ｔｃｓを生成する。バッテリ式フォークリフト１が前進しているので、第２制御部１０２は、第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓとの小さい方、この例では、第１トルク指令値Ｔｃｆを第３トルク指令値Ｔｃｉとする。図４に示すインバータ５４は、走行用電動機５０が第１トルク指令値Ｔｃｆを発生するように制御する。
【００８６】
本実施形態に係るスイッチバック制御は、バッテリ式フォークリフト１に進行方向の相違が発生した時点の実走行速度Ｖｒに速度ｖを加算した値を、速度リミット指令Ｖｌｉｍとする。このようにすることで、図２７に示すように、制動力曲線等に基づく第１トルク指令値Ｔｃｆが第３トルク指令値Ｔｃｉとなるので、走行用電動機５０は、アクセルペダル３７の操作に応じた加速感をオペレータに与えることができる。
【００８７】
図２８は、バッテリ式フォークリフトが下り坂にいるときにスイッチバック制御が実行されている状態を示す図である。図２９は、バッテリ式フォークリフトが下り坂にいるときのスイッチバック制御におけるトルク指令値を説明するための図である。坂道制御からスイッチバック制御に切り替わると、バッテリ式フォークリフト１が前進する実走行速度Ｖｒは徐々に小さくなる。実走行速度Ｖｒが小さくなった場合、第１制御部１０１の速度指令値生成部１０４は、前述したように、速度リミット指令Ｖｌｉｍを前回値よりも小さくする。実走行速度Ｖｒが正、すなわちバッテリ式フォークリフト１が前進しているので、第２制御部１０２は、第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓとの小さい方、この例では、第１トルク指令値Ｔｃｆを第３トルク指令値Ｔｃｉとする。図４に示すインバータ５４は、走行用電動機５０が第１トルク指令値Ｔｃｆを発生するように制御する。バッテリ式フォークリフト１の実走行速度Ｖｒが０になり、進行方向が反転すると、進行方向指令値ＤＲはＢｋからＦｗに切り替わる。すると、バッテリ式フォークリフト１の実際の進行方向と進行方向指令値ＤＲとは同一になるので、第１制御部１０１及び第２制御部１０２は、力行制御によって走行用電動機５０を制御する。
【００８８】
本実施形態において、第１制御部１０１は、アクセル開度ＡＣｏと、実走行速度Ｖｒと、バッテリ式フォークリフト１の実際の進行方向とに基づいて速度リミット指令Ｖｌｉｍを決定する。例えば、本実施形態に係るスイッチバック制御は、進行方向指令値ＤＲと、バッテリ式フォークリフト１の実際の進行方向（実走行速度Ｖｒの方向）とが異なった瞬間の実走行速度Ｖｒよりも絶対値が大きい速度又はこの実走行速度Ｖｒを速度リミット指令Ｖｌｉｍとすることで、坂道制御から速やかにスイッチバック制御へ移行することができる。また、移行時における加速度の急変も抑制することができる。
【００８９】
本実施形態において、前述した坂道制御とスイッチバック制御とは、バッテリ式フォークリフト１の実際の進行方向と、進行方向指令値ＤＲが規定する進行方向とが相違することを条件としている。そして、バッテリ式フォークリフト１の実際の進行方向が変化することにより前述した相違が発生した場合には坂道制御が実行され、進行方向指令値ＤＲが変化することにより前述した相違が発生した場合にはスイッチバック制御が実行される。本実施形態は、このような制御のロジックとすることで、スイッチバック制御と坂道制御とを明確に切り分けることができるので、両者の両立を図ることができる。また、本実施形態に係るスイッチバック制御の実行中は、速度リミット指令Ｖｌｉｍを実走行速度Ｖｒの絶対値が小さくなる場合に限って追従させることで、スイッチバック制御中に坂道に入った場合であってもバッテリ式フォークリフト１の増速を抑制して、スイッチバック制御と坂道制御との両立を図ることができる。その結果、バッテリ式フォークリフト１が、発泡スチロール等の密度が低いために荷こぼれし易い搬送物を荷役する場合において、荷物を不安定にすることを抑制できる。
【００９０】
＜力行制御＞
力行制御において、図４に示す第１制御部１０１の速度指令値生成部１０４は、時間の経過に応じて速度リミット指令Ｖｌｉｍを変更する。このようにすることで、バッテリ式フォークリフト１が発進する際において、実走行速度Ｖｒの急激な変化を抑制することができる。バッテリ式フォークリフト１が発進した後、ある程度の時間が経過した後は、第１トルク指令値生成部１０３が生成した第１トルク指令値Ｔｃｆ、すなわち、牽引力曲線又は制動力曲線に基づいて決定される第１トルク指令値Ｔｃｆによってバッテリ式フォークリフト１が制御される。
【００９１】
図３０は、第１制御部が備える速度指令値生成部の制御ブロック図である。速度指令値生成部１０４は、走行速度制限部１０４Ａと、加速制限部１０４Ｂと、選択処理部１０４Ｃとを有する。走行速度制限部１０４Ａは、バッテリ式フォークリフト１の実走行速度Ｖｒの上限を制限する機能を有している。走行速度制限部１０４Ａは、例えば、バッテリ式フォークリフト１の実走行速度Ｖを制限するための速度制限設定値ＵＳＴ＿Ｂを有しており、これを第１速度リミット指令Ｖａとして出力する。走行速度制限部１０４Ａには、設定値ＵＳＴが入力される。設定値ＵＳＴの入力により、走行速度制限部１０４Ａの内容、例えば、速度制限設定値ＵＳＴ＿Ｂの値が書き換えられる。その結果、走行速度制限部１０４Ａは、異なる値の第１速度リミット指令Ｖａを出力することができる。
【００９２】
加速制限部１０４Ｂは、シフト量決定部１０４Ｂａと、速度指令値シフト処理部１０４Ｂｂとを有する。シフト量決定部１０４Ｂａは、アクセル開度ＡＣｏが入力される。シフト量決定部１０４Ｂａは、入力されたアクセル開度ＡＣｏに基づいて、速度リミット指令Ｖｌｉｍの時間の経過に応じた変化量、すなわちシフト量ＳＴを決定する。速度指令値生成部１０４が生成して出力する速度リミット指令Ｖｌｉｍは、走行速度制限部１０４Ａによる制限がない場合、加速制限部１０４Ｂの速度指令値シフト処理部１０４Ｂｂが生成して出力する第２速度リミット指令Ｖｂと等しくなる。シフト量決定部１０４Ｂａは、設定値ＵＳＴ＿Ａが入力される。設定値ＵＳＴ＿Ａに応じて、速度リミット指令Ｖｌｉｍの時間の経過に応じた変化の特性が変更される。
【００９３】
速度指令値シフト処理部１０４Ｂｂは、実走行速度Ｖｒと、第１制御部１０１の第１トルク指令値生成部１０３が生成した第１トルク指令値Ｔｃｆと、シフト量決定部１０４Ｂａが決定したシフト量ＳＴとが入力される。実走行速度Ｖｒは、走行用電動機５０の電動機回転数Ｎに相当する。速度指令値シフト処理部１０４Ｂｂは、実走行速度Ｖｒと第１トルク指令値Ｔｃｆとシフト量ＳＴとに基づいて、第２速度リミット指令Ｖｂを生成し、出力する。本実施形態において、第２速度リミット指令Ｖｂの初期値は、図８に示したβ又は−βである。実走行速度Ｖｒが入力されたとき、その方向が正（前進）であれば、第２速度リミット指令Ｖｂの初期値はβとなり、その方向が負（後進）であれば、第２速度リミット指令Ｖｂの初期値は−βとなる。
【００９４】
選択処理部１０４Ｃは、第１速度リミット指令Ｖａと第２速度リミット指令Ｖｂとが入力される。選択処理部１０４Ｃは、実走行速度Ｖｒが正の場合、すなわちバッテリ式フォークリフト１が前進しているときには第１速度リミット指令Ｖａと第２速度リミット指令Ｖｂとの小さい方を選択して速度リミット指令Ｖｌｉｍとして出力する。選択処理部１０４Ｃは、実走行速度Ｖｒが負の場合、すなわちバッテリ式フォークリフト１が後進しているときには第１速度リミット指令Ｖａと第２速度リミット指令Ｖｂとの大きい方を選択して速度リミット指令Ｖｌｉｍとして出力する。選択処理部１０４Ｃは、第１速度リミット指令Ｖａと第２速度リミット指令Ｖｂとのうち、絶対値の小さい方を選択する。
【００９５】
図３１は、シフト量決定部が決定する速度リミット指令のシフト量を説明するための図である。図３２は、シフト量に基づいて速度リミット指令を変化させた場合の一例を示す図である。速度リミット指令Ｖｌｉｍのシフト量ＳＴは、所定時間における速度リミット指令Ｖｌｉｍの変化量であり、単位は、例えば、ｋｍ／ｈ／ｍｓｅｃである。すなわち、１ｍｓｅｃあたりに変化する速度リミット指令Ｖｌｉｍの大きさを表している。
【００９６】
図３１に示すように、本実施形態において、シフト量ＳＴは、速度リミット指令Ｖｌｉｍの大きさによって異なっている。本実施形態では、速度リミット指令Ｖｌｉｍが大きいほど、シフト量ＳＴは小さくなっている。これに限定されず、シフト量ＳＴは、速度リミット指令Ｖｌｉｍが大きいほど大きくなってもよいし、ある速度リミット指令Ｖｌｉｍの値で極大値又は極小値を持つように変化してもよい。速度指令値生成部１０４は、シフト量ＳＴに基づき、制御サイクル毎に速度リミット指令Ｖｌｉｍを変更することにより、速度リミット指令Ｖｌｉｍを時間の経過に従って変化させることができる。その結果、第１制御部１０１及び第２制御部１０２は、バッテリ式フォークリフト１が走行する際の加速度の制限を規定することができる。
【００９７】
また、図３１には、４種類のシフト特性ＳＰ１、ＳＰ２、ＳＰ３、ＳＰ４が記載してある。シフト特性ＳＰ１、ＳＰ２、ＳＰ３、ＳＰ４は、この順に、同じ速度リミット指令Ｖｌｉｍにおけるシフト量ＳＴが小さくなっている。シフト特性ＳＰ１、ＳＰ２、ＳＰ３、ＳＰ４は、アクセル開度ＡＣｏによって選択される。本実施形態では、アクセル開度ＡＣｏが大きくなるにしたがって、シフト特性は、ＳＰ４、ＳＰ３、ＳＰ２、ＳＰ１の順に変化する。シフト量ＳＴを速度リミット指令Ｖｌｉｍに基づいて変化させることにより、外乱の影響等により、実走行速度Ｖｒが速度リミット指令Ｖｌｉｍを超えた場合に、バッテリ式フォークリフト１の実際の加速度が、規定した加速度を超えてしまうことを回避できる。
【００９８】
速度指令値生成部１０４が、シフト特性ＳＰ１、ＳＰ２等に基づいて速度リミット指令Ｖｌｉｍを変化させると、例えば、図３２に示すように、時間ｔに対して速度リミット指令Ｖｌｉｍが変化する。本実施形態では、時間ｔの経過に応じて速度リミット指令Ｖｌｉｍの絶対値が大きくなっている。図３２の実線で示すＳＰ１、ＳＰ２は、それぞれシフト特性ＳＰ１、ＳＰ２に基づいて速度リミット指令Ｖｌｉｍを変化させた結果である。実線で示すＳＰ１、ＳＰ２は、バッテリ式フォークリフト１がある実走行速度Ｖｒ（速度リミット指令Ｖｌｉｍに対応）に到達するまでに要する最短の時間を示している。
【００９９】
本実施形態において、速度指令値生成部１０４は、第２制御部１０２の制御状態に応じて、速度リミット指令Ｖｌｉｍを増速方向に変化させるか、減速方向に変化させるかを決定する。第２制御部１０２の制御状態とは、第３トルク指令値Ｔｃｉを生成するための制御の状態である。具体的には、牽引力曲線等に基づく第１トルク指令値Ｔｃｆ又は速度リミット指令Ｖｌｉｍに基づく第２トルク指令値Ｔｃｓのいずれに従って第３トルク指令値Ｔｃｉを生成するかという第２制御部１０２の処理の状態である。
【０１００】
図３３〜図３５は、第１制御部の速度指令値生成部が第２制御部の制御状態を判定する手法の一例を説明するための図である。図３６は、第２制御部が第１トルク指令値に従って走行用電動機を制御しているときにおける速度リミット指令の変更例を示す図である。第１制御部１０１の速度指令値生成部１０４、より具体的には、速度指令値シフト処理部１０４Ｂｂは、第１トルク指令値Ｔｃｆと実走行速度Ｖｒとに基づいて、判定用の速度（判定速度）Ｖｊを求める。判定速度Ｖｊは、図３３から、係数αと、第１トルク指令値Ｔｃｆと、実走行速度Ｖｒとを用いて式（１）のように表すことができる。係数αは、速度リミット指令Ｖｌｉｍに基づいて第２トルク指令値Ｔｃｓを生成する際に使用したものである。
Ｖｊ＝Ｔｃｆ／α＋Ｖｒ・・・（１）
【０１０１】
速度指令値シフト処理部１０４Ｂｂは、判定速度Ｖｊを求めたら、判定速度Ｖｊと現在の制御サイクルにおける速度リミット指令Ｖｌｉｍとを比較する。図３４に示すように、判定速度Ｖｊ＜速度リミット指令Ｖｌｉｍである場合、第２制御部１０２は、第１制御部１０１が生成した第１トルク指令値Ｔｃｆを第３トルク指令値Ｔｃｉとして、走行用電動機５０を制御していると判定する。図３５に示すように、判定速度Ｖｊ＞速度リミット指令Ｖｌｉｍである場合、第２制御部１０２は、速度リミット指令Ｖｌｉｍに基づいて生成した第２トルク指令値Ｔｃｓを第３トルク指令値Ｔｃｉとして、走行用電動機５０を制御していると判定する。なお、速度指令値シフト処理部１０４Ｂｂは、図３に示す通信線１１０を介して第２制御部１０２の制御状態を直接取得してもよい。
【０１０２】
判定の結果、第２制御部１０２が第２トルク指令値Ｔｃｓに従って走行用電動機５０を制御している場合、速度指令値シフト処理部１０４Ｂｂは、シフト量決定部１０４Ｂａが決定したシフト量ＳＴ分、第２速度リミット指令Ｖｂ（速度リミット指令Ｖｌｉｍ）を、絶対値が増加する方向に変化させる。このようにすることで、第１制御部１０１及び第２制御部１０２は、シフト量ＳＴのシフト特性ＳＰ１、ＳＰ２等によって規定される加速度で、バッテリ式フォークリフト１を加速させることができる。
【０１０３】
判定の結果、第２制御部１０２が第１トルク指令値Ｔｃｆに従って走行用電動機５０を制御している場合、速度リミット指令Ｖｌｉｍと現在の実走行速度Ｖｒとの差（Ｖｌｉｍ−Ｖｒ）が大きくなると、バッテリ式フォークリフト１のオペレータは、期待している加速が得られないと認識して、アクセルペダル３７の踏み込みを増加させることがある。その結果、バッテリ式フォークリフト１の急加速を招く可能性がある。バッテリ式フォークリフト１の走行抵抗が大きい場合、十分な加速度が得られず、（Ｖｌｉｍ−Ｖｒ）が大きくなることがある。
【０１０４】
このような場合、速度指令値シフト処理部１０４Ｂｂは、次のように制御する。図３６に示すように、速度リミット指令Ｖｌｉｍと現在の実走行速度Ｖｒとの差（Ｖｌｉｍ−Ｖｒ）が所定の閾値（例えば、速度ｖｃ）以上になった場合、速度指令値シフト処理部１０４Ｂｂは、速度リミット指令Ｖｌｉｍの絶対値を小さくする。このようにすると、速度リミット指令Ｖｌｉｍと現在の実走行速度Ｖｒとの差が小さくなる。
【０１０５】
バッテリ式フォークリフト１が前進している場合、第１トルク指令値Ｔｃｆと第２トルク指令値Ｔｃｓとのうち小さい方に基づいて走行用電動機５０が制御される。速度リミット指令Ｖｌｉｍと現在の実走行速度Ｖｒとの差が小さくなると、速度リミット指令Ｖｌｉｍと実走行速度Ｖｒとに基づく第２トルク指令値Ｔｃｓも小さくなる。このため、例えば、オペレータがアクセルペダル３７の踏み込みを増加させた場合、牽引力曲線等に基づく第１トルク指令値Ｔｃｆは急激に増加するが、速度リミット指令Ｖｌｉｍに基づく第２トルク指令値Ｔｃｓの増加は抑えられるので、後者が選択される傾向が高くなる。その結果、速度リミット指令Ｖｌｉｍに基づく第２トルク指令値Ｔｃｓによる力行制御が実行され、かつ第２トルク指令値Ｔｃｓも急激には増加しないので、バッテリ式フォークリフト１の急加速が抑制される。
【０１０６】
図３７は、バッテリ式フォークリフトが下り坂にいるときにアクセルペダルを開いた状態を示す図である。図３８は、バッテリ式フォークリフトが下り坂にいるときにアクセルペダルを開いた場合のおけるトルク指令値を説明するための図である。前述した坂道制御の実行中（図１３、図１４参照）、アクセルペダル３７を踏み込んで開くことにより（ＡＣｏ＞０）、力行制御によって走行用電動機５０が制御される。
【０１０７】
第１制御部１０１及び第２制御部１０２は、本実施形態に係る力行制御を実行するにあたり、図３７に示すような、速度リミット指令Ｖｌｉｍよりも実走行速度Ｖｒが大きい場合、速度リミット指令Ｖｌｉｍに基づいて走行用電動機５０を制御し、かつ時間の経過とともに速度リミット指令Ｖｌｉｍの絶対値が大きくなるようにする。このようにすることで、バッテリ式フォークリフト１に下り坂ＳＬｄを前進させるため、坂道制御において負のトルク（下り坂ＳＬｄを後進する方向のトルク）を発生していた走行用電動機５０及び前輪１１に正のトルクＴｗを発生させる。このとき、時間の経過とともに速度リミット指令Ｖｌｉｍの絶対値が大きくなるようにするので、走行用電動機５０及び前輪１１が発生するトルクの急激な反転が抑制される。その結果、本実施形態に係る力行制御は、バッテリ式フォークリフト１が下り坂ＳＬｄを力行して前進する場合の急加速を抑制することができる。
【０１０８】
本実施形態に係る力行制御は、アクセル開度ＡＣｏが０よりも大きいときには、時間の経過に応じて速度リミット指令Ｖｌｉｍを変更、より具体的には、時間の経過とともに絶対値が大きくなるようにする。このようにすることで、バッテリ式フォークリフト１の発進直後は、速度リミット指令Ｖｌｉｍに基づく第２トルク指令値Ｔｃｓによって走行用電動機５０のトルクが制御されるので、急なトルクの上昇が抑制される。その結果、バッテリ式フォークリフト１が、発泡スチロール等の密度が低いために荷こぼれし易い搬送物を荷役する場合において、荷物を不安定にすることを抑制できる。また、時間の経過に応じて速度リミット指令Ｖｌｉｍが大きくなるので、バッテリ式フォークリフト１の発進後、ある程度時間が経過すれば、牽引力曲線等に基づく第１トルク指令値Ｔｃｆにより走行用電動機５０のトルクが制御される。その結果、アクセルペダル３７の操作に対する反応が向上するので、ドライバビリティが向上する。
【０１０９】
第２制御部１０２が速度リミット指令Ｖｌｉｍに基づいて第２トルク指令値Ｔｃｓを生成する場合、係数αを大きくすると、実走行速度Ｖｒの変化が小さくても第２トルク指令値Ｔｃｓが急激に立ち上がるので、応答性が向上し、かつ設定された走行速度を実現しやすくなる。また、本実施形態は、通信線１１０で第１制御部１０１と第２制御部１０２とを接続し、第２制御部１０２内で第２トルク指令値Ｔｃｓを生成している。第１制御部１０１が速度リミット指令Ｖｌｉｍに基づいて第１トルク指令Ｔｃｆを生成する場合、第１制御部１０１からの指令に基づき走行用電動機５０が出力されるまでには通信遅れが発生する。この場合、係数αを大きくすると、実走行速度Ｖｒの変化が大きい場合には、第１制御部１０１の指令に基づき走行用電動機５０から発生するトルク出力と、実際に出力したいトルクとの乖離が発生し、ハンチングを発生する可能性がある。このため、第１制御部１０１からの第１トルク指令Ｔｃｆは、通信の遅れによるハンチングを抑制するため、係数αを小さくする必要がある。これに対し、本実施形態は、第２制御部１０２内で第２トルク指令値Ｔｃｓを生成しているため、前述した通信の遅れを考慮する必要がない。その結果、係数αを大きくすることができる。
【０１１０】
以上、本実施形態を説明したが、上述した内容により本実施形態が限定されるものではない。また、上述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、上述した構成要素は適宜組み合わせることが可能である。さらに、本実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【符号の説明】
【０１１１】
１  バッテリ式フォークリフト
２  制御システム
１０  車体
１１  前輪
１２  後輪
１３  フォーク
３０  バッテリ
５０  走行用電動機
５０Ｒ  回転速度検出用センサ
５１  動力伝達装置
５２  操作パネル
５３  ＤＣ／ＤＣコンバータ
５４  インバータ
１０１  第１制御部
１０２  第２制御部
１０３  第１トルク指令値生成部
１０４  速度指令値生成部
１０４Ａ  走行速度制限部
１０４Ｂ  加速制限部
１０４Ｂａ  シフト量決定部
１０４Ｂｂ  速度指令値シフト処理部
１０４Ｃ  選択処理部
１０５  第２トルク指令値生成部
１０６  トルク指令値生成部
１０７  減算部
１０８  乗算部
１１０  通信線
ＡＣｏ  アクセル開度
Ｃｔ、Ｃｔ１、Ｃｔ２  トルク指令曲線
ＤＲ  進行方向指令値
Ｉｍ  駆動電流
Ｎ  電動機回転数
ＳＴ  シフト量
Ｔｃ  トルク指令値
Ｖｌｉｍ  速度リミット指令
Ｖａ  第１速度リミット指令
Ｖｂ  第２速度リミット指令
Ｖｒ、Ｖｒ１、Ｖｒ２、Ｖｒ３、Ｖｒ４  実走行速度
α  係数
【要約】
作業車両は、少なくとも走行用の電動機を備え、前記電動機を制御するための速度指令値を生成し、かつ前記電動機に発生させるトルクの指令値であるトルク指令値と前記作業車両の走行速度との関係に前記作業車両の実走行速度を与えて第１トルク指令値を生成する第１制御部（１０１）と、第１制御部（１０１）が生成した前記速度指令値と前記実走行速度とに基づいて第２トルク指令値を生成し、前記作業車両が前進しているときには前記第１トルク指令値と前記第２トルク指令値とのうち小さい方を用いて前記電動機を制御し、前記作業車両が後進しているときには前記第１トルク指令値と前記第２トルク指令値とのうち大きい方を用いて前記電動機を制御する第２制御部（１０２）と、を含み、第１制御部（１０１）は、前記走行速度を調整するアクセルの開度と、前記実走行速度と、前記作業車両の実際の進行方向とに基づいて前記速度指令値を決定する。【図１】
0005592026.tif 000002
【図２】
0005592026.tif 000003
【図３】
0005592026.tif 000004
【図４】
0005592026.tif 000005
【図５】
0005592026.tif 000006
【図６】
0005592026.tif 000007
【図７】
0005592026.tif 000008
【図８】
0005592026.tif 000009
【図９】
0005592026.tif 000010
【図１０】
0005592026.tif 000011
【図１１】
0005592026.tif 000012
【図１２】
0005592026.tif 000013
【図１３】
0005592026.tif 000014
【図１４】
0005592026.tif 000015
【図１５】
0005592026.tif 000016
【図１６】
0005592026.tif 000017
【図１７】
0005592026.tif 000018
【図１８】
0005592026.tif 000019
【図１９】
0005592026.tif 000020
【図２０】
0005592026.tif 000021
【図２１】
0005592026.tif 000022
【図２２】
0005592026.tif 000023
【図２３】
0005592026.tif 000024
【図２４】
0005592026.tif 000025
【図２５】
0005592026.tif 000026
【図２６】
0005592026.tif 000027
【図２７】
0005592026.tif 000028
【図２８】
0005592026.tif 000029
【図２９】
0005592026.tif 000030
【図３０】
0005592026.tif 000031
【図３１】
0005592026.tif 000032
【図３２】
0005592026.tif 000033
【図３３】
0005592026.tif 000034
【図３４】
0005592026.tif 000035
【図３５】
0005592026.tif 000036
【図３６】
0005592026.tif 000037
【図３７】
0005592026.tif 000038
【図３８】
0005592026.tif 000039