JP6007636B2 - ロボット制御システム及びロボット制御装置 - Google Patents

ロボット制御システム及びロボット制御装置 Download PDF

Info

Publication number
JP6007636B2
JP6007636B2 JP2012161732A JP2012161732A JP6007636B2 JP 6007636 B2 JP6007636 B2 JP 6007636B2 JP 2012161732 A JP2012161732 A JP 2012161732A JP 2012161732 A JP2012161732 A JP 2012161732A JP 6007636 B2 JP6007636 B2 JP 6007636B2
Authority
JP
Japan
Prior art keywords
force
value
force sensor
unit
robot
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
JP2012161732A
Other languages
English (en)
Other versions
JP2014018931A5 (ja
JP2014018931A (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 JP2012161732A priority Critical patent/JP6007636B2/ja
Priority to US13/938,350 priority patent/US9149930B2/en
Priority to CN201310291087.8A priority patent/CN103568011B/zh
Priority to TW102125431A priority patent/TW201404560A/zh
Priority to EP13177026.5A priority patent/EP2687341B1/en
Priority to KR1020130085280A priority patent/KR20140011984A/ko
Publication of JP2014018931A publication Critical patent/JP2014018931A/ja
Publication of JP2014018931A5 publication Critical patent/JP2014018931A5/ja
Priority to US14/845,860 priority patent/US20150375392A1/en
Application granted granted Critical
Publication of JP6007636B2 publication Critical patent/JP6007636B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39194Compensation gravity
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39343Force based impedance control
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/405866-DOF force sensor
    • 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/46Sensing device

Description

本発明は、ロボット制御システム及びロボット制御装置等に関する。
ロボットなどを用いた作業において、位置のみの制御ではなく、力を制御しながら特定の動作をさせたいということがある。力制御は、例えば柔らかい物、脆い物を破壊せずに取り扱う場合や、複雑な形状を持つ物体表面を一定の力でなぞる場合等に用いることができる。これらの力制御を行うためには、力覚センサーを用いて力を検出し、その力の大きさや方向を制御ループの中に組み込んだ処理が必要となる。
しかし力覚センサーは、検出したい外力に加え、それに取り付けられた手先構造物の影響による力、及び手先が掴んだツールやワークによる力なども検出してしまう。これらの力は一定値ではなく、種々の条件により変化する。そのため、検出したい外力と手先構造物の影響による力、及び手先が掴んだツールやワークによる力を分離することは困難である。
これに対して、特許文献1では上記手先構造物の重量と、その回転によるジャイロ効果を補正する技術が開示されている。特許文献1は、ロボットを用いて、穴開け、バリ取り、研削、研磨作業のような回転体を取り扱う作業を想定したものである。具体的には、センサー座標系におけるツール重心、回転体重心、接触点の位置を既知情報とし、アーム姿勢により変化するモーメント、および回転体により発生するジャイロ効果を補正し、実質的な外力を検知するものである。
また、特許文献2では、特許文献1に加えて遠心力などの効果を補正する技術が開示されている。特許文献2は、アームの運動による遠心力を補正するものであり、補正処理はツールの質量、重心位置、アームの位置、速度、加速度検出部、及び動力学項、重力算出部を用いて実現される。
また、特許文献3では、特許文献1、2のような細かな外力補正ではなく、単に鉛直方向の外力を推定することにより、物体を把持、解放する技術が開示されている。特許文献3は、手先で検知される力を、ハンド座標系からロボットのベース座標系へ変換し、それにより把持制御を行うものである。
特開平6−339885号公報 特開2008−142810号公報 特開2007−276112号公報
特許文献1〜3の手法は、機械機構(手先構造物、場合によっては当該手先構造物により把持されるツール等を含む)の物理モデル(例えば、重量分布等)が既知であることを前提としている。そのため、機械機構の物理モデルが未知である場合や、状況に応じて物理モデルが変化する場合等には、当該機械機構による力覚値(力覚センサーの検出値)への影響を適切に補正することが困難である。
本発明の幾つかの態様によれば、既知の物理モデルを機械機構に適用することが困難な場合に、当該機械機構による力覚センサーへの影響を適切に補正する制御システム、プログラム及び機械装置の制御方法等を提供することができる。
本発明の一態様は、機械機構と、N(Nは2以上の整数)個の3軸力覚センサーユニットを有し、N個の前記3軸力覚センサーユニットの各3軸力覚センサーユニットから、前記機械機構に起因する値が付加されたユニット出力値を取得し、前記ユニット出力値に基づく力覚値を出力する力覚センサーと、前記力覚センサーが出力した前記力覚値に基づいて、前記力覚値を補正する力覚値補正部と、前記力覚値補正部において補正された前記力覚値に基づいて、前記機械機構を含む機械装置の制御を行う制御部と、を含む制御システムに関係する。
本発明の一態様では、力覚センサーはN個の3軸力覚センサーユニットを有し、各ユニットから出力されるユニット出力値に基づく力覚値に基づいて補正処理を行う。ここではNを2以上としているため、力覚センサーからは通常の6軸力覚センサーと同等或いはそれ以上の量の情報が出力されることになり、6軸力覚センサーの力覚値を用いた補正処理と比べた場合に精度の向上等が可能になる。
また、本発明の一態様では、前記力覚センサーは、N個の前記3軸力覚センサーユニットの各3軸力覚センサーユニットから出力された前記ユニット出力値を含む情報を、前記力覚値として出力し、前記力覚値補正部は、前記力覚値に含まれる前記ユニット出力値に基づいて、前記機械機構の質量中心位置を推定し、推定した前記質量中心位置に基づいて、前記補正処理を行ってもよい。
これにより、機械機構の質量中心位置を用いた補正処理等が可能になる。
また、本発明の一態様では、前記力覚値補正部は、前記力覚値に含まれるユニット出力値から、N個の前記3軸力覚センサーユニットのそれぞれが検出した力に対応するN個の力ベクトルを求め、求めたN個の前記力ベクトルの合成ベクトルの大きさに基づいて、前記機械機構の質量を推定し、推定した前記質量に基づいて、前記補正処理を行ってもよい。
これにより、機械機構の質量を用いた補正処理等が可能になる。
また、本発明の一態様では、前記力覚センサーは、3個以上の前記3軸力覚センサーユニットを有してもよい。
これにより、力覚値に基づく質量中心位置の推定等を適切に行うこと等が可能になる。
また、本発明の一態様では、前記力覚センサーは、4個以上の前記3軸力覚センサーユニットを有してもよい。
これにより、質量中心位置等の推定精度を向上させること等が可能になる。
また、本発明の一態様では、前記力覚センサーは、少なくとも2個の前記3軸力覚センサーユニットを有し、前記力覚値補正部は、前記機械装置の第1の姿勢において、2個の前記3軸力覚センサーユニットからの前記ユニット出力値に基づき前記力覚センサーから出力された第1の力覚値に基づいて、前記機械機構の前記質量中心位置を推定する処理を行い、前記制御部は、前記力覚値補正部により前記質量中心位置の推定が不可と判定された場合には、前記機械装置の姿勢を前記第1の姿勢とは異なる第2の姿勢に変更する制御を行い、前記力覚値補正部は、前記制御部により前記機械装置が前記第2の姿勢となる制御が行われた後に、2個の前記3軸力覚センサーユニットからの前記ユニット出力値に基づき前記力覚センサーから出力された第2の力覚値に基づいて、前記機械機構の前記質量中心位置を推定し、推定した前記質量中心位置に基づいて、前記補正処理を行ってもよい。
これにより、力覚センサーの低コスト化、小型化等が可能になるとともに、用いる3軸力覚センサーユニットが2個であっても、適切な質量中心位置の推定等が可能になる。
また、本発明の一態様では、前記力覚値補正部は、前記機械機構の前記質量中心位置の最小自乗解を正規化方程式により求めることで、前記質量中心位置を推定してもよい。
これにより、質量中心位置を正規化方程式の最小自乗解として求めることが可能になる。
また、本発明の一態様では、前記力覚値補正部は、前記正規化方程式に対して特異値分解を行い、前記特異値分解により得られる特異値の数に基づいて、前記質量中心位置の推定が可能か否かの判定を行ってもよい。
これにより、特異値の数により、質量中心位置の推定結果の妥当性判定を行うこと等が可能になる。
また、本発明の一態様では、前記力覚センサーは、N個の前記3軸力覚センサーユニットの各3軸力覚センサーユニットから、前記ユニット出力値として3つの値を取得することで、3×N個の値を取得し、取得した3×N個の値に基づいて、X軸、Y軸及びZ軸の並進力Fx,Fy,Fzと、各軸まわりのモーメントMx,My,Mzを算出し、算出したFx,Fy,Fz及びMx,My,Mzを含む情報を前記力覚値として出力する6軸力覚センサーであってもよい。
これにより、N個の3軸力覚センサーユニットを有する力覚センサーを、必要に応じて6軸力覚センサーとして用いること等が可能になる。
また、本発明の一態様では、前記力覚値補正部は、前記機械装置の複数の姿勢において得られた複数の前記力覚値に基づいて、前記補正処理を行ってもよい。
これにより、質量中心位置の推定精度を向上させること等が可能になる。
また、本発明の一態様では、前記機械機構が有する可変部の姿勢情報を取得する姿勢情報取得部を含み、前記力覚値補正部は、前記可変部の前記姿勢情報に基づいて、前記可変部の前記質量中心位置を推定して前記補正処理を行ってもよい。
これにより、機械機構が可変部を有する場合にも、適切な質量中心位置の推定等が可能になる。
また、本発明の一態様では、前記機械装置は、ロボットであり、前記機械機構は、前記ロボットのエンドエフェクターであり、前記力覚値補正部は、N個の前記3軸力覚センサーユニットを有し、前記ロボットの前記エンドエフェクターに対応して設けられる前記力覚センサーから、前記力覚値を取得して、取得した前記力覚値の補正処理を行い、前記制御部は、前記補正処理後の前記力覚値に基づいて、前記ロボット及び前記エンドエフェクターの制御を行ってもよい。
これにより、機械装置としてロボット、機械装置としてエンドエフェクターを用いた場合に、当該ロボット等を制御する制御システムを実現すること等が可能になる。
また、本発明の他の態様は、機械装置の機械機構に対応して設けられる力覚センサーから力覚値を取得して、前記力覚値の補正処理を行う力覚値補正部と、前記補正処理後の前記力覚値に基づいて、前記機械装置及び前記機械機構の制御を行う制御部として、コンピューターを機能させ、前記力覚センサーは、N(Nは2以上の整数)個の3軸力覚センサーユニットを有し、前記力覚値補正部は、N個の前記3軸力覚センサーユニットからのユニット出力値に基づき前記力覚センサーから出力された前記力覚値に基づいて、前記補正処理を行うプログラムに関係する。
本発明の他の態様では、力覚センサーがN個の3軸力覚センサーユニットを有する場合に、当該力覚センサーからの力覚値に対する補正処理を行い、補正処理後の力覚値に基づく適切な機械装置及び機械機構の制御を行うプログラムを実現すること等が可能になる。
また、本発明の他の態様は、機械装置の機械機構に対応して設けられ、N(Nは2以上の整数)個の3軸力覚センサーユニットを有する力覚センサーから力覚値を取得し、取得した前記力覚値に対して補正処理を行い、前記補正処理後の前記力覚値に基づいて、前記機械装置及び前記機械機構の制御を行い、前記補正処理として、N個の前記3軸力覚センサーユニットからのユニット出力値に基づき前記力覚センサーから出力された前記力覚値に基づいて、前記力覚値を補正する処理を行う機械装置の制御方法に関係する。
本発明の他の態様では、力覚センサーがN個の3軸力覚センサーユニットを有する場合に、当該力覚センサーからの力覚値に対する補正処理を行い、補正処理後の力覚値に基づく適切な機械装置及び機械機構の制御を行う制御方法を実現すること等が可能になる。
機械装置としてロボットを用いる場合の構成例。 機械機構と力覚センサーの位置関係を説明する図。 図3(A)〜図3(C)はリセット動作を説明する図。 図4(A)、図4(B)は機械機構の物理モデルが未知の場合の例。 図5(A)、図5(B)は機械機構の物理モデル化が不可能な場合の例。 図6(A)〜図6(C)は機械機構が可変部を持つ場合の例。 3軸力覚センサーユニットの構成例。 図8(A)、図8(B)は力覚センサーにおける3軸力覚センサーユニットの配置例。 6軸力覚センサーにより検出される力覚値の説明図。 センサー座標系とユニット座標系の関係を表す具体例。 図11(A)、図11(B)は可変部を持たず、且つ機械機構の物理モデルが未知の場合の例。 第1の実施形態のシステム構成例。 並進力及びモーメントの座標変換の説明図。 物理モデルに基づく補正処理を説明する図。 物理モデルに基づく補正処理を説明する他の図。 物理モデルに基づく補正処理を説明する他の図。 XY平面における質量中心位置の推定処理を説明する図。 XY平面上の任意の位置に配置されたユニットに基づく推定処理を説明する図。 3つの3軸力覚センサーユニットに基づく推定処理を説明する図。 図20(A)、図20(B)は姿勢変更を説明する図。 図21(A)、図21(B)は3軸力覚センサーユニット数を変化させた場合の推定精度の変化を説明する図。 第1の実施形態における処理を説明するフローチャート。 固定部に関する補正処理を説明するフローチャート。 第2の実施形態における処理を説明するフローチャート。 リセット処理を説明するフローチャート。 第3の実施形態のシステム構成例。 機械機構の固定部と可変部への分割を説明する図。 図28(A)、図28(B)は可変部に対する処理を説明する図。 可変部の姿勢情報の説明図。 図30(A)〜図30(C)は物理モデルやパラメーター等から力覚値に対する補正量を求める処理の説明図。 第3の実施形態における処理を説明するフローチャート。 第4の実施形態のシステム構成例。 第4の実施形態における処理を説明するフローチャート。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.本実施形態の手法
まず本実施形態の手法について説明する。従来、多くの機械装置において力覚センサーを用いた制御等が行われている。機械装置としては例えばロボットが考えられ、当該ロボットに設けられた力覚センサーからの力覚値に基づいて、ロボット制御が行われる。具体的には、ロボットの機械機構(狭義にはハンド等の手先構造物)にはたらく外力を力覚値として検出することで、インピーダンス制御等の力制御を行うことが可能になる。
また、ロボット以外の機械装置としては、パワーアシストの入力装置を考えることもできるし、医療分野におけるリハビリテーション機器、或いはそれに付随するデータ記録装置も考えられる。リハビリテーション用途においては、患者がどのような部位においてどのような大きさの力を加えているのかという情報は、治療・診断上有用であるし、またパワーアシスト等のサポート機器から使用者に加える力も適切に制御する必要性が高く、力覚センサーを用いる利点が大きい。さらには、機械装置は遠隔操作機器(医療機器を含む)であってもよく、その場合、力覚センサーからの力覚値は、力覚フィードバック等に用いることが想定される。その他にも、熟練の技術を要する職人技を科学的に解析する場合等に用いられる力覚レコーダー等も本実施形態の機械装置となり得るし、玩具やPC等の入力装置が本実施形態の機械装置であってもよい。つまり、本実施形態の機械装置としては様々な装置を想定できる。
その際、所望の制御を行うためには、力覚センサーの力覚値に対して種々の補正処理が必要となる場合がある。上述の力制御を行うロボットの例であれば、制御システムが必要とするのは、実際に作業対象と接触する部分にはたらく外力である。例えば、ハンドにより所与のツールを把持し、当該ツールを作業対象の表面を滑らせる(過度の力を加えたり、浮き上がったりしないように移動させる)制御を行う場合には、ツールが作業対象を押す力に対応して当該ツールにはたらく反力を外力として検出する必要がある。
しかし、力覚センサーが作業対象と接触する位置に設けられずに、図1及び図2に示したようにロボット10の手首に相当する位置に設けられることも大いに考えられる。その場合、力覚センサー20は当該センサーの先に設けられるエンドエフェクター12(広義には機械機構であり、具体的にはハンド、或いは当該ハンドが把持するツールであってもよい)による力も検出してしまう。具体的には、エンドエフェクター12にはたらく重力等が力覚センサー20に伝わることになるため、力覚値は上述した外力以外の力も含めた値となり、ロボット10の適切な制御が困難となる。
これに対しては、従来リセット処理により補正が行われていた。一例として図3(A)に示したように力覚センサー20の先に指構造を持つハンドが取り付けられた例を考える。ここでは、図3(B)に示したようにハンドがツール(ドライバー)を把持するものであり、エンドエフェクター12は当該ハンド及びツールに相当する。リセット処理では、図3(C)に示したようにロボット10に対して作業時と同じ姿勢をとらせる。その際、作業を実際には行わず、外力がはたらかない状態にすれば、その際の力覚センサー20からの力覚値はエンドエフェクター12に起因した値となる。このときの値をオフセット値とすれば、その後、ロボット10の姿勢を変えない限り、エンドエフェクター12に起因する力覚値はオフセット値に一致する。よって、オフセット値の記憶後、作業終了までの間、力覚値からオフセット値を除去する処理を行うことで、エンドエフェクター12による力覚値への影響を抑止することが可能になる。
しかしリセット処理では、オフセット値の記憶後は作業終了まで、オフセット値に影響を与えるようなロボット10の姿勢変更ができないことが、制御において大きな制限となっていた。そこで、特許文献1〜3では力覚センサーの先に設けられるエンドエフェクター12を物理モデル化することで、当該エンドエフェクター12による力覚センサー20への影響を補正する手法等を用いている。物理モデルは例えば重量分布等を表すモデルであってもよく、さらに具体的には質量中心位置(x,y,z)及び質量mをパラメーターとするモデルであってもよい。エンドエフェクター12を物理モデル化した情報を保持しておけば、当該エンドエフェクター12にはたらく重力や遠心力は物理的な解析により求めることができ、さらにそれらの力が力覚センサー20にどのように伝わるかも解析できる。この場合、リセット処理とは異なり、姿勢が変化しても変化後の姿勢に基づく物理的な解析を行えば姿勢変化に対応可能なため、制御上の制約を小さくできる。特許文献1〜3ではこのような手法により、力覚センサー20からの力覚値を補正し、所望の制御を実現している。
しかし、従来手法ではエンドエフェクター12の物理モデルが既知であることを前提としている。そのため、従来手法では対応が困難となる状況が考えられる。以下、3つのケースについて具体的に説明する。
なお、以下の説明においても機械装置はロボット10であり、機械機構はロボット10のエンドエフェクター12であるものとするが、機械装置及び機械機構がそれらに限定されないことは上述したとおりである。
第1にエンドエフェクター12の物理モデルが未知の場合である。特定用途のためのロボット10であれば、力覚センサー20の先に設けられるエンドエフェクター12の種類は限定されるため、従来手法のように候補となるエンドエフェクター12の物理モデルを全て保持しておき、適切なモデルを用いて解析を行うことは可能である。しかし、汎用性の高いロボット10では取り付け可能なエンドエフェクター12の種類が豊富なことも考えられ、物理モデルを事前に入手しておくことが困難な可能性がある。また多くの物理モデルを事前に記憶しておくことができたとしても、図4(A)、図4(B)に示したようにエンドエフェクター12がハンド及び当該ハンドにより把持されるツールである場合には問題が残る。図4(A)、図4(B)の例では、ハンドによるツールの把持位置にある程度の自由度があるため、ハンドの物理モデル及びツールの物理モデルが既知であったとしても、その両方を含むエンドエフェクター12の物理モデルはハンドによるツールの把持位置が決定されない限り不明となるためである。つまり、図4(A)、図4(B)の例では実際にツールが把持されるまでエンドエフェクター12の物理モデルは決定不可であり、所与の既知物理モデルを用いて解析する従来手法の適用は困難となる。
第2にエンドエフェクター12の物理モデル化がそもそも困難な場合が考えられる。具体的には、図5(A)に示したようにエンドエフェクター12が電源ケーブルを有するツールを含む場合が考えられる。この場合、ケーブルが伸びきっているのか、たるみがあるのかという点でも物理モデルは変化する。或いは、ケーブルが床等に接触している場合にはケーブルと床との摩擦等も考慮する必要があるし、ケーブルの他端が電源に接続されていることでツールの移動に要する力が変化すれのであれば、そのことでも物理モデルは変化しうる。また、図5(B)に示したコネクター付きケーブル等も同様であり、ツールの図5(B)のA1で示した把持部分と、A2で示したケーブル部分との相対的な位置関係が変化しうるため、A1及びA2を含んだエンドエフェクター12全体を単一の物理モデルで表現することは困難である。この場合、そもそも物理モデル化ができないのであるから、力学的な解析は不可能であるが、従来手法においてこの問題に対応する手法は示されていない。
第3にエンドエフェクター12が可変部を有する場合が考えられる。具体的には、図6(A)〜図6(C)に示したように指構造を有するハンドにおいては、指の開き具合等が変化すれば物理モデルが変化する。例えば、図6(A)のように各指構造がD1及びD2に示した箇所に関節を有する場合、それぞれの関節角を設定することで指の姿勢を変更することができる。その場合、図6(A)に示したように各指構造の先端部が内側へ向くような関節角を設定した場合と、図6(B)に示したように各指構造の先端部が外側へ向くような関節角を設定した場合とでは、指構造12−3と手首部分12−4とを含めたエンドエフェクター12全体の物理モデルは異なるものになる。また、手首部分12−4が図6(C)のD3に示したように回転可能(ここでは力覚センサー20に対する相対的な回転)である場合には、D3の回転角によってもエンドエフェクター12の物理モデルは変化しうる。しかし、特許文献1、2等ではこの変化を考慮した処理は行っていない。また、特許文献3には指構造を持つハンドの図面が添付されてはいるが、処理としては重量に基づく単純なものしか行っておらず、可変部の状態に応じた変化等は考慮されていない。
そこで本出願人は、既知の物理モデルをそのまま解析に用いることができない場合にも、適切な力覚値補正を行う手法を提案する。具体的には、物理モデルが未知のケースにおいては、力覚センサー20から取得した力覚値に基づいて、エンドエフェクター12の物理モデルを推定する。ここで、力覚センサー20としては、3軸力覚センサーユニットをN個(Nは2以上の整数)有するセンサーを用いるものとし、力覚センサー20の詳細については後述する。この処理については第1の実施形態において詳述する。
また、エンドエフェクター12の物理モデル化が困難なケースでは、処理自体は従来と同様にリセット処理を行う。ただし、ここでは第1の実施形態で説明する推定処理を試行し、試行結果に基づいてエンドエフェクター12の物理モデル化の可否を判定する。物理モデル化が可能であれば第1の実施形態と同様に推定結果を用いればよいし、不可の場合にはリセット処理に移行すればよい。この処理については第2の実施形態において詳述する。
また、可変部を含むことで物理モデルが変化するケースでは、エンドエフェクター12を固定部と可変部とに分離し、それぞれについて姿勢情報に基づく処理を行うことで、エンドエフェクター12全体を表す物理モデルを求める処理を行う。この処理については第3の実施形態において詳述する。なお、第3の実施形態においては、図27〜図29等を用いて後述するように、説明の簡略化のため、エンドエフェクターの関節部分は図6(A)のD2に示した箇所を考え、D1に示した関節や、図6(C)のD3で示した回転等は考慮していない。しかし、エンドエフェクター12がD1やD3、或いは他の部分に関節等の構造を有することを妨げるものではない。
なお、第1〜第3の実施形態で説明する手法は独立で用いられるものに限定されず、複数を組み合わせてもよい。例えば、図4(A)、図4(B)の例では可動部を含むハンドによりツールを把持し、且つ把持位置が変化しうるため、第1,第3の実施形態を組み合わせるとよい。また、把持対象となるツールに図5(A)、図5(B)のような物理モデル化が不可となるものが想定されるのであれば、第2の実施形態と組み合わせる必要も出てくる。これら組み合わせについては第4の実施形態で詳述する。
以下では、まず本実施形態で用いる、3軸力覚センサーユニットをN個有する力覚センサー20の詳細について説明する。その後、第1〜第4の実施形態について順に説明する。
2.複数の3軸力覚センサーユニットを有する力覚センサー
2.1 力覚センサーの構成例
まず、3軸力覚センサーユニットをN個有する力覚センサー20について説明する。N個の3軸力覚センサーユニットの各ユニットは、X軸、Y軸及びZ軸の各軸の並進力Fx,Fy,Fzをユニット出力値として取得する。各ユニットは種々の構成により実現可能であるが、例えば図7に示したように、センサー素子46,52,58に均等に与圧を印加させることで、高精度での力検出を可能とする構成を用いればよい。図7に示したセンサーユニット21では、第1センサー素子46の水晶板48A及び48B、第2センサー素子52の水晶板54A及び54B、第3センサー素子58の水晶板60A及び60Bは、それぞれ結晶方位が異なるように構成されている。その結果、センサーユニット21は、第1センサー素子46によりユニット座標系におけるX軸方向の並進力を検出し、第2センサー素子52によりY軸方向の並進力を検出し、第3センサー素子58によりZ軸方向の並進力を検出することになる。
また、力覚センサー20において、各3軸力覚センサーユニットがどのように配置されるかについても、種々の手法が考えられるが、一例としては図8(A)に示したように配置すればよい。図8(A)の例では、力覚センサー20に設定されるセンサー座標系のXY平面上に、4つの3軸力覚センサーユニット21−1〜21−4が配置される。各ユニットに対して設定されるユニット座標系のX軸Y軸Z軸の方向は、全てセンサー座標系のX軸Y軸Z軸に一致するものとしている。図8(A)の配置を上方から(センサー座標系のZ軸正方向から)みたのが図8(B)となる。なお、各ユニットの出力であるユニット出力値は当該ユニットに設定されたユニット座標系のX軸Y軸Z軸における並進力となる。
ただし、ユニットの配置は図8(A)に限定されるものではない。例えば、3軸力覚センサーユニットの個数は4個に限定されるものではなく、2個や3個、或いは5個以上であってもよい。また、全ての力覚センサーユニットが同一平面上に配置される必要はなく、力覚センサー20内において立体的に配置されてもよい。さらに、センサー座標系の座標軸とユニット座標系の座標軸とが一致する必要もなく、所与のユニット座標系の座標軸と他のユニット座標系の座標軸とが一致する必要もない。その他、種々の配置による変形実施が可能である。ただし、第1の実施形態において後述するように、全ての3軸力覚センサーユニットが同一直線上に並ぶ配置は避けることが望ましい。
2.2 6軸力覚センサーとしての利用
上述した力覚センサー20は、各3軸力覚センサーユニットからFx,Fy,Fzの3つの値がユニット出力値として出力されるため、図8(A)の例であれば3×4個の値を取得できる。第1の実施形態で後述する推定処理では3×4個の力覚値をそのまま処理に用いることを想定しているが、上記力覚センサー20を一般的な6軸力覚センサーとして使用することも可能である。ここで6軸力覚センサーとは、図9に示したように、センサー座標系におけるX軸、Y軸、Z軸についての並進力Fx,Fy,Fzと、各軸まわりのモーメントMx,My,Mzの6つの値を力覚値として出力するセンサーである。
図8(A)のようにセンサー座標系のXY平面上に4つの3軸力覚センサーユニットが配置され、センサー座標系の座標軸とユニット座標系の座標軸とが一致する場合で、特に図10に示したように、それぞれのユニット座標系の原点が、センサー座標系において(r,0,0)、(0,r,0)、(−r,0,0)、(0,−r,0)にある例を考える。
ユニット21−1の出力を(F1x,F1y,F1z)、ユニット21−2の出力を(F2x,F2y,F2z)、ユニット21−3の出力を(F3x,F3y,F3z)、ユニット21−4の出力を(F4x,F4y,F4z)とする。この場合、力覚センサー20全体として検出する6軸の力覚値である、センサー座標系のXYZ軸での並進力Fx,Fy,Fzと、各軸まわりのモーメントMx,My,Mzは下式(1)で与えられる。
Fx=F1x+F2x+F3x+F4x
Fy=F1y+F2y+F3y+F4y
Fz=F1z+F2z+F3z+F4z
Mx=r(F2z−F4z
My=r(F3z−F1z
Mz=r(F1y−F3y+F4x−F2x) ・・・・・(1)
つまり、各ユニットからの出力値に基づいて算出処理を行うことで、図8(A)に示した力覚センサー20を6軸力覚センサーとして用いることが可能になる。また、力覚センサー20における3軸力覚センサーユニットの数、或いは配置等が異なった場合にも、算出式が上式(1)とは異なるものになるが、同様に6軸の力覚値を算出することが可能である。言い換えれば、本実施形態の力覚センサー20は、Nを2以上の任意の整数とした場合にも、各3軸力覚センサーユニットのユニット出力値の集合である3×N個の値に基づいて、6軸の力覚値を算出できる。
よって、機械装置としてロボットを用いて、当該ロボットの力制御(インピーダンス制御等)を行う場合等には、通常の6軸力覚センサーとして上式(1)等の結果を用いればよいし、後述する推定処理等のように情報量が多いことが望ましい状況においては、各ユニットからのユニット出力値の集合である3×N個の値を用いて処理を行えばよい。つまり、本明細書や特許請求の範囲における「力覚値」という用語は、力覚センサー20の出力する情報を表すものであり、ユニット出力値の集合である3×N個の値と、そこから求められた(Fx,Fy,Fz,Mx,My,Mz)の両方を含みうる概念である。
後述する第1〜第4の実施形態では「力覚値」という用語で表現されているが、典型的には、力覚値のうちのユニット出力値の集合である3×N個の値に基づいて物理モデル(質量中心位置等)を求め、当該物理モデルに基づいて、力覚値のうちの6軸の値(Fx,Fy,Fz,Mx,My,Mz)の補正処理を行って、補正処理後の6軸の値に基づいて機械装置の制御を行うことを想定している。ただし、物理モデルの推定処理に用いられる力覚値が、ユニット出力値の集合である3×N個の値である点は本実施形態における前提となる可能性が高いものの、補正処理の対象については6軸の値ではなく、ユニット出力値の集合である3×N個の値であることを妨げるものではない。
3.第1の実施形態
第1の実施形態では、力覚センサーから取得した力覚値に基づいてエンドエフェクターの物理モデルを推定し、推定した物理モデルを用いた補正処理を行う手法について説明する。以下、システム構成例、物理モデルの推定処理、及び処理の詳細について説明する。
なお、図4(A)、図4(B)の例では、エンドエフェクターは可変の指構造を含むため、第3の実施形態で後述する手法を併用する必要が生じる。よってここでは、図11(A)、図11(B)に示した吸着ハンド12−1等により、エンドエフェクター12が可変部を含まずに構成される例について考えるものとする。なお、図11(A)、図11(B)の吸着ハンド12−1は、その先端部分においてツール12−2を固定(把持)するものである。この場合、図11(A)に示したようにツール12−2の中央付近を吸着した場合と、図11(B)に示したようにツール12−2の端部に近い位置を吸着した場合とでは、吸着ハンド12−1とツール12−2を含むエンドエフェクター12全体の物理モデルは異なるものになり、吸着位置が事前にわからない限り、物理モデルは未知となる。
3.1 システム構成例
図12に本実施形態のロボット10、エンドエフェクター(ハンド)12、力覚センサー20、及びロボットの制御装置100を含む制御システム(ここではロボットシステム)の構成例を示す。
エンドエフェクター12は、ロボット10に設けられる機構であり、ここでは特にロボット10において力覚センサー20よりも先に設けられるものを表す。エンドエフェクター12はハンドや、当該ハンドにより把持されるツール(例えばドライバー等)を含む。
力覚センサー20は、センシング部にはたらく力を検出するセンサーであり、上述した3軸力覚センサーユニットを複数有するものを用いる。
ロボットの制御装置100は、制御部110と、力覚値補正部120と、姿勢情報取得部130とを含む。ただし、制御装置100は図12の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
制御部110は、ロボット10及びエンドエフェクター12の制御を行う。本実施形態では、力覚値補正部120による補正処理後の力覚値に基づいて、ロボット10及びエンドエフェクター12の制御を行う。ここで、ロボット10等の制御とは、例えば関節部分の角度変化量、及び変化速度等の制御であってもよい。
力覚値補正部120は、力覚センサー20からのセンサー情報(力覚値)を取得し、取得した力覚値に対する補正処理を行う。力覚値補正部120は、第1の補正処理部121と、第2の補正処理部123と、固定部パラメーター記憶部124と、実行時パラメーター算出部126と、実行時パラメーター記憶部127とを含む。
本実施形態では、図11(A)に示したように物理モデルが既知の部分(以下固定部と記載。具体的には図11(A)吸着ハンド12−1)を用いて、所与の部材(図11(A)のツール12−2)の任意の位置を把持することにより、エンドエフェクター12全体の物理モデルが未知のケースを想定している。第1の補正処理部121は、固定部について、力学的な解析を行って当該固定部による力覚値への影響を抑止する補正処理を行う。具体的には、固定部の物理モデルを固定部パラメーターとして記憶している固定部パラメーター記憶部124から当該固定部パラメーターを読み出し、読み出した固定部パラメーターと、姿勢情報取得部130から出力されたロボット10の姿勢情報とに基づいて補正処理を行う。第1の補正処理部121からの出力では、固定部に起因する力覚値が除去(広義には低減)されている。固定部に対応する補正処理の詳細は後述する。
実行時パラメーター算出部126は、第1の補正処理部121から出力された力覚値に基づいて、固定部に取り付けられた(把持された)部材の物理モデルを推定する。詳細については後述する。実行時パラメーター記憶部127は、実行時パラメーター算出部126で推定された物理モデルを、実行時パラメーターとして記憶する。
第2の補正処理部123は、実行時パラメーター記憶部127に記憶された実行時パラメーターと、姿勢情報取得部130から出力されたロボット10の姿勢情報とに基づいて補正処理を行う。第2の補正処理部123からの出力では、物理モデルが未知となる部材に起因する力覚値が除去(広義には低減)されている。つまり、第2の補正処理部123から制御部110に対して出力される力覚値は、エンドエフェクター12に起因する値が除去されたものとなる。
姿勢情報取得部130は、ロボット10及びエンドエフェクター12の姿勢情報を取得する。ここで姿勢情報とは、ロボット10やエンドエフェクター12の姿勢を表すものであり、例えば関節角をパラメーターとして表現することができる。全ての関節角について値が決定されれば、フォワードキネマティクスによりロボット10の姿勢を一意に決定可能である。具体的には、姿勢情報取得部130はロボット10等の各関節に対応するエンコーダー等から値を取得すればよい。
3.2 第1の補正処理部における補正処理の詳細
第1の補正処理部において行われる固定部についての力覚値補正処理について説明する。図13に示したように、ある座標系1において、並進力がF、モーメントがMで与えられている場合を考える(F,Mは例えば3次元ベクトル)。この際、座標系2として、座標系2から座標系1への原点の並進ベクトルがt、座標系2から座標系1への回転行列がRとなる座標系を考えると、上記の力を座標系2において観察したばあい、その並進力F’及びモーメントM’は下式(2)を満たす。なお2式目の右辺第2項はベクトルの外積を表す。
F’=RF
M’=RM+t×F ・・・・・(2)
ここで、図14に示したように、センサー座標系を基準とした場合に、位置(x,y,z)に質量mを有するものとモデル化できるエンドエフェクター12により、力覚センサー20にはたらく力を計算する。ここでは、図15に示したように、図13の座標系2としてセンサー座標系を考え、図13の座標系1として質量中心位置(x,y,z)を原点、Z軸方向が鉛直上向きとなる座標系を考える。
この場合、座標系1における上記のF,Mは質量mの物体にはたらく重力を考えればよいため、F=(0,0,−m)、M=(0,0,0)となる。また、図15のように座標系1,2で回転がない場合には、Rを考慮しなくてよく、上記のtはt=(x,y,z)となる。これにより、上式(2)に基づきF’=(0,0,−m)、M’=(−my,mx,0)となる。
つまり、図15の例では、センサー座標系において(x,y,z)の位置に質量mを有するエンドエフェクター12による力は、センサー座標系ではF’=(0,0,−m)、M’=(−my,mx,0)として観測される。これは、力覚センサー20にF’=(0,0,−m)という並進力、及びM’=(−my,mx,0)というモーメントがはたらくことに他ならない。よって、求められたF’及びM’の値を力覚値から除去することで、エンドエフェクター12による力覚値への影響を抑止することが可能になる。
また、座標系1,2で回転がある場合にはRまで考慮すればよい。図16でも座標系1のZ軸が鉛直上向きである点に変わりはなく、F=(0,0,−m)、M=(0,0,0)となる。ただし図16では、力覚センサー20が鉛直方向に対して傾いている他、X軸Y軸も座標系1とは異なっており、回転行列Rは座標系1に対するセンサー座標系のロール角、ピッチ角、及びヨー角の値に基づきその要素が決定されることになる。この場合も上式(2)により求めたF’及びM’に基づいて補正処理を行えばよい。
3.3 物理モデルの推定処理
次に本実施形態における物理モデルの推定処理について説明する。以下の説明では、物理モデルとは質量中心位置(力の作用点に相当)を表す(x,y,z)と、質量mにより表されるモデルとする。上述したように、N個の3軸力覚センサーユニットを有する力覚センサー20は6軸力覚センサーとして用いることができるため、6軸力覚センサーとしての6つの力覚値に基づいて推定処理を行ってもよい。しかしN≧3の場合であれば、上記力覚センサー20は、6軸力覚センサーの6つの力覚値よりも多い数の情報を出力できるため、推定精度の向上等が期待できる。よって本実施形態では、3×N個の出力値をそのまま用いる推定手法について説明する。
3.3.1 基本的な手法
エンドエフェクター12に外力がはたらくような作業をしていない場合、誤差等が生じる可能性はあるが、基本的には力覚センサー20には当該エンドエフェクター12による力のみがはたらくことが想定される。そして各3軸力覚センサーユニットは、エンドエフェクター12による当該力の各ユニットに対応した射影成分を検出することになる。本実施形態ではこの状態においてエンドエフェクター12の物理モデルを推定するものとする。
説明を簡略化するために、まずXY平面について考える。エンドエフェクター12により、所与の三次元座標を力の作用点(x,y,z)とするベクトルFで表される大きさ及び方向の力が力覚センサー20にはたらいている場合、図17に示したようにXY平面では(x,y)を力の作用点とし、ベクトルFをXY平面に射影したベクトルFxyで表される力がはたらく。
ここで、図17に示したようにセンサーユニットの数を2個とする。この場合、ベクトルFxyを、力の作用点からユニット21−1の座標系の原点への方向である第1の方向と、力の作用点からユニット21−2の座標系の原点への方向である第2の方向とに分離した際の、第1の方向成分F1がユニット21−1にはたらき、第2の方向成分F2がユニット21−2にはたらくことになる。つまり、ユニット21−1は、ベクトルF1に対応するユニット出力値F1xとF1yを検出し、ユニット21−2は、ベクトルF2に対応するF2xとF2yを検出する。
以上の流れを逆に考えれば、ユニット21−1がユニット出力値F1xとF1yを検出し、ユニット21−2がF2xとF2yを検出した場合、F1xとF1yにより表されるベクトルF1と、F2xとF2yにより表されるベクトルF2を考えれば、力覚センサー20に対して力を及ぼしているエンドエフェクター12の物理モデルを推定することができる。
具体的には、ベクトルF1を含む第1の直線と、ベクトルF2を含む第2の直線はともに力の作用点を含むという特性を有することから、第1の直線と第2の直線の交点を力の作用点(つまり質量中心位置)として求めることができる。さらに、当該作用点に作用する力の大きさ及び方向は、ベクトルF1とベクトルF2の合成ベクトルの大きさ及び方向として求めればよい。
以上の処理を3次元に拡張すれば、エンドエフェクター12の物理モデルの推定が可能になる。少し条件を一般化し、図18に示したように、ユニット21−1のユニット座標系の原点が、センサー座標系における(X1,Y1)であるとする。この場合、力の作用点(具体的には作用点をXY平面へ射影した点)を含む直線は、下式(3)及びそれを変形した下式(4)で与えられる。
1y−F1x=F1yX−F1xY ・・・・・(4)
なお、より条件を一般化するのであれば、ユニット座標系とセンサー座標系との間の回転Rも考慮する必要がある。その場合、R−1を用いた補正を行って上式(4)と同等の式を求めればよく、ここでは詳細な説明は省略する。上式(4)をベクトル形式で表記すれば下式(5)となる。
これをYZ平面及びZX平面についても同様に考えることで、下式(6)が成り立つ。
上式(6)の右辺の行列の逆行列を求めることができれば、当該逆行列を左からかけることで質量中心位置(x,y,z)を算出可能である。しかし、行列式を求めれば値が0になることからわかるように、右辺の行列は正則ではなく逆行列は求められない。これは図17や図18に示したように、1つの3軸力覚センサーユニットからは、質量中心位置を含む1本の直線(3次元に拡張すれば3次元直線となる)が求められるに過ぎず、質量中心位置の特定には少なくとも2本の直線が必要なことからも明らかである。
つまり、質量中心位置の推定にはセンサーユニット21−1とは異なるセンサーユニット21−2のユニット出力値も用いればよいことになる。つまり、上式(6)に対応する式をセンサーユニット21−2についても求め、求めた式と上式(6)を連立方程式として解を求めればよい。これは下式(7)のx,y,zを求めることに相当する。
上式(7)では、一部の場合を除いて右辺の行列Mは正則となるため、逆行列M−1を用いることで質量中心位置を推定することができる。なお、行列Mが正則でない場合については後述する。
3軸力覚センサーユニットの検出するユニット出力値に全く誤差がないという理想的な状況であれば、センサーユニット21−1から求められる直線と、センサーユニット21−2から求められる直線は交点を持つはずであり、上式(7)から解を定めることができる。しかし、現実には誤差は生じることが当然であり、図形的には2本の3次元直線は交点を持つとは限らないことを考えれば、上式(7)からは単純には解が定まらないことになる。
そこで本実施形態では、誤差が最小となるように質量中心位置p=(x,y,z)を求める。具体的には、上式(7)の自乗誤差eを下式(8)のように定義する。
ここで、自乗誤差eを最小にする解は下式(9)の正規化方程式の解として得られることが知られており、下式(9)の正規化方程式の解である最小自乗解は、形式的に下式(10)により与えられることも知られている。
q=MMp ・・・・・(9)
p=(MM)−1q ・・・・・(10)
なお、上式(10)の(MM)−1は一般化逆行列(或いは疑似逆行列)と呼ばれるものであり、Mが下式(11)のように特異値分解される場合には、一般化逆行列は下式(12)によっても与えられることになる。
M=UΣV ・・・・・(11)
(MM)−1=VΣ−1 ・・・・・(12)
n≧mとし、M∈Rn×m、U∈Rn×n、V∈Rm×m、Σ∈Rn×m、U,Vが適切に定められたn次元とm次元の正規直交基底である場合に、行列Mは下式(13)のように分解される。
ここでΣの対角要素であるσは特異値と呼ばれるものであり、非ゼロであるσの個数は行列Mのランクと等しい。つまり、上述した式により適切に質量中心位置を求めることができるか否かは、非ゼロであるσの個数から判定可能ということになる。
3.3.2 変形例
上記処理(例えば上式(10)を解く処理)により、質量中心位置を求めることができる。しかし、3軸力覚センサーユニットが2つであり、当該2つのユニットにそれぞれ設定されたユニット座標系の原点と、外力の作用点が同一直線上に乗る場合には、質量中心位置を求めることができない。
具体的には、図17において、外力2として示した位置に質量中心位置がある状況であり、この場合にはユニット21−1もユニット21−2も外力に対して同一の情報を検出することしかできない。具体的にはユニット21−1から求められる直線と、ユニット21−2から求められる直線とが一致してしまう。よって有意な情報はユニット1つ分しか得られないことになり、質量中心位置を推定することができなくなる。これは上式(7)でいえば、逆行列M−1を求めることができない(Mが正則でない)状況に該当することになる。そして、この状況にあることは上式(13)における非ゼロのσの個数が少ないことから検出可能である。
この問題に対応するための第1の手法としては、3個(広義には3個以上)の3軸力覚センサーユニットを用い、各ユニットにそれぞれ設定されたユニット座標系の原点が、全て同一直線上に並ぶことがないように、力覚センサー20においてユニットの配置を行えばよい。例えば、図19に示したように3つのユニットを配置すれば、外力の作用点がどのような位置にあったとしても、少なくとも2つのユニットは有意な情報を検出するため、質量中心位置を推定することが可能になる。
この場合には、3個目のユニットについても上式(6)に相当する式を考え、全てのセンサーに対応する式を連立方程式として解けばよい。具体的には、用いるユニットの個数を3個とした場合には、上式(7)のベクトルqが3×3=9次元のベクトルに拡張されるとともに、行列Mが9行、3列の行列に拡張されることになる。上式(7)に対応する式が求められた後の処理については、ユニットが2個の場合と同様である。
なお、誤差が生じる場合には図19に示したように、平面で考えても3本以上の直線が1点で交わらない可能性がある。つまり3次元空間で考えた場合、交点が複数ある、或いは交点は1つであるが当該交点を通らない直線がある、さらには全ての直線が交点を持たない等、上式(7)からは単純には解が定まらない可能性が高い。よって、上式(7)をそのまま解くのではなく、上式(8)以降を用いて最小自乗解を求めることが望ましいのは、3個以上の3軸力覚センサーユニットを用いる場合でも同様となる。
また、上記問題に対応するための第2の手法としては、3軸力覚センサーユニットの数は2個のままにした上で、一回の推定処理により質量中心位置を決定するのではなく、ロボット10の姿勢を変えて(エンドエフェクター12によりはたらく力の、センサー座標系における方向が変化するように姿勢を変えて)複数回の推定処理を行ってもよい。姿勢変更は例えば、図20(A)の状態から図20(B)の状態への変更により行われる。ロボット10の姿勢が変われば、センサー座標系におけるエンドエフェクター12の質量中心位置が変わることが想定されるため、全てのユニット座標系の原点と質量中心位置が同一直線上にある状況を脱することが可能なためである。
3.3.3 推定精度の向上
以上の推定処理では力覚センサー20の有する3軸力覚センサーユニットの個数は2個又は3個であるものとして説明した。しかし、ユニット数はこれに限定されず4個以上のユニットを用いてもよい。N個のユニットを用いた場合、各ユニットからのユニット出力値の集合である3×N個の値を用いて推定処理を行うことができるため、Nが大きいほど推定精度の向上が期待できる。
Nを2≦N≦12とし、各ユニットからのユニット出力値に最大3%強のランダムノイズを重畳して推定処理をシミュレーションした結果を図21(A)、図21(B)に示す。図21(B)がXYZの各軸について正解データとの誤差の最大値をNごとに示した図であり、図21(A)は推定誤差の偏差をNごとに示した図である。
図21(B)を見ればわかるように、誤差の最大値は、多少のばらつきはあるもののNが大きいほど小さくなる傾向にある。また、図21(A)から明らかなように推定誤差の偏差についてはNが大きくなることで単調減少する。つまり、力覚センサー20が含むユニット数が多くなるほど、推定精度の向上が期待できるといえる。
ただし、ユニット数を多くすることで、コストの増大や力覚センサー20の大型化等の可能性も考慮されるため、ユニット数については複合的に適切な値を設定するとよい。
また、センサーユニット数とは異なる精度向上のアプローチとして、複数の姿勢による推定処理を行って精度向上を図る手法も考えられる。例えば、センサー等のノイズが非常に大きい場合等では、推定精度が低くなるが、複数の姿勢での推定値を複合的に用いることで対応してもよい。
複数の姿勢を用いる場合には、図20(A)、図20(B)を用いて上述したように、姿勢を変更し、変更前及び変更後の両方で推定処理を行えばよい。よって、推定された交点(質量中心位置)が不適切と判定された場合に姿勢を変えてやり直すだけでなく、適切に交点を推定できた場合にも、姿勢変更及び再度の推定処理を行うとよい。例えば、少なくともk(kは2以上の整数)個の適切な推定値を取得して、それらの平均等を最終的な質量中心位置とすればよい。このようにすれば、推定精度の向上が期待できる。
3.4 処理の詳細
図22のフローチャートを用いて本実施形態の補正処理の流れを説明する。この処理が開始されると、まず力覚センサー20からの出力値(補正処理前の力覚値)を取得する(ステップS101)。そして取得した力覚値に対して固定部に対応する補正処理を行う(ステップS102)。
ステップS102での固定部の補正処理の流れを図23のフローチャートに示す。固定部の補正処理では、まずロボット10の姿勢情報を取得する(ステップS201)。ここでロボット10の姿勢情報とは、当該ロボット10の設置状態を表す設置情報(例えば設置対象が床であるのか、壁や天井であるのかを表す情報であり、具体的には重力方向に対する角度情報等)と、ロボット10の関節部分の関節角の値等である。そして、姿勢情報と固定部パラメーター(上述したように固定部の物理モデルx,y,z,mに対応)とに基づいて、力覚値に対する補正量である固定部補正量を算出する(ステップS202)。固定部補正量とは具体的には上式(1)で示したF’やM’の要素に相当する。そして、ステップS101で取得した力覚値と、ステップS202で算出した固定部補正量に基づいて、固定部補正処理後の力覚値を出力する(ステップS203)。ステップS203の出力は図12の第1の補正処理部121の出力に対応する。
固定部に関する補正処理後の力覚値(ステップS102の処理の出力値)が得られたら、3軸力覚センサーユニットごとに、その値に基づいて図17等に示した直線を求め、複数の(具体的にはセンサーユニット数だけの)直線の交点として質量中心位置を推定する(ステップS103)。具体的には、上式(7)(或いは上式(7)を3つ以上のユニットに拡張したもの)を解けばよいが、誤差を考慮すれば正規化方程式の最小自乗解を上式(10)等から求めることになる。
ステップS103の処理により推定値を取得することができるが、それは適切なものであるとは限らない。具体的には、図17の外力2に示したように全ての3軸力覚センサーユニットの座標系の原点と、質量中心位置が同一直線上の場合には、推定値は実際の値とは大きく異なる値となり、補正処理に用いることは適切ではない。そこで、推定した交点(質量中心位置)が適切なものか否かの判定を行う(ステップS104)。具体的な判定は上式(13)における非ゼロのσの個数を判定すればよい。上述したように、非ゼロのσの個数は行列Mのランクと一致するため、非ゼロのσの個数から上式(7)が解けるのか否か、つまり上式(10)等から推定される交点が適切か否かの判定が可能である。
求められた交点が不適切な場合(ステップS104でNoの場合)には、制御部110に対して姿勢変更を指示して(ステップS105)、ステップS101に戻る。つまり、推定した交点は質量中心位置として採用せずに、姿勢を変更した上で力覚値の取得からやり直すことになる。
一方、推定した交点が適切である場合(ステップS104でYesの場合)には、推定した交点を質量中心位置として採用するとともに、図17に示したように各ユニットにおいて得られた力ベクトル(F1やF2等)の合成ベクトルの大きさとして質量mを求め、(x,y,z,m)を実行時パラメーターとする(ステップS106)。
次に、再度処理を行うかの判定を行う(ステップS107)。これは上述した精度向上等に関する判定である。例えば、少なくともk個(kは2以上の整数)の実行時パラメーターを求め、それらに基づいて最終的な実行時パラメーターを決定するという手法を用いるのであれば、ステップS107の判定はその時点で取得された実行時パラメーターの数がk以上であればNo、kより小さい場合にはYesとなる。ステップS107でYesの場合には、ステップS104でNoであった場合と同様にステップS105に移行し、姿勢を変更した上でステップS101に戻り、力覚値を取得して上述した処理を行う。
ステップS107でNoの場合には、複数回の処理を行ったかの判定を行う(ステップS108)。ステップS108は実際には、複数の実行時パラメーターを求めたか否かの判定であり、ステップS104においてNoと判定されて姿勢変更が行われた場合であっても、取得された実行時パラメーターが1つのみであればNoと判定される。ステップS108でNoの場合には、求めておいた単一の実行時パラメーターを、そのままその後の補正処理に用いられる実行時パラメーターとして記憶する(ステップS109)。
ステップS108でYesの場合には、複数求められた実行時パラメーターが所定誤差以内にあるかの判定を行う(ステップS110)。本実施形態で用いている実行時パラメーターのうち位置を表す(x,y,z)はセンサー座標系における値であることを想定している。センサー座標系における質量中心位置(x,y,z)は、エンドエフェクター12自体の構成が変更されない限り、ロボット10の姿勢が変わったとしても一定のはずである。仮に、実行時パラメーターがセンサー座標系以外の座標系を用いて表現されていたとしても、その値をセンサー座標系に変換すれば、その値がロボット10の姿勢に依存しない特性に変わりはない。また、質量mについては、ロボット10がどのような姿勢であっても、またどのような座標系を用いたとしても、エンドエフェクター12自体の構成が変更されなければ一定値となるのは当然である。つまり、誤差が全く生じない理想的な状況であれば、複数回求められた実行時パラメーターは全て同じ値をとるはずである。現実には、力覚値や姿勢情報等に誤差が生じるため、全ての実行時パラメーターが一致するとは考えにくいが、それでもある程度近い値をとることが期待される。逆に言えば、所定誤差以上に値がばらついているのであれば、何らかの要因により推定した質量中心位置等は信頼性が低いと言うことになる。
以上のことから、実行時パラメーターが所定誤差以内の場合(ステップS110でYesの場合)には、求めた実行時パラメーターは信頼できるものとして、ステップS109に移行してそのときの実行時パラメーターを記憶する。ステップS109で記憶されるのは、複数の実行時パラメーターのうちの代表値であってもよいし、平均値等から求められたものであってもよい。
一方、ステップS110でNoの場合には、求めた実行時パラメーターは信頼できないということであるため、その際の実行時パラメーターは記憶せずに、エラーを出力して(ステップS111)処理を終了する。
以上の本実施形態では、図12に示したように制御システムは、エンドエフェクター(機械機構)12と、N(Nは2以上の整数)個の3軸力覚センサーユニットを有し、N個の3軸力覚センサーユニットの各3軸力覚センサーユニットから、エンドエフェクター12に起因する値が付加されたユニット出力値を取得し、ユニット出力値に基づいて力覚値を出力する力覚センサー20と、力覚センサー20が出力した力覚値に基づいて、力覚値を補正する力覚値補正部120と、力覚値補正部120において補正された力覚値に基づいて、エンドエフェクター12を含むロボット(機械装置)10の制御を行う制御部110とを含む。
ここで、力覚値はユニット出力値に基づく値であるとともに力覚センサー20の出力となる値であり、具体的には、各3軸力覚センサーユニットからのユニット出力値の集合が含まれる。また、力覚値とはユニット出力値から所与の演算により求められる値(具体的には上式(1)により求められるXYZ軸での並進力Fx,Fy,Fzと、各軸まわりのモーメントMx,My,Mz)であってもよい。
これにより、N個の3軸力覚センサーユニットを有する力覚センサー20を用いた制御を行う場合に、当該N個の3軸力覚センサーユニットから出力されるユニット出力値に応じた力覚値に基づいて、補正処理を行うことが可能になる。上述したように、ロボット10の制御においては、力覚センサー20の出力である力覚値をそのまま用いるのではなく、何らかの補正処理が必要になる可能性が高く、これは機械装置としてロボット10以外の装置を用いる場合も同様である。その場合、通常の6軸力覚センサーであればその出力である力覚値は6つであるところ、N個の3軸力覚センサーユニットのユニット出力値をそのまま用いることができれば、本実施形態の力覚センサー20からは3×N個の値を取得することができる。つまり、N=2の場合であっても、通常の6軸力覚センサーと同程度の精度での補正処理が期待でき、Nが3以上であれば情報量が6軸力覚センサーよりも多くなるため、より精度の高い補正処理を行うこと等が可能になる。
なお、本実施形態では力覚センサー20からの力覚値に基づいて、力覚値の補正処理を行うことになるが、補正処理に用いられる力覚値と、補正処理の対象となる力覚値とは同一の値に限定されない。例えば、力覚値に含まれる所与の値を用いて補正処理に必要なパラメーターを求め、求めたパラメーターを用いて力覚値に含まれる他の値の補正処理を行ってもよい。具体的には、ユニット出力値の集合からエンドエフェクター12の物理モデルを求め、当該物理モデルを用いて、3軸並進力及び各軸まわりのモーメントである6軸の値に対する補正処理を行ってもよい。
また、力覚センサー20は、N個の3軸力覚センサーユニットの各3軸力覚センサーユニットから出力されたユニット出力値を含む情報を、力覚値として出力してもよい。そして、力覚値補正部120は、力覚値に含まれるユニット出力値に基づいて、エンドエフェクター12の質量中心位置を推定し、推定した質量中心位置に基づいて、補正処理を行ってもよい。また、力覚値補正部120は、力覚値に含まれるユニット出力値から、N個の前記3軸力覚センサーユニットのそれぞれが検出した力に対応するN個の力ベクトルを求め、求めたN個の力ベクトルの合成ベクトルの大きさに基づいて、エンドエフェクター12の質量を推定し、推定した質量に基づいて、補正処理を行ってもよい。
これにより、エンドエフェクター12を表すパラメーター(物理モデル)として、質量中心位置(x,y,z)と質量mとを用いることが可能になる。質量中心位置と質量が求められれば、図13〜図16に示したように、それらと回転行列R(ロボット10の姿勢情報から算出される)から、力覚値の補正処理が可能である。
また、力覚センサー20は、3個以上の3軸力覚センサーユニットを有してもよい。さらに望ましくは、力覚センサー20は、4個以上の3軸力覚センサーユニットを有してもよい。
これにより、適切な交点(質量中心位置)推定、及び推定処理の精度向上等が可能になる。図17において、外力2として示したように、全てのユニット座標系の原点と外力の作用点(推定対象となる質量中心位置)とが同一直線上にある場合には、各ユニットから得られる情報が同じものとなってしまい、適切な推定ができない。具体的には、上式(10)等から一応の解を求めることはできるが、その値は正解値とはかけ離れたものとなる。その点、3軸力覚センサーユニットを3個以上とし、それらのユニット座標系の原点が同一直線上に乗らないように配置すれば、質量中心位置がセンサー座標系のどの位置にあったとしても、上記のような状況にはならず適切に質量中心位置を推定することができる。さらに、図21(A)、図21(B)に示したように、力覚センサー20に含まれる3軸力覚センサーユニットの個数を増やすことで、推定精度を向上させることが可能であるため、コストやセンサーサイズ等が許容するのであれば、3軸力覚センサーユニットの個数は多いほど望ましいということになる。
また、力覚センサー20は、2個(少なくとも2個)の3軸力覚センサーユニットを有してもよい。その場合、力覚値補正部120は、ロボット10の第1の姿勢において、N個の3軸力覚センサーユニットからのユニット出力値に基づき力覚センサー20から出力された第1の力覚値に基づいて、エンドエフェクター12の質量中心位置を推定する処理を行い、制御部110は、力覚値補正部120により質量中心位置の推定が不可と判定された場合には、ロボット10の姿勢を第1の姿勢とは異なる第2の姿勢に変更する制御を行ってもよい。そして、力覚値補正部120は、制御部110によりロボット10が第2の姿勢となる制御が行われた後に、N個の3軸力覚センサーユニットからのユニット出力値に基づき力覚センサー20から出力された第2の力覚値に基づいて、エンドエフェクター12の質量中心位置を推定し、推定した質量中心位置に基づいて、補正処理を行う。
これにより、2個の3軸力覚センサーユニットを有する力覚センサー20を用いることが可能になる。用いる力覚センサーユニットが少なくてすむため、力覚センサー20のコスト低減や、小型化等が可能になる。なお、図17に示したように、3軸力覚センサーユニットが2個の場合には、全てのユニット座標系の原点と質量中心位置が同一直線上となる可能性があるため、単純に質量中心位置を推定する(2直線の交点を求める)だけではなく、その妥当性を検証して、その上で交点の推定が適切に行われていない場合には、姿勢変更して推定をやり直すとよい。姿勢変更は例えば図20(A)から図20(B)への変更等であり、センサー座標系におけるエンドエフェクター12の質量中心位置が変化するような姿勢変更である。
また、力覚値補正部120は、ロボット10の質量中心位置の最小自乗解を正規化方程式により求めることで、エンドエフェクター12の質量中心位置を推定してもよい。
ここで、正規化方程式とは、その解が、上式(8)で示した自乗誤差eを最小にする解となるような方程式であり、この場合上式(9)で与えられる。そして、最小自乗解とは正規化方程式の解であり、上式(9)の正規化方程式の解である最小自乗解は、上式(10)により与えられる。
これにより、上式(8)〜(10)を用いて、直線の交点として質量中心位置を推定することが可能になる。各3軸力覚センサーユニットから出力される力覚値等に全く誤差が含まれないことは考えにくいため、上述したようにユニット毎に決定される直線は、複数の交点を持つ、或いは全く交点を持たない等の状況が考えられ、上式(7)から交点が適切に定まるとは言えない。その点、正規化方程式から最小自乗解を求めることで、そのような状況においても誤差の少ない推定が可能になる。
また、力覚値補正部120は、正規化方程式に対して特異値分解を行い、特異値分解により得られる特異値の数に基づいて、質量中心位置の推定が可能か否かの判定を行ってもよい。
ここで、特異値分解とは上式(13)に示したような分解のことであり、特異値の数とは、上式(13)の行列Σの対角成分のうち、非ゼロとなるものの数を表す。
これにより、質量中心位置の推定(交点の推定)が適切に行われたか否かを容易に判定することが可能になる。上述したように、本実施形態では上式(7)をそのまま解くのではなく、上式(8)以降の式により最小自乗解を求める。そのため、上式(7)の行列Mが正則でないような、そもそも解を求めることができない状況であっても一応の解が推定できてしまう。よって、得られた解をそのまま採用してしまうのは、その後の補正処理等を考慮すれば望ましいことではない。そのため、何らかの手法により推定した交点の妥当性はチェックするべきであり、一例としては特異値の数による判定を行えばよい。
また、力覚センサー20は、N個の3軸力覚センサーユニットの各3軸力覚センサーユニットから、ユニット出力値として3つの値を取得することで、3×N個の値を取得し、取得した3×N個の値に基づいて、X軸、Y軸及びZ軸の並進力Fx,Fy,Fzと、各軸まわりのモーメントMx,My,Mzを算出し、算出したFx,Fy,Fz及びMx,My,Mzを含む情報を力覚値として出力する6軸力覚センサーであってもよい。
これにより、本実施形態の力覚センサー20を通常の6軸力覚センサーとして用いることが可能になる。ロボット10の力制御等では、6軸力覚センサーの6つの値が力覚値として出力されれば処理が可能なことが想定される。その場合、N個のユニットから出力される3×N個の値(ユニット出力値の集合である力覚値)を全て制御に用いようとしても処理が複雑化し、かえって好ましくない可能性もある。よって、通常の6軸力覚センサーとして機能すればよい状況においては、Fx,Fy,Fz及びMx,My,Mzを出力するものとして処理の簡略化を図るとよい。
また、力覚値補正部120は、ロボット10の複数の姿勢において得られた複数の力覚値に基づいて補正処理を行ってもよい。
これにより、ロボット10の姿勢を変化させ、それぞれの姿勢で得られた力覚値に基づいて、力覚値の補正処理を行うことが可能になる。エンドエフェクター12による力覚センサー20への影響はロボット10の姿勢により変動することが想定されるため、複数の姿勢を用いて補正処理を行うことで、異なる状況を複合的に用いた補正処理が可能になる。つまり、複数の姿勢を用いればより精度の高い補正処理を行うことが可能になる。これは、図22のフローチャートではステップS107やステップS105の処理に相当する。
また、本実施形態において上述してきたように、機械装置は、ロボット10であってもよく、機械機構は、ロボット10のエンドエフェクター12であってもよい。その場合、力覚値補正部120は、ロボット10のエンドエフェクター12に対応して設けられ、N個の3軸力覚センサーユニットを有する力覚センサー20から力覚値を取得して、取得した力覚値の補正処理を行い、制御部110は、補正処理後の力覚値に基づいて、ロボット10及びエンドエフェクター12の制御を行う。
ここで、ロボット10のエンドエフェクター12とは、ロボット10のエンドポイントに取り付けられる機器のことであり、ハンドやツール等を含む概念である。なお、機械装置が本実施形態で説明したロボット10以外の装置であってもよいことを考えれば、機械機構とはエンドエフェクター12に限定されず、他の機構も含む概念となる。
これにより、機械装置としてロボット10を用いることが可能になる。この場合、エンドエフェクター12自身による力覚センサー20への力を補正することができ、例えばロボット10のエンドエフェクター12にはたらく外力を用いた力制御(例えばインピーダンス制御)等が可能になる。
なお、本実施形態の制御システム等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサーがプログラムを実行することで、本実施形態の制御システム等が実現される。具体的には、情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで、情報記憶媒体(コンピューターにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリー(カード型メモリー、ROM等)などにより実現できる。そして、CPU等のプロセッサーは、情報記憶媒体に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶される。
4.第2の実施形態
第2の実施形態では、図5(A)、図5(B)に示したように、物理モデル化が困難なエンドエフェクター12を用いるケースについて説明する。なお、本実施形態の手法は、複雑な解析処理により物理モデル化を試みるものではなく、物理モデル化が可能か否かをシステムにより自動的に検出し、不可と判定された場合に従来のリセット処理に切り替えるというものである。
システム構成例については第1の実施形態と同様に図12で示されるため詳細な説明は省略する。本実施形態の補正処理を図24のフローチャートを用いて説明する。
図24から明らかなように、ステップS301〜ステップS310については図22のステップS101〜ステップS110と同様であるため詳細な説明は省略する。つまり、本実施形態においても、エンドエフェクター12の物理モデル化が可能であるか否かはまだわからないため、推定処理を試行することになる。推定処理の詳細については第1の実施形態と同様であるため詳細な説明は省略する。この際、推定処理が一回だけ、つまり取得される実行時パラメーターが1つだけでは、その実行時パラメーターにより表される物理モデルが適切か(当該物理モデルがエンドエフェクター12を表すものとして広範な条件で用いることができるか)否かの判定をすることは困難である。よって実際には、複数回の推定処理を行い、そこから得られる複数の実行時パラメーターが所定誤差以内か否かを判定する(ステップS310)ことが想定される。このことから、本実施形態の処理では図24のステップS308を省略し、ステップS307の処理後は必ずステップS310に移行するものとしてもよい。
ステップS310において、実行時パラメーターが所定誤差以内の場合には、推定した物理モデルによりエンドエフェクター12が適切に表現されているということであるため、第1の実施形態と同様にその際の実行時パラメーターを記憶して(ステップS309)、物理モデルに基づく補正処理を行えばよい。
一方、ステップS310において実行時パラメーターが所定誤差よりも大きい場合には、図5(A)、図5(B)のようにエンドエフェクター12は物理モデル化が困難なものであるという判定をする。なぜなら、上述したように図5(A)ではケーブルの伸び具合やケーブルと床等の摩擦、図5(B)ではA1とA2の相対的位置関係の変化等により、エンドエフェクター12を表す物理モデルが頻繁に変化しうる。つまり、エンドエフェクター12が物理モデル化が可能なものであれば、第1の実施形態で上述したように求められた実行時パラメーターはある程度の誤差内に収まることが想定されるのに対して、物理モデル化が困難なエンドエフェクター12の場合には、仮にセンサー等に全く誤差がなかったとしても、状況次第で求められる実行時パラメーターが変化してしまう。このことから、求めた実行時パラメーターのばらつきが大きいのであれば、それはエンドエフェクター12自体が物理モデル化に適していないものであると判定することになる。
つまり、ステップS310でNoの場合には、エンドエフェクター12の物理モデル化は断念し、従来のリセット処理を行えばよい(ステップS311)。リセット処理の詳細を図25のフローチャートに示す。リセット処理が開始されると、まず作業時と同様の姿勢となるように制御部110に指示する(ステップS401)。作業時と同じ姿勢をとり、且つ実際の作業時とは異なり力を加えないようにすれば、その際に力覚値として検出される値(オフセット値)は、エンドエフェクター12に起因して力覚センサーにはたらく力を表すことになり、その値は作業時においても変化しないはずである。つまり、ロボット10全体の姿勢が作業時と同一になっている必要はなく、オフセット値が作業時と十分に近い値となる姿勢となっていればよい。
そして、指示に従って制御部110により姿勢変更が行われたら、姿勢変更後の力覚値をオフセット値として記憶する(ステップS402)。そして、ステップS402の後、作業の終了時まで、力覚センサー20から取得される力覚値に対して、オフセット値を除去するオフセット除去処理を行う(ステップS403)。
5.第3の実施形態
第3の実施形態では、図6(A)〜図6(C)に示したようにエンドエフェクター12が可変部を含む場合について説明する。本実施形態では、エンドエフェクター12としてハンドにより把持されるツール(図11(A)の12−2等)を考慮しなくてもよい場合、或いはツールを把持するがその把持位置が固定の場合等を想定しており、物理モデルが未知であったり、そもそも推定が不可であることはないものとする。つまり本実施形態では、エンドエフェクター12の形状、質量等は既知であるものの、例えば図6(B)に示したような指関節角の変化等により、当該エンドエフェクター12の物理モデルが変化する点を問題とする。
5.1 システム構成例
本実施形態のシステム構成例を図26に示す。第1の実施形態に比べて、力覚値補正部120の第2の補正処理部123、実行時パラメーター算出部126及び実行時パラメーター記憶部127が除かれ、第3の補正処理部122及び可変部パラメーター記憶部125が追加された構成となっている。
固定部パラメーター記憶部124は、エンドエフェクター12のうち固定部(図27における手のひら部分12−3等)の物理モデルに対応する固定部パラメーターを記憶する。そして、第1の補正処理部121は、固定部パラメーターと、姿勢情報取得部130からのロボット10の姿勢情報とに基づいて、固定部についての力覚値補正処理を行う。
可変部パラメーター記憶部125は、エンドエフェクター12のうち可変部(図27における指部分12−4等)の物理モデルに対応する可変部パラメーターを記憶する。そして、第3の補正処理部121は、可変部パラメーターと、姿勢情報取得部130からのロボット10の姿勢情報、及びエンドエフェクター12の姿勢情報とに基づいて、可変部についての力覚値補正処理を行う。
5.2 可変部に関する補正処理の詳細
固定部の補正処理として第1の実施形態において上述したように、可変部についても質量中心位置を原点とする座標系1を設定した場合に、センサー座標系(座標系2)から座標系1への並進ベクトルt及び回転行列Rを求めることができれば、力覚値の補正処理が可能になる。
ここで、説明を簡略化するために、図28(B)に示したように、図28(A)のうち力覚センサー20と、1本の指構造のみを考える。さらに、図29に示したように指構造を、指回転座標系の原点(図28(B)のC1)において、X軸まわりに回転可能な構造とし、その回転角をθとする。つまりここでは、指構造の他の部分には関節はないものとする。
この場合、指構造自体の物理モデルは既知であるため、指回転座標系の原点から質量中心位置(図28(B)のC2)までの並進ベクトルt2と、質量mはあらかじめ可変部パラメーターとして記憶されている。また、指回転座標系の原点C1は関節部分(つまり回転角θを規定する際の回転軸)であるため、センサー座標系の原点との相対位置は不変であり、センサー座標系の原点からC1への並進ベクトルt3も既知の可変部パラメーターとして記憶されている。また、センサー座標系と指回転座標系との間の回転は、指回転座標系がθの値に応じて回転することを考慮すれば未知であるが、θが所与の基準値である場合の座標系間のロール角・ピッチ角・ヨー角(u,v,w)は既知であり、同様に可変部パラメーターとして記憶されている。
つまり、可変部の動きを表すパラメーターθさえ決まれば、θ、t2、t3,u,v,wにより、センサー座標系における質量中心位置を表す変位ベクトル(センサー座標系の原点から質量中心位置へのベクトル)を求めることができ、当該変位ベクトルは図13等で示した並進ベクトルtに他ならない。一例としては、並進ベクトルt2に対して、θ及びu,v,wにより表される回転行列に基づいて座標変換を行いセンサー座標系におけるベクトルに変換し、変換後のベクトルとt3とのベクトルの和を求めることが考えられる。また、一般的には4×4の斉次行列の要素として求めてもよく、この場合並進及び回転の両方を行列により処理できるというメリットがある。
以上に示したように、可変部パラメーター(t2、t3,u,v,w)とエンドエフェクター12の姿勢情報(θ)から、センサー座標系を基準とした並進ベクトルt(質量中心位置x,y,zに相当)が求められ、また質量mについては既知の値をそのまま使うことができる。つまり、可変部についても固定部パラメーターに相当する値を算出することができるため、その後の処理は第1の実施形態において上述したように、上式(2)に基づいてF’及びM’を求め、求められたF’及びM’の値を力覚値から除去すればよい。このようにすることで、可変部による力覚値への影響を抑止することが可能になる。
以上の処理をまとめたものが図30(A)〜図30(C)である。第1の実施形態で上述した固定部については、図30(A)に示したように、(x,y,z,m)が固定部パラメーターとして記憶されており、ロボット10の姿勢情報に基づき回転行列Rが求められれば、固定部補正量を求めることができ、それにより補正処理が可能になる。それに対して可変部については、図30(B)に示したように、可変部パラメーターとして一例としては上述したように(t2、t3,u,v,w)が記憶されており、当該可変部パラメーターと、エンドエフェクター12(狭義には可変部)の姿勢情報θとに基づいて(x,y,z,m)を求める。そして、求めた(x,y,z,m)と回転行列Rとから可変部補正量を求めて補正処理を行う。
また、第1の実施形態に示した推定処理を行う場合には、事前にパラメーターを記憶するのではなく、図30(C)に示したように力覚値に基づいて(x,y,z,m)を推定することになる。推定結果が得られた後は、固定部と同様に回転行列Rから補正量を求めて補正処理を行うことになる。
5.3 処理の詳細
本実施形態の補正処理を図31のフローチャートを用いて説明する。この処理が開始されると、力覚センサー20からの出力値(補正処理前の力覚値)を取得する(ステップS501)。そして取得した力覚値に対して固定部に対応する補正処理を行う(ステップS502)。
ステップS502での固定部の補正処理については第1の実施形態で説明した図23と同様であるため、詳細な説明は省略する。次に可変部パラメーター(上記の例ではt2、t3,u,v,w)と指関節パラメーター(上記の例ではθ)に基づいて、補正用パラメーター(上記の例ではt=(x,y,z)とm)を求める(ステップS503)。そして求めた補正用パラメーターとロボット10の姿勢に基づいて可変部補正量を算出する(ステップS504)。ステップS504の処理は上記の例では、ロボット10の姿勢情報に基づいてRを求め、上式(2)によりF’とM’を求める処理に相当する。
そして、ステップS502の出力である固定部補正処理後の力覚値に対して、ステップS504で求めた可変部補正量による補正処理を行い(ステップS505)、その結果を補正処理後の力覚値として出力する(ステップS506)。ステップS506での出力は固定部及び可変部の両方の補正処理が行われたものであるため、エンドエフェクター12全体に関する補正処理が行われた力覚値となる。
以上の本実施形態では、制御システムは図26に示したように、ロボット10が有する可変部(例えば図27の12−4に示した指構造)の姿勢情報を取得する姿勢情報取得部130を含んでもよい。そして、力覚値補正部120は、可変部の姿勢情報に基づいて、可変部の質量中心位置を推定して補正処理を行う。
これにより、エンドエフェクター12が可変部を含むことで、エンドエフェクター12全体の物理モデルが変化するような場合においても、適切な補正処理を行うことが可能になる。具体的には、(t2、t3,u,v,w)のような可変部パラメーターを保持しておき、当該可変部パラメーターと、可変部の姿勢情報(θ)とから、質量中心位置(x,y,z)を推定する。質量中心位置及び質量が求められれば、その後は図30(A)、図30(B)に示したように、固定部と同様の処理により補正が可能である。
6.第4の実施形態
第1〜第3の実施形態で説明した手法は、それぞれ独立に用いられるものに限定されず、複数を組み合わせてもよい。ここでは図4(A)に示したように、可変の指構造を有するハンドによりツールが把持され、且つ当該ツールの把持位置に自由度がある場合、さらに把持対象ツールの候補として図5(A)等に示した物理モデル化が困難なものも含まれる場合について考える。この場合には、エンドエフェクター12が可変部を有するため、第3の実施形態で説明した手法を用い、さらに物理モデルが未知であるため第1の実施形態で説明した推定手法を用いる必要がある。さらに物理モデル化そのものが不可能な場合もあり得るため、推定の可否を判定する第2の実施形態の手法も用いるとよい。
6.1 システム構成例
本実施形態のシステム構成例を図32に示す。図32に示したように、制御システムの力覚値補正部120は、図12及び図26に示した各部を含む。なお、図26には不図示であるが、力覚値補正部120は、実行時パラメーター算出部126での算出結果に基づいて、制御部110に対して姿勢の変更を指示する姿勢変更指示部を含んでもよい。姿勢変更指示部は、第1の実施形態において上述した図12の力覚値補正部120に含まれてもよいものである。
第1の補正処理部121は、第3の補正処理部122に接続される。第3の補正処理部122は、第2の補正処理部123と、実行時パラメーター算出部126に接続される。実行時パラメーター算出部126は、実行時パラメーター記憶部127に接続される。
力覚値補正部120が姿勢変更指示部を含む場合、当該姿勢変更指示部は、実行時パラメーター算出部126での算出処理の結果に基づいて、制御部110に対してロボット10の姿勢変更を指示する。具体的には、推定された交点(質量中心位置)が不適切と判定された場合、或いは算出した実行時パラメーター(推定された交点を含む)とは異なる姿勢での実行時パラメーターを求めたい場合等に、姿勢変更指示部は制御部110に対して姿勢変更を指示することになる。
6.2 処理の詳細
本実施形態の補正処理を図33のフローチャートを用いて説明する。この処理が開始されると、力覚センサー20からの出力値(補正処理前の力覚値)を取得する(ステップS601)。そして取得した力覚値に対して固定部及び可変部に対応する補正処理を行う(S602)。ステップS602での固定部の補正処理については第1の実施形態で説明した図23と同様であるため、詳細な説明は省略する。また、可変部の補正処理については、第3の実施形態で説明した図31のステップS503〜ステップS506と同様である。
その後のステップS603〜ステップS611については、第2の実施形態で説明した図24のステップS303〜ステップS311と同様である。つまり、第1〜第3の実施形態を組み合わせた本実施形態の処理手順の一例としては、まず固定部・可変部に対する補正処理を行い、その補正処理後の力覚値に基づいて推定処理を行う。そして推定処理の結果からエンドエフェクター12の物理モデル化の可否を判定し、物理モデル化が可能であれば推定結果を用いて補正処理を行う。一方、物理モデル化が不可であれば物理モデルを用いた補正処理をあきらめ、リセット処理により補正処理を行うことになる。
以上、本発明を適用した4つの実施の形態1〜4およびその変形例について説明したが、本発明は、各実施の形態1〜4やその変形例そのままに限定されるものではなく、実施段階では、発明の要旨を逸脱しない範囲内で構成要素を変形して具体化することができる。また、上記した各実施の形態1〜4や変形例に開示されている複数の構成要素を適宜組み合わせることによって、種々の発明を形成することができる。例えば、各実施の形態1〜4や変形例に記載した全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態や変形例で説明した構成要素を適宜組み合わせてもよい。また、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能である。
Fx,Fy,Fz 並進力、Mx,My,Mz モーメント、R 回転行列、
t 並進ベクトル、10 ロボット、12 エンドエフェクター、
20 力覚センサー、21−1〜21−4 3軸力覚センサーユニット、
100 制御装置、110 制御部、120 力覚値補正部、
121 第1の補正処理部、122 第3の補正処理部、123 第2の補正処理部、
124 固定部パラメーター記憶部、125 可変部パラメーター記憶部、
126 実行時パラメーター算出部、127 実行時パラメーター記憶部、
130 姿勢情報取得部

Claims (10)

  1. 機械機構を有するロボットと、
    N(Nは2以上の整数)個の3軸力覚センサーユニットを有し、N個の前記3軸力覚センサーユニットの各3軸力覚センサーユニットから、前記機械機構に起因する値が付加されたユニット出力値を取得し、前記ユニット出力値に基づく力覚値を出力する力覚センサーと、
    前記力覚センサーが出力した前記力覚値に基づいて、前記力覚値の補正処理を行う力覚値補正部と、
    前記力覚値補正部において補正された前記力覚値に基づいて、前記機械機構を含む前記ロボットの制御を行う制御部と、
    を含み、
    前記力覚センサーは、
    N個の前記3軸力覚センサーユニットの各3軸力覚センサーユニットから出力された前記ユニット出力値を含む情報を、前記力覚値として出力し、
    前記力覚値補正部は、
    前記力覚値に含まれる前記ユニット出力値に基づいて、前記機械機構の質量中心位置を推定し、
    前記力覚値に含まれる前記ユニット出力値から、N個の前記3軸力覚センサーユニットのそれぞれが検出した力に対応するN個の力ベクトルを求め、求めたN個の前記力ベクトルの合成ベクトルの大きさに基づいて、前記機械機構の質量を推定し、
    推定した前記質量中心位置と前記質量に基づいて、前記補正処理を行うことを特徴とするロボット制御システム。
  2. 機械機構を有するロボットと、
    N(Nは2以上の整数)個の3軸力覚センサーユニットを有し、N個の前記3軸力覚センサーユニットの各3軸力覚センサーユニットから、前記機械機構に起因する値が付加されたユニット出力値を取得し、前記ユニット出力値に基づく力覚値を出力する力覚センサーと、
    前記力覚センサーが出力した前記力覚値に基づいて、前記力覚値の補正処理を行う力覚値補正部と、
    前記力覚値補正部において補正された前記力覚値に基づいて、前記機械機構を含む前記ロボットの制御を行う制御部と、
    を含み、
    前記力覚センサーは、
    N個の前記3軸力覚センサーユニットの各3軸力覚センサーユニットから出力された前記ユニット出力値を含む情報を、前記力覚値として出力し、
    前記力覚値補正部は、
    前記力覚値に含まれる前記ユニット出力値に基づいて、前記機械機構の質量中心位置の最小自乗解を正規化方程式により求めることで、前記機械機構の前記質量中心位置を推定し、推定した前記質量中心位置に基づいて、前記補正処理を行うことを特徴とするロボット制御システム。
  3. 請求項において、
    前記力覚値補正部は、
    前記正規化方程式に対して特異値分解を行い、前記特異値分解により得られる特異値の数に基づいて、前記質量中心位置の推定が可能か否かの判定を行うことを特徴とするロボット制御システム。
  4. 請求項1乃至3のいずれかにおいて、
    前記力覚センサーは、
    3個以上の前記3軸力覚センサーユニットを有することを特徴とするロボット制御システム。
  5. 請求項1乃至3のいずれかにおいて、
    前記力覚センサーは、
    4個以上の前記3軸力覚センサーユニットを有することを特徴とするロボット制御システム。
  6. 機械機構を有するロボットと、
    N(Nは2以上の整数)個の3軸力覚センサーユニットを有し、N個の前記3軸力覚センサーユニットの各3軸力覚センサーユニットから、前記機械機構に起因する値が付加されたユニット出力値を取得し、前記ユニット出力値に基づく力覚値を出力する力覚センサーと、
    前記力覚センサーが出力した前記力覚値に基づいて、前記力覚値の補正処理を行う力覚値補正部と、
    前記力覚値補正部において補正された前記力覚値に基づいて、前記機械機構を含む前記ロボットの制御を行う制御部と、
    を含み、
    前記力覚センサーは、
    少なくとも2個の前記3軸力覚センサーユニットを有し、
    前記力覚値補正部は、
    前記ロボットの第1の姿勢において、2個の前記3軸力覚センサーユニットからの前記ユニット出力値に基づき前記力覚センサーから出力された第1の力覚値に基づいて、前記機械機構の質量中心位置を推定する処理を行い、
    前記制御部は、
    前記力覚値補正部により前記質量中心位置の推定が不可と判定された場合には、前記ロボットの姿勢を前記第1の姿勢とは異なる第2の姿勢に変更する制御を行い、
    前記力覚値補正部は、
    前記制御部により前記ロボットが前記第2の姿勢となる制御が行われた後に、2個の前記3軸力覚センサーユニットからの前記ユニット出力値に基づき前記力覚センサーから出力された第2の力覚値に基づいて、前記機械機構の前記質量中心位置を推定し、推定した前記質量中心位置に基づいて、前記補正処理を行うことを特徴とするロボット制御システム。
  7. 請求項1乃至のいずれかにおいて、
    前記力覚センサーは、
    N個の前記3軸力覚センサーユニットの各3軸力覚センサーユニットから、前記ユニット出力値として3つの値を取得することで、3×N個の値を取得し、
    取得した3×N個の値に基づいて、X軸、Y軸及びZ軸の並進力Fx,Fy,Fzと、各軸まわりのモーメントMx,My,Mzを算出し、
    算出したFx,Fy,Fz及びMx,My,Mzを含む情報を前記力覚値として出力する6軸力覚センサーであることを特徴とするロボット制御システム。
  8. ロボットの機械機構に対応して設けられ、N(Nは2以上の整数)個の3軸力覚センサーユニットを有し、N個の前記3軸力覚センサーユニットの各3軸力覚センサーユニットから出力されたユニット出力値を含む情報を、力覚値として出力する力覚センサーから前記力覚値を取得し、
    取得した前記力覚値に対して補正処理を行い、
    前記補正処理後の前記力覚値に基づいて、前記ロボットおよび前記機械機構の制御を行い、
    前記補正処理として、前記力覚値に含まれる前記ユニット出力値に基づいて、前記機械機構の質量中心位置を推定し、前記力覚値に含まれる前記ユニット出力値から、N個の前記3軸力覚センサーユニットのそれぞれが検出した力に対応するN個の力ベクトルを求め、求めたN個の前記力ベクトルの合成ベクトルの大きさに基づいて、前記機械機構の質量を推定し、推定した前記質量中心位置と前記質量に基づいて、前記力覚値を補正する処理を行うことを特徴とするロボット制御装置。
  9. ロボットの機械機構に対応して設けられ、N(Nは2以上の整数)個の3軸力覚センサーユニットを有し、N個の前記3軸力覚センサーユニットの各3軸力覚センサーユニットから出力されたユニット出力値を含む情報を、力覚値として出力する力覚センサーから前記力覚値を取得し、
    取得した前記力覚値に対して補正処理を行い、
    前記補正処理後の前記力覚値に基づいて、前記ロボットおよび前記機械機構の制御を行い、
    前記補正処理として、前記力覚値に含まれる前記ユニット出力値に基づいて、前記機械機構の質量中心位置の最小自乗解を正規化方程式により求めることで、前記機械機構の前記質量中心位置を推定し、推定した前記質量中心位置に基づいて、前記力覚値を補正する処理を行うことを特徴とするロボット制御装置。
  10. ロボットの機械機構に対応して設けられ、N(Nは2以上の整数)個の3軸力覚センサーユニットを有し、N個の前記3軸力覚センサーユニットの各3軸力覚センサーユニットから出力されたユニット出力値を含む情報を、力覚値として出力する力覚センサーから前記力覚値を取得し、
    取得した前記力覚値に対して補正処理を行い、
    前記補正処理後の前記力覚値に基づいて、前記ロボットおよび前記機械機構の制御を行い、
    前記補正処理として、前記ロボットの第1の姿勢において、2個の前記3軸力覚センサーユニットからの前記ユニット出力値に基づき前記力覚センサーから出力された第1の力覚値に基づいて、前記機械機構の質量中心位置を推定する処理を行い、
    前記補正処理において、前記質量中心位置の推定が不可と判定された場合には、前記ロボットの姿勢を前記第1の姿勢とは異なる第2の姿勢に変更する制御を行い、
    前記補正処理として、
    前記ロボットが前記第2の姿勢となる制御が行われた後に、2個の前記3軸力覚センサーユニットからの前記ユニット出力値に基づき前記力覚センサーから出力された第2の力覚値に基づいて、前記機械機構の前記質量中心位置を推定し、推定した前記質量中心位置に基づいて、前記力覚値を補正する処理を行うことを特徴とするロボット制御装置。
JP2012161732A 2012-07-20 2012-07-20 ロボット制御システム及びロボット制御装置 Active JP6007636B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2012161732A JP6007636B2 (ja) 2012-07-20 2012-07-20 ロボット制御システム及びロボット制御装置
US13/938,350 US9149930B2 (en) 2012-07-20 2013-07-10 Control system, program, and method of controlling mechanical equipment
CN201310291087.8A CN103568011B (zh) 2012-07-20 2013-07-11 控制系统、程序以及机械装置的控制方法
TW102125431A TW201404560A (zh) 2012-07-20 2013-07-16 控制系統、程式及機械裝置之控制方法
EP13177026.5A EP2687341B1 (en) 2012-07-20 2013-07-18 Control system, program, and method of controlling mechanical equipment
KR1020130085280A KR20140011984A (ko) 2012-07-20 2013-07-19 제어 시스템, 프로그램 및 기계 장치의 제어 방법
US14/845,860 US20150375392A1 (en) 2012-07-20 2015-09-04 Control system, program, and method of controlling mechanical equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012161732A JP6007636B2 (ja) 2012-07-20 2012-07-20 ロボット制御システム及びロボット制御装置

Publications (3)

Publication Number Publication Date
JP2014018931A JP2014018931A (ja) 2014-02-03
JP2014018931A5 JP2014018931A5 (ja) 2015-09-03
JP6007636B2 true JP6007636B2 (ja) 2016-10-12

Family

ID=48793972

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012161732A Active JP6007636B2 (ja) 2012-07-20 2012-07-20 ロボット制御システム及びロボット制御装置

Country Status (6)

Country Link
US (2) US9149930B2 (ja)
EP (1) EP2687341B1 (ja)
JP (1) JP6007636B2 (ja)
KR (1) KR20140011984A (ja)
CN (1) CN103568011B (ja)
TW (1) TW201404560A (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014110682A1 (en) * 2013-01-18 2014-07-24 Robotiq Inc. Force/torque sensor, apparatus and method for robot teaching and operation
JP5616478B1 (ja) * 2013-04-18 2014-10-29 ファナック株式会社 ワークを搬送するロボットを備えるロボットシステム
CN104608113B (zh) 2013-11-01 2018-07-17 精工爱普生株式会社 机器人、机器人系统以及机器人控制装置
JP6459227B2 (ja) * 2014-06-02 2019-01-30 セイコーエプソン株式会社 ロボットシステム
FR3026553B1 (fr) * 2014-09-29 2021-03-19 Commissariat Energie Atomique Interface haptique prenant en compte l'intention d'action de l'utilisateur
US10682276B2 (en) 2014-10-29 2020-06-16 Murata Machinery, Ltd. Training device and method for correcting force component signals
WO2016067910A1 (ja) * 2014-10-29 2016-05-06 村田機械株式会社 訓練装置及び力量の補正方法
JP5931167B1 (ja) * 2014-12-11 2016-06-08 ファナック株式会社 人間協調型ロボットシステム
US9827670B1 (en) * 2016-05-24 2017-11-28 X Development Llc Coaxial finger face and base encoding
JP6420298B2 (ja) * 2016-12-02 2018-11-07 ファナック株式会社 ロボットを制御するロボット制御装置、およびロボットに加わる外乱値を推定する方法
WO2018198480A1 (ja) 2017-04-28 2018-11-01 ソニー株式会社 制御装置、および制御方法
JP6927498B2 (ja) * 2018-01-29 2021-09-01 アラクノフォース株式会社 力覚提示装置
JP6703018B2 (ja) * 2018-02-01 2020-06-03 ファナック株式会社 作業ロボットシステム
WO2019208162A1 (ja) * 2018-04-26 2019-10-31 パナソニック株式会社 アクチュエータ装置、アクチュエータ装置による対象物取出方法、及び、対象物取出システム
KR102543596B1 (ko) * 2018-08-31 2023-06-19 삼성전자주식회사 외력의 측정을 위한 적어도 하나의 파라미터를 산출하는 방법 및 이를 수행하는 전자 장치
CN109846411B (zh) * 2018-12-28 2020-12-29 尚一盛世(北京)科技有限公司 一种攀爬支撑臂扬角控制系统
DE102019101595B3 (de) * 2019-01-23 2020-03-12 Franka Emika Gmbh Verfahren zum Ermitteln einer Gewichtskraft und eines Schwerpunktes einer Robotermanipulatorlast
JP7136729B2 (ja) * 2019-03-20 2022-09-13 ファナック株式会社 ロボットを用いて負荷の重量及び重心位置を推定するための装置、方法、プログラム、制御装置及びロボットシステム
CN112596531B (zh) * 2021-03-04 2021-06-22 德鲁动力科技(成都)有限公司 一种四足机器人自适应负载参数调整方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61265294A (ja) 1985-05-20 1986-11-25 富士通株式会社 能動型力検出装置
JPH0643036B2 (ja) * 1985-12-26 1994-06-08 日立建機株式会社 把持装置
JP2713899B2 (ja) * 1987-03-30 1998-02-16 株式会社日立製作所 ロボツト装置
JP2649187B2 (ja) 1990-11-07 1997-09-03 川崎重工業株式会社 マニピュレータ
US5497061A (en) 1993-03-31 1996-03-05 Hitachi, Ltd. Method of controlling robot's compliance
US5814959A (en) 1993-03-31 1998-09-29 Hitachi, Ltd. Gyro-moment compensation control method and apparatus
JP3412236B2 (ja) 1993-03-31 2003-06-03 株式会社日立製作所 多自由度ロボット及びそのコンプライアンス制御方法
JP3086104B2 (ja) * 1993-05-07 2000-09-11 日立建機株式会社 力制御作業機械の重量・重心位置補正装置
JP3265539B2 (ja) 1993-06-28 2002-03-11 株式会社共和電業 多分力計
JPH07205075A (ja) * 1994-01-25 1995-08-08 Nippon Steel Corp 力制御ロボットにおけるエンドエフェクタの重量補償方法
JP3767643B2 (ja) * 1996-12-02 2006-04-19 株式会社安川電機 教示用力センサ
JP5568768B2 (ja) 2003-03-31 2014-08-13 株式会社トライフォース・マネジメント 力検出装置
JP4907050B2 (ja) 2003-03-31 2012-03-28 株式会社ワコー 力検出装置
JP4055703B2 (ja) * 2003-12-05 2008-03-05 トヨタ自動車株式会社 ロボットハンド装置
JP4550500B2 (ja) 2004-04-01 2010-09-22 多摩川精機株式会社 多軸センサを有する力センサ装置における応力検出方法及び、この方法を用いる力センサ装置。
US9110456B2 (en) * 2004-09-08 2015-08-18 Abb Research Ltd. Robotic machining with a flexible manipulator
CN1796954A (zh) * 2004-12-22 2006-07-05 中国科学院合肥智能机械研究所 柔性三维力触觉传感器
US8065060B2 (en) * 2006-01-18 2011-11-22 The Board Of Regents Of The University And Community College System On Behalf Of The University Of Nevada Coordinated joint motion control system with position error correction
JP4267027B2 (ja) * 2006-12-07 2009-05-27 ファナック株式会社 ロボット制御装置
JP5008188B2 (ja) 2007-05-31 2012-08-22 ミネベア株式会社 3軸力センサ及び3軸力検出方法
JP4600445B2 (ja) 2007-07-23 2010-12-15 トヨタ自動車株式会社 ロボットハンド装置
JP4655074B2 (ja) * 2007-07-27 2011-03-23 トヨタ自動車株式会社 ワーク搬送装置およびワーク設置方法
CN100509307C (zh) * 2007-09-06 2009-07-08 上海交通大学 六维力传感器装配机械手姿态及力的控制方法
JP5117804B2 (ja) 2007-09-21 2013-01-16 株式会社豊田中央研究所 6軸力センサ
JP4988545B2 (ja) 2007-12-29 2012-08-01 国立大学法人埼玉大学 外力検出方法及び検出装置
WO2009088828A1 (en) * 2007-12-31 2009-07-16 Abb Research Ltd. Method and apparatus using a force sensor to provide load compensation for a robot
JP4737209B2 (ja) * 2008-02-27 2011-07-27 トヨタ自動車株式会社 パワーアシスト装置およびその制御方法
JP5248182B2 (ja) 2008-04-18 2013-07-31 株式会社ワコー 力検出装置
JP5243988B2 (ja) 2009-02-10 2013-07-24 本田技研工業株式会社 多軸力覚センサおよび加速度センサ
US8924010B2 (en) * 2009-02-13 2014-12-30 Hocoma Ag Method to control a robot device and robot device
JP2011033607A (ja) 2009-07-30 2011-02-17 Sekai Saisoku Shisaku Center:Kk 力覚または運動センサおよびその製造方法
KR101665543B1 (ko) 2009-08-12 2016-10-13 삼성전자 주식회사 인간형 로봇의 안정화 장치 및 그 방법
JP2011080945A (ja) 2009-10-09 2011-04-21 Leptrino Co Ltd 力覚センサ
JP4962551B2 (ja) * 2009-10-20 2012-06-27 株式会社安川電機 ロボットシステムおよびロボットシステムの制御方法
JP5398591B2 (ja) 2010-03-01 2014-01-29 本田技研工業株式会社 脚式移動ロボットの外力目標生成装置
JP5512406B2 (ja) * 2010-06-09 2014-06-04 国立大学法人埼玉大学 外力検出インタフェースの故障検知方法
EP2572838A1 (en) * 2010-08-31 2013-03-27 Kabushiki Kaisha Yaskawa Denki Robot, robot system, robot control device, and state determining method
JP2012122823A (ja) * 2010-12-08 2012-06-28 Seiko Epson Corp 検出装置、電子機器、及びロボット
CN102166755B (zh) * 2011-01-26 2012-08-22 东南大学 一种遥操作机器人的机械手末端三维接触力测量方法
CN102175362A (zh) * 2011-03-07 2011-09-07 合肥工业大学 多功能柔性触觉传感器
CN102218652B (zh) * 2011-05-09 2012-11-21 无锡引域智能机器人有限公司 一种利用机器人的柔顺性实现轴孔装配的装置和方法

Also Published As

Publication number Publication date
TW201404560A (zh) 2014-02-01
EP2687341B1 (en) 2016-05-11
KR20140011984A (ko) 2014-01-29
JP2014018931A (ja) 2014-02-03
US9149930B2 (en) 2015-10-06
US20150375392A1 (en) 2015-12-31
EP2687341A2 (en) 2014-01-22
CN103568011A (zh) 2014-02-12
US20140025205A1 (en) 2014-01-23
CN103568011B (zh) 2017-04-12
EP2687341A3 (en) 2014-12-03

Similar Documents

Publication Publication Date Title
JP6007636B2 (ja) ロボット制御システム及びロボット制御装置
CN109202942B (zh) 手控制装置、手控制方法以及手的模拟装置
JP6380828B2 (ja) ロボット、ロボットシステム、制御装置、及び制御方法
US10532461B2 (en) Robot and robot system
US10399221B2 (en) Robot and robot system
JP4595727B2 (ja) 外力推定システム及び外力推定方法、並びにコンピュータ・プログラム
US8965581B2 (en) Robot apparatus, assembling method, and recording medium
US10220513B2 (en) Robot control apparatus, robot and robot system
US11117266B2 (en) Control device, robot, and robot system
JP6003312B2 (ja) ロボットシステム
US20200061835A1 (en) Collision handling by a robot
JP6996113B2 (ja) ロボット制御方法、ロボットシステムおよび制御装置
JP2009269127A (ja) 把持装置及びその制御方法
US10377043B2 (en) Robot control apparatus, robot, and robot system
JP2012137421A (ja) 3軸力センサを用いて力制御をおこなうロボットの制御装置
Li et al. Integrating vision, haptics and proprioception into a feedback controller for in-hand manipulation of unknown objects
JP5787646B2 (ja) ロボットシステム及び部品の製造方法
JP5849477B2 (ja) ロボット、ロボット制御装置、ロボット制御方法、およびプログラム
WO2022039058A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6455869B2 (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP2005329476A (ja) 操作部材の制御方法および装置
Kaul et al. The sense of surface orientation—A new sensor modality for humanoid robots
Psomopoulou et al. A robot hand-over control scheme for human-like haptic interaction
JP2017052073A (ja) ロボットシステム、ロボット、及びロボット制御装置
JP2015168050A (ja) ロボット制御装置、ロボットおよびロボット制御方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150716

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150716

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160829

R150 Certificate of patent or registration of utility model

Ref document number: 6007636

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150