JP2020015124A - Robot control method, article manufacturing method, robot control device, robot, program and recording medium - Google Patents
Robot control method, article manufacturing method, robot control device, robot, program and recording medium Download PDFInfo
- Publication number
- JP2020015124A JP2020015124A JP2018138891A JP2018138891A JP2020015124A JP 2020015124 A JP2020015124 A JP 2020015124A JP 2018138891 A JP2018138891 A JP 2018138891A JP 2018138891 A JP2018138891 A JP 2018138891A JP 2020015124 A JP2020015124 A JP 2020015124A
- Authority
- JP
- Japan
- Prior art keywords
- robot arm
- value
- teaching point
- robot
- command
- 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)
- Numerical Control (AREA)
Abstract
Description
本発明は、ロボットアームの制御に関する。 The present invention relates to control of a robot arm.
近年、ロボットアームを有するロボットが工場等において利用されている。この種のロボットアームは、モータ及び減速機を有する駆動機構と、関節で連結され、駆動機構により一方が他方に対して駆動される一対のリンクとを備えている。一般的にロボットは、特許文献1に記載のように、減速機の入力側、即ちモータに配置されたエンコーダの出力値を用いてフィードバック制御を行うセミクローズドループ制御方式が採用されている。セミクローズドループ制御は、制御ループに減速機が介在しないので、サーボ系の発振が小さく、サーボゲインを大きくとることができる。このため、ロボットアームの高速動作が可能である。
In recent years, robots having a robot arm have been used in factories and the like. This type of robot arm includes a drive mechanism having a motor and a speed reducer, and a pair of links that are connected by a joint and one of which is driven relative to the other by the drive mechanism. Generally, as described in
しかし、減速機は、リンクと比較して剛性が低く撓みやすいので、一般的なセミクローズドループ制御方式では、ロボットアームの先端において高い位置決め精度を保証することが困難であった。 However, since the speed reducer has low rigidity and is easy to bend as compared with the link, it is difficult to guarantee high positioning accuracy at the tip of the robot arm by the general semi-closed loop control method.
本発明は、セミクローズドループ制御方式で制御されるロボットアームの先端の位置決め精度を向上させることを目的とする。 An object of the present invention is to improve the positioning accuracy of the tip of a robot arm controlled by a semi-closed loop control method.
本発明は、指令部が、制御部に指令値を指令することにより、前記制御部が、ロボットアームの関節を減速機を介して駆動するモータを、前記減速機の入力側に配置された第1エンコーダの出力値及び前記指令値に基づいてフィードバック制御するロボット制御方法であって、前記指令部が、教示点に基づいて前記制御部に前記指令値を指令し、前記指令部が、前記減速機の出力側に配置された第2エンコーダの出力値に基づく前記ロボットアームの実姿勢と、予め設定された目標姿勢との差に基づいて前記教示点を補正し、前記指令部が、補正後の前記教示点に基づいて前記制御部に前記指令値を指令することを特徴とする。 According to the present invention, a command unit instructs a control unit to issue a command value, whereby the control unit drives a motor that drives a joint of a robot arm via a speed reducer, a motor arranged on an input side of the speed reducer. (1) A robot control method for performing feedback control based on an output value of an encoder and the command value, wherein the command unit commands the control value to the control unit based on a teaching point, and the command unit controls the deceleration. The teaching point is corrected based on a difference between an actual posture of the robot arm based on an output value of a second encoder disposed on the output side of the machine and a preset target posture, and the command unit corrects the teaching point. The command value is commanded to the control unit based on the teaching point.
本発明によれば、ロボットアームの先端の位置決め精度が向上する。 According to the present invention, the positioning accuracy of the tip of the robot arm is improved.
以下、本発明を実施するための形態を、図面を参照しながら説明する。
[第1実施形態]
図1は、第1実施形態に係るロボット500を示す斜視図である。図1に示すロボット500は、産業用ロボットである。ロボット500は、ロボットアーム100と、ロボットアーム100を制御するロボット制御装置300と、ロボット制御装置300に接続された教示ペンダント600と、を備える。ロボット制御装置300がロボットアーム100を制御することにより、ロボットアーム100に第1ワークW1を把持させ、第1ワークW1を第2ワークW2に組み付けて物品を製造する作業をロボットアーム100に行わせる。
Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a perspective view showing a
ロボットアーム100は、垂直多関節のロボットアームであり、アーム本体101と、アーム本体101の先端に配置されたエンドエフェクタの一例であるハンド102と、を有する。
The
アーム本体101は、関節J1〜J6で連結されたリンク120〜126と、各関節J1〜J6を駆動する駆動機構110とを備える。各駆動機構110は、必要なトルクの大きさに合わせて適切な出力のものが用いられる。ハンド102は、複数の把持爪104(フィンガ)を有し、ワーク等を把持することができる。
The arm
教示ペンダント600は、ロボット制御装置300に接続可能に構成され、ユーザがロボットアーム100の動作を教示する、即ち教示点P1,P2,P3を作成するのに用いられる。
The
ロボットアーム100の先端(手先)であるハンド102には、ツールセンターポイント(TCP)が定義される。教示点P1,P2,P3は、タスク空間(作業空間)におけるTCPの位置を示すパラメータ、又はコンフィグレーション空間(関節空間)におけるロボットアーム100の各関節J1〜J6(又はモータ)の回転角度を示すパラメータで表現される。ロボットアーム101の先端(TCP)の「位置」とは、「並進位置」及び「回転位置」である。タスク空間を基準とする教示点は、並進位置を示す3つのパラメータと、回転位置を示す3つのパラメータとで構成される。コンフィグレーション空間を基準とする教示点は、関節の数(本実施形態では6つ)のパラメータで構成される。コンフィグレーション空間を基準に作成された教示点は、ロボットの順運動学計算により、タスク空間に変換することができ、タスク空間を基準に作成された教示点は、ロボットの逆運動学計算により、コンフィグレーション空間に変換することができる。
A tool center point (TCP) is defined for the
図2は、第1実施形態に係るロボットアーム100の関節J2を示す部分断面図である。以下、関節J2を例に代表して説明し、他の関節J1,J3〜J6については、同様の構成であるため、説明を省略する。
FIG. 2 is a partial cross-sectional view showing a joint J2 of the
駆動機構110は、サーボモータである電動のモータ1と、モータ1の回転軸2の回転速度を減速して出力する減速機11と、を有している。モータ1は、例えばブラシレスDCサーボモータやACサーボモータである。モータ1は、回転軸2とロータマグネット3とで構成された回転子4と、モータハウジング5と、回転軸2を回転自在に支持する軸受6,7と、回転子4を回転させるステータコイル8と、を備えている。軸受6,7はモータハウジング5に設けられ、ステータコイル8はモータハウジング5に取り付けられている。また、モータ1はモータカバー9で囲われている。
The
減速機11は、例えば波動歯車減速機である。減速機11は、モータ1の回転軸2に結合された、入力軸を有するウェブジェネレータ12と、リンク122に固定された、出力軸を有するサーキュラスプライン13と、を備えている。なお、サーキュラスプライン13は、リンク122に直結されているが、リンク122に一体に形成されていてもよい。
The
また、減速機11は、ウェブジェネレータ12とサーキュラスプライン13との間に配置され、リンク121に固定されたフレクスプライン14を備えている。リンク122に固定されたサーキュラスプライン13は、ウェブジェネレータ12の回転に対して減速され、リンク121に固定されたフレクスプライン14に対して相対的に回転する。このように、モータ1は、減速機11を介して、リンク122をリンク121に対して相対的に回転駆動する、即ち関節J2を回転駆動する。このときの減速機11の出力側の回転角度が、リンク121とリンク122の間の実際の相対角度、即ち関節J2の回転角度となる。
In addition, the
リンク121とリンク122とは、クロスローラベアリング15を介して回転自在に結合されている。リンク121とリンク122との間には、必要に応じて、電源オフ時にロボットアーム100の姿勢を保持するためのブレーキユニットを設けてもよい。
The
減速機11の入力側には、第1エンコーダとして、モータ1の回転軸2の回転角度に応じた信号を出力する入力軸エンコーダ10が配置されている。減速機11の出力側には、第2エンコーダとして、減速機11の出力軸の回転角度、即ち関節の回転角度に応じた信号を出力する出力軸エンコーダ16が配置されている。入力軸エンコーダ10及び出力軸エンコーダ16は、ロータリエンコーダであり、光学式と磁気式のいずれであってもよく、また、インクリメンタル方式とアブソリュート方式のいずれであってもよい。
On the input side of the
図3は、第1実施形態に係るロボット500の制御系の構成を示すブロック図である。図3に示すロボット500の制御システム350は、コンピュータであるロボット制御装置300と、モータ1をフィードバック制御する、複数、本実施形態では6つの制御部であるモータ制御装置230と、で構成される。モータ制御装置230は、例えばロボットアーム100に搭載される。
FIG. 3 is a block diagram illustrating a configuration of a control system of the
ロボット制御装置300は、指令部の一例であるプロセッサとしてのCPU(Central Processing Unit)301を備えている。また、ロボット制御装置300は、記憶部として、ROM(Read Only Memory)302、RAM(Random Access Memory)303、HDD(Hard Disk Drive)304を備えている。また、ロボット制御装置300は、記録ディスクドライブ305、計時部であるタイマ306、及び入出力インタフェースであるI/F311を備えている。I/F311には、各種画像が表示される不図示のモニタや書き換え可能な不揮発性メモリや外付けHDD等の不図示の外部記憶装置が接続可能である。
The
CPU301、ROM302、RAM303、HDD304、記録ディスクドライブ305、タイマ306及びI/F311が、バス310を介して互いに通信可能に接続されている。ROM302には、基本プログラムが格納されている。RAM303は、CPU301の演算処理結果等、各種データを一時的に記憶する記憶装置である。
The
HDD304は、CPU301の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、CPU301に、後述する各種演算処理を実行させるためのプログラム320を記録するものである。CPU301は、HDD304に記録(格納)されたプログラム320に基づいてロボット制御方法の各工程を実行する。
The
記録ディスクドライブ305は、記録ディスク322に記録された各種データやプログラム等を読み出すことができる。タイマ306は、CPU301からの計時開始の命令と計時終了の命令に基づき時間をカウントし、カウントした時間のデータをCPU301に出力する。
The
教示ペンダント600は、I/F311に接続されている。教示ペンダント600は、入力された教示点のデータをI/F311及びバス310を介してCPU301に出力する。CPU301は、教示ペンダント600から入力を受けた教示点のデータを、記憶部の一例であるHDD304に記憶させる。
The
なお、本実施形態では、コンピュータ読み取り可能な記録媒体がHDD304であり、HDD304にプログラム320が格納される場合について説明するが、これに限定するものではない。プログラム320は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム320を供給するための記録媒体としては、図2に示すROM302、記録ディスク322、不図示の外部記憶装置等を用いてもよい。具体的に例示すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性メモリ等を用いることができる。光ディスクは、例えばDVD−ROM、CD−ROM、CD−Rである。不揮発性メモリは、例えばUSBメモリ、メモリカード、ROMである。
In the present embodiment, the case where the computer-readable recording medium is the
モータ制御装置230は、バス360を介してロボット制御装置300のI/F311に接続されている。各モータ制御装置230には、対応するモータ1、入力軸エンコーダ10及び出力軸エンコーダ16が接続されている。各モータ制御装置230は、マイクロコンピュータ、モータ1に電流を供給するモータドライバ、各エンコーダ10,16からのパルス信号をデジタルのデータ(出力値)に変換する変換器(エンコーダ回路)、入出力インタフェース等を含む。各モータ制御装置230は、各エンコーダ10,16からの出力値を示すデータ信号を、予め定められた周期でバス360を介してCPU301に出力する。CPU301は、教示点に基づいて軌道を生成し、モータ1の回転軸2の回転角度の制御量を示す指令値のデータを予め定められた周期でバス360を介して各モータ制御装置230に出力する。
The
各モータ制御装置230は、CPU301から指令された指令値と、入力軸エンコーダ10の出力値に基づき、モータ1をフィードバック制御する。具体的には、各モータ制御装置230は、指令値と入力軸エンコーダ10の出力値との差分に基づき、モータ1への電流の出力量を演算し、モータ1へ電流を供給して、各関節J1〜J6の動作を制御する。このように、各モータ制御装置230は、各入力軸エンコーダ10を用いたセミクローズドループ制御によるフィードバック制御により、各モータ1、即ち各関節J1〜J6の動作を制御する。
Each
ロボット制御装置300のCPU301が各モータ制御装置230に指令する指令値は、指令周期ごとに更新される。この指令周期は、0.5msecから10msecを用いることが可能であり、たとえば2msecである。各モータ制御装置230が各モータ1を制御する周期は、50〜500μsecであり、たとえば100μsecである。各モータ制御装置230が、各モータ1へ供給する電流を制御することで、各関節J1〜J6における回転角度を制御する。
The command value that the
図4は、第1実施形態に係るロボット500の制御系の機能を示すブロック図である。なお、各関節J1〜J6に対応する、モータ1、減速機11、入力軸エンコーダ10、出力軸エンコーダ16、及びモータ制御装置230があるが、図4では、簡略化のためにこれらを1関節分のみ図示している。
FIG. 4 is a block diagram illustrating functions of a control system of the
CPU301は、図3に示すプログラム320を実行することにより、図4に示す各部401,402,403,404、405として機能する。また、記憶部としてのHDD304及び/又はRAM303は、各記憶部411,412,413,415として機能する。またモータ制御装置230のマイクロコンピュータは、サーボ制御部240として機能する。なお、モータ制御装置230は、入力軸エンコーダ10からの信号をデジタルの値(データ)に変換する変換器241を有し、変換器241からの出力が、入力軸エンコーダ10の出力値(エンコーダ値)となる。また、モータ制御装置230は、出力軸エンコーダ16からの信号をデジタルの値(データ)に変換する変換器242を有し、変換器242からの出力が、出力軸エンコーダ16の出力値(エンコーダ値)となる。
The
図5は、第1実施形態に係るロボット制御方法を示すフローチャートである。図5の制御手順は、図3に示すプログラム320として、例えばHDD304に格納しておくことができる。
FIG. 5 is a flowchart illustrating the robot control method according to the first embodiment. The control procedure of FIG. 5 can be stored in the
以下、図1に示すように、ロボットアーム100を教示点P1,P2,P3の順に動作させてワークW1をワークW2に組付けて物品を製造する場合を例に説明する。なお、パラメータ記憶部413には、リンクパラメータなどの機構パラメータが、予め記憶されている。リンクパラメータは、リンクの長さ、リンクのねじれ角、リンク間距離、リンク間角度などのパラメータを含む。これらのパラメータは、順運動学計算部401における順運動学計算、逆運動学計算部405における逆運動学計算を行う際に用いられる。CPU301は、順運動学計算又は逆運動学計算を行う際には、これらパラメータを参照する。機構パラメータは設計値であってもよいし、測定結果に基づいた校正値であってもよい。
Hereinafter, as shown in FIG. 1, a case where the
まず、ロボットアーム100を教示する教示工程(S1)について説明する。教示工程(S1)において、ユーザが教示ペンダント600(図1及び図3)を操作することにより、ロボットアーム100を所定の教示姿勢に動作させて教示点のデータを作成する。図1の例では、3つの教示点P1,P2,P3のデータを作成する。作成された教示点P1,P2,P3のデータは、教示点記憶部411に記憶される。
First, the teaching step (S1) for teaching the
本実施形態では、サーボ制御部240は、入力軸エンコーダ10を用いたセミクローズドループ制御方式により、モータ1をフィードバック制御する。よって、教示工程においては、各教示点P1,P2,P3のデータは、入力軸エンコーダ10の出力値に基づいて作成される。教示点P1,P2,P3のデータは、タスク空間で指定されたパラメータで作成される。具体的には教示点のデータは、ロボットアーム100を所定の教示姿勢に動作させたときに取得した入力軸エンコーダ10の出力値に基づく順運動学計算により、ロボットアーム100の先端の位置である並進位置及び回転位置を示すパラメータで作成される。入力軸エンコーダ10の出力値は、モータ1の回転軸2の回転角度に相当した値である。このため、ロボットアーム100の先端の位置である並進位置及び回転位置を順運動学計算により求める際には、入力軸エンコーダ10の出力値を、関節の回転角度のコンフィグレーション空間のデータに変換するよう減速機11の減速比などで校正する。
In the present embodiment, the
同時に、本実施形態では、この教示工程(S1)において、教示点を作成するためにロボットアーム100を所定の教示姿勢に動作させたときに、CPU301は、入力軸エンコーダ10の出力値と共に出力軸エンコーダ16の出力値も取得する。CPU301は、出力軸エンコーダ16の出力値に基づきロボットアーム100の目標姿勢のデータを作成する。作成された目標姿勢のデータは、目標姿勢記憶部412に記憶される。
At the same time, in the present embodiment, in this teaching step (S1), when the
目標姿勢のデータは、タスク空間で指定されたパラメータで設定されている。具体的には、目標姿勢データは、所定の教示姿勢にロボットアーム100を動作させたときに取得した出力軸エンコーダ16の出力値に基づいて順運動学計算を行うことで、ロボットアーム100の先端(TCP)の位置を示すパラメータで設定される。出力軸エンコーダ16の出力値は、関節の回転角度に相当した値である。したがって、入力軸エンコーダ10の出力値のように、減速機11の撓みによる誤差を含んでいないため、正確にロボットアーム100の目標姿勢を求めることができる。このように求められた目標姿勢データは、教示点データと対応付けて作成されて、目標姿勢記憶部412に記憶される。
The data of the target posture is set by parameters specified in the task space. Specifically, the target posture data is obtained by performing forward kinematics calculation based on the output value of the
なお、ユーザが教示ペンダント600を操作してロボットアーム100を実際に動作させて、CPU301に教示点のデータ及び目標姿勢のデータを作成させる場合について説明したが、これに限定するものではない。例えば、ロボットシミュレータを用いて、教示点のデータ及び目標姿勢のデータを作成するようにしてもよい。また、例えばハンドにワークを把持させて、不図示の撮像装置を用いてワークを撮像し、画像処理を行って、教示点のデータ及び目標姿勢のデータを作成するようにしてもよい。
Although the case where the user operates the
このように、記憶部411,412に教示点及び目標姿勢の各データを記憶させておく、即ち予め設定しておくことで、組立工程において、CPU301は、教示点と目標姿勢の各データを記憶部411,412からそれぞれ取得することができる。
As described above, the data of the teaching point and the target posture are stored in the
次に、TCPが教示点P1,P2,P3の順に辿る一連の動作をロボットアーム100に行わせ、ワークW1をワークW2に組付ける実際の組立工程について説明する。なお、教示点P2は、ワークW1をワークW2に組み付ける動作を開始する位置であり、教示点P3は、ワークW1をワークW2に組み付ける動作を完了する位置である。
Next, the actual assembling process of assembling the work W1 to the work W2 by causing the
以下、ロボットアーム100が教示点P1の姿勢となっているものとし、教示点P1から教示点P2にロボットアーム100の姿勢を変更する場合を例に説明する。CPU301は、教示点P2のデータに基づいて、各モータ1の指令値(角度指令)を生成し(S2)、各サーボ制御部240に指令値を指令する(S3)。各サーボ制御部240は、入力軸エンコーダ10の出力値と指令値との差分に基づいてモータ1をフィードバック制御(セミクローズドループ制御)する。これにより、ロボットアーム100の先端におけるTCPが教示点P2に近づくように、ロボットアーム100の姿勢が変更される。
Hereinafter, it is assumed that the
ステップS2,S3の処理について更に具体的に説明する。図4に示す軌道生成部404は、ステップS2において、教示点記憶部411から教示点P2のデータを読み出す。一方、順運動学計算部401は、ロボットアーム100を教示点P2に移動させる前の入力軸エンコーダ10の出力値(現在値)を取得し、ロボットの順運動学計算を行い、参照姿勢データを算出する。この参照姿勢データは、ロボットアーム100の先端の位置に対応するが、関節J1〜J6の撓み分が考慮されていないため、実際のロボットアーム100の先端の位置に対して誤差を含んでいることがある。
The processing of steps S2 and S3 will be described more specifically. The
軌道生成部404は、参照姿勢データを示す現在値から教示点P2に移動する軌道データを、補間処理を行って生成し、位置指令を算出する。軌道データは、指令周期ごとの位置指令からなるデータである。補間処理は、スプライン補間、直線補間、円弧補間、カム曲線補間などの任意の補間方法で補間することができる。
The
逆運動学計算部405は、位置指令をロボットの逆運動学計算により角度指令(モータ1の指令値)に変換し、この指令値をサーボ制御部240に指令する(S3)。このように、ステップS2,S3により、CPU301は、教示点P2に基づいてサーボ制御部240に指令値を指令する。
The inverse
サーボ制御部240は、入力軸エンコーダ10の出力値と指令された指令値との差分に基づき、モータ1をフィードバック制御する。このとき、サーボ制御部240がモータ1へ電流を供給することで、関節が駆動される。このようにサーボ制御部240がモータ1をセミクローズドループ制御することで、ロボットアーム100の姿勢が教示点P2に近づけられる。
The
なお、図4において機能ブロックは図示していないが、CPU301は、ロボットアーム100の先端が整定したかどうかを判定する(整定判定工程:S4)。ロボットアーム100は、教示点P2へ動作するのに伴い、慣性力の影響を受け、教示点P2に到達して、各関節J1〜J6のモータ1を停止させたときに、ロボットアーム100の先端が振動する場合がある。よって、CPU301は、ロボットアーム100の先端が整定したかどうかを判定することが好ましい。すなわち、CPU301は、教示点P2へロボットアーム100の先端を移動させる制御が終了した後、ロボットアーム100の各関節J1〜J6のモータ1を停止状態にし、ロボットアーム100の先端の振動が収束するまで待機する。そして、ロボットアーム100が整定したと判定した後、順運動学計算部401は、各関節J1〜J6の出力軸エンコーダ16の出力値を取得し、出力軸エンコーダ16の出力値に基づき、ロボットアーム100の実姿勢を求める(S5)。
Although the functional blocks are not shown in FIG. 4, the
整定判定には、以下に説明する3つの方法がある。第1の方法として、CPU301は、ステップS4において、教示点P2を指令したタイミングで、図3に示すタイマ306に計時を開始させ、予め設定された所定時間の計時が終了するまで待機する。そして、順運動学計算部401は、ステップS5において、サーボ制御部240に指令値を指令してから所定時間が経過した時点で取得した出力軸エンコーダ16の出力値からロボットアーム100の実姿勢を求める。
There are three methods for setting determination as described below. As a first method, in step S4, the
第2の方法として、CPU301は、サーボ制御部240に指令値を指令した後、ステップS4において、各関節J1〜J6の出力軸エンコーダ16の出力値をモニタする。そして、CPU301は、各出力軸エンコーダ16の出力値の振動量が所定値以下に収束するまで待機する。具体的には、CPU301は、各関節J1〜J6の出力軸エンコーダ16の出力値を取り込み、出力軸エンコーダ16の出力値の時間変化から、ロボットアーム100の先端の振動が収束したかどうかを判定する。そして、順運動学計算部401は、ステップS5において、各関節J1〜J6の出力軸エンコーダ16出力値の振動量が所定値以下となったときの各出力軸エンコーダ16の出力値から、ロボットアーム100の実姿勢を求める。
As a second method, after instructing the
図6(a)は、出力軸エンコーダ16の出力値の時間プロファイルの一例を示すグラフである。横軸は時間、縦軸は出力軸エンコーダ16の出力値である。CPU301は、図6(a)に示す減衰データに対して、収束判定を行う。収束の判定には、例えば、出力軸エンコーダ16の出力値の時間微分量が予め設定された所定値以下となった場合、又はその移動平均の時間微分量が予め設定された所定値以下となった場合などで判定することができる。判定アルゴリズムはこれに限らず、任意の手法が適用可能である。
FIG. 6A is a graph illustrating an example of a time profile of an output value of the
整定判定の第3の方法として、出力軸エンコーダ16の出力値に順運動学計算を施すことによって得られたロボットアーム100の先端の位置データ(手先位置データ)を用いる。この場合、順運動学計算部401は、手先位置データを算出し、手先位置データの時間プロファイル(時間変化)を取得する。図6(b)は、ロボットアーム100の先端の位置(手先位置データ)の時間プロファイルの一例を示すグラフである。順運動学計算部401は、ステップS4において、ロボットアーム100の先端の位置x、y、zの時間プロファイルに対して、時間微分量や移動平均量を用いた収束判定を行う。順運動学計算部401は、ステップS5において、出力軸エンコーダ16の出力値に基づくロボットアーム100の先端の振動量が所定値以下となったときの出力軸エンコーダ16の出力値からロボットアーム100の実姿勢を求める。
As a third method of settling determination, position data (hand position data) of the tip of the
このように、ロボットアーム100が整定したと判定した後、順運動学計算部401は、ステップS5において、各関節J1〜J6の出力軸エンコーダ16の出力値を取得し、出力軸エンコーダ16の出力値に基づき、ロボットアーム100の実姿勢を求める。順運動学計算部401は、ロボットアーム100の実姿勢として、ロボットアーム100の先端の実際の位置(並進位置及び回転位置)を求める。即ち、順運動学計算部401は、各関節J1〜J6の出力軸エンコーダ16の出力値に基づき、ロボットの順運動学計算により、ロボットアーム100の先端の実際の位置を求める。
After determining that the
具体的に説明すると、順運動学計算部401は、以下の式を用いてロボットアーム100の先端の実際の位置を求める。
Pout=K[Θout]
ただし、Poutはロボットアーム100の実姿勢であるロボットアーム100の先端の実際の位置(手先位置データ)、Kは順運動学計算子、Θoutは出力軸エンコーダ16の出力値である。
More specifically, the forward
P out = K [Θ out ]
Here, P out is the actual position (hand position data) of the tip of the
また、順運動学計算部401は、各関節J1〜J6の入力軸エンコーダ10の出力値を取得し、各入力軸エンコーダ10の出力値に基づき、ロボットの順運動学計算により参照姿勢データも求める。
Further, the forward
次に、差計算部402は、ロボットアーム100の実姿勢と、予め設定された目標姿勢との差(即ち補正量)ΔPを算出する(S6)。目標姿勢のデータは、目標姿勢記憶部412に予め記憶されている。差計算部402は、差ΔPを計算する際に目標姿勢記憶部412から目標姿勢のデータを取得する。
Next, the
具体的に説明すると、差計算部402は、以下の式で差ΔPを算出する。
ΔP=Pout−Pr
ただし、Prは、ロボットアーム100の目標姿勢であるロボットアーム100の先端の目標の位置である。
Specifically, the
ΔP = P out −P r
Here, Pr is a target position of the distal end of the
ロボットアーム100の実姿勢と目標姿勢のデータは、共に、出力軸エンコーダ16の出力値を用いて算出された、ロボットアーム100の先端の位置を示すパラメータで設定されている。即ち、ロボットアーム100の実姿勢と目標姿勢のデータは、共に、出力軸エンコーダ16を用いて得られた手先位置データである。出力軸エンコーダ16を用いて得られた手先位置データは、高い位置精度を有している。よって、求まる差(補正量)ΔPも高い精度を有している。なお、実姿勢と目標姿勢のデータは、ロボットアーム100の先端の位置のパラメータで設定されるベクトルデータである。したがって、差計算部402は、実姿勢と目標姿勢のデータに対してノルム(絶対値)とする演算を施してから、差ΔPを求める。
The data of the actual posture and the target posture of the
次に、補正部403は、差ΔPの閾値判定を行う(S7)。閾値は、予め設定された値、例えばHDD304等の記憶部に記憶された値である。補正部403は、差ΔPが閾値以下である場合(S7:NO)、ロボットアーム100の先端の位置精度が十分得られているため、次の教示点P3へロボットアーム100を高精度に移動させることができる。閾値としては、要求されている位置精度やロボットの構成にも依存するが、10μmから数100μm程度の値を用いることが可能であり、たとえば20μmである。
Next, the
補正部403は、差ΔPが閾値を超える場合(S7:YES)、差ΔPに基づいて教示点P2を補正する(S8)。補正した教示点P2のデータは、補正教示点記憶部415に記憶される。
When the difference ΔP exceeds the threshold (S7: YES), the
具体的に説明すると、補正部403は、以下の式で補正した教示点を算出する。
Pcorr=Pt+ΔP
ただし、Pcorrは、補正後の教示点、Ptは、補正前の教示点である。
Specifically, the
P corr = P t + ΔP
However, P corr is, teaching points after correction, P t is a teaching point before correction.
即ち、補正部403にて教示点を補正する補正量は、差ΔPである。補正部403は、差ΔPを用いて、入力軸エンコーダの出力値に基づいて作成した教示点のデータを補正することで、補正後の教示点のデータを求める。このように出力軸エンコーダ16の出力値に基づいて算出した精度の高い補正値を用いて教示点を補正することによって、高い位置精度の教示点が得られる。
That is, the correction amount for correcting the teaching point by the
次に、軌道生成部404は、現在の位置から補正後の教示点に移動するロボットアームの軌道を生成する(S9)。即ち、軌道生成部404は、ステップS5で算出された参照姿勢データと補正後の教示点のデータを基に、補間処理を行って軌道データを生成する。即ち、このステップS9では、ロボットアームの先端の位置ずれ(差)を解消するための軌道を生成する。
Next, the
次に、逆運動学計算部405は、位置指令からなる軌道データに対して逆運動学計算を施し、角度指令(指令値)を生成する。そして、逆運動学計算部405は、生成した指令値をサーボ制御部240に指令する(S10)。このように、CPU301は、補正後の教示点Pに基づいてサーボ制御部240に指令値を指令する。この指令値の指令を受けたサーボ制御部240は、入力軸エンコーダ10の出力値と指令値との差分に基づいてモータ1をフィードバック制御する。
Next, the inverse
CPU301は、ステップS10で指令値を指令する処理を行った後、ステップS4の処理に再び戻る。CPU301は、以上説明したステップS8〜S10の処理、ステップS4〜S7の処理を、差ΔPが閾値以下に収束するまで、繰り返し行う。これにより、ロボットアーム100の先端の位置精度が、1回だけ補正する場合と比較して更に向上する。
After performing the process of commanding the command value in step S10, the
図7は、第1実施形態における実験結果の一例を示すグラフである。図7に示すように、差ΔPは、補正動作を繰り返す度に小さくなることがわかる。実験の結果、補正なしの際には差が110μmであったのに対し、1回目の補正で差が30μmに減少し、さらに2回目の補正で差が20μm以下に減少した。即ち、本実施形態では、リンクパラメータなどを用いて逆運動学計算を行うため、逆運動学計算による誤差も生じる。補正動作を繰り返すことで、逆運動学計算による誤差も解消されていくものと考えられる。 FIG. 7 is a graph showing an example of an experimental result in the first embodiment. As shown in FIG. 7, it can be seen that the difference ΔP decreases each time the correction operation is repeated. As a result of the experiment, while the difference was 110 μm without correction, the difference was reduced to 30 μm by the first correction, and further reduced to 20 μm or less by the second correction. That is, in the present embodiment, since the inverse kinematics calculation is performed using the link parameters and the like, an error due to the inverse kinematics calculation also occurs. It is considered that the error due to the inverse kinematics calculation is eliminated by repeating the correction operation.
なお、補正動作に要する時間(ステップS4〜S10)は、数100msec〜数sec程度であり、ロボットアーム100による生産性はほとんど低下しない。また、所定の回数、補正動作を繰り返しても差ΔPが閾値以下とならない場合には、工程を停止することや、警告表示を行い次の工程に進むなどの対処を行うことが可能である。
The time required for the correction operation (steps S4 to S10) is approximately several hundred msec to several seconds, and the productivity by the
以上、第1実施形態によれば、出力軸エンコーダ16の出力値を用いてロボットアーム100の先端の位置を補正するため、高精度にロボットアーム100の先端を位置決めすることができる。
As described above, according to the first embodiment, since the position of the tip of the
特に、教示点P1,P2,P3の順に動作させてワークW1をワークW2に組付けて物品を製造する場合に、教示点P2に到達した際に、出力軸エンコーダ16を用いた補正動作を行うことが好ましい。この補正動作により教示点P2の位置でTCPを高い精度で位置決めできるため、高い精度が要求される教示点P2から教示点P3への移動動作において、ワークW1とワークW2と間の干渉が起きにくくなる。これにより、組み付けの失敗を少なくすることができ、物品の生産性が向上する。
In particular, when manufacturing the article by assembling the work W1 to the work W2 by operating the teaching points P1, P2, and P3 in order, when the teaching point P2 is reached, the correction operation using the
また、第1実施形態では、関節角やモータ軸角度などのコンフィグレーション空間で指定されたデータではなく、手先位置データ(タスク空間で指定されたデータ)で補正処理を行っている。このため、高い位置精度で再現性よくワーク同士の組み付けを行うことが可能となり、物品の生産性が向上する。 Further, in the first embodiment, the correction processing is performed using hand position data (data specified in the task space) instead of data specified in the configuration space such as the joint angle and the motor shaft angle. For this reason, it is possible to assemble the workpieces with high positional accuracy and high reproducibility, thereby improving the productivity of articles.
また、第1実施形態では、差(補正量)ΔPの算出に際し、出力軸エンコーダ16の出力値からロボットアーム100の実姿勢を算出するため、高い精度で差ΔPを求めることができ、その結果、ロボットアーム100の先端の位置決め精度が向上する。
Further, in the first embodiment, when calculating the difference (correction amount) ΔP, the actual posture of the
また、セミクローズドループ制御方式でロボットアーム100の各関節J1〜J6のモータ1をフィードバック制御するため、安定かつ高速なアーム動作が可能である。これにより、短時間での工程動作が可能である。
In addition, since the
以上、第1実施形態によれば、ロボットアーム100の先端を、高い精度で位置決めすることができ、かつ高速な動作が可能となる。これにより、精度の高い組立動作を短時間で実施することが可能となり、物品の生産性が向上する。
As described above, according to the first embodiment, the tip of the
[第2実施形態]
第2実施形態に係るロボットによるロボット制御方法について説明する。生産ラインに配置されるロボットにおいては、ロボットアームに、一連の動作を繰り返し行わせて、繰り返し物品を製造させる。第2実施形態では、同じ組立作業を繰り返し実施する製造工程、すなわち連続運転を行う生産装置に適用する場合に好適である。図8および図9は、第2実施形態に係るロボット制御方法を示すフローチャートである。なお、第2実施形態におけるロボットの構成は、第1実施形態と同様であるため、説明を省略する。図8および図9のフローチャートの説明におけるロボットの構成要素については、適宜、図1〜図4を参照する。
[Second embodiment]
A robot control method by the robot according to the second embodiment will be described. In a robot arranged in a production line, a series of operations are repeatedly performed by a robot arm to repeatedly manufacture articles. The second embodiment is suitable for a manufacturing process in which the same assembling work is repeatedly performed, that is, when applied to a production apparatus that performs continuous operation. 8 and 9 are flowcharts illustrating a robot control method according to the second embodiment. The configuration of the robot according to the second embodiment is the same as that of the first embodiment, and a description thereof will not be repeated. The components of the robot in the description of the flowcharts of FIGS. 8 and 9 will be referred to FIGS. 1 to 4 as appropriate.
図8は、一連の動作をロボットアームに行わせるときの1回目の組立工程のフローチャートであり、図9は、一連の動作をロボットアームに行わせるときの2回目の組立工程のフローチャートである。 FIG. 8 is a flowchart of the first assembly process when the robot arm performs a series of operations, and FIG. 9 is a flowchart of the second assembly process when the robot arm performs a series of operations.
図8に示すフローチャートから説明する。ステップS101に示す処理(教示工程)は、第1実施形態で説明した図5のステップS1の処理と同様である。図1に示す各教示点P1,P2,P3のデータには、ロボットアーム100の目標姿勢のデータが対応付けられている。各データは、図4に示す各記憶部411,412に記憶される。
Description will be made from the flowchart shown in FIG. The process (teaching process) shown in step S101 is the same as the process in step S1 of FIG. 5 described in the first embodiment. The data of the target posture of the
<1回目の組立工程>
図8に示すステップS102〜S110の処理は、第1実施形態で説明した図5のステップS2〜S10の処理と同様である。ただし、第1実施形態では、差ΔPが閾値以下に収束するまで、補正動作を繰り返したが、第2実施形態では、補正動作を1回のみ行う。
<First assembly process>
The processing in steps S102 to S110 shown in FIG. 8 is the same as the processing in steps S2 to S10 in FIG. 5 described in the first embodiment. However, in the first embodiment, the correction operation is repeated until the difference ΔP converges to the threshold value or less, but in the second embodiment, the correction operation is performed only once.
CPU301は、教示点を補正するステップS108の処理を行った場合、補正後の教示点を、図4に示す補正教示点記憶部415に記憶させておく。補正教示点記憶部415に記憶された補正後の教示点のデータは、次回の(2回目の)組立工程で用いられる。以下、例えば教示点P2のデータが補正されたものとして説明する。
When the processing of step S108 for correcting the teaching point has been performed, the
<2回目の組立工程>
1回目の組立工程後、必要であれば他の部品の組み付け等の一連の作業を実施した後、2回目の組立工程が行われる。図9に示すように、2回目の組立動作において教示点P2の位置にロボットアーム100を動作させる際には、CPU301は、補正教示点記憶部415から補正後の教示点P2のデータを取得する(S121)。その後のステップS122〜S120の処理は、図8のステップS102〜S110の処理と同様である。即ち、CPU301が、再度、一連の動作をロボットアーム100に行わせる際には、補正教示点記憶部415に記憶された教示点P2のデータに基づいてサーボ制御部240に指令値を指令する。
<Second assembly process>
After the first assembling process, if necessary, a series of operations such as assembling of other parts is performed, and then the second assembling process is performed. As shown in FIG. 9, when operating the
CPU301は、教示点P2を補正するステップS128の処理を行った場合、補正後の教示点P2を、補正教示点記憶部415に記憶させておく。即ち、教示点P2のデータを更新する。補正教示点記憶部415に記憶された補正後の教示点のデータは、次回の(3回目の)組立工程で用いられる。
When the processing of step S128 for correcting the teaching point P2 is performed, the
<3回目以降の組立工程>
3回目以降の組立工程では、2回目の組立工程と同様のフローで制御を行う。各組立工程において、補正教示点記憶部415に記憶された教示点が繰り返し更新されれば、差ΔPは、閾値以下に収束し、精度が高まっていく。
<The third and subsequent assembly processes>
In the third and subsequent assembly steps, control is performed in the same flow as in the second assembly step. In each assembly process, if the teaching point stored in the corrected teaching
第2実施形態によれば、物品を組み立てる一連の作業を繰り返して行う場合に、ロボットアーム100の先端の位置決めを高い精度に保ちつつ、効率的に物品を製造することができる。
According to the second embodiment, when a series of operations for assembling an article is repeatedly performed, the article can be efficiently manufactured while maintaining the positioning of the distal end of the
また、第2実施形態によれば、各回の組立工程の中で補正動作の回数を1回に限定している。したがって、1工程の時間に制約がある場合においても、組立工程を繰り返すことで、ロボットアーム100の先端の位置決め精度が向上していく。結果として、効率的に部品組み立ての連続動作を実行可能である。
Further, according to the second embodiment, the number of correction operations is limited to one in each assembly process. Therefore, even when the time of one process is limited, the positioning accuracy of the tip of the
[第3実施形態]
第3実施形態に係るロボットによるロボット制御方法について説明する。第1及び第2実施形態では、教示点及び目標姿勢のデータが、ロボットアームの先端の位置を示すパラメータ、即ちタスク空間のデータである場合について説明した。第3実施形態では、教示点及び目標姿勢のデータが、コンフィグレーション空間のデータである場合について説明する。図10は、第3実施形態に係るロボット制御方法を示すフローチャートである。なお、第3実施形態におけるロボットの構成は、第1実施形態と同様であるため、説明を省略し、以下、図10のフローチャートの説明におけるロボットの構成要素については、適宜、図1〜図4を参照する。
[Third embodiment]
A robot control method by the robot according to the third embodiment will be described. In the first and second embodiments, the case where the data of the teaching point and the target posture is the parameter indicating the position of the tip of the robot arm, that is, the data of the task space has been described. In the third embodiment, a case will be described in which the data of the teaching point and the target attitude is data of the configuration space. FIG. 10 is a flowchart illustrating a robot control method according to the third embodiment. The configuration of the robot according to the third embodiment is the same as that of the first embodiment, and a description thereof will be omitted. Hereinafter, components of the robot in the description of the flowchart of FIG. 10 will be appropriately described with reference to FIGS. See
まず、ステップS201において、上記第1実施形態の図5に示すステップS1と同様、教示を行うが、教示点のデータは、モータの回転角度を示すパラメータで設定され、目標姿勢のデータは、関節の回転角度を示すパラメータで設定される。このように、本実施形態において2つのデータは、コンフィグレーション空間のデータであるが、互いに異なるコンフィグレーション空間のデータである。 First, in step S201, teaching is performed in the same manner as in step S1 shown in FIG. 5 of the first embodiment. The teaching point data is set with a parameter indicating the rotation angle of the motor, and the target posture data is Is set with a parameter indicating the rotation angle of As described above, in the present embodiment, the two data are data in the configuration space, but are data in different configuration spaces.
図1のロボットアーム100が教示点P1の姿勢となっているものとし、教示点P1から教示点P2にロボットアーム100の姿勢を変更する場合を例に説明する。図4のCPU301は、教示点P2のデータに基づいて、各モータ1の指令値(角度指令)を生成し(S202)、各サーボ制御部240に指令値を指令する(S203)。各サーボ制御部240は、入力軸エンコーダ10の出力値と指令値との差分に基づいてモータ1をフィードバック制御(セミクローズドループ制御)する。これにより、ロボットアーム100の先端におけるTCPが教示点P2に近づくように、ロボットアーム100の姿勢が変更される。
It is assumed that the
ステップS202,S203の処理について更に具体的に説明する。CPU301は、ステップS202において、図4の教示点記憶部411から教示点P2のデータを読み出す。そして、CPU301は、教示点P2におけるモータの回転角度を示すパラメータを、ロボットの順運動学計算により、ロボットアーム100の先端の位置を示すパラメータに変換する。一方、CPU301は、ロボットアーム100を教示点P2に移動させる前の入力軸エンコーダ10の出力値(現在値)を取得し、ロボットの順運動学計算を行い、参照姿勢データを算出する。
The processing of steps S202 and S203 will be described more specifically. In step S202, the
CPU301は、参照姿勢データを示す現在値から教示点P2に移動する軌道を、補間処理を行って生成し、位置指令を算出する。軌道データは、指令周期ごとの位置指令からなるデータである。補間処理は、スプライン補間、直線補間、円弧補間、カム曲線補間などの任意の補間方法で補間することができる。
The
CPU301は、位置指令をロボットの逆運動学計算により角度指令(モータ1の指令値)に変換し、この指令値をサーボ制御部240に指令する(S203)。このように、ステップS202,S203により、CPU301は、教示点P2に基づいてサーボ制御部240に指令値を指令する。
The
CPU301は、ロボットアーム100の先端が整定したかどうかを判定する(S204)。このステップS204の処理は、図5のステップS4の処理と同様である。そして、ロボットアーム100が整定したと判定した後、CPU301は、各関節J1〜J6の出力軸エンコーダ16の出力値を取得し、出力軸エンコーダ16の出力値に基づき、ロボットアーム100の実姿勢を求める(S205)。このステップS205の処理は、図5のステップS5の処理と同様である。CPU301は、ロボットアーム100の実姿勢として、ロボットアーム100の先端の実際の位置を求める。即ち、CPU301は、各関節J1〜J6の出力軸エンコーダ16の出力値に基づき、ロボットの順運動学計算により、ロボットアーム100の先端の実際の位置を求める。
The
CPU301は、ロボットアーム100の実姿勢と、予め設定された目標姿勢との差(即ち補正量)ΔPを算出する(S206)。このステップS206の処理は、図5のステップS6の処理と同様である。目標姿勢のデータは、目標姿勢記憶部412に予め記憶されている。差計算部402は、差ΔPを計算する際に目標姿勢記憶部412から目標姿勢のデータを取得する。目標姿勢のデータは、関節の回転角度を示すパラメータで設定されている。したがって、CPU301は、目標姿勢を、ロボットの順運動学計算により、ロボットアーム100の関節の回転角度を示すパラメータからロボットアーム100の先端の位置を示すパラメータに変換してから、差ΔPを求める。
The
CPU301は、差ΔPの閾値判定を行う(S207)。このステップS207の処理は、図5のステップS7の処理と同様である。閾値は、予め設定された値である。CPU301は、差ΔPが閾値以下である場合(S207:NO)、ロボットアーム100の先端の位置精度が十分得られているため、次の教示点P3へロボットアーム100を高精度に移動させることができる。
The
CPU301は、差ΔPが閾値を超える場合(S207:YES)、差ΔPに基づいて教示点P2を補正する(S208)。このステップS208の処理は、図5のステップS8の処理と同様である。補正した教示点P2のデータは、補正教示点記憶部415に記憶される。教示点P2のデータは、既にタスク空間のデータに変換されているため、そのまま差ΔPで補正される。
When the difference ΔP exceeds the threshold (S207: YES), the
次に、CPU301は、現在の位置から補正後の教示点P2に移動するロボットアーム100の軌道を生成する(S209)。このステップS209の処理は、図5のステップS9の処理と同様である。即ち、このステップS209では、ロボットアーム100の先端の位置ずれ(差)を解消するための軌道を生成する。
Next, the
次に、CPU301は、位置指令からなる軌道データに対して逆運動学計算を施し、角度指令(指令値)を生成する。そして、CPU301は、生成した指令値をサーボ制御部240に指令する(S210)。このステップS210の処理は、図5のステップS10と同様である。また、差ΔPが閾値以下に収束するまで補正動作を繰り返す処理も、第1実施形態と同様である。
Next, the
以上、第3実施形態によれば、教示点及び目標姿勢のデータがコンフィグレーション空間のデータで作成されていても、順運動学計算によりタスク空間のデータに変換することで、第1実施形態と同様の補正動作を行うことができる。これにより、第1実施形態と同様、高精度にロボットアーム100の先端を位置決めすることができる。
As described above, according to the third embodiment, even if the data of the teaching point and the target posture is created with the data of the configuration space, the data is converted into the data of the task space by the forward kinematics calculation, and thus the first embodiment is different from the first embodiment. A similar correction operation can be performed. Thereby, similarly to the first embodiment, the tip of the
特に、教示点P1,P2,P3の順に動作させてワークW1をワークW2に組付けて物品を製造する場合に、教示点P2に到達した際に、出力軸エンコーダ16を用いた補正動作を行うことが好ましい。この補正動作により教示点P2の位置でTCPを高い精度で位置決めできるため、高い精度が要求される教示点P2から教示点P3への移動動作において、ワークW1とワークW2と間の干渉が起きにくくなる。これにより、組み付けの失敗を少なくすることができ、物品の生産性が向上する。
In particular, when manufacturing the article by assembling the work W1 to the work W2 by operating the teaching points P1, P2, and P3 in order, when the teaching point P2 is reached, the correction operation using the
また、第3実施形態では、関節角やモータ軸角度などのコンフィグレーション空間で指定されたデータではなく、手先位置データ(タスク空間で指定されたデータ)で補正処理を行っている。このため、高い位置精度で再現性よくワーク同士の組み付けを行うことが可能となり、物品の生産性が向上する。 Further, in the third embodiment, the correction process is performed using hand position data (data specified in the task space) instead of data specified in the configuration space such as the joint angle and the motor shaft angle. For this reason, it is possible to assemble the workpieces with high positional accuracy and high reproducibility, thereby improving the productivity of articles.
また、第3実施形態では、差(補正量)ΔPの算出に際し、出力軸エンコーダ16の出力値からロボットアーム100の実姿勢を算出するため、高い精度で差ΔPを求めることができ、その結果、ロボットアーム100の先端の位置決め精度が向上する。
Further, in the third embodiment, when calculating the difference (correction amount) ΔP, the actual posture of the
また、セミクローズドループ制御方式でロボットアーム100の各関節J1〜J6のモータ1をフィードバック制御するため、安定かつ高速なアーム動作が可能である。これにより、短時間での工程動作が可能である。
In addition, since the
以上、第3実施形態によれば、ロボットアーム100の先端を、高い精度で位置決めすることができ、かつ高速な動作が可能となる。これにより、精度の高い組立動作を短時間で実施することが可能となり、物品の生産性が向上する。
As described above, according to the third embodiment, the tip of the
なお、教示点のデータをコンフィグレーション空間のデータからタスク空間のデータに変換する処理は、軌道データを生成する前に行えばどのタイミングで行ってもよい。関節補間により軌道データを生成する場合には、教示点のデータはコンフィグレーション空間のデータでよいので、この場合については、教示点を補正する前に行えばよい。また、目標姿勢のデータをコンフィグレーション空間のデータからタスク空間のデータに変換する処理は、差を求める前に行えばどのタイミングで行ってもよい。例えば、CPU301が各データを記憶部から読み出したときに、すぐに変換する処理を行ってもよい。また、第3実施形態において、第2実施形態と同様、各組立工程において補正動作の上限を1回として、組立動作(一連の動作)を繰り返す制御を行ってもよい。
The process of converting the data of the teaching point from the data of the configuration space to the data of the task space may be performed at any timing if performed before generating the trajectory data. When the trajectory data is generated by joint interpolation, the data of the teaching point may be data of the configuration space. In this case, the data may be performed before correcting the teaching point. Further, the process of converting the data of the target posture from the data of the configuration space to the data of the task space may be performed at any timing as long as the process is performed before obtaining the difference. For example, when the
本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。 The present invention is not limited to the embodiments described above, and many modifications are possible within the technical idea of the present invention. Further, the effects described in the embodiments merely enumerate the most preferable effects resulting from the present invention, and the effects according to the present invention are not limited to those described in the embodiments.
上述の実施形態では、ロボットアーム100が垂直多関節のロボットアームの場合について説明したが、これに限定するものではない。ロボットアーム100が、例えば、水平多関節のロボットアーム、パラレルリンクのロボットアーム、直交ロボット等、種々のロボットアームであってもよい。
In the above-described embodiment, the case where the
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other Examples)
The present invention supplies a program for realizing one or more functions of the above-described embodiments to a system or an apparatus via a network or a storage medium, and one or more processors in a computer of the system or the apparatus read and execute the program. This processing can be realized. Further, it can also be realized by a circuit (for example, an ASIC) that realizes one or more functions.
1…モータ、10…入力軸エンコーダ(第1エンコーダ)、11…減速機、16…出力軸エンコーダ(第2エンコーダ)、100…ロボットアーム、230…モータ制御装置(制御部)、300…ロボット制御装置、301…CPU(指令部)、320…プログラム、500…ロボット
Claims (14)
前記指令部が、教示点に基づいて前記制御部に前記指令値を指令し、
前記指令部が、前記減速機の出力側に配置された第2エンコーダの出力値に基づく前記ロボットアームの実姿勢と、予め設定された目標姿勢との差に基づいて前記教示点を補正し、
前記指令部が、補正後の前記教示点に基づいて前記制御部に前記指令値を指令することを特徴とするロボット制御方法。 A command unit instructs a control unit to issue a command value, whereby the control unit drives a motor that drives a joint of the robot arm via a speed reducer by an output of a first encoder disposed on an input side of the speed reducer. A robot control method for performing feedback control based on a value and the command value,
The command unit commands the command value to the control unit based on a teaching point,
The command unit corrects the teaching point based on a difference between an actual posture of the robot arm based on an output value of a second encoder disposed on an output side of the speed reducer and a preset target posture,
A robot control method, wherein the command unit commands the control value to the control unit based on the corrected teaching point.
前記目標姿勢は、前記ロボットアームを前記所定の教示姿勢にして得られた前記第2エンコーダの出力値に基づいて作成されることを特徴とする請求項1に記載のロボット制御方法。 The teaching point is created based on an output value of the first encoder obtained by setting the robot arm to a predetermined teaching posture,
The robot control method according to claim 1, wherein the target posture is created based on an output value of the second encoder obtained by setting the robot arm to the predetermined teaching posture.
前記指令部が、前記実姿勢として、前記第2エンコーダの出力値から前記ロボットアームの先端の位置を求めることを特徴とする請求項1又は2に記載のロボット制御方法。 The target posture is set by a parameter indicating a position of a tip of the robot arm,
The robot control method according to claim 1, wherein the command unit obtains, as the actual posture, a position of a tip of the robot arm from an output value of the second encoder.
前記指令部が、前記実姿勢として、前記第2エンコーダの出力値から前記ロボットアームの先端の位置を求めるとともに、前記目標姿勢を、前記ロボットアームの関節の回転角度を示すパラメータから前記ロボットアームの先端の位置を示すパラメータに変換して、前記差を求めることを特徴とする請求項1又は2に記載のロボット制御方法。 The target posture is set by a parameter indicating a rotation angle of a joint of the robot arm,
The command unit obtains the position of the tip of the robot arm from the output value of the second encoder as the actual posture, and sets the target posture to the position of the robot arm from a parameter indicating the rotation angle of the joint of the robot arm. The robot control method according to claim 1, wherein the difference is obtained by converting the parameter into a parameter indicating a position of the tip.
前記指令部が、再度、前記一連の動作を前記ロボットアームに行わせる際には、前記記憶部に記憶された前記教示点に基づいて前記制御部に前記指令値を指令することを特徴とする請求項1乃至8のいずれか1項に記載のロボット制御方法。 The command unit, when performing a series of operations to the robot arm, when performing a process of correcting the teaching point, the teaching point after correction is stored in a storage unit,
When the instruction unit causes the robot arm to perform the series of operations again, the instruction unit instructs the control unit to issue the instruction value based on the teaching point stored in the storage unit. The robot control method according to claim 1.
前記指令部は、
教示点に基づいて前記制御部に前記指令値を指令する処理と、
前記減速機の出力側に配置された第2エンコーダの出力値に基づく前記ロボットアームの実姿勢と、予め設定された目標姿勢との差に基づいて前記教示点を補正する処理と、
補正後の前記教示点に基づいて前記制御部に前記指令値を指令する処理と、を実行することを特徴とするロボット制御装置。 A control unit that feedback-controls a motor that drives a joint of a robot arm via a speed reducer based on an output value of a first encoder disposed on an input side of the speed reducer and a command value instructed is provided to the control unit. It has a command section that commands the value,
The command unit,
Processing to instruct the control unit to the instruction value based on the teaching point;
A process of correcting the teaching point based on a difference between an actual posture of the robot arm based on an output value of a second encoder disposed on an output side of the speed reducer and a preset target posture;
A process of instructing the control unit to issue the instruction value based on the corrected teaching point.
前記第1エンコーダの出力値、及び指令された指令値に基づいて前記モータをフィードバック制御する制御部と、
前記制御部に前記指令値を指令する指令部と、を備え、
前記指令部は、
教示点に基づいて前記制御部に前記指令値を指令する処理と、
前記第2エンコーダの出力値に基づく前記ロボットアームの実姿勢と、予め設定された目標姿勢との差に基づいて前記教示点を補正する処理と、
補正後の前記教示点に基づいて前記制御部に前記指令値を指令する処理と、を実行することを特徴とするロボット。 A speed reducer, a motor that drives a joint via the speed reducer, a first encoder disposed on an input side of the speed reducer, and a robot arm including a second encoder disposed on an output side of the speed reducer;
A control unit that performs feedback control of the motor based on an output value of the first encoder and a command value that has been commanded;
A command unit for commanding the command value to the control unit,
The command unit,
Processing to instruct the control unit to the instruction value based on the teaching point;
A process of correcting the teaching point based on a difference between an actual posture of the robot arm based on an output value of the second encoder and a preset target posture;
Performing a process of instructing the control unit to issue the instruction value based on the corrected teaching point.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018138891A JP2020015124A (en) | 2018-07-24 | 2018-07-24 | Robot control method, article manufacturing method, robot control device, robot, program and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018138891A JP2020015124A (en) | 2018-07-24 | 2018-07-24 | Robot control method, article manufacturing method, robot control device, robot, program and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020015124A true JP2020015124A (en) | 2020-01-30 |
Family
ID=69579918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018138891A Pending JP2020015124A (en) | 2018-07-24 | 2018-07-24 | Robot control method, article manufacturing method, robot control device, robot, program and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020015124A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020044610A (en) * | 2018-09-19 | 2020-03-26 | 株式会社デンソーウェーブ | Robot control method |
CN112621758A (en) * | 2020-12-28 | 2021-04-09 | 北京配天技术有限公司 | Method for modifying teaching points in real time on line and robot control equipment |
CN117140537A (en) * | 2023-10-30 | 2023-12-01 | 中国标准化研究院 | Mechanical arm control system and method for sweeping robot |
-
2018
- 2018-07-24 JP JP2018138891A patent/JP2020015124A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020044610A (en) * | 2018-09-19 | 2020-03-26 | 株式会社デンソーウェーブ | Robot control method |
CN112621758A (en) * | 2020-12-28 | 2021-04-09 | 北京配天技术有限公司 | Method for modifying teaching points in real time on line and robot control equipment |
CN117140537A (en) * | 2023-10-30 | 2023-12-01 | 中国标准化研究院 | Mechanical arm control system and method for sweeping robot |
CN117140537B (en) * | 2023-10-30 | 2024-01-16 | 中国标准化研究院 | Mechanical arm control system and method for sweeping robot |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10486309B2 (en) | Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component | |
JP6504864B2 (en) | Robot control method, robot apparatus, program, recording medium, and article manufacturing method | |
JP6584102B2 (en) | Robot apparatus, robot control method, program, recording medium, and article manufacturing method | |
EP2835228B1 (en) | Robot apparatus and robot controlling method | |
JP5895628B2 (en) | ROBOT CONTROL METHOD, ROBOT CONTROL DEVICE, AND ROBOT CONTROL SYSTEM | |
JP5916583B2 (en) | Weaving control device for articulated robot | |
JP2006236031A (en) | Robot trajectory controlling method, system, and program for robot trajectory controlling method | |
JP2016083713A (en) | Robot control method, robot device, program, recording medium and assembly part manufacturing method | |
JP2020015124A (en) | Robot control method, article manufacturing method, robot control device, robot, program and recording medium | |
JP6652310B2 (en) | Robot system, robot arm control method, program, recording medium, and article manufacturing method | |
JP2016078149A (en) | Robot device control method, robot device, program and recording medium | |
CN105619424A (en) | Control device for motor drive device, control device for multi-axial motor, and control method for motor drive device | |
JP2017124455A (en) | Robot device, robot control method, program and record medium | |
JP2017209762A (en) | Robot device, robot control method, program, recording medium and production method of article | |
JP2017056549A (en) | Robot device robot control method, program, recording medium, and method of manufacturing assembling component | |
JP2016032326A (en) | Motor controller, robot device, motor control method, program, and recording medium | |
JP2022011402A (en) | Robot control method and robot system | |
JP2013166224A (en) | Robot control apparatus, robot, and program thereof | |
JP6245858B2 (en) | Control device | |
JP4498061B2 (en) | Welding robot controller | |
JP6700679B2 (en) | Control method, article manufacturing method, robot device, control program, and recording medium | |
JP2013223895A (en) | Robot control method and robot control device | |
JP2016040067A (en) | Robot device, method for controlling robot, program and recording medium | |
JP2016005296A (en) | Control method of motor drive device, motor drive device and robot device | |
JP2019214105A (en) | Robot control apparatus and robot control method |
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 |