(57)【特許請求の範囲】
【請求項１】
ロボットの各動作部に動作開始位置から一つ以上の中間目標位置を経由して最終目標位置に動作させる動作指令を、動作開始時刻からの各中間目標位置および最終目標位置に到達すべき時間を指定して与える手段と、
この連続した移動動作指令を与える際に各中間目標位置付近での動作の経路の補間を行うか否かを指定する手段と、
動作の補間を行う場合に、各中間目標位置毎に動作の経路の補間を開始する時刻を指定する動作指令手段と、
動作部の駆動を制御するための目標速度パタンを生成する際に、動作の経路の補間をしない場合と経路の補間をする場合のそれぞれで、最終目標位置に到達する時刻が同一になる目標速度パタンの算出手段と、
当該目標速度パタンに基づいて各動作部の制御手段と、
を備えることを特徴とするロボットの制御装置。
【請求項２】
請求項１記載のロボットの制御装置を有するロボットであって、
前記ロボットは、
前記算出手段と前記制御手段とを具備するモーター駆動手段と、
ＬＥＤ表示手段と、
音声出力手段と、
前記モーター駆動手段とＬＥＤ表示手段と音声出力手段とに同時に動作指示を与えることが可能な動作指示手段と、
を備えることを特徴とするロボット。
【請求項３】
ロボットの各動作部に動作開始位置から一つ以上の中間目標位置を経由して最終目標位置に動作させる動作指令を、動作開始時刻からの各中間目標位置および最終目標位置に到達すべき時間を指定して与えるステップと、
この連続した移動動作指令を与える際に、各中間目標位置付近での動作の経路の補間を行うか否かを指定するステップと、
動作の経路の補間を行う場合に、各中間目標位置毎に動作の経路の補間を開始する時刻を指定するステップと、
動作部の駆動を制御するための目標速度パタンを生成する際に、経路の補間をしない場合と経路の補間をする場合の両者において、最終目標位置に到達する時刻が同一になる目標速度パタンを算出するステップと、
当該目標速度パタンに基づいて各動作部を制御するステップと、
を有することを特徴とするロボットの制御方法。
【請求項４】
ロボットの動作を制御する制御装置において、
ロボットの動作部に動作開始位置から一つ以上の中間目標位置を経由して最終目標位置に動作させる動作指令を与え、この連続した移動動作指令を与える際に各中間目標位置付近での動作の補間を行うか否かを指定し、
動作の補間を行う場合には各中間目標位置毎に動作の補間を開始する時刻を指定し、
前記動作指令に基づき目標速度パタンを生成する際に、経路の補間をしない場合と経路の補間をする場合の両者で最終目標位置に到達するときの時刻と位置とが同一になる各動作部の動作軸の駆動を制御するための目標速度パタンを算出し、
当該目標速度パタンに基づき、ロボットに各動作部の動作制御を行わせることを特徴とするロボットの制御方法。
【請求項５】
ロボットの動作を制御する制御装置において、
ロボットの動作部に動作開始位置から一つ以上の中間目標位置を経由して最終目標位置に動作させる動作指令を与え、この連続した移動動作指令を与える際に各中間目標位置付近での動作の補間を行うか否かを指定し、
動作の補間を行う場合には各中間目標位置毎に動作の補間を開始する時刻を指定し、
前記動作指令に基づき目標速度パタンを生成する際に、経路の補間をしない場合と経路の補間をする場合の両者で最終目標位置に到達するときの時刻と位置とが同一になる各動作部の動作軸の駆動を制御するための目標速度パタンを算出し、
当該目標速度パタンに基づき、各動作部の動作制御を行うことを特徴とするロボットの制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、移動可能な構造を有するロボットの制御方法、制御装置、およびロボットに関し、特に、動作開始位置から一つ以上の中間目標位置を経由して最終目標位置に移動させる際の動作軸の駆動を制御するロボットの制御方法、制御装置、およびロボットに関する。
【０００２】
【従来の技術】
従来、複数軸の動作部を有するロボットの動作部を滑らかに動かす技術、すなわち、ロボットの動作部において異なる目標位置への動作を時間的に継続して実行することで動作部やロボットなどを移動させる場合に、当該動作部を滑らかに動作させる制御方式として、全ての動作軸について各々の軸の目標位置毎の動作開始時刻と動作終了時刻を同期させる第１の従来技術が知られている。
【０００３】
また、第２の従来技術として、動作開始位置から一つ以上の中間目標位置を経由して最終目標位置に移動させる際に中間位置付近において直線補間や円弧補間を行うことにより滑らかさを実現する技術が提案されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記したような従来技術では、次のようなことが指摘されている。
【０００５】
上記第１の従来技術は、ロボット全ての動作軸について、各動作軸の動作開始時刻と動作終了時刻を同期させて協調動作させることにより滑らかさを実現する技術である。しかし、この技術では、動作終了位置と動作時間を制御することは可能であるが、動作開始位置から一つ以上の中間目標位置を経由して最終目標位置に移動させる際に中間目標位置付近で動作の補間をしないため、中間目標位置付近での滑らかさを実現することが極めて難しい。そのため、この技術を採用するロボットは、ぎくしゃくした動きになることが多い。
【０００６】
上記第２の従来技術は、動作開始位置から一つ以上の中間目標位置を経由して最終目標位置に移動させる際に、中間位置付近において直線補間や円弧補間を行うことにより滑らかさを実現する技術である。しかし、動作時間あるいは動作終了位置を制御することが出来ない。
【０００７】
これに対し、頭部、足部、腕部、車輪などの動作部（以後、動作部と呼ぶ）とＬＥＤ、液晶ディスプレイなどの表示部、スピーカーによる音出力部などを備えるロボット、特に家庭用ロボットやペットロボットといったユーザーが愛着を持つことを目的とするロボットにおいては、ロボットの動作部を滑らかに動作させることを実現しつつ、ロボットの発する音やＬＥＤ表示とタイミングを合わせて制御することが求められている。
【０００８】
本発明は、上記問題点に鑑みなされたものであり、ロボットの動作部を動作開始位置から一つ以上の中間目標位置を経由して最終目標位置に移動させる際に中間目標位置付近で動作の補間を行うことで滑らかに動作させつつ、動作部の駆動、音声出力部の音声出力、ＬＥＤ表示部の発光のそれぞれの動作タイミングを制御することのできるロボットの制御方法およびその装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
かかる目的を達成するために、請求項１記載のロボットの制御装置の発明は、ロボットの各動作部に動作開始位置から一つ以上の中間目標位置を経由して最終目標位置に動作させる動作指令を、動作開始時刻からの各中間目標位置および最終目標位置に到達すべき時間を指定して与える手段と、この連続した移動動作指令を与える際に各中間目標位置付近での動作の経路の補間を行うか否かを指定する手段と、動作の補間を行う場合に、各中間目標位置毎に動作の経路の補間を開始する時刻を指定する動作指令手段と、動作部の駆動を制御するための目標速度パタンを生成する際に、動作の経路の補間をしない場合と経路の補間をする場合のそれぞれで、最終目標位置に到達する時刻が同一になる目標速度パタンの算出手段と、目標速度パタンに基づいて各動作部の制御手段と、を備えることを特徴とする。
【００１０】
請求項２記載のロボットの発明は、請求項１のロボットの制御装置を有し、ロボットは、算出手段と制御手段とを具備するモーター駆動手段と、ＬＥＤ表示手段と、音声出力手段と、モーター駆動手段とＬＥＤ表示手段と音声出力手段とに同時に動作指示を与えることが可能な動作指示手段と、を備えることを特徴とする。
【００１１】
請求項３記載のロボットの制御方法の発明は、ロボットの各動作部に動作開始位置から一つ以上の中間目標位置を経由して最終目標位置に動作させる動作指令を、動作開始時刻からの各中間目標位置および最終目標位置に到達すべき時間を指定して与えるステップと、この連続した移動動作指令を与える際に、各中間目標位置付近での動作の経路の補間を行うか否かを指定するステップと、動作の経路の補間を行う場合に、各中間目標位置毎に動作の経路の補間を開始する時刻を指定するステップと、動作部の駆動を制御するための目標速度パタンを生成する際に、経路の補間をしない場合と経路の補間をする場合の両者において、最終目標位置に到達する時刻が同一になる目標速度パタンを算出するステップと、目標速度パタンに基づいて各動作部を制御するステップと、を有することを特徴とする。
【００１４】
請求項４記載のロボットの制御方法の発明は、ロボットの動作を制御する制御装置において、ロボットの動作部に動作開始位置から一つ以上の中間目標位置を経由して最終目標位置に動作させる動作指令を与え、この連続した移動動作指令を与える際に各中間目標位置付近での動作の補間を行うか否かを指定し、動作の補間を行う場合には各中間目標位置毎に動作の補間を開始する時刻を指定し、動作指令に基づき目標速度パタンを生成する際に、経路の補間をしない場合と経路の補間をする場合の両者で最終目標位置に到達するときの時刻と位置とが同一になる各動作部の動作軸の駆動を制御するための目標速度パタンを算出し、目標速度パタンに基づき、ロボットに各動作部の動作制御を行わせることを特徴とする。
【００１５】
請求項５記載のロボットの制御装置の発明は、ロボットの動作を制御する制御装置において、ロボットの動作部に動作開始位置から一つ以上の中間目標位置を経由して最終目標位置に動作させる動作指令を与え、この連続した移動動作指令を与える際に各中間目標位置付近での動作の補間を行うか否かを指定し、動作の補間を行う場合には各中間目標位置毎に動作の補間を開始する時刻を指定し、動作指令に基づき目標速度パタンを生成する際に、経路の補間をしない場合と経路の補間をする場合の両者で最終目標位置に到達するときの時刻と位置とが同一になる各動作部の動作軸の駆動を制御するための目標速度パタンを算出し、目標速度パタンに基づき、各動作部の動作制御を行うことを特徴とする。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照しながら詳細に説明する。
【００１７】
図１には、本発明の一実施例であるロボットの内部構成ブロック図を示す。このロボットは、動作指示部１０と動作制御部と当該制御部に制御される構成要素とを有する。
動作指示部１０は、動作スクリプト読み込み部１０ａと動作振り分け処理部１０ｂとを有する。
動作制御部は、各構成要素を制御するものであり、例えば、図１に示すように、頭動作制御部１１、足動作制御部１２、ＬＥＤ制御部１３、および音声出力制御部１４などがある。なお、動作指示部１０、頭動作制御部１１、足動作制御部１２、ＬＥＤ制御部１３、および音声出力制御部１４は、マイクロコンピュータ等で構成可能で、以下のような機能を有する。
【００１８】
動作スクリプト読み込み部１０ａには、各構成要素への連続または単一の動作指令が記述されたタイムチャート（動作スクリプトデータ）を読み込む。この読み込み先としては特に限定されず、例えば、当該動作スクリプトデータが格納された記憶媒体から読み込んでもよく、上記データを動作指示部１０の制御下に格納し、当該データを読み込んでもよい。ここでは、図２に示すように、頭部（頭部サーボモータ等）への連続あるいは単一の動作指令と、足部（足部サーボモータ１６等）への連続あるいは単一の動作指令と、ＬＥＤ表示部への連続あるいは単一の動作指令と、音声出力部（スピーカー等）への連続したあるいは単一の音声ファイルの再生指令とが記述されたタイムチャートに対応する動作スクリプトデータを読み込むものとする。
【００１９】
動作振り分け処理部１０ｂは、動作スクリプト読み込み部１０ａが読み込んだ動作スクリプトデータを、各動作制御部が司る制御単位毎に分解し、この分解したデータを対応する動作制御部に送信する。
本実施例では、動作振り分け処理部１０ｂは、まず、読み込んだ動作スクリプトデータを頭部、足部、ＬＥＤ表示部、音声出力部のそれぞれに対応するデータに分解する。そして、頭部に該当する連続あるいは単一の動作指令データを頭動作制御部１１へ、足部に該当する連続あるいは単一のデータを足動作制御部１２へ、ＬＥＤ表示に関する連続あるいは単一のデータをＬＥＤ制御部１３へ、音声出力に関する連続あるいは単一のデータを音声出力制御部１４へ振り分けて送信する。なお、各制御部へ送出するデータは、ひとまとめにして一度に送出してもよく、分割して送出してもよい。
【００２０】
頭動作制御部１１、足動作制御部１２は、それぞれ、頭サーボモータ１５、足サーボモータ１６を制御する。この構成を、図３を用いて説明する。なお、以下の説明では、頭動作制御部１１および足動作制御部１２をモータ制御部３１とし、頭部サーボモータ１５および足部サーボモータ１６を単にサーボモータ３４とする。
【００２１】
図３に示すように、モータ制御部３１は、目標パターン算出部３２と、サーボ制御部３３とを有する。
目標速度パタン算出部３２は、動作指示部１０から入力された動作指令データ（モータ制御部３１用の動作スクリプトデータ）に従い、サーボモータ３４を制御する際の基準になる目標データを算出する。
サーボ制御部３３は、この目標速度パタンに従ってサーボモータ３４の電流や電圧によるトルク等の制御を実際に行う。
【００２２】
目標速度パタン算出部３２は、例えば、図４に示すような構成の動作指令データを受け取り、このデータに基づいて目標速度パタン（目標データ）を算出する。
図４に示すように、動作指令は、ｎ個の動作要素を有する。また、各動作要素は、要素番号ｉと目標位置ＰＥ［ｉ］とその目標位置ＰＥ［ｉ］へ移動するまでの動作時間Ｔ［ｉ］と要素番号ｉの動作経路について補間計算を行うかどうかの（補間）指定ＩＰ［ｉ］とを有し、補間計算を行う場合には補間開始時刻ＴＩ［ｉ］が含まれる。
【００２３】
図５には、補間計算の有無による動作経路の違いを示す。
図５（ａ）には、動作経路の補間計算を行わない場合の動作経路例を示す。この場合、動作パタンは、ａ→ｂ→ｃ→ｄへ直線的な移動経路で、しかもｂ、ｃでは一旦停止して（方向を変換して）移動するように生成されている。
図５（ｂ）には、動作経路の補間計算を行う場合の動作経路例を示す。この場合、動作パタンは、ａ→ｄへ曲線的な移動経路となり、前記したように移動途中に停止することなく移動可能なように作成される。
このように、目標位置を連続して切り替えながら移動させる場合には、補間計算を行った場合の方が滑らかな移動を実現できる。
【００２４】
〈単一動作についての目標速度パタンの算出〉
まず、時間Ｔで移動量Ｓの移動を行う場合の目標速度パタンの算出方法について説明する。なお、説明の簡単化のために加速度をａ、減速度を−ａというように加速度と減速度の絶対値を同一値とし、移動量Ｓ＞０として説明する。また、初速をｖ0 、速度の絶対値の最大値をｖmax として説明する。また、以下の説明では、時間Ｔの経過後には速度０となるような目標速度パタンを算出する場合を例にとる。
【００２５】
（１）（２ｖmax −ｖ0 ）／ａ＞Ｔのとき
この場合、図６（ａ）に示すように、時間Ｔでの移動では最高速度ｖmax には到達しない。この場合の到達速度をｖ’とし、移動可能量をＳ’とすると、それぞれ、下記式１、および２により表すことができる。
【００２６】
【数１】
0004433618.tif 000002
【００２７】
また、図７に示すように、初速ｖ0 から減速度ａで停止するためには、ｖ02／２ａの制動距離が必要となる。この制動距離をＳ”＝ｖ02／２ａとする。
【００２８】
（１−１）Ｓ＜Ｓ”のとき
移動量Ｓでは制動距離が足りないために、初速ｖ0 から停止することはできない。したがって、目標速度パタンを算出できない。
【００２９】
（１−２）Ｓ＞Ｓ’のとき
時間Ｔでは移動量Ｓを実現することはできない。したがって、目標速度パタンを算出できない。
【００３０】
（１−３）Ｓ≦Ｓ’のとき
時間Ｔで移動量Ｓを実現できる。このときの到達速度をｖとすると、初速ｖ0 と到達速度ｖの大小関係は、初速ｖ0 の正負と移動量Ｓの大きさによって変わる。以下に場合分けして説明する。
【００３１】
（１−３−１）ｖ0 ＜０のとき
この場合には、到達速度ｖは必ず正の値をとることになり、初速から一度は加速することになる。よって、ｖについて、下記式３が成立する。
【００３２】
【数２】
0004433618.tif 000003
【００３３】
従って、上記式３から、ｖは以下のように表すことができる。
【００３４】
【数３】
0004433618.tif 000004
【００３５】
この場合、まず加速度ａで時間（ｖ−ｖ0 ）／ａの移動した後、加速度０で時間Ｔ−（２ｖ−ｖ0 ）／ａだけ移動をし、最後に加速度−ａで時間ｖ／ａの移動を行うという目標動作速度パタンを求めることができる。
【００３６】
（１−３−２）ｖ0 ≧０のとき
この場合における動作パタンの算出を図８を用いて説明する。初速ｖ0 をできるだけ長く維持した後に減速し、時間Ｔでは停止するという動作をするときの移動量Ｓ”’と上記Ｓとの大小関係によって、初速から加速するか、あるいは減速するか、を決定する。このＳ”’は、下記式４により求めることができる。
【００３７】
【数４】
0004433618.tif 000005
【００３８】
なお、Ｓ”’は図８において、破線と座標軸で囲まれた部分の面積に相当する。
【００３９】
（１−３−２−１）Ｓ≧Ｓ”’のとき
この場合には、動作パタンは図８（ａ）のようになり、初速から一度加速することになり、ｖ≧ｖ0 が成立する。よって、ｖについて、下記式６が成立する。
【００４０】
【数５】
0004433618.tif 000006
【００４１】
従って、ｖは、下記式（７）によって求めることができる。
【００４２】
【数６】
0004433618.tif 000007
【００４３】
この場合、まず加速度ａで時間（ｖ−ｖ0 ）／ａ、移動を行った後、加速度０で時間Ｔ−（２ｖ−ｖ0 ）／ａ分移動をし、最後に加速度−ａで時間ｖ／ａの移動を行うという目標動作速度パタンを求めることができる。
【００４４】
（１−３−２−２）Ｓ≧Ｓ”’のとき
この場合には、動作パタンは、図８（ｂ）のようになり、初速から減速することになり、ｖ＜ｖ0 が成立する。よって、ｖについて、下記式８が成立する。
【００４５】
【数７】
0004433618.tif 000008
【００４６】
よって、ｖは、下記式９により求めることができる。
【００４７】
【数８】
0004433618.tif 000009
【００４８】
この場合、まず加速度−ａで時間（ｖ0 −ｖ）／ａの移動の後、加速度０で時間Ｔ−ｖ0 ／ａの移動をし、最後に加速度−ａで時間ｖ／ａの移動を行うという目標動作速度パタンを求めることができる。
【００４９】
（２）（２ｖmax −ｖ0 ）／ａ≦Ｔのとき
この場合、時間Ｔでの移動で最高速度にｖmax に到達する。ここで、時間Ｔでの移動可能量は、下記式１０により求めることができる。
【００５０】
【数９】
0004433618.tif 000010
【００５１】
（２−１）Ｓ＜Ｓ”のとき
（１−１）と同様である。
【００５２】
（２−２）Ｓ＞Ｓ’のとき、
（１−２）と同様である。
【００５３】
（２−３）Ｓ≦Ｓ’のとき、
（１−３）と同様である。
【００５４】
なお、移動量Ｓ＜０の場合には、加速度の値の正負や条件式の正負を考慮して、前記（１）、（２）と同様に目標動作速度パタンを算出することができる。
【００５５】
〈動作経路の補間計算を行う場合の目標速度パタン〉
動作経路の補間計算を行う場合の目標パタンの算出方法について、図９を参照しながら説明する。なお、動作要素ｉについて、Ｔ＝Ｔ［ｉ］、Ｓ＝ＰＥ［ｉ］−ＰＥ［ｉ−１］（ｉ＝０のときは、Ｓ＝ＰＥ［ｉ］）とし、前述した単一動作についての目標速度パタンの算出方法に従って動作速度パタンを算出したものを仮動作速度パタンＶa ［ｉ］とする。
【００５６】
図９（ａ）には、仮動作速度パタンＶa ［ｉ］の算出例を示す。
次に、図９（ｂ）に示すように、動作要素ｉについて、補間指定があり（ＩＰ［ｉ］＝ＴＲＵＥ）、補間開始時刻パラメータがＴＩ［ｉ］の場合には、補間開始時刻ＴＩ［ｉ］Ｔ［ｉ］での仮動作速度パタンＶa ［ｉ］の速度と、補間開始時刻ＴＩ［ｉ］Ｔ［ｉ］までの仮動作速度パタンＶa ［ｉ］における移動量を算出する。この、この速度と移動量を、それぞれｖp ［ｉ＋１］、Ｐp ［ｉ＋１］とする。ｖp ［ｉ＋１］、Ｐp ［ｉ＋１］はそれぞれ、次の動作要素ｉについての動作速度パタンを算出する際の初速と初期位置となる。また、補間開始時刻ＴＩ［ｉ］Ｔ［ｉ］までの仮動作速度パタンＶa ［ｉ］を目標速度パタンとして確定し、Ｖp ［ｉ］とする。
【００５７】
次に、動作要素（ｉ＋１）について、補間指定が無い場合（ＩＰ［ｉ］＝ＦＡＬＳＥ）を、図９（ｃ）を参照しながら説明する。
図９（ｃ）に示すように、Ｔ＝Ｔ［ｉ＋１］＋（１−ＴＩ［ｉ］）Ｔ［ｉ］、Ｓ＝ＰＥ［ｉ＋１］−Ｐp ［ｉ＋１］とし、前述した単一動作における目標速度パタンの算出方法に従って、動作速度パタンを算出する。この算出したパタンを目標速度パタンとして確定し、Ｖp ［ｉ＋１］とする。
以上のようにして、補間指定のある動作要素ｉと補間指定のない動作要素（ｉ＋１）についての目標速度パタンを算出することが可能となる。
【００５８】
〈目標速度パタン算出アルゴリズム〉
上述した説明を踏まえ、本発明に係る目標速度パタン算出部３２で実行される動作のアルゴリズムについて、図１０のフローチャートを参照しながら以下に詳述する。
【００５９】
目標速度パタン算出部３２は、目標速度パタン算出を開始すると、まず初期化処理を行う（ステップＳ１００）。すなわち、動作要素番号ｉをｉ＝０にリセットする処理と、本例では停止状態から動作を開始することとしているので初速度ｖp ［０］をｖp ［０］＝０にリセットする処理と、初期位置Ｐp ［０］をＰp ［０］＝現在位置にセットする処理を実行する。初期位置Ｐp ［０］にセットする現在位置については、図３に示すサーボ制御部３３から現在位置情報を取得できる。
【００６０】
動作指示部１０から指示された動作指令の要素番号ｉの動作について、時間Ｔ＝Ｔ［ｉ］、移動量Ｓ＝ＰＥ［ｉ］−Ｐp ［ｉ］、初速ｖ0 ＝ｖp ［ｉ］として前記した単一動作についての目標速度パタンの算出方法に従って目標速度パタンを算出する（ステップＳ１０１）。この算出した目標速度パタンを仮速度パタンＶa ［ｉ］とする。すなわち、仮速度パタンＶa ［ｉ］は、加速度と時間のセットが１つ以上３つ以下で構成されることになる。
【００６１】
ここで、目標動作速度パタンを、初期位置Ｐp ［ｉ］、初速ｖp ［ｉ］の状態から、まず加速度ａ［ｉ］［０］で時間ｔ［ｉ］［０］の移動した後、次に加速度ａ［ｉ］［１］で時間ｔ［ｉ］［１］の移動を行い、最後に加速度ａ［ｉ］［２］で時間ｔ［ｉ］［２］の移動を行うという３つの加速度と時間のセットから構成されるパタンを想定する。このパタンのセット数をｎ［ｉ］＝３とすると、Ｖa ［ｉ］は、下記式１１のように記述することができる。
【００６２】
【数１０】
0004433618.tif 000011
【００６３】
目標速度パタン算出部３２は、仮速度パタン算出が成功したかどうかを調べる（ステップＳ１０２）。この算出が成功した場合にはステップＳ１０３に進む（ステップＳ１０２／ＹＥＳ）。失敗した場合（ステップＳ１０２／ＮＯ）には、目標速度パタン算出失敗として終了する。
【００６４】
次いで、要素番号ｉでの動作について、補間指定ＩＰ［ｉ］を調べて補間指定があり、かつ要素番号ｉが動作要素数（ｎ−１）よりも小さい（ｉ＜（ｎ−１））か調べる（ステップＳ１０３）。
この条件を満たしている場合（ステップＳ１０３／ＹＥＳ）には、動作経路についての補間計算処理を行うステップＳ１０４に進む。また上記条件を満たしていない場合（ステップＳ１０３／ＮＯ）には、動作経路についての補間計算処理を行わないステップＳ１０６へ進む。
【００６５】
目標速度パタン算出部３２は、補間計算処理を行う場合（ステップＳ１０３／ＹＥＳ）、初速ｖp ［ｉ］の仮速度パタンＶa ［ｉ］について、仮速度パタンの動作開始時の時刻を０としたときの時刻ＴＩ［ｉ］Ｔ［ｉ］における速度と位置を計算する。そして、それぞれ次の要素番号（ｉ+ １）についての速度パタンを算出するときの初速と初期位置（ｖp ［ｉ＋１］、およびＰp ［ｉ＋１］）とする。
【００６６】
ここで、仮速度パタンの動作開始時の時刻を０としたときの時刻ＴＩ［ｉ］Ｔ［ｉ］における速度と位置の計算方法について説明する。まず、下記式１２を満足するｎ’を求める。
【００６７】
【数１１】
0004433618.tif 000012
【００６８】
上記式１２で求めたｎ’を用いると、ｖp ［ｉ＋１］、およびＰp ［ｉ＋１］は、それぞれ下記式１３および１４で表すことができる（ステップＳ１０４）。
【００６９】
【数１２】
0004433618.tif 000013
【００７０】
そして、補間計算開始時刻ＴＩ［ｉ］Ｔ［ｉ］までの仮速度パタンＶa ［ｉ］を求めるべき目標速度パタンＶp ［ｉ］とする。Ｖp ［ｉ］を、仮速度パタンＶa ［ｉ］と同様に表現すると、下記式１５〜１７と表すことができる（ステップＳ１０５）。
【００７１】
【数１３】
0004433618.tif 000014
【００７２】
補間計算処理を行わない場合（ステップＳ１０３／ＮＯ）には、１つの動作要素毎に停止する速度パタンを算出する。この場合、次の要素番号（ｉ+ １）についての速度パタンを算出するときの初速については、ｖp ［ｉ＋１］＝０とする。
また、次の要素番号（ｉ+ １）についての速度パタンを算出するときの初期位置についても算出する。この場合、１つの動作要素毎に前動作要素の目標位置に到達する速度パタンを算出するので、Ｐp ［ｉ＋１］＝ＰＥ［ｉ］とする（ステップＳ１０６）。
【００７３】
仮速度パタンを動作要素ｉの目標速度パタンＶp ［ｉ］とする。すなわち、下記式１８で示すように、セット数ｎ［ｉ］に応じて目標速度パタンｖp ［ｉ］を求める（ステップＳ１０７）。
【００７４】
【数１４】
0004433618.tif 000015
【００７５】
上記いずれかの処理が終わった後、動作要素番号を１増加させて、次に処理すべき動作要素番号をセットする（ｉ＝ｉ＋１；ステップＳ１０８）。
【００７６】
そして、目標速度パタン算出部３２は、ステップＳ１０８で増加させたｉと動作要素数ｎを比較することで終了判定を行う（ステップＳ１０９）。すなわち、ｉ＜ｎを満足するときには（ステップＳ１０９／ＹＥＳ）、ステップＳ１０１に戻り、ｉ＜ｎを満足しないときには（ステップＳ１０９／ＮＯ）、目標速度パタンｖp を求めることができたので終了する（ステップＳ１０９）。
【００７７】
なお、本発明は、上記した例のように、加速度が一定の場合の直線加減速動作に限定されて解釈されるものではない。従って、加速度と減速度の絶対値が異なる直線加減速動作の場合や、加速および減速状態において速度が非線形に変化するような動作の場合であっても、移動時間と移動量を与えたときの目標速度パタンを求めることができるならば、適宜変更して実施し得るものである。
【００７８】
また、上記実施例においては、ステップＳ１０２において、目標速度パタン算出失敗として終了するようなフローになっているが、このような場合に限って、「指定動作を保証する目標動作速度パタンを算出する」という条件をはずして、移動時間を延長する、あるいは移動量を増減させることによって、目標速度パタンを算出することができるような実施形態も当然に可能である。
【００７９】
【発明の効果】
以上の説明から明らかなように、本発明によれば、ロボットの動作部に対して、経路補間計算を行う指定で動作指令をする場合において、最終目標位置とその到達時刻を指定して、動作指令を与えることが可能になる。これによって、音声出力中や音声出力終了時などのタイミングで同期させてロボットの動作軸を動作させたり、ＬＥＤの発光タイミングと同期させてロボットの動作軸を動作させるなど、所望のタイミングで目標位置に到達させるように、ロボットの動作軸を動作させることができるようになる。
【００８０】
さらに、最初に動作補間なしの動作を設計しておき、この設計された動作を動作補間をするように変更し、動作経路補間の開始時刻を変化させて動作指令を与えることで、最終目標位置に到達する時刻を維持したまま、容易に補間の度合いを変更することが可能になり、滑らかな動作の設計を容易に行うことができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施例を示すブロック図である。
【図２】ロボットに指示する動作のタイムチャートである。
【図３】本発明のモーターを示すブロック図である。
【図４】動作指令の構成を示す図である。
【図５】動作経路の補間を示す図である。
【図６】時間Ｔでの移動可能量を説明する図である。
【図７】時間Ｔでの制動距離を説明する図である。
【図８】単一動作についての目標速度パタンの算出を説明する図である。
【図９】経路補間を行う場合についての目標速度パタンのを説明する図である。
【図１０】目標速度パタンの算出アルゴリズムを説明するフローチャートである。
【符号の説明】
１０  動作指示部
１０ａ  動作スクリプト読み込み部
１０ｂ  動作振り分け処理部
１１  頭動作制御部
１２  足動作制御部
１３  ＬＥＤ制御部
１４  音声出力制御部
１５  頭部サーボモータ
１６  足部サーボモータ
１７  ＬＥＤ
１８  スピーカー
３１  モータ制御部
３２  目標速度パタン算出部
３３  サーボ制御部
３４  サーボモータ
【図１】
0004433618.tif 000016
【図２】
0004433618.tif 000017
【図３】
0004433618.tif 000018
【図４】
0004433618.tif 000019
【図５】
0004433618.tif 000020
【図６】
0004433618.tif 000021
【図７】
0004433618.tif 000022
【図８】
0004433618.tif 000023
【図９】
0004433618.tif 000024
【図１０】
0004433618.tif 000025