JP7339776B2 - 制御システム、機械装置システム及び制御方法 - Google Patents

制御システム、機械装置システム及び制御方法 Download PDF

Info

Publication number
JP7339776B2
JP7339776B2 JP2019099548A JP2019099548A JP7339776B2 JP 7339776 B2 JP7339776 B2 JP 7339776B2 JP 2019099548 A JP2019099548 A JP 2019099548A JP 2019099548 A JP2019099548 A JP 2019099548A JP 7339776 B2 JP7339776 B2 JP 7339776B2
Authority
JP
Japan
Prior art keywords
motion
data
command
mechanical device
information
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
JP2019099548A
Other languages
English (en)
Other versions
JP2020192640A (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.)
Kawasaki Motors Ltd
Original Assignee
Kawasaki Jukogyo KK
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 Kawasaki Jukogyo KK filed Critical Kawasaki Jukogyo KK
Priority to JP2019099548A priority Critical patent/JP7339776B2/ja
Priority to US17/613,111 priority patent/US20220212340A1/en
Priority to CN202080036398.8A priority patent/CN113840697A/zh
Priority to PCT/JP2020/021235 priority patent/WO2020241796A1/ja
Publication of JP2020192640A publication Critical patent/JP2020192640A/ja
Application granted granted Critical
Publication of JP7339776B2 publication Critical patent/JP7339776B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/087Controls for manipulators by means of sensing devices, e.g. viewing or touching devices for sensing other physical parameters, e.g. electrical or chemical properties
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J3/00Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • 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/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/409Numerical 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 using manual input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details, by setting parameters
    • 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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39271Ann artificial neural network, ffw-nn, feedforward neural network
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39443Portable, adapted to handpalm, with joystick, function keys, display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Description

本発明は、制御装置、制御システム、機械装置システム及び制御方法に関する。
従来、ニューラルネットワーク等を含む機械学習モデルに人が行う作業を機械学習させ、当該機械学習モデルを用いて制御される機械装置を用いることによって、人の作業を自動化する技術が知られている。例えば、特許文献1は、ニューラルネットワークを用いてロボットカメラを制御するロボットカメラ制御装置を開示している。ロボットカメラ制御装置は、ロボットカメラと、被写体の位置を検出する被写体検出装置と、ロボットカメラの操作器と、ニューラルネットワークを有し且つロボットカメラの撮像動作を制御する学習制御装置とを備える。ロボットカメラは、操作器への操作に従って被写体を撮像し、その撮像動作の状態を示す状態データを学習制御装置に出力する。学習制御装置は、被写体検出装置によって検出される被写体の位置データを用いて状態データをニューラルネットワークに学習させる。自動制御時、学習制御装置は、被写体の位置データを入力して得られるニューラルネットワークの出力をロボットカメラの制御に用いる。
特開2009-211294号公報
特許文献1に記載された技術では、自動制御時にニューラルネットワークのみによってロボットカメラを制御するので、その撮影の品質を高くするためには、ニューラルネットワークの精度を高める必要がある。さらに、ロボットカメラの撮像動作の状態は、被写体の位置に応じて変わるが、被写体の位置は無限に存在する。このため、ニューラルネットワークの学習に膨大な学習用データが必要となる。よって、機械学習を用いたロボットカメラによる撮影の自動化を短期間で達成することが困難である。
本発明は、機械学習に要する時間を短縮する制御装置、制御システム、機械装置システム及び制御方法を提供することを目的とする。
上記目的を達成するために、本発明の一態様に係る制御装置は、機械装置の制御装置であって、前記機械装置を動作させるための動作指令に従って、前記機械装置の動作を制御する動作制御部と、前記機械装置を操作するための操作装置から出力される操作情報に従って、前記機械装置の動作を修正する修正制御部と、前記機械装置の動作を示す第一動作情報と、前記修正制御部によって行われた修正を示す修正情報とを記憶する記憶部と、前記第一動作情報と前記第一動作情報に対応する前記修正情報とを用いて機械学習し、前記第一動作情報を入力データとし且つ前記第一動作情報に対応する指令を出力データとする学習部とを含み、前記動作制御部は、前記学習部の前記指令に基づく前記動作指令に従って、前記機械装置の動作を制御し、前記操作装置は、前記操作装置の動作を示す第二動作情報に基づく前記操作情報を出力する。
また、本発明の一態様に係る制御システムは、本発明の一態様に係る制御装置と、前記機械装置を操作するための前記操作装置とを備える。
また、本発明の一態様に係る機械装置システムは、本発明の一態様に係る制御装置と、前記機械装置と、前記機械装置を操作するための前記操作装置とを備える。
また、本発明の一態様に係る制御方法は、機械装置を動作させるための動作指令に従って、前記機械装置を動作させ、前記機械装置を操作するための操作装置から出力される操作情報に従って、前記機械装置の動作を修正し、前記機械装置の動作を示す第一動作情報と、前記機械装置の動作の修正を示す修正情報とを取得し、前記第一動作情報と前記第一動作情報に対応する前記修正情報とを用いて学習モデルに機械学習させ、前記学習モデルに前記第一動作情報を入力し前記第一動作情報に対応する指令を出力させ、前記学習モデルの前記指令に基づく前記動作指令に従って、前記機械装置を動作させ、前記操作情報は、前記操作装置の動作を示す第二動作情報に基づく情報である。
本発明によれば、機械学習に要する時間を短縮することが可能になる。
実施の形態に係る機械装置システムの構成の一例を示す機能ブロック図 ニューラルネットワークのモデルの一例を示す図 ニューラルネットワークのモデルの別の一例を示す図 実施の形態に係る学習部の構成の一例を示す機能ブロック図 実施の形態に係る機械装置システムの動作の一例を示すフローチャート 変形例に係る機械装置システムの構成の一例を示す機能ブロック図 変形例に係るロボットの構成の一例を示す側面図 変形例に係る操作装置の外観の一例を示す図 変形例に係る操作装置の構成の一例を示す機能ブロック図 変形例に係る学習部の構成の一例を示す機能ブロック図
以下において、本発明の実施の形態を、図面を参照しつつ説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、添付の図面における各図は、模式的な図であり、必ずしも厳密に図示されたものでない。さらに、各図において、実質的に同一の構成要素に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。また、本明細書及び特許請求の範囲では、「装置」とは、1つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。
(実施の形態)
実施の形態に係る機械装置システム1を説明する。図1は、実施の形態に係る機械装置システム1の構成の一例を示す機能ブロック図である。図1において、実線の矢印は、機械装置10を動作させるための指令、データ及び情報等の流れを示し、一点鎖線の矢印は、学習部36に学習させるための指令、データ及び情報等の流れを示す。このことは、以下の機能ブロック図においても同様である。
[1-1.構成]
[1-1-1.機械装置システム]
図1に示すように、実施の形態に係る機械装置システム1は、機械装置10と、操作装置20と、制御装置30と、動作情報検出装置50と、出力装置60とを備える。機械装置10は、処理の対象物に対して作用を加える作用部11と、当該作用を実行するように作用部11を動かす動作部12とを備える。操作装置20及び制御装置30は、機械装置10を制御するための制御システム100を構成する。
操作装置20は、機械装置10を操作するための装置であり、操作装置20に入力される情報である操作情報を制御装置30に出力する。制御装置30は、機械装置10の全体の動作を制御する。動作情報検出装置50は、機械装置10の作用部11及び動作部12の動作を示す動作情報を検出し、制御装置30に出力する。例えば、動作情報検出装置50は、動作情報として、作用部11の位置、作用部11が対象物に加える力、対象物の画像、作用部11での振動、衝撃、光、音、温度、湿度及び気圧等を検出するセンサを備えてもよい。制御装置30は、動作の状態のフィードバック及び提示のために、動作情報を操作装置20及び出力装置60に出力する。出力装置60は、動作情報を視覚的及び聴覚的等の情報に変換し、操作装置20の操作者に提示する。例えば、カメラ等の撮像装置が機械装置10から離れた位置に配置され、当該撮像装置によって撮像された画像を出力装置60に出力してもよい。このような出力装置60は、機械装置10の状態を操作者に提示することができる。出力装置60の例は、液晶ディスプレイ(Liquid Crystal Display)及び有機又は無機ELディスプレイ(Electro-Luminescence Display)であるが、これらに限定されない。出力装置60は、音声を発するスピーカを備えてもよい。
これに限定されないが、本実施の形態では、機械装置システム1は、機械装置10に手動運転モードでの動作と自動運転モードでの動作とを実行させることができる。本実施の形態における手動運転モード及び自動運転モードは、機械装置10に作業等の動作を教える教示(「ティーチング」とも呼ばれる)動作を含まないものとする。手動運転モードでは、機械装置10は、操作者によって操作装置20に入力される操作に従った動作、つまり、当該操作をトレースした動作を実行する。機械装置10は、操作者によって手動運転される。
自動運転モードでは、機械装置10は、予め設定された所定の動作に従った動作を実行する。機械装置10は、その制御プログラムに従って自動で所定の動作を実行する自動運転をする。所定の動作は、水平移動、鉛直移動及び回転等の個別の動作であってもよく、一連の複数の個別の動作が実行順序に従って組み合わされた複合的な動作であってもよい。なお、個別の動作は、1つの動作を含んでもよく、2つ以上の動作を含んでもよい。複合的な動作の例は、作用部11で対象物を保持して移動させる、作用部11で対象物を切断する、作用部11で2つ以上の対象物を接合する、作用部11で掘削する等の作業である。本実施の形態では、機械装置システム1は、自動運転中、操作装置20を用いた作用部11及び動作部12の動作の修正を受け付けることができる。機械装置システム1は、操作装置20に入力される操作に対応する修正動作を加えることで、作用部11及び動作部12の動作を修正する。また、自動運転モードは、複合的な動作の一部が手動運転されるように、自動運転と手動運転とを組み合わせて含んでもよい。
[1-1-2.機械装置]
図1に示すように、機械装置10は、動力によって動作する装置であればよい。機械装置10として、例えば、建設機械、トンネル掘削機、クレーン、荷役搬送車、及び産業用などの種々の用途のロボット等が例示される。例えば、機械装置10が建設機械のバックホウである場合、バックホウのショベルは作用部11に対応し、アームは動作部12に対応する。制御装置30はアームを動作させる油圧装置等を制御する。機械装置10がトンネル掘削機である場合、トンネル掘削機の掘削刃は作用部11に対応し、掘削刃を作動させる作動装置は動作部12に対応する。制御装置30は作動装置等の動作を制御する。機械装置10が荷役搬送車である場合、荷役搬送車の荷役装置のフォークなどの載置部又は把持部等は作用部11に対応し、荷役装置及び搬送台車の駆動装置は動作部12に対応する。制御装置30は、荷役装置及び搬送台車の駆動装置等の動作を制御する。機械装置10が産業用ロボットである場合、ロボットのロボットアームは動作部12に対応し、ロボットアームの先端のエンドエフェクタは作用部11に対応する。制御装置30は、ロボットアーム及びエンドエフェクタの駆動装置等の動作を制御する。動力の種類はいかなる種類でもよい。動力の種類の例は、電動機、内燃機関、水蒸気、液圧及び空気圧等である。制御の種類はいかなる種類でもよい。制御の種類の例は、電気制御、油圧制御、液圧制御及び空圧制御等である。
[1-1-3.操作装置]
図1に示すように、操作装置20は、操作者による入力を、当該入力に対応する情報に変換し、操作情報として制御装置30に出力する。例えば、操作装置20は、操作者による入力を、当該入力に対応する信号に変換し制御装置30に出力する。本実施の形態では、操作装置20は、機械装置10等の他の物体に固定されておらず、3次元空間内で任意の方向に移動自在であるように構成されている。なお、操作装置20は、2次元平面上又は1次元直線上で任意の方向に移動自在であるように構成されてもよい。操作装置20は操作者の手によって把持され得るように構成されている。このため、操作者は、把持している操作装置20を任意の方向に移動させ、任意の姿勢に方向付けることができる。操作装置20は、有線通信又は無線通信を介して制御装置30と通信するように構成されている。有線通信及び無線通信の種類は問わず、いかなる通信であってもよい。
これに限定されないが、操作装置20は、例えば、家庭用ゲーム機のゲームコントローラ、リモコン又はスマートフォン等の汎用的な装置と同様の構成の装置であってもよく、専用の装置であってもよい。例えば、専用の装置は、機械装置10が産業用ロボットである場合、エンドエフェクタの機能に対応した装置であってもよい。エンドエフェクタが塗装用のスプレーガンである場合、操作装置20はガン(銃)状の装置であってもよい。
本実施の形態では、操作装置20は、慣性計測装置(IMU:Inertial Measurement Unit)(図示せず)を含む。慣性計測装置は、3軸加速度センサ及び3軸角速度センサを含み、操作装置20は、慣性計測装置によって計測される3軸方向の加速度及び角速度の計測データに基づく操作情報を制御装置30に出力する。なお、操作装置20は、計測データ自体を制御装置30に出力してもよい。3軸方向の加速度及び角速度の計測データによって、位置、姿勢、移動、移動速度及び力等の操作装置20の動作及び作用力を示す様々な情報の検出が可能である。このような操作装置20は、操作装置20の動作を示す情報である操作動作情報に基づく操作情報を出力する。
さらに、本実施の形態では、操作装置20は、操作情報に従って動作する機械装置10の動作状態のフィードバックを、触覚として操作者に与えるハプティクスデバイス(図示せず)を含む。ハプティクスデバイスは、動作情報検出装置50から制御装置30を介して機械装置10の動作情報を受け取り、当該動作情報に基づく機械装置10の動作状態のフィードバックを、触覚として操作者に与える。
ここで、動作情報は、動作データを含む。動作データは、機械装置10の作用部11が対象物に加える力、つまり作業環境に作用させる力を表す力データと、動作時における作用部11の位置を表す位置データとのうちの少なくとも1つを含む。本実施の形態では動作データは両方を含む。力データは、力の大きさと当該力を発生する時刻とを関連付けて含む時系列データであってもよい。位置データは、位置の情報と当該位置の時刻とを関連付けて含む時系列データであってもよい。力データ及び位置データを含む動作データは、力の大きさと、当該力を発生する時刻と、位置の情報と、当該位置の時刻とを関連付けて含む時系列データであってもよい。作用部11の位置は、3次元空間内の作用部11の位置だけでなく、3次元空間内の作用部11の姿勢を含んでもよい。本明細書及び特許請求の範囲において、「位置」とは、3次元空間内の位置及び3次元空間内の姿勢のうちの少なくとも3次元空間内の位置を含むことを意味する。
動作情報が動作データを必須の情報として含む理由は、制御装置30は、作用部11が作業環境に作用させる「力」及び動作時における作用部11の「位置」の少なくとも1つを制御することによって、機械装置10の動作を制御するからである。本実施の形態における「動作指令」は、この「力」の目標値又は修正値(補正値)を指示する指令である力指令と、この「位置」の目標値又は修正値(補正値)を指示する指令である位置指令とのうちの少なくとも1つを含む。
また、動作情報は、動作データ以外の情報として、作用部11が作用を加える対象物の撮像データ、作用部11で発生する振動データ、衝撃データ、光データ、音データ、温度データ、湿度データ、気圧などの圧力データ等を含んでもよい。操作装置20には、動作情報のうちの少なくとも動作データが送られる。
例えば、ハプティクスデバイスは、アクチュエータ、コントローラ及びドライバ等を含む。アクチュエータは、偏心モータ、リニア共振アクチュエータ及びピエゾ等により例示され、操作者に触力覚を与える。コントローラは、ドライバを介してアクチュエータを制御し、後述で例示する制御装置30の構成と同様の構成を有してもよい。ドライバは、アクチュエータとコントローラとの間のインタフェースを構成する。ハプティクスデバイスの詳細な構成は、特許第4111278号公報及び特開2019-60835号公報等に開示され、公知であるため、その詳細な説明を省略する。例えば、ハプティクスデバイスは、操作者が空中で操作装置20を把持している状態で触力覚を操作者に与えることができ、このような触力覚の例は、操作者が自分で押す感覚、自分で引っ張る感覚、外部から引っ張られる感覚、外部から押される感覚、膨張感、圧迫感、対象物の表面の粗度を示す質感、及び、対象物の硬軟を示す圧覚等である。
[1-1-4.制御装置]
図1に示す制御装置30は、例えば、プロセッサ及びメモリ等を有する演算器で構成される。メモリは、揮発性メモリ及び不揮発性メモリなどの半導体メモリ、ハードディスク(HDD:Hard Disc Drive)及びSSD(Solid State Drive)等の記憶装置で構成される。例えば、演算器の機能は、CPU(Central Processing Unit)などのプロセッサ、RAM(Random Access Memory)などの揮発性メモリ及びROM(Read-Only Memory)などの不揮発性メモリ等からなるコンピュータシステム(図示せず)により実現されてもよい。演算器の機能の一部又は全部は、CPUがRAMをワークエリアとして用いてROMに記録されたプログラムを実行することによって実現されてもよい。なお、演算器の機能の一部又は全部は、上記コンピュータシステムにより実現されてもよく、電子回路又は集積回路等の専用のハードウェア回路により実現されてもよく、上記コンピュータシステム及びハードウェア回路の組み合わせにより実現されてもよい。
具体的には、制御装置30は、例えば、マイクロコントローラ、MPU(Micro Processing Unit)、LSI(Large Scale Integration:大規模集積回路)、システムLSI、PLC(Programmable Logic Controller)、論理回路等で構成されてもよい。制御装置30の複数の機能は、個別に1チップ化されることで実現されてもよく、一部又は全てを含むように1チップ化されることで実現されてもよい。また、回路はそれぞれ、汎用的な回路でもよく、専用の回路でもよい。LSIとして、LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、LSI内部の回路セルの接続及び/又は設定を再構成可能なリコンフィギュラブルプロセッサ、又は、特定用途向けに複数の機能の回路が1つにまとめられたASIC(Application Specific Integrated Circuit)等が利用されてもよい。
制御装置30は、動作決定部31と、動作指令部32と、修正指令部33と、駆動指令部34と、修正情報検出部35と、学習部36と、動作情報処理部37と、第一記憶部38と、第二記憶部39と、第三記憶部40とを機能的な構成要素として含む。動作決定部31、動作指令部32、修正指令部33、駆動指令部34、修正情報検出部35、学習部36及び動作情報処理部37は、上記演算器のコンピュータシステム、ハードウェア回路、又は、コンピュータシステム及びハードウェア回路の組み合わせにより実現される機能ブロックである。第一記憶部38、第二記憶部39及び第三記憶部40は、上記演算器の記憶装置によって実現される機能ブロックである。本実施の形態では、動作決定部31、動作指令部32、修正情報検出部35及び学習部36は通常、自動運転モードのみで機能し、修正指令部33、駆動指令部34及び動作情報処理部37は通常、自動運転モード及び手動運転モードのいずれでも機能する。
動作決定部31は、機械装置10に実行させる所定の動作を決定し、当該所定の動作の動作情報(以下、「決定動作情報」とも呼ぶ)を動作指令部32に出力する。動作決定部31は、操作装置20又は機械装置システム1の他の入力装置を介して、機械装置10に実行させる所定の動作の指令を受け付ける。さらに、動作決定部31は、受け付けた所定の動作に対応する動作情報を決定動作情報として第三記憶部40から抽出し、動作指令部32に出力する。機械装置10に実行させる所定の動作は、個別の動作であってもよく、複合的な動作であってもよい。
第三記憶部40は、機械装置10が実行可能である所定の動作と、当該所定の動作の動作情報とを関連付けて記憶する。所定の動作の動作情報は、予め設定されて第三記憶部40に記憶される。複合的な動作の場合、個別の動作それぞれの動作情報が設定されてもよい。例えば、各個別の動作の動作情報は、作用部11の力及び位置の目標値が予め設定されることで、設定されてもよい。又は、各個別の動作の動作情報は、手動運転モードにおいて操作装置20を介して機械装置10を動作させた結果得られる動作情報を用いることで設定されてもよい。又は、各個別の動作の動作情報は、自動運転モードにおいて実際に機械装置10を動作させた結果得られる動作情報を用いることで設定されてもよい。
動作指令部32は、動作決定部31によって決定された決定動作情報を用いて、当該決定動作情報に対応する動作を機械装置10に実行させるための動作指令(以下、「実行動作指令」とも呼ぶ)を生成し、修正指令部33に出力する。また、動作指令部32は、学習部36から出力データを受け取るように構成されている。この出力データは、学習部36が機械装置10の動作情報を入力データとして入力されることで出力する指令(以下、「実行動作修正指令」とも呼ぶ)である。これに限定されないが、本実施の形態では、実行動作修正指令は動作指令である。動作指令部32は、学習部36から実行動作修正指令を受け取った場合、決定動作情報を実行するための動作指令(以下、「決定動作指令」)を、実行動作修正指令を用いて修正することで、実行動作指令を生成する。このとき、動作指令部32は、決定動作指令に、これに対応する実行動作修正指令を加える、又は、決定動作指令をこれに対応する実行動作修正指令で置き換える。受け取らなかった場合、動作指令部32は、決定動作指令を実行動作指令とする。なお、決定動作指令に対応する実行動作修正指令は、当該決定動作指令の動作を実行する直前の機械装置10の動作情報を入力データとしたときの学習部36の出力データである。
修正指令部33は、操作装置20から出力される操作情報に従って、動作指令部32から受け取った実行動作指令を修正することで、修正後の動作指令である修正動作指令を生成し、駆動指令部34に出力する。例えば、修正指令部33は、自動運転モード中、操作装置20への入力が行われると、実行動作指令を修正することで修正動作指令を生成し、操作装置20への入力がない場合、実行動作指令を修正動作指令に決定する。実行動作指令の修正時、修正指令部33は、操作情報に対応する動作を作用部11にさせるための動作指令(以下、「操作動作指令」とも呼ぶ)を生成する。修正指令部33は、実行動作指令と操作動作指令とを加算することで、修正動作指令を生成する。修正動作指令は、操作情報を反映させた動作指令である。また、手動運転モード中、操作装置20への入力が行われると、修正指令部33は、上記入力に対応する操作情報に従った動作指令を生成し、駆動指令部34に出力する。
手動運転モードでは、修正指令部33は、自動運転モードと同様に、操作情報に対応する操作動作指令を生成する。修正指令部33は、操作動作指令を動作指令として駆動指令部34に出力する。なお、本実施の形態では、修正指令部33は、操作情報を操作装置20から受け取り操作動作指令を生成するが、操作装置20は操作情報を動作指令部32に出力してもよい。そして、動作指令部32が操作情報に対応する動作指令を修正指令部33に出力してもよい。
駆動指令部34は、修正指令部33から受け取る動作指令に従って、機械装置10の動作を制御する。駆動指令部34は、当該動作指令に対応する動作を作用部11にさせるように、機械装置10の各駆動装置の動作を制御する。駆動指令部34は、上記動作を実行するために駆動装置を駆動させる指令値を含む駆動データを生成し、各駆動装置に出力する。ここで、動作指令部32及び駆動指令部34は動作制御部を構成し、修正指令部33及び駆動指令部34は修正制御部を構成する。
上述のように、本実施の形態では、「指令」同士を加算又は減算することができ、且つ、「動作指令」及び「動作データ」を互いに加算又は減算することができる。
動作情報処理部37は、動作情報検出装置50から機械装置10の動作情報を受け取り、当該動作情報を、学習部36、操作装置20及び出力装置60に出力する。なお、動作情報処理部37は、自動運転モードでは、動作情報を学習部36、操作装置20及び出力装置60に出力し、手動運転モードでは、動作情報を操作装置20及び出力装置60に出力するが、これに限定されない。ここで、動作情報処理部37は処理部の一例である。
修正情報検出部35は、修正指令部33によって行われた修正を示す修正情報を検出し、第二記憶部39に記憶させる。具体的には、修正指令部33によって実行動作指令の修正が行われた場合、修正情報検出部35は、修正指令部33によって生成された修正動作指令を、修正情報として検出する。また、修正指令部33によって実行動作指令の修正が行われなかった場合、修正情報検出部35は、修正されなかった実行動作指令を、修正情報として検出する。修正情報検出部35は、修正動作指令又は実行動作指令と、当該動作指令を発令した時刻である発令時刻とを関連付け、動作指令の時系列データを生成してもよい。この場合、修正情報検出部35は、当該動作指令に含まれる「力」の目標値及び「位置」の目標値と発令時刻とを関連付け、動作データと同様の時系列データを生成してもよい。
なお、修正情報検出部35は、修正情報として、操作動作指令を検出してもよい。例えば、修正情報検出部35は、実行動作指令の修正が行われた場合、当該修正に用いられた操作動作情報を修正情報として検出し、実行動作指令の修正が行われなかった場合、修正情報がないものとする検出結果を生成してもよい。
第一記憶部38は、機械装置10の動作を示す動作情報を記憶する。具体的には、第一記憶部38は、動作情報検出装置50から受け取る機械装置10の動作情報を記憶する。第一記憶部38では、動作情報と、動作情報検出装置50によって当該動作情報が検出された時刻とが関連付けられて記憶される。
第二記憶部39は、修正指令部33によって行われた修正を示す修正情報を記憶する。具体的には、第二記憶部39は、修正情報検出部35から受け取る修正情報を記憶する。第二記憶部39では、修正情報と、当該修正情報に対応する動作指令の発令時刻とが関連付けられて記憶される。
学習部36は、機械学習する学習モデルであり、学習データを用いて学習することによって、入力データに対する出力データの精度を向上する。そのような学習モデルとして、Deep Learning(深層学習)等のニューラルネットワーク(Neural Network)、Random Forest、Genetic Programming、回帰モデル、木モデル、ベイズモデル、時系列モデル、クラスタリングモデル、アンサンブル学習モデル等が例示される。本実施の形態では、学習モデルは、ニューラルネットワークである。
学習部36は、機械装置10の動作情報と当該動作情報に対応する修正情報とを用いて機械学習する。さらに、機械学習後の学習部36は、機械装置10の動作情報を入力データとし、当該動作情報に対応する指令を出力データとする。本実施の形態では、出力データは、実行動作修正指令である。例えば、機械学習では、機械装置10の動作情報が入力データとされ、当該動作情報の状態のときに実行された修正情報が教師データとされてもよい。このとき、入力データに対する出力データを教師データに一致させるように、後述するニューラルネットワーク内のノード間の接続の重み付けが調整される。このような重み付け調整後の学習部36は、機械装置10の動作情報が入力されると、当該動作情報の状態のときに実行すべき実行動作修正指令を出力することができる。
ニューラルネットワークは、脳神経系をモデルにした情報処理モデルである。ニューラルネットワークは、入力層及び出力層を含む複数のノード層で構成されている。ノード層には、1つ以上のノードが含まれる。例えば、学習部36は、図2に示すようなニューラルネットワークで構成されてもよい。図2は、ニューラルネットワークのモデルの一例を示す図である。図2に示すように、ニューラルネットワークが、入力層、中間層及び出力層で構成される場合、ニューラルネットワークは、入力層のノードに入力された情報について、入力層から中間層への出力処理、中間層から出力層への出力処理を順次行い、入力情報に適合する出力結果を出力する。なお、1つの層の各ノードは、次の層の各ノードと接続されており、ノード間の接続には、重み付けがされている。1つの層のノードの情報は、ノード間の接続の重み付けが付与されて、次の層のノードに出力される。
また、学習部36は、図3に示すようなリカレントニューラルネットワーク(Recurrent Neural Network)(「回帰型ニューラルネットワーク」とも呼ばれる)で構成されてもよい。図3は、ニューラルネットワークのモデルの別の一例を示す図である。図3に示すように、リカレントニューラルネットワークは、時系列情報を扱う。リカレントニューラルネットワークの入力データは、現在の時刻tでのデータと、時刻tよりも前の時刻t-1でのリカレントニューラルネットワークにおける中間層の出力データとを含む。このようにリカレントニューラルネットワークは、時系列情報を考慮したネットワーク構造を有している。このようなリカレントニューラルネットワークは、動作情報の経時的な挙動を考慮した出力をするため、出力データの精度を向上することができる。
学習部36の構成の一例を説明する。図4は、実施の形態に係る学習部36の構成の一例を示す機能ブロック図である。図4に示すように、学習部36は、ニューラルネットワーク36aと、データ生成部36bと、データ入力部36cと、学習評価部36dとを含む。ニューラルネットワーク36aの構成は、上述したような構成である。ニューラルネットワーク36aは、以下のように時系列データを扱うため、リカレントニューラルネットワークであることが好ましい。
本例では、機械装置10が所定の動作を1回実行する間、各指令及び各データは所定のサンプリング間隔で取得される。例えば、修正情報検出部35は、修正情報としての修正動作指令Pmの時系列データPm,Pm,Pm,・・・,Pm(以下、Pm~Pmと略記する)を当該サンプリング間隔で取得する。動作情報検出装置50は、機械装置10の動作データPdの時系列データPd,Pd,Pd,・・・,Pd(以下、Pd~Pdと略記する)を当該サンプリング間隔で取得する。以下、各時系列データにおける添え字の数字は、サンプリング時刻(間欠的な時刻)の順序を表す。従って、この添え字の数字が同じである時系列データは、同じ又は実質的に同じとみなすことができるサンプリング時刻に取得されたデータであることを意味する。例えば、修正動作指令Pmの時系列データPmに従って機械装置10が実行した動作データPdの時系列データは、時系列データPdである。このような添え字の数字が同じである時系列データは、互いに対応する時系列データである。
まず、機械学習時の学習部36の各構成要素の処理を説明する。データ生成部36bは、第一記憶部38に記憶された動作データPdの時系列データPd~Pdから学習データpdの時系列データpd~pdを生成する。また、データ生成部36bは、第二記憶部39に記憶された修正動作指令Pmの時系列データPm~Pmから教師データpnの時系列データpn~pnを生成する。データ生成部36bは、生成した時系列データをデータ入力部36cに出力する。
データ入力部36cは、ニューラルネットワーク36aの入力層の各ニューロンに学習データpdの時系列データpd~pdを順次入力する。例えば、データ入力部36cが、あるサンプリング時刻tにおける学習データpdの時系列データpd(i=0~u)を入力すると、ニューラルネットワーク36aは、前向き演算によって、次のサンプリング時刻ti+1における実行動作修正指令Pni+1を予測し出力する。
学習評価部36dは、実行動作修正指令Pni+1に基づき、教師データpnの時系列データpn~pnを探索することで、サンプリング時刻ti+1における時系列データpni+1を抽出する。さらに、学習評価部36dは、実行動作修正指令Pni+1と時系列データpni+1との間でこれらを一致又は誤差を最小化等するように、後ろ向き演算によって、ニューラルネットワーク36aのニューロン間の重みを調節する。さらに、データ入力部36c及び学習評価部36dは、学習データpdの時系列データpd~pdの全てについて上記のような処理を行うことで、ニューロン間の重みを最適化する。
次に、データの入出力時の学習部36の各構成要素の処理を説明する。機械装置10の動作時、動作情報検出装置50は現在のサンプリング時刻tにおける動作データPdを検出し、動作情報処理部37を介して学習部36に出力する。データ入力部36cは、動作データPdをニューラルネットワーク36aに入力する。ニューラルネットワーク36aは、動作データPdを入力データとすることで、次のサンプリング時刻ti+1における実行動作修正指令Pni+1を出力データとして、動作指令部32に出力する。動作指令部32は、実行動作修正指令Pni+1を反映した実行動作指令を生成する。このように、各サンプリング時刻t(i=0~u-1)において、ニューラルネットワーク36aが、サンプリング時刻tにおける動作データPdを入力データとしてサンプリング時刻ti+1における実行動作修正指令Pni+1を出力することで、当該実行動作修正指令Pni+1が反映された実行動作指令が出力される。
なお、ニューラルネットワーク36aは、入力データとして、サンプリング時刻tにおける動作データPdと、サンプリング時刻t以前のサンプリング時刻ti-1~ti-n(nは所定の自然数)の動作データPdi-1~Pdi-nとが入力されるように構成されてもよい。この場合、機械学習時、データ入力部36cは、サンプリング時刻tにおける学習データpdに関して、時系列データPd,Pdi-1~Pdi-nをニューラルネットワーク36aに入力し、ニューラルネットワーク36aは、次のサンプリング時刻ti+1における実行動作修正指令Pni+1を出力する。学習評価部36dは、実行動作修正指令Pni+1と、教師データpnの時系列データpni+1とに関して、ニューラルネットワーク36aのニューロン間の重みを調節する。
また、データの入出力時、ニューラルネットワーク36aは、サンプリング時刻tに関して、サンプリング時刻t,ti-1~ti-nにおける動作データPd,Pdi-1~Pdi-nを入力データとしてサンプリング時刻ti+1における実行動作修正指令Pni+1を出力する。このようなニューラルネットワーク36aは、その学習効率及び学習精度を向上させることができる。このようなニューラルネットワーク36aは、現時点の瞬間における動作データだけでなく、それ以前からの一連の動作データに基づき、機械装置10の作用部11等の次の動きを予測するため、正確な予測を可能にする。
なお、上述のようなニューラルネットワーク36aは、機械装置10が実行することができる複合的な動作の種類毎に構築され、1つのニューラルネットワーク36aが1種類の複合的な動作に対応するように構成されてもよく、1つのニューラルネットワーク36aが複数種類の複合的な動作に対応するように構成されてもよい。
[1-2.動作]
実施の形態に係る機械装置システム1の動作を説明する。具体的には、自動運転モードでの動作の一例を説明する。図5は、実施の形態に係る機械装置システム1の動作の一例を示すフローチャートである。さらに、図5は、機械装置システム1が機械装置10に1サイクルの所定の動作を実行させる例を示す。本例では、機械装置システム1は、所定の動作の全てを機械装置10に自動で実行させるものとして説明する。
図5に示すように、まず、操作者が、自動運転モードで所定の動作を実行する指令を機械装置システム1に入力し、制御装置30が当該指令を受け付ける(ステップS101)。この場合、操作者は、操作装置20を介して入力してもよく、機械装置システム1が備える他の入力装置を介して入力してもよい。なお、本例では、所定の動作は複合的な動作であるとする。
次いで、制御装置30の動作決定部31は、所定の動作に対応する動作情報を取得する(ステップS102)。動作決定部31は、所定の動作に含まれる個別の動作それぞれに対応する動作情報を第三記憶部40から抽出し、動作指令部32に順次出力する。また、動作決定部31は、所定の動作の内容を学習部36に出力する。
次いで、動作指令部32は、所定の動作に含まれる個別の動作に対応する動作情報の中で、未完了の動作情報があるか否かを判定する、つまり、未完了の個別の動作があるか否かを判定する(ステップS103)。動作指令部32は、未完了の動作情報がある場合(ステップS103でYes)、ステップS104に進み、未完了の動作情報がない場合(ステップS103でNo)、一連の処理を終了する。
ステップS104において、学習部36は、機械装置10の作用部11等の動作情報、具体的には、動作情報に含まれる動作データPdを取得する。動作データPdは、時刻tでの動作データあり、処理の開始時である時刻tでは初期値Pdである。このとき、学習部36は、制御装置30の動作情報処理部37に動作情報を要求してもよい。動作情報処理部37は、動作情報の検出を動作情報検出装置50に要求し、動作情報検出装置50の検出結果を取得してもよい。又は、学習部36は、後述するステップS112において動作情報処理部37から動作情報を受け取り、当該動作情報から動作データを取得してもよく、ステップS112において制御装置30の第一記憶部38に記憶された動作情報を取得してもよい。
次いで、学習部36は、所定の動作に対応するニューラルネットワーク36aに、動作データPdを入力することで実行動作修正指令Pmi+1を生成させ、実行動作修正指令Pmi+1を動作指令部32に出力する(ステップS105)。
次いで、動作指令部32は、所定の動作に対応する動作情報を用いて、当該動作を機械装置10に実行させるための実行動作指令を生成し、修正指令部33に出力する(ステップS106)。具体的には、動作指令部32は、所定の動作に含まれる未完了の個別の動作のうちの最早に実行すべき個別の動作について、当該個別の動作に対応する動作情報を実行するための動作指令である決定動作指令Psi+1を生成する。さらに、動作指令部32は、決定動作指令Psi+1と実行動作修正指令Pmi+1とに基づき、実行動作指令Pei+1を生成する。決定動作指令Psi+1と実行動作修正指令Pmi+1とは、時刻ti+1に関して対応する指令である。
次いで、修正指令部33は、操作装置20から機械装置10の動作を修正するための入力である修正入力があるか否かを判定する(ステップS107)。修正指令部33は、修正入力がある場合(ステップS107でYes)、ステップS108に進み、修正入力がない場合(ステップS107でNо)、ステップS109に進む。
ステップS108において、修正指令部33は、操作装置20から出力される操作情報に従って、動作指令部32の実行動作指令Pei+1を修正し、駆動指令部34に出力する。修正指令部33は、操作情報に対応する動作を作用部11にさせるための操作動作指令Pоi+1と、動作指令部32の実行動作指令Pei+1とを加算することで、修正動作指令Pfi+1を生成する。
ステップS109において、修正指令部33は、動作指令部32の実行動作指令Pei+1を駆動指令部34に出力する。
次いで、ステップS110において、修正情報検出部35は、修正情報を検出し、第二記憶部39に記憶させる。実行動作指令Pei+1の修正がある場合、修正情報検出部35は、修正情報として修正動作指令Pfi+1を検出する。実行動作指令Peの修正がない場合、修正情報検出部35は、修正情報として非修正の実行動作指令Pei+1を検出する。
次いで、駆動指令部34は、修正動作指令Pfi+1又は実行動作指令Pei+1に対応する動作を作用部11にさせるように、機械装置10の各駆動装置を駆動させる指令である駆動データを生成し、各駆動装置に出力する。つまり、駆動指令部34は、上記指令に対応する動作をするように機械装置10を駆動する(ステップS111)。
次いで、動作情報検出装置50は、動作する機械装置10の動作情報として動作データPdi+1を検出し、第一記憶部38に記憶させる(ステップS112)。動作情報検出装置50は、検出した動作データPdi+1である検出動作情報を第一記憶部38及び動作情報処理部37に出力する。動作情報処理部37は、検出動作情報を学習部36、操作装置20及び出力装置60に出力する。さらに、動作情報処理部37は、ステップS103の処理に戻る。
操作装置20は、検出動作情報に含まれる動作データの力データ及び位置データに対応する触力覚を操作者に与える。触力覚は、作用部11の動作状態を示すことができる。例えば、操作装置20は、操作装置20を把持している操作者の手に対して、操作者が自分で押す感覚の触力覚を与えることで、作用部11が対象物を押圧している状態を体感させる。操作装置20は、操作者が自分で引っ張る感覚の触力覚を与えることで、作用部11が対象物を引っ張っている又は吊り上げている状態を体感させる。操作装置20は、表面の質感の触力覚を与えることで、作用部11が接触している対象物の表面の粗度状態を体感させる。操作装置20は、圧覚の触力覚を与えることで、作用部11が接触している対象物の表面の硬軟状態を体感させる。
出力装置60は、検出動作情報に含まれる動作データの位置データ等に基づく、対象物に対する作用部11の位置及び姿勢を、視覚的及び/又は聴覚的に操作者に示す。
上記のステップS103~S112では、サンプリング時刻ti+1に実行すべき動作に関する処理が行われるが、次のステップS103~S112では、次のサンプリング時刻ti+2に実行すべき動作に関する処理が行われる。
制御装置30は、所定の動作の完了後、サンプリング時刻t~tにおいて検出された動作情報を用いて、第三記憶部40に記憶される所定の動作に含まれる個別の動作それぞれに対応する動作情報を更新してもよい。
上記では、制御装置30は、サンプリング時刻t~tそれぞれのタイミングで、学習部36の実行動作修正指令を用いて決定動作指令を修正することで、実行動作指令を生成するが、これに限定されない。制御装置30は、所定の動作に含まれる個別の動作が変わるタイミングで上記のような実行動作指令を生成してもよい。
また、制御装置30は、学習部36の機械学習をいかなる時点で行ってもよい。例えば、制御装置30は、機械装置10による所定の作業が1回完了する毎に、1回の所定の作業で蓄積されたデータを用いて学習部36に機械学習をさせてもよい。又は、制御装置30は、機械装置10による所定の作業が所定回数完了する毎に、当該所定回数の所定の作業で蓄積されたデータを用いて学習部36に機械学習をさせてもよい。又は、制御装置30は、所定の日数、所定の週数、及び所定の月数等の所定の期間毎に、当該所定の期間での所定の作業で蓄積されたデータを用いて学習部36に機械学習をさせてもよい。
[1-3.効果等]
上述したように、実施の形態に係る機械装置システム1において、機械装置10の制御装置30は、機械装置10を動作させるための動作指令に従って、機械装置10の動作を制御する動作制御部としての動作指令部32及び駆動指令部34と、機械装置10を操作するための操作装置20から出力される操作情報に従って、機械装置10の動作を修正する修正制御部としての修正指令部33及び駆動指令部34と、機械装置10の動作を示す第一動作情報を記憶する第一記憶部38と、修正指令部33によって行われた修正を示す修正情報を記憶する第二記憶部39と、第一動作情報と第一動作情報に対応する修正情報とを用いて機械学習し、第一動作情報を入力データとし且つ当該第一動作情報に対応する指令を出力データとする学習部36とを含む。さらに、動作指令部32は、学習部36の指令に基づく動作指令に従って、機械装置10の動作を制御する。操作装置20は、操作装置20の動作を示す第二動作情報に基づく操作情報を出力する。
上記構成によると、学習部36は、機械装置10の動作を示す第一動作情報と、操作装置20を用いて行われた機械装置10の動作の修正を示す修正情報とを学習データとして用いて機械学習する。さらに、学習部36は、第一動作情報を入力データとして、当該第一動作情報に対応する指令を出力し、当該指令が機械装置10の動作の制御に反映される。上記学習データは、操作者が操作装置20を介して機械装置10の動作を修正することによって生成されるため、その生成が簡易である。さらに、機械装置10の動作の修正は、機械装置10の動作を確認した操作者によって行われるため、適切なものである。よって、適切な学習データの簡易な生成が可能である。このような学習データを用いて機械学習する学習部36は、操作者等が理想とするような機械装置10の動作に対応する指令を出力する出力精度を短期間で達成することができる。従って、機械学習に要する時間の短縮が可能である。
また、実施の形態に係る機械装置システム1において、操作装置20は、慣性計測装置を含み、第二動作情報としての慣性計測装置の計測データに基づく操作情報を出力してもよい。上記構成によると、操作装置20は、操作装置20の動作を示す第二動作情報に基づく操作情報を出力する。操作情報は、慣性計測装置の計測データに基づく情報であるため、操作装置20の動作を的確に示すことができる。よって、操作情報の精度が向上し、それにより、操作装置20を介した修正が機械装置10の動作に高い精度で反映される。
また、実施の形態に係る機械装置システム1において、操作装置20は、3次元空間内で任意の方向に移動自在であるように構成されてもよい。上記構成によると、操作装置20は、機械装置10の動作に対して多様な修正を加えることができる。
また、実施の形態に係る機械装置システム1において、機械装置10の動作を示す第一動作情報は、機械装置10が対象物に加える力を表す力データを含んでもよい。上記構成によると、学習部36は、機械装置10が対象物に加える力を考慮した機械学習を行う。そして、学習部36は、機械装置10が対象物に加える力を反映した指令を出力する。よって、制御装置30は、学習部36を用いることで、機械装置10の作用部11等の力制御を適切に実行することができる。
また、実施の形態に係る機械装置システム1において、機械装置10の動作を示す第一動作情報は、機械装置10の位置を表す位置データを含んでもよい。上記構成によると、学習部36は、作用部11の位置等の機械装置10の位置を考慮した機械学習を行う。そして、学習部36は、機械装置10の位置を反映した指令を出力する。よって、制御装置30は、学習部36を用いることで、機械装置10の作用部11等の位置制御を適切に実行することができる。
また、実施の形態に係る機械装置システム1において、制御装置30は、機械装置10の動作を示す第一動作情報を操作装置20に出力する処理部としての動作情報処理部37を含み、操作装置20は、第一動作情報に基づく動作状態のフィードバックを、触覚として操作者に与えるハプティクスデバイスを含んでもよい。上記構成によると、操作者は、機械装置10の動作を体感しつつ操作装置20を操作することができる。よって、操作者は、操作装置20を用いた機械装置10の動作の修正を適切に行うことができる。
また、実施の形態に係る機械装置システム1において、学習部36は、ニューラルネットワークで構成されてもよい。上記構成によると、ニューラルネットワークは、フレキシブル且つ高精度な処理を可能にする。よって、学習部36は、多様な入力データに対して高精度な出力データを出力することが可能である。
さらに、実施の形態に係る機械装置システム1において、機械装置10の動作を示す第一動作情報は、機械装置10の現在の動作と過去の動作とを含んでもよい。上記構成によると、第一動作情報は、機械装置10の動作の時系列情報を示す。そして、学習部36は、このような時系列情報を用いて機械学習し、このような時系列情報を入力データとする。よって、学習部36は、機械装置10の経時的な挙動を考慮した機械学習を行い、機械装置10の経時的な挙動を反映した指令を出力する。従って、学習部36の出力精度が向上する。
また、実施の形態に係る制御システム100は、実施の形態に係る制御装置30と、操作装置20とを備える。上記構成によると、実施の形態に係る制御装置30と同様の効果が得られる。
また、実施の形態に係る機械装置システム1は、実施の形態に係る制御装置30と、機械装置10と、操作装置20とを備える。上記構成によると、実施の形態に係る制御装置30と同様の効果が得られる。
(変形例)
実施の形態の変形例に係る機械装置システム1Aを説明する。本変形例では、機械装置システム1Aは、機械装置としてロボット10Aを備え、ロボット10Aの動作を動作データだけでなく、ロボット10Aの処理対象の画像を用いて制御する。以下、本変形例について、実施の形態と異なる点を中心に説明し、実施の形態と同様の点の説明を適宜省略する。
[2-1.機械装置システム]
図6は、変形例に係る機械装置システム1Aの構成の一例を示す機能ブロック図である。図6に示すように、本変形例に係る機械装置システム1Aは、実施の形態に係る機械装置システム1と比較して、撮像装置70をさらに備える。さらに、機械装置システム1Aは、機械装置10としてのロボット10Aと、制御装置30としての制御装置30Aとを備える。ロボット10Aは、エンドエフェクタ11A及びロボットアーム12Aを備え、エンドエフェクタ11Aは作用部11に対応し、ロボットアーム12Aは動作部12に対応する。ロボット10Aの詳細は後述する。
撮像装置70は、ロボット10Aが処理する対象物を撮像する。撮像装置70の例は、デジタルカメラ及びデジタルビデオカメラ等である。例えば、撮像装置70は、エンドエフェクタ11A又はロボットアーム12A等に配置されるが、エンドエフェクタ11A又はロボットアーム12Aから離れた位置に配置されてもよい。撮像装置70は、撮像した画像の信号を制御装置30Aに出力する。撮像装置70は画像の信号を出力装置60に出力してもよい。これにより、操作者は、出力装置60を介して、エンドエフェクタ11Aによる対象物の処理状態を確認することができる。そして、操作者は、対象物の処理状態を確認しつつ、操作装置20を用いたエンドエフェクタ11Aの動作の修正、及び、手動運転モードでのロボット10Aの操作を行うことができる。
[2-2.ロボット]
図7は、変形例に係るロボット10Aの構成の一例を示す側面図である。図7に示すように、ロボット10Aのロボットアーム12Aの基部は、基台13に取り付け固定され、ロボットアーム12Aの先端部には、エンドエフェクタ11Aが着脱可能に取り付けられている。エンドエフェクタ11Aは、把持、吸着、吊り上げ、又は掬い上げ等の対象物に対応する様々な作用を、対象物に加えることができるように構成される。図7の例では、エンドエフェクタ11Aは、対象物Wを把持するように構成され、ロボット10Aは、エンドエフェクタ11Aで把持した対象物Wを組付対象物Tに組み付ける作業を行う。ロボット10Aの作業は組み付けに限定されず、いかなる作業であってもよい。ロボット10Aの作業の例は、仕分け、組立、塗装、溶接、接合、チッピング、研磨、シーリング、半導体製造、薬剤調合及び手術などの医療行為等である。
ロボットアーム12Aは、その基部から先端に向かって順に配置されたリンク12Aa~12Afと、リンク12Aa~12Afを順次接続する関節JT1~JT6と、関節JT1~JT6それぞれを回転駆動するアーム駆動装置M1~M6とを備えている。アーム駆動装置M1~M6の動作は、制御装置30Aによって制御される。これに限定されないが、本実施の形態では、アーム駆動装置M1~M6はそれぞれ、電力を動力源とし、これらを駆動する電気モータとしてサーボモータを有する。なお、ロボットアーム12Aの関節の数量は、6つに限定されず、7つ以上であってもよく、1つ以上5つ以下であってもよい。
リンク12Aaは基台13の取付面13aに取り付けられ、エンドエフェクタ11Aはリンク12Afの先端部に取り付けられている。リンク12Afの先端部にはメカニカルインターフェースが設けられている。エンドエフェクタ11Aは、メカニカルインターフェースに、力センサ14を介して装着される。力センサ14の例は、力覚センサ等であり、力覚センサの構成は特に限定されないが、例えば、3軸加速度センサで構成されてもよい。力センサ14は、エンドエフェクタ11Aが対象物に作用させる力を、当該対象物から受ける反力として検出する。力センサ14によって検出される力は、適宜な信号処理手段(図示せず)によって力データに変換される。この信号処理手段は、例えば、力センサ14又は制御装置30に設けられる。本明細書では、便宜上、力センサ14が力データを検出すると表現する。
関節JT1は、基台13とリンク12Aaの基端部とを、取付面13aに対して垂直である鉛直方向の軸周りに回転可能に連結する。関節JT2は、リンク12Aaの先端部とリンク12Abの基端部とを、取付面13aに平行な水平方向の軸周りに回転可能に連結する。関節JT3は、リンク12Abの先端部とリンク12Acの基端部とを、取付面13aに平行な方向の軸周りに回転可能に連結する。関節JT4は、リンク12Acの先端部とリンク12Adの基端部とを、リンク12Acの長手方向の軸周りに回転可能に連結する。関節JT5は、リンク12Adの先端部とリンク12Aeの基端部とを、リンク12Adの長手方向と直交する方向の軸周りに回転可能に連結する。関節JT6は、リンク12Aeの先端部とリンク12Afの基端部とを、リンク12Aeに対する捻れ回転可能に連結する。
アーム駆動装置M1~M6はそれぞれ、サーボモータ(図示せず)と、サーボモータの回転子の回転量を検出するエンコーダ等の回転センサ(図示せず)と、サーボモータの駆動電流を検出する電流センサ(図示せず)とを備えてもよい。アーム駆動装置M1~M6はそれぞれ、制御装置30Aから出力される指令等に従って、サーボモータを動作させ、回転センサの検出値を制御装置30Aに出力する。制御装置30Aは、各サーボモータからフィードバックされた回転センサの検出値に基づき、当該サーボモータの回転子の回転量及び回転速度等を検出し、検出結果を用いて当該サーボモータの回転開始、回転停止、回転速度及び回転トルクを制御する。これにより、制御装置30Aは、各サーボモータを任意の回転位置で停止させることができ、任意の回転速度で回転させることができ、任意の回転トルクで動作させることができる。よって、制御装置30Aは、ロボットアーム12Aを多様に且つ緻密に動作させることができる。
後述する制御装置30Aの動作情報演算部41は、アーム駆動装置M1~M6の全てのサーボモータの回転量を統合することで、エンドエフェクタ11Aの3次元位置を位置データとして算出する。また、力センサ14が検出するデータが力データである。上記位置データ及び上記力データは、ロボット10Aの動作データである。アーム駆動装置M1~M6の回転センサと力センサ14とは、動作情報検出装置50を構成する。アーム駆動装置M1~M6の電流センサの検出信号は、制御装置30Aが、アーム駆動装置M1~M6それぞれのサーボモータの電流を、電流指令に従った値になるようにフィードバック制御するために用いられる。上述のように、ロボット10Aは垂直多関節型ロボットとして構成されるが、これに限定されない。
[2-3.操作装置]
図8は、変形例に係る操作装置20の外観の一例を示す図である。図9は、変形例に係る操作装置20の構成の一例を示す機能ブロック図である。図8に示すように、操作装置20は、人の手が把持することが可能である筐体20aを備える。さらに、操作装置20は、筐体20aに入力装置21を備える。図8では、入力装置21はボタンスイッチであるが、これに限定されない。また、操作装置20は、筐体20aの内部に、図示しない慣性計測装置22、ハプティクスデバイス23、操作制御装置24及び通信装置25を備える。機械装置システム1Aでは、制御装置30Aは、操作装置20を用いてロボット10Aに対してバイラテラル制御を行う。
図9を参照しつつ、操作装置20の構成要素を説明する。ハプティクスデバイス23は、実施の形態において説明したとおりである。
通信装置25は、操作装置20と制御装置30Aとを有線通信又は無線通信を介して接続する。通信装置25は、通信回路を含んでもよい。有線通信及び無線通信の形式はいかなる形式であってもよい。
入力装置21は、操作者による指令及び情報等の入力を受け付け、入力された指令及び情報等を操作制御装置24及び通信装置25を介して、制御装置30Aに送信する。このような入力装置21は、物理的な入力、音声による入力及び画像による入力等を受け付けてもよい。例えば、入力装置21は、スライドスイッチ、ボタンスイッチ、キー、レバー、タッチパネル、マイク及びカメラ等の装置を備えてもよい。例えば、入力装置21に入力される指令及び情報は、ロボット10Aの運転モードの選択及び実行指令、エンドエフェクタ11Aの動作の選択及び実行指令等を示してもよい。
慣性計測装置22は、3軸加速度センサ及び3軸角速度センサを含み、操作装置20の3軸方向の加速度及び角速度を検出する。慣性計測装置22によって検出された3軸方向の加速度及び角速度の計測データは、操作制御装置24によって、位置、姿勢、移動、移動速度及び力等の操作装置20の動作及び作用力を示す様々な情報に変換され、当該情報が操作装置20の操作情報として通信装置25を介して制御装置30Aに送信される。なお、3軸方向の加速度及び角速度の計測データが制御装置30Aに送信され、制御装置30Aが当該データを変換する演算を行ってもよい。慣性計測装置22の計測データから変換される情報は、エンドエフェクタ11Aの位置、姿勢、移動、移動速度及び作用力等を示してもよい。慣性計測装置22は地磁気センサ及び温度センサ等を含んでもよい。例えば、3軸方向の加速度及び角速度の計測データは、地磁気センサ及び温度センサ等の計測データを用いて補正されてもよい。
操作制御装置24は、操作装置20の全体の動作を制御する。操作制御装置24は、制御装置30について実施の形態において例示した構成と同様の構成を有してもよい。例えば、操作制御装置24は、入力装置21から信号を受け取り、当該信号を対応する操作を示す情報に変換し、制御装置30Aに送信する。また、操作制御装置24は、慣性計測装置22の計測データを変換し、変換データを制御装置30Aに送信する。又は、操作制御装置24は、慣性計測装置22の計測データを制御装置30Aに送信する。操作制御装置24は、制御装置30Aからロボット10Aの動作情報を受信し、動作情報に含まれる動作データ等をハプティクスデバイス23への入力に適合するデータに変換し、ハプティクスデバイス23に出力する。
[2-4.制御装置]
制御装置30Aの構成を説明する。図6に示すように、本変形例に係る制御装置30Aは、実施の形態に係る制御装置30と比較して、動作情報演算部41と、画像処理部42と、第四記憶部43とをさらに含み、学習部36の代わりに学習部36Aを含む。
動作情報演算部41は、動作情報検出装置50から受け取るデータを動作データに変換し、動作情報処理部37及び第一記憶部38に出力する。具体的には、動作情報検出装置50は、ロボット10Aのアーム駆動装置M1~M6の回転センサを用いて検出したサーボモータの回転量のデータと、力センサ14を用いて検出した力の力データとを動作情報演算部41に出力する。動作情報演算部41は、アーム駆動装置M1~M6の全てのサーボモータの回転量を統合することで、エンドエフェクタ11Aの3次元位置を示す位置データを算出する。動作情報演算部41は、同じ検出時刻の力データと位置データとを、当該検出時刻と関連付けて含む動作データを生成し出力する。
画像処理部42は、撮像装置70によって撮像された画像を示す画像データを受け取り、当該画像データに対して画像処理を行う。画像処理部42は、画像処理によって、画像に含まれる対象物及びエンドエフェクタ11Aを抽出し、対象物及びエンドエフェクタ11Aのみを含む画像の画像データである処理画像データを生成する。画像処理部42は、処理画像データを、その撮像時刻と関連付けて第四記憶部43に記憶させる。画像処理部42は、処理前の画像データも第四記憶部43に記憶させてもよい。
画像から対象物及びエンドエフェクタ11Aの像を抽出する方法は、既知のいかなる方法であってもよい。例えば、画像処理部42は、特徴ベース又は領域ベース等の画像マッチング手法を用いて、対象物及びエンドエフェクタ11Aの像を抽出してもよい。
例えば、特徴ベースの場合、画像処理部42は、処理前の画像において、エッジ及びコーナー等の特徴点を抽出し、特徴点の特徴量を算出してもよい。さらに、画像処理部42は、特徴点の特徴量に基づき、処理前の画像と対象物及びエンドエフェクタ11Aの画像のテンプレートとの間でマッチングを行うことで、処理前の画像から対象物及びエンドエフェクタ11Aの像を抽出してもよい。また、領域ベースの場合、画像処理部42は、処理前の画像において、エッジ及びテクスチャ等に基づき、各領域を特定してもよい。さらに、画像処理部42は、特定した領域に基づき、処理前の画像と対象物及びエンドエフェクタ11Aの画像のテンプレートとの間でマッチングを行うことで、処理前の画像から対象物及びエンドエフェクタ11Aの像を抽出してもよい。対象物及びエンドエフェクタ11Aの画像のテンプレートは、第四記憶部43に予め記憶されていてもよい。
第四記憶部43は、第一記憶部38等と同様に、記憶装置によって実現される。第四記憶部43は、撮像装置70によって撮像された画像データ、画像処理部42によって処理された処理画像データ、並びに、対象物及びエンドエフェクタ11Aの画像のテンプレート等を記憶する。
また、本変形例に係る学習部36Aは、ロボット10Aの動作情報と当該動作情報に対応する修正情報とを用いて機械学習する。また、学習部36Aは、ロボット10Aの動作情報を入力データとし、当該動作情報に対応する指令を出力データとする。本変形例では、ロボット10Aの動作情報は、ロボット10Aのエンドエフェクタ11Aの動作データと、撮像装置70によって撮像された対象物の画像データとを含む。当該画像データは、エンドエフェクタ11Aと対象物との位置関係、及び、エンドエフェクタ11Aによる対象物の処理状況等のエンドエフェクタ11Aの動作情報を示す。本変形例では、画像データは、画像処理部42による処理済みの処理画像データであるが、処理前の画像データであってもよい。処理画像データを用いることによって、ニューラルネットワークの出力精度の向上が可能である。
例えば、機械学習では、学習部36Aのニューラルネットワークにおいて、エンドエフェクタ11Aの動作データ及び対象物の画像データが入力データとされ、これらのデータの検出時に実行された修正情報が教師データとされる。データの入出力時、ニューラルネットワークは、エンドエフェクタ11Aの動作データ及び対象物の画像データの入力を受け付け、ロボット10Aに次に実行させるための実行動作修正指令を出力する。
学習部36Aの構成の一例を説明する。図10は、変形例に係る学習部36Aの構成の一例を示す機能ブロック図である。図10に示すように、学習部36Aは、ニューラルネットワーク36Aaと、データ生成部36bと、データ入力部36cと、学習評価部36dとを含む。
本例でも、ロボット10Aが所定の動作を1回実行する間、各指令及び各データは所定のサンプリング間隔で取得される。例えば、修正情報検出部35は、修正動作指令Pmの時系列データPm~Pmを当該サンプリング間隔で取得する。動作情報検出装置50は、エンドエフェクタ11Aの検出データを当該サンプリング間隔で取得し、動作情報演算部41は、当該検出データを演算することで、エンドエフェクタ11Aの動作データPdの時系列データPd~Pdを取得する。また、撮像装置70は、対象物が撮像された画像データを当該サンプリング間隔で取得し、画像処理部42は、画像データを画像処理することで、画像処理済みの処理画像データIpの時系列データIp~Ipを取得する。
機械学習時の学習部36Aの処理を説明する。データ生成部36bは、第一記憶部38の動作データPdの時系列データPd~Pdと、第四記憶部43の処理画像データIpの時系列データIp~Ipとを用いて、学習データLdの時系列データLd~Ldを生成する。時系列データLdは、時系列データPd及びIpを用いて生成される。また、データ生成部36bは、第二記憶部39の修正動作指令Pmの時系列データPm~Pmから教師データpnの時系列データpn~pnを生成する。
データ入力部36cは、ニューラルネットワーク36Aaの入力層の各ニューロンに学習データLdの時系列データLd~Ldを順次入力する。ニューラルネットワーク36Aaは、サンプリング時刻tでの学習データLdの時系列データLdの入力を受けると、次のサンプリング時刻ti+1での実行動作修正指令Pni+1を予測し出力する。
学習評価部36dは、サンプリング時刻ti+1における教師データpnの時系列データpni+1と実行動作修正指令Pni+1とに基づき、ニューラルネットワーク36Aaのニューロン間の重みを調節する。データ入力部36c及び学習評価部36dは、時系列データLd~Ldの全てについて上記処理を行う。
データの入出力時の学習部36Aの処理を説明する。ロボット10Aの動作時、動作情報演算部41は、現在のサンプリング時刻tにおける動作情報検出装置50の検出データを用いて、動作データPdを検出し、学習部36Aに出力する。並行して、画像処理部42は、サンプリング時刻tに撮像装置70によって撮像された画像データを用いて、処理画像データIpを生成し、学習部36Aに出力する。
データ入力部36cは、動作データPd及び処理画像データIpをニューラルネットワーク36Aaに入力する。ニューラルネットワーク36Aaは、動作データPd及び処理画像データIpを入力データとすることで、次のサンプリング時刻ti+1における実行動作修正指令Pni+1を出力データとして、動作指令部32に出力する。動作指令部32は、実行動作修正指令Pni+1を反映した実行動作指令を生成する。各サンプリング時刻t~tu-1において、ニューラルネットワーク36Aaが上記処理を行う。このようなニューラルネットワーク36Aaによる処理には、対象物の処理状態が考慮される。
なお、ニューラルネットワーク36Aaは、実施の形態と同様に、入力データとして、サンプリング時刻tにおける動作データPd及び処理画像データIpと、過去のサンプリング時刻ti-1~ti-nの動作データPdi-1~Pdi-n及び処理画像データIi-1~Ii-nとが入力されるように構成されてもよい。変形例に係る機械装置システム1Aのその他の構成及び動作は、実施の形態と同様であるため、その詳細な説明を省略する。
[2-5.効果等]
上述のような変形例に係る機械装置システム1Aによれば、実施の形態と同様の効果が得られる。さらに、機械装置システム1Aにおいて、学習部36Aは、ロボット10Aの動作情報と当該動作情報に対応する修正情報とを用いて機械学習し、ロボット10Aの動作情報を入力データとし、当該動作情報に対応する指令を出力データとする。ロボット10Aの動作情報は、ロボット10Aのエンドエフェクタ11Aの動作データと、撮像装置70によって撮像された対象物の画像データとを含む。上記構成により、学習部36Aは、エンドエフェクタ11Aの動作状態だけでなく、画像から認識される処理対象の対象物の状態、つまり処理状態に対応した出力をすることができる。例えば、ロボット10Aが塗装、溶接、チッピング、研磨又はシーリング等の作業を行う場合、対象物における処理対象の部位の状態に応じて作業の出来映えが変化する。学習部36Aは、当該部位を含む画像を入力データとすることで、当該部位の状態に適した出力をすることができる。よって、学習部36Aの出力精度が向上する。なお、画像データを含む動作情報を扱う学習部36Aは、ロボット以外のいかなる機械装置に用いられてもよい。
(その他の実施の形態)
以上、本発明の実施の形態の例について説明したが、本発明は、上記実施の形態及び変形例に限定されない。すなわち、本発明の範囲内で種々の変形及び改良が可能である。例えば、各種変形を実施の形態及び変形例に施したもの、及び、異なる実施の形態及び変形例における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
例えば、実施の形態及び変形例において、制御装置30及び30Aは、自動運転モード時、1つの操作装置20から出力される操作情報に従って、機械装置10及びロボット10Aの動作を修正したが、これに限定されない。制御装置30及び30Aは、2つ以上の操作装置20のから出力される操作情報に従って、機械装置10及びロボット10Aの動作を修正してもよい。例えば、2つ以上の操作装置20に優先順位が設定され、制御装置30及び30Aは、優先順位に従って、2つ以上の操作装置20のから出力される操作情報のうちから修正に採用する操作情報を決定してもよい。又は、制御装置30及び30Aは、2つ以上の操作装置20のから出力される操作情報に対して、加算、減算、平均化、又は、他の統計的処理等の処理を実行し、処理後の操作情報を修正に採用してもよい。
また、実施の形態及び変形例において、操作装置20は、操作者に知覚の刺激を与えるためにハプティクスデバイス23を備えていたが、これに限定されない。操作装置20は、操作者に知覚の刺激を与えるいかなる装置を備えてもよい。例えば、操作装置20は、触覚、温覚、視覚及び聴覚の刺激の少なくとも1つを操作者に与えるように構成されてもよい。操作装置20は、操作装置20の膨張収縮又は伸縮などの変形、及び振動等により触覚の刺激を与え、例えば、空気圧又は液圧により膨張収縮する装置、及び圧電素子などの振動を発生する装置等を備えてもよい。操作装置20は、発熱等により温覚の刺激を与え、例えば、ヒータ等を備えてもよい。操作装置20は、発光及び光の点滅等により視覚の刺激を与え、例えば、LED(Light Emitting Diode)などの光源等を備えてもよい。操作装置20は、発音等により聴覚の刺激を与え、例えば、スピーカ等を備えてもよい。
また、実施の形態及び変形例において、学習部36及び36Aが機械学習に用いる情報は、自動運転モードのときに取得される情報、具体的には、機械装置10及びロボット10Aの動作情報としての動作データ及び対象物の画像データのうちの少なくとも動作データと、修正情報としての修正動作指令とであったが、これに限定されない。例えば、学習部36及び36Aは、手動運転モードのときに取得される情報を機械学習に用いてもよい。このような情報は、例えば、操作装置20の操作情報に基づく実行動作指令と、当該実行動作指令に従って動作した機械装置10及びロボット10Aの動作情報としての動作データ及び対象物の画像データのうちの少なくとも動作データとであってもよい。これにより、学習部36及び36Aは、操作者による機械装置10及びロボット10Aの操作結果も機械学習するため、人の操作に近い出力をすることができる。
また、変形例において、ロボット10Aは垂直多関節型ロボットであったが、これに限定されず、例えば、水平多関節型ロボット、極座標型ロボット、円筒座標型ロボット、直角座標型ロボット、垂直多関節型ロボット、又はその他のロボットとして構成されてもよい。
また、本発明は、制御方法であってもよい。例えば、本発明に係る制御方法は、機械装置を動作させるための動作指令に従って、前記機械装置を動作させ、前記機械装置を操作するための操作装置から出力される操作情報に従って、前記機械装置の動作を修正し、前記機械装置の動作を示す第一動作情報と、前記機械装置の動作の修正を示す修正情報とを取得し、前記第一動作情報と前記第一動作情報に対応する前記修正情報とを用いて学習モデルに機械学習させ、前記学習モデルに前記第一動作情報を入力し前記第一動作情報に対応する指令を出力させ、前記学習モデルの前記指令に基づく前記動作指令に従って、前記機械装置を動作させ、前記操作情報は、前記操作装置の動作を示す第二動作情報に基づく情報である。この制御方法によれば、上記機械装置システム等と同様の効果が得られる。このような制御方法は、CPU、LSIなどの回路、ICカード又は単体のモジュール等によって、実現されてもよい。
また、本発明は、上記制御方法を実行するためのプログラムであってもよく、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
また、上記で用いた序数、数量等の数字は、全て本発明の技術を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。また、構成要素間の接続関係は、本発明の技術を具体的に説明するために例示するものであり、本発明の機能を実現する接続関係はこれに限定されない。
また、機能ブロック図におけるブロックの分割は一例であり、複数のブロックを一つのブロックとして実現する、一つのブロックを複数に分割する、及び/又は、一部の機能を他のブロックに移してもよい。また、類似する機能を有する複数のブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
1,1A 機械装置システム
10 機械装置
10A ロボット
20 操作装置
22 慣性計測装置
23 ハプティクスデバイス
30,30A 制御装置
32 動作指令部(動作制御部)
33 修正指令部(修正制御部)
34 駆動指令部(動作制御部、修正制御部)
36,36A 学習部
36a,36Aa ニューラルネットワーク
37 動作情報処理部(処理部)
38 第一記憶部(記憶部)
39 第二記憶部(記憶部)
50 動作情報検出装置
70 撮像装置
100 制御システム

Claims (6)

  1. 操作者の手によって手持ち可能であり且つ機械装置を操作するための手持ち式操作装置であって、慣性計測装置及びハプティクスデバイスを含み、3次元空間内で任意の方向に移動自在であるように構成される手持ち式操作装置と、
    前記機械装置の制御装置とを備え
    前記手持ち式操作装置は、前記慣性計測装置によって計測される計測データに基づき且つ前記手持ち式操作装置の動きを示す第二動作情報に基づく操作情報を、前記制御装置に出力し、
    前記制御装置は、
    前記機械装置を動作させるための動作指令に従って、前記機械装置の動作を制御する動作制御部と、
    前記手持ち式操作装置から出力される前記操作情報に従って、前記機械装置の動作を修正する修正制御部と、
    前記機械装置の動作を示す第一動作情報と、前記修正制御部によって行われた修正を示す修正情報とを記憶する記憶部と、
    前記第一動作情報と前記第一動作情報に対応する前記修正情報とを用いて機械学習し、前記第一動作情報を入力データとし且つ前記第一動作情報に対応する指令を出力データとする学習部と、
    前記第一動作情報を前記手持ち式操作装置に出力する処理部とを含み、
    前記動作制御部は、前記学習部の前記指令に基づく前記動作指令に従って、前記機械装置の動作を制御し、
    前記処理部は、前記機械装置が備える作用部が対象物に加える力を表す力データと、前記作用部の位置を表す位置データとを含む前記第一動作情報を、前記手持ち式操作装置に出力し、
    前記ハプティクスデバイスは、前記第一動作情報に基づく前記機械装置の動作状態のフィードバックを触力覚として、前記操作者に与えるように構成される
    制御システム
  2. 前記第一動作情報は、前記機械装置が処理をする対象物を撮像した画像データを含む
    請求項1に記載の制御システム
  3. 前記学習部は、ニューラルネットワークで構成される
    請求項1又は2に記載の制御システム
  4. 前記第一動作情報は、前記機械装置の現在の動作と過去の動作とを含む
    請求項に記載の制御システム
  5. 請求項1~のいずれか一項に記載の制御システムと、
    前記機械装置とを備える
    機械装置システム。
  6. 機械装置を動作させるための動作指令に従って、前記機械装置を動作させることと
    前記機械装置を操作するための手持ち式操作装置から出力される操作情報に従って、前記機械装置の動作を修正することであって、前記操作情報は、前記手持ち式操作装置が備える慣性計測装置及びハプティクスデバイスのうちの前記慣性計測装置の計測データに基づき且つ前記手持ち式操作装置の動きを示す第二動作情報に基づくものであり、前記手持ち式操作装置は、操作者の手によって手持ち可能であり、3次元空間内で任意の方向に移動自在であるように構成されることと、
    前記機械装置の動作を示す第一動作情報と、前記機械装置の動作の修正を示す修正情報とを取得することと
    前記第一動作情報と前記第一動作情報に対応する前記修正情報とを用いて学習モデルに機械学習させることと
    前記学習モデルに前記第一動作情報を入力し前記第一動作情報に対応する指令を出力させることと
    前記学習モデルの前記指令に基づく前記動作指令に従って、前記機械装置を動作させることと
    前記機械装置が備える作用部が対象物に加える力を表す力データと、前記作用部の位置を表す位置データとを含む前記第一動作情報を前記手持ち式操作装置に出力することと、
    前記ハプティクスデバイスに、前記第一動作情報に基づく前記機械装置の動作状態のフィードバックを触力覚として、前記操作者に与えさせることとを含む
    制御方法。
JP2019099548A 2019-05-28 2019-05-28 制御システム、機械装置システム及び制御方法 Active JP7339776B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019099548A JP7339776B2 (ja) 2019-05-28 2019-05-28 制御システム、機械装置システム及び制御方法
US17/613,111 US20220212340A1 (en) 2019-05-28 2020-05-28 Control device, control system, mechanical apparatus system, and controlling method
CN202080036398.8A CN113840697A (zh) 2019-05-28 2020-05-28 控制装置、控制系统、机械装置系统以及控制方法
PCT/JP2020/021235 WO2020241796A1 (ja) 2019-05-28 2020-05-28 制御装置、制御システム、機械装置システム及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019099548A JP7339776B2 (ja) 2019-05-28 2019-05-28 制御システム、機械装置システム及び制御方法

Publications (2)

Publication Number Publication Date
JP2020192640A JP2020192640A (ja) 2020-12-03
JP7339776B2 true JP7339776B2 (ja) 2023-09-06

Family

ID=73547707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019099548A Active JP7339776B2 (ja) 2019-05-28 2019-05-28 制御システム、機械装置システム及び制御方法

Country Status (4)

Country Link
US (1) US20220212340A1 (ja)
JP (1) JP7339776B2 (ja)
CN (1) CN113840697A (ja)
WO (1) WO2020241796A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019120633B4 (de) * 2019-07-31 2022-05-05 Liebherr-Hydraulikbagger Gmbh Verfahren zur automatischen Bewegung eines Arbeitsgeräts sowie Arbeitsgerät
JP7339806B2 (ja) * 2019-08-05 2023-09-06 川崎重工業株式会社 制御システム、ロボットシステム及び制御方法
US11945123B2 (en) 2020-04-28 2024-04-02 Altec Industries, Inc. Head mounted display for remote operation of machinery
JP2023038776A (ja) * 2021-09-07 2023-03-17 オムロン株式会社 指令値生成装置、方法、及びプログラム
US11714767B1 (en) * 2021-12-30 2023-08-01 Lightbits Labs Ltd. DMA mechanism with inline data services
US11660750B1 (en) * 2022-07-28 2023-05-30 Altec Industries, Inc. Autonomous and semi-autonomous control of aerial robotic systems
CN117697769A (zh) * 2024-02-06 2024-03-15 成都威世通智能科技有限公司 一种基于深度学习的机器人控制系统和方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2055446A1 (en) 2007-10-31 2009-05-06 Abb As A portable robot control apparatus and a method for controlling a movement of a robot
JP2009142905A (ja) 2007-12-11 2009-07-02 Yamatake Corp 教示装置
JP2011224696A (ja) 2010-04-19 2011-11-10 Yaskawa Electric Corp ロボットの教示再生装置および教示再生方法
JP2014050950A (ja) 2012-09-06 2014-03-20 Fanuc Robotics America Inc 触覚教示ペンダント
JP2015134384A (ja) 2014-01-16 2015-07-27 日本電気株式会社 遠隔操縦装置、及び遠隔操縦システム
JP2015157323A (ja) 2014-02-21 2015-09-03 日本電気株式会社 遠隔操縦装置、遠隔操縦システム、遠隔操縦方法、及びプログラム
WO2017033356A1 (ja) 2015-08-25 2017-03-02 川崎重工業株式会社 ロボットシステム
JP2017107902A (ja) 2015-12-07 2017-06-15 ファナック株式会社 コアシートの積層動作を学習する機械学習器、積層コア製造装置、積層コア製造システムおよび機械学習方法
WO2017220605A1 (de) 2016-06-23 2017-12-28 Kuka Roboter Gmbh Roboter-bedienhandgerätverbund mit einem grundsteuerungs-lagesensor
WO2018049447A1 (de) 2016-09-14 2018-03-22 Keba Ag Steuervorrichtung und steuerverfahren für industrielle maschinen mit gesteuerten bewegungsantrieben
WO2019044766A1 (ja) 2017-08-31 2019-03-07 川崎重工業株式会社 ロボットシステム及びその運転方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5639884A (en) * 1979-08-29 1981-04-15 Kobe Steel Ltd Method and device for correcting partial operation of cp control type industrial robot
JP3362379B2 (ja) * 1994-05-26 2003-01-07 松下電工株式会社 力制御装置における力の検出方法
JP6514166B2 (ja) * 2016-09-16 2019-05-15 ファナック株式会社 ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法
US10286550B2 (en) * 2016-12-02 2019-05-14 National Taipei University Of Technology Robot teaching system and control method thereof
US11260530B2 (en) * 2016-12-02 2022-03-01 Cyberdyne Inc. Upper limb motion support apparatus and upper limb motion support system
JP6506245B2 (ja) * 2016-12-26 2019-04-24 ファナック株式会社 組付動作を学習する機械学習装置および部品組付システム
JP6577522B2 (ja) * 2017-06-07 2019-09-18 ファナック株式会社 制御装置及び機械学習装置
US11494632B1 (en) * 2017-12-07 2022-11-08 X Development Llc Generating simulated training examples for training of machine learning model used for robot control
US10926408B1 (en) * 2018-01-12 2021-02-23 Amazon Technologies, Inc. Artificial intelligence system for efficiently learning robotic control policies
US20200094401A1 (en) * 2018-09-21 2020-03-26 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for automatic learning of product manipulation
US11312581B2 (en) * 2019-04-16 2022-04-26 Abb Schweiz Ag Object grasp system and method

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2055446A1 (en) 2007-10-31 2009-05-06 Abb As A portable robot control apparatus and a method for controlling a movement of a robot
JP2009142905A (ja) 2007-12-11 2009-07-02 Yamatake Corp 教示装置
JP2011224696A (ja) 2010-04-19 2011-11-10 Yaskawa Electric Corp ロボットの教示再生装置および教示再生方法
JP2014050950A (ja) 2012-09-06 2014-03-20 Fanuc Robotics America Inc 触覚教示ペンダント
JP2015134384A (ja) 2014-01-16 2015-07-27 日本電気株式会社 遠隔操縦装置、及び遠隔操縦システム
JP2015157323A (ja) 2014-02-21 2015-09-03 日本電気株式会社 遠隔操縦装置、遠隔操縦システム、遠隔操縦方法、及びプログラム
WO2017033356A1 (ja) 2015-08-25 2017-03-02 川崎重工業株式会社 ロボットシステム
JP2017107902A (ja) 2015-12-07 2017-06-15 ファナック株式会社 コアシートの積層動作を学習する機械学習器、積層コア製造装置、積層コア製造システムおよび機械学習方法
WO2017220605A1 (de) 2016-06-23 2017-12-28 Kuka Roboter Gmbh Roboter-bedienhandgerätverbund mit einem grundsteuerungs-lagesensor
WO2018049447A1 (de) 2016-09-14 2018-03-22 Keba Ag Steuervorrichtung und steuerverfahren für industrielle maschinen mit gesteuerten bewegungsantrieben
WO2019044766A1 (ja) 2017-08-31 2019-03-07 川崎重工業株式会社 ロボットシステム及びその運転方法

Also Published As

Publication number Publication date
CN113840697A (zh) 2021-12-24
JP2020192640A (ja) 2020-12-03
US20220212340A1 (en) 2022-07-07
WO2020241796A1 (ja) 2020-12-03

Similar Documents

Publication Publication Date Title
JP7339776B2 (ja) 制御システム、機械装置システム及び制御方法
JP7339806B2 (ja) 制御システム、ロボットシステム及び制御方法
CN111432990B (zh) 技能传承机械装置
JP6940879B2 (ja) ロボット制御システム、機械制御システム、ロボット制御方法、機械制御方法、およびコンピュータプログラム
TWI805545B (zh) 用於藉由示範來程式化機器人之方法和電腦程式產品
JP6781183B2 (ja) 制御装置及び機械学習装置
US20220388160A1 (en) Control device, control system, robot system, and control method
CN104858876A (zh) 机器人任务的可视调试
WO2010136961A1 (en) Control device and method for controlling a robot
CN112638596B (zh) 自主学习型机器人装置以及自主学习型机器人装置的动作生成方法
CN110709211B (zh) 机器人系统和机器人系统的控制方法
JP7333197B2 (ja) 制御システム、機械装置システム及び制御方法
JP2024045418A (ja) ロボットシステム及び制御方法
JP2007054543A (ja) マッサージ機
Forgo et al. Gesture based robot programming using ROS platform
JP3884249B2 (ja) 人間型ハンドロボット用教示システム
CN114174015B (zh) 控制装置、控制系统、机器人系统以及控制方法
JP4206305B2 (ja) 多指ロボットハンドの制御方法及び装置
Crammond et al. Commanding an anthropomorphic robotic hand with motion capture data
JPH05337860A (ja) ロボットハンドの教示装置およびロボットハンド
JP2009196040A (ja) ロボットシステム
JP7441335B2 (ja) 動作生成装置、ロボットシステム、動作生成方法及び動作生成プログラム
JP2020082313A (ja) ロボット制御装置、学習装置、及びロボット制御システム
JP7247571B2 (ja) 制御装置、及び学習装置
JP7185749B2 (ja) ロボットシステム及びロボットシステムの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230207

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230608

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: 20230801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230825

R150 Certificate of patent or registration of utility model

Ref document number: 7339776

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150