JP7200037B2 - 機械の自動運転制御方法、及びシステム - Google Patents

機械の自動運転制御方法、及びシステム Download PDF

Info

Publication number
JP7200037B2
JP7200037B2 JP2019078737A JP2019078737A JP7200037B2 JP 7200037 B2 JP7200037 B2 JP 7200037B2 JP 2019078737 A JP2019078737 A JP 2019078737A JP 2019078737 A JP2019078737 A JP 2019078737A JP 7200037 B2 JP7200037 B2 JP 7200037B2
Authority
JP
Japan
Prior art keywords
model
learning
reliability
machine
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.)
Active
Application number
JP2019078737A
Other languages
English (en)
Other versions
JP2020177416A (ja
Inventor
杜青 松本
文也 工藤
俊宏 鯨井
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 JP2019078737A priority Critical patent/JP7200037B2/ja
Priority to CN202010248015.5A priority patent/CN111830825B/zh
Priority to US16/845,522 priority patent/US11619929B2/en
Publication of JP2020177416A publication Critical patent/JP2020177416A/ja
Application granted granted Critical
Publication of JP7200037B2 publication Critical patent/JP7200037B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • 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
    • G05B13/042Adaptive 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 in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4069Simulating machining process on screen
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40298Manipulator on vehicle, wheels, mobile
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40499Reinforcement learning algorithm

Description

本発明は、概して、機械の自動運転制御に関する。
大型産業機械などの機械の自動運転制御は、実機を模倣したシミュレーションを用い、最適な自動運転制御方法を見つけ、シミュレーション上で実現した自動運転制御を実機で検証することが行われている。この最適制御を見つける方法としては、最適化計算や強化学習などが挙げられる。
大型産業機械の例としては天井クレーンがあり、天井クレーンの自動運転制御の例は特許文献1に挙げられている。特許文献1によれば、ある特定の運搬に対し、物理モデルの運搬シミュレーションを用い、搬送物が揺れないように自動運転制御ステップを生成することが行われている。
しかしながら、実機とシミュレーション間の誤差により、実機がシミュレーションとは異なる挙動をし、望む結果を得ることが難しい。そのため、実機での調整が不可欠となるが、大型産業機械の実機を頻繁に用いて実験することは負担が大きいため困難である。
この問題を避けるために、特許文献2に挙げられるように、実機に近づくようにシミュレーションを生成することが考えられる。
特開2007-161393号公報 特開2004-178247号公報
天井クレーンにおいて、ある標準的な制御信号列の実データを基に、特許文献2のような精緻なシミュレーションを生成することが考えられるが、実機とシミュレーションとの間を埋めるために、数学的に記述される関数による合わせ込みが行われる。この合わせ込みでは、実機のデータ不足や再現性のなさから過学習をすることが知られている。
シミュレーションが過学習をしている場合、合わせ込みシミュレーションを生成した際の制御信号列、搬送距離、搬送物の重さ、実機検証を行った環境などのパラメータにシミュレーションが強く依存している。このため、制御信号列、搬送距離、環境といったパラメータが変化した際には、シミュレーションの結果が大きく変動し、シミュレーションと実機間の誤差が大きくなる問題がある。そのため、合わせ込みを行った制御の環境以外では、自動運転制御が実現しない問題が生じる。
また、自動運転制御の制御信号列の探索に強化学習を用いる場合、過学習をしたシミュレーションでは、強化学習において得られる報酬が大きく変動し、学習が進行しない問題がある。そのため、強化学習による自動運転制御を実現する際に、制御信号列を生成するときに用いるシミュレーションに、過学習の影響が含まれることを防ぐ必要がある。
数学的に記述される関数による合わせ込みの過学習の影響は、自動運転制御の制御信号列の探索に強化学習以外の学習が用いられる場合にも問題となり得る。
そこで、本発明では、数学的に記述される関数による合わせ込みの過学習の影響を取り除くことにより実機とシミュレーションとの誤差を削減し、以って、機械の自動運転制御を最適化することを目的とする。
機械の自動運転を制御する自動運転制御システムが、数学的に記述される関数に基づき前記機械に入力される制御信号列と当該制御信号列に従い制御された前記機械から出力されるデータとの関係を示す第1のモデルを設定する。システムが、機械の自動運転制御を学習することを含む学習処理において、第1の条件が満たされるまでは第1のモデルを用いて学習を実行し、第1の条件が満たされた以降、過学習を意味する第2の条件が満たされるか当該第2の条件が満たされること無しに学習が終了するまでは、第1のモデルを1回以上変化させた後のモデルである第2のモデルを用いて学習を実行する。
本発明により、数学的に記述される関数による合わせ込みの過学習の影響を取り除くことにより実機とシミュレーションとの誤差を削減し、以って、機械の自動運転制御を最適化できる。
自動運転制御の概要の一例を示す模式図。 「システム」008の構成の一例を示すブロック図。 「データベース」116に格納されるデータの一例を示すブロック図。 「信頼度シミュレーション生成モジュール」108が実行する処理の一例のフローチャート。 「問題設定処理」S301の詳細の一例を示すフローチャート。 機械学習の合わせ込みの一例を示す領域図。 「学習実行処理」S306の詳細の一例を示すフローチャート。 合わせ込み印加の一例を示す模式図。 「評価処理」S307の詳細の一例を示すフローチャート。 「アーム台車」901の構成の一例を示す模式図。 「アーム台車」901のプロセスの一例を示す模式図。
以下の説明では、「インターフェース装置」は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、下記のうちの少なくとも一つでよい。
・一つ以上のI/O(Input/Output)インターフェースデバイス。I/O(Input/Output)インターフェースデバイスは、I/Oデバイスと遠隔の表示用計算機とのうちの少なくとも一つに対するインターフェースデバイスである。表示用計算機に対するI/Oインターフェースデバイスは、通信インターフェースデバイスでよい。少なくとも一つのI/Oデバイスは、ユーザインターフェースデバイス、例えば、キーボード及びポインティングデバイスのような入力デバイスと、表示デバイスのような出力デバイスとのうちのいずれでもよい。
・一つ以上の通信インターフェースデバイス。一つ以上の通信インターフェースデバイスは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
また、以下の説明では、「メモリ」は、一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし不揮発性メモリデバイスであってもよい。
また、以下の説明では、「永続記憶装置」は、一つ以上の永続記憶デバイスである。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)であり、具体的には、例えば、Hard Disk Drive(HDD)又はSolid State Drive(SSD)である。
また、以下の説明では、「記憶装置」は、メモリと永続記憶装置の少なくともメモリでよい。
また、以下の説明では、「プロセッサ」は、一つ以上のプロセッサデバイスである。少なくとも一つのプロセッサデバイスは、典型的には、Central Processing Unit(CPU)のようなマイクロプロセッサデバイスであるが、Graphics Processing Unit(GPU)のような他種のプロセッサデバイスでもよい。少なくとも一つのプロセッサデバイスは、シングルコアでもよいしマルチコアでもよい。少なくとも一つのプロセッサデバイスは、プロセッサコアでもよい。少なくとも一つのプロセッサデバイスは、処理の一部又は全部を行うハードウェア回路(例えばField-Programmable Gate Array(FPGA)又はApplication Specific Integrated Circuit(ASIC))といった広義のプロセッサデバイスでもよい。
また、以下の説明では、「kkk部」の表現にて機能を説明することがあるが、機能は、一つ以上のコンピュータプログラムがプロセッサによって実行されることで実現されてもよいし、一つ以上のハードウェア回路(例えばFPGA又はASIC)によって実現されてもよい。プログラムがプロセッサによって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置及び/又はインターフェース装置等を用いながら行われるため、機能はプロセッサの少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサ或いはそのプロセッサを有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。
以下、幾つかの実施例を、図面を用いて説明する。
図1は、実施例1に係る自動運転制御の概要の一例を示す図である。
「天井クレーン」001は、自動運転制御対象の産業機械の一例である。「天井クレーン」001は、移動可能な「台車」002と、「搬送物」003と、巻き上げ可能な「紐」004と、「通信可能な制御装置」005と、「センサー」006とを備える。「センサー」006は、「台車」002の速度及び位置と、「紐」004の長さと、「揺れ角度θ」007とを測定する。「センサー」006の測定値(本実施例では、「台車」002の速度及び位置と、「紐」004の長さと、「揺れ角度θ」007)は、「システム」008に送信される。「システム」008が、本実施例に係る自動運転制御システムである。
「センサー」006は、図1では一つであるが、複数の「センサー」006があってもよい。複数の「センサー」006が、「台車」002、「紐」004及び「搬送物」003にそれぞれ備えられてもよい。
「揺れ角度θ」007は、「台車」002から鉛直方向に伸ばした直線と、直線状の「紐」004の間の角度とする。しかし、揺れ角度の定義はこれに限らない。例えば、揺れ角度の定義は、「紐」004と「台車」002の水平線方向で定義、つまり図1でいうと、(90度-θ)が、「揺れ角度」でもよい。
制御信号列を用いた「天井クレーン」001の自動運転制御は、事前に「台車」002の加減速を指示する制御信号の時間ごとの列である制御信号列、例えば、「システム」00いから「制御信号列」009を「通信可能な制御装置」005が受信し「通信可能な制御装置」005がその「制御信号列」009に従う制御を行うことで実現される。
具体例の「制御信号列」009によれば、「台車」002は、加速制御時に最大速度に到達すると、加速をやめて最大速度で等速運転を行い、減速時では、台車が速度0になると、それ以上減速せず、速度0になる。
「通信可能な制御装置」005は、例えば、送信された「制御信号列」009を、PLC(Programmable Logic Controller)又はモーションコントローラーで受信し、受信した信号をインバーターに出力し、インバーターにより当該信号を「天井クレーン」001の「台車」002を実際に制御するための制御信号列の形に変換し、その信号列通りに台車を制御する装置でよい。なお、「通信可能な制御装置」005の例は、上述の装置に限らない。また、「通信可能な制御装置」005は、図1では「台車」002に搭載されているものとなっているが、「台車」002に搭載されていなくてもよい。
図2は、「システム」008の構成の一例を示すブロック図である。
図2を参照すると、「システム」008は、「メモリ」102と、「通信装置」103と、「プログラム記憶装置」104と、「データ記憶装置」105と、「入力装置」106と、「出力装置」107と、それらに接続された「CPU」101とを有している。「通信装置」103が、インターフェース装置の一例である。「メモリ」102、「プログラム記憶装置」104及び「データ記憶装置」105が、記憶装置の一例である。「CPU」101が、プロセッサの一例である。
「プログラム記憶装置」104は、「CPU」101に実行される一つ以上のコンピュータプログラムを記憶する装置である。「プログラム記憶装置」104は、例えば、「信頼度シミュレーション生成モジュール」108を記憶する。
「信頼度シミュレーション生成モジュール」108は、図4に例示する処理を行うソフトウェアモジュールである。ソフトウェアモジュールは、一つ以上のソフトウェアプログラムからなり、あるまとまりの機能を実現するソフトウェア又はソフトウェア部品である。
「信頼度シミュレーション生成モジュール」108は、「問題設定部」109と、「信頼度設定部」110と、「印加モデル生成部」111と、「学習実行部」112と、「評価部」113と、「信頼度生成部」114と、「信頼度/ベースモデル更新部」115と、「運転制御部」118とを有している。
「データ記憶装置」105は、データを記憶する装置である。「データ記憶装置」105は、例えば、「データベース」116を記憶する。
なお、ここでは「プログラム記憶装置」104と「データ記憶装置」105を別々の装置とする例を示したが、この構成に限定しておらず、「プログラム記憶装置」104と「データ記憶装置」105は同一記憶装置であってもよい。
「信頼度シミュレーション生成モジュール」108は、データの入出力を「データ記憶装置」105に格納された「データベース」116に対して行う。
「CPU」101は、例えば、「メモリ」102をワークエリアとして利用し、「データ記憶装置」105に記憶されたデータの読み出しを行う。加え、「CPU」101は、例えば、演算過程や演算結果のデータを「データ記憶装置」105に書き込む。
「通信装置」103は、例えば、「CPU」101にて処理された情報を例えば通信ネットワークを介して「通信可能な制御装置」005のような外部の装置に送信する。加え、「通信装置」103は、例えば、通信ネットワークを介して受信した情報を「CPU」101に伝達する。
「入力装置」106は、キーボード、マウスなどのユーザインターフェース装置である。
「出力装置」107は、ディスプレイ装置、プリンタなどのユーザインターフェース装置である。
なお、「通信装置」103を介して接続されている該端末が、「入力装置」106及び「出力装置」107を有し、端末からの要求に従って、データを処理し、処理結果を端末に出力してもよい。
「システム」008は、物理的に一つの計算機上に構築されても、複数の計算機上に構成された論理区画上に構築されてもよい。
図3は、「データベース」116に格納されるデータの一例を示すブロック図である。
「データベース」116は、「制御情報」201と、「パラメータ」202と、「制御信号列」203と、「施策」204と、「シミュレーションデータ」205と、「実世界データ」206と、「算出誤差」207と、「信頼度尺」208と、「信頼度」209と、「KPI(Key Performance Indicator)」210と、「報酬情報」211と、「過学習パラメータ」212とを格納する。「データベース」116における要素201~212の各々は、例えばテーブルでよい。
以下に、上述の図2に例示の「システム」008を用い、図1に例示の「天井クレーン」001の自動運転を実現する方法の一例を、図1~図3を用い説明する。
「データベース」116に格納される「制御信号列」203の構成は、具体例の「制御信号列」009の構成に限らない。例えば、「制御信号列」203の構成や「制御信号列」009の構成は、図1に例示の構成に限らず、「天井クレーン」001において有効ないずれの構成であってもよい。以下の説明では、「システム」008から「通信可能な制御装置」005には「制御信号列」009が送信されることとし、「制御信号列」009は、「データベース」116から読み出された「制御信号列」203に基づいていることとする。
また、シミュレーションで考える環境は、図1に例示の1次元方向の自動搬送に限らず、例えば、2次元方向での自動搬送や、巻き上げを含めた3次元方向の自動搬送を含んでもよい。搬送が2次元方向又は3次元搬送になると、極座標系でも知られるように、「揺れ角度θ」007は2次元量となる。制御信号列も、2次元又は3次元に対応した制御信号列でもよいし、巻き上げ機能の制御もあるならば「制御信号列」009のように“巻き上げる”及び“巻き上げない”のいずれを行うかを示す制御信号列があってもよい。シミュレーションで考える環境での制御対象に関する情報は、「制御情報」201に格納される。
シミュレーションの環境を定義する要素は、例えば、「台車」002の重さ及び形状と、「搬送物」003の重さ及び形状と、「紐」004の長さ及び形状でよく、これらの要素を示す情報は「制御情報」201に格納される。
「天井クレーン」001の自動運転制御で目指すタスクの一例は、「制御情報」201に格納されている要素(例えば、設定された搬送距離、紐の巻き上げ長さ)に対する適切な制御を行う「制御信号列」009のような信号列を見つけることである。本実施例では、そのような制御信号列は、強化学習を用いて見つけられる。制御信号列を生成する方法は、強化学習に限定しない。
「システム」008では、「CPU」101が、「データベース」116から「台車」002の「制御信号列」203を読み出し、「通信装置」103を介し、「制御信号列」203に従う「制御信号列」209を「通信可能な制御装置」005に送信する。
「通信可能な制御装置」005は、受信した「制御信号列」009通りの制御を「台車」002に対して行い、制御中に単位時間ごとに「センサー」006から得られた測定値(例えば、「台車」002の速度及び位置、「搬送物」003の「揺れ角度θ」007、及び、「紐」004の長さ)を含むデータである実世界データを、「システム」008に送信する。「CPU」101が、「通信装置」103を介して、実世界データを受信し、受信した実世界データを、「データ記憶装置」105の「データベース」116における「実世界データ」206に格納する。
上述の実機(「天井クレーン」001)を制御するために必要な適切な「制御信号列」009を強化学習で生成する方法について、図面を用いて説明する。
図4は、「信頼度シミュレーション生成モジュール」108が実行する処理の一例を示すフローチャートである。なお、図4のフローチャートが示す処理において、「データベース」116に対して適宜データが入出力されるが、当該入出力に関する記載は、説明の冗長を避けるために省略されることがある。
始めに、「問題設定部」109は、「問題設定処理」S301を行う。「問題設定処理」S301は、「制御情報」201と「パラメータ」202を「データベース」116に入力すること、言い換えれば、信頼度シミュレーションを生成する際の初期設定を行うことである。
「制御情報」201は、「入力装置」106から入力されたデータを含んでよい。「制御情報」201は、「天井クレーン」001の特徴や「天井クレーン」001を制御する「システム」008の特徴に関する情報(例えば、搬送距離や、「紐」)004の巻き上げ長さ)を含む。
また、「制御情報」201は、許容誤差の範囲を示す情報(許容誤差情報)を含んでよい。許容誤差範囲は、実機とシミュレーション間の許容できる誤差の範囲(例えば、誤差の上限と下限)を意味する。なお、この許容誤差範囲は、「制御情報」201にデフォルトで格納されていて、ユーザが許容誤差範囲を指定することが必須でなくてもよい。許容誤差範囲の上限と下限は、典型的には異なった値である。
「制御情報」201は、上述した情報の少なくとも一部に代えて又は加えて他種の情報を含んでもよい。
「パラメータ」202は、「入力装置」106から入力されたデータを含んでよい。「パラメータ」202は、例えば、「問題設定部」109に含まれるシミュレーターに存在する取り除けない誤差(以下、固定誤差)を示す情報(以下、固定誤差情報)と、「問題設定部」109と「学習実行部」112に含まれる強化学習の報酬関数の許容領域とハイパーパラメータなどの環境設定に関する情報とを含む。
「パラメータ」202は、上述の情報の少なくとも一部に代えて又は加えて、他種の情報、例えば、「システム」008を構成する上で必要な値を含んでもよい。
本実施例では、「制御情報」201と「パラメータ」202は別々の情報であるが、「制御情報」201と「パラメータ」202は包括的に同一の情報とされてもよい。
図5は、「問題設定処理」S301の詳細の一例を示すフローチャートである。
「問題設定部」109は、「KPI処理」S401を実行する。
「KPI処理」S401は、「制御情報」201に含まれる、搬送データに対し指標値となるKPIを、「KPI」210に格納することを含む。KPIの例としては、「天井クレーン」001では、搬送時間が早い、搬送終了後の搬送物の揺れ幅が小さい、といった例を採用可能であるが、この例に限らない。
次に、「問題設定部」109は、「ベースモデル生成処理」S402を実行する。
「ベースモデル生成処理」S402は、「制御情報」201と「パラメータ」202を入力とし、数学的に記述される関数で「天井クレーン」001をモデリングすること、つまり、「天井クレーン」001のベースモデルを生成することを含む。
「ベースモデル生成処理」S402で生成されるベースモデルは、「天井クレーン」001の演繹モデルである物理モデル、例えばニュートン力学を用いたシミュレーションで生成されたモデルでよい。
「ベースモデル生成処理」S402で生成されたベースモデルは、「問題設定部」109により、信頼モデルとして設定され、且つ、「シミュレーションデータ」205に格納される。
次に、「問題設定部」109は、「施策評価設定処理」S403を実行する。「施策評価設定処理」S403は、強化学習の実行と評価を含む。
例えば、「施策評価設定処理」S403は、「ベースモデル生成処理」S402で生成された信頼モデルを強化学習時のシミュレーターとして使用し、「KPI」210に格納されたKPIに基づき信頼モデル使用時の最適施策を決定し、且つ、報酬が収束するエピソード数αであるパラメータAを設定することを含む。パラメータAは、「問題設定部」109により「データベース」116の「パラメータ」202に格納され、最適施策は、「問題設定部」109により「データベース」116の「施策」204に格納される。
加え、「施策評価設定処理」S403は、パラメータAを決定するために、「パラメータ」202に格納されている報酬関数(強化学習で定義される報酬関数)に関し当該報酬関数の出力(報酬)の許容範囲を入力することを含む。
パラメータAは、「施策評価設定処理」S403で決定されることに代えて、ユーザから初めに入力され「パラメータ」202に格納されてもよい。
「施策評価設定処理」S403は、「施策」204に格納される上記決定された最適施策を「天井クレーン」001に適した制御信号列に変換し、変換された信号列を「データベース」116の「制御信号列」203に格納することを含む。
加え、「施策評価設定処理」S403は、最適施策による制御を「ベースモデル生成処理」S402で生成されたシミュレーション上で実行し(格納された制御信号列をベースモデルに入力し)、当該実行の結果を示すシミュレーション結果データを「データベース」116の「シミュレーションデータ」205に格納することを含む。シミュレーション結果データは、例えば、最適施策による制御における単位時間ごとの測定値(例えば、「台車」002の位置及び速度、「搬送物」003の「揺れ角度θ」007)を含む。
次に、「問題設定部」109は、「誤差目標設定処理」S404を実行する。「誤差目標設定処理」S404は、「制御情報」201に格納された許容誤差情報を入力とし、当該情報を基に学習終了条件となる許容誤差範囲を設定し、設定された許容誤差範囲を示す情報を「パラメータ」202に格納することを含む。
再び図4を参照する。次に、「信頼度設定部」110は、「信頼度設定処理」S302を実行する。
「信頼度設定処理」S302は、「施策評価設定処理」S403において「制御信号列」203に格納された制御信号列(最適施策の制御信号列)と、「シミュレーションデータ」205に格納されているシミュレーション結果との少なくとも一つを、「出力装置」107を介しユーザに提示することを含む。ユーザは、当該提示に対し、「入力装置」106を介し、学習処理の許可及び拒否のいずれかの選択を入力し、「信頼度設定処理」S302は、当該選択を入力することを含む。
「信頼度設定処理」S302において拒否の選択が入力された場合、「信頼度設定部」110は、「追加処理」S303を実行する。「追加処理」S303は、ユーザから「制御情報」201と「パラメータ」202に追加される情報の入力を受けることを含む。入力された情報は、「問題設定処理」S301において、「制御情報」201と「パラメータ」202に格納される。
「信頼度設定処理」S302において許可の選択が入力された場合、「信頼度設定部」110は、例えば次のことを実行する。すなわち、「信頼度設定部」110は、「施策評価設定処理」S402において決定され「制御信号列」203に格納された制御信号列に従う「制御信号列」009(最適施策の制御信号列)を、「通信装置」103を介し、「天井クレーン」001の「通信可能な制御装置」005に送信する。また、「信頼度設定部」110は、「通信装置」103を介し、当該制御信号列に従い「天井クレーン」001を制御する「通信可能な制御装置」005から、「センサー」006から得られた実世界データを受信し、「実世界データ」206に当該実世界データを格納する。実世界データは、「ベースモデル生成処理」S402において生成されたベースモデルの結果と同様のデータ列か、又は、そのデータ列を生成可能な情報だけでもよい。また、実世界データは、例えば、単位時間ごとの測定値(例えば、「台車」002の位置及び速度、「搬送物」003の「揺れ角度θ」007)を含んでよい。実世界データの種類はこの例に限らない。
「信頼度設定処理」S302は、「天井クレーン」001から得られ「実世界データ」206に格納された実世界データと、「ベースモデル生成処理」S402において生成された信頼モデル(ベースモデル)を用いて得られ「シミュレーションデータ」205に格納されたシミュレーション結果データとを比較することで誤差を計算し、「算出誤差」207にその誤差を格納することを含む。ここで言う「実世界データ」は、「システム」008から送信された「制御信号列」009に従う制御の結果として「天井クレーン」001から受信した実測データであり、例えば、単位時間毎の実際の測定値(「搬送物」003の「揺れ角度θ」)を含むデータである。「シミュレーション結果データ」は、「システム」008から送信された「制御信号列」009の基になった制御信号列(「制御信号列」203から得られる信号列)に従う制御をシミュレーション上で実行した結果として得られた予測データであり、例えば、単位時間毎の予測される測定値を含むデータである。
実世界データが、一つ以上の実際の測定値を含み、シミュレーション結果データが、一つ以上の実際の測定値にそれぞれ対応する一つ以上の予測される測定値を含む場合、実世界データとシミュレーション結果データとの差分データとして、一つ以上の差分値が得られる。各差分値は、実際の測定値と、当該実際の測定値に対応する予測される測定値との差分(絶対値)である。誤差は、全差分値の和でよい。誤差の定義としては、差分値の和に代えて、他の定義(例えば、全差分値の平均、最大値又は最小値)が採用されてもよい。
「信頼度設定処理」S302が、算出された誤差に基づき信頼度を定めることを含む。定める信頼度の例としては、誤差がないときは、信頼度=1でよい。誤差があるときは、「ベースモデル生成処理」S402で設定された信頼モデルに関する誤差(例えば、信頼モデルの固定誤差)が、信頼度=0に関連付けられてよい。
「信頼度設定処理」S302は、「算出誤差」207に格納された誤差を入力とし、信頼度尺(信頼度の尺)をこの誤差から計算し、算出された信頼度尺を「データベース」116の「信頼度尺」208に格納することを含む。信頼度尺は、信頼度と誤差の関係を意味する。例えば、信頼度=0は、上記算出された誤差に対応し、信頼度=1は、誤差=0に対応し、当該対応関係を基に、0より大きく1より小さい信頼度と、当該信頼度に対応した誤差との相互変換が可能でよい。
加え、「信頼度設定処理」S302は、「パラメータ」202に格納されている固定誤差情報を入力とし、初期信頼度τを、当該固定誤差情報を基に設定することを含む。なお、初期信頼度は、「パラメータ」202にハイパーパラメータとして格納されていてもよいし、「制御情報」201に格納されていてもよい。
「信頼度設定処理」S302は、設定された初期信頼度τを「信頼度」209に格納することを含む。
初期信頼度τの例としては、固定誤差が関連付けられた信頼度(例えば0)より大きい値や、単に10%の信頼にあたる0.1などであるが、初期信頼度τはこの例に限らない。
信頼度τは、誤差から見積もった量である。すなわち、信頼度τは、誤差の基準次第で誤差と等価になる量である。このため、信頼度τは、誤差とみなすことも可能である。本実施例では、0≦τ≦1である。
「信頼度設定処理」S302は、「ベースモデル生成処理」S402と同様に、信頼モデルをベースモデルとして設定し、ベースモデルを「データベース」116の「シミュレーションデータ」205に格納することを含む。
次に、「印加モデル生成部」111は、「印加モデル生成処理」S304と「印加モデル重み算出処理」S305とを実行する。
「印加モデル生成処理」S304は、「シミュレーションデータ」205に格納されているベースモデルと、「算出誤差」207に格納されている誤差と、「パラメータ」202に格納されている許容誤差範囲とを入力とし、その誤差を数学的に記述される関数を用い合わせ込む。
「印加モデル生成処理」S304で用いられる合わせ込みは、誤差がなくなるように合わせ込むと過学習をしたモデルを生成してしまうため、許容誤差範囲内になるように、全データを多項式関数で合わせ込む。
図6は、機械学習の合わせ込みの一例を示す。横軸は時間に対応し縦軸は或る種の測定値(例えば搬送距離)に対応している。
図6を参照すると、合わせ込む領域は、ベースモデルで再現出来ている点線501と、実世界データが示す実線502との間の領域503である。また、2本の1点鎖線の間を表す範囲504は、許容誤差範囲の一例である。従って、決定される合わせ込み関数は、領域503と許容誤差範囲504との重複した範囲内へ誤差を埋める合わせ込み関数である。
上述の合わせ込み関数(合わせ込みモデル)は、多項式関数を一例としたが、多項式関数に限らず、また、機械学習に限らず、データから導かれる回帰モデルを含んでよい。合わせ込み関数の例としては、スプライン補完、テイラー展開、最近傍法、サポートベクトルマシン、ランダムフォレストなどあり、この例に限らない。
「印加モデル生成処理」S304は、合わせ込みモデルを、「データベース」116の「シミュレーションデータ」205に格納することを含む。
「印加モデル重み算出処理」S305は、「信頼度」209に格納された信頼度τと、「シミュレーションデータ」205に格納されている合わせ込みモデルと、「パラメータ」202に格納されている信頼度τを入力とする。
「印加モデル重み算出処理」S305は、「印加モデル生成処理」S304において生成された合わせ込みモデルのうちτの重み(割合)の合わせ込みモデル(以下、重みτの合わせ込みモデル)を生成し、「シミュレーションデータ」205に重みτの合わせ込みモデルを格納することを含む。なお、τは、0より大きく、τ(信頼度)より小さい。τがτより小さい理由は、誤差が大きい場合に(τが小さい場合に)過学習のおそれがある合わせ込みモデルを印加する割合が大きくなることを避けるためである。
次に、「学習実行部」112は、「学習実行処理」S306の処理を実行する。「学習実行処理」S306の詳細を、図7が示す。
図7を参照すると、「学習実行部」112は、まず「モデル印加制御処理」S601を実行する。
「モデル印加制御処理」S601は、「シミュレーションデータ」205を入力として強化学習のエピソードをカウントすることを含む。カウント値T(エピソード数T)は、S601が実行される都度にインクリメントされる。また、「モデル印加制御処理」S601は、エピソード数Tに応じて、ベースモデルのみ、又は、ベースモデルと重みτの合わせ込みモデルを出力することを含む。
具体的には、例えば、「モデル印加制御処理」S601は、エピソード数Tとα(1-τ)とを比較することを含む(αは、最終エピソード数H未満である)。「モデル印加制御処理」S601は、Tがα(1-τ)より小さい場合は、ベースモデルのみを出力することを含む。結果として、「ベースモデル使用処理」S602が実行されることになる。一方、「モデル印加制御処理」S601は、Tがα(1-τ)以上の場合は、ベースモデルと重みτの合わせ込みモデルを出力することを含む。結果として、「モデル印加処理」S603が実行されることになる。この段落における上述の例を図8が示す。上述のようにすると、信頼度τに基づき、合わせ込みのシミュレーション印加を実行することが可能である。これにより、過学習の影響が低い合わせ込みモデル(信頼度τが高い合わせこみモデル)で、早期に学習することが可能となる。加え、上述のようにすると、εグリーディーなどの探索方法では、信頼度τが低いときは後述の「強化学習処理」S605の探索が制限される。このため、過学習の影響を含んだシミュレーションで探索をせず、後述のように、過学習の影響による報酬関数の変動が識別できる。なお、Tとα(1-τ)とを比較する意義の一例は、次の通りである。すなわち、Tが、収束エピソード数αより大きく最終エピソード数Hより小さい場合、強化学習が十分行われたと考えられ故にエピソード数を増やし学習を継続しても結果があまり変わらなくなると考えられる。このため、α(1-τ)<T<αでは、学習する率は小さいものの学習が少し行われることが期待される。このような状況において合わせ込みモデルを印加することで、過学習の状況を学びすぎないようにすることが期待できる。このような合わせ込みモデルの印加方法は一例であり、エピソード数Tとα(1-τ)との比較結果に基づく印加方法以外の印加方法(例えば、エピソード数Tを別の値と比較する方法)が採用されてもよい。
さて、Tがα(1-τ)より小さい場合は、「学習実行部」112は、「ベースモデル使用処理」S602、「強化学習処理」S604、及び、「総和報酬RBの平均の算出処理」S606を実行する。
「ベースモデル使用処理」S602は、「モデル印加制御処理」S601において出力されたベースモデルを入力する。
「強化学習処理」S604は、ベースモデルと、エピソード数とを入力とし、学習を実行することを含む。
具体的には、例えば、「強化学習処理」S604は、ベースモデルを用いた強化学習における探索を行い、また、「KPI」210に格納されたKPIを入力とし、学習の評価のために必要な報酬関数を生成することを含む。
「強化学習処理」S604は、「施策評価設定処理」S403で定めた収束エピソード数α(「パラメータ」202に格納された収束エピソード数α)と「モデル印加制御処理」S601のエピソード数Tとを入力とし、エピソード数Tに応じて探索を制御することを含む。
探索の制御方法は、ここではエピソードが増加するにつれて探索確率が減少するεグリーディーを例とするが、別の方法であってもよい。
「強化学習処理」S604は、今回のエピソードの学習において得られた報酬の総和(総和報酬RB)を計算し、今回の総和報酬RBを「報酬情報」211に格納することを含む。
「総和報酬RBの平均の算出処理」S606は、「報酬情報」211に格納されたこれまでの総和報酬RBと、「パラメータ」202に格納されているエピソード数T(例えば、予め又はユーザにより指定されたエピソード数)を入力として、総和報酬RBの平均を計算し(すなわち、これまでの総和報酬RBの合計をエピソード数Tで除算し)、総和報酬RBの平均を「データベース」116の「報酬情報」211に格納することを含む。総和報酬RBの平均の取り方は、Tをバッチとして平均をとってもよいし、2エピソードごとに1エピソードをとりTを用いて平均を取るなど、限定されない。
さて、エピソード数Tがa(1-τ)以上の場合、「学習実行部」112は、「モデル印加処理」S603、「強化学習処理」S605、「総和報酬RBの平均の算出処理」S607、「過学習判断指標の算出処理」S608、「モデル採否判断処理」S609を実行する。
「モデル印加処理」S603は、このときのエピソード数T(つまり、合わせ込みモデルの印加が初めてされるときのエピソード数)をTinとし、「パラメータ」202に格納する。
「モデル印加処理」S603は、エピソード数Tinと、「シミュレーションデータ」205に格納されているシミュレーション(ベースモデルと重みτの合わせ込みモデル)を入力とし、エピソード数Tinに応じ、ベースモデルに、重みτの合わせ込みモデルを印加する。印加の大きさ(合わせ込みモデルの印加される割合)は、印加開始から一定値τのままでもよいし、1エピソードごとにτを加えるものであってもよい。印加の大きさは、ここでは上述のものを例として挙げたが、この例に限定しない。
また、印加開始から一定値τを印加の大きさとして維持する場合、「学習実行部」112は、「モデル印加処理」S603においてすでにベースモデルに重みτの合わせ込みモデルを印加したならば、次の「モデル印加処理」S603では新たに合わせ込みモデルをベースモデルに印加しない。
ただし、「学習実行部」112は、「モデル印加処理」S603では、重みτと信頼度τとの和が1を超えないように維持する。これは、重みτの合わせ込みモデルがベースモデルに印加された結果としてのモデル(以下、更新ベースモデル)の値が、合わせ込みで導出した際のシミュレーションの値を超えないようにするためのものである。
「強化学習処理」S605は、更新ベースモデルと、エピソード数Tとを入力とし、学習を実行することを含む。
具体的には、例えば、「強化学習処理」S605は、更新ベースモデルを用いた強化学習における探索を行い、また、「KPI」210に格納されたKPIを入力とし、学習の評価のために必要な報酬関数を生成することを含む。
「強化学習処理」S605は、「施策評価設定処理」S403で定めた収束エピソード数α(「パラメータ」202に格納された収束エピソード数α)と「モデル印加制御処理」S601のエピソード数Tとを入力とし、エピソード数Tに応じて探索を制御する。
探索の制御方法は、ここではエピソードが増加するにつれて探索確率が減少するεグリーディーを例とするが、別の方法であってもよい。
「強化学習処理」S605は、今回のエピソードの学習において得られた報酬の総和(総和報酬RB)を計算し、今回の総和報酬RBを「報酬情報」211に格納することを含む。
「強化学習処理」S605の学習回数KがTになるまで、「モデル印加処理」S603と「強化学習処理」S605が繰り返えされる。「強化学習処理」S605の学習回数KがTになった場合、「総和報酬RB1の平均の算出処理」S607が実行される。
「総和報酬RBの平均の算出処理」S607は、「報酬情報」211に格納されたこれまでの総和報酬RBとTとを基に総和報酬RBの平均を計算することを含む。
「過学習判断指標の算出処理」S608は、合わせ込みモデルが過学習をした(合わせ込みモデルが過学習されたモデルである)ことを意味する指標(条件)である過学習判断指標を決定することを含む。過学習判断指標は、例えば、下記(A)~(D)のうちの少なくとも一つを含んでよい。
(A)「モデル印加処理」S603の以降に「報酬情報」211に格納された総和報酬RBの平均が、S606で最後に計算された総和報酬RBの平均よりも大きい。
(B)探索の確率で見積もられる回数よりも報酬関数の変動が多くある。なお、指標(B)の意義の一例は、次の通りである。強化学習は、学習がある程度進んだ場合でも、探索をする(これまでの知見(学習の結果)を使わずに新たな行動を取る)ことがあるため、その探索に失敗したときは報酬が大きく変動することがある。その探索が起きる確率に基づき見込まれる回数よりも多く報酬が変動することは、学習に用いるシミュレーション(モデル)が過学習をした状況のためである。故に、指標(B)は、過学習判断指標の一例となり得る。
(C)総和報酬の増減の幅が、重みτの合わせ込みモデルの印加前よりも大きい。指標(C)の一具体例は、次の通りである。エピソード数T=5000(T>α(1-τ)=4000とする)の報酬と、エピソード数T=5001の報酬との差が、合わせ込みモデル印加前(T<4000)のT=10の報酬とT=11の報酬との差(例えば、合わせ込みモデル印加前ではこの報酬差が一番大きかったとする)よりも大きい。
(D)印加直前のベースモデル使用時の報酬変動幅DRB(総和報酬RBの最大値と最小値の幅)を、更新ベースモデルの報酬変動幅DRB(総和報酬RBの最大値と最小値の幅)が超えている。例えば、報酬変動幅DRBの最大値が報酬変動幅DRBの最大値を上回っている、報酬変動幅DRBの最小値が報酬変動幅DRBの最小値を下回っている、及び、報酬変動幅DRBが報酬変動幅DRBよりも大きい、のうちの少なくとも一つが該当する。報酬変動幅DRB及び報酬変動幅DRBは、「報酬情報」211に格納される。指標(D)の一具体例は、次の通りである。T=4000までの間に得られた報酬の最大値と最小値(例えば、T=10での報酬が最大、T=1930での報酬が最小)との差が報酬変動幅DRBとされ、モデル印加後に得られた報酬の最大値と最小値(例えば、T=5001での報酬が最小、T=6000での報酬が最大)との差が報酬変動幅DRBとされ、DRBとDRBとが比較される。
加え、「過学習判断指標の算出処理」S608は、過学習判断指標が満たされている場合、合わせ込みモデルを過学習したモデルと判断することを含む。
「モデル採否判断処理」S609は、「過学習判断指標の算出処理」S608において、合わせ込みモデルが過学習をしたと判断された場合、F=1(Fは過学習判断パラメータ)とし、F=1をデータベース109の「過学習パラメータ」212に格納することを含む。加え、この場合、「CPU」101(例えば「学習実行部」112)は、「出力装置」107にF=1であることをユーザに提示してもよい。合わせ込みモデルが過学習をしていないときはF=0、合わせ込みモデルが過学習をしている場合はF=1である。図4によれば、F=1の場合、再び「印加モデル生成処理」S304が実行される。
「モデル採否判断処理」S609において過学習の判断がない場合、又は、「総和報酬RBの平均の算出処理」S606の後、「学習実行部」112は、「最終エピソード判断処理」S611を実行する。
「最終エピソード判断処理」S611は、エピソード数が「パラメータ」202に格納されている最終エピソード数H以上のとき、強化学習の学習を終了させ、その際、F=0とし、F=0を「データベース」116の「過学習パラメータ」212に格納することを含む。
「最終エピソード判断」S611において、エピソード数が最終エピソード数Hに到達していない場合、「モデル印加制御処理」S601が実行される。以上の説明から分かる通り、図7によれば、エピソード数Tが、α(1-τ)以上で、S603が行われ、その場合、エピソード数Tごと(例えば10エピソードごと)に、S607以降が行われる。その時の過学習判断指標によっては、S609を通じて学習が終了する。
さて、図4によれば、F=0が出力された場合、「評価部」113が、「評価処理」S307を実行する。「評価処理」S307の詳細は、図9が示す。
図9を参照すると、「評価部」113は、「最適施策生成処理」S801を実行する。
「最適施策生成処理」S801は、「パラメータ」202に格納されたエピソード数Tinから学習終了までに「KPI」210に格納されたKPIを最も満たす施策を最適施策と決定し、その施策を「データベース」116の「施策」204に格納することを含む。
加え、「最適施策生成処理」S801は、最適施策をもとに制御信号列を生成し、「データベース」116の「制御信号列」203に、生成した制御信号列を格納することを含む。
加え、「最適施策生成処理」S801は、生成した制御信号列を用いたシミュレーション結果データ(例えば、搬送距離等の予想される測定値を含んだデータ)とモデル(制御信号列が投入されるシミュレーションとしてのモデル)とを「データベース」116の「シミュレーションデータ」205に格納することを含む。
加え、「最適施策生成処理」S801は、「シミュレーションデータ」205に格納されたシミュレーション結果と、「信頼度」209に格納されている信頼度τと、合わせ込みモデルの割合(重み)τ´と、「報酬情報」211に格納された報酬変動とのうちの少なくとも一つを示す情報を、「出力装置」107を介し、ユーザに提示し、ユーザから、「天井クレーン」001(実機)での実際の動作確認を許可するか拒否するかを受け付けることを含む。
ユーザから拒否の入力を、「入力装置」106を介し受け取った場合、図4によれば、「CPU」101は、「学習実行処理」S306を再度実行する。なお、τ´は、「信頼度」209に格納される。τ´は、τと等価でもよいし、τがエピソード数に応じて加えられた場合はその和であってもよいが、τ´は、τよりも小さいものとする。なお、本段落で言う「エピソード数」は、例えば、nエピソード(nは自然数)ごとにτが加えられる場合、nである。
ユーザから許可の入力を、「入力装置」106を介し受け取った場合、図9を参照すると、次に「評価部」113は、「最適施策評価処理」S802を実行する。
「最適施策評価処理」S802は、「最適施策生成処理」S801において「制御信号列」203に格納された制御信号列を入力とし、当該信号列に基づく「制御信号列」009を、「通信装置」103を介し、「天井クレーン」001の「通信可能な制御装置」005に送信することを含む。
「最適施策評価処理」S802は、「制御信号列」009に従い制御された「天井クレーン」001の「センサー」006により取得された測定値を含む実世界データを、「通信装置」103を介し受信し、当該実世界データを「データベース」116の「実世界データ」206に格納することを含む。「実世界データ」206に格納される実世界データは、「シミュレーションデータ」205に格納されているシミュレーション結果データと同様の構成の実世界データでもよいし、受信した実世界データを生成可能な情報だけでもよい。実世界データは、「台車」002の位置や速度などでよいが、この例に限らないでよい。
次に「評価部」113は、「誤差算出処理」S803を実行する。
「誤差算出処理」S803は、「最適施策生成処理」S801において「シミュレーションデータ」205に格納されたシミュレーション結果データと、「実世界データ」206に格納された実世界データとを入力とし、シミュレーション結果データと実世界データとを比較することにより誤差を導出し、「算出誤差」207にその誤差を格納することを含む。
再び図4を参照する。次に「信頼度生成部」114は、「信頼度生成処理」S308を実行する。
「信頼度生成処理」S308は、「算出誤差」207から誤差を入力し、「信頼度尺」208から信頼度尺を入力し、入力された誤差に対応する信頼度τ´を、当該信頼度尺を基に生成し、生成された信頼度τ´を「信頼度」209に格納する。
次に「信頼度生成部」114は、「誤差確認処理」S309を実行する。
「誤差確認処理」S309は、「パラメータ」202に格納された許容誤差情報(許容誤差範囲を示す情報)を入力とし、上述の算出された誤差が許容誤差範囲内であれば、「出力装置」107を介し、ユーザに、シミュレーションと実機との比較結果と、誤差と、信頼度と、試行終了との少なくとも一つを示す情報を提示することを含む。誤差が許容誤差未満であれば、「CPU」101は、「信頼度シミュレーション生成モジュール」108の動作を停止させてよい。
一方、誤差が許容誤差範囲外の場合、「評価部」113は、「信頼度評価処理」S310を実行する。
「信頼度評価処理」S310は、τ´>τのとき、τ´を新たな信頼度τとし、新たな信頼度τを「データベース」116の「信頼度」209に格納し、「信頼度/ベースモデル更新処理」S311に移行することを含む。
一方、「信頼度評価処理」S310は、τ´≦τのとき、「出力装置」107を介してτ´≦τを出力すると共に、「信頼度/ベースモデル更新処理」S311に移行せずに「信頼度設定処理」S302に移行することを含む。
「信頼度/ベースモデル更新処理」S311は、「信頼度/ベースモデル更新部」115が実行する。
「信頼度/ベースモデル更新処理」S311は、「信頼度」209に格納されている信頼度τ(τ´)と、「シミュレーションデータ」205に格納されているベースモデル(例えば、合わせ込みモデルが印加されたベースモデル)とを入力とし、ベースモデルに信頼度τの割合だけ合わせ込みモデルを加えることでシミュレーション(つまり新たなベースモデル)を生成し、そのシミュレーションをベースモデルとして更新する。
なお、「信頼度/ベースモデル更新処理」S311は、ベースモデルの更新の際に合わせ込みモデルを加える割合は、信頼度τをかけたものではなくてもよく、τの2乗や、1-τなど、上述の例に限らない。なお、合わせ込みの割合は、信頼度尺より大きくならないようにする。
「信頼度/ベースモデル更新処理」S311は、ベースモデルを「シミュレーションデータ」205に格納することを含む。
次に、「CPU」101は、「印加モデル重み算出処理」S305に移行する。シミュレーションと実世界間の誤差が「パラメータ」202に格納されている許容誤差範囲内になるまでこの図4のフローが継続する。
本実施例により、過学習を含む機械学習の合わせこみの影響を取り除いたシミュレーションを生成することが可能となり、このシミュレーションを強化学習で用いることで自動運転制御が実現する。具体的には、本実施例では、「運転制御部」118が、生成されたシミュレーションを基に見つかった最適な「制御信号列」009を「天井クレーン」001に送信することで「天井クレーン」001の自動運転を制御する。
また、本実施例によれば、「信頼度」209に格納された信頼度、シミュレーションと実機間の誤差、実機での実験を許可するか拒否するかの選択、及び、報酬変動幅のうちの少なくとも一つがユーザに提示される。
実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略又は簡略する。
本発明は、「天井クレーン」001に限らず、実世界とシミュレーション間の誤差を算出できる機械全般(例えば、大型産業機械のような産業機械全般)に適用できる。フィードバック制御の可否や、2値、離散値又は連続値の制御であるか否かに、本発明の適用範囲は依存しない。
実施例2は、「天井クレーン」001以外の機械が自動運転制御対象とされる一具体例である。以下、実施例1で説明した内容を用い、簡略的にフィードバック制御可能な大型産業機械の具体例を説明する。
例えば、大型産業機械として、図10のような、「アーム台車」901を考える。
「アーム台車」901は、カメラなどの「センサー」902を持つ。「センサー」902は、「アーム台車」901に関する実際の測定値を取得できる。
また、「アーム台車」901のシミュレーションは、生成できるものとする。
「アーム台車」901は、「台車」903と、「台車」903に装着された「アーム」904と、「通信制御可能な制御装置」905とを有しており、制御により「アーム」904で物をつかむことができる。「通信制御可能な制御装置」905から「アーム台車」901の実世界データが送信される。「アーム台車」901の実世界データは、例えば、「台車」903の位置及び速度や、「アーム」904の位置などを含んでよいが、これに限らず、周囲の環境温度などの情報を含んでいてもよい。
「台車」903は、「通信可能な制御装置」905により速度や位置が制御される。速度制御は、加速及び減速の2値制御であってもよいし、連続値(所定間隔の値)の制御(例えば、連続値のうちの所望の値を速度の値として指定する制御)であってもよいが、図10の例では連続値の制御とする。
「アーム」904は、「通信可能な制御装置」905により、「アーム」904の速度及び位置が連続値の制御に従い制御されてもよいが、ここでは、「アーム」904が「下がる」、「上がる」、「ものをつかむ」の制御であり、「アーム」904の動く領域は、1軸のものを考える。
「アーム」904の動く領域は、「アームが伸びる」、「アームが回転」、「アームが平面場を動く」というように、3軸まで動かせる制御であってもよいが、ここでは簡単のため1軸とする。
「通信可能な制御装置」905は、「天井クレーン」001にある「通信可能な制御装置」005と同様の性質を持ち、「アーム台車」901の「台車」903に搭載されていなくてもよい。
ここで考える例は、図11に示す例、すなわち、「アーム台車」901が、地点Aを出発し、障害物Cを避ける経路Eを通って、地点Bに到着し、物体Dを「アーム」904でつかみ、物体Dをつかんだ状態で経路Eを通って地点Aに戻るプロセスである。
図11のプロセス図は、簡単のため2次元平面で描写されている。
「信頼度シミュレーション生成モジュール」108が、シミュレーションで上述のプロセスを強化学習で学習し、「アーム台車」901で同じプロセスを実行する。制御信号列、シミュレーション結果データ、及び実世界データは、例えば、単位時間毎に、「台車」903及び「アーム」904の位置と、台車速度と、「アーム」904の状態(例えば、「上げる」、「下げる」、「ものをつかむ」)とを示す値を含む。
ここで、「アーム台車」901は、フィードバック制御が可能であってもよく、ここでは「天井クレーン」001の例とは異なるフィードバック制御の場合を考える。
「信頼度シミュレーション生成モジュール」108は、強化学習で探索した最適施策を「施策」204に格納し、その施策を用いたシミュレーション結果データをユーザに提示し、ユーザの許可を得た後、「通信装置」103を介し、「アーム台車」901の「通信可能な制御装置」905に制御信号列を送信する。
「アーム台車」901は、「通信可能な制御装置」905で受信した制御信号列に従い制御を行い、単位時間ごとの測定値を含んだ実世界データを「システム」008に送信する。「信頼度シミュレーション生成モジュール」108が、「アーム台車」901からの実世界データを、「データベース」116の「実世界データ」206に格納する。
シミュレーション結果データと実世界データが異なる場合、「信頼度シミュレーション生成モジュール」108は、シミュレーション結果データと実世界データとを比較することにより誤差を算出し、算出された誤差を「算出誤差」207に格納し、当該誤差を基に信頼度を導出し、導出された信頼度を「信頼度」209に格納する。
次に、「信頼度シミュレーション生成モジュール」108は、誤差を合わせこむ合わせ込みモデルを生成し、信頼できるベースモデルに当該合わせ込みモデルを印加し、合わせ込みモデルの過学習の影響を強化学習の過程で取り除く作業を行い、最適施策を導出し、導出された最適施策を「施策」204に格納する。
次に、「信頼度シミュレーション生成モジュール」108は、最適施策のもと、「アーム台車」901に実際に図11に例示のプロセスを実行させ、当該プロセスにおいて測定された測定値を含む実世界データを「通信装置」103を介して受信し、当該実世界データを「データベース」116の「実世界データ」206に格納する。
次に、「信頼度シミュレーション生成モジュール」108は、格納された実世界データと、「アーム台車」901の制御のシミュレーション結果データとを比較することにより誤差を算出し、参集された誤差を「算出誤差」207に格納し、当該誤差に基づき信頼度を導出し、導出された信頼度を「信頼度」209に格納する。
次に、信頼度が増加した場合は、「信頼度シミュレーション生成モジュール」108は、合わせ込みモデルを含むベースモデルを更新し、更新したベースモデルを信頼モデルとし、当該信頼モデルを「シミュレーションデータ」206に格納する。
一方、信頼度が減少した場合は、「信頼度シミュレーション生成モジュール」108は、再度合わせ込みモデルを生成する。
上述のように、「アーム台車」901が自動運転制御の対象であっても信頼できるシミュレーションを生成することが可能である。
以上の実施例1及び2の説明を、例えば下記のように総括することができる。なお、以下の総括は、上述の説明に無い事項を含んでもよい。
機械(例えば「天井クレーン」001又は「アーム台車」901)の自動運転制御システム(例えば「システム」008)が、問題設定部と、学習実行部とを備える。問題設定部が、数学的に記述される関数に基づき機械に入力される制御信号列と当該制御信号列に従い制御された機械から出力されるデータとの関係を示す第1のモデル(例えばベースモデル)を設定する。学習実行部は、機械の自動運転制御を学習することを含む学習処理を実行する。学習実行部は、学習処理において、第1の条件(例えば、T≧α(1-τ))が満たされるまでは第1のモデルを用いて学習を実行し、第1の条件が満たされた以降、過学習を意味する第2の条件(例えば過学習判断指標)が満たされるか当該第2の条件が満たされること無しに学習が終了するまでは、第1のモデルを1回以上変化させた後のモデルである第2のモデル(例えば更新ベースモデル)を用いて学習を実行する。
これにより、数学的に記述される関数による合わせ込みの過学習の影響を取り除くことにより実機とシミュレーションとの誤差を削減し、以って、機械の自動運転制御を最適化できる。具体的には、例えば、実機とシミュレーションとの誤差を削減することで、機械の自動運転制御を最適化するシミュレーションの環境の変化による報酬の乱高下する状況を排除できる。報酬が乱高下した場合は、合わせ込んだ機械学習のモデルは過学習していることがわかるため、報酬が乱高下しないような合わせ込みモデルを生成することで過学習の影響を取り除き、実機との誤差を削減することが可能となる。
なお、自動運転制御システム(以下、システム)は、インターフェース装置、記憶装置及びプロセッサを備えた一つ以上の計算機であってもよいし、クラウド基盤のような計算リソースプール(一つ以上の計算機)上に実現されたシステムであってもよい。
システムは、運転制御部を備えてもよい。運転制御部は、学習処理の結果に従う制御信号列を機械に入力することで機械の自動運転を制御してよい。
第2のモデルは、第1のモデルとは異なる数学的に記述される第3のモデル(例えば、合わせ込みモデル)のうち所定割合の第3のモデルが第1のモデルに印加された結果としてのモデルでよい。これにより、第3のモデルが過学習されたモデルであっても、印加される割合によって、過学習の影響を削減できる。
システムが、信頼度設定部を備えてよい。信頼度設定部は、第1の制御信号列が入力された第1のモデルから出力された第1のシミュレーション結果データと、第1の制御信号列が入力された機械から出力された実世界データとの第1の誤差に基づく第1の信頼度(例えばτ)を算出してよい。印加される第3のモデルの割合は、第1の信頼度よりも小さな割合でよい。これにより、第3のモデルの割合を適切にすることが期待できる。例えば、信頼度設定部は、「天井クレーン」001のような機械の自動運転制御における最適搬送制御信号列を見つけるため、強化学習に用いるシミュレーションでは、物理モデルなどのベースモデルに、機械学習の合わせ込みモデルを、信頼度τよりも小さいτの重みで合わせ込む。
第1の条件は、第1の信頼度と学習回数(例えばエピソード数T)とに基づく条件でよい。これにより、第2のモデルを使用するタイミングが適切となることが期待できる。
システムは、印加モデル生成部を備えてよい。印加モデル生成部は、第1の誤差が許容誤差範囲に収まるよう第1のモデルが合せ込まれた第3のモデルを生成してよい。
学習実行部は、第2の条件が満たされた場合、学習処理を終了してよい。
信頼度設定部は、第1の誤差及び第1の信頼度のうちの少なくとも一つを表示してよい。例えば、信頼度設定部は、第1の誤差及び第1の信頼度のうちの少なくとも一つと、学習処理の許可を受け付けるUI(User Interface)とを有するUI情報を表示してよい。当該表示に対して学習処理の許可が受け付けられた場合に、学習実行部が学習処理を実行してよい。
第1のモデルを用いた学習と、第2のモデルを用いた学習とのいずれの学習も、強化学習でよい。第2の条件は、下記のうちの少なくとも一つでよい。
・第2のモデルを用いた強化学習において得られた報酬に従う値が、第1のモデルを用いた強化学習において得られた報酬に従う値より大きい。
・第2のモデルを用いた強化学習において得られた報酬の変動幅が、第1のモデルを用いた強化学習において得られた報酬の変動幅を超えている。
システムが、信頼度/第1モデル更新処理(例えば、「信頼度/ベースモデル更新処理」S311)を実行する信頼度/第1モデル更新部(例えば、「信頼度/ベースモデル更新部」115)を備えてよい。信頼度/第1モデル更新処理は、第2の条件が満たされること無しに学習処理が終了した場合の第2のモデルに第2の制御信号列が入力されることにより第2のモデルから出力された第2のシミュレーション結果データと、第2の制御信号列が入力された機械から出力された実世界データとの第2の誤差に基づく第2の信頼度が、第1の信頼度を超えている場合、第2の信頼度を新たな第1の信頼度に更新することと、当該新たな第1の信頼度に基づく割合の第3のモデルが第1のモデルに印加された結果としてのモデルを新たな第1のモデルに更新することとを含んでよい。信頼度/第1モデル更新処理毎の学習処理では、新たな第1のモデルが用いられてよい。
システムが、評価部を備えてよい。評価部は、第2の条件が満たされること無しに学習処理が終了した場合の第2のモデルに第2の制御信号列が入力されることにより第2のモデルから出力されたシミュレーション結果データと、第1の信頼度とのうちの少なくとも一つを表示してよい。評価部は、当該表示に対して機械の実際の動作確認の許可を受け付けた場合に、第2の制御信号列を機械に入力してよい。
機械は、「天井クレーン」001や「アーム台車」901のような産業機械であってよい。実機が産業機械であると実験の負担が一層大きい可能性があるので、自動運転制御対象の機械が産業機械であると本発明が一層有用であることが期待される。
以上、幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
001…天井クレーン、008…システム(自動運転制御システム)

Claims (13)

  1. 機械の自動運転を制御する自動運転制御システムであって、
    数学的に記述される関数に基づき前記機械に入力される制御信号列と当該制御信号列に従い制御された前記機械から出力されるデータとの関係を示す第1のモデルを設定する問題設定部と、
    前記機械の自動運転制御を学習することを含む学習処理を実行する学習実行部と、
    前記学習処理の結果に従う制御信号列を前記機械に入力することで前記機械の自動運転を制御する運転制御部と
    を備え、
    前記学習実行部は、前記学習処理において、
    第1の条件が満たされるまでは、前記第1のモデルを用いて学習を実行し、
    前記第1の条件が満たされた以降、過学習を意味する第2の条件が満たされるか当該第2の条件が満たされること無しに学習が終了するまでは、前記第1のモデルを1回以上変化させた後のモデルである第2のモデルを用いて学習を実行する、
    ことを特徴とする自動運転制御システム。
  2. 請求項1に記載の自動運転制御システムであって、
    前記第2のモデルは、前記第1のモデルとは異なる数学的に記述される第3のモデルのうち所定割合の第3のモデルが前記第1のモデルに印加された結果としてのモデルである、
    ことを特徴とする自動運転制御システム。
  3. 請求項2に記載の自動運転制御システムであって、
    第1の制御信号列が入力された前記第1のモデルから出力された第1のシミュレーション結果データと、前記第1の制御信号列が入力された前記機械から出力された第1の実世界データとの第1の誤差に基づく第1の信頼度を算出する信頼度設定部、
    を備え、
    前記所定割合は、前記算出された第1の信頼度よりも小さな割合である、
    ことを特徴とする自動運転制御システム。
  4. 請求項3に記載の自動運転制御システムであって、
    前記第1の条件は、前記第1の信頼度と学習回数とに基づく条件である、
    ことを特徴とする自動運転制御システム。
  5. 請求項3に記載の自動運転制御システムであって、
    前記第1の誤差が許容誤差範囲に収まるよう前記第1のモデルが合せ込まれたモデルである前記第3のモデルを生成する印加モデル生成部、
    を備えることを特徴とする自動運転制御システム。
  6. 請求項1に記載の自動運転制御システムであって、
    前記学習実行部は、前記第2の条件が満たされた場合、前記学習処理を終了する、
    ことを特徴とする自動運転制御システム。
  7. 請求項3に記載の自動運転制御システムであって、
    前記信頼度設定部は、前記第1の誤差及び前記第1の信頼度のうちの少なくとも一つを表示し、
    当該表示に対して学習処理の許可が受け付けられた場合に、前記学習実行部が前記学習処理を実行する、
    ことを特徴とする自動運転制御システム。
  8. 請求項1に記載の自動運転制御システムであって、
    前記第1のモデルを用いた学習と、前記第2のモデルを用いた学習とのいずれの学習も、強化学習であり、
    前記第2の条件は、下記のうちの少なくとも一つである、
    ・前記第2のモデルを用いた強化学習において得られた報酬が、前記第1のモデルを用いた強化学習において得られた報酬より大きい、
    ・前記第2のモデルを用いた強化学習において得られた報酬の変動幅が、前記第1のモデルを用いた強化学習において得られた報酬の変動幅を超えている、
    ことを特徴とする自動運転制御システム。
  9. 請求項3に記載の自動運転制御システムであって、
    前記第2の条件が満たされること無しに前記学習処理が終了した場合の前記第2のモデルに第2の制御信号列が入力されることにより前記第2のモデルから出力された第2のシミュレーション結果データと、前記第2の制御信号列が入力された前記機械から出力された第2の実世界データとの第2の誤差に基づく第2の信頼度が、前記第1の信頼度を超えている場合、前記第2の信頼度を新たな第1の信頼度に更新することと、当該新たな第1の信頼度に基づく割合の第3のモデルが前記第1のモデルに印加された結果としてのモデルを新たな第1のモデルに更新することとを含む信頼度/第1モデル更新処理を実行する信頼度/第1モデル更新部、
    を備え、
    前記信頼度/第1モデル更新処理毎の前記学習処理では、前記新たな第1のモデルが用いられる、
    ことを特徴とする自動運転制御システム。
  10. 請求項3に記載の自動運転制御システムであって、
    前記第2の条件が満たされること無しに前記学習処理が終了した場合の前記第2のモデルに第2の制御信号列が入力されることにより前記第2のモデルから出力された第2のシミュレーション結果データと、前記第1の信頼度とのうちの少なくとも一つを表示し、当該表示に対して前記機械の実際の動作確認の許可を受け付けた場合に前記第2の制御信号列を前記機械に入力する評価部、
    を備えることを特徴とする自動運転制御システム。
  11. 請求項10に記載の自動運転制御システムであって、
    前記第2の制御信号列が入力された前記機械から出力された第2の実世界データと前記第2のシミュレーション結果データとの第2の誤差に基づく第2の信頼度が、前記第1の信頼度を超えている場合、前記第2の信頼度を新たな第1の信頼度に更新することと、当該新たな第1の信頼度に基づく割合の第3のモデルが前記第1のモデルに印加された結果としてのモデルを新たな第1のモデルに更新することとを含む信頼度/第1モデル更新処理を実行する信頼度/第1モデル更新部、
    を備え、
    前記信頼度/第1モデル更新処理毎の前記学習処理では、前記新たな第1のモデルが用いられる、
    ことを特徴とする自動運転制御システム。
  12. 請求項1に記載の自動運転制御システムであって、
    前記機械は、産業機械である、
    ことを特徴とする自動運転制御システム。
  13. 機械の自動運転を制御する自動運転制御方法であって、
    数学的に記述される関数に基づき前記機械に入力される制御信号列と当該制御信号列に従い制御された前記機械から出力されるデータとの関係を示す第1のモデルを設定し、
    前記機械の自動運転制御を学習することを含む学習処理を実行し、
    前記学習処理の結果に従う制御信号列を前記機械に入力することで前記機械の自動運転を制御し、
    前記学習処理では、
    第1の条件が満たされるまでは、前記第1のモデルを用いて学習を実行し、
    前記第1の条件が満たされた以降、過学習を意味する第2の条件が満たされるか当該第2の条件が満たされること無しに学習が終了するまでは、前記第1のモデルを1回以上変化させた後のモデルである第2のモデルを用いて学習を実行する、
    ことを特徴とする自動運転制御方法。
JP2019078737A 2019-04-17 2019-04-17 機械の自動運転制御方法、及びシステム Active JP7200037B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019078737A JP7200037B2 (ja) 2019-04-17 2019-04-17 機械の自動運転制御方法、及びシステム
CN202010248015.5A CN111830825B (zh) 2019-04-17 2020-03-31 机械的自动驾驶控制方法以及系统
US16/845,522 US11619929B2 (en) 2019-04-17 2020-04-10 Automatic operation control method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019078737A JP7200037B2 (ja) 2019-04-17 2019-04-17 機械の自動運転制御方法、及びシステム

Publications (2)

Publication Number Publication Date
JP2020177416A JP2020177416A (ja) 2020-10-29
JP7200037B2 true JP7200037B2 (ja) 2023-01-06

Family

ID=72832322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019078737A Active JP7200037B2 (ja) 2019-04-17 2019-04-17 機械の自動運転制御方法、及びシステム

Country Status (3)

Country Link
US (1) US11619929B2 (ja)
JP (1) JP7200037B2 (ja)
CN (1) CN111830825B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7416015B2 (ja) * 2021-05-28 2024-01-17 横河電機株式会社 情報処理装置、アラーム予測方法およびアラーム予測プログラム
WO2023037504A1 (ja) * 2021-09-10 2023-03-16 日本電気株式会社 強化学習システム、強化学習装置及び強化学習方法
WO2024090004A1 (ja) * 2022-10-26 2024-05-02 株式会社日立製作所 設計支援方法、設計支援システム、及びプログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3760911B2 (ja) 2002-11-27 2006-03-29 トヨタ自動車株式会社 モデル作成方法、モデル作成プログラム及びシミュレーション装置
JP2005059656A (ja) * 2003-08-08 2005-03-10 Fuji Heavy Ind Ltd 飛行体の着陸制御装置および飛行体の着陸制御方法
JP4883272B2 (ja) 2005-12-13 2012-02-22 株式会社Ihi クレーンの振れ止め制御方法
JP5170698B2 (ja) * 2009-04-27 2013-03-27 独立行政法人産業技術総合研究所 確率的推論装置
US9881428B2 (en) * 2014-07-30 2018-01-30 Verizon Patent And Licensing Inc. Analysis of vehicle data to predict component failure
US10197631B2 (en) * 2015-06-01 2019-02-05 Verizon Patent And Licensing Inc. Systems and methods for determining vehicle battery health
CN107943022B (zh) * 2017-10-23 2021-07-16 清华大学 一种基于强化学习的pid机车自动驾驶优化控制方法
CN107798428A (zh) * 2017-10-23 2018-03-13 清华大学 一种机车自动驾驶控制预测模型机器学习方法
US20200167834A1 (en) * 2017-12-28 2020-05-28 Google Llc Intelligent identification and provisioning of devices and services for a smart home environment
CN108803604A (zh) * 2018-06-06 2018-11-13 深圳市易成自动驾驶技术有限公司 车辆自动驾驶方法、装置以及计算机可读存储介质
CN108657189B (zh) * 2018-06-22 2024-02-23 南京航空航天大学 基于bp神经网络和安全距离移线工况自动驾驶转向系统及其控制方法
IT201800007377A1 (it) * 2018-07-20 2020-01-20 Rete neurale avente un numero ridotto di parametri
CN109358614A (zh) * 2018-08-30 2019-02-19 深圳市易成自动驾驶技术有限公司 自动驾驶方法、系统、装置及可读存储介质
WO2020055759A1 (en) * 2018-09-11 2020-03-19 Nvidia Corporation Future object trajectory predictions for autonomous machine applications
CN115512173A (zh) * 2018-10-11 2022-12-23 特斯拉公司 用于使用增广数据训练机器模型的系统和方法
CN109597317B (zh) * 2018-12-26 2022-03-18 广州小鹏汽车科技有限公司 一种基于自学习的车辆自动驾驶方法、系统及电子设备
KR102206753B1 (ko) * 2019-01-24 2021-01-22 주식회사 수아랩 결함 검사 장치
CN111347292B (zh) * 2020-02-21 2023-04-11 青岛理工大学 数控机床刀具状态监测及控制系统与方法

Also Published As

Publication number Publication date
CN111830825A (zh) 2020-10-27
US20200333775A1 (en) 2020-10-22
CN111830825B (zh) 2022-09-20
JP2020177416A (ja) 2020-10-29
US11619929B2 (en) 2023-04-04

Similar Documents

Publication Publication Date Title
JP7200037B2 (ja) 機械の自動運転制御方法、及びシステム
US20220363259A1 (en) Method for generating lane changing decision-making model, method for lane changing decision-making of unmanned vehicle and electronic device
JP6513015B2 (ja) 機械の動作を制御する方法、および機械の動作を反復的に制御する制御システム
CN108693832B (zh) 机器学习装置及方法、伺服控制装置、伺服控制系统
JP2019087096A (ja) 行動決定システム及び自動運転制御装置
CN113682318B (zh) 车辆行驶控制方法及装置
KR102531197B1 (ko) 무인 비행체의 최적 경로 생성 방법 및 장치
US20230139187A1 (en) Method and apparatus for determining information, electronic device and storage medium
WO2016129078A1 (ja) 経路選択装置及び経路選択プログラム
WO2021181913A1 (ja) 制御システム及び制御方法
Zhao et al. Stable and Safe Reinforcement Learning via a Barrier-Lyapunov Actor-Critic Approach
WO2021186500A1 (ja) 学習装置、学習方法、及び、記録媒体
EP4168921A1 (en) Heat-aware toolpath reordering for 3d printing of physical parts
CN116414094A (zh) 一种焊接装配智能调度方法及系统
JP2022136139A (ja) 自動運転方法、自動運転装置、電子機器、記憶媒体、コンピュータプログラムおよび自動運転車両
WO2018008391A1 (ja) 線形パラメータ変動モデル推定システム、方法およびプログラム
JP7420236B2 (ja) 学習装置、学習方法および学習プログラム
CN115943392A (zh) 系统最优控制装置、系统最优控制方法及程序
CN115330058A (zh) 对象选择模型的训练方法、对象选择方法及装置
JP2018116596A (ja) 情報処理システム、制御パラメータの調整方法、および制御パラメータの調整プログラム
JP7179672B2 (ja) 計算機システム及び機械学習方法
JP2021082014A (ja) 推定装置、訓練装置、推定方法、訓練方法、プログラム及び非一時的コンピュータ可読媒体
JP2017033040A (ja) Plcプログラムの最適化機能を備えた制御装置及び機械学習器
WO2024089856A1 (ja) 推定装置、学習装置、推定方法、学習方法、及びプログラム
KR102636029B1 (ko) 강화학습 기반 컨테이너 장치 위치 추천 방법 및 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221221

R150 Certificate of patent or registration of utility model

Ref document number: 7200037

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150