JP4276626B2 - バックラッシュ補償制御方法、バックラッシュ補償制御装置およびバックラッシュ補償制御プログラム - Google Patents
バックラッシュ補償制御方法、バックラッシュ補償制御装置およびバックラッシュ補償制御プログラム Download PDFInfo
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1641—Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10T—TECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
- Y10T74/00—Machine element or mechanism
- Y10T74/19—Gearing
- Y10T74/1987—Rotary bodies
- Y10T74/19893—Sectional
- Y10T74/19898—Backlash take-up
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10T—TECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
- Y10T74/00—Machine element or mechanism
- Y10T74/20—Control lever and linkage systems
- Y10T74/20207—Multiple controlling elements for single controlled element
- Y10T74/20305—Robotic arm
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Description
上記のバックラッシュの問題に関しては、特許文献1に、バックラッシュの大きさを検出するセンサを備えてバックラッシュを計測し、ギアの経年変化による摩耗によりバックラッシュが増加した場合に通知するという技術が提案されている。また、特許文献2には、ロボットの移動部分の原点位置を検出する原点センサを備え、機械的原点位置を精度よく求めてバックラッシュの影響を低減する技術が開示されている。
これに対し、上記の特許文献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の動作制御値に戻すことにより、ロボットの動作を制御するための動作制御値を生成する動作制御値生成部と、
動作制御値生成部で生成された動作制御値に基づいてロボットの動作を制御する動作制御部とを備えたバックラッシュ補償制御装置として動作させることを特徴とする。
図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の時点)における、ロボットの動作を制御するための動作制御値Vdを算出し(ステップ(s2))、その動作制御値Vdに基づいてロボットの動作を制御する(ステップ(s3))。尚、図1あるいは図6に示すロボットには、制御すべき多数の関節が存在するが、ここでは、各関節の具体的な動作制御値を問題としているのではないため、1つの動作制御値Vdで代表させている。
ステップ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は、動作制御値Vd(ステップ(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の算出を経た後は、現在の動作制御値Vdが算出され(ステップ(c8))、算出された動作制御値Vdに変数Vcmpが加算されることにより新たな動作制御値Vdが求められ(ステップ(c9))、このようにして求められた新たな動作制御値Vdに基づいてロボットの動作が制御される(ステップ(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)で計算しただけの動作制御値Vdを本発明では第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(ca)・f(cb)<0 …(1)
となる2つの補正値変数ca,cbが選び出され、ステップ(b2)でそれら2つの変数ca,cbの平均値としての変数
C0=(ca+cb)/2 …(2)
が求められ、ステップ(b3)で、その平均値としての変数C0に対応する傾き角度
θ0=f(C0) …(3)
が求められる。
ステップ(b4)では、このようにして求めた傾き角度θ0が、
−ε≦θ0≦ε0 …(4)
の範囲内にあるか否かが判定され、θ0がこの範囲から外れているときは、ステップ(b5)において、
f(Ca)・θ0<0 …(5)
か否かが判定される。(5)式を満足するときはステップ(b6)に進んで変数Cbとして変数C0が採用され、あるいは(5)式を満足しないときはステップ(b7)に進んで変数Caとして変数C0が採用されてステップ(b2)に戻り、再び(2)式に従って新たな平均値C0が求められる。
これを繰り返すと、ステップ(b3)で求められる傾き角度θ0は、θ0=0に向けて収束し、ステップ(b4)で上記の(4)式の条件を満足するまで収束したθ0が求められると、そのθ0に対応するC0(ステップ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秒を定義したとき、それぞれ
Tcmp1=0.0秒
Tcmp2=Cdp/4=0.1825秒
Tcmp3=CT/2−Cdp/4=1.2455秒
Tcmp4=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の制御指令値よりも該オフセット値だけ異なる第2の制御指令値に偏倚させるとともに、該一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第2の期間中、該第2の制御指令値に、所定の第2の補正値を、該第2の制御指令値と比べ前記オフセット値だけ異なる値に達するまで繰返し累積減算することにより、該第2の期間をかけて漸次前記第1の制御指令値に戻すことによって、前記ロボットの動作を制御するための、前記第1の期間中は、前記第1の制御指令値に前記第1の補正値を繰返し累積加算している途中の制御指令値からなり、該第1の期間終了後前記第2の期間開始前は前記第2の制御指令値からなり、該第2の期間中は該第2の制御指令値に前記第2の補正値を繰返し累積減算している途中の制御指令値からなり、該第2の期間終了後該第1の期間開始前は該第2の制御指令値からなる制御指令値を生成する第1ステップと、
このようにして生成された制御指令値に基づいて前記ロボットの動作を制御する第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ステップとを有することを特徴とするバックラッシュ補償制御方法。 - 前記第1の期間および第2の期間は相互に同一の時間幅を有する期間であって、前記第1の補正値および第2の補正値は相互に同一の補正値であることを特徴とする請求項1又は2記載のバックラッシュ補償制御方法。
- 前記第1ステップにおける制御指令値生成アルゴリズムと同一のアルゴリズムを用いるとともに該第1ステップにおける前記第1の補正値に対応する補正値として相互に異なる複数の補正値それぞれを用いて前記ロボットの動作試験を行なうことにより、補正値と前記バックラッシュの補償の程度との間の対応関係を求める第3ステップと、
前記対応関係に基づいて、前記バックラッシュの補償が適正に行なわれる補正値を求める第4ステップとを有し、
前記第1ステップでは、前記第4ステップで求められた補正値を前記第1の補正値として採用することを特徴とする請求項1又は2記載のバックラッシュ補償制御方法。 - 駆動源からの駆動力をバックラッシュを伴って伝達する駆動力伝達系を介して伝達されてきた駆動力を受けて周期的な動作を行なうロボットに、該バックラッシュが補償された動作を行なわさせるバックラッシュ補償制御装置において、
前記ロボットの動作の一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第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の期間中、所定の第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の期間中、オフセット値だけ相対的に異なったまま時間的に変化する第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の期間中、オフセット値だけ相対的に異なったまま時間的に変化する第1の制御指令値と第2の制御指令値とのうちの一方である該第1の制御指令値に、所定の第1の補正値を繰返し累積加算することにより、該第1の期間をかけて漸次、該第1の制御指令値よりも該オフセット値だけ異なる第2の制御指令値に偏倚させるとともに、該一周期内における前記バックラッシュに起因する不良動作が生じ得る所定の第2の期間中、該第2の制御指令値に、所定の第2の補正値を繰返し累積減算することにより、該第2の期間をかけて漸次前記第1の制御指令値に戻すことによって、前記ロボットの動作を制御するための、前記第1の期間中は、前記第1の制御指令値に前記第1の補正値を繰返し累積加算している途中の制御指令値からなり、該第1の期間終了後前記第2の期間開始前は前記第2の制御指令値からなり、該第2の期間中は該第2の制御指令値に前記第2の補正値を繰返し累積減算している途中の制御指令値からなり、該第2の期間終了後該第1の期間開始前は該第2の制御指令値からなる制御指令値を生成する制御指令値生成部と、
前記制御指令値生成部で生成された制御指令値に基づいて前記ロボットの動作を制御する動作制御部とを備えたバックラッシュ補償制御装置として動作させることを特徴とするバックラッシュ補償制御プログラム。
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)
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)
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 |
-
2003
- 2003-05-20 WO PCT/JP2003/006265 patent/WO2004103649A1/ja active Application Filing
- 2003-05-20 JP JP2004572093A patent/JP4276626B2/ja not_active Expired - Fee Related
-
2005
- 2005-05-20 US US11/133,368 patent/US7363109B2/en not_active Expired - Fee Related
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 |