(57)【要約】【課題】対象となるロボットのハード面での制約を考慮して、当該ロボットを動作させるモーションデータを編集する。【解決手段】ロボットモーション編集装置は、記憶部に、ロボットの関節軸毎に、移動距離と移動時間との対応関係を示すデータを記憶する。入力部から、関節軸の移動開始点及び移動終了点と、移動開始点から移動終了点までの所要時間との入力を受け付けると、装置は、入力部で受け付けた入力情報と記憶部で記憶される対応関係を示すデータとから、関節軸の移動開始点から移動終了点までの動きを表示部に表示させる。【選択図】図１１
2014213413.tif 000002
【特許請求の範囲】
【請求項１】
表示部と、
ロボットの関節軸毎に、移動距離と移動時間との対応関係を示すデータを記憶する記憶部と、
前記関節軸の移動開始点及び移動終了点と、前記移動開始点から移動終了点までの所要時間との入力を受け付ける入力部と、
前記入力部で受け付けた入力情報と前記記憶部で記憶される対応関係を示すデータとから、前記関節軸の移動開始点から移動終了点までの動きを前記表示部に表示させる制御手段と、
を具備したことを特徴とするロボットモーション編集装置。
【請求項２】
前記制御手段は、前記対応関係を示すデータから導出される前記移動開始点から移動終了点までの所要時間よりも、前記入力を受け付けた所要時間の方が遅いとき、前記移動開始点から移動を開始し、前記対応関係を示すデータから導出される所要時間に前記移動終了点と等しい距離に到達し、その後、前記移動終了点まで移動しないことを示す移動パス線を前記表示部に表示させることを特徴とする請求項１記載のロボットモーション編集装置。
【請求項３】
前記制御手段は、複数の関節軸のそれぞれの移動開始点及び移動終了点と前記移動開始点から移動終了点までの所要時間との入力を前記入力部で受けると、これら複数の関節軸に対する前記移動パス線を前記表示部の一画面に重ねて表示させることを特徴とする請求項２記載のロボットモーション編集装置。
【請求項４】
前記記憶部は、複数の関節軸を組み合わせた動作パターンのなかから物理的に規制される動作パターンを記憶し、
前記制御手段は、前記複数の関節軸に対する前記移動パス線を前記表示部の一画面に重ねて表示した際に、その複数の関節軸を組み合わせた動作パターンのなかに前記記憶部に記憶される動作パターンがあると警告を発することを特徴とする請求項３記載のロボットモーション編集装置。
【請求項５】
前記制御手段は、前記対応関係を示すデータから導出される前記移動開始点から移動終了点までの所要時間よりも、前記入力を受け付けた所要時間の方が早いとき、前記移動開始点から移動を開始した関節軸が前記対応関係を示すデータから導出される所要時間経過後に到達する点を前記移動終了点の最速到達点として前記表示部に表示させることを特徴とする請求項１乃至４のうちいずれか１記載のロボットモーション編集装置。
【請求項６】
表示部と、ロボットの関節軸毎に、移動距離と移動時間との対応関係を示すデータを記憶する記憶部とを備えたコンピュータに、
前記関節軸の移動開始点及び移動終了点と、前記移動開始点から移動終了点までの所要時間との入力を受け付ける機能と、
前記入力を受け付けた情報と前記対応関係を示すデータとから、前記関節軸の移動開始点から移動終了点までの動きを前記表示部に表示させる機能と、
を実現させるためのロボットモーション編集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ロボットのモーションデータを編集するロボットモーション編集装置及び編集プログラムに関する。
【背景技術】
【０００２】
複数の関節軸を有して、手足、首等の関節を動かすことができる多関節ロボットがある。この種のロボットは、様々なシチュエーションに応じた動きができるように、想定される多くの動作をロボットに設定しておく必要がある。動作は、専用のモーション編集プログラム（モーションエディタ）が実装されたロボットモーション編集装置によってモーションデータとして編集され、ロボットに設定される。
【０００３】
ところで、ロボットにはハードウェアの面から見て動作に制約がある。例えば、関節軸を動かすためのモータの速度には限界があり、限界を超える高速動作を関節軸に設定することはできない。また、モータを低速で動かした場合にはモータ等に振動が発生する懸念がある。さらには、複数の関節軸を組み合わせて動かした場合に、これら関節軸によって動かされる部位どうしが当たって動けなくなることもあり得る。
【０００４】
従来のロボットモーション編集装置は、対象となるロボットのハード面での制約を全く考慮していない。このため、編集装置で作成したモーションデータに基づくロボットの動作が、想定とは異なる結果になることがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１３０４２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、対象となるロボットのハード面での制約を考慮して当該ロボットを動作させるモーションデータを編集するロボットモーション編集装置を提供しようとするものである。
【課題を解決するための手段】
【０００７】
一実施形態において、ロボットモーション編集装置は、表示部と、記憶部と、入力部と、制御手段とを備える。記憶部は、ロボットの関節軸毎に、移動距離と移動時間との対応関係を示すデータを記憶する。入力部は、関節軸の移動開始点及び移動終了点と、移動開始点から移動終了点までの所要時間との入力を受け付ける。制御手段は、入力部で受け付けた入力情報と記憶部で記憶される対応関係を示すデータとから、関節軸の移動開始点から移動終了点までの動きを表示部に表示させる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態のロボットモーション編集装置でモーションデータを編集するロボットの一例を示す図。
【図２】ロボットが有する各関節軸の移動時間に対する移動距離の関係を軸毎に示すグラフ。
【図３】ロボットの腕の体側からの開き角度と、前後方向の振り角度とを組み合わせた動作パターン毎に、その動作パターンの動作が物理的に規制されるか否かを示す図。
【図４】ロボットモーション編集装置の要部構成を示すブロック図。
【図５】モーション編集画面の一例を示す図。
【図６】ロボットモーション編集プログラムにしたがってプロセッサが実行する情報処理の前半部を示す流れ図。
【図７】ロボットモーション編集プログラムにしたがってプロセッサが実行する情報処理の後半部を示す流れ図。
【図８】作業ウィンドウの表示例を示す平面図。
【図９】作業ウィンドウの表示例を示す平面図。
【図１０】作業ウィンドウの表示例を示す平面図。
【図１１】作業ウィンドウの表示例を示す平面図。
【図１２】作業ウィンドウの表示例を示す平面図。
【図１３】作業ウィンドウの表示例を示す平面図。
【図１４】組合せ移動不可能時の警告表示の一例を示す図。
【図１５】組合せ移動不可能時の警告表示の他の例を示す図。
【発明を実施するための形態】
【０００９】
以下、実施形態として、図１に示すロボット１０のモーション編集装置４０について、図面を用いて説明する。  
ロボット１０は、首１１と左右の腕１２Ｌ，１２Ｒと腰１３とにそれぞれ関節軸を有する。首１１に対しては、首１１を上下に回動させるための関節軸と、左右に回動させるための関節軸とを有する。腕１２Ｌ，１２Ｒに対しては、それぞれ腕１２Ｌ，１２Ｒを上下に回動させるための関節軸と、左右に回動させるための関節軸とを有する。腰１３に対しては、腰１３を左右に回動させるための関節軸を有する。
【００１０】
各関節軸は、それぞれステッピングモータの動力が動力伝達機構によって軸に伝達されることにより回転する。この回転により、例えば首１１が下から上に動いて頷く動作をしたり、首１１を左右に振って、否定を表わす動作をしたりする。あるいは、両腕１２Ｌ，１２Ｒを体側から開く方向に上げたり、前後に振ったりする。
【００１１】
ところで、ステッピングモータの能力には限界がある。ステッピングモータの能力を超えて関節軸を高速に回転させることはできない。また、ステッピングモータを低速に回転させた場合には、動力伝達機構や関節軸に振動が発生して騒音となる懸念がある。そこで、これらモータ等の制約を考慮し、各関節軸には、動かす対象（部位）に応じて軸毎に適正な速度が設定される。
【００１２】
図２は、各関節軸の移動時間と移動距離との関係を軸毎に示すグラフである。図２において、点線２１は、腕１２Ｌ，１２Ｒを前後方向に動かす関節軸の移動時間と移動距離との関係を示す。破線２２は、腕１２Ｌ，１２Ｒを上下方向に動かす関節軸の移動時間と移動距離との関係を示す。一点鎖線２３は、首１１を左右方向に動かす関節軸の移動時間と移動距離との関係を示す。二点鎖線２４は、首１１を上下方向に動かす関節軸の移動時間と移動距離との関係を示す。実線２５は、腰を左右方向に動かす関節軸の移動時間と移動距離との関係を示す。
【００１３】
なお、図２では、関節軸の速度を一定としているが、必ずしも速度が一定である必要はない。例えば、移動時間Ｔ１までは速度がＳ１だが、移動時間がＴ１を超えると、速度がΔＳだけ上昇（Ｓ１＋ΔＳ）または下降（Ｓ１−ΔＳ）する設定であってもよい。
【００１４】
ロボット１０の関節軸に対する制約は、個々の速度だけではない。２以上の関節軸の組合せに対する制約もある。例えばロボット１０の場合、腕１２Ｌ，１２Ｒは、体側についている状態（図１の状態）がホームポジションである。そして、このホームポジションにある腕１２Ｌ，１２Ｒを、そのまま前後に振ることはできない。ホームポジションから腕１２Ｌ，１２Ｒを上げる（開く）ことで、前後に振ることできる。しかもその振り幅は、腕１２Ｌ，１２Ｒの体側からの開き角度によって変化する。
【００１５】
図３は、腕１２Ｌ，１２Ｒの体側からの開き角度（縦軸）と、前後方向の振り角度（横軸）とを組み合わせた動作パターン毎に、その動作パターンの動作が物理的に規制されるか否かを示す図である。同図において、“○”は動作が規制されないことを示し、”×“は動作が規制されることを示す。例えば、腕１２Ｌ，１２Ｒの体側からの開き角度が１０度のとき、腕１２Ｌ，１２Ｒは前後に１０度未満まで振ることはできるが、１０度以上は振ることはできない。腕１２Ｌ，１２Ｒの開き角度が２０度になると、腕１２Ｌ，１２Ｒは前後に３０度未満まで振ることはできる。そして、腕１２Ｌ，１２Ｒの開き角度が５０度になると、腕１２Ｌ，１２Ｒは前後に１８０度以上（１９０度まで）振ることができる。
【００１６】
図４は、モーション編集装置４０の要部構成を示すブロック図である。モーション編集装置４０は、プロセッサ４１、メインメモリ４２、補助記憶部４３、入力部４４、表示部４５及び通信部４６を備える。
【００１７】
プロセッサ４１は、ＣＰＵ（Central Processing Unit）を主体とし、ロボットモーション編集プログラムを含む各種プログラムに従って演算処理を行う。メインメモリ４２は、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）を含み、プログラムやデータを一時的に記憶する。補助記憶部４３は、ＨＤＤ（Hard Disk Drive）装置またはＳＳＤ（Solid State Drive）装置等を含み、各種のプログラムやモーションデータを保存する領域として機能する。入力部４４は、データの入力や操作指示を受け付ける機構であり、キーボードやマウス等が用いられる。表示部４５は、後述するモーション編集画面５０を表示する機構であり、例えば液晶ディスプレイが用いられる。通信部４６は、ＬＡＮ（Local Area Network）等の通信回線を介して接続される外部機器との間のデータ通信を制御する。
【００１８】
図５は、前記モーション編集画面５０の一例である。モーション編集画面５０は、モデル表示領域５１とモーション編集領域５２と操作領域５３とに区分される。モデル表示領域５１には、モーションデータの編集対象であるロボット１０の擬似空間内におけるモデルの二次元画像または三次元画像が表示される。モーション編集領域５２には、ロボット１０に備えられた関節軸毎に移動方向、移動時間及び移動距離を設定する作業ウィンドゥが表示される。操作領域５３には、登録キー、クリアキー等の種々のファンクションキーが表示される。
【００１９】
かかる構成のモーション編集装置４０は、図２に表わされるデータ、すなわちロボット１０の関節軸毎に、移動距離と移動時間との対応関係を示すデータを、記憶部（メインメモリ４２または補助記憶部４３）にて保持する。
【００２０】
さらにモーション編集装置４０は、図３に表わされるデータ、すなわち、腕１２Ｌ，１２Ｒの体側からの開き角度と前後方向の振り角度とを組み合わせた動作パターン毎に、その動作パターンの動作が物理的に規制されるか否かを示すデータも、記憶部（メインメモリ４２または補助記憶部４３）にて保持する。
【００２１】
入力部４４の操作入力により前記ロボットモーション編集プログラムが起動した場合、プロセッサ４１は、図６〜図７の流れ図に示す手順の情報処理を実行する。先ず、プロセッサ４１は、表示部４５にモーション編集画面５０を表示させる。そしてプロセッサ４１は、モーション編集画面５０のモデル表示領域５１にロボット１０の擬似空間内におけるモデルの二次元画像または三次元画像を表示させ、モーション編集領域５２に作業ウィンドゥ６０を表示させる（ＳＴ１）。
【００２２】
図８は、作業ウィンドゥ６０の一例である。この作業ウィンドゥ６０は、関節軸選択領域６１と、キャンバス領域６２と、動作時間（ｍｓｅｃ）の設定領域６３と、時間刻み（ｍｓｅｃ）の設定領域６４とを有する。
【００２３】
関節軸選択領域６１には、ラジオ・ボタン形式で首上下ボタン６１ａ、首左右ボタン６１ｂ、右腕前後ボタン６１ｃ、右腕上下ボタン６１ｄ、左腕前後ボタン６１ｅ、左腕上下ボタン６１ｆ及び腰ボタン６１ｇが配置される。首上下ボタン６１ａが入力された場合、ロボット１０の首１１を上下に回動させる関節軸が選択される。右腕前後ボタン６１ｃが入力された場合、ロボット１０の右腕１２Ｒを左右に回動させる関節軸が選択される。腰ボタン６１ｇが入力された場合、ロボット１０の腰１３を左右に回動させる関節軸が選択される。他の首左右ボタン６１ｂ、右腕上下ボタン６１ｄ、左腕前後ボタン６１ｅ、左腕上下ボタン６１ｆについても同様である。
【００２４】
キャンバス領域６２には、タイムライン６２ａが表示される。タイムライン６２ａは、設定領域６３，６４で設定された動作時間と時間刻みとを基に作成される。
【００２５】
次に、プロセッサ４１は、ロボット１０の関節軸が選択されるのを待機する（ＳＴ２）。入力部４４の操作入力により、関節軸選択領域６１のいずれかのボタン６１ａ〜６１ｆが選択された場合（ＳＴ２にてＹＥＳ）、プロセッサ４１は、その選択ボタンに対応した関節軸の可動範囲を示すラインをキャンバス領域６２に表示させる（ＳＴ３）。
【００２６】
図９は、左腕上下ボタン６１ｆが選択されたときの作業ウィンドゥ６０の一例である。左腕上下ボタン６１ｆに対応した関節軸、すなわち左腕１２Ｌを上下方向に回転させる関節軸は、左腕１２Ｌのホームポジションを可動範囲の下限値とし、左腕１２Ｌが体側から離れる方向に上がる最大の角度を可動範囲の上限値とする。そしてキャンバス領域６２には、可動範囲の下限値を示すライン６２ｂと上限値を示すライン６２ｃとが表示される。
【００２７】
次に、プロセッサ４１は、キャンバス領域６２において、選択ボタンに対応した関節軸の移動開始点が指定されるのを待機する（ＳＴ４）。入力部４４の操作入力により、キャンバス領域６２上で移動開始点が指定された場合（ＳＴ４にてＹＥＳ）、プロセッサ４１は、その移動開始点が選択ボタンに対応した関節軸の可動範囲内か否かを確認する（ＳＴ５）。移動開始点が可動範囲外であると確認された場合（ＳＴ５にてＮＯ）、プロセッサ４１は、ステップＳＴ４に戻り、移動開始点が再び指定されるのを待機する。
【００２８】
移動開始点が可動範囲内であると確認された場合（ＳＴ５にてＹＥＳ）、プロセッサ４１は、図９に示すように、キャンバス領域６２上の指定された位置に移動開始点６２ｄを表示させる（ＳＴ６）。
【００２９】
次に、プロセッサ４１は、キャンバス領域６２において、選択ボタンに対応した関節軸の移動開始点６２ｄから１方向へ移動したときの移動終了点が指定されるのを待機する（ＳＴ７）。入力部４４の操作入力により、キャンバス領域６２上で移動終了点が指定された場合（ＳＴ７にてＹＥＳ）、プロセッサ４１は、その移動終了点が選択ボタンに対応した関節軸の可動範囲内か否かを確認する（ＳＴ８）。移動終了点が可動範囲外であると確認された場合（ＳＴ８にてＮＯ）、プロセッサ４１は、ステップＳＴ７に戻り、移動終了点が再び指定されるのを待機する。
【００３０】
移動終了点が可動範囲内であると確認された場合（ＳＴ８にてＹＥＳ）、プロセッサ４１は、選択ボタンに対応した関節軸が移動開始点から移動終了点まで移動可能か否かを、当該関節軸の移動距離と移動時間との対応関係を示すデータから判定する。すなわちプロセッサ４１は、移動開始点から移動終了点までの移動距離で前記対応関係を示すデータを検索して、同一の移動距離に対する移動時間を取得する。そしてプロセッサ４１は、指定された移動開始点から移動終了点までの移動に要する時間を、前記対応関係を示すデータから取得した移動時間と比較し、移動時間以上であれば移動終了点まで到達可能と判定し、移動時間未満であれば到達不可能と判定する（ＳＴ９）。
【００３１】
到達不可能な場合（ＳＴ９にてＮＯ）、プロセッサ４１は、図１０に示すように、指定された移動終了点６２ｅを前記キャンバス領域６２上の指定位置に表示させるとともに、前記移動開始点６２ｄから前記同一の移動距離に対する移動時間が経過した時点のポジションに、最速到達点６２ｆを表示させる。さらにプロセッサ４１は、移動開始点６２ｄと最速到達点６２ｆとの間を線形で補間する移動パス線６２ｇを破線で表示させる（ＳＴ１０）。しかる後、プロセッサ４１は、ステップＳＴ７に戻り、移動終了点が再び指定されるのを待機する。
【００３２】
これに対し、移動終了点まで到達可能な場合には（ＳＴ９にてＹＥＳ）、プロセッサ４１は、図１１に示すように、指定された移動終了点６２ｅを前記キャンバス領域６２の指定位置に表示させるとともに、前記移動開始点６２ｄから前記同一の移動距離に対する移動時間が経過した時点のポジションに、最速到達点６２ｆを表示させる。またプロセッサ４１は、移動開始点６２ｄと最速到達点６２ｆとの間を線形で補間する第１の移動パス線６２ｈと、最速到達点６２ｆと移動終了点６２ｅとの間を線形で補間する第２の移動パス線６２ｉとをいずれも実線で表示させる（ＳＴ１１）。
【００３３】
次に、プロセッサ４１は、他の関節軸への切替が指示されるか（ＳＴ１２）、モーションデータの保存が指示されるか（ＳＴ１３）、新たな移動終了点が指定されるのを待機する（ＳＴ７）。
【００３４】
入力部４４の操作入力により、キャンバス領域６２上で新たな移動終了点が指定された場合（ＳＴ７にてＹＥＳ）、プロセッサ４１は、直前に入力された移動終了点を移動開始点とみなす。そしてプロセッサ４１は、前記ステップＳＴ８〜ＳＴ１１の処理を再度実行する。
【００３５】
その結果、移動終了点が選択ボタンに対応した関節軸の可動範囲内であると確認された場合、プロセッサ４１は、図１２に示すように、指定された移動終了点６２ｋを前記キャンバス領域６２に表示させるとともに、前記移動開始点（直前の移動終了点６２ｅ）から前記同一の移動距離に対する移動時間が経過した時点のポジションに、最速到達点６２ｍを表示させる。またプロセッサ４１は、移動開始点６２ｅから最速到達点６２ｍとの間を線形で補間する第１の移動パス線６２ｎと、最速到達点６２ｍと移動終了点６２ｋとの間を線形で補間する第２の移動パス線６２ｐとをいずれも実線で表示させる（ＳＴ１１）。
【００３６】
その後、プロセッサ４１は、他の関節軸への切替が指示されるか（ＳＴ１２）、モーションデータの保存が指示されるか（ＳＴ１３）、新たな移動終了点が指定されるのを待機する（ＳＴ７）。
【００３７】
入力部４４の操作入力により、関節軸選択領域６１のボタン６１ａ〜６１ｆ群の中から未選択のボタンがさらに選択された場合には、プロセッサ４１は、関節切替の指示有りと認識する（ＳＴ１２にてＹＥＳ）。この場合、プロセッサ４１は、その選択ボタンに対応した関節軸の可動範囲を示すラインをキャンバス領域６２に表示させる（ＳＴ２１）。
【００３８】
図１３は、図１２の状態から左腕前後ボタン６１ｅがさらに選択されたときの作業ウィンドゥ６０の一例である。左腕前後ボタン６１ｅに対応した関節軸、すなわち左腕１２Ｌを前後方向に回転させる関節軸は、左腕１２Ｌのホームポジションを可動範囲の中央値とし、左腕１２Ｌが前方に上がる最大の角度を可動範囲の上限値、後方に上がる最大の角度を可動範囲の下限値とする。そしてキャンバス領域６２には、可動範囲の中央値を示すライン７１ａと上限値を示すライン７１ｂと下限値を示すライン７１ｃとが表示される。
【００３９】
次に、プロセッサ４１は、キャンバス領域６２において、選択ボタンに対応した関節軸の移動開始点が指定されるのを待機する（ＳＴ２２）。入力部４４の操作入力により、キャンバス領域６２上で移動開始点が指定された場合（ＳＴ２２にてＹＥＳ）、プロセッサ４１は、その移動開始点が選択ボタンに対応した関節軸の可動範囲内か否かを確認する（ＳＴ２３）。移動開始点が可動範囲外であると確認された場合（ＳＴ２３にてＮＯ）、プロセッサ４１は、ステップＳＴ２２に戻り、移動開始点が再び指定されるのを待機する。
【００４０】
移動開始点が可動範囲内であると確認された場合（ＳＴ２３にてＹＥＳ）、プロセッサ４１は、図１３に示すように、キャンバス領域６２上の指定位置に移動開始点７１ｄを表示させる（ＳＴ２４）。
【００４１】
次に、プロセッサ４１は、キャンバス領域６２において、選択ボタンに対応した関節軸の移動開始点７１ｄから１方向へ移動したときの移動終了点が指定されるのを待機する（ＳＴ２５）。入力部４４の操作入力により、キャンバス領域６２上で移動終了点が指定された場合（ＳＴ２５にてＹＥＳ）、プロセッサ４１は、その移動終了点が選択ボタンに対応した関節軸の可動範囲内か否かを確認する（ＳＴ２６）。移動終了点が可動範囲外であると確認された場合（ＳＴ２６にてＮＯ）、プロセッサ４１は、ステップＳＴ２５に戻り、移動終了点が再び指定されるのを待機する。
【００４２】
移動終了点が可動範囲内であると確認された場合（ＳＴ２６にてＹＥＳ）、プロセッサ４１は、選択ボタンに対応した関節軸が移動開始点から移動終了点まで移動可能か否かを、当該関節軸の移動距離と移動時間との対応関係を示すデータから判定する（ＳＴ２７）。移動終了点まで到達不可能な場合（ＳＴ２７にてＮＯ）、プロセッサ４１は、指定された移動終了点を前記キャンバス領域６２上の指定位置に表示させるとともに、前記移動開始点から前記同一の移動距離に対する移動時間が経過した時点のポジションに、最速到達点を表示させる。さらにプロセッサ４１は、移動開始点から最速到達点との間を線形で補間する移動パス線を破線で表示させる（ＳＴ２８）。しかる後、プロセッサ４１は、ステップＳＴ２５に戻り、移動終了点が再び指定されるのを待機する。
【００４３】
これに対し、移動終了点まで到達可能な場合には（ＳＴ２６にてＹＥＳ）、プロセッサ４１は、図１３に示すように、指定された移動終了点７１ｅを前記キャンバス領域６２上の指定位置に表示させるとともに、前記移動開始点７１ｄから前記同一の移動距離に対する移動時間が経過した時点のポジションに、最速到達点７１ｆを表示させる。またプロセッサ４１は、移動開始点７１ｄと最速到達点７１ｆとの間を線形で補間する第１の移動パス線７１ｇと、最速到達点７１ｆと移動終了点７１ｅとの間を線形で補間する第２の移動パス線７１ｈとをいずれも実線で表示させる（ＳＴ２９）。
【００４４】
次に、プロセッサ４１は、タイムライン６２ａの０［ｍｓｅｃ］から時間刻みの間隔（５０ｍｓｅｃ）で、左腕１２Ｌの体側からの開き角度と前後方向の振り角度とを検出する。そしてプロセッサ４１は、この左腕１２Ｌの体側からの開き角度と前後方向の振り角度とを組み合わせた動作パターンが物理的に規制されているか否かを、図３に示すデータを参照して確認する（ＳＴ３０）。
【００４５】
タイムライン６２ａのある時点（図１３の場合は１０５０ｍｓｅｃ）において、左腕１２Ｌの体側からの開き角度と前後方向の振り角度とを組み合わせた動作パターンが物理的に規制された場合（ＳＴ３０にてＮＯ）、この時点で左腕１２Ｌを開くとともに前後に振るという動きが不可能となる。この場合、プロセッサ４１は警告表示を行う（ＳＴ３１）。
【００４６】
具体的には、プロセッサ４１は、図１４に示すように、モデル表示領域５１に表示されているロボット１０の二次元画像または三次元画像において、動きが規制された部位（この場合は左腕）を、他の部位とは異なる表示形態とする。例えば、部位を赤色で表示させる。またプロセッサ４１は、作業ウィンドゥ６０の上に重ねて、図１５に示す内容の警告ポップアップ８０を表示させる。
【００４７】
警告ポップアップ８０には“Ｙｅｓ”ボタン８１が表示されており、この“Ｙｅｓ”ボタン８１が入力された場合、プロセッサ４１は、ステップＳＴ２９で表示した情報を消去する（ＳＴ３２）。しかる後、ステップＳＴ２５に戻り、プロセッサ４１は、新たな移動最終点が入力されるのを待機する。
【００４８】
タイムライン６２ａの動作時間内において、左腕１２Ｌの体側からの開き角度と前後方向の振り角度とを組み合わせた動作パターンが物理的に規制されない場合（ＳＴ３０にてＹＥＳ）、プロセッサ４１は、他の関節軸への切替が指示されるか（ＳＴ３３）、モーションデータの保存が指示されるか（ＳＴ３４）、新たな移動終了点が指定されるのを待機する（ＳＴ２５）。
【００４９】
入力部４４の操作入力により、キャンバス領域６２上で新たな移動終了点が指定された場合（ＳＴ２５にてＹＥＳ）、プロセッサ４１は、直前に入力された移動終了点を移動開始点とみなす。そしてプロセッサ４１は、前記ステップＳＴ２６〜ＳＴ３２の処理を再度実行する。
【００５０】
入力部４４の操作入力により、関節軸選択領域６１のボタン６１ａ〜６１ｆ群の中からさらに未選択のボタンがさらに選択された場合には（ＳＴ３３にてＹＥＳ）、プロセッサ４１は、前記ステップＳＴ２１〜ＳＴ３２の処理を再度実行する。
【００５１】
一方、例えばモーション編集画面５０の操作領域５３に配置される登録キーの入力により、モーションデータの保存が指示された場合には（ＳＴ１２またはＳＴ３５にてＹＥＳ）、プロセッサ４１は、作業ウィンドゥ６０に表示されている移動パス線のデータに基づいて、モーションデータを作成する（ＳＴ３５）。そしてプロセッサ４１は、このモーションデータを保存したモーションファイルを通信部４６を介して外部機器、例えばモーションファイルのデータベース装置に出力する（ＳＴ３６）。出力後、プロセッサ４１は、作業ウィンドゥ６０等を消去する（ＳＴ３７）。以上で、ロボットモーション編集プログラムが終了する。
【００５２】
ここに、プロセッサ４１は、入力部４４で受け付けた入力情報と、ロボット１０の関節軸毎の移動距離と移動時間との対応関係を示すデータとから、関節軸の移動開始点から移動終了点までの動きを表示部４５に表示させる制御手段を構成する。
【００５３】
具体的には、プロセッサ４１は、前記対応関係を示すデータから導出される移動開始点から移動終了点までの所要時間よりも、入力を受け付けた所要時間の方が遅いとき、図１１に示すように、移動開始点６２ｄから移動を開始し、対応関係を示すデータから導出される所要時間に移動終了点６２ｅと等しい距離に到達し、その後、移動終了点６２ｅまで移動しないことを示す移動パス線６２ｈ，６２ｉを、表示部４５に表示させる。
【００５４】
また、プロセッサ４１は、複数の関節軸のそれぞれの移動開始点及び移動終了点と移動開始点から移動終了点までの所要時間との入力を入力部４４で受けると、図１３に示すように、これら複数の関節軸に対する移動パス線６２ｈ，６２ｉ，７１ｇ，７１ｈを表示部４５の一画面に重ねて表示させる。
【００５５】
しかも、プロセッサ４１は、複数の関節軸に対する移動パス線を表示部４５の一画面に重ねて表示した際に、その複数の関節軸を組み合わせた動作パターンのなかに、複数の関節軸を組み合わせた動作パターンのなかから物理的に規制される動作パターンがあると、図１３〜図１５に示すように警告を発する。
【００５６】
さらに、プロセッサ４１は、ロボット１０の関節軸毎の移動距離と移動時間との対応関係を示すデータから導出される移動開始点から移動終了点までの所要時間よりも、入力を受け付けた所要時間の方が早いとき、図１０に示すように、移動開始点６２ｄから移動を開始した関節軸が対応関係を示すデータから導出される所要時間経過後に到達する点を移動終了点の最速到達点６２ｆとして表示部４５に表示させる。
【００５７】
このようなプロセッサ４１を備えたモーション編集装置４０を用いることによって、ユーザは、ロボット１０の各関節軸の動きを規定するモーションデータ群を簡便に作成することができる。しかもその際には、対象となるロボット１０のハード面での制約を考慮して、モーションデータを編集することができる。
【００５８】
例えば、各関節軸を動かすステッピングモータの能力には限界がある。ステッピングモータの能力を超えて関節軸を高速回転させることはできない。図１０に示したように、ステッピングモータの能力を超えて関節軸を高速回転させる指定を行うと、移動開始点６２ｄと移動終了点６２ｅとの間は補間されない。その代わりに、移動終了点６２ｅと同一位置で最速の到達点６２ｆが表示され、さらに、移動開始点６２ｄと最速到達点６２ｆとの間が破線で補間される。この画像から、ユーザは、自身が指定した移動終了点６２ｅはモータの能力を超えているため動作不能であり、最速到達点６２ｆを移動終了点とすることで最速動作が可能となることを容易に理解し得る。
【００５９】
また、図１１に示したように、移動開始点６２ｄと移動終了点６２ｅとを指定したところ、移動開始点６２ｄと移動終了点６２ｅとの間が線形で補間されず、折れ線で補間されたとする。この画像から、ユーザは、ロボット１０の左腕１２Ｌは、移動開始点６２ｄのホームポジションの位置から最速到達点６２ｆの時点で、移動終了点６２ｅとして指定した角度まで開き、後は最速到達点６２ｆから移動終了点６２ｅまで動きがないということを知り得る。そこでユーザは、例えば移動終了点６２ｅを最速到達点６２ｆに近づけることで、動きのない無駄な時間を短縮するというような補正を簡単にできる。
【００６０】
さらに、例えば左腕を開くという動作と前方に振るという動作を組み合わせて指定した際に、物理的に動作不可能な指定が生じる場合がある。そのような場合には、図１３に示したように、その物理的に動作不可能となる時点がいつであるかを、ユーザは容易に確認することができる。また、図１４に示した警告画像から、どの部位が動作不可能になるかも画面上で容易に確認することができる。したがって、ユーザは、動作不可能な状態のモーションデータを編集してしまう不具合を未然に防ぐことができる。
【００６１】
なお、本発明は、前記実施形態に限定されるものではない。  
例えば前記実施形態では、首１１、両腕１２Ｒ，１２Ｌ及び腰１３に関節軸を有するロボット１０のモーション編集装置４０を例示したが、モーションデータ編集対象となるロボットの構造は特に限定されるものではない。
【００６２】
また、前記実施形態は、装置内部のプログラム記憶部に発明の機能を実現させる制御プログラムが予め記録されているものとした。しかしこれに限らず、同様のプログラムがネットワークから装置にダウンロードされてもよい。あるいは、記録媒体に記録された同様のプログラムが、装置にインストールされてもよい。記録媒体は、ＣＤ−ＲＯＭ，メモリカード等のようにプログラムを記憶でき、かつ装置が読み取り可能であれば、その形態は問わない。また、プログラムのインストールやダウンロードにより得る機能は、装置内部のＯＳ（オペレーティング・システム）等と協働してその機能を実現させるものであってもよい。
【００６３】
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６４】
１０…ロボット、４０…モーション編集装置、４１…プロセッサ、４２…メインメモリ、４３…補助記憶部、４４…入力部、４５…表示部、４６…通信部、５０…モーション編集画面。
【図１】
2014213413.tif 000003
【図２】
2014213413.tif 000004
【図３】
2014213413.tif 000005
【図４】
2014213413.tif 000006
【図５】
2014213413.tif 000007
【図６】
2014213413.tif 000008
【図７】
2014213413.tif 000009
【図８】
2014213413.tif 000010
【図９】
2014213413.tif 000011
【図１０】
2014213413.tif 000012
【図１１】
2014213413.tif 000013
【図１２】
2014213413.tif 000014
【図１３】
2014213413.tif 000015
【図１４】
2014213413.tif 000016
【図１５】
2014213413.tif 000017