(57)【要約】【課題】ブームの先端を滑らかに動かす。【解決手段】本発明によれば、入力受付部１１と、入力受付部１１が受付けた入力内容に基づき、伸縮、起伏及び旋回可能なブームの先端を移動させる方向及び速度を３次元座標系で示す速度ベクトルを生成する速度ベクトル生成部１２と、速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、ヤコビ行列の逆行列を用いて得られた算出式を用いて、速度ベクトルを、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する変換部１３と、ブームを伸縮させるアクチュエータ、ブームを起伏させるアクチュエータ及びブームを旋回させるアクチュエータを、動作ベクトルで示される動作方向及び速度で動作させるアクチュエータ制御部１４と、を有する制御装置１０が提供される。【選択図】図１
2019094176.tif 000002
【特許請求の範囲】
【請求項１】
入力受付部と、
前記入力受付部が受付けた入力内容に基づき、伸縮、起伏及び旋回可能なブームの先端を移動させる方向及び速度を３次元座標系で示す速度ベクトルを生成する速度ベクトル生成部と、
前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを、前記ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する変換部と、
前記ブームを伸縮させるアクチュエータ、前記ブームを起伏させるアクチュエータ及び前記ブームを旋回させるアクチュエータを、前記動作ベクトルで示される動作方向及び速度で動作させるアクチュエータ制御部と、
を有する制御装置。
【請求項２】
請求項１に記載の制御装置において、
前記ヤコビ行列の逆行列は、
【数１】
2019094176.tif 000019
であり、
Ｃ１＝ｃｏｓ（ｑ１）、Ｃ２＝ｃｏｓ（ｑ２）、Ｓ１＝ｓｉｎ（ｑ１）、Ｓ２＝ｓｉｎ（ｑ２）、ｑ１は前記ブームの旋回角、ｑ２は前記ブームの起伏角、ｑ３は前記ブームの長さ、Ｄｂｏｏｍは前記ブームの軸とトップシーブのオフセット距離、Ｄｃｏｌｕｍｎはコラム回転軸と接続ピンの水平オフセット距離である制御装置。
【請求項３】
請求項１又は２に記載の制御装置において、
前記入力受付部は、制御周期毎に、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成部は、前記制御周期毎に、前記入力受付部が受付けた入力内容に基づき前記速度ベクトルを生成する制御装置。
【請求項４】
請求項１又は２に記載の制御装置において、
前記入力受付部は、前記ブームの先端の最終目標位置を指定する入力を受付け、
前記速度ベクトル生成部は、制御周期毎に、前記ブームの先端の現在位置から前記最終目標位置に向かう前記速度ベクトルを生成する制御装置。
【請求項５】
請求項１又は２に記載の制御装置において、
前記入力受付部は、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成部は、
移動開始位置と前記入力受付部が受付けた入力内容とに基づき、制御周期毎の前記ブームの先端の目標位置を算出し、
第ｎ（ｎは２以上の整数）の制御周期に対応して前記入力受付部が受付けた入力内容に基づき決定される第１の速度ベクトルと、第ｎ−１の制御周期後の前記ブームの先端の位置から第ｎ−1の制御周期の前記ブームの先端の目標位置に向かう第２の速度ベクトルとを足し合わせた合成ベクトルを、第ｎの制御周期における前記速度ベクトルとして生成する制御装置。
【請求項６】
請求項５に記載の制御装置において、
前記アクチュエータ制御部は、
前記動作ベクトルで示される前記ブームの伸縮、起伏及び旋回の内、前記第１の速度ベクトルを変換した第１の動作ベクトルで示される前記ブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、前記動作方向が異なる動作は実行させない制御装置。
【請求項７】
請求項１から６のいずれか１項に記載の制御装置において、
複数の前記アクチュエータは油圧制御される制御装置。
【請求項８】
コンピュータが、
入力受付工程と、
前記入力受付工程で受付けた入力内容に基づき、伸縮、起伏及び旋回可能なブームの先端を移動させる方向及び速度を３次元座標系で示す速度ベクトルを生成する速度ベクトル生成工程と、
前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを、前記ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する変換工程と、
前記ブームを伸縮させるアクチュエータ、前記ブームを起伏させるアクチュエータ及び前記ブームを旋回させるアクチュエータを、前記動作ベクトルで示される動作方向及び速度で動作させるアクチュエータ制御工程と、
を実行する制御方法。
【請求項９】
コンピュータを、
入力受付手段、
前記入力受付手段が受付けた入力内容に基づき、伸縮、起伏及び旋回可能なブームの先端を移動させる方向及び速度を３次元座標系で示す速度ベクトルを生成する速度ベクトル生成手段、
前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを、前記ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する変換手段、
前記ブームを伸縮させるアクチュエータ、前記ブームを起伏させるアクチュエータ及び前記ブームを旋回させるアクチュエータを、前記動作ベクトルで示される動作方向及び速度で動作させるアクチュエータ制御手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１及び２には、油圧制御装置で油圧アクチュエータの駆動方向及び駆動速度を制御することで、ブームの先端に取り付けられた作業部の位置を制御する技術が開示されている。特許文献１には、操作レバーの傾動操作に基づき、作業部の移動方向並びに速度に関連する信号を発生し、発生させた作業部の移動方向及び速度を、三角関数を用いて起伏及び伸縮の移動方向及び速度に変換することが開示されている。
【０００３】
特許文献３には、ブームの先端位置を、超音波を発信する位置指令発信機の存する位置に追従移動させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特公平７−２９７６０
【特許文献２】特許第４０２１５３０
【特許文献３】特開２０１４−９７８７５
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、ブームの先端をなめらかに動かす技術を提供することを課題とする。
【課題を解決するための手段】
【０００６】
本発明によれば、
入力受付部と、
前記入力受付部が受付けた入力内容に基づき、伸縮、起伏及び旋回可能なブームの先端を移動させる方向及び速度を３次元座標系で示す速度ベクトルを生成する速度ベクトル生成部と、
前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを、前記ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する変換部と、
前記ブームを伸縮させるアクチュエータ、前記ブームを起伏させるアクチュエータ及び前記ブームを旋回させるアクチュエータを、前記動作ベクトルで示される動作方向及び速度で動作させるアクチュエータ制御部と、
を有する制御装置が提供される。
【０００７】
また、本発明によれば、
コンピュータが、
入力受付工程と、
前記入力受付工程で受付けた入力内容に基づき、伸縮、起伏及び旋回可能なブームの先端を移動させる方向及び速度を３次元座標系で示す速度ベクトルを生成する速度ベクトル生成工程と、
前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを、前記ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する変換工程と、
前記ブームを伸縮させるアクチュエータ、前記ブームを起伏させるアクチュエータ及び前記ブームを旋回させるアクチュエータを、前記動作ベクトルで示される動作方向及び速度で動作させるアクチュエータ制御工程と、
を実行する制御方法が提供される。
【０００８】
また、本発明によれば、
コンピュータを、
入力受付手段、
前記入力受付手段が受付けた入力内容に基づき、伸縮、起伏及び旋回可能なブームの先端を移動させる方向及び速度を３次元座標系で示す速度ベクトルを生成する速度ベクトル生成手段、
前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを、前記ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する変換手段、
前記ブームを伸縮させるアクチュエータ、前記ブームを起伏させるアクチュエータ及び前記ブームを旋回させるアクチュエータを、前記動作ベクトルで示される動作方向及び速度で動作させるアクチュエータ制御手段、
として機能させるプログラムが提供される。
【発明の効果】
【０００９】
本発明によれば、ブームの先端をなめらかに動かすことができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の制御装置の機能ブロック図の一例である。
【図２】本実施形態の制御装置のハードウエア構成の一例を示す図である。
【図３】スプール変位、シリンダ速度特性を示す図である。
【図４】目標速度の時間変化に対するスプール変位の時間変化を示す図である。
【図５】各種変数及び定数の定義を示す図である。
【図６】作業機の構成の一例を示す図である。
【図７】本実施形態の制御装置が制御した場合のブームの先端の移動の一例を示す図である。
【図８】比較例のブームの先端の移動の一例を示す図である。
【図９】本実施形態の作用効果を説明するための図である。
【図１０】本実施形態の作用効果を説明するための図である。
【図１１】本実施形態の作用効果を説明するための図である。
【図１２】本実施形態の制御装置が制御した場合のブームの先端の移動の一例を示す図である。
【図１３】本実施形態の制御装置が制御した場合のブームの先端の移動の一例を示す図である。
【発明を実施するための形態】
【００１１】
＜第１の実施形態＞
図１に、本実施形態の制御装置１０の機能ブロック図の一例を示す。図示するように、制御装置１０は、入力受付部１１と、速度ベクトル生成部１２と、変換部１３と、アクチュエータ制御部１４とを有する。
【００１２】
入力受付部１１は、各種入力を受付ける。速度ベクトル生成部１２は、入力受付部１１が受付けた入力内容に基づき、伸縮、起伏及び旋回可能なブームの先端を移動させる方向及び速度を３次元座標系で示す速度ベクトルを生成する。変換部１３は、生成された速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、ヤコビ行列の逆行列を用いて得られた算出式を用いて、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを算出する。アクチュエータ制御部１４は、ブームを伸縮させるアクチュエータ、ブームを起伏させるアクチュエータ及びブームを旋回させるアクチュエータを、動作ベクトルで示される動作方向及び速度で動作させる。
【００１３】
このような制御装置１０により、ブームの先端をなめらかに動かす動作を実現する。以下、制御装置１０の詳細を説明する。
【００１４】
まず、制御装置１０のハードウエア構成の一例について説明する。本実施形態の制御装置１０が備える各機能部は、任意のコンピュータのＣＰＵ（Central Processing Unit）、メモリ、メモリにロードされるプログラム、そのプログラムを格納するハードディスク等の記憶ユニット（あらかじめ装置を出荷する段階から格納されているプログラムのほか、ＣＤ（Compact Disc）等の記憶媒体やインターネット上のサーバ等からダウンロードされたプログラムをも格納できる）、ネットワーク接続用インターフェイスを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
【００１５】
図２は、本実施形態の制御装置１０のハードウエア構成を例示するブロック図である。図２に示すように、制御装置１０は、プロセッサ１Ａ、メモリ２Ａ、入出力インターフェイス３Ａ、周辺回路４Ａ、バス５Ａを有する。周辺回路４Ａには、様々なモジュールが含まれる。なお、制御装置１０は物理的及び／又は論理的に分かれた複数の装置で構成されてもよい。この場合、複数の装置各々が、プロセッサ１Ａ、メモリ２Ａ、入出力インターフェイス３Ａ、周辺回路４Ａ、バス５Ａを有してもよい。
【００１６】
バス５Ａは、プロセッサ１Ａ、メモリ２Ａ、周辺回路４Ａ及び入出力インターフェイス３Ａが相互にデータを送受信するためのデータ伝送路である。プロセッサ１Ａは、例えばＣＰＵやＧＰＵ（Graphics Processing Unit）などの演算処理装置である。メモリ２Ａは、例えばＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）などのメモリである。入出力インターフェイス３Ａは、入力装置（例：キーボード、マウス、マイク、物理キー、タッチパネルディスプレイ、コードリーダ等）、外部装置、外部サーバ、外部センサ等から情報を取得するためのインターフェイスや、出力装置（例：ディスプレイ、スピーカ、プリンター、メーラ等）、外部装置、外部サーバ等に情報を出力するためのインターフェイスなどを含む。プロセッサ１Ａは、各モジュールに指令を出し、それらの演算結果をもとに演算を行うことができる。
【００１７】
次に、本実施形態の制御装置１０に制御されるブームを備える作業機について説明する。なお、作業機と制御装置１０とは物理的及び／又は論理的に一体となって構成されてもよいし、物理的及び／又は論理的に分かれて構成されてもよい。
【００１８】
作業機は、ブームを伸縮させるアクチュエータ（例：ブーム伸縮シリンダ）、ブームを起伏させるアクチュエータ（例：ブーム起伏シリンダ）、及び、ブームを旋回させるアクチュエータ（例：ブーム旋回モータ）を有する。複数のアクチュエータの少なくとも１つ（例：複数のアクチュエータの全て）は油圧制御される。
【００１９】
ブームの動作は、制御弁及びスプールで制御される。すなわち、制御弁からの圧油の吐出量をスプールで変位させて調節することで、各アクチュエータへの圧油の供給量を調節する。各アクチュエータへの圧油の供給量を調節することで、各アクチュエータの動作方向及び速度を調節する。そして、各アクチュエータの動作を調節することで、ブームの先端の移動方向及び速度を調節する。
【００２０】
ここで、図３を用いて本実施形態の作業機が備えるスプールの特性を説明する。図３は、スプール変位とシリンダ速度の関係の一例を示す。この特性カーブに基づき、アクチュエータを所望の速度で動かすためのスプール変位を求めることができる。例えば、アクチュエータを定格の２０％の速度で動かしたい場合はスプールの変位を最大変位の５１％に設定する。また、アクチュエータを定格の８０％の速度で動かしたい場合はスプールの変位を最大変位の９４％に設定する。
【００２１】
ブームを伸縮させるアクチュエータ、ブームを起伏させるアクチュエータ、及び、ブームを旋回させるアクチュエータ各々の動作により、ブームの長さ（ブーム長）、起伏角度及び旋回角度が決定される。各アクチュエータの速度は、ブームの伸縮速度（単位時間当たりのブーム長の変化量）、起伏角速度（単位時間当たりのブームの起伏角の変化量）、及び、旋回角速度（単位時間当たりのブームの旋回角の変化量）に相当する。
【００２２】
なお、図３に示すように、制御弁のスプールはその中立付近の一定のストローク範囲内で「一定の不感帯域」を持つ。すなわち、スプール変位が不感帯に収まっている間、アクチュエータに圧油が供給されず、アクチュエータは動かない。アクチュエータに圧油を供給し、動かすためには、スプール変位が不感帯域の外に出なければならない。
【００２３】
図４に、線形で表したシリンダの目標速度の時間変化と、その目標速度を実現するためのスプール変位の時間変化との関係を示す。シリンダの目標速度は、所望の速度でブームの先端を移動させるためのシリンダの速度であり、一定速に安定後の終端速度と定義する。
【００２４】
また、作業機は、スプールの変位及び速度を検出する手段（差動トランス）を有する。さらに、作業機は、ブームの長さを検出するブーム長検出器、ブームの起伏角度を検出するブーム角度検出器、及び、ブームの旋回角度を検出する旋回角度検出器を有する。
【００２５】
次に、制御装置１０について説明する。制御装置１０は、アクチュエータの動作を制御する。図１の機能ブロック図に示すように、制御装置１０は、入力受付部１１と、速度ベクトル生成部１２と、変換部１３と、アクチュエータ制御部１４とを有する。
【００２６】
入力受付部１１は、操作レバー（入力装置）を介して、ブームの先端を移動させる方向及び速度を指定する入力を受付ける。なお、入力受付部１１は、タッチパネルディスプレイ、物理ボタン、マイク、キーボード、マウス等の他の入力装置を介して、ブームの先端を移動させる方向及び速度を指定する入力を受付けてもよい。
【００２７】
入力受付部１１は、制御周期毎に、操作レバーの操作内容を検出し、検出した操作レバーの操作内容をブームの先端を移動させる方向及び速度を示す速度ベクトルに変換し、出力する。速度ベクトルは、作業機の所定位置を原点とし、作業機の所定方向をｘ軸（水平方向の軸）、ｙ軸（水平方向の軸）及びｚ軸（垂直方向の軸）とした３次元座標系（以下、「作業機座標系」という場合がある）で示される。制御周期は、例えば１ミリ秒から１００ミリ秒である。
【００２８】
入力受付部１１は、操作レバーを傾ける方向に基づきブームの先端を移動させる方向を決定し、操作レバーを傾ける角度に基づきブームの先端を移動させる速度を決定する。例えば、予め、操作レバーを傾ける方向と、作業機座標系の所定の方向とが対応づけられていてもよい。また、予め、操作レバーを傾ける角度と、ブームの先端を移動させる速度とが対応付けられていてもよい。そして、入力受付部１１は、当該対応関係に基づき、検出した操作レバーの操作内容を、ブームの先端を移動させる方向及び速度を示す速度ベクトルに変換してもよい。例えば、２つの操作レバーを用意し、第１の操作レバーで水平方向の移動方向及び速度を指定し、第２の操作レバーで垂直方向の移動方向及び速度を指定できてもよい。
【００２９】
速度ベクトル生成部１２は、制御周期毎に、入力受付部１１が受付けた入力内容に基づき、伸縮、起伏及び旋回可能なブームの先端を移動させる方向及び速度を３次元座標系（作業機座標系）で示す速度ベクトルを生成し、出力する。以下、速度ベクトル生成部１２により生成された速度ベクトルを、指示速度ベクトルという。
【００３０】
ここで、指示速度ベクトルの生成例を説明する。
【００３１】
「指示速度ベクトル生成例１」
速度ベクトル生成部１２は、入力受付部１１により出力された速度ベクトルを、そのまま指示速度ベクトルとすることができる。
【００３２】
「指示速度ベクトル生成例２」
速度ベクトル生成部１２は、指示速度ベクトルの移動方向として、入力受付部１１により出力された速度ベクトルで示される移動方向をそのまま採用することができる。そして、指示速度ベクトルの速度を、以下のようにして決定してもよい。
【００３３】
「（ブームの先端の現在の速度）＜（入力受付部１１により出力された速度ベクトルで示される速度）」を満たす場合、速度ベクトル生成部１２は、「（指示速度ベクトルの速度）＝（ブームの先端の現在の速度）＋（加速度）×（制御周期分の時間）」で算出してもよい。加速度は、予め与えられる固定値であってもよい。
【００３４】
ブームの動作を開始した直後等はブームの先端の速度が小さいため、当該条件を満たしやすくなる。この場合、上述のように指示速度ベクトルの速度を決定することで、急激な速度上昇を抑制し、滑らかな動作が実現される。
【００３５】
一方、「（ブームの先端の現在の速度）≧（入力受付部１１により出力された速度ベクトルで示される速度）」を満たす場合、速度ベクトル生成部１２は、入力受付部１１により出力された速度ベクトルで示される速度を指示速度ベクトルの速度として採用してもよい。ブームの動作を開始してからある程度の時間が経過し、ブームの先端の移動速度が安定している頃には当該条件を満たしやすくなる。
【００３６】
変換部１３は、速度ベクトル生成部１２により出力された指示速度ベクトルに左からヤコビ行列の逆行列を掛けることで、指示速度ベクトルを、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する（以下の式（２）、（１４）参照）。なお、変換部１３は、ヤコビ行列の逆行列を用いて得られた算出式を用いて、指示速度ベクトルを動作ベクトルに変換してもよい（以下の式（１５）参照）。
【００３７】
ここで、ヤコビ行列の逆行列について説明する。
【００３８】
ブームに伸縮、起伏、旋回を実行させると、ブームの先端が所定の方向に所定の速度で移動する。すなわち、ブームの先端に速度ベクトルが生じる。伸縮、起伏、旋回の中の複数を同時に行った場合は、各動作によってブームの先端に生じる速度ベクトルを足し合わせることによって、ブームの先端の速度ベクトルを求めることができる。
【００３９】
ブームの動作ベクトルと、ブームの先端の速度ベクトルとは、ヤコビ行列Ｊを用いて式（１）のように示される。
【００４０】
【数１】
2019094176.tif 000003
【００４１】
ｘの上に黒点を付した文字は、作業機座標系におけるブームの先端のｘ軸方向の移動の速度成分を示す。明細書中では、当該速度成分を「ｘ´」と表す。ｙの上に黒点を付した文字は、作業機座標系におけるブームの先端のｙ軸方向の移動の速度成分を示す。明細書中では、当該速度成分を「ｙ´」と表す。ｚの上に黒点を付した文字は、作業機座標系におけるブームの先端のｚ軸方向の移動の速度成分を示す。明細書中では、当該速度成分を「ｚ´」と表す。
【００４２】
ｑ１の上に黒点を付した文字は、ブームの旋回の角速度（旋回角の単位時間当たりの変化量）を示す。明細書中では、当該速度成分を「ｑ１´」と表す。ｑ２の上に黒点を付した文字は、ブームの起伏の角速度（起伏角の単位時間当たりの変化量）を示す。明細書中では、当該速度成分を「ｑ２´」と表す。ｑ３の上に黒点を付した文字は、ブームの伸縮速度（ブーム長の単位時間当たりの変化量）を示す。明細書中では、当該速度成分を「ｑ３´」と表す。
【００４３】
ブームの伸縮、起伏、旋回の速度とブームの先端の速度の自由度が同じ（Ｊが正方行列）であり、かつ、ブームが特異姿勢でないとき、逆行列Ｊ−１を用いることで、式（２）に示すようにブームの先端の速度ベクトルから動作ベクトルを求めることができる。なお、ブームの特異姿勢とは、例えばブームが真上や真下を向いた状態をいう。
【００４４】
【数２】
2019094176.tif 000004
【００４５】
行列計算を展開すると、式（３）のようになる。
【００４６】
【数３】
2019094176.tif 000005
【００４７】
ここで、逆行列Ｊ−１を求めると以下のようになる。
【００４８】
「同次変換行列を使った順運動学計算（ｑ１、ｑ２、ｑ３→ｘ、ｙ、ｚ）」
まず、図５及び式（４）に示すように変数及び定数を定義する。Ｈｏｕｔｒｉｇｇｅｒ、Ｈｃｏｌｕｍｎ、Ｄｃｏｌｕｍｎ、及び、Ｄｂｏｏｍは、作業機の構成に基づき定まる固定値である。
【００４９】
【数４】
2019094176.tif 000006
【００５０】
基準座標系→ターンテーブル座標系の同次変換行列は、式（５）のようになる。基準座標系は、図５に示すΣ０座標系である。コラム回転中心直下の地面を原点とし、車両左側方をＸ０軸方向、車両後方をＹ０軸方向、鉛直上方をＺ０軸方向としている。ターンテーブル座標系は、図５に示すΣ１座標系であり、ターンテーブル中央を原点とし、ブームの方位角がＹ１軸と一致するよう基準座標系を並進移動およびＺ１軸周りに回転したものである。式（５）は、Ｚ０軸方向にＨｏｕｔｒｉｇｇｅｒ並進移動し、Ｚ１軸回りにｑ１回転することを意味する。
【００５１】
【数５】
2019094176.tif 000007
【００５２】
ターンテーブル座標系→コラム座標系の同次変換行列は、式（６）のようになる。コラム座標系は、図５に示すΣ２座標系であり、ブームフートピン中央を原点とし、ブーム長手方向がＹ２軸方向と一致するようターンテーブル座標系を並進移動およびＸ２軸周りに回転したものである。式（６）は、Ｚ１軸方向にＨｏｕｔｒｉｇｇｅｒ、Ｙ１軸方向に−Ｄｃｏｌｕｍｎ並進移動し、Ｘ２軸回りにｑ２回転することを意味する。
【００５３】
【数６】
2019094176.tif 000008
【００５４】
コラム座標系→トップシーブ座標系の同次変換行列は、式（７）のようになる。トップシーブ座標系は、図５に示すΣ３座標系であり、トップシーブ中央が原点となるようコラム座標系を並進移動したものである。式（７）は、Ｚ２軸方向に−Ｄｂｏｏｍ、Ｙ２軸方向にｑ３並進移動することを意味する。
【００５５】
【数７】
2019094176.tif 000009
【００５６】
基準座標系→トップシーブ座標系の同次変換行列は、式（８）のようになる。
【００５７】
【数８】
2019094176.tif 000010
【００５８】
式（８）を使ってトップシーブ座標系の原点（０、０、０）を基準座標系で表すと、式（９）のようになる。
【００５９】
【数９】
2019094176.tif 000011
【００６０】
式（９）の各係数を計算し展開すると、式（１０）のようになる。
【００６１】
【数１０】
2019094176.tif 000012
【００６２】
「ヤコビ行列の逆行列を使った逆運動学計算（ｘ´、ｙ´、ｚ´→ｑ１´、ｑ２´、ｑ３´）」
ｘ、ｙ、ｚをそれぞれ時間微分してｑ１´、ｑ２´、ｑ３´についてまとめると、式（１１）のようになる。
【００６３】
【数１１】
2019094176.tif 000013
【００６４】
これを行列表記にすると、式（１２）のようになる。
【００６５】
【数１２】
2019094176.tif 000014
【００６６】
両辺に左からＪ−１を掛けて、左辺及び右辺を入れ替えると式（１３）のようになる。
【００６７】
【数１３】
2019094176.tif 000015
【００６８】
Ｊ−１を計算すると、式（１４）のようになる。
【００６９】
【数１４】
2019094176.tif 000016
【００７０】
式（１３）のＪ−１に式（１４）を代入して展開すると、式（１５）のようになる。式（１５）を利用することで、ブームの先端を所定の方向に所定の速度で移動させるための複数のアクチュエータ各々の動作方向及び速度（動作ベクトル）が求まる。
【００７１】
【数１５】
2019094176.tif 000017
【００７２】
図１に戻り、アクチュエータ制御部１４は、ブームを伸縮させるアクチュエータ、ブームを起伏させるアクチュエータ及びブームを旋回させるアクチュエータを、動作ベクトルで示される方向及び速度で動作させる。
【００７３】
すなわち、アクチュエータ制御部１４は、変換部１３で算出された「動作ベクトル」と、予め保持している「スプール変位とアクチュエータの速度との関係を示す情報（例：関数、テーブル等）」とに基づき、動作ベクトルで示される方向に動作ベクトルで示される速度で動かすためのスプール変位を求める。そして、求めた通りにスプールの変位を設定する。
【００７４】
ここで、参考までに、図６に、本実施形態の制御装置１０の構成の一例を示す。なお、あくまで一例であり、これに限定されない。
【００７５】
次に、図７を用いて、本実施形態の制御装置１０による処理の流れの一例及びそれに応じたブームの先端の移動を説明する。図７は、ブームを上方から観察した模式図である。ブームの先端は（１）→（２）→（３）→（４）の順に移動するものとする。１回の制御周期で（１）→（２）の変化がおき、次の制御周期で（２）→（３）の変化がおき、次の制御周期で（３）→（４）の変化がおきるものとする。なお、これらの前提は、以下で説明する図８、図１２及び図１３も同様である。
【００７６】
図７において、ブームの先端の位置が（１）で停止しているとき、入力受付部１１は、最初の制御周期（第１の制御周期）の指示入力待ち状態となっている。そして、オペレータにより操作レバーを所定の方向に所定角度傾ける操作がなされると、入力受付部１１は操作レバーの操作内容を検出する。そして、入力受付部１１は、検出した操作レバーの操作内容を、ブームの先端を移動させる方向及び速度を示す速度ベクトルに変換し、第１の制御周期の速度ベクトルとして出力する。ここでは、（１）のブームの先端から延びる矢印で示される方向の速度ベクトルが出力されたものとする。
【００７７】
その後、速度ベクトル生成部１２は、上述した指示速度ベクトル生成例１乃至３の何れかに基づき、第１の制御周期の指示速度ベクトルを生成し、出力する。
【００７８】
その後、変換部１３は、指示速度ベクトルに左からヤコビ行列の逆行列を掛けることで、第１の制御周期の指示速度ベクトルを、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する（式（２）、（１４）参照）。なお、変換部１３は、ヤコビ行列の逆行列を用いて得られた算出式を用いて、第１の制御周期の指示速度ベクトルを動作ベクトル（第１の制御周期の動作ベクトル）に変換してもよい（式（１５）参照）。
【００７９】
その後、アクチュエータ制御部１４は、「第１の制御周期の動作ベクトル」と、予め保持している「スプール変位とアクチュエータの速度との関係を示す情報（例：関数、テーブル等）」とに基づき、第１の制御周期の動作ベクトルで示される方向に当該動作ベクトルで示される速度で動かすためのスプール変位を求める。そして、求めた通りにスプールの変位を設定する。
【００８０】
結果、第１の制御周期の間ブームの先端は移動し、第１の制御周期後のブームの先端の位置は図示する（２）になる。なお、図示するように、ブームの動作の誤差等により、指示速度ベクトルで示される方向からズレが発生する場合がある。図の場合、図中の上下方向のズレが発生している。
【００８１】
入力受付部１１は、第１の制御周期に対応する操作レバーの操作を検出した後の任意のタイミング以降に、次の制御周期（第２の制御周期）の指示入力待ち状態となる。そして、オペレータにより操作レバーを所定の方向に所定角度傾ける操作がなされると、入力受付部１１は操作レバーの操作内容を検出する。そして、入力受付部１１は、検出した操作レバーの操作内容を、ブームの先端を移動させる方向及び速度を示す速度ベクトルに変換し、第２の制御周期の速度ベクトルとして出力する。なお、オペレータは、操作レバーを継続的に所定の方向に所定の角度で傾け続けておいてもよい。
【００８２】
その後、速度ベクトル生成部１２は、上述した指示速度ベクトル生成例１乃至３の何れかに基づき、第１の制御周期の指示速度ベクトルを生成し、出力する。
【００８３】
その後、変換部１３は、指示速度ベクトルに左からヤコビ行列の逆行列を掛けることで、第２の制御周期の指示速度ベクトルを、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する（式（２）、（１４）参照）。なお、変換部１３は、ヤコビ行列の逆行列を用いて得られた算出式を用いて、第２の制御周期の指示速度ベクトルを動作ベクトル（第２の制御周期の動作ベクトル）に変換してもよい（式（１５）参照）。
【００８４】
その後、アクチュエータ制御部１４は、「第２の制御周期の動作ベクトル」と、予め保持している「スプール変位とアクチュエータの速度との関係を示す情報（例：関数、テーブル等）」とに基づき、第２の制御周期の動作ベクトルで示される方向に当該動作ベクトルで示される速度で動かすためのスプール変位を求める。そして、第１の制御周期終了後（第１の制御周期の動作ベクトルで制御し始めてから所定時間が経過後）に、第２の制御周期の動作ベクトルに基づき求めた通りにスプールの変位を設定する。
【００８５】
結果、第２の制御周期の間ブームの先端は移動し、第２の制御周期後のブームの先端の位置は図示する（３）になる。なお、図示するように、ブームの動作の誤差等により、指示速度ベクトルで示される方向からズレが発生する場合がある。図の場合、図中の上下方向のズレが発生している。
【００８６】
以降、同様の処理を繰り返す。なお、制御周期は例えば１ミリ秒から１００ミリ秒である。
【００８７】
次に、本実施形態の制御装置１０の作用効果を説明する。
【００８８】
「第１の作用効果」
まず、ブームの先端を目的地まで直線的に動かす制御方法として、ブームの先端の位置を繰り返し制御する手段（位置フィードバック）が考えられる。これは、本実施形態の制御手法と異なる手段である。
【００８９】
位置フィードバックによる制御を行う場合、例えば、ブームの先端の現在位置と目標位置を比較し、現在位置が目標位置に到達していない場合は正の出力を出し、現在位置が目標位置を超えた場合は負の出力を出すことで、目標位置と現在位置を一致させる。目標位置は、例えば、操作レバーの操作内容（傾ける方向、傾ける角度）に基づき、スプール変位から演算される。
【００９０】
ここで、位置フィードバックで、図８のように旋回と伸縮でブームの先端を図の右方向に移動し続ける場合を考える。なお、この条件における基本動作方向は旋回が「右」、伸縮は「伸」である。「基本動作方向」は、操作レバーの操作内容で指定されたブームの先端の移動（図８の場合、右方向）を実現するためのブームの動作方向である。
【００９１】
位置フィードバックの場合、図示するように制御周期毎に目標位置を定め、制御周期毎にブームの先端の位置を目標位置と一致させる。現在位置が目標位置に到達していない場合は正の出力を出し、現在位置が目標位置を超えた場合は負の出力を出すことで、目標位置と現在位置を一致させる。
【００９２】
（２）乃至（４）各々の現在位置→目標位置の補正は次の通りである。（２）では、旋回補正は「左」、伸縮補正は「縮」となる。（３）では、旋回補正は「左」、伸縮補正は「伸」となる。（４）では、旋回補正は「右」、伸縮補正は「縮」となる。
【００９３】
位置フィードバックの場合、このように、タイミング毎に各動作の補正の方向が反転する場合がある。また、上述の通り基本動作方向は「旋回：右、伸縮：伸」に対して、補正の方向が基本動作方向から反転している場合がある。
【００９４】
位置制御の性能を向上させるために制御周期を短くした場合や、補正ゲインを大きくした場合、また、基本動作による移動速度が遅い場合は、基本動作方向に対する補正方向が反転する可能性が高くなり、また、制御周期毎に補正方向が反転する可能性も高まる。また、補正のために目標速度は微小なものとなる。ここで、図９に、微小な目標速度が発生した場合にこの目標速度を満足するためのスプール変位を示す。
【００９５】
図９に示すように目標速度が０近傍で細かく変化した場合、目標速度の符号に併せて正側の閾値と負側の閾値を超えるように目標スプール位置が激しく変化する。なお、正側の閾値及び負側の閾値は、各々、図３に示す不感帯の上限及び下限である。産業用マニピューレタのように交流電流を使用しての電気制御の場合は印加電圧やインバータの周波数などを激しく変化させることが可能だが、スプールを介して油圧を制御する場合はスプールの応答速度を超えるためスプール変位に応答遅れやオーバーシュートが発生する（図１０参照）。応答遅れとオーバーシュートが生じたスプールに対して図３の特性が現れるため、実際のアクチュエータの速度は図１１のように振動的になる。
【００９６】
図１１のように動作方向が激しく入れ替わるような内容でアクチュエータを動作させた場合、例えばブームがしなるなどさらに大きなオーバーランが発生し、制御系が発振する原因となる。
【００９７】
これに対し、本実施形態では、図７を用いて説明したように、ブームの先端の速度をベースとした制御を行う。ブームの先端を右に動かし続けるために、単位時間（１回の制御周期）当たりにおいてブームの先端で右方向に速度が発生するような旋回及び伸縮の速度を求め、これを満たすように制御する。ブームの先端の速度を満たす旋回及び伸縮の速度はブームの現姿勢によるため、制御周期毎に更新することができる。
【００９８】
ブームの姿勢が大きく変わらない限り、ブームの先端の目標速度に対する旋回及び伸縮の目標速度は大きく変化せず、基本動作方向も変わらない。したがって、例えば旋回及び伸縮の速度が目標速度を超えた場合は自動車のアクセル制御のように減速することで補正され、旋回及び伸縮の動作方向の符号を変える必要はない。スプール位置についても、速度０〜最大速度の範囲で制御し、反転を考慮する必要がないため、不感帯から最大速度の範囲で制御するだけでよい。目標速度が急激に変化しない限り、スプール変位量のフィードバック値もずれが発生せず、安定した制御をすることができる。
【００９９】
「第２の作用効果」
速度ベースで制御するための速度の算出手段として、制御周期毎の目標位置を定め、現在位置と目標位置との差分により速度を求める手段（比較例の算出手段）が考えられる。これは、本実施形態の手段と異なる手段である。
【０１００】
しかし、比較例の算出手段の場合、浮動小数点型の演算における微小な計算誤差による影響が問題となる。例えば、ブームの先端を垂直に上昇させたい場合、旋回を行う必要がない。しかし、比較例の算出手段の場合、浮動小数点型の演算における丸め込み等の誤差により、動作不要な旋回に対して符号が頻繁に変化する形で微小な目標速度が発生する。計算誤差の他に、ブームのガタ等により旋回位置に微小量分の狂いが生じた場合にも微小な目標速度が発生する可能性がある。符号の変化を伴う微小な目標速度は制御弁の制御に悪影響を与える。なお、他の動作に対しても浮動小数点型の演算における誤差は発生するが、基本動作速度に対して微小であるため大きな影響はない。
【０１０１】
また、比較例の算出手段で旋回や起伏の角速度を求める場合、平方根を用いて演算する必要がある。このため、計算コストが大きくなる。
【０１０２】
これに対し、本実施形態の制御装置１０は、式（１４）に示すヤコビ行列の逆行列に基づいて、ブームの先端を移動させる方向及び速度を示す速度ベクトルを、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する。
【０１０３】
式（１４）に示すヤコビ行列の逆行列の各要素は三角関数の四則演算で構成され、平方根が含まれていない。このため、各要素を求めるための計算コストは大きくならない。また、式（１５）に示すように、ヤコビ行列の逆行列を用いて得られた算出式も平方根を含まない。このため、式（１５）に基づく計算コストも大きくならない。
【０１０４】
また、式（１５）より、ｘ´及びｙ´を０とすると、旋回の速度ベクトルを示すｑ１´は０となる。すなわち、クレーンの先端を垂直方向に移動させる場合には、旋回の速度ベクトルを０にできる。このため、比較例の算出手段のように演算誤差による微小な目標速度が発生する不都合を回避できる。
【０１０５】
また、式（１５）より、積と和によって動作ベクトルが求まるため、計算コストが小さい。また、動作ベクトルの解が一意に求まる。
【０１０６】
このような本実施形態の制御装置１０によれば、ブームの先端を目的地まで直線的にかつなめらかに動かすことができる。
【０１０７】
＜第２の実施形態＞
本実施形態の制御装置１０は、速度ベクトル生成部１２の構成が第１の実施形態と異なる。その他の構成は、第１の実施形態と同様である。また、作業機の構成も第１の実施形態と同様である。
【０１０８】
第１の実施形態の場合、図７を用いて説明したように、ブームの先端の移動方向が目標とする方向からずれる可能性があった。本実施形態の速度ベクトル生成部１２は、当該ずれを補正するように、指示速度ベクトルを生成する。
【０１０９】
まず、速度ベクトル生成部１２は、入力受付部１１により出力された速度ベクトルに基づき、制御周期毎に、ブームの先端の目標位置を決定する。目標位置は、作業機座標系で示される。
【０１１０】
例えば、速度ベクトル生成部１２は、移動開始時点のブームの先端の位置情報（作業機座標系で示すもの）を保持しておき、当該位置を起点として入力受付部１１により出力された速度ベクトルで示される方向に当該速度ベクトルで示される速度で制御周期の間移動した後の位置を、最初の制御周期の目標位置として決定する。
【０１１１】
その後は、速度ベクトル生成部１２は、第ｎ−１の制御周期の目標位置から第ｎの制御周期に対応して入力受付部１１により出力された速度ベクトルで示される方向に当該速度ベクトルで示される速度で制御周期の間移動した後の位置を、第ｎの制御周期の目標位置として決定する（ｎは２以上の整数）。
【０１１２】
そして、速度ベクトル生成部１２は、第ｎの制御周期に対応して入力受付部１１が受付けた入力内容に基づき決定される第１の速度ベクトルと、第ｎ−１の制御周期後のブームの先端の位置から第ｎ−１の制御周期のブームの先端の目標位置に向かう第２の速度ベクトルとを足し合わせた合成ベクトルを、第ｎの制御周期における指示速度ベクトルとして生成する。第１の速度ベクトルは、第ｎの制御周期に対応して入力受付部１１が受付けた入力内容に基づき、上述した指示速度ベクトル生成例１乃至３の何れかに基づき生成された指示速度ベクトルである。
【０１１３】
図１２を用いて具体例を説明する。移動開始時点のブームの先端の位置を（１）とし、第１の制御周期後の状態を（２）、第２の制御周期後の状態を（３）、第３の制御周期後の状態を（４）とする。
【０１１４】
（２）より、第１の制御周期の目標位置に対して、第１の制御周期後の現在位置が異なっていることが分かる。速度ベクトル生成部１２は、第２の制御周期の指示速度ベクトルとして、第２の制御周期に対応して決定した第１の速度ベクトルと、第１の制御周期後のブームの先端の位置から第１の制御周期のブームの先端の目標位置に向かう第２の速度ベクトルとを足し合わせた合成ベクトルを決定する。
【０１１５】
同様に、（３）より、第２の制御周期の目標位置に対して、第２の制御周期後の現在位置が異なっていることが分かる。速度ベクトル生成部１２は、第３の制御周期の指示速度ベクトルとして、第３の制御周期に対応して決定した第１の速度ベクトルと、第２の制御周期後のブームの先端の位置から第２の制御周期のブームの先端の目標位置に向かう第２の速度ベクトルとを足し合わせた合成ベクトルを決定する。
【０１１６】
図より、合成ベクトルは、ブームの先端位置を目標軌道上に戻す方向のベクトルとなる。なお、速度ベクトル生成部１２は所定の係数を掛けた第２の速度ベクトルと第１の速度ベクトルとを足し合わせた合成ベクトルを、指示速度ベクトルとしてもよい。係数を調整することで、目標軌道上に戻す補正の大きさを調整できる。係数は、予め与えられていてもよい。
【０１１７】
次に、本実施形態の変形例を説明する。アクチュエータ制御部１４は、上記合成ベクトルを変換した動作ベクトルで示されるブームの伸縮、起伏及び旋回の内、上記第１の速度ベクトルを変換した第１の動作ベクトルで示されるブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、動作方向が異なる動作は実行させないように制御してもよい。
【０１１８】
第１の動作ベクトルは、第１の速度ベクトルに左からヤコビ行列の逆行列を掛けることで（式（２）、（１４）参照）、又は、ヤコビ行列の逆行列を用いて得られた算出式を用いて（式（１５）参照）、第１の速度ベクトルを変換した動作ベクトルである。
【０１１９】
次に、本実施形態の作用効果を説明する。本実施形態の制御装置１０は、第１の実施形態と同様の作用効果を実現できる。
【０１２０】
また、図７に示す第１の実施形態の制御の場合、位置誤差が蓄積する可能性がある。上述した合成ベクトルを指示速度ベクトルとする本実施形態の制御装置１０によれば、位置誤差を軽減することができる。
【０１２１】
なお、目標軌道上を厳密に動かしたい場合は、現時点で生じている位置誤差を直ちに（例：次制御周期で）解消する必要がある。しかし、当該制御を行った場合、ブームの各動作の動作方向や速度が大きく変化する可能性がある。結果、ブームのなめらかな動きが実現されなくなる。
【０１２２】
本実施形態の場合、位置誤差を直ちに（例：次制御周期で）解消するのでなく、複数回の制御周期で位置誤差を少しずつ解消するように制御する。このため、位置誤差を解消しつつ、ブームのなめらかな動きを実現できる。
【０１２３】
また、第２の速度ベクトルで位置補正を行う本実施形態の場合、オペレータの入力内容に基づき決定される各アクチュエータの動作方向と、動作ベクトルで示される各アクチュエータの動作方向とが反転する可能性がある。しかし、上記変形例を採用することで、オペレータの入力内容に基づき決定される各アクチュエータの動作方向と異なる方向に動作させる不都合を回避できる。結果、ブームのなめらかの動きが実現される。
【０１２４】
＜第３の実施形態＞
本実施形態の制御装置１０は、入力受付部１１及び速度ベクトル生成部１２の構成が第１及び第２の実施形態と異なる。その他の構成は、第１及び第２の実施形態と同様である。また、作業機の構成も第１及び第２の実施形態と同様である。
【０１２５】
入力受付部１１は、ブームの先端の最終目標位置を指定する入力を受付ける。最終目標位置は、作業機座標系で示される。例えば、特許文献３に記載の技術を利用してもよい。すなわち、作業機に複数の超音波受信ユニットを設置し、最終目標位置に超音波発信機を設置する。入力受付部１１は、超音波発信時刻と超音波受信時刻の時間差の入力を受付ける。そして、入力受付部１１は、入力された情報に基づき、ブームの先端の最終目標位置を算出し、出力する。
【０１２６】
速度ベクトル生成部１２は、制御周期毎に、ブームの先端の現在位置から最終目標位置に向かう指示速度ベクトルを生成する。
【０１２７】
すなわち、速度ベクトル生成部１２は、各制御周期後のブームの先端の現在位置を取得する。当該現在位置は、作業機座標系で示される。そして、速度ベクトル生成部１２は、第ｎの制御周期の指示速度ベクトルとして、第ｎ−１の制御周期後のブームの現在位置から最終目標位置に向かう速度ベクトルを決定する。図１３に本実施形態の制御の概念図を示す。ブームの先端の現在位置から最終目標位置に向かう指示速度ベクトルが生成されている。
【０１２８】
ここで、指示速度ベクトルの速度の決定例を説明する。
【０１２９】
「指示速度ベクトルの速度決定例１」
予め、固定値が与えられていてもよい。そして、速度ベクトル生成部１２は当該固定値を、指示速度ベクトルの速度としてもよい。
【０１３０】
「指示速度ベクトルの速度決定例２」
入力受付部１１が速度を指定する入力を、任意の手段でオペレータから受付けてもよい。そして、速度ベクトル生成部１２は、当該入力の内容に基づき、指示速度ベクトルの速度を決定してもよい。
【０１３１】
「指示速度ベクトルの速度決定例３」
「（最終目標位置とブームの現在位置との間の距離）≦（閾値）」を満たす場合、速度ベクトル生成部１２は、「（指示速度ベクトルの速度）＝（ブームの先端の現在の速度）−（加速度）×（制御周期分の時間）」で算出してもよい。加速度は、予め与えられる固定値であってもよい。
【０１３２】
ブームの先端が最終目標位置に近づいている場合、当該条件を満たすこととなる。この場合、上述のように指示速度ベクトルの速度を決定することで、最終目標位置に到達するタイミングが近付くと、徐々に速度を減少させることができる。結果、滑らかな動作が実現される。
【０１３３】
一方、「（最終目標位置とブームの現在位置との間の距離）＞（閾値）」を満たす場合、速度ベクトル生成部１２は、速度ベクトル生成部１２は、指示速度ベクトルの速度決定例１又は２で、指示速度ベクトルの速度を決定してもよい。最終目標位置までの距離がある程度大きい場合、当該条件を満たすこととなる。
【０１３４】
閾値は、例えば、「現在速度から一定の減速度で減速し、停止するまでに要する距離」であってもよい。一例として、「（閾値）＝（現在速度）×（現在速度から一定の減速度で減速した場合に停止するまでに要する時間）／２」で算出してもよい。または、「（閾値）＝（現在速度）×（現在速度）／（２×減速度）」で算出してもよい。なお、「現在速度から一定の減速度で減速した場合に停止するまでに要する時間」は、「（現在速度から一定の減速度で減速した場合に停止するまでに要する時間）＝（現在速度）／（減速度）」で算出してもよい。
【０１３５】
「指示速度ベクトルの速度決定例４」
「（ブームの先端の現在の速度）＜（指示速度ベクトルの速度決定例１又は２で決定された速度）」を満たす場合、速度ベクトル生成部１２は、「（指示速度ベクトルの速度）＝（ブームの先端の現在の速度）＋（加速度）×（制御周期分の時間）」で算出してもよい。加速度は、予め与えられる固定値であってもよい。
【０１３６】
ブームの動作を開始した直後等はブームの先端の速度が小さいため、当該条件を満たしやすくなる。この場合、上述のように指示速度ベクトルの速度を決定することで、急激な速度上昇を抑制し、滑らかな動作が実現される。
【０１３７】
一方、「（ブームの先端の現在の速度）≧（指示速度ベクトルの速度決定例１又は２で決定された速度）」を満たす場合、速度ベクトル生成部１２は、指示速度ベクトルの速度として、指示速度ベクトルの速度決定例１又は２で決定された速度を決定してもよい。ブームの動作を開始してからある程度の時間が経過し、ブームの先端の移動速度が安定している頃には当該条件を満たしやすくなる。
【０１３８】
本実施形態によれば、第１及び第２の実施形態と同様の作用効果を実現できる。また、本実施形態によれば、制御周期毎にブームの先端の現在位置を取得し、そこから最終目標位置に向かう指示速度ベクトルを生成することができる。このため、移動方向が最終目標位置に向かう方向から大きく外れることなく、ブームの先端をなめらかに移動させることができる。
【０１３９】
以下、参考形態の例を付記する。
１．  入力受付部と、
前記入力受付部が受付けた入力内容に基づき、伸縮、起伏及び旋回可能なブームの先端を移動させる方向及び速度を３次元座標系で示す速度ベクトルを生成する速度ベクトル生成部と、
前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを、前記ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する変換部と、
前記ブームを伸縮させるアクチュエータ、前記ブームを起伏させるアクチュエータ及び前記ブームを旋回させるアクチュエータを、前記動作ベクトルで示される動作方向及び速度で動作させるアクチュエータ制御部と、
を有する制御装置。
２．  １に記載の制御装置において、
前記ヤコビ行列の逆行列は、
【数１６】
2019094176.tif 000018
であり、
Ｃ１＝ｃｏｓ（ｑ１）、Ｃ２＝ｃｏｓ（ｑ２）、Ｓ１＝ｓｉｎ（ｑ１）、Ｓ２＝ｓｉｎ（ｑ２）、ｑ１は前記ブームの旋回角、ｑ２は前記ブームの起伏角、ｑ３は前記ブームの長さ、Ｄｂｏｏｍは前記ブームの軸とトップシーブのオフセット距離、Ｄｃｏｌｕｍｎはコラム回転軸と接続ピンの水平オフセット距離である制御装置。
３．  １又は２に記載の制御装置において、
前記入力受付部は、制御周期毎に、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成部は、前記制御周期毎に、前記入力受付部が受付けた入力内容に基づき前記速度ベクトルを生成する制御装置。
４．  １又は２に記載の制御装置において、
前記入力受付部は、前記ブームの先端の最終目標位置を指定する入力を受付け、
前記速度ベクトル生成部は、制御周期毎に、前記ブームの先端の現在位置から前記最終目標位置に向かう前記速度ベクトルを生成する制御装置。
５．  １又は２に記載の制御装置において、
前記入力受付部は、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成部は、
移動開始位置と前記入力受付部が受付けた入力内容とに基づき、制御周期毎の前記ブームの先端の目標位置を算出し、
第ｎ（ｎは２以上の整数）の制御周期に対応して前記入力受付部が受付けた入力内容に基づき決定される第１の速度ベクトルと、第ｎ−１の制御周期後の前記ブームの先端の位置から第ｎ−1の制御周期の前記ブームの先端の目標位置に向かう第２の速度ベクトルとを足し合わせた合成ベクトルを、第ｎの制御周期における前記速度ベクトルとして生成する制御装置。
６．  ５に記載の制御装置において、
前記アクチュエータ制御部は、
前記動作ベクトルで示される前記ブームの伸縮、起伏及び旋回の内、前記第１の速度ベクトルを変換した第１の動作ベクトルで示される前記ブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、前記動作方向が異なる動作は実行させない制御装置。
７．  １から６のいずれかに記載の制御装置において、
複数の前記アクチュエータは油圧制御される制御装置。
８．  コンピュータが、
入力受付工程と、
前記入力受付工程で受付けた入力内容に基づき、伸縮、起伏及び旋回可能なブームの先端を移動させる方向及び速度を３次元座標系で示す速度ベクトルを生成する速度ベクトル生成工程と、
前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを、前記ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する変換工程と、
前記ブームを伸縮させるアクチュエータ、前記ブームを起伏させるアクチュエータ及び前記ブームを旋回させるアクチュエータを、前記動作ベクトルで示される動作方向及び速度で動作させるアクチュエータ制御工程と、
を実行する制御方法。
９．  コンピュータを、
入力受付手段、
前記入力受付手段が受付けた入力内容に基づき、伸縮、起伏及び旋回可能なブームの先端を移動させる方向及び速度を３次元座標系で示す速度ベクトルを生成する速度ベクトル生成手段、
前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを、前記ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する変換手段、
前記ブームを伸縮させるアクチュエータ、前記ブームを起伏させるアクチュエータ及び前記ブームを旋回させるアクチュエータを、前記動作ベクトルで示される動作方向及び速度で動作させるアクチュエータ制御手段、
として機能させるプログラム。
【符号の説明】
【０１４０】
１Ａ    プロセッサ
２Ａ    メモリ
３Ａ    入出力Ｉ／Ｆ
４Ａ    周辺回路
５Ａ    バス
１０    制御装置
１１    入力受付部
１２    速度ベクトル生成部
１３    変換部
１４    アクチュエータ制御部
【図１】
2019094176.tif 000020
【図２】
2019094176.tif 000021
【図３】
2019094176.tif 000022
【図４】
2019094176.tif 000023
【図５】
2019094176.tif 000024
【図６】
2019094176.tif 000025
【図７】
2019094176.tif 000026
【図８】
2019094176.tif 000027
【図９】
2019094176.tif 000028
【図１０】
2019094176.tif 000029
【図１１】
2019094176.tif 000030
【図１２】
2019094176.tif 000031
【図１３】
2019094176.tif 000032