JP2016120593A - ロボット制御装置及び組立て方法 - Google Patents

ロボット制御装置及び組立て方法 Download PDF

Info

Publication number
JP2016120593A
JP2016120593A JP2016076749A JP2016076749A JP2016120593A JP 2016120593 A JP2016120593 A JP 2016120593A JP 2016076749 A JP2016076749 A JP 2016076749A JP 2016076749 A JP2016076749 A JP 2016076749A JP 2016120593 A JP2016120593 A JP 2016120593A
Authority
JP
Japan
Prior art keywords
state
component
contact
hole
storage unit
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.)
Withdrawn
Application number
JP2016076749A
Other languages
English (en)
Inventor
高志 南本
Takashi Minamimoto
高志 南本
一弘 小菅
Kazuhiro Kosuge
一弘 小菅
健太郎 亀井
Kentaro Kamei
健太郎 亀井
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2016076749A priority Critical patent/JP2016120593A/ja
Publication of JP2016120593A publication Critical patent/JP2016120593A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】接触面が面取りされていなくても部品の嵌め合わせを行うことができるロボット制御装置及び組立て方法を提供することを目的とする。【解決手段】ロボット制御装置は、複数のアームと関節を含むマニピュレータ部と、マニピュレータ部に連結された把持部と、力センサーとを含むロボットにより部品の組み立てを行わせるロボットの制御装置において、把持部の接触状態を表す情報と、把持部を制御するための複数の制御情報のいずれかを基に、ロボットを制御する。【選択図】図3

Description

ロボット制御装置及び組立て方法に関する。
電子機器の製造工程において、組立てにおける多くの作業は自動化されている。この自動化された製造ラインでは、ロボットを用いて組み立てが行われている。例えば、ロボットの製造装置は、第1の部品に第2の部品を挿入するように制御していた。
特開平7−241733号公報
しかしながら、特許文献1の技術において、対象物を穴形状の部位にはめ合わせる場合、それらの接触面は、各々面取りがされていた。このため、特許文献1の技術では、接触した際の力やモーメントに倣うことで嵌め合いが実現出来ない場合、組み合わせ作業を行うことができないという課題があった。
本発明は上記事情に鑑みてなされたものであり、接触面が面取りされていなくても部品の嵌め合わせを行うことができるロボット制御装置及び組立て方法を提供することを目的としている。
上記の課題を解決するため、本発明の一態様であるロボット制御装置は、複数のアームと関節を含むマニピュレータ部と、前記マニピュレータ部に連結された把持部と、力センサーとを含むロボットにより部品の組み立てを行わせるロボットの制御装置において、
前記把持部の接触状態を表す情報と、前記把持部を制御するための複数の制御情報のいずれかを基に、前記ロボットを制御する。
また、本発明の一態様であるロボット制御装置において、前記制御情報は、予め検出された前記力センサーの検出値と前記接触状態を表す情報と、が関連づけられて複数組、記憶部に記憶されているようにしてもよい。
また、本発明の一態様であるロボット制御装置は、前記力センサーの検出値と、前記記憶部に記憶されている情報とを比較し、前記比較した結果に基づいて、前記接触状態を判別して前記制御情報を選択する選択部を備えるようにしてもよい。
また、本発明の一態様であるロボット制御装置は、前記接触状態毎に、前記力センサーの検出値を離散化し、前記記憶部に前記離散化後の検出値を記憶させる離散化部を備えるようにしてもよい。
また、本発明の一態様であるロボット制御装置において、前記把持部の接触状態は、前記把持部が把持する第1部品についての第2部品との接触状態であるようにしてもよい。
上記の課題を解決するため、本発明の一態様である組み立て方法は、ロボット制御装置により制御される部品の組み立て方法であって、第1部品を把持する把持部に働く力とモーメントを力センサーが検出して検出値として出力した前記検出値に基づいて、前記第1部品と第2部品との接触状態を判別し、判別した結果に基づいて、記憶部に前記接触状態に関連付けられて記憶されている情報を選択する選択手順と、前記選択した前記情報に基づいて、前記把持部を制御する制御手順と、を含む。
以下に態様例を示す。
一態様であるロボット装置は、第1部品を把持する把持部と、前記把持部に働く力とモーメントを検出値として検出する力センサーと、前記第1部品と第2部品とが接触している接触状態と遷移情報とが関連づけられて記憶され、予め検出された前記検出値である第1検出値と前記接触状態と、が関連づけられて複数組、記憶され、前記遷移情報と前記把持部を制御する制御値と、が関連づけられて複数組、記憶されている記憶部と、予め前記第1部品と前記第2部品とが接触している接触状態毎に、前記第1検出値を離散化し、前記記憶部に離散化後の検出値である第2検出値として記憶させ、前記第1部品と前記第2部品との接触状態の制御時に、前記検出値を離散化した離散化後の検出値を選択部に出力する離散化部と、前記検出値と、前記記憶部に記憶されている前記第1検出値とを比較し、比較した結果に基づいて、前記第1部品と前記第2部品との接触状態を判別し、前記離散化後の検出値と、前記第2検出値とを比較し、比較した結果に基づいて、前記第1部品と前記第2部品との接触状態を判別し、判別した結果に基づいて前記記憶部に記憶されている前記遷移情報を選択する選択部と、前記選択部が選択した前記遷移情報に基づいて、前記記憶部に記憶されている前記制御値を選択し、選択した前記制御値を用いて前記把持部を制御する制御部と、を備える。
このように構成したことにより、ロボット装置は、第1部品と第2部品との接触状態を力センサーの検出値に基づいて決定することができる。また、ロボット装置は、第1部品と第2部品との接触状態毎に、次の目標状態が記憶されている遷移情報に基づいて、第1部品と第2部品との接触状態を遷移させることができる。このため、ロボット装置は、接触面が面取りされていなくても部品の嵌め合わせを行うことができる。また、このように構成したことにより、ロボット装置は、第1部品と第2部品との接触状態を判別するための演算量を削減することができる。
一態様であるロボット装置において、前記遷移情報は、前記第1部品を前記第2部品に対して第1接触状態にさせ、前記第1接触状態後、前記第1部品を前記第2部品に対して第2接触状態にさせ、前記第2接触状態後、前記第1部品を前記第2部品の穴の面に対して第3接触状態にさせ、前記第3接触状態後、前記第1部品が、前記第2部品の穴に接している面に沿わせて、前記第1部品を前記第2部品の穴に取り付けるように順次、遷移する情報を含むようにしてもよい。
このように構成したことにより、ロボット装置は、第1部品と第2部品との接触状態に応じた遷移情報を用いて、第1部品と第2部品の穴に嵌め合わせるように制御することができる。このため、ロボット装置は、接触面が面取りされていなくても部品の嵌め合わせを行うことができる。なお、第1接触状態とは、例えば、第1部品と第2部品とが点接触している状態であり、第2接触状態とは、直線上での2点以上で点接触している状態であり、第3接触状態とは、同一面での2点以上で点接触している状態である。
一態様であるロボット装置において、前記離散化部は、前記検出値を、前記第1部品に対する物体座標系において3値化し、前記検出値を、前記第2部品に対する絶対座標系において3値化するようにしてもよい。
一態様であるロボット装置において、前記選択部は、前記離散化後の検出値と一致する前記第2検出値が複数ある場合、前記検出値と、前記第1検出値とを比較し、比較した結果に基づいて、前記第1部品と前記第2部品との接触状態を判別するようにしてもよい。
一態様であるロボット装置において、前記記憶部には、前記絶対座標系において前記第1検出値を離散化後の検出値である第3検出値と、前記物体座標系において第1検出値を離散化後の検出値である第4検出値と、前記第1検出値、複数の前記遷移情報および複数の前記制御値とが、前記接触状態毎に各々関連づけられて記憶され、前記選択部は、前記絶対座標系において、前記離散化後の検出値と前記第3検出値とを比較したとき、前記離散化後の検出値と一致する前記第3検出値が複数ある場合、前記物体座標系における前記離散化後の検出値と、前記第4検出値と比較し、比較した結果に基づいて、前記第1部品と前記第2部品との接触状態を判別するようにしてもよい。
一態様であるロボット装置において、前記第1部品と前記第2部品との接触状態を撮像する撮像装置を備え、前記選択部は、前記撮像装置が撮像した画像に基づいて、前記第1部品と前記第2部品との状態を識別するようにしてもよい。
一態様であるロボット装置において、前記把持部が取り付けられている第1アームと、前記把持部または前記第1部品と前記第2部品との接触状態を撮像する撮像装置が取り付けられている第2アームと、前記第1アームと前記第2アームとが取り付けられている本体と、前記本体に取り付けられている搬送部と、を備えるようにしてもよい。
一態様である組み立て方法は、第1部品と第2部品とが接触している接触状態と遷移情報とが関連づけられて記憶され、予め検出された検出値である第1検出値と前記接触状態と、が関連づけられて複数組、記憶され、前記遷移情報と把持部を制御する制御値と、が関連づけられて複数組、記憶されている記憶部を用いて、前記第1部品を把持する前記把持部と、前記把持部に働く力とモーメントを前記検出値として検出する力センサーとを有するロボット装置を制御して前記第1部品と第2部品とを組み立てる組み立て方法であって、離散化部が、予め前記第1部品と前記第2部品とが接触している接触状態毎に、前記第1検出値を離散化し、前記記憶部に離散化後の検出値である第2検出値として記憶させる記憶手順と、前記離散化部が、前記第1部品と前記第2部品との接触状態の制御時に、前記検出値を離散化した離散化後の検出値を選択部に出力する出力手順と、前記選択部が、前記検出値と、前記記憶手順によって前記記憶部に記憶されている前記第1検出値とを比較し、比較した結果に基づいて、前記第1部品と前記第2部品との接触状態を判別し、前記離散化後の検出値と、前記第2検出値とを比較し、比較した結果に基づいて、前記第1部品と第2部品との接触状態を判別し、判別した結果に基づいて、前記記憶部に前記接触状態に関連づけられて記憶されている遷移情報を選択する選択手順と、制御部が、前記選択手順が選択した前記遷移情報に基づいて、前記記憶部に記憶されている前記制御値を選択し、選択した前記制御値を用いて前記把持部を制御する制御手順と、を含む。
一態様である組み立てプログラムは、第1部品と第2部品とが接触している接触状態と遷移情報とが関連づけられて記憶され、予め検出された検出値である第1検出値と前記接触状態と、が関連づけられて複数組、記憶され、前記遷移情報と把持部を制御する制御値と、が関連づけられて複数組、記憶されている記憶部を用いて、前記第1部品を把持する前記把持部と、前記把持部に働く力とモーメントを前記検出値として検出する力センサーとを有し、前記第1部品と第2部品とを組み立てるロボット装置が備えるコンピューターに、予め前記第1部品と前記第2部品とが接触している接触状態毎に、前記第1検出値を離散化し、前記記憶部に離散化後の検出値である第2検出値として前記記憶部に記憶させるステップと、前記第1部品と前記第2部品との接触状態の制御時に、前記検出値を離散化した離散化後の検出値を選択部に出力するステップと、前記検出値と、前記記憶部に記憶されている前記第1検出値とを比較し、比較した結果に基づいて、前記第1部品と前記第2部品との接触状態を判別し、前記離散化後の検出値と、前記第2検出値とを比較し、比較した結果に基づいて、前記第1部品と第2部品との接触状態を判別し、判別した結果に基づいて、前記記憶部に前記接触状態に関連づけられて記憶されている遷移情報を選択するステップと、前記選択した前記遷移情報に基づいて、前記記憶部に記憶されている前記制御値を選択し、選択した前記制御値を用いて前記把持部を制御するステップと、を実行させる。
第1実施形態に係るロボットの概略斜視図である。 第1実施形態に係る力センサーの検出値を説明する図である。 第1実施形態に係るロボット制御装置の機能構成を表すブロック図である。 第1実施形態に係る座標系を説明する図である。 第1実施形態に係るテーブル記憶部に記憶されている遷移情報に基づく状態遷移図である。 第1実施形態に係るテーブル記憶部に記憶されている絶対座標系における状態p1から状態p8の力センサーの離散化後の検出値を示す図である。 第1実施形態に係るテーブル記憶部に記憶されている絶対座標系または物体座標系における状態s2から状態s14の力センサーの離散化後の検出値を示す図である。 第1実施形態に係るテーブル記憶部に記憶されている物体座標系における状態p1から状態p8の力センサーの離散化後の検出値を示す図である。 第1実施形態に係るテーブル記憶部に記憶されている指令値を説明する図である。 第1実施形態に係るテーブルをテーブル記憶部に記憶する手順のフローチャートである。 第1実施形態に係る第1部品と第2部品との接触状態を判別し、第1部品と第2部品との接触状態を遷移させる手順のフローチャートである。 第2実施形態に係るxy平面における第1部品における寸法と、第2部品210の穴211の寸法を説明する図である。 第2実施形態に係る第1部品と第2部品における絶対座標系と物体座標系および各頂点を説明する図である。 第2実施形態に係るテーブル記憶部に記憶されている遷移情報に基づく状態遷移図である。 第2実施形態に係るテーブル記憶部に記憶されている状態p101から状態p108の力センサーの離散化後の検出値を示す図である。 第2実施形態に係るテーブル記憶部に記憶されている絶対座標系における状態tp101から状態tp108の力センサーの離散化後の検出値を示す図である。 第2実施形態に係るテーブル記憶部に記憶されている絶対座標系における状態l101から状態l112の力センサーの離散化後の検出値を示す図である。 第2実施形態に係るテーブル記憶部に記憶されている絶対座標系における状態s101から状態s110の力センサーの離散化後の検出値を示す図である。 第2実施形態に係るテーブル記憶部に記憶されている状態p101〜p108からの状態遷移毎の指令値を説明する図である。 第2実施形態に係るテーブル記憶部に記憶されている状態tp101〜tp108からの状態遷移毎の指令値を説明する図である。 第2実施形態に係るテーブル記憶部に記憶されている状態l102、l103、l105、l106、l108、l109、l111、l112からの状態遷移毎の指令値を説明する図である。 第2実施形態に係るテーブル記憶部に記憶されている状態l101、l104、l107、l110からの状態遷移毎の指令値を説明する図である。 第2実施形態に係るテーブル記憶部に記憶されている状態s101、s102、s103、s104、s105、s106、s107、s108、s109からの状態遷移毎の指令値を説明する図である。 第2実施形態に係る第1部品200と第2部品210との接触状態を判別し、第1部品と第2部品との接触状態を遷移させる手順のフローチャートである。 第3実施形態に係るテーブル記憶部に記憶されている第1部品の頂点E1が穴に入っている状態の後の遷移情報に基づく状態遷移図である。 第3実施形態に係るテーブル記憶部に記憶されている第1部品の頂点F1が穴に入っている状態の後の遷移情報に基づく状態遷移図である。 第3実施形態に係るテーブル記憶部に記憶されている第1部品の頂点G1が穴に入っている状態の後の遷移情報に基づく状態遷移図である。 第3実施形態に係るテーブル記憶部に記憶されている第1部品の頂点H1が穴に入っている状態の後の遷移情報に基づく状態遷移図である。 第3実施形態に係る初期姿勢が第1部品の頂点E1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態p201およびp202の力センサーの離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点E1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態tp201からtp204の力センサーの離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点E1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態l201からl209の力センサーの離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点E1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態s201からs204の力センサー2の離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点F1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態p301からp303の力センサーの離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点F1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態tp303からtp304の力センサーの離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点F1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態l301からl308の力センサーの離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点F1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態s301の力センサーの離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点G1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態p401からp403の力センサーの離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点G1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態tp401からtp402の力センサーの離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点G1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態l401からl408の力センサーの3値化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点G1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態s401の力センサーの離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点H1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態p501からp503の力センサーの離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点H1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態tp501からtp505の力センサーの離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点H1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態l503からl508の力センサーの離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点H1が穴に入っている状態の場合、テーブル記憶部に記憶されている状態s501の力センサーの離散化後の検出値を示す図である。 第3実施形態に係る初期姿勢が第1部品の頂点E1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態p201、p202からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点E1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態tp201、tp202、tp204からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点E1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態l201、l202、l204、l208、l209からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点E1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態s201、s202からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点F1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態p301、p302、p303からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点F1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態tp303、tp304からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点F1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態l301、l302、l308からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点F1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態s301、s302、s303からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点G1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態p401、p402からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点G1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態tp401、tp402からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点G1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態l401、l408からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点G1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態s401、s404からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点H1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態p501、p502からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点H1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態tp501、tp504、tp505からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点H1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態l503、l504、l508からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る初期姿勢が第1部品の頂点H1が穴に入っている状態の場合において、テーブル記憶部に記憶されている状態s501、s503からの状態遷移毎の指令値を説明する図である。 第3実施形態に係る第1部品200と第2部品210との接触状態を判別し、第1部品200と第2部品210との接触状態を遷移させる手順のフローチャートである。 第4実施形態に係る本実施形態に係るロボットの概略斜視図である。
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
[第1実施形態]
本実施形態であるロボット装置は、力センサーが検出した検出値に基づいて、嵌め合わせを行う第1部品と第2部品との接触状態を判別し、判別した結果と記憶部に記憶されている状態遷移に基づいて、第1部品と第2部品との接触状態を制御する。
また、本実施形態であるロボット装置は、第1部品と第2部品の接触状態を、第1接触状態にさせ、第1接触状態にさせた後に第2接触状態にさせ、第2接触状態にさせた後に第3接触状態にさせることで嵌め合わせを行う。さらに、本実施形態であるロボット装置は、第3接触状態において、第1部品が、第2部品の穴に接している面に沿わせて、第1部品を第2部品の穴に取り付ける(嵌め合わせる)ように順次、遷移させる。
図1は、本実施形態に係るロボット装置1の概略斜視図である。
図1に示すように、ロボット装置1は、ロボット制御装置10、多関節ロボット20を備える。
なお、図1における部品や構造等の縮尺は、図を明瞭なものとするために実際のものとは異なっている。
ロボット制御装置10は、多関節ロボット20の動作を制御する。
多関節ロボット20は、地面に固定された支持台20a、旋回可能および屈伸可能に支持台20aに連結されたマニピュレータ部20b、回動可能および首振り可能にマニピュレータ部20bに連結された把持部20c、力センサー20d、撮像装置30を含んで構成される。
多関節ロボット20は、例えば6軸の垂直多関節ロボットであり、支持台20a、マニピュレータ部20b、及び把持部20cとの連係した動作によって6軸の自由度を有し、把持部20cが把持または挟持する部品の位置および向きを自在に変更することができる。なお、本実施形態においては、把持または挟持することを「把持する」として説明する。多関節ロボット20は、ロボット制御装置10による制御によって、マニピュレータ部20b、把持部20cのうちいずれか一つまたは組み合わせを動かす。
力センサー20dは、把持部20cに加わる力とモーメントを検出する。力センサー20dは、多関節ロボット20の自由度が6軸の場合、6軸力センサーである。
なお、多関節ロボット20の自由度は6軸によるものに限られない。また、支持台20aは、床、壁、天井等、地面に対して固定された場所に設置してもよい。
符号200は、第2部品210に組み合わせられる第1部品(「peg」、「くい」とも言う)である。第1部品200は、直方体または立方体である。
第2部品210は、第1部品200が組み合わされる穴211を有している。なお、穴211は、第2部品210を貫通していても、貫通していなくてもよい。
なお、符号220は、後述するように、第1部品200と第2部品210との接触状態を、2次元で表す場合に用いる平面である。
なお、第1部品200と第2部品210との接触状態とは、第1部品200と第2部品との様態であり、第1部品200と第2部品とが点接触している状態(第1接触状態)、線接触している状態(第2接触状態)、面接触している状態(第3接触状態)、第1部品200が穴211に入っている状態等を含む状態である。また、線接触している状態とは、直線上での2点以上で点接触している状態である。また、面接触している状態とは、同一面での2点以上で点接触している状態である。点接触している状態とは、より具体的には、例えば後述するように、第1部品200の頂点が、第2部品の辺または面(第2部品の表面、穴211の各辺、穴の各面)と接している状態である。
撮像装置30は、例えば、第1部品200と第2部品210の穴211との嵌め合わせ状態が確認できる位置に設置されている。撮像装置30は、例えばCCD(Charge Coupled Device)カメラである。撮像装置30は、撮影した画像データをロボット制御装置10に出力する。なお、撮像装置30で撮像した画像データは、本実
施形態の制御に使用しても、使用しなくてもよい。
図2は、本実施形態に係る力センサー20dの検出値を説明する図である。
図2に示すように、力センサー20dの検出値(fx,fy,fz、nx、ny、nz)は、直交する3軸に関する力(fx,fy,fz)と、各軸のモーメント(nx、ny、nz)の合計6つを含んでいる。なお、例えば、fxはx軸方向の力を表し、nxは、x軸方向のモーメントを表している。なお、力センサーは力覚センサーとも呼ばれるものである。
図3は、本実施形態に係るロボット制御装置10の機能構成を表すブロック図である。
図3に示すように、ロボット制御装置10は、センサー検出値取得部101、離散化部102、テーブル記憶部(記憶部)103、選択部104、制御部105、制御記憶部106、および画像取得部107を備えている。また、図3に示すように、ロボット制御装置10は、多関節ロボット20に接続されている。
センサー検出値取得部101は、力センサー20dが出力する検出値を取得し、取得した検出値を離散化部102に出力する。センサー検出値取得部101は、テーブル作成時、予め検出された検出値を取得し、取得した検出値(離散化前の検出値、第1検出値という)をテーブル記憶部103に記憶させる。
離散化部102は、テーブル作成時、センサー検出値取得部101が出力した離散化前の検出値を離散化し、離散化した検出値(離散化後の検出値、第2検出値という)をテーブル記憶部103に記憶させる。離散化部102は、例えば検出値を3値(−1、0、+1)化することで離散化する。なお、離散化部102は、絶対座標系および物体座標系について、各々離散化後の検出値を、テーブル記憶部103に記憶させる。なお、テーブル作成時、離散化部102は、例えば、嵌め合わせを行う対象物の剛性、対象物に加える押し付け力およびコンプライアンス・センターの位置を考慮して、所定のしきい値に対する力センサー20dの出力の大小で、離散化する値を決定する。
離散化部102は、組み立て処理時、離散化後の検出値を選択部104に出力する。また、絶対座標系における離散化後の検出値を第3検出値と称し、物体座標系における離散化後の検出値を第4検出値と称する。また、第3検出値と第4検出値を総称して、第2検出値ともいう。
テーブル記憶部103には、第1検出値、第3検出値、第4検出値、および接触状態が関連づけられた組み合わせが、表形式で記憶されている。テーブル記憶部103には、後述するように、現在の接触状態から次の目標状態へ遷移させる遷移情報が、接触状態と関連づけられて記憶されている。テーブル記憶部103には、後述するように、当該状態から次の目標状態へ遷移させる指令値が、接触状態と関連づけられて記憶されている。
選択部104は、組み立て処理時(制御時)、離散化部102が出力した離散化後の検出値と、テーブル記憶部103に記憶されている第2検出値とを比較する。選択部104は、比較した結果に基づいて、第1部品200と第2部品210との接触状態を判別し、判別した結果に基づいて、テーブル記憶部103に予め記憶されている遷移情報の中から、現在の接触状態から次の目標状態に遷移させる遷移情報を選択する。選択部104は、選択した遷移情報を制御部105に出力する。
また、撮像装置30が撮像した画像データも用いて接触状態を判別する場合、選択部104は、画像取得部107が出力した画像データも使用して、第1部品200と第2部品210との接触状態を判別する。なお、選択部104は、画像データに基づいて、周知の画像認識技術を用いて、第1部品200と第2部品210との接触状態を判別する。
制御部105は、選択部104が出力した遷移情報に基づいて、テーブル記憶部103に記憶されている各接触状態から次の目標状態へ遷移させる指令値(以下、指令値という)を読み出す。制御部105は、読み出した各接触状態から次の目標状態へ遷移させる指令値に基づいて、多関節ロボット20のマニピュレータ部20b、または把持部20cを制御する。
制御記憶部106には、多関節ロボット20の制御プログラム、制御値等が記憶されている。
画像取得部107は、撮像装置30が撮像した画像データを取得し、取得した画像データを選択部104に出力する。
以上のように、本実施形態のロボット装置1は、第1部品200を把持する把持部20cと、把持部20cに働く力とモーメントを検出値として検出する力センサー20dと、第1部品200と第2部品210とが接触している接触状態と遷移情報とが関連づけられて記憶されている記憶部(テーブル記憶部103)と、検出値に基づいて、第1部品200と第2部品210との接触状態を判別し、判別した結果に基づいて記憶部(テーブル記憶部103)に記憶されている遷移情報を選択する選択部104と、選択部104が選択した遷移情報に基づいて、把持部20cを制御する制御部105と、を備える。
このように構成したことにより、ロボット装置1は、第1部品200と第2部品210との接触状態を力センサー20dの検出値に基づいて決定することができる。また、ロボット装置1は、第1部品200と第2部品210との接触状態毎に、次の目標状態が記憶されている遷移情報に基づいて、第1部品と第2部品との接触状態を遷移させることができる。
次に、絶対座標系と物体座標系について説明する。
図4は、本実施形態に係る座標系を説明する図である。図4は、第1部品200および第2部品210を、図1に示した平面220について示したものである。
図4において、Σは、絶対座標を表し、Σobjは、物体座標を表している。なお、本実施形態において、絶対座標とは、第1部品200の中心を原点とした座標系である。物体座標とは、図4に示すように、第2部品210の穴211の底辺cdの中心を原点とする座標系である。
図4に示すように、第1部品200の各頂点を、それぞれA、B、C、Dで表す。
第2部品210の各頂点を、a、b、c、dで表す。また、第2部品210の表面において、絶対座標の負のx軸方向の面をaaで表し、正のx軸方向の面をbbで表す。
なお、x軸方向において、第2部品210の穴211の底の辺cdの幅は、第1部品200の底の辺AD以上である。
次に、絶対座標Σと物体座標Σobjの変換について説明する。
図1を用いて説明したように、マニピュレータ部20bには、力センサー20dが取り付けられている。この力センサー20dは、第1部品200に加わる力(f)と、モーメント(n)を検出している。
図4に示したように、絶対座標系Σにおけるベース座標系Σの位置・姿勢が既知であるとする。この場合、順運動学により、絶対座標系Σから見た手先座標系Σの位置・姿勢を算出することができる。さらに、手先座標系Σにおける物体座標系Σobjが既知であるとする。このため、絶対座標Σから物体座標Σobjへの力f(fはボールド体)およびn(nはボールド体)の変換は、次式(1)及び式(2)のように表される。
Figure 2016120593
Figure 2016120593
なお、式(1)において、objf(fはボールド体)は、物体座標系における力であり、次式(3)のように表される。式(2)において、objn(nはボールド体)は、物体座標系におけるモーメントであり、次式(4)のように表される。
Figure 2016120593
Figure 2016120593
なお、式(3)および(4)において、senf(fはボールド体)は、センサー座標系Σから見た力センサー20dに加わる力である。また、senf(fはボールド体)は、3つの要素(実数)を持つ、縦ベクトルである。式(4)において、senn(nはボールド体)は、センサー座標系から見た力センサー20dに加わるモーメントである。objsen(Pはボールド体)は、物体座標系から見たセンサー座標系の原点位置を表すベクトルである。また、senf(fはボールド体)は、3つの要素(実数)を持つ、縦ベクトルである。式(3)および(4)において、objsenは、物体座標系からセンサー座標系に変換する回転行列であり、3行3列の行列である。
また、式(1)および(2)において、obj(Rはボールド体)は、絶対座標系から物体座標系に変換する回転行列であり、次式(5)のように表される。
Figure 2016120593
なお、式(5)において、は、絶対座標系oからベース座標系bへの回転行列である。は、ベース座標系bから手先座標系hへの回転行列である。senは、手先座標系hから力センサー20dへの回転行列である。senobjは、力センサー20dから物体座標系objへの回転行列である。また、objsensenobjは、各々3行3列の行列である。
次に、テーブル記憶部103に記憶されている遷移情報、力センサー20dの検出値、指令値について説明する。
まず、テーブル記憶部103に記憶されている遷移情報について説明する。
図5は、本実施形態に係るテーブル記憶部103に記憶されている遷移情報に基づく状態遷移図である。
図5に示すように、テーブル記憶部103には、第1部品200と第2部品210との接触状態と遷移情報とが、状態遷移毎に関連づけられて記憶されている。図5の例において、符号k1〜k6、p1〜p8、およびs1〜14は、第1部品200と第2部品210に対して横から見た状態を、2次元で表している。矢印t1〜t6、t11〜t22、t31〜t38は、各接触状態から次の目標状態への直接遷移させることを表している。なお、遷移情報とは、例えば、矢印t11に示したように、状態p1から状態s7に遷移させることを示す情報である。
図5において、状態k1〜k6は、初期姿勢であり、第1部品200の傾き角度は、45[deg]以下であるとする。
図5に示すように、初期姿勢k1〜k6は、各々、矢印t1〜t6のように、状態p1〜p6へ遷移する。
矢印t11に示すように、状態p1の次の目標状態は、状態s7である。矢印t12〜t14に示すように、状態p2の次の目標状態は、状態s2〜s4のいずれかの状態である。矢印t15に示すように、状態p3は、状態s2へ遷移する。矢印t16に示すように、状態p4の次の目標状態は、状態s8である。矢印t17〜t19に示すように、状態p5の次の目標状態は、状態s8〜s10のいずれかの状態である。矢印t20に示すように、状態p6の次の目標状態は、状態s6である。矢印t21に示すように、状態s6の次の目標状態は、状態p3である。矢印t22に示すように、状態s7の次の目標状態は、状態p4である。
矢印t31に示すように、状態s2の次の目標状態は、状態p7である。矢印t32に示すように、状態s3の次の目標状態は、状態p13である。矢印t33に示すように、状態s4の次の目標状態は、状態p7である。矢印t34に示すように、状態s8の次の目標状態は、状態p8である。矢印t35に示すように、状態s9の次の目標状態は、状態p14である。矢印t36に示すように、状態s10の次の目標状態は、状態p8である。矢印t37に示すように、状態p7の次の目標状態は、状態s3である。矢印t38に示すように、状態p8の次の目標状態は、状態s9である。
なお、図5において、状態s1、s5、s11、s12が、どの状態からも遷移していず、かつ、どの状態へも遷移していない理由は、これらの状態になった場合、第2部品210の穴211の点または線に沿って、第1部品200を組み合わせられないためである。このため、テーブル記憶部103には、これらの遷移情報は記憶させないようにしてもよい。
状態p1からp8は、第1部品200と第2部品210とが、点と線とで接している状態(第1接触様態)である。例えば、状態p1は、第1部品の頂点Aが、第2部品の線aaに接している状態である。例えば、状態p2は、第1部品の線ABが、第2部品の頂点aに接している状態である。
なお、3次元的に見た場合、第1部品200と第2部品とは、線と面で接している。例えば、状態p1は、第1部品の頂点Aを含む線が、第2部品の線aaを含む面に接している状態である。
状態s1、s3、s5、s6、s7、s9、s11、s12は、第1部品200と第2部品210とが、線と線とで接している状態(第2接触様態)である。例えば、状態s1は、第1部品の線ABが、第2部品の線aaに接している状態である。
なお、3次元的に見た場合、第1部品200と第2部品とは、面と面で接している。例えば、状態s1は、第1部品の頂点ABを含む面が、第2部品の線aaを含む面に接している状態である。
状態s2、s4、s8、s10は、第1部品200と第2部品210とが、2箇所、点と線とで接している状態(第3接触様態)である。例えば、状態s2は、第1部品の線ABが、第2部品の頂点aに接し、かつ第1部品の線ADが、第2部品の頂点bに接している状態である。例えば、状態s8は、第1部品の線ADが、第2部品の頂点aに接し、かつ第1部品の線CDが、第2部品の点bに接している状態である。
なお、3次元的に見た場合、第1部品200と第2部品210とは、2箇所、線と面で接している。例えば、状態s2は、第1部品の線ABを含む面が、第2部品の頂点aを含む線に接し、かつ第1部品の線ADを含む面が、第2部品の頂点bを含む線に接している状態である。
ここで、図5の状態遷移の意味合いを説明する。
ロボット制御装置10は、後述するように、力センサー20dが検出した検出値に基づいて、図5のいずれの接触状態であるかを判別する。ロボット制御装置10は、判別した結果に基づいて、テーブル記憶部103に記憶されている図5の遷移情報を用いて、次の目標状態になるように、マニピュレータ部20bと把持部20cを制御する。このとき、ロボット制御装置10は、図5に示したように、第1部品200を第2部品210に接触させる。その後、ロボット制御装置10は、接触状態を維持したまま第1部品200をずらしていくことで、第1部品200を穴211に嵌め合わせていく。
次に、テーブル記憶部103に記憶されている力センサーの離散化後の検出値について説明する。
図6は、本実施形態に係るテーブル記憶部103に記憶されている絶対座標系における状態p1から状態p8の力センサー20dの離散化後の検出値を示す図である。図7は、本実施形態に係るテーブル記憶部103に記憶されている絶対座標系または物体座標系における状態s2から状態s14の力センサー20dの離散化後の検出値を示す図である。
なお、図6に示したテーブル記憶部103に記憶されている離散化後の検出値は、第3検出値である。図7に示したテーブル記憶部103に記憶されている離散化後の検出値は、第3検出値または第4検出値である。
図6に示したように、テーブル記憶部103には、状態p1から状態p8の接触状態毎に、力センサー20dが検出した検出値(fx、fy、fz、nx、ny、nz)が離散化され、離散化後の検出値が、各々、関連づけられて表形式で記憶されている。例えば、2行目に示すように、状態p1の離散化後の各検出値は、fx=0、fy=0、fz=1、nx=−1、ny=0、nz=0である。
同様に、図7に示したように、テーブル記憶部103には、状態s2からs4、s6からs10、s13、およびs14の接触状態毎に、力センサー20dが検出した検出値(fx,fy,fz、nx、ny、nz)が離散化され、離散化後の検出値が、各々、関連づけられて表形式で記憶されている。例えば、2行目に示すように、状態s2の離散化後の各検出値は、fx=0、fy=0、fz=1、nx=0、ny=0、nz=0である。
図8は、本実施形態に係るテーブル記憶部103に記憶されている物体座標系における状態p1から状態p8の力センサー20dの検出値を示す図である。なお、図8に示したテーブル記憶部103に記憶されている離散化後の検出値は、第4検出値である。
図8に示したように、テーブル記憶部103には、状態p1から状態p8の接触状態毎に、力センサー20dが検出した離散化後の検出値(fx、fy、fz、nx、ny、nz)が離散化され、離散化後の検出値が、各々、関連づけられて表形式で記憶されている。例えば、2行目に示すように、状態p1の離散化後の各検出値は、fx=1、fy=1、fz=1、nx=−1、ny=0、nz=0である。なお、図6から図8の−1、0、+1の各値は、力およびモーメントの向きを表している。すなわち、図6から図8において、検出値の符号が負の場合、各軸に対して反対方向の力、または反対方向のモーメントを表している。
なお、物体座標系の状態s2からs4、s6からs10、s13、およびs14における、力センサー20dが検出した検出値(fx、fy、fz、nx、ny、nz)の離散化後の各検出値は、図7に示した絶対座標系における状態s1からp14の離散化後の各検出値と同じである。また、離散化後の検出値を、図6から図8に示したが、これらの値は、テーブル記憶部103に、グループ分けして記憶するようにしてもよく、グループ分けせずに、まとめて記憶するようにしてもよい。
次に、テーブル記憶部103に記憶されている指令値について説明する。
図9は、本実施形態に係るテーブル記憶部103に記憶されている指令値を説明する図である。
図9に示すように、テーブル記憶部103には、現在の接触状態から次の目標状態に遷移させる状態毎に、マニピュレータ部20b、および把持部20cを制御する指令値として、角度(θ,θ,θ)、力(fx,fy,fz)が、表形式で関連づけられて記憶されている。図9に示すように、テーブル記憶部103には、以下の指令値が記憶されている。状態p1から状態s7、状態p2から状態s2、状態p2から状態s3、状態p2から状態s4、状態p3から状態s2、状態p4から状態s8、状態p5から状態s8、状態p5から状態s9、状態p5から状態s10、状態p6から状態s6、状態s6から状態p3、状態s7から状態p4、状態s2から状態s7、状態s4から状態p7、状態p7から状態s3、状態s3から状態s13、状態s8から状態p8、状態s10から状態p8、状態p8から状態s9、状態s9から状態s14への各状態から次の状態へ遷移させる指令値が、記憶されている。
なお、図9において、符号「→」は、現在の状態から、次の状態への状態遷移を表している。例えば、2行目の「p1→s7」は、状態p1から状態s7への状態を遷移させる指令値を表している。
なお、図9に示した角度(θ,θ,θ)、力(fx,fy,fz)の各値は、回転させる方向を表している。「+」の場合、その軸方向において正方向に回転させて、次の目標状態になるように制御する指令値である。また、「−」の場合、その軸方向において負方向に回転させて、次の目標状態になるように制御する指令値である。そして、角度(θ,θ,θ)、力(fx,fy,fz)の各値は、嵌め合わせを行う第1部品200、第2部品210の剛性等に応じて、設定するようにしてもよい。
次に、本実施形態におけるロボット制御装置10が行う処理手順を説明する。
まず、図6から図8に示したテーブルを、テーブル記憶部103に記憶する手順を説明する。図10は、本実施形態に係るテーブルをテーブル記憶部103に記憶する手順のフローチャートである。
(ステップS1)ロボット制御装置10の制御部105は、制御記憶部106に記憶されている制御値を読み出す。次に、制御部105は、読み出した制御値に基づいて、第1部品200と第2部品210を、順次、図5に示した状態p1〜p8、および状態s1〜s14の各接触状態になるように制御する。
(ステップS2)センサー検出値取得部101は、力センサー20dの検出値を取得し、取得した離散化前の検出値を第1検出値としてテーブル記憶部103に記憶させる。また、センサー検出値取得部101は、取得した離散化前の検出値を離散化部102に出力する。
(ステップS3)離散化部102は、センサー検出値取得部101が出力した離散化前の検出値を、絶対座標系から物体座標系に、上述した式(1)から(5)を用いて変換する。離散化部102は、絶対座標系において検出値を離散化し、離散化後の検出値を第3検出値としてテーブル記憶部103に記憶させる。次に、離散化部102は、物体座標系において検出値を離散化し、離散化後の検出値を第4検出値としてテーブル記憶部103に記憶させる。
(ステップS4)制御部105は、予め定められている全ての状態の検出値を取得したか否かを判別する。全ての状態の検出値を取得したと判別した場合(ステップS4;Yes)、テーブルの記憶処理を終了する。全ての状態の検出値を取得したと判別できない場合(ステップS4;No)、ステップS1に戻って、未処理の状態についてステップS1からステップS4を繰り返す。
次に、ロボット制御装置10が、図5に示した状態p1〜p8、および状態s1〜s14を判別し、遷移させる手順を説明する。図11は、本実施形態に係る第1部品200と第2部品210との接触状態を判別し、第1部品200と第2部品210との接触状態を遷移させる手順のフローチャートである。
(ステップS11)センサー検出値取得部101は、力センサー20dの離散化前の検出値を取得し、取得した離散化前の検出値を離散化部102に出力する。
(ステップS12)離散化部102は、センサー検出値取得部101が出力した離散化前の検出値を、絶対座標系から物体座標系に、上述した式(1)から(5)を用いて変換する。次に、離散化部102は、絶対座標系における離散化前の検出値、および物体座標系における離散化前の検出値を、各々離散化する。次に、離散化部102は、絶対座標系における離散化前の検出値、物体座標系における離散化前の検出値、絶対座標系における離散化後の検出値、および物体座標系における離散化後の検出値を選択部104に出力する。
(ステップS13)選択部104は、離散化部102が出力した絶対座標系における離散化後の検出値と、テーブル記憶部103に記憶されている第3検出値とを比較し、比較した結果に基づいて、第1部品200と第2部品210との接触状態を判別する。
(ステップS14)選択部104は、テーブル記憶部103に記憶されている接触状態のうち、離散化後の検出値と一致する状態が1つであるか2つであるかを判別する。離散化後の検出値と一致する状態が1つであると判別した場合(ステップS14;1つ)、選択部104は、ステップS13で判別した結果に基づいて、遷移情報を制御部105に出力し、ステップS18に進む。離散化後の検出値と一致する状態が2つであると判別した場合(ステップS14;2つ)、ステップS15に進む。なお、離散化後の検出値と一致する状態が2つあるのは、図6に示したように、状態p2とp4、状態p3とp5、状態p1とs7、および状態p6とs6である。
(ステップS15)離散化後の検出値と一致する状態が2つであると判別した場合、選択部104は、2つの状態が状態p2とp4、または状態p3とp5であるか、状態p1とs7、または状態p6とs6であるか判別する。2つの状態が状態p2とp4、または状態p3とp5であると判別した場合(ステップS15;状態p2とp4、または状態p3とp5)、ステップS16に進む。2つの状態が状態p1とs7、または状態p6とs6であると判別した場合(ステップS15;状態p1とs7、または状態p6とs6)、ステップS17に進む。
(ステップS16)2つの状態が状態p2とp4、または状態p3とp5であると判別し
た場合、選択部104は、離散化前の検出値に含まれる力fxとfzの値と、テーブル記
憶部103に記憶されている第1検出値に含まれる力fxとfzの値を比較する。次に、
選択部104は、比較した結果に基づいて、第1部品200と第2部品210との接触状
態が、状態p2であるか状態p4、または状態p3であるか状態p5を判別する。次に、
選択部104は、判別した結果に基づいて、遷移情報を制御部105に出力する。
(ステップS17)2つの状態が状態p1とs7、または状態p6とs6であると判別した場合、選択部104は、物体座標系の離散化後の検出値と、図7および図8に示したテーブル記憶部103に記憶されている物体座標系の第4検出値とを比較する。
具体的には、選択部104は、2つの状態が状態p1とs7であると判別した場合、物体座標系の離散化後の検出値のうち、力fxについて第4検出値と比較する。選択部104は、力fxが1の場合、状態p1であると判別し、力fxが0の場合、状態s7であると判別する。なお、選択部104は、力fyを用いて比較してもよい。この場合、選択部104は、力fyが1の場合、状態p1であると判別し、力fyが0の場合、状態s7であると判別する。
選択部104は、2つの状態が状態p6とs6であると判別した場合、物体座標系の離散化後の検出値のうち、力fxについて第4検出値と比較する。選択部104は、力fxが1の場合、状態p6であると判別し、力fxが0の場合、状態s6であると判別する。
なお、選択部104は、力fyを用いて比較してもよい。この場合、選択部104は、力fyが−1の場合、状態p6であると判別し、力fyが0の場合、状態s7であると判別する。
次に、選択部104は、判別した結果に基づいて、遷移情報を制御部105に出力する。
(ステップS18)制御部105は、選択部104が出力した遷移情報に基づいて、第1部品200と第2部品210との接触状態が目標としている状態(最終目標状態)であるか否かを判別する。なお、最終目標状態とは、図5において、状態s13、または状態s14である。第1部品200と第2部品210との状態が目標としている状態ではないと判別した場合(ステップS18;No)、ステップS19に進む。第1部品200と第2部品210との状態が目標としている状態であると判別した場合(ステップS18;Yes)、第1部品200と第2部品210との接触状態を遷移させる処理を終了する。
(ステップS19)制御部105は、選択部104が出力した遷移情報に基づいて、テーブル記憶部103に記憶されている指令値を選択する。例えば、遷移情報が、状態p1から状態s7である場合、制御部105は、状態p1から状態s7への指令値を選択する。制御部105は、選択した指令値に基づいてマニピュレータ部20b、および把持部20cを制御する。ステップS19終了後、ステップS11に戻る。
なお、ロボット制御装置10は、図5に示した状態のうち状態s1、s5、s11、s12であることを撮像装置30が撮像した画像データに基づいて判別するようにしてもよい。状態s1、s5、s11、s12であることを判別した場合、ロボット制御装置10は、例えば、第1部品200を把持し直し、初期姿勢k1からk6のいずれかの状態から、第1部品200と第2部品210との嵌め合わせを、再度、ステップS1から行うようにしてもよい。
ここで、ロボット制御装置10が行う制御の一例を説明する。
図5において、ロボット制御装置10は、初期姿勢k1から、第1部品200を、絶対座標系の負方向のz軸方向に状態p1になるまで降ろすように制御する。状態p1であることを判別した後、ロボット制御装置10は、第1部品200と第2部品210との接触状態を、状態s7になるように制御する。状態s7であることを判別した後、ロボット制御装置10は、第1部品200と第2部品210との接触状態を、状態p4になるように制御する。状態p4であることを判別した後、ロボット制御装置10は、第1部品200と第2部品210との接触状態を、状態s8になるように制御する。状態s8であることを判別した後、ロボット制御装置10は、第1部品200と第2部品210との接触状態を、状態s9になるように制御する。状態s9であることを判別した後、ロボット制御装置10は、第1部品200と第2部品210との接触状態を、状態s14になるように制御する。
また、ロボット制御装置10は、状態s9からs14へは、穴211の辺bdに、第1部品200の辺CDを接触させた状態、すなわち第1部品200の辺CDを穴211の辺bdに押し当てたまま嵌め合わせを行っている。
以上のように、本実施形態のロボット装置1は、ロボット装置1が備える力センサー20dが検出した検出値に基づいて、第1部品200と第2部品210との接触状態を判別するようにした。そして、本実施形態のロボット装置1は、判別した状態に応じて、テーブル記憶部103に記憶されている遷移情報を選択して、第1部品200と第2部品210との次の目標状態を制御するようにした。この結果、本実施形態によれば、第2部品210の穴211が面取されていなくても、第1部品を嵌め合うことができる。
さらに、本実施形態のロボット装置1は、絶対座標系における第1部品200と第2部品210との接触状態を、離散化後の検出値に基づいて判別するようにした。従って、第1部品200と第2部品210との接触状態の演算量を削減することができる。また、本実施形態のロボット装置1は、検出値と同じ状態が記憶部に複数記憶されている場合、絶対座標系における離散化前の検出値、絶対座標系における離散化後の検出値、および物体座標系における離散化後の検出値に基づいて判別するようにしたので、第1部品200と第2部品210との接触状態を適切に判別できる。
なお、本実施形態では、検出値と一致する接触状態が記憶部に複数記憶されている場合、離散化部102が、検出値を絶対座標系から物体座標系に変換して、絶対座標系および限られない。ステップS15で比較した結果、一致する2つの状態が状態p1とs7、または状態p6とs6と判別した場合、選択部104が絶対座標系から物体座標系に変換し、変換した検出値を離散化するようにしてもよい。これにより演算量を削減することができる。また、この場合においても、絶対座標系から物体座標系への変換、および離散化は離散化部102が行うようにしてもよい。
[第2実施形態]
第1実施形態では、図5に示した初期姿勢k1からk6における第1部品200と第2部品210を嵌め合わせる例を説明したが、本実施形態では、図4に示した絶対座標系におけるx方向の位置決めができている状態から、嵌め合わせる例を説明する。
また、本実施形態であるロボット装置は、第1部品と第2部品の接触状態を、第1接触状態にさせ、第1接触状態にさせた後に第2接触状態にさせ、第2接触状態にさせた後に第3接触状態にさせることで嵌め合わせを行う。さらに、本実施形態であるロボット装置は、第3接触状態において、第1部品が、第2部品の穴に接している面に沿わせて、第1部品を第2部品の穴に取り付ける(嵌め合わせる)ように順次、遷移させる。
なお、第1部品200と第2部品210との接触状態とは、第1部品200と第2部品との様態であり、第1部品200と第2部品とが点接触している状態(第1接触状態)、線接触している状態(第2接触状態)、面接触している状態(第3接触状態)、第1部品200が穴211に入っている状態等を含む状態である。本実施形態において、第1接触状態は、例えば、第1部品の辺と穴211の稜線とが1点で接している状態である。第2接触状態は、例えば、第1部品の面と穴211の稜線とが接触している状態である。第3接触状態は、例えば、第1部品の面と穴211の面とが接触している状態である。
また、ロボット装置1の概略は、第1実施形態の図1と同じ構成である。ロボット制御装置10の構成は、第1実施形態の図3と同じ構成である。なお、ロボット制御装置10は、x方向の位置決めができている状態を、例えば、撮像装置30が撮像した画像データに基づいて判別するようにしてもよい。
図12は、本実施形態に係るxy平面における第1部品200における寸法と、第2部品210の穴211の寸法を説明する図である。図13は、本実施形態に係る第1部品200と第2部品210における絶対座標系と物体座標系および各頂点を説明する図である。なお、図12において、左右方向をx軸方向、奥行き方向をy軸方向、垂直方向をz軸方向とする。
図12に示すように、第1部品200のx軸方向の長さはWであり、y軸方向の長さはWである。また、第2部品210の穴211のx軸方向の長さはW+εであり、y軸方向の長さはW+εである。すなわち、第2部品210の穴径の方が、第1部品200の寸法より、x軸方向にε大きく、y軸方向にε大きい。
図13に示すように、第2部品210の穴211の裏面e1f1g1h1の中心を、絶対座標系の原点Oとする。また、x軸方向をxで表し、y軸方向をyで表し、z軸方向をzで表す。第2部品210の穴211において、原点Oを含む裏面側の各頂点を、各々e1、f1、g1、およびh1とする。第2部品210の穴211において、原点Oを含まない表面側の各頂点を、各々a1、b1、c1、およびd1とする。
また、図13に示すように、第1部品200の裏面E1F1H1G1の中心を、物体座標系の原点Oobjとする。また、x軸方向をxobjで表し、y軸方向をyobjで表し、z軸方向をzobjで表す。第1部品200において、原点Oobjを含む裏面側の各頂点を、各々E1、F1、G1、およびH1とする。第1部品200において、原点Oobjを含まない表面側の各頂点を、各々々A1、B1、C1、およびD1とする。
本実施形態における前提条件は以下である。
1.絶対座標系から見た物体座標系の姿勢の誤差を表す角度の範囲は、−45[deg]〜+45[deg]未満とする。
2.物体座標系の原点と絶対座標系の原点の位置objおよびobjの関係は、次式(6)で表される誤差範囲である。
Figure 2016120593
3.点接触は、稜線と稜線接触のみを考慮する。
4.明らかに目標の位置・姿勢から離れる状態への遷移は、考慮しない。
5.物体座標系の原点に、コンプライアンス(剛性の逆数)・センターがあるとする。
6.第2部品210の穴211において、稜線a1b1、またはc1d1と第1部品200との接触のみを考慮する。なお、稜線a1b1、または稜線c1d1と第1部品200との接触のみ考慮する理由は、稜線b1c1、または稜線a1d1と第1部品200との接触は、座標系を変えれば、同様の制御となるためである。
次に、テーブル記憶部103に記憶されている遷移情報、力センサー20dの検出値、指令値について説明する。
まず、テーブル記憶部103に記憶されている遷移情報について説明する。
図14は、本実施形態に係るテーブル記憶部103に記憶されている遷移情報に基づく状態遷移図である。
図14に示すように、テーブル記憶部103には、第1部品200と第2部品210との接触状態と遷移情報とが、接触様態毎に各々関連づけられて記憶されている。図14において、矢印t101〜t116、t121〜t128、t131〜t138、t141〜t148、t151〜t158は、各接触状態から次の目標状態への直接遷移させることを表している。
図14の例において、テーブル記憶部103に記憶されている遷移情報は以下の通りである。矢印t101およびt102に示すように、状態p101の次の目標状態は、状態tp101またはl102である。矢印t103およびt104に示すように、状態p102の次の目標状態は、状態tp102またはl102である。矢印t105およびt106に示すように、状態p103の次の目標状態は、状態tp103またはl105である。矢印t107およびt108に示すように、状態p104の次の目標状態は、状態tp104またはl105である。矢印t109およびt110に示すように、状態p105の次の目標状態は、状態tp105またはl108である。矢印t111およびt112に示すように、状態p106の次の目標状態は、状態tp106またはl108である。矢印t113およびt114に示すように、状態p107の次の目標状態は、状態tp107またはl111である。矢印t115およびt116に示すように、状態p108の次の目標状態は、状態tp108またはl111である。
矢印t121に示すように、状態tp101の次の目標状態は、状態l101である。矢印t122に示すように、状態tp102の次の目標状態は、状態l103である。矢印t123に示すように、状態tp103の次の目標状態は、状態l104である。矢印t124に示すように、状態tp104の次の目標状態は、状態l106である。矢印t125に示すように、状態tp105の次の目標状態は、状態l107である。矢印t126に示すように、状態tp106の次の目標状態は、状態l109である。矢印t127に示すように、状態tp107の次の目標状態は、状態l110である。矢印t128に示すように、状態tp108の次の目標状態は、状態l112である。
矢印t131〜t132に示すように、状態l102、およびl103の次の目標状態は、状態l101である。矢印t133〜t134に示すように、状態l105、およびl106の次の目標状態は、状態l104である。矢印t135〜t136に示すように、状態l108、およびl109の次の目標状態は、状態l107である。矢印t137〜t138に示すように、状態l111、およびl112の次の目標状態は、状態l110である。
なお、矢印t121〜t128、t131〜t138は、第1部品200を、第2部品210の穴211に押し込むように、ロボット制御装置10が制御する遷移状態である。
矢印t141〜t143に示すように、状態l101の次の目標状態は、状態s101、s102、s103のいずれかの状態である。矢印t144に示すように、状態l104の次の目標状態は、状態s104である。矢印t145〜t147に示すように、状態l107の次の目標状態は、状態s104、s105、s106のいずれかの状態である。矢印t148に示すように、状態l110の次の目標状態は、状態s103である。
矢印t151に示すように、状態s101の次の目標状態は、状態s107である。矢印t152に示すように、状態s103の次の目標状態は、状態s107である。矢印t153に示すように、状態s104の次の目標状態は、状態s108である。矢印t154に示すように、状態s106の次の目標状態は、状態s108である。矢印t155に示すように、状態s107の次の目標状態は、状態s102である。矢印t156に示すように、状態s108の次の目標状態は、状態s105である。矢印t157に示すように、状態s102の次の目標状態は、状態s109である。矢印t158に示すように、状態s105の次の目標状態は、状態s110である。
状態p101は、第1部品200の辺A1E1と穴211の稜線a1b1が1点で点接触している。状態p102は、第1部品200の辺B1F1と穴211の稜線a1b1が1点で点接触している。状態p103は、第1部品200の辺E1H1と穴211の稜線a1b1が1点で点接触している。状態p104は、第1部品200の辺F1G1と穴211の稜線a1b1が1点で点接触している。状態p105は、第1部品200の辺D1H1と穴211の稜線c1d1が1点で点接触している。状態p106は、第1部品200の辺C1G1と穴211の稜線c1d1が1点で点接触している。状態p107は、第1部品200の辺E1H1と穴211の稜線c1d1が1点で点接触している。状態p108は、第1部品200の辺F1G1と穴211の稜線c1d1が1点で点接触している。
状態tp101は、第1部品200の辺A1E1と穴211の稜線a1b1、第1部品200の辺E1H1と穴211の稜線a1d1が接している2点で接触している。状態tp102は、第1部品200の辺B1F1と穴211の稜線a1b1、第1部品200の辺F1G1と穴211の稜線b1c1が接している2点で接触している。状態tp103は、第1部品200の辺E1H1と穴211の稜線a1b1、第1部品200の辺D1H1と穴211の稜線a1d1が接している2点で接触している。状態tp104は、第1部品200の辺F1G1と穴211の稜線a1b1、第1部品200の辺C1G1と穴211の稜線b1c1が接している2点で接触している。状態tp105は、第1部品200の辺D1H1と穴211の稜線c1d1、第1部品200の辺E1H1と穴211の稜線a1d1が接している2点で接触している。状態tp106は、第1部品200の辺C1G1と穴211の稜線c1d1、第1部品200の辺F1G1と穴211の稜線b1c1が接している2点で接触している。状態tp107は、第1部品200の辺E1H1と穴211の稜線c1d1、第1部品200の辺A1E1と穴211の稜線a1d1が接している2点で接触している。状態tp108は、第1部品200の辺G1F1と穴211の稜線c1d1、第1部品200の辺B1F1と穴211の稜線b1c1が接している2点で接触している。
状態l101は、第1部品200の面A1B1F1E1と穴211の稜線a1b1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態l102は、第1部品200の面A1B1F1E1と穴211の稜線a1b1が線接触している。状態l103は、第1部品200の面A1B1F1E1と穴211の稜線a1b1が線接触し、第1部品200の面B1C1G1F1と穴211の面b1c1g1f1が面接触している。状態l104は、第1部品200の面E1F1G1H1と穴211の稜線a1b1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態l105は、第1部品200の面E1B1G1H1と穴211の稜線a1b1が線接触している。状態l106は、第1部品200の面E1F1G1H1と穴211の稜線a1b1が線接触し、第1部品200の面B1C1G1F1と穴211の面b1c1g1f1が面接触している。状態l107は、第1部品200の面C1D1H1G1と穴211の稜線c1d1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態l108は、第1部品200の面C1D1H1G1と穴211の稜線c1d1が線接触している。状態l109は、第1部品200の面C1D1H1G1と穴211の稜線c1d1が線接触し、第1部品200の面B1C1G1F1と穴211の面b1c1g1f1が面接触している。状態l110は、第1部品200の面E1F1G1H1と穴211の稜線c1d1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態l111は、第1部品200の面E1F1G1H1と穴211の稜線c1d1が線接触している。状態l112は、第1部品200の面E1F1G1H1と穴211の稜線c1d1が線接触し、第1部品200の面B1C1G1F1と穴211の面b1c1g1f1が面接触している。
状態s101は、第1部品200の面A1B1F1E1と穴211の稜線a1b1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態s102は、第1部品200の面A1B1F1E1と穴211の面a1b1f1g1が面接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態s103は、第1部品200の面A1B1F1E1と穴211の稜線a1d1が線接触し、第1部品200の面E1F1G1H1と穴211の稜線c1d1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態s104は、第1部品200の面C1D1H1G1と穴211の稜線c1d1が線接触し、第1部品200の面E1F1G1H1と穴211の稜線a1b1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態s105は、第1部品200の面A1B1F1E1と穴211の面a1b1f1g1が面接触し、第1部品200の面B1C1G1F1と穴211の面b1c1g1f1が面接触している。状態s106は、第1部品200の面C1D1H1G1と穴211の稜線c1d1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態s107は、第1部品200の面A1B1F1E1と穴211の稜線a1b1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態s108は、第1部品200の面C1D1H1G1と穴211の稜線c1d1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態s109は、第1部品200の面A1B1F1E1と穴211の面a1b1f1g1が面接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触し、第1部品200の面E1F1G1H1と穴211の面e1f1g1h1が面接触している。状態s110は、第1部品200の面A1B1F1E1と穴211の面a1b1f1g1が面接触し、第1部品200の面B1C1G1F1と穴211の面b1c1g1f1が面接触し、第1部品200の面E1F1G1H1と穴211の面e1f1g1h1が面接触している。
次に、テーブル記憶部103に記憶されている力センサーの離散化後の検出値について説明する。
図15は、本実施形態に係るテーブル記憶部103に記憶されている状態p101から状態p108の力センサー20dの離散化後の検出値を示す図である。図16は、本実施形態に係るテーブル記憶部103に記憶されている絶対座標系における状態tp101から状態tp108の力センサー20dの離散化後の検出値を示す図である。図17は、本実施形態に係るテーブル記憶部103に記憶されている絶対座標系における状態l101から状態l112の力センサー20dの離散化後の検出値を示す図である。図18は、本実施形態に係るテーブル記憶部103に記憶されている絶対座標系における状態s101から状態s110の力センサー20dの離散化後の検出値を示す図である。
次に、テーブル記憶部103に記憶されている各接触状態から次の目標状態へ遷移させる指令値について説明する。
図15に示すように、テーブル記憶部103には、状態p101から状態p108の絶対座標系における力(fx,fy,fz)、物体座標系におけるモーメント(objnx,objny,objnz)が関連づけられて記憶されている。例えば、2行目に示すように、状態p101の離散化後の各検出値は、fx=0、fy=1、fz=1、objnx=−1、objny=0、objnz=−1である。
なお、絶対座標系における離散化された検出値と、物体座標系における離散化された検出値との組み合わせを、本実施形態では第2検出値と称する。
なお、テーブル記憶部103には、絶対座標系における力(fx,fy,fz)およびモーメント(nx,ny,nz)を関連づけられて記憶させ、物体座標系における力(objfx,objfy,objfz)およびモーメント(objnx,objny,objnz)を関連づけて記憶させるようにしてもよい。この場合、選択部104が、テーブル記憶部103に記憶されている絶対座標系における力(fx,fy,fz)、および物体座標系におけるモーメント(objnx,objny,objnz)を読み出して、読み出した結果に基づいて、第1部品200と第2部品210との接触状態を判別するようにしてもよい。
図16に示すように、テーブル記憶部103には、状態tp101から状態tp108の絶対座標系における力(fx,fy,fz)、およびモーメント(nx,ny,nz)が関連づけられて記憶されている。例えば、2行目に示すように、状態tp101の離散化後の各検出値は、fx=1、fy=1、fz=1、nx=−1、ny=1、nz=0である。
図17に示すように、テーブル記憶部103には、状態l101から状態l112の絶対座標系における力(fx,fy,fz)、およびモーメント(nx,ny,nz)が関連づけられて記憶されている。例えば、2行目に示すように、状態l101の離散化後の各検出値は、fx=1、fy=1、fz=1、nx=−1、ny=0、nz=0である。
図18に示すように、テーブル記憶部103には、状態s101から状態s110の絶対座標系における力(fx,fy,fz)、およびモーメント(nx,ny,nz)が関連づけられて記憶されている。例えば、2行目に示すように、状態s101の離散化後の各検出値は、fx=1、fy=0、fz=1、nx=−1、ny=0、nz=0である。
なお、3値化後の各検出値を、図15から図18に示したが、これらの値は、テーブル記憶部103に、グループ分けして記憶するようにしてもよく、グループ分けせずに、まとめて記憶するようにしてもよい。
次に、テーブル記憶部103に記憶されている各状態からの状態遷移の指令値について説明する。
図19は、本実施形態に係るテーブル記憶部103に記憶されている状態p101〜p108からの状態遷移毎の指令値を説明する図である。図20は、本実施形態に係るテーブル記憶部103に記憶されている状態tp101〜tp108からの状態遷移毎の指令値を説明する図である。図21は、本実施形態に係るテーブル記憶部103に記憶されている状態l102、l103、l105、l106、l108、l109、l111、l112からの状態遷移毎の指令値を説明する図である。図22は、本実施形態に係るテーブル記憶部103に記憶されている状態l101、l104、l107、l110からの状態遷移毎の指令値を説明する図である。図23は、本実施形態に係るテーブル記憶部103に記憶されている状態s101、s102、s103、s104、s105、s106、s107、s108、s109からの状態遷移毎の指令値を説明する図である。
図19から図23に示すように、テーブル記憶部103には、現在の状態から次に遷移させる状態毎に、マニピュレータ部20b、および把持部20cへの指令値である角度(θ,θ,θ)、力(fx,fy,fz)が、表形式で関連づけられて記憶されている。なお、図19から図23において、正値は、各軸に正方向に移動させることで目標状態になるように制御する値であり、負値は、各軸に負方向に移動させることで目標状態になるように制御する指令値である。図19から図23に示した例では、角度が、−45[deg]、−20[deg]、0[deg]、+20[deg]および+45[deg]の値を示したが、この値は一例である。同様に、力は、−1[N(ニュートン)]、0[N]、および+1[N]の値を示したが、この値も一例である。第1部品200、第2部品210の剛性等に応じて設定するようにしてもよい。
また、図19から図23において、符号「→」は、現在の接触状態から、次の目標状態への状態遷移を表している。
図19に示すように、テーブル記憶部103には、以下の指令値が記憶されている。状態p101から状態tp101またはl102、状態p102から状態tp102またはl102、状態p103から状態tp103またはl105、状態p104から状態tp104またはl105、状態p105から状態tp105またはl108、状態p106から状態l108、状態p107から状態tp107またはl111、状態p108から状態tp108またはtp111への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態p101から状態tp101への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],0[deg],45[deg],0[N],0[N],0[N])である。
図20に示すように、テーブル記憶部103には、状態tp101から状態l101、状態tp102から状態l103、状態tp103から状態l104、状態tp104から状態l106、状態tp105から状態l107、状態tp106から状態l109、状態tp107から状態l110、状態tp108から状態l112への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態tp101から状態l101への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],0[deg],−45[deg],−1[N],0[N],0[N])である。
図21に示すように、テーブル記憶部103には、状態l102から状態l101、状態l103から状態l101、状態l105から状態l104、状態l106から状態l104、状態l108から状態l107、状態l109から状態l107、状態l111から状態l110、状態l112から状態l110への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態l102から状態l101への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],0[deg],0[deg],−1[N],0[N],0[N])である。
図22に示すように、テーブル記憶部103には、状態l101から状態s101、s102またはs103、状態l104から状態s104、状態l107から状態s104、s105またはs106、状態l110から状態s103への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態l101から状態s101への指令値(θ,θ,θ,fx,fy,fz)は、(20[deg],0[deg],0[deg],0[N],0[N],0[N])である。
図23に示すように、テーブル記憶部103には、状態s101から状態s107、状態s103から状態s107、状態s104から状態s108、状態s106から状態s108、状態s107から状態s102、状態s108から状態s105、状態s102から状態s109、状態s105から状態s110への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態s101から状態s107への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],0[deg],0[deg],0[N],0[N],0[N])である。
なお、状態遷移毎の指令値を、図19から図23に示したが、これらの値は、テーブル記憶部103に、グループ分けして記憶するようにしてもよく、グループ分けせずに、まとめて記憶するようにしてもよい。
テーブル記憶部103に、接触状態毎の力センサー20dの検出値(離散化前および離散化後)を記憶する手順は、図10を用いて説明した第1実施形態と同様に行う。
次に、ロボット制御装置10が、図14に示した状態p101〜p108、状態tp101〜tp108、l101〜l112、s108〜s110を判別し、遷移させる手順を説明する。
図24は、本実施形態に係る第1部品200と第2部品210との接触状態を判別し、第1部品200と第2部品210との接触状態を遷移させる手順のフローチャートである。なお、初期姿勢p101〜p108までの制御は、ロボット制御装置10が制御記憶部106に記憶されている制御値を用いて、マニピュレータ部20bと把持部20cを制御することで行う。
(ステップS101〜ステップS102)ステップS101〜ステップS102は、第1実施形態(図11)のステップS11からS12と同様に処理する。
(ステップS103)選択部104は、離散化部102が出力した離散化後の検出値と、テーブル記憶部103に記憶されている第2検出値とを比較する。この場合、図15に示したように、比較する検出値は、絶対座標系における力の離散化後の検出値と、物体座標系におけるモーメントの離散化後の検出値との組み合わせである。
(ステップS104)選択部104は、比較した結果に基づいて、図14および図15に示した状態p101〜p108のうち、どの接触状態であるか判別する。選択部104は、判別した結果に基づいて、テーブル記憶部103に記憶される遷移情報の中から、遷移させる次の目標状態を判別する。この場合、遷移させる次の目標状態は、状態tp101〜tp108、l102、l105、l108、l111のいずれかである。次に、選択部104は、判別した結果に基づいて、遷移情報を制御部105に出力する。
なお、第1部品200と第2部品210との接触状態が、例えば状態p101である場合、テーブル記憶部103には、状態tp101およびl102へ遷移情報が記憶されている。このような場合、選択部104は、予め定められている優先順位に基づいて、遷移情報を選択する。予め定められている優先順位とは、例えば最短の制御手順になる状態遷移である。
(ステップS105)制御部105は、選択部104が出力した遷移情報に基づいて、テーブル記憶部103に記憶されている指令値を選択する。例えば、遷移情報が、状態p101から状態tp101である場合、制御部105は、テーブル記憶部103から状態p101から状態tp101に遷移させる指令値を選択する。制御部105は、選択した指令値に基づいて、状態tp101になるように第1部品200を把持しているマニピュレータ部20b、および把持部20cを制御する。
(ステップS106〜ステップS108)
ステップS106〜ステップS108は、ステップS101からS103と同様に処理する。なお、ステップS108において、選択部104は、遷移させる次の目標状態を判別する場合、検出値と記憶されている全ての接触状態の検出値と比較するのではなく、テーブル記憶部103に記憶される状態遷移に従った接触状態のみについて比較する。具体的には、現在の接触状態が状態l101である場合、選択部104は、絶対座標系における離散化後の検出値と、テーブル記憶部103に記憶されている状態s101、s102、およびs103の第2検出値とを比較して、比較した結果に基づいて状態を判別する。
この場合、図16〜図18に示したように、比較する検出値は、絶対座標系における力の3値化後の検出値とモーメントの離散化後の検出値との組み合わせである。
(ステップS109)制御部105は、選択部104が出力した遷移情報に基づいて、第1部品200と第2部品210との接触状態が目標としている状態(最終目標状態)であるか否かを判別する。なお、最終目標状態とは、図14において、状態s109、または状態s110である。第1部品200と第2部品210との状態が目標としている状態ではないと判別した場合(ステップS109;No)、ステップS106に戻り、ステップS106からS109を繰り返す。
第1部品200と第2部品210との状態が目標としている状態であると判別した場合
(ステップS109;Yes)、第1部品200と第2部品210との接触状態を遷移させる処理を終了する。
ここで、ロボット制御装置10が行う制御の一例を説明する。
図14において、ロボット制御装置10は、第1部品200と第2部品210との接触状態を、初期姿勢p101から状態tp101になるように制御する。状態tp101であることを判別した後、ロボット制御装置10は、接触状態を状態tp101から状態l101になるように制御する。状態l101であることを判別した後、ロボット制御装置10は、接触状態を状態l101から状態s101になるように制御する。状態s101であることを判別した後、ロボット制御装置10は、接触状態を状態s101から状態s107になるように制御する。状態s107であることを判別した後、ロボット制御装置10は、接触状態を状態s101から状態s102になるように制御する。状態s102であることを判別した後、ロボット制御装置10は、接触状態を状態s102から状態s109になるように制御する。
以上のように、本実施形態のロボット装置1は、絶対座標系においてx軸方向の位置決めができている状態からの嵌め込みを行う場合、ロボット装置1が備える力センサー20dが検出した検出値に基づいて、第1部品200と第2部品210との接触状態を決定するようにした。そして、本実施形態のロボット装置1は、決定した状態に応じて、テーブル記憶部103に記憶されている遷移情報を選択して、第1部品200と第2部品210との接触状態を制御するようにした。この結果、本実施形態によれば、第2部品210の穴211が面取されていなくても、第1部品を嵌め合うことができる。
この場合、第1部品200と、穴211の稜線B1C1との接触、または稜線A1D1との接触状態に基づいて、状態と、状態遷移をテーブル記憶部103に記憶させるようにしたので、第1部品200と第2部品210との接触状態の判別にようする演算量を削減できる。
[第3実施形態]
本実施形態では、図13に示した第1部品200のいずれかの頂点が、第2部品210の穴211に入っている状態からxy方向それぞれの方向に接触するまで動かして嵌め合わせる例を説明する。
また、本実施形態であるロボット装置は、第1部品と第2部品の接触状態を、第1接触状態にさせ、第1接触状態にさせた後に第2接触状態にさせ、第2接触状態にさせた後に第3接触状態にさせることで嵌め合わせを行う。さらに、本実施形態であるロボット装置は、第3接触状態において、第1部品が、第2部品の穴に接している面に沿わせて、第1部品を第2部品の穴に取り付ける(嵌め合わせる)ように順次、遷移させる。
なお、第1部品200と第2部品210との接触状態とは、第1部品200と第2部品との様態であり、第1部品200と第2部品とが点接触している状態(第1接触状態)、線接触している状態(第2接触状態)、面接触している状態(第3接触状態)、第1部品200が穴211に入っている状態等を含む状態である。第1接触状態〜第3接触状態は、第2実施形態と同様の状態である。
また、ロボット装置1の概略は、第1実施形態の図1と同じ構成である。ロボット制御装置10の構成は、第1実施形態の図3と同じ構成である。第1部品200と第2部品210における絶対座標系と物体座標系、および第1部品200と第2部品210における各頂点は、第2実施形態の図13と同様である。
本実施形態における前提条件は以下である。
1.初期姿勢は、第1部品の頂点E1、F1、G1、およびH1のいずれが、第2部品210の穴211の領域を表す面a1b1c1d1内に存在する。すなわち、穴211の領域の面a1b1c1d1内に存在する第1部品の頂点は、1つのみである。
2.第1部品200の初期姿勢と最終目標状態の姿勢の誤差が小さいと仮定する。すなわち、絶対座標系から見た物体座標系の姿勢の誤差を表す角度の範囲は、−10[deg]〜+10[deg]未満とする。
3.明らかに目標の位置・姿勢から離れる接触状態への遷移は、考慮しない。
4.物体座標系の原点にコンプライアンス・センターがあり、ダンピング特性を持っているとする。
5.ロボット制御装置10は、初期姿勢から一定の操作を行い、第2部品210の穴211の頂a1回りで操作する。すなわち、ロボット制御装置10は、第1部品200を、初期姿勢から絶対座標系のx軸負の方向へ穴211の稜線a1d1と接触させるまで移動させるように制御する。次に、ロボット制御装置10は、接触させた後、絶対座標系のy軸負の方向へ穴211の稜線a1b1と接触させるように制御する。
次に、テーブル記憶部103に記憶されている遷移情報、力センサー20dの検出値、
指令値について説明する。
まず、テーブル記憶部103に記憶されている第1部品200の頂点毎の遷移情報について説明する。
図25は、本実施形態に係るテーブル記憶部103に記憶されている第1部品200の頂点E1が穴211に入っている状態の後の遷移情報に基づく状態遷移図である。図26は、本実施形態に係るテーブル記憶部103に記憶されている第1部品200の頂点F1の遷移情報に基づく状態遷移図である。図27は、本実施形態に係るテーブル記憶部103に記憶されている第1部品200の頂点G1が穴211に入っている状態の後の遷移情報に基づく状態遷移図である。図28は、本実施形態に係るテーブル記憶部103に記憶されている第1部品200の頂点H1が穴211に入っている状態の後の遷移情報に基づく状態遷移図である。
なお、テーブル記憶部103に記憶されている頂点毎の遷移情報とは、例えば図25において、初期姿勢k1から状態p201、初期姿勢k1から状態p202、状態p201から状態tp201など、矢印t201〜t261で示した遷移させる情報である。また、図25に示した頂点E1の場合の遷移情報は関連づけられて記憶されている。同様に、図26に示した頂点F1の場合の遷移情報は関連づけられて記憶されている。図27に示した頂点G1の場合の遷移情報は関連づけられて記憶されている。図28に示した頂点H1の場合の遷移情報は関連づけられて記憶されている。
なお、以下、図25〜図28を、各頂点における状態遷移の関係という。
図25の例において、テーブル記憶部103に記憶されている遷移情報は以下の通りである。矢印t201およびt202に示すように、初期姿勢k11の次の目標状態は、状態p201またはp202である。矢印t211およびt212に示すように、状態p201の次の目標状態は、状態tp201またはtp202である。矢印t223に示すように、状態p204の次の目標状態は、状態l203である。矢印t224に示すように、状態l202の次の目標状態は、状態l201である。矢印t231に示すように、状態l201の次の目標状態は、状態s201である。矢印t232に示すように、状態l203の次の目標状態は、状態s202である。矢印t241に示すように、状態s201の次の目標状態は、状態l208である。矢印t242に示すように、状態s202の次の目標状態は、状態l209である。矢印t251およびt252に示すように、状態l208およびl209の次の目標状態は、状態s203である。矢印t261に示すように、状態s203の次の目標状態は、状態s204である。
初期姿勢k11は、第1部品200の頂点E1が穴211に入っている状態である。
状態p201およびp202は、初期姿勢k11から、x軸方向の負方向に第1部品200を移動させた後の第1部品200と穴211の接触状態を表している。この状態では、第1部品200の頂点E1が、穴211の稜線a1b1と接している。
状態p201は、第1部品200の辺A1E1と穴211の稜線a1d1が1点で点接触している。状態p202は、第1部品200の辺E1H1と穴211の稜線a1d1が1点で点接触している。状態tp201は、第1部品200の辺A1E1と穴211の稜線a1d1、第1部品200の辺E1F1と穴211の稜線a1b1の2点で点接触している。状態tp202は、第1部品200の辺A1E1と穴211の頂点a1が1点で点接触している。状態tp204は、第1部品200の辺E1H1と穴211の稜線a1d1、第1部品200の辺A1E1と穴211の稜線a1b1の2点で点接触している。
状態l201は、第1部品200の面A1D1H1E1と穴211の稜線a1d1が線接触し、第1部品200の面A1B1F1E1と穴211の面a1b1f1e1が面接触している。状態l202は、第1部品200の面A1B1F1E1と穴211の稜線a1d1が線接触、または、第1部品200の面A1B1F1E1と穴211の頂点a1が点接触している。状態l203は、第1部品200の面A1B1F1E1と穴211の稜線a1b1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態l208は、第1部品200の面A1D1H1E1と穴211の稜線a1d1が線接触し、第1部品200の面A1B1F1E1と穴211の面a1b1f1e1が面接触している。状態l209は、第1部品200の面A1B1F1E1と穴211の稜線a1b1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。
状態s201は、第1部品200の面A1D1H1E1と穴211の稜線a1d1が線接触し、第1部品200の面E1F1G1H1と穴211の稜線b1c1が線接触し、第1部品200の面A1B1F1E1と穴211の面a1b1f1e1が面接触している。状態s202は、第1部品200の面A1B1F1E1と穴211の稜線a1d1が線接触し、第1部品200の面E1F1G1H1と穴211の稜線c1d1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1b1f1e1が面接触している。状態s203は、第1部品200の面A1B1F1E1と穴211の面a1b1f1e1が面接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態s204は、第1部品200の面A1B1F1E1と穴211の面a1b1h1e1が面接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触し、第1部品200の面E1F1G1H1と穴211の面e1f1g1h1が面接触している。
図26の例において、テーブル記憶部103に記憶されている遷移情報は以下の通りである。矢印t301に示すように、初期姿勢k12の次の目標状態は、状態p301である。矢印t311およびt312に示すように、状態p301の次の目標状態は、状態tp303またはtp304である。矢印t321に示すように、状態tp303の次の目標状態は、状態l301である。矢印t322に示すように、状態tp304の次の目標状態は、状態l302である。矢印t323に示すように、状態l301の次の目標状態は、状態l302である。矢印t331に示すように、状態l302の次の目標状態は、状態s201である。矢印t341に示すように、状態s301の次の目標状態は、状態l308である。矢印t351に示すように、状態l308の次の目標状態は、状態s304である。矢印t361に示すように、状態s304の次の目標状態は、状態s306である。
初期姿勢k12は、第1部品200の頂点F1が穴211に入っている状態である。
状態p301は、初期姿勢k12から、x軸方向の負方向に第1部品200を移動させた後の第1部品200と穴211の接触状態を表している。この状態では、第1部品200の頂点F1が、穴211の稜線a1b1と接している。
状態p301は、第1部品200の辺E1F1と穴211の稜線a1d1が1点で点接触している。状態tp303は、第1部品200の辺E1F1と穴211の頂点a1の1点で点接触している。状態tp304は、第1部品200の辺E1F1と穴211の稜線a1d1、第1部品200の辺B1F1と穴211の稜線a1b1の2点で点接触している。
状態l301は、第1部品200の辺E1F1と穴211の稜線a1b1が線接触し、または、第1部品200の辺E1F1と穴211の頂点a1が点接触している。状態l302は、第1部品200の面E1F1G1H1と穴211の稜線a1d1が線接触、または、第1部品200の面A1B1F1E1と穴211の面a1d1f1e1が面接触している。状態l308は、第1部品200の面B1C1G1F1と穴211の稜線b1c1が線接触、または、第1部品200の面A1B1F1E1と穴211の面a1b1f1e1が面接触している。
状態s301は、第1部品200の面B1C1F1G1と穴211の稜線b1c1が線接触し、第1部品200の面E1F1G1H1と穴211の稜線a1d1が線接触し、第1部品200の面A1B1F1E1と穴211の面a1b1f1e1が面接触している。状態s302は、第1部品200の面A1B1F1E1と穴211の面a1b1f1e1が面接触し、第1部品200の面B1C1G1F1と穴211の面b1c1g1f1が面接触している。状態s306は、第1部品200の面A1B1F1E1と穴211の面a1b1f1e1が面接触し、第1部品200の面B1C1G1F1と穴211の面b1c1g1f1が面接触し、第1部品200の面E1F1G1H1と穴211の面e1f1g1h1が面接触している。
図27の例において、テーブル記憶部103に記憶されている遷移情報は以下の通りである。矢印t401に示すように、初期姿勢k13の次の目標状態は、状態p401である。矢印t411およびt412に示すように、状態p401の次の目標状態は、状態tp401またはtp402である。矢印t413に示すように、状態tp401の次の目標状態は、状態tp402である。矢印t421に示すように、状態tp402の次の目標状態は、状態l401である。矢印t431に示すように、状態l401の次の目標状態は、状態s401である。矢印t441に示すように、状態s401の次の目標状態は、状態l408である。矢印t451に示すように、状態l408の次の目標状態は、状態s404である。矢印t461に示すように、状態s404の次の目標状態は、状態s406である。
初期姿勢k13は、第1部品200の頂点G1が穴211に入っている状態である。
状態p401は、初期姿勢k13から、x軸方向の負方向に第1部品200を移動させた後の第1部品200と穴211の接触状態を表している。この状態では、第1部品200の頂点G1が、穴211の稜線a1b1と接している。
状態p401は、第1部品200の辺H1G1と穴211の稜線a1d1が1点で点接触している。状態tp401は、第1部品200の辺H1G1と穴211の頂点a1の1点で点接触している。状態tp402は、第1部品200の辺H1G1と穴211の稜線a1d1、第1部品200の辺F1G1と穴211の稜線a1b1の2点で点接触している。
状態l401は、第1部品200の面E1F1G1H1と穴211の稜線a1d1が線接触し、第1部品200の面D1C1G1H1と穴211の面d1c1g1h1が面接触している。状態l408は、第1部品200の面B1C1G1F1と穴211の稜線b1c1が線接触し、第1部品200の面D1C1G1H1と穴211の面d1c1g1h1が面接触している。
状態s401は、第1部品200の面B1C1F1G1と穴211の稜線b1c1が線接触し、第1部品200の面E1F1G1H1と穴211の稜線a1d1が線接触し、第1部品200の面D1C1G1H1と穴211の面d1c1g1h1が面接触している。状態s404は、第1部品200の面B1C1G1F1と穴211の面b1c1g1f1が面接触し、第1部品200の面D1C1G1H1と穴211の面d1c1g1h1が面接触している。状態s406は、第1部品200の面B1C1G1F1と穴211の面b1c1g1f1が面接触し、第1部品200の面D1C1G1H1と穴211の面d1c1g1h1が面接触し、第1部品200の面E1F1G1H1と穴211の面e1f1g1h1が面接触している。
図28の例において、テーブル記憶部103に記憶されている遷移情報は以下の通りである。矢印t501およびt502に示すように、初期姿勢k14の次の目標状態は、状態p501またはp502である。矢印t511に示すように、状態p501の次の目標状態は、状態tp501である。矢印t512およびt513に示すように、状態p502の次の目標状態は、状態tp504またはtp505である。矢印t521に示すように、状態tp501の次の目標状態は、状態l503である。矢印t522に示すように、状態tp504の次の目標状態は、状態l503である。矢印t523に示すように、状態tp505の次の目標状態は、状態l504である。矢印t524に示すように、状態l504の次の目標状態は、状態l503である。矢印t531に示すように、状態l503の次の目標状態は、状態s501である。矢印t541に示すように、状態s501の次の目標状態は、状態l508である。矢印t551に示すように、状態l508の次の目標状態は、状態s503である。矢印t561に示すように、状態s503の次の目標状態は、状態s504である。
初期姿勢k14は、第1部品200の頂点H1が穴211に入っている状態である。
状態p501およびp502は、初期姿勢k14から、x軸方向の負方向に第1部品200を移動させた後の第1部品200と穴211の接触状態を表している。この状態では、第1部品200の頂点H1が、穴211の稜線a1b1、または稜線d1c1と接している。
状態p501は、第1部品200の辺D1H1と穴211の稜線a1d1が1点で点接触している。状態p502は、第1部品200の辺E1H1と穴211の稜線a1d1が1点で点接触している。状態tp501は、第1部品200の辺D1H1と穴211の稜線a1d1、第1部品200の辺E1H1と穴211の稜線a1b1の2点で点接触している。状態tp504は、第1部品200の辺E1H1と穴211の稜線a1d1、第1部品200の辺G1H1と穴211の稜線a1b1の2点で点接触している。
状態tp505は、第1部品200の辺E1H1と穴211の頂点a1の1点で点接触している。
状態l503は、第1部品200の面E1F1G1H1と穴211の稜線a1b1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態l504は、第1部品200の面A1D1H1E1と穴211の稜線a1d1が線接触し、または、第1部品200の辺E1H1と穴211の頂点a1が点接触している。状態l508は、第1部品200の面D1C1G1H1と穴211の稜線c1d1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。
状態s501は、第1部品200の面E1F1G1H1と穴211の稜線a1b1が線接触し、第1部品200の面D1C1G1H1と穴211の稜線c1d1が線接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。
状態s503は、第1部品200の面D1C1G1H1と穴211の面d1c1g1h1が面接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触している。状態s504は、第1部品200の面D1C1G1H1と穴211の面d1c1g1h1が面接触し、第1部品200の面A1D1H1E1と穴211の面a1d1h1e1が面接触し、第1部品200の面E1F1G1H1と穴211の面e1f1g1h1が面接触している。
<頂点E1の場合の状態と力センサーの検出値>
次に、初期姿勢が第1部品の頂点E1が穴211に入っている状態の場合において、予め測定され、テーブル記憶部103に記憶されている離散化後の検出値について説明する。
図29は、本実施形態に係る初期姿勢が第1部品200の頂点E1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態p201およびp202の力センサー20dの離散化後の検出値を示す図である。図30は、本実施形態に係る初期姿勢が第1部品200の頂点E1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態tp201からtp204の力センサー20dの離散化後の検出値を示す図である。図31は、本実施形態に係る初期姿勢が第1部品200の頂点E1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態l201からl209の力センサー20dの離散化後の検出値を示す図である。図32は、本実施形態に係る初期姿勢が第1部品200の頂点E1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態s201からs204の力センサー20dの離散化後の検出値を示す図である。
図29に示すように、テーブル記憶部103には、状態p201およびp202の絶対座標系における力(fx,fy,fz)、物体座標系におけるモーメント(objnx,objny,objnz)が関連づけられて記憶されている。
例えば、2行目に示すように、状態p201の離散化後の各検出値は、fx=1、fy=0、fz=1、objnx=0、objny=1、objnz=1である。
なお、絶対座標系における離散化された検出値と、物体座標系における離散化された検出値との組み合わせを、本実施形態では第2検出値と称する。
図30に示すように、テーブル記憶部103には、状態tp201、tp202、およびtp204の絶対座標系における力(fx,fy,fz)、物体座標系におけるモーメント(objnx,objny,objnz)が関連づけられて記憶されている。
例えば、2行目に示すように、状態tp201の離散化後の各検出値は、fx=1、fy=1、fz=1、objnx=−1、objny=0、objnz=0である。
図31に示すように、テーブル記憶部103には、状態l201からl203、l208およびl209の絶対座標系における力(fx,fy,fz)、モーメント(nx,ny,nz)が関連づけられて記憶されている。
例えば、2行目に示すように、状態l201の離散化後の各検出値は、fx=1、fy=1、fz=1、nx=0、ny=1、nz=0である。
図32に示すように、テーブル記憶部103には、状態s201、s202、s203、およびs204の絶対座標系における力(fx,fy,fz)、モーメント(nx,ny,nz)が関連づけられて記憶されている。
例えば、2行目に示すように、状態s201の離散化後の各検出値は、fx=1、fy=0、fz=1、nx=0、ny=0、nz=0である。
<頂点F1の場合の状態と力センサーの検出値>
次に、初期姿勢が第1部品の頂点F1が穴211に入っている状態の場合において、予め測定され、テーブル記憶部103に記憶されている離散化後の検出値について説明する。
図33は、本実施形態に係る初期姿勢が第1部品200の頂点F1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態p301からp303の力センサー20dの離散化後の検出値を示す図である。図34は、本実施形態に係る初期姿勢が第1部品200の頂点F1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態tp303からtp304の力センサー20dの離散化後の検出値を示す図である。図35は、本実施形態に係る初期姿勢が第1部品200の頂点F1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態l301からl308の力センサー20dの離散化後の検出値を示す図である。図36は、本実施形態に係る初期姿勢が第1部品200の頂点F1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態s301の力センサー20dの離散化後の検出値を示す図である。
図33に示すように、テーブル記憶部103には、状態p301の絶対座標系における力(fx,fy,fz)、物体座標系におけるモーメント(objnx,objny,objnz)が関連づけられて記憶されている。
2行目に示すように、状態p301の離散化後の各検出値は、fx=1、fy=0、fz=1、objnx=−1、objny=1、objnz=0である。
図34に示すように、テーブル記憶部103には、状態tp303、およびtp304の絶対座標系における力(fx,fy,fz)、物体座標系におけるモーメント(objnx,objny,objnz)が関連づけられて記憶されている。
例えば、2行目に示すように、状態tp303の離散化後の各検出値は、fx=1、fy=1、fz=1、objnx=0、objny=0、objnz=1である。
図35に示すように、テーブル記憶部103には、状態l301、l302、およびll308の絶対座標系における力(fx,fy,fz)、モーメント(nx,ny,nz)が関連づけられて記憶されている。
例えば、2行目に示すように、状態l301の離散化後の各検出値は、fx=1、fy=1、fz=1、nx=−1、ny=1、nz=0である。
図36に示すように、テーブル記憶部103には、状態s301、s304、およびs306の絶対座標系における力(fx,fy,fz)、モーメント(nx,ny,nz)が関連づけられて記憶されている。
例えば、2行目に示すように、状態s301の離散化後の各検出値は、fx=0、fy=1、fz=1、nx=0、ny=0、nz=0である。
<頂点G1の場合の状態と力センサーの検出値>
次に、初期姿勢が第1部品の頂点G1が穴211に入っている状態の場合において、予
め測定され、テーブル記憶部103に記憶されている離散化後の検出値について説明する。
図37は、本実施形態に係る初期姿勢が第1部品200の頂点G1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態p401からp403の力センサー20dの離散化後の検出値を示す図である。図38は、本実施形態に係る初期姿勢が第1部品200の頂点G1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態tp401からtp402の力センサー20dの離散化後の検出値を示す図である。図39は、本実施形態に係る初期姿勢が第1部品200の頂点G1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態l401からl408の力センサー20dの離散化後の検出値を示す図である。図40は、本実施形態に係る初期姿勢が第1部品200の頂点G1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態s401の力センサー20dの離散化後の検出値を示す図である。
図37に示すように、テーブル記憶部103には、状態p401の絶対座標系における力(fx,fy,fz)、物体座標系におけるモーメント(objnx,objny,objnz)が関連づけられて記憶されている。
2行目に示すように、状態p401の離散化後の各検出値は、fx=1、fy=0、fz=1、objnx=1、objny=1、objnz=−1である。
図38に示すように、テーブル記憶部103には、状態tp401、およびtp402の絶対座標系における力(fx,fy,fz)、物体座標系におけるモーメント(objnx,objny,objnz)が関連づけられて記憶されている。
例えば、2行目に示すように、状態tp401の離散化後の各検出値は、fx=1、fy=1、fz=1、objnx=0、objny=−1、objnz=0である。
図39に示すように、テーブル記憶部103には、状態l401、およびl408の絶対座標系における力(fx,fy,fz)、モーメント(nx,ny,nz)が関連づけられて記憶されている。
例えば、2行目に示すように、状態l401の離散化後の各検出値は、fx=1、fy=−1、fz=1、nx=0、ny=−1、nz=0である。
図40に示すように、テーブル記憶部103には、状態s401、s404、およびs406の絶対座標系における力(fx,fy,fz)、モーメント(nx,ny,nz)が関連づけられて記憶されている。
例えば、2行目に示すように、状態s401の離散化後の各検出値は、fx=0、fy=−1、fz=1、nx=0、ny=0、nz=0である。
<頂点H1の場合の状態と力センサーの検出値>
次に、初期姿勢が第1部品の頂点H1が穴211に入っている状態の場合において、予め測定され、テーブル記憶部103に記憶されている離散化後の検出値について説明する。
図41は、本実施形態に係る初期姿勢が第1部品200の頂点H1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態p501からp503の力センサー20dの離散化後の検出値を示す図である。図42は、本実施形態に係る初期姿勢が第1部品200の頂点H1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態tp501からtp505の力センサー20dの離散化後の検出値を示す図である。図43は、本実施形態に係る初期姿勢が第1部品200の頂点H1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態l503からl508の力センサー20dの離散化後の検出値を示す図である。図44は、本実施形態に係る初期姿勢が第1部品200の頂点H1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている状態s501の力センサー20dの離散化後の検出値を示す図である。
図41に示すように、テーブル記憶部103には、状態p501、およびp502の絶対座標系における力(fx,fy,fz)、物体座標系におけるモーメント(objnx,objny,objnz)が関連づけられて記憶されている。
例えば、2行目に示すように、状態p501の離散化後の各検出値は、fx=1、fy=0、fz=1、objnx=0、objny=1、objnz=−1である。
図42に示すように、テーブル記憶部103には、状態tp501、tp504、およびtp505の絶対座標系における力(fx,fy,fz)、物体座標系におけるモーメント(objnx,objny,objnz)が関連づけられて記憶されている。
例えば、2行目に示すように、状態tp501の離散化後の各検出値は、fx=1、fy=1、fz=1、objnx=0、objny=−1、objnz=0である。
図43に示すように、テーブル記憶部103には、状態l503、l504、およびll508の絶対座標系における力(fx,fy,fz)、モーメント(nx,ny,nz)が関連づけられて記憶されている。
例えば、2行目に示すように、状態l503の離散化後の各検出値は、fx=1、fy=1、fz=1、nx=1、ny=0、nz=0である。
図44に示すように、テーブル記憶部103には、状態s501、s503、およびs504の絶対座標系における力(fx,fy,fz)、モーメント(nx,ny,nz)が関連づけられて記憶されている。
例えば、2行目に示すように、状態s501の離散化後の各検出値は、fx=1、fy=0、fz=1、nx=0、ny=0、nz=0である。
なお、図29、図30、図33、図34、図37、図38、図41、および図42において、テーブル記憶部103には、絶対座標系における力(fx,fy,fz)、物体座標系におけるモーメント(objnx,objny,objnz)が関連づけられて記憶されている例を説明したが、これに限られない。テーブル記憶部103には、絶対座標系における力(fx,fy,fz)およびモーメント(nx,ny,nz)を関連づけて記憶させ、物体座標系における力(objfx,objfy,objfz)およびモーメント(objnx,objny,objnz)を関連づけて記憶させるようにしてもよい。この場合、選択部104が、テーブル記憶部103に記憶されている絶対座標系における力(fx,fy,fz)、および物体座標系におけるモーメント(objnx,objny,objnz)を読み出して、読み出した結果に基づいて第1部品200と第2部品210との接触状態を判別するようにしてもよい。
次に、テーブル記憶部103に記憶されている指令値について、図45から図60を用いて説明する。
図45から図60に示すように、テーブル記憶部103には、現在の状態から次に遷移させる接触状態毎に、マニピュレータ部20b、および把持部20cへの指令値である角度(θ,θ,θ)、力(fx,fy,fz)が、表形式で関連づけられて記憶されている。なお、図45から図60において、符号「→」は、現在の状態から、次の状態への状態遷移を表している。図45から図60に示した指令値は、第2実施形態と同様に一例の値である。
<頂点E1の場合の指令値>
次に、初期姿勢が第1部品200の頂点E1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている指令値について説明する。
図45は、本実施形態に係る初期姿勢が第1部品200の頂点E1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態p201、p202からの状態遷移毎の指令値を説明する図である。図46は、本実施形態に係る初期姿勢が第1部品200の頂点E1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態tp201、tp202、tp204からの状態遷移毎の指令値を説明する図である。図47は、本実施形態に係る初期姿勢が第1部品200の頂点E1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態l201、l202、l204、l208、l209からの状態遷移毎の指令値を説明する図である。図48は、本実施形態に係る初期姿勢が第1部品200の頂点E1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態s201、s202、s203からの状態遷移毎の指令値を説明する図である。
図45に示すように、テーブル記憶部103には、状態p201から状態tp201、状態p201から状態tp202、状態p202から状態tp204への各指令値が、記憶されている。
例えば、2行目のように状態p201から状態tp201への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],0[deg],0[deg],0[N],−1[N],0[N])である。
図46に示すように、テーブル記憶部103には、状態tp201から状態l201、状態tp202から状態l202、状態tp204から状態l203への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態tp201から状態l201への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],0[deg],−45[deg],−1[N],−1[N],0[N])である。
図47に示すように、テーブル記憶部103には、状態l201から状態s201、状態l202から状態l201、状態l203から状態s202、状態l208から状態s203、状態l209から状態s203への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態l201から状態s201への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],0[deg],−45[deg],−1[N],−1[N],0[N])である。
図48に示すように、テーブル記憶部103には、状態s201から状態l208、状態s202から状態l209、状態s203から状態s204への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態s201から状態l208への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],0[deg],−45[deg],−1[N],−1[N],0[N])である。
<頂点F1の場合の指令値>
次に、初期姿勢が第1部品200の頂点F1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている指令値について説明する。
図49は、本実施形態に係る初期姿勢が第1部品200の頂点F1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態p301、p302、p303からの状態遷移毎の指令値を説明する図である。図50は、本実施形態に係る初期姿勢が第1部品200の頂点F1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態tp303、tp304からの状態遷移毎の指令値を説明する図である。図51は、本実施形態に係る初期姿勢が第1部品200の頂点F1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態l301、l302、l308からの状態遷移毎の指令値を説明する図である。図52は、本実施形態に係る初期姿勢が第1部品200の頂点F1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態s301、s302、s303からの状態遷移毎の指令値を説明する図である。
図49に示すように、テーブル記憶部103には、状態p301から状態tp303、状態p301から状態tp304への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態p301から状態tp303への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],0[deg],0[deg],0[N],−1[N],0[N])である。
図50に示すように、テーブル記憶部103には、状態tp303から状態l301、状態tp304から状態l302への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態tp303から状態l301への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],0[deg],−45[deg],0[N],−1[N],0[N])である。
図51に示すように、テーブル記憶部103には、状態l301から状態l302、状態l302から状態s301、状態l308から状態s304への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態l301から状態l302への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],0[deg],−45[deg],0[N],−1[N],0[N])である。
図52に示すように、テーブル記憶部103には、状態s301から状態l308、状態l308から状態s304、状態s304から状態s306への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態s301から状態l308への指令値(θ,θ,fx,fy,fz)は、(0[deg],45[deg],0[deg],1[N],−1[N],0[N])である。
<頂点G1の場合の指令値>
次に、初期姿勢が第1部品200の頂点G1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている各状態からの指令値について説明する。
図53は、本実施形態に係る初期姿勢が第1部品200の頂点G1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態p401、p402からの状態遷移毎の指令値を説明する図である。図54は、本実施形態に係る初期姿勢が第1部品200の頂点G1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態tp401、tp402からの状態遷移毎の指令値を説明する図である。図55は、本実施形態に係る初期姿勢が第1部品200の頂点G1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態l401、l408からの状態遷移毎の指令値を説明する図である。図56は、本実施形態に係る初期姿勢が第1部品200の頂点G1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態s401、s404からの状態遷移毎の指令値を説明する図である。
図53に示すように、テーブル記憶部103には、状態p401から状態tp401、状態p401から状態tp402への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態p401から状態tp401への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],0[deg],0[deg],0[N],−1[N],0[N])である。
図54に示すように、テーブル記憶部103には、状態tp401から状態tp402、状態tp402から状態l401への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態tp401から状態tp402への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],0[deg],−45[deg],0[N],0[N],0[N])である。
図55に示すように、テーブル記憶部103には、状態l401から状態s401、状態l408から状態s404への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態l401から状態s401への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],45[deg],0[deg],0[N],1[N],0[N])である。
図56に示すように、テーブル記憶部103には、状態s401から状態l408、状態l408から状態s404、状態s404から状態s406、への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態s401から状態l408への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],−45[deg],0[deg],1[N],1[N],0[N])である。
<頂点H1の場合の指令値>
次に、初期姿勢が第1部品200の頂点H1が穴211に入っている状態の場合、テーブル記憶部103に記憶されている各状態からの指令値について説明する。
図57は、本実施形態に係る初期姿勢が第1部品200の頂点H1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態p501、p502からの状態遷移毎の指令値を説明する図である。図58は、本実施形態に係る初期姿勢が第1部品200の頂点H1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態tp501、tp504、tp505からの状態遷移毎の指令値を説明する図である。図59は、本実施形態に係る初期姿勢が第1部品200の頂点H1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態l503、l504、l508からの状態遷移毎の指令値を説明する図である。図60は、本実施形態に係る初期姿勢が第1部品200の頂点H1が穴211に入っている状態の場合において、テーブル記憶部103に記憶されている状態s501、s503からの状態遷移毎の指令値を説明する図である。
図57に示すように、テーブル記憶部103には、状態p501から状態tp501、状態p502から状態tp504、状態p502から状態tp505への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態p501から状態tp501への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],0[deg],0[deg],0[N],−1[N],0[N])である。
図58に示すように、テーブル記憶部103には、状態tp501から状態l503、状態tp504から状態l503、状態tp505から状態l504への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態tp501から状態tp503への指令値(θ,θ,θ,fx,fy,fz)は、(0[deg],45[deg],45[deg],−1[N],−1[N],0[N])である。
図59に示すように、テーブル記憶部103には、状態l503から状態s501、状態l504から状態l503、状態l508から状態s503への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態l503から状態s501への指令値(θ,θ,θ,fx,fy,fz)は、(−45[deg],0[deg],0[deg],−1[N],−1[N],0[N])である。
図60に示すように、テーブル記憶部103には、状態s501から状態l508、状態s503から状態s504への各状態遷移の指令値が、記憶されている。
例えば、2行目のように状態s501から状態l508への指令値(θ,θ,θ,fx,fy,fz)は、(45[deg],0[deg],0[deg],−1[N],1[N],−1[N])である。
なお、状態遷移毎の指令値を、図45から図60に示したが、これらの値は、テーブル記憶部103に、グループ分けして記憶するようにしてもよく、グループ分けせずに、まとめて記憶するようにしてもよい。
テーブル記憶部103に、予め検出した接触状態毎の力センサー20dの検出値(離散化前および離散化後)を記憶する手順は、図10を用いて説明した第1実施形態と同様である。
次に、ロボット制御装置10が、図25から図28に示した状態を判別し、遷移させる手順を説明する。
図61は、本実施形態に係る第1部品200と第2部品210との接触状態を判別し、第1部品200と第2部品210との接触状態を遷移させる手順のフローチャートである。
(ステップS201)制御部105は、制御記憶部106に記憶されている制御値に基づいて、第1部品200をマニピューレ−タ部20bおよび把持部20cに把持させる。次に、制御部105は、第2部品210の穴211に対して、図13に示した絶対座標系においてz軸方向の負方向に把持した第1部品200を移動させるように、制御値に基づいてマニピュレータ部20bおよび把持部20cを制御する。制御部105は、制御値に基づいて第1部品200のいずれかの頂点(E1、F1、G1、H1)が、穴211に入るように制御する。第1部品200のいずれかの頂点が、穴211に入ったか否かの判別は、例えば選択部104が撮像装置30により撮像された画像データを用いて行う。第1部品200のいずれかの頂点が、穴211に入った状態とは、図25〜図28に示した初期姿勢k11〜k14のいずれかの状態である。
(ステップS202)制御部105は、図13に示した絶対座標系においてx軸方向の負方向に把持した第1部品200を移動させるように、マニピュレータ部20bおよび把持部20cを制御する。この遷移は、図25の矢印t201、t202、図26の矢印t301、図27の矢印t401、図28の矢印t501、t502の遷移である。
(ステップS203、ステップS204)ステップS203およびステップS204は、第1実施形態(図11)のステップS11およびS12と同様に処理する。
(ステップS205)選択部104は、離散化部102が出力した離散化後の検出値と、テーブル記憶部103に記憶されている第2検出値とを比較する。この場合、比較する離散化後の検出値は、絶対座標系における力の離散化後の検出値と、物体座標系におけるモーメントの離散化後の検出値との組み合わせである。
(ステップS206)選択部104は、比較した結果に基づいて、第1部品200と第2部品210とが、接触状態が、状態p201、p202、p301、p401、p501、p502のうちのいずれであるかを判別する。
(ステップS207)選択部104は、判別した結果に基づいて、テーブル記憶部103に記憶されている状態遷移のうち、どの状態遷移の関係(図25〜図28)を用いるのか選択する。
例えば、状態p201であると判別した場合、選択部104は、テーブル記憶部103に記憶されている頂点E1における状態遷移の関係を選択する。
(ステップS208)選択部104は、選択した状態遷移の関係を用いて、遷移させる状態を選択し、選択した状態に基づいて遷移情報を選択する。次に、選択部104は、選択した遷移情報を制御部105に出力する。
例えば、ステップS206で状態p201であると判別した場合、選択部104は、遷移させる状態として、状態tp201またはtp202を選択する。選択可能な状態が複数ある場合、選択部104は、予め定められている優先順位に基づいて、指令値を選択する。予め定められている優先順位とは、例えば最短の制御手順になる状態遷移である。例えば、遷移させる状態としてtp201を選択した場合、選択部104は、状態p201からtp201に遷移させることを示す遷移情報を制御部105に出力する。
(ステップS209)制御部105は、選択部104が出力した遷移情報に基づいて、テーブル記憶部103に記憶されている指令値を選択し、選択した指令値に基づいて、第1部品200を把持しているマニピュレータ部20b、および把持部20cを制御する。
(ステップS210〜ステップS212)
ステップS210〜ステップS212は、ステップS203からS205と同様に処理する。
なお、ステップS212において、比較する離散化後の検出値と比較するテーブル記憶部103に記憶されている予め検出された検出値は、以下の組み合わせのいずれかである。比較に用いる検出値の組み合わせは、絶対座標系における力の離散化後の検出値と、物体座標系におけるモーメントの離散化後の検出値との組み合わせ、または絶対座標系における力の離散化後の検出値とモーメントの離散化後の検出値との組み合わせである。どちらの組み合わせを用いて比較するかは、テーブル記憶部103に記憶されている状態遷移に基づいて行う。
具体的には、頂点E1の場合、状態が、状態p201、p202、tp201、tp202、tp204である場合、選択部104は、絶対座標系における力の離散化後の検出値と、物体座標系におけるモーメントの3値化後の検出値との組み合わせを用いて、検出値を比較する。状態が、状態l201、l202、l203、l208、l209、s201〜s204である場合、選択部104は、絶対座標系における力の離散化後の検出値と、物体座標系におけるモーメントの3値化後の検出値との組み合わせを用いて、離散化後の検出値を比較する。
(ステップS213)選択部104は、テーブル記憶部103に記憶されている接触状態のうち、離散化後の検出値と一致する状態が1つであるか2つであるかを判別する。検出値と一致する状態が1つであると判別した場合(ステップS213;1つ)、ステップS215に進む。検出値と一致する状態が2つであると判別した場合(ステップS213;2つ)、ステップS214に進む。
(ステップS214)検出値と一致する状態が2つであると判別した場合、選択部104は、物体座標系の離散化後の検出値と、テーブル記憶部103に記憶されている予め測定された物体座標系の離散化後の検出値とを比較する。次に、選択部104は、判別した結果に基づいて、遷移情報を選択し、選択した遷移情報を制御部105に出力する。
(ステップS215)制御部105は、選択部104が出力した遷移情報に基づいて、第1部品200と第2部品210との状態が目標としている状態(最終目標状態)であるか否かを判別する。なお、最終目標状態とは、図25の状態s204、図26の状態s306、図27の状態s406、または図28の状態s504である。第1部品200と第2部品210との状態が目標としている状態ではないと判別した場合(ステップS215;No)、ステップS208に戻り、ステップS208からS215を繰り返す。第1部品200と第2部品210との状態が目標としている状態であると判別した場合(ステップS215;Yes)、第1部品200と第2部品210との接触状態を遷移させる処理を終了する。
以上のように、本実施形態のロボット装置1は、第1部品200のいずれかの頂点が第2部品210の穴211に入っている状態からxy方向それぞれの方向に接触するまで動かして嵌め合嵌め込みを行う場合、ロボット装置1が備える力センサー20dが検出した検出値に基づいて、第1部品200と第2部品210との接触状態を決定するようにした。そして、本実施形態のロボット装置1は、決定した状態に応じて、テーブル記憶部103に記憶されている遷移情報を選択して、第1部品200と第2部品210との接触状態を制御するようにした。この結果、本実施形態によれば、第2部品210の穴211が面取されていなくても、第1部品を嵌め合うことができる。
なお、本実施形態において、頂点E1、F1、G1およびH1の場合について説明したが、これに限られない。穴211に挿入される第1部品200の面に応じて、頂点A1、B1、C1およびD1、頂点B1、C1、G1およびF1等の組み合わせであってもよい。
[第4実施形態]
第1〜第3実施形態では、1つのアーム(マニピュレータ部)を有するロボットについて説明したが、本実施形態では、2つのアームを備える例を説明する。
図62は、本実施形態に係るロボット装置1aの概略斜視図である。図62に示すように、ロボット装置1aは、多関節ロボット20’、本体302を備えている。
なお、第1〜第3実施形態と同様のものは、同じ符号を用いて説明を省略する。
ロボット制御装置10aは、マニピュレータ部20A(第1アーム)および20B(第2アーム)、把持部20ac、ハンド20Bcを制御する。ロボット制御装置10aの構成は、図3で説明したロボット制御装置10と同様である。本実施形態では本体302の中部にロボット制御装置10aを配置したが、ロボット制御装置10aは本体の外部に配置されてもよい。
多関節ロボット20’は、2つのマニピュレータ部20Aおよび20B、把持部20ac、ハンド20Bc、力センサー20Ad、可動部301を備えている。2つのマニピュレータ部20Aおよび20Bは、可動部301に取り付けられている。可動部301は、本体302に取り付けられている。ハンド20Bcの先端には、撮像装置30が取り付けられている。
力センサー20Adは、第1〜第3実施形態と同様に、把持部20acに加わる力とモーメントを検出する。
撮像装置30は、撮像した画像データをロボット制御装置10aに出力する。
本体302は、移動可能なように搬送部303Aおよび303Bを備えている。本体302内には、ロボット制御装置10aを備えている。
搬送部303Aおよび303Bは、例えば車輪、キャタピラ等である。
本実施形態において、ロボット制御装置10aは、ハンド20Bcに取り付けられている撮像装置30を、第1〜第3実施形態で説明した第1部品200と第2部品210の接触状態を撮像できる位置に移動するように制御する。
次に、ロボット制御装置10aは、第1部品200と第2部品210との接触状態を、力センサー20Adが検出した検出値(離散化後および離散化前)、撮像装置30が撮像した画像データを使用して判別する。
次に、ロボット制御装置10aは、判別した結果に基づいて、第1〜第3実施形態と同様に、第1部品200と第2部品210の接触状態を制御して、第1部品200を第2部品210の穴211に嵌め合わせるように制御する。
以上のように、本実施形態のロボット装置1aは、第1〜第3実施形態と同様に、力センサー20Adが検出した検出値に基づいて、第1部品200と第2部品210との接触状態を決定するようにした。そして、本実施形態のロボット装置1aは、決定した状態に応じて、テーブル記憶部103に記憶されている遷移情報を選択して、第1部品200と第2部品210との接触状態を制御するようにした。この結果、本実施形態によれば、第2部品210の穴211が面取されていなくても、第1部品を嵌め合うことができる。
なお、第4実施形態において、マニピュレータ部20Bのハンド20Bcに撮像装置30が取り付けられている例を説明したが、これに限られない。撮像装置30は、第1〜第3実施形態と同様に、第1部品200と第2部品210の接触状態が撮像可能な位置に設置するようにしてもよい。この場合、ハンド20Bcは把持部であってもよい。
なお、第1から第3実施形態において、把持部20c(含む20ac)が第1部品200を把持し、第2部品210の穴211に嵌め込む例を説明したが、これに限られない。把持部20c(含む20ac)が第2部品210を把持し、第1部品200に嵌め込むように制御するようにしてもよい。この場合においても、テーブル記憶部103に、予め第1部品200と第2部品210との接触状態毎の力センサーの検出値、遷移情報を記憶させ、記録させたこれらの情報を用いて、ロボット制御装置10が、第1部品200と第2部品210との接触状態を制御することで、第2部品210の穴211に第1部品200を挿入するように制御するようにしてもよい。
なお、第1から第4実施形態において、テーブル記憶部103に記憶する状態毎の力センサー20dの検出値(3値化前および3値化後)を、実測して記憶させる例を説明したがこれに限れない。テーブル記憶部103に記憶する接触状態毎の力センサー20dの検出値(離散化前および離散化後)は、物理モデルを用いて数値計算や解析的な計算により算出し、算出した値を記憶させるようにしてもよい。
なお、第1から第4実施形態において、ロボット装置1(含む1a)は、例えばスカラーロボットであってよい。
また、各実施形態におけるロボット制御装置10、10aの一部の機能をコンピューターで実現するようにしてもよい。この場合、その制御機能を実現するための位置検出プログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録された位置検出プログラムをコンピューターシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピューターシステム」とは、OS(OperatingSystem)や周辺装置のハードウェアを含むものである。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリーカード等の可搬型記録媒体、コンピューターシステムに内蔵される磁気ハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバー装置やクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記のプログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
1・・・ロボット装置
10・・・ロボット制御装置
20・・・多関節ロボット
30・・・撮像装置
20a・・・支持台
20b、20A、20B・・・マニピュレータ部
20c、20Ac、20Bc・・・把持部
20d、20Ad・・・力センサー
101・・・センサー検出値取得部(取得部)
102・・・離散化部
103・・・テーブル記憶部(記憶部)
104・・・選択部
105・・・制御部
106・・・制御記憶部
107・・・画像取得部
200・・・第1部品
210・・・第2部品
211・・・穴
302・・・本体
303A、303B・・・搬送部

Claims (6)

  1. 複数のアームと関節を含むマニピュレータ部と、前記マニピュレータ部に連結された把持部と、力センサーとを含むロボットにより部品の組み立てを行わせるロボットの制御装置において、
    前記把持部の接触状態を表す情報と、前記把持部を制御するための複数の制御情報のいずれかを基に、前記ロボットを制御する、ロボット制御装置。
  2. 前記制御情報は、予め検出された前記力センサーの検出値と前記接触状態を表す情報と、が関連づけられて複数組、記憶部に記憶されている、請求項1に記載のロボット制御装置。
  3. 前記力センサーの検出値と、前記記憶部に記憶されている情報とを比較し、前記比較した結果に基づいて、前記接触状態を判別して前記制御情報を選択する選択部を備える、請求項2に記載のロボット制御装置。
  4. 前記接触状態毎に、前記力センサーの検出値を離散化し、前記記憶部に前記離散化後の検出値を記憶させる離散化部を備える、請求項2に記載のロボット制御装置。
  5. 前記把持部の接触状態は、前記把持部が把持する第1部品についての第2部品との接触状態である、請求項1から請求項4のいずれか1項に記載のロボット制御装置。
  6. ロボット制御装置により制御される部品の組み立て方法であって、
    第1部品を把持する把持部に働く力とモーメントを力センサーが検出して検出値として出力した前記検出値に基づいて、前記第1部品と第2部品との接触状態を判別し、判別した結果に基づいて、記憶部に前記接触状態に関連付けられて記憶されている情報を選択する選択手順と、
    前記選択した前記情報に基づいて、前記把持部を制御する制御手順と、
    を含む組み立て方法。
JP2016076749A 2016-04-06 2016-04-06 ロボット制御装置及び組立て方法 Withdrawn JP2016120593A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016076749A JP2016120593A (ja) 2016-04-06 2016-04-06 ロボット制御装置及び組立て方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016076749A JP2016120593A (ja) 2016-04-06 2016-04-06 ロボット制御装置及び組立て方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012020321A Division JP5915214B2 (ja) 2012-02-01 2012-02-01 ロボット装置、組立て方法、及び組立てプログラム

Publications (1)

Publication Number Publication Date
JP2016120593A true JP2016120593A (ja) 2016-07-07

Family

ID=56327910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016076749A Withdrawn JP2016120593A (ja) 2016-04-06 2016-04-06 ロボット制御装置及び組立て方法

Country Status (1)

Country Link
JP (1) JP2016120593A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018036094A (ja) * 2016-08-30 2018-03-08 株式会社オービット 立体物の外観検査装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08190415A (ja) * 1995-01-12 1996-07-23 Nippon Telegr & Teleph Corp <Ntt> ロボット制御装置及び方法
JP2000153475A (ja) * 1998-11-16 2000-06-06 Technol Res Assoc Of Medical & Welfare Apparatus マスタスレーブマニピュレータ装置の制御方法とマニピュレータ操作入力のトレーニング方法
JP2004283975A (ja) * 2003-03-24 2004-10-14 Advanced Telecommunication Research Institute International コミュニケーションロボット
JP2011110688A (ja) * 2009-11-30 2011-06-09 Mitsubishi Electric Corp ロボットの教示装置、及びロボットの制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08190415A (ja) * 1995-01-12 1996-07-23 Nippon Telegr & Teleph Corp <Ntt> ロボット制御装置及び方法
JP2000153475A (ja) * 1998-11-16 2000-06-06 Technol Res Assoc Of Medical & Welfare Apparatus マスタスレーブマニピュレータ装置の制御方法とマニピュレータ操作入力のトレーニング方法
JP2004283975A (ja) * 2003-03-24 2004-10-14 Advanced Telecommunication Research Institute International コミュニケーションロボット
JP2011110688A (ja) * 2009-11-30 2011-06-09 Mitsubishi Electric Corp ロボットの教示装置、及びロボットの制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018036094A (ja) * 2016-08-30 2018-03-08 株式会社オービット 立体物の外観検査装置

Similar Documents

Publication Publication Date Title
JP5915214B2 (ja) ロボット装置、組立て方法、及び組立てプログラム
JP2013158850A5 (ja)
US10702989B2 (en) Method of controlling robot apparatus, robot apparatus, and method of manufacturing article
Danko et al. A parallel manipulator for mobile manipulating UAVs
JP3173042B2 (ja) ロボットの数値制御装置
CN107921638A (zh) 机械臂系统
US10328581B2 (en) Method and device for robotic direct lead-through teaching
JP2018015857A (ja) 制御装置、及びロボット
CN104044132A (zh) 机器人系统及被加工物的制造方法
EP1644782A2 (en) Multiple robot arm tracking and mirror jog
EP4015155A1 (en) Mobile robotic manipulator with telepresence system
JP2003211382A (ja) ロボット制御装置
US11633852B2 (en) Computing device, machine learning method, and storage medium
CN111319039A (zh) 机器人
CN110682288A (zh) 机器人程序生成装置
JP2016120593A (ja) ロボット制御装置及び組立て方法
Platt et al. Multi-priority cartesian impedance control
JP2000084877A (ja) 走行軸付ロボットのオフラインティーチング方法
US20180056517A1 (en) Robot, robot control device, and robot system
CN112236272A (zh) 把持姿态评价装置和把持姿态评价程序
Nguyen et al. Super-twisting sliding mode based nonlinear control for planar dual arm robots
He et al. Decentralised cooperative mobile manipulation with adaptive control parameters
Perez-Vidal et al. Visual control of robots with delayed images
Hazard et al. Automated design of manipulators for in-hand tasks
Costanzo et al. Modeling and control of sampled-data image-based visual servoing with three-dimensional features

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170314

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20170501