JP2023010363A - 制御システムおよび制御方法 - Google Patents

制御システムおよび制御方法 Download PDF

Info

Publication number
JP2023010363A
JP2023010363A JP2021114452A JP2021114452A JP2023010363A JP 2023010363 A JP2023010363 A JP 2023010363A JP 2021114452 A JP2021114452 A JP 2021114452A JP 2021114452 A JP2021114452 A JP 2021114452A JP 2023010363 A JP2023010363 A JP 2023010363A
Authority
JP
Japan
Prior art keywords
controlled object
unit
control
model
control system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021114452A
Other languages
English (en)
Other versions
JP2023010363A5 (ja
Inventor
新士 石原
Shinji Ishihara
航 田中
Ko Tanaka
和也 杉本
Kazuya Sugimoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2021114452A priority Critical patent/JP2023010363A/ja
Priority to PCT/JP2022/017486 priority patent/WO2023281893A1/ja
Publication of JP2023010363A publication Critical patent/JP2023010363A/ja
Publication of JP2023010363A5 publication Critical patent/JP2023010363A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02FDREDGING; SOIL-SHIFTING
    • E02F9/00Component parts of dredgers or soil-shifting machines, not restricted to one of the kinds covered by groups E02F3/00 - E02F7/00
    • E02F9/20Drives; Control devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Mining & Mineral Resources (AREA)
  • General Engineering & Computer Science (AREA)
  • Feedback Control In General (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Operation Control Of Excavators (AREA)

Abstract

【課題】達成したい評価値、および制御対象の違いに柔軟に対応することを可能とする。【解決手段】制御システム100は、作業機械である制御対象200の動作目標と、動作の評価指標と、動作モデルとに基づいて制御対象200を駆動するための制御量を算出する制御量演算部116、および、制御対象200の状態量に基づき、動作モデルを更新するモデル更新部115を備える。制御システム100は、制御量を制御対象200の駆動部210に対する指令値へ変換する指令変換部130、および、制御量から指令値への変換特性を、指令値と制御対象200の応答とに基づいて更新する変換更新部140をさらに備えてもよい。【選択図】図1

Description

本発明は、作業機械である制御対象の変化や最大化する価値の変化に柔軟に対応可能な制御システムおよび制御方法に関する。
化学プラントや発電プラントのような大規模システムは、運用方法がわずかに変わっただけでも効率(例えば生産性や発電量)、運用コスト(例えば燃料代)、環境負荷(例えば二酸化炭素などの排出量)が大きく変わる。このため複数の評価指標(効率、運用コスト、環境負荷)を同時に最適化するようにシステムを適切に運用・制御することが重要になる。しかしながら、上記したような大規模システムは、その構成の複雑さにより制御パラメータの変更と各種評価指標の変動の対応が把握しにくいため、制御パラメータの調整が難しい。
このような問題に対して特許文献1ではプラントを対象として、特定の評価値(特許文献1ではコスト評価値と記載)を最適化するようにプラントの操作方法(制御パラメータ)を自律学習するプラントの制御装置が提示されている。詳しくは、プラントの燃料消費、生産効率、排出物処理に掛かるコストである運転コスト、およびプラントの部品交換に掛かる機器コストをコスト評価値とする。プラントの運転特性を模擬する運転特性モデルと、機器状態からその劣化度と交換時期を計算する機器特性モデルとを利用して、コスト評価値を計算機上で評価できる仕組みを構築し、コスト評価値が改善するように制御ロジック、もしくは制御回路(例えばPI制御(比例・積分制御))のパラメータを調整(自律学習)している。
特開2012-053505号公報
プラントの他に、工場や物流現場、施工現場など複数の作業車両や作業者がいる作業現場も大規模システムと捉えることができる。作業現場内の作業車両や作業者に対する行動計画を操作量(制御指令)として考えて、現場の生産性や搬送能力、施工性能を評価値とすれば、特許文献1に示された手法を適用して最適な作業現場の行動計画を設計できる可能性がある。
しかしながら、特許文献1では制御ロジック(特許文献1のPI制御)そのものには評価値(コスト評価値)を最適化する機構がない。つまり、評価値の構成要素に変更があった場合に即座に評価値を最適化する操作・制御方法は獲得できず、学習期間を経る必要がある。
プラントのような安定して稼働するシステムの場合には、定常的な作業(例えば特定の化学物質を合成する、発電する)が主であるため評価値の構成要素が頻繁に変更することはない。一方、上記したような物流や施工の作業現場は日々の作業内容が変化する非定常な作業が多く、評価値を構成する要素も頻繁に変化する。例えば、工場に非熟練者が配属された場合には、生産性を落としてでも安全性を確保するといった評価値の変化が発生する。特許文献1の手法では、このような状況に柔軟に対応することが容易ではない。
さらに上記した作業現場では評価値だけでなく、構成要素となる作業現場に導入されている作業機械(フォークリフトや油圧ショベルなど)も頻繁に更新される。例えば、作業者不足に伴い従来は作業者が搭乗していたフォークリフトが自律運転で動作するフォークリフトに置き換わる。このような場合には、自律化機械には作業指示だけでなく、その作業指示に従って自律化機械をいかに動かすかなど、より細かい制御まで構築しなくてはならない。さらに従来機械を自律化機械へ置き換えるだけではなく、既存の機械にセンサや制御装置を後付けして、自律化機械として運用する場合もある。このように制御システムの構築方法も多岐にわたる。
特許文献1では、構成要素の同一部品への交換(部品寿命による交換)は考慮されている。しかしながら、上記のような生産性を向上することを意図した別の構成要素への変更(作業機械の置き換えや改良)は考慮されていない。また、構成要素の具体的な制御というレイヤにも対応できるものではない。
本発明はこのような背景を鑑みてなされたものであり、達成したい評価値、および制御対象の違いに柔軟に対応することを可能とする制御システムおよび制御方法を提供することを課題とする。
上記した課題を解決するため、本発明に係る制御システムは、作業機械である制御対象の、動作目標と、動作の評価指標と、動作モデルとに基づいて、前記制御対象を駆動するための制御量を算出する制御量演算部と、前記制御対象の状態量に基づき、前記動作モデルを更新するモデル更新部とを備える。
本発明によれば、達成したい評価値、および制御対象の違いに柔軟に対応することを可能とする制御システムおよび制御方法を提供することができる。上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
本実施形態に係る制御システムの機能ブロック図である。 本実施形態に係る指令変換部の機能ブロック図である。 本実施形態に係る駆動部の動特性を説明するためのグラフである。 本実施形態に係る制御処理のフローチャートである。 実施例1に係る工場/物流現場に備わる倉庫を示す図である。 実施例1に係るフォークリフトの機能ブロック図である。 実施例1に係るフォークリフトの動特性を説明するための図である。 実施例2に係る施工現場の俯瞰図である。 実施例2に係る油圧ショベルの構成図である。 実施例2に係る搬送車両の一例であるダンプトラックの構成図である。 実施例2に係る油圧ショベルおよびダンプトラックの機能ブロック図である。 実施例2に係る油圧ショベルの基礎モデルを説明するための図である。 実施例2に係る制御量の指令値への変換を説明するための図である。 実施例2に係るエンジンモデルを説明するための図である。
以下に本発明を実施するための形態(実施形態)における制御システムについて説明する。制御システムが動作を制御する対象(制御対象)は、フォークリフトや油圧ショベルなどの作業機械である。制御システムは制御対象の追従目標(動作目標、経路、軌道)を設定し、制御対象が追従目標に沿って動作するように、制御対象に対する制御量を算出する。制御量を算出する際に制御システムは、制御対象の動作を示す物理モデルである基礎モデル(動作モデル)に基づいて動作の評価値(評価関数、評価指標)が最大化または最小化するように制御量を算出する。評価値は、例えば生産性や消費エネルギ、安全性(作業員との距離)などがある。
状態方程式(運動方程式)として示される基礎モデルは物理パラメータを含んでいる。制御システムは、制御量に対する制御対象の動作(状態量)を観測しながら、一部の物理パラメータ(例えば摩擦係数)を更新する。
制御量は指令値に変換されて制御対象の駆動部に出力される。制御システムは、制御量に対する制御対象の応答を観測しながら、指令値に変換する関数のパラメータ(例えば伝達関数の係数)を更新する。
このように制御対象の動作や応答に応じて基礎モデルや変換関数を更新することで、制御システムは制御対象の変更や評価関数の変更に柔軟に対応できるようになる。例えば、制御対象(作業機械)が入れ替わったり、評価値(評価関数)が更新されたりしても、人手を介することなく制御システムが対応し、評価値が最大化または最小化するように制御対象を制御できるようになる。
≪制御システムの全体構成≫
図1は、本実施形態に係る制御システム100の機能ブロック図である。制御システム100は、運用設定部111、基礎モデル設定部112、追従目標設定部113、評価関数設定部114、モデル更新部115、制御量演算部116、指令変換部130、および変換更新部140を含んで構成される。これらの機能部は、1つ以上のコンピュータ/マイクロプロセッサ上で機能する。環境計測装置310、状態検出装置320、およびデータ記録部150については後記する。以下、制御対象200、運用設定部111、基礎モデル設定部112、追従目標設定部113、評価関数設定部114、モデル更新部115、制御量演算部116、指令変換部130、および変換更新部140を説明する。
≪制御対象≫
制御対象200は、作業機械(例えば後記する図9の油圧ショベル710参照)であって、駆動部210および非駆動部220を含んで構成される。駆動部210はモータなどのアクチュエータである。非駆動部220はアクチュエータ以外の制御対象200の構成部材である。駆動部210は、制御システム100(図1では指令変換部130)から受信した指令値に従って動作する。指令値とは例えば、移動速度や操舵角速度である。
状態検出装置320は、駆動部210と非駆動部220とに取り付けられたセンサから各種情報を計測値として収集する。状態検出装置320は、制御対象200の外部(動作環境、作業現場)に設置されたセンサから制御対象200の状態を検出して収集するようにしてもよい。計測値としては、制御対象200の位置や方位角(向き)、指令変換部130から入力された指令値に対する駆動部210の応答や、非駆動部220の状態量(例えば燃料残量)が含まれる。
状態検出装置320が収集したセンサの計測値や、制御量演算部116の出力(制御量)、指令変換部130の出力(指令値)はデータ記録部150に記録される。また状態検出装置320が収集した制御対象200の状態量x(例えば位置や方位角、速度、角速度、後記する式(1)参照)に対応する計測値は、制御量演算部116に送信され、制御量の算出に利用される。
≪運用設定部≫
運用設定部111は、制御システム100を運用するオペレータが各種設定を行うユーザインターフェイスである。制御システム100または制御対象200のオペレータは運用設定部111を介して、制御対象200の基礎モデル、制御対象200が達成すべき作業、および後記する評価関数を設定する。作業の設定とは、例えばフォークリフト(後記する図5参照)のスタート地点とゴール地点とを設定することである。
≪基礎モデル設定部≫
運用設定部111がオペレータから制御対象200の設定を受け付けると、基礎モデル設定部112が制御対象200に係る基礎モデル(動作モデル)を設定する。基礎モデルとは制御対象200の動作(運動)に係る物理モデルであって、車両であれば2輪車モデルや4輪車モデル、作業アームや油圧ショベルであればリンク系などの一般的な運動方程式(状態方程式)で示される。当該運動方程式は、制御対象のカタログ(製品仕様)に記載される物理パラメータ(単にパラメータとも記す)を反映したものである。
基礎モデルのパラメータのなかで摩擦係数や粘性項など事前に正確な値を得ることが困難な数値は、初期値として0としておくことが望ましい。後記するモデル更新部115は、このような事前に正確な値を得ることが難しい物理パラメータを制御対象の実際の動作を観測して更新する。基礎モデルは式(1)に示されるように状態方程式(運動方程式)で表現する。
Figure 2023010363000002
式(1)において、xは制御対象200の状態量、uは制御入力(制御量)、pは既知パラメータ、qは未知パラメータである。なお左辺のドット「・」は時間微分を示す。例えば状態量xが位置ならば、左辺の状態量の時間微分は状態量x、制御量uにおける制御対象200の速度である。車両を例にすると、状態量xは位置と方位角からなるベクトルであり、制御量uはステアリングや速度、既知パラメータpは車両慣性、未知パラメータqは摩擦係数に相当する。未知パラメータqが前述した事前に正確な値を得るのが困難な数値である。
≪追従目標設定部≫
運用設定部111がオペレータから作業(タスク)の設定を受け付けると、追従目標設定部113は制御対象200が追従(動作、運動)すべき目標値である追従目標を設定する。目標値とは、例えば車両の軌跡や作業アームの軌道である。追従目標設定部113は、制御対象200のスタート地点とゴール地点とを基に最短経路を算出して、当該最短経路を追従目標として設定する。最短経路の算出には、既存の最短経路の算出手法(ルートプランニングの手法)が用いられる。
なお経路は、車両におけるスタート地点からゴール地点までの軌跡に限らず、作業アームの軌道や作業用ロボットの位置・姿勢などの変化の軌跡を含み、開始状態から終了状態までの経路(動作経路、動作軌跡)である。
≪評価関数設定部≫
オペレータは運用設定部111を用いて制御対象200を含めた制御システム100の運用方針を入力する。運用方針は1つ以上のKPI(Key Performance Indicator:重要業績評価指標)で構成される。KPIの構成要素は、経営者の観点である生産性や安全性、環境負荷に関わる評価値のみではなく、作業員の観点である快適性(例えば疲労やストレス)などを含んでよい。
運用設定部111がオペレータから運用方針の設定を受け付けると、評価関数設定部114は運用方針を数式に変換する。この数式は、例えば式(2)のようにN個の重みαと評価関数要素j(X)との線形結合で表現することができる。
Figure 2023010363000003
Xは後記する環境計測装置310がセンサから収集した各種情報を含む環境の状態量である。なお状態量Xは、制御対象の状態量を含んでいることが望ましい。評価関数要素j(X)は上記KPIに関するものである。なお評価関数J(評価指標)の具体的な設計手法については、後記する制御システムを適用する実施例1,2とともに説明する。
重みαは、対応するKPIである評価関数要素j(X)の優先度を決める係数である。例えば評価関数要素j(X)が生産性に関するKPIであり、評価関数要素j(X)が安全性に関するKPIであって、この2つの評価関数要素で運用方針が構成されているとする。このような場合、非熟練者が作業現場にいるときにはαを小さくして、αを大きくすることで、安全性を優先した運用が実現されるようになる。また、作業機械が1台のみなど事故が発生する可能性がないならば、安全性に関する重みαを0とすることで、生産性のみを最大化するように運用することも可能となる。
環境計測装置310は、KPIを評価するのに十分な情報を収集可能なセンサ群から計測値を取得する。センサとしては、例えば物流現場で生産性を評価する場合における物品の搬送状況を把握するためのカメラやタグ情報の読み取りセンサがある。安全性を評価する場合には、フォークリフトに搭載され、作業員や障害物との距離(距離0なら接触事故が発生)を測定する距離センサやLiDAR(Light Detection and Ranging)が想定される。また環境負荷を評価する場合には、制御対象200を含む作業機械が消費したエネルギ(燃料消費量、電力消費量)などを計測するセンサが想定される。作業員の疲労度やストレスを評価する場合には、疲労やストレスとの相関関係がある心拍数を計測するスマートウォッチなどのデバイスが想定される。KPIとして制御対象200の動作に伴う騒音や塵埃の量など作業現場の環境情報(環境状態)を含めてもよい。
≪制御量演算部≫
制御量演算部116は、制御対象200が追従目標に沿って動作し、評価関数J(式(2)参照)を最大化、もしくは最小化するように、基礎モデル(式(1)参照)に基づいて制御量を算出する。詳しくは、後記する式(3)に示すように評価関数Jについて時刻k=tから時刻k=t+tまでの評価関数の総和を最大、もしくは最小化するような制御量uを算出する。このような制御量uの算出手法として、最適化問題やモデル予測制御問題の数値解法がある。
Figure 2023010363000004
≪モデル更新部≫
基礎モデル(状態方程式、式(1)参照)には未知パラメータqが含まれているため、制御量演算部116が参照する基礎モデルが示す(基礎モデルから計算される)制御対象200の動作と実際の制御対象200の動作とに差異がある。このため未知パラメータqが初期値0のままでは、最適な制御量uを算出できない可能性がある。
モデル更新部115はデータ記録部150に記録された制御対象200の状態量xを用いて未知パラメータqを推定して、基礎モデル(状態方程式)を更新する。状態量xとしては、制御対象200の位置と方位角の他に、指令変換部130から入力された指令値に対する駆動部210の応答や、非駆動部220の状態量が含まれてもよい。モデル更新部115は、未知パラメータqを含む拡大系に対して非線形カルマンフィルタを構築して逐次状態推定を行うことで未知パラメータqを推定してもよい。またモデル更新部115は、特定期間の時系列データをバッチ処理して最小二乗法により未知パラメータqを推定してもよい。
モデル更新部115は、推定した未知パラメータqが妥当な値であることを確認した後に基礎モデル(状態方程式)を更新することが望ましい。例えば、未知パラメータqが物理的に矛盾しないことや想定される値に収まることをチェックすることが望ましい。例えばモデル更新部115は、摩擦係数など正値でなければならない未知パラメータqが負になった場合には基礎モデルに反映しない。また真値が不明でも、公称値とばらつきの範囲が分かっている未知パラメータqについて、公称値とばらつきの範囲を逸脱する値が算出された場合には基礎モデルに反映しない。
なお、未知パラメータqが公称値とばらつきの範囲を逸脱する値として算出された場合には、制御対象200の一部の機器に故障が発生している可能性がある。モデル更新部115は、制御対象200のオペレータに保守を促すようにしてもよいし、制御量演算部116に通知して制御対象200を停止するようにしてもよい。
≪指令変換部と変換更新部≫
制御量演算部116は状態方程式(式(1)参照)に関する最適な制御量uを算出するが、実物の制御対象200は制御量(物理量)をそのまま利用することができない場合がある。例えば車両系機械の場合では制御量uは速度指令となるが、制御対象200を駆動する駆動部210をアクセル操作(もしくはブレーキ操作)として制御する場合がある。このような場合には、何らかの手法で速度指令とアクセル操作/ブレーキ操作との対応を決定しなくてはならない。これは、運転手が操作することを前提として設計された車両系機械を自動化するときに必要となる変換操作でもある。指令変換部130は、制御量演算部116が算出する制御量と、駆動部210への入力(指令)となる指令値との変換を行う。
図2は、本実施形態に係る指令変換部130の機能ブロック図である。指令変換部130は定常特性変換部131、および動特性補償部132を含んで構成される。定常特性変換部131は定常的な物理量の変換を行う。例えば制御量演算部116が算出した制御量uと駆動部210への指令値vとが比例する変換特性であれば、変換(変換関数)は定数倍で示される。また制御量uと指令値vとが特定の変換特性であれば、変換は例えば変換テーブルを用いることができる。
このような変換特性が、駆動部210のアクチュエータ212のカタログや仕様書に記載がある場合はその情報を利用することが望ましい。変換特性に係る情報が利用できない場合には、制御量uを印加して駆動部210の応答値wを確認することで変換テーブルを構築することができる。この場合、変換テーブルは指令値vではなく、応答値wで設計することになるが、一般には駆動部210にはフィードバック制御部211が組み込まれているため、応答値wと指令値vとが一致するため実用上は特に問題が生じない。
定常特性変換部131は指令値vの定常値を出力するが、駆動部210はすぐにその値になるのではなく、何らかの動特性を有している。図3は、本実施形態に係る駆動部210の動特性を説明するためのグラフ410である。例えば駆動部210が式(4)の伝達関数で表現されるような応答特性を持っているとする。
Figure 2023010363000005
すると、ステップ状に指令値v(符号411参照)を与えても応答値w1(符号412参照)はゆっくりと立ち上がることになる。指令値vという入力に対する駆動部210の応答値w(動作)という出力は遅れており、この入力と出力との時間的関係が動特性である。応答が想定よりも遅いと所望の制御性能を達成できないことになる。動特性補償部132はこのような動特性(指令値vに対する応答の遅れ)を考慮した補償を行う。詳しくは、変換更新部140は動特性補償部132を式(5)の伝達関数で表現し、定常特性変換部131の出力に対する駆動部210の応答値wが、理想応答値w2(符号413参照)の伝達関数T(s)(式(6)参照)と一致するように係数c~c,d~dを算出する。
Figure 2023010363000006
Figure 2023010363000007
これは駆動部210の伝達関数(式(4)参照)が得られていれば、式(6)を満たすように係数c~c,d~dを算出することで実現できる。これは一般的なプレフィルタ型のフィードフォワード制御の設計手法である。駆動部210の伝達関数は実際に駆動部210を動かしたときに得られる入出力データからシステム同定を行うことによって同定することができる。変換更新部140は、この同定を行って係数c~c,d~dを求め、動特性補償部132を更新する。換言すれば、変換更新部140は、駆動部210の入力である指令値と出力である応答(応答値)とに基づいて動特性補償部132を更新して、指令変換部130の変換特性を更新する。
なお駆動部210の伝達関数の次数や動的変換特性(式(5)参照)の次数、理想応答の伝達関数T(s)の次数によっては、式(5)を満足する係数c~c,d~dを得ることはできない。このような場合には、理想応答値w2にできるだけ近い応答値が得られるように係数c~c,d~dを設計するデータ駆動制御の手法を採用してもよい。
変換更新部140は、求めた係数c~c,d~dが妥当な値であることを確認した後に動特性補償部132を更新することが望ましい。例えば、係数c~cの符合が一致しない場合には不安定極が存在することになるため、指令値vが発散する懼れがある。このため変換更新部140、そのような係数が求まった場合には動特性補償部132に反映しないようにする。
なお、以上の説明において伝達関数を2次遅れ系で表現しているが、これに限定されるものではない。
≪制御処理≫
図4は、本実施形態に係る制御処理のフローチャートである。制御処理は、並行して実行される制御対象200を制御するステップS11~S15の処理、状態方程式(式(1)参照)を更新するステップS21~S25の処理、および動特性補償部132を更新するステップS31~S35の処理を含む。
制御処理は、これらの処理と並行して行われるデータ記録部150の処理をさらに含むが図4には記載していない。データ記録部150は、状態検出装置320から制御対象200の状態量xや応答値wであるセンサの計測値を取得して記録する。また、データ記録部150は、制御量演算部116が出力した制御量uや指令変換部130が出力した指令値vを取得して記録する。なお、図4の制御処理が開始する前に、基礎モデルや追従目標、評価関数、駆動部210の動特性が設定ないしは取得済みである。
ステップS11において制御量演算部116は、状態検出装置320から制御対象200の状態量xを、環境計測装置310から環境の状態量Xを取得する。
ステップS12において制御量演算部116は、環境の状態量Xから評価関数J(式(2)参照)の値(評価値)を算出する。
ステップS13において制御量演算部116は、制御対象200が追従目標に沿って動作し、評価関数Jの値を最大化もしくは最小化するように制御量uを算出する。
ステップS14において指令変換部130は、制御量uを指令値vに変換し、駆動部210に出力する。
ステップS15において制御量演算部116は、制御対象200が作業を終了(追従目標の終点に到達)したならば(ステップS15→YES)制御処理を終了し、未終了ならば(ステップS15→NO)ステップS11に戻る。
ステップS21においてモデル更新部115は、状態量xや制御量u、指令値v、応答値wのデータが状態方程式(式(1)参照)の未知パラメータqの算出が可能なデータ数か否かを判断する。モデル更新部115は、算出可能であれば(ステップS21→YES)ステップS22に進み、算出不可であれば(ステップS21→NO)ステップS25に進む。
ステップS22においてモデル更新部115は、未知パラメータqを算出する。
ステップS23においてモデル更新部115は、ステップS22で算出された未知パラメータqが妥当であれば(ステップS23→YES)ステップS24に進み、妥当でなければ(ステップS23→NO)ステップS25に進む。
ステップS24においてモデル更新部115は、状態方程式の未知パラメータqを更新する。更新後のステップS13において制御量演算部116は、更新された未知パラメータqを参照して、制御対象200が追従目標に沿って動作し、評価関数Jの値を最大化もしくは最小化するように制御量uを算出する。
ステップS25においてモデル更新部115は、制御対象200が作業を終了(追従目標の終点に到達)したならば(ステップS25→YES)制御処理を終了し、未終了ならば(ステップS25→NO)ステップS21に戻る。
ステップS31において変換更新部140は、状態量xや制御量u、指令値v、応答値wのデータが動特性補償部132を示す伝達関数の係数の算出が可能なデータ数か否かを判断する。変換更新部140は、算出可能であれば(ステップS31→YES)ステップS32に進み、算出不可であれば(ステップS31→NO)ステップS35に進む。
ステップS32において変換更新部140は、動特性補償部132を示す伝達関数(式(5)参照)の係数を算出する。
ステップS33において変換更新部140は、ステップS32で算出された式(5)の係数が妥当であれば(ステップS33→YES)ステップS34に進み、妥当でなければ(ステップS33→NO)ステップS35に進む。
ステップS34において変換更新部140は、動特性補償部132を示す伝達関数の係数を更新する。更新後のステップS14において指令変換部130(動特性補償部132)は、更新された係数を参照して、制御量uを指令値vに変換し、駆動部210に出力する。
ステップS35において変換更新部140は、制御対象200が作業を終了(追従目標の終点に到達)したならば(ステップS35→YES)制御処理を終了し、未終了ならば(ステップS35→NO)ステップS31に戻る。
上記したステップS21~S25について、モデル更新部115が非線形カルマンフィルタを構築して逐次状態推定を実行する場合には、未知パラメータqの算出についてステップS21は常にYESとなる。
またステップS23においてステップS22で算出された未知パラメータqが公称値とばらつきの範囲を逸脱する値として算出され妥当でなければ(ステップS23→NO)、モデル更新部115はオペレータに制御対象200のメンテナンスを促すようにしてもよい。またはモデル更新部115は、制御対象200を停止するように制御量演算部116に指示してもよい。
≪制御処理の特徴≫
モデル更新部115は、制御対象200の状態量を用いて未知パラメータqを推定して、状態方程式(式(1)参照)を更新する。更新された基礎モデルは、制御量演算部116の制御量算出に即座に(次の演算周期で)用いられるため、制御対象200が追従目標に沿って動作し、評価関数Jをより最大化/最小化するように制御対象200制御できるようになる。
また、変換更新部140は、駆動部210の応答値wが理想応答値w2(図3記載の符号413参照)と一致するように動特性補償部132を更新する。更新された動特性補償部132は、指令変換部130の指令値算出に即座に(次の演算周期で)用いられるため、制御対象200が追従目標に沿って動作し、評価関数Jをより最大化/最小化するように制御対象200制御できるようになる。
以下では、作業機械としてフォークリフトの実施例1と、油圧ショベルおよびダンプトラックの実施例2とを説明する。
≪実施例1:工場・物流現場でのフォークリフトの制御≫
制御システム100を工場や物流現場に適用した場合の実施例を説明する。図5は、実施例1に係る工場/物流現場に備わる倉庫550を示す図である。図6は、実施例1に係るフォークリフト510の機能ブロック図である。
倉庫550ではフォークリフト510(自律化機械)、および作業員520が荷物を運ぶ。図5では1つのフォークリフト510、および1人の作業員520が記載されているが、何れかが複数ないしは0であってもよい。フォークリフト510、および作業員520が装着するスマートデバイス523は、通信機能を有しており、管制サーバ500と通信可能である。なお、管制サーバ500は必ずしも倉庫550内に設置される必要はない。
≪実施例1:フォークリフト≫
フォークリフト510は、コントローラ511、PLC512,513(Programmable Logic Controller)、駆動モータ514、操舵モータ515、バッテリ516、およびLiDAR517(Light Detection and Ranging)を備える。PLC512,513は、駆動モータ514および操舵モータ515をそれぞれ制御する。フォークリフト510は、SLAM(Simultaneous Localization and Mapping)の機能が搭載されおり、LiDAR517で収集した点群データを処理することで倉庫550の地図の作成と自己位置推定とを同時に実行する。
フォークリフト510は、既存の電動フォークリフトにコントローラ511を搭載して自動運転(自律運転)を行う構成を想定している。コントローラ511は、フォークリフト510の自動運転に関する各種演算が実行される。コントローラ511には、制御量演算部116、モデル更新部115、指令変換部130、および変換更新部140が備わる。またコントローラ511は記憶領域(メモリ)を備え、データ記録部150として機能する。
≪実施例1:作業員≫
作業員520はスマートデバイス523を装着している。スマートデバイス523は作業員520の心拍数や歩数を計測する。スマートデバイス523は倉庫550に配置されたビーコン530と無線通信を行うことで、スマートデバイス523を装着している作業員520の位置を計測することができる。
≪実施例1:管制サーバ≫
管制サーバ500は、制御システム100(図1参照)における運用設定部111、基礎モデル設定部112、追従目標設定部113、および評価関数設定部114を備える。管制サーバ500は、スマートデバイス523から取得する、作業員520の心拍数や歩数、位置から推定される疲労状態を算出する。また管制サーバ500は、LiDAR517からフォークリフト510の位置を、バッテリ516から消費エネルギに関する情報(SOC(State of Charge)の変化など)を受け取る。
≪実施例1:追従目標≫
以上に説明した工場/物流現場における制御システムにおいて、オペレータが管制サーバ500に備わる運用設定部111を用いて、位置553にいるフォークリフト510に位置554にある物品を回収するように指示し、位置555にいる作業員520に位置556にある物品を確認するように指示したとする。すると、追従目標設定部113は、フォークリフト510に対して位置553から位置554への最短ルート558を、作業員520に対して位置555から位置556への最短ルート557を設定する。なお指示するのは、オペレータに限らず物流管理システムなどのシステムであってもよい。
≪実施例1:基礎モデル≫
基礎モデル設定部112は、フォークリフト510に対応する車両系に関する運動方程式を状態方程式(式(1)参照)として設定する。車両系のモデルとしては、倉庫550のフロアをX-Y平面とみなして、このX-Y平面における重心座標(x,y)および方位角θの組(x,y,θ)を算出する運動方程式とする。このとき車両系の運動方程式の未知パラメータqとして倉庫550の床とタイヤとの摩擦係数が設定される。
≪実施例1:評価関数≫
倉庫550におけるフォークリフト510の運用方針に係るKPI(評価関数要素)として、スループット(単位時間に搬送できる物品の量)、消費エネルギ、および安全性がある。安全性とは、フォークリフト510と、作業員や壁、棚との距離が一定値以上であることである。
スループットは、フォークリフト510の移動速度を(v,v)として式(7)の評価関数要素jで示される。速度が大きいほどスループットは高いと考えられ、評価関数要素jが最小化されるのが望ましい。なお、式(7)におけるεは移動速度が0のときにゼロ割が発生することを防止するための微小定数である。
Figure 2023010363000008
消費エネルギは、バッテリ516の変化量ΔSOCの絶対値が小さいことが望ましい。式(8)に示される評価関数要素jが最小化されるのが望ましい。
Figure 2023010363000009
安全性は、フォークリフト510と作業員520、壁、棚との距離が大きいことが望ましい。例えば作業員520に関する安全性は、フォークリフト510の座標を(x,y)とし、作業員520の座標を(xO,yO)として式(9)で示すことができ、値が小さいほど評価関数要素jが小さくなるように設計した例である。評価関数要素jが最小化されるのが望ましい。評価関数要素jは、制御対象200ではない作業員520の位置の他に移動速度・方向を含む状態から算出されるようにしてもよい。なおεは、式(7)と同様に微小定数である。
Figure 2023010363000010
制御システムは、式(7)~(9)の評価関数要素を重み係数αで線形結合した評価関数J(式(10)参照)を最小化するようにコントローラ511で制御量を演算する。オペレータが例えばスループットを優先するように指示した場合には、評価関数設定部114はスループットに関する重み係数αを係数αやαよりも大きく設定する。なお安全性については、評価関数として与えずに拘束条件として設定することも可能である。
Figure 2023010363000011
≪実施例1:フォークリフトの制御≫
コントローラ511は、状態方程式を利用した最適制御(例えばモデル予測制御)を実行することで車両速度や操舵角速度を算出する。一般的に、モータを制御するPLCは速度指令で駆動することができるため、本実施例では物理値の変換(定常特性変換部131参照)は不要であるとする。但し、算出した車両速度や操舵角速度が実際のフォークリフト510で実現する場合には応答に遅れが生じる。
図7は、実施例1に係るフォークリフト510の動特性を説明するための図である。コントローラ511(図6参照)が出力した制御量(速度、角速度)に対して、PLC512,513、モータ特性(駆動モータ514、操舵モータ515参照)、車体特性を経るため、フォークリフト510の応答に遅れが生じる。このため、コントローラ511内で算出した車両速度や操舵角をPLC512,513に送信する前に、応答遅れを解消するように指令値を算出する必要がある(動特性補償部132参照)。
フォークリフト510を動作させれば、モータ特性も車両特性も同定することができる。この特性を利用してプレフィルタ型のフィードフォワード制御することが、動特性補償部132の動作に対応する。動特性補償部132を示す伝達関数の係数の算出は、フィードフォワード制御の設計に相当し、LiDAR517で取得した座標や方位角と、その微分値である速度・角速度と、駆動モータ514の応答と、操舵モータ515の応答とから変換更新部140が係数を算出する。
同様に、基礎モデル設定部112が設定した状態方程式(運動方程式)から予測される速度および角速度の変化と、LiDAR517で実際に取得した速度および角速度の変化との差から、未知パラメータq(摩擦係数)を同定することができる。
≪実施例1の特徴≫
実施例1においては、フォークリフト510の走行データを収集するうちに制御に利用するパラメータが自動的に最適化される。また評価関数J(式(10)参照)に含まれる重み係数αは作業ごとに適宜変更することが可能である。評価関数Jが変わっても、状態方程式(式(1)参照)や未知パラメータq、動特性補償部132の伝達関数(式(5)参照)の更新をすることなく、適切な制御量uの演算が可能である。
≪実施例1:変形例≫
上記した実施例1では未知パラメータqを倉庫の床とタイヤとの摩擦係数としている。他のパラメータを未知パラメータqとしてもよい(含めてもよい)。例えばフォークリフト510が運ぶ物品の重量を含めるようにしてもよい。制御量演算部116は、物品の有無や重量に応じた制御量uを算出するので、制御システム100は人手を介することなく、さらに最適なフォークリフト510の制御ができるようになる。
≪実施例2:施工現場での油圧ショベルとダンプトラックの制御≫
制御システム100を施工現場に適用した場合の実施例を説明する。図8は、実施例2に係る施工現場699の俯瞰図である。施工現場699には、油圧ショベル710とダンプトラック770とが存在する。
本実施例では、油圧ショベル710、およびダンプトラック770が制御対象200である。油圧ショベル710は、掘削した土砂690をダンプトラック770へ積み込む作業を行い、ダンプトラック770は所定の停車位置(積み込み位置)に移動する作業を行う。
油圧ショベル710、およびダンプトラック770は、無線通信機能を有しており、管制サーバ600(後記する図11参照)とデータ通信を行う。管制サーバ600は、施工現場699に設置されてもよいし、施工現場699とは異なる場所に設置されていてもよい。
≪実施例2:油圧ショベル≫
図9は、実施例2に係る油圧ショベル710の構成図である。油圧ショベル710は情報化施工に対応した作業機械であり、図9に示すように各種センサと各油圧シリンダを制御するためのシリンダ制御装置とが組み込まれている。油圧ショベル710は、多関節型のフロント装置720(フロント作業機)、車体を構成する上部旋回体740、および下部走行体750を備える。上部旋回体740は、下部走行体750に対して旋回可能に設けられている。フロント装置720は、垂直方向に回動するブーム711、アーム712、およびバケット713を連結して構成された多関節型の装置である。
ブーム711、アーム712、バケット713、上部旋回体740、および下部走行体750は、油圧アクチュエータであるブームシリンダ711A、アームシリンダ712A、バケットシリンダ713A、旋回モータ740A、および左右の走行モータ750A(図9では一方の走行モータのみを図示)によりそれぞれ駆動される。ブームシリンダ711A、アームシリンダ712A、バケットシリンダ713A、旋回モータ740A、および左右の走行モータ750Aの動作制御は、エンジンや電動モータなどの原動機によって駆動される油圧ポンプ741から上記した油圧アクチュエータに供給される作動油の方向および流量をコントロールバルブ742で制御することにより行う。ブームシリンダ711A、アームシリンダ712A、およびバケットシリンダ713Aは、各シリンダ長が所望の値になるようにコントロールバルブ742を制御する機構を備える。
油圧ショベル710に搭載されているエンジンはディーゼルエンジンであり、エンジン出力の急激な変動は排気ガス中の有害成分(微小粒子や窒素酸化物)の増加を招くことが知られている。また、エンジンを制御するECU(Engine Control Unit)は燃料噴射量に関わる変数値を算出しており、この変数値を参考に消費エネルギを算出することができる。
上部旋回体740には、姿勢センサとして慣性計測装置(IMU:Inertial Measurement Unit)である車体IMU721が配置されている。なお慣性計測装置は、角速度および加速度のそれぞれを計測するセンサであるが、本実施例では計測した角速度と加速度とを利用して傾き(角度)を演算する機能もセンサに実装されているとする。また、フロント装置720の構成要素であるブーム711、アーム712、およびバケット713には、それぞれの姿勢を計測するために慣性計測装置であるブームIMU722、アームIMU723、およびバケットIMU724が適切な位置に設置されている。なおバケットIMU724は、バケット713でなく、バケットと連動して回動するリンク部材714に設置されていてもよい。また、後記する図11記載のIMU614は、車体IMU721、ブームIMU722、アームIMU723、およびバケットIMU724に対応する。
上部旋回体740には2つの測位用アンテナ743,744(GNSS(Global Navigation Satellite System)アンテナ)が取り付けられている。図9には不図示のGNSS受信機(図11のGNSS受信機613参照)は、測位用アンテナ743,744で受信した衛星信号を参照してアンテナ座標の演算や方位角の演算などの各種測位演算を実行する。
ブームシリンダ711Aにはシリンダ圧力を検出するシリンダ圧力センサ715が備えられている。本実施例の油圧ショベル710は、ブームシリンダ711Aの圧力、および各IMUが取得したフロント装置720(フロント作業機)の姿勢情報からバケット713に積載された土砂の重量を算出するペイロード機能を備える。
油圧ショベル710にはコントローラ610(図11参照)が搭載されており、各種動作を制御する。上記したシリンダ長が所望の値になるようにコントロールバルブ742を制御する機構は、コントローラ610の機能であってもよいし、別のコントローラの機能であってもよい。
≪実施例2:ダンプトラック≫
図10は、実施例2に係る搬送車両の一例であるダンプトラック770の構成図である。ダンプトラック770は車体フレーム771の前方に運転室772を、車体フレーム771上に荷台773をそれぞれ備えている。また車体フレーム771は、前輪774、および後輪775(以下、車輪とも記す)に支持され、車輪の回転によって前後進する。なお図10では後輪775は、左右に2輪ずつ合計4輪の車両を想定しているが、このような車両に限定されるものではない。例えば後輪775が片側に1輪ずつあり、前輪774と合わせて合計4輪の車輪を有するダンプトラックであってもよい。
運転室772の後方、もしくは車体フレーム771には図示しないエンジン、トランスミッションなどのパワートレインが備えられており、このパワートレインを制御することにより車輪の動きを制御することができる。車輪の回転は、運転室772内のブレーキペダルおよびアクセルペダルの操作に応じて、その回転動作が制御される。例えばブレーキ操作が行われると車輪に取り付けられたブレーキパッドを車輪に押し付けることでダンプトラック770の前後進を停止すること可能である。パワートレインやブレーキの制御は、コントローラ630(後記する図11参照)を介して実行される。
車体フレーム771にはシリンダ776が備えられており、荷台773をスライドさせて荷台773に搭載された土砂などを放土することが可能である。
運転室772には、測位用アンテナ781、GNSS受信機782、およびIMU783が取り付けられている。ダンプトラック770の方位角を算出するにあたっては、測位用アンテナ781を油圧ショベル710と同様に2つ取り付けて、GNSS受信機782がダンプトラック770の位置と方位角とを演算できるようにすることが望ましい。ただし測位用アンテナ781を1つしか備えない場合であっても、GNSS受信機782は位置のみを演算し、ダンプトラック770の走行軌跡とIMU783の角速度とを利用して、コントローラ630が方位角を算出するようにしてもよい。GNSS受信機782は測位用アンテナ781で受信した衛星信号のドップラシフトによって移動速度を取得することも可能である。なお図10では測位用アンテナ781を運転室772の外部に設けた構成を示しているが、小型の測位用アンテナを運転室772内に備えた構成でもよい。
ダンプトラック770は、ディーゼルエンジンを搭載しているため油圧ショベル710と同様に消費エネルギ量などを計測することができる。
図11は、実施例2に係る油圧ショベル710およびダンプトラック770の機能ブロック図である。実施例2において管制サーバ600は、油圧ショベル710、およびダンプトラック770それぞれに搭載されているECU615,636から燃料消費量やエンジン動力を受信する。さらに管制サーバ600は、コントローラ610で演算した油圧ショベル710の姿勢、およびコントローラ630で演算したダンプトラック770の姿勢情報を受信する。
管制サーバ600は、制御システムにおける運用設定部111、基礎モデル設定部112、追従目標設定部113、および評価関数設定部114を備える。以下、運用設定部111において、油圧ショベル710が土砂690(図8参照)をダンプトラック770に積み込む作業が設定されたとして説明を続ける。
≪実施例2:基礎モデル≫
基礎モデル設定部112は、ダンプトラック770に対応する車両系に関する運動方程式を状態方程式(式(1)参照)として設定する。一方、油圧ショベル710について基礎モデル設定部112は、上部旋回体740、ブーム711、アーム712、バケット713をそれぞれ剛体リンク系で模擬したリンク系としてモデル化する。
図12は、実施例2に係る油圧ショベル710の基礎モデルを説明するための図である。LSWGは上部旋回体740の長さ(旋回中心からブーム711の回動中心への長さ)を示し、LBMはブーム711のリンク長、LAMはアーム712のリンク長、LBKはバケット713のリンク長を示す。また、θSWGは上部旋回体740の旋回角度を示し、θBMはブーム711のリンク角度、θAMはアーム712のリンク角度、θBKはバケット713のリンク角度を示す。これらのリンク長Lおよび旋回・リンク角度θから式(11)~(13)に示すように爪先位置zへの座標変換f(L,θ)が与えられる。
Figure 2023010363000012
Figure 2023010363000013
Figure 2023010363000014
この座標変換はロボット工学で利用される一般的な座標変換であるため、詳細な説明を省略する。同様に幾何学的な関係から式(14)~(15)に示すようにリンク長Lおよびリンク角度θから各リンクのシリンダ長sへの変換g(L,θ)を得ることができる。
Figure 2023010363000015
Figure 2023010363000016
さらにリンク系には静的な座標変換のみでなく、式(16)~(18)に示すようにシリンダ速度sによって決まるリンクの角速度ωに関する運動方程式(状態方程式)も導出することができる。この運動方程式における各リンクの粘性摩擦係数を未知パラメータqとする。
Figure 2023010363000017
Figure 2023010363000018
Figure 2023010363000019
なお基礎モデル設定部112で設定される基礎モデルは、ダンプトラック770も油圧ショベル710も空荷状態であることを前提とする。このため、土砂重量も未知パラメータqとして扱われる。土砂重量が増えるとダンプトラック770の加速は小さくなり、油圧ショベル710のフロント上げ動作が遅くなる一方、フロント下げ動作が速くなる。
≪実施例2:評価関数≫
施工現場における油圧ショベル710およびダンプトラック770の運用方針に係るKPI(評価関数要素)として、スループット(積み込み作業時間)、消費エネルギ、安全性(油圧ショベル710とダンプトラック770とが接触しないこと)および排気ガス性状(有害成分量)などがある。実施例2に係る制御システムは、上記のKPIを式(19)~(22)で与えたときに、式(23)に示す評価関数Jを最小化する制御量uの演算を行う。以下、それぞれのKPIを説明する。
スループットのKPIは、式(19)の評価関数要素jで示される。油圧ショベル710の動作が速く、爪先位置zが積み込み位置yに速く一致するほどjは小さな値になる。
Figure 2023010363000020
消費エネルギのKPIは、式(20)の評価関数要素jで示される。Δfexは油圧ショベル710に搭載されるECU615(図11参照)が算出した燃料噴射量であり、Δftrはダンプトラック770に搭載されるECU636が算出した燃料噴射量である。燃料噴出量の積分値が評価関数要素jであり、この値を小さくすることが消費エネルギの削減になる。
Figure 2023010363000021
安全性のKPIは、式(21)の評価関数要素jで示される。油圧ショベル710の爪先位置zと、ダンプトラック770の中心位置xtrの距離が近づくほど大きな値をとるペナルティとして与えることで油圧ショベル710とダンプトラック770とが衝突することを回避できる。なおεは、式(7)と同様に微小定数である。
Figure 2023010363000022
排気ガス性状のKPIは、式(22)の評価関数要素jで示される。エンジン出力の変化ΔEpwrが小さくなるほど有害成分量が減る。エンジン出力の変化ΔEpwrの積分値が評価関数要素jであり、この値を小さくすることが有害成分量の削減になる。
Figure 2023010363000023
制御システムは、式(19)~(22)の評価関数要素を重み係数αで線形結合した評価関数J(式(23)参照)を最小化するようにコントローラ610,630で制御量を演算する。
Figure 2023010363000024
なお、演算周期と通信周期を考慮すると評価関数Jの算出は、管制サーバ600で実行してもよいが、制御量の演算は油圧ショベル710、ダンプトラック770それぞれのコントローラ610,630で実行することが望ましい。以下、コントローラ610,630で実行される演算について説明する。
≪実施例2:油圧ショベルの制御≫
図11に戻って油圧ショベル710のコントローラ610には、GNSS受信機613とIMU614(図9記載のブームIMU722、アームIMU723、およびバケットIMU724参照)の情報から油圧ショベル710および爪先の位置・姿勢を算出する位置・姿勢算出機能、油圧シリンダの圧力からバケットの土砂重量を算出する土砂量算出機能、および油圧ショベル710の動作を制御する姿勢制御機能が実装されている。
位置・姿勢算出機能は、式(11)を用いて油圧ショベル710および爪先の位置・姿勢を算出する。
土砂量算出機能は、位置・姿勢算出機能が算出した姿勢情報と圧力センサで取得したシリンダ圧力とを用いてバケット713内の土砂の重量を算出する。土砂を含むバケット713の重量はフロント装置720の慣性モーメントに大きな影響を与える。このため、土砂重量を算出する機能は基礎モデル(未知パラメータq)を更新することに相当し、本実施例では土砂量算出機能自体がモデル更新部115に相当する。
姿勢制御機能は、土砂重量を考慮した運動方程式(式(16)~(18)参照)を利用して、評価関数J(式(23)参照)を最小化するようにシリンダ速度sを制御量uとして算出する。このため姿勢制御機能は制御量演算部116に相当する。
算出したシリンダ速度sを実現するには既存のシステム(油圧ショベル)に実装されているシリンダ制御装置に与える指令値vへ制御量uを変換する必要がある。
図13は、実施例2に係る制御量uの指令値vへの変換を説明するための図である。制御量演算部116が算出した制御量u(シリンダ速度s)を、指令変換部130がシリンダ制御装置611への指令値vへと変換する。シリンダ制御装置611が油圧システム612(図11参照)を駆動することでシリンダ長が変化すると、リンク角度θ、角速度ωが変化し、それらの値をIMU614(図11参照)で検出することができる。IMU614で検出した値である実際のシリンダ速度と、式(14)~(18)から計算した所望のシリンダ速度(制御量u)とに差がある場合には、その差が解消するように指令値vの演算(変換、式(5)の伝達関数)を更新する。以上の演算は指令変換部130と変換更新部140とに相当する。
また、IMU614で検出した各速度から各関節の粘性摩擦係数(未知パラメータq)を同定することも可能である。この機能はモデル更新部115に相当する。
≪実施例2:エンジンモデル≫
評価関数要素j(式(20)参照)および評価関数要素j(式(21)参照)を小さくするにはエンジンおよびECU615に関する動特性(挙動、ダイナミクス)が必要になる。しかしながら、エンジンに関する複雑なモデルをコントローラ610に実装するのは容易ではない。
図14は、実施例2に係るエンジンモデル650を説明するための図である。油圧システム612を駆動するために必要な動力(ポンプ吸収動力)は、油圧ポンプ741の圧力センサから計測することができ、かつ当該動力がエンジン748から供給されるという事実に注目して、簡易なエンジンモデルを作成することが望ましい。図14に示したように、油圧ポンプ741に取り付けた圧力センサから推定したエンジン動力、ECU615から受信した燃料噴射量、および制御量uについて、制御量uを入力、エンジン出力Epwrおよび燃料噴出量Δfexを出力とするエンジンモデル650を構築することができる。このようなエンジンモデル650の構築手法は後述のダンプトラック770のコントローラ630にも採用することができる。
≪実施例2:ダンプトラックの制御≫
図11に戻ってダンプトラック770のコントローラ630には、GNSS受信機782とIMU783の情報とからダンプトラック770の位置・姿勢情報を算出する位置・姿勢算出機能、油圧ショベル710のコントローラ610が算出した土砂量の累計値を計算する積み込み土砂重量算出機能、およびダンプトラック770の動作を制御する車両制御機能が実装されている。
位置・姿勢算出機能は、GNSS受信機782で取得した車体位置と、IMU783の検出結果からダンプトラック770の車体姿勢を算出する。
積み込み土砂重量算出機能は、コントローラ610が算出したバケット713に積み込んだ土砂量を累積することでダンプトラック770に積み込まれた土砂の重量を算出する。積み込んだ土砂量によってダンプトラック770の総重量が変化すると、ダンプトラック770の加速特性が変化する。このため、ダンプトラック770に積算された土砂重量を算出する機能も基礎モデル(車両モデル)を更新する操作に相当し、本実施例では積み込み土砂重量算出機能はモデル更新部115に相当する。
車両制御機能は、土砂重量を考慮した運動方程式を利用して評価関数(式(23)参照)を最小化するようにダンプトラック770の速度や角速度を制御量uとして算出する。車両制御機能は制御量演算部116に相当する。
実施例1のフォークリフト510の例と同様に、速度制御装置631と操舵制御装置632へ出力される指令値vへの変換を行うことでダンプトラック770を適切に制御することができる。
≪実施例2の特徴≫
以上に説明したように、制御システム100は油圧ショベル710とダンプトラック770のような複数の作業機械を同時に制御するような場合にも有効である。なお油圧ショベル710、およびダンプトラック770の何れか一方が、作業員が搭乗して操作する形態においても、有人機械のコントローラ610,630の制御機能を停止すればよく、他方の作業機械のみで評価関数Jを最小化するように制御できる。つまりは、制御システム100は自律化機械(制御システム100が制御する作業機械)と非自律化機械(作業員が操作する作業機械)が混在する環境においても有効である。
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 制御システム
111 運用設定部
112 基礎モデル設定部
113 追従目標設定部
114 評価関数設定部
115 モデル更新部
116 制御量演算部
130 指令変換部
131 定常特性変換部
132 動特性補償部
140 変換更新部
200 制御対象
210 駆動部
510 フォークリフト(制御対象)
520 作業員(制御対象以外の動体)
550 倉庫(作業エリア)

Claims (10)

  1. 作業機械である制御対象の、動作目標と、動作の評価指標と、動作モデルとに基づいて、前記制御対象を駆動するための制御量を算出する制御量演算部と、
    前記制御対象の状態量に基づき、前記動作モデルを更新するモデル更新部とを備える
    ことを特徴とする制御システム。
  2. 前記制御量を前記制御対象の駆動部に対する指令値へ変換する指令変換部と、
    前記制御量から前記指令値への変換特性を、前記指令値と前記制御対象の応答とに基づいて更新する変換更新部とをさらに備える
    ことを特徴とする請求項1に記載の制御システム。
  3. 前記制御対象の動作の開始状態および終了状態を受け付け、
    前記開始状態から前記終了状態までの最短の動作経路を算出して、当該動作経路を前記動作目標に設定する追従目標設定部をさらに備える
    ことを特徴とする請求項1に記載の制御システム。
  4. 前記評価指標は、前記制御対象が存在する作業エリアにおける前記制御対象の状態、前記作業エリアに存在する前記制御対象と異なる物体の状態、および前記作業エリアの環境状態の何れか少なくとも1つに関する評価指標を含む
    ことを特徴とする請求項1に記載の制御システム。
  5. 前記指令変換部は、定常特性変換部および動特性補償部を含んで構成され、
    前記動特性補償部は、前記駆動部の応答遅れを補償するフィードフォワード制御器である
    ことを特徴とする請求項2に記載の制御システム。
  6. 前記変換更新部は、
    前記動特性補償部の変換特性を示す伝達関数の係数を算出して更新し、
    算出した係数を含む伝達関数が不安定極を有する場合には、当該係数を前記動特性補償部の変換特性を示す伝達関数に反映しない
    ことを特徴とする請求項5に記載の制御システム。
  7. 前記動作モデルは、物理モデルで示され、
    前記モデル更新部は、
    前記制御対象の状態量に基づき前記物理モデルに含まれるパラメータを算出して更新し、
    算出した前記パラメータが所定の範囲内にない場合には、当該パラメータを前記物理モデルに反映しない、
    ことを特徴とする請求項1に記載の制御システム。
  8. 前記動作モデルは、物理モデルで示され、
    前記モデル更新部は、
    前記制御対象の状態量に基づき前記物理モデルに含まれるパラメータを算出して更新し、
    算出した前記パラメータが所定の範囲内にない場合には、前記制御量演算部に通知を送信し、
    前記制御量演算部は、前記通知を受信すると、前記制御対象を停止するように制御する
    ことを特徴とする請求項1に記載の制御システム。
  9. 前記評価指標は、前記制御対象の生産性、消費エネルギ、制御対象以外の物体との距離、排気ガス性状のうち少なくとも何れか1つを含む
    ことを特徴とする請求項1に記載の制御システム。
  10. 作業機械である制御対象を制御する制御システムが、
    前記制御対象の、動作目標と、動作の評価指標と、動作モデルとに基づいて、前記制御対象を駆動するための制御量を算出するステップと、
    前記制御対象の状態量に基づき、前記動作モデルを更新するステップと
    を実行することを特徴とする制御方法。
JP2021114452A 2021-07-09 2021-07-09 制御システムおよび制御方法 Pending JP2023010363A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021114452A JP2023010363A (ja) 2021-07-09 2021-07-09 制御システムおよび制御方法
PCT/JP2022/017486 WO2023281893A1 (ja) 2021-07-09 2022-04-11 制御システムおよび制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021114452A JP2023010363A (ja) 2021-07-09 2021-07-09 制御システムおよび制御方法

Publications (2)

Publication Number Publication Date
JP2023010363A true JP2023010363A (ja) 2023-01-20
JP2023010363A5 JP2023010363A5 (ja) 2024-03-12

Family

ID=84801463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021114452A Pending JP2023010363A (ja) 2021-07-09 2021-07-09 制御システムおよび制御方法

Country Status (2)

Country Link
JP (1) JP2023010363A (ja)
WO (1) WO2023281893A1 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003167604A (ja) * 2001-12-04 2003-06-13 Komatsu Ltd 油圧機器の制御装置におけるパラメータ同定装置
JP4664842B2 (ja) * 2006-03-20 2011-04-06 株式会社東芝 エネルギープラントの最適運用システムと方法、およびプログラム
JP2007304767A (ja) * 2006-05-10 2007-11-22 Yamatake Corp 制御システムおよび制御方法
EP2299338B1 (en) * 2008-07-07 2013-05-29 Honda Motor Co., Ltd. Controller
US9499183B2 (en) * 2015-02-23 2016-11-22 Mitsubishi Electric Research Laboratories, Inc. System and method for stopping trains using simultaneous parameter estimation
JP7336853B2 (ja) * 2019-02-01 2023-09-01 株式会社小松製作所 建設機械の制御システム、建設機械、及び建設機械の制御方法

Also Published As

Publication number Publication date
WO2023281893A1 (ja) 2023-01-12

Similar Documents

Publication Publication Date Title
AU2017382930B2 (en) Monitoring the operation of a work machine
Jud et al. Heap-the autonomous walking excavator
JP4795228B2 (ja) ロープ吊りの荷物を取り扱う最適動き案内付きクレーンまたはショベル
CN103217978B (zh) 一种实现液压载重车多车组协调作业的控制方法
US11530920B2 (en) Controlling movement of a machine using sensor fusion
US9870002B1 (en) Velocity control of position-controlled motor controllers
US20170364073A1 (en) Modular Robotic System
US20040158355A1 (en) Intelligent methods, functions and apparatus for load handling and transportation mobile robots
AU2017383016B2 (en) A method of operating a work machine on a worksite with a particular surface profile
Palomba et al. Estimation of the digging and payload forces in excavators by means of state observers
CN106347366A (zh) 重量确定和闭环速度控制的系统和方法
Nayl et al. Switching model predictive control for an articulated vehicle under varying slip angle
Nayl Modeling, control and path planning for an articulated vehicle
CN113704889B (zh) 一种液压转向阿克曼底盘的控制方法及其应用
WO2023281893A1 (ja) 制御システムおよび制御方法
Olmedo et al. A UGV-based modular robotic manipulator for soil sampling and terramechanics investigations
Hong et al. Path planning for wheel loaders: A discrete optimization approach
Quan et al. Agv motion balance and motion regulation under complex conditions
GB2558255A (en) Monitoring the operation of a work machine
US20230034265A1 (en) Method for monitoring and/or performing a movement of an item of machinery, and item of machinery and computer program product
GB2558257B (en) Monitoring the operation of a work machine
Ferlibas et al. Load weight estimation on an excavator in static and dynamic motions
CA3193452A1 (en) System and method for monitoring machine operations at a worksite
US10611034B1 (en) Determining null bias of a hydraulic valve of a robot
Tang et al. [Retracted] Path Planning and Trajectory Tracking for Automatic Guided Vehicles

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240304

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240304