IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 国立大学法人広島大学の特許一覧 ▶ コベルコ建機株式会社の特許一覧

<>
  • 特開-自動運転装置 図1
  • 特開-自動運転装置 図2
  • 特開-自動運転装置 図3
  • 特開-自動運転装置 図4
  • 特開-自動運転装置 図5
  • 特開-自動運転装置 図6
  • 特開-自動運転装置 図7
  • 特開-自動運転装置 図8
  • 特開-自動運転装置 図9
  • 特開-自動運転装置 図10
  • 特開-自動運転装置 図11
  • 特開-自動運転装置 図12
  • 特開-自動運転装置 図13
  • 特開-自動運転装置 図14
  • 特開-自動運転装置 図15
  • 特開-自動運転装置 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024036022
(43)【公開日】2024-03-15
(54)【発明の名称】自動運転装置
(51)【国際特許分類】
   E02F 3/43 20060101AFI20240308BHJP
   E02F 9/20 20060101ALI20240308BHJP
【FI】
E02F3/43 A
E02F9/20 C
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022140712
(22)【出願日】2022-09-05
(71)【出願人】
【識別番号】504136568
【氏名又は名称】国立大学法人広島大学
(71)【出願人】
【識別番号】000246273
【氏名又は名称】コベルコ建機株式会社
(74)【代理人】
【識別番号】100115381
【弁理士】
【氏名又は名称】小谷 昌崇
(74)【代理人】
【識別番号】100214961
【弁理士】
【氏名又は名称】中村 洋三
(72)【発明者】
【氏名】岡田 共史
(72)【発明者】
【氏名】山本 透
(72)【発明者】
【氏名】土井 隆行
(72)【発明者】
【氏名】秋山 将貴
【テーマコード(参考)】
2D003
【Fターム(参考)】
2D003AA01
2D003AB04
2D003BA02
2D003BA03
2D003CA02
2D003DA04
2D003DB02
2D003DB07
2D003DC07
(57)【要約】
【課題】コントローラが作業装置の掘削動作を自動で制御する場合であっても掘削作業の効率が低下することを抑制できる自動運転装置を提供する。
【解決手段】自動運転装置101のコントローラ70は、掘削動作における作業装置3の特定部位SPの目標軌道T上に間隔をおいて並ぶ複数の目標位置を設定し、掘削動作において特定部位SPが複数の目標位置から選ばれる対象目標位置P2に所定時間以内に到達できるか否かを、掘削動作に関する動作情報を用いて判定し、特定部位SPが所定時間以内に対象目標位置P2に到達できないと判定した場合に対象目標位置P2を目標軌道Tから外れた位置に修正し、修正後の対象目標位置P2’に向かって特定部位SPが移動し、その次に、複数の目標位置のうち対象目標位置P2に対して掘削方向の隣に位置する次の目標位置P3に向かって特定部位SPが移動するように掘削動作を制御する。
【選択図】図8
【特許請求の範囲】
【請求項1】
機体と前記機体に支持される作業装置とを備える作業機械を自動運転するための自動運転装置であって、
前記作業装置の掘削動作を制御するコントローラを備え、
前記コントローラは、
前記掘削動作における前記作業装置の特定部位の目標軌道上に間隔をおいて並ぶ複数の目標位置を設定し、
前記掘削動作において前記特定部位が前記複数の目標位置から選ばれる対象目標位置に所定時間以内に到達できるか否かを、前記掘削動作に関する動作情報を用いて判定し、
前記特定部位が前記所定時間以内に前記対象目標位置に到達できないと判定した場合に前記対象目標位置を前記目標軌道から外れた位置に修正し、
修正後の前記対象目標位置に向かって前記特定部位が移動し、その次に、前記複数の目標位置のうち前記対象目標位置に対して掘削方向の隣に位置する次の目標位置に向かって前記特定部位が移動するように前記掘削動作を制御する、自動運転装置。
【請求項2】
前記コントローラは、前記動作情報を用いて前記作業装置の前記掘削動作を予測し、予測結果に基づいて前記特定部位が前記所定時間以内に前記対象目標位置に到達できるか否かを判定する、請求項1に記載の自動運転装置。
【請求項3】
前記コントローラは、前記掘削動作を予測するための互いに異なる複数のモデルから選ばれる何れかのモデルと前記動作情報とを用いて前記作業装置の前記掘削動作を予測し、予測結果に基づいて前記特定部位が前記所定時間以内に前記対象目標位置に到達できるか否かを判定する、請求項1に記載の自動運転装置。
【請求項4】
前記コントローラは、前記予測結果と前記作業装置の実際の動作結果との比較を行い、前記比較の結果に応じて、前記掘削動作の予測に用いるモデルを、前記複数のモデルから選択される別のモデルに変更する、請求項3に記載の自動運転装置。
【請求項5】
前記複数のモデルのそれぞれは、前記掘削動作における前記作業装置と掘削対象との相互作用に基づいて構築された相互作用モデルであり、前記相互作用モデルは、前記相互作用の質量要素と、前記相互作用のばね要素及び前記相互作用のダンパ要素の少なくとも一方と、を用いて規定される、請求項3に記載の自動運転装置。
【請求項6】
前記動作情報は、前記掘削動作における掘削力に関する情報及び前記掘削動作における掘削距離に関する情報の少なくとも一方を含む、請求項1に記載の自動運転装置。
【請求項7】
前記特定部位は、前記作業装置に含まれるバケットの先端である、請求項1に記載の自動運転装置。
【請求項8】
修正後の前記対象目標位置は、修正前の前記対象目標位置よりも上方の位置で、かつ、前記複数の目標位置のうち前記対象目標位置に対して前記掘削方向の反対の方向の隣に位置する一つ前の目標位置と前記次の目標位置との間の位置である、請求項1に記載の自動運転装置。
【請求項9】
修正後の前記対象目標位置は、前記一つ前の目標位置又は前記特定部位の位置から修正前の前記対象目標位置までの距離と、前記一つ前の目標位置又は前記特定部位の位置から修正後の前記対象目標位置までの距離と、が同じ大きさになるような位置である、請求項8に記載の自動運転装置。
【請求項10】
修正後の前記対象目標位置は、前記一つ前の目標位置又は前記特定部位の位置と修正前の前記対象目標位置とを結ぶ線分と、前記一つ前の目標位置又は前記特定部位の位置と修正後の前記対象目標位置とを結ぶ線分とのなす角度が所定角度となるような位置である、請求項8に記載の自動運転装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、作業機械を自動運転する技術に関するものである。
【背景技術】
【0002】
油圧ショベルなどの作業機械は、作業現場において例えば掘削作業を行う。掘削作業の対象である土壌などの掘削対象の特性は、作業現場に応じて様々である。例えば掘削対象の土質の違いは、作業機械が行う掘削動作に対して影響を及ぼす。掘削作業においてオペレータは、土質を感覚的に把握しながらその現場に適するように作業機械を操縦する。近年、オペレータが作業機械を操縦しなくても掘削作業を作業機械に行わせることができる自動運転装置が知られている。このような自動運転装置が作業機械に作業現場の土質に適した掘削動作を行わせるためには、土質を考慮した制御が必要となる。
【0003】
特許文献1は、掘削計画を作成する際に土質の影響を適切に考慮することを目的とする掘削計画作成装置を開示している。この掘削計画作成装置は、土質に係るパラメータを異ならせて機械学習された複数の計画モデルを記憶する記憶部と、土質を推定する土質推定部と、地形情報を取得する地形情報取得部と、前記土質推定部が推定した土質に基づき前記計画モデルを選択し、選択した前記計画モデルに、前記地形情報取得部が取得した地形情報を入力し、前記計画モデルの出力として前記計画値を算出する計画値算出部と、を備える。
【0004】
特許文献2は、自動掘削中、埋設されてる異物をバケットの接触前に検知することを目的とするパワーショベルを開示している。このパワーショベルは、角度センサの計測値からバケットの掘削深さを求め、掘削深さと目標の深さとを比較し、シリンダへの流量を調整することにより自動掘削を行う。次に、パワーショベルは、ロードセルの検出値から掘削抵抗のベクトルを求め、求めたベクトルの異常の有無を、データベースを参照しながら判別して、異物の存在を予知する。異物の存在が予知された場合には、パワーショベルは、掘削をいったん停止し、次いで目標とする深さを修正し、自動掘削を再開する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2021-188362号公報
【特許文献2】特開平05-311692号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
掘削対象としての土壌には、硬い土質の領域が局所的に存在することがあり、土砂だけでなく比較的大きな岩などの硬い障害物が局所的に存在することもある。しかし、特許文献1の技術では、このような土壌内に局所的に存在する硬い土質及び障害物については何ら考慮されていない。従って、特許文献1の技術では、掘削作業においてバケットが硬い土質又は障害物に当たると、掘削動作が著しく緩慢になったり、掘削動作が停止したりすることが想定される。この場合、掘削動作の開始から終了までの1サイクルに要する時間が長くなり、掘削作業の効率が低下する。
【0007】
また、特許文献2の技術では、上述したように、異物の存在が予知された場合には、掘削がいったん停止され、目標とする深さが修正された後に自動掘削が再開される。このように掘削作業がいったん停止されると、掘削作業の効率が低下する。また、特許文献2の技術では、自動掘削がいったん停止されると、バケットが上方へ移動される。すなわち、バケットが土壌の浅い位置に移動され、その後、自動掘削が再開される。再開後の自動掘削は、土壌の浅い位置で行われるので、掘削作業において掘削される土量が少なくなり、その結果、掘削作業の効率が低下する。
【0008】
本開示は、コントローラが作業装置の掘削動作を自動で制御する場合であっても掘削作業の効率が低下することを抑制できる自動運転装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
提供されるのは、機体と前記機体に支持される作業装置とを備える作業機械を自動運転するための自動運転装置であって、前記作業装置の掘削動作を制御するコントローラを備え、前記コントローラは、前記掘削動作における前記作業装置の特定部位の目標軌道上に間隔をおいて並ぶ複数の目標位置を設定し、前記掘削動作において前記特定部位が前記複数の目標位置から選ばれる対象目標位置に所定時間以内に到達できるか否かを、前記掘削動作に関する動作情報を用いて判定し、前記特定部位が前記所定時間以内に前記対象目標位置に到達できないと判定した場合に前記対象目標位置を前記目標軌道から外れた位置に修正し、修正後の前記対象目標位置に向かって前記特定部位が移動し、その次に、前記複数の目標位置のうち前記対象目標位置に対して掘削方向の隣に位置する次の目標位置に向かって前記特定部位が移動するように前記掘削動作を制御する。
【0010】
掘削作業において、目標軌道上に、硬い土質、硬い障害物などの硬質領域が局所的に存在する場合、特定部位がその硬質領域に近づくにつれて掘削動作の速度が次第に小さくなったり、掘削動作が停止したりするような状況が生じ得る。このような状況が生じることを抑制するために、本開示に係る自動運転装置のコントローラは、掘削動作に関する動作情報を用いて特定部位が対象目標位置に所定時間以内に到達できるか否かを判定し、特定部位が所定時間以内に対象目標位置に到達できないと判定した場合に対象目標位置を目標軌道から外れた位置に修正し、修正後の対象目標位置に向かって特定部位が移動するように掘削動作を制御する。これにより、修正前の対象目標位置に向かう目標軌道上に前記硬質領域が局所的に存在する場合であっても、コントローラは、その目標軌道から外れた修正後の対象目標位置に向けて特定部位を移動させることができる。従って、作業装置(例えば作業装置のバケット)が前記硬質領域に当たった状態で掘削動作が緩慢になったり掘削動作が停止したりすることを抑制できる。これにより1サイクルの掘削動作に要する時間が長くなることを抑制できる。しかも、コントローラは、修正後の対象目標位置に向かって特定部位が移動し、その次に、前記次の目標位置に向かって特定部位が移動するように掘削動作を制御する。すなわち、前記次の目標位置は、複数の目標位置のうち対象目標位置に対して掘削方向の隣に位置する目標位置であり、目標軌道から外れた位置ではなく、目標軌道上の位置である。従って、目標軌道上に硬質領域が局所的に存在する場合であっても、目標軌道上に設定された複数の目標位置のうち、修正される目標位置の数をできるだけ少なくすることができる。これにより、掘削動作の開始から終了まで特定部位が目標軌道上を移動する理想的な場合に掘削可能な土量(目標土量)に比べて、実際の掘削動作で掘削される土量(実土量)が大きく下回ることを回避できる。言い換えると、目標土量に対する実土量の乖離を小さくすることができる。以上のことから、本開示に係る自動運転装置は、コントローラが作業装置の掘削動作を自動で制御する場合であっても掘削作業の効率が低下することを抑制できる。
【0011】
コントローラは、特定部位が対象目標位置に所定時間以内に到達できるか否かの判定を所定時間が実際に経過した時点で行ってもよく、以下の具体例のように所定時間が経過する前に予測結果に基づいて前記判定を行ってもよい。
【0012】
前記コントローラは、前記動作情報を用いて前記作業装置の前記掘削動作を予測し、予測結果に基づいて前記特定部位が前記所定時間以内に前記対象目標位置に到達できるか否かを判定することが好ましい。この構成では、コントローラは、所定時間が経過するまで待たなくても、前記予測結果に基づいて特定部位が所定時間以内に対象目標位置に到達できるか否かを、所定時間が経過する前に判定することができる。従って、修正前の対象目標位置に向かう目標軌道上に前記硬質領域が局所的に存在する場合、コントローラは、所定時間が経過する前に、特定部位が所定時間以内に対象目標位置に到達できないと判定し、対象目標位置を目標軌道から外れた位置に修正し、修正後の対象目標位置に向けて特定部位を移動させることができる。従って、この構成では、特定部位が対象目標位置に所定時間以内に到達できるか否かの判定を所定時間が実際に経過した時点で行う場合に比べて、対象目標位置の修正をより早い段階で行うことができる。これにより、作業装置(例えば作業装置のバケット)が前記硬質領域に当たった状態で掘削動作が緩慢になったり掘削動作が停止したりすることをより効果的に抑制でき、よりスムーズな掘削動作が実現される。なお、この構成において、前記コントローラは、前記作業装置の前記掘削動作を予測するためのモデルと前記動作情報とを用いて前記作業装置の前記掘削動作を予測し、予測結果に基づいて前記特定部位が前記所定時間以内に前記対象目標位置に到達できるか否かを判定してもよい。
【0013】
前記コントローラは、前記作業装置の前記掘削動作を予測するための互いに異なる複数のモデルから選ばれる何れかのモデルと前記動作情報とを用いて前記作業装置の前記掘削動作を予測し、予測結果に基づいて前記特定部位が前記所定時間以内に前記対象目標位置に到達できるか否かを判定することが好ましい。この構成では、上記と同様に、コントローラは、所定時間が経過するまで待たなくても、前記予測結果に基づいて特定部位が所定時間以内に対象目標位置に到達できるか否かを、所定時間が経過する前に判定することができる。従って、修正前の対象目標位置に向かう目標軌道上に前記硬質領域が局所的に存在する場合、コントローラは、所定時間が経過する前に、特定部位が所定時間以内に対象目標位置に到達できないと判定し、対象目標位置を目標軌道から外れた位置に修正し、修正後の対象目標位置に向けて特定部位を移動させることができる。従って、この構成では、特定部位が対象目標位置に所定時間以内に到達できるか否かの判定を所定時間が実際に経過した時点で行う場合に比べて、対象目標位置の修正をより早い段階で行うことができる。これにより、作業装置(例えば作業装置のバケット)が前記硬質領域に当たった状態で掘削動作が緩慢になったり掘削動作が停止したりすることをより効果的に抑制でき、よりスムーズな掘削動作が実現される。
【0014】
また、この構成では、コントローラは、複数のモデルから選ばれる何れかのモデルと動作情報とを用いて作業装置の掘削動作を予測する。この場合、掘削動作の予測に用いられる前記モデルは、例えば、複数のモデルのうちの何れかのモデルを指定するために作業者が入力器に入力する情報に基づいてコントローラが複数のモデルから選択したものであってもよい。この場合、掘削動作の予測に関する特徴(傾向)に対して、作業者の意向を反映させることができる。
【0015】
また、掘削動作の予測に用いられる前記モデルは、例えば、動作情報に基づいてコントローラが複数のモデルから選択したものであってもよい。より具体的には、コントローラは、例えば、複数のモデルのうちから、動作情報に適したモデルを推定し、推定したモデルを、掘削動作の予測に用いるモデルとして選択してもよい。これにより、予測結果の精度を高めることができる。この場合、複数のモデルのそれぞれは、過去に行われた掘削作業の稼働データ(掘削動作に関するデータ)を用いて作成されたものであってもよい。この場合、複数のモデルのそれぞれは、過去に行われた掘削動作の動作情報と関連付けてデータベースに記憶されていてもよい。これにより、コントローラは、予測対象の掘削動作の動作情報と、データベースに記憶された複数のモデルのそれぞれに関連付けて記憶された過去の掘削動作の動作情報と、を比較し、予測対象の掘削動作の動作情報と同じ又は近い動作情報と関連付けられたモデルを選択してもよい。このようにしてコントローラは、比較結果に基づいて、予測対象の掘削動作の動作情報に適したモデルを推定することができる。なお、過去に行われた掘削動作の動作情報は、例えば、掘削力に関する情報を含んでいてもよく、掘削距離に関する情報を含んでいてもよい。
【0016】
前記コントローラは、前記予測結果と前記作業装置の実際の動作結果との比較を行い、前記比較の結果に応じて、前記掘削動作の予測に用いるモデルを、前記複数のモデルから選択される別のモデルに変更することが好ましい。具体的には、例えば、コントローラは、予測結果と作業装置の実際の動作結果との差異が所定の閾値よりも大きい場合には、動作情報により適した別のモデルを複数のモデルから選択し、掘削動作の予測に用いるモデルを、選択された前記別のモデルに更新してもよい。これにより、予測結果の精度をさらに高めることができる。
【0017】
前記複数のモデルのそれぞれは、前記掘削動作における前記作業装置と掘削対象との相互作用に基づいて構築された相互作用モデルであり、前記相互作用モデルは、前記相互作用の質量要素と、前記相互作用のばね要素及び前記相互作用のダンパ要素の少なくとも一方と、を用いて規定されることが好ましい。この構成では、複数のモデルのそれぞれが質量要素と、ばね要素及びダンパ要素の少なくとも一方と、を用いて規定される上記のような相互作用モデルであるので、コントローラは、掘削動作における作業装置と掘削対象との相互作用の特性をより正確に反映した予測を行うことができる。
【0018】
前記動作情報は、前記掘削動作における掘削力に関する情報及び前記掘削動作における掘削距離に関する情報の少なくとも一方を含むことが好ましい。この構成では、特定部位が対象目標位置に所定時間以内に到達できるか否かの判定に用いられる動作情報が掘削力に関する情報及び掘削距離に関する情報の少なくとも一方を含むので、コントローラは、前記判定をより正確に行うことができる。
【0019】
前記特定部位は、前記作業装置に含まれるバケットの先端であることが好ましい。掘削作業において、バケットの先端は、作業装置の他の部位に比べて、土壌中のより深い位置に配置されることが多く、硬い土質、硬い障害物などの硬質領域に最初に到達する場合が多い。従って、バケットの先端を特定部位に設定することで、コントローラは、前記判定をより適切に行うことができる。
【0020】
修正後の前記対象目標位置は、修正前の前記対象目標位置よりも上方の位置で、かつ、前記複数の目標位置のうち前記対象目標位置に対して前記掘削方向の反対の方向の隣に位置する一つ前の目標位置と前記次の目標位置との間の位置であってもよい。この構成では、特定部位が対象目標位置に向かって移動する経路上に硬質領域が存在する場合であっても、対象目標位置が上方に修正されることにより特定部位が硬質領域を避けやすくなる。また、作業装置が土壌の深い部分を掘削するときに比べて作業装置が土壌の浅い部分を掘削するときの方が掘削反力は小さくなる傾向にある。従って、この構成では、修正後の対象目標位置が修正前の対象目標位置よりも上方の位置であることにより、特定部位が修正後の対象目標位置に向かって移動するときの掘削反力が小さくなりやすい。これにより、特定部位を修正後の対象目標位置に移動させるのに要する時間を短縮することができる。また、修正後の対象目標位置が前記一つ前の目標位置と前記次の目標位置の間の位置であるので、特定部位が修正後の対象目標位置に向かって移動する向きが前記次の目標位置から遠ざかるような向きになりにくい。これにより、修正後の対象目標位置に向かう特定部位の動作がスムーズになる。具体的には、修正後の対象目標位置は、例えば、修正前の対象目標位置の真上の位置であってもよい。
【0021】
修正後の前記対象目標位置は、前記一つ前の目標位置から修正前の前記対象目標位置までの距離と、前記一つ前の目標位置から修正後の前記対象目標位置までの距離と、が同じ大きさになるような位置であってもよい。また、修正後の前記対象目標位置は、前記特定部位の位置から修正前の前記対象目標位置までの距離と、前記特定部位の位置から修正後の前記対象目標位置までの距離と、が同じ大きさになるような位置であってもよい。
【0022】
修正後の前記対象目標位置は、前記一つ前の目標位置と修正前の前記対象目標位置とを結ぶ線分と、前記一つ前の目標位置と修正後の前記対象目標位置とを結ぶ線分とのなす角度が所定角度となるような位置であってもよい。また、修正後の前記対象目標位置は、前記特定部位の位置と修正前の前記対象目標位置とを結ぶ線分と、前記特定部位の位置と修正後の前記対象目標位置とを結ぶ線分とのなす角度が所定角度となるような位置であってもよい。
【発明の効果】
【0023】
本開示によれば、コントローラが作業装置の掘削動作を自動で制御する場合であっても掘削作業の効率が低下することを抑制できる自動運転装置が提供される。
【図面の簡単な説明】
【0024】
図1】本開示の実施形態に係る自動運転装置による自動運転の対象である作業機械の一例を示す側面図である。
図2】前記自動運転装置のコントローラとこれに関連する構成要素とを示すブロック図である。
図3】掘削動作における作業装置の特定部位の目標軌道上に並ぶ複数の目標位置を示す図である。
図4】目標位置の修正の一例を示す図である。
図5】目標位置の修正の他の例を示す図である。
図6】前記自動運転装置の構成の他の例を示すブロック線図である。
図7】前記自動運転装置が行う制御フローの一例を示す図である。
図8】前記自動運転装置による処理の一例を示すフローチャートである。
図9】作業装置の掘削動作を予測するためのモデルの一例である相互作用モデルを説明するための図である。
図10】前記相互作用モデルを用いた予測の結果に基づいた判定とその判定結果に基づいた目標位置の修正の一例とを示す図である。
図11】前記相互作用モデルを用いた予測の結果に基づいた判定とその判定結果に基づいた目標位置の修正の他の例とを示す図である。
図12】前記相互作用モデルを用いた制御のシミュレーション結果を示す図である。
図13】前記相互作用モデルを用いた制御のシミュレーション結果を示す図である。
図14】参考例に係るシミュレーション結果を示す図である。
図15】参考例に係るシミュレーション結果を示す図である。
図16】シミュレーションに用いられた各種パラメータの値を示すテーブルである。
【発明を実施するための形態】
【0025】
以下、図面を参照しながら、本開示の実施形態について説明する。なお、以下の実施形態は、本開示を具体化した一例であって、本開示の技術的範囲を限定する性格のものではない。
【0026】
図1は、本開示の実施形態に係る自動運転装置101による自動運転の対象である作業機械100を示す側面図である。図1に示す作業機械100は、油圧ショベルである。
【0027】
作業機械100は、下部走行体1と、上下に延びる旋回軸Z回りに下部走行体1に対して旋回可能となるように下部走行体1に取り付けられた上部旋回体2と、上部旋回体2に取り付けられた作業装置3と、を備える。下部走行体1及び上部旋回体2は、本開示における機体の一例である。
【0028】
作業装置3は、上部旋回体2に対して回動可能に取り付けられたブーム4と、ブーム4に対して回動可能に取り付けられたアーム5と、アーム5に対して回動可能に取り付けられたバケット6とを含む。作業機械100は、ブーム4を回動させる油圧シリンダであるブームシリンダ7と、アーム5を回動させる油圧シリンダであるアームシリンダ8と、バケット6を回動させる油圧シリンダであるバケットシリンダ9と、上部旋回体2を旋回させる油圧モータである旋回モータ11と、をさらに備える。
【0029】
自動運転装置101は、作業機械100を自動運転するための装置である。自動運転装置101は、作業機械100に取り付けられていてもよく、作業機械100から離れた場所に設置されて作業機械100と無線又は有線により通信可能なように構成されていてもよい。
【0030】
図2に示すように、自動運転装置101は、コントローラ70を備える。コントローラ70は、作業機械100の作業装置3の掘削動作を制御する。
【0031】
掘削動作は、掘削対象を掘削する動作である。掘削対象は、例えば、作業現場の土壌E(図1参照)であってもよく、作業現場に配置された土砂の山であってもよい。土壌Eは、地面Gから下の部分である。本実施形態では、掘削対象は、土壌Eである。
【0032】
コントローラ70は、演算処理装置とメモリとを含むコンピュータを備える。コントローラ70は、目標設定部71と、掘削力演算部72と、位置演算部73と、到達判定部74と、目標位置修正部75と、制御指令部76と、を備える。目標設定部71、掘削力演算部72、位置演算部73、到達判定部74、目標位置修正部75、及び制御指令部76のそれぞれは、メモリに記憶された制御プログラムが実行されることにより実現される。
【0033】
目標設定部71は、目標軌道Tと、複数の目標位置と、を設定する。複数の目標位置は、対象目標位置P2と、次の目標位置P3と、一つ前の目標位置P1と、を含む。前記一つ前の目標位置P1、対象目標位置P2及び前記次の目標位置P3は、複数の目標位置のうち、この順に並ぶ3つの目標位置である。
【0034】
図3は、目標軌道Tと複数の目標位置Pa~Phの一例を示す図である。目標軌道Tは、掘削動作において作業装置3のバケット6の先端であるバケット先端SPが通るべき目標の経路である。複数の目標位置Pa~Phのそれぞれは、バケット先端SPの通過点の目標である。複数の目標位置Pa~Phは、目標軌道T上に間隔をおいて並ぶ。図3に示す具体例では、複数の目標位置Pa~Phのうち、目標位置Paが掘削動作の開始位置であり、目標位置Phが掘削動作の終了位置である。バケット先端SPは、作業装置の特定部位の一例である。
【0035】
対象目標位置P2は、複数の目標位置から選ばれる目標位置であり、掘削動作においてバケット先端SPが次に移動すべき目標の位置である。前記次の目標位置P3は、複数の目標位置のうちの一つであり、対象目標位置P2に対して掘削方向の隣に位置する目標位置である。前記一つ前の目標位置P1は、複数の目標位置のうちの一つであり、対象目標位置P2に対して掘削方向の反対の方向の隣に位置する目標位置である。掘削方向は、掘削動作の開始位置(目標位置Pa)から掘削動作の終了位置(目標位置Ph)に向かう方向であり、目標軌道Tに沿う方向である。目標軌道Tにおいて隣同士の2つの目標位置をつなぐ部分は直線であってもよく曲線であってもよい。
【0036】
対象目標位置P2は、掘削動作においてバケット先端SPが終了位置に近づくにつれて順次更新される。具体的には、例えば、バケット先端SPが例えば目標位置Pc又はその近傍の位置にあるときには対象目標位置P2は目標位置Pdに設定される。そして、コントローラ70は、対象目標位置P2(目標位置Pd)に向かってバケット先端SPが移動するように掘削動作を制御する。そして、バケット先端SPが目標位置Pd又はその近傍に到達すると、コントローラ70は、対象目標位置P2を目標位置Peに更新し、更新された対象目標位置P2(目標位置Pe)に向かってバケット先端SPが移動するように掘削動作を制御する。
【0037】
以下では、前記一つ前の目標位置P1のことを第1目標位置P1と称することがあり、対象目標位置P2のことを第2目標位置P2と称することがあり、前記次の目標位置P3のことを第3目標位置P3と称することがある。
【0038】
目標設定部71は、例えば予めメモリに記憶された目標に関する情報に基づいて目標軌道Tと複数の目標位置Pを設定してもよい。また、目標設定部71は、図略の記憶媒体又は通信回線を介してコントローラ70に入力される目標に関する情報に基づいて目標軌道Tと複数の目標位置Pを設定してもよい。
【0039】
また、目標設定部71は、図2に示す入力器91からコントローラ70に入力される目標に関する情報に基づいて目標軌道Tと複数の目標位置Pを設定してもよい。入力器91は、例えば、作業者が目標に関する情報を入力することが可能なように構成されていてもよい。入力器91は、作業機械100に実装されてもよいし、作業機械100から離れた場所に設置されて作業機械100と無線又は有線により通信可能なように構成されていてもよい。入力器91は、自動運転装置101が備えるものであってもよく、作業機械100が備えるものであってもよい。
【0040】
また、目標設定部71は、ティーチングにより特定される目標に関する情報に基づいて目標軌道Tと複数の目標位置Pを設定してもよい。ティーチングは、例えば、作業者(例えば熟練者)が作業機械100を操縦し、その過程においてバケット先端SPが通る経路及び複数の通過点をメモリに記憶させるものであってもよい。
【0041】
掘削力演算部72は、掘削動作における掘削力又は掘削動作において作業装置3に作用する掘削反力を演算する。掘削力演算部72は、例えば、検出器92からコントローラ70に入力される掘削力又は掘削反力に関する情報に基づいて掘削力又は掘削反力を演算してもよい。検出器92は、掘削力又は掘削反力に関する情報を検出する。
【0042】
検出器92は、バケットシリンダ9の圧力を検出する圧力センサ、アームシリンダ8の圧力を検出する圧力センサ、及びブームシリンダ7の圧力を検出する圧力センサの少なくとも一つを含んでいてもよい。
【0043】
掘削力は、例えば、作業装置3のバケット先端SP(特定部位)における掘削力であってもよく、バケット6全体における掘削力であってもよい。掘削反力は、例えば、作業装置3のバケット先端SP(特定部位)に作用する掘削反力であってもよく、バケット6全体に作用する掘削反力であってもよく、作業装置3全体に作用する掘削反力であってもよく、作業装置3のうちの予め定められた部位に作用する掘削反力であってもよい。
【0044】
位置演算部73は、バケット先端SPの位置を演算する。位置演算部73は、例えば、検出器93からコントローラ70に入力される位置情報に基づいてバケット先端SPの位置を演算してもよい。位置演算部73は、前記位置情報に基づいて、バケット先端SPの座標を演算することができる。バケット先端SPの座標は、例えば、地面Gと直交する2次元平面上の座標であってもよく、3次元座標であってもよい。座標の原点は、バケット先端SPの座標であってもよく、作業現場における予め設定された位置の座標であってもよく、作業機械100における予め設定された部位の座標であってもよく、掘削動作の開始位置であってもよく、他の位置の座標であってもよい。検出器93は、前記位置情報を検出する。
【0045】
検出器93は、例えば、作業機械100の姿勢を検出するセンサを含んでいてもよい。具体的には、検出器93は、ブーム4の姿勢を検出するセンサと、アーム5の姿勢を検出するセンサと、バケット6の姿勢を検出するセンサと、を含んでいてもよい。検出器93は、上部旋回体2の姿勢を検出するセンサをさらに含んでいてもよい。
【0046】
ブーム4の姿勢を検出するセンサは、上部旋回体2に対するブーム4の角度又は水平面に対するブーム4の角度を検出するセンサであってもよく、ブームシリンダ7の伸縮の状態を検出するセンサであってもよい。アーム5の姿勢を検出するセンサは、ブーム4に対するアーム5の角度又は水平面に対するアーム5の角度を検出するセンサであってもよく、アームシリンダ8の伸縮の状態を検出するセンサであってもよい。バケット6の姿勢を検出するセンサは、アーム5に対するバケット6の角度又は水平面に対するバケット6の角度を検出するセンサであってもよく、バケットシリンダ9の伸縮の状態を検出するセンサであってもよい。上部旋回体2の姿勢を検出するセンサは、水平面に対する上部旋回体2の姿勢を検出するセンサであってもよく、下部走行体1に対する上部旋回体2の旋回角度を検出するセンサであってもよい。
【0047】
到達判定部74は、掘削動作においてバケット先端SPが第1目標位置P1(前記一つ前の目標位置P1)の次に移動すべき目標位置である第2目標位置P2(対象目標位置P2)に所定時間以内に到達できるか否かを、実際の掘削動作に関する動作情報を用いて判定する。目標位置修正部75は、バケット先端SPが前記所定時間以内に第2目標位置P2に到達できないと判定された場合に、第2目標位置P2を目標軌道Tから外れた位置に修正する。制御指令部76は、修正後の第2目標位置P2’(修正後の対象目標位置P2’)に向かってバケット先端SPが移動し、その次に、第3目標位置P3(前記次の目標位置P3)に向かってバケット先端SPが移動するように前記掘削動作を制御する。以下では、バケット先端SPが第2目標位置P2(対象目標位置P2)に所定時間以内に到達できるか否かの判定を、到達可否判定と称することがあり、第2目標位置P2(対象目標位置P2)を目標軌道Tから外れた位置に修正することを、目標位置修正と称することがある。
【0048】
掘削作業において、土壌Eにおける目標軌道T上に、硬い土質、硬い障害物などの硬質領域R(図3参照)が局所的に存在する場合、バケット先端SPがその硬質領域Rに近づくにつれて、作業装置3に作用する掘削反力が大きくなるので、掘削動作の速度が次第に小さくなったり、掘削動作が停止したりするような状況が生じ得る。このような状況が生じることを抑制するために、コントローラ70の到達判定部74は上記のような到達可否判定を行い、コントローラ70の目標位置修正部75は、上記のような目標位置修正を行い、コントローラ70の制御指令部76は、上記のように掘削動作を制御する。これにより、修正前の第2目標位置P2(対象目標位置P2)に向かう目標軌道T上に前記硬質領域Rが局所的に存在する場合であっても、コントローラ70は、その目標軌道Tから外れた修正後の第2目標位置P2’(修正後の対象目標位置P2’)に向けてバケット先端SPを移動させることができる。
【0049】
従って、バケット6が前記硬質領域Rに当たった状態で掘削動作が緩慢になったり掘削動作が停止したりすることを抑制できる。これにより1サイクルの掘削動作に要する時間が長くなることを抑制できる。しかも、コントローラ70は、修正後の第2目標位置P2’(修正後の対象目標位置P2’)に向かってバケット先端SPが移動し、その次に第3目標位置P3(前記次の目標位置P3)に向かってバケット先端SPが移動するように掘削動作を制御する。すなわち、修正後の第2目標位置P2’の次に移動すべき目標の位置である第3目標位置P3は、目標軌道Tから外れた位置ではなく、目標軌道T上に位置する目標位置である。従って、目標軌道T上に硬質領域Rが局所的に存在する場合であっても、目標軌道T上に設定された複数の目標位置のうち、修正される目標位置の数をできるだけ少なくすることができる。これにより、掘削動作の開始から終了までバケット先端SPが目標軌道T上を移動する理想的な場合に掘削可能な土量(目標土量)に比べて、実際の掘削動作で掘削される土量(実土量)が大きく下回ることを回避できる。
【0050】
図3に示す具体例は、複数の目標位置Pa~Phのうち、3番目の目標位置Pcから4番目の目標位置Pdに向かってバケット先端SPが移動するときの状況を示している。この場合、3番目の目標位置Pcが第1目標位置P1(前記一つ前の目標位置P1)に相当し、4番目の目標位置Pdが第2目標位置P2(対象目標位置P2)に相当し、5番目の目標位置Peが第3目標位置P3(前記次の目標位置P3)に相当する。
【0051】
前記動作情報は、掘削動作における掘削力に関する情報及び掘削動作における掘削距離に関する情報の少なくとも一方を含んでいてもよい。掘削力に関する情報は、作業装置3(例えばバケット先端SP)における掘削力であってもよく、作業装置3(例えばバケット先端SP)に作用する掘削反力であってもよい。掘削距離に関する情報は、掘削動作における掘削距離であってもよい。また、前記動作情報は、バケット先端SPの位置に関する情報を含んでいてもよい。
【0052】
前記動作情報は、掘削力に関する情報、掘削距離に関する情報、及びバケット先端SPの位置に関する情報のうちの2つ以上を含んでいてもよい。掘削力又は掘削反力は、掘削力演算部72により演算される。到達判定部74は、位置演算部73により演算されるバケット先端SPの位置の情報に基づいて掘削距離を演算することができる。掘削距離は、例えば、掘削動作の開始位置(目標位置Pa)からバケット先端SPまでの距離であってもよく、第1目標位置P1からバケット先端SPまでの距離であってもよく、第1目標位置と第2目標位置の間の位置からバケット先端SPまでの距離であってもよい。
【0053】
前記所定時間は、例えば、予めメモリに記憶された値に基づいて設定されてもよい。前記所定時間は、例えば、作業者が入力器91に入力した入力情報(例えば入力値)に基づいて設定されてもよい。前記所定時間は、例えば、第1目標位置P1と第2目標位置P2との距離に応じてコントローラ70によって設定されてもよい。前記所定時間は、掘削動作中において一定値であってもよい。前記所定時間の計測を開始する基準となる時点は、例えば、バケット先端SPが第1目標位置P1又はその近傍を通過した時点であってもよく、バケット先端SPが第1目標位置P1と第2目標位置P2との間の位置を通過した時点であってもよい。前記所定時間は、後述する図16に示すテーブルにおけるサンプリング時間Tsと、予測ステップNptrjと、により決まる時間であってもよい。図16に示す具体例では、サンプリング時間Tsが0.05秒であり、予測ステップNptrjが60ステップであるので、前記所定時間は、3秒である(所定時間=0.05×60=3)。
【0054】
また、コントローラ70は、バケット先端SPの位置に応じて前記所定時間を更新してもよい。具体的には、例えば、コントローラ70は、バケット先端SPが第2目標位置P2(対象目標位置P2)に近づくにつれて前記所定時間が小さくなるように前記所定時間を更新してもよい。この場合、前記所定時間の計測を開始する基準となる時点は、前記所定時間を更新した時点である。
【0055】
到達判定部74は、バケット先端SPが第2目標位置P2(対象目標位置P2)に前記所定時間以内に到達できるか否かの到達可否判定を、前記所定時間が実際に経過した時点で行ってもよく、前記所定時間が経過する前に予測結果に基づいて前記到達可否判定を行ってもよい。到達判定部74は、前記動作情報を用いて前記判定を例えば次のように行うことができる。
【0056】
前記所定時間が経過した時点で到達可否判定を行う場合には、到達判定部74は、所定時間が経過した時点で、位置演算部73により演算されるバケット先端SPの位置と、第2目標位置P2(対象目標位置P2)と、を比較する。そして、到達判定部74は、所定時間が経過した時点で、バケット先端SPの位置が第2目標位置P2に到達していない場合には、バケット先端SPが前記所定時間以内に第2目標位置P2に到達できないと判定する。
【0057】
また、コントローラ70が前記動作情報を用いて作業装置3の掘削動作を予測し、前記所定時間が経過する前に予測結果に基づいて到達可否判定を行う場合の具体例としては、次のようなものが挙げられる。
【0058】
到達判定部74は、掘削動作中に掘削力演算部72が演算した掘削反力が予め設定された閾値である反力閾値以上である場合に、バケット先端SPが前記所定時間以内に第2目標位置に到達できないと判定してもよい。
【0059】
到達判定部74は、掘削動作中に掘削力演算部72が演算した掘削反力と、前記所定時間と、に基づいて到達可否判定を行ってもよい。具体的には、次の通りである。掘削反力が大きいほど第2目標位置P2(対象目標位置P2)に到達するまでに要する必要時間は長くなる。到達判定部74は、掘削反力と必要時間との関係式を予め記憶している。到達判定部74は、掘削反力と関係式から演算される必要時間が、前記所定時間のうちの残り時間を超えている場合には、バケット先端SPが前記所定時間以内に第2目標位置P2に到達できないと判定してもよい。
【0060】
到達判定部74は、その時点における掘削距離と、前記所定時間と、に基づいて到達可否判定を行ってもよい。具体的には、次の通りである。到達判定部74は、その時点における掘削距離を用いて、第2目標位置P2(対象目標位置P2)までの残りの距離を演算することができる。この残りの距離が大きいほど第2目標位置P2に到達するまでに要する必要時間は長くなる。到達判定部74は、残りの距離と必要時間との関係式を予め記憶している。到達判定部74は、残りの距離と関係式から演算される必要時間が、前記所定時間のうちの残り時間を超えている場合には、バケット先端SPが前記所定時間以内に第2目標位置に到達できないと判定してもよい。
【0061】
また、到達判定部74は、作業装置3の掘削動作を予測するためのモデルと前記動作情報とを用いて作業装置3の前記掘削動作を予測し、予測結果に基づいてバケット先端SPが前記所定時間以内に第2目標位置P2(対象目標位置P2)に到達できるか否かを判定してもよい。前記モデルは、掘削動作を予測するために予め構築されたものである。前記モデルは、掘削動作における作業装置3と掘削対象(土壌E)との相互作用に基づいて構築された相互作用モデルであってもよい。相互作用モデルは、作業装置3(例えばバケット6)と掘削対象との相互作用の特性を表す少なくとも一つのパラメータを含む。このモデルを用いた掘削動作の予測については後述する。
【0062】
目標位置修正部75は、上述したように、バケット先端SPが前記所定時間以内に第2目標位置P2(対象目標位置P2)に到達できないと判定された場合に、第2目標位置P2を目標軌道Tから外れた位置に修正する。図3に示す具体例では、修正後の第2目標位置P2’(修正後の対象目標位置P2’)は、修正前の第2目標位置P2よりも上方の位置で、かつ、第1目標位置P1と第3目標位置P3の間の位置である。より具体的には、修正後の第2目標位置P2’は、修正前の第2目標位置P2よりも上方の位置で、かつ、その時点におけるバケット先端SPの位置と第3目標位置P3の間の位置であってもよい。
【0063】
バケット先端SPが第2目標位置P2に向かって移動する経路上に硬質領域Rが存在する場合であっても、第2目標位置P2が上方に修正されることによりバケット先端SPが硬質領域Rを避けやすくなる。また、バケット6が土壌Eの深い部分を掘削するときに比べてバケット6が土壌Eの浅い部分を掘削するときの方が掘削反力は小さくなる傾向にある。従って、修正後の第2目標位置P2’が修正前の第2目標位置P2よりも上方の位置であることにより、バケット先端SPが修正後の第2目標位置P2’に向かって移動するときの掘削反力が小さくなりやすい。これにより、バケット先端SPを修正後の第2目標位置P2’に移動させるのに要する時間を短縮することができる。また、修正後の第2目標位置P2’が第1目標位置P1と第3目標位置P3の間の位置であるので、バケット先端SPが修正後の第2目標位置P2’に向かって移動する向きが第3目標位置P3から遠ざかるような向き(図3では左向き)になりにくい。これにより、修正後の第2目標位置P2’に向かうバケット先端SPの動作がスムーズになる。
【0064】
より具体的には、修正後の第2目標位置P2’は、図3に示すように、修正前の第2目標位置P2の真上の位置であってもよい。この場合、修正後の第2目標位置P2’は、修正前の第2目標位置P2よりも図3に示す修正距離Hだけ上方の位置であってもよい。修正距離Hは、例えば、予めメモリに記憶された値に基づいて設定されてもよく、作業者が入力器91に入力した入力情報(例えば入力値)に基づいて設定されてもよい。ただし、修正後の第2目標位置P2’は、修正前の第2目標位置P2の真上の位置に限られず、前記真上の位置に対してバケット先端SPの進行方向(掘削方向)にずれた位置であってもよく、前記真上の位置に対してバケット先端SPの進行方向(掘削方向)とは反対の方向にずれた位置であってもよい。
【0065】
また、修正後の第2目標位置P2’は、修正前の第2目標位置P2よりも上方の位置で、かつ、第1目標位置P1と第3目標位置P3の間の位置であることに加え、第1目標位置P1から修正前の第2目標位置P2までの距離と、第1目標位置P1から修正後の第2目標位置P2’までの距離と、が同じ大きさになるような位置であってもよい。第1目標位置P1から修正前の第2目標位置P2までの距離は、第1目標位置P1と修正前の第2目標位置P2とを結ぶ線分Lの長さであり、第1目標位置P1から修正後の第2目標位置P2’までの距離は、第1目標位置P1と修正後の第2目標位置P2’とを結ぶ線分L’の長さである。
【0066】
また、修正後の第2目標位置P2’は、修正前の第2目標位置P2よりも上方の位置で、かつ、第1目標位置P1と第3目標位置P3の間の位置であることに加え、その時点におけるバケット先端SPの位置から修正前の第2目標位置P2までの距離と、その時点におけるバケット先端SPの位置から修正後の第2目標位置P2’までの距離と、が同じ大きさになるような位置であってもよい。バケット先端SPの位置から修正前の第2目標位置P2までの距離は、図3に示すようにバケット先端SPの位置と修正前の第2目標位置P2とを結ぶ線分Lの長さであり、バケット先端SPの位置から修正後の第2目標位置P2’までの距離は、バケット先端SPの位置と修正後の第2目標位置P2’とを結ぶ線分L’の長さである。
【0067】
また、修正後の第2目標位置P2’は、修正前の第2目標位置P2よりも上方の位置で、かつ、第1目標位置P1と第3目標位置P3の間の位置であることに加え、線分Lと線分L’とのなす角度が修正角度θ(所定角度)となるような位置であってもよい。修正角度θは、例えば、予めメモリに記憶された値に基づいて設定されてもよく、作業者が入力器91に入力した入力情報(例えば入力値)に基づいて設定されてもよい。修正角度θ(所定角度)は鋭角であることが好ましい。
【0068】
次に、バケット先端SPと障害物Rとの位置関係の観点で互いに異なる2つのケースについて、図4及び図5を参照しながら説明する。図4及び図5のそれぞれは、第2目標位置P2(対象目標位置P2)の修正方法の具体例を示す図である。
【0069】
図4は、バケット先端SPの下方に障害物Rが存在するようなケース1を示している。このケース1では、第1目標位置P1から修正前の第2目標位置P2に向かって移動するバケット先端SPの進行方向(掘削方向)が斜め下方であり、目標軌道Tのうち第1目標位置P1から修正前の第2目標位置P2までの部分である目標軌道部分TPの少なくとも一部が硬質領域Rに重なる。言い換えると、このケース1は、斜め下方に進むバケット先端SPがさらにその方向に進むと、バケット先端SPが障害物Rの上部又はその周辺に接するようなケースである。このケース1は、例えば掘削動作における序盤から中盤に生じることが多い。
【0070】
図4のケース1では、修正後の第2目標位置P2’は、バケット先端SPが修正前の第2目標位置P2に向かう場合に比べてバケット先端SPが土壌Eの浅い位置(地面Gに近い位置)を通り、かつ、バケット先端SPが修正後の第2目標位置P2’に向かうことで第3目標位置P3に近づくような位置に設定されることが好ましい。
【0071】
このケース1では、修正後の第2目標位置P2’は、上記と同様に、線分Lの長さと線分L’の長さとが同じになるような位置であってもよく、線分Lと線分L’とのなす角度が修正角度θ(所定角度)となるような位置であってもよい。
【0072】
また、このケース1において、到達判定部74が後述するモデルと動作情報とを用いて掘削動作を予測する場合には、目標位置修正部75は、第2目標位置P2を次のように修正してもよい。すなわち、到達判定部74が、バケット先端SPが図4に示す停止予測位置PRにおいて停止すると予測した場合、目標位置修正部75は、その予測が行われた時点におけるバケット先端SPの位置と、停止予測位置PRと、の位置関係に応じて第2目標位置P2を修正してもよい。図4に示す具体例では、予測が行われた時点におけるバケット先端SPの位置は、第1目標位置P1であるが、第1目標位置P1から修正前の第2目標位置P2に向かって進んだ位置であってもよい。ただし、予測が行われた時点におけるバケット先端SPの位置は、停止予測位置PRにはまだ到達していない位置である。
【0073】
図4に示すように、到達判定部74が、バケット先端SPが図4に示す停止予測位置PRにおいて停止すると予測した場合、目標位置修正部75は、停止予測位置PRの高さ位置と同じ高さ位置で、かつ、線分Lの長さと線分L’の長さとが同じになるような位置に、第2目標位置P2を修正してもよい。また、到達判定部74が、バケット先端SPが図4に示す停止予測位置PRにおいて停止すると予測した場合、目標位置修正部75は、停止予測位置PRの高さ位置と同じ高さ位置で、かつ、線分Lと線分L’とのなす角度が修正角度θ(所定角度)となるような位置に、第2目標位置P2を修正してもよい。
【0074】
図5は、バケット先端SPと障害物Rの側部とが対向するようなケース2を示している。このケース2では、第1目標位置P1から修正前の第2目標位置P2に向かって移動するバケット先端SPの進行方向(掘削方向)が水平又は斜め上方であり、目標軌道Tのうち第1目標位置P1から修正前の第2目標位置P2までの部分である目標軌道部分TPの少なくとも一部が硬質領域Rに重なる。言い換えると、このケース1は、水平又は斜め上方に進むバケット先端SPがさらにその方向に進むと、バケット先端SPが障害物Rの側部に接するようなケースである。このケース2は、例えば掘削動作の中盤から終盤に生じることが多い。
【0075】
この図5のケース2では、修正後の第2目標位置P2’は、第1目標位置P1よりも上方の位置であり、かつ、バケット先端SPが修正後の第2目標位置P2’に向かうことで第3目標位置P3に近づくような位置に設定されることが好ましい。
【0076】
また、このケース2において、到達判定部74が後述するモデルと動作情報とを用いて掘削動作を予測する場合には、目標位置修正部75は、第2目標位置P2を次のように修正してもよい。すなわち、このケース2において、到達判定部74が、バケット先端SPが図5に示す停止予測位置PRにおいて停止すると予測した場合、目標位置修正部75は、ケース1と同様に、その予測が行われた時点におけるバケット先端SPの位置と、停止予測位置PRと、の位置関係に応じて第2目標位置P2を修正してもよい。図5に示す具体例では、予測が行われた時点におけるバケット先端SPの位置は、第1目標位置P1であるが、第1目標位置P1から修正前の第2目標位置P2に向かって進んだ位置であってもよい。ただし、予測が行われた時点におけるバケット先端SPの位置は、停止予測位置PRにはまだ到達していない位置である。
【0077】
図5に示すように、到達判定部74が、バケット先端SPが図5に示す停止予測位置PRにおいて停止すると予測した場合、目標位置修正部75は、停止予測位置PRの真上の位置で、かつ、線分Lの長さと線分L’の長さとが同じになるような位置に、第2目標位置P2を修正してもよい。また、到達判定部74が、バケット先端SPが図5に示す停止予測位置PRにおいて停止すると予測した場合、目標位置修正部75は、停止予測位置PRの真上の位置で、かつ、線分Lと線分L’とのなす角度が修正角度θ(所定角度)となるような位置に、第2目標位置P2を修正してもよい。
【0078】
到達判定部74は、ケース1及びケース2の何れの状況であるかについて、例えば次のように判定してもよい。上述したように、ケース1は、掘削動作における序盤から中盤に生じることが多く、このケース1では、第1目標位置P1から修正前の第2目標位置P2に向かって移動するバケット先端SPの進行方向が斜め下方である。従って、到達判定部74は、掘削動作を予測する時点におけるバケット先端SPの位置が、目標軌道Tの前半の範囲にある場合にはケース1の状況であり、目標軌道Tの後半の範囲にある場合にはケース2の状況であると判定してもよい。また、到達判定部74は、バケット先端SPの動作速度が鉛直方向下向きの成分を含む場合にはケース1の状況であり、バケット先端SPの動作速度が鉛直方向上向きの成分を含む場合にはケース2の状況であると判定してもよい。
【0079】
制御指令部76は、バケット先端SPが目標軌道Tに沿って移動するように掘削動作を制御する。すなわち、制御指令部76は、バケット先端SPが複数の目標位置又はその近傍を通るように掘削動作を制御する。制御指令部76は、目標位置の修正が行われない場合には、その時点における第2目標位置P2(対象目標位置P2)に向かってバケット先端SPが移動するように掘削動作を制御し、目標位置の修正が行われた場合には、修正後の第2目標位置P2’(修正後の対象目標位置P2’)に向かってバケット先端SPが移動するように掘削動作を制御する。図3図4及び図5に示す具体例の場合、制御指令部76は、修正前の第2目標位置P2又は修正後の第2目標位置P2’に向かってバケット先端SPが移動し、その次に前記第3目標位置P3(前記次の目標位置P3)に向かってバケット先端SPが移動するように前記掘削動作を制御する。すなわち、第2目標位置P2の修正が行われない場合には、制御指令部76は、修正前の第2目標位置P2に向かってバケット先端SPが移動し、その次に前記第3目標位置P3に向かってバケット先端SPが移動するように前記掘削動作を制御する。第2目標位置P2の修正が行われた場合には、制御指令部76は、修正後の第2目標位置P2に向かってバケット先端SPが移動し、その次に前記第3目標位置P3に向かってバケット先端SPが移動するように前記掘削動作を制御する。
【0080】
制御指令部76は、バケット先端SPを第2目標位置P2又はP2’に向けて移動させるための制御入力を作業機械100に入力する。これにより、作業装置3の掘削動作が制御される。具体的には、作業機械100は、複数の流量調整器94を備える。作業機械100の作業機械側コントローラは、前記制御入力に基づいて、複数の流量調整器94の少なくとも一つに入力する制御指令を演算し、当該制御指令を少なくとも一つの流量調整器94に入力する。これにより、バケット先端SPが第2目標位置P2又はP2’に向かって移動する。
【0081】
より具体的には、例えば、複数の流量調整器94は、ブームシリンダ7に供給する作動油の流量と作動油の供給方向を調整するためのブーム流量調整器94と、アームシリンダ8に供給する作動油の流量と作動油の供給方向を調整するためのアーム流量調整器94と、バケットシリンダ9に供給する作動油の流量と作動油の供給方向を調整するためのバケット流量調整器94と、旋回モータ11に供給する作動油の流量と作動油の供給方向を調整するための旋回流量調整器94と、を含む。各流量調整器94は、例えば、制御弁と、この制御弁のパイロットポートに供給されるパイロット圧を調節する電磁比例弁と、を含んでいてもよい。
【0082】
作業機械100の作業機械側コントローラは、制御指令部76から入力される前記制御入力に基づいて、バケット先端SPが第2目標位置P2又はP2’に向かって移動するように、例えば、ブーム流量調整器94の電磁比例弁、アーム流量調整器94の電磁比例弁、及びバケット調整器94の電磁比例弁の少なくとも一つに制御指令を入力する。電磁比例弁は、制御指令に応じた2次圧(パイロット圧)を出力し、当該パイロット圧は、その電磁比例弁に対応する制御弁のパイロットポートに入力され、当該制御弁の開度は、パイロット圧に応じて調整される。これにより、制御指令に応じた流量の作動油が対応するシリンダに供給され、バケット先端SPが目標位置に向かって移動する。
【0083】
コントローラ70の制御指令部76が作業機械100に入力する前記制御入力は、例えば、バケット先端SPにおける掘削力を作業機械100に指示するための掘削力指令であってもよい。この掘削力指令は、後述する図6における制御入力u(t)に相当し、掘削の方向と掘削力の大きさを指示するための指令(掘削力ベクトルを指示するための指令)である。この制御入力(掘削力指令)が入力される作業機械100の作業機械側コントローラは、掘削力指令に対応する方向に掘削力指令に対応する掘削力の大きさでバケット先端SPが動くように複数の電磁比例弁に制御指令を入力し、これにより、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9に作動油が分配される。
【0084】
以上の内容は、本実施形態に係る自動運転装置101が備える主な特徴である。以下では、自動運転装置101のより具体的な態様について説明する。
【0085】
図6は、自動運転装置101の構成の他の例を示すブロック線図である。図7は、自動運転装置101が行う制御フローの一例を示す図である。
【0086】
図6に示すように、自動運転装置101は、モデル作成器102と、データベース103と、をさらに備える。コントローラ70は、モデル推定部77をさらに備える。
【0087】
モデル作成器102は、過去に行われた掘削作業の稼働データを用いて新たなモデルを作成する(図7のステップS11,S12)。稼働データは、掘削動作に関するデータを含む。掘削動作に関するデータは、例えば、掘削力又は掘削反力に関するデータを含んでいてもよく、掘削距離に関するデータを含んでいてもよい。モデル作成器102が作成するモデルは、例えば後述する図9に示すバネマスダンパモデルのような相互作用モデルであってもよく、他のモデルであってもよい。モデル作成器102は、稼働データを用いてモデルを作成するとともに、作成したモデルをデータベース103に入力する。モデル作成器102は、作成したモデルと、稼働データに含まれる掘削動作の動作情報と、を関連付けたデータセットを作成し、そのデータセットをデータベース103に入力してもよい。
【0088】
データベース103は、モデル作成器102から入力される新たなモデルを順次記憶する(図7のステップS13)。従って、データベース103は、作業装置3の掘削動作を予測するための互いに異なる複数のモデルを記憶している。モデル作成器102から前記データセットが入力される場合には、データベース103は、複数のモデルのそれぞれと、そのモデルに対応する掘削動作の動作情報と、関連付けて記憶してもよい。
【0089】
前記相互作用モデルは、作業装置3(例えばバケット6)と掘削対象(例えば土壌E)との相互作用の特性を表す複数のパラメータを含む。相互作用モデルが図9に示すようなバネマスダンパモデルである場合、バネマスダンパモデルは、複数のモデルパラメータ(質量m(t)、粘性係数c(t)及びばね定数k(t))を含み、これらのモデルパラメータは、作業装置3(例えばバケット6)と掘削対象との相互作用の特性を表す。すなわち、これらのモデルパラメータは、前記相互作用の程度に応じた値に設定される。この場合、データベース103に記憶されている複数のモデルのそれぞれは、固有の複数のモデルパラメータを含んでいてもよい。また、データベース103が複数のデータセットを記憶している場合には、複数のデータセットのそれぞれは、固有の複数のモデルパラメータと、これに関連付けられた動作情報(例えば、掘削反力及び掘削距離)と、を含んでいてもよい。また、各バネマスダンパモデルは、前記複数のモデルパラメータに代えて、後述する式(4)における複数のシステムパラメータ(a1(k)、a2(k)、b0(k))を含んでいてもよい。これらのシステムパラメータは、前記複数のモデルパラメータに対応するものであり、作業装置3(例えばバケット6)と掘削対象との相互作用の特性を表す。従って、データベース103が記憶している複数のモデルのそれぞれは、複数のモデルパラメータを含んでいてもよく、複数のシステムパラメータを含んでいてもよい。
【0090】
モデル推定部77は、その時点における実際の掘削動作の動作情報に適したモデルを推定し、推定したモデルを掘削動作の予測に用いるモデルとして選択する。
【0091】
モデル推定部77は、例えば次のようにモデルの推定を行ってもよい。モデル推定部77は、その時点における実際の掘削動作の動作情報と、各モデルの複数のシステムパラメータとを、式(4)に代入し、式(4)のy(k)を演算する。すなわち、モデル推定部77は、複数のモデルのそれぞれを用いた場合のy(k)を演算する。モデル推定部77は、演算された複数のモデルに対応する複数のy(k)と、その時点における実際の掘削動作における掘削距離y(t)と、を比較し、複数のモデルのうち、実際の掘削距離y(t)に最も近いy(k)を有するモデルが実際の動作情報に適したモデルであると推定し、推定したモデルを掘削動作の予測に用いるモデルとして選択してもよい(図7のステップS14,S15)。これにより、モデル推定部77は、実際の掘削動作の動作情報に適したモデルを選択することができる。
【0092】
また、データベース103が複数のデータセットを記憶している場合には、モデル推定部77は、例えば次のようにモデルの推定を行ってもよい。モデル推定部77は、作業装置3の動作情報(実際の動作情報)と、データベース103に記憶された複数のデータセットと、を比較し、実際の動作情報(現在の動作情報)に適したモデルを推定し、推定したモデルを掘削動作の予測に用いるモデルとして選択してもよい(図7のステップS14,S15)。具体的には、モデル推定部77は、現在の動作情報と、データベース103に記憶された複数のデータセットと、を比較し、現在の動作情報と同じ動作情報又は現在の動作情報に最も近い動作情報を含むデータセットを選択し、選択されたデータセットに含まれるモデルが現在の動作情報に適したモデルであると推定し、推定したモデルを掘削動作の予測に用いるモデルとして選択してもよい。
【0093】
到達判定部74は、モデル推定部77が複数のモデルから選択した一つのモデルと、その時点における実際の動作情報とを用いて、作業装置3の掘削動作を予測し(バケット先端SPの位置を予測し)、予測結果に基づいてバケット先端SPが前記所定時間以内に第2目標位置P2(対象目標位置P2)に到達できるか否かを判定する(図7のステップS16、S17)。
【0094】
上述したように、前記相互作用モデルは、作業装置3(例えばバケット6)と掘削対象との相互作用の特性を表す複数のパラメータ(複数のモデルパラメータ又は複数のシステムパラメータ)を含む。これらのパラメータは、作業装置3(例えばバケット6)と掘削対象との相互作用の特性を表し、前記相互作用の程度に応じた値を有する。言い換えると、複数の相互作用モデルは、例えば、土壌Eが高硬度である場合における掘削動作の予測に適したモデル、土壌Eが低硬度である場合における掘削動作の予測に適したモデル、土壌Eが高硬度と低硬度の間の中間硬度である場合における掘削動作の予測に適したモデルなどを含む。
【0095】
従って、到達判定部74は、その時点において選ばれている相互作用モデルの複数のパラメータと、その時点における動作情報と、予め設定された関係式と、を用いて、作業装置3の掘削動作(具体的には、バケット先端SPの動作)を予測することができる。例えば、到達判定部74は、複数のパラメータと、その時点における動作情報と、予め設定された関係式(例えば後述する式(7)~(9))と、を用いて、ある時間が経過した時点におけるバケット先端SPの位置を予測することができる。従って、到達判定部74は、上記のような掘削動作の予測結果、すなわち、バケット先端SPの位置の予測結果に基づいて、バケット先端SPが所定時間以内に対象目標位置P2に到達できるか否かを判定することができる。
【0096】
バケット先端SPが前記所定時間以内に第2目標位置P2に到達できると判定された場合(図7のステップS17においてYES)、すなわち、第2目標位置P2の修正が行われない場合には、制御指令部76は、修正前の第2目標位置P2に向かってバケット先端SPが移動するように作業機械100に制御入力を出力し、作業機械側コントローラは、前記制御入力に応じた制御指令を流量調整器94に出力する(図7のステップS18)。作業機械100は、実際の動作結果に関する動作情報をコントローラ70に出力する(図7のステップS20)。
【0097】
バケット先端SPが前記所定時間以内に第2目標位置P2に到達できないと判定され、第2目標位置P2の修正が行われた場合には(図7のステップS17においてNO、ステップS19)、制御指令部76は、修正後の第2目標位置P2に向かってバケット先端SPが移動するように作業機械100に制御入力を出力し、作業機械100の作業機械側コントローラは、前記制御入力に応じた制御指令を流量調整器94に出力する(図7のステップS18)。作業機械100は、実際の動作結果に関する動作情報をコントローラ70に出力する(図7のステップS20)。
【0098】
この自動運転装置101では、コントローラ70は、所定時間が経過するまで待たなくても、前記予測結果に基づいてバケット先端SPが所定時間以内に第2目標位置P2(対象目標位置P2)に到達できるか否かを、所定時間が経過する前に判定することができる。従って、修正前の第2目標位置P2に向かう目標軌道T上に硬質領域Rが局所的に存在する場合、コントローラ70は、所定時間が経過する前に、バケット先端SPが所定時間以内に第2目標位置P2に到達できないと判定し、第2目標位置P2を目標軌道Tから外れた位置に修正し、修正後の第2目標位置P2’に向けてバケット先端SPを移動させることができる。従って、到達可否判定を所定時間が実際に経過した時点で行う場合に比べて、第2目標位置P2の修正をより早い段階で行うことができる。これにより、作業装置3のバケット6が硬質領域Rに当たった状態で掘削動作が緩慢になったり掘削動作が停止したりすることをより効果的に抑制でき、よりスムーズな掘削動作が実現される。
【0099】
また、モデル推定部77は、前記予測結果と前記作業装置の実際の動作結果との比較を行い、前記比較の結果に応じて、前記掘削動作の予測に用いるモデルを、前記複数のモデルから選択される別のモデルに変更する。具体的には、例えば、モデル推定部77は、予測結果と、作業装置3の実際の動作結果と、の差異が所定の閾値よりも大きい場合には、動作情報により適した別のモデルを複数のモデルから選択し、掘削動作の予測に用いるモデルを、選択された前記別のモデルに更新してもよい。具体的には、例えば、到達判定部74が予測したバケット先端SPの位置と、実際のバケット先端SPの位置と、の差が所定の閾値よりも大きい場合には、モデル推定部77は、次回の予測に用いるモデルを、上述した方法を用いてより適したモデルに更新してもよい。これにより、予測結果の精度をさらに高めることができる。
【0100】
図8は、自動運転装置101のコントローラ70による処理の一例を示すフローチャートである。図8を参照しながら、自動運転装置101と作業機械100との間の信号の送受信も含めた制御の流れについて説明する。
【0101】
コントローラ70の目標設定部71は、上述したように目標軌道Tと複数の目標位置Pa~Phを設定する。コントローラ70は、データベース103に記憶された複数のモデルの何れかのモデルを選択し、掘削動作の予測に用いるモデルとして設定する。掘削作業の開始時におけるモデルは、例えば、作業者が入力器91に入力したモデルに関する情報に基づいて選択されてもよく、予め設定されたモデル(デフォルトのモデル)であってもよい。
【0102】
自動運転装置101による作業機械100の自動運転が開始されると、コントローラ70は、作業装置3のバケット先端SPが目標軌道T上又はその近傍を通るように作業装置3の掘削動作を制御する。バケット先端SPが空中から下降して地面Gに接触すると、検出器92は、作業装置3と掘削対象としての土壌E(地面G)との相互作用の開始の有無を検出し、コントローラ70は、検出器92から入力される検出信号に基づいて、作業装置3と土壌Eとの相互作用が発生したと判定する。コントローラ70は、前記相互作用が発生したバケット先端SPの位置を掘削動作の開始位置(図3では目標位置Pa)に設定してもよい。開始位置(目標位置Pa)は、例えば、地面G又は水平面と直交する2次元平面上の座標で表される。
【0103】
まず、コントローラ70は、目標位置Paから目標位置Pbに向かってバケット先端SPが移動するように作業装置3の掘削動作を制御する。この場合、目標位置Paが第1目標位置(前記一つ前の目標位置)に相当し、目標位置Pbが第2目標位置(対象目標位置)に相当し、目標位置Pcが第3目標位置(前記次の目標位置)に相当する。
【0104】
コントローラ70の到達判定部74は、掘削動作を予測するためのモデルと、作業装置3の実際の掘削動作に関する動作情報と、を用いて、掘削動作を予測する。すなわち、到達判定部74は、バケット先端SPの位置を予測し(図8のステップS101)、予測結果に基づいて、バケット先端SPが所定時間以内に次に移動すべき第2目標位置(対象目標位置)である目標位置Pbに到達できるか否かを判定する(ステップS102)。
【0105】
バケット先端SPが所定時間以内に目標位置Pb(第2目標位置)に到達できないと判定された場合(ステップS102においてNO)、目標位置修正部75は、第2目標位置としての目標位置Pbを修正する(ステップS107)。修正後の目標位置Pb(修正後の第2目標位置)は、上述したような方法で設定される。
【0106】
そして、制御指令部76は、バケット先端SPが修正後の目標位置Pbに向かって移動するように作業機械100に対する動作指示である制御入力u(t)を出力する(ステップS103)。この制御入力u(t)は、例えば、上述したように、バケット先端SPにおける掘削力を作業機械100に指示するための掘削力指令であってもよい。この制御入力u(t)は、作業機械100に入力される。作業機械100の作業機械側コントローラは、作業装置3が制御入力u(t)に応じた動作を行うように、複数の流量調整器94の電磁比例弁の少なくとも一つに制御指令を入力する(ステップS201)。これにより、バケット先端SPが修正後の目標位置Pbに向かって移動する。
【0107】
一方、バケット先端SPが所定時間以内に次の目標位置である目標位置Pbに到達できると判定された場合(ステップS102においてYES)、目標位置修正部75は、次の目標位置の修正を行わない。そして、制御指令部76は、バケット先端SPが修正されていない目標位置Pbに向かって移動するように制御入力u(t)を作業機械100に入力する(ステップS103)。作業機械100の作業機械側コントローラは、作業装置3が制御入力u(t)に応じた動作を行うように、複数の流量調整器94の電磁比例弁の少なくとも一つに制御指令を入力する(ステップS201)。これにより、バケット先端SPが修正されていない目標位置Pbに向かって移動する。
【0108】
作業機械100の作業機械側コントローラは、掘削動作に関する実際の動作結果(実際の動作情報)を自動運転装置101に送信する(ステップS202)。当該動作結果は、検出器92により検出される掘削力又は掘削反力に関する情報と、検出器93により検出される作業機械100の姿勢に関する情報と、を含んでいてもよい。
【0109】
自動運転装置101のコントローラ70は、作業機械100から送信された動作結果を受信する(ステップS104)。コントローラ70の到達判定部74は、動作結果(動作情報)に基づいて、バケット先端SPが所定時間以内に実際に目標位置Pbに到達したか否かを判定する(ステップS105)。
【0110】
例えば、バケット先端SPが所定時間以内に実際に目標位置Pbに到達すると予測されたにもかかわらず、バケット先端SPが所定時間以内に実際に目標位置Pbに到達しなかった場合(ステップS105においてNO)、モデル推定部77は、実際の動作結果(実際の動作情報)と、データベース103に記憶された複数のモデルと、を比較し、動作情報に適したモデルを推定し、推定したモデルを掘削動作の予測に用いるモデルとして選択する。そして、モデル推定部77は、選択したモデルを、掘削動作の次回の予測に用いるモデルとして設定する。すなわち、モデル推定部77は、モデルを更新する(ステップS106)。そして、コントローラ70は、ステップS101以降の処理を繰り返す。
【0111】
バケット先端SPが予測通りに所定時間以内に実際に目標位置Pbに到達した場合(ステップS105においてYES)、コントローラ70は、モデルを更新せずに、ステップS101以降の処理を繰り返す。すなわち、コントローラ70は、目標位置Pbから目標位置Pcに向かってバケット先端SPが移動するように作業装置3の掘削動作を制御する。この場合、目標位置Pbが第1目標位置(前記一つ前の目標位置)に相当し、目標位置Pcが第2目標位置(対象目標位置)に相当し、目標位置Pdが第3目標位置(前記次の目標位置)に相当する。以下、上記と同様にして、コントローラ70は、目標軌道T上又はその近傍に沿ってバケット先端SPが移動するように掘削動作を制御する。
【0112】
次に、図9図11を参照しながら、自動運転装置101のコントローラ70による制御の具体例について説明するが、以下の具体例は、あくまでも本開示に係る自動運転装置による制御の一例である。従って、本開示に係る自動運転装置では、以下の具体例のような複雑な演算処理が必ずしも行われる必要はなく、既に説明したような種々の制御が採用されてもよい。
【0113】
図9は、作業装置3の掘削動作を予測するためのモデルの一例である相互作用モデル200を説明するための図である。このモデル200を用いた制御の制御対象は、掘削対象の特性を考慮するために作業機械100のバケット6と掘削対象(環境)との間の相互作用として設定される。この相互作用モデル200は、バケット6と環境との相互作用がバケット6の動作中に局所的に観察されたときに、質量要素、ばね要素、及びダンパ要素による抵抗が発生する系であると仮定される。
【0114】
図9に示すように、この相互作用モデル200は、バケット6が2次元平面201内で動作するとみなして構築されたモデルである。2次元平面201は、作業装置3の長手方向に沿った平面であって地面Gと直交する平面である。2次元平面201は、作業装置3の長手方向に平行で地面Gと水平な方向にxt軸が設定され、地面Gと直交する方向にyt軸が設定されている。また、2次元平面201の原点は、例えば、バケット先端SPと地面Gとの相互作用が開始された位置(開始位置)に設定されてもよく、他の位置に設定されてもよい。
【0115】
相互作用モデル200は、作業装置3と掘削対象である土壌E(環境)との相互作用の質量要素211と、ダンパ要素212と、ばね要素213とを含むバネマスダンパモデルである。質量要素211は、作業装置3と掘削対象との相互作用の質量m(t)によって表される。ダンパ要素212は、粘性係数c(t)によって表される。ばね要素213は、ばね定数k(t)によって表される。ダンパ要素212とばね要素213とは並列接続されている。質量要素211は、ダンパ要素212とばね要素213とが並列接続された並列要素と直列接続されている。このバネマスダンパモデルの運動方程式は、次の式(1)~(3)で表される。
【0116】
【数1】
ここで、図9において、Xs=[xs,ys]は、相互作用の発生位置を表し、Xt(t)=[xt(t),yt(t)]は、バケット先端SPの位置を表す。また、f(t)=[fx(t),fy(t)]は、掘削力ベクトルを表す。
【0117】
次に、操業条件や環境条件によって変化する作業機械100(例えばバケット6)と環境の相互作用特性は、モデルパラメータm(t)、k(t)及びc(t)の変化によって表される。離散時間システムは、次の式(4)で表すことができる。
【0118】
【数2】
ここで、t=kTsの関係があり、Tsは、サンプリング時間であり、a1(k)、a2(k)、及びb0(k)は、システムパラメータを表す。また、ξ(k)は、平均0分散σのガウシアンホワイトノイズである。
【0119】
制御入力u(t)は、次の式(5)で定義される。
【0120】
【数3】
ここで、Δu(k)は、入力差分を表し、データベース駆動型モデル予測制御(DD-MPC)で算出される。DD-MPCのモデルは、データベース駆動型モデリング(DD-Modeling)を使用して制御対象の特性の変化に応じて変更されるため、動作中に制御対象の特性が変化しても所望の制御性能が得られる。データベース駆動型モデリングは、制御対象の入出力データ(例えば動作情報)と予め複数のモデルが格納されたデータベース103を使用して、現在の制御対象を表すモデル(現在の動作情報に適したモデル)を推定する方法である。このデータベース駆動型モデリングによるモデルの推定方法の概要は、図6及び図7を参照して説明した通りである。データベース駆動型モデリングは、上述したように対象目標位置P2を修正して目標軌道Tを更新し、データベース駆動型モデル予測制御を用いて上述したように制御入力u(t)を演算する。データベース駆動型モデル予測制御は、データベース駆動型モデリングによって推定されたモデルを使用してモデル予測制御を実行する方法である。これにより、制御対象の特性変化を考慮した制御が可能になる。
【0121】
DD-MPCの評価関数Jは、次の式で定義される。
【0122】
【数4】
ここで、ypは、Npステップ先の予測出力、rは、Npステップ先の目標値、upは、Ncステップ先の制御入力を表す。ここで、式(7)のypは、式(4)を状態空間に変換したモデルを用いて再帰的に計算される。Δupは、NcからNpの間一定であると仮定される。なお、Nc≦Npの関係が成り立つ。また、NpとNcは予測ホライズンと制御ホライズンを表し、Qe、Quは、評価関数の重みを表す。そして、コントローラ70は、制約条件付き二次計画問題をとき、Δupを得る。
【0123】
【数5】
ここで、umaxは、u(t)の最大値を表し、uminは、u(t)の最小値を表す。次の式(12)のように、Δupの第一成分からΔu(t)が得られる。
【0124】
【数6】
このように制御入力u(t)は、式(5)と式(12)によって計算される。すなわち、コントローラ70は、式(10)及び式(11)に規定される条件の制約の範囲で、かつ、式(6)の評価関数Jが最小となるような制御入力u(t)を、式(5)及び式(12)を用いて演算する。なお、コントローラ70は、式(7)~(9)と、動作情報と、を用いて、掘削動作を予測する。
【0125】
次に、掘削軌跡(目標軌道T)の更新の手順について説明する。
【0126】
次のステップ1とステップ2に示す手順に従って、掘削軌跡(目標軌道T)がオンラインで更新される。
【0127】
[ステップ1]バケット先端SPの位置の予測
Nptrjステップ先の制御出力y(t)がDD-MPCにより算出される。ここで、局所的に線形化したモデルが用いられ、次に移動すべき目標位置rt(t)=[rx(t),ry(t)]までの予測が行われる。また、バケット先端SPの動作については、現在の先端位置Xt(t)=[xt(t),yt(t)]から目標位置rt(t)まで直線移動すると仮定される。モデルは1次元であるが、2次元のバケット先端SPの予測位置Xp(t)=[xp(t),yp(t)]は、幾何学関係に基づき予測された制御出力を用いて次の式(13)-(18)で計算される。
【0128】
【数7】
そして、コントローラ70は、予測ステップNptrj間(すなわち所定時間)で次の目標位置に到達できるか否かを判断する。バケット先端SPの位置が予測ステップ内で目標位置の近傍に到達できない場合、ステップ2が実行され、掘削軌跡(目標軌道T)が更新される。すなわち、目標位置が修正される。
【0129】
[ステップ2]掘削軌跡(目標軌道T)の更新
ステップ1で目標位置まで到達できないと判定された場合、コントローラ70は、現在のバケット先端SPの位置と目標位置の関係性に基づき目標位置を更新する。ここで、更新後に現在のバケット先端SPの位置と目標位置との間の距離分掘削が進むと仮定し、更新後(修正後)の目標位置を決定する。そして、更新後の目標位置rtnew(t)=[rxnew(t),rynew(t)]が決定される。
【0130】
(i)目標位置がバケット先端SPの位置より下方にある場合
図10に示すように、障害物Rがバケット先端SPの下にある場合、つまり、深く掘削した時に障害物Rが現れる場合を考える。この図10に示すケースは、図4を参照しながら説明したケース1に対応する。この場合、掘削を浅くして進行方向に進める必要がある。目標位置は次のように更新される。
【0131】
【数8】
ここで、rt(t)=[rx(t),ry(t)]は、修正前の対象目標位置を表し、Xp(t)=[xp(t),yp(t)]は、予測されたバケット先端SPの位置を表す。また、d(t)=√(xt(t)-rx(t))+(yt(t)-ry(t))は、現在のバケット先端SPの位置と修正前の対象目標位置との距離を表す。
【0132】
(ii)目標位置がバケット先端SPの位置より上方にある場合
図11に示すように、掘削を妨げる障害物Rがバケット先端SPの側方にある、すなわち、掘削で地面Gに向けてバケットを動かすときに障害物Rが出現した場合を考慮する。この図11に示すケースは、図5を参照しながら説明したケース2に対応する。その場合、修正前の対象目標位置より上にバケット6を動かさないと障害物Rを回避できない。このとき、コントローラ70は、目標位置を次の式(21),(22)のように更新する。
【0133】
【数9】
それぞれの場合のバケット先端SPの位置、修正前(更新前)の対象目標位置、修正後(更新後)の対象目標位置の幾何学関係を図11に示す。そして、コントローラ70は、目標軌道上の該当する点をステップ2により算出された目標位置に修正し、目標軌道を更新する。
【0134】
以上、本開示の実施形態に係る自動運転装置について説明したが、本開示は、上記の実施形態に限定されるものではなく、例えば以下のような変形例を含む。
【0135】
(A)モデル作成器及びデータベースについて
前記実施形態では、自動運転装置101がモデル作成器102とデータベース103とを備えるが、モデル作成器102及びデータベース103の少なくとも一方は、自動運転装置101とは別の装置(例えばサーバ)が備えるものであってもよい。この場合、自動運転装置101は、前記別の装置との間で無線又は有線での通信によってデータベース103にアクセス可能なように構成されていてもよい。また、本開示における自動運転装置では、モデル作成器102及びデータベース103の少なくとも一方は、省略可能である。
【0136】
(B)モデルの選択について
掘削動作の予測に用いられる前記モデルは、例えば、複数のモデルのうちの何れかのモデルを指定するために作業者が入力器91に入力する情報に基づいてコントローラ70が複数のモデルから選択したものであってもよい。この場合、掘削動作の予測に関する特徴(傾向)に対して、作業者の意向を反映させることができる。
【0137】
コントローラ70は、図8のステップS102の処理において、一つのモデルを用いて前記判定を行ってもよく、ステップS102の処理中に複数のモデルを更新しながら前記判定を行ってもよい。
【0138】
また、コントローラ70は、サンプリング時間ごとに、動作情報により適した別のモデルを複数のモデルから選択し、掘削動作の予測に用いるモデルを、選択された前記別のモデルに更新してもよい。
【0139】
(C)モデルの他の例について
前記実施形態に係る自動運転装置では、複数のモデルのそれぞれがバネマスダンパモデルであるが、これに限られない。複数のモデルのそれぞれは、例えば、作業機械100の油圧回路を表したモデルと土壌Eの力学的な要素を表したモデルとを含むものであってもよく、コントローラは、これらのモデルを用いて、作業装置の掘削動作を予測してもよい。
【0140】
(D)掘削力演算部及び位置演算部について
掘削力演算部72及び位置演算部73の少なくとも一方は、作業機械100の作業機械側コントローラが備えていてもよい。また、本開示における自動運転装置では、掘削力演算部72及び位置演算部73の少なくとも一方は、省略可能である。
【0141】
(E)自動運転装置101のコントローラ70は、作業機械100の前記作業機械側コントローラも含んでいてもよい。
【0142】
[実施例]
次に、本開示の実施例について説明する。図12及び図13は、図9に示す前記相互作用モデル200を用いた制御のシミュレーション結果を示す図である。図14及び図15は、参考例に係るシミュレーション結果を示す図である。図16は、シミュレーションに用いられた各種パラメータの値を示すテーブルである。
【0143】
[シミュレーション条件]
本開示の実施形態に係る自動運転装置101による制御の効果を簡易的に検証するため、制御対象を次の式(23)の2次遅れ系として定義する。
【0144】
【数10】
ここで、式(23)のy(t)は、バケット先端SPの掘削距離であり、a1(t)、a2(t)及びb0(t)は、上述した式(4)における複数のシステムパラメータ(a1(k)、a2(k)、b0(k))に対応するパラメータである。
【0145】
検証は、システムパラメータa1(t)、a2(t)、及びb0(t)の変更を、作業機械100(油圧ショベル)と環境の相互作用の特性の変更と見なして行った。この1次元の伝達関数を使用して掘削の2次元動作が単純に表現される。この検証では、制御対象は1次元であるが、2次元平面での掘削動作における目標位置の更新を確認する。したがって、1次元の制御対象の出力は、式(14)-(18)によって2次元平面上の座標に変換される。また、制御対象は目標位置まで直線的に移動すると仮定する。目標掘削軌跡(複数の目標位置)は、図16に示すテーブル1の2次元平面上の5点で構成されている(テーブル1の最下段)。コントローラ70は、バケット先端SPが目標位置の近傍に配置されたとき、目標位置を次の値に変更(更新)する。コントローラ70には目標軌道Tを次の式(24)のように1次元に変換した目標値が与えられる。
【0146】
【数11】
制御対象(作業機械100)にはコントローラ70で算出されたu(t)が入力され、y(t)が出力される。y(t)は、掘削距離である。そして、コントローラ70は、フィードバックされたu(t)とy(t)を用いて2次元の目標軌道を更新する。また、テーブル1は、検証に用いた制御系の設定パラメータを示す。
【0147】
[シミュレーション結果]
本実施形態に係る自動運転装置による制御の効果を検証するために、コントローラ70の到達判定部74、目標位置修正部75、及びモデル推定部77を備えている場合と、これらを備えていない場合の制御結果を比較した。検証条件は、次の式(25)に示すように、掘削中に特性が変化するように設定する。
【0148】
【数12】
図12及び図13は、本開示の実施形態に係るコントローラ70の到達判定部74、目標位置修正部75、及びモデル推定部77を備えている場合の制御結果を示している。図14及び図15は、これらを備えていない場合の制御結果を示している。
【0149】
図14及び図15に示すように、コントローラ70の到達判定部74、目標位置修正部75、及びモデル推定部77を備えていない場合、作業機械100(油圧ショベル)と環境の相互作用特性の変化の影響により、バケット先端SPの動きが遅くなっており、掘削には非常に長い時間がかかってしまう。したがって、油圧ショベルと環境の相互作用特性の変化を考慮しない掘削軌跡の制御では、所望の掘削動作を実行できない可能性がある。なお、図14において、「Characteristic2」の領域は、硬質領域Rに相当し、「Characteristic1」の領域は、硬質領域Rよりも柔らかい土質の領域である(図12についても同様である。)。
【0150】
一方、図12及び図13に示すように、本開示の実施形態では、DD-MPCでバケット先端の動きを予測し、予測結果に基づいて目標軌道を更新することにより、作業機械100(油圧ショベル)と環境の相互作用特性が変化しても、スムーズな掘削動作を実現できる。本開示の実施形態に係る自動運転装置101によって目標軌道T(掘削軌跡)を更新することにより、途中で停止することなく掘削動作ができることが確認された。
【符号の説明】
【0151】
1 :下部走行体
2 :上部旋回体
3 :作業装置
4 :ブーム
5 :アーム
6 :バケット
70 :コントローラ
100 :作業機械
101 :自動運転装置
200 :相互作用モデル
211 :質量要素
212 :ダンパ要素
213 :ばね要素
P :目標位置
P1 :第1目標位置(一つ前の目標位置)
P2 :第2目標位置(対象目標位置)
P2’ :修正後の第2目標位置(修正後の対象目標位置)
P3 :第3目標位置(次の目標位置)
SP :バケット先端
T :目標軌道
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16