(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-31
(45)【発行日】2022-06-08
(54)【発明の名称】制御装置、制御方法及びプログラム
(51)【国際特許分類】
B66C 13/48 20060101AFI20220601BHJP
B66F 9/24 20060101ALI20220601BHJP
【FI】
B66C13/48 J
B66F9/24 S
(21)【出願番号】P 2017224829
(22)【出願日】2017-11-22
【審査請求日】2020-10-07
(73)【特許権者】
【識別番号】000165974
【氏名又は名称】古河機械金属株式会社
(73)【特許権者】
【識別番号】506002823
【氏名又は名称】古河ユニック株式会社
(74)【代理人】
【識別番号】100110928
【氏名又は名称】速水 進治
(72)【発明者】
【氏名】吉田 悠
【審査官】須山 直紀
(56)【参考文献】
【文献】特開2013-091935(JP,A)
【文献】特開平09-128023(JP,A)
【文献】特表2006-525928(JP,A)
【文献】米国特許出願公開第2004/0267404(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B66C 13/48
B66F 9/24
(57)【特許請求の範囲】
【請求項1】
入力受付部と、
前記入力受付部が受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定部と、
前記動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが、伸縮、起伏及び旋回各々に対応して定められた閾値を超えないか判断する判断部と、
前記判断部により超えると判断された場合、前記閾値を超えた動作の速度を前記閾値以下にする減速率を算出する算出部と、
前記判断部により超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御部と、
前記入力受付部が受付けた入力内容に基づき、前記ブームの先端を移動させる方向及び速度を3次元座標系で示す速度ベクトルを生成する速度ベクトル生成部と、
を有
し、
前記動作ベクトル決定部は、前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを前記動作ベクトルに変換し、
前記入力受付部は、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成部は、
移動開始位置と前記入力受付部が受付けた入力内容とに基づき、制御周期毎の前記ブームの先端の目標位置を算出し、
第n(nは2以上の整数)の制御周期に対応して前記入力受付部が受付けた入力内容に基づき決定される第1の速度ベクトルと、第n-1の制御周期後の前記ブームの先端の位置から第n-1の制御周期の前記ブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを、第nの制御周期における前記速度ベクトルとして生成し、
前記アクチュエータ制御部は、
前記動作ベクトルで示される前記ブームの伸縮、起伏及び旋回の内、前記第1の速度ベクトルを変換した第1の動作ベクトルで示される前記ブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、前記動作方向が異なる動作は実行させない制御装置。
【請求項2】
請求項1に記載の制御装置において、
前記アクチュエータ制御部は、前記判断部により超えないと判断された場合、前記動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させる制御装置。
【請求項3】
入力受付部と、
前記入力受付部が受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定部と、
前記動作ベクトルで示される伸縮、起伏及び旋回の速度を実現する油圧ポンプの吐出量が閾値を超えないか判断する判断部と、
前記判断部により超えると判断された場合、前記油圧ポンプの吐出量を前記閾値以下にする減速率を算出する算出部と、
前記判断部により超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御部と、
前記入力受付部が受付けた入力内容に基づき、前記ブームの先端を移動させる方向及び速度を3次元座標系で示す速度ベクトルを生成する速度ベクトル生成部と、
を有
し、
前記動作ベクトル決定部は、前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを前記動作ベクトルに変換し、
前記入力受付部は、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成部は、
移動開始位置と前記入力受付部が受付けた入力内容とに基づき、制御周期毎の前記ブームの先端の目標位置を算出し、
第n(nは2以上の整数)の制御周期に対応して前記入力受付部が受付けた入力内容に基づき決定される第1の速度ベクトルと、第n-1の制御周期後の前記ブームの先端の位置から第n-1の制御周期の前記ブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを、第nの制御周期における前記速度ベクトルとして生成し、
前記アクチュエータ制御部は、
前記動作ベクトルで示される前記ブームの伸縮、起伏及び旋回の内、前記第1の速度ベクトルを変換した第1の動作ベクトルで示される前記ブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、前記動作方向が異なる動作は実行させない制御装置。
【請求項4】
請求項1から3のいずれか1項に記載の制御装置において、
前記ヤコビ行列の逆行列は、
【数1】
であり、
C
1=cos(q
1)、C
2=cos(q
2)、S
1=sin(q
1)、S
2=sin(
q
2
)、q
1は前記ブームの旋回角、q
2は前記ブームの起伏角、q
3は前記ブームの長さ、D
boomは前記ブームの軸とトップシーブのオフセット距離、D
columnはコラム回転軸と接続ピンの水平オフセット距離である制御装置。
【請求項5】
請求項1から4のいずれか1項に記載の制御装置において、
前記判断部は、前記ブームの状態に応じて前記閾値を変化させる制御装置。
【請求項6】
コンピュータが、
入力受付工程と、
前記入力受付工程で受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定工程と、
前記動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが、伸縮、起伏及び旋回各々に対応して定められた閾値を超えないか判断する判断工程と、
前記判断工程で超えると判断された場合、前記閾値を超えた動作の速度を前記閾値以下にする減速率を算出する算出工程と、
前記判断工程で超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御工程と、
前記入力受付工程で受付けた入力内容に基づき、前記ブームの先端を移動させる方向及び速度を3次元座標系で示す速度ベクトルを生成する速度ベクトル生成工程と、
を実行
し、
前記動作ベクトル決定工程では、前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを前記動作ベクトルに変換し、
前記入力受付工程では、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成工程では、
移動開始位置と前記入力受付工程で受付けた入力内容とに基づき、制御周期毎の前記ブームの先端の目標位置を算出し、
第n(nは2以上の整数)の制御周期に対応して前記入力受付工程で受付けた入力内容に基づき決定される第1の速度ベクトルと、第n-1の制御周期後の前記ブームの先端の位置から第n-1の制御周期の前記ブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを、第nの制御周期における前記速度ベクトルとして生成し、
前記アクチュエータ制御工程では、
前記動作ベクトルで示される前記ブームの伸縮、起伏及び旋回の内、前記第1の速度ベクトルを変換した第1の動作ベクトルで示される前記ブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、前記動作方向が異なる動作は実行させない制御方法。
【請求項7】
コンピュータを、
入力受付手段、
前記入力受付手段が受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定手段、
前記動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが、伸縮、起伏及び旋回各々に対応して定められた閾値を超えないか判断する判断手段、
前記判断手段により超えると判断された場合、前記閾値を超えた動作の速度を前記閾値以下にする減速率を算出する算出手段、
前記判断手段により超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御手段、
前記入力受付手段が受付けた入力内容に基づき、前記ブームの先端を移動させる方向及び速度を3次元座標系で示す速度ベクトルを生成する速度ベクトル生成手段、
として機能させ
、
前記動作ベクトル決定手段は、前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを前記動作ベクトルに変換し、
前記入力受付手段は、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成手段は、
移動開始位置と前記入力受付手段が受付けた入力内容とに基づき、制御周期毎の前記ブームの先端の目標位置を算出し、
第n(nは2以上の整数)の制御周期に対応して前記入力受付手段が受付けた入力内容に基づき決定される第1の速度ベクトルと、第n-1の制御周期後の前記ブームの先端の位置から第n-1の制御周期の前記ブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを、第nの制御周期における前記速度ベクトルとして生成し、
前記アクチュエータ制御手段は、
前記動作ベクトルで示される前記ブームの伸縮、起伏及び旋回の内、前記第1の速度ベクトルを変換した第1の動作ベクトルで示される前記ブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、前記動作方向が異なる動作は実行させないプログラム。
【請求項8】
コンピュータが、
入力受付工程と、
前記入力受付工程で受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定工程と、
前記動作ベクトルで示される伸縮、起伏及び旋回の速度を実現する油圧ポンプの吐出量が閾値を超えないか判断する判断工程と、
前記判断工程で超えると判断された場合、前記油圧ポンプの吐出量を前記閾値以下にする減速率を算出する算出工程と、
前記判断工程で超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御工程と、
前記入力受付工程で受付けた入力内容に基づき、前記ブームの先端を移動させる方向及び速度を3次元座標系で示す速度ベクトルを生成する速度ベクトル生成工程と、
を実行
し、
前記動作ベクトル決定工程では、前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを前記動作ベクトルに変換し、
前記入力受付工程では、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成工程では、
移動開始位置と前記入力受付工程で受付けた入力内容とに基づき、制御周期毎の前記ブームの先端の目標位置を算出し、
第n(nは2以上の整数)の制御周期に対応して前記入力受付工程で受付けた入力内容に基づき決定される第1の速度ベクトルと、第n-1の制御周期後の前記ブームの先端の位置から第n-1の制御周期の前記ブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを、第nの制御周期における前記速度ベクトルとして生成し、
前記アクチュエータ制御工程では、
前記動作ベクトルで示される前記ブームの伸縮、起伏及び旋回の内、前記第1の速度ベクトルを変換した第1の動作ベクトルで示される前記ブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、前記動作方向が異なる動作は実行させない制御方法。
【請求項9】
コンピュータを、
入力受付手段、
前記入力受付手段が受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定手段、
前記動作ベクトルで示される伸縮、起伏及び旋回の速度を実現する油圧ポンプの吐出量が閾値を超えないか判断する判断手段、
前記判断手段により超えると判断された場合、前記油圧ポンプの吐出量を前記閾値以下にする減速率を算出する算出手段、
前記判断手段により超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御手段、
前記入力受付手段が受付けた入力内容に基づき、前記ブームの先端を移動させる方向及び速度を3次元座標系で示す速度ベクトルを生成する速度ベクトル生成手段、
として機能させ
、
前記動作ベクトル決定手段は、前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを前記動作ベクトルに変換し、
前記入力受付手段は、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成手段は、
移動開始位置と前記入力受付手段が受付けた入力内容とに基づき、制御周期毎の前記ブームの先端の目標位置を算出し、
第n(nは2以上の整数)の制御周期に対応して前記入力受付手段が受付けた入力内容に基づき決定される第1の速度ベクトルと、第n-1の制御周期後の前記ブームの先端の位置から第n-1の制御周期の前記ブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを、第nの制御周期における前記速度ベクトルとして生成し、
前記アクチュエータ制御手段は、
前記動作ベクトルで示される前記ブームの伸縮、起伏及び旋回の内、前記第1の速度ベクトルを変換した第1の動作ベクトルで示される前記ブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、前記動作方向が異なる動作は実行させないプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、制御方法及びプログラムに関する。
【背景技術】
【0002】
特許文献1及び2には、油圧制御装置で油圧アクチュエータの駆動方向及び駆動速度を制御することで、ブームの先端に取り付けられた作業部の位置を制御する技術が開示されている。特許文献1には、操作レバーの傾動操作に基づき、作業部の移動方向並びに速度に関連する信号を発生し、発生させた作業部の移動方向及び速度を、三角関数を用いて起伏及び伸縮の移動方向及び速度に変換することが開示されている。
【0003】
特許文献3には、ブームの先端位置を、超音波を発信する位置指令発信機の存する位置に追従移動させる技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特公平7-29760
【文献】特許第4021530
【文献】特開2014-97875
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、ブームの先端をなめらかに動かす技術を提供することを課題とする。
【課題を解決するための手段】
【0006】
本発明によれば、
入力受付部と、
前記入力受付部が受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定部と、
前記動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが、伸縮、起伏及び旋回各々に対応して定められた閾値を超えないか判断する判断部と、
前記判断部により超えると判断された場合、前記閾値を超えた動作の速度を前記閾値以下にする減速率を算出する算出部と、
前記判断部により超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御部と、
前記入力受付部が受付けた入力内容に基づき、前記ブームの先端を移動させる方向及び速度を3次元座標系で示す速度ベクトルを生成する速度ベクトル生成部と、
を有し、
前記動作ベクトル決定部は、前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを前記動作ベクトルに変換し、
前記入力受付部は、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成部は、
移動開始位置と前記入力受付部が受付けた入力内容とに基づき、制御周期毎の前記ブームの先端の目標位置を算出し、
第n(nは2以上の整数)の制御周期に対応して前記入力受付部が受付けた入力内容に基づき決定される第1の速度ベクトルと、第n-1の制御周期後の前記ブームの先端の位置から第n-1の制御周期の前記ブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを、第nの制御周期における前記速度ベクトルとして生成し、
前記アクチュエータ制御部は、
前記動作ベクトルで示される前記ブームの伸縮、起伏及び旋回の内、前記第1の速度ベクトルを変換した第1の動作ベクトルで示される前記ブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、前記動作方向が異なる動作は実行させない制御装置が提供される。
【0007】
また、本発明によれば、
コンピュータが、
入力受付工程と、
前記入力受付工程で受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定工程と、
前記動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが、伸縮、起伏及び旋回各々に対応して定められた閾値を超えないか判断する判断工程と、
前記判断工程で超えると判断された場合、前記閾値を超えた動作の速度を前記閾値以下にする減速率を算出する算出工程と、
前記判断工程で超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御工程と、
前記入力受付工程で受付けた入力内容に基づき、前記ブームの先端を移動させる方向及び速度を3次元座標系で示す速度ベクトルを生成する速度ベクトル生成工程と、
を実行し、
前記動作ベクトル決定工程では、前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを前記動作ベクトルに変換し、
前記入力受付工程では、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成工程では、
移動開始位置と前記入力受付工程で受付けた入力内容とに基づき、制御周期毎の前記ブームの先端の目標位置を算出し、
第n(nは2以上の整数)の制御周期に対応して前記入力受付工程で受付けた入力内容に基づき決定される第1の速度ベクトルと、第n-1の制御周期後の前記ブームの先端の位置から第n-1の制御周期の前記ブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを、第nの制御周期における前記速度ベクトルとして生成し、
前記アクチュエータ制御工程では、
前記動作ベクトルで示される前記ブームの伸縮、起伏及び旋回の内、前記第1の速度ベクトルを変換した第1の動作ベクトルで示される前記ブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、前記動作方向が異なる動作は実行させない制御方法が提供される。
【0008】
また、本発明によれば、
コンピュータを、
入力受付手段、
前記入力受付手段が受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定手段、
前記動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが、伸縮、起伏及び旋回各々に対応して定められた閾値を超えないか判断する判断手段、
前記判断手段により超えると判断された場合、前記閾値を超えた動作の速度を前記閾値以下にする減速率を算出する算出手段、
前記判断手段により超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御手段、
前記入力受付手段が受付けた入力内容に基づき、前記ブームの先端を移動させる方向及び速度を3次元座標系で示す速度ベクトルを生成する速度ベクトル生成手段、
として機能させ、
前記動作ベクトル決定手段は、前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを前記動作ベクトルに変換し、
前記入力受付手段は、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成手段は、
移動開始位置と前記入力受付手段が受付けた入力内容とに基づき、制御周期毎の前記ブームの先端の目標位置を算出し、
第n(nは2以上の整数)の制御周期に対応して前記入力受付手段が受付けた入力内容に基づき決定される第1の速度ベクトルと、第n-1の制御周期後の前記ブームの先端の位置から第n-1の制御周期の前記ブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを、第nの制御周期における前記速度ベクトルとして生成し、
前記アクチュエータ制御手段は、
前記動作ベクトルで示される前記ブームの伸縮、起伏及び旋回の内、前記第1の速度ベクトルを変換した第1の動作ベクトルで示される前記ブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、前記動作方向が異なる動作は実行させないプログラムが提供される。
【0009】
また、本発明によれば、
入力受付部と、
前記入力受付部が受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定部と、
前記動作ベクトルで示される伸縮、起伏及び旋回の速度を実現する油圧ポンプの吐出量が閾値を超えないか判断する判断部と、
前記判断部により超えると判断された場合、前記油圧ポンプの吐出量を前記閾値以下にする減速率を算出する算出部と、
前記判断部により超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御部と、
前記入力受付部が受付けた入力内容に基づき、前記ブームの先端を移動させる方向及び速度を3次元座標系で示す速度ベクトルを生成する速度ベクトル生成部と、
を有し、
前記動作ベクトル決定部は、前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを前記動作ベクトルに変換し、
前記入力受付部は、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成部は、
移動開始位置と前記入力受付部が受付けた入力内容とに基づき、制御周期毎の前記ブームの先端の目標位置を算出し、
第n(nは2以上の整数)の制御周期に対応して前記入力受付部が受付けた入力内容に基づき決定される第1の速度ベクトルと、第n-1の制御周期後の前記ブームの先端の位置から第n-1の制御周期の前記ブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを、第nの制御周期における前記速度ベクトルとして生成し、
前記アクチュエータ制御部は、
前記動作ベクトルで示される前記ブームの伸縮、起伏及び旋回の内、前記第1の速度ベクトルを変換した第1の動作ベクトルで示される前記ブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、前記動作方向が異なる動作は実行させない制御装置が提供される。
【0010】
また、本発明によれば、
コンピュータが、
入力受付工程と、
前記入力受付工程で受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定工程と、
前記動作ベクトルで示される伸縮、起伏及び旋回の速度を実現する油圧ポンプの吐出量が閾値を超えないか判断する判断工程と、
前記判断工程で超えると判断された場合、前記油圧ポンプの吐出量を前記閾値以下にする減速率を算出する算出工程と、
前記判断工程で超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御工程と、
前記入力受付工程で受付けた入力内容に基づき、前記ブームの先端を移動させる方向及び速度を3次元座標系で示す速度ベクトルを生成する速度ベクトル生成工程と、
を実行し、
前記動作ベクトル決定工程では、前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを前記動作ベクトルに変換し、
前記入力受付工程では、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成工程では、
移動開始位置と前記入力受付工程で受付けた入力内容とに基づき、制御周期毎の前記ブームの先端の目標位置を算出し、
第n(nは2以上の整数)の制御周期に対応して前記入力受付工程で受付けた入力内容に基づき決定される第1の速度ベクトルと、第n-1の制御周期後の前記ブームの先端の位置から第n-1の制御周期の前記ブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを、第nの制御周期における前記速度ベクトルとして生成し、
前記アクチュエータ制御工程では、
前記動作ベクトルで示される前記ブームの伸縮、起伏及び旋回の内、前記第1の速度ベクトルを変換した第1の動作ベクトルで示される前記ブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、前記動作方向が異なる動作は実行させない制御方法が提供される。
【0011】
また、本発明によれば、
コンピュータを、
入力受付手段、
前記入力受付手段が受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定手段、
前記動作ベクトルで示される伸縮、起伏及び旋回の速度を実現する油圧ポンプの吐出量が閾値を超えないか判断する判断手段、
前記判断手段により超えると判断された場合、前記油圧ポンプの吐出量を前記閾値以下にする減速率を算出する算出手段、
前記判断手段により超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御手段、
前記入力受付手段が受付けた入力内容に基づき、前記ブームの先端を移動させる方向及び速度を3次元座標系で示す速度ベクトルを生成する速度ベクトル生成手段、
として機能させ、
前記動作ベクトル決定手段は、前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを前記動作ベクトルに変換し、
前記入力受付手段は、前記速度ベクトルを指定する入力を受付け、
前記速度ベクトル生成手段は、
移動開始位置と前記入力受付手段が受付けた入力内容とに基づき、制御周期毎の前記ブームの先端の目標位置を算出し、
第n(nは2以上の整数)の制御周期に対応して前記入力受付手段が受付けた入力内容に基づき決定される第1の速度ベクトルと、第n-1の制御周期後の前記ブームの先端の位置から第n-1の制御周期の前記ブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを、第nの制御周期における前記速度ベクトルとして生成し、
前記アクチュエータ制御手段は、
前記動作ベクトルで示される前記ブームの伸縮、起伏及び旋回の内、前記第1の速度ベクトルを変換した第1の動作ベクトルで示される前記ブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、前記動作方向が異なる動作は実行させないプログラムが提供される。
【発明の効果】
【0012】
本発明によれば、ブームの先端をなめらかに動かすことができる。
【図面の簡単な説明】
【0013】
【
図1】本実施形態の制御装置の機能ブロック図の一例である。
【
図2】本実施形態の制御装置のハードウエア構成の一例を示す図である。
【
図3】スプール変位、シリンダ速度特性を示す図である。
【
図4】目標速度の時間変化に対するスプール変位の時間変化を示す図である。
【
図7】本実施形態の制御装置が制御した場合のブームの先端の移動の一例を示す図である。
【
図8】比較例のブームの先端の移動の一例を示す図である。
【
図9】本実施形態の作用効果を説明するための図である。
【
図10】本実施形態の作用効果を説明するための図である。
【
図11】本実施形態の作用効果を説明するための図である。
【
図12】本実施形態の制御装置が制御した場合のブームの先端の移動の一例を示す図である。
【
図13】本実施形態の制御装置が制御した場合のブームの先端の移動の一例を示す図である。
【
図14】本実施形態の作用効果を説明するための図である。
【
図15】本実施形態の作用効果を説明するための図である。
【
図16】本実施形態の作用効果を説明するための図である。
【
図17】本実施形態の作用効果を説明するための図である。
【
図18】本実施形態の作用効果を説明するための図である。
【
図19】本実施形態の作用効果を説明するための図である。
【
図20】判断部14がブームの状態に応じて閾値を変化させる処理を説明するための図である。
【
図21】判断部14がブームの状態に応じて閾値を変化させる処理を説明するための図である。
【発明を実施するための形態】
【0014】
<第1の実施形態>
図1に、本実施形態の制御装置10の機能ブロック図の一例を示す。図示するように、制御装置10は、入力受付部11と、速度ベクトル生成部12と、動作ベクトル決定部13と、判断部14と、算出部15と、アクチュエータ制御部16とを有する。
【0015】
入力受付部11は、各種入力を受付ける。速度ベクトル生成部12は、入力受付部11が受付けた入力内容に基づき、伸縮、起伏及び旋回可能なブームの先端を移動させる方向及び速度を3次元座標系で示す速度ベクトルを生成する。動作ベクトル決定部13は、入力受付部11が受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する。動作ベクトル決定部13は、例えば、速度ベクトル生成部12により生成された速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、ヤコビ行列の逆行列を用いて得られた算出式を用いて、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを算出する。
【0016】
判断部14は、動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが、伸縮、起伏及び旋回各々に対応して定められた閾値を超えないか判断する。算出部15は、判断部14により超えると判断された場合、閾値を超えた動作の速度を閾値以下にする減速率を算出する。アクチュエータ制御部16は、判断部14により超えると判断された場合、動作ベクトルで示される伸縮、起伏及び旋回すべての速度を上記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させる。
【0017】
このような制御装置10により、ブームの先端をなめらかに動かす動作を実現する。以下、制御装置10の詳細を説明する。
【0018】
まず、制御装置10のハードウエア構成の一例について説明する。本実施形態の制御装置10が備える各機能部は、任意のコンピュータのCPU(Central Processing Unit)、メモリ、メモリにロードされるプログラム、そのプログラムを格納するハードディスク等の記憶ユニット(あらかじめ装置を出荷する段階から格納されているプログラムのほか、CD(Compact Disc)等の記憶媒体やインターネット上のサーバ等からダウンロードされたプログラムをも格納できる)、ネットワーク接続用インターフェイスを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
【0019】
図2は、本実施形態の制御装置10のハードウエア構成を例示するブロック図である。
図2に示すように、制御装置10は、プロセッサ1A、メモリ2A、入出力インターフェイス3A、周辺回路4A、バス5Aを有する。周辺回路4Aには、様々なモジュールが含まれる。なお、制御装置10は物理的及び/又は論理的に分かれた複数の装置で構成されてもよい。この場合、複数の装置各々が、プロセッサ1A、メモリ2A、入出力インターフェイス3A、周辺回路4A、バス5Aを有してもよい。
【0020】
バス5Aは、プロセッサ1A、メモリ2A、周辺回路4A及び入出力インターフェイス3Aが相互にデータを送受信するためのデータ伝送路である。プロセッサ1Aは、例えばCPUやGPU(Graphics Processing Unit)などの演算処理装置である。メモリ2Aは、例えばRAM(Random Access Memory)やROM(Read Only Memory)などのメモリである。入出力インターフェイス3Aは、入力装置(例:キーボード、マウス、マイク、物理キー、タッチパネルディスプレイ、コードリーダ等)、外部装置、外部サーバ、外部センサ等から情報を取得するためのインターフェイスや、出力装置(例:ディスプレイ、スピーカ、プリンター、メーラ等)、外部装置、外部サーバ等に情報を出力するためのインターフェイスなどを含む。プロセッサ1Aは、各モジュールに指令を出し、それらの演算結果をもとに演算を行うことができる。
【0021】
次に、本実施形態の制御装置10に制御されるブームを備える作業機について説明する。なお、作業機と制御装置10とは物理的及び/又は論理的に一体となって構成されてもよいし、物理的及び/又は論理的に分かれて構成されてもよい。
【0022】
作業機は、ブームを伸縮させるアクチュエータ(例:ブーム伸縮シリンダ)、ブームを起伏させるアクチュエータ(例:ブーム起伏シリンダ)、及び、ブームを旋回させるアクチュエータ(例:ブーム旋回モータ)を有する。複数のアクチュエータの少なくとも1つ(例:複数のアクチュエータの全て)は油圧制御される。
【0023】
ブームの動作は、制御弁及びスプールで制御される。すなわち、制御弁からの圧油の吐出量をスプールで変位させて調節することで、各アクチュエータへの圧油の供給量を調節する。各アクチュエータへの圧油の供給量を調節することで、各アクチュエータの動作方向及び速度を調節する。そして、各アクチュエータの動作を調節することで、ブームの先端の移動方向及び速度を調節する。
【0024】
ここで、
図3を用いて本実施形態の作業機が備えるスプールの特性を説明する。
図3は、スプール変位とシリンダ速度の関係の一例を示す。この特性カーブに基づき、アクチュエータを所望の速度で動かすためのスプール変位を求めることができる。例えば、アクチュエータを定格の20%の速度で動かしたい場合はスプールの変位を最大変位の51%に設定する。また、アクチュエータを定格の80%の速度で動かしたい場合はスプールの変位を最大変位の94%に設定する。
【0025】
ブームを伸縮させるアクチュエータ、ブームを起伏させるアクチュエータ、及び、ブームを旋回させるアクチュエータ各々の動作により、ブームの長さ(ブーム長)、起伏角度及び旋回角度が決定される。各アクチュエータの速度は、ブームの伸縮速度(単位時間当たりのブーム長の変化量)、起伏角速度(単位時間当たりのブームの起伏角の変化量)、及び、旋回角速度(単位時間当たりのブームの旋回角の変化量)に相当する。
【0026】
なお、
図3に示すように、制御弁のスプールはその中立付近の一定のストローク範囲内で「一定の不感帯域」を持つ。すなわち、スプール変位が不感帯に収まっている間、アクチュエータに圧油が供給されず、アクチュエータは動かない。アクチュエータに圧油を供給し、動かすためには、スプール変位が不感帯域の外に出なければならない。
【0027】
図4に、線形で表したシリンダの目標速度の時間変化と、その目標速度を実現するためのスプール変位の時間変化との関係を示す。シリンダの目標速度は、所望の速度でブームの先端を移動させるためのシリンダの速度であり、一定速に安定後の終端速度と定義する。
【0028】
また、作業機は、スプールの変位及び速度を検出する手段(差動トランス)を有する。さらに、作業機は、ブームの長さを検出するブーム長検出器、ブームの起伏角度を検出するブーム角度検出器、及び、ブームの旋回角度を検出する旋回角度検出器を有する。
【0029】
次に、制御装置10について説明する。制御装置10は、アクチュエータの動作を制御する。
図1の機能ブロック図に示すように、制御装置10は、入力受付部11と、速度ベクトル生成部12と、動作ベクトル決定部13と、判断部14と、算出部15と、アクチュエータ制御部16とを有する。
【0030】
入力受付部11は、操作レバー(入力装置)を介して、ブームの先端を移動させる方向及び速度を指定する入力を受付ける。なお、入力受付部11は、タッチパネルディスプレイ、物理ボタン、マイク、キーボード、マウス等の他の入力装置を介して、ブームの先端を移動させる方向及び速度を指定する入力を受付けてもよい。
【0031】
入力受付部11は、制御周期毎に、操作レバーの操作内容を検出し、検出した操作レバーの操作内容をブームの先端を移動させる方向及び速度を示す速度ベクトルに変換し、出力する。速度ベクトルは、作業機の所定位置を原点とし、作業機の所定方向をx軸(水平方向の軸)、y軸(水平方向の軸)及びz軸(垂直方向の軸)とした3次元座標系(以下、「作業機座標系」という場合がある)で示される。制御周期は、例えば1ミリ秒から100ミリ秒である。
【0032】
入力受付部11は、操作レバーを傾ける方向に基づきブームの先端を移動させる方向を決定し、操作レバーを傾ける角度に基づきブームの先端を移動させる速度を決定する。例えば、予め、操作レバーを傾ける方向と、作業機座標系の所定の方向とが対応づけられていてもよい。また、予め、操作レバーを傾ける角度と、ブームの先端を移動させる速度とが対応付けられていてもよい。そして、入力受付部11は、当該対応関係に基づき、検出した操作レバーの操作内容を、ブームの先端を移動させる方向及び速度を示す速度ベクトルに変換してもよい。例えば、2つの操作レバーを用意し、第1の操作レバーで水平方向の移動方向及び速度を指定し、第2の操作レバーで垂直方向の移動方向及び速度を指定できてもよい。
【0033】
速度ベクトル生成部12は、制御周期毎に、入力受付部11が受付けた入力内容に基づき、伸縮、起伏及び旋回可能なブームの先端を移動させる方向及び速度を3次元座標系(作業機座標系)で示す速度ベクトルを生成し、出力する。以下、速度ベクトル生成部12により生成された速度ベクトルを、指示速度ベクトルという。
【0034】
ここで、指示速度ベクトルの生成例を説明する。
【0035】
「指示速度ベクトル生成例1」
速度ベクトル生成部12は、入力受付部11により出力された速度ベクトルを、そのまま指示速度ベクトルとすることができる。
【0036】
「指示速度ベクトル生成例2」
速度ベクトル生成部12は、指示速度ベクトルの移動方向として、入力受付部11により出力された速度ベクトルで示される移動方向をそのまま採用することができる。そして、指示速度ベクトルの速度を、以下のようにして決定してもよい。
【0037】
「(ブームの先端の現在の速度)<(入力受付部11により出力された速度ベクトルで示される速度)」を満たす場合、速度ベクトル生成部12は、「(指示速度ベクトルの速度)=(ブームの先端の現在の速度)+(加速度)×(制御周期分の時間)」で算出してもよい。加速度は、予め与えられる固定値であってもよい。
【0038】
ブームの動作を開始した直後等はブームの先端の速度が小さいため、当該条件を満たしやすくなる。この場合、上述のように指示速度ベクトルの速度を決定することで、急激な速度上昇を抑制し、滑らかな動作が実現される。
【0039】
一方、「(ブームの先端の現在の速度)≧(入力受付部11により出力された速度ベクトルで示される速度)」を満たす場合、速度ベクトル生成部12は、入力受付部11により出力された速度ベクトルで示される速度を指示速度ベクトルの速度として採用してもよい。ブームの動作を開始してからある程度の時間が経過し、ブームの先端の移動速度が安定している頃には当該条件を満たしやすくなる。
【0040】
動作ベクトル決定部13は、速度ベクトル生成部12により出力された指示速度ベクトルに左からヤコビ行列の逆行列を掛けることで、指示速度ベクトルを、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する(以下の式(2)、(14)参照)。なお、動作ベクトル決定部13は、ヤコビ行列の逆行列を用いて得られた算出式を用いて、指示速度ベクトルを動作ベクトルに変換してもよい(以下の式(15)参照)。
【0041】
ここで、ヤコビ行列の逆行列について説明する。
【0042】
ブームに伸縮、起伏、旋回を実行させると、ブームの先端が所定の方向に所定の速度で移動する。すなわち、ブームの先端に速度ベクトルが生じる。伸縮、起伏、旋回の中の複数を同時に行った場合は、各動作によってブームの先端に生じる速度ベクトルを足し合わせることによって、ブームの先端の速度ベクトルを求めることができる。
【0043】
ブームの動作ベクトルと、ブームの先端の速度ベクトルとは、ヤコビ行列Jを用いて式(1)のように示される。
【0044】
【0045】
xの上に黒点を付した文字は、作業機座標系におけるブームの先端のx軸方向の移動の速度成分を示す。明細書中では、当該速度成分を「x´」と表す。yの上に黒点を付した文字は、作業機座標系におけるブームの先端のy軸方向の移動の速度成分を示す。明細書中では、当該速度成分を「y´」と表す。zの上に黒点を付した文字は、作業機座標系におけるブームの先端のz軸方向の移動の速度成分を示す。明細書中では、当該速度成分を「z´」と表す。
【0046】
q1の上に黒点を付した文字は、ブームの旋回の角速度(旋回角の単位時間当たりの変化量)を示す。明細書中では、当該速度成分を「q1´」と表す。q2の上に黒点を付した文字は、ブームの起伏の角速度(起伏角の単位時間当たりの変化量)を示す。明細書中では、当該速度成分を「q2´」と表す。q3の上に黒点を付した文字は、ブームの伸縮速度(ブーム長の単位時間当たりの変化量)を示す。明細書中では、当該速度成分を「q3´」と表す。
【0047】
ブームの伸縮、起伏、旋回の速度とブームの先端の速度の自由度が同じ(Jが正方行列)であり、かつ、ブームが特異姿勢でないとき、逆行列J-1を用いることで、式(2)に示すようにブームの先端の速度ベクトルから動作ベクトルを求めることができる。なお、ブームの特異姿勢とは、例えばブームが真上や真下を向いた状態をいう。
【0048】
【0049】
行列計算を展開すると、式(3)のようになる。
【0050】
【0051】
ここで、逆行列J-1を求めると以下のようになる。
【0052】
「同次変換行列を使った順運動学計算(q
1、q
2、q
3→x、y、z)」
まず、
図5及び式(4)に示すように変数及び定数を定義する。H
outrigger、H
column、D
column、及び、D
boomは、作業機の構成に基づき定まる固定値である。
【0053】
【0054】
基準座標系→ターンテーブル座標系の同次変換行列は、式(5)のようになる。基準座標系は、
図5に示すΣ
0座標系である。コラム回転中心直下の地面を原点とし、車両左側方をX
0軸方向、車両後方をY
0軸方向、鉛直上方をZ
0軸方向としている。ターンテーブル座標系は、
図5に示すΣ
1座標系であり、ターンテーブル中央を原点とし、ブームの方位角がY
1軸と一致するよう基準座標系を並進移動およびZ
1軸周りに回転したものである。式(5)は、Z
0軸方向にH
outrigger並進移動し、Z
1軸回りにq
1回転することを意味する。
【0055】
【0056】
ターンテーブル座標系→コラム座標系の同次変換行列は、式(6)のようになる。コラム座標系は、
図5に示すΣ
2座標系であり、ブームフートピン中央を原点とし、ブーム長手方向がY
2軸方向と一致するようターンテーブル座標系を並進移動およびX
2軸周りに回転したものである。式(6)は、Z
1軸方向にH
outrigger、Y
1軸方向に-D
column並進移動し、X
2軸回りにq
2回転することを意味する。
【0057】
【0058】
コラム座標系→トップシーブ座標系の同次変換行列は、式(7)のようになる。トップシーブ座標系は、
図5に示すΣ
3座標系であり、トップシーブ中央が原点となるようコラム座標系を並進移動したものである。式(7)は、Z
2軸方向に-D
boom、Y
2軸方向にq
3並進移動することを意味する。
【0059】
【0060】
基準座標系→トップシーブ座標系の同次変換行列は、式(8)のようになる。
【0061】
【0062】
式(8)を使ってトップシーブ座標系の原点(0、0、0)を基準座標系で表すと、式(9)のようになる。
【0063】
【0064】
式(9)の各係数を計算し展開すると、式(10)のようになる。
【0065】
【0066】
「ヤコビ行列の逆行列を使った逆運動学計算(x´、y´、z´→q1´、q2´、q3´)
x、y、zをそれぞれ時間微分してq1´、q2´、q3´についてまとめると、式(11)のようになる。
【0067】
【0068】
これを行列表記にすると、式(12)のようになる。
【0069】
【0070】
両辺に左からJ-1を掛けて、左辺及び右辺を入れ替えると式(13)のようになる。
【0071】
【0072】
J-1を計算すると、式(14)のようになる。
【0073】
【0074】
式(13)のJ-1に式(14)を代入して展開すると、式(15)のようになる。式(15)を利用することで、ブームの先端を所定の方向に所定の速度で移動させるための複数のアクチュエータ各々の動作方向及び速度(動作ベクトル)が求まる。
【0075】
【0076】
図1に戻り、判断部14は、動作ベクトル決定部13により決定された動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが、伸縮、起伏及び旋回各々に対応して定められた閾値を超えないか判断する。閾値は、伸縮、起伏及び旋回各々の許容される最大速度である。
【0077】
算出部15は、動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが閾値を超えると判断された場合、閾値を超えた動作の速度を閾値以下にする減速率を算出する。算出部15は、例えば、(減速率)=(動作の閾値)/(動作ベクトルで示されるその動作の速度)に基づき算出してもよい。算出部15は、算出した減速率をアクチュエータ制御部16に入力する。
【0078】
なお、複数の動作の速度が閾値を超えた場合、算出部15は閾値を超えた動作毎に減速率を算出する。そして、算出部15は、その中の最小値(減速の幅が最も大きい減速率)をアクチュエータ制御部16に入力することができる。
【0079】
アクチュエータ制御部16は、動作ベクトル決定部13により決定された動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが閾値を超えると判断された場合、当該動作ベクトルで示される伸縮、起伏及び旋回すべての速度を、算出部15より入力された減速率で減速した減速後動作ベクトルを算出する。そして、アクチュエータ制御部16は、減速後動作ベクトルで示される動作方向及び速度で、ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させる。
【0080】
一方、アクチュエータ制御部16は、動作ベクトル決定部13により決定された動作ベクトルで示される伸縮、起伏及び旋回各々の速度のいずれも閾値を超えないと判断された場合、当該動作ベクトルで示される動作方向及び速度で、ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させる。
【0081】
アクチュエータ制御部16は、動作ベクトル又は減速後動作ベクトルと、予め保持している「スプール変位とアクチュエータの速度との関係を示す情報(例:関数、テーブル等)」とに基づき、動作ベクトル又は減速後動作ベクトルで示される方向に動作ベクトル又は減速後動作ベクトルで示される速度で動かすためのスプール変位を求める。そして、求めた通りにスプールの変位を設定する。
【0082】
ここで、参考までに、
図6に、本実施形態の制御装置10の構成の一例を示す。なお、あくまで一例であり、これに限定されない。
【0083】
次に、
図7を用いて、本実施形態の制御装置10による処理の流れの一例及びそれに応じたブームの先端の移動を説明する。
図7は、ブームを上方から観察した模式図である。ブームの先端は(1)→(2)→(3)→(4)の順に移動するものとする。1回の制御周期で(1)→(2)の変化がおき、次の制御周期で(2)→(3)の変化がおき、次の制御周期で(3)→(4)の変化がおきるものとする。なお、これらの前提は、以下で説明する
図8、
図12及び
図13も同様である。
【0084】
図7において、ブームの先端の位置が(1)で停止しているとき、入力受付部11は、最初の制御周期(第1の制御周期)の指示入力待ち状態となっている。そして、オペレータにより操作レバーを所定の方向に所定角度傾ける操作がなされると、入力受付部11は操作レバーの操作内容を検出する。そして、入力受付部11は、検出した操作レバーの操作内容を、ブームの先端を移動させる方向及び速度を示す速度ベクトルに変換し、第1の制御周期の速度ベクトルとして出力する。ここでは、(1)のブームの先端から延びる矢印で示される方向の速度ベクトルが出力されたものとする。
【0085】
速度ベクトル生成部12は、上述した指示速度ベクトル生成例1乃至3の何れかに基づき、第1の制御周期の指示速度ベクトルを生成し、出力する。
【0086】
その後、動作ベクトル決定部13は、指示速度ベクトルに左からヤコビ行列の逆行列を掛けることで、第1の制御周期の指示速度ベクトルを、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する(式(2)、(14)参照)。なお、動作ベクトル決定部13は、ヤコビ行列の逆行列を用いて得られた算出式を用いて、第1の制御周期の指示速度ベクトルを動作ベクトル(第1の制御周期の動作ベクトル)に変換してもよい(式(15)参照)。
【0087】
その後、判断部14は、第1の制御周期の動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが、伸縮、起伏及び旋回各々に対応して定められた閾値を超えないか判断する。
【0088】
第1の制御周期の動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが閾値を超えると判断された場合、算出部15は、閾値を超えた動作の速度を閾値以下にする減速率を算出する。そして、算出部15は、算出した減速率をアクチュエータ制御部16に入力する。
【0089】
なお、複数の動作の速度が閾値を超えた場合、算出部15は閾値を超えた動作毎に減速率を算出する。そして、算出部15は、その中の最小値(減速の幅が最も大きい減速率)をアクチュエータ制御部16に入力することができる。
【0090】
その後、アクチュエータ制御部16は、第1の制御周期の動作ベクトルで示される伸縮、起伏及び旋回すべての速度を、算出部15より入力された減速率で減速した第1の制御周期の減速後動作ベクトルを算出する。そして、アクチュエータ制御部16は、第1の制御周期の減速後動作ベクトルで示される動作方向及び速度で、ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させる。
【0091】
すなわち、アクチュエータ制御部16は、「第1の制御周期の減速後動作ベクトル」と、予め保持している「スプール変位とアクチュエータの速度との関係を示す情報(例:関数、テーブル等)」とに基づき、第1の制御周期の減速後動作ベクトルで示される方向に当該減速後動作ベクトルで示される速度で動かすためのスプール変位を求める。そして、求めた通りにスプールの変位を設定する。
【0092】
一方、第1の制御周期の動作ベクトルで示される伸縮、起伏及び旋回各々の速度のいずれも閾値を超えないと判断された場合、アクチュエータ制御部16は、第1の制御周期の動作ベクトルで示される動作方向及び速度で、ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させる。
【0093】
すなわち、アクチュエータ制御部16は、「第1の制御周期の動作ベクトル」と、予め保持している「スプール変位とアクチュエータの速度との関係を示す情報(例:関数、テーブル等)」とに基づき、第1の制御周期の動作ベクトルで示される方向に当該動作ベクトルで示される速度で動かすためのスプール変位を求める。そして、求めた通りにスプールの変位を設定する。
【0094】
結果、第1の制御周期の間ブームの先端は移動し、第1の制御周期後のブームの先端の位置は図示する(2)になる。なお、図示するように、ブームの動作の誤差等により、指示速度ベクトルで示される方向からズレが発生する場合がある。図の場合、図中の上下方向のズレが発生している。
【0095】
入力受付部11は、第1の制御周期に対応する操作レバーの操作を検出した後の任意のタイミング以降に、次の制御周期(第2の制御周期)の指示入力待ち状態となる。そして、オペレータにより操作レバーを所定の方向に所定角度傾ける操作がなされると、入力受付部11は操作レバーの操作内容を検出する。そして、入力受付部11は、検出した操作レバーの操作内容を、ブームの先端を移動させる方向及び速度を示す速度ベクトルに変換し、第2の制御周期の速度ベクトルとして出力する。なお、オペレータは、操作レバーを継続的に所定の方向に所定の角度で傾け続けておいてもよい。
【0096】
その後、速度ベクトル生成部12は、上述した指示速度ベクトル生成例1乃至3の何れかに基づき、第1の制御周期の指示速度ベクトルを生成し、出力する。
【0097】
その後、動作ベクトル決定部13は、指示速度ベクトルに左からヤコビ行列の逆行列を掛けることで、第2の制御周期の指示速度ベクトルを、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する(式(2)、(14)参照)。なお、動作ベクトル決定部13は、ヤコビ行列の逆行列を用いて得られた算出式を用いて、第2の制御周期の指示速度ベクトルを動作ベクトル(第2の制御周期の動作ベクトル)に変換してもよい(式(15)参照)。
【0098】
その後、判断部14は、第2の制御周期の動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが、伸縮、起伏及び旋回各々に対応して定められた閾値を超えないか判断する。
【0099】
第2の制御周期の動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが閾値を超えると判断された場合、算出部15は、閾値を超えた動作の速度を閾値以下にする減速率を算出する。そして、算出部15は、算出した減速率をアクチュエータ制御部16に入力する。
【0100】
なお、複数の動作の速度が閾値を超えた場合、算出部15は閾値を超えた動作毎に減速率を算出する。そして、算出部15は、その中の最小値(減速の幅が最も大きい減速率)をアクチュエータ制御部16に入力することができる。
【0101】
その後、アクチュエータ制御部16は、第2の制御周期の動作ベクトルで示される伸縮、起伏及び旋回すべての速度を、算出部15より入力された減速率で減速した第2の制御周期の減速後動作ベクトルを算出する。そして、アクチュエータ制御部16は、第2の制御周期の減速後動作ベクトルで示される動作方向及び速度で、ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させる。
【0102】
結果、第2の制御周期の間ブームの先端は移動し、第2の制御周期後のブームの先端の位置は図示する(3)になる。なお、図示するように、ブームの動作の誤差等により、指示速度ベクトルで示される方向からズレが発生する場合がある。図の場合、図中の上下方向のズレが発生している。
【0103】
以降、同様の処理を繰り返す。なお、制御周期は例えば1ミリ秒から100ミリ秒である。
【0104】
次に、本実施形態の制御装置10の作用効果を説明する。
【0105】
「第1の作用効果」
まず、ブームの先端を目的地まで直線的に動かす制御方法として、ブームの先端の位置を繰り返し制御する手段(位置フィードバック)が考えられる。これは、本実施形態の制御手法と異なる手段である。
【0106】
位置フィードバックによる制御を行う場合、例えば、ブームの先端の現在位置と目標位置を比較し、現在位置が目標位置に到達していない場合は正の出力を出し、現在位置が目標位置を超えた場合は負の出力を出すことで、目標位置と現在位置を一致させる。目標位置は、例えば、操作レバーの操作内容(傾ける方向、傾ける角度)に基づき、スプール変位から演算される。
【0107】
ここで、位置フィードバックで、
図8のように旋回と伸縮でブームの先端を図の右方向に移動し続ける場合を考える。なお、この条件における基本動作方向は旋回が「右」、伸縮は「伸」である。「基本動作方向」は、操作レバーの操作内容で指定されたブームの先端の移動(
図8の場合、右方向)を実現するためのブームの動作方向である。
【0108】
位置フィードバックの場合、図示するように制御周期毎に目標位置を定め、制御周期毎にブームの先端の位置を目標位置と一致させる。現在位置が目標位置に到達していない場合は正の出力を出し、現在位置が目標位置を超えた場合は負の出力を出すことで、目標位置と現在位置を一致させる。
【0109】
(2)乃至(4)各々の現在位置→目標位置の補正は次の通りである。(2)では、旋回補正は「左」、伸縮補正は「縮」となる。(3)では、旋回補正は「左」、伸縮補正は「伸」となる。(4)では、旋回補正は「右」、伸縮補正は「縮」となる。
【0110】
位置フィードバックの場合、このように、タイミング毎に各動作の補正の方向が反転する場合がある。また、上述の通り基本動作方向は「旋回:右、伸縮:伸」に対して、補正の方向が基本動作方向から反転している場合がある。
【0111】
位置制御の性能を向上させるために制御周期を短くした場合や、補正ゲインを大きくした場合、また、基本動作による移動速度が遅い場合は、基本動作方向に対する補正方向が反転する可能性が高くなり、また、制御周期毎に補正方向が反転する可能性も高まる。また、補正のために目標速度は微小なものとなる。ここで、
図9に、微小な目標速度が発生した場合にこの目標速度を満足するためのスプール変位を示す。
【0112】
図9に示すように目標速度が0近傍で細かく変化した場合、目標速度の符号に併せて正側の閾値と負側の閾値を超えるように目標スプール位置が激しく変化する。なお、正側の閾値及び負側の閾値は、各々、
図3に示す不感帯の上限及び下限である。産業用マニピューレタのように交流電流を使用しての電気制御の場合は印加電圧やインバータの周波数などを激しく変化させることが可能だが、スプールを介して油圧を制御する場合はスプールの応答速度を超えるためスプール変位に応答遅れやオーバーシュートが発生する(
図10参照)。応答遅れとオーバーシュートが生じたスプールに対して
図3の特性が現れるため、実際のアクチュエータの速度は
図11のように振動的になる。
【0113】
図11のように動作方向が激しく入れ替わるような内容でアクチュエータを動作させた場合、例えばブームがしなるなどさらに大きなオーバーランが発生し、制御系が発振する原因となる。
【0114】
これに対し、本実施形態では、
図7を用いて説明したように、ブームの先端の速度をベースとした制御を行う。ブームの先端を右に動かし続けるために、単位時間(1回の制御周期)当たりにおいてブームの先端で右方向に速度が発生するような旋回及び伸縮の速度を求め、これを満たすように制御する。ブームの先端の速度を満たす旋回及び伸縮の速度はブームの現姿勢によるため、制御周期毎に更新することができる。
【0115】
ブームの姿勢が大きく変わらない限り、ブームの先端の目標速度に対する旋回及び伸縮の目標速度は大きく変化せず、基本動作方向も変わらない。したがって、例えば旋回及び伸縮の速度が目標速度を超えた場合は自動車のアクセル制御のように減速することで補正され、旋回及び伸縮の動作方向の符号を変える必要はない。スプール位置についても、速度0~最大速度の範囲で制御し、反転を考慮する必要がないため、不感帯から最大速度の範囲で制御するだけでよい。目標速度が急激に変化しない限り、スプール変位量のフィードバック値もずれが発生せず、安定した制御をすることができる。
【0116】
「第2の作用効果」
速度ベースで制御するための速度の算出手段として、制御周期毎の目標位置を定め、現在位置と目標位置との差分により速度を求める手段(比較例の算出手段)が考えられる。これは、本実施形態の手段と異なる手段である。
【0117】
しかし、比較例の算出手段の場合、浮動小数点型の演算における微小な計算誤差による影響が問題となる。例えば、ブームの先端を垂直に上昇させたい場合、旋回を行う必要がない。しかし、比較例の算出手段の場合、浮動小数点型の演算における丸め込み等の誤差により、動作不要な旋回に対して符号が頻繁に変化する形で微小な目標速度が発生する。計算誤差の他に、ブームのガタ等により旋回位置に微小量分の狂いが生じた場合にも微小な目標速度が発生する可能性がある。符号の変化を伴う微小な目標速度は制御弁の制御に悪影響を与える。なお、他の動作に対しても浮動小数点型の演算における誤差は発生するが、基本動作速度に対して微小であるため大きな影響はない。
【0118】
また、比較例の算出手段で旋回や起伏の角速度を求める場合、平方根を用いて演算する必要がある。このため、計算コストが大きくなる。
【0119】
これに対し、本実施形態の制御装置10は、式(14)に示すヤコビ行列の逆行列に基づいて、ブームの先端を移動させる方向及び速度を示す速度ベクトルを、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルに変換する。
【0120】
式(14)に示すヤコビ行列の逆行列の各要素は三角関数の四則演算で構成され、平方根が含まれていない。このため、各要素を求めるための計算コストは大きくならない。また、式(15)に示すように、ヤコビ行列の逆行列を用いて得られた算出式も平方根を含まない。このため、式(15)に基づく計算コストも大きくならない。
【0121】
また、式(15)より、x´及びy´を0とすると、旋回の速度ベクトルを示すq1´は0となる。すなわち、クレーンの先端を垂直方向に移動させる場合には、旋回の速度ベクトルを0にできる。このため、比較例の算出手段のように演算誤差による微小な目標速度が発生する不都合を回避できる。
【0122】
また、式(15)より、積と和によって動作ベクトルが求まるため、計算コストが小さい。また、動作ベクトルの解が一意に求まる。
【0123】
このような本実施形態の制御装置10によれば、ブームの先端を目的地まで直線的にかつなめらかに動かすことができる。
【0124】
「第3の効果」
また、本実施形態の場合、動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが閾値を超える場合、閾値を超えないように速度を補正し、補正後の速度でアクチュエータを動作させることができる。そして、当該補正においては、閾値を超える動作のみを補正するのでなく、すべての動作を同じ減速率で減速することができる。
【0125】
所定のルールで決定した動作ベクトルで示される伸縮、起伏及び旋回各々の速度のうち、一部の速度を変更すると、ブームが予期せぬ動きをする。結果、ブームの先端のなめらかな動きが妨げられる。動作ベクトルで示される伸縮、起伏及び旋回各々の速度のうち一部の速度を変更する必要がある場合においても、すべての動作の速度を同じ減速率で減速する本実施形態によれば、このような状況下でもブームの先端のなめらかな動きが確保される。
【0126】
<第2の実施形態>
本実施形態の制御装置10は、判断部14及び算出部15の構成が第1の実施形態と異なる。その他の構成は、第1の実施形態と同様である。また、作業機の構成も第1の実施形態と同様である。
【0127】
判断部14は、動作ベクトル決定部13により決定された動作ベクトルで示される伸縮、起伏及び旋回の速度を実現する油圧ポンプの吐出量が閾値を超えないか判断する。各動作に必要な圧油の流量は、任意の手段で算出できる。例えば、各動作に必要な圧油の流量は、各動作の速度(動作ベクトルで示される速度)に、シリンダの断面積等に基づき決定された係数を掛けることで求めてもよい。判断部14は、各動作に必要な圧油の流量を算出し、その合計が閾値を超えないか判断する。閾値は、例えば油圧ポンプの最大吐出量である。
【0128】
算出部15は、判断部14により超えると判断された場合、油圧ポンプの吐出量を閾値以下にする減速率を算出する。算出部15は、例えば、(減速率)=(閾値)/(動作ベクトルで示される伸縮、起伏及び旋回の速度を実現する油圧ポンプの吐出量)に基づき算出してもよい。算出部15は、算出した減速率をアクチュエータ制御部16に入力する。
【0129】
以上説明した本実施形態によれば、第1の実施形態と同様な作用効果を実現できる。また、動作ベクトルで示される伸縮、起伏及び旋回の速度を実現する油圧ポンプの吐出量が閾値を超える場合、動作ベクトルで示される伸縮、起伏及び旋回すべての速度を同じ減速率で減速し、油圧ポンプの吐出量を閾値以内にすることができる。本実施形態によれば、このような状況下でもブームの先端のなめらかな動きが確保される。
【0130】
<第3の実施形態>
本実施形態の制御装置10は、速度ベクトル生成部12の構成が第1及び第2の実施形態と異なる。その他の構成は、第1及び第2の実施形態と同様である。また、作業機の構成も第1及び第2の実施形態と同様である。
【0131】
第1及び第2の実施形態の場合、
図7を用いて説明したように、ブームの先端の移動方向が目標とする方向からずれる可能性があった。本実施形態の速度ベクトル生成部12は、当該ずれを補正するように、指示速度ベクトルを生成する。
【0132】
まず、速度ベクトル生成部12は、入力受付部11により出力された速度ベクトルに基づき、制御周期毎に、ブームの先端の目標位置を決定する。目標位置は、作業機座標系で示される。
【0133】
例えば、速度ベクトル生成部12は、移動開始時点のブームの先端の位置情報(作業機座標系で示すもの)を保持しておき、当該位置を起点として入力受付部11により出力された速度ベクトルで示される方向に当該速度ベクトルで示される速度で制御周期の間移動した後の位置を、最初の制御周期の目標位置として決定する。
【0134】
その後は、速度ベクトル生成部12は、第n-1の制御周期の目標位置から第nの制御周期に対応して入力受付部11により出力された速度ベクトルで示される方向に当該速度ベクトルで示される速度で制御周期の間移動した後の位置を、第nの制御周期の目標位置として決定する(nは2以上の整数)。
【0135】
そして、速度ベクトル生成部12は、第nの制御周期に対応して入力受付部11が受付けた入力内容に基づき決定される第1の速度ベクトルと、第n-1の制御周期後のブームの先端の位置から第n-1の制御周期のブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを、第nの制御周期における指示速度ベクトルとして生成する。第1の速度ベクトルは、第nの制御周期に対応して入力受付部11が受付けた入力内容に基づき、上述した指示速度ベクトル生成例1乃至3の何れかに基づき生成された指示速度ベクトルである。
【0136】
図12を用いて具体例を説明する。移動開始時点のブームの先端の位置を(1)とし、第1の制御周期後の状態を(2)、第2の制御周期後の状態を(3)、第3の制御周期後の状態を(4)とする。
【0137】
(2)より、第1の制御周期の目標位置に対して、第1の制御周期後の現在位置が異なっていることが分かる。速度ベクトル生成部12は、第2の制御周期の指示速度ベクトルとして、第2の制御周期に対応して決定した第1の速度ベクトルと、第1の制御周期後のブームの先端の位置から第1の制御周期のブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを決定する。
【0138】
同様に、(3)より、第2の制御周期の目標位置に対して、第2の制御周期後の現在位置が異なっていることが分かる。速度ベクトル生成部12は、第3の制御周期の指示速度ベクトルとして、第3の制御周期に対応して決定した第1の速度ベクトルと、第2の制御周期後のブームの先端の位置から第2の制御周期のブームの先端の目標位置に向かう第2の速度ベクトルとを足し合わせた合成ベクトルを決定する。
【0139】
図より、合成ベクトルは、ブームの先端位置を目標軌道上に戻す方向のベクトルとなる。なお、速度ベクトル生成部12は所定の係数を掛けた第2の速度ベクトルと第1の速度ベクトルとを足し合わせた合成ベクトルを、指示速度ベクトルとしてもよい。係数を調整することで、目標軌道上に戻す補正の大きさを調整できる。係数は、予め与えられていてもよい。
【0140】
次に、本実施形態の変形例を説明する。アクチュエータ制御部16は、上記合成ベクトルを変換した動作ベクトルで示されるブームの伸縮、起伏及び旋回の内、上記第1の速度ベクトルを変換した第1の動作ベクトルで示されるブームの伸縮、起伏及び旋回各々と動作方向が一致する動作は実行させ、動作方向が異なる動作は実行させないように制御してもよい。
【0141】
第1の動作ベクトルは、第1の速度ベクトルに左からヤコビ行列の逆行列を掛けることで(式(2)、(14)参照)、又は、ヤコビ行列の逆行列を用いて得られた算出式を用いて(式(15)参照)、第1の速度ベクトルを変換した動作ベクトルである。
【0142】
次に、本実施形態の作用効果を説明する。本実施形態の制御装置10は、第1及び第2の実施形態と同様の作用効果を実現できる。
【0143】
また、
図7に示す第1及び第2の実施形態の制御の場合、位置誤差が蓄積する可能性がある。上述した合成ベクトルを指示速度ベクトルとする本実施形態の制御装置10によれば、位置誤差を軽減することができる。
【0144】
なお、目標軌道上を厳密に動かしたい場合は、現時点で生じている位置誤差を直ちに(例:次制御周期で)解消する必要がある。しかし、当該制御を行った場合、ブームの各動作の動作方向や速度が大きく変化する可能性がある。結果、ブームのなめらかな動きが実現されなくなる。
【0145】
本実施形態の場合、位置誤差を直ちに(例:次制御周期で)解消するのでなく、複数回の制御周期で位置誤差を少しずつ解消するように制御する。このため、位置誤差を解消しつつ、ブームのなめらかな動きを実現できる。
【0146】
また、第2の速度ベクトルで位置補正を行う本実施形態の場合、オペレータの入力内容に基づき決定される各アクチュエータの動作方向と、動作ベクトルで示される各アクチュエータの動作方向とが反転する可能性がある。しかし、上記変形例を採用することで、オペレータの入力内容に基づき決定される各アクチュエータの動作方向と異なる方向に動作させる不都合を回避できる。結果、ブームのなめらかの動きが実現される。
【0147】
<第4の実施形態>
本実施形態の制御装置10は、入力受付部11及び速度ベクトル生成部12の構成が第1乃至第3の実施形態と異なる。その他の構成は、第1乃至第3の実施形態と同様である。また、作業機の構成も第1乃至第3の実施形態と同様である。
【0148】
入力受付部11は、ブームの先端の最終目標位置を指定する入力を受付ける。最終目標位置は、作業機座標系で示される。例えば、特許文献3に記載の技術を利用してもよい。すなわち、作業機に複数の超音波受信ユニットを設置し、最終目標位置に超音波発信機を設置する。入力受付部11は、超音波発信時刻と超音波受信時刻の時間差の入力を受付ける。そして、入力受付部11は、入力された情報に基づき、ブームの先端の最終目標位置を算出し、出力する。
【0149】
速度ベクトル生成部12は、制御周期毎に、ブームの先端の現在位置から最終目標位置に向かう指示速度ベクトルを生成する。
【0150】
すなわち、速度ベクトル生成部12は、各制御周期後のブームの先端の現在位置を取得する。当該現在位置は、作業機座標系で示される。そして、速度ベクトル生成部12は、第nの制御周期の指示速度ベクトルの移動方向として、第n-1の制御周期後のブームの現在位置から最終目標位置に向かう方向を決定する。
図13に本実施形態の制御の概念図を示す。ブームの先端の現在位置から最終目標位置に向かう指示速度ベクトルが生成されている。
【0151】
ここで、指示速度ベクトルの速度の決定例を説明する。
【0152】
「指示速度ベクトルの速度決定例1」
予め、固定値が与えられていてもよい。そして、速度ベクトル生成部12は当該固定値を、指示速度ベクトルの速度としてもよい。
【0153】
「指示速度ベクトルの速度決定例2」
入力受付部11が速度を指定する入力を、任意の手段でオペレータから受付けてもよい。そして、速度ベクトル生成部12は、当該入力の内容に基づき、指示速度ベクトルの速度を決定してもよい。
【0154】
「指示速度ベクトルの速度決定例3」
「(最終目標位置とブームの現在位置との間の距離)≦(閾値)」を満たす場合、速度ベクトル生成部12は、「(指示速度ベクトルの速度)=(ブームの先端の現在の速度)-(加速度)×(制御周期分の時間)」で算出してもよい。加速度は、予め与えられる固定値であってもよい。
【0155】
ブームの先端が最終目標位置に近づいている場合、当該条件を満たすこととなる。この場合、上述のように指示速度ベクトルの速度を決定することで、最終目標位置に到達するタイミングが近付くと、徐々に速度を減少させることができる。結果、滑らかな動作が実現される。
【0156】
一方、「(最終目標位置とブームの現在位置との間の距離)>(閾値)」を満たす場合、速度ベクトル生成部12は、速度ベクトル生成部12は、指示速度ベクトルの速度決定例1又は2で、指示速度ベクトルの速度を決定してもよい。最終目標位置までの距離がある程度大きい場合、当該条件を満たすこととなる。
【0157】
「指示速度ベクトルの速度決定例4」
「(ブームの先端の現在の速度)<(指示速度ベクトルの速度決定例1又は2で決定された速度)」を満たす場合、速度ベクトル生成部12は、「(指示速度ベクトルの速度)=(ブームの先端の現在の速度)+(加速度)×(制御周期分の時間)」で算出してもよい。加速度は、予め与えられる固定値であってもよい。
【0158】
ブームの動作を開始した直後等はブームの先端の速度が小さいため、当該条件を満たしやすくなる。この場合、上述のように指示速度ベクトルの速度を決定することで、急激な速度上昇を抑制し、滑らかな動作が実現される。
【0159】
一方、「(ブームの先端の現在の速度)≧(指示速度ベクトルの速度決定例1又は2で決定された速度)」を満たす場合、速度ベクトル生成部12は、指示速度ベクトルの速度として、指示速度ベクトルの速度決定例1又は2で決定された速度を決定してもよい。ブームの動作を開始してからある程度の時間が経過し、ブームの先端の移動速度が安定している頃には当該条件を満たしやすくなる。
【0160】
閾値は、例えば、「現在速度から一定の減速度で減速し、停止するまでに要する距離」であってもよい。一例として、「(閾値)=(現在速度)×(現在速度から一定の減速度で減速した場合に停止するまでに要する時間)/2」で算出してもよい。または、「(閾値)=(現在速度)×(現在速度)/(2×減速度)」で算出してもよい。なお、「現在速度から一定の減速度で減速した場合に停止するまでに要する時間」は、「(現在速度から一定の減速度で減速した場合に停止するまでに要する時間)=(現在速度)/(減速度)」で算出してもよい。
【0161】
本実施形態によれば、第1乃至第3の実施形態と同様の作用効果を実現できる。また、本実施形態によれば、制御周期毎にブームの先端の現在位置を取得し、そこから最終目標位置に向かう指示速度ベクトルを生成することができる。このため、移動方向が最終目標位置に向かう方向から大きく外れることなく、ブームの先端をなめらかに移動させることができる。
【0162】
<第5の実施形態>
本実施形態の制御装置10は、判断部14の構成が第1乃至第4の実施形態と異なる。その他の構成は、第1乃至第4の実施形態と同様である。また、作業機の構成も第1乃至第4の実施形態と同様である。
【0163】
前の実施形態(例えば、第1の実施形態)で説明した通り、判断部14は、動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが、伸縮、起伏及び旋回各々に対応して定められた閾値を超えないか判断する。また、前の他の実施形態(例えば、第2の実施形態)で説明した通り、判断部14は、動作ベクトルで示される伸縮、起伏及び旋回の速度を実現する油圧ポンプの吐出量が閾値を超えないか判断する。
【0164】
そして、判断部14は、ブームの状態に応じて上記閾値を変化させることができる。例えば、判断部14は、ブームの状態と閾値との関係を示す情報(例:関数、テーブル等)を予め保持しておく。そして、判断部14は、現在のブームの状態と、上記情報とに基づき現在の閾値を決定し、上述したように閾値を超えるか否かの判断を行う。
【0165】
例えば、判断部14は、ブームストロークに応じて、ブームの伸縮動作に対応する閾値(速度の閾値、吐出量の閾値)を変化させてもよい。具体的には、ブームが伸び切るタイミング、ブームが縮み切るタイミング、又、複数のシリンダを順番に動作させてブーム長を切り替える構成の場合には動作させるシリンダを切り替えるタイミングの閾値を、他のタイミングの閾値よりも小さくすることができる。
【0166】
また、判断部14は、ブームの旋回角度に応じて、ブームの旋回動作に対応する閾値(速度の閾値、吐出量の閾値)を変化させてもよい。具体的には、ブームの旋回角度が可動域限界になるタイミングの閾値を、他のタイミングの閾値よりも小さくすることができる。
【0167】
動作速度は閾値以下に抑制されるので、閾値を小さくしたタイミングは他のタイミングよりも動作速度が小さくなる傾向となる。ところで、ブームが伸び切るタイミング、ブームが縮み切るタイミング、又、シリンダが切り替わるタイミングには振動する可能性がある。このようなタイミングの動作速度を小さくすることで、振動を抑制することができる。また、ブームの旋回角度が可動域限界になるタイミングには振動する可能性がある。このようなタイミングの動作速度を小さくすることで、振動を抑制することができる。
【0168】
ここで、
図20に、ブームストロークに応じてブームの伸縮動作に対応する閾値を変化させる例を示す。図示する例では、ブームストローク0m付近、3m付近、8m付近の閾値を、他の状態の閾値よりも小さくしている。ブームストローク0m付近は、ブームが縮み切るタイミングである。ブームストローク3m付近は、シリンダが切り替わるタイミングである。ブームストローク8m付近は、ブームが伸び切るタイミングである。
【0169】
図示する例の場合、ブームストローク0m及び8mでは、閾値(シリンダ速度)を最大速度の20%としている。また、ブームストローク3mでは、閾値(シリンダ速度)を最大速度の35%としている。
【0170】
例えば、動作ベクトル決定部13により決定された伸縮動作のシリンダ速度が最大速度の70%であり、その時のブームストロークが0mであったとする。この場合、判断部14は、
図20より閾値(シリンダ速度)を最大速度の20%と決定し、決定された伸縮動作のシリンダ速度は閾値を超えると判断する。その後、算出部15は、0.28倍(=20/70)の減速率を算出する。そして、アクチュエータ制御部16は、動作ベクトルで示される伸縮、起伏及び旋回すべての速度を0.28倍の減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させる。
【0171】
ちなみに、ブームストロークが0mから8mの間ずっと、動作ベクトル決定部13により決定された伸縮動作のシリンダ速度が最大速度の70%であった場合、伸縮動作のシリンダ速度は判断部14と算出部15とにより
図21の実線のように決定されることとなる。
【0172】
本実施形態によれば、第1乃至第3の実施形態と同様の作用効果を実現できる。
【0173】
ここで、第1乃至第5の実施形態に共通の作用効果をさらに説明する。本実施形態の制御装置10によれば、全ての軸の速度に同じ減速率をかけることで、ブームの先端の移動方向を維持したまま速度を制限できる。移動方向を維持したまま速度を制限することができるため、速度超過時の減速や、各軸の可動範囲の限界、伸縮シリンダ切換時の振動を防ぐための減速を行う事でなめらかに動かす事ができる。
【0174】
図14乃至
図16を用いて、ブーム動作範囲限界における減速動作時の作用効果を説明する。
図14に示すブームの先端の「意図する移動方向」を実現する場合、ブームを伸長し、かつ、図中右方向に旋回させることとなる。図において、ブームの伸長、旋回、ブームの先端の移動を実線矢印で示している。
【0175】
ここで、ブーム伸長の制限に基づくブーム先端の到達可能範囲が図示するようになるとする。ブーム伸長動作の限界に近づくとブーム伸長動作を減速させる必要があるが、ブーム伸長動作のみを減速させると(すなわち、図中右方向の旋回動作は減速させない)、ブームの先端は
図15に示すように移動することとなる。図において、ブームの伸長、旋回、ブームの先端の移動を実線矢印で示している。また、点線矢印と実線矢印の長さの違いを用いて、図中最も右側にブームが位置する際のブームの伸長動作の減速を示している。
【0176】
図15に示すように、ブームの伸長動作のみを減速した場合のブームの先端の移動方向は、ブームの伸長動作を減速させなかった場合に実現されるはずであったブームの先端の移動方向と異なる。
【0177】
これに対し、ブーム伸長動作の減速が必要な際に、ブームの伸長動作と旋回動作の両方を同じ減速率で減速すると、ブームの先端は
図16に示すように移動することとなる。図において、ブームの伸長、旋回、ブームの先端の移動を実線矢印で示している。また、点線矢印と実線矢印の長さの違いを用いて、図中最も右側にブームが位置する際のブームの伸長動作及び旋回動作の減速を示している。
【0178】
図16に示すように、ブームの伸長動作と旋回動作の両方を同じ減速率で減速すると、ブームの先端の移動方向を維持したままブームの先端の速度を制限できる。
【0179】
次に、
図17乃至
図19を用いて、シリンダ切換に伴う減速動作時の作用効果(第5の実施形態の作用効果)を説明する。
図17に示すブームの先端の「意図する移動方向」を実現する場合、ブームを伸長し、かつ、図中右方向に旋回させることとなる。シリンダ1が伸びきった後に、シリンダ2が伸び始める。図において、ブームの伸長、旋回、ブームの先端の移動を実線矢印で示している。
【0180】
ここで、振動を抑制するため、シリンダ1が伸びきる前にブーム伸長動作を減速させる必要があるが、ブーム伸長動作のみを減速させると(すなわち、図中右方向の旋回動作は減速させない)、ブームの先端は
図18に示すように移動することとなる。図において、ブームの伸長、旋回、ブームの先端の移動を実線矢印で示している。また、点線矢印と実線矢印の長さの違いを用いて、図中最も右側にブームが位置する際のブームの伸長動作の減速を示している。
【0181】
図18に示すように、ブームの伸長動作のみを減速した場合のブームの先端の移動方向は、ブームの伸長動作を減速させなかった場合に実現されるはずであったブームの先端の移動方向と異なる。
【0182】
これに対し、ブーム伸長動作の減速が必要な際に、ブームの伸長動作と旋回動作の両方を同じ減速率で減速すると、ブームの先端は
図19に示すように移動することとなる。図において、ブームの伸長、旋回、ブームの先端の移動を実線矢印で示している。また、点線矢印と実線矢印の長さの違いを用いて、図中最も右側にブームが位置する際のブームの伸長動作及び旋回動作の減速を示している。
【0183】
図19に示すように、ブームの伸長動作と旋回動作の両方を同じ減速率で減速すると、ブームの先端の移動方向を維持したままブームの先端の速度を制限できる。
【0184】
なお、旋回動作や起伏動作のみを減速させる必要がある場合においても同様である。
【0185】
以下、参考形態の例を付記する。
1. 入力受付部と、
前記入力受付部が受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定部と、
前記動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが、伸縮、起伏及び旋回各々に対応して定められた閾値を超えないか判断する判断部と、
前記判断部により超えると判断された場合、前記閾値を超えた動作の速度を前記閾値以下にする減速率を算出する算出部と、
前記判断部により超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御部と、
を有する制御装置。
2. 1に記載の制御装置において、
前記アクチュエータ制御部は、前記判断部により超えないと判断された場合、前記動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させる制御装置。
3. 入力受付部と、
前記入力受付部が受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定部と、
前記動作ベクトルで示される伸縮、起伏及び旋回の速度を実現する油圧ポンプの吐出量が閾値を超えないか判断する判断部と、
前記判断部により超えると判断された場合、前記油圧ポンプの吐出量を前記閾値以下にする減速率を算出する算出部と、
前記判断部により超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御部と、
を有する制御装置。
4. 1から3のいずれかに記載の制御装置において、
前記入力受付部が受付けた入力内容に基づき、前記ブームの先端を移動させる方向及び速度を3次元座標系で示す速度ベクトルを生成する速度ベクトル生成部をさらに有し、
前記動作ベクトル決定部は、前記速度ベクトルに左からヤコビ行列の逆行列を掛けることで、又は、前記ヤコビ行列の逆行列を用いて得られた算出式を用いて、前記速度ベクトルを前記動作ベクトルに変換する制御装置。
5. 4に記載の制御装置において、
前記ヤコビ行列の逆行列は、
【数16】
であり、
C
1=cos(q
1)、C
2=cos(q
2)、S
1=sin(q
1)、S
2=sin(q2)、q
1は前記ブームの旋回角、q
2は前記ブームの起伏角、q
3は前記ブームの長さ、D
boomは前記ブームの軸とトップシーブのオフセット距離、D
columnはコラム回転軸と接続ピンの水平オフセット距離である制御装置。
6. 1から5のいずれかに記載の制御装置において、
前記判断部は、前記ブームの状態に応じて前記閾値を変化させる制御装置。
7. コンピュータが、
入力受付工程と、
前記入力受付工程で受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定工程と、
前記動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが、伸縮、起伏及び旋回各々に対応して定められた閾値を超えないか判断する判断工程と、
前記判断工程で超えると判断された場合、前記閾値を超えた動作の速度を前記閾値以下にする減速率を算出する算出工程と、
前記判断工程で超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御工程と、
を実行する制御方法。
8. コンピュータを、
入力受付手段、
前記入力受付手段が受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定手段、
前記動作ベクトルで示される伸縮、起伏及び旋回各々の速度の中の少なくとも1つが、伸縮、起伏及び旋回各々に対応して定められた閾値を超えないか判断する判断手段、
前記判断手段により超えると判断された場合、前記閾値を超えた動作の速度を前記閾値以下にする減速率を算出する算出手段、
前記判断手段により超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御手段、
として機能させるプログラム。
9. コンピュータが、
入力受付工程と、
前記入力受付工程で受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定工程と、
前記動作ベクトルで示される伸縮、起伏及び旋回の速度を実現する油圧ポンプの吐出量が閾値を超えないか判断する判断工程と、
前記判断工程で超えると判断された場合、前記油圧ポンプの吐出量を前記閾値以下にする減速率を算出する算出工程と、
前記判断工程で超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御工程と、
を実行する制御方法。
10. コンピュータを、
入力受付手段、
前記入力受付手段が受付けた入力内容に基づき、ブームの伸縮、起伏及び旋回各々の動作方向及び速度を示す動作ベクトルを決定する動作ベクトル決定手段、
前記動作ベクトルで示される伸縮、起伏及び旋回の速度を実現する油圧ポンプの吐出量が閾値を超えないか判断する判断手段、
前記判断手段により超えると判断された場合、前記油圧ポンプの吐出量を前記閾値以下にする減速率を算出する算出手段、
前記判断手段により超えると判断された場合、前記動作ベクトルで示される伸縮、起伏及び旋回すべての速度を前記減速率で減速した減速後動作ベクトルで示される動作方向及び速度で、前記ブームを伸縮、起伏及び旋回させる複数のアクチュエータを動作させるアクチュエータ制御手段、
として機能させるプログラム。
【符号の説明】
【0186】
1A プロセッサ
2A メモリ
3A 入出力I/F
4A 周辺回路
5A バス
10 制御装置
11 入力受付部
12 速度ベクトル生成部
13 動作ベクトル決定部
14 判断部
15 算出部
16 アクチュエータ制御部