[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6053424B2 - ロボット装置、ロボット制御方法、プログラム及び記録媒体 - Google Patents

ロボット装置、ロボット制御方法、プログラム及び記録媒体 Download PDF

Info

Publication number
JP6053424B2
JP6053424B2 JP2012210917A JP2012210917A JP6053424B2 JP 6053424 B2 JP6053424 B2 JP 6053424B2 JP 2012210917 A JP2012210917 A JP 2012210917A JP 2012210917 A JP2012210917 A JP 2012210917A JP 6053424 B2 JP6053424 B2 JP 6053424B2
Authority
JP
Japan
Prior art keywords
angle
joint
pulse signal
output
rotary motor
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.)
Expired - Fee Related
Application number
JP2012210917A
Other languages
English (en)
Other versions
JP2014065097A (ja
Inventor
勉 尾坂
勉 尾坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012210917A priority Critical patent/JP6053424B2/ja
Priority to US14/030,798 priority patent/US9342067B2/en
Publication of JP2014065097A publication Critical patent/JP2014065097A/ja
Application granted granted Critical
Publication of JP6053424B2 publication Critical patent/JP6053424B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37159Source of pulse, pulse derived from gear, plate teeth
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37356Torsion, twist
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41059Play in gear, screw backlash, lost motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Description

本発明は、回転モータにより減速機を介してロボット本体の関節を駆動する際に、関節のねじれを求めて、関節の角度を制御するものに関する。
一般に、ロボットアーム等のロボット本体の関節の駆動には、ACサーボモータやDCブラシレスサーボモータ等のサーボモータが用いられており、高出力のトルクを得るためにサーボモータの出力側に減速機が設けられ、リンク等の構造部材へ結合されている。
従来、ロボットアームの各関節の角度制御は、サーボモータ軸に直結されたロータリーエンコーダ(エンコーダ)でサーボモータ軸の回転角度を検出して行っていた。しかしながら、サーボモータに結合した減速機は、構造上、ねじれやガタが生じるため、関節にねじれが生じ、サーボモータ軸の回転角度では、正確に関節の角度を求めることができなかった。そのため、ロボットアーム先端等、ロボット本体の位置誤差となっていた。
近年、ロボット本体の位置誤差を小さくするために、減速機の出力軸にアブソリュート型のエンコーダを設けて位置を検出するものが提案されている(特許文献1参照)。アブソリュート型のエンコーダを用いることで、関節の角度を直接検出することができるため、ロボット本体の位置誤差も小さくすることができる。
特開2010−238174号公報
しかしながら、上記特許文献1のように、減速機の出力軸にアブソリュート型のエンコーダを設ける場合、アブソリュート型のエンコーダには、非常に高い分解能が要求される。
具体的に説明すると、モータの回転軸にアブソリュート型のエンコーダを実装する方式では、減速機で減速比分の分解能が緩和されるため、低分解能のエンコーダを用いることができる。一方、減速機の出力軸側に設けられるアブソリュート型のエンコーダには、モータに実装するエンコーダの分解能に対して減速比を乗じた分の高い分解能が要求される。例えば、減速機の減速比が50〜160程度で設計されている場合、減速機の出力軸側に設けられるアブソリュート型のエンコーダには、モータ側に実装されるエンコーダに対して、分解能が50〜160倍程度必要となる。
アブソリュート型のエンコーダでは、高分解能になるほど、発光素子や受光素子等の検出素子の数が増加するため、構造が複雑となり、また高価で大型となる。このため、ロボット本体の各関節に、関節角度検出用にアブソリュート型のエンコーダを実装すると、ロボット装置がコスト高で大型になるという問題があった。
そこで、本発明は、ローコストで小型のロボット装置とすることができ、ロボット本体の関節を高精度に目標関節角度に制御できるものを提供することを目的とする。
本発明のロボット装置は、回転モータと、前記回転モータの出力を減速する減速機と、前記回転モータにより前記減速機を介して駆動される関節を有するロボット本体と、前記関節の角度が目標関節角度となるように、前記回転モータによる前記関節の駆動を制御する制御部と、前記減速機の入力側に設けられ、前記回転モータの回転軸の回転に伴って入力側パルス信号を生成する入力側エンコーダ部と、前記減速機の出力側に設けられ、前記関節の駆動に伴って前記関節の角度に応じた第1出力側パルス信号を生成する矩形波発生部と、前記減速機の出力側に設けられ、前記関節の駆動に伴って第2出力側パルス信号を生成する、前記矩形波発生部よりも高い分解能のインクリメンタル型の出力側エンコーダ部と、を備え、前記制御部は、前記入力側パルス信号の示す前記回転モータの回転軸の回転角度及び前記減速機の減速比から、前記関節にねじれがない理想状態における前記関節の角度を推定し、推定関節角度が前記目標関節角度になるように前記回転モータを動作させる第1制御処理と、前記第1出力側パルス信号と、前記理想状態において前記矩形波発生部から得られると想定されるパルス波形とのずれ量に相当する前記関節のねじれ角度を演算するねじれ角度演算処理と、前記推定関節角度が前記ねじれ角度の分補正されるように、前記回転モータを動作させる補正制御処理と、を実行し、前記ねじれ角度演算処理において、前記制御部は、前記第1制御処理による前記回転モータの動作中に、前記第1出力側パルス信号のエッジをトリガとして前記第2出力側パルス信号をカウントし第1角度を求める第1角度演算処理と、前記推定関節角度を前記第1出力側パルス信号のピッチ角度で割り算した際の余りである第2角度を求める第2角度演算処理と、前記ねじれ角度として、前記第1角度と前記第2角度との差分を演算する差分演算処理と、を実行することを特徴とする。
本発明によれば、矩形波発生部の検出結果に基づいて関節のねじれ角度を求めて回転モータを制御しているので、関節の角度を目標関節角度に高精度に制御することができる。しかも、アブソリュート型のエンコーダを実装する構成に比べ、小型でローコストのロボット装置を実現することができる。
第1実施形態に係るロボット装置の概略構成を示す斜視図である。 図1に示す関節近傍のロボットアームの断面図である。 関節エンコーダスケールの平面図である。 ロボット装置の制御装置の構成を示すブロック図である。 第1実施形態に係るロボット装置の制御系を示す機能ブロック図である。 入力側エンコーダ部の原点出しを行うフローチャートである。 第1実施形態におけるCPUの関節の角度の制御動作を示すフローチャートである。 関節にねじれがない理想状態のパルス信号を示す波形図である。 関節にねじれがある状態のパルス信号を示す波形図である。 CPUによるねじれ角度演算処理の処理動作を示すフローチャートである。 関節にねじれがある状態のパルス信号を示す波形図である。 ロボットアームを水平方向に伸ばしたときの姿勢を示す斜視図である。 関節エンコーダの設計フローを示すフローチャートである。 第2実施形態に係るロボット装置の制御系を示す機能ブロック図である。 第2実施形態におけるCPUの関節の角度の制御動作を示すフローチャートである。 第3実施形態に係るロボット装置の制御系を示す機能ブロック図である。 第3実施形態におけるCPUの関節の角度の制御動作を示すフローチャートである。 第4実施形態に係るロボット装置の制御系を示す機能ブロック図である。 第4実施形態におけるCPUの関節の角度の制御動作を示すフローチャートである。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、本発明の第1実施形態に係るロボット装置の概略構成を示す斜視図である。図1に示すロボット装置500は、例えば組立作業等を行う産業ロボットであり、垂直6軸多関節型のロボットアーム100と、ロボットアーム100を制御する制御装置200と、制御装置200に接続されたティーチングペンダント300と、を備えている。
ロボットアーム100は、作業台に固定されるベース部101と、変位や力を伝達する複数のリンク121〜126と、各リンク121〜126を旋回又は回転可能に連結する複数の関節111〜116とを有するロボット本体100Aを備えている。
また、ロボットアーム100の先端、即ちリンク126には、ハンド102が連結されている。ハンド102は、任意のワークWに対して把持等の作業を行うエンドエフェクタである。
各関節111〜116には、回転モータである電磁モータとしてのサーボモータと、サーボモータの回転軸の回転角度を検出するエンコーダと、サーボモータのトルクを増大させるためにサーボモータの出力を減速する減速機と、が設けられている。減速機には、小型軽量で減速比の大きい波動歯車減速機を用いるのが望ましい。
以下、各関節111〜116を代表して、関節112を例に説明する。図2は、図1に示す関節112近傍のロボットアーム100の断面図である。
図2に示すように、関節112には、サーボモータ1と、サーボモータ1の出力(回転角度)を減速する減速機15とが設けられている。サーボモータ1は、例えばブラシレスDCサーボモータやACサーボモータである。
サーボモータ1は、回転軸2とロータマグネット3とで構成された回転部を有している。モータハウジング4,5には、回転軸2を回転自在に支持する軸受6,7が設けられており、モータハウジング4には、ステータコイル8が取付けられている。
回転軸2の一端部には、回転軸2の回転角度を検出するロータリエンコーダである入力側エンコーダ部9が設けられている。つまり、この入力側エンコーダ部9は、減速機15の入力側に設けられている。そして、サーボモータ1の回転軸2の回転に伴って、入力側パルス信号を生成し、図1の制御装置200に出力する。入力側エンコーダ部9は、インクリメンタル型のロータリエンコーダでもよいが、サーボモータ1の所定の回転位置を原点とした絶対角度が検出できるアブソリュート型のロータリエンコーダであるのが望ましい。
入力側エンコーダ部9は、エンコーダスケール10と、エンコーダスケール10に対向して配置されたエンコーダヘッド11と、エンコーダスケール10を回転軸2に固定するフランジ12と、防塵用のエンコーダカバー13とで構成されている。サーボモータ1はモータカバー14で囲われている。
必要に応じて、サーボモータ1と入力側エンコーダ部9との間に、不図示のブレーキユニットを設けてもよい。ブレーキユニットの主な目的は電源OFF時のロボット本体100Aの姿勢の保持にある。
サーボモータ1の回転軸2の他端部には、減速比Nの波動歯車減速機である減速機15が取付けられている。
この減速機15は、入力部であるウェブジェネレータ16と、サーキュラスプライン17と、ウェブジェネレータ16とサーキュラスプライン17との間に配置されたフレックススプライン18と、を備えている。
フレックススプライン18は、リンク121に連結されており、減速機15の減速比Nで減速される。減速機15の出力部であるサーキュラスプライン17は、リンク122に結合されている。ウェブジェネレータ16は、サーボモータ1の回転軸2に結合されている。
サーボモータ1の回転軸2とウェブジェネレータ16との結合部が、減速機15の入力軸、フレックススプライン18とリンク121との結合部が減速機15の出力軸となる。減速機15の出力軸の回転角度が、出力角度、即ち関節112の角度である。
リンク121とリンク122との間には、クロスローラベアリング22が設けられており、リンク121とリンク122とは、クロスローラベアリング22を介して回転自在に結合されている。このように、サーボモータ1の回転軸2は、減速機15を介して1/Nに減速され、リンク121とリンク122とが相対的に回転する。
以上の構成により、ロボット本体100Aの関節112は、サーボモータ1により減速機15を介して駆動される。一般的な産業用ロボットでは、サーボモータと減速機の間にタイミングベルトを設けて動力を伝達する場合もある。タイミングベルトに用いるプーリ直径が異なると、モータ出力を減速或いは増速する。当然ながら、タイミングベルト等の動力伝達要素もねじれやガタが発生する。また、タイミングベルトの替りに歯車等の伝達要素を設けても同様である。本実施形態では、サーボモータと減速機の間の伝達要素も減速機の一部として扱う。
関節エンコーダ31は、リンク121とリンク122との相対角度を検出するものであり、矩形波発生部41及びインクリメンタル型の出力側エンコーダ部42からなる。関節エンコーダ31は、減速機15の出力側に設けられている。矩形波発生部41は、関節112の駆動に伴って関節112の角度に応じた第1出力側パルス信号を生成し、制御装置200(図1)に出力する。また、出力側エンコーダ部42は、関節112の駆動に伴って第2出力側パルス信号を生成し、制御装置200(図1)に出力する。
関節エンコーダ31は、関節エンコーダスケール32と、第1検出ヘッド33と、第2検出ヘッド34から構成されている。本第1実施形態では、関節エンコーダ31は、反射型のロータリエンコーダである場合について説明するが、透過型のロータリエンコーダであってもよい。
関節エンコーダスケール32は、リンク121の表面に固定して配置され、検出ヘッド33,34は、関節エンコーダスケール32に対向するようにリンク122の表面に固定して配置されている。
図3は、関節エンコーダスケール32の平面図である。関節エンコーダスケール32は、円板形状又はリング形状に形成され、内周側に形成された第1スケール35と外周側に形成された第2スケール36とで構成されている。第1スケール35には、第1ピッチ角度θで第1パターン35aが形成されている。第2スケール36には、第2ピッチ角度θで第2パターン36aが形成されている。これらパターン35a,36aは、関節の回転中心に対して放射状に形成されている。
第1検出ヘッド33は、関節エンコーダスケール32の第1スケール35に対して減速機15の出力軸の回転に伴って相対的に回転し、第1パターン35aを読み取って第1出力側パルス信号を制御装置200(図1)に出力する。第2検出ヘッド34は、関節エンコーダスケール32の第2スケール36に対して減速機15の出力軸の回転に伴って相対的に回転し、第2パターン36aを読み取って第2出力側パルス信号を制御装置200(図1)に出力する。第1検出ヘッド33及び第1スケール35により矩形波発生部41が構成されている。また、第2検出ヘッド34及び第2スケール36により出力側エンコーダ部42が構成されている。
矩形波発生部41は、関節112の角度を第1ピッチ角度θで分割検出することができる。同様に、出力側エンコーダ部42は、関節112の角度を第2ピッチ角度θで分割検出することができる。
本第1実施形態では、第2ピッチ角度θは第1ピッチ角度θよりも小さい。即ち、第1パターン35aの間隔は、第2パターン36aの間隔よりも広い。したがって、出力側エンコーダ部42は、矩形波発生部41よりも高い分解能である。
また、第1ピッチ角度θは第2ピッチ角度θの整数倍であり、出力側エンコーダ部42は、矩形波発生部41の整数倍の分解能で関節112の角度を検出することができる。
なお、検出ヘッド33,34は、回転方向の判別ができるように2相出力が望ましい。また、検出ヘッド33,34の分解能を向上させるために、電気的な分割手段を更に加えても良い。
更に図3を用いて、関節エンコーダ31の原点を説明する。関節112の角度を制御するために、任意の位置に原点を設け、この原点を基準に角度制御を行う。
原点の位置を明示するために、原点の位置でリンク121とリンク122に貫通する穴を設ける場合もある。この穴に軸を通すことでリンク121とリンク122と間の原点を特定できる。
図3中の線分D−Dは、図2を用いて説明した第1検出ヘッド33と第2検出ヘッド34で検出する位置を表している。この線分D−Dの位置が関節112の原点位置になるように関節エンコーダスケール32と第1検出ヘッド33と第2検出ヘッド34との検出位置を調整して配置する。
図4は、ロボット装置500の制御装置200の構成を示すブロック図である。制御装置200は、制御部としてのCPU201、ROM202、RAM203、記憶部としてのHDD204、記録ディスクドライブ205及び各種のインタフェース211〜215を備えている。
CPU201には、ROM202、RAM203、HDD204、記録ディスクドライブ205及び各種のインタフェース211〜215が、バス216を介して接続されている。ROM202には、BIOS等の基本プログラムが格納されている。RAM203は、CPU201の演算処理結果を一時的に記憶する記憶装置である。記録ディスクドライブ205にはティーチングペンダントから取得した教示データや、動作手順の動作プログラムを記憶する。
HDD204は、CPU201の演算処理結果である各種のデータ等を記憶する記憶部であると共に、CPU201に、後述する各種演算処理を実行させるためのプログラム330を記録するものである。CPU201は、HDD204に記録(格納)されたプログラム330に基づいて各種演算処理を実行する。
記録ディスクドライブ205は、記録ディスク331に記録された各種データやプログラム等を読み出すことができる。
インタフェース211には、ティーチングペンダント300が接続されている。ティーチングペンダント300は、ユーザが操作するものであり、ユーザの操作により各関節111〜116の目標関節角度を順次出力する。CPU201は、インタフェース211及びバス216を介してティーチングペンダント300からの目標関節角度のデータ信号の入力を受ける。
インタフェース212には、エンコーダ部9,42及び矩形波発生部41が接続されている。エンコーダ部9,42及び矩形波発生部41からは、角度を示すパルス信号が出力される。CPU201は、インタフェース212及びバス216を介してエンコーダ部9,42及び矩形波発生部41からのパルス信号の入力を受ける。
インタフェース213には、モニタ311が接続されており、モニタ311には、各種画像が表示される。インタフェース214には、書き換え可能な不揮発性メモリや外付けHDD等の外部記憶装置312が接続されている。
インタフェース215には、サーボ制御装置313が接続されている。CPU201は、サーボモータ1の回転軸2の回転角度の制御量を示す駆動指令のデータを所定時間間隔でバス216及びインタフェース215を介してサーボ制御装置313に出力する。サーボ制御装置313は、制御部としてのCPU201から入力を受けた駆動指令に基づき、サーボモータ1への電流の出力量を演算し、サーボモータ1へ電流を供給して、ロボット本体100Aの関節111〜116の関節角度制御を行う。
即ち、CPU201は、サーボ制御装置313を介して、関節112の角度が目標関節角度となるように、サーボモータ1による関節112の駆動を制御する。
図5は、本発明の第1実施形態に係るロボット装置の制御系を示す機能ブロック図である。ここで、図4に示す制御部としてのCPU201は、プログラム330を実行することにより、図5に示す各部242,248,249,254,255として機能する。以下、各部の動作について、大まかに説明する。
リセット部255は、入力側エンコーダ部9のエンコーダの値をクリアする。関節位相演算部242は、矩形波発生部41と出力側エンコーダ部42から、第1出力側パルス信号及び第2出力側パルス信号の入力を受ける。そして、関節位相演算部242は、第1出力側パルス信号を基準として、第2出力側パルス信号をカウントし、カウント値に相当する角度、即ち関節位相角度を演算する。
基準位相演算部248は、入力側エンコーダ部9のパルス信号から得られる回転角度、減速機15の減速比N、及びピッチ角度θから、理想状態の推定関節位相角度を演算する。つまり、基準位相演算部248は、入力側エンコーダ部9により検出された入力側パルス信号から、サーボモータ1の回転軸2の回転角度を求め、この回転角度を減速比Nで割り算することで、関節112の角度を推定する。この推定関節角度は、関節112にねじれがないとした場合の理想状態の関節角度である。この推定関節角度をピッチ角度θで割ったときの余りが推定関節位相角度である。つまり、理想状態とは、減速機15にねじれがないと仮定した理想の状態である。この理想状態では、入力軸の回転角度を減速比Nで割った値が関節角度と一致する。
関節誤差演算部249は、基準位相演算部248の演算結果と関節位相演算部242の演算結果から関節誤差、即ち関節112のねじれ角度を求める。推定関節角度と実際の関節角度との差分が、関節112のねじれ角度(関節誤差)である。関節誤差が生じる理由としては、減速機15の弾性ねじれ変形やガタ、モータ軸のねじれ等、複数の要因がある。
モータ制御部254は、入力側エンコーダ部9のパルス信号が示す回転角度の値と関節誤差からモータの制御量を決定して、サーボモータ1の駆動を制御する。
ここで、ロボット装置500による組立作業等の動作に先立って行う、入力側エンコーダ部9の原点出しの方法について説明する。
図6は、入力側エンコーダ部9の原点出しを行うフローチャートである。まず、ユーザは、リンク121とリンク122に貫通する穴に軸部材を通すことで、関節112を原点位置に固定する(S1)。
次に、ユーザは、ティーチングペンダント300を操作することで、CPU201に指令を送り、サーボモータ1の逆転トルクが最小となるモータ回転位置を探索する(S2)。なお、この逆転トルクはモータの駆動電流からも推定できる。
次に、ユーザは、ティーチングペンダント300を操作することで、CPU201に指令を送り、リセット部255(CPU201)が入力側エンコーダ部9をリセットする(S3)。
ステップS1〜S3の作業は、矩形波発生部41及び出力側エンコーダ部42を備える関節エンコーダ31が原点位置であり、且つ、関節誤差が無い場合にリセット部255でリセットして、入力側エンコーダ部9の原点出しを行う。
次に、本第1実施形態の制御部であるCPU201によるロボット制御方法、即ち関節112の角度の制御動作について説明する。図7は、第1実施形態におけるCPU201の関節112の角度の制御動作を示すフローチャートである。なお、図7に示す各処理ステップは、CPU201がプログラム330を読み出してプログラム330を実行することにより実行されるものである。
まず、図5中、モータ制御部254として機能するCPU201は、サーボモータ1の制御中、入力側エンコーダ部9からの入力側パルス信号に基づき、サーボモータ1の回転軸2の回転角度を逐次求めている。そして、CPU201は、サーボモータ1の回転軸2の回転角度及び減速機15の減速比Nから、関節112にねじれがない理想状態における関節112の角度(推定関節角度)を逐次推定している。具体的には、CPU102は、回転角度を減速比Nで割り算することで、推定関節角度を求める。
CPU102は、この推定関節角度が動作プログラムやティーチングペンダント300から取得した目標関節角度になるようにサーボモータを動作させる第1制御処理を実行する(S11:第1制御ステップ)。
次に、関節位相演算部242、基準位相演算部248、及び関節誤差演算部249として機能するCPU102は、関節112のねじれ角度θを演算するねじれ角度演算処理を実行する(S12:ねじれ角度演算ステップ)。このねじれ角度(関節誤差)θは、矩形波発生部41から得られる第1出力側パルス信号と、理想状態において矩形波発生部41から得られると想定されるパルス波形とのずれ量に相当する。
図8は、関節112にねじれがない理想状態のパルス信号を示す波形図、図9は、関節112にねじれがある状態のパルス信号を示す波形図である。
図8及び図9において、波形Aは、矩形波発生部41から出力される第1出力側パルス信号のパルス波形である。また、波形Bは、出力側エンコーダ部42から出力される第2出力側パルス信号のパルス波形である。波形Cは、理想状態において矩形波発生部41から得られると想定されるパルス波形である。即ち、波形Cは、入力側パルス信号に基づいて求めた推定関節角度をピッチ角度θで分割した演算波形である。
図8に示すように、関節112のねじれ角度が0、即ち関節誤差のない理想的な状態では、波形Aと波形Cとは一致する。関節112にねじれが生じた場合、図9に示すように、波形Aと波形Bとは位相がねじれ角度θの分ずれる。したがって、CPU102は、このねじれ角度θを求めればよい。
次に、モータ制御部254として機能するCPU201は、推定関節角度がねじれ角度θの分補正されるように、サーボモータ1を動作させる補正制御処理を実行する(S13:補正制御ステップ)。
なお、CPU102は、次の目標関節角度のデータの入力を受けている場合は、再度、ステップS11〜S13を繰り返し実行する。
次に、ステップS12のねじれ角度演算処理について詳細に説明する。図10は、CPU102によるねじれ角度演算処理の処理動作を示すフローチャートである。
関節位相演算部242として機能するCPU102は、ステップS11の第1制御処理によるサーボモータ1の動作中に、矩形波発生部41から取得した第1出力側パルス信号のエッジをトリガとして第2出力側パルス信号のパルス数をカウントする。そして、CPU102は、カウントした結果に基づき、推定関節角度と第1出力側パルス信号のエッジの間の第1角度(関節位相角度)Pjを求める第1角度演算処理を実行する(S21:第1角度演算ステップ)。
図11は、関節112にねじれがある状態のパルス信号を示す波形図である。図11中、Q,R,Sは、入力側エンコーダ部9から出力される入力側パルス信号より求められる推定関節角度である。また、図11中、tg1,tg2は、波形Aの立ち上がりエッジ、tg3,tg4は波形Cの立ち上がりエッジである。入力側エンコーダ部9からの入力側パルス信号より求まった角度が推定関節角度Qから推定関節角度Rに変化する場合について説明する。
関節位相演算部242は、アップダウンカウンタとして機能する。アップダウンカウンタは、カウント値をクリアするリセット部と、入力パルス信号のパルス数を計測するカウント部と、カウントのアップダウン指令の符号部からなる。本第1実施形態では、第1検出ヘッド33が90°位相の2相センサで構成されており、方向判別信号を出力できる。関節位相演算部242のリセット部は、波形Aのエッジtg1を入力し、カウント部は、波形Bを入力し、符号部は、方向判別信号を入力する。
つまり、関節位相演算部242は、エッジtg1を入力してから出力側エンコーダ部42から得た第2出力側パルス信号のパルスのカウントを開始する。そして、関節位相演算部242は、入力側エンコーダ部9から得た入力側パルス信号から求まる関節112の推定角度が、推定関節角度Rとなったときにパルスのカウントを終了して、カウント値を得る。そして、関節位相演算部242は、カウント値を角度に換算することで、第1角度(関節位相角度)Pjを求める。このように、第1出力側パルス信号のパルスエッジをトリガとして、高分解能の第2出力側パルス信号のパルスをカウントすることで、正確に第1角度Pjを求めることができる。
また、基準位相演算部248として機能するCPU102は、推定関節角度Rを第1出力側パルス信号のピッチ角度θで割り算した際の余りである第2角度Pmを求める第2角度演算処理を実行する(S22:第2角度演算ステップ)。つまり、基準位相演算部248は、波形Cを求めることなく、R÷aの余りを求めることで、簡単に第2角度(推定関節位相角度)Pmを計算することができる。
次に、関節誤差演算部249として機能するCPU102は、ねじれ角度θとして、第1角度Pjと第2角度Pmとの差分を演算する差分演算処理を実行する(S23:差分演算ステップ)。つまり、関節誤差演算部249は、θ=Pm−Pjの計算を実行する。
以上のステップS21〜S23で、推定関節角度がQからRになったときの関節誤差の演算手段を述べたが、推定関節角度がRからSになった場合も同様の演算を行う。この場合、ステップS21では、立ち上がりエッジtg2をトリガとして第2出力側パルス信号のパルスのカウントを開始する。
ここで、本第1実施形態では、ピッチ角度θは、関節112における最大ねじれ角度の2倍よりも大きい角度に設定されている。以下、関節112の最大ねじれ角度について説明する。
図12は、ロボットアーム100を水平方向に伸ばしたときの姿勢を示す斜視図である。支配的な関節誤差θの要因は関節112の弾性であり、この弾性を図12を用いて説明する。図12に示すロボット本体100Aの姿勢が、関節112に与えるモーメント最大条件となる。
関節112の最大ねじれ角度は、関節112にかかる最大のモーメントを、減速機15のねじれ剛性で割り算した値よりも大きい値、即ちマージンを上乗せした値にすればよい。このときのモーメントをM、減速機15のねじれ剛性をkとすれば、ねじれ角度はM/kとなる。実際には、モータ1の回転軸2等のねじれや減速機15のガタにより、更にねじれるので、マージンを上乗せした値Ajを最大ねじれ角度とする。関節112を180°反転させると最大ねじれ角度は−Ajとなる。関節誤差θは±Aj以下となる。
また、減速機15の許容トルクが定められている場合があり、この許容トルクから最大関節ねじれ角度を算出してもよい。すなわち、最大ねじれ角度は、減速機15の許容トルクを、減速機15のねじれ剛性で割り算した値よりも大きい値、即ち、マージンを上乗せした値とすればよい。
図8、図9及び図11に示すピッチ角度θは、波形Aも波形Cも常に一定であり、以下のように設定する。
±θ/2>±Aj
θ>2Aj
つまり、ピッチ角度θは最大ねじれ角度Ajの2倍よりも大きく設定するのがよい。このような条件にすることにより、θ±θ×n(n=1、2、3・・)のように複数解をもつことなく、一つ解となる。ねじれ角度θは、波形Aと波形Cとの位相差であり、モータ制御部254での制御補正量でもある。
次に、関節エンコーダ31の設計例について説明する。図13は、関節エンコーダ31の設計フローを示すフローチャートである。まず、関節112の仕様と必要な関節分解能を決める(S31)。次に、関節112の最大ねじれ角度Ajを見積もる(S32)。この結果を基に、矩形波発生部41の第1スケール35の第1パターン35aのピッチ角度θを決定する(S33)。次に、関節分解能とピッチ角度θより、出力側エンコーダ部42の第2スケール36の第2パターン36aのピッチ角度θを決定する(S34)。
以下、設計フローの各ステップS31〜S34を更に詳細に説明する。まずステップS31について説明する。図12において、関節112の回転中心からハンド102までの距離を0.7[m]、関節112からリンク126までのロボットアームの質量を12[kg]、重力角速度を9.8[m/s]とする。関節112からリンク126までのロボットアームの重心は、関節112の回転中心からハンド102までの距離0.7[m]の真ん中にあるとする。また、ハンド102とワークWの質量を4[kg]とする。ハンド102の位置で必要な関節分解能の角度をθd、ハンド102の位置での必要分解距離をΔL、回転中心からハンド102の位置までの回転半径をRhとすれば、θdは近似的に以下となる。
θd=ΔL÷Rh
必要分解距離ΔLを0.001[mm]にすれば、関節分解能の角度θdが以下のように求まる。
θd=0.001[mm]÷700[mm]=1.43×10−6[rad](=8.19×10−5[°])
よって、一回転当たりの必要分解能は、2π÷1.43×10−6=4.4×10以上となる。
次に、設計フローのステップS32について説明する。図12では、関節112のねじれ角度が最大となる想定姿勢であり、水平方向にロボットアーム100を伸ばしている。ハンド102とワークWの質量と重心位置が最大のとき、関節112に与えるモーメント最大条件となる。ロボットアームの関節112の最大ねじれ角度は、モーメント最大条件のモーメントを減速機のねじれ剛性で割り算することで求められる。関節112に働くモーメントは以下になる。
M=12[kg]×9.8[m/s]×0.7[m]÷2
+4[kg]×9.8[m/s]×0.7[m]=68.6[Nm]
減速機15を波動歯車減速機として、ハーモニックドライブ(登録商標)のCSG−20−100−2Aを選択すれば、カタログより剛性値(ばね定数)は1.6×10[Nm/rad]〜2.9×10[Nm/rad]になる。最も剛性値の小さいk=1.6×10[Nm/rad]を採用すれば、最大たわみ角度Ajは以下になる。
Aj=68.6[Nm]÷1.6×10[Nm/rad]
=4.288×10−3[rad](=0.246[°])
関節誤差の支配的な要因である波動歯車減速機のねじれのみを対象に計算してあるが、サーボモータ1の回転軸2のねじれや、ベルト駆動時のベルト剛性やガタ、設計マージン等も実際に考慮する必要がある。このため、実験で求めても良い。
次に設計フローのステップS33について説明する。±θ/2>±Ajの関係があるため、θ>4.288×10−3[rad]×2(=0.246[°]×2=0.492[°])の必要がある。
図3に示すような第1パターン35aを構成するには、ピッチ角度θで割り切れる必要があるため、θ=0.5[°]とする。ゆえに、第1スケール35では、第1パターン35aを1回転当たり720分割する。
次に、設計フローのステップS34について説明する。ピッチ角度θは8.19×10−5[°]未満であり、a÷bが整数である必要がる。b=8×10−5[°]とすれば、a÷b=6250となる。よって、条件を満たすのでθ=8×10−5[°]とする。ゆえに、第2スケール36では1回転当たり、6250×720=4500000分割する。出力側エンコーダ部42は、インクリメンタル型のエンコーダの構成であり、1回転当たり4500分割の検出を更に電気的な分割手段で1000倍にすることで達成できる。
次に、推定関節角度R=123.45[°]、関節位相角度Pjを検出するアップダウンカウンタ(図5中、関節位相演算部242)が2000パルスとして、関節誤差θを求める具体例について述べる。
推定関節位相角度Pmは、R÷aの余りを求めれば良いので、123.45[°]÷0.5[°]の余りは0.45[°]、即ち、Pm=0.45[°]になる。
関節位相角度Pjはアップダウンカウンタの検出値2000パルスとピッチ角度が6250パルスであることから、比例配分で求めると以下になる。
Pj=2000÷6250×0.5[°]=0.16[°]
従って、関節誤差θは以下となる。
θ=Pm−Pj=0.45[°]−0.16[°]=0.29[°]
以上、本第1実施形態によれば、制御部としてのCPU102が矩形波発生部41の検出結果に基づいて関節112のねじれ角度θを求めてサーボモータ1を制御している。したがって、減速機15の剛性不足やガタにより関節誤差が発生しても、関節112の角度を目標関節角度に高精度に制御することができる。しかも、矩形波発生部41及び出力側エンコーダ部42は、インクリメンタル型のロータリエンコーダであり、アブソリュート型のロータリエンコーダを実装する構成に比べ、小型でローコストのロボット装置500を実現することができる。
以上の説明では、ロボット本体100Aの関節112について説明したが、他の関節111,113〜116についても同様の構成であり、同様に制御可能である。この場合も、関節111,113〜116の角度を目標関節角度に高精度に制御することができる。従って、ロボット本体100Aの高精度な位置決めが可能となる。これにより、直進性などの動作精度を高めることが可能となる。
[第2実施形態]
次に、本発明の第2実施形態に係るロボット装置について説明する。図14は、本発明の第2実施形態に係るロボット装置の制御系を示す機能ブロック図である。なお、本第2実施形態において、上記第1実施形態と同様の構成については、同一符号を付して説明を省略する。本第2実施形態において、装置構成は上記第1実施形態と同様であり、図4に示す制御装置200のCPU201における制御動作、即ち、プログラム330の内容が上記第1実施形態と異なるものである。
本第2実施形態のCPU201(図4参照)は、信号切替部256及び関節誤差判断部257の機能を更に有している。
信号切替部256は、出力側エンコーダ部42からの第2出力側パルス信号を、関節位相演算部242またはモータ制御部254へ切り替える。モータ制御部254へ切替えた場合は、出力側エンコーダ部42の第2出力側パルス信号のみの値で関節の角度制御を行う。関節誤差判断部257は、電源状態等から関節誤差の演算が完了しているか否かを判断する。
図15は、第2実施形態におけるCPUの関節の角度の制御動作を示すフローチャートである。なお、図15に示す各処理ステップは、CPU201(図4参照)がプログラム330を読み出してプログラム330を実行することにより実行されるものである。
まず、CPU201は、上記第1実施形態と同様、第1制御処理(S41:第1制御ステップ)、ねじれ角度演算処理(S42:ねじれ角度演算ステップ)、補正制御処理(S43:補正制御ステップ)を実行する。
なお、ステップS42の終了後は、ねじれ角度、即ち関節誤差の計算は完了しているので、関節誤差判断部257は、完了したと判断する。そして、信号切替部256は、パルス信号送信先を関節位相演算部242からモータ制御部254へ切り替える。したがって、出力側エンコーダ部42により出力されたパルス信号は、モータ制御部254に送られることとなる。
次に、CPU201は、ステップS43で関節の角度が補正されたときの出力側エンコーダ部42から得た第2出力側パルス信号のカウント値を目標関節角度に対応付ける位置出し処理を実行する(S44:位置出しステップ)。補正直後の関節角度を(第2)出力側パルス信号に換算し、この換算値を(第2)出力側パルス信号として更新すれば、以降、関節112の角度を第2出力側パルス信号で検出できるものである。このように、CPU201は、関節角度の補正により、出力側エンコーダ部42の位置出しを行う。
次に、CPU201は、次の目標関節角度があるか否か、即ち、ティーチングペンダント300(図1)、或いは動作プログラムから次の目標関節角度のデータの入力を受けているか否かを判断する(S45)。
CPU201は、次の目標関節角度がない場合は(S45:NO)、制御を終了し、次の目標関節角度がある場合は(S45:YES)、第2制御処理を実行する(S46:第2制御ステップ)。つまり、CPU201は、次の目標関節角度に関節の角度を制御する際に、第2出力側パルス信号のカウント値に基づいてサーボモータ1を動作させる。
このように、既に関節誤差が求まっているので、次回以降は、出力側エンコーダ部42が出力する第2出力側パルス信号をカウントすれば関節の角度を直接検出することができる。
また、このステップS45における第2制御ステップでは、同時に関節位相演算部242、基準位相演算部248、関節誤差演算部249等の関節誤差演算に関与する部分の演算処理が休止する休止モードとなる。このように休止モードにすることにより、使用するCPU102の演算処理を削減できる。
以上、本第2実施形態によれば、CPU102の関節誤差演算後の演算処理が低減する。特に関節が高速に回転する場合に有効である。
[第3実施形態]
次に、本発明の第3実施形態に係るロボット装置について説明する。図16は、本発明の第3実施形態に係るロボット装置の制御系を示す機能ブロック図である。なお、本第3実施形態において、上記第1実施形態と同様の構成については、同一符号を付して説明を省略する。本第3実施形態において、装置構成は上記第1実施形態と同様であり、図4に示す制御装置200のCPU201における制御動作、即ち、プログラム330の内容が上記第1実施形態と異なるものである。
所定時間、ロボットアームの電源をOFFし再度ONした場合、演算した関節誤差が揮発或いは不定になっている場合がある。また、ロボットアームの電源がOFFの間に人為的に動かされる場合もある。このため、電源OFFし電源ON直後にロボットアームに記憶されている関節誤差を使うことはできない。
即ち、電源OFFし電源ONした場合、矩形波発生部41のパルス信号のエッジが検出されるまで関節が回転しないと、関節誤差がない状態での制御になる。例えば、図11で推定関節角度Rの状態だったとする。関節が回転して、エッジtg1或いはエッジtg2を検出しなければ、関節誤差θを検出できない。
そこで、本第3実施形態では、CPU102(図4)は、上記第1実施形態の各部の他に、関節誤差演算が終了したか否かの関節誤差判断部257の機能を更に有する。
そして、本第3実施形態では、ティーチングペンダント300が、ユーザに報知可能な報知部として機能する。このティーチングペンダント300は、ユーザに関節誤差の演算状態を通知する。
図17は、第3実施形態におけるCPUの関節の角度の制御動作を示すフローチャートである。なお、図17に示す各処理ステップは、CPU201(図4参照)がプログラム330を読み出してプログラム330を実行することにより実行されるものである。
電源立ち上げ後、まず、CPU201は、関節誤差判断部257として機能する。即ち、CPU201は、上記第1実施形態で説明した第1制御処理によるサーボモータ1の動作開始から動作終了までの間に、矩形波発生部41からの第1出力側パルス信号のエッジを検知したか否かを判断する判断処理を実行する(S51)。
次に、CPU201は、ステップS51の判断処理にて第1出力側パルス信号のエッジを検知していないと判断した場合(S51:NO)、報知部であるティーチングペンダント300を動作させて関節駆動をユーザに促す報知処理を実行する(S52)。例えば、ティーチングペンダント300の表示部に表示を行う。また、音声やブザー音等を出力してもよい。
ユーザがティーチングペンダント300を操作することにより、CPU201は、各関節を駆動する(S53)。
次に、CPU201は、関節誤差の計算が終えたか否か、即ち計算OKか否かを判断する(S54)。CPU201は、関節誤差の計算が終えていない場合は(S54:NO)、計算が終えるまで待つ。CPU201は、関節誤差の計算が終えた場合は(S54:YES)、通常モードに移行し(S55)、上記第1実施形態と同様に動作し、処理が完了したら、終了する。
以上、本第3実施形態によれば、ティーチングペンダント300がユーザへ無効の旨を伝える報知部として機能させることができるので、ユーザへ関節誤差が有効か否かを通知でき、使い勝手が向上する。なお、報知部としては、ティーチングペンダント300以外にも、表示装置や音出力装置、光出力装置等であってもよい。
[第4実施形態]
次に、本発明の第4実施形態に係るロボット装置について説明する。図18は、本発明の第4実施形態に係るロボット装置の制御系を示す機能ブロック図である。なお、本第4実施形態において、上記第1実施形態と同様の構成については、同一符号を付して説明を省略する。本第4実施形態において、装置構成は上記第1実施形態と同様であり、図4に示す制御装置200のCPU201における制御動作、即ち、プログラム330の内容が上記第1実施形態と異なるものである。
本第4実施形態では、CPU102(図4)は、上記第1実施形態の各部の他に、関節誤差演算が終了したか否かの関節誤差判断部257の機能を更に有する。また、CPU102(図4)は、上記第1実施形態の各部の他に、関節誤差の演算値が不定のときに、ロボットアーム姿勢等の情報から暫定関節誤差を演算する暫定関節誤差演算部260の機能を更に有する。
図19は、第4実施形態におけるCPUの関節の角度の制御動作を示すフローチャートである。なお、図19に示す各処理ステップは、CPU201(図4参照)がプログラム330を読み出してプログラム330を実行することにより実行されるものである。
電源立ち上げ後、まず、CPU201は、関節誤差判断部257として機能する。即ち、CPU201は、上記第1実施形態で説明した第1制御処理によるサーボモータ1の動作開始から動作終了までの間に、矩形波発生部41からの第1出力側パルス信号のエッジを検知したか否かを判断する判断処理を実行する(S61)。
次に、CPU201は、暫定関節誤差演算部260として機能する。即ち、CPU201は、ステップS61の判断処理にて第1出力側パルス信号のエッジを検知していないと判断した場合(S61:NO)、ロボット本体の姿勢から、関節の推定ねじれ角度を推定する推定処理を実行する(S62)。そして、CPU201は、ステップS61でNOと判断した場合は、上記第1実施形態で説明した補正制御処理では、ねじれ角度θの代わりに、ステップS62で計算した推定ねじれ角度を用いる。即ち、ステップS62では、ワーク、ハンド等を考慮したロボット本体の姿勢から各関節のねじれ角度を演算することで、推定ねじれ角度(暫定関節誤差)を求め、関節誤差記憶部(例えば、図4中、HDD204)に記憶させる。そして、CPU201は、ねじれ角度の代わりに、推定ねじれ角度(暫定関節誤差)を用いて、補正制御処理を実行する。
ユーザがティーチングペンダント300を操作することにより、CPU201は、各関節を駆動する(S63)。
次に、CPU201は、関節誤差の計算が終えたか否か、即ち計算OKか否かを判断する(S64)。CPU201は、関節誤差の計算が終えていない場合は(S64:NO)、計算が終えるまで待つ。CPU201は、関節誤差の計算が終えた場合は(S64:YES)、通常モードに移行し(S65)、上記第1実施形態と同様に動作し、処理が完了したら、終了する。
以上、本第4実施形態では、ロボット本体の姿勢から各関節の推定ねじれ角度を演算することで、電源立ち上げ直後等のロボット本体の動作を安定させることができる。
なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。
上記実施形態では、ロボット本体100Aが、垂直多関節ロボットである場合について説明したが、水平多関節ロボット(スカラロボット)、パラレルリンクロボットなどであってもよい。
また、上記実施形態では、入力側エンコーダ部9を、サーボモータ1の回転軸2に設ける場合について説明したが、減速機15の入力軸へ直接設けても良い。
また、減速機が波動歯車減速機であり、波動歯車減速機のねじれが支配的な場合、このねじれ角度は関節のトルクに対応するため、関節誤差から関節のトルク制御を行うこともできる。
また、図3で説明した線分D−Dに第1検出ヘッド33と第2検出ヘッド34の検出位置が一致しない場合、各々のずれをオフセット値として記憶し、波形Aと波形Bのシフト演算を行えばよい。また、エッジとして立ち上がりエッジを検知する場合について説明したが、波形Aと波形Bに周期性があり、その基準を特定できれば、立ち上がりエッジに限らず、立下りエッジであってもよい。
また、上記実施形態の各処理動作は具体的には制御装置200の制御部としてのCPU201により実行されるものである。従って上述した機能を実現するプログラムを記録した記録媒体を制御装置200に供給し、制御装置200のコンピュータ(CPUやMPU)が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
また、上記実施形態では、コンピュータ読み取り可能な記録媒体がHDD204であり、HDD204にプログラム330が格納される場合について説明したが、これに限定するものではない。プログラム330は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、図4に示すROM202、外部記憶装置312、記録ディスク331等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、上記実施形態におけるプログラムを、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上記実施形態の機能が実現される場合も含まれる。
1…サーボモータ(回転モータ)、2…回転軸、9…入力側エンコーダ部、15…減速機、41…矩形波発生部、42…出力側エンコーダ部、100A…ロボット本体、111〜116…関節、201…CPU(制御部)、330…プログラム、500…ロボット装置

Claims (13)

  1. 回転モータと、
    前記回転モータの出力を減速する減速機と、
    前記回転モータにより前記減速機を介して駆動される関節を有するロボット本体と、
    前記関節の角度が目標関節角度となるように、前記回転モータによる前記関節の駆動を制御する制御部と、
    前記減速機の入力側に設けられ、前記回転モータの回転軸の回転に伴って入力側パルス信号を生成する入力側エンコーダ部と、
    前記減速機の出力側に設けられ、前記関節の駆動に伴って前記関節の角度に応じた第1出力側パルス信号を生成する矩形波発生部と、
    前記減速機の出力側に設けられ、前記関節の駆動に伴って第2出力側パルス信号を生成する、前記矩形波発生部よりも高い分解能のインクリメンタル型の出力側エンコーダ部と、を備え、
    前記制御部は、
    前記入力側パルス信号の示す前記回転モータの回転軸の回転角度及び前記減速機の減速比から、前記関節にねじれがない理想状態における前記関節の角度を推定し、推定関節角度が前記目標関節角度になるように前記回転モータを動作させる第1制御処理と、
    前記第1出力側パルス信号と、前記理想状態において前記矩形波発生部から得られると想定されるパルス波形とのずれ量に相当する前記関節のねじれ角度を演算するねじれ角度演算処理と、
    前記推定関節角度が前記ねじれ角度の分補正されるように、前記回転モータを動作させる補正制御処理と、を実行し、
    前記ねじれ角度演算処理において、前記制御部は、
    前記第1制御処理による前記回転モータの動作中に、前記第1出力側パルス信号のエッジをトリガとして前記第2出力側パルス信号をカウントし第1角度を求める第1角度演算処理と、
    前記推定関節角度を前記第1出力側パルス信号のピッチ角度で割り算した際の余りである第2角度を求める第2角度演算処理と、
    前記ねじれ角度として、前記第1角度と前記第2角度との差分を演算する差分演算処理と、を実行する、
    ことを特徴とするロボット装置。
  2. 前記制御部は、
    前記補正制御処理で前記関節の角度が補正されたときの前記第2出力側パルス信号のカウント値を前記目標関節角度に対応付ける位置出し処理と、
    次の目標関節角度に前記関節の角度を制御する際に、前記第2出力側パルス信号のカウント値に基づいて前記回転モータを動作させる第2制御処理と、を実行することを特徴とする請求項に記載のロボット装置。
  3. 前記出力側エンコーダ部の分解能は、前記矩形波発生部の分解能の整数倍であることを特徴とする請求項1又は2に記載のロボット装置。
  4. ユーザに報知可能な報知部を備え、
    前記制御部は、
    前記第1制御処理による前記回転モータの動作開始から動作終了までの間に前記第1出力側パルス信号のエッジを検知したか否かを判断する判断処理と、
    前記判断処理にて前記第1出力側パルス信号のエッジを検知していないと判断した場合、前記報知部を動作させる報知処理と、を実行することを特徴とする請求項1乃至の何れか1項に記載のロボット装置。
  5. 前記制御部は、
    前記第1制御処理による前記回転モータの動作開始から動作終了までの間に前記第1出力側パルス信号のエッジを検知したか否かを判断する判断処理と、
    前記判断処理にて前記第1出力側パルス信号のエッジを検知していないと判断した場合、前記ロボット本体の姿勢から、前記関節の推定ねじれ角度を推定する推定処理と、を実行し、
    前記補正制御処理では、前記判断処理にて前記第1出力側パルス信号のエッジを検知していないと判断した場合は、前記ねじれ角度の代わりに前記推定ねじれ角度を用いることを特徴とする請求項1乃至のいずれか1項に記載のロボット装置。
  6. 前記矩形波発生部は、
    前記関節における最大ねじれ角度の2倍よりも大きいピッチ角度でパターンが形成されたスケールと、
    前記スケールに対して前記減速機の出力軸の回転に伴って相対的に回転し、前記パターンを読み取って前記第1出力側パルス信号を出力する検出ヘッドと、を有することを特徴とする請求項1乃至のいずれか1項に記載のロボット装置。
  7. 前記最大ねじれ角度は、前記関節にかかる最大のモーメントを、前記減速機のねじれ剛性で割り算した値よりも大きい値であることを特徴とする請求項に記載のロボット装置。
  8. 前記最大ねじれ角度は、前記減速機の許容トルクを、前記減速機のねじれ剛性で割り算した値よりも大きい値であることを特徴とする請求項に記載のロボット装置。
  9. 前記入力側エンコーダ部は、アブソリュート型のロータリエンコーダであることを特徴とする請求項1乃至のいずれか1項に記載のロボット装置。
  10. 回転モータと、前記回転モータの出力を減速する減速機と、前記回転モータにより前記減速機を介して駆動される関節を有するロボット本体と、前記減速機の入力側に設けられ、前記回転モータの回転軸の回転に伴って入力側パルス信号を生成する入力側エンコーダ部と、前記減速機の出力側に設けられ、前記関節の駆動に伴って前記関節の角度に応じた第1出力側パルス信号を生成する矩形波発生部と、前記減速機の出力側に設けられ、前記関節の駆動に伴って第2出力側パルス信号を生成する、前記矩形波発生部よりも高い分解能のインクリメンタル型の出力側エンコーダ部と、を有するロボット装置の制御部により、前記関節の角度が目標関節角度となるように、前記回転モータによる前記関節の駆動を制御するロボット制御方法において、
    前記制御部が、前記入力側パルス信号の示す前記回転モータの回転軸の回転角度及び前記減速機の減速比から、前記関節にねじれがない理想状態における前記関節の角度を推定し、推定関節角度が前記目標関節角度になるように前記回転モータを動作させる第1制御ステップと、
    前記制御部が、前記第1出力側パルス信号と、前記理想状態において前記矩形波発生部から得られると想定されるパルス波形とのずれ量に相当する前記関節のねじれ角度を演算するねじれ角度演算ステップと、
    前記制御部が、前記推定関節角度が前記ねじれ角度の分補正されるように、前記回転モータを動作させる補正制御ステップと、を備え、
    前記ねじれ角度演算ステップは、
    前記制御部が、前記第1制御ステップによる前記回転モータの動作中に、前記第1出力側パルス信号のエッジをトリガとして前記第2出力側パルス信号をカウントし第1角度を求める第1角度演算ステップと、
    前記推定関節角度を前記第1出力側パルス信号のピッチ角度で割り算した際の余りである第2角度を求める第2角度演算ステップと、
    前記ねじれ角度として、前記第1角度と前記第2角度との差分を演算する差分演算ステップと、を備えたことを特徴とするロボット制御方法。
  11. 前記制御部が、前記補正制御ステップで前記関節の角度が補正されたときの前記第2出力側パルス信号のカウント値を前記目標関節角度に対応付ける位置出しステップと、
    前記制御部が、次の目標関節角度に前記関節の角度を制御する際に、前記第2出力側パルス信号のカウント値に基づいて前記回転モータを動作させる第2制御ステップと、を備えたことを特徴とする請求項10に記載のロボット制御方法。
  12. コンピュータに請求項10又は11に記載のロボット制御方法の各ステップを実行させるためのプログラム。
  13. 請求項12に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2012210917A 2012-09-25 2012-09-25 ロボット装置、ロボット制御方法、プログラム及び記録媒体 Expired - Fee Related JP6053424B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012210917A JP6053424B2 (ja) 2012-09-25 2012-09-25 ロボット装置、ロボット制御方法、プログラム及び記録媒体
US14/030,798 US9342067B2 (en) 2012-09-25 2013-09-18 Robot apparatus, robot control method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012210917A JP6053424B2 (ja) 2012-09-25 2012-09-25 ロボット装置、ロボット制御方法、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2014065097A JP2014065097A (ja) 2014-04-17
JP6053424B2 true JP6053424B2 (ja) 2016-12-27

Family

ID=50338195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012210917A Expired - Fee Related JP6053424B2 (ja) 2012-09-25 2012-09-25 ロボット装置、ロボット制御方法、プログラム及び記録媒体

Country Status (2)

Country Link
US (1) US9342067B2 (ja)
JP (1) JP6053424B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020094994A (ja) * 2018-12-14 2020-06-18 キヤノン株式会社 検出装置、駆動装置、ロボット装置、検出方法、及び物品の製造方法
JP2022093501A (ja) * 2018-09-24 2022-06-23 株式会社ニコン 負荷検出用センサ

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6164948B2 (ja) 2013-06-20 2017-07-19 キヤノン株式会社 ロボット装置及び部品の製造方法
JP6383146B2 (ja) * 2013-12-04 2018-08-29 株式会社ダイヘン 精度取得装置
US9505133B2 (en) 2013-12-13 2016-11-29 Canon Kabushiki Kaisha Robot apparatus, robot controlling method, program and recording medium
KR101515455B1 (ko) * 2014-05-08 2015-05-06 전자부품연구원 구동축의 외력 측정 장치 및 방법, 그를 갖는 로봇 관절
US9718187B2 (en) * 2014-06-11 2017-08-01 Canon Kabushiki Kaisha Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component
JP6659096B2 (ja) * 2014-07-09 2020-03-04 キヤノン株式会社 ロボット装置の制御方法、およびロボット装置
JP6512790B2 (ja) * 2014-10-24 2019-05-15 キヤノン株式会社 ロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法
JP5980965B2 (ja) 2015-01-08 2016-08-31 ファナック株式会社 複数の回転角検出器により回転角を更新するロボット制御装置
JP6881886B2 (ja) 2015-07-14 2021-06-02 キヤノン株式会社 制御方法、ロボット装置、および駆動装置
US10919159B2 (en) 2015-07-21 2021-02-16 Kassow Robots Aps Joint assembly
JP6575200B2 (ja) * 2015-07-27 2019-09-18 セイコーエプソン株式会社 ロボット、制御装置およびロボットシステム
JP6652292B2 (ja) * 2015-09-24 2020-02-19 キヤノン株式会社 制御方法、制御プログラム、ロボットシステム、回転駆動装置の制御方法、およびロボット装置
JP7058929B2 (ja) * 2015-10-27 2022-04-25 キヤノン株式会社 駆動装置、ロボット装置、制御方法、物品の製造方法、制御プログラム、および記録媒体
JP6576824B2 (ja) * 2015-12-25 2019-09-18 株式会社ダイヘン ロボット制御装置
JP6831208B2 (ja) * 2015-12-25 2021-02-17 株式会社ダイヘン ロボット制御装置
US10116190B2 (en) * 2016-01-05 2018-10-30 Systemantics India Pvt. Ltd. Rotary positioning system
JP6708428B2 (ja) * 2016-02-12 2020-06-10 キヤノン株式会社 ロボット装置、制御方法、製造方法、プログラム、及び記録媒体
US10613113B2 (en) * 2016-06-27 2020-04-07 Smc Corporation Position detecting device
CN106217345B (zh) * 2016-08-31 2018-04-24 北京术锐技术有限公司 可实现姿态反馈的柔性连续体结构
JP6743597B2 (ja) * 2016-09-02 2020-08-19 株式会社デンソーウェーブ たわみ角検出装置
JP6986373B2 (ja) * 2017-06-21 2021-12-22 川崎重工業株式会社 ロボットシステム及びロボットシステムの制御方法
IT201700097364A1 (it) * 2017-08-30 2019-03-02 Axist S R L Robot per eseguire misurazioni dimensionali.
CN109895122B (zh) * 2017-12-07 2023-12-26 中国科学院沈阳自动化研究所 一种具有力感知功能的协作机器人关节
JP7234577B2 (ja) * 2018-10-31 2023-03-08 セイコーエプソン株式会社 ロボットシステム、ロボット制御方法、及びエンコーダー
JP7381204B2 (ja) 2019-01-29 2023-11-15 ファナック株式会社 ロボット
JP7336215B2 (ja) 2019-03-08 2023-08-31 キヤノン株式会社 ロボットシステム、制御方法、物品の製造方法、プログラム、及び記録媒体
JP7321894B2 (ja) 2019-11-11 2023-08-07 住友重機械工業株式会社 駆動装置
CN111831115A (zh) * 2020-06-28 2020-10-27 深圳市罗伯医疗科技有限公司 操作手装置控制方法、上位机、电子设备及存储介质
JP7250831B2 (ja) * 2021-02-22 2023-04-03 キヤノン株式会社 駆動装置、ロボット装置、制御方法、物品の製造方法、制御プログラム、及び記録媒体
CN114268246B (zh) * 2021-12-29 2024-02-06 苏州汇川控制技术有限公司 电机控制方法、装置、系统及计算机可读存储介质
CN118067175B (zh) * 2024-04-22 2024-08-27 科弛医疗科技(北京)有限公司 联合校验方法、手术机器人的控制方法和存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58139201A (ja) * 1982-02-12 1983-08-18 Toyota Central Res & Dev Lab Inc サ−ボ系用異常検出装置
JPS60118478A (ja) * 1983-11-30 1985-06-25 株式会社日立製作所 関節形ロボツトの位置制御装置
JPS6190205A (ja) * 1984-10-09 1986-05-08 Komatsu Ltd ロボツトの絶対位置決め誤差補償方法
JPH0619002U (ja) * 1992-08-14 1994-03-11 株式会社明電舎 ロボットアーム制御装置
JPH07100781A (ja) * 1993-10-05 1995-04-18 Ricoh Co Ltd 多関節型ロボット
US20020025722A1 (en) 2000-08-04 2002-02-28 Hideho Inagawa Shielded cable with connector
JP2005052913A (ja) * 2003-07-31 2005-03-03 Nachi Fujikoshi Corp ロボット制御装置
US7486403B2 (en) 2006-07-20 2009-02-03 Canon Kabushiki Kaisha Droplet shape measuring method and apparatus
JP2010238174A (ja) 2009-03-31 2010-10-21 Yamatake Corp 位置決め装置及び位置決め方法
JP5645423B2 (ja) * 2010-02-23 2014-12-24 キヤノン株式会社 回転駆動装置及びロボットアーム
JP2012110083A (ja) * 2010-11-15 2012-06-07 Denso Corp モータ制御装置
JP5370392B2 (ja) * 2011-02-23 2013-12-18 株式会社安川電機 ロボットシステム、ロボット制御装置およびロボット制御方法
JP5488494B2 (ja) * 2011-02-23 2014-05-14 株式会社安川電機 ロボットシステム
JP6164948B2 (ja) * 2013-06-20 2017-07-19 キヤノン株式会社 ロボット装置及び部品の製造方法
JP6209486B2 (ja) * 2014-05-13 2017-10-04 双葉電子工業株式会社 角度検出装置および角度検出装置を利用したサーボ装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022093501A (ja) * 2018-09-24 2022-06-23 株式会社ニコン 負荷検出用センサ
JP7116373B2 (ja) 2018-09-24 2022-08-10 株式会社ニコン 負荷検出用センサ
JP2022140590A (ja) * 2018-09-24 2022-09-26 株式会社ニコン 負荷検出用センサ
JP7273379B2 (ja) 2018-09-24 2023-05-15 株式会社ニコン エンコーダ、駆動装置、ロボット装置、及び制御システム
US12040733B2 (en) 2018-09-24 2024-07-16 Nikon Corporation Encoder, driving apparatus, robot apparatus, control system, and its control method
JP2020094994A (ja) * 2018-12-14 2020-06-18 キヤノン株式会社 検出装置、駆動装置、ロボット装置、検出方法、及び物品の製造方法
JP7146609B2 (ja) 2018-12-14 2022-10-04 キヤノン株式会社 検出装置、駆動装置、ロボット装置、検出方法、物品の製造方法、制御方法、プログラム、及び記録媒体

Also Published As

Publication number Publication date
US20140084840A1 (en) 2014-03-27
US9342067B2 (en) 2016-05-17
JP2014065097A (ja) 2014-04-17

Similar Documents

Publication Publication Date Title
JP6053424B2 (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP6164948B2 (ja) ロボット装置及び部品の製造方法
JP6881886B2 (ja) 制御方法、ロボット装置、および駆動装置
JP6648913B2 (ja) 制御方法、ロボット装置、プログラム、記録媒体、物品の製造方法、及び駆動装置
JP6504864B2 (ja) ロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法
JP6652293B2 (ja) ロボット装置、および制御方法
JP2020203379A (ja) ロボット装置、制御方法、物品の製造方法、プログラム、記録媒体、及びセンサシステム
US20160221193A1 (en) Robot apparatus, method for controlling robot, program, and recording medium
JP6708428B2 (ja) ロボット装置、制御方法、製造方法、プログラム、及び記録媒体
US20190168389A1 (en) Robot apparatus, control method for controlling the same, non-transitory computer-readable recording medium, manufacturing system, and method for manufacturing an article
JP2015131385A (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP2016083713A (ja) ロボット制御方法、ロボット装置、プログラム、記録媒体及び組立部品の製造方法
JP2016168650A (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP7035608B2 (ja) ロボットのアーム回転軸速度検出装置
JP7267688B2 (ja) ロボットシステム、ロボットアームの制御方法、物品の製造方法、駆動装置および駆動装置の制御方法
CN113146659A (zh) 扭矩检测设备及方法、机器人、物品制造方法、控制设备
JP2021085756A (ja) 検出装置、駆動装置、ロボット装置、検出方法、ロボット装置を用いた物品の製造方法、制御プログラム及び記録媒体
WO2022163536A1 (ja) 変位検出センサ、制御装置、及び制御システム
JP2020062730A (ja) ロボット制御方法、ロボット装置、プログラム、記録媒体および物品の製造方法
JP7443013B2 (ja) ロボット制御装置
JP2024082004A (ja) ロボットシステム、ロボットシステムの制御方法、情報処理装置、情報処理方法、物品の製造方法、駆動装置、駆動装置の制御方法、プログラム、及び記録媒体
JP2023065132A (ja) センサ、機器および製造方法
JP2019217592A (ja) ロボット装置及びその制御方法、プログラム、記録媒体、物品の製造方法
JP2023083982A (ja) ロボット、ロボットの制御方法、ロボットを用いた物品の製造方法、制御プログラムおよび記録媒体
JPS62212802A (ja) ロボツトア−ムの制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150924

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160902

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161129

R151 Written notification of patent or utility model registration

Ref document number: 6053424

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees