JP7282703B2 - ロボットシステムおよびプログラム - Google Patents

ロボットシステムおよびプログラム Download PDF

Info

Publication number
JP7282703B2
JP7282703B2 JP2020020644A JP2020020644A JP7282703B2 JP 7282703 B2 JP7282703 B2 JP 7282703B2 JP 2020020644 A JP2020020644 A JP 2020020644A JP 2020020644 A JP2020020644 A JP 2020020644A JP 7282703 B2 JP7282703 B2 JP 7282703B2
Authority
JP
Japan
Prior art keywords
finger
robot
motion information
gripping
fingers
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
JP2020020644A
Other languages
English (en)
Other versions
JP2021126706A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2020020644A priority Critical patent/JP7282703B2/ja
Priority to US17/005,361 priority patent/US11820023B2/en
Publication of JP2021126706A publication Critical patent/JP2021126706A/ja
Application granted granted Critical
Publication of JP7282703B2 publication Critical patent/JP7282703B2/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/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • 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/081Touching devices, e.g. pressure-sensitive
    • 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
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/08Gripping heads and other end effectors having finger members
    • 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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • 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/39486Fingered hand, multifingered hand
    • 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/40609Camera to monitor end effector as well as object to be handled

Description

本発明の実施形態は、ロボットシステムおよびプログラムに関する。
工場および物流センターなどで、部品および商品などの把持対象物を、ロボットが段ボール箱および棚などの中から取り出す場合がある。把持対象物がある程度大きく、平面を有する構造であれば、ロボットハンドに設けられた吸盤により把持対象物を吸着することにより取り出すことができる。また、把持対象物がボルトなどのような円筒物体であり、バラ積み状態であれば、ロボットハンドの2つの指を用いて把持対象物を挟むことにより把持することができる。
特開2014-205209号公報 国際公開第2019/107454号
しかしながら、従来技術では、把持対象物を適切に把持できない状況が生じる場合があった。例えば、把持対象物の平面部分が小さく、かつ、複数の把持対象物が隙間なく置かれている場合、または、複数の把持対象物が倒れて重なっているような場合には、次に把持の対象とする把持対象物のみを吸盤により吸着することができない。また、このような場合には、ロボットハンドの2つの指を複数の把持対象物の間の隙間に入れて把持することもできない。
実施形態のロボットシステムは、対象物を把持するための複数の指を備えるロボットと、ロボットの動作を制御する制御装置と、を備える。制御装置は、画像取得部と、制御部と、を備える。画像取得部は、撮像装置により撮像された第1対象物および第2対象物の画像を取得する。制御部は、画像に基づいて、第1対象物と第2対象物との間に隙間を開ける方向に第1対象物を指により移動させ、隙間に指を挿入して第1対象物を把持するようにロボットの動作を制御する。
第1の実施形態にかかるロボットシステムのブロック図。 ロボットの構成例を示す図。 モータの構成例を示す図。 伸縮機構の動作を説明するための図。 伸縮機構の動作を説明するための図。 指および伸縮機構の動作を説明するための図。 指および伸縮機構の動作を説明するための図。 第1の実施形態における学習処理のフローチャート。 第1の実施形態における制御処理のフローチャート。 第3指が設けられていない場合の把持動作の例を示す図。 第3指が設けられている場合の把持動作の例を示す図。 把持対象物を把持して他の容器に移す動作を説明する図。 把持対象物を把持して他の容器に移す動作を説明する図。 把持対象物を把持して他の容器に移す動作を説明する図。 把持対象物を把持して他の容器に移す動作を説明する図。 把持対象物を把持して他の容器に移す動作を説明する図。 把持対象物を把持して他の容器に移す動作を説明する図。 把持対象物を把持して他の容器に移す動作を説明する図。 把持対象物を把持して他の容器に移す動作を説明する図。 把持対象物を把持して他の容器に移す動作を説明する図。 把持対象物を把持して他の容器に移す動作を説明する図。 把持対象物を把持して他の容器に移す動作を説明する図。 把持対象物を把持して他の容器に移す動作を説明する図。 把持対象物を把持して他の容器に移す動作を説明する図。 把持対象物を把持して他の容器に移す動作を説明する図。 ロボットの動作情報を求めるためのモデルの構成例を示す図。 VAEおよびLSTMの構成例を示す図。 関節角の分布の例を示す図。 ガウス分布の重ね合わせで表現された分布の例を示す図。 MDNへの入力と出力との対応の例を示す図。 第2の実施形態のロボットのハンドの構成例を示す図。 第2の実施形態のロボットのハンドの構成例を示す図。 第2の実施形態のロボットのハンドの構成例を示す図。 第3の実施形態のロボットのハンドの構成例を示す図。 第1から第3の実施形態にかかる制御装置のハードウェア構成図。
以下に添付図面を参照して、この発明にかかるロボットシステムの好適な実施形態を詳細に説明する。
(第1の実施形態)
第1の実施形態にかかるロボットシステムは、把持対象物を把持するための指(第1指、第2指)の他に設けられる指(第3指)を用いて、第1指および第2指により把持可能な位置に把持対象物を移動(傾斜、並進(スライド)、および、回転など)させる。
例えば把持対象物と他の物体との間に隙間がない場合は、第3指により把持対象物を移動させて他の物体との間に隙間を生じさせ、隙間に第1指または第2指を挿入することにより、把持対象物を把持可能とする。また、複数の把持対象物が倒れて重なっているような場合(複数の把持対象物が将棋倒しとなっている場合など)は、第3指により把持対象物を起こすように移動させる。また、本実施形態のロボットシステムは、ロボットの動作シーケンスを求めるためのモデル(ニューラルネットワークなど)を、上記のような動作を可能とするように学習させる機能を有する。
このような構成により、ロボットによる把持が困難となり人手による把持が必要となるような状況の発生を回避可能となる。この結果、例えば工場および物流センターなどでの把持対象物の把持作業(ピッキング作業)の自動化が大きく前進する。
また本実施形態では、第3指を独立に動作させるアクチュエータ(モータ等)は備える必要がなく、例えば、第1指および第2指と共通のアクチュエータにより第3指を移動させることができる。従って、より簡易な構成で上記のような動作を実現可能となる。
なお本実施形態では、2つの指(第1指、第2指)を用いて挟むこと(挟持)により把持対象物を把持する。把持は、例えば把持対象物を吸盤により吸着することを含む。吸盤を用いる例は第2の実施形態で説明する。
図1は、第1の実施形態にかかるロボットシステムの全体構成の一例を示すブロック図である。図1に示すように、ロボットシステムは、制御装置100と、2つのロボット200M、200Sと、カメラ300と、を備えている。
各装置(制御装置100、ロボット200M、200S、および、カメラ300)は、例えばLAN(ローカルエリアネットワーク)およびインターネットなどのネットワークにより接続される。ネットワークは、有線であっても無線であってもよい。ネットワークの代わりに、または、ネットワークとともに、専用線により各装置が接続されてもよい。
ロボット200Mおよびロボット200Sは、それぞれマスタおよびスレイブとして動作するロボットであり、同様の構成を備える。ロボット200M、200Sを区別する必要がない場合は、単にロボット200という場合がある。
カメラ300は、ロボット200(図1ではロボット200S)が把持対象物400を把持する動作を撮像するための撮像装置の一例である。カメラ300は、ロボット200に搭載されていてもよい。
制御装置100は、ロボット200の動作を制御する装置である。例えばユーザがロボット200Mを操作すると、制御装置100は、ロボット200Mと同じ動作となるようにロボット200Sを制御する。ロボット200M、200Sは、例えば模倣学習によりロボットの動作を学習させるために利用することができる。模倣学習では、例えばユーザの操作に応じたロボット200Mの動作を模倣するように、ロボット200Sの動作が学習される。模倣学習のときにはロボット200M、200Sの両方が必要となるが、例えば学習結果を用いて動作させる場合(学習後)は、動作させる少なくとも1つのロボット200(図1ではロボット200S)が備えられればよい。
制御装置100は、記憶部121と、画像取得部101と、動作情報取得部102と、制御部103と、学習部104と、を備えている。
記憶部121は、制御装置100内の各種処理で用いられる各種情報を記憶する。例えば記憶部121は、画像取得部101により取得された画像、動作情報取得部102により取得された動作情報、および、学習対象となるニューラルネットワークを示す情報(重みなどのニューラルネットワークのパラメータなど)を記憶する。記憶部121は、フラッシュメモリ、メモリカード、RAM(Random Access Memory)、HDD(Hard Disk Drive)、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
画像取得部101は、カメラ300により撮像された画像を取得する。例えば画像取得部101は、ロボット200が把持対象物400を把持する動作を撮像した時系列画像を取得する。取得された画像は、例えば記憶部121に逐次記憶される。
動作情報取得部102は、ロボット200の動作状態を示す動作情報を取得する。動作情報は、例えばロボット200が備えるアームの関節角などを含む。図1に示すように、学習時には、動作情報取得部102は、マスタであるロボット200Mの動作情報を取得する。学習結果を用いた動作時(学習後)には、動作情報取得部102は、動作させているロボット200の動作情報を取得する。
制御部103は、ロボット200の動作を制御する。例えば学習時には、制御部103は、動作情報取得部102により取得されたロボット200Mの動作情報を参照し、この動作情報が示す動作状態となるようにロボット200Sを動作させる。学習結果を用いた動作時(学習後)には、制御部103は、学習されたニューラルネットワークを用いて求められる動作情報が示す動作情報となるようにロボット200を動作させる。
学習部104は、ニューラルネットワークを学習する。ニューラルネットワークは、把持対象物の画像に基づく入力情報を入力してロボット200の動作情報を出力するモデルの一例である。画像に基づく入力情報は、カメラ300により撮像された画像自体であってもよいし、撮像された画像を圧縮した画像情報(画像の特徴を示す情報など)であってもよい。例えば学習部104は、画像取得部101により取得された画像をニューラルネットワークに入力し、ニューラルネットワークの出力する動作情報と、動作情報取得部102により取得されたロボット200Mの動作情報(正解データに相当)との誤差が小さくなるように、ニューラルネットワークのパラメータ(重みなど)を学習する。ニューラルネットワークの構成例、学習方法の例については後述する。
上記各部(画像取得部101、動作情報取得部102、制御部103、および、学習部104)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
上記各部は、相互に異なる装置に備えられてもよい。例えば学習に必要な機能(学習部104など)と、その他の機能とが、相互に異なる2つの装置に分散して備えられてもよい。
次に、ロボット200の構成例について説明する。図2は、ロボット200の構成例を示す図である。図2のロボット200は、5個の関節を備える多関節ロボットの例である。関節数は5に限られるものではない。
ロボット200は、筐体201と、いずれかの関節を介して互いに可動に連結された複数のアーム211~214と、支持部材202と、複数の指221、222、223と、を備えている。指221は、ベース部221aと、伸縮機構221bと、端部221cと、を含む。指222は、ベース部222aと、伸縮機構222bと、端部222cと、を含む。矢印231~235は、5個の関節の動作方向を示す。5個の関節の関節角は、動作情報の一例であり、例えば動作情報取得部102により取得されて記憶部121に記憶される。
図1の「関節角01~05」は、このようにして記憶される動作情報としての5個の関節の関節角を示している。なお図1に示すように、動作情報は、対応する時刻に撮像された画像と関連づけて記憶されてもよい。
複数のアーム211~214は、直列に連結されている。アーム214の先端には、支持部材202と、複数の指221、222、223と、が備えられる。支持部材202は、指221、222、223を支持する。指221、222、223は、それぞれ第1指、第2指、および、第3指に相当する。
伸縮機構221b、222bは、支持部材202に対して伸びる方向(伸長)および縮む方向(縮退)に端部221c、222cを伸縮させる。伸縮機構221b、222bは、指221および指222を支持部材202に対して相対的に移動させる移動部材に相当する。支持部材202、および、指221、222、223は、アーム214の先端に備えられるハンドを構成すると解釈することができる。
アーム211~214およびハンド(支持部材202、指221、222、223)は、可動部材の一例である。各可動部材の位置および姿勢は、各可動部材を駆動するアクチュエータ(駆動部)の作動によって、変化したり維持されたりしうる。アクチュエータは、例えば、モータであるがこれに限定されない。例えばアクチュエータは、モータ付きポンプ、ソレノイド、ソレノイド付き電磁弁、および、ピストンシリンダ等であってもよい。アクチュエータの駆動を制御する駆動制御部(サーボアンプ)は、例えばロボット200に備えられる。
ハンドは、アーム211~214の可動範囲内で位置および姿勢を変化させることができる。学習時には、例えばユーザがマスタとなるロボット200Mのハンド先端を持って各アームを動かせば、その動作がスレイブとなるロボット200Sに伝達される。
指221および指222の間隔を変化させるモータ(駆動部)は、例えば1つのモータにより構成することができる。図3は、このモータの構成例を示す図である。図3に示すように、指221および指222の間隔を変化させるモータが回転軸301回りに回転すると、ギアを介して指221および指222の間隔が変化する。
次に、第1指および第2指である指221、222を伸縮させるための伸縮機構221b、222bについて説明する。図4および図5は、伸縮機構221b、222bの動作を説明するための図である。なお説明の便宜のため、図4および図5では指223の記載を省略している。
図4は、指221および222の間隔が広い状態(指を開いた状態)での伸縮機構221b、222bの動作例を示す。伸縮機構221b、222bは、自身および端部221c、222cにかかる重力によって支持部材202から離れる方向に指221、222を伸長させる。端部221c、222cが把持対象物400に接触し、さらにハンドが把持対象物の方向に移動されると、把持対象物400からの力によって、伸縮機構221b、222bは、支持部材202に近づく方向に指221、222を縮退させる。
図5は、指221および222の間隔が狭い状態(指を閉じた状態)での伸縮機構221b、222bの動作例を示す。伸縮機構221b、222bの動作手順は図4と同様である。
このように、本実施形態では、受動機構であり重力により伸びる伸縮機構221b、222bにより指221、222を伸縮する。従って、指221、222を伸縮させるためのアクチュエータを備える必要はない。なお、ばねなどの弾性部材により指221、222を伸ばすように伸縮機構221b、222bを構成してもよい。
次に第3指である指223の動作について説明する。図6および図7は、指223および伸縮機構221b、222bの動作を説明するための図である。指223は、主に把持対象物400を傾けたり、横方向に移動(並進)させたりするために用いられる。
図6は、指221および222の間隔が広い状態での指223および伸縮機構221b、222bの動作例を示す。図6に示すように、端部221cおよび222cの先端は、伸長したときに指223の先端より外側の方向に位置し、縮退したときに指223の先端より内側の方向に位置する。外側(内側)の方向とは、例えば支持部材202を基準として指221、222の伸長方向に観察したときに、支持部材202から離れる方向(支持部材202に近づく方向)を表す。
端部221c、222cが把持対象物400に接触し、さらにハンドが把持対象物の方向に移動されると、伸縮機構221b、222bによって支持部材202に近づく方向に指221、222が縮退される。指223が把持対象物400に接触すると、指221、222の縮退は停止する。指223は伸縮機構などに接続されていないため、伸縮されない。指223が把持対象物400に接触した状態でハンドの位置および姿勢を変化させることで、把持対象物400を移動(傾斜、並進、および、回転など)させることが可能となる。
図7は、指221および222の間隔が狭い状態での指223および伸縮機構221b、222bの動作例を示す。指223および伸縮機構221b、222bの動作手順は図6と同様である。
指223を用いた把持対象物400の把持は、例えば以下のように実行される。まず、制御部103は、指221、222を閉じた状態(指221、222の間隔が初期値の状態)で、指223が把持対象物400に接触するようにロボット200を動作させる。その後、必要に応じて、制御部103は、把持対象物400が指221、222により把持可能な位置および姿勢となるように、指223の位置を変化させて把持対象物400を移動させる。その後、制御部103は、指221、222の間隔を徐々に広げるように(間隔が初期値より大きい値となるように)動作させる。指221、222の間隔が把持対象物400の幅(把持対象物400を把持可能な値)より広くなると、指221、222は重力により伸長し、把持対象物400を把持可能な位置に移動する。この後、制御部103は、指221、222の間隔を狭くするように動作させることで、指221、222により把持対象物400を把持する。なお、把持対象物400の把持動作の具体例については後述する。
次に、このように構成された第1の実施形態にかかる制御装置100による学習処理について説明する。図8は、第1の実施形態における学習処理の一例を示すフローチャートである。
学習処理が開始されると、画像取得部101は、カメラ300により撮像された把持対象物400およびロボット200Sのハンドなどの画像を取得する(ステップS101)。また動作情報取得部102は、ユーザの操作に応じて動作するマスタであるロボット200Mから動作情報を取得する(ステップS102)。学習部104は、取得された画像および動作情報を用いてニューラルネットワークを学習する(ステップS103)。例えば学習部104は、取得された画像をニューラルネットワークに入力し、ニューラルネットワークの出力する動作情報と、取得されたロボット200Mの動作情報との誤差が小さくなるように、ニューラルネットワークのパラメータ(重みなど)を学習する。
学習処理は、把持対象物400の個数、複数の把持対象物400の位置および姿勢、および、把持対象物400の相対的な位置関係などの条件を変更して繰り返し実行される。多数の条件で学習処理を実行すれば、多様な条件のもとで把持対象物を適切に把持可能な動作情報を出力するようにニューラルネットワークを学習できる。
例えば学習部104は、把持対象物400(第1対象物)と他の対象物(第2対象物)との間に隙間がないような状態で、把持対象物400と他の対象物との間に隙間を開ける方向に把持対象物400を指223により移動させ、開けられた隙間に指221または指222を挿入して把持対象物400を把持するようにロボット200Mを動作させたときの動作情報を用いてニューラルネットワークを学習する。このように学習されたニューラルネットワークを用いれば、同じような状態であっても、指221または222を挿入可能となるように隙間を開けて把持対象物400を適切に把持するようにロボット200を制御可能となる。すなわち、把持対象物をより適切に把持することが可能となる。
次に、このように構成された第1の実施形態にかかる制御装置100によるロボット200の制御処理について説明する。制御処理は、学習されたニューラルネットワークを用いてロボット200の動作を制御する処理である。図9は、第1の実施形態における制御処理の一例を示すフローチャートである。
画像取得部101は、カメラ300により撮像された把持対象物400およびロボット200Sのハンドなどの画像を取得する(ステップS201)。制御部103は、取得された画像をニューラルネットワークに入力し、ニューラルネットワークから出力される動作情報を取得する(ステップS202)。制御部103は、出力された動作情報が示す動作状態となるようにロボット200の動作を制御する(ステップS203)。
上記のように、多様な条件で学習したニューラルネットワークを用いれば、多様な条件(状態)のもとで把持対象物をより適切に把持するようにロボット200を制御可能となる。例えば制御部103は、把持対象物400(第1対象物)と他の対象物(第2対象物)との間に隙間がないような状態であっても、把持対象物400と他の対象物との間に隙間を開ける方向に把持対象物400を指223により移動させ、開けられた隙間に指221または指222を挿入して把持対象物400を把持するようにロボット200を動作させることが可能となる。
以下、把持対象物400の把持動作の具体例についてさらに説明する。図10は、指223(第3指)が設けられていない構成を用いる場合の把持動作の例を示す図である。このような構成では、把持対象物400が障害物1001(他の対象物など)に接触していると、障害物1001との間に隙間が存在しないため、端部221c、222cを挿入することができない。すなわち、指221、222により把持対象物400を把持することができない。なお障害物1001は、他の対象物に限られず、把持対象物400を収容している容器などであってもよい。
図11は、本実施形態のように指223(第3指)が設けられている構成を用いる場合の把持動作の例を示す図である。このような構成では、例えば指223を用いて把持対象物400を傾けることにより、障害物1001と把持対象物400との間に隙間を開けることができる。この隙間に端部221cまたは222cを挿入し、把持対象物400を把持することが可能となる。
図12~図21を用いて、把持対象物400を把持して他の容器に移す動作の具体例を説明する。以下では、学習済みのニューラルネットワークを用いて制御部103がロボット200を動作させる例として説明する。これらの例は、学習時にマスタのロボット200Mをユーザが動作させる手順を示す例と解釈することもできる。
まず、図12に示すように、制御部103は、指221、222を閉じた状態で、把持対象物400の上面に指223を近づけるように動作させる。このとき、端部221c、222cは、重力で下に下がった状態であり、先端の位置は指223より把持対象物400に近い状態である。
図13は、端部221c、222cが把持対象物400の上面に接触した状態を示す。図14は、指223も把持対象物400の上面に接触した状態を示す。この後、図15に示すように、制御部103は、指223を把持対象物400に作用させ、把持対象物400を傾斜させる。図16に示すように、制御部103は、指221、222の間隔を広げる。
指221、222の間隔が把持対象物400の幅より大きくなると、図17に示すように、指221、222が重力の作用で伸長する。この後、図18に示すように、制御部103は、指221、222を閉じて把持対象物400を把持させる。
図19に示すように、制御部103は、把持対象物400を把持した状態で、把持対象物400を上昇に持ち上げる。図20に示すように、制御部103は、把持対象物400を容器の外部に移動させる。図21に示すように、制御部103は、把持対象物400を他の容器2101内に置く。このようにして、隙間なく置かれた把持対象物400であっても把持することが可能となる。
次に、図22~図25を用いて、把持対象物400を把持して他の容器に移す動作の他の具体例を説明する。図22~図25は、倒れた把持対象物400を把持する手順の例を示す。
図22に示すように、把持対象物400が倒れている場合は、そのままの状態では把持対象物400を把持することが困難である。そこで、制御部103は、指221、222を閉じて指223に接触させた状態とし、指223の位置を変化させることにより、把持対象物400を起こす。図23~図25は、把持対象物400が起こされて立った状態に変化する様子を示す。この後、把持対象物400を他の容器(図21の容器2101など)に移動させる手順は、図12~図21で説明した手順と同じである。
次に、ロボット200の動作情報を求めるためのモデルについて説明する。図26は、ロボット200の動作情報を求めるためのモデルの構成例を示す図である。
上述のように本実施形態のロボットシステムは、マスタ-スレイブの構成になっている。ユーザがマスタのロボット200Mを操作すると、操作されたロボット200Mと同じようにスレイブのロボット200Sを動作させることができる。カメラ300は、ロボット200S(アーム、ハンド)の動作、および、把持対象物400を撮像して画像を出力する。撮像された画像は、画像撮像時のロボット200の各関節の関節角と対応づけて記憶部121に記憶される。
画像はそのままモデルの入力として用いられてもよいが、圧縮された画像がモデルの入力として用いられてもよい。例えばVAE(Variational Auto Encoder)などの技術を用いて、128×128画素数の画像が256次元の画像情報に圧縮される。この場合、画像情報は、256次元空間の1点で表される。ロボット200および把持対象物400が動くということは、この256次元空間内で1点が連続的に動くことを意味する。256次元空間内での点の動きは、把持対象物400の動きおよびハンドの動きを表現していると解釈することができる。
一方、ロボット200の関節数が5個の場合、ロボット200の姿勢(動作情報)は、5次元空間の1点で表される。ロボット200が動くということは、この5次元空間内で1点が連続的に動くことを意味する。
画像から動作情報を求めるモデルは、256次元空間の1点と5次元空間の1点を対応させる写像関数に相当する。図26では、画像情報xを関節角τ(動作情報の一例)に変換する写像fの例が示されている。
ロボット200が動いている場合、256次元空間の1点と5次元空間の1点の動きは、同期した時系列データである。このような時系列データ(複数の画像の時系列データ、複数の動作情報の時系列データ)を対応づける写像関数は、例えばニューラルネットワークにより実現できる。このようなニューラルネットワークとしては、例えばLSTM(Long Short Term Memory)を用いることができる。
図27は、VAEおよびLSTMの構成例を示す図である。VAEにはカメラ300で撮像された画像2701(例えば128×128画素の画像)が入力される。VAEは、VAEの出力と画像2701との誤差が小さくなるように学習される。VAEによる処理の過程で、圧縮された画像情報(潜在変数z)が生成される。VAEもニューラルネットであり、学習のためには多数の画像が必要である。従って、マスタ-スレイブ構成で把持動作を複数回繰り返し実行させ、多数の画像と多数の関節角(動作情報)のデータを作り、これらのデータをニューラルネットに入力することにより、学習が実行される。
VAEは、内部にデータの平均(μ)と分散(σ)を形成する機能があり、多数のデータを用いて写像関数を形成することができる。この機能を用いると256次元空間の1点の動きを滑らかにつなぐことができ、潜在変数zを求めることができる。
LSTMは、このようにして求められる潜在変数zを、圧縮された画像情報として入力する。なお、圧縮された画像情報(潜在変数z)を求める方法は、VAEに限られるものではない。また、上記のように、圧縮しない画像(例えば画像2701自体)をLSTMに入力するように構成してもよい。
なお、カメラ300とは別に備えられるセンサなどによる検知結果(触覚情報、Tactile information)が得られる場合には、触覚情報もLSTMへの入力として用いてもよい。例えば、潜在変数zと触覚情報とを連結したデータが、LSTMに入力されてもよい。なお、触覚情報が得られない場合は、圧縮された画像情報(潜在変数z)のみがLSTMに入力されてもよい。
LSTMの出力は、例えばロボット200の各関節の関節角を示す値である。LSTMについても、把持動作を多数行ったときのデータが用いられる。図27のモデルの例では、LSTMにMDN(Mixed Density Network)が接続される。MDNは、LSTMから出力された多数の関節角のデータの分布を統計的に処理して出力する。このように、本実施形態のモデルは、入力情報に対する予測値(関節角などの動作情報)の分布を示す情報を出力する機能を含む。
図28~図30は、MDNによる処理を説明するための図である。図28は、関節角の分布の例を示す図である。丸は、ある時刻での、ある1つの関節の関節角の値に相当する。図28内の曲線は、多数の値の変化を近似した線を示す。MDNでは、関節角の分布をより適切に表現することが可能となる。
すなわちMDNでは、関節角の分布が、以下の(1)式および(2)式のようにガウス分布の重ね合わせで表現される。なお、cはロボット200の関節数を表す。
Figure 0007282703000001
Figure 0007282703000002
図29は、ガウス分布の重ね合わせで表現された分布の例を示す図である。ガウス分布の形状は、各分布のピーク位置に対応するμ1、μ2、μ3、・・・、μ、各分布の高さに対応するα1、α2、α3、・・・、α、および、各分布の広がりに対応するσ1、σ2、σ3、・・・、σで決定される。なお図29では、分布の個数であるmが3である場合の分布の例が示されている。
図30は、MDNへの入力と出力との対応の例を示す図である。xは、MDNへの入力(LSTMからの出力)である。α、μ、σは、MDNからの出力であり、図29で説明したα、μ、σに相当する。なお図30は、ある1つの関節の関節角に対応する出力、すなわち、1次元の関節角の情報の例を示している。例えば5個の関節が用いられる場合は、図30に示すような出力が、5個分(5次元の関節角の情報に相当)出力される。
MDNを用いることにより、教示された複数の関節角のデータを滑らかに繋げて処理可能となる。これにより、学習時に教示されていない関節角にも対応可能となり、ロボット200の動きのロバスト性を向上させることができる。
このように、第1の実施形態にかかるロボットシステムでは、把持対象物を把持するための指の他に設けられる指を用いて把持対象物を把持可能な位置に移動させることができる。これにより、把持対象物を適切に把持できない状況が生じることを抑制することができる。
(第2の実施形態)
第2の実施形態では、把持対象物を吸着することができる吸盤を備えるロボットシステムの例を説明する。
図31は、本実施形態のロボットシステムが備えるロボットのハンドの構成例を示す図である。図31に示すように本実施形態では、第3指に相当する指223-2は、先端に吸盤226-2を備える。他の構成は第1の実施形態と同様であるため同一の符号を付し説明を省略する。
吸盤226-2を備えることにより、把持対象物400の上面をより確実に把持することが可能となる。従って、例えば吸盤を備えない第1の実施形態の指223では把持対象物400を並進させることができない状況でも、把持対象物400を並進させることが可能となる。
指221、222、223-2の長さは、例えば図31より短くしてもよい。図32は、図31と比較して長さが短い指221、222、223-2を備える構成の例である。
また、指221、222のうち一方を備えないように構成してもよい。図33は、指222を備えない構成の例である。このような構成であっても、例えば吸盤226-2および指221により把持対象物400を安定して把持することができる。
(第3の実施形態)
第3の実施形態では、カメラ300とは異なるセンサを備えるロボットシステムの例を説明する。
図34は、本実施形態のロボットシステムが備えるロボットのハンドの構成例を示す図である。図34に示すように本実施形態では、変位センサ241-3、242-3と、タッチセンサ251-3、252-3、253-3と、がさらに備えられる。
変位センサ241-3、242-3は、それぞれ端部221c-3、222c-3の変位量(移動量)を検知するセンサである。タッチセンサ251-3、252-3、253-3は、それぞれ端部221c-3、端部222c-3、指223-3の先端に備えられ、自身または対応する指に対する物体等の接触を検知するセンサである。
これらセンサで計測(検知)されたデータは、動作情報の一部として使用することができる。例えば、各センサで検知されたデータは、図27に示した触覚情報として用いることができる。これにより、把持対象物400とハンドとの接触状況も学習に取りこみ、よりロバストな動作を実現することができる。
なお、各センサ(変位センサ241-3、242-3、タッチセンサ251-3、252-3、253-3)はすべて備える必要はなく、一部のみを備えてもよい。例えば、変位センサ241-3、242-3、および、タッチセンサ251-3、252-3、253-3のうち一方のみが備えられてもよい。また備えられるセンサのうち一部のセンサの検知情報のみを動作情報として使用してもよい。
以上説明したとおり、第1から第3の実施形態によれば、把持対象物を適切に把持できない状況が生じる可能性を低減することができる。
次に、第1から第3の実施形態にかかる制御装置のハードウェア構成について図35を用いて説明する。図35は、第1から第3の実施形態にかかる制御装置のハードウェア構成例を示す説明図である。
第1から第3の実施形態にかかる制御装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
第1から第3の実施形態にかかる制御装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
第1から第3の実施形態にかかる制御装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、第1から第3の実施形態にかかる制御装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1から第3の実施形態にかかる制御装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
第1から第3の実施形態にかかる制御装置で実行されるプログラムは、コンピュータを上述した制御装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 制御装置
101 画像取得部
102 動作情報取得部
103 制御部
104 学習部
121 記憶部
200M、200S ロボット
211、212、213、214 アーム
221、222、223 指
300 カメラ
400 把持対象物

Claims (10)

  1. 対象物を把持するための複数の指を備えるロボットと、前記ロボットの動作を制御する制御装置と、を備えるロボットシステムであって、
    前記制御装置は、
    撮像装置により撮像された第1対象物および第2対象物の画像を取得する画像取得部と、
    前記画像に基づいて、前記第1対象物と前記第2対象物との間に隙間を開ける方向に前記第1対象物を前記指により移動させ、前記隙間に前記指を挿入して前記第1対象物を把持するように前記ロボットの動作を制御する制御部と、を備え、
    前記ロボットは、
    第1伸縮機構を有する第1指、第2伸縮機構を有する第2指、および、伸縮機構を有さない第3指と、
    前記第1指と前記第2指との間隔を変化させる駆動部と、を備え、
    前記制御部は、
    前記第1対象物に接触させた前記第3指の位置を変化させることにより前記第1対象物を移動させ、前記隙間に前記第1指を挿入し、前記第1指および前記第2指により前記第1対象物を把持するように前記駆動部を制御する、
    ボットシステム。
  2. 前記制御部は、
    前記第1指と前記第2指との間隔が初期値であるときに前記第3指が前記第1対象物に接触するまで前記ロボットの位置を変化させ、
    前記第3指が前記第1対象物に接触した状態で前記第3指の位置を変化させることにより前記第1対象物を移動させ、
    前記第1対象物を移動させた後に、前記第1指と前記第2指との間隔が前記初期値より大きい値であって、前記第1対象物を把持可能な値となるように前記駆動部を制御し、
    前記第1指と前記第2指とが前記第1対象物を把持可能な位置に移動した後に、前記第1指および前記第2指により前記第1対象物を把持するように前記駆動部を制御する、
    請求項1に記載のロボットシステム。
  3. 前記ロボットは、前記第3指の先端に吸盤を備える、
    請求項1に記載のロボットシステム。
  4. 前記制御装置は、
    前記ロボットの動作状態を示す動作情報を取得する動作情報取得部と、
    前記画像取得部により取得された前記画像と、前記第1対象物と前記第2対象物との間に隙間を開ける方向に前記第1対象物を前記指により移動させ、前記隙間に前記指を挿入して前記第1対象物を把持するように前記ロボットを動作させたときに前記動作情報取得部により取得された前記動作情報と、を用いて、対象物の画像に基づく入力情報を入力して前記動作情報を出力するモデルを学習する学習部と、をさらに備える、
    請求項1に記載のロボットシステム。
  5. 前記モデルは、前記入力情報に対する予測値の分布を示す情報を出力する機能を含む、
    請求項4に記載のロボットシステム。
  6. 前記ロボットは、
    複数の前記指の少なくとも一部に対する物体の接触を検知するセンサをさらに備え、
    前記動作情報取得部は、前記センサにより検知された情報を含む前記動作情報を取得する、
    請求項4に記載のロボットシステム。
  7. 前記ロボットは、第1指、第2指、および、第3指を備え、
    前記センサは、前記第1指に対する物体の接触を検知するセンサ、前記第2指に対する物体の接触を検知するセンサ、および、前記第3指に対する物体の接触を検知するセンサのうち少なくとも1つである、
    請求項6に記載のロボットシステム。
  8. 前記ロボットは、
    第1指、第2指、および、第3指と、
    前記第1指、前記第2指、および、前記第3指を支持する支持部材と、
    前記第1指および前記第2指を前記支持部材に対して相対的に移動させる移動部材と、
    前記移動部材による前記第1指および前記第2指の移動量を検知するセンサと、を備え、
    前記動作情報取得部は、前記センサにより検知された情報を含む前記動作情報を取得する、
    請求項4に記載のロボットシステム。
  9. 前記第1伸縮機構は、前記第1伸縮機構にかかる重力によって前記第1指を伸長させ、
    前記第2伸縮機構は、前記第2伸縮機構にかかる重力によって前記第2指を伸長させる、
    請求項1に記載のロボットシステム。
  10. 対象物を把持するための複数の指を備えるロボットの動作を制御する制御装置が備えるコンピュータに、
    撮像装置により撮像された第1対象物および第2対象物の画像を取得する画像取得ステップと、
    前記画像に基づいて、前記第1対象物と前記第2対象物との間に隙間を開ける方向に前記第1対象物を前記指により移動させ、前記隙間に前記指を挿入して前記第1対象物を把持するように前記ロボットの動作を制御する制御ステップと、を実行させ、
    前記ロボットは、
    第1伸縮機構を有する第1指、第2伸縮機構を有する第2指、および、伸縮機構を有さない第3指と、
    前記第1指と前記第2指との間隔を変化させる駆動部と、を備え、
    前記制御ステップは、
    前記第1対象物に接触させた前記第3指の位置を変化させることにより前記第1対象物を移動させ、前記隙間に前記第1指を挿入し、前記第1指および前記第2指により前記第1対象物を把持するように前記駆動部を制御する、
    ログラム。
JP2020020644A 2020-02-10 2020-02-10 ロボットシステムおよびプログラム Active JP7282703B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020020644A JP7282703B2 (ja) 2020-02-10 2020-02-10 ロボットシステムおよびプログラム
US17/005,361 US11820023B2 (en) 2020-02-10 2020-08-28 Robot system and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020020644A JP7282703B2 (ja) 2020-02-10 2020-02-10 ロボットシステムおよびプログラム

Publications (2)

Publication Number Publication Date
JP2021126706A JP2021126706A (ja) 2021-09-02
JP7282703B2 true JP7282703B2 (ja) 2023-05-29

Family

ID=77177388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020020644A Active JP7282703B2 (ja) 2020-02-10 2020-02-10 ロボットシステムおよびプログラム

Country Status (2)

Country Link
US (1) US11820023B2 (ja)
JP (1) JP7282703B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7333121B2 (ja) 2021-08-02 2023-08-24 株式会社Rainbow 幹細胞を非凍結で保存または輸送するための方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070280812A1 (en) 2006-05-17 2007-12-06 Axium Inc. Tool and method for mixed palletizing/depalletizing
JP2014205209A (ja) 2013-04-11 2014-10-30 三菱電機株式会社 ロボットシステム、及びロボットシステムの制御方法
WO2018212203A1 (ja) 2017-05-15 2018-11-22 Thk株式会社 把持システム
WO2019107454A1 (ja) 2017-11-28 2019-06-06 川崎重工業株式会社 技能伝承機械装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITMO20020050A1 (it) * 2002-02-28 2003-08-28 Ferrari & Cigarini Srl Dispositivo per la depalletizzazione di pacchi di piastrelle
JP6707485B2 (ja) 2017-03-22 2020-06-10 株式会社東芝 物体ハンドリング装置およびその較正方法
JP7155479B2 (ja) * 2017-05-15 2022-10-19 Thk株式会社 ハンド機構、把持システム、および把持プログラム
JP7145702B2 (ja) * 2018-09-07 2022-10-03 株式会社日立物流 ロボットシステム及びその制御方法
US11628561B2 (en) * 2019-08-19 2023-04-18 The Hong Kong University Of Science And Technology System and methods for robotic precision placement and insertion

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070280812A1 (en) 2006-05-17 2007-12-06 Axium Inc. Tool and method for mixed palletizing/depalletizing
JP2014205209A (ja) 2013-04-11 2014-10-30 三菱電機株式会社 ロボットシステム、及びロボットシステムの制御方法
WO2018212203A1 (ja) 2017-05-15 2018-11-22 Thk株式会社 把持システム
WO2019107454A1 (ja) 2017-11-28 2019-06-06 川崎重工業株式会社 技能伝承機械装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Rouhollah Rahmatizadeh et al.,Vision-Based Multi-Task Manipulation for Inexpensive Robots Using End-To-End Learning from Demonstration,2018 IEEE Inrwenational Conference on Robotics and Automation,米国,2018年05月21日,pp.3758-3765

Also Published As

Publication number Publication date
JP2021126706A (ja) 2021-09-02
US20210245365A1 (en) 2021-08-12
US11820023B2 (en) 2023-11-21

Similar Documents

Publication Publication Date Title
EP3869464B1 (en) Learning apparatus and learning method
US10350768B2 (en) Control device, robot, and robot system
US20180276501A1 (en) Information processing apparatus, information processing method, and storage medium
US10532461B2 (en) Robot and robot system
JP6693098B2 (ja) ロボット、及びロボットシステム
US11440197B2 (en) Robot system and imaging method
JP2017177294A (ja) ロボット制御装置、ロボット制御方法、ロボットシステムおよびコンピュータプログラム
JP5899951B2 (ja) ロボット装置および位置姿勢検出方法
JP2019181622A (ja) ハンド制御装置およびハンド制御システム
JP7186349B2 (ja) エンドエフェクタの制御システムおよびエンドエフェクタの制御方法
JP2016196077A (ja) 情報処理装置、情報処理方法、およびプログラム
JP7282703B2 (ja) ロボットシステムおよびプログラム
Namiki et al. Origami folding by multifingered hands with motion primitives
US20180215044A1 (en) Image processing device, robot control device, and robot
EP4192658A1 (en) Fine-grained industrial robotic assemblies
JP6455869B2 (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP2015157343A (ja) ロボット、ロボットシステム、制御装置、および制御方法
US9613180B1 (en) Robotic control device and method for manipulating a hand-held tool
Stückler et al. Perception of deformable objects and compliant manipulation for service robots
JP6123364B2 (ja) ロボット制御システム、ロボット、プログラム及びロボット制御方法
JP7201858B2 (ja) 判定方法
JP7286524B2 (ja) ピッキングロボット、ピッキング方法及びプログラム
US20230278227A1 (en) Device and method for training a machine learning model to derive a movement vector for a robot from image data
JP2018001321A (ja) ロボット、ロボット制御装置、及びロボットシステム
Rutgeerts et al. A demonstration tool with Kalman Filter data processing for robot programming by human demonstration

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230517

R151 Written notification of patent or utility model registration

Ref document number: 7282703

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151