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

JP5962340B2 - ロボット - Google Patents

ロボット Download PDF

Info

Publication number
JP5962340B2
JP5962340B2 JP2012191452A JP2012191452A JP5962340B2 JP 5962340 B2 JP5962340 B2 JP 5962340B2 JP 2012191452 A JP2012191452 A JP 2012191452A JP 2012191452 A JP2012191452 A JP 2012191452A JP 5962340 B2 JP5962340 B2 JP 5962340B2
Authority
JP
Japan
Prior art keywords
arm
angular velocity
drive source
robot
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012191452A
Other languages
English (en)
Other versions
JP2014046404A (ja
JP2014046404A5 (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2012191452A priority Critical patent/JP5962340B2/ja
Priority to US14/013,356 priority patent/US9044861B2/en
Publication of JP2014046404A publication Critical patent/JP2014046404A/ja
Publication of JP2014046404A5 publication Critical patent/JP2014046404A5/ja
Application granted granted Critical
Publication of JP5962340B2 publication Critical patent/JP5962340B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Description

本発明は、ロボットに関するものである。
従来、基台(ベース)と、複数のアームリンク部とを備えるロボットが知られている(例えば、特許文献1参照)。各アームリンク部は、関節部を介して、その基端側のアームリンク部に対して回動自在に連結され、最も基台側のアームリンク部は、関節部を介して、その基台に対して回動自在に連結されている。
このようなロボットでは、基台とアームリンク部とを連結する関節部や、アームリンク部とアームリンク部とを連結する関節部は、そのバネ要素の影響により基台やアームリンク部に比べて剛性が低くなっている。このため、アームリンク部の回動やアームリンク部に加わる外乱等によってアームリンク部に振動が生じ易いという問題がある。
そこで、特許文献1に記載のロボットでは、そのロボットの最も先端側のアームリンク部の先端部に加速度センサーを設置し、その加速度センサーにより検出された加速度に基づいて、最も先端側のアームリンク部の先端部に生じた振動を抑制するように各関節部のモーターへの指令値を補償する各関節部の補償成分を算出するとともに、算出された各関節部の補償成分を対応する各関節部の指令値から減算する。
特開平10−100085号公報
しかしながら、前記特許文献1に記載のロボットでは、下記の欠点がある。
まず、最も先端側のアームリンク部の先端部に加速度センサーを設置しているので、その加速度センサーが検出する加速度を各関節部のものに換算して補正することとなる。このときヤコビ変換と呼ばれる座標軸変換を行う必要があり、多数のsin、cosの積を係数に持つ行列演算が必要になるため演算量が膨大になる。しかも、刻一刻と変化する各関節部のモーターの回転角度に合わせて係数を計算する必要があるので、常にこの膨大な演算を実行する必要がある。これにより、応答速度が遅くなるという欠点がある。
また、計算精度が低下すると正確な加速度や速度をフィードバックできないので、振動抑制能力が低下したり、制御性能が損なわれることがあり、このため、高速な演算器が必要になる等、制御システムの設計の制約を受ける。
また、前記座標軸変換の計算において、特異点と呼ばれる座標軸変換解がない領域(計算できない領域)があり、その領域では振動抑制能力が低下したり、かえって振動を拡大してしまうことがある。
また、例えば、アームリンク部が伸びている場合と、アームリンク部が折り畳まれている場合等、アームリンク部の姿勢が異なる場合でも同様の制御を行うので、制御を安定させつつ、的確に振動を抑制することが困難である。
本発明の目的は、アームの姿勢に応じて、容易かつ確実に、振動を抑制することができるロボットを提供することにある。
このような目的は、下記の本発明により達成される。
(適用例1)
本発明のロボットは、基台と、前記基台に連結され、第1回転軸を軸中心として回動する第1アームと、前記第1アームに連結され、前記第1回転軸とは異なる方向の第2回転軸を軸中心として回動する第2アームと、前記第2回転軸とは平行な方向の第3回転軸を軸中心として回動する第3アームと、前記第1アームを第1角速度指令で回動させる第1駆動源と、前記第1アームに設置され、前記第1アームの前記第1回転軸の角速度または加速度を検出する第1慣性センサーと、前記第1駆動源の回転角度を検出する第1角度センサーと、前記第2アームを第2角速度指令で回動させる第2駆動源と、前記第2アームに設置され、前記第2アームの前記第2回転軸の角速度または加速度を検出する第2慣性センサーと、前記第2駆動源の回転角度を検出する第2角度センサーと、前記第3アームを第3角速度指令で回動させる第3駆動源と、前記第3アームに設置され、前記第3アームの前記第2回転軸の角速度または加速度を検出する第3慣性センサーと、前記第3駆動源の回転角度を検出する第3角度センサーと、前記第2アームを基準として第3アームの姿勢を検出する姿勢検出手段と、前記第1慣性センサーから得られる前記第1アームの前記第1回転軸の角速度ωA1と、前記第1角度センサーから得られる前記第1アームの前記第1回転軸の角速度ωA1mと、から導かれる第1補正成分をフィードバックして前記第1駆動源を制御する第1駆動源制御手段と、前記第3慣性センサーから得られる前記第3アームの前記第2回転軸の角速度ωA3と、前記第2角度センサーから得られる前記第2アームの前記第2回転軸の角速度ωA2mと、前記第3角度センサーから得られる前記第3アームの前記第3回転軸の角速度ωA3mと、から導かれる第2A補正成分と、前記第2慣性センサーから得られる前記第2アームの前記第2回転軸の角速度ωA2と、前記角速度ωA2mと、から導かれる第2B補正成分と、のいずれか一方を前記姿勢検出手段の検出結果に基づいて選択して、該選択した補正成分をフィードバックして前記第2駆動源を制御する第2駆動源制御手段と、を備えることを特徴とする。
これにより、アームの姿勢に応じて、容易かつ確実に、ロボットの振動を抑制することができる。
すなわち、膨大な演算が不要であり、これにより、ロボットの制御における応答速度を速くすることができる。また、特異点の存在する演算が不要であるので、確実に、ロボットの制御を行うことができ、振動を抑制することができる。
そして、特に、第2駆動源制御手段は、第2アームを基準とした第3アームの姿勢に応じて、第2A補正成分をフィードバックして第2駆動源を制御する場合と、第2B補正成分をフィードバックして第2駆動源を制御する場合との一方を選択するので、振動を抑制する効果をより最適にして、制御の安定性との両立を図ることができる。
すなわち、第2アームを基準として検出される第3アームの姿勢によって第3アームの振動成分に第2駆動源の振動成分も含まれる場合は、第3アームに設置されている第3慣性センサーから得られる角速度を含む第2A補正成分を第2駆動源の制御にフィードバックして、振動を抑制する効果を高めることができる。また、第2アームを基準として検出した第3アームの姿勢によって第3アームの振動成分よりも第2アームの振動成分が多く含まれる場合は、第2アームに設置されている第2慣性センサーから得られる角速度を含む第2B補正成分をフィードバックして振動を抑える制御を行うので、ロボットの振動を防止し、制御を安定させることができる。
(適用例2)
本発明のロボットでは、前記角速度ωA1から前記角速度ωA1mを減算した値または該値から導かれた値にフィードバックゲインを乗算した前記第1補正成分をフィードバックして前記第1駆動源を制御する前記第1駆動源制御手段と、前記角速度ωA3から前記角速度ωA2mおよび前記角速度ωA3mを減算した値または該値から導かれた値にフィードバックゲインを乗算した前記第2A補正成分をフィードバックする、または前記角速度ωA2から前記角速度ωA2mを減算した値または該値から導かれた値にフィードバックゲインを乗算した前記第2B補正成分をフィードバックする、のいずれか一方によって前記第2駆動源を制御する前記第2駆動源制御手段と、を備えていることが好ましい。
これにより、第2アームを基準として検出される第3アームの姿勢に応じて、より確実にロボットの振動を抑制することができる。
(適用例3)
本発明のロボットでは、前記第2アームの軸線と前記第3アームの軸線とのなす角θを検出する前記姿勢検出手段と、前記角θが第1の閾値以上、該第1の閾値よりも大きい第2の閾値以下では、前記第2A補正成分をフィードバックして前記第2駆動源を制御し、前記角θが前記第2の閾値よりも大きいまたは前記第1の閾値未満では、前記第2B補正成分をフィードバックして前記第2駆動源を制御する前記第2駆動源制御手段と、を備えていることが好ましい。
これにより、第2アームを基準として検出される第3アームの姿勢に応じて、より確実に振動を抑制する効果を高めることと、制御の安定性との両立を図ることができる。
すなわち、第2アームの軸線と第3アームの軸線とのなす角θが第1の閾値以上、第2の閾値以下の場合(伸長姿勢)は、第2アームの軸線と第3アームの軸線とのなす角θが第1の閾値未満または第2の閾値よりも大きい場合(折り畳み姿勢)に比べて、ロボットの制御が安定しているが、ロボットの慣性モーメントが大きく、振動が大きいので、第2A補正成分をフィードバックして第2駆動源を制御することにより、振動を抑制する効果を高めることができる。
一方、第2アームの軸線と第3アームの軸線とのなす角θが第1の閾値未満または第2の閾値よりも大きい場合は、第2アームの軸線と第3アームの軸線とのなす角θが第1の閾値以上、第2の閾値以下の場合に比べて、ロボットの慣性モーメントが小さく、振動が小さいが、制御が不安定になりがちで、ロボットが振動し易いので、第2B補正成分をフィードバックして第2駆動源を制御することにより、ロボットの振動を防止し、制御を安定させることができる。
(適用例4)
本発明のロボットでは、前記第1の閾値は、60°以上、150°以下の範囲内とし、前記第2の閾値は、210°以上、300°以下の範囲内とすることが好ましい。
これにより、第2アームを基準として検出される第3アームの姿勢に応じて、より確実に振動を抑制する効果を高めることと、制御の安定性との両立を図ることができる。
(適用例5)
本発明のロボットでは、エンドエフェクタの質量または前記エンドエフェクタと前記エンドエフェクタが把持する物との質量が大きいほど、前記第1の閾値を大きくし、前記第2の閾値を小さくする前記第2駆動源制御手段を備えることが好ましい。
前記質量が大きいほど、ロボットの振動が振動し易いので、これにより、前記質量に応じて、確実に振動を抑制することができる。
(適用例6)
本発明のロボットでは、エンドエフェクタの質量または前記エンドエフェクタと前記エンドエフェクタが把持する物との質量を加味して、前記第2A補正成分または前記第2B補正成分のいずれか一方を選択する前記第2駆動源制御手段を備えることが好ましい。
これにより、前記質量に応じて、確実に振動を抑制することができる。
(適用例7)
本発明のロボットでは、前記第3駆動源の回転角度を検出する前記第3角度センサーを含む前記姿勢検出手段を備えることが好ましい。
これにより、部品点数を削減することができ、構成を簡素化することができる。
(適用例8)
本発明のロボットでは、前記第3慣性センサーから得られる前記第3アームの前記第2回転軸の角速度ωA3と、前記第2慣性センサーから得られる前記第2アームの前記第2回転軸の角速度ωA2と、前記第3角度センサーから得られる前記第3アームの前記第3回転軸の角速度ωA3mと、から導かれる第3補正成分をフィードバックして前記第3駆動源を制御する第3駆動源制御手段を備えることが好ましい。
これにより、各アームに対してその振動を抑える制御を行うので、より確実に、ロボットの振動を抑制することができる。
(適用例9)
本発明のロボットでは、前記角速度ωA3から前記角速度ωA2および前記角速度ωA3mを減算した値または該値から導かれる値にフィードバックゲインを乗算した前記第3補正成分をフィードバックして前記第3駆動源を制御する前記第3駆動源制御手段を備えることが好ましい。
これにより、より確実にロボットの振動を抑制することができる。
(適用例10)
本発明のロボットでは、前記第1アームの先端部に設置された前記第1慣性センサーと、前記第2アームの先端部に設置された前記第2慣性センサーと、前記第3アームの先端部に設置された前記第3慣性センサーと、を備えることが好ましい。
これにより、第1慣性センサーは、第1アームの振動が最大の部位において第1アームの角速度または加速度を検出し、第2慣性センサーは、第2アームの振動が最大の部位において第2アームの角速度または加速度を検出し、第3慣性センサーは、第3アームの振動が最大の部位において第3アームの角速度または加速度を検出するので、より確実にロボットの振動を抑制することができる。
(適用例11)
本発明のロボットでは、前記第1回転軸と直交または前記第1回転軸に直交する軸と平行である前記第2回転軸を備えることが好ましい。
これにより、ロボットの制御を容易に行うことができる。
(適用例12)
本発明のロボットは、基台と、前記基台に対し、第1回転軸を回転中心として回動自在に連結された第1アームと、前記第1アームに対し、前記第1回転軸に平行な第2回転軸を回転中心として回動自在に連結された第2アームと、前記第1アームを第1角速度指令で回動させる第1駆動源と、前記第1アームに設置され、前記第1アームの前記第1回転軸の角速度または加速度を検出する第1慣性センサーと、前記第1駆動源の回転角度を検出する第1角度センサーと、前記第2アームを第2角速度指令で回動させる第2駆動源と、前記第2アームに設置され、前記第2アームの前記第2回転軸の角速度または加速度を検出する第2慣性センサーと、前記第2駆動源の回転角度を検出する第2角度センサーと、前記第1アームを基準として前記第2アームの姿勢を検出する姿勢検出手段と、前記第2慣性センサーから得られる前記第2アームの前記第1回転軸の角速度ωA2と、前記第1角度センサーから得られる前記第1アームの前記第1回転軸の角速度ωA1mと、前記第2角度センサーから得られる前記第2アームの前記第2回転軸の角速度ωA2mと、から導かれる第1A補正成分をフィードバックして前記第1駆動源を制御する、または前記第1慣性センサーから得られる前記第1アームの前記第1回転軸の角速度ωA1と、前記第1角度センサーから得られる前記第1アームの前記第1回転軸の角速度ωA1mと、から導かれる第1B補正成分をフィードバックして前記第1駆動源を制御する、のいずれか一方を、前記姿勢検出手段の検出結果に基づいて選択し、該選択した制御を行う第1駆動源制御手段と、を備えることを特徴とする。
これにより、アームの姿勢に応じて、容易かつ確実に、ロボットの振動を抑制することができる。
すなわち、膨大な演算が不要であり、これにより、ロボットの制御における応答速度を速くすることができる。また、特異点の存在する演算が不要であるので、確実に、ロボットの制御を行うことができ、振動を抑制することができる。
そして、特に、第1駆動源制御手段は、第1アームを基準として検出される第2アームの姿勢に応じて、第1A補正成分をフィードバックして第1駆動源を制御する場合と、第1B補正成分をフィードバックして第1駆動源を制御する場合との一方を選択するので、振動を抑制する効果を高めることと、制御の安定性との両立を図ることができる。
すなわち、第1アームを基準として検出される第2アームの姿勢によって第2アームの振動成分に第1駆動源の振動成分も含まれる場合は、第2アームに設置されている第2慣性センサーから得られる角速度を含む第1A補正成分を第1駆動源の制御にフィードバックして、振動を抑制する効果を高めることができる。また、第1アームを基準として検出した第2アームの姿勢によって第2アームの振動成分よりも第1アームの振動成分が多く含まれる場合は、第1アームに設置されている第1慣性センサーから得られる角速度を含む第1B補正成分をフィードバックして振動を抑える制御を行うので、ロボットの振動を防止し、制御を安定させることができる。
(適用例13)
本発明のロボットでは、前記角速度ωA2から前記角速度ωA1mおよび前記角速度ωA2mを減算した値または該値から導かれた値にフィードバックゲインを乗算した前記第1A補正成分をフィードバックして前記第1駆動源を制御する、または前記角速度ωA1から前記角速度ωA1mを減算した値または該値から導かれた値にフィードバックゲインを乗算した前記第1B補正成分をフィードバックして前記第1駆動源を制御する、のいずれか一方を、前記姿勢検出手段の検出結果に基づいて選択し、該選択した制御を行う前記第1駆動源制御手段を備えることが好ましい。
これにより、より確実にロボットの振動を抑制することができる。
(適用例14)
本発明のロボットでは、前記第1アームの軸線と前記第2アームの軸線とのなす角θを検出する前記姿勢検出手段と、前記角θが第1の閾値以上、該第1の閾値よりも大きい第2の閾値以下では、前記第2慣性センサーから得られる前記第2アームの前記第1回転軸の角速度ωA2と、前記第1角度センサーから得られる前記第1アームの前記第1回転軸の角速度ωA1mと、前記第2角度センサーから得られる前記第2アームの前記第2回転軸の角速度ωA2mと、から導かれる第1A補正成分をフィードバックして前記第1駆動源を制御し、前記角θが前記第1の閾値未満または前記第2の閾値よりも大きい場合は、前記第1慣性センサーから得られる前記第1アームの前記第1回転軸の角速度ωA2と、前記第1角度センサーから得られる前記第1アームの前記第1回転軸の角速度ωA1mと、から導かれる第1B補正成分をフィードバックして前記第1駆動源を制御する、前記第1駆動源制御手段と、を備えることが好ましい。
これにより、第1アームを基準として検出される第2アームの姿勢に応じて、より確実に振動を抑制する効果を高めることと、制御の安定性との両立を図ることができる。
すなわち、第1アームの軸線と第2アームの軸線とのなす角θが第1の閾値以上、第2の閾値以下の場合(伸長姿勢)は、第1アームの軸線と第2アームの軸線とのなす角θが第1の閾値未満または第2の閾値よりも大きい場合(折り畳み姿勢)に比べて、ロボットの制御が安定しているが、ロボットの慣性モーメントが大きく、振動が大きいので、第1A補正成分をフィードバックして第1駆動源を制御することにより、振動を抑制する効果を高めることができる。
一方、第1アームの軸線と第2アームの軸線とのなす角θが第1の閾値未満または第2の閾値よりも大きい場合は、第1アームの軸線と第2アームの軸線とのなす角θが第1の閾値以上、第2の閾値以下の場合に比べて、ロボットの慣性モーメントが小さく、振動が小さいが、制御が不安定になりがちで、ロボットが振動し易いので、第1B補正成分をフィードバックして第1駆動源を制御することにより、ロボットの振動を防止し、制御を安定させることができる。
(適用例15)
本発明のロボットでは、前記第1の閾値は、60°以上、150°以下の範囲内とし、前記第2の閾値は、210°以上、300°以下の範囲内とすることが好ましい。
これにより、第1アームを基準として検出される第2アームの姿勢に応じて、より確実に振動を抑制する効果を高めることと、制御の安定性との両立を図ることができる。
(適用例16)
本発明のロボットでは、エンドエフェクタの質量または前記エンドエフェクタと前記エンドエフェクタが把持する物との質量が大きいほど、前記第1の閾値を大きくし、前記第2の閾値を小さくする前記第1駆動源制御手段を備えることが好ましい。
前記質量が大きいほど、ロボットが振動し易いので、これにより、前記質量に応じて、確実に振動を抑制することができる。
(適用例17)
本発明のロボットでは、エンドエフェクタの質量または前記エンドエフェクタと前記エンドエフェクタが把持する物との質量を加味して、前記第1A補正成分または前記第1B補正成分のいずれか一方を選択する前記第1駆動源制御手段を備えることが好ましい。
これにより、前記質量に応じて、確実に振動を抑制することができる。
(適用例18)
本発明のロボットでは、前記第2駆動源の回転角度を検出する前記第2角度センサーを含む前記姿勢検出手段を備えることが好ましい。
これにより、部品点数を削減することができ、構成を簡素化することができる。
(適用例19)
本発明のロボットでは、前記第2慣性センサーから得られる前記第2アームの前記第1回転軸の角速度ωA2と、前記第1慣性センサーから得られる前記第1アームの前記第1回転軸の角速度ωA1と、前記第2角度センサーから得られる前記第2アームの前記第2回転軸の角速度ωA2mと、から導かれる第2補正成分をフィードバックして前記第2駆動源を制御する第2駆動源制御手段を備えることが好ましい。
これにより、各アームに対してその振動を抑える制御を行うので、より確実に、ロボットの振動を抑制することができる。
(適用例20)
本発明のロボットでは、前記角速度ωA2から前記角速度ωA1および前記角速度ωA2mを減算した値または該値から導かれる値に対してフィードバックゲインを乗算した前記第2補正成分をフィードバックして第2駆動源を制御する前記第2駆動源制御手段を備えることが好ましい。
これにより、より確実にロボットの振動を抑制することができる。
(適用例21)
本発明のロボットでは、前記第1アームの先端部に設置された前記第1慣性センサーと、前記第2アームの先端部に設置された前記第2慣性センサーと、備えることが好ましい。
これにより、第1慣性センサーは、第1アームの振動が最大の部位において第1アームの角速度または加速度を検出し、第2慣性センサーは、第2アームの振動が最大の部位において第2アームの角速度または加速度を検出するので、より確実にロボットの振動を抑制することができる。
(適用例22)
本発明のロボットでは、前記第1回転軸は、前記基台の設置面の法線と一致することが好ましい。
これにより、ロボットの制御を容易に行うことができる。
本発明のロボットの第1実施形態を正面側から見た斜視図である。 図1に示すロボットを背面側から見た斜視図である。 図1に示すロボットの概略図である。 図1に示すロボットの概略図である。 図1に示すロボットの主要部のブロック図である。 図1に示すロボットの主要部のブロック図である。 図1に示すロボットの主要部のブロック図である。 図1に示すロボットの主要部のブロック図である。 図1に示すロボットの主要部のブロック図である。 図1に示すロボットの主要部のブロック図である。 図1に示すロボットの制御装置の制御動作を示すフローチャートである。 本発明のロボットの第3実施形態を示す概略図である。 図12に示すロボットの概略図である。 図12に示すロボットの主要部のブロック図である。 本発明のロボットの他の構成例を示す正面図である。
以下、本発明のロボットを添付図面に示す好適な実施形態に基づいて詳細に説明する。
<第1実施形態>
図1は、本発明のロボットの第1実施形態を正面側から見た斜視図である。図2は、図1に示すロボットを背面側から見た斜視図である。図3および図4は、それぞれ、図1に示すロボットの概略図である。図5は、図1に示すロボットの主要部のブロック図である。図6〜図10は、それぞれ、図1に示すロボットの主要部のブロック図である。図11は、図1に示すロボットの制御装置の制御動作を示すフローチャートである。
なお、以下では、説明の都合上、図1〜図4、図6中の上側を「上」または「上方」、下側を「下」または「下方」と言う。また、図1〜図4、図6中の基台側を「基端」、その反対側を「先端」と言う。また、図4では、回転軸O2、O3は、それぞれ、誇張して図示されている。また、図4では、慣性センサー31、32、33は、それぞれ、その存在を明確にするため、アーム12、13、14の外部に図示されている。
図1〜図4に示すロボット(産業用ロボット)1は、例えば腕時計のような精密機器等を製造する製造工程で用いることができ、ロボット本体10と、ロボット本体10の作動を制御する制御装置(制御手段)20(図5参照)とを有している。ロボット本体10と、制御装置20とは、電気的に接続されている。また、制御装置20は、例えば、CPU(Central Processing Unit)が内蔵されたパーソナルコンピューター(PC)等で構成することができる。なお、制御装置20については、後で詳述する。
ロボット本体10は、基台11と、4本のアーム(リンク)12、13、14、15と、リスト(リンク)16と、6つの駆動源401、402、403、404、405、406とを備えている。このロボット本体10は、基台11と、アーム12、13、14、15と、リスト16とが基端側から先端側に向ってこの順に連結された垂直多関節(6軸)ロボット(ロボット本体)である。垂直多関節ロボットでは、基台11と、アーム12〜15と、リスト16とを総称して「アーム」と言うこともでき、アーム12を「第1アーム」、アーム13を「第2アーム」、アーム14を「第3アーム」、アーム15を「第4アーム」、リスト16を「第5アーム、第6アーム」と分けて言うことができる。なお、リスト16は、第5アームと、第6アームとを有していてもよい。リスト16にはエンドエフェクタ等を取り付けることができる。
図3および図4に示すように、アーム12〜15、リスト16は、それぞれ、基台11に対し独立して変位可能に支持されている。このアーム12〜15、リスト16の長さは、それぞれ、特に限定されないが、図示の構成では、アーム12〜14の長さが、他のアーム15およびリスト16よりも長く設定されている。なお、例えば、第3アーム14の長さを第1アーム12および第2アーム13の長さよりも短くしてもよい。
基台11と第1アーム12とは、関節(ジョイント)171を介して連結されている。そして、第1アーム12は、基台11に対し、鉛直方向と平行な第1回転軸O1を回転中心とし、その第1回転軸O1回りに回動自在となっている。第1回転軸O1は、基台11の設置面である床101の上面の法線と一致している。この第1回転軸O1回りの回動は、第1駆動源401の駆動によりなされる。また、第1駆動源401はモーター401Mとケーブル(図示せず)によって駆動され、このモーター401Mは電気的に接続されたモータードライバー301を介して制御装置20により制御される(図5参照)。第1駆動源401はモーター401Mとともに設けた減速機(図示せず)によってモーター401Mからの駆動を伝達されても良く、また、減速機が省略されていてもよい。
第1アーム12と第2アーム13とは、関節(ジョイント)172を介して連結されている。そして、第2アーム13は、第1アーム12に対し、水平方向と平行な第2回転軸O2を軸中心として回動自在となっている。第2回転軸O2は、第1回転軸O1と直交している。この第2回転軸O2回りの回動は、第2駆動源402の駆動によりなされる。また、第2駆動源402はモーター402Mとケーブル(図示せず)によって駆動され、このモーター402Mは電気的に接続されたモータードライバー302を介して制御装置20により制御される(図5参照)。第2駆動源402はモーター402Mの他に設けた減速機(図示せず)によってモーター402Mからの駆動を伝達されても良く、また、減速機が省略されていてもよい。なお、第2回転軸O2は、第1回転軸O1に直交する軸と平行であってもよい。
第2アーム13と第3アーム14とは、関節(ジョイント)173を介して連結されている。そして、第3アーム14は、第2アーム13に対して水平方向と平行な回転軸O3を回転中心とし、その第3回転軸O3回りに回動可能となっている。第3回転軸O3は、第2回転軸O2と平行である。この第3回転軸O3回りの回動は、第3駆動源403の駆動によりなされる。また、第3駆動源403は、モーター403Mとケーブル(図示せず)によって駆動され、このモーター403Mは電気的に接続されたモータードライバー303を介して制御装置20により制御される(図5参照)。第3駆動源403はモーター403Mの他に減速機(図示せず)も設けてモーター403Mからの駆動を伝達されても良く、また、減速機が省略されていてもよい。
第3アーム14と第4アーム15とは、関節(ジョイント)174を介して連結されている。そして、第4アーム15は、第3アーム14(基台11)に対し、第3アーム14の中心軸方向と平行な第4回転軸O4を回転中心とし、その第4回転軸O4回りに回動自在となっている。第4回転軸O4は、第3回転軸O3と直交している。この第4回転軸O4回りの回動は、第4駆動源404の駆動によりなされる。また、第4駆動源404は、モーター404Mとケーブル(図示せず)によって駆動され、このモーター404Mは電気的に接続されたモータードライバー304を介して制御装置20により制御される(図5参照)。第4駆動源404はモーター404Mとともに設けた減速機(図示せず)によってモーター404Mからの駆動を伝達されてもよく、また、減速機が省略されていてもよい。なお、第4回転軸O4は、第3回転軸O3に直交する軸と平行であってもよい。
第4アーム15とリスト16とは、関節(ジョイント)175を介して連結されている。そして、リスト16は、第4アーム15に対して水平方向(y軸方向)と平行な第5回転軸O5を回転中心とし、その第5回転軸O5回りに回動自在となっている。第5回転軸O5は、第4回転軸O4と直交している。この第5回転軸O5回りの回動は、第5駆動源405の駆動によりなされる。また、第5駆動源405は、モーター405Mとケーブル(図示せず)によって駆動され、このモーター405Mは電気的に接続されたモータードライバー305を介して制御装置20により制御される(図5参照)。第5駆動源405はモーター405Mとともに設けた減速機(図示せず)によってモーター405Mからの駆動を伝達されてもよく、また、減速機が省略されていてもよい。また、リスト16は、関節(ジョイント)176を介して、第5回転軸O5と垂直な第6回転軸O6を回転中心とし、その第6回転軸O6回りにも回動自在となっている。回転軸O6は、回転軸O5と直交している。この第6回転軸O6回りの回動は、第6駆動源406駆動によりなされる。また、第6駆動源406の駆動は、モーター406Mとケーブル(図示せず)によって駆動され、このモーター406Mは電気的に接続されたモータードライバー306を介して制御装置20により制御される(図5参照)。第6駆動源406はモーター406Mの他に減速機(図示せず)も設けてモーター406Mからの駆動を伝達されても良く、また、減速機が省略されていてもよい。なお、第5回転軸O5は、第4回転軸O4に直交する軸と平行であってもよく、また、第6回転軸O6は、第5回転軸O5に直交する軸と平行であってもよい。
また、第1アーム12には、第1慣性センサー31が設置されている。この第1慣性センサー31により第1アーム12の第1回転軸O1の回りの角速度を検出する。第1アーム12における第1慣性センサー31の設置位置は、特に限定されないが、第1アーム12の先端部が好ましい。本実施形態では、第1慣性センサー31は、第1アーム12の内部の先端部に設置されている。第1アーム12の振動は、その先端部において最大になるので、これにより、より確実にロボット1の振動を抑制することができる。なお、第1慣性センサー31が、第1アーム12の基端部に設置されていてもよいことは、言うまでもない。
また、第2アーム13には、第2慣性センサー32が設置されている。この第2慣性センサー32により第2アーム13の第2回転軸O2の回りの角速度を検出する。第2アーム13における第2慣性センサー32の設置位置は、特に限定されないが、第2アーム13の先端部が好ましい。本実施形態では、第2慣性センサー32は、第2アーム13の内部の先端部に設置されている。第2アーム13の振動は、その先端部において最大になるので、これにより、より確実にロボット1の振動を抑制することができる。なお、第2慣性センサー32が、第2アーム13の基端部に設置されていてもよいことは、言うまでもない。
また、第3アーム14には、第3慣性センサー33が設置されている。この第3慣性センサー33により第3アーム14の第2回転軸O2の回りの角速度を検出する。第3アーム14における第3慣性センサー33の設置位置は、特に限定されないが、第3アーム14の先端部が好ましい。本実施形態では、第3慣性センサー33は、第3アーム14の内部の先端部に設置されている。第3アーム14の振動は、その先端部において最大になるので、これにより、より確実にロボット1の振動を抑制することができる。なお、第3慣性センサー33が、第3アーム14の基端部に設置されていてもよいことは、言うまでもない。
また、第1慣性センサー31、第2慣性センサー32、第3慣性センサー33としては、それぞれ、特に限定されず、本実施形態では、例えば、ジャイロセンサー、加速度センサー等を用いることができる。
ここで、このロボット1では、第1アーム12、第2アーム13および第3アーム14の振動を抑制するために、前記のように第1アーム12、第2アーム13および第3アーム14のすべてに第1慣性センサー31、第2慣性センサー32、第3慣性センサー33を設置し、その第1慣性センサー31、第2慣性センサー32、第3慣性センサー33の検出結果に基づいて駆動源401、402、403の作動を制御する。これにより、確実に、第1アーム12、第2アーム13および第3アーム14の振動を抑制することができ、これによって、ロボット1全体の振動を抑制することができる。
駆動源401〜406には、それぞれのモーターまたは減速機に、第1角度センサー411、第2角度センサー412、第3角度センサー413、第4角度センサー414、第5角度センサー415、第6角度センサー416が設けられている。これらの角度センサーとして、エンコーダ、ロータリーエンコーダ等が用いることができる。これらの角度センサー411〜416により、それぞれ、駆動源401〜406のモーターあるいは減速機の回転軸の回転角度を検出する。この駆動源401〜406のモーターとしては、それぞれ、特に限定されず、例えば、ACサーボモーター、DCサーボモーター等のサーボモーターを用いるのが好ましい。また、前記各ケーブルは、それぞれ、ロボット本体10を挿通していてもよい。
図5に示すように、ロボット本体10は、制御装置20と電気的に接続されている。すなわち、駆動源401〜406、角度センサー411〜416、慣性センサー31、32、33は、それぞれ、制御装置20と電気的に接続されている。
そして、制御装置20は、アーム12〜15、リスト16をそれぞれ独立して作動させることができる、すなわち、モータードライバー301〜306を介して、駆動源401〜406をそれぞれ独立して制御することができる。この場合、制御装置20は、角度センサー411〜416、慣性センサー31、第2慣性センサー32、第3慣性センサー33により検出を行い、その検出結果に基づいて、駆動源401〜406の駆動、例えば、角速度や回転角度等をそれぞれ制御する。この制御プログラムは、制御装置20に内蔵された記録媒体に予め記憶されている。
図1、図2に示すように、基台11は、ロボット1が垂直多関節ロボットの場合、当該垂直多関節ロボットの最も下方に位置し、設置スペースの床101に固定される部分である。この固定方法としては、特に限定されず、例えば、図1、図2に示す本実施形態では、複数本のボルト111による固定方法を用いている。なお、基台11の設置スペースでの固定箇所としては、床の他に、設置スペースの壁や天井とすることもできる。
基台11は、中空の基台本体(ハウジング)112を有している。基台本体112は、円筒状をなす円筒状部113と、当該円筒状部113の外周部に一体的に形成された、箱状をなす箱状部114とに分けることができる。そして、このような基台本体112には、例えば、モーター401Mやモータードライバー301〜306が収納されている。
アーム12〜15は、それぞれ、中空のアーム本体2と、駆動機構3と、封止手段4とを有している。なお、以下では、説明の都合上、第1アーム12が有するアーム本体2、駆動機構3、封止手段4をそれぞれ「アーム本体2a」、「駆動機構3a」、「封止手段4a」と言い、第2アーム13が有するアーム本体2、駆動機構3、封止手段4をそれぞれ「アーム本体2b」、「駆動機構3b」、「封止手段4b」と言い、第3アーム14が有するアーム本体2、駆動機構3、封止手段4をそれぞれ「アーム本体2c」、「駆動機構3c」、「封止手段4c」と言い、第4アーム15が有するアーム本体2、駆動機構3、封止手段4をそれぞれ「アーム本体2d」、「駆動機構3d」、「封止手段4d」と言うことがある。
また、関節171〜176は、それぞれ、回動支持機構(図示せず)を有している。この回動支持機構は、互いに連結された2本のアームのうちの一方を他方に対し回動可能に支持する機構、互いに連結された基台11と第1アーム12のうちの一方を他方に対し回動可能に支持する機構、互いに連結された第4アーム15と第5リスト16のうちの一方を他方に対し回動可能に支持する機構である。互いに連結された第4アーム15とリスト16とを一例とした場合、回動支持機構は、リスト16を第4アーム15に対し回動させることができる。また、各回動支持機構は、それぞれ、対応するモーターの回転速度を所定の減速比で減速して、その駆動力を対応するアーム、リスト16のリスト本体161、支持リング162に伝達する減速機(図示せず)を有している。
第1アーム12は、基台11の上端部(先端部)に水平方向に対し傾斜した姿勢で連結されている。この第1アーム12では、駆動機構3aがモーター402Mを有しており、アーム本体2a内に収納している。また、アーム本体2a内は、封止手段4aにより気密封止されている。
第2アーム13は、第1アーム12の先端部に連結されている。この第2アーム13では、駆動機構3bがモーター403Mを有しており、アーム本体2b内に収納している。また、アーム本体2a内は、封止手段4bにより気密封止されている。
第3アーム14は、第2アーム13の先端部に連結されている。この第3アーム14では、駆動機構3cがモーター404Mを有しており、アーム本体2c内に収納している。また、アーム本体2c内は、封止手段4cにより気密封止されている。
第4アーム15は、第3アーム14の先端部に、その中心軸方向と平行に連結されている。このアーム15では、駆動機構3dがモーター405M、406Mを有しており、アーム本体2d内に収納している。また、アーム本体2d内は、封止手段4dにより気密封止されている。
第4アーム15の先端部(基台11と反対側の端部)には、リスト16が連結されている。このリスト16には、その先端部(第4アーム15と反対側の端部)に、機能部(エンドエフェクター)として、例えば、腕時計等のような精密機器を把持するマニピュレーター(図示せず)が着脱自在に装着される。なお、マニピュレーターとしては、特に限定されず、例えば、複数本の指部(フィンガー)を有する構成のものが挙げられる。そして、このロボット1は、マニピュレーターで精密機器を把持したまま、アーム12〜15やリスト16等の動作を制御することにより、当該精密機器を搬送することができる。
リスト16は、円筒状をなすリスト本体(第6アーム)161と、リスト本体161と別体で構成され、当該リスト本体161の基端部に設けられ、リング状をなす支持リング(第5アーム)162とを有している。
リスト本体161の先端面163は、平坦な面となっており、マニピュレーターが装着される装着面となる。また、リスト本体161は、関節176を介して、第4アーム15の駆動機構3dに連結されており、当該駆動機構3dのモーター406Mの駆動により、回転軸O6回りに回動する。
支持リング162は、関節175を介して、第4アーム15の駆動機構3dに連結されており、当該駆動機構3dのモーター405Mの駆動により、リスト本体161ごと回転軸O5回りに回動する。
次に、図5、図6〜図10を参照し、制御装置20の構成について説明する。
図5、図6〜図10に示すように、制御装置20は、第1駆動源401の作動を制御する第1駆動源制御部(第1駆動源制御手段)(第1角速度指令)201と、第2駆動源402の作動を制御する第2駆動源制御部(第2駆動源制御手段)(第2角速度指令)202と、第3駆動源403の作動を制御する第3駆動源制御部(第3駆動源制御手段)(第3角速度指令)203と、第4駆動源404の作動を制御する第4駆動源制御部(第4駆動源制御手段)(第4角速度指令)204と、第5駆動源405の作動を制御する第5駆動源制御部(第5駆動源制御手段)(第5角速度指令)205と、第6駆動源406の作動を制御する第6駆動源制御部(第6駆動源制御手段)(第6角速度指令)206と、を有している。
図6に示すように、第1駆動源制御部201は、減算器511と、位置制御部521と、減算器531と、角速度制御部541と、回転角度算出部551と、角速度算出部561と、減算器571と、変換部581と、補正値算出部591と、加算器601とを有している。
図7に示すように、第2駆動源制御部202は、減算器512と、位置制御部522と、減算器532と、角速度制御部542と、回転角度算出部552と、角速度算出部562と、加減算器622と、変換部582と、補正値算出部592と、加算器602と、切替部632、642とを有している。なお、切替部632は、後述する角速度ωA2と角速度ωA3とのいずれか一方を選択し、加減算器622に出力するものである。また、切替部642は、後述する角速度ωA3mを加減算器622に出力する場合と出力しない場合とを切り替えるものである。
図7に示すように、第3駆動源制御部203は、減算器513と、位置制御部523と、減算器533と、角速度制御部543と、回転角度算出部553と、角速度算出部563と、加減算器613と、変換部583と、補正値算出部593と、加算器603とを有している。
図8に示すように、第4駆動源制御部204は、減算器514と、位置制御部524と、減算器534と、角速度制御部544と、回転角度算出部554と、角速度算出部564とを有している。
図9に示すように、第5駆動源制御部205は、減算器515と、位置制御部525と、減算器535と、角速度制御部545と、回転角度算出部555と、角速度算出部565とを有している。
図10に示すように、第6駆動源制御部206は、減算器516と、位置制御部526と、減算器536と、角速度制御部546と、回転角度算出部556と、角速度算出部566とを有している。
また、ロボット1は、第2アーム13を基準として第3アーム14の姿勢を検出する姿勢検出手段として、第2アーム13の軸線(中心軸)131と第3アーム14の軸線(中心軸)141とのなす角θ(以下、単に「第3アーム14の角度θ」、「アーム14の角度θ」、「角度θ」とも言う)(図4参照)を検出する角度検出手段を有している。本実施形態では、この角度検出手段は、第3角度センサー413と、制御装置20とで構成されている。すなわち、制御装置20の第3駆動源制御部203の回転角度算出部553は、第3角度センサー413から入力されるパルス数をカウントし、そのカウント値に応じた第3駆動源403の回転角度を求め、これにより、現在の第3アーム14の角度θを求める。
このロボット1では、第2駆動源制御部202は、後述する第2駆動源402のフィードバック制御において、前記角度検出手段(姿勢検出手段)の検出結果、すなわち、検出された第3アーム14の角度θに基づいて、第2アーム13の振動を抑制するための第2駆動源402の作動の制御に用いる慣性センサーを選択する。すなわち、第2駆動源制御部202は、検出された第3アーム14の角度θに基づいて、第2慣性センサー32と第3慣性センサー33とのいずれか一方を選択し、その選択した慣性センサーの検出結果を用いて、第2駆動源402の作動を制御する。
ここで、制御装置20は、ロボット1が行う処理の内容に基づいてリスト16の目標位置を演算し、その目標位置にリスト16を移動させるための軌道を生成する。そして、制御装置20は、その生成した軌道に沿ってリスト16が移動するように、各駆動源401〜406の回転角度を所定の制御周期ごとに測定し、この測定結果に基づいて演算した値をそれぞれ各駆動源401〜406の位置指令Pcとして駆動源制御部201〜206に出力する(図6〜図11参照)。なお、前記および以下では、「値が入力、出力」等と表記しているが、これは、「その値に対応する信号が入力、出力」の意味である。
図6に示すように、第1駆動源制御部201には、第1駆動源401の位置指令Pcの他、第1角度センサー411、第1慣性センサー31からそれぞれ検出信号が入力される。第1駆動源制御部201は、第1角度センサー411の検出信号から算出される第1駆動源の回転角度(位置フィードバック値Pfb)が位置指令Pcになり、かつ、後述する角速度フィードバック値ωfbが後述する角速度指令ωcになるように、各検出信号を用いたフィードバック制御によって第1駆動源401を駆動する。
すなわち、第1駆動源制御部201の減算器511には、位置指令Pcが入力され、また、回転角度算出部551から後述する位置フィードバック値Pfbが入力される。回転角度算出部551では、第1角度センサー411から入力されるパルス数がカウントされるとともに、そのカウント値に応じた第1駆動源401の回転角度が位置フィードバック値Pfbとして減算器511に出力される。減算器511は、これら位置指令Pcと位置フィードバック値Pfbとの偏差(第1駆動源401の回転角度の目標値から位置フィードバック値Pfbを減算した値)を位置制御部521に出力する。
位置制御部521は、減算器511から入力された偏差と、予め定められた係数である比例ゲイン等を用いた所定の演算処理を行うことで、その偏差に応じた第1駆動源401の角速度の目標値を演算する。位置制御部521は、その第1駆動源401の角速度の目標値(指令値)を示す信号を角速度指令(第1角速度指令)ωcとして減算器531に出力する。なお、ここでは、本実施形態では、フィードバック制御として、比例制御(P制御)がなされるが、これに限定されるものではない。
減算器531には、角速度指令ωcが入力され、また、後述する角速度フィードバック値ωfbが入力される。減算器531は、これら角速度指令ωcと角速度フィードバック値ωfbとの偏差(第1駆動源401の角速度の目標値から角速度フィードバック値ωfbを減算した値)を角速度制御部541に出力する。
角速度制御部541は、減算器531から入力された偏差と、予め定められた係数である比例ゲイン、積分ゲイン等を用い、積分を含む所定の演算処理を行うことで、その偏差に応じた第1駆動源401の駆動信号(駆動電流)を生成し、モータードライバー301を介してモーター401Mに供給する。なお、ここでは、本実施形態では、フィードバック制御として、PI制御がなされるが、これに限定されるものではない。
このようにして、位置フィードバック値Pfbが位置指令Pcと可及的に等しくなり、かつ、角速度フィードバック値ωfbが角速度指令ωcと可及的に等しくなるように、フィードバック制御がなされ、第1駆動源401の駆動電流が制御される。
次に、第1駆動源制御部201における角速度フィードバック値ωfbについて説明する。
角速度算出部561では、第1角度センサー411から入力されるパルス信号の周波数に基づいて、第1駆動源401の角速度ωm1が算出され、その角速度ωm1は、加算器601に出力される。
また、角速度算出部561では、第1角度センサー411から入力されるパルス信号の周波数に基づいて、第1アーム12の回転軸O1の回りの角速度ωA1mが算出され、その角速度ωA1mは、減算器571に出力される。なお、角速度ωA1mは、角速度ωm1を、第1駆動源401のモーター401Mと第1アーム12との間、すなわち、関節171における減速比で除算した値である。
また、第1慣性センサー31により、第1アーム12の回転軸O1の回りの角速度が検出される。そして、その第1慣性センサー31の検出信号、すなわち、第1慣性センサー31により検出された第1アーム12の回転軸O1の回りの角速度ωA1は、減算器571に出力される。
減算器571には、角速度ωA1および角速度ωA1mが入力され、減算器571は、この角速度ωA1から角速度ωA1mを減算した値ωA1s(=ωA1−ωA1m)を変換部581に出力する。この値ωA1sは、第1アーム12の回転軸O1の回りの角速度の振動成分(振動角速度)に相当する。以下、ωA1sを振動角速度と言う。本実施形態では、この振動角速度ωA1s(詳細には、振動角速度ωA1sに基づいて生成した値であるモーター401Mにおける角速度ωm1s)が後述するゲインKa倍されて駆動源401の入力側に戻るフィードバック制御を行う。具体的には、振動角速度ωA1sが可及的に0になるように、駆動源401に対してフィードバック制御がなされる。これにより、ロボット1の振動を抑制することができる。なお、このフィードバック制御では、駆動源401の角速度が制御される。
変換部581は、振動角速度ωA1sを第1駆動源401における角速度ωm1sに変換し、その角速度ωm1sを補正値算出部591に出力する。この変換は、振動角速度ωA1sに、第1駆動源401のモーター401Mと第1アーム12との間、すなわち、関節171における減速比を乗算することで得ることができる。
補正値算出部591は、角速度ωm1sに予め定められた係数であるゲイン(フィードバックゲイン)Kaを乗算し、補正値(第1補正成分)Ka・ωm1sを求め、その補正値Ka・ωm1sを加算器601に出力する。
加算器601には、角速度ωm1が入力され、また、補正値Ka・ωm1sが入力される。加算器601は、角速度ωm1と補正値Ka・ωm1sとの加算値を角速度フィードバック値ωfbとして減算器531に出力する。なお、以降の動作は、前述した通りである。
図7に示すように、第2駆動源制御部202には、第2駆動源402の位置指令Pcの他、第2角度センサー412、第2慣性センサー32からそれぞれ検出信号が入力される。第2駆動源制御部202は、第2角度センサー412の検出信号から算出される第2駆動源402の回転角度(位置フィードバック値Pfb)が位置指令Pcになり、かつ、後述する角速度フィードバック値ωfbが後述する角速度指令ωcになるように、各検出信号を用いたフィードバック制御によって第2駆動源402を駆動する。
すなわち、第2駆動源制御部202の減算器512には、位置指令Pcが入力され、また、回転角度算出部552から後述する位置フィードバック値Pfbが入力される。回転角度算出部552では、第2角度センサー412から入力されるパルス数がカウントされるとともに、そのカウント値に応じた第2駆動源402の回転角度が位置フィードバック値Pfbとして減算器512に出力される。減算器512は、これら位置指令Pcと位置フィードバック値Pfbとの偏差(第2駆動源402の回転角度の目標値から位置フィードバック値Pfbを減算した値)を位置制御部522に出力する。
位置制御部522は、減算器512から入力された偏差と、予め定められた係数である比例ゲイン等を用いた所定の演算処理を行うことで、その偏差に応じた第2駆動源402の角速度の目標値を演算する。位置制御部522は、その第2駆動源402の角速度の目標値(指令値)を示す信号を角速度指令(第2角速度指令)ωcとして減算器532に出力する。なお、ここでは、本実施形態では、フィードバック制御として、比例制御(P制御)がなされるが、これに限定されるものではない。
減算器532には、角速度指令ωcが入力され、また、後述する角速度フィードバック値ωfbが入力される。減算器532は、これら角速度指令ωcと角速度フィードバック値ωfbとの偏差(第2駆動源402の角速度の目標値から角速度フィードバック値ωfbを減算した値)を角速度制御部542に出力する。
角速度制御部542は、減算器532から入力された偏差と、予め定められた係数である比例ゲイン、積分ゲイン等を用い、積分を含む所定の演算処理を行うことで、その偏差に応じた第2駆動源402の駆動信号(駆動電流)を生成し、モータードライバー302を介してモーター402Mに供給する。なお、ここでは、本実施形態では、フィードバック制御として、PI制御がなされるが、これに限定されるものではない。
このようにして、位置フィードバック値Pfbが位置指令Pcと可及的に等しくなり、かつ、角速度フィードバック値ωfbが角速度指令ωcと可及的に等しくなるように、フィードバック制御がなされ、第2駆動源402の駆動電流が制御される。なお、回転軸O2は、回転軸O1に対して直交しているので、第1アーム12の動作や振動の影響を受けず、第1駆動源401に対して独立して第2駆動源402の作動を制御することができる。
次に、第2駆動源制御部202における角速度フィードバック値ωfbについて説明する。
まず、第2駆動源制御部202は、第3アーム14の角度θに応じて、加減算器622に、後述する角速度ωA3、角速度ωA2mおよび角速度ωA3mが入力されるように切替部632、642を切り替える場合と、後述する角速度ωA2および角速度ωA2mが入力されるように切替部632、642を切り替える場合とを選択する。
すなわち、角度θが第1の閾値θ1以上、第1の閾値θ1よりも大きい第2の閾値θ2以下の場合は、第3アーム14が第2アーム13に対して伸びた状態または少し曲がった状態(以下、単に「伸長状態」、「伸長姿勢」とも言う)であり、この場合は、第2駆動源制御部202は、使用する慣性センサーとして第3慣性センサー33を選択する。そして、第2駆動源制御部202は、加減算器622に角速度ωA3、角速度ωA2mおよび角速度ωA3mが入力されるように、切替部632、642を切り替える。なお、第1の閾値θ1は、180°未満の角度である。
また、角度θが第1の閾値θ1未満または第2の閾値θ2よりも大きい場合は、第3アーム14が第2アーム13に対して大きく曲がった状態(以下、単に「折り畳み状態」、「折り畳み姿勢」とも言う)であり、この場合は、第2駆動源制御部202は、使用する慣性センサーとして第2慣性センサー32を選択する。そして、第2駆動源制御部202は、加減算器622に角速度ωA2および角速度ωA2mが入力されるように、切替部632、642を切り替える。なお、第2の閾値θ2は、180°よりも大きい角度である。
これにより、振動を抑制する効果を高めることと、制御の安定性との両立を図ることができる。
すなわち、第3アーム14が伸長姿勢の場合は、折り畳み姿勢の場合に比べて、ロボット1の制御が安定しているが、ロボット1の慣性モーメントが大きく、振動が大きいので、第2アーム13よりも大きな振動が生じる第2アーム13の先端側の第3アーム14に設置されている第3慣性センサー33の検出結果を用いて第2駆動源402を制御することにより、振動を抑制する効果を高めることができる。
一方、第3アーム14が折り畳み姿勢の場合は、伸長姿勢の場合に比べて、ロボット1の慣性モーメントが小さく、振動が小さいが、先端側の第3アーム14の振動の位相が基端側の第2アーム13の位相と異なるため、先端側の第3アーム14に設置されている第3慣性センサー33の検出結果を用いて基端側の第2アーム13を駆動する第2駆動源402を制御すると制御が不安定になりがちとなり、ロボット1が振動し易い。そこで、基端側の第2アーム13自身に設置されている第2慣性センサー32の検出結果を用いて第2駆動源402を制御することにより、制御を安定化させることができ、ロボット1の振動を防止すことができる。
また、第1の閾値θ1は、特に限定されず、諸条件に応じて適宜設定されるものであるが、60°以上、150°以下の範囲内で設定されることが好ましく、70°以上、140°以下の範囲内で設定されることがより好ましく、1例としては、例えば、90°に設定される。また、第2の閾値θ2は、特に限定されず、諸条件に応じて適宜設定されるものであるが、210°以上、300°以下の範囲内で設定されることが好ましく、220°以上、290°以下の範囲内で設定されることがより好ましく、1例としては、例えば、270°に設定される。また、第2の閾値θ2は、「360°−θ1」であることが好ましい。これにより、より確実に、振動を抑制する効果を高めることと、制御の安定性との両立を図ることができる。
まずは、第3アーム14の角度θが第1の閾値θ1未満または第2の閾値θ2よりも大きい場合について説明する。
この場合は、角速度算出部562では、第2角度センサー412から入力されるパルス信号の周波数に基づいて、第2駆動源402の角速度ωm2が算出され、その角速度ωm2は、加算器602に出力される。
また、角速度算出部562では、第2角度センサー412から入力されるパルス信号の周波数に基づいて、第2アーム13の回転軸O2の回りの角速度ωA2mが算出され、その角速度ωA2mは、加減算器622に出力される。なお、角速度ωA2mは、角速度ωm2を、第2駆動源402のモーター402Mと第2アーム13との間、すなわち、関節172における減速比で除算した値である。
また、第2慣性センサー32により、第2アーム13の回転軸O2の回りの角速度が検出される。そして、その第2慣性センサー32の検出信号、すなわち、第2慣性センサー32により検出された第2アーム13の回転軸O2の回りの角速度ωA2は、加減算器622に出力される。なお、回転軸O2は、回転軸O1に対して直交しているので、第1アーム12の動作や振動の影響を受けずに、容易かつ確実に、第2アーム13の回転軸O2の回りの角速度を求めることができる。
加減算器622には、角速度ωA2および角速度ωA2mが入力され、加減算器622は、この角速度ωA2から角速度ωA2mを減算した値ωA2s(=ωA2−ωA2m)を変換部582に出力する。この値ωA2sは、第2アーム13の回転軸O2の回りの角速度の振動成分(振動角速度)に相当する。以下、ωA2sを振動角速度と言う。本実施形態では、この振動角速度ωA2s(詳細には、振動角速度ωA2sに基づいて生成した値であるモーター402Mにおける角速度ωm2s)が後述するゲインKa倍されて第2駆動源402の入力側に戻るフィードバック制御を行う。具体的には、振動角速度ωA2sが可及的に0になるように、第2駆動源402に対してフィードバック制御がなされる。これにより、ロボット1の振動を抑制することができる。なお、このフィードバック制御では、第2駆動源402の角速度が制御される。
変換部582は、振動角速度ωA2sを第2駆動源402における角速度ωm2sに変換し、その角速度ωm2sを補正値算出部592に出力する。この変換は、振動角速度ωA2sに、第2駆動源402のモーター402Mと第2アーム13との間、すなわち、関節172における減速比を乗算することで得ることができる。
補正値算出部592は、角速度ωm2sに予め定められた係数であるゲイン(フィードバックゲイン)Kaを乗算し、補正値(第2B補正成分)Ka・ωm2sを求め、その補正値Ka・ωm2sを加算器602に出力する。なお、この第2駆動源制御部202におけるゲインKaと、第1駆動源制御部201におけるゲインKaとは、同一でもよく、また、異なっていてもよい。
加算器602には、角速度ωm2が入力され、また、補正値Ka・ωm2sが入力される。加算器602は、角速度ωm2と補正値Ka・ωm2sとの加算値を角速度フィードバック値ωfbとして減算器532に出力する。なお、以降の動作は、前述した通りである。
次に、第3アーム14の角度θが第1の閾値θ1以上、第2の閾値θ2未満の場合について説明する。
この場合は、角速度算出部562では、第2角度センサー412から入力されるパルス信号の周波数に基づいて、第2駆動源402の角速度ωm2が算出され、その角速度ωm2は、加算器602に出力される。
また、角速度算出部562では、第2角度センサー412から入力されるパルス信号の周波数に基づいて、第2アーム13の回転軸O2の回りの角速度ωA2mが算出され、その角速度ωA2mは、加減算器622に出力される。なお、角速度ωA2mは、角速度ωm2を、第2駆動源402のモーター402Mと第2アーム13との間、すなわち、関節172における減速比で除算した値である。
また、第3駆動源制御部203の角速度算出部563では、第3角度センサー413から入力されるパルス信号の周波数に基づいて、第3アーム14の回転軸O3の回りの角速度ωA3mが算出され、その角速度ωA3mは、加減算器622に出力される。なお、角速度ωA3mは、第3角度センサー413から入力されるパルス信号の周波数に基づいて算出された第3駆動源403の角速度ωm3を、第3駆動源403のモーター402Mと第3アーム14との間、すなわち、関節173における減速比で除算した値である。
また、第3慣性センサー33により、第3アーム14の回転軸O2の回りの角速度が検出される。そして、その第3慣性センサー33の検出信号、すなわち、第3慣性センサー33により検出された第3アーム14の回転軸O2の回りの角速度ωA3は、加減算器622に出力される。なお、回転軸O2、O3は、それぞれ、回転軸O1に対して直交しているので、第1アーム12の動作や振動の影響を受けずに、容易かつ確実に、第3アーム14の回転軸O2の回りの角速度を求めることができる。
加減算器622には、角速度ωA3、角速度ωA2mおよび角速度ωA3mが入力され、加減算器622は、角速度ωA3から角速度ωA2mおよび角速度ωA3mを減算した値ωA2s(=ωA3−ωA2m−ωA3m)を変換部582に出力する。この値ωA2sは、第2アーム13と第3アーム14の回転軸O2の回りの合計の角速度の振動成分(振動角速度)に相当する。以下、ωA2sを振動角速度と言う。本実施形態では、この振動角速度ωA2s(詳細には、振動角速度ωA2sに基づいて生成した値である第2駆動源402における角速度ωm2s)がゲインKa倍され、第2A補正成分として第2駆動源402の入力側に戻るフィードバック制御を行う。具体的には、振動角速度ωA2sが可及的に0になるように、第2駆動源402に対してフィードバック制御がなされる。これにより、ロボット1の振動を抑制することができる。なお、このフィードバック制御では、第2駆動源402の角速度が制御される。以降の動作は、前述した通りである。
図7に示すように、第3駆動源制御部203には、第3駆動源403の位置指令Pcの他、第3角度センサー413、第2慣性センサー32、第3慣性センサー33からそれぞれ検出信号が入力される。第3駆動源制御部203は、第3角度センサー413の検出信号から算出される第3駆動源403の回転角度(位置フィードバック値Pfb)が位置指令Pcになり、かつ、後述する角速度フィードバック値ωfbが後述する角速度指令ωcになるように、各検出信号を用いたフィードバック制御によって第3駆動源403を駆動する。
すなわち、第3駆動源制御部203の減算器513には、位置指令Pcが入力され、また、回転角度算出部553から後述する位置フィードバック値Pfbが入力される。回転角度算出部553では、第3角度センサー413から入力されるパルス数がカウントされるとともに、そのカウント値に応じた第3駆動源403の回転角度が位置フィードバック値Pfbとして減算器513に出力される。減算器513は、これら位置指令Pcと位置フィードバック値Pfbとの偏差(第3駆動源403の回転角度の目標値から位置フィードバック値Pfbを減算した値)を位置制御部523に出力する。
位置制御部523は、減算器513から入力された偏差と、予め定められた係数である比例ゲイン等を用いた所定の演算処理を行うことで、その偏差に応じた第3駆動源403の角速度の目標値を演算する。位置制御部523は、その第3駆動源403の角速度の目標値(指令値)を示す信号を角速度指令(第3角速度指令)ωcとして減算器533に出力する。なお、ここでは、本実施形態では、フィードバック制御として、比例制御(P制御)がなされるが、これに限定されるものではない。
減算器533には、角速度指令ωcが入力され、また、後述する角速度フィードバック値ωfbが入力される。減算器533は、これら角速度指令ωcと角速度フィードバック値ωfbとの偏差(第3駆動源403の角速度の目標値から角速度フィードバック値ωfbを減算した値)を角速度制御部543に出力する。
角速度制御部543は、減算器533から入力された偏差と、予め定められた係数である比例ゲイン、積分ゲイン等を用い、積分を含む所定の演算処理を行うことで、その偏差に応じた第3駆動源403の駆動信号(駆動電流)を生成し、モータードライバー303を介して第3駆動源403のモーターに供給する。なお、ここでは、本実施形態では、フィードバック制御として、PI制御がなされるが、これに限定されるものではない。
このようにして、位置フィードバック値Pfbが位置指令Pcと可及的に等しくなり、かつ、角速度フィードバック値ωfbが角速度指令ωcと可及的に等しくなるように、フィードバック制御がなされ、第3駆動源403の駆動電流が制御される。なお、回転軸O3は、回転軸O1に対して直交しているので、第1アーム12の動作や振動の影響を受けず、第1駆動源401に対して独立して第3駆動源403の作動を制御することができる。
次に、第3駆動源制御部203における角速度フィードバック値ωfbについて説明する。
角速度算出部563では、第3角度センサー413から入力されるパルス信号の周波数に基づいて、第3駆動源403の角速度ωm3が算出され、その角速度ωm3は、加算器603に出力される。
また、角速度算出部563では、第3角度センサー413から入力されるパルス信号の周波数に基づいて、第3アーム14の回転軸O3の回りの角速度ωA3mが算出され、その角速度ωA3mは、加減算器613に出力される。なお、角速度ωA3mは、角速度ωm3を、第3駆動源403のモーター403Mと第3アーム14との間、すなわち、関節173における減速比で除算した値である。
また、第3慣性センサー33により、第3アーム14の回転軸O2の回りの角速度が検出される。そして、その第3慣性センサー33の検出信号、すなわち、第3慣性センサー33により検出された第3アーム14の回転軸O2の回りの角速度ωA3は、加減算器613に出力される。なお、回転軸O2、O3は、それぞれ、回転軸O1に対して直交しているので、第1アーム12の動作や振動の影響を受けずに、容易かつ確実に、第3アーム14の回転軸O2の回りの角速度を求めることができる。
また、前述した第2慣性センサー32の検出信号、すなわち、第2慣性センサー32により検出された第2アーム13の回転軸O2の回りの角速度ωA2は、加減算器613に出力される。
加減算器613には、角速度ωA3、角速度ωA2および角速度ωA3mが入力され、加減算器613は、角速度ωA3から角速度ωA2および角速度ωA3mを減算した値ωA3s(=ωA3−ωA2−ωA3m)を変換部583に出力する。この値ωA3sは、第3アーム14の回転軸O3の回りの角速度の振動成分(振動角速度)に相当する。以下、ωA3sを振動角速度と言う。本実施形態では、この振動角速度ωA3s(詳細には、振動角速度ωA3sに基づいて生成した値であるモーター403Mにおける角速度ωm3s)が後述するゲインKa倍されて第3駆動源403の入力側に戻るフィードバック制御を行う。具体的には、振動角速度ωA3sが可及的に0になるように、第3駆動源403に対してフィードバック制御がなされる。これにより、ロボット1の振動を抑制することができる。なお、このフィードバック制御では、第3駆動源403の角速度が制御される。
変換部583は、振動角速度ωA3sを第3駆動源403における角速度ωm3sに変換し、その角速度ωm3sを補正値算出部593に出力する。この変換は、振動角速度ωA3sに、第3駆動源403のモーター403Mと第3アーム14との間、すなわち、関節173における減速比を乗算することで得ることができる。
補正値算出部593は、角速度ωm3sに予め定められた係数であるゲイン(フィードバックゲイン)Kaを乗算し、補正値(第3補正成分)Ka・ωm3sを求め、その補正値Ka・ωm3sを加算器603に出力する。なお、この第3駆動源制御部203におけるゲインKaと、第1駆動源制御部201におけるゲインKaと、第2駆動源制御部202におけるゲインKaとは、それぞれ、同一でもよく、また、異なっていてもよい。
加算器603には、角速度ωm3が入力され、また、補正値Ka・ωm3sが入力される。加算器603は、角速度ωm3と補正値Ka・ωm3sとの加算値を角速度フィードバック値ωfbとして減算器533に出力する。なお、以降の動作は、前述した通りである。
図8に示すように、第4駆動源制御部204には、第4駆動源404の位置指令Pcの他、第4角度センサー414から検出信号が入力される。第4駆動源制御部204は、第4角度センサー414の検出信号から算出される第4駆動源404の回転角度(位置フィードバック値Pfb)が位置指令Pcになり、かつ、後述する角速度フィードバック値ωfbが後述する角速度指令ωcになるように、各検出信号を用いたフィードバック制御によって第4駆動源404を駆動する。
すなわち、第4駆動源制御部204の減算器514には、位置指令Pcが入力され、また、回転角度算出部554から後述する位置フィードバック値Pfbが入力される。回転角度算出部554では、第4角度センサー414から入力されるパルス数がカウントされるとともに、そのカウント値に応じた第4駆動源404の回転角度が位置フィードバック値Pfbとして減算器514に出力される。減算器514は、これら位置指令Pcと位置フィードバック値Pfbとの偏差(第4駆動源404の回転角度の目標値から位置フィードバック値Pfbを減算した値)を位置制御部524に出力する。
位置制御部524は、減算器514から入力された偏差と、予め定められた係数である比例ゲイン等を用いた所定の演算処理を行うことで、その偏差に応じた第4駆動源404の角速度の目標値を演算する。位置制御部524は、その第4駆動源404の角速度の目標値(指令値)を示す信号を角速度指令ωcとして減算器534に出力する。なお、ここでは、本実施形態では、フィードバック制御として、比例制御(P制御)がなされるが、これに限定されるものではない。
また、角速度算出部564では、第4角度センサー414から入力されるパルス信号の周波数に基づいて、第4駆動源404の角速度が算出され、その角速度が角速度フィードバック値ωfbとして減算器534に出力される。
減算器534には、角速度指令ωcが入力され、また、角速度フィードバック値ωfbが入力される。減算器534は、これら角速度指令ωcと角速度フィードバック値ωfbとの偏差(第4駆動源404の角速度の目標値から角速度フィードバック値ωfbを減算した値)を角速度制御部544に出力する。
角速度制御部544は、減算器534から入力された偏差と、予め定められた係数である比例ゲイン、積分ゲイン等を用い、積分を含む所定の演算処理を行うことで、その偏差に応じた第3駆動源404の駆動信号(駆動電流)を生成し、モータードライバー304を介してモーター404Mに供給する。なお、ここでは、本実施形態では、フィードバック制御として、PI制御がなされるが、これに限定されるものではない。
このようにして、位置フィードバック値Pfbが位置指令Pcと可及的に等しくなり、かつ、角速度フィードバック値ωfbが角速度指令ωcと可及的に等しくなるように、フィードバック制御がなされ、第4駆動源404の駆動電流が制御される。
なお、第5駆動源制御部205および第6駆動源制御部206については、それぞれ、前記第4駆動源制御部204と同様であるので、その説明は省略する。
次に、第2駆動源制御部202の第2駆動源402の制御に使用する慣性センサーの選択の際の動作について説明する。
図11に示すように、第2駆動源制御部202は、まず、第3駆動源制御部203を介して第3角度センサー413により、第3駆動源403の回転角度を検出する(ステップS101)。すなわち、第3駆動源制御部203は、第3角度センサー413から入力されるパルス数をカウントし、そのカウント値に応じた第3駆動源403の回転角度を求め、第2駆動源制御部202は、その第3駆動源403の回転角度の情報を取得する。
次いで、第3駆動源403の回転角度に基づいて、第3アーム14の角度θを求める(ステップS102)。
次いで、第3アーム14の角度θが第1の閾値θ1未満であるか否かを判断し(ステップS103)、第3アーム14の角度θが第1の閾値θ1未満である場合は、使用する慣性センサーとして第2慣性センサー32を選択する(ステップS104)。
また、ステップS103において第3アーム14の角度θが第1の閾値θ1未満でない場合は、第3アーム14の角度θが第1の閾値θ1以上、第2の閾値θ2以下であるか否かを判断し(ステップS105)、第3アーム14の角度θが第1の閾値θ1以上、第2の閾値θ2以下である場合は、使用する慣性センサーとして第3慣性センサー33を選択する(ステップS106)。
また、ステップS105において第3アーム14の角度θが第1の閾値θ1以上、第2の閾値θ2以下でない場合は、第3アーム14の角度θが第2の閾値θ2よりも大きいか否かを判断し(ステップS107)、第3アーム14の角度θが第2の閾値θ2よりも大きい場合は、使用する慣性センサーとして第2慣性センサー32を選択する(ステップS108)。
上記の各ステップは、制御周期毎に実行され、ステップS104、S106、S108の後、再度、ステップS101に戻り、ステップS101以降を実行する。
以上説明したように、このロボット1によれば、容易かつ確実に、ロボット1の振動を抑制することができる。
まず、ロボット1の制御において、膨大な演算が不要であり、これにより、ロボット1の制御における応答速度を速くすることができ、また、制御装置20の構成を簡素化することができる。
また、ロボット1の制御において、特異点の存在する演算が不要であるので、確実に、ロボット1の制御を行うことができ、これにより、確実に振動を抑制することができる。
また、慣性センサー31、32、33は、先端側に比べて共振し難い基端側のアーム12、13、14に設置されているので、慣性センサー31、32、33により、確実に、アーム12、13、14の角速度を検出することができ、確実に振動を抑制することができる。
また、第3アーム14の姿勢に応じて第2駆動源402の制御に使用する慣性センサーを選択することにより、制御を安定させつつ、確実に振動を抑制することができる。
<第2実施形態>
以下、第2実施形態について、前述した第1実施形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
第2実施形態のロボット1では、第2駆動源制御部202は、第3アーム14の角度θに加えて、ロボット1の先端部、すなわち、リスト16の先端部における先端負荷質量を加味して、第2アーム13の振動を抑制するための第2駆動源402の作動の制御に用いる慣性センサーを選択する。すなわち、第2駆動源制御部202は、先端負荷質量を加味して、第2慣性センサー32と第3慣性センサー33とのいずれか一方を選択し、その選択した慣性センサーの検出結果を用いて、第2駆動源402の作動を制御する。
この先端負荷質量とは、最も先端側のアームであるリスト16の先端部に装着されるマニピュレーターと、そのマニピュレーターが把持する対象物との合計の質量である。すなわち、マニピュレーターが対象物を把持しているときは、マニピュレーターと、そのマニピュレーターが把持している対象物との合計の質量であり、マニピュレーターが対象物を把持していないきは、マニピュレーターの質量である。
なお、本実施形態では、マニピュレーターの質量およびマニピュレーターが把持する対象物の質量は、いずれも既知であり、その質量は、それぞれ、予め、制御装置20の図示しない記憶部に記憶される。また、制御装置20は、マニピュレーターが対象物を把持しているか否かを把握している。これにより、制御装置20は、ロボット1の先端負荷質量を常に把握している。なお、マニピュレーターが把持する対象物として、質量の異なるものが複数種ある場合でもよい。
具体的には、本実施形態では、第2駆動源制御部202は、第2駆動源402のフィードバック制御において、先端負荷質量に基づいて、第1の閾値θ1、第2の閾値θ2(θ2>θ1)をそれぞれ調整する。この場合、先端負荷質量が大きいほど、第1の閾値θ1を大きく設定し、第2の閾値θ2を小さく設定する。
その理由は、先端負荷質量が大きいほど、制御が不安定であり、振動が発振し易い。このため、先端負荷質量が大きいほど、第1の閾値θ1を大きく設定し、第2の閾値θ2を小さく設定することにより、第3アーム14がより伸長姿勢に近いときでも使用する慣性センサーとして第2慣性センサー32が選択されるようになり、これにより、ロボット1の発振を防止し、制御を安定させることができる。
換言すれば、先端負荷質量が小さいほど、ロボット1の制御が安定しているため、第1の閾値θ1を小さく設定し、第2の閾値θ2を大きく設定することにより、第3アーム14がより折り畳み姿勢に近いときでも使用する慣性センサーとして第3慣性センサー33が選択されるようになり、これにより、振動を抑制する効果を高めることができる。
次に、具体例を挙げて説明する。
なお、ここでは代表的に、先端負荷質量が、1kgの場合と、3kgの場合と、5kgの場合について説明する。
まず、先端負荷質量が1kgの場合は、第1の閾値θ1は、60°以上、120°以下の範囲内で設定されることが好ましく、1例としては、例えば、90°に設定される。また、第2の閾値θ2は、240°以上、300°以下の範囲内で設定されることが好ましく、1例としては、例えば、270°に設定される。
また、先端負荷質量が3kgの場合は、第1の閾値θ1は、80°以上、140°以下の範囲内で設定されることが好ましく、1例としては、例えば、120°に設定される。また、第2の閾値θ2は、220°以上、280°以下の範囲内で設定されることが好ましく、1例としては、例えば、240°に設定される。
また、先端負荷質量が5kgの場合は、第1の閾値θ1は、90°以上、150°以下の範囲内で設定されることが好ましく、1例としては、例えば、135°に設定される。また、第2の閾値θ2は、210°以上、270°以下の範囲内で設定されることが好ましく、1例としては、例えば、225°に設定される。
このロボット1によれば、前述した第1実施形態と同様の効果が得られる。
そして、このロボット1では、第3アーム14の姿勢および先端負荷質量に応じて使用する慣性センサーを選択することにより、より確実に、制御を安定させつつ、振動を抑制することができる。
<第3実施形態>
図12は、本発明のロボットの第3実施形態を示す概略図である。図13は、図12に示すロボットの概略図である。図14は、図12に示すロボットの主要部のブロック図である。
なお、以下では、説明の都合上、図12中の上側を「上」または「上方」、下側を「下」または「下方」と言う。また、図12、図13中の基台側を「基端」、その反対側を「先端」と言う。また、図12、図13では、慣性センサー31、32は、それぞれ、その存在を明確にするため、アーム12、13の外部に図示されている。
以下、第3実施形態について、前述した第1実施形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
図12および図13に示す第3実施形態のロボット1Bは、スカラーロボットと呼ばれているものである。
このロボット1Bのロボット本体10Bは、基台11と、2本のアーム(リンク)12、13と、シャフト(作業軸)19と、3つの駆動源401、402、407とを備えている。基台11と、第1アーム12と、第2アーム13と、シャフト19とは、基端側から先端側に向ってこの順に連結されている。また、シャフト19は、その下端部(先端部)に、機能部(エンドエフェクター)が着脱自在に装着される取付部191を有している。なお、シャフト19は、アーム(第3アーム)、すなわち、最も先端側のアームとみなすこともできる。
図12および図13に示すように、第1アーム12、第2アーム13、シャフト19は、それぞれ、基台11に対し独立して変位可能に支持されている。
基台11と第1アーム12とは、関節(ジョイント)171を介して連結されている。そして、第1アーム12は、基台11に対し、鉛直方向と平行な第1回転軸O1を回転中心とし、その第1回転軸O1回りに回動自在となっている。第1回転軸O1は、基台11の設置面である床101の上面の法線と一致している。この第1回転軸O1回りの回動は、第1駆動源401の駆動によりなされる。また、第1駆動源401の駆動(作動)は、第1駆動源401とケーブル(図示せず)を介して電気的に接続されたモータードライバー301を介して制御装置20により制御される。
第1アーム12と第2アーム13とは、関節(ジョイント)172を介して連結されている。そして、第2アーム13は、第1アーム12(基台11)に対し、鉛直方向と平行な第2回転軸O2を回転中心とし、その第2回転軸O2回りに回動自在となっている。第2回転軸O2は、第2回転軸O1と平行である。この第2回転軸O2回りの回動は、第2駆動源402の駆動によりなされる。また、第2駆動源402の駆動は、第2駆動源402とケーブル(図示せず)を介して電気的に接続されたモータードライバー302を介して制御装置20により制御される。
シャフト19は、第2アーム13の先端部(基台11と反対側の端部)に連結されている。この場合、シャフト19は、第2アーム13に対して、そのシャフト19の軸線(中心軸)の方向に沿って移動可能に設置されている。また、シャフト19の軸線は、回転軸O1、O2と平行であるが、これに限定されるものではない。また、シャフト19の移動は、第3駆動源407の駆動によりなされる。また、第3駆動源407の駆動は、第3駆動源407とケーブル(図示せず)を介して電気的に接続されたモータードライバー(図示せず)を介して制御装置20により制御される。なお、シャフト19の軸線は、回転軸O1、O2と非平行であってもよい。
なお、第1駆動源401、第2駆動源402と同様に、第3駆動源407には、第3角度センサー(図示せず)が設けられている。第3駆動源407および第3角度センサーは、それぞれ、第2アーム13内に収納されており、制御装置20と電気的に接続されている。
また、第2アーム13内には、第2アーム13に対してシャフト19を移動可能に支持する移動支持機構(図示せず)が設けられている。この移動支持機構は、第3駆動源407の駆動力をシャフト19に伝達し、第2アーム13に対してシャフト19を移動させるものである。
次に、図14を参照し、制御装置20の構成について説明する。
図14に示すように、制御装置20は、第1駆動源401の作動を制御する第1駆動源制御部(第1駆動源制御手段)(第1角速度指令)201と、第2駆動源402の作動を制御する第2駆動源制御部(第2駆動源制御手段)(第2角速度指令)202と、第3駆動源407の作動を制御する第3駆動源制御部(第3駆動源制御手段)(図示せず)203と、を有している。以下、第1駆動源制御部201、第2駆動源制御部202について説明する。
図14に示すように、第1駆動源制御部201は、減算器517と、位置制御部527と、減算器537と、角速度制御部547と、回転角度算出部557と、角速度算出部567と、加減算器627と、変換部587と、補正値算出部597と、加算器607と、切替部637、647とを有している。なお、切替部637は、後述する角速度ωA1と角速度ωA2とのいずれか一方を選択し、加減算器627に出力するものである。また、切替部647は、後述する角速度ωA2mを加減算器627に出力する場合と出力しない場合とを切り替えるものである。なお、この第1駆動源制御部201は、第1実施形態の第2駆動源制御部202と同様である。
第2駆動源制御部202は、減算器518と、位置制御部528と、減算器538と、角速度制御部548と、回転角度算出部558と、角速度算出部568と、加減算器618と、変換部588と、補正値算出部598と、加算器608とを有している。なお、この第2駆動源制御部202は、第1実施形態の第3駆動源制御部203と同様である。
また、ロボット1Bは、第1アーム12を基準として第2アーム13の姿勢を検出する姿勢検出手段として、第1アーム12の軸線(中心軸)121と第2アーム13の軸線(中心軸)131とのなす角θ(以下、単に「第2アーム13の角度θ」、「アーム13の角度θ」、「角度θ」とも言う)(図13参照)を検出する角度検出手段を有している。本実施形態では、この角度検出手段は、第2角度センサー412と、制御装置20とで構成されている。すなわち、制御装置20の第2駆動源制御部202の回転角度算出部558は、第2角度センサー412から入力されるパルス数をカウントし、そのカウント値に応じた第2駆動源402の回転角度を求め、これにより、現在の第2アーム13の角度θを求める。
このロボット1Bでは、第1駆動源制御部201は、後述する第1駆動源401のフィードバック制御において、前記角度検出手段(姿勢検出手段)の検出結果、すなわち、検出された第2アーム13の角度θに基づいて、第1アーム12の振動を抑制するための第1駆動源401の作動の制御に用いる慣性センサーを選択する。すなわち、第1駆動源制御部201は、検出された第2アーム13の角度θに基づいて、第1慣性センサー31と第2慣性センサー32とのいずれか一方を選択し、その選択した慣性センサーの検出結果を用いて、第1駆動源401の作動を制御する。
図14に示すように、第1駆動源制御部201には、第1駆動源401の位置指令Pcの他、第1角度センサー411、第1慣性センサー31からそれぞれ検出信号が入力される。第1駆動源制御部201は、第1角度センサー411の検出信号から算出される第1駆動源401の回転角度(位置フィードバック値Pfb)が位置指令Pcになり、かつ、後述する角速度フィードバック値ωfbが後述する角速度指令ωcになるように、各検出信号を用いたフィードバック制御によって第1駆動源401を駆動する。
すなわち、第1駆動源制御部201の減算器517には、位置指令Pcが入力され、また、回転角度算出部557から後述する位置フィードバック値Pfbが入力される。回転角度算出部557では、第1角度センサー411から入力されるパルス数がカウントされるとともに、そのカウント値に応じた第1駆動源401の回転角度が位置フィードバック値Pfbとして減算器511に出力される。減算器517は、これら位置指令Pcと位置フィードバック値Pfbとの偏差(第1駆動源401の回転角度の目標値から位置フィードバック値Pfbを減算した値)を位置制御部527に出力する。
位置制御部527は、減算器517から入力された偏差と、予め定められた係数である比例ゲイン等を用いた所定の演算処理を行うことで、その偏差に応じた第1駆動源401の角速度の目標値を演算する。位置制御部527は、その第1駆動源401の角速度の目標値(指令値)を示す信号を角速度指令(第1角速度指令)ωcとして減算器537に出力する。なお、ここでは、本実施形態では、フィードバック制御として、比例制御(P制御)がなされるが、これに限定されるものではない。
減算器537には、角速度指令ωcが入力され、また、後述する角速度フィードバック値ωfbが入力される。減算器537は、これら角速度指令ωcと角速度フィードバック値ωfbとの偏差(第1駆動源401の角速度の目標値から角速度フィードバック値ωfbを減算した値)を角速度制御部547に出力する。
角速度制御部547は、減算器537から入力された偏差と、予め定められた係数である比例ゲイン、積分ゲイン等を用い、積分を含む所定の演算処理を行うことで、その偏差に応じた第1駆動源401の駆動信号(駆動電流)を生成し、モータードライバー301を介してモーター401Mに供給する。なお、ここでは、本実施形態では、フィードバック制御として、PI制御がなされるが、これに限定されるものではない。
このようにして、位置フィードバック値Pfbが位置指令Pcと可及的に等しくなり、かつ、角速度フィードバック値ωfbが角速度指令ωcと可及的に等しくなるように、フィードバック制御がなされ、第1駆動源401の駆動電流が制御される。
次に、第1駆動源制御部201における角速度フィードバック値ωfbについて説明する。
まず、第1駆動源制御部201は、第2アーム13の角度θに応じて、加減算器627に、後述する角速度ωA2、角速度ωA1mおよび角速度ωA2mが入力されるように切替部637、647を切り替える場合と、後述する角速度ωA1および角速度ωA1mが入力されるように切替部637、647を切り替える場合とを選択する。
すなわち、角度θが第1の閾値θ1以上、第1の閾値θ1よりも大きい第2の閾値θ2以下の場合は、第2アーム13が第1アーム12に対して伸びた状態または少し曲がった状態(以下、単に「伸長状態」、「伸長姿勢」とも言う)であり、この場合は、第1駆動源制御部201は、使用する慣性センサーとして第2慣性センサー32を選択する。そして、第1駆動源制御部201は、加減算器627に角速度ωA2、角速度ωA1mおよび角速度ωA2mが入力されるように、切替部637、647を切り替える。なお、第1の閾値θ1は、第1実施形態と同様である。
また、角度θが第1の閾値θ1未満または第2の閾値θ2よりも大きい場合は、第2アーム13が第1アーム12に対して大きく曲がった状態(以下、単に「折り畳み状態」、「折り畳み姿勢」とも言う)であり、この場合は、第1駆動源制御部201は、使用する慣性センサーとして第1慣性センサー31を選択する。そして、第1駆動源制御部201は、加減算器627に角速度ωA1および角速度ωA1mが入力されるように、切替部637、647を切り替える。なお、第2の閾値θ2は、第1実施形態と同様である。
これにより、振動を抑制する効果を高めることと、制御の安定性との両立を図ることができる。
まずは、第1アーム12の角度θが第1の閾値θ1未満または第2の閾値θ2よりも大きい場合について説明する。
この場合は、角速度算出部567では、第1角度センサー411から入力されるパルス信号の周波数に基づいて、第1駆動源401の角速度ωm1が算出され、その角速度ωm1は、加算器607に出力される。
また、角速度算出部567では、第1角度センサー411から入力されるパルス信号の周波数に基づいて、第1アーム12の回転軸O1の回りの角速度ωA1mが算出され、その角速度ωA1mは、加減算器627に出力される。なお、角速度ωA1mは、角速度ωm1を、第1駆動源401のモーター401Mと第1アーム12との間、すなわち、関節171における減速比で除算した値である。
また、第1慣性センサー31により、第1アーム12の回転軸O1の回りの角速度が検出される。そして、その第1慣性センサー31の検出信号、すなわち、第1慣性センサー31により検出された第1アーム12の回転軸O1の回りの角速度ωA1は、加減算器627に出力される。
加減算器627には、角速度ωA1および角速度ωA1mが入力され、加減算器627は、この角速度ωA1から角速度ωA1mを減算した値ωA1s(=ωA1−ωA1m)を変換部587に出力する。この値ωA1sは、第1アーム12の回転軸O1の回りの角速度の振動成分(振動角速度)に相当する。以下、ωA1sを振動角速度と言う。本実施形態では、この振動角速度ωA1s(詳細には、振動角速度ωA1
sに基づいて生成した値であるモーター401Mにおける角速度ωm1s)が後述するゲインKa倍されて第1駆動源401の入力側に戻るフィードバック制御を行う。具体的には、振動角速度ωA1sが可及的に0になるように、第1駆動源401に対してフィードバック制御がなされる。これにより、ロボット1の振動を抑制することができる。なお、このフィードバック制御では、第1駆動源401の角速度が制御される。
変換部587は、振動角速度ωA1sを第1駆動源401における角速度ωm1sに変換し、その角速度ωm1sを補正値算出部597に出力する。この変換は、振動角速度ωA1sに、第1駆動源401のモーター401Mと第1アーム12との間、すなわち、関節171における減速比を乗算することで得ることができる。
補正値算出部597は、角速度ωm1sに予め定められた係数であるゲイン(フィードバックゲイン)Kaを乗算し、補正値(第2B補正成分)Ka・ωm1sを求め、その補正値Ka・ωm1sを加算器607に出力する。
加算器607には、角速度ωm1が入力され、また、補正値Ka・ωm1sが入力される。加算器607は、角速度ωm1と補正値Ka・ωm1sとの加算値を角速度フィードバック値ωfbとして減算器537に出力する。なお、以降の動作は、前述した通りである。
次に、第2アーム13の角度θが第1の閾値θ1以上、第2の閾値θ2未満の場合について説明する。
この場合は、角速度算出部567では、第1角度センサー411から入力されるパルス信号の周波数に基づいて、第1駆動源401の角速度ωm1が算出され、その角速度ωm1は、加算器607に出力される。
また、角速度算出部567では、第1角度センサー411から入力されるパルス信号の周波数に基づいて、第1アーム12の回転軸O1の回りの角速度ωA1mが算出され、その角速度ωA1mは、加減算器627に出力される。なお、角速度ωA1mは、角速度ωm1を、第1駆動源401のモーター401Mと第1アーム12との間、すなわち、関節171における減速比で除算した値である。
また、第2駆動源制御部202の角速度算出部568では、第2角度センサー412から入力されるパルス信号の周波数に基づいて、第2アーム13の回転軸O2の回りの角速度ωA2mが算出され、その角速度ωA2mは、加減算器627に出力される。なお、角速度ωA2mは、第2角度センサー412から入力されるパルス信号の周波数に基づいて算出された第2駆動源402の角速度ωm2を、第2駆動源402のモーター402Mと第2アーム13との間、すなわち、関節172における減速比で除算した値である。
また、第2慣性センサー32により、第2アーム13の回転軸O1の回りの角速度が検出される。そして、その第2慣性センサー32の検出信号、すなわち、第2慣性センサー32により検出された第2アーム13の回転軸O1の回りの角速度ωA2は、加減算器627に出力される。
加減算器627には、角速度ωA2、角速度ωA1mおよび角速度ωA2mが入力され、加減算器627は、角速度ωA2から角速度ωA1mおよび角速度ωA2mを減算した値ωA1s(=ωA2−ωA1m−ωA2m)を変換部587に出力する。この値ωA1sは、第1アーム12と第2アーム13の回転軸O1の回りの合計の角速度の振動成分(振動角速度)に相当する。以下、ωA1sを振動角速度と言う。本実施形態では、この振動角速度ωA1s(詳細には、振動角速度ωA1sに基づいて生成した値である第1駆動源401における角速度ωm1s)がゲインKa倍され、第1A補正成分として第1駆動源401の入力側に戻るフィードバック制御を行う。具体的には、振動角速度ωA1sが可及的に0になるように、第1駆動源401に対してフィードバック制御がなされる。これにより、ロボット1の振動を抑制することができる。なお、このフィードバック制御では、第1駆動源401の角速度が制御される。以降の動作は、前述した通りである。
第2駆動源制御部202には、第2駆動源402の位置指令Pcの他、第2角度センサー412、第1慣性センサー31、第2慣性センサー32からそれぞれ検出信号が入力される。第2駆動源制御部202は、第2角度センサー412の検出信号から算出される第2駆動源402の回転角度(位置フィードバック値Pfb)が位置指令Pcになり、かつ、後述する角速度フィードバック値ωfbが後述する角速度指令ωcになるように、各検出信号を用いたフィードバック制御によって第2駆動源402を駆動する。
すなわち、第2駆動源制御部202の減算器518には、位置指令Pcが入力され、また、回転角度算出部558から後述する位置フィードバック値Pfbが入力される。回転角度算出部558では、第2角度センサー412から入力されるパルス数がカウントされるとともに、そのカウント値に応じた第2駆動源402の回転角度が位置フィードバック値Pfbとして減算器518に出力される。減算器518は、これら位置指令Pcと位置フィードバック値Pfbとの偏差(第2駆動源402の回転角度の目標値から位置フィードバック値Pfbを減算した値)を位置制御部528に出力する。
位置制御部528は、減算器518から入力された偏差と、予め定められた係数である比例ゲイン等を用いた所定の演算処理を行うことで、その偏差に応じた第2駆動源402の角速度の目標値を演算する。位置制御部528は、その第2駆動源402の角速度の目標値(指令値)を示す信号を角速度指令(第3角速度指令)ωcとして減算器538に出力する。なお、ここでは、本実施形態では、フィードバック制御として、比例制御(P制御)がなされるが、これに限定されるものではない。
減算器538には、角速度指令ωcが入力され、また、後述する角速度フィードバック値ωfbが入力される。減算器538は、これら角速度指令ωcと角速度フィードバック値ωfbとの偏差(第2駆動源402の角速度の目標値から角速度フィードバック値ωfbを減算した値)を角速度制御部548に出力する。
角速度制御部548は、減算器538から入力された偏差と、予め定められた係数である比例ゲイン、積分ゲイン等を用い、積分を含む所定の演算処理を行うことで、その偏差に応じた第2駆動源402の駆動信号(駆動電流)を生成し、モータードライバー302を介して第2駆動源402のモーターに供給する。なお、ここでは、本実施形態では、フィードバック制御として、PI制御がなされるが、これに限定されるものではない。
このようにして、位置フィードバック値Pfbが位置指令Pcと可及的に等しくなり、かつ、角速度フィードバック値ωfbが角速度指令ωcと可及的に等しくなるように、フィードバック制御がなされ、第2駆動源402の駆動電流が制御される。
次に、第2駆動源制御部202における角速度フィードバック値ωfbについて説明する。
角速度算出部568では、第2角度センサー412から入力されるパルス信号の周波数に基づいて、第2駆動源402の角速度ωm2が算出され、その角速度ωm2は、加算器608に出力される。
また、角速度算出部568では、第2角度センサー412から入力されるパルス信号の周波数に基づいて、第2アーム13の回転軸O2の回りの角速度ωA2mが算出され、その角速度ωA2mは、加減算器618に出力される。なお、角速度ωA2mは、角速度ωm2を、第2駆動源402のモーター402Mと第2アーム13との間、すなわち、関節172における減速比で除算した値である。
また、第2慣性センサー32により、第2アーム13の回転軸O2の回りの角速度が検出される。そして、その第2慣性センサー32の検出信号、すなわち、第2慣性センサー32により検出された第2アーム13の回転軸O1の回りの角速度ωA2は、加減算器618に出力される。
また、前述した第1慣性センサー31の検出信号、すなわち、第1慣性センサー31により検出された第1アーム12回転軸O1の回りの角速度ωA1は、加減算器618に出力される。
加減算器618には、角速度ωA2、角速度ωA1および角速度ωA2mが入力され、加減算器618は、角速度ωA2から角速度ωA1および角速度ωA2mを減算した値ωA2s(=ωA2−ωA1−ωA2m)を変換部588に出力する。この値ωA2sは、第2アーム13の回転軸O2の回りの角速度の振動成分(振動角速度)に相当する。以下、ωA2sを振動角速度と言う。本実施形態では、この振動角速度ωA2s(詳細には、振動角速度ωA2sに基づいて生成した値であるモーター402Mにおける角速度ωm2s)が後述するゲインKa倍されて第2駆動源402の入力側に戻るフィードバック制御を行う。具体的には、振動角速度ωA2sが可及的に0になるように、第2駆動源402に対してフィードバック制御がなされる。これにより、ロボット1の振動を抑制することができる。なお、このフィードバック制御では、第2駆動源402の角速度が制御される。
変換部588は、振動角速度ωA2sを第2駆動源402における角速度ωm2sに変換し、その角速度ωm2sを補正値算出部598に出力する。この変換は、振動角速度ωA2sに、第2駆動源402のモーター402Mと第2アーム13との間、すなわち、関節172における減速比を乗算することで得ることができる。
補正値算出部598は、角速度ωm2sに予め定められた係数であるゲイン(フィードバックゲイン)Kaを乗算し、補正値(第2補正成分)Ka・ωm2sを求め、その補正値Ka・ωm2sを加算器608に出力する。なお、この第2駆動源制御部202におけるゲインKaと、第1駆動源制御部201におけるゲインKaとは、同一でもよく、また、異なっていてもよい。
加算器608には、角速度ωm2が入力され、また、補正値Ka・ωm2sが入力される。加算器608は、角速度ωm2と補正値Ka・ωm2sとの加算値を角速度フィードバック値ωfbとして減算器538に出力する。以降の動作は、前述した通りである。
このロボット1Bによれば、前述した第1実施形態と同様の効果が得られる。
<第4実施形態>
以下、第4実施形態について、前述した第2、第3実施形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
第4実施形態のロボット1では、第1駆動源制御部201は、第2アーム13の角度θに加えて、ロボット1の先端部、すなわち、シャフト19の取付部191の下端部(先端部)における先端負荷質量を加味して、アーム12の振動を抑制するための第1駆動源401の作動の制御に用いる慣性センサーを選択する。すなわち、第1駆動源制御部201は、先端負荷質量を加味して、第1慣性センサー31と第2慣性センサー32とのいずれか一方を選択し、その選択した慣性センサーの検出結果を用いて、第1駆動源401の作動を制御する。
具体的には、本実施形態では、第1駆動源制御部201は、第1駆動源401のフィードバック制御において、先端負荷質量に基づいて、第1の閾値θ1、第2の閾値θ2(θ2>θ1)をそれぞれ調整する。この場合、先端負荷質量が大きいほど、第1の閾値θ1を大きく設定し、第2の閾値θ2を小さく設定する。
なお、先端負荷質量とは、第2実施形態と同様、シャフト19の取付部191に装着される機能部(エンドエフェクタ)と、その機能部が把持する対象物との合計の質量である。
このロボット1によれば、前述した第2、第3実施形態と同様の効果が得られる。
以上、本発明のロボットを、図示の実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物が付加されていてもよい。
また、本発明は、前記各実施形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、各駆動源のモーターとしては、それぞれ、前記サーボモーターの他、例えば、ステッピングモーター等が挙げられる。
また、前記実施形態では、各角度センサーとして、それぞれ、エンコーダーを用いているが、本発明では、これに限定されず、例えば、レゾルバー、ポテンショメーター等、モーターのローターの回転角度を検出する他の各種のセンサーを用いてもよく、また、タコジェネレーター等、モーターのローターの回転速度を検出する各種のセンサーを用いてもよい。なお、モーターとしてステッピングモーターを用いる場合は、例えば、ステッピングモーターへ入力する駆動パルスの数を計測することで、モーターのローターの回転角度や回転速度を検出してもよい。
また、前記実施形態では、各慣性センサーとして、それぞれ、ジャイロセンサーを用いているが、本発明では、これに限定されず、例えば、アームの角速度を検出する他の各種の角速度センサーを用いてもよく、また、アームの加速度を検出する各種の加速度センサーを用いてもよい。なお、加速度センサーを用いる場合は、加速度センサーの検出値を用いて角速度を算出する。
また、各角度センサー、各慣性センサーの方式は、それぞれ、特に限定されず、例えば、光学式、磁気式、電磁式、電気式等が挙げられる。
また、前記実施形態では、ロボットの回転軸の数は、2つまたは6つであるが、本発明では、これに限定されず、ロボットの回転軸の数は、3つ、4つ、5つまたは7つ以上でもよい。
すなわち、前記第1実施形態では、リストが2本のアームを有しているので、ロボットのアームの本数は、6本であるが、本発明では、これに限定されず、ロボットのアームの本数は、2本、3本、4本、5本または7本以上でもよい。
同様に、前記第2実施形態では、ロボットのアームの本数は、2本であるが、本発明では、これに限定されず、ロボットのアームの本数は、3本以上でもよい。
また、前記実施形態では、ロボットは、複数のアームを回動自在に連結してなるアーム連結体を1つ有する単腕ロボットであるが、本発明では、これに限定されず、例えば、図15に示すように、複数のアームを回動自在に連結してなるアーム連結体18を2つ有する双腕ロボット1A等、前記アーム連結体を複数有するロボットであってもよい。
また、前記実施形態では、リストに、機能部(エンドエフェクタ)として、マニピュレーターが着脱自在に装着されるようになっているが、本発明では、これに限定されず、機能部としては、その他、例えば、ドリル、溶接機、レーザー照射機等が挙げられる。
また、前記実施形態では、姿勢検出手段として、現在の第1アームの軸線と第2アームの軸線とのなす角θを検出する角度検出手段、現在の第2アームの軸線と第3アームの軸線とのなす角θを検出する角度検出手段を用いたが、本発明では、これに限定されない。姿勢検出手段としては、その他、例えば、駆動源の回転角度の目標値(指令値)を取得する手段を含むもの等が挙げられる。この姿勢検出手段は、例えば、次の制御周期における駆動源の回転角度の目標値と、現在の角度θとに基づいて、次の制御周期における角度θを求めるものである。この場合は、次の制御周期における角度θに基づいて、使用する慣性センサーを選択する。
また、例えば、アームの先端部の現在の位置、次の制御周期におけるアームの先端部の位置の指令値、ロボットの最も先端側のアームであるリストの先端部の現在の位置、次の制御周期におけるリストの先端部の位置の指令値、シャフトの下端部(先端部)の現在の位置、次の制御周期におけるシャフトの下端部(先端部)の位置の指令値等に基づいて、使用する慣性センサーを選択する。
1、1A、1B……ロボット(産業用ロボット) 10、10B……ロボット本体 11……基台 12、13、14、15……アーム(リンク) 16……リスト(リンク) 101……床 111……ボルト 112……基台本体 113……円筒状部 114……箱状部 121、131、141……軸線 161……リスト本体 162……支持リング 163……先端面 171、172、173、174、175、176……関節(ジョイント) 18……アーム連結体 19……シャフト 191……取付部 2、2a、2b、2c、2d……アーム本体 3、3a、3b、3c、3d……駆動機構 31、32、33……慣性センサー 4、4a、4b、4c、4d……封止手段 20……制御装置 201〜206……駆動源制御部 301、302、303、304、305、306……モータードライバー 401、402、403、404、405、406、407……駆動源 401M、402M、403M、404M、405M、406M……モーター 411、412、413、414、415、416……角度センサー 511、512、513、514、515、516、517、518……減算器 521、522、523、524、525、526、527、528……位置制御部 531、532、533、534、535、536、537、538……減算器 541、542、543、544、545、546、547、548……角速度制御部 551、552、553、554、555、556、557、558……回転角度算出部 561、562、563、564、565、566、567、568……角速度算出部 571……減算器 581、582、583、587、588……変換部 591、592、593、597、598……補正値算出部 601、602、603、607、608……加算器 613、618、622、627……加減算器 632、637、642、647……切替部 O1、O2、O3、O4、O5、O6……回転軸 S101〜S108……ステップ

Claims (8)

  1. 第1回転軸を軸中心として回動する第1アームと、前記第1回転軸とは異なる方向の第2回転軸を軸中心として回動する第2アームと、前記第2回転軸とは平行な方向の第3回転軸を軸中心として回動する第3アームと、を含むアーム連結体と、
    前記第2アームを回動させる第2駆動源と、
    前記アーム連結体に設けられた複数の慣性センサーと、を備え、
    前記複数の慣性センサーは、前記第2アームに設置された第2慣性センサーと、前記第3アームに設置された第3慣性センサーと、を含み、
    前記第2駆動源は、前記アーム連結体の姿勢に基づいて、前記第2慣性センサーからの出力または前記第3慣性センサーからの出力を用いて制御されることを特徴とするロボット。
  2. 前記第2駆動源は、前記第2アームを基準として第3アームの姿勢に基づいて、前記第2慣性センサーからの出力または前記第3慣性センサーからの出力を用いて制御されることを特徴とする請求項に記載のロボット。
  3. 前記第2駆動源は、前記第2アームの軸線と前記第3アームの軸線とのなす角θが第1の閾値以上、前記第1の閾値よりも大きい第2の閾値以下では、前記第3慣性センサーからの出力を用いて制御され、前記角θが前記第2の閾値よりも大きいまたは前記第1の閾値未満では、前記第2慣性センサーからの出力を用いて制御されることを特徴とする請求項に記載のロボット。
  4. 前記第1アームを回動させる第1駆動源を備え、
    前記複数の慣性センサーは、前記第1アームに設置された第1慣性センサーを含み、
    前記第1駆動源は、記第1慣性センサーからの出力を用いて制御されることを特徴とする請求項ないしのいずれか一項に記載のロボット。
  5. 前記第1の閾値は、60°以上、150°以下の範囲内とし、前記第2の閾値は、210°以上、300°以下の範囲内とする請求項に記載のロボット。
  6. 前記第2駆動源は、前記アーム連結体に設けられるエンドエフェクタの質量または前記エンドエフェクタと前記エンドエフェクタが把持する物との質量に基づいて、前記第2慣性センサーからの出力または前記第3慣性センサーからの出力を用いて制御されることを特徴とする請求項ないしのいずれか一項に記載のロボット。
  7. 前記第3アームを回動させる第3駆動源を備え、
    前記第3駆動源は、前記第2慣性センサーからの出力および前記第3慣性センサーからの出力を用いて制御されることを特徴とする請求項ないしのいずれか一項に記載のロボット。
  8. 複数の慣性センサーは、ジャイロセンサーであることを特徴とする請求項1ないしのいずれか一項に記載のロボット。
JP2012191452A 2012-08-31 2012-08-31 ロボット Active JP5962340B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012191452A JP5962340B2 (ja) 2012-08-31 2012-08-31 ロボット
US14/013,356 US9044861B2 (en) 2012-08-31 2013-08-29 Robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012191452A JP5962340B2 (ja) 2012-08-31 2012-08-31 ロボット

Publications (3)

Publication Number Publication Date
JP2014046404A JP2014046404A (ja) 2014-03-17
JP2014046404A5 JP2014046404A5 (ja) 2015-08-20
JP5962340B2 true JP5962340B2 (ja) 2016-08-03

Family

ID=50188561

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012191452A Active JP5962340B2 (ja) 2012-08-31 2012-08-31 ロボット

Country Status (2)

Country Link
US (1) US9044861B2 (ja)
JP (1) JP5962340B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013175553A1 (ja) * 2012-05-21 2013-11-28 株式会社安川電機 ロボット
JP6332899B2 (ja) * 2012-08-31 2018-05-30 セイコーエプソン株式会社 ロボット
JP6111563B2 (ja) * 2012-08-31 2017-04-12 セイコーエプソン株式会社 ロボット
US9568075B2 (en) 2013-10-28 2017-02-14 Seiko Epson Corporation Robot, robot control device, and robot system
JP6255901B2 (ja) 2013-10-30 2018-01-10 セイコーエプソン株式会社 ロボット制御装置、ロボットおよびロボットシステム
CN104669244A (zh) 2013-12-02 2015-06-03 精工爱普生株式会社 机器人
US10201901B2 (en) * 2015-01-29 2019-02-12 Canon Kabushiki Kaisha Robot apparatus, method for controlling robot, program, and recording medium
CN107407939B (zh) * 2015-03-12 2020-08-14 株式会社村田制作所 球平衡机器人
JP2017087301A (ja) * 2015-11-02 2017-05-25 セイコーエプソン株式会社 ロボット、制御装置およびロボットシステム
US10405440B2 (en) 2017-04-10 2019-09-03 Romello Burdoucci System and method for interactive protection of a mobile electronic device
JP2019051578A (ja) * 2017-09-19 2019-04-04 セイコーエプソン株式会社 ロボット、ロボットシステム、及びロボット制御装置
JP2019063877A (ja) 2017-09-28 2019-04-25 ファナック株式会社 ロボット
JP7143633B2 (ja) * 2018-05-28 2022-09-29 セイコーエプソン株式会社 ロボットシステム、制御装置および制御方法
JP7358744B2 (ja) * 2019-02-22 2023-10-11 セイコーエプソン株式会社 ロボットシステム、制御装置、および制御方法
CN110779554B (zh) * 2019-12-05 2024-06-04 上海钛米机器人科技有限公司 一种机械臂、基于imu的初始位姿的校准系统与方法
AT524080B1 (de) * 2020-08-06 2024-06-15 Hrach Thomas Vorrichtung und Verfahren zum Erfassen von Geschwindigkeiten von Armsegmenten eines Roboters
CN114986488B (zh) * 2022-07-18 2023-05-05 佛山市科华智缝设备有限公司 一种面料插针抓取机械手

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0799486B2 (ja) * 1984-04-27 1995-10-25 松下電器産業株式会社 角加速度制御方法
US4973215A (en) * 1986-02-18 1990-11-27 Robotics Research Corporation Industrial robot with servo
US5737500A (en) * 1992-03-11 1998-04-07 California Institute Of Technology Mobile dexterous siren degree of freedom robot arm with real-time control system
JP3207728B2 (ja) * 1995-10-11 2001-09-10 三菱重工業株式会社 冗長マニピュレータの制御方法
US5789890A (en) * 1996-03-22 1998-08-04 Genmark Automation Robot having multiple degrees of freedom
US6121743A (en) * 1996-03-22 2000-09-19 Genmark Automation, Inc. Dual robotic arm end effectors having independent yaw motion
JP3442941B2 (ja) * 1996-09-30 2003-09-02 株式会社東芝 ロボットの振動抑制制御装置およびその制御方法
US5811951A (en) * 1996-10-14 1998-09-22 Regents Of The University Of California High precision redundant robotic manipulator
US6023645A (en) * 1997-05-15 2000-02-08 Mitsubishi Denki Kabushiki Kaisha Trajectory control apparatus and trajectory control method for intra-planar multifreedom SCARA type of robot, and computer-readable recording medium with trajectory control program for intra-planar multifreedom SCARA type of robot stored therein
CA2522097C (en) * 2003-04-28 2012-09-25 Stephen James Crampton Cmm arm with exoskeleton
JP3883544B2 (ja) 2004-02-27 2007-02-21 株式会社東芝 ロボット制御装置およびロボットの制御方法
WO2006022201A1 (ja) 2004-08-25 2006-03-02 Kabushiki Kaisha Yaskawa Denki ロボットの評価システム及び評価方法
JP4595727B2 (ja) * 2005-07-22 2010-12-08 ソニー株式会社 外力推定システム及び外力推定方法、並びにコンピュータ・プログラム
JP2010284725A (ja) * 2009-06-09 2010-12-24 Seiko Epson Corp ロボット装置、搬送装置および慣性センサーを用いた制御方法
JP4957753B2 (ja) * 2009-06-15 2012-06-20 セイコーエプソン株式会社 ロボット、搬送装置、及び慣性センサーを用いた制御方法
JP5549129B2 (ja) * 2009-07-06 2014-07-16 セイコーエプソン株式会社 位置制御方法、ロボット
JP2011020188A (ja) * 2009-07-14 2011-02-03 Seiko Epson Corp ロボット装置およびロボット装置の制御方法
JP5331614B2 (ja) 2009-08-24 2013-10-30 川崎重工業株式会社 自動作業システムにおけるロボットの診断方法及び診断プログラム
JP2011119556A (ja) * 2009-12-07 2011-06-16 Yaskawa Electric Corp 水平多関節ロボットおよびそれを備えた搬送装置
JP5645423B2 (ja) * 2010-02-23 2014-12-24 キヤノン株式会社 回転駆動装置及びロボットアーム
JP5685842B2 (ja) * 2010-07-12 2015-03-18 セイコーエプソン株式会社 ロボット装置およびロボット装置の制御方法
JP5652042B2 (ja) * 2010-08-06 2015-01-14 セイコーエプソン株式会社 ロボット装置、ロボット装置の制御方法およびプログラム
WO2012106375A1 (en) * 2011-01-31 2012-08-09 Robotex Inc. Robotic arm system
JP5817142B2 (ja) 2011-02-22 2015-11-18 セイコーエプソン株式会社 水平多関節ロボット
JP5821210B2 (ja) 2011-02-22 2015-11-24 セイコーエプソン株式会社 水平多関節ロボット及び水平多関節ロボットの制御方法
JP2012232370A (ja) * 2011-04-28 2012-11-29 Seiko Epson Corp ロボットコントローラー、簡易設置型ロボット、及び簡易設置型ロボットの制御方法
JP2014034101A (ja) * 2012-08-10 2014-02-24 Toshiba Corp ロボット制御装置
JP2014233774A (ja) * 2013-05-31 2014-12-15 株式会社荏原製作所 ロボットアーム制御装置、基板搬送装置、基板処理装置、ロボットアーム制御方法およびプログラム

Also Published As

Publication number Publication date
JP2014046404A (ja) 2014-03-17
US20140067119A1 (en) 2014-03-06
US9044861B2 (en) 2015-06-02

Similar Documents

Publication Publication Date Title
JP5962340B2 (ja) ロボット
JP6111562B2 (ja) ロボット
JP6332899B2 (ja) ロボット
JP6111563B2 (ja) ロボット
JP6008121B2 (ja) ロボットおよびロボット制御装置
JP6575200B2 (ja) ロボット、制御装置およびロボットシステム
JP6332900B2 (ja) ロボットシステム及びロボット制御装置
JP2014205198A (ja) ロボット、ロボット制御装置およびロボットシステム
JP2015182143A (ja) ロボットおよびロボットシステム
JP2014188640A (ja) ロボットおよびロボット制御方法
JP6036476B2 (ja) ロボット
JP2017056558A (ja) ロボット
JP2014050935A (ja) ロボット制御装置、ロボットおよびロボットシステム
JP2014124734A (ja) ロボットおよび動作軌道制御システム
JP2015085483A (ja) ロボット、制御装置、及びロボットシステム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150706

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160513

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160613

R150 Certificate of patent or registration of utility model

Ref document number: 5962340

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150