JP4276626B2 - バックラッシュ補償制御方法、バックラッシュ補償制御装置およびバックラッシュ補償制御プログラム - Google Patents

バックラッシュ補償制御方法、バックラッシュ補償制御装置およびバックラッシュ補償制御プログラム Download PDF

Info

Publication number
JP4276626B2
JP4276626B2 JP2004572093A JP2004572093A JP4276626B2 JP 4276626 B2 JP4276626 B2 JP 4276626B2 JP 2004572093 A JP2004572093 A JP 2004572093A JP 2004572093 A JP2004572093 A JP 2004572093A JP 4276626 B2 JP4276626 B2 JP 4276626B2
Authority
JP
Japan
Prior art keywords
control command
command value
period
value
backlash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004572093A
Other languages
English (en)
Other versions
JPWO2004103649A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2004103649A1 publication Critical patent/JPWO2004103649A1/ja
Application granted granted Critical
Publication of JP4276626B2 publication Critical patent/JP4276626B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/1628Programme controls characterised by the control loop
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • 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
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T74/00Machine element or mechanism
    • Y10T74/19Gearing
    • Y10T74/1987Rotary bodies
    • Y10T74/19893Sectional
    • Y10T74/19898Backlash take-up
    • 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
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T74/00Machine element or mechanism
    • Y10T74/20Control lever and linkage systems
    • Y10T74/20207Multiple controlling elements for single controlled element
    • Y10T74/20305Robotic arm

Landscapes

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

Description

本発明は、駆動源からの駆動力をバックラッシュを伴って伝達する、例えばギア等からなる駆動力伝達系を介して伝達されてきた駆動力を受けて周期的な動作を行なうロボットに、バックラッシュが補償された動作を行なわさせるバックラッシュ補償制御方法、バックラッシュ補償制御装置、およびプログラムを実行するコンピュータをそのようなバックラッシュ補償制御装置として動作させるバックラッシュ補償制御プログラムに関する。
近年、ロボットの関節の動作制御用のアクチュエータとして電気モータが広範に利用されている。また、ロボットを十分なパワーで駆動するために、ロボット機構システム内では電気モータの駆動力を伝達する駆動力伝達系として様々なギアシステムが広く採用されている。ここで、ギアとギアとの間には隙き間が存在し、したがってギアを利用した駆動力伝達系には、バックラッシュが存在する。ところが、例えば二足歩行ロボット等多くのロボットにおいては、関節の動作方向(回転方向)が正逆方向に変化し、バックラッシュのために非線形の望ましからざる動作が発生し、一般的に、このことがロボット関節の位置(姿勢)制御の精度限界となっている。特に二足歩行ロボットの二足歩行制御の場合、関節のバックラッシュは位置(姿勢)制御に影響を及ぼすことから、歩行動作の安定性を著しく悪化させることになる。
上記のバックラッシュの問題に関しては、特許文献1に、バックラッシュの大きさを検出するセンサを備えてバックラッシュを計測し、ギアの経年変化による摩耗によりバックラッシュが増加した場合に通知するという技術が提案されている。また、特許文献2には、ロボットの移動部分の原点位置を検出する原点センサを備え、機械的原点位置を精度よく求めてバックラッシュの影響を低減する技術が開示されている。
特開平8−71966号公報 特開平10−76488号公報
上記のとおり、ギア等によるバックラッシュは高精度の位置制御を行なう場合に動作の不安定さを引き起こし、例えば二足歩行ロボットの場合、動作が不安定なために僅かな外乱で転倒してしまうなど、所期の動作を行ない得ない場合もある。
これに対し、上記の特許文献1は、バックラッシュ計測しようというものに過ぎず、正常な状態におけるバックラッシュを小さく押えるという技術ではない。また、引用文献2は、原点位置を検出しようとするもので、外乱のない動作制御には有効な場合もあるが、外力を受ける場合、例えば二足歩行ロボットの二足歩行制御など、電気モータからの駆動力のほか、床に足を衝いたり床から足を引き上げたりなど床からの反力が変化する場合などは、いくら原点位置を検出してみてもバックラッシュの存在と外力の変化とにより、不用意、不規則な動作が生じてしまうことを免がれることはできない。
また、上記の特許文献1ではバックラッシュを測定するセンサ、特許文献2では原点センサを組み込む必要があり、ハードウェア上の変更が必要となる。
本発明は、上記事情に鑑み、駆動力伝達系がバックラッシュを有していても、そのバックラッシュが動作にあらわれるのを抑制し、バックラッシュが補償された動作制御を行なうことのできるバックラッシュ補償制御方法、バックラッシュ補償制御装置、およびコンピュータをそのようなバックラッシュ補償制御装置として動作させるバックラッシュ補償制御プログラムを提供することを目的とする。
上記目的を達成する本発明のバックラッシュ補償制御方法は、駆動源からの駆動力をバックラッシュを伴って伝達する駆動力伝達系を介して伝達されてきた駆動力を受けて周期的な動作を行なうロボットに、バックラッシュが補償された動作を行なわさせるバックラッシュ補償制御方法において、
ロボットの動作の一周期内におけるバックラッシュに起因する不良動作が生じ得る所定の第1の期間中、所定の第1の動作制御値に所定の第1の補正値を繰返し累積加算することにより、その第1の期間をかけて漸次所定の第2の動作制御値に偏倚させるとともに、その一周期内におけるバックラッシュに起因する不良動作が生じ得る所定の第2の期間中、上記の第2の動作制御値に所定の第2の補正値を繰返し累積減算することにより、その第2の期間をかけて漸次所定の第1の動作制御値に戻すことにより、ロボットの動作を制御するための動作制御値を生成する第1ステップと、
このようにして生成された動作制御値に基づいてロボットの動作を制御する第2ステップとを有することを特徴とする。
ここで、上記の第1の動作制御値および第2の動作制御値は、ロボットの動作を制御するための動作制御値であり、典型的には時間的に変化する動作制御値である。
また、上記の第1の期間および第2の期間は、相互に同一の時間幅を有する期間であって、それに伴い、上記の第1の補正値および第2の補正値は相互に同一の補正値であってもよい。
ここで、上記の「ロボット」は、「駆動源からの駆動力を伝達する駆動力伝達系を介して伝達されてきた駆動力を受けて周期的な動作を行なう」ものであればよく、例えばこの定義に合致するマニピュレータ等もここでいうロボットに該当する。本発明は、この定義に合致するロボットのうち、「駆動源からの駆動力をバックラッシュを伴って伝達する駆動力伝達系を介して伝達されてきた駆動力を受けて周期的な動作を行なうロボット」を制御対象とするものである。
本発明のバックラッシュ補償制御方法は、バックラッシュに起因する不良動作が生じ得る所定の第1の期間および第2の期間、それぞれ、補正値を累積加算および累積減算することにより、後述する実施形態に示すようにバックラッシュが有効に補償され、安定した動作が可能となる。しかも、本発明のバックラッシュ補償制御方法は、ロボットの機構上の改造は不用であり、安価な制御が可能である。
ここで、上記本発明のバックラッシュ補償制御方法において、
上記第1ステップにおける動作制御値生成アルゴリズムと同一のアルゴリズムを用いるとともにその第1ステップにおける第1の補正値に対応する補正値として相互に異なる複数の補正値それぞれを用いてロボットの動作試験を行なうことにより、補正値とバックラッシュの補償の程度との間の対応関係を求める第3ステップと、
上記対応関係に基づいて、バックラッシュの補償が適正に行なわれる補正値を求める第4ステップとを有し、
前述の第1ステップでは、第4ステップで求められた補正値を上記第1の補正値として採用することが好ましい。
ここでいう「動作試験」は、その制御対象のロボット自体で行なってもよいが、かならずしもその制御対象のロボット自体で行なう必要はなく、多数製造される同種のロボットのうちの典型的な1台のロボット、例えばプロトタイプのロボットで行なってもよく、あるいは、実際に組み立てられたロボットではなくコンピュータ内にデータ上で構築されたロボットの動作シミュレーションによる動作試験を行なってもよい。
バックラッシュを補償するための補正値はトライアンドエラーで適正な補正値を探してもよいが、上記の第3および第4ステップにより、適正な補正値を容易に求めることができ、第1ステップでその補正値を採用することで、バックラッシュを有効に補償することができる。
また、上記目的を達成する本発明のバックラッシュ補償制御装置は、駆動源からの駆動力をバックラッシュを伴って伝達する駆動力伝達系を介して伝達されてきた駆動力を受けて周期的な動作を行なうロボットに、バックラッシュが補償された動作を行なわさせるバックラッシュ補償制御装置において、
ロボットの動作の一周期内におけるバックラッシュに起因する不良動作が生じ得る所定の第1の期間中、所定の第1の動作制御値に所定の第1の補正値を繰返し累積加算することにより、その第1の期間をかけて漸次所定の第2の動作制御値に偏倚させるとともに、その一周期内におけるバックラッシュに起因する不良動作が生じ得る所定の第2の期間中、上記第2の動作制御値に所定の第2の補正値を繰返し累積減算することにより、その第2の期間をかけて漸次所定の第1の動作制御値に戻すことにより、ロボットの動作を制御するための動作制御値を生成する動作制御値生成部と、
動作制御値生成部で生成された動作制御値に基づいてロボットの動作を制御する動作制御部とを備えたことを特徴とする。
さらに、上記目的を達成する本発明のバックラッシュ補償制御プログラムは、
プログラムを実行するコンピュータ内で実行され、そのコンピュータを、駆動源からの駆動力をバックラッシュを伴って伝達する駆動力伝達系を介して伝達されてきた駆動力を受けて周期的な動作を行なうロボットに、バックラッシュが補償された動作を行なわさせるバックラッシュ補償制御装置として動作させるバックラッシュ補償制御プログラムにおいて、
コンピュータを、
ロボットの動作の一周期内におけるバックラッシュに起因する不良動作が生じ得る所定の第1の期間中、所定の第1の動作制御値に所定の第1の補正値を繰返し累積加算することにより、その第1の期間をかけて漸次所定の第2の動作制御値に偏倚させるとともに、一周期内におけるバックラッシュに起因する不良動作が生じ得る所定の第2の期間中、上記第2の動作制御値に所定の第2の補正値を繰返し累積減算することにより、その第2の期間をかけて漸次所定の第1の動作制御値に戻すことにより、ロボットの動作を制御するための動作制御値を生成する動作制御値生成部と、
動作制御値生成部で生成された動作制御値に基づいてロボットの動作を制御する動作制御部とを備えたバックラッシュ補償制御装置として動作させることを特徴とする。
図1は、コンピュータと、そのコンピュータとの間で通信を行なうロボットの外観図である。
図2は、図1に示したコンピュータのハードウェア構成図である。
図3は、本発明のバックラッシュ補償制御方法の一実施形態を示すフローチャートである。
図4は、本発明のバックラッシュ補償制御プログラムの一実施形態の概要を示す模式図である。
図5は、本発明のバックラッシュ補償制御装置の一実施形態を示すブロック図である。
図6は、図1に示すロボット200の両足のモデルを示した図である。
図7は、図6のロボットの二足歩行の各フェーズを示した図である。
図8は、図7に模式的に示した二足歩行時における、右足の、図6に示すヒップロールジョイントおよびアンクルロールジョイントの制御角を示した図である。
図9は、バックラッシュによる胴体の傾きを示す模式図である。
図10は、図6の右足の足裏に配置された圧力センサ(図示せず)により測定された、二足歩行時の圧力変化を示した図である。
図11は、バックラッシュを無視したときのロボット制御アルゴリズムの概要を示したフローチャートである。
図12は、バックラッシュを考慮したときの、ロボット制御アルゴリズムを示すフローチャートである。
図13は、ロボットの二足歩行動作の一周期内の各変数あるいは定数の意味を表わした模式図である。
図14は、上記のようにして求めた。補正値Cとロボットの傾きθ(図9参照)との対応関係を示すグラフである。
図15は、補正値Cminの決定アルゴリズムを示すフローチャートである。
図16は、図6に示す右足のヒップロールジョイントの角度を示す図である。
図17は、バックラッシュ補償前後の右足のヒップロールジョイントの角度を示す図である。
図18は右足裏の圧力センサの、補正前後の圧力変化を示す図である。
図19は、本発明のバックラッシュ補償制御装置の一実施形態を内蔵したロボットの外観図である。
図20は、図19のロボットの構成を示すブロック図である。
以下、本発明の実施形態について説明する。
以下に説明する本発明の一実施形態としてのバックラッシュ補償制御装置は、一台のコンピュータと、そのコンピュータ内で動作する、本発明の一実施形態としてのバックラッシュ補償制御プログラムとの組合せにより構成されたものであり、また本発明の一実施形態としてのバックラッシュ補償制御方法は、そのコンピュータを利用して実行されるものである。
そこで、以下では先ず、本発明の一実施形態としてのバックラッシュ補償制御装置を構成するコンピュータのハードウェアについて説明する。
図1は、コンピュータと、そのコンピュータとの間で通信を行なうロボットの外観図である。
この図1に示すコンピュータ100は、CPU(中央処理装置)、RAM(ランダムアクセスメモリ)、ハードディスク、通信ボード等が内蔵された本体部101、本体部101からの指示により表示画面102a上に画像や文字列を表示する表示装置102、コンピュータ100に操作者の指示を入力するためのキーボード103、表示画面102a上の任意の位置を指定することにより、その指定時にその位置に表示されていたアイコン等に応じた指示を入力するマウス104、およびロボット200との間で通信を行なうためのアンテナ105を備えている。
本体部101は、さらに外観上、フレキシブルディスク(図示せず)、CD−ROM300がそれぞれ装填されるFD装填口101a、CD−ROM装填口101bを有しており、それらの内部には、それらの装填口101a,101bから装填されたフレキシブルディスク(FD)やCD−ROM300をドライブしてアクセスするFDドライブやCD−ROMドライブも内蔵されている。
一方、ロボット200は、人体に似せた形状を有し、人間の躰の関節に相当する部分に2つの部材どうしの間の角度の調節が自在な関節を有し、さらに人間の目に対応する部分にカメラ、人間の耳に対応する部分にマイクロホン、人間の手先に相当する部分に接触センサを備えるなど、このロボットには各種のセンサが備えられている。また、このロボットには通信設備が内蔵されており、コンピュータ100との間で通信を行ない、コンピュータ100に向けて各種センサの情報を送信し、コンピュータ100からは制御信号を受信してその制御信号に基づいて二足歩行などの動作を行なうように構成されている。
尚、このコンピュータ100には、ロボット200に相当する、アルゴリズム上で構築したロボットが内蔵されており、ロボット200の動作を制御するための制御アルゴリズムは、直ちにロボット200の動作制御に用いるのではなく、先ずは、コンピュータ100内に構築されたアルゴリズムとしてのロボットをその制御アルゴリズムで動作させることにより動作シミュレーションが行なわれ、意図した通りの動作を行なうことが確認された後、その制御アルゴリズムが、ハードウェア的に製作されたロボット200に適用される。
図2は、図1に示したコンピュータのハードウェア構成図である。
このハードウェア構成図には、CPU111、RAM112、ハードディスクコントローラ113、FDドライブ114、CD−ROMドライブ115、マウスコントローラ116、キーボードコントローラ117、ディスプレイコントローラ118、および、ロボット200(図1参照)との間で通信を行なうための通信ボード119が示されており、それらはバス110で相互に接続されている。
FDドライブ114、CD−ROMドライブ115は、図1を参照して説明したように、それぞれFD装填口101aおよびCD−ROM装填口101bから装填されたFD310、CD−ROM300をアクセスするものである。通信ボード119はアンテナ105を介して、ロボット200と通信を行なう。
また、図2には、ハードディスクコントローラ113によりアクセスされるハードディスク120、マウスコントローラ116により制御されるマウス104、キーボードコントローラ117により制御されるキーボード103、およびディスプレイコントローラ118により制御される表示装置102も示されている。
図3は、本発明のバックラッシュ補償制御方法の一実施形態を示すフローチャートである。
この図3のフローチャートに示すバックラッシュ補償制御方法は、対応関係生成ステップ(ステップ(a))と、補正値算出ステップ(ステップ(b))と、動作制御値生成ステップ(ステップ(c))と、動作制御ステップ(ステップ(d))とで構成されている。
ここでは、各ステップ(a)〜(d)についてはその概要のみ説明し、詳細は本発明のバックラッシュ補償制御装置およびバックラッシュ補償制御プログラムの説明とともに後述する。また、ここでは、説明の都合上、動作制御値生成ステップ(ステップ(c))と、動作制御ステップ(ステップ(d))を先に説明する。
この図3のフローチャートに示すバックラッシュ補償制御方法は、図1に示すロボットに、バックラッシュが補償された動作を行なわさせる方法である。
このバックラッシュ補償制御方法の動作制御値生成ステップ(ステップ(c))では、ロボットの動作の一周期内における、バックラッシュに起因する不良動作が生じ得る所定の第1の期間中、所定の第1の動作制御値に所定の第1の補正値を繰返し累積加算することにより、その第1の期間をかけて漸次所定の第2の動作制御値に偏倚させるとともに、その一周期内におけるバックラッシュに起因する不良動作が生じ得る所定の第2の期間中、上記の第2の動作制御値に所定の第2の補正値を繰返し累積減算することにより、その第2の期間をかけて漸次所定の第1の動作制御値に戻すことにより、ロボットの動作を制御するための動作制御値が生成される。
また、動作制御ステップ(ステップ(d))では、動作制御値生成ステップ(ステップ(c))で生成された動作制御値に基づいて、ロボット200の動作が制御される。
ここで、典型的には、上記第1の動作制御値および第2の動作制御値は、時間的に変化する動作制御値である。
また、本実施形態は、上記第1の期間および上記第2の期間は相互に同一の時間幅を有する期間であって、第1の補正値および第2の補正値は相互に同一の補正値である。
上記のステップ(c)とステップ(d)は、ステップ(c)の動作制御値の生成が一周期分全て生成された後にステップ(d)が実行される、いわゆるシーケンス制御であってもよいが、ここでは、ステップ(c)でその時点の動作制御値を生成してステップ(d)でその時点の動作制御を行なう処理がある短かい単位時間間隔で繰り返される(ステップ(e))、いわゆるオンライン制御であってもよい。
また、図3のフローチャートに示すバックラッシュ補償制御方法の、対応関係生成ステップ(ステップ(a))および補正値算出ステップ(ステップ(b))は、ロボットを実際に制御する前の準備段階で実行されるステップである。
ここで、ステップ(a)の対応関係生成ステップでは、ステップ(c)の動作制御値生成ステップにおける動作制御値生成アルゴリズムと同一のアルゴリズムを用いるとともに、ステップ(c)における第1の補正値(本実施形態では第2の補正値も同じ値)に対応する補正値として相互に異なる複数の補正値それぞれを用いてロボットの動作試験を行なうことにより、補正値とバックラッシュの補償の程度との間の対応関係がを求められる。
ここでの動作試験は、図1に示すロボット200自体で行なってもよいが、本実施形態では、コンピュータ100の内部にデータ上で構築されたアルゴリズムとしてのロボットの動作シミュレーションによる動作試験が行なわれる。
また、ステップ(b)の補正値算出ステップでは、上記の対応関係に基づいて、バックラッシュの補償が適切に行なわれる補正値が求められる。
上述したステップ(c)ではこのようにして求められた補正値が採用される。
図3のフローチャートの各ステップ(a)〜(d)の詳細については後述する。
図4は、本発明のバックラッシュ補償制御プログラムの一実施形態の概要を示す模式図である。
ここでは、このバックラッシュ補償制御プログラム400は、CD−ROM300に記憶されており、このCD−ROM300が図1に示すCD−ROM装填口101bから装填され図2のCD−ROMドライブ115によりアクセスされて、そのCD−ROM300に記憶されているバックラッシュ補償制御プログラム400が、図1,図2に示すコンピュータ100にインストールされる。そのコンピュータ100内にインストールされたバックラッシュ補償制御プログラム400がそのコンピュータ100内で実行されると、そのコンピュータ100は、本発明のバックラッシュ補償制御装置の一実施形態として動作する。
尚、このバックラッシュ補償制御プログラム400は、ここではCD−ROM300に記憶されている例を示したが、CD−ROMに記憶されている必要はなく、例えばFD等他の可搬型記憶媒体に記憶されてコンピュータ100にインストールされてもよく、あるいは、他の装置等から通信網(図示せず)を介してコンピュータ100にインストールされてもよく、あるいは、そのコンピュータ100のハードディスク(図2参照)等にはじめから記憶されていてもよく、最終的にコンピュータで実行可能となるものであればどのように保存あるいは記憶されていてもよい。
図4に示すバックラッシュ補償制御プログラム400は、動作制御値生成部401と、動作制御部402と、対応関係生成部403と、補正値算出部404とから構成されている。このバックラッシュ補償制御プログラム400の各部401〜404の作用は、図5の説明と合わせて説明する。
図5は、本発明のバックラッシュ補償制御装置の一実施形態を示すブロック図である。
このバックラッシュ補償制御装置410は、図1,図2に示すコンピュータ100内で図4に示すバックラッシュ補償制御プログラム400が実行されることにより、図1,図2に示すコンピュータ100内に実現するものである。
この図5のバックラッシュ補償制御装置410は、動作制御値生成部411と、動作制御部412と、対応関係生成部413と、補正値演算部414とから構成されている。これら各部411〜414は、図4に示すバックラッシュ補償制御プログラム400を構成する各部401〜404にそれぞれ対応するが、図5のバックラッシュ補償制御装置410の各部411〜414は、図1,図2に示すコンピュータ100のハードウェアおよびそのコンピュータ100内で実行されるオペレーティングシステム(OS)と、そのOS上で動作する、図4に示すバックラッシュ補償制御プログラム400の各部401〜404との結合で構成されているのに対し、図5に示すバックラッシュ補償制御プログラム400の各部401〜404は、それらの複合のうちのアプリケーションプログラムの部分のみで構成されている。図5に示すバックラッシュ補償制御プログラム400を構成する各部401〜404の、このバックラッシュ補償制御プログラム400が図1,図2のコンピュータ100内で実行されたときの作用は、図5に示すバックラッシュ補償制御装置410を構成する各部411〜414の作用そのものであり、以下、図5のバックラッシュ補償制御装置410の各部411〜414の作用を説明することで、図4のバックラッシュ補償制御プログラム400の各部401〜404の作用の説明を兼ねるものとする。
ただし、ここでも先ずは、概要説明にとどめ、その後、本発明の更に詳細な実施形態を説明する。
図5に示すバックラッシュ補償制御装置410は、図1に示すロボット200、すなわち、駆動源からの駆動力をバックラッシュを伴って伝達する駆動力伝達系を介して伝達されてきた駆動力を受けて周期的な動作を行なうロボットに、バックラッシュが補償された動作を行なわさせるバックラッシュ補償制御装置である。
このバックラッシュ補償制御装置410の動作制御値生成部411では、ロボットの動作の一周期内におけるバックラッシュに起因する不良動作が生じ得る所定の第1の期間中、所定の時間的に変化する第1の動作制御値に所定の第1の補正値を繰返し累積加算することにより、その第1の期間をかけて漸次所定の第2の動作制御値に偏倚させるとともに、その一周期内におけるバックラッシュに起因する不良動作が生じ得る所定の第2の期間中(本実施形態では、この第2の期間は上記の第1の期間と同じ時間幅を有する期間である)、その第2の動作制御値に所定の第2の補正値(本実施形態では、この第2の補正値は上記の第1の補正値と同じ値)を繰返し累積減算することにより、その第2の期間をかけて漸次所定の第1の動作制御値に戻すことにより、ロボットの動作を制御するための動作制御値が生成される。
動作制御部412では、その動作制御値生成部411で生成された動作制御値に基づいてロボット200の動作が制御される。
また、対応関係生成部413および補正値算出部414は、ロボットを制御する段階ではなく、その制御の準備段階で実行されるものであり、対応関係生成部413では、動作制御値生成部411で用いられる上記の動作制御値生成アルゴリズムと同一のアルゴリズムが用いられるとともに、その動作制御値生成部411で用いられる第1の補正値(本実施形態では第2の補正値も同じ値である)に対応する補正値として相互に異なる複数の補正値それぞれを用いてロボットの動作試験を行なうことにより、補正値とバックラッシュの補償の程度との間の対応関係がを求められる。
補正値算出部414では、その対応関係生成部413で生成された対応関係に基づいて、バックラッシュの補償が適正に行なわれる補正値が求められ、ロボットの実際の制御にあたり、動作制御値生成部411では、そのようにして求められた補正値が採用される。
上記のロボットの動作試験としては、コンピュータ100内に構築されたデータ上のロボットの動作シミュレーションによる動作試験が行なわれる。
以下、本発明の更に詳細な実施形態を説明する。
図6は、図1に示すロボット200の両足のモデルを示した図である。
この図6には、実線で右足210が示されるとともに破線で左足220が示されている。右足210と左足220は左右対称の構造を有しており、ここでは右足210を中心に説明する。右足210には、5つの関節211〜215が配備されている。それら5つの関節のうちの3つの関節212,213,214は、図6に矢印で示す進行方向の動き、すなわちX−Z平面内の動き(これを‘ピッチ’と称する)を担っており、残りの2つの関節211,215は、進行方向に直角な、Y−Z平面内の動き(これを‘ロール’と称する)を担っている。関節211は、人体に例えると腰の動きを担う関節であって、以下この関節211をヒップロールジョイント211と称する。また、関節215は、人体に例えると足首の動きを担う関節であって、以下、この関節215をアンクルロールジョイント215と称する。
図7は、図6のロボットの二足歩行の各フェーズを示した図である。
先ずは、左右両足210,220が床に着地した両足サポートのフェーズから出発し、その後右足210の片足でサポートして左足220を前後に移動させる(このように足を前後に移動させることを‘スイング’と称する)フェーズに移行し、その後再び、左右両足210,220が着地した両足サポートのフェーズとなり、次に今度は左足220一本でサポートして右足210をスイングさせるフェーズに移行し、以下これを繰り返すことにより二足歩行が行なわれる。右足210の一本でサポートして左足をスイングするフェーズでは、重心は右足側に移動し、左足一本でサポートして右足をスイングするフェーズでは、重心は左足側に移動する。このとき、ロボットの胴体は斜めにならずに垂直に起立した状態を保っていることが重要である。この点については後述する。
図8は、図7に模式的に示した二足歩行時における、右足の、図6に示すヒップロールジョイント211およびアンクルロールジョイント215の制御角を示した図である。
ここでは、図示の一周期で二歩(左右の足それぞれ一歩ずつ)の歩行が行なわれ、その間、右足のヒップロールジョイント211およびアンクルロールジョイント215は、図8の、それぞれ実線、破線で示す各角度に制御され、これにより、図7(B)に示すように、胴体を垂直に保ったまま左右への重心の移動が行なわれる。ただし、このとき各ジョイント211,215のバックラッシュが問題となる。
図9は、バックラッシュによる胴体の傾きを示す模式図である。
図9(A)は、バックラッシュが存在しない理想状態を示した図であり、胴体は垂直に起立している。
これに対し図9(B)は、バックラッシュが存在する状態を示した図であり、バックラッシュに起因して胴体が角度θだけ傾いている。このような傾きθが存在すると、重心も期待した位置とは別の位置に外れてしまい、胴体が左右に振れてしまい、安定した二足歩行が不能となる。そこで、ここでは、バックラッシュに起因したこの胴体が傾きθを抑制する。
図10は、図6の右足210の足裏に配置された圧力センサ(図示せず)により測定された、二足歩行時の圧力変化を示した図である。
図に示す2つの楕円A,Bのうち、楕円Aは、右足を持ち上げるタイミングに相当し、主に左足のバックラッシュに起因して、右足裏が一旦床から離れて、再度右足裏が床に着いた後、持ち上げられていることが分かる。また、楕円Bは、スイング動作の後の右足が床に着地するタイミングを表わしており、主に右足自身のバックラッシュに起因して右足裏の圧力が激しくランダムに変化しており、不安定な動作になっていることが分かる。
図11は、バックラッシュを無視したときのロボット制御アルゴリズムの概要を示したフローチャート。
ここでは、図12を参照して後で説明する本実施形態のフローチャートとの対比のために、バックラッシュを無視した理想状態におけるロボット制御アルゴリズムを説明しておく。
ここでは、先ず、時間計測用の変数rtを0.0に初期化し(ステップ(s1))、その時点(rtの時点。ここでは初期化直後のrt=0.0の時点)における、ロボットの動作を制御するための動作制御値Vを算出し(ステップ(s2))、その動作制御値Vに基づいてロボットの動作を制御する(ステップ(s3))。尚、図1あるいは図6に示すロボットには、制御すべき多数の関節が存在するが、ここでは、各関節の具体的な動作制御値を問題としているのではないため、1つの動作制御値Vで代表させている。
ステップS4では、時間変数rtがΔtだけ進められ、ステップ(s5)では、時間変数rtの値がロボットの動作を停止すべき時刻Tstopに達したか否かが判定される。rtが未だTstopに達していないときは、ステップ(s2)〜(s4)を繰り返し実行し、rtがTstopに達するとこのルーチンを終了する。
図12は、バックラッシュを考慮したときの、ロボット制御アルゴリズムを示すフローチャートである。
この図12のフローチャートにおいて、ステップ(c1)〜(c9)、およびステップ(d1)は、図3のバックラッシュ補償制御方法のフローチャートにおけるステップ(c)の動作制御値生成ステップ、およびステップ(d)の動作制御ステップにそれぞれ相当するとともに、図4のバックラッシュ補償制御プログラム400における動作制御値生成部401、および動作制御部402の各作用、並びに図5のバックラッシュ補償制御装置410の動作制御値生成部411および動作制御部412の各作用にも相当する。
図12のフローチャートのステップ(e1),(e2)は、動作制御値の生成と動作制御とを繰り返し行なわさせるためのステップである。
図12のフローチャートのステップ(c1)では、各変数Vcmp,rt,rtcが全て0.0に初期化される。ここで変数Vcmpは、動作制御値V(ステップ(c8)参照)を補正する(ステップ(c9)参照)ための補正値の累積値(ステップ(c4)参照)を表わす変数である。また、変数rtは、図11のフローチャートでも説明したとおり、経過時間を表わす変数である。さらに、rtcは、ロボットの動作の一周期、すなわち、ここでは、図6のロボットの二足歩行を念頭に置いており、図7に示す、両足サポートのフェーズから左足を持ち上げて左足を一歩前進させる左足スイングフェーズ、再び両足でサポートするフェーズ、さらに今度は右足を持ち上げて右足を一歩前進させる右足スイングフェーズまでの一連の二歩の歩行からなる一周期中の時刻を表わす変数である。例えば、この一周期が2秒であるとすると、rtcは、0.0から進行し、2.0に達した瞬間に再び0.0に戻り、それを繰り返す変数である。
図12のフローチャートのステップ(c2)では、変数rtと、一周期の時間幅を表わすCTとに基づいて、変数rtcの値が求められ、ステップ(c3),(c5)ではそれぞれ、変数rtcがTcmp1≦rtc≦Tcmp2であるか否か、Tcmp3≦rtc≦Tcmp4であるか否かが判定される。
図13は、ロボットの二足歩行動作の一周期内の各変数あるいは定数の意味を表わした模式図である。
横軸は時間変数rtを表わしており、CTはその中の1つの周期を表わしている。また、変数rtcは一周期CT内の経過時間を表わしている。
また、Tcmp1,Tcmp2は、一周期CT内の第1の期間の始点,終点の各時刻を表わしており、Tcmp3,Tcmp4は、一周期CT内の第2の期間の始点,終点の各時刻を表わしている。
ここで、2つの変数Tcmp1,Tcmp2で規定される第1の期間は、一周期CT内における、例えば図10に楕円Aで示したような、バックラッシュの影響が強く表われる期間を表わしており、2つの変数Tcmp3,Tcmp4で規定される第2の期間は、一周期CT内における、例えば図10に楕円Bで示したような、バックラッシュの影響が強く表われるもう1つの期間を表わしている。ここでは、二足歩行のような周期的な動作を予定しており、バックラッシュの影響は、典型的には図10に示すように、一周期内の2つの期間に表われる。本実施形態では、第1の期間と第2の期間は同一の時間幅に設定されている。
図12に戻って説明を続ける。
図12のステップ(c3)では、Tcmp1≦rtc≦Tcmp2であるか否か、すなわち、現在、第1の期間内の時刻であるか否かが判定され、第1の期間内の時刻であるときは、補正値Cの累積値を表わす変数Vcmpに補正値Cが加算される(ステップ(c4))。また、図12のステップ(c5)では、Tcmp3≦rtc≦Tcmp4であるか否か、すなわち、現在、第2の期間内の時刻であるか否かが判定され、第2の期間内の時刻であるときは、変数Vcmpから補正値Cが減算される(ステップ(c6))。現在が、第1の期間内でも第2の期間内でもないときは、変数Vcmpの値はそのまま保存される(ステップ(c7))。
以上の、補正値の累積値Vcmpの算出を経た後は、現在の動作制御値Vが算出され(ステップ(c8))、算出された動作制御値Vに変数Vcmpが加算されることにより新たな動作制御値Vが求められ(ステップ(c9))、このようにして求められた新たな動作制御値Vに基づいてロボットの動作が制御される(ステップ(d1))。
その後、時間変数rtがΔtだけ進められ(ステップ(e1))、動作停止時刻Tstopに達するまで(ステップ(e2))、ステップ(c2)〜(e1)の処理が繰り返される。
ここで、時間を進める単位時間Δtは、ロボットが十分に滑らかに動作することのできる微小時間であり、その微小時間Δtごとにステップ(c2)〜(e1)が繰り返される。したがって、変数VcmpはΔt時間ごとに第1の期間内においては補正値Cが累積加算され、第2の期間内においては補正値Cが累積減算される。ここでは、第1の期間と第2の期間は相互に同一の時間幅を持った期間であり、したがって、第2の期間の終点では、補正値Cを加算する前の状態Vcmp=0.0)に戻ることになる。
ここで、本発明との対比では、ステップ(c8)で計算しただけの動作制御値Vを本発明では第1の動作制御値と称しており、第1の期間内に補正値が累積加算された後の変数Vcmpが加算された後の動作制御値を本発明では第2の動作制御値と称している。すなわち、ステップ(d1)では、直前の一周期の第2の期間の終点から今回の一周期の第1の期間の始点までの間は、補正されない(ステップ(c9)で変数Vcmp=0.0が加算された)第1の動作制御値に基づいてロボットの動作が制御され、第1の期間の終点から第2の期間の始点での間は、最大限に補正された(ステップ(c9)で変数Vcmpの最大値が加算された)第2の動作制御値に基づいてロボット動作が制御され、第1の期間中は、第1の動作制御値から第2の動作制御値へと時間的に順次変化する動作制御値に基づいてロボットの動作が制御され、第2の期間中は、第2の動作制御値から第1の動作制御値へと時間的に順次変化する動作制御値に基づいてロボットの動作が制御される。
ここで問題となるのは、第1の期間および第2の期間の各始点Tcmp1,Tp3、および各終点Tcmp2,Tcmp4と、補正値Cの決め方である。
第1の期間と第2の期間の始点と終点Tcmp1〜Tcmp4は、例えば図10に示すようなデータから決定することができる。この決定は、オペレータが行ないコンピュータ100(図1参照)に入力してもよいが、圧力等のデータが大きく変動する期間を捉えて、あるいはバックラッシュを直接に検出して、自動的に行なってもよい。図10の楕円Aに示す、バックラッシュの悪影響が表われている時間幅と、図10の楕円Bに示す、バックラッシュの悪影響が表われている時間幅は相互に異なっているが、第1の期間と第2の期間は相互に同一の時間幅に設定することができる。あるいは、第1の期間と第2の期間は相互に別々の時間幅に設定してもよいが、そのときには第2の期間の終点でVcmp=0.0となるように、図12のステップ(c4)の補正値Cとステップ(c6)の補正値Cとを異ならせる必要がある。
次に補正値Cの決定方法について説明する。
ここでは、図12のフローチャートに示すアルゴリズムと同一のアルゴリズムを採用し、かつ補正値Cとして様々な値を用いてロボットの動作制御を行なう。ただし、ここでは、図1のコンピュータ100内に構築されたデータ上でのロボットの動作制御(動作シミュレーション)を行なう、以下のようにして補正値Cの適正値が決定される。その適正値を確認する目的で、あるいは、より高精度の適正値を探す目的で、その補正値をそのシミュレーションにより求めた適正値に近い値で変化させて、実際のロボットの動作制御を行なってもよい。
ここでは、図示は省略するが、図12のフローチャートに示すアルゴリズムと同一のアルゴリズムを採用し図12の補正値Cを様々に変化させて、シミュレーション上でロボットを動作させ、ロボットの胴体の傾き角度θ(図9参照)を測定することが、図3のバックラッシュ補償制御方法のステップ(a)の対応関係生成ステップに相当し、また、図4のバックラッシュ補償制御プログラム400の対応関係生成部403および図5のバックラッシュ補償制御装置410の対応関係制御部413の作用に相当する。
図14は、上記のようにして求めた。補正値Cとロボットの傾きθ(図9参照)との対応関係を示すグラフである。
ここでは、この図14に示すグラフに基づいて、+ε≦θ≦−εである補正値Cminが求められ、ロボットの動作を実際に制御する際、図12の補正値Cとして、その求められた補正値Cminが用いられる。
図15は、補正値Cminの決定アルゴリズムを示すフローチャートである。
この図15のフローチャートは、図3のバックラッシュ補償制御方法におけるステップ(b)の補正値算出ステップに相当するとともに、図4のバックラッシュ補償制御プログラム400の補正値算出部404および図5のバックラッシュ補償制御装置410の補正値算出部414の作用に相当する。
図15のステップ(b1)では、図14の関数をθ=f(C)で表わしたとき、
f(c)・f(c)<0 …(1)
となる2つの補正値変数c,cが選び出され、ステップ(b2)でそれら2つの変数c,cの平均値としての変数
=(c+c)/2 …(2)
が求められ、ステップ(b3)で、その平均値としての変数Cに対応する傾き角度
θ=f(C) …(3)
が求められる。
ステップ(b4)では、このようにして求めた傾き角度θが、
−ε≦θ≦ε …(4)
の範囲内にあるか否かが判定され、θがこの範囲から外れているときは、ステップ(b5)において、
f(C)・θ<0 …(5)
か否かが判定される。(5)式を満足するときはステップ(b6)に進んで変数Cとして変数Cが採用され、あるいは(5)式を満足しないときはステップ(b7)に進んで変数Cとして変数Cが採用されてステップ(b2)に戻り、再び(2)式に従って新たな平均値Cが求められる。
これを繰り返すと、ステップ(b3)で求められる傾き角度θは、θ=0に向けて収束し、ステップ(b4)で上記の(4)式の条件を満足するまで収束したθが求められると、そのθに対応するC(ステップb3)、(3)式参照)が、補正値Cminとして求められる(ステップ(b8))。
このようにして求めた補正値Cminは、図12に示すフローチャートに従ってロボットの動作を制御したときにロボットの傾き角度θ(図9参照)をほぼ0.0にする補正値であり、図12に示すフローチャートに従ってロボットの動作を制御するにあたっては、その図12中の補正値Cとして上記のようにして求められた補正値Cminが採用される。
以下、上記の動作制御によりバックラッシュの悪影響が有効に低減されることを示す実験結果について説明する。
ここに示す実験結果は、図6に示す概略構造の二足歩行ロボットの二足歩行制御を行なった結果である。
図16は、図6に示す右足210のヒップロールジョイント211の角度を示す図である。
ここでは、左右一歩ずつ二歩歩いたことに相当する一周期CTはCT=2.85秒であり、第1の期間の始点Tcmp1および終点Tcmp2、第2の期間の始点Tcmp3および終点Tcmp4は、時間定数Cdp=0.73秒を定義したとき、それぞれ
cmp1=0.0秒
cmp2=Cdp/4=0.1825秒
cmp3=CT/2−Cdp/4=1.2455秒
cmp4=CT/2=1.425秒
と設定した。その後、上述のアルゴリズムに従って補正値C=Cminを決定した。その結果、補正値Cは
C=0.001
と決定された。ここで、リアルタイムコントロールサイクルΔt(図12のステップ(e1)参照)は、Δt=1.0(ミリ秒)である。
このようにして求めた補正値Cを用い図12のアルゴリズムに従ってロボットの動作制御を行なった。尚、図16は、右足のヒップロールジョイント211のの角度を示すものであるが、左足についても同様にバックラッシュ補償制御を行なった。
図17は、バックラッシュ補償前後の右足のヒップロールジョイント211の角度を示す図である。
補正前(実線)のグラフは、図16と同じグラフであり、破線で示す補正後の角度を示すグラフでは、バックラッシュに起因する分が抑えられていることが分かる。
図18は右足裏の圧力センサの、補正前後の圧力変化を示す図である。
この図18から、圧力変動は補正前(破線)の方が大きく、補正後(実線)はその圧力変動が穏やかになっていることが分かる。
図19は、本発明のバックラッシュ補償制御装置の一実施形態を内蔵したロボットの外観図である。
このロボット600は、図1のコンピュータ100で実現しているバックラッシュ補償制御装置を図6に示すロボット200自身の内部に備えたものに相当する。
すなわち、このロボット600は、このロボット自身を制御するバックラッシュ補償制御装置610を内蔵している。
図20は、図19のロボット600の構成を示すブロック図である。
このロボット600は、バックラッシュ補償制御装置610と、そのバックラッシュ補償制御装置610により動作が制御される関節620と、その関節の動作を計測するセンサ630を備えている。
このロボット600のバックラッシュ補償制御装置610は、動作制御値生成部611と動作制御部612とから構成されている。
このバックラッシュ補償制御装置610には、図5に示すバックラッシュ補償制御装置410には備えられている対応関係生成部413および補正値算出部414に相当する構成は備えられておらず、図20のバックラッシュ補償制御装置610の動作制御値生成部611で採用される各種変数や定数は上述のアルゴリズムに従ってあらかじめ求められて、動作制御値生成部611にあらかじめ格納されており、この図20のバックラッシュ補償制御装置610は、あらかじめ格納されている各種の値を用い、図12のフローチャートに示すアルゴリズムに従ってこのバックラッシュ補償制御装置610を内蔵しているロボット600(図19参照)の動作を制御する。
このように、バックラッシュ補償制御装置610はロボットを制御する段階では、動作制御値生成部611と動作制御部612とを備えていればよく、図5に示すバックラッシュ補償制御装置410における対応関係生成部413および補正値算出部414に相当する構成は不要である。バックラッシュ補償制御プログラムの場合も同様であり、ロボットの動作制御のみを行なうためのバックラッシュ補償制御プログラムの場合、図4に示すバックラッシュ補償制御プログラム400のうちの対応関係生成部403および補正値算出部404は不要である。
また、バックラッシュ補償制御装置は、図1に示すように制御対象のロボットとは別体に構成してもよく、あるいは、図19に示すように制御対象のロボットに内蔵されていてもよい。

Claims (8)

  1. 駆動源からの駆動力をバックラッシュを伴って伝達する駆動力伝達系を介して伝達されてきた駆動力を受けて周期的な動作を行なうロボットに、該バックラッシュが補償された動作を行なわさせるバックラッシュ補償制御方法において、
    前記ロボットの動作の一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第1の期間中、所定の第1の制御指令値に、所定の第1の補正値を、該第1の制御指令値と比べ所定のオフセット値だけ異なる値に達するまで繰返し累積加算することにより、該第1の期間をかけて漸次、該第1の制御指令値よりも該オフセット値だけ異なる第2の制御指令値に偏倚させるとともに、該一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第2の期間中、該第2の制御指令値に、所定の第2の補正値を、該第2の制御指令値と比べ前記オフセット値だけ異なる値に達するまで繰返し累積減算することにより、該第2の期間をかけて漸次前記第1の制御指令値に戻すことによって、前記ロボットの動作を制御するための、前記第1の期間中は、前記第1の制御指令値に前記第1の補正値を繰返し累積加算している途中の制御指令値からなり、該第1の期間終了後前記第2の期間開始前は前記第2の制御指令値からなり、該第2の期間中は該第2の制御指令値に前記第2の補正値を繰返し累積減算している途中の制御指令値からなり、該第2の期間終了後該第1の期間開始前は該第2の制御指令値からなる制御指令値を生成する第1ステップと、
    このようにして生成された制御指令値に基づいて前記ロボットの動作を制御する第2ステップとを有することを特徴とするバックラッシュ補償制御方法。
  2. 駆動源からの駆動力をバックラッシュを伴って伝達する駆動力伝達系を介して伝達されてきた駆動力を受けて周期的な動作を行なうロボットに、該バックラッシュが補償された動作を行なわさせるバックラッシュ補償制御方法において、
    前記ロボットの動作の一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第1の期間中、オフセット値だけ相対的に異なったまま時間的に変化する第1の制御指令値と第2の制御指令値とのうちの一方である該第1の制御指令値に、所定の第1の補正値を、繰返し累積加算することにより、該第1の期間をかけて漸次、該第1の制御指令値よりも該オフセット値だけ異なる第2の制御指令値に偏倚させるとともに、該一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第2の期間中、該第2の制御指令値に、所定の第2の補正値を繰返し累積減算することにより、該第2の期間をかけて漸次前記第1の制御指令値に戻すことによって、前記ロボットの動作を制御するための、前記第1の期間中は、前記第1の制御指令値に前記第1の補正値を繰返し累積加算している途中の制御指令値からなり、該第1の期間終了後前記第2の期間開始前は前記第2の制御指令値からなり、該第2の期間中は該第2の制御指令値に前記第2の補正値を繰返し累積減算している途中の制御指令値からなり、該第2の期間終了後該第1の期間開始前は該第2の制御指令値からなる制御指令値を生成する第1ステップと、
    このようにして生成された制御指令値に基づいて前記ロボットの動作を制御する第2ステップとを有することを特徴とするバックラッシュ補償制御方法。
  3. 前記第1の期間および第2の期間は相互に同一の時間幅を有する期間であって、前記第1の補正値および第2の補正値は相互に同一の補正値であることを特徴とする請求項1又は2記載のバックラッシュ補償制御方法。
  4. 前記第1ステップにおける制御指令値生成アルゴリズムと同一のアルゴリズムを用いるとともに該第1ステップにおける前記第1の補正値に対応する補正値として相互に異なる複数の補正値それぞれを用いて前記ロボットの動作試験を行なうことにより、補正値と前記バックラッシュの補償の程度との間の対応関係を求める第3ステップと、
    前記対応関係に基づいて、前記バックラッシュの補償が適正に行なわれる補正値を求める第4ステップとを有し、
    前記第1ステップでは、前記第4ステップで求められた補正値を前記第1の補正値として採用することを特徴とする請求項1又は2記載のバックラッシュ補償制御方法。
  5. 駆動源からの駆動力をバックラッシュを伴って伝達する駆動力伝達系を介して伝達されてきた駆動力を受けて周期的な動作を行なうロボットに、該バックラッシュが補償された動作を行なわさせるバックラッシュ補償制御装置において、
    前記ロボットの動作の一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第1の期間中、所定の第1の制御指令値に、所定の第1の補正値を、該第1の制御指令値と比べ所定のオフセット値だけ異なる値に達するまで繰返し累積加算することにより、該第1の期間をかけて漸次、該第1の制御指令値よりも該オフセット値だけ異なる第2の制御指令値に偏倚させるとともに、該一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第2の期間中、該第2の制御指令値に、所定の第2の補正値を、該第2の制御指令値と比べ前記オフセット値だけ異なる値に達するまで繰返し累積減算することにより、該第2の期間をかけて漸次前記第1の制御指令値に戻すことによって、前記ロボットの動作を制御するための、前記第1の期間中は、前記第1の制御指令値に前記第1の補正値を繰返し累積加算している途中の制御指令値からなり、該第1の期間終了後前記第2の期間開始前は前記第2の制御指令値からなり、該第2の期間中は該第2の制御指令値に前記第2の補正値を繰返し累積減算している途中の制御指令値からなり、該第2の期間終了後該第1の期間開始前は該第2の制御指令値からなる制御指令値を生成する制御指令値生成部と、
    前記制御指令値生成部で生成された制御指令値に基づいて前記ロボットの動作を制御する動作制御部とを備えたことを特徴とするバックラッシュ補償制御装置。
  6. プログラムを実行するコンピュータ内で実行され、該コンピュータを、駆動源からの駆動力をバックラッシュを伴って伝達する駆動力伝達系を介して伝達されてきた駆動力を受けて周期的な動作を行なうロボットに、該バックラッシュが補償された動作を行なわさせるバックラッシュ補償制御装置として動作させるバックラッシュ補償制御プログラムにおいて、
    前記コンピュータを、
    前記ロボットの動作の一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第1の期間中、所定の第1の制御指令値に、所定の第1の補正値を、該第1の制御指令値と比べ所定のオフセット値だけ異なる値に達するまで繰返し累積加算することにより、該第1の期間をかけて漸次、該第1の制御指令値よりも該オフセット値だけ異なる第2の制御指令値に偏倚させるとともに、該一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第2の期間中、該第2の制御指令値に、所定の第2の補正値を、該第2の制御指令値と比べ前記オフセット値だけ異なる値に達するまで繰返し累積減算することにより、該第2の期間をかけて漸次前記第1の制御指令値に戻すことによって、前記ロボットの動作を制御するための、前記第1の期間中は、前記第1の制御指令値に前記第1の補正値を繰返し累積加算している途中の制御指令値からなり、該第1の期間終了後前記第2の期間開始前は前記第2の制御指令値からなり、該第2の期間中は該第2の制御指令値に前記第2の補正値を繰返し累積減算している途中の制御指令値からなり、該第2の期間終了後該第1の期間開始前は該第2の制御指令値からなる制御指令値を生成する制御指令値生成部と、
    前記制御指令値生成部で生成された制御指令値に基づいて前記ロボットの動作を制御する動作制御部とを備えたバックラッシュ補償制御装置として動作させることを特徴とするバックラッシュ補償制御プログラム。
  7. 駆動源からの駆動力をバックラッシュを伴って伝達する駆動力伝達系を介して伝達されてきた駆動力を受けて周期的な動作を行なうロボットに、該バックラッシュが補償された動作を行なわさせるバックラッシュ補償制御装置において、
    前記ロボットの動作の一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第1の期間中、オフセット値だけ相対的に異なったまま時間的に変化する第1の制御指令値と第2の制御指令値とのうちの一方である該第1の制御指令値に、所定の第1の補正値を繰返し累積加算することにより、該第1の期間をかけて漸次、該第1の制御指令値よりも該オフセット値だけ異なる第2の制御指令値に偏倚させるとともに、該一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第2の期間中、該 第2の制御指令値に、所定の第2の補正値を繰返し累積減算することにより、該第2の期間をかけて漸次前記第1の制御指令値に戻すことによって、前記ロボットの動作を制御するための、前記第1の期間中は、前記第1の制御指令値に前記第1の補正値を繰返し累積加算している途中の制御指令値からなり、該第1の期間終了後前記第2の期間開始前は前記第2の制御指令値からなり、該第2の期間中は該第2の制御指令値に前記第2の補正値を繰返し累積減算している途中の制御指令値からなり、該第2の期間終了後該第1の期間開始前は該第2の制御指令値からなる制御指令値を生成する制御指令値生成部と、
    前記制御指令値生成部で生成された制御指令値に基づいて前記ロボットの動作を制御する動作制御部とを備えたことを特徴とするバックラッシュ補償制御装置。
  8. プログラムを実行するコンピュータ内で実行され、該コンピュータを、駆動源からの駆動力をバックラッシュを伴って伝達する駆動力伝達系を介して伝達されてきた駆動力を受けて周期的な動作を行なうロボットに、該バックラッシュが補償された動作を行なわさせるバックラッシュ補償制御装置として動作させるバックラッシュ補償制御プログラムにおいて、
    前記コンピュータを、
    前記ロボットの動作の一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第1の期間中、オフセット値だけ相対的に異なったまま時間的に変化する第1の制御指令値と第2の制御指令値とのうちの一方である該第1の制御指令値に、所定の第1の補正値を繰返し累積加算することにより、該第1の期間をかけて漸次、該第1の制御指令値よりも該オフセット値だけ異なる第2の制御指令値に偏倚させるとともに、該一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第2の期間中、該第2の制御指令値に、所定の第2の補正値を繰返し累積減算することにより、該第2の期間をかけて漸次前記第1の制御指令値に戻すことによって、前記ロボットの動作を制御するための、前記第1の期間中は、前記第1の制御指令値に前記第1の補正値を繰返し累積加算している途中の制御指令値からなり、該第1の期間終了後前記第2の期間開始前は前記第2の制御指令値からなり、該第2の期間中は該第2の制御指令値に前記第2の補正値を繰返し累積減算している途中の制御指令値からなり、該第2の期間終了後該第1の期間開始前は該第2の制御指令値からなる制御指令値を生成する制御指令値生成部と、
    前記制御指令値生成部で生成された制御指令値に基づいて前記ロボットの動作を制御する動作制御部とを備えたバックラッシュ補償制御装置として動作させることを特徴とするバックラッシュ補償制御プログラム。
JP2004572093A 2003-05-20 2003-05-20 バックラッシュ補償制御方法、バックラッシュ補償制御装置およびバックラッシュ補償制御プログラム Expired - Fee Related JP4276626B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/006265 WO2004103649A1 (ja) 2003-05-20 2003-05-20 バックラッシュ補償制御方法、バックラッシュ補償制御装置およびバックラッシュ補償制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2004103649A1 JPWO2004103649A1 (ja) 2006-07-20
JP4276626B2 true JP4276626B2 (ja) 2009-06-10

Family

ID=33463128

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004572093A Expired - Fee Related JP4276626B2 (ja) 2003-05-20 2003-05-20 バックラッシュ補償制御方法、バックラッシュ補償制御装置およびバックラッシュ補償制御プログラム

Country Status (3)

Country Link
US (1) US7363109B2 (ja)
JP (1) JP4276626B2 (ja)
WO (1) WO2004103649A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE530380C2 (sv) * 2006-10-03 2008-05-20 Abb Ab Automatisk uppskattning av glapp
US8060250B2 (en) * 2008-12-15 2011-11-15 GM Global Technology Operations LLC Joint-space impedance control for tendon-driven manipulators
KR101487782B1 (ko) * 2008-12-22 2015-01-29 삼성전자 주식회사 로봇 및 그 균형 제어방법
KR101493384B1 (ko) * 2008-12-22 2015-02-13 삼성전자 주식회사 로봇 및 그 균형 제어방법
JP5487756B2 (ja) * 2009-06-26 2014-05-07 富士通株式会社 ロボット制御装置、ロボット制御プログラムおよびロボット制御方法
KR20110026935A (ko) * 2009-09-09 2011-03-16 삼성전자주식회사 로봇 관절 구동장치 및 이를 포함하는 로봇
US8251484B2 (en) 2010-05-14 2012-08-28 Xerox Corporation Method and system for measuring and compensating for sensitivity and backlash in electrical motors that laterally move printheads in a continuous web inkjet printer
TWI448802B (zh) * 2011-12-30 2014-08-11 Altek Corp 攝像裝置及其自動背隙校正方法
US9358687B2 (en) * 2013-01-24 2016-06-07 Mohammad Reza Emami System, method and computer program for autonomously emulating robot manipulators of continuously-varying configurations
KR102303374B1 (ko) * 2019-11-21 2021-09-23 (주)로보티즈 부하 토크 검출 장치 및 방법
CN114750145A (zh) * 2021-01-12 2022-07-15 曰轮法寺 机械手***的控制方法、装置、***、存储介质及设备

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5727686A (en) * 1980-07-21 1982-02-15 Hitachi Ltd Industrial articular robot
JPS58217015A (ja) 1982-06-11 1983-12-16 Fujitsu Ltd ロボツトのヒステリシスの補正方法
JPS6080591A (ja) * 1983-10-05 1985-05-08 株式会社日立製作所 マニプレ−タ
JPS6284310A (ja) * 1985-10-08 1987-04-17 Omron Tateisi Electronics Co ロボツト等の駆動制御装置
JPS62140784A (ja) * 1985-12-17 1987-06-24 フアナツク株式会社 ロボツトのバツクラツシユ補正装置
JPS6372969A (ja) 1986-09-12 1988-04-02 Fujitsu Ltd 歯車式減速機
US4855564A (en) * 1988-05-23 1989-08-08 Westinghouse Electric Corp. Laser beam alignment and transport system
JPH02110744A (ja) 1988-10-20 1990-04-23 Fujitsu Ltd 情報処理装置
JP2567082B2 (ja) * 1989-03-02 1996-12-25 ファナック株式会社 産業用ロボットの関節構造
JP2651251B2 (ja) 1989-10-20 1997-09-10 株式会社日立製作所 スカラ型ロボットの機構誤差補正方法
JP2709969B2 (ja) * 1989-12-12 1998-02-04 ファナック株式会社 サーボモータの制御方法
JP2638662B2 (ja) 1990-04-05 1997-08-06 ファナック株式会社 直線移動型産業用ロボットのバックラッシュ調整装置
JPH0490209A (ja) 1990-08-01 1992-03-24 Murata Mfg Co Ltd 面実装型弾性表面波デバイス
JPH07248047A (ja) 1991-02-25 1995-09-26 Tetsuo Matsuura 傾斜円盤駆動型減速装置
US5245263A (en) * 1991-09-13 1993-09-14 University Of Maryland Anti-backlash drive systems for multi-degree freedom devices
US5294873A (en) * 1992-10-27 1994-03-15 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Kinematic functions for redundancy resolution using configuration control
JPH06206354A (ja) 1993-01-11 1994-07-26 Ricoh Co Ltd シリアルプリンタ
JP3329896B2 (ja) 1993-07-27 2002-09-30 松下電工株式会社 調整方法及びその装置と調整システム
JPH07100781A (ja) * 1993-10-05 1995-04-18 Ricoh Co Ltd 多関節型ロボット
JPH07132485A (ja) 1993-11-08 1995-05-23 Matsui Seisakusho:Kk ロボットアーム駆動機構
JPH07200018A (ja) * 1993-12-27 1995-08-04 Toyoda Mach Works Ltd ロボットの制御装置
US5523662A (en) * 1994-05-02 1996-06-04 Engineering Services, Inc. Modular, expandable and reconfigurable robot
JPH0871966A (ja) * 1994-09-08 1996-03-19 Toyoda Mach Works Ltd ロボット制御装置
US5946449A (en) * 1996-04-05 1999-08-31 Georgia Tech Research Corporation Precision apparatus with non-rigid, imprecise structure, and method for operating same
JPH1076488A (ja) 1996-09-03 1998-03-24 Fujitsu Ltd ロボットの位置決め装置
JPH1094986A (ja) 1996-09-20 1998-04-14 Kokusai Electric Co Ltd アームロボット及びその組立方法
US6609900B2 (en) * 1996-09-30 2003-08-26 Terumo Cardiovascular Systems Corporation Dynamic brake with backlash control for peristaltic pump
JP2907164B2 (ja) * 1996-11-22 1999-06-21 日本電気株式会社 数値制御装置
JP3215067B2 (ja) * 1997-03-21 2001-10-02 ファナック株式会社 移動方向反転時の位置補正方法
DE69827656T2 (de) 1997-08-29 2005-11-24 Matsushita Electric Industrial Co., Ltd., Kadoma Vorrichtung und verfahren zur bestueckung von bauteilen
JPH11134012A (ja) 1997-10-24 1999-05-21 Fanuc Ltd 軌跡誤差補正機能を有するロボット
GB2334958B (en) * 1998-02-25 2001-11-07 Porpoise Viscometers Ltd Melt flow index determination in polymer process control
US6233504B1 (en) * 1998-04-16 2001-05-15 California Institute Of Technology Tool actuation and force feedback on robot-assisted microsurgery system
WO2000075739A1 (fr) * 1999-06-04 2000-12-14 Kabushiki Kaisha Yaskawa Denki Unite de commande de position pour moteur
US6377011B1 (en) * 2000-01-26 2002-04-23 Massachusetts Institute Of Technology Force feedback user interface for minimally invasive surgical simulator and teleoperator and other similar apparatus
JP3687958B2 (ja) * 2001-03-30 2005-08-24 東芝機械株式会社 位置制御装置および位置制御方法
WO2003011535A1 (fr) * 2001-08-01 2003-02-13 Sony Corporation Robot mobile dote de jambes et procede de commande de fonctionnement de ce robot

Also Published As

Publication number Publication date
US20050217406A1 (en) 2005-10-06
WO2004103649A1 (ja) 2004-12-02
US7363109B2 (en) 2008-04-22
JPWO2004103649A1 (ja) 2006-07-20

Similar Documents

Publication Publication Date Title
US7363109B2 (en) Backlash compensation control method, backlash compensation controller and backlash compensation control program
JP4818716B2 (ja) ロボット制御装置
US20150202768A1 (en) Biped walking robot control method and biped walking robot control system
US11045945B2 (en) Method for controlling walking of robot and robot
JP4812426B2 (ja) ロボット制御装置
US9073209B2 (en) Walking robot and control method thereof
Zhang et al. Development of a bionic hexapod robot for walking on unstructured terrain
US8614558B2 (en) Motor control apparatus and motor control method thereof
US8805582B2 (en) Robot control apparatus
JP5181957B2 (ja) ロボット制御装置、ロボット制御方法およびロボット制御プログラム
US20040128028A1 (en) Motion editing apparatus and method for legged mobile robot and computer program
WO2009067458A1 (en) Learning capture points for humanoid push recovery
US8644987B2 (en) Robot and walking control apparatus and method thereof
US7904203B2 (en) Apparatus and method for robot control
US8761926B2 (en) Apparatus and method for robot control
JP4905041B2 (ja) ロボット制御装置
JP5198035B2 (ja) 脚式ロボット及びその制御方法
JP2007007803A (ja) ロボットとその制御方法
JP2002086373A (ja) 脚式ロボットのリアルタイム最適制御方法
Ficanha et al. Gait emulator for evaluation of a powered ankle-foot prosthesis
JP4696728B2 (ja) 脚式ロボットとその制御方法
JP2008126382A (ja) 脚式移動ロボット、及びその制御方法
JP2008126330A (ja) 脚式ロボット、及びその制御方法
JP4696727B2 (ja) 歩容データの作成装置と作成方法
JP2005088189A (ja) ロボットの運動パターン作成用プログラム、並びに運動パターン作成装置及びそれを用いたロボット。

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081104

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090306

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120313

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130313

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140313

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees