JP2019093504A - 物品の製造方法及びロボットシステム - Google Patents
物品の製造方法及びロボットシステム Download PDFInfo
- Publication number
- JP2019093504A JP2019093504A JP2017226314A JP2017226314A JP2019093504A JP 2019093504 A JP2019093504 A JP 2019093504A JP 2017226314 A JP2017226314 A JP 2017226314A JP 2017226314 A JP2017226314 A JP 2017226314A JP 2019093504 A JP2019093504 A JP 2019093504A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- virtual
- work
- workpiece
- posture
- 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.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】ロボットに組み付け動作を行わせるときのロボットの動作時間を短縮する。【解決手段】ロボット200を動作させてハンド202の目標軌道に対する実軌道のずれを測定する。測定したハンド202のずれとワークW2の形状に基づき、ロボット200に対するワークW2の位置及び姿勢を決定する。自動運転において、決定した位置及び姿勢にワークW2を移動させて、ワークW1をワークW2に組み付ける組み付け動作をロボット200に行わせる。【選択図】図1
Description
本発明は、ロボットに組み付け動作を行わせる技術に関する。
従来、工場等の生産ラインにおいて、様々なロボットが使用されている。昨今の多関節ロボットは、動きの自由度が高いので、人間の手のように様々な作業をこなすことができる。その特徴から、1つのロボットを多能工化することが検討されている。ロボットの動作効率が向上すれば、同じサイクルタイムでより多くの作業を1つのロボットに担わせることが可能となり、装置のコストダウンにつながる。そこで、ロボットの動作時間を可能な限り短縮することが要求されている。
特許文献1には、シミュレーションにより、ロボットアームの移動時間が最も短くなる移動経路に対応する作業対象物の位置を決定することが提案されている。
しかし、実際のロボットを動作させると、例えばロボットの各関節の制御同期ずれや減速機等の振動を要因として、ロボットの把持部に位置ずれや振動などに起因して目標起動と実軌道にずれが生じる。特許文献1に記載の方法では、実際のロボットの動作による把持部のずれが考慮されていないため、把持部のずれ量が大きすぎると、把持部に把持させた第1のワークを第2のワークに組み付けるのが失敗することがあった。したがって、把持部のずれがワーク同士の組み付けに影響するような精密な組み付け動作においては、ロボットの動作速度を十分に低下させて、把持部のずれを抑える必要があった。この結果、ロボットの組み付け動作における動作時間が長くなるという問題があった。
そこで、本発明は、ロボットに組み付け動作を行わせるときのロボットの動作時間を短縮することを目的とする。
本発明は、ロボットの把持部に把持させた第1のワークを載置面上に配置された第2のワークに組み付ける物品の製造方法において、前記把持部の目標軌道に対する実軌道のずれを測定する第1の工程と、前記第1の工程で測定したずれと、前記第2のワークの形状に基づき、前記ロボットに対する前記第2のワークの位置及び姿勢を決める第2の工程と、前記第2の工程にて決めた位置及び姿勢に前記第2のワークを移動させて、組み付け動作を前記ロボットに行わせる第3の工程と、を備えることを特徴とする。
本発明によれば、ロボットに組み付け動作を行わせるときのロボットの動作時間を短縮することができる。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、第1実施形態に係るロボットシステム100を模式的に示す斜視図である。ロボットシステム100は、組み付け作業等を行う産業用ロボットであるロボット200と、制御部であって処理部の一例であるロボット制御装置300と、入力部の一例である教示ペンダント400と、を備える。また、ロボットシステム100は、センサ部の一例であって、ロボット200の周囲に配置された測定器の一例であるレーザ変位計500と、移動ステージ600と、表示部の一例であるディスプレイ700と、を備える。ロボット200、教示ペンダント400、レーザ変位計500、移動ステージ600及びディスプレイ700は、ロボット制御装置300に接続され、ロボット制御装置300と信号の送受信を行う。ロボット200及び移動ステージ600は、台座の上面150に配置されている。教示ペンダント400は、作業者が操作するものであり、ロボット200やロボット制御装置300の動作を指示するのに用いる。ここで、台座の上面150に垂直な方向をZ方向、台座の上面150と平行な方向であって、互いに直交する2方向をX方向及びY方向とする。
[第1実施形態]
図1は、第1実施形態に係るロボットシステム100を模式的に示す斜視図である。ロボットシステム100は、組み付け作業等を行う産業用ロボットであるロボット200と、制御部であって処理部の一例であるロボット制御装置300と、入力部の一例である教示ペンダント400と、を備える。また、ロボットシステム100は、センサ部の一例であって、ロボット200の周囲に配置された測定器の一例であるレーザ変位計500と、移動ステージ600と、表示部の一例であるディスプレイ700と、を備える。ロボット200、教示ペンダント400、レーザ変位計500、移動ステージ600及びディスプレイ700は、ロボット制御装置300に接続され、ロボット制御装置300と信号の送受信を行う。ロボット200及び移動ステージ600は、台座の上面150に配置されている。教示ペンダント400は、作業者が操作するものであり、ロボット200やロボット制御装置300の動作を指示するのに用いる。ここで、台座の上面150に垂直な方向をZ方向、台座の上面150と平行な方向であって、互いに直交する2方向をX方向及びY方向とする。
ロボット200は、垂直多関節のロボットであり、ロボットアーム201と、ロボットアーム201の先端に取り付けられたエンドエフェクタの一例であるハンド202と、を備えている。ロボットアーム201の基端は、台座の上面150に固定されている。ハンド202は、物体、例えば部品やツール等のワークを把持する把持部である。
ロボットアーム201は、複数の関節、例えば6つの関節J1〜J6で連結された複数のリンク210〜216を有する。ロボットアーム201は、各関節J1〜J6を各関節軸まわりにそれぞれ回転駆動する複数の駆動機構230(図1では、関節J2のみ図示)を有している。各関節J1〜J6を回転駆動することで、ロボットアーム201の姿勢を変更することができる。ロボットアーム201の姿勢を変更することで、ロボット200の手先、即ちロボットアーム201の先端に設けられたハンド202を、任意の位置及び姿勢に変更することができる。
ハンド202は、複数のフィンガ220を有し、複数のフィンガ220を動作させることで、ワーク等を把持可能となっている。第1実施形態では、第1のワークであるワークW1を、第2のワークであるワークW2に組み付ける組み付け動作をロボット200に行わせる。したがって、ハンド202は、ワークW1を把持可能となっている。
ロボット200の手先の位置及び姿勢は、ロボットアーム201の基端、即ち台座の上面150を基準とするベース座標系で表現される。ロボット200の手先とは、ハンド202がワークを把持していない場合は、ハンド202であり、ハンド202がワーク等を把持している場合は、ハンド202及びワーク等である。即ち、ロボット200の手先とは、ロボットアーム201の先端よりも先の部分である。ロボット制御装置300において、ロボット200の手先は、TCP(Tool Center Point)で定義される。ベース座標系におけるTCPの位置及び姿勢を教示ペンダント400で指示することで、ロボット200のハンド202の位置及び姿勢を決めることができる。
レーザ変位計500は、複数(2つ)のレーザヘッド501X,501Yと、レーザヘッド501X,501Yに接続された処理装置502と、を有する。レーザヘッド501X,501Yは、台座の上面150の上方に不図示の支持部材等を介して固定して配置されている。レーザヘッド501Xは、X方向にレーザ光を出射して、対象物、具体的には、移動してきたハンド202から反射する反射光を受光して、処理装置502に受光信号を送信する。レーザヘッド501Yは、Y方向にレーザ光を出射して、ハンド202から反射する反射光を受光して、処理装置502に受光信号を送信する。処理装置502は、各レーザヘッド501X,501Yから信号を受信して、レーザヘッド501Xとハンド202とのX方向の距離、及びレーザヘッド501Yとハンド202とのY方向の距離を求める。そして、処理装置502は、各方向の距離を示すデータ信号を、ロボット制御装置300へ送信する。なお、図1においては、レーザヘッド501X,501Yがそれぞれ1つずつ配置される場合について図示しているが、ハンド202のZ方向の移動に追従するように、それぞれZ方向に間隔をあけて複数配置してもよい。
移動ステージ600は、台座の上面150に固定された固定ステージと、固定ステージに対してXY方向に並進する並進ステージと、並進ステージに対してZ方向に延びる軸線まわりに回転する回転ステージとを有するXY回転ステージである。また、移動ステージ600は、並進ステージ及び回転ステージを駆動するモータ等を有する駆動部を備えている。移動ステージ600は、載置面601を有しており、載置面601が、XY方向に並進可能であり、かつZ方向に延びる軸線まわりに回転可能となっている。第1実施形態では、移動ステージ600の載置面601上には、直接又は不図示の治具等を介して、ワークW2が高精度に配置される。例えば、移動ステージ600の載置面上にワークW2の位置決めをする不図示の位置決め部材を配置しておいてもよい。載置面上にワークW2が位置決めされた移動ステージ600を動作させることにより、ロボット200に対するワークW2の位置及び姿勢を高精度に決めることができる。
なお、図1では図示を省略しているが、ロボットアーム201とハンド202との間には、力センサが配置されていてもよい。この場合、ハンド202は、不図示の力センサを介してロボットアーム201の先端に取り付けられている。
以下、ロボットアーム201の関節J1〜J6の構成について説明する。第1実施形態においては、関節J1〜J6は同様の構成であるため、関節J2について説明し、他の関節J1,J3〜J6の説明は省略する。
図2は、第1実施形態に係るロボットアーム201の関節J2を示す断面模式図である。図2に示すように、ロボットアーム201の関節J2には、駆動機構230、入力軸エンコーダ250、出力軸エンコーダ260等が配置されている。駆動機構230は、サーボモータ231と、サーボモータ231の回転軸232の回転を減速して出力する減速機233と、を有する。サーボモータ231及び減速機233の本体は、一対のリンク211,212のうち、一方、例えば可動側のリンク212に固定され、減速機233の出力軸234は、他方、例えば固定側のリンク211に固定されている。減速機233を介したサーボモータ231の駆動力により、リンク211がリンク212に対して相対的に回転する。
サーボモータ231は、ブラシレスDCモータやACサーボモータなどの電動モータであり、図1に示すサーボ制御装置350によってサーボ制御される。なお、図1では、サーボ制御装置350が、ロボットアーム201の内部に配置されている場合について図示しているが、いずれの箇所に配置されていてもよく、例えばロボット制御装置300の筐体内部に配置されている場合であってもよい。減速機233は、例えば波動歯車減速機である。
エンコーダである入力軸エンコーダ250及び出力軸エンコーダ260は、ロータリエンコーダであり、光学式或いは磁気式のいずれであってもよく、また、アブソリュート形或いはインクリメンタル形のいずれであってもよい。入力軸エンコーダ250は、減速機233の入力軸側に設けられ、サーボモータ231の回転軸232の回転角度に応じたパルス信号をサーボ制御装置350に出力する。出力軸エンコーダ260は、減速機233の出力軸側、即ちリンク211とリンク212との間に設けられ、リンク211に対するリンク212の相対角度、即ち関節J2の回転角度に応じたパルス信号をサーボ制御装置350に出力する。
なお、リンク211とリンク212との間には、クロスローラベアリング237が設けられており、リンク211とリンク212とは、クロスローラベアリング237を介して回転自在に連結されている。
図3は、第1実施形態に係るロボットシステムの制御系を示すブロック図である。ロボット制御装置300は、コンピュータで構成されている。ロボット制御装置300は、CPU(Central Processing Unit)301を備えている。また、ロボット制御装置300は、記憶部の一例として、ROM(Read Only Memory)302、RAM(Random Access Memory)303、及びHDD(Hard Disk Drive)304を備えている。また、ロボット制御装置300は、記録ディスクドライブ305、及び入出力インタフェースであるI/O311〜315を備えている。
CPU301、ROM302、RAM303、HDD304、記録ディスクドライブ305、及びI/O311〜315は、互いに通信可能にバス310で接続されている。I/O311には、サーボ制御装置350が接続され、I/O312には、レーザ変位計500の処理装置502が接続されている。また、I/O313には、教示ペンダント400が接続され、I/O314には、移動ステージ600が接続され、I/O315には、ディスプレイ700が接続されている。サーボ制御装置350には、各関節J1〜J6のサーボモータ231、入力軸エンコーダ250、出力軸エンコーダ260が接続されている。なお、図3には、サーボモータ231、入力軸エンコーダ250及び出力軸エンコーダ260は、1つの関節分のみ図示しているが、第1実施形態では、6つの関節が存在する。したがって、図3において図示は省略するが、サーボモータ231、入力軸エンコーダ250及び出力軸エンコーダ260の組が6つ、サーボ制御装置350に接続されている。
CPU301は、ロボット200の各関節を駆動するサーボモータ231を、サーボ制御装置350を介して制御することで、ロボット200の動作を制御する。また、CPU301は、移動ステージ600の動作を制御する。また、CPU301は、ディスプレイ700を制御して、ディスプレイ700に画像を表示させる。更に、CPU301は、入力軸エンコーダ250及び出力軸エンコーダ260により検出された角度を示す信号を、サーボ制御装置350を介して取得し、レーザ変位計500の処理装置502から距離を示す信号を取得する。また、CPU301は、作業者の操作によって教示ペンダント400から送信される指示を受け付ける。
HDD304には、制御プログラム321、タスクプログラム322、3Dデータ323、指令軌道データTAが記憶される。記録ディスクドライブ305は、記録ディスク330に記録された各種データやプログラム等を読み出すことができる。
制御プログラム321は、CPU301に、タスクプログラム322の解釈、ロボット200の指令軌道データTAの生成、シミュレーション、ロボット200や移動ステージ600の動作制御、各種演算や各種制御を行わせるプログラムである。制御プログラム321は、ユーザによる変更が容易にはできないようになっている。
タスクプログラム322は、例えばロボット言語で記述されたテキストファイルであり、ユーザ又はコンピュータにより変更が可能となっている。タスクプログラム322には、例えば「TCPを教示点P1から教示点P2に直線移動する」といった内容の命令文がロボット言語で記述されている。教示点のパラメータ数値は、タスクプログラム322と別のデータ(ファイル)で作成しておいてもよいが、第1実施形態では、タスクプログラム322に記述されているものとして説明する。
CPU301は、タスクプログラム322を読み込み、教示点を結ぶTCPの軌道である指令軌道データTAを、指定された補間方法(例えば、直線補間や円弧補間等)により生成し、HDD304に記憶させる。直線補間の場合は、TCPを直線移動させる指令軌道データが生成されることになる。
指令軌道データTAは、例えば1[ms]などの所定時間毎に指令するTCPの位置及び姿勢を含む点データの集合であり、速度パラメータ、加速度パラメータなどの時間パラメータを含んでいることになる。3Dデータ323は、ロボット200の形状データ、ワークW1,W2の形状データ等である。
CPU301は、指令軌道データTAの各点データを、ロボットの逆運動学計算により、各関節J1〜J6の回転角度に変換する。更に、CPU301は、各関節J1〜J6の回転角度から、各関節J1〜J6に配置した駆動機構230のサーボモータ231の回転角度を示す角度指令に変換する。
CPU301は、各関節J1〜J6のサーボモータ231に対する角度指令を、所定時間毎にサーボ制御装置350に出力する。サーボ制御装置350は、入力軸エンコーダ250から得られる角度が角度指令となるようにサーボモータ231に供給する電流を制御する。以上のセミクローズドループ制御により、ロボット制御装置300は、指令軌道データTAに従ってロボット200を動作させることになる。なお、セミクローズドループ制御よりも応答性が低くなるが、状況に応じて、出力軸エンコーダ260を用いたフルクローズドループ制御を行ってもよい。また、フルクローズドループ制御を行わない場合には、出力軸エンコーダ260を省略してもよい。
また、ロボット制御装置300は、指令軌道データTAに従ってロボット200を動作させて、物品の製造を行う自動運転モードと、教示などで試験的にロボット200を動作させる試験運転モードと、を有する。教示ペンダント400は、図1に示すように、自動運転モードに切り替える釦410と、試験運転モードに切り替える釦411とを有する。作業者によって釦410が操作されたとき、教示ペンダント400は、自動運転を行うように指示する信号をロボット制御装置300のCPU301に送信する。この信号を受信したロボット制御装置300のCPU301は、指令軌道データTAに従いロボット200の自動運転を開始する。自動運転では、指令軌道データTAを繰り返し再生することで、ロボット200に同じ組み付け動作を繰り返し行わせる。
また、作業者によって釦411が操作されたとき、教示ペンダント400は、自動運転を停止するように指示する信号をロボット制御装置300のCPU301に送信する。この信号を受信したCPU301は、ロボット200の自動運転を停止し、教示ペンダント400による教示操作などを受け付ける試験運転モードに移行する。
なお、第1実施形態では、コンピュータ読み取り可能な記録媒体がHDD304であり、HDD304に制御プログラム321が格納される場合について説明するが、これに限定するものではない。制御プログラム321は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されてもよい。例えば、制御プログラム321をコンピュータに供給するための記録媒体として、図3に示す記録ディスク330を用いてもよい。
第1実施形態では、ロボット200に、ワークW1をワークW2に組み付ける組み付け動作を行わせるほか、別の作業をロボット200に行わせて、物品を製造する。即ち、第1実施形態では、ロボット200を多工能化することで、1つのロボット200に複数の作業を連続して行わせる。これら複数の作業の中の1つに、ワークW1をワークW2に組み付ける組み付け作業がある。ワークW2の位置及び姿勢は、移動ステージ600を動作させることにより、各作業に合わせて変更可能となっている。第1実施形態において、ワークW1は、軸部を有する部材、例えば円柱状の部材である。移動ステージ600に載置されるワークW2は、載置面601の平面方向であるXY方向に異方性を有する部材、例えばワークW1が挿入される長穴Hを有する部材である。移動ステージ600により、ワークW2の長手方向、即ち長穴Hの長手方向が、XY平面内で変更可能となっている。以下、組み付け作業とは、ワークW1をワークW2の長穴Hに挿入する作業である。
組み付け作業は、一旦、ワークW1をワークW2の直上に移動させ、この状態からワークW1をZ方向に直線的に移動させることで行われる。この組み付け作業を行うときのロボット200の動作が、組み付け動作である。その際、ロボット200は、指令軌道データTAに従って動作するが、関節J1〜J6の撓みや、各関節J1〜J6の制御同期ずれなどにより、ハンド202が実際に辿る実軌道が、目標軌道に対してずれることがある。ここで、ハンド202のずれとは、ハンド202の振動やハンド202の位置ずれなどである。第1実施形態では、各関節J1〜J6に減速機233が配置されているので、ハンド202のずれとして、減速機233の撓みによるハンド202の振動が大きく関わっている。このようにハンド202に振動が生じることにより、目標軌道に対して実軌道にずれが生じる。
目標軌道に対する実軌道のずれは、ロボット200の動作加速度、即ちハンド202の移動加速度を高めるほど大きくなる傾向にある。即ち、ハンド202の移動加速度を高めるほど、関節の撓み量が増大するため、ハンド202の振動が大きくなる。したがって、ハンド202の移動加速度をある閾値以下にすれば、ハンド202の振動を抑制し、ロボット200による組み付け動作を確実に行わせることは可能ではあるが、組み付けに要するロボット200の動作時間が長くなってしまう。
ハンド202の振動には方向性があるため、ワークW2の長穴Hの長手方向と、ハンド202の振動の振幅の大きい方向とを一致させれば、ハンド202に振動が生じている状態であっても、組み付けを行うことができる。ハンド202の振動のプロファイルは、ハンド202を移動させる位置、即ちロボット200の姿勢によっても変化する。
そこで、第1実施形態では、自動運転を行うのに先立って、ハンド202の目標軌道に対する実軌道のずれを測定し、その測定結果とワークW2の形状に基づいて、ワークW2の位置及び姿勢を決定する。自動運転では、決定した位置及び姿勢にワークW2を移動させて、組み付け作業を繰り返し行う。
以下、ロボットシステム100を用いた物品の製造方法について詳細に説明する。図4及び図5は、第1実施形態に係る物品の製造方法を説明するためのフローチャートである。
まず、ロボット制御装置300、即ちCPU301は、作業者により釦411が操作されたときに教示ペンダント400からの指示を受け付けて試験運転モードに移行する(S101)。次に、CPU301は、作業者の操作により教示ペンダント400から受けた指示に従ってロボット200を動作させ、ハンド202に治具WAを把持させる(S102)。なお、ハンド202に把持させる治具WAとしては、ワークW1そのものであってもよいし、ワークW1に相当する部材であってもよい。ワークW1に相当する部材としては、例えばワークW1と同じ形状及び重さの部材、ワークW1と形状は異なるが重さが同じ部材などである。つまり、治具WAは、ワークW1そのもののほか、ワークW1と同じとみなせるものであればよい。
次に、CPU301は、ロボット200に、組み付け動作に相当する試験動作を行わせる。試験動作とは、ワークW2が移動ステージ600に配置されていない状態でロボット200に行わせる、組み付け動作と同様の動作である。つまり、CPU301は、試験動作では、ロボット200に治具WAを把持させ、移動ステージ600にワークW2がない状態で模擬的に組み付け動作を行わせる。これにより、実際に組み付け動作を行うときのハンド202に生じる振動が、ロボット200において再現される。
以下、ロボット200に試験動作を行わせる処理について具体的に説明する。図6(a)は、ロボット200の上面図、図6(b)は、ロボット200の側面図である。移動ステージ600の載置面601を含む仮想的な平面PLの全領域うち、移動ステージ600の可動領域とロボット200の可動領域とが重なる領域を、図6(a)に示すように、複数の領域R1,R2,R3に仮想的に分けて考える。
CPU301は、各領域R1,R2,R3に対応する目標軌道として、各領域R1,R2,R3に対応する指令軌道データTA1,TA2,TA3を作成する(S103)。各指令軌道データTA1,TA2,TA3は、例えば各領域R1,R2,R3の直上から各領域R1,R2,R3に向かうZ方向にハンド202が直線移動するよう指令する軌道データである。指令軌道データTA1,TA2,TA3は、直線補間で作成する。作成した指令軌道データTA1,TA2,TA3は、記憶部、例えばHDD304に格納しておく。
各指令軌道データTA1,TA2,TA3の始点は、各領域R1,R2,R3の中心点の直上に、中心点と間隔をあけて規定されている。そして、各指令軌道データTA1,TA2,TA3は、平面PLに近づく方向であって、Z方向にハンド202を直線移動させるようロボット200を動作させる軌道データである。各指令軌道データTA1,TA2,TA3に従ってロボット200を動作させることで、各領域R1,R2,R3に対応した試験動作をロボット200に行わせる。なお、各指令軌道データTA1,TA2,TA3は、測定用の軌道データであって、自動運転時に用いる指令軌道データTAは、まだ生成されていない。
次に、CPU301は、領域R1の直上にハンド202及び治具WAを移動させ(S104)、指令軌道データTA1に従いロボット200の動作を開始させて(S105)、領域R1に対応する試験動作をロボット200に行わせる。このとき、CPU301は、レーザ変位計500により測定された距離の測定結果を順次取得する(S106)。このステップS106の測定は、指令軌道データTA1の終点、即ち試験動作が終了するまで行う(S107)。
以上のステップS104〜S107においては、組み付け動作に相当する試験動作中のロボット200のハンド202が実際に移動した軌道(実軌道)を取得するのが目的である。そのため、前述したように、ワークW2との干渉を防ぐため、移動ステージ600上にワークW2を設置しない状態で試験動作を行う。
次に、CPU301は、レーザ変位計500から取得した距離の測定結果を用いて、ロボット200のハンド202(TCP)の実軌道(実軌道データ)TB1を算出する(S108)。そして、CPU301は、ハンド202の目標軌道に対する実軌道のずれとして指令軌道データTA1に対する実軌道データTB1のずれを算出し(S109)、記憶部、例えばHDD304に記憶させる。
CPU301は、全ての領域R1,R2,R3に対応する実軌道データTB1,TB2,TB3の測定が終了したかどうかを判断し(S110)、終了していなければ(S110:No)、次の領域に変更して(S111)、ステップS104の処理に戻る。以上、ステップS104〜S111を繰り返すことで、順次、各領域R1,R2,R3に対応するハンド202のずれが測定される。
このように、CPU301は、ステップS101〜S111により、治具WAをハンド202に把持させて、ロボット200に組み付け動作に相当する試験動作を行わせ、ハンド202のずれを測定する(第1の工程、第1の処理)。その際、CPU301は、載置面601を含む平面内の複数の領域R1,R2,R3のそれぞれに対して試験動作を行わせて、複数の領域R1,R2,R3のそれぞれに対応するハンド202のずれを測定する。具体的には、CPU301は、ハンド202のずれを、ロボット200の周囲に配置されたレーザ変位計500を用いて測定する。第1実施形態では、ハンド202のずれは、ロボット200の指令軌道データTA1,TA2,TA3に対するロボット200の実軌道データTB1,TB2,TB3のずれとして測定される。つまり、CPU301は、レーザ変位計500からの信号を用いて、実軌道データTB1,TB2,TB3を演算し、指令軌道データTA1,TA2,TA3に対する実軌道データTB1,TB2,TB3のずれを演算する。
次に、CPU301は、3Dデータ323及び測定したハンド202のずれの情報を用いて、ロボット200による組み付け動作のシミュレーションを行う(S112)。
図7(a)は、仮想空間RIにおける仮想ロボット200Iの上面図、図7(b)は、仮想空間RIにおける仮想ロボット200Iの側面図である。CPU301は、3Dデータ323に基づく演算処理により、仮想空間RIにおいて、ロボット200に対応する仮想ロボット200I、移動ステージ600に対応する仮想移動ステージ600Iを構築する。また、CPU301は、3Dデータ323に基づく演算処理により、仮想空間RIにおいて、ワークW1に対応する第1の仮想ワークである仮想ワークWI1、ワークW2に対応する第2の仮想ワークである仮想ワークWI2を構築する。仮想ロボット200Iは、ハンド202に対応する仮想把持部である仮想ハンド202Iを有する。このように、実空間に配置したロボット200及びその周囲の構成を、仮想空間RIにおいて構築する。
CPU301は、仮想ロボット200Iを基準に、領域R1,R2,R3に対応する仮想領域RI1,RI2,RI3を規定する。第1実施形態では、CPU301は、シミュレーションにおいて、仮想領域RI1,RI2,RI3内で仮想ワークWI2の位置及び姿勢を変えて、仮想ワークWI1の組み付けが可能な仮想ワークWI2の位置及び姿勢を、総当たりで探す演算を行う。なお、CPU301の負荷を考慮して、作業者の判断で、シミュレーションに用いる3Dデータ323を簡略的に表現するようにしてもよい。
以下、ステップS112のシミュレーションについて具体的に説明する。CPU301は、仮想空間RIにおいて、仮想ワークWI1を把持した仮想ハンド202I、又は仮想ハンド202Iに把持させる仮想ワークWI1に、測定したハンド202のずれを反映させる。第1実施形態では、仮想ワークWI1に、測定したハンド202のずれを反映させる。即ち、仮想ロボット200Iに、測定したハンド202のずれを適用させながら仮想組み付け動作を行わせてもよいが、第1実施形態では、仮想ワークWI1に、ハンド202のずれを適用させる。詳述すると、CPU301は、仮想空間RIにおいて、測定したハンド202のずれに基づいてXY方向に仮想ワークWI1を移動させたときに仮想ワークWI1が通過する領域の外形から仮想物WI1Aを形成する。例えば、仮想ワークWI1は、図7(a)に示すように、Z方向から視て円形であるが、仮想ワークWI1にXY方向の振動を適用することで、振動の振幅に応じて、円形よりも大きい、例えばZ方向から視て楕円形の仮想物WI1Aが形成される。そして、CPU301は、仮想物WI1Aを仮想ワークWI1と見立てて仮想ハンド202Iに把持させて、仮想組み付け動作を仮想ロボット200Iに行わせる。
このように、CPU301は、測定したハンド202のずれに基づき、仮想ワークWI1を仮想ワークWI2に組み付ける仮想組み付け動作を、仮想領域RI1,RI2,RI3内で仮想ワークWI2の位置及び姿勢を変えて仮想ロボット200Iに行わせる。
仮想ワークWI2を仮想領域RI1,RI2又はRI3に配置することは、Z方向から視たときの仮想ワークWI2の基準点(例えば中心点)が、仮想領域RI1,RI2又はRI3に位置するように仮想空間RIに配置することを意味する。なお、仮想領域RI1,RI2,RI3の境界に関しては、隣り合ういずれかの仮想領域に対応付けたハンド202のずれを対応付けておけばよい。
以上、第1実施形態では、CPU301は、仮想物WI1Aを仮想ワークWI1に見立てて仮想ロボット200Iに仮想組み付け動作を行わせる。したがって、仮想ハンド202Iを振れさせながら仮想組み付け動作を行わせるよりも、CPU301における演算負荷が軽減され、シミュレーションに要する時間を短縮することができる。
第1実施形態では、各領域R1,R2,R3に対応付けてハンド202のずれが測定されているので、CPU301は、各領域R1,R2,R3に対応付けたハンド202のずれを、各仮想領域RI1,RI2,RI3に対応付けて、シミュレーションする。図8(a)及び図8(b)は、仮想空間RIにおける仮想ロボット200Iの上面図である。なお、図8(a)には、仮想領域RI1において仮想ワークWI1を仮想ワークWI2に組み付け可能な仮想ワークWI2の位置及び姿勢の一例を図示している。図8(b)には、仮想領域RI2において仮想ワークWI1を仮想ワークWI2に組み付け可能な仮想ワークWI2の位置及び姿勢の一例を図示している。
図8(a)に示すように、仮想領域RI1に仮想ワークWI2を配置して行うシミュレーションにおいては、仮想ワークWI1に見立てて仮想ハンド202Iに把持させる仮想物WI1Aを、領域R1に対応付けられたハンド202のずれに基づいて生成する。図8(b)に示すように、仮想領域RI2に仮想ワークWI2を配置して行うシミュレーションにおいては、仮想ワークWI1に見立てて仮想ハンド202Iに把持させる仮想物WI1Bを、領域R2に対応付けられたハンド202のずれに基づいて生成する。また、図示は省略するが、仮想領域RI3に仮想ワークWI2を配置して行うシミュレーションにおいては、仮想ワークWI1に見立てて仮想ハンド202Iに把持させる仮想物を、領域R3に対応付けられたハンド202のずれに基づいて生成する。
シミュレーションにおける仮想ワークWI2の位置の変更量は、演算に要する時間や移動ステージ600の精度に応じて作業者が適宜設定すればよく、例えば0.1[mm]のように、細かく設定することもできる。また、仮想ワークWI2の姿勢の変更量も、演算に要する時間や移動ステージ600の精度に応じて作業者が適宜設定すればよく、例えば0.1[°]のように、細かく設定することもできる。このように、仮想領域RI1,RI2,RI3全ての領域において、仮想ワークWI2の位置及び姿勢を変更して総当たりで仮想組み付け動作の演算処理を行う。
以上、ロボット200の可動領域と移動ステージ600の可動領域とが重なる領域を複数の領域R1〜R3に分けて各領域R1〜R3においてハンド202のずれを測定する場合について説明したが、領域の数はこれに限定するものではない。ロボット200の可動領域を細かく分割するほど、ハンド202のずれを測定するポイント数が増えるが、後述する組み付け可能かどうかの判断の精度が向上する。なお、ハンド202のずれの軌跡が、位置に応じてほとんど変わらない場合には、複数の領域に分けずにハンド202のずれを1回のみ代表して測定してもよい。
CPU301は、ステップS112のシミュレーションの結果から、仮想ワークWI1を仮想ワークWI2に組み付け可能な仮想ワークWI2の位置及び姿勢があるかどうかを判定する(S113)。つまり、ステップS113では、仮想ワークWI1に見立てた仮想物が仮想ワークWI2の仮想長穴HIに嵌るかどうか、即ち重ならないかどうかを判定する干渉確認を行う。仮想ワークWI1を仮想ワークWI2に組み付け可能な仮想ワークWI2の位置及び姿勢がある場合とは、仮想ワークWI1に見立てた仮想物が仮想ワークWI2に重ならない仮想ワークWI2の位置及び姿勢がある場合である。仮想ワークWI1を仮想ワークWI2に組み付け可能な仮想ワークWI2の位置及び姿勢がない場合とは、仮想ワークWI1に見立てた仮想物が仮想ワークWI2の全ての位置及び姿勢で仮想ワークWI2に重なる場合である。
CPU301は、ステップS112のシミュレーションの結果、仮想ワークWI1を仮想ワークWI2に組み付け可能な仮想ワークWI2の位置及び姿勢がない場合(S113:No)、ディスプレイ700にその旨を通知ための画像を表示させる(S119)。そして、処理を終了する。なお、この場合、仮想ワークWI1と仮想ワークWI2とのX、Y方向の重なり量の和が最も小さい仮想ワークWI2の位置及び姿勢を、ワークW2の位置及び姿勢に採用して、ロボット200の加速度を調整し、加速度の低下を最小限にするようにしてもよい。
CPU301は、ステップS112のシミュレーションの結果、仮想ワークWI1を仮想ワークWI2に組み付け可能な仮想ワークWI2の位置及び姿勢がある場合は(S113:Yes)、その候補が1つか複数かで処理が分かれる(S114)。
CPU301は、候補が1つの場合は(S114:Yes)、その仮想ワークWI2の位置及び姿勢を、ワークW2の位置及び姿勢に決定する(S115)。CPU301は、候補が複数の場合は(S114:No)、複数ある仮想ワークWI2の位置及び姿勢の中の1つを、ワークW2の位置及び姿勢に決定する(S116)。具体的に説明すると、CPU301は、複数ある仮想ワークWI2の位置及び姿勢の中から、ワークW2を移動させるときに要する時間が最小となるものを1つ選択し、ワークW2の位置及び姿勢に決定する。これにより、組み付けに要する時間を短縮することができる。
次いでCPU301は、決定したワークW2の位置及び姿勢に基づくタスクプログラム322における教示点のパラメータ数値、即ち指令軌道データTAを決定する(S117)。この指令軌道データTAは、載置面601に近づくZ方向にハンド202を直線移動させる軌道データであり、直線補間により作成される。作成された指令軌道データTAは、ロボット200の自動運転時に用いることができるように、図3に示すように、HDD304に記憶させておく。
以上、CPU301は、ステップS112〜S117により、ハンド202のずれ及びワークW2の形状に基づき、ロボット200に対するワークW2の位置及び姿勢を決める(第2の工程、第2の処理)。なお、ステップS101〜S117の処理は、ロボット200の自動運転に先立って1度だけ行えばよい。
次に、CPU301は、教示ペンダント400の釦410が作業者によって操作されたときに教示ペンダント400から送信される指示を示す信号を受けたら、自動運転モードに移行する(S118)。これにより、CPU301は、指令軌道データTAに従ってロボット200を動作させる自動運転を行う。CPU301は、この自動運転において、移動ステージ600を動作させることによりステップS115,S116にて決めた位置及び姿勢にワークW2を移動させて、ロボット200に組み付け動作を行わせる(第3の工程、第3の処理)。自動運転におけるロボット200の組み付け動作は、自動運転が解除されるまで、繰り返し行われる。これにより、ワークW1をワークW2に組み付けた物品が次々と生産される。
以上、第1実施形態によれば、ロボット200に組み付け動作を行わせるときに、ハンド202に振動などのずれが生じても、ハンド202のずれに倣うようにワークW2の位置及び姿勢が変更されることになる。したがって、ハンド202に振動などのずれが生じている状態でも、ワークW1をワークW2に組み付けることができる。したがって、ロボット200のハンド202の速度及び加速度を必要以上に下げる必要がなく、ロボット200に組み付け動作を行わせるときのロボット200の動作時間を短縮することができる。
また、第1実施形態によれば、シミュレーションにより、仮想ワークWI2の位置及び姿勢を細かく変更して仮想ロボット200Iに仮想組み付け動作を行わせることができる。したがって、実機で組み付け可能かどうかの確認を行うよりも、ワークW2の位置及び姿勢を決める作業時間を大幅に短縮することができる。
[第2実施形態]
次に、第2実施形態に係る物品の製造方法について説明する。なお、第2実施形態では、図1に示すロボットシステム100において、レーザ変位計500を省略したものである。レーザ変位計500によりハンド202のずれを高精度に測定するには、レーザ変位計500のレーザヘッド501X,501Yを高精度に配置する必要がある。しかし、ロボット200の周囲の配置物によっては、レーザヘッド501X,501Yの配置が困難な場合がある。また、配置可能であっても、レーザヘッド501X,501Yを設置するのに時間を要する。そこで、第2実施形態では、センサ部として、ロボット200の各関節J1〜J6に設けられたエンコーダである出力軸エンコーダ260(図2)を用いて、ハンド202の振動などのずれを測定する。この出力軸エンコーダ260は、フルクローズドループ制御において用いられるので、第2実施形態ではハンド202のずれの測定にも兼用する。なお、出力軸エンコーダ260を制御及びその他の測定の用途に使用しない場合には、出力軸エンコーダ260は、ハンド202のずれを測定する専用のものとなる。
次に、第2実施形態に係る物品の製造方法について説明する。なお、第2実施形態では、図1に示すロボットシステム100において、レーザ変位計500を省略したものである。レーザ変位計500によりハンド202のずれを高精度に測定するには、レーザ変位計500のレーザヘッド501X,501Yを高精度に配置する必要がある。しかし、ロボット200の周囲の配置物によっては、レーザヘッド501X,501Yの配置が困難な場合がある。また、配置可能であっても、レーザヘッド501X,501Yを設置するのに時間を要する。そこで、第2実施形態では、センサ部として、ロボット200の各関節J1〜J6に設けられたエンコーダである出力軸エンコーダ260(図2)を用いて、ハンド202の振動などのずれを測定する。この出力軸エンコーダ260は、フルクローズドループ制御において用いられるので、第2実施形態ではハンド202のずれの測定にも兼用する。なお、出力軸エンコーダ260を制御及びその他の測定の用途に使用しない場合には、出力軸エンコーダ260は、ハンド202のずれを測定する専用のものとなる。
図9及び図10は、第2実施形態に係る物品の製造方法を説明するためのフローチャートである。以下、図1〜図3を参照しながら、図9及び図10に示す動作について具体的に説明する。図9に示すステップS201〜S205は、図4に示すステップS101〜S105と同様であるため、説明を省略する。
第2実施形態では、図3に示すCPU301は、ステップS206において、出力軸エンコーダ260を用いてハンド202のずれを測定する。このため、CPU301は、各関節J1〜J6の出力軸エンコーダ260からサーボ制御装置350を介して関節J1〜J6の回転角度に応じた信号を取得する。そして、CPU301は、各関節J1〜J6の回転角度を、ロボットの順運動学計算により、ハンド202(TCP)の位置及び姿勢に変換することで、実軌道データを求める。そして、CPU301は、指令軌道データに対する実軌道データのずれを求める。
このように、関節J1〜J6の撓み、即ち減速機233の撓みによる振動を、直接、出力軸エンコーダ260を用いて測定することで、外部の測定器を用いることなく、ハンド202の振れを正確に測定することができる。また、測定器をロボット200の周囲に配置する必要がないので、測定器を設置する手間を省くことができる。
図9に示すステップS207〜S211は、図4に示すステップS107〜S111と同様であるため、説明を省略する。また、図10に示すステップS212〜S218は、図5に示すステップS112〜S118と同様であるため、説明を省略する。
第2実施形態では、CPU301は、ステップS213において組み付け可能となる仮想ワークWI2がないときには(S213:No)、ハンド202の加速度が低下するように加速度を変更する(S219)。具体的には、CPU301は、軌道計算に用いる加速度パラメータを所定量低下させる。そして、CPU301は、ステップS203に戻り、指令軌道データTA1〜TA3(図6(a)参照)を再び生成し、ステップS204〜S213の処理を再び実行する。
このように、CPU301は、ステップS203〜S211を繰り返し実行することで、ハンド202の目標軌道に対する実軌道のずれを、ロボット200の加速度を変えて複数回測定する。即ち、CPU301は、ステップS203〜S211を繰り返し実行することで、試験動作をロボット200のハンド202の加速度を変えて複数回行って、それぞれの加速度に対するハンド202のずれを測定する。そして、CPU301は、ステップS212を繰り返し実行することで、仮想ロボット200Iの仮想ハンド202Iの加速度を変えてシミュレーションを複数回行う。その結果、CPU301は、ステップS214〜S216において、仮想ワークWI1を仮想ワークWI2に組み付け可能な仮想ワークWI2の位置及び姿勢から、ワークW2の位置及び姿勢を決める。
ここで、ロボット200の加速度に応じたシミュレーションを複数回行った後に、組み付け可能かどうかの判定を行ってもよいが、全ての加速度パターンでシミュレーションを行うと、シミュレーションに時間を要する。また、複数回、シミュレーションを行うのに先立って、予め、ハンド202の加速度を変更させたときの加速度に対応したハンド202のずれを、複数パターン測定しておいてもよいが、測定に時間を要する。
第2実施形態ではCPU301は、仮想ワークWI1を仮想ワークWI2に組み付け可能な仮想ワークWI2の位置及び姿勢がない場合(S213:No)、ロボット200の加速度を下げて測定されたハンド202のずれに基づきシミュレーションを再度行う。これにより、CPU301は、ステップS212のシミュレーションを複数回行う。これにより、仮想ワークWI1を仮想ワークWI2に組み付け可能な仮想ワークWI2の位置及び姿勢が見つかった時点で、シミュレーションを打ち切ることができる。したがって、全ての加速度パターンでシミュレーションする場合よりも、シミュレーションに要する時間を短縮することができる。
またCPU301は、ステップS212のシミュレーションの結果、仮想ワークWI1を仮想ワークWI2に組み付け可能な仮想ワークWI2の位置及び姿勢がない場合(S213:No)、試験動作をロボット200の加速度を下げて再度行う(S219)。これにより、CPU301は、ハンド202のずれを測定する際の試験動作を複数回行うことになる。これにより、仮想ワークWI1を仮想ワークWI2に組み付け可能な仮想ワークWI2の位置及び姿勢が見つかった時点で、ハンド202のずれの測定を打ち切ることができる。したがって、全ての加速度パターンでハンド202のずれを測定する場合よりも、測定に要する時間を短縮することができる。
以上第2実施形態によれば、出力軸エンコーダ260を用いることで、ハンド202(TCP)の実軌道のずれを、レーザ変位計のような外部測定器を用いずに、簡便かつ精度よく測定することができる。
また、加速度パラメータを徐々に低下させて組み立て可能となる指令軌道データTAをシミュレーションすることで作成するので、加速度を予め定めた閾値以下に大幅に低下させる必要がなく、組み付けを高精度に行うことができる。つまり、ハンド202の加速度を低下させる場合であっても、加速度の低下を最小限に抑えることができる。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、上述の第1及び第2実施形態では、処理部であって制御部でもあるロボット制御装置300が、1つのコンピュータ(CPU)で構成される場合について説明したが、これに限定するものではない。即ち、ロボット制御装置300を、複数のコンピュータで構成してもよい。例えば、1つのコンピュータをシミュレータとして機能させ、別のコンピュータを軌道生成やロボット200の制御などを行うコントローラとして機能させてもよい。このように複数のコンピュータで分散して処理を行うことにより、1つのコンピュータ当たりのタスクを軽減することができる。
また、上述の第1及び第2実施形態では、ロボット200が、垂直多関節ロボットである場合について説明したが、水平多関節ロボット(スカラロボット)、パラレルリンクロボットなどであってもよい。
また、上述の第1実施形態では、ハンド202のずれを直接測定する場合について説明したが、これに限定するものでない。例えば、ハンド202に把持させた治具WAのずれを測定することで、間接的にハンド202のずれを測定するようにしてもよい。この場合、レーザヘッド501X,501Yから出射されるレーザ光は、治具WAに照射されることになる。
また、上述の第1実施形態では、測定器がレーザ変位計500の場合について説明したが、これに限定するものではなく、例えば測定器がカメラなどであってもよい。この場合、カメラによりハンド202及び治具WAの一方又は両方を撮像し、撮像画像からハンド202及び治具WAの一方又は両方のずれを測定すればよい。
また、上述の第1及び第2実施形態では、ワークW2の位置及び姿勢を、移動ステージ600により変更する場合について説明したが、これに限定するものではなく、例えばロボット200とは別のロボットなどの搬送装置により変更するようにしてもよい。
また、上述の第1及び第2実施形態では、ロボット制御装置300によりハンド202の振動などのずれを測定する場合について説明したが、これに限定するものではない。例えばロボット制御装置300が、予め測定された実軌道データを、不図示のストレージや別のコンピュータなどから、直接又はネットワークを介して取得するようにしてもよい。また、シミュレーションによりハンド202の実軌道を計算するようにしてもよい。この場合、上述の第1及び第2実施形態におけるハンド202の実軌道を測定する工程は省略可能である。
100…ロボットシステム、200…ロボット、200I…仮想ロボット、202…ハンド(把持部)、260…出力軸エンコーダ(エンコーダ、センサ部)、300…ロボット制御装置(処理部、制御部)、500…レーザ変位計(測定器、センサ部)、600…移動ステージ、601…載置面、W1…ワーク(第1のワーク)、W2…ワーク(第2のワーク)、WA…治具、WI1…仮想ワーク(第1の仮想ワーク)、WI2…仮想ワーク(第2の仮想ワーク)
Claims (20)
- ロボットの把持部に把持させた第1のワークを載置面上に配置された第2のワークに組み付ける物品の製造方法において、
前記把持部の目標軌道に対する実軌道のずれを測定する第1の工程と、
前記第1の工程で測定したずれと、前記第2のワークの形状に基づき、前記ロボットに対する前記第2のワークの位置及び姿勢を決める第2の工程と、
前記第2の工程にて決めた位置及び姿勢に前記第2のワークを移動させて、組み付け動作を前記ロボットに行わせる第3の工程と、を備えることを特徴とする物品の製造方法。 - 前記第1の工程及び前記第2の工程は、前記ロボットに前記組み付け動作を行わせる自動運転に先立って行い、前記第3の工程は、前記自動運転において繰り返し行うことを特徴とする請求項1に記載の物品の製造方法。
- 前記第2の工程では、処理部が、仮想空間において、前記第1の工程で測定したずれに基づいて、前記第1のワークに対応する第1の仮想ワークを前記第2のワークに対応する第2の仮想ワークに組み付ける仮想組み付け動作を、前記第2の仮想ワークの位置及び姿勢を変えて前記ロボットに対応する仮想ロボットに行わせるシミュレーションをし、
前記シミュレーションの結果、前記第1の仮想ワークを前記第2の仮想ワークに組み付け可能な前記第2の仮想ワークの位置及び姿勢から、前記第2のワークの位置及び姿勢を決めることを特徴とする請求項1又は2に記載の物品の製造方法。 - 前記第1の工程では、前記載置面を含む平面内の複数の領域のそれぞれに対応する前記把持部の目標軌道に対する実軌道のずれを測定し、
前記第2の工程では、前記処理部が、前記第1の工程で測定したずれを、前記複数の領域に対応する複数の仮想領域のそれぞれに対応付けて、前記シミュレーションをすることを特徴とする請求項3に記載の物品の製造方法。 - 前記シミュレーションでは、前記処理部が、前記仮想空間において、前記第1の工程で測定したずれに基づいて前記第1の仮想ワークを動かしたときに前記第1の仮想ワークが通過する領域の外形から仮想物を形成し、前記仮想物を前記第1の仮想ワークと見立てて、前記仮想ロボットに前記仮想組み付け動作を行わせることを特徴とする請求項3又は4に記載の物品の製造方法。
- 前記第2の工程では、前記シミュレーションの結果、前記第1の仮想ワークを前記第2の仮想ワークに組み付け可能な前記第2の仮想ワークの位置及び姿勢が複数ある場合、複数ある前記第2の仮想ワークの位置及び姿勢の中から、前記第2のワークの位置及び姿勢を決めることを特徴とする請求項3乃至5のいずれか1項に記載の物品の製造方法。
- 前記第2の工程では、複数ある前記第2の仮想ワークの位置及び姿勢のうち、前記第2のワークを移動させるときの時間が最小となるものを、前記第2のワークの位置及び姿勢とすることを特徴とする請求項6に記載の物品の製造方法。
- 前記第1の工程では、前記把持部の目標軌道に対する実軌道のずれを、前記ロボットの加速度を変えて複数回測定し、
前記第2の工程では、前記仮想ロボットの加速度を変えて前記シミュレーションを複数回行った結果、前記第1の仮想ワークを前記第2の仮想ワークに組み付け可能な前記第2の仮想ワークの位置及び姿勢から、前記第2のワークの位置及び姿勢を決めることを特徴とする請求項3乃至5のいずれか1項に記載の物品の製造方法。 - 前記第2の工程では、前記シミュレーションの結果、前記第1の仮想ワークを前記第2の仮想ワークに組み付け可能な前記第2の仮想ワークの位置及び姿勢がない場合に、前記ロボットの加速度を下げて測定されたずれに基づいて前記シミュレーションを再度行うことで、前記シミュレーションを複数回行う、
ことを特徴とする請求項8に記載の物品の製造方法。 - 前記第1の工程では、前記シミュレーションの結果、前記第1の仮想ワークを前記第2の仮想ワークに組み付け可能な前記第2の仮想ワークの位置及び姿勢がない場合に、前記ロボットの加速度を下げて、前記把持部の目標軌道に対する実軌道のずれの測定を再度行う、
ことを特徴とする請求項9に記載の物品の製造方法。 - 前記第3の工程では、前記第2のワークを、前記載置面を有する移動ステージによって移動させることを特徴とする請求項1乃至10のいずれか1項に記載の物品の製造方法。
- 前記第1の工程では、前記把持部の目標軌道に対する実軌道のずれを、前記ロボットの周囲に設けられた測定器を用いて測定することを特徴とする請求項1乃至11のいずれか1項に記載の物品の製造方法。
- 前記第1の工程では、前記把持部の目標軌道に対する実軌道のずれを、前記ロボットの各関節に設けられたエンコーダを用いて測定することを特徴とする請求項1乃至11のいずれか1項に記載の物品の製造方法。
- 前記組み付け動作は、前記載置面に垂直な方向に前記把持部を直線移動させる指令に従う動作であることを特徴とする請求項1乃至13のいずれか1項に記載の物品の製造方法。
- 前記第2のワークの形状は前記載置面の平面方向に異方性を有し、
前記第2の工程において、前記第1の工程で測定したずれの大きい方向に、前記第2のワークの長手方向を向けることを特徴とする請求項1乃至14のいずれか1項に記載の物品の製造方法。 - 前記第1のワークが、軸部を有する部材であり、
前記第2のワークが、前記組み付け動作により前記軸部を挿入させる長穴を有する部材であることを特徴とする請求項1乃至15のいずれか1項に記載の物品の製造方法。 - ロボットの把持部に把持させた第1のワークを載置面上に配置された第2のワークに組み付ける物品の製造方法において、
前記把持部の目標軌道に対する実軌道のずれと、前記第2のワークの形状に基づき、前記ロボットに対する前記第2のワークの位置及び姿勢を決める工程と、
前記第2のワークの位置及び姿勢を決める工程にて決めた位置及び姿勢に前記第2のワークを移動させて、組み付け動作を前記ロボットに行わせる工程と、を備えることを特徴とする物品の製造方法。 - 第1のワーク又は治具を把持する把持部を有するロボットと、
前記ロボット、又は前記ロボットの周囲に設けられ、前記把持部又は前記把持部に把持された前記治具の振れに応じた信号を出力するセンサ部と、
第2のワークが載置される移動ステージと、
前記ロボット及び前記移動ステージを制御する制御部と、を備え、
前記制御部は、
前記把持部の目標軌道に対する実軌道のずれを測定する第1の処理と、
前記第1の処理で測定したずれと前記第2のワークの形状に基づき、前記ロボットに対する前記第2のワークの位置及び姿勢を決める第2の処理と、
前記第2の処理にて決めた位置及び姿勢に前記第2のワークを移動させて、前記組み付け動作を前記ロボットに行わせる第3の処理と、を実行することを特徴とするロボットシステム。 - 前記制御部は、前記第1の処理及び前記第2の処理を、前記ロボットに前記組み付け動作を行わせる自動運転に先立って行い、前記第3の処理を、前記自動運転において繰り返し行うことを特徴とする請求項18に記載のロボットシステム。
- 前記制御部は、前記第2の処理として、仮想空間において、前記第1の処理で測定したずれに基づき、前記第1のワークに対応する第1の仮想ワークを前記第2のワークに対応する第2の仮想ワークに組み付ける仮想組み付け動作を、前記第2の仮想ワークの位置及び姿勢を変えて前記ロボットに対応する仮想ロボットに行わせるシミュレーションをし、前記シミュレーションの結果、前記第1の仮想ワークを前記第2の仮想ワークに組み付け可能な前記第2の仮想ワークの位置及び姿勢から、前記第2のワークの位置及び姿勢を決めることを特徴とする請求項18又は19に記載のロボットシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017226314A JP2019093504A (ja) | 2017-11-24 | 2017-11-24 | 物品の製造方法及びロボットシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017226314A JP2019093504A (ja) | 2017-11-24 | 2017-11-24 | 物品の製造方法及びロボットシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019093504A true JP2019093504A (ja) | 2019-06-20 |
Family
ID=66970576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017226314A Pending JP2019093504A (ja) | 2017-11-24 | 2017-11-24 | 物品の製造方法及びロボットシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019093504A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021013983A (ja) * | 2019-07-11 | 2021-02-12 | ファナック株式会社 | 移動機械の移動軌跡のずれを取得する装置、及び方法 |
JP7495271B2 (ja) | 2020-04-28 | 2024-06-04 | ニデックインスツルメンツ株式会社 | 産業用ロボット |
-
2017
- 2017-11-24 JP JP2017226314A patent/JP2019093504A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021013983A (ja) * | 2019-07-11 | 2021-02-12 | ファナック株式会社 | 移動機械の移動軌跡のずれを取得する装置、及び方法 |
JP7502003B2 (ja) | 2019-07-11 | 2024-06-18 | ファナック株式会社 | 移動機械の移動軌跡のずれを取得する装置、及び方法 |
JP7495271B2 (ja) | 2020-04-28 | 2024-06-04 | ニデックインスツルメンツ株式会社 | 産業用ロボット |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10486309B2 (en) | Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component | |
CN108748159B (zh) | 一种机械臂工具坐标系自标定方法 | |
EP1854037B1 (en) | Method of and apparatus for automated path learning | |
US9221176B2 (en) | Robot system and method for controlling the same | |
US9731419B2 (en) | System and method for programming robots | |
EP2547490B1 (en) | Calibration of a base coordinate system for an industrial robot | |
Bolmsjö et al. | Robotic arc welding–trends and developments for higher autonomy | |
JP2015033747A (ja) | ロボットシステム、ロボット制御装置及びロボット制御方法 | |
JP2010531238A (ja) | 切断機用自在軸受装置の位置調整用装置および方法 | |
JP2012171027A (ja) | ワークピッキングシステム | |
JP2010142910A (ja) | ロボットシステム | |
JP4976883B2 (ja) | マニピュレータシステム | |
US20220105640A1 (en) | Method Of Calibrating A Tool Of An Industrial Robot, Control System And Industrial Robot | |
KR102553391B1 (ko) | 로봇을 구비한 취급 장치, 방법 및 컴퓨터 프로그램 | |
JP2019093504A (ja) | 物品の製造方法及びロボットシステム | |
JP2014151385A (ja) | ロボット制御装置およびロボット制御方法 | |
JP6652310B2 (ja) | ロボットシステム、ロボットアームの制御方法、プログラム、記録媒体、及び物品の製造方法 | |
KR102083555B1 (ko) | 용접 로봇 및 이를 이용한 용접 방법 | |
CN113858189B (zh) | 机器人的控制方法及机器人系统 | |
EP4241930A1 (en) | Robot control in working space | |
Cheng et al. | Dynamic error modeling and compensation in high speed delta robot pick-and-place process | |
JP2017127932A (ja) | ロボット装置、ロボット制御方法、部品の製造方法、プログラム及び記録媒体 | |
JP2021186929A (ja) | 多軸ロボットの制御方法 | |
KR100214675B1 (ko) | 산업용 로봇의 기준 자세 및 위치 교정 장치 및 그 방법 | |
Lei et al. | Vision-based position/impedance control for robotic assembly task |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200206 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20200207 |