(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022076454
(43)【公開日】2022-05-19
(54)【発明の名称】作業機械の自動運転装置
(51)【国際特許分類】
E02F 9/20 20060101AFI20220512BHJP
G05D 3/12 20060101ALI20220512BHJP
【FI】
E02F9/20 Q
G05D3/12 Z
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021173020
(22)【出願日】2021-10-22
(31)【優先権主張番号】P 2020186601
(32)【優先日】2020-11-09
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】504136568
【氏名又は名称】国立大学法人広島大学
(71)【出願人】
【識別番号】000246273
【氏名又は名称】コベルコ建機株式会社
(74)【代理人】
【識別番号】100115381
【弁理士】
【氏名又は名称】小谷 昌崇
(74)【代理人】
【識別番号】100067828
【弁理士】
【氏名又は名称】小谷 悦司
(74)【代理人】
【識別番号】100118049
【弁理士】
【氏名又は名称】西谷 浩治
(72)【発明者】
【氏名】岡田 共史
(72)【発明者】
【氏名】山本 透
(72)【発明者】
【氏名】小岩井 一茂
(72)【発明者】
【氏名】山下 耕治
【テーマコード(参考)】
2D003
5H303
【Fターム(参考)】
2D003AA01
2D003AB04
2D003BA03
2D003DB04
2D003FA02
5H303AA09
5H303BB03
5H303CC06
5H303EE03
5H303HH07
5H303JJ05
5H303LL02
(57)【要約】
【課題】作業装置と対象物との相互作用の特性を考慮して、作業装置が対象物と相互作用する部位の位置を目標位置に一致させる適切な力を作業機械に発生させる。
【解決手段】自動運転装置は、相互作用モデルを有し、入力される力データに対応する実位置データを推定位置データとして算出する位置推定部と、力演算モデルを有し、入力される偏差に対応する力データを算出し、力データを位置推定部に入力する力演算部と、過去に算出されたパラメータであるベースパラメータを格納するデータベースと、ベースパラメータに基づいて、実位置のノルムy(t)及び力のノルムu(t)に対応する対象パラメータを算出し、対象パラメータを相互作用モデル及び力演算モデルのパラメータとして設定するパラメータ設定部とを含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
対象物と相互作用する部位を含む作業装置を備える作業機械の自動運転装置であって、
前記部位の実位置を示す実位置データを取得する取得部と、
前記部位に発生する力を示す力データと、前記実位置データと、の関係を前記相互作用の特性を示す第1パラメータを用いて規定する第1モデルに、推定力データを入力することで、推定実位置データを推定する推定部と、
前記推定実位置データ及び前記実位置データの差分と、前記部位の目標位置を示す目標位置データと、の偏差を算出する算出部と、
前記偏差と、前記実位置を前記目標位置に一致させるための前記力データと、の関係を前記第1パラメータを用いて規定する第2モデルに、前記偏差を入力することで前記推定力データを算出する演算部と、
過去に算出された前記第1パラメータに基づいて、前記推定実位置データ及び前記推定力データに対応する第2パラメータを算出し、前記第2パラメータに基づいて前記第1パラメータを設定する設定部と、
前記推定力データから前記作業機械の指令値を算出する指令値算出部と、を備える、
自動運転装置。
【請求項2】
前記推定力データ及び前記推定実位置データは、ノルムである、
請求項1記載の自動運転装置。
【請求項3】
前記実位置データ及び前記目標位置データは、座標データを含み、
前記実位置データが示す座標データと、前記目標位置データが示す座標データと、に基づいて、前記部位に発生する力の方向を算出する方向算出部をさらに備え、
前記指令値算出部は、前記力の方向と、前記推定力データのノルムと、に基づいて前記部位に発生する力ベクトルを算出し、前記力ベクトルを含む前記指令値を算出する、
請求項2記載の自動運転装置。
【請求項4】
前記第1パラメータは、前記相互作用の質量と、前記相互作用を示すばね定数及び粘性係数の少なくとも一方と、を用いて規定される、
請求項2又は3記載の自動運転装置。
【請求項5】
前記取得部は、前記相互作用の開始の有無を示す通知を前記作業機械から取得し、
前記推定部、前記算出部、前記演算部、前記設定部、及び前記指令値算出部は、前記相互作用の発生中に逐次処理を実行する、
請求項2~4のいずれかに記載の自動運転装置。
【請求項6】
前記算出部は、前記実位置データのノルム及び前記推定実位置データのノルムの差分と、前記目標位置データのノルムと、の差分を前記偏差として算出する、
請求項2~5のいずれかに記載の自動運転装置。
【請求項7】
前記部位は、前記作業装置の先端である、
請求項1~6のいずれかに記載の自動運転装置。
【請求項8】
前記作業機械は、油圧ショベルであり、
前記対象物は土砂であり、
前記力は掘削力である、
請求項1~7のいずれかに記載の自動運転装置。
【請求項9】
過去に算出された前記第1パラメータを記憶するデータベースをさらに備える、
請求項1~8のいずれかに記載の自動運転装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業機械を自動運転する技術に関するものである。
【背景技術】
【0002】
近年、掘削から放土までの一連の作業を自動的に油圧ショベルに行わせる自動運転装置が知られている。例えば、特許文献1には、教示して記憶された教示位置を順次読み出して、掘削から放土までの一巡する作業を繰り返し行う自動運転ショベルにおいて、一巡する作業のうち任意の作業毎に、当該自動運転ショベルのエンジン回転数を設定する技術が開示されている。
【0003】
油圧ショベルの自動運転においては、どのような作業現場であっても、予め定められた目標軌跡に沿ってアタッチメントの先端を移動させることが要求される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、油圧ショベルが掘削する土砂の特性は作業現場に応じて異なる。そのため、アタッチメントの先端を目標軌跡に沿って移動させるには土砂の特性を考慮に入れた適切な掘削力を油圧ショベルに発生させる必要がある。
【0006】
特許文献1の技術では、土砂の特性は何ら考慮されていないため、土砂の特性に応じて適切な掘削力を油圧ショベルに発生させることができない。
【0007】
このような課題は、油圧ショベル以外の作業機械においても同様に発生する。
【0008】
本発明は、このような課題を解決するためになされたものであり、作業装置と対象物との相互作用の特性を考慮して、作業装置が対象物と相互作用する部位の位置を目標位置に一致させる適切な力を作業機械に発生させる自動運転装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の一態様に係る自動運転装置は、対象物と相互作用する部位を含む作業装置を備える作業機械の自動運転装置であって、前記部位の実位置を示す実位置データを取得する取得部と、前記部位に発生する力を示す力データと、前記実位置データと、の関係を前記相互作用の特性を示す第1パラメータを用いて規定する第1モデルに、推定力データを入力することで、推定実位置データを推定する推定部と、前記推定実位置データ及び前記実位置データの差分と、前記部位の目標位置を示す目標位置データと、の偏差を算出する算出部と、前記偏差と、前記実位置を前記目標位置に一致させるための前記力データと、の関係を前記第1パラメータを用いて規定する第2モデルに、前記偏差を入力することで前記推定力データを算出する演算部と、過去に算出された前記第1パラメータに基づいて、前記推定実位置データ及び前記推定力データに対応する第2パラメータを算出し、前記第2パラメータに基づいて前記第1パラメータを設定する設定部と、前記推定力データから前記作業機械の指令値を算出する指令値算出部と、を備える。
【0010】
本構成によれば、過去に算出された第1パラメータに基づいて、第2モデルを用いて算出された推定力データと、取得部によって取得された実位置データと、に対応する第2パラメータが算出され、第2パラメータが第1モデル及び第2モデルの第1パラメータとして設定される。そして、この第1パラメータが設定された第2モデルを用いて相互作用する部位を目標位置に一致させるための推定力データが算出され、算出された推定力データに基づいて作業機械の指令値が算出され、指令値が作業装置に入力される。ここで、実位置データ及び力データの関係性には相互作用の特性が含まれている。そのため、実位置データ及び推定力データに対応する第1パラメータは、相互作用の特性が反映されている。これにより、相互作用の特性が反映された第1パラメータを第1モデル及び第2モデルに設定できる。その結果、相互作用の特性を考慮して、相互作用する部位の位置を目標位置に一致させる適切な力を作業機械に発生させることができる。
【0011】
上記自動運転装置において、前記推定力データ及び前記推定実位置データは、ノルムであることが好ましい。
【0012】
本構成によれば、第2モデルの出力変数及び第1モデルの入出力変数が一次元で表されるため、第2モデル及び第1モデルを簡便なモデルで構成できる。
【0013】
上記自動運転装置において、前記実位置データ及び前記目標位置データは、座標データを含み、前記実位置データが示す座標データと、前記目標位置データが示す座標データと、に基づいて、前記部位に発生する力の方向を算出する方向算出部をさらに備え、前記指令値算出部は、前記力の方向と、前記推定力データのノルムと、に基づいて前記部位に発生する力ベクトルを算出し、前記力ベクトルを含む前記指令値を算出することが好ましい。
【0014】
本構成によれば、実位置の座標データと目標位置の座標データとに基づいて相互作用する部位に発生する力の方向が算出され、算出された力の方向と演算部が算出した推定力データのノルムとから力ベクトルが算出され、算出された力ベクトルを含む指令値が作業機械に入力される。そのため、力の大きさのみならず力の方向を作業機械に指示することができ、作業機械の適切な作動が実現される。
【0015】
上記自動運転装置において、前記第1パラメータは、前記相互作用の質量と、前記相互作用を示すばね定数及び粘性係数の少なくとも一方と、を用いて規定されることが好ましい。
【0016】
本構成によれば、相互作用の質量と相互作用を示すばね定数及び粘性係数の少なくとも一方とを用いて第1パラメータが規定されているため、第1モデル及び第2モデルに相互作用の特性をより正確に反映させることができる。
【0017】
上記自動運転装置において、前記取得部は、前記相互作用の開始の有無を示す通知を前記作業機械から取得し、前記推定部、前記算出部、前記演算部、前記設定部、及び前記指令値算出部は、前記相互作用の発生中に逐次処理を実行することが好ましい。
【0018】
本構成によれば、相互作用の発生中に、逐次パラメータが更新されるため、逐次変動する相互作用の特性に適した第1パラメータを第1モデル及び第2モデルに設定することができ、作業機械に相互作用の特性に適した力を発生させることができる。
【0019】
上記自動運転装置において、前記算出部は、前記実位置データのノルム及び前記推定実位置データのノルムの差分と、前記目標位置データのノルムと、の差分を前記偏差として算出することが好ましい。
【0020】
本構成によれば、実位置データのノルム及び推定位置データのノルムの差分と、目標位置データのノルムと、の差分が偏差として算出されて演算部に入力されるため、第2モデルの入力変数である偏差を一次元で構成することができ、第2モデルの構成の簡便化を図ることができる。
【0021】
上記自動運転装置において、前記部位は、前記作業装置の先端であることが好ましい。
【0022】
本構成によれば、相互作用の特性を考慮して、作業装置の先端の位置を目標位置に一致させることが可能な適切な力を作業装置の先端に発生させることができる。
【0023】
上記自動運転装置において、前記作業機械は、油圧ショベルであり、前記対象物は土砂であり、前記力は掘削力であることが好ましい。
【0024】
本構成によれば、土砂の特性を考慮して、作業装置の先端の位置を目標位置に一致させる適切な掘削力を油圧ショベルに発生させることができる。
【0025】
上記自動運転装置において、過去に算出された前記第1パラメータを記憶するデータベースをさらに備えることが好ましい。
【0026】
本構成によれば、過去に算出された第1パラメータを記憶するデータベースを備えているので、過去に算出された第1パラメータの取得が容易になる。
【発明の効果】
【0027】
本発明によれば、作業装置と対象物との相互作用の特性を考慮して、作業装置が対象物と相互作用する部位の位置を目標位置に一致させる適切な力を作業機械に発生させることができる。
【図面の簡単な説明】
【0028】
【
図1】本発明の実施の形態に係る自動運転装置の構成の一例を示すブロック図である。
【
図3】掘削中における実位置のノルムの変化を示した図である。
【
図5】
図1に示す自動運転装置の処理の一例を示すフローチャートである。
【
図6】パラメータ設定処理の詳細を示すフローチャートである。
【
図7】自動運転装置から入力された指令値に応答する際の作業機械の処理の一例を示すフローチャートである。
【
図8】実施例に係る自動運転装置の構成を示すブロック図である。
【
図10】実施例において、アタッチメントの先端の座標と目標位置の座標との関係を示す図である。
【
図12】初期データベースの構築に用いられた各種パラメータの値を示すテーブルである。
【
図13】固定パラメータコントローラのシミュレーション結果を示すグラフである。
【
図14】固定パラメータコントローラのシミュレーション結果を示すグラフである。
【
図15】実施例のシミュレーション結果を示すグラフである。
【
図16】実施例のシミュレーション結果を示すグラフである。
【発明を実施するための形態】
【0029】
以下添付図面を参照しながら、本発明の実施の形態について説明する。なお、以下の実施の形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格のものではない。
【0030】
図1は、本発明の実施の形態に係る自動運転装置1の構成の一例を示すブロック図である。自動運転装置1は、作業機械200を自動運転する装置である。作業機械200は、油圧ショベル、クレーン、又は解体機等の建設機械である。以下の説明では、作業機械200は油圧ショベルであるとして説明する。但し、これは、一例であり、作業機械200は、対象物と相互作用をする作業装置を含む作業機械であればどのような作業機械であってもよい。
【0031】
作業機械200は、下部走行体と、下部走行体に旋回可能に取り付けられた上部旋回体と、上部旋回体に対して起伏可能に取り付けられたブームと、ブームに対して揺動可能に取り付けられたアームと、アームに対して揺動可能に取り付けられたバケットとを含む。ブーム、アーム、及びバケットは作業装置を構成する。さらに、作業機械200は、ブームを起伏させる油圧シリンダ、アームを揺動させる油圧シリンダ、及びバケットを揺動させる油圧シリンダを含む。
【0032】
自動運転装置1は、既存の作業機械200のコントローラに実装されてもよいし、作業機械200と無線により通信可能な通信装置を有するコンピュータに実装されてもよい。
【0033】
自動運転装置1は、取得部10、位置推定部20(推定部の一例)、偏差算出部30(算出部の一例)、力演算部40(演算部の一例)、指令値算出部50、データベース60、パラメータ設定部70(設定部の一例)、力方向算出部80、目標位置取得部90、及びメモリ100を含む。
【0034】
取得部10は、バケットの先端の実位置の座標Xt(t)を作業機械200から取得する。作業機械200は、上部旋回体の旋回角度と、上部旋回体に対するブームの角度と、ブームに対するアームの角度と、アームに対するバケットの角度とに基づいて、バケットの先端の座標を検出する機能を備えている。したがって、取得部10は、この機能によって検出されたバケットの先端の座標を実位置の座標Xt(t)として作業機械200から取得すればよい。
【0035】
実位置の座標Xt(t)は、例えばバケットの先を原点とし、地面と直行する2次元平面上の座標である。具体的には、実位置の座標Xt(t)はXt(t)=[xt(t)、yt(t)]と表される。ここで、tは時間であり、xt(t)は2次元平面の座標系における実位置のx軸成分であり、yt(t)は2次元平面の座標系における実位置のy軸成分である。x軸は例えば作業装置の長手方向に設定され、y軸は地面と直行する方向に設定される。
【0036】
バケットの先端は作業装置が対象物と相互作用する部位の一例である。2次元平面の座標系の原点は、例えばバケットと対象物との相互作用の開始位置に設定される。バケット対象物との相互作用とは、バケットと対象物とが接触し、相互に力を及ぼし合うことを指す。作業機械200は、例えば油圧シリンダのシリンダ圧の値に基づいて、相互作用が開始されたか否かを検出し、相互作用の開始を示す通知を取得部10に入力する。また、作業機械200は、相互作用の終了を検出した場合、終了を示す通知を取得部10に入力する。これにより、取得部10は、作業機械200が対象物と相互作用中であるか否かを判定できる。対象物は、例えばバケットが掘削する地中に含まれる土砂である。
【0037】
取得部10は、取得した実位置の座標Xt(t)から実位置のノルム|Xt(t)|=y(t)を算出し、実位置の座標Xt(t)及び実位置のノルムy(t)をメモリ100に格納する。実位置の座標Xt(t)及び実位置のノルムy(t)は実位置データの一例である。
【0038】
位置推定部20は、相互作用モデル21(第1モデルの一例)を含む。相互作用モデル21は、作業装置が対象物と相互作用をしたときにバケットの先端に発生する力のノルムu(t)とバケットの先端の実位置のノルムy(t)との関係を、作業装置と対象物との相互作用の特性を示すパラメータを用いて規定する。力のノルムu(t)は力データの一例である。
【0039】
位置推定部20は、力演算部40が算出した力のノルムu(t)を相互作用モデル21に入力し、力のノルムu(t)に対応する実位置y(t)のノルムを推定位置のノルムy∧(t)として算出する。位置推定部20は、算出した推定位置のノルムy∧(t)をメモリ100に記憶する。推定位置のノルムy∧(t)は推定実位置データの一例である。相互作用モデル21は、後述の式(6)によって表される。
【0040】
式(6)に示すように、相互作用モデル21は、推定位置のノルムy∧(t)と力のノルムu(t)との関数である。左辺の「A∧」及び「B∧」は後述の式(7)、式(8)によって表される。式(7)には、a∧1(t)、a∧2(t)、・・・で示される係数が含まれる。式(8)にはb∧0(t)、b∧1(t)、・・・で示される係数が含まれる。これらの係数が相互作用モデル21のパラメータ(第1パラメータの一例)である。本実施の形態では、後述するように制御対象が式(26)でモデル化されるため、相互作用モデル21のパラメータは、a∧1(t)、a∧2(t)、b∧0(t)で構成される。
【0041】
パラメータa∧1(t)、a∧2(t)、b∧0(t)は後述の式(27)~(29)で表される。式(27)~(29)に示すように、a∧1(t)、a∧2(t)、b∧0(t)はm(t)、c(t)、k(t)を含んでいる。m(t)は作業装置と対象物との相互作用の質量、k(t)はばね要素のばね定数、c(t)はダンパ要素の粘性係数であり、作業装置と対象物との相互作用の特性を直接的に示すパラメータである。
【0042】
したがって、パラメータa∧1(t)、a∧2(t)、b∧0(t)は作業装置と対象物との相互作用の特性を間接的に示すことになり、相互作用モデル21は、相互作用の特性が反映されている。
【0043】
偏差算出部30は、メモリ100から実位置のノルムy(t-1)及び推定位置のノルムy∧(t-1)を取得し、y(t-1)からy∧(t-1)を減じた差分を算出する。そして、偏差算出部30は、目標位置取得部90から入力された目標位置のノルム|R(t)|(=r(t))から算出した差分を減じた偏差e(t)を算出し、力演算部40に入力する。ここで、偏差算出部30がメモリ100からy(t-1)、y∧(t-1)を取得しているのは、偏差e(t)を算出する段階で、y(t)、y∧(t)が算出されていないからである。t-1はtの1つ前のサンプル点を示す。
【0044】
力演算部40は、力演算モデル41を含む。力演算モデル41は、偏差e(t)と、実位置を目標位置に一致させるためにバケットの先端に発生する力のノルムu(t)と、の関係を相互作用モデル21と同じパラメータを用いて規定するモデルである。
【0045】
力演算モデル41は、後述の式(3)によって示される。
【0046】
式(3)に示すように、力演算モデル41には、力のノルムu(t)と偏差e(t)との関数である。また、右辺の「Q∧」は、後述の式(4)で表される。式(4)に示すように、「Q∧」には「A∧」、「B∧」が含まれている。「A∧」、「B∧」は上述したように、a∧1(t)、a∧2(t)、b∧0(t)で表される。したがって、力演算モデル41は、相互作用モデル21と同じパラメータによって規定されていることが分かる。
【0047】
力演算部40は、偏差算出部30により算出された偏差e(t)を力演算モデル41に入力し、偏差e(t)に対応する力のノルムu(t)を算出する。力演算部40は、算出した力のノルムu(t)を指令値算出部50、位置推定部20、及びメモリ100に入力する。算出した力のノルムu(t)は推定力データの一例である。
【0048】
指令値算出部50は、力演算部40が算出した力のノルムu(t)と、力方向算出部80が算出した力の方向θf(t)とに基づいて、力ベクトルFr(t)を算出する。そして、指令値算出部50は、力ベクトルFr(t)を指令値として作業機械200に入力する。ここで、指令値算出部50は、後述する式(31)を用いて力ベクトルFr(t)を算出すればよい。
【0049】
データベース60は、パラメータ設定部70が過去に算出したパラメータである1つ以上のベースパラメータθ-(t)を記憶する。各ベースパラメータθ-(t)は、[a∧1(t)、a∧2(t)、b∧0(t)]を含む。
【0050】
パラメータ設定部70は、データベース60に格納されたベースパラメータθ-(t)に基づいて、要求点φ-(t)に対応する対象パラメータθnewc(t)(第2パラメータの一例)を算出する。要求点φ-(t)は、φ-(t)=[y(t)、y(t-1)、y(t-2)、u(t-1)]である。すなわち、要求点φ-(t)は、実位置のノルムy(t)、y(t-1)、y(t-2)と、力データのノルムu(t-1)とで構成されている。要求点φ-(t)は作業装置と対象物との現在の相互作用が反映された作業機械200の現在の相互作用のダイナミックスを表している。さらに、パラメータ設定部70は、対象パラメータθnewc(t)を算出する過程で得られる後述の平均パラメータθnew(t)をベースパラメータθ-(t)としてデータベース60に格納する。
【0051】
力方向算出部80は、目標位置取得部90から入力された目標位置の座標R(t)と、メモリ100から取得した実位置の座標Xt(t-1)とに基づいて、バケットの先端に発生する力の方向θf(t)を算出する。ここで、時刻t-1における実位置の座標Xt(t-1)が取得されているのは、この段階で実位置の座標Xt(t)が算出されていないからである。力方向算出部80は、式(30)を用いて力の方向θf(t)を算出すればよい。
【0052】
目標位置取得部90は、目標位置の座標R(t)=[rx(t)、ry(t)]を取得し、力方向算出部80に入力する。目標位置は、バケットの先端の目標となる位置である。本実施の形態では、自動運転装置1は、相互作用が発生すると、バケットの先端が予め定められた目標軌跡に沿って移動するように作業機械200を自動運転する。そのため、目標位置はこの目標軌跡上の位置となる。この目標軌跡は例えば管理者によって入力されたものであってもよい。
【0053】
目標位置取得部90は、目標位置の座標R(t)から目標位置のノルムr(t)を算出し、偏差算出部30に入力する。
【0054】
メモリ100は、RAM又はフラッシュメモリ等で構成され、実位置の座標Xt(t)、実位置のノルムy(t)、及び推定位置のノルムy∧(t)を記憶する。ここで、要求点φ-(t)は、2サンプル前までの実位置のノルムy(t)、y(t-1)、y(t-2)と、1サンプル前の力のノルムu(t-1)を含むため、メモリ100は、少なくとも2サンプル前までの実位置のノルムy(t)、y(t-1)、y(t-2)を記憶すると共に少なくとも1サンプル前の力のノルムu(t-1)を記憶すればよい。また、偏差e(t)の算出には1サンプル前の推定位置のノルムy∧(t-1)が使用されるため、メモリ100は、少なくとも1サンプル前の推定位置のノルムy∧(t-1)を記憶すればよい。
【0055】
図1において、自動運転装置1を構成するメモリ100以外の各ブロックは例えばプロセッサにより構成されている。プロセッサは、CPUで構成されていてもよいし、ASIC等の専用の電気回路で構成されていてもよい。
【0056】
図2は、相互作用モデル21の説明図である。
図2の左欄に示すように、相互作用モデル21は、バケット201が2次元平面202内で動作するとみなして構築されたモデルである。2次元平面202は、作業装置の長手方向に沿った平面であって地面203と直交する平面である。2次元平面202は、作業装置の長手方向にxt軸が設定され、地面203と直交する方向にyt軸が設定されている。また、2次元平面202の原点204は、バケット201と地面203との相互作用が開始された位置に設定される。
【0057】
図2の右欄に示すように、相互作用モデル21は、作業装置と対象物との相互作用の質量要素211と、ダンパ要素212と、ばね要素213とを含むばねマスダンパモデルである。質量要素211は作業装置と対象物との相互作用の質量m(t)によって表される。ダンパ要素212は、粘性係数c(t)によって表される。ばね要素213はばね定数k(t)によって表される。ダンパ要素212とばね要素213とは並列接続されている。質量要素211は、ダンパ要素212とばね要素213とが並列接続された並列要素と直列接続されている。このばねマスダンパモデルの運動方程式は、後述する式(23)~(25)で表される。そこで、相互作用モデル21は、式(23)~(25)に基づいて算出された式(6)で表されるモデルで構成される。
【0058】
図2の右欄に示すように、作業装置が2次元平面202で作動する場合、バケット201の先端で発生する力F(t)とバケットの先端の実位置の座標Xt(t)とはそれぞれ2次元で表される。これに対して、相互作用モデル21では、F(t)のノルム|F(t)|と、推定位置のノルム|Xt(t)|(=y(t))とで表されている。すなわち、相互作用モデル21は入出力変数が次元圧縮された次元圧縮モデルである。次元圧縮モデルで相互作用モデル21を構成することで、相互作用モデル21の簡便化が図られている。
【0059】
図3は、掘削中における実位置のノルムy(t)の変化を示した図である。
図3の例では、原点204においてバケットの先端が地面203と接触し、その後、バケットの先端が軌跡205に沿って移動している。実位置のノルムy(t)は原点204と実位置との距離である。そのため、掘削動作が進行するにつれて、実位置のノルムy(t)は増大している。
【0060】
このように、相互作用モデル21は次元圧縮されているため、作業機械200を作動させるには、力のノルムu(t)に加えて力の方向θf(t)を作業機械200に指令すればよい。そこで、力方向算出部80は、力の方向θf(t)を算出する。
【0061】
図4は、力の方向θf(t)の説明図である。力演算部40は、上述したように実位置を目標位置に一致させるように、力のノルムu(t)を算出する。したがって、時刻t-1における実位置の座標をXt(t-1)とすると、時刻tにおける力の方向θf(t)は実位置の座標Xt(t-1)から目標位置の座標R(t)に向く。そこで、力方向算出部80は、実位置の座標Xt(t-1)と目標位置の座標R(t)とを用いて力の方向θf(t)を算出する。
【0062】
図5は、
図1に示す自動運転装置1の処理の一例を示すフローチャートである。ステップS1において、取得部10は作業装置と対象物との相互作用の開始の有無を検出する。ここで、取得部10は、作業機械200から相互作用の開始を知らせる通知を取得した場合、相互作用が発生したと判定すればよい。
【0063】
相互作用の開始が検出された場合(ステップS1でYES)、処理はステップS2に進み、相互作用の開始が検出されていない場合(ステップS1でNO)、処理はステップS1で待機する。
【0064】
ステップS2において、目標位置取得部90は目標位置の座標R(t)を取得する。例えば、目標位置取得部90は、メモリ100に記憶された目標軌跡上の点を順次、目標位置の座標R(t)として取得すればよい。
【0065】
ステップS3において、目標位置取得部90は、目標位置の座標R(t)から目標位置のノルムr(t)を算出する。目標位置のノルムr(t)は相互作用の開始位置を原点としたときの原点から目標位置までの距離である。
【0066】
ステップS4において、偏差算出部30は、メモリ100から実位置のノルムy(t-1)、推定位置のノルムy∧(t-1)を取得する。
【0067】
ステップS5において、偏差算出部30は、上述したように、目標位置のノルムr(t)と実位置のノルムy(t-1)と推定位置のノルムy∧(t-1)とを用いて偏差e(t)を算出する。
【0068】
ステップS6において、力演算部40は、偏差e(t)を力演算モデル41に入力し、力のノルムu(t)を算出する。このとき、力演算部40は、パラメータ初期値又は前ステップの処理で決定したパラメータθnew(t)を使用して、u(t)を算出する。
【0069】
ステップS7において、位置推定部20は、力のノルムu(t)を相互作用モデル21に入力し、推定位置のノルムy∧(t)を算出する。
【0070】
ステップS8において、力方向算出部80はメモリ100から実位置の座標Xt(t-1)を取得する。
【0071】
ステップS9において、力方向算出部80は、目標位置の座標R(t)と実位置の座標Xt(t-1)とを式(30)に代入して力の方向θf(t)を算出する。
【0072】
ステップS10において、指令値算出部50は、力のノルムu(t)と力の方向θf(t)とを式(31)に代入して力ベクトルFr(t)を算出する。
【0073】
ステップS11において、指令値算出部50は、力ベクトルFr(t)を指令値として作業機械200に入力する。
【0074】
ステップS12において、取得部10は、指令値の入力に対する応答として作業機械200により算出された実位置の座標Xt(t)を作業機械200から取得する。
【0075】
ステップS13において、取得部10は、実位置の座標Xt(t)から実位置のノルムy(t)を算出する。
【0076】
ステップS14において、取得部10は実位置の座標Xt(t)及びノルムy(t)をメモリ100に格納する。
【0077】
ステップS15において、パラメータ設定部70はパラメータ設定処理を実行する。パラメータ設定処理の詳細は後述する。
【0078】
ステップS16において、取得部10は相互作用が終了したか否かを判定する。ここで、取得部10は相互作用の終了を知らせる通知を作業機械200から取得した場合、相互作用が終了したと判定すればよい。相互作用の終了とは、バケットの先端と対象物とが非接触状態になったことを指す。相互作用が終了したと判定された場合(ステップS16でYES)、処理は終了し、相互作用が終了していないと判定された場合(ステップS16でNO)、処理はステップS2に戻る。
【0079】
このように、
図5のフローチャートでは、相互作用の発生中において自動運転装置1による処理が逐次実行されている。
【0080】
図6は、パラメータ設定処理の詳細を示すフローチャートである。ステップS101において、パラメータ設定部70は、メモリ100から要求点φ
-(t)を取得する。
【0081】
ステップS102において、パラメータ設定部70は、後述の式(18)を用いて要求点φ-(t)と、ベースパラメータθ-(t)との距離dを算出する(ステップS102)。
【0082】
ステップS103において、パラメータ設定部70は、データベース60に格納されたベースパラメータθ-(t)から距離dが小さい順にk個のベースパラメータを抽出する。
【0083】
ステップS104において、パラメータ設定部70は、式(19)を用いて抽出したk個のベースパラメータのそれぞれの重みwjを算出する。
【0084】
ステップS105において、パラメータ設定部70は、式(20)を用いて、抽出したk個のベースパラメータの重み付け平均値である平均パラメータθnew(t)を算出する。
【0085】
ステップS106において、パラメータ設定部70は、平均パラメータθnew(t)をデータベース60にベースパラメータθ-(t)として格納する。
【0086】
ステップS107において、パラメータ設定部70は、式(21)を用いて平均パラメータθnew(t)を修正して、対象パラメータθnewc(t)を算出する。この修正は、平均パラメータθnew(t)の急激な変化による制御性能の劣化を防ぐために行われる。
【0087】
ステップS108において、パラメータ設定部70は、対象パラメータθnewc(t)を相互作用モデル21のパラメータ及び力演算モデル41のパラメータとして設定する。これにより、現在の相互作用に応じて適切なパラメータが相互作用モデル21及び力演算モデル41に設定される。
【0088】
ステップS109において、パラメータ設定部70は、データベース60に記憶されているベースパラメータθ
-(t)のうち、平均パラメータθnew(t)との距離djが所定値β以下のベースパラメータθ
-(t)を冗長データとして抽出し、冗長データをデータベース60から削除する。距離djは、後述の式(22)によって表される。ステップS109が終了すると処理は
図5のステップS16に進む。
【0089】
図7は、自動運転装置1から入力された指令値に応答する際の作業機械200の処理の一例を示すフローチャートである。ステップS301において、作業機械200のコントローラは自動運転装置1からの指令値を取得する。指令値は指令値算出部50が算出した力ベクトルFr(t)である。
【0090】
ステップS302において、作業機械200のコントローラは、作業装置の姿勢を検出する。ここで、作業機械200のコントローラは、角度センサが検出した、ブームの角度、アームの角度、及びバケットの角度を作業装置の姿勢として検出する。
【0091】
ステップS303において、作業機械200のコントローラは、作業装置の姿勢と、作業装置の諸元データとに基づいて、ブーム、アーム、及びバケットのそれぞれに発生するトルクを算出する。諸元データは、例えば、ブーム、アーム、及びバケットのそれぞれの質量、及び長さ等を含む。
【0092】
ステップS304において、作業機械200のコントローラは、ブーム、アーム、及びバケットのそれぞれに発生するトルクからブーム、アーム、及びバケットのそれぞれの油圧シリンダの発生力を算出する。
【0093】
ステップS305において、作業機械200のコントローラは、ブーム、アーム、及びバケットのそれぞれの発生力からブーム、アーム、及びバケットのコントロールバルブに対する指令値を算出する。
【0094】
ステップS306において、作業機械200のコントローラは、バケットの先端の実位置の座標Xt(t)を検出する。検出された座標Xt(t)は自動運転装置1に入力される。
【0095】
このように、本実施の形態に係る自動運転装置1によれば、過去に算出されたベースパラメータθ-(t)に基づいて、力演算モデル41を用いて算出された力のノルムu(t-1)と取得部10により取得された実位置のノルムy(t)、y(t-1)、y(t-2)とに対応する対象パラメータθnewc(t)が算出され、対象パラメータθnewc(t)が相互作用モデル21及び力演算モデル41のパラメータとして設定される。そして、この対象パラメータθnewc(t)が設定された力演算モデル41を用いてバケットの先端を目標位置に一致させるための力のノルムu(t)が算出され、算出された力のノルムu(t)に基づいて指令値が算出され、作業装置に入力される。ここで、実位置のノルムy(t)及び力のノルムu(t)の関係性には相互作用の特性が含まれている。そのため、実位置のノルムy(t)及び力のノルムu(t)に対応する対象パラメータは、相互作用の特性が反映されている。これにより、相互作用の特性が反映されたパラメータを相互作用モデル21及び力演算モデル41に設定できる。その結果、相互作用の特性を考慮して、相互作用部位の位置を目標位置に一致させる適切な力を作業機械に発生させることができる。
【0096】
なお、上記実施の形態は以下の変形例が採用できる。
【0097】
(1)力演算モデル41の出力変数及び相互作用モデル21の入力変数は、力のノルムu(t)に限定されず、力を示す2次元ベクトル又は3次元ベクトルであってもよい。この場合、力方向算出部80は不要であり、指令値算出部50は、力を示す2次元ベクトル又は3次元ベクトルを指令値として作業機械200に入力すればよい。
【0098】
(2)相互作用モデル21の出力変数は、推定位置のノルムy∧(t)に限定されず、推定位置の2次元座標又は3次元座標であってもよい。
【0099】
(3)相互作用モデル21は、バケット201が2次元平面202を動作するとみなして構築されたモデルであったが、バケット201が3次元平面で動作するとみなして構築されたモデルであってもよい。この場合、作業装置に加えて上部旋回体の旋回動作が考慮された相互作用モデル21が構築される。
【0100】
(4)相互作用モデル21は、ばねマスダンパモデルであったが、力データと推定位置データとの関係を示すモデルであればどのようなモデルが採用されてもよい。
【0101】
(5)相互作用モデル21は、ダンパ要素212及びばね要素213を含んでいたが、いずれか一方の要素が省かれてもよい。
【0102】
(6)データベース60は、平均パラメータθnew(t)に代えて対象パラメータθnewc(t)を記憶してもよい。さらに、データベース60は、作業装置と対象物との相互作用の質量m(t)、ばね定数k(t)、及び粘性係数c(t)をパラメータとして記憶してもよい。この場合、パラメータ設定部70は後述の式(27)~(29)を用いて質量m(t)、ばね定数k(t)、及び粘性係数c(t)をパラメータa∧1(t)、a∧2(t)、b∧0(t)に変換すればよい。そして、パラメータ設定部70は、変換したパラメータa∧1(t)、a∧2(t)、b∧0(t)を用いて、対象パラメータθnewc(t)を算出すればよい。
【0103】
(7)パラメータ設定部70は、対象パラメータθnewc(t)に代えて平均パラメータθnew(t)を相互作用モデル21及び力演算モデル41のパラメータとして設定してもよい。この場合、平均パラメータθnew(t)は対象パラメータの一例となる。
【0104】
(8)作業機械200がバケットの代わりに破砕機を備えた解体機で構成される場合、力データとしては、例えば解体機が破砕機によって対象物を把持する把持力を示すデータが採用されればよい。
【0105】
(9)相互作用部位としてバケットの先端が採用されたが、バケットの先端以外の箇所(例えば、バケットの重心又は中心)が相互作用部位として採用されてもよい。
【0106】
(10)
図1に示す作業機械200は現実の作業機械ではなく、作業機械をコンピュータ空間上に再現したデジタルツインであってもよい。
【0107】
(実施例)
次に、本発明の実施例について説明する。
図8は、実施例に係る自動運転装置の構成を示すブロック図である。この自動運転装置は、データベース駆動型アプローチに基づく内部モデル制御系で構成される。本実施例では、作業機械200として油圧ショベルの数理モデルが採用されている。この数理モデルは、後述の式(32)で表される。
【0108】
実施例に係る自動運転装置は、ノルム算出部810、減算部811、内部モデル820、減算部830、コントローラ840、力ベクトル算出部850、データベース860、パラメータ設定部870、力方向算出部880、及びノルム算出部890を含む。
【0109】
図8において、
図1と同じ名称が付されたブロックは
図1と同じであるため、説明を省く。内部モデル820は、相互作用モデル21に相当する。コントローラ840は、力演算モデル41に相当する。
【0110】
ノルム算出部810は、
図1の取得部10に対応し、実位置の座標Xt(t)のノルムを算出する。減算部811及び減算部830は
図1の偏差算出部30に対応する。減算部811は、実位置のノルムy(t)から推定位置のノルムy
∧(t)を減じた差分を算出する。減算部830は目標位置のノルム|R(t)|からこの差分を減じ、偏差e(t)を算出する。ノルム算出部890は目標位置の座標R(t)から目標位置のノルム|R(t)|を算出する。
【0111】
実施例の制御対象は、式(1)で表される離散時間非線形システムとして考えられる。
【0112】
【0113】
y(t)は離散時間非線形システムの出力、h(・)は非線形関数、φ(t-1)は情報ベクトルを表す。情報ベクトルφ(t-1)は次式で定義される。
【0114】
【0115】
u(t)は入力、ny,nuはそれぞれ出力(y(t))と入力(u(t))の次数を表す。
【0116】
図1に示す内部モデル制御系は次式で表すことができる。
【0117】
【0118】
r(t)は制御目標値、y∧(t)は内部モデル820から出力される推定位置のノルム、λはフィルタの設計パラメータ、nはフィルタの次数を表す。また、A∧(z-1,t),B∧(z-1,t)は以下に表す離散時間非線形システムを記述した多項式を含む。A∧(z-1,t),B∧(z-1,t)は局所的に安定かつ最小位相系と仮定される。
【0119】
【0120】
式(1)で表す制御対象は、局所的に次式で記述できる。
【0121】
【0122】
このとき、制御対象をモデル化した式(26)を用いると、式(9)は以下のように記述される。
【0123】
【0124】
式(10)より、パラメータθ(t)は以下のように記述される。パラメータθ(t)は離散時間非線形システムのパラメータである。
【0125】
【0126】
ここで、f(・)は線形関数を表す。各時刻における局所的なパラメータθ(t)を算出するために、要求点φ ̄(t)及びデータベース860に格納するベースパラメータθ ̄(j)は以下のように定義される。
【0127】
【0128】
θ ̄(j)の詳細は後述される。
【0129】
データベース駆動型アプローチに基づく、コントローラ840及び内部モデル820のパラメータの調整処理は以下の通りである。
【0130】
[step#1]初期データベースの構築
パラメータ設定部870は、制御対象の入出力データを用いた逐次最小二乗法により式(26)のパラメータを求める。パラメータ設定部870は、求めたパラメータを、ベースパラメータθ ̄(j)とする。パラメータ設定部870は、ベースパラメータθ ̄(j)を次式で定義する初期データベースΘ ̄(j)に格納する。
【0131】
【0132】
N0は、ベースパラメータの個数を表す。
【0133】
[step#2]システムパラメータの算出
パラメータ設定部870は、要求点φ ̄(t)と、各ベースパラメータθ ̄(j)との距離を次式で算出する。パラメータ設定部870は、各ベースパラメータθ ̄(j)を距離の小さい順に並び変える。
【0134】
【0135】
ここで、N(t)は要求点φ ̄(t)が与えられたときのデータベース860に格納されているベースパラメータの数である。iは要求点及びベースパラメータのi番目の要素を表す。式(18)は、ベースパラメータθ ̄(j)と式(9)による超平面と要求点φ ̄(t)との距離を表す。パラメータ設定部870は、d(φ ̄(t),θ ̄(j))の小さいものからk個のベースパラメータを抽出し、各ベースパラメータの重みwjを以下の式で計算する。
【0136】
【0137】
ここで、nwは距離に応じた重みの差を顕著にするための設計パラメータである。さらに、パラメータ設定部870は、次式に示す局所線形平均法によって、k個のベースパラメータθ-(t)の平均パラメータθnew(t)を算出し、ベースパラメータθ-(t)としてデータベース860に格納する。
【0138】
【0139】
[step#3]入力決定前処理
パラメータ設定部870は、step#2で求めた平均パラメータθnew(t)の急激な変化による制御性能の劣化を防ぐため、次式で表す一次遅れフィルタを用いて、平均パラメータθnew(t)を修正する。
【0140】
【0141】
αはフィルタの設計パラメータを表し、試行錯誤的に決定される。パラメータ設定部870は、式(21)によって修正された平均パラメータθnew(t)を対象パラメータθnewc(t)とする。そして、パラメータ設定部870は、対象パラメータθnewc(t)を式(3)に示すコントローラ840及び式(6)に示す内部モデル820に適用する。
【0142】
[step#4]冗長データの削除
実装対象のメモリ容量及び計算コストを考慮すると、データベース860の冗長データは削除することが望ましい。パラメータ設定部870は、ベースパラメータの中から以下の条件を満たすベースパラメータを削除する。
【0143】
【0144】
βは削除対象となるベースパラメータを選択するための設計パラメータを表し、試行錯誤的に決定される。
【0145】
パラメータ設定部870は、式(22)の条件を満たすベースパラメータが複数存在する場合、最近傍のベースパラメータのみを削除する。
【0146】
各時刻において[step#2]から[step#4]の処理を行うことで、現在の相互作用が反映された対象パラメータθnewc(t)がオンラインで算出される。パラメータ設定部870は、コントローラ840及び内部モデル820に対して、逐次算出した対象パラメータθnewc(t)を適用する。
【0147】
次に、油圧ショベルの相互作用モデルについて説明する。
【0148】
相互作用モデルは、油圧ショベルのアタッチメント(バケットを含む作業装置)の先端と環境(対象物)との相互作用を制御対象とするモデルである。油圧ショベルは、アタッチメント動作と本体の旋回動作とを組み合わせて動作するが、本実施例では、アタッチメント動作のみに限定して相互作用モデルを構築する。アタッチメントと環境との相互作用は、局所的には、質点要素、ばね要素、及びダンパ要素により発生する抵抗と仮定できる。制御対象は
図9で示すモデルで表現できる。このモデルの運動方程式は以下で示される。
【0149】
【0150】
Xt(t)=[xt(t),yt(t)]Tはアタッチメントの先端の位置を示す。F(t)=[fx(t),fy(t)]Tはアタッチメントの先端の力ベクトルを示す。m(t)は作業装置と対象物との相互作用の質量を示す。k(t)はばね定数を示す。c(t)は粘性係数を示す。
【0151】
油圧ショベルのアタッチメントの先端と環境との相互作用の特性は動作条件及び環境条件によって変化するが、本実施例では、この変化はモデルのパラメータである作業装置と対象物との相互作用の質量m(t)、ばね定数k(t)、及び粘性係数c(t)の変化で表現される。式(23)を差分法で離散化すると、次式に示す制御対象の離散時間非線形システムが得られる。
【0152】
【0153】
式(23)より、パラメータa∧1(t),a∧2(t),b∧0(t)は次式に示すように、相互作用モデルのパラメータであるm(t),k(t),c(t)で表される。
【0154】
【0155】
Tsはサンプリング時間である。
【0156】
次に、アタッチメントの先端に発生する力の方向θf(t)について説明する。
【0157】
式(23)は力のノルムu(t)を示すスカラー値である。油圧ショベルを制御するためには、力の方向θf(t)が必要となる。力の方向θf(t)は、
図10に示すアタッチメントの先端の座標Xt(t)=[xt(t),yt(t)]
Tと目標位置の座標R(t)=[rx(t),ry(t)]
Tとの関係から次式を用いて決定される。
【0158】
【0159】
さらに、式(3)によって算出されたu(t)と式(30)とにより、力の力ベクトルFr(t)は以下の式で決定される。これにより、油圧ショベルの制御が実現される。
【0160】
【0161】
次に、実施例を検証するために行われたシミュレーションについて説明する。
【0162】
このシミュレーションでは、対象作業を掘削とする検証モデルが使用された。
図11は検証モデルの概要を示す図である。検証モデルでは、構成の簡略化の観点からアタッチメントは剛体2リンクマニピュレータとみなした。検証モデルの運動方程式は以下で示される。
【0163】
【0164】
ここで、τ(t)=[τ1(t),τ2(t)]Tは時刻tにおける関節トルクを示す。Fre(t)は掘削反力を示す。M(t)は慣性行列を示す。q(t)=[q1(t),q2(t)]Tは関節角度を示す。s(q・(t),q(t))は速度二乗項及び重力項を示す。J(t)はヤコビ行列を示す。掘削反力Fre(t)はランキンの受動土圧Frp(t)を用いて、以下の式で算出される。
【0165】
【0166】
γs(t)は土の単位体積重量を示す。h(t)は擁壁高さを示す。ψs(t)は土の内部摩擦角を示す。γs(t),ψs(t)は土質によって変化するパラメータである。擁壁高さh(t)はバケット内土量及びバケット角度の幾何学関係から算出される。掘削反力Fre(t)がバケットの先端においてバケット開口面と垂直方向に発生すると仮定すると、掘削反力Fre(t)は以下の式で表される。
【0167】
【0168】
次に、
図11に示す検証モデルを用いた初期データベースの構築について説明する。まず、バケットの先端は所定の目標軌跡に沿って移動される。ここでは、PD制御によって関節トルクが発生され、マニピュレータの先端が追従される。
図12は、初期データベースの構築に用いられた各種パラメータの値を示すテーブルである。各条件における掘削力のノルムu(t)と掘削開始点を基準とするマニピュレータの先端の位置のノルムy(t)との時系列データから逐次最小二乗法によってパラメータが算出される。算出されたパラメータは初期データベースとして格納される。
【0169】
次に、検証結果について説明する。
【0170】
パラメータが固定された比較例と実施例との比較結果について説明する。この検証には
図12に示す各種パラメータが用いられた。掘削深さによって土質が変化するように、土質パラメータの値は以下のように設定された。
【0171】
【0172】
y2th1,y2th2は土質パラメータを変更するアタッチメントの先端の座標を表す。
図13、
図14は比較例のシミュレーション結果を示すグラフである。
図15、
図16は、実施例のシミュレーション結果を示すグラフである。これらのグラフにおいて、油圧ショベルに入力される力のノルムu(t)は最大値を100%として正規化されている。
図14、
図16において、「〇」印で示すX2(t)及び「*」印で示すR2(t)は、それぞれ、
図11のマニピュレータの座標系におけるアタッチメントの先端の座標と目標座標とを表す。
【0173】
図14に示すように、比較例では逐次変化する制御対象の特性が表現できないため、目標軌跡への追従性が悪い。また、
図13に示すように、入力される力のノルムu(t)に振動が発生している。一方、
図16に示すように、実施例では、
図15に示すようにパラメータがアタッチメント姿勢や土質の変化に伴い逐次算出されている。さらに、入力される力のノルムu(t)の振動が固定パラメータコントローラと比較して抑制されている。実装時には、入力される力のノルムu(t)は安定した値を取る方が望ましいため、実施例は比較例と比較して実装に適していることが分かる。この検証において、実施例は比較例に比べて目標軌跡への追従性が61%改善されることが確認された。以上より、未知、かつ時変の作業対象に対して実施例の手法は、作業対象の変化に適応することができ、目標軌跡に追従可能な掘削を実現できることが確認された。
【符号の説明】
【0174】
1 :自動運転装置
10 :取得部
20 :位置推定部
21 :相互作用モデル
30 :偏差算出部
40 :力演算部
41 :力演算モデル
50 :指令値算出部
60 :データベース
70 :パラメータ設定部
80 :力方向算出部
90 :目標位置取得部
100 :メモリ
200 :作業機械