JP7384898B2 - 情報処理装置、駆動制御方法およびコンピュータプログラム - Google Patents

情報処理装置、駆動制御方法およびコンピュータプログラム Download PDF

Info

Publication number
JP7384898B2
JP7384898B2 JP2021504864A JP2021504864A JP7384898B2 JP 7384898 B2 JP7384898 B2 JP 7384898B2 JP 2021504864 A JP2021504864 A JP 2021504864A JP 2021504864 A JP2021504864 A JP 2021504864A JP 7384898 B2 JP7384898 B2 JP 7384898B2
Authority
JP
Japan
Prior art keywords
gravity
center
image
information processing
training data
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
JP2021504864A
Other languages
English (en)
Other versions
JPWO2020184101A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2020184101A1 publication Critical patent/JPWO2020184101A1/ja
Application granted granted Critical
Publication of JP7384898B2 publication Critical patent/JP7384898B2/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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip 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/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01KANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
    • A01K61/00Culture of aquatic animals
    • A01K61/80Feeding devices
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01MCATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
    • A01M29/00Scaring or repelling devices, e.g. bird-scaring apparatus
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01MCATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
    • A01M29/00Scaring or repelling devices, e.g. bird-scaring apparatus
    • A01M29/06Scaring or repelling devices, e.g. bird-scaring apparatus using visual means, e.g. scarecrows, moving elements, specific shapes, patterns or the like
    • A01M29/10Scaring or repelling devices, e.g. bird-scaring apparatus using visual means, e.g. scarecrows, moving elements, specific shapes, patterns or the like using light sources, e.g. lasers or flashing lights
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01MCATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
    • A01M29/00Scaring or repelling devices, e.g. bird-scaring apparatus
    • A01M29/16Scaring or repelling devices, e.g. bird-scaring apparatus using sound waves
    • 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/40607Fixed camera to observe workspace, object, workpiece, global
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Description

本発明は、撮影画像から取得した情報を利用して駆動装置を制御する技術に関する。
撮影画像から物体を検知し、当該検知した情報を利用して装置を制御する手法がある。
特許文献1には、監視カメラからの画像から、重要区域内に警戒すべき侵入者が侵入したことを検知した場合に、侵入者に向けて放水することにより、侵入者の行動を妨害する手法が示されている。
特許文献2には、ステレオカメラにより撮影される画像と当該ステレオカメラにより取得される深度方向の距離情報とを利用して、車内への侵入者の侵入を検知する手法が開示されている。
特開2007-124269号公報 特開2005-208833号公報
駆動装置を制御する場合に、その駆動装置が作用する物体についての情報を取得するために高性能なセンサのセンサ出力の取得や複雑な演算を行って、駆動装置を制御することがある。しかしながら、駆動装置の制御には、装置動作に対する信頼性を高めるだけでなく、制御構成の簡素化が要求される場合もある。
本発明は上記課題を解決するために考え出された。すなわち、本発明の主な目的は、駆動装置を制御する制御構成の簡素化と駆動装置の動作に対する信頼性を高めることができる制御の技術を提供することにある。
上記目的を達成するために、本発明に係る情報処理装置の一形態は、
撮影画像における物体の重心の位置を含む検知対象を機械学習した学習結果である参考データを利用して、撮影画像から前記検知対象を検知する検知部と、
前記検知部の検知結果を利用して、前記物体に作用する制御対象の駆動装置を制御する処理部と
を備える。
また、本発明に係る駆動制御方法の一形態は、
撮影画像における物体の重心の位置を含む検知対象を機械学習した学習結果である参考データを利用して、撮影画像から前記検知対象を検知し、
その検知の結果を利用して、前記物体に作用する制御対象の駆動装置を制御する。
さらに、本発明に係るプログラム記憶媒体の一形態は、
撮影画像における物体の重心の位置を含む検知対象を機械学習した学習結果である参考データを利用して、撮影画像から前記検知対象を検知する処理と、
その検知の結果を利用して、前記物体に作用する制御対象の駆動装置を制御する処理と
をコンピュータに実行させるコンピュータプログラムを記憶する。
本発明によれば、駆動装置を制御する制御構成の簡素化と駆動装置の動作に対する信頼性を高めることができる。
本発明に係る第1実施形態の情報処理装置の構成を簡略化して表すブロック図である。 第1実施形態の情報処理装置により制御される駆動装置の一例と当該駆動装置により作用される物体の一例を表す図である。 図2に表される駆動装置の動作例を表す図である。 第1実施形態の情報処理装置が利用する参考データの生成に利用する教師データを説明する図である。 第1実施形態の情報処理装置により制御される駆動装置の動作例を表す図である。 第1実施形態の情報処理装置における駆動制御の動作例を説明するフローチャートである。 本発明に係る第2実施形態を説明する図である。 本発明に係る第3実施形態の情報処理装置による駆動装置の制御の一例を説明する図である。 第3実施形態の情報処理装置による駆動装置の制御の別の例を説明する図である。 第3実施形態の情報処理装置による駆動装置の制御のさらに別の例を説明する図である。 本発明に係る第4実施形態の情報処理装置の構成を簡略化して表すブロック図である。 第4実施形態の情報処理装置が検知する移動体の一例を表す図である。 移動体の変形例を表す図である。 第4実施形態の情報処理装置における追尾機能の効果を説明する図である。 図14と共に、追尾機能の効果を説明する図である。 第4実施形態の情報処理装置の別の適用例を説明する図である。 本発明に係るその他の実施形態の情報処理装置の構成を簡略化して表すブロック図である。
以下に、本発明に係る実施形態を図面を参照しつつ説明する。
<第1実施形態>
図1は、本発明に係る第1実施形態の情報処理装置の構成を簡略化して表すブロック図である。第1実施形態の情報処理装置1は、撮影装置4と、駆動装置5とに接続されており、撮影装置4により撮影された撮影画像を利用して、駆動装置5の動作を制御する機能を備える。第1実施形態では、駆動装置5は図2に表されているようなロボットアーム10であり、当該ロボットアーム10に備えられているハンド11は物体13を把持することができる機構を備えている。撮影装置4は、ロボットアーム10のハンド11を制御する制御手法により定まる設置位置であって、ロボットアーム10のハンド11における予め定められた作業領域が撮影範囲に含まれる位置に設置されている。情報処理装置1は、撮影装置4による撮影画像を利用して、ロボットアーム10のハンド11の把持動作を制御する。
すなわち、情報処理装置1は、図1に表されているように、制御装置2と記憶装置3を備えている。
記憶装置3は、各種データやコンピュータプログラムを記憶する機能を有し、例えば、ハードディスク装置や半導体メモリ等の記憶媒体により実現される。情報処理装置1に備えられる記憶装置は一つに限定されず、複数種の記憶装置が情報処理装置1に備えられていてもよく、この場合には、複数の記憶装置を総称して記憶装置3と記すものとする。また、情報処理装置1は、当該情報処理装置1とは別体の外付け記憶装置(図示せず)と接続されていてもよい。情報処理装置1が外付け記憶装置に接続されている場合には、情報処理装置1は、適宜、外付け記憶装置に情報を書き込む処理および読み出す処理を実行するが、以下の説明では、外付け記憶装置に係る処理の説明を省略する。
第1実施形態では、記憶装置3には、機械学習により生成された参考データ(辞書やモデルとも称される)が格納されている。この参考データは、撮影画像から予め定められた検知対象を検知する検知処理で利用するデータであり、第1実施形態では、次のような教師データを利用した機械学習により生成される。
第1実施形態では、撮影画像から検知する検知対象は、図2に表されているようなロボットアーム10のハンド11により把持される把持対象の物体13と、当該物体13の重心Mの位置である。この場合、教師データとして、図4に表されるような教師データが参考データの生成に利用される。つまり、図4の例では、教師データとして、検知対象(把持対象の物体13およびその重心Mの位置)の画像を含む基準画像と背景有り画像と部分画像と変形画像が参考データの生成に利用される。
基準画像は、把持対象の物体13の全体画像が含まれていることと、把持対象の物体13における重心Mが画像中心部に位置していることと、把持対象の物体以外の背景の入り込みが抑えられていることとの全ての条件を満たす画像である。背景有り画像は、把持対象の物体13における重心Mが画像中心部に位置し、かつ、把持対象の物体13の全体と、当該把持対象の物体13以外が表されている背景とを含む画像である。部分画像は、把持対象の物体13における重心Mが画像中心部に位置し、かつ、把持対象の物体13の一部分を表す画像である。変形画像は、把持対象の物体13が傾いているというように、基準画像における把持対象の物体13とは姿勢などが異なっている画像である。この変形画像においても、画像中心部に把持対象の物体13における重心Mが位置している。
また、図4の例では、把持対象の物体13はビンであり、内容物の量などによって重心Mの位置が変化する。このことも考慮し、内容物の量が互いに異なる把持対象の物体13のそれぞれについて、上述したような基準画像と背景有り画像と部分画像と変形画像が教師データとして参考データの生成に利用される。
さらに、ロボットアーム10のハンド11が把持する物体として、図2や図4に表されているような物体(ビン)13以外の物体も想定される場合がある。つまり、情報処理装置1における検知処理で検知する検知対象の物体が複数種ある場合がある。このような場合には複数種の検知対象の物体のそれぞれについて上述したような基準画像と背景有り画像と部分画像と変形画像が教師データとして参考データの生成に利用される。図5は、ロボットアーム10のハンド11が把持する別の物体の一例が表されている。図5に表されている把持対象の物体13は、荷物を箱に梱包する際に荷物と箱との間の隙間に挿入される緩衝材である。緩衝材は、外形が変形しやすいことから、参考データの生成に利用される教師データとして、外形が変形しやすいことを考慮した画像が利用される。
上記のような教師データを利用した機械学習によって、撮影画像から検知対象を検知する検知処理で利用する参考データが生成され、生成された参考データが記憶装置3に格納される。なお、参考データを機械学習する手法は教師データ有りの学習手法であれば特に限定されず、その説明は省略する。また、参考データを機械学習により生成する機能は、情報処理装置1に、図1の点線に表されるような学習部24として備えられていてもよいし、別の情報処理装置に備えられていてもよい。
制御装置2は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサにより構成される。制御装置2は、例えばプロセッサが記憶装置3に格納されているコンピュータプログラムを実行することにより、次のような機能を有することができる。すなわち、制御装置2は、機能部として、受信部20と、検知部21と、処理部22とを備えている。
受信部20は、撮影装置4から出力された撮影画像を受信する機能を備える。また、受信部20は、受信した撮影画像を記憶装置3に格納する機能と、検知部21に出力する機能とを備える。なお、記憶装置3に格納される撮影画像には、例えば、当該撮影画像を撮影した撮影装置の識別情報や、撮影日時の情報などが関連付けられている。
検知部21は、記憶装置3に格納されている参考データを利用して、撮影装置4による撮影画像から、予め定められている検知対象を検知する機能を備えている。第1実施形態では、検知対象は、前述したように、ロボットアーム10のハンド11により把持される把持対象の物体13(例えば、図2に示されるようなビンや図5に表されているような緩衝材)と、その重心Mの位置である。換言すれば、検知対象は、処理部22により駆動制御される駆動装置5が力を作用する被作用物体とその重心Mの位置である。なお、機械学習により生成された参考データを利用して、撮影画像から検知対象を検知する手法には様々な手法があり、ここでは、検知対象の物体の種類や、情報処理装置1の性能などを考慮した適宜な手法が検知部21で利用される検知手法として採用される。その説明は省略する。
処理部22は、検知部21により検知された検知対象の情報を利用して、制御対象の駆動装置5(ロボットアーム10)の動作を制御する機能を備えている。第1実施形態では、把持対象の物体13の重心Mの位置に着目している。つまり、処理部22は、ロボットアーム10のハンド11が、図3に表されているように、把持対象の物体13における重心Mを含む部位を把持するように、ロボットアーム10の移動や回転や、ハンド11の開閉を制御する。そのロボットアーム10の移動や回転やハンド11の開閉を制御する手法は、把持対象の物体13における重心Mを含む部位を把持できる制御手法であれば限定されるものではなく、ロボットアーム10やハンド11の機構に応じた適宜な手法が採用される。
なお、処理部22の制御によってロボットアーム10のハンド11が把持対象の物体13を迅速、かつ、正確に把持するためには、把持対象の物体13と、ハンド11との間の距離の情報が必要である。撮影装置4が、距離情報を含む撮影画像を出力するステレオカメラなどの撮影装置である場合には、その距離の情報は、撮影装置4から得ることができる。また、ハンド11と把持対象の物体13との間の距離の情報を検出するセンサ7が例えばハンド11などに設置される場合には、図1に表されるように、センサ7のセンサ出力(距離情報)は受信部20を介して処理部22に取得される。
次に、情報処理装置1における駆動装置5(ロボットアーム10)の制御動作の一例を図6を利用して簡単に説明する。なお、図6は、情報処理装置1における制御装置2の動作を制御する工程を表すフローチャートである。
まず、情報処理装置1の受信部20が撮影装置4から撮影画像を受信すると(ステップS1)、受信した撮影画像から検知部21が予め定められている検知対象(把持対象の物体13とその重心Mの位置)を検知する(ステップS2)。その後、処理部22が、検知部21により検知された情報を利用して、駆動装置5の動作を制御する(ステップS3)。つまり、処理部22は、ハンド11が把持対象の物体13における重心Mを含む部位を把持するようにロボットアーム10の動作を制御する。
第1実施形態の情報処理装置1は上記のような制御構成を備えている。これにより、情報処理装置1は次のような効果を得ることができる。
すなわち、情報処理装置1は、撮影画像から把持対象の物体13の重心Mの位置を検知する構成を備えている。物体を単に撮影した撮影画像には、重心の位置の情報(換言すれば、重さに関する情報)は含まれない。第1実施形態では、重心Mの位置を撮影画像から検出すべく機械学習した学習結果による参考データを利用することにより、検知部21は把持対象の物体13における重心Mの位置を撮影画像から検知できる。これにより、大きさを測定するセンサなどのセンサ出力を用いることなく、重心Mの位置を算出する演算を行うことなく、情報処理装置1の検知部21は、撮影画像から簡単に把持対象の物体13における重心Mの位置を検知できる。つまり、検知部21は、換言すれば、ロボットアーム10を制御するために利用する情報を検知する機能を有する。検知部21は、その制御に利用する情報を検知するために、1つあるいは複数のセンサからセンサ出力を取得することなく、かつ、センサ出力を利用した例えば物体13の寸法を算出する処理や物体13の形状を算出する処理等の複数の処理を行わなくすむ。これにより、情報処理装置1は、処理(換言すれば、制御構成)の簡素化を図ることができる。
また、情報処理装置1は、そのように検知した物体13における重心Mを含む部位をハンド11が把持するようにロボットアーム10を制御する制御構成を備えている。これにより、情報処理装置1により制御されるロボットアーム10は、物体13の重心Mを含む部位(つまり、安定して物体を把持し保持できる位置)を把持することとなり、物体13の他の部位を把持する場合に比べて、物体把持の安定性を高めることができる。つまり、情報処理装置1は、ロボットアーム10の動作制御に対する信頼性を高めることができる。
また、液体が入っているビンやペットボトルなどの容器や、米や砂や粉などが入っている袋においては、同じ容器や袋であっても、内容物の増減変化や、体勢変化(つまり、内容物の偏り状態の変化)によって、重心の位置が変化する。物体における重心を含む部位は物体を安定的に把持し保持できる部位であることから、重心の位置が変化すると、物体における把持に適切な部位の位置も変化してしまう。このような事態を考慮した多くのバリエーションの教師データによって、撮影画像から重心の位置を検知する参考データを生成し利用することにより、情報処理装置1は、内容物の量や偏り状態に応じた容器や袋の重心の位置を簡単に検知できる。
例えば、透明あるいは半透明の容器や袋であれば撮影画像から内容物の量や偏り状態を検知可能であることから、内容物の量や偏り状態に応じた容器や袋の重心の位置は撮影画像から取得可能である。また、内容物の量や偏り状態によって外形が変化する袋においては、袋の大きさ、体勢(姿勢)および膨らみ具合などの外形から得られる複数の情報に基づいて、内容物の量や偏り状態に応じた袋の重心の位置は撮影画像から取得可能な場合もある。このように撮影画像から重心の位置を取得可能である場合には、重心の位置の情報を付与した多数の把持対象の物体の撮影画像を教師データとした機械学習によって、撮影画像から重心の位置を検知する参考データが生成される。このように生成された参考データを利用することによって、情報処理装置1は、内容物の量や偏り状態に応じた容器や袋の重心の位置を検知できる。このため、情報処理装置1は、内容物の量や偏り状態に応じた容器や袋の重心の位置を容易に検知でき、重心の位置が変化しても、その変化の悪影響を受けずに、安定的に把持できる部位で容器や袋を把持できる。これにより、情報処理装置1は、ロボットアーム10の動作制御に対する信頼性をより高めることができる。
<第2実施形態>
以下に、本発明に係る第2実施形態を説明する。なお、第2実施形態の説明において、第1実施形態の情報処理装置を構成する構成部分と同一名称部分には同一符号を付し、その共通部分の重複説明は省略する。
第2実施形態では、検知部21が撮影画像から検知する検知対象は、把持対象の物体13とその重心Mの位置に加えて、処理部22により制御される駆動装置5(ロボットアーム10)に係る制御注目点である。具体的には、第2実施形態では、制御注目点は、図7に表されるようなロボットアーム10のハンド11により画定される空間領域(ハンド11により囲まれている領域であってハンド11の駆動により位置が変化する領域)Kの中心部Nである。
このような制御注目点Nを撮影画像から検知すべく機械学習により生成された参考データが記憶装置3に格納される。つまり、制御注目点Nを検知する処理で利用される参考データは、制御注目点Nの位置の情報が付与されたハンド11の様々な撮影画像を教師データとした機械学習により生成される。
第2実施形態では、情報処理装置1の検知部21は、把持対象の物体13およびその重心Mの位置を第1実施形態と同様に撮影画像から検知すると共に、制御注目点Nを検知する機能をも備えている。
処理部22は、ハンド11における制御注目点Nが、把持対象の物体13における重心Mの位置に一致する方向に、ロボットアーム10のハンド11を移動制御し、ハンド11により把持対象の物体13を把持させるべくロボットアーム10を制御する。
第2実施形態における情報処理装置1の上記以外の構成は、第1実施形態の情報処理装置1の構成と同様である。
第2実施形態の情報処理装置1は、第1実施形態と同様の構成を備えている。これにより、第1実施形態と同様の効果を得ることができる。さらに、第2実施形態の情報処理装置1は、ハンド11の制御注目点Nを撮影画像から検知し、ハンド11の制御注目点Nが把持対象の物体13の重心Mの位置と一致する方向に、ロボットアーム10の移動を制御する。これにより、情報処理装置1は、安定的に把持できる部位で把持対象の物体13をハンド11によって把持させる制御に対する信頼性を高めることができる。なお、制御注目点は、処理部22による制御対象の駆動装置の駆動により位置が変化する領域内であれば、処理部22が制御する駆動装置の構成に応じて適宜に空間領域や装置の部分領域に設定してよく、第2実施形態で述べた例に限定されない。
<第3実施形態>
以下に、本発明に係る第3実施形態を説明する。なお、第3実施形態の説明において、第1や第2の実施形態の情報処理装置を構成する構成部分と同一名称部分には同一符号を付し、その共通部分の重複説明は省略する。
第3実施形態では、図8に表されているように、処理部22により制御される駆動装置5は、2本のロボットアーム10を備えている。検知部21は、第2実施形態と同様に、撮影画像から、把持対象の物体13とその重心Mの位置を検知すると共に、ハンド11の制御注目点Nを検知する。第3実施形態では、ロボットアーム10が2本であることから、各ロボットアーム10について、ハンド11の制御注目点Nを検知する。
第3実施形態では、処理部22は、図8のように、2本のロボットアーム10におけるハンド11の制御注目点Nと、把持対象の物体13における重心Mの位置とが同じ仮想直線上に、互いに間隔を介して位置するように、各ロボットアーム10を制御する。さらに、処理部22は、そのような配置状態から、ハンド11の制御注目点Nが把持対象の物体13における重心Mにむかう方向に各ロボットアーム10を移動制御してハンド11が物体13を把持するようにロボットアーム10を制御する。
第3実施形態における情報処理装置1の上記以外の構成は、第2実施形態の情報処理装置1の構成と同様である。
第3実施形態の情報処理装置1は、第1や第2の実施形態と同様の効果を得ることができる。さらに、情報処理装置1は、各ハンド11の制御注目点Nと把持対象の物体13における重心Mとが同じ仮想直線上に配置された状態を維持しつつ把持対象の物体13の両側からハンド11が物体13を把持するようにロボットアーム10を制御する。このような情報処理装置1によるロボットアーム10の制御は、把持対象の物体13の把持の安定性を高めることができる。ロボットアーム10に対する把持対象の物体13の向きが図9や図10のような状態であっても、上記のような検知部21や処理部22の機能によって、情報処理装置1は、把持対象の物体13をロボットアーム10のハンド11により把持させることができる。
<第4実施形態>
以下に、本発明に係る第4実施形態を説明する。なお、第4実施形態の説明において、第1~第3の実施形態の情報処理装置を構成する構成部分と同一名称部分には同一符号を付し、その共通部分の重複説明は省略する。
図11は、第4実施形態の情報処理装置の構成を簡略化して表すブロック図である。第4実施形態の情報処理装置1が制御する駆動装置5は、例えば、畑などを荒らす害獣を追い払う機能を備えた装置(害獣に向けて放水する装置や、音を発する装置や、光を照射する照射装置など)である。あるいは、駆動装置5は、養殖している生簀の魚に向けて餌をまく装置である。撮影装置4は、駆動装置5の駆動制御に必要な予め定めた領域(害獣から保護したい監視領域や、生簀の水面領域など)を撮影できるように設置される。
また、制御装置2における検知部21が検知する検知対象は、図12に表されるような移動体14である生き物とその重心Mの位置である。図13に表されるように、生き物は体勢が様々に変化する。このことから、そのような体勢変化を考慮した教師データ(第1実施形態で述べたような基準画像と背景有り画像と部分画像と変形画像の教師データ)によって移動体14とその重心Mの位置を検知する処理で利用する参考データが生成される。このように生成された参考データが情報処理装置1の記憶装置3に格納され、当該参考データを利用して、検知部21は、検知対象の移動体14を撮影画像から検知する。
第4実施形態では、制御装置2は、受信部20と検知部21と処理部22に加えて、追尾部25を備えている。追尾部25は、連続的あるいは間欠的に撮影された複数の撮影画像において、検知部21により検知された検知対象を追尾する機能を備えている。追尾手法には様々な手法があり、追尾部25が利用する追尾手法は限定されないが、例えば、カルマンフィルタやパーティクルフィルタを利用した手法や、予め与えられた追尾用ルールを利用する手法がある。追尾用ルールを利用する手法では、例えば、追尾用ルールの一つとして、次のようなルールが与えられる。そのルールとは、検知処理が行われた撮影画像とその次の時点での検知処理の撮影画像との比較において、検知された検知対象の重心Mの変位距離が設定値以下であって離れすぎていないことというルールである。その設定値は、例えば、検知対象の生き物の種類などを考慮して想定される移動速度に基づいて設定される。また、追尾用ルールとして、生き物の移動方向が合っていることというルールも与えられる。生き物の移動方向の検知は、例えば、生き物の頭の画像と、機械学習により取得された移動方向検知用データとを利用して行われる。その機械学習では、生き物の移動方向の情報が付与された生き物の頭の画像が教師データとして用いられ、このような教師データに基づき移動方向検知用データが生成される。追尾用ルールを利用する手法では、撮影時点が異なる複数の撮影画像から、上記のような追尾用ルールを利用して同じ生き物である確率の高い生き物を検知(選択)していくことによって、生き物を追尾する。
処理部22は、検知部21により検知され、かつ、追尾部25により追尾された生き物の情報に基づき、制御対象の駆動装置5の駆動(例えばモータや電磁弁の動作)を制御する。駆動装置5の駆動制御の手法は、駆動装置5の種類に応じた手法であり、適宜な手法が採用される。ここでは、その説明は省略するが、例えば、処理部22は、追尾部25による追尾の情報により得られる直近の移動方向と予め定めた単位時間当たりの移動量を利用して、制御時点での移動体14の位置と移動方向を予測して駆動装置5を制御してもよい。
第4実施形態における情報処理装置1の上記以外の構成は、第1~第3実施形態の情報処理装置1の構成と同様である。
第4実施形態の情報処理装置1は上記のように構成されている。つまり、情報処理装置1は、撮影画像から、駆動装置5が作用する移動体14の重心Mの位置を検知し、当該重心Mの位置の情報を利用して、駆動装置5の動作を制御可能な構成を備えている。これにより、移動体14の輪郭や頭部の位置を利用して駆動装置5が制御される場合に比べて、駆動装置5(放水装置)は、移動体14(害獣)への水の的中率を高めることができる。つまり、情報処理装置1は、駆動装置5による移動体14への作用の正確さを高めることができる。
また、第4実施形態の情報処理装置1は追尾部25を備えている。このため、駆動装置5が作用する物体が移動体14であっても、情報処理装置1は、時々刻々と移動する移動体14に駆動装置5が正確に作用するように、移動体14の移動を考慮した駆動装置5の制御が可能である。
さらに、情報処理装置1は追尾部25を備えていることにより、次のような効果も得ることができる。情報処理装置1は、例えば、図14に表されるような撮影画像から移動体14を検知した後の撮影画像において、図15に表されるように、検知した移動体14と、同様な移動体とが撮影されたとしても、検知した移動体14を引き続き、継続して検知できる。これにより、駆動装置5により作用する対象が頻繁に代わってしまう事態を防止でき、情報処理装置1は、駆動装置5の安定した制御を行うことができる。
なお、第4実施形態の情報処理装置1は、次のような駆動装置の駆動制御にも適用可能である。例えば、上述した例では、撮影装置4は固定されている。これに代えて、図16に表されるような駆動装置5であるアームに撮影装置4が取り付けられ、駆動装置5(アーム)の駆動により、撮影装置4はその撮影範囲を変位させることが可能であるとする。また、撮影装置4は、作業員16の手の作業範囲を撮影することが設定されているとする。検知部21は、作業員16の移動体である手14とその手14の重心の位置を検知する機能を備える。作業員16の手14とその手の重心の位置を検知するために、前述したと同様な基準画像と背景有り画像と部分画像と変形画像による教師データを利用した機械学習により参考データが生成され記憶装置3に格納される。この参考データを利用して、検知部21は検知処理を実行する。追尾部25は、作業員16の手元を追尾する。処理部22は、検知部21と追尾部25による情報を利用して、作業員16の手元の動き(換言すれば、作業の状況)に追従して撮影装置4の撮影範囲を変位するように駆動装置5(撮影装置4が取り付けられているアーム)の動作を制御する。このような場合にも、情報処理装置1は、前記同様の効果を得ることができる。
さらに、第4実施形態の情報処理装置1の別の適用例として、撮影装置4と情報処理装置1が、自走機能を持つ駆動装置5としてのロボットに搭載されていてもよい。この場合には、例えば、検知部21が検知対象の移動体とその重心の位置を検知し、追尾部25がその検知対象の移動体を追尾する。処理部22は、その移動体の移動に応じて、情報処理装置1が搭載されているロボットが移動するように(換言すれば、移動体に追従するように)ロボットの駆動装置5としての移動機構の動作を制御する。また、撮影装置4の向きを変更する機構を備えている場合には、処理部22は、移動体の移動に応じて例えば移動体が撮影画像の中心に位置するように撮影装置4の向きを変更する駆動装置5としての機構を制御してもよい。
さらにまた、上述したロボットに情報処理装置1を搭載する例において、検知部21が検知する検知対象は移動体である例を説明している。これに代えて、検知対象は、例えば、ロボットが向かう目的地点を表す固定の目印などであってもよい。ロボットの移動により撮影装置4の撮影範囲が変位し、検知対象が移動していないのにも拘わらず、撮影画像における検知対象の位置が変化することが考えられる。このような場合にも、第4実施形態の情報処理装置1は、追尾部25の機能により、検知対象を継続して検知できる。
さらにまた、検知対象として、第2や第3の実施形態において説明したような駆動装置5における制御注目点Nが検知部21により検知される場合には、追尾部25は、その制御注目点Nも追尾してよい。また、処理部22は、その制御注目点Nの追尾結果をも含めた情報を利用して駆動装置5を制御してもよい。
<その他の実施形態>
なお、本発明は第1~第4の実施形態に限定されずに様々な実施形態を採り得る。例えば、第1~第4の実施形態の情報処理装置1は、検知部21により検知された検知対象を表す情報を撮影画像に重畳して表示すべく表示装置(図示せず)を制御する表示制御部(図示せず)が備えられていてもよい。また、その表示制御部は、第4実施形態における追尾部25による追尾結果を表示するように表示装置を制御してもよい。
図17は、本発明に係るその他の実施形態の情報処理装置を簡略化して表すブロック図である。この情報処理装置30は、検知部31と処理部32を備える。検知部31は、撮影画像における物体の重心の位置を含む検知対象を機械学習した学習結果である参考データを利用して、撮影画像から検知対象を検知する機能を備える。処理部32は、検知部31の検知結果を利用して、検知部31により検知される重心を持つ物体に作用する制御対象の駆動装置を制御する機能を備える。このような情報処理装置30は、例えば、第1実施形態における情報処理装置1と同様にプロセッサにより実現される。
情報処理装置30は、検知部31の機能により、撮影画像から物体の重心の位置を検知するので、簡単に重心の位置を検知できる。つまり、検知部31は、換言すれば、駆動装置を制御するために利用する情報を検知する機能を有する。検知部31は、その制御に利用する情報を検知するために、例えば、センサ出力を取得しなくとも、かつ、取得したセンサ出力を利用した寸法算出処理等の複数の処理を行うことなく、制御に利用する情報を検知できる。これにより、情報処理装置30は、駆動装置を制御する制御構成の簡素化を図ることができる。さらに、情報処理装置30は、その物体の重心の位置を利用して駆動装置を制御することにより、駆動装置の例えば把持動作の失敗などを削減することができ、駆動装置の制御に対する信頼性を高めることができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2019年3月13日に出願された日本出願特願2019-46023を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1,30 情報処理装置
4 撮影装置
5 駆動装置
21,31 検知部
22,32 処理部

Claims (7)

  1. 容器、袋、又は生き物である物体の画像およびその物体の重心の位置を表す情報が含まれている画像を教師データとして機械学習することにより生成された参考データを利用して、撮影画像から容器、袋、又は生き物である検知対象の物体およびその重心の位置を検知する検知手段と、
    前記検知手段の検知結果を利用して、前記検知対象の物体に作用する制御対象の駆動装置を制御する処理手段と
    を備え、
    前記教師データには、容器、袋、又は生き物である物体を撮影した画像であって当該物体の外形と内容物の状態とのうちの画像に映し出されている少なくとも一方が互いに異なる複数のバリエーションの物をそれぞれ撮影した画像が含まれており、かつ、前記教師データに含まれる画像には、当該画像に映し出される物体の外又は内容物の状態の変化によって変化する当該物体の重心の位置を表す情報が含まれており、
    前記検知手段は、前記参考データを利用して、前記検知対象の物体および当該物体の外形と内容物の状態とのうちの撮影画像に映し出されている少なくとも外形に応じた当該物体の重心の位置を撮影画像から検知する情報処理装置。
  2. 前記検知手段の検知結果を利用して前記検知対象を追尾する追尾手段をさらに備える請求項1に記載の情報処理装置。
  3. 前記検知対象は、前記駆動装置の駆動により位置が変化する領域において予め定められた制御注目点をも含み、前記検知手段は、撮影画像から、前記物体の重心の位置に加えて、前記制御注目点をも検知する請求項1又は請求項2に記載の情報処理装置。
  4. 前記処理手段は、前記検知手段により検知された前記物体の重心の位置と、前記駆動装置である把持機能を持つ装置における前記制御注目点とが同じ仮想直線上に配置されている状態から、前記制御注目点が前記物体の重心の位置に近付く方向に移動し前記物体を把持するように前記駆動装置を制御する請求項3に記載の情報処理装置。
  5. 械学習により前記参考データを生成する学習手段をさらに備える請求項1乃至請求項4の何れか一つに記載の情報処理装置。
  6. 容器、袋、又は生き物である物体の画像およびその物体の重心の位置を表す情報が含まれている画像を教師データとして機械学習することにより生成された参考データを利用して、撮影画像から容器、袋、又は生き物である検知対象の物体およびその重心の位置を検知する場合に、前記教師データには、容器、袋、又は生き物である物体を撮影した画像であって当該物体の外形と内容物の状態とのうちの画像に映し出されている少なくとも一方が互いに異なる複数のバリエーションの物をそれぞれ撮影した画像が含まれており、かつ、前記教師データに含まれる画像には、当該画像に映し出される物体の外又は内容物の状態の変化によって変化する当該物体の重心の位置を表す情報が含まれており、当該教師データを用いて機械学習することにより生成された前記参考データを利用して、前記検知対象の物体および当該物体の外形と内容物の状態とのうちの撮影画像に映し出されている少なくとも外形に応じた当該物体の重心の位置を撮影画像から検知し、
    その検知の結果を利用して、前記物体に作用する制御対象の駆動装置を制御する駆動制御方法。
  7. 容器、袋、又は生き物である物体の画像およびその物体の重心の位置を表す情報が含まれている画像を教師データとして機械学習することにより生成された参考データを利用して、撮影画像から容器、袋、又は生き物である検知対象の物体およびその重心の位置を検知する場合に、前記教師データには、容器、袋、又は生き物である物体を撮影した画像であって当該物体の外形と内容物の状態とのうちの画像に映し出されている少なくとも一方が互いに異なる複数のバリエーションの物をそれぞれ撮影した画像が含まれており、かつ、前記教師データに含まれる画像には、当該画像に映し出される物体の外又は内容物の状態の変化によって変化する当該物体の重心の位置を表す情報が含まれており、当該教師データを用いて機械学習することにより生成された前記参考データを利用して、前記検知対象の物体および当該物体の外形と内容物の状態とのうちの撮影画像に映し出されている少なくとも外形に応じた当該物体の重心の位置を撮影画像から検知する処理と、
    その検知の結果を利用して、前記物体に作用する制御対象の駆動装置を制御する処理と
    をコンピュータに実行させるコンピュータプログラム。
JP2021504864A 2019-03-13 2020-02-19 情報処理装置、駆動制御方法およびコンピュータプログラム Active JP7384898B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019046023 2019-03-13
JP2019046023 2019-03-13
PCT/JP2020/006430 WO2020184101A1 (ja) 2019-03-13 2020-02-19 情報処理装置、駆動制御方法およびプログラム記憶媒体

Publications (2)

Publication Number Publication Date
JPWO2020184101A1 JPWO2020184101A1 (ja) 2021-10-21
JP7384898B2 true JP7384898B2 (ja) 2023-11-21

Family

ID=72427311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021504864A Active JP7384898B2 (ja) 2019-03-13 2020-02-19 情報処理装置、駆動制御方法およびコンピュータプログラム

Country Status (2)

Country Link
JP (1) JP7384898B2 (ja)
WO (1) WO2020184101A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013191163A (ja) 2012-03-15 2013-09-26 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
JP5318345B2 (ja) 2006-01-30 2013-10-16 ゼネラル・エレクトリック・カンパニイ 固体酸化物電気化学デバイスを製造する方法および固体酸化物電気化学デバイス
JP2016107349A (ja) 2014-12-02 2016-06-20 ファナック株式会社 ロボットを用いて物品を移送する物品移送装置及び物品移送方法
WO2017183414A1 (ja) 2016-04-22 2017-10-26 三菱電機株式会社 物体操作装置及び物体操作方法
JP2018161692A (ja) 2017-03-24 2018-10-18 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3153622B2 (ja) * 1992-05-18 2001-04-09 株式会社日立製作所 ワーク搬送用のロボット
JP6474179B2 (ja) * 2017-07-30 2019-02-27 国立大学法人 奈良先端科学技術大学院大学 学習データセット作製方法、並びに、物体認識及び位置姿勢推定方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5318345B2 (ja) 2006-01-30 2013-10-16 ゼネラル・エレクトリック・カンパニイ 固体酸化物電気化学デバイスを製造する方法および固体酸化物電気化学デバイス
JP2013191163A (ja) 2012-03-15 2013-09-26 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
JP2016107349A (ja) 2014-12-02 2016-06-20 ファナック株式会社 ロボットを用いて物品を移送する物品移送装置及び物品移送方法
WO2017183414A1 (ja) 2016-04-22 2017-10-26 三菱電機株式会社 物体操作装置及び物体操作方法
JP2018161692A (ja) 2017-03-24 2018-10-18 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
US20220055226A1 (en) 2022-02-24
JPWO2020184101A1 (ja) 2021-10-21
WO2020184101A1 (ja) 2020-09-17

Similar Documents

Publication Publication Date Title
US10639792B2 (en) Deep machine learning methods and apparatus for robotic grasping
US10946515B2 (en) Deep machine learning methods and apparatus for robotic grasping
Marturi et al. Dynamic grasp and trajectory planning for moving objects
Tebbe et al. A table tennis robot system using an industrial kuka robot arm
US10166676B1 (en) Kinesthetic teaching of grasp parameters for grasping of objects by a grasping end effector of a robot
CN110914024B (zh) 路径输出方法、路径输出***和路径输出程序
JP6931457B2 (ja) モーション生成方法、モーション生成装置、システム及びコンピュータプログラム
WO2021065196A1 (en) Method and system for trajectory optimization for nonlinear robotic systems with geometric constraints
US20180029226A1 (en) Skill transfer from a person to a robot
US20070299559A1 (en) Evaluating Visual Proto-objects for Robot Interaction
JP2008055584A (ja) 物体把持を行うロボット及びロボットによる物体の把持方法
Zwiener et al. Contact point localization for articulated manipulators with proprioceptive sensors and machine learning
Mseddi et al. YOLOv5 based visual localization for autonomous vehicles
Lv et al. Sliding Mode Control of Cable‐Driven Redundancy Parallel Robot with 6 DOF Based on Cable‐Length Sensor Feedback
Reiner et al. Lat: A simple learning from demonstration method
Wu et al. End-to-end sensorimotor control problems of auvs with deep reinforcement learning
Du et al. A novel human–manipulators interface using hybrid sensors with Kalman filter and particle filter
JP5679121B2 (ja) ロボットの運動予測制御方法と装置
JP7384898B2 (ja) 情報処理装置、駆動制御方法およびコンピュータプログラム
US12030175B2 (en) Information processing device, driving control method, and program-recording medium
Averta Learning to prevent grasp failure with soft hands: From on-line prediction to dual-arm grasp recovery
Dimmig et al. A Small Form Factor Aerial Research Vehicle for Pick-and-Place Tasks with Onboard Real-Time Object Detection and Visual Odometry
Du et al. Human‐Manipulator Interface Using Particle Filter
WO2024122516A1 (ja) ロボットの制御システム、ロボットハンド、ロボットの制御プログラム、情報管理プログラム、及び情報処理プログラム
CN117961888A (zh) 一种基于强化学习控制的人形机器人物体抓取方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210611

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210611

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20211112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220603

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221122

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20221122

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20221129

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20221206

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20230203

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20230207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231109

R151 Written notification of patent or utility model registration

Ref document number: 7384898

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151