(57)【要約】【課題】動作計画に従って動作するロボットのシミュレーション画像を画面上で視覚的に確認しながら動作データの編集を行なう。【解決手段】編集者より入力されているロボット定義情報に記載されている記述方法により動作計画を編集するための処理環境を編集者に提供する。ロボット定義情報に記載されている視覚的情報を用いて動作計画を再生するロボットの映像を表示するとともに、ロボット定義情報として規定されているリソース情報を参照して、各動作計画編集処理部において編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかを確認する。【選択図】  図１
2008030136.tif 000002
【特許請求の範囲】
【請求項１】
装置を構成するリソースや動作計画の記述方法が相違するさまざまなロボットの動作データを編集するための動作編集装置であって、
画面上にロボットを視覚的に表示するために必要となる視覚的情報、ロボットの装置構成に関するリソース情報、ロボットの実機上で再生可能となる動作計画の記述方法の種別に関する情報を含むロボット定義情報を入力するロボット定義情報入力部と、
各記述方法に則ってロボットの動作計画を編集する複数の動作計画編集処理部と、
入力したロボット定義情報に記載されている動作計画の記述方法のうち、編集者が選択したものに対応する動作計画編集処理部を起動する動作計画編集起動部と、
入力したロボット定義情報に記載されている視覚的情報を用いて、動作計画を再生するロボットの映像を生成し、表示出力する動作計画再生処理部と、
起動された各動作計画編集処理部を用いて編集者により編集された複数の動作計画を統合する動作計画統合処理部と、
ロボット定義情報として規定されているリソース情報を参照して、各動作計画編集処理部において編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なう制約条件確認処理部と、
制約条件の確認が行なわれた動作計画を外部へ出力するための処理を行なう動作計画出力処理部と、
を具備することを特徴とするロボットの動作編集装置。
【請求項２】
前記の各動作計画編集処理部は、
ロボットが備えるリソース毎のタイムラインを備え、動作を指定するロボットのリソースと動作を指定する時間区間を指定するタイムライン・データ入力部と、
前記タイムライン・データ入力部で指定された時間区間におけるリソースに関して、時刻の経過に連動して変化していく属性データを指定する属性データ入力部と、
を備えることを特徴とする請求項１に記載のロボットの動作編集装置。
【請求項３】
動作計画間における依存関係を保持する依存関係保持部をさらに備え、
前記動作計画出力処理部は、１つの動作計画編集処理部を用いて編集者により編集された動作計画を、前記依存関係保持部に保持されている依存関係を基に、依存する他の動作計画に変換する、
ことを特徴とする請求項１に記載のロボットの動作編集装置。
【請求項４】
前記動作計画統合処理部は、編集者がタイムライン上でグラフ接続した複数の動作計画を１つの動作計画に統合する、
ことを特徴とする請求項１に記載のロボットの動作編集装置。
【請求項５】
前記動作計画統合処理部は、リソースへの指示値に急激な変化が生じないように考慮して動作計画同士を統合する、
ことを特徴とする請求項１に記載のロボットの動作編集装置。
【請求項６】
前記動作計画統合処理部は、連結される２つの動作計画間で実行時間が重なる時間帯において、各動作計画から得られるリソースへの指示値を混ぜ合わせながら、連続的な動作計画の遷移を行なう、
ことを特徴とする請求項５に記載のロボットの動作編集装置。
【請求項７】
前記動作計画統合処理部は、連結される２つの動作計画間で実行時間が離間している時間帯において、前の動作計画の終了指示値と後の動作計画の開始指示値を補間する、
ことを特徴とする請求項５に記載のロボットの動作編集装置。
【請求項８】
前記制約条件確認処理部は、前記の各動作計画編集処理部を用いて編集者により編集された動作計画が、ロボットの関節アクチュエータの回転角度制限又は回転速度制限、リンク同士の自己干渉、同時に並列実行となる動作計画数に抵触していないかどうかを確認する、
ことを特徴とする請求項１に記載のロボットの動作編集装置。
【請求項９】
装置を構成するリソースや動作計画の記述方法が相違するさまざまなロボットの動作データを編集するための動作編集方法であって、
画面上にロボットを視覚的に表示するために必要となる視覚的情報、ロボットの装置構成に関するリソース情報、ロボットの実機上で再生可能となる動作計画の記述方法の種別に関する情報を含むロボット定義情報を入力するロボット定義情報入力ステップと、
入力したロボット定義情報に記載されている動作計画の記述方法に則った動作計画編集処理手段を起動する動作計画編集起動ステップと、
入力したロボット定義情報に記載されている視覚的情報を用いて、動作計画を再生するロボットの映像を生成し、表示出力する動作計画再生処理ステップと、
起動された動作計画編集処理手段を用いて編集者により編集された複数の動作計画を統合する動作計画統合処理ステップと、
ロボット定義情報として規定されているリソース情報を参照して、編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なう制約条件確認処理ステップと、
制約条件の確認が行なわれた動作計画を外部へ出力するための処理を行なう動作計画出力処理ステップと、
を具備することを特徴とするロボットの動作編集方法。
【請求項１０】
前記動作計画編集処理手段は、
ロボットが備えるリソース毎のタイムラインを備え、動作を指定するロボットのリソースと動作を指定する時間区間を指定するタイムライン・データ入力部と、
前記タイムライン・データ入力部で指定された時間区間におけるリソースに関して、時刻の経過に連動して変化していく属性データを指定する属性データ入力部と、
を備えることを特徴とする請求項９に記載のロボットの動作編集方法。
【請求項１１】
前記動作計画出力処理ステップでは、１つの動作計画編集処理部を用いて編集者により編集された動作計画を、あらかじめ規定されている動作計画間の依存関係を基に、依存する他の動作計画に変換する、
ことを特徴とする請求項９に記載のロボットの動作編集方法。
【請求項１２】
前記動作計画統合処理ステップでは、編集者がタイムライン上でグラフ接続した複数の動作計画を１つの動作計画に統合する、
ことを特徴とする請求項９に記載のロボットの動作編集方法。
【請求項１３】
前記動作計画統合処理ステップでは、リソースへの指示値に急激な変化が生じないように考慮して動作計画同士を統合する、
ことを特徴とする請求項９に記載のロボットの動作編集方法。
【請求項１４】
前記動作計画統合処理ステップでは、連結される２つの動作計画間で実行時間が重なる時間帯において、各動作計画から得られるリソースへの指示値を混ぜ合わせながら、連続的な動作計画の遷移を行なう、
ことを特徴とする請求項１３に記載のロボットの動作編集方法。
【請求項１５】
前記動作計画統合処理ステップでは、連結される２つの動作計画間で実行時間が離間している時間帯において、前の動作計画の終了指示値と後の動作計画の開始指示値を補間する、
ことを特徴とする請求項１３に記載のロボットの動作編集方法。
【請求項１６】
前記制約条件確認処理ステップは、前記動作計画編集処理手段を用いて編集者により編集された動作計画が、ロボットの関節アクチュエータの回転角度制限又は回転速度制限、リンク同士の自己干渉、同時に並列実行となる動作計画数に抵触していないかどうかを確認する、
ことを特徴とする請求項９に記載のロボットの動作編集方法。
【請求項１７】
装置を構成するリソースや動作計画の記述方法が相違するさまざまなロボットの動作データの編集を支援するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータに対し、
画面上にロボットを視覚的に表示するために必要となる視覚的情報、ロボットの装置構成に関するリソース情報、ロボットの実機上で再生可能となる動作計画の記述方法の種別に関する情報を含むロボット定義情報を入力するロボット定義情報入力手順と、
入力したロボット定義情報に記載されている動作計画の記述方法に則った動作計画編集処理手段を起動する動作計画編集起動手順と、
入力したロボット定義情報に記載されている視覚的情報を用いて、動作計画を再生するロボットの映像を生成し、表示出力する動作計画再生処理手順と、
起動された動作計画編集処理手段を用いて編集者により編集された複数の動作計画を統合する動作計画統合処理手順と、
ロボット定義情報として規定されているリソース情報を参照して、編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なう制約条件確認処理手順と、
制約条件の確認が行なわれた動作計画を外部へ出力するための処理を行なう動作計画出力処理手順と、
を実行させることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可動脚などの複数の関節自由度を備えたロボットに対して関節駆動などの動作を指示する動作データを編集するロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムに係り、特に、動作計画に従って動作するロボットのシミュレーション画像を画面上で視覚的に確認しながら動作データの編集を行なうロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、本発明は、装置を構成するリソースや動作計画の記述方法が相違するさまざまなロボットの動作データを画面上で視覚的に確認しながら編集を行なうロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムに係り、特に、ロボットが持つ物理的制約や制御プログラムとの連携を考慮しながら、ロボットが持つ能力を十分に生かした動作データの編集を行なうロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００３】
現在、さまざまなタイプのロボットの開発が盛んに行なわれている。ロボットは、目的とする作業を自動的に行なうことができる機械又は装置のことであるが、マニピュレータのように特定の場所に固定して使われるものや、脚式、車輪型、あるいはクローラ式の移動ロボットなど、ハードウェア構成の異なるさまざまなタイプがあるが、基本的には、関節などの複数の可動部を備えている。
【０００４】
通常、ロボットに所望の作業を指示するための手順を記述した動作計画をあらかじめ編集しておく。ロボットの実機上では、ロードされた動作計画から関節などの各可動部位の軌道を計算し、これに基づいてサーボ・モータなどのアクチュエータの駆動電流を制御するとともに、動作状況を検出するセンサ出力値と目標位置、目標速度、目標化速度などとの差分を補償するためのサーボ処理を施すことにより、動作計画の再生が実現する。
【０００５】
ロボットの動作計画の編集（若しくは運動シミュレーション）は、順運動学や逆運動学を用いて行なう方法が一般的である。ここで、順運動学（Ｄｉｒｅｃｔ  Ｋｉｎｅｍａｔｉｃｓ）とは、動作データとして関節の位置、速度、加速度を与え、各リンクの位置、姿勢、速度、角速度、加速度、角加速度などを求める方法であり、とりわけ終端リンク（エンド・エフェクタ）の位置、姿勢、速度、角速度を求めることが重要である。また、逆運動学（Ｉｎｖｅｒｓｅ  Ｋｉｎｅｍａｔｉｃｓ）とは、動作データとしてリンク（若しくはエンド・エフェクタ）の位置、姿勢、速度、角速度、加速度、角加速度を与え、それを実現する関節変数の位置、速度、加速度を制御する方法である（例えば、非特許文献１を参照のこと）。
【０００６】
例えば、個々のリンクがばらばらの状態から関節を１つずつ順次追加していき、その時点でリンク間の関節において働く拘束力を求める第１のステップと、第１のステップとは逆の順序で関節を除いていき、各関節における最終的な拘束力を計算する第２のステップと、第１のステップ及び第２のステップで求めた各リンクに働く外力を用いてリンクの加速度を計算する第３のステップと、第３のステップで求めた各関節の両側のリンクの加速度を用いて関節加速度を計算する第４のステップで構成され、開リンク機構及び閉リンク機構を含む剛体リンク系の順運動学演算を高速に行なうリンク系動力学高速計算法について提案がなされている（例えば、特許文献１を参照のこと）。
【０００７】
また、ロボットの作業端の位置と姿勢を指示し、これを実現するための関節毎の変位量を逆運動学演算により求めるとともに、算出された変位量が関節の動作制限を越えるときや変位量を算出できなかったときには作業端の位置と姿勢を実現できない旨を表示するロボット動作のシミュレーション方法について提案がなされている（例えば、特許文献２を参照のこと）。
【０００８】
さらには、複数本の可動脚を備えた歩行ロボットのための、歩行時の足平の着床位置（以下では、「歩）（ｓｔｅｐ）とも呼ぶ」）を動作計画として扱い、歩行パターン・ジェネレータを用いて編集された歩行パターンに対して安定化処理を施すモーション編集装置について提案がなされている（例えば、特許文献３を参照のこと）。
【０００９】
現在、多くの研究機関や大学でロボット装置の研究が進められており、これに伴ってロボットの動作を制御するアルゴリズムを開発する必要がある。ほとんどの場合、研究者自身が独自に定義した動作制御アルゴリズムに則って動作計画を決定しあるいは動作シミュレーションを行なっている。言い換えれば、一般ユーザがコンピュータのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）画面上で容易に動作計画を編集することができる作業環境が整えられていないのが実情である。
【００１０】
ロボットの動作計画の編集方法は、順運動学、逆運動学、歩の軌道パターンなど複数ある。また、ロボットを構成するリソース（リンクや関節の配置）や物理的制約（関節アクチュエータのトルク限界など）は区々である。これに対し、研究史自身が定義した動作制御アルゴリズムは、一般に、開発中のロボット装置に特化したものであり、特定の動作計画の編集方法に従って記述され、特定のロボット装置リソースにしか対応していない。
【００１１】
一方、３次元コンピュータ・グラフィックスの分野においては、３Ｄキャラクタの動作を画面上で視覚的に表示しながら編集する環境が整備されている。
【００１２】
例えば、ポーズの入力を容易にして作業量を低減した３次元アニメーション作成支援装置について提案がなされている（例えば、特許文献４を参照のこと）。同装置は、３次元仮想空間において動くキャラクタの骨格を、長さを属性に持つ複数のリンクとリンク間を結合する関節とを用いて表される骨格モデルを用いて定義するモデル定義手段と、キーフレームとなる複数のポーズを補間することによりキャラクタの関節の角度に関する時系列データを定義する動作定義手段と、動作定義手段で定義された関節の角度をモデル定義手段により定義されたキャラクタの骨格モデルに適用する統合演算手段を備えており、動作定義手段に与えるポーズは、リンクと関節とがキャラクタと同じ結合関係であって各関節の角度変位を検出する角度センサを備えた多関節ロボットから与えるようになっている。
【００１３】
関節の可動範囲などの拘束条件やリンク間の干渉問題を考慮してシミュレーションを行なう点や、多リンク構造体の動作シミュレーションを映像出力する点など、ロボットの動作編集装置と３次元キャラクタのアニメーション編集装置には共通点が認められる。しかしながら、後者はロボットが持つ物理的な制約条件や制御との連携を考慮する必要がなく、前者とは根本的に大きな相違があると言わざるを得ない。
【００１４】
【特許文献１】特開２００３−３９３５６号公報
【特許文献２】特開平８−３２８６３１号公報
【特許文献３】特開２００５−１２５４６０号公報
【特許文献４】特開２００５−７１１８２号公報
【非特許文献１】日本ロボット学会編「ロボット光学ハンドブック」（コロナ社、１９９０年初版、III制御技術編、２．アームの機構と制御）
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明の目的は、動作計画に従って動作するロボットのシミュレーション画像を画面上で視覚的に確認しながら動作データの編集を行なうことができる、優れたロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムを提供することにある。
【００１６】
本発明のさらなる目的は、装置を構成するリソースや動作計画が相違するさまざまなロボットの動作データを画面上で視覚的に確認しながら編集を行なうことができる、優れたロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムを提供することにある。
【００１７】
本発明のさらなる目的は、ロボットが持つ物理的制約や制御プログラムとの連携を考慮しながら、ロボットが持つ能力を十分に生かした動作データの編集を行なうことができる、優れたロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００１８】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、装置を構成するリソースや動作計画の記述方法が相違するさまざまなロボットの動作データを編集するための動作編集装置であって、
画面上にロボットを視覚的に表示するために必要となる視覚的情報、ロボットの装置構成に関するリソース情報、ロボットの実機上で再生可能となる動作計画の記述方法の種別に関する情報を含むロボット定義情報を入力するロボット定義情報入力部と、
各記述方法に則ってロボットの動作計画を編集する複数の動作計画編集処理部と、
入力したロボット定義情報に記載されている動作計画の記述方法のうち、編集者が選択したものに対応する動作計画編集処理部を起動する動作計画編集起動部と、
入力したロボット定義情報に記載されている視覚的情報を用いて、動作計画を再生するロボットの映像を生成し、表示出力する動作計画再生処理部と、
起動された各動作計画編集処理部を用いて編集者により編集された複数の動作計画を統合する動作計画統合処理部と、
ロボット定義情報として規定されているリソース情報を参照して、各動作計画編集処理部において編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なう制約条件確認処理部と、
制約条件の確認が行なわれた動作計画を外部へ出力するための処理を行なう動作計画出力処理部と、
を具備することを特徴とするロボットの動作編集装置である。
【００１９】
現在、さまざまなタイプのロボットの開発が盛んに行なわれており、一般ユーザでも容易にロボットの動作計画の編集操作を行なうことができる動作編集装置を提供することが急務であると思料される。しかしながら、ロボット本体の研究開発者自身が独自に定義した動作制御アルゴリズムに則って動作計画を決定しあるいは動作シミュレーションを行なっているのが現状であり、一般ユーザが用意に動作計画を編集する作業環境は整えられていない。
【００２０】
また、ロボットの動作計画の編集方法は、順運動学、逆運動学、歩の軌道パターンなど複数あり、さらに動作計画を実行する際の制約条件となるロボットを構成するリソースは区々である。これに対し、研究史自身が定義した動作制御アルゴリズムは、一般に、開発中のロボット装置に特化したものであり、特定の動作計画の編集方法に従って記述され、特定のロボット装置リソースにしか対応していない。
【００２１】
そこで、本発明に係るロボットの動作編集装置では、画面上にロボットを視覚的に表示するために必要となる視覚的情報、ロボットの装置構成に関するリソース情報、ロボットの実機上で再生可能となる動作計画の記述方法の種別に関する情報を含むロボット定義情報を編集者より入力し、入力したロボット定義情報に記載されている記述方法により動作計画を編集するための処理環境を編集者に提供するようになっている。
【００２２】
したがって、編集者は、順運動学や逆運動学を始めさまざまな記述形式により、ロボットに実装されている制御プログラムに対応した動作計画を編集することができる。
【００２３】
そして、本発明に係るロボットの動作編集装置では、ロボット定義情報に記載されている視覚的情報を用いて動作計画を再生するロボットの映像を生成してこれを表示出力するとともに、ロボット定義情報として規定されているリソース情報を参照して、各動作計画編集処理部において編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なうようになっている。
【００２４】
したがって、編集者は、装置を構成するリソースが相違するさまざまなロボットの編集を行なうことができるとともに、順運動学や逆運動学を始めさまざまな記述方式で編集した動作計画を画面上で視覚的に確認しながら編集を行なうことができる。
【００２５】
さらに、本発明に係るロボットの動作編集装置では、起動された各動作計画編集処理部を用いて編集者により編集された複数の動作計画を動作計画統合処理部によって統合するので、編集者は、タイムライン上で編集された複数の動作計画をグラフ連結することで、複合的な動作を生成することができる。
【００２６】
各動作計画編集処理部は、タイムライン・データ入力部と、属性データ入力部で構成されている。タイムライン・データ入力部は、ロボットが備えるリソース毎のタイムラインを備えており、編集者は、動作を指定するロボットのリソースと動作を指定する時間区間を指定することができる。また、編集者は、属性データ入力部を介して、タイムライン・データ入力部で指定された時間区間におけるリソースに関して、時刻の経過に連動して変化していく属性データを指定することができる。
【００２７】
また、動作計画間には依存関係が存在することがある。例えば、描画動作計画は、逆運動学動作計画に依存している。動作計画出力処理部は、１つの動作計画編集処理部を用いて編集者により編集された動作計画を、前記依存関係保持部に保持されている依存関係を基に、依存する他の動作計画に変換するようにしてもよい。このような場合、編集者は、ロボットに実装されている動作計画が何であるかどうかを意識せず、用途に応じた記述方式を選択して動作計画を編集することができ、動作編集装置は、編集者に対し、ロボット定義情報に記述されているよりも動作計画を「拡張」して見せることができる。
【００２８】
また、複数の動作計画をグラフ連結して複合的な動作計画を編集する場合、動作計画統合処理部は、リソースへの指示値に急激な変化が生じてハードウェアに多大な負荷がかかることがないように、動作計画間の遷移には十分に考慮しながら、統合処理を行なう必要がある。
【００２９】
具体的には、動作計画統合処理部は、連結される２つの動作計画間で実行時間が重なる時間帯において、各動作計画から得られるリソースへの指示値を混ぜ合わせながら、連続的な動作計画の遷移を行なうことで、連続的な動作計画の遷移を行なうようにする。
【００３０】
あるいは、動作計画統合処理部は、連結される２つの動作計画間で実行時間が離間している時間帯において、前の動作計画の終了指示値と後の動作計画の開始指示値を補間することで、連続的な動作計画の遷移を行なうようにする。
【００３１】
制約条件確認処理部は、前記の各動作計画編集処理部を用いて編集者により編集された動作計画が、ロボットの関節アクチュエータの回転角度制限又は回転速度制限、リンク同士の自己干渉、同時に並列実行となる動作計画数に抵触していないかどうかを確認する。
【００３２】
各節アクチュエータの回転角度及び回転速度の制限、自己干渉などの問題は、主にロボットの装置ハードウェア構成に依存する。また、同時に並列実行可能な動作計画数は、ロボットが実機上で動作計画を再生するプロセッサの演算速度などに依存する。制約条件確認処理部において実施される、動作計画がロボットの物理的制約条件を満たしていることを確認する処理は、３次元キャラクタのアニメーション編集装置との大きな相違点の１つである。
【００３３】
また、各動作計画編集処理部において編集しながら上記の制約条件をすべて考慮することは困難であるから、編集処理が一旦終了した後に、制約条件確認処理部における制約条件の確認処理を実行することが好ましい。
【００３４】
また、本発明の第２の側面は、装置を構成するリソースや動作計画の記述方法が相違するさまざまなロボットの動作データの編集を支援するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータに対し、
画面上にロボットを視覚的に表示するために必要となる視覚的情報、ロボットの装置構成に関するリソース情報、ロボットの実機上で再生可能となる動作計画の記述方法の種別に関する情報を含むロボット定義情報を入力するロボット定義情報入力手順と、
入力したロボット定義情報に記載されている動作計画の記述方法に則った動作計画編集処理手段を起動する動作計画編集起動手順と、
入力したロボット定義情報に記載されている視覚的情報を用いて、動作計画を再生するロボットの映像を生成し、表示出力する動作計画再生処理手順と、
起動された動作計画編集処理手段を用いて編集者により編集された複数の動作計画を統合する動作計画統合処理手順と、
ロボット定義情報として規定されているリソース情報を参照して、編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なう制約条件確認処理手順と、
制約条件の確認が行なわれた動作計画を外部へ出力するための処理を行なう動作計画出力処理手順と、
を実行させることを特徴とするコンピュータ・プログラムである。
【００３５】
本発明の第２の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第２の側面に係るコンピュータ・プログラムをコンピュータにインストールすることによって、コンピュータ上では協働的作用が発揮され、本発明の第１側面に係るロボットの動作編集装置と同様の作用効果を得ることができる。
【発明の効果】
【００３６】
本発明によれば、装置を構成するリソースや動作計画が相違するさまざまなロボットの動作データを画面上で視覚的に確認しながら編集を行なうことができる、優れたロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムを提供することができる。
【００３７】
また、本発明によれば、ロボットが持つ物理的制約や制御プログラムとの連携を考慮しながら、ロボットが持つ能力を十分に生かした動作データの編集を行なうことができる、優れたロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムを提供することができる。
【００３８】
本発明に係るロボットの動作編集装置によれば、順運動学や逆運動学を始めさまざまな記述形式で動作計画を編集することができるとともに、タイムライン上で編集された複数の動作計画をグラフ連結することで、複合的な動作を自動的に生成することができる。また、ロボットの機能やリソースに応じて制約条件を変化させて汎用性を有するとともに、グラフ連結時の動作座標間を自動補間することができる。
【００３９】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００４０】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００４１】
本発明は、複数の関節自由度を備えたロボットに関する動作計画を編集する動作編集装置に関する。動作計画の編集対象となるロボットの一例は可動脚を備えた歩行型ロボットであり、例えば本出願に既に譲渡されている特開２００５−１２５４６０号公報の段落００４４〜００７２に記載されている。但し、本発明の要旨は特定のロボット装置構成に限定されるものではない。
【００４２】
図１には、本発明の一実施形態に係るロボットの動作編集装置１０の機能的構成を模式的に示している。同図に示す各機能ブロックをそれぞれ専用のハードウェア装置として構成することもできるが、コンピュータ上においてオペレーティング・システムが提供する実行環境下で動作するプログラム・モジュールとして実装することができる。後者の場合、パーソナル・コンピュータ（ＰＣ）などの一般的な計算機システム上で所定のプログラムを実行することによりロボットの動作編集装置１０が構築される。
【００４３】
入出力処理部１１は、キーボードやマウス、ディスプレイといった計算機システムの入出力デバイス（いずれも図示しない）を介して、ロボットの動作計画の編集者との間でのデータ入出力処理を行なう。
【００４４】
ロボット定義入力部１１Ａは、編集者から入力されたロボット定義情報を解読して、内部データ保持部１６に保存する。本実施形態では、ロボット定義情報は、画面上にロボットを視覚的に表示するために必要となる視覚的情報、ロボットの装置構成に関するリソース情報、ロボットの実機上で再生可能となる動作計画の種別に関する情報を含む。ロボット定義情報の詳細については後述に譲る。
【００４５】
動作計画編集画面表示処理部１１Ｂは、ロボット定義情報が読み取られたロボットの動作計画を編集するためのＧＵＩ画面の表示、並びに表示画面を介して入力された動作データを取得して動作計画編集処理部１３Ａ〜１３Ｃへ引き渡すなどの処理を行なう。
【００４６】
本実施形態では、順運動学、逆運動学、歩の軌跡パターンといった動作計画の記述方法毎に、動作計画編集処理部１３Ａ〜１３Ｃが備えられている。動作計画編集起動部１３は、編集対象となるロボットの実機上で再生可能となる動作計画の種別を内部データ保持部１２に保存されているロボット定義情報から読み取って、該当する動作計画編集処理部の起動を行なう。動作計画編集処理部が起動されると、該当する編集用のＧＵＩ画面が動作計画編集画面表示処理部１１Ｂによって提供される。動作計画編集画面表示処理部１１Ｂで提供されるＧＵＩ画面の構成は、順運動学や逆運動学など、動作計画の編集若しくは記述方法毎に異なるが、画面構成の詳細については後述に譲る。
【００４７】
動作計画再生処理部１４は、ロボット定義情報として内部データ保持部１２に保存されている視覚的情報を用いてレンダリング処理することによって、動作計画編集処理部１３Ａ〜１３Ｃにおいて編集された動作計画を再生するロボットの映像を生成して、動作計画再生画像出力処理部１１Ｃを通じて画面出力する。
【００４８】
制約条件確認処理部１６は、ロボット定義情報として規定されているリソース情報を参照して、各動作計画編集処理部１３Ａ〜１３Ｃにおいて編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なう。
【００４９】
動作計画統合処理部１５は、１以上の動作計画編集処理部１３Ａ〜１３Ｃを用いて編集された個々の動作計画をタイムライン上で結合し、さらにロボットが理解できる形式にデータ変換を施して、１つの動作計画ファイルを作成する。作成された動作計画データは、例えばファイル形式で、動作計画出力部１１Ｄを介して編集者又はロボットの実機に渡される。
【００５０】
ロボット定義入力部１１Ａ並びに動作計画出力部１１Ｄは、例えばディスクやＵＳＢメモリなどの可搬型メディアや、有線若しくは無線ネットワークなどを通じて、編集者端末やロボットの実機との間でデータのやり取りを行なう。
【００５１】
ロボットの定義情報は、少なくとも以下の３種類の内容を含むものとする。
【００５２】
（１）画面上にロボットを視覚的に表示するために必要となる視覚的情報
（２）ロボットの装置構成に関するリソース情報
（３）ロボットの実機上で再生可能となる動作計画の種別に関する情報
【００５３】
視覚的情報は、例えば、３次元ポリゴンや寸法といったロボット装置の幾何形状データや、部位同士の（親子、位置などの）関係などの情報で構成される。
【００５４】
また、ロボットの装置構成に関するリソース情報とは、動作計画の対象となるリソースの情報が記載される。例えば、関節の自由度をアクチュエータで実現するロボット装置の場合、アクチュエータの取り付け位置、回転や移動の方向、可動域制限などがリソース情報に含まれる。
【００５５】
また、ロボットの実機上で再生可能となる動作計画の種別とは、ロボットの実機上に実装されている、ロボット自身を動作させるための制御プログラムによって実行することができる動作計画の記述方法である。以下の説明では、ロボットに実装されている制御プログラムは、順運動学、逆運動学、歩の軌道パターンによって記述された動作計画を実行することができるものとする。
【００５６】
なお、動作計画の種別に関する情報には、動作計画が対象とするリソースの指定（例えば、可動脚の動作、上肢の動作など）や、同時実行できる動作計画数の上限など、属性データや制限事項を併せて記述することができる。
【００５７】
ロボット定義情報は、例えば図２に示すように構造化記述言語を用いて記述することができ、ファイルなどを静的に担持できるメディアへ記録して容易に再利用することができる。
【００５８】
本実施形態に係る動作編集装置１０上での動作系各の編集作業は、大きく分けて以下の４つの手順からなる。
【００５９】
手順１：ロボットの定義と生成
手順２：複合的な動作の編集
手順３：制約条件の確認
手順４：動作データの出力
【００６０】
図３Ａ及び図３Ｂには、動作編集装置１０における動作計画の編集作業の全体的な流れをフローチャートの形式で示している。
【００６１】
まず、編集に先立ち、編集対象となるロボットを定義し、動作編集装置上にロボット定義情報を入力又は生成する（ステップＳ１〜Ｓ２）。
【００６２】
編集者が動作編集装置１０にロボット定義情報ファイルを読み込ませることで（ステップＳ２−ａ）、ロボットの動作の編集が可能な状態となる。
【００６３】
動作編集装置１０は、ロボット定義情報を読み込むと、これを解読して、内部データ保持部１２に保存するとともに、このうち視覚的情報を基に、動作編集画面上に例えば基本立ち姿勢をとったロボットの映像（図４を参照のこと）を表示出力する（ステップＳ２−ｂ）。
【００６４】
また、動作計画編集起動部１３は、ロボット定義情報を基に、編集可能な動作計画を決定するとともに該当する動作計画編集処理部１３Ａ〜１３Ｃを起動するなどの初期化処理を行なう（ステップＳ２−ｃ）。
【００６５】
編集可能な動作計画の中からユーザが動作計画を選択する毎に（ステップＳ３）、該当する動作計画編集処理部１３Ａ〜１３Ｃが、動作計画編集画面表示処理部１１Ｂを通じて、編集者の入力手段として、ディスプレイ画面上に動作計画編集用のＧＵＩ画面を提示し（ステップＳ３−ａ）、動作編集装置１０上でロボットの動作計画の編集が可能な状態となる。
【００６６】
編集者は、ロボット定義情報に従って許容されている記述方法によって動作計画を編集することができる。例えば、ロボットが順運動学及び逆運動学の双方の動作計画を再生可能であることがロボット定義情報に記載されている場合、編集者はいずれによっても動作計画を編集することができる。また、編集した複数の動作計画をグラフ連結して単一の動作計画に統合するという複合的な動作編集も可能である。また、異なる記述方法で編集された動作計画をグラフ連結することも可能である（例えば、歩の軌道パターンで編集した下肢の歩行の動作計画と、手先の位置や姿勢を逆運動学で編集した動作計画をグラフ連結して、全身の動作計画を編集することができる）。動作計画のグラフ連結の詳細については後述に譲る。
【００６７】
図５には、動作計画編集用のＧＵＩ画面の構成例を示している。図示の編集画面上には、現在動作計画として指定されているロボットの動作の３Ｄ表示（初期状態では、ステップＳ２−ｂで生成された基本立ち姿勢）とともに、タイムライン・データ入力部と、属性データ入力部が配設されている。
【００６８】
タイムライン・データ入力部は、ステップＳ３でユーザが選択した動作計画に則って、所望の各時刻におけるロボットの動作を指定するための入力ウィンドウであり、ロボットが備えるリソース毎のタイムラインを備え、動作を指定するロボットのリソースと動作を指定する時間区間を指定することができる。ロボットの動作は、順運動学に基づく動作計画であれば各関節部位の角度情報として、逆運動学に基づく動作計画であれば特定の部位（リンク）の位置及び姿勢情報として、歩の軌道パターンに基づく動作計画であれば左右それぞれの足平の遊脚／支持脚の状態情報として、それぞれ指定される。それぞれの記述方法によって、所望するリソースのタイムライン上の所望する時刻の位置において動作データを指定していくことで、動作計画が編集される。タイムライン上で編集したこれらの時系列データのことを、以下では「タイムライン・データ」とも呼ぶ。
【００６９】
また、属性データ入力部は、タイムライン・データ以外の、時刻の経過に連動して変化していく属性データを指定するための入力ウィンドウである。動作計画内には、当該動作計画において対象となるリソースと、時間（動作計画を実行する開始時刻及び終了時刻）という２つの属性データが必ず含まれる。また、これら２つの情報の他にも、それぞれの動作計画毎に必要となる固有の属性データが存在することもある。
【００７０】
図６には、動作計画編集処理部１３Ａ〜１３Ｃの内部機能構成を模式的に示している。動作計画編集処理部内は、タイムライン・データ設定部１３１と、属性データ設定部１３２で構成される。また、タイムライン・データ設定部１３１は、リソース設定部１３１Ａと、区間設定部１３１Ｂで構成される。リソース設定部１３１Ａと区間設定部１３１Ｂは、図５に示した画面のタイムライン・データ入力部を介して編集者が指定したリソース（すなわち動作部位）及び時刻の区間をタイムライン・データとして出力する。また、属性データ設定部１３２は、図５に示した画面の属性データ入力部を介して編集者が指定した、リソース（動作部位）の変位量などの動作計画毎に必要となる固有の属性データをタイムライン・データに書き加えて、動作データを生成する。そして、この動作データをタイムライン上に配置したデータ系列が１つの動作計画となる。
【００７１】
図７Ａには、順運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示している。タイムライン・データ入力部は、ウィンドウ左枠のリソース（動作部位）指定カラムと、ウィンドウ右枠の部位毎の動作をタイムライン上で指定する時間指定カラムからなる。リソース指定カラムでは、垂直方向にカーソルをスクロールさせて、右肩ピッチ軸、右肩ロール軸、…のように、関節位置や角速度などの形式で動作データを入力したいリソース（部位）を指定することができる。このとき、指定したリソースの動作指示値（この場合は関節角度）は、属性データ入力部から入力することができる。また、タイムライン上でカーソルをスライドさせることで、該当するリソースに関する動作データを実行する時間区間を指定することができる。
【００７２】
図７Ｂに示すように、タイムライン上で０．００［ｓ］から０．０１［ｓ］の区間を指定し、属性データ入力部を介して右肩ピッチ軸に１０．０００を入力すると、当該時間区間で右肩ピッチ軸が１０ｄｅｇまで駆動するという（順運動学）動作データを編集したことになる。続いて、図７Ｃに示すように、タイムライン上で０．０１［ｓ］から０．０３［ｓ］の区間を指定し、属性データ入力部を介して右肩ピッチ軸に−１０．０００を入力すると、当該時間区間で右肩ピッチ軸が−１０ｄｅｇまで駆動するという後続の（順運動学）動作データを編集したことになる。同様に、所望の各リソースについて（順運動学）動作データを入力していくことにより、順運動学により記述された１つの動作計画が作成される。
【００７３】
また、図８Ａには、逆運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示している。タイムライン・データ入力部は、ウィンドウ左枠のリソース指定カラムと、ウィンドウ右枠のリソース毎の動作をタイムライン上で指定する時間指定カラムからなる。リソース指定カラムでは、垂直方向にカーソルをスクロールさせて、右腕のＸＹＺ座標位置、右腕のロール、ピッチ、ヨー各軸回りの回転位置…のように位置や姿勢の形式で動作データを入力したいリソースを指定することができる。このとき、指定したリソースの動作指示値（この場合はＸＹＺ各方向の座標位置、並びに各軸回りの回転位置）は、属性データ入力部から入力することができる。また、タイムライン上でカーソルをスライドさせることで、該当するリソースに関する動作データを実行する時間区間を指定することができる。
【００７４】
図８Ｂに示すように、タイムライン上で０．００［ｓ］から０．０１［ｓ］の区間を指定し、属性データ入力部を介して右腕Ｘ軸に１６．０００、右腕Ｙ軸に−１０３．２００、右腕Ｚ軸に−３３．４００をそれぞれ入力すると、当該時間区間で右腕の位置がこれらの位置まで移動するという（逆運動学）動作データを編集したことになる。続いて、図８Ｃに示すように、タイムライン上で０．０１［ｓ］から０．０３［ｓ］の区間を指定し、属性データ入力部を介して右腕Ｘ軸に−３０．０００、右腕Ｙ軸に−１０３．２００、右腕Ｚ軸に−３３．４００を入力すると、当該時間区間で右腕の位置がこれらの位置まで移動するという後続の（逆運動学）動作データを編集したことになる。同様に、所望の各リソースについて（逆運動学）動作データを入力していくことにより、逆運動学により記述された１つの動作計画が作成される。
【００７５】
また、図９Ａには、歩の軌跡パターンによる動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示している。タイムライン・データ入力部は、ウィンドウ左枠のリソース指定カラムと、ウィンドウ右枠のリソース毎の動作をタイムライン上で指定する時間指定カラムからなる。リソース指定カラムを垂直方向にスクロールさせて、カーソルをステップに合わせると、そのタイムライン上で「ステップ（歩）」すなわち歩の軌跡パターンを指定することができる。同タイムラインは２ラインを含み、上側のラインで左足の歩を表示し、下側のラインで右足の歩を表示し、四角いブロックが配置された区間は該当する脚の支持脚期を表している。このとき、歩行速度や支持脚の着床位置などの動作指示値は、属性データ入力部から入力することができる。
【００７６】
図９Ａでは、タイムライン上で０．００［ｓ］から０．０１［ｓ］の区間において、右足による単脚支持期から両脚支持期へ遷移するという歩行パターンが入力されている。また、属性データ入力部には、このときの１歩の歩行速度と、左足の着床位置や、遊脚の足上の高さが入力される。続いて、図９Ｂでは、左足による単脚支持期から両脚支持期へ遷移するという歩行パターンが追加して入力されている。また、属性データ入力部には、このときの１歩の歩行速度と、右足の着床位置や、遊脚の足上の高さが入力される。続いて、図９Ｃでは、タイムライン上で０．０３［ｓ］から０．０３５［ｓ］の区間において、右足による単脚支持期から両脚支持期へ遷移するという歩行パターンが追加して入力されている。また、属性データ入力部には、このときの１歩の歩行速度と、左足の着床位置や、遊脚の足上の高さが入力される。同様に、歩行のパターンからなる動作データを入力していくことにより、歩の軌跡パターンにより記述された１つの動作計画が作成される。
【００７７】
なお、本出願人に既に譲渡されている特開２００５−１２５４６０号公報には、歩行パターン・ジェネレータを用いて編集された歩行パターンに対して安定化処理を施すモーション編集装置について開示されている。
【００７８】
また、本出願人に既に譲渡されている特願２００５−１０９６８６号明細書には、ロボットの動作計画の編集方法として、手先で保持した筆でキャンバス上に描画するといった、エンド・エフェクタにおけるロボットの動作を規定するモーション・データの編集装置について開示されている。
【００７９】
この場合の動作編集用のＧＵＩ画面は、図１０に示すようなキャンバス・コントロール・バーを備え、編集者はロボットに描画させたい文字や絵、図形などをこのウィンドウ内の描画領域に描く。動作編集装置１０内では、まず、描かれる軌跡のうち描画中の部分と描画以外の部分を判別しながら、手書き入力している軌跡を同キャンバス内に画面出力する。続いて、入力された２次元描画情報と描画軌跡の判別結果に基づいて３次元軌跡計画を導出するとともに、この３次元軌道計画をロボットが作業する３次元空間上に再配置する。そして、文字又は絵の描画を行なう操作部位を指定して、再配置された３次元軌道計画を、指定された操作部位を用いて描画するための該操作部位を構成する各関節アクチュエータに対する指示値に変換して、これを動画計画として出力する。図１１には、ロボットが作業する３次元空間上に再配置された３次元軌道計画をタイムライン上に展開した描画軌跡を示している。また、図１２には、描画を行なう動作計画のための属性データとして、３次元空間上での初期位置設定画面の構成を示している。また、図１３には、描画動作計画を再生するロボットの動作シミュレーション結果を示している。
【００８０】
ステップＳ２−ｃでは、動作計画編集処理部１３Ａ〜１３Ｃは、ロボット定義情報を基に、ロボットに実装されている動作計画の編集処理部を起動した後、さらにロボットに実装されていない動作計画を編集処理の対象とする、すなわち動作計画を「拡張」することができる（図１４を参照のこと）。具体的には、図１５に示すように動作計画間には依存関係が存在することがあり、ロボット定義情報で規定されていない動作計画についても、編集者からの入力としてはロボットに実装されていない動作計画を編集するが、編集された動作計画を依存関係に基づいてロボットに実装されている動作計画へ変換する。
【００８１】
例えば、描画動作計画は、逆運動学動作計画に依存していることから、ロボットが逆運動学動作計画を実装している限り、動作計画編集処理部において入力された描画動作計画を逆運動学の動作計画に変換すればよい。
【００８２】
また、逆運動学解決には、リンク構造、演算速度、許容誤差、得意私生児扱い、冗長自由度の扱いなどに応じてさまざまな解法が存在する。多くの解法は、下記の３通りのいずれかを基本としたものである。
【００８３】
・代数的若しくは幾何学的な解析による解法
・ヤコビアンの擬似逆行列を用いた解法
・ヤコビアンの転置行列を用いた解法
【００８４】
編集者は、動作編集装置１０が提供している各種逆運動学の解法の中から、ロボットに実装されている解法であるかどうかを意識せず、用途に応じた解法を選択する。そして、動作編集装置１０は、編集した動作計画をロボットで実行させる際（あるいは動作計画を外部出力する際）に、ロボット定義情報に記述されている解法で記述した動作計画に変換する。
【００８５】
拡張された動作計画の変換処理は、例えば、動作計画出力処理部１７において動作計画をデータ出力する際に行なわれる。
【００８６】
既に述べたように、本実施形態に係る動作編集装置１０では、複合的な動作計画の編集が可能である。すなわち、図４に示したフローチャートのステップＳ５において、動作計画を追加選択する度に、選択された動作計画の編集画面が表示出力され（ステップＳ３）、編集者は提示されたタイムライン・データ入力部及び属性データ入力部を介して動作計画の編集を繰り返し行なうことができる。動作編集装置１０側では、編集された個々の動作計画を再生し（ステップＳ６）、編集者がタイムライン上でグラフ接続した複数の動作計画を連結して、１つの動作計画に統合することができる（ステップＳ６−ａ）。例えば、歩の軌道パターンで編集した下肢の歩行の動作計画と、手先の位置や姿勢を逆運動学で編集した動作計画をグラフ連結して、全身の動作計画を編集することができる。
【００８７】
複数の動作計画の統合処理は、動作計画統合処理部１５（前述）によって行なわれる。図１６には、動作計画統合処理部１５において、グラフ接続された複数の動作計画の統合処理を行なう様子を示している。
【００８８】
図７〜図１０からも分るように、それぞれの動作計画には、対象となるリソースと実行時間の情報が含まれている。これを基に、編集者がタイムライン上に動作計画を並べていくと、動作計画統合処理部１５によって動作計画が自動的にグラフ連結される（ステップＳ６−ａ）。図１６に示した例では、「起き上がる」→「歩く」→「座る」→「ペンを持つ」→「描画する」→「ペンを置く」という、異なった目的を持った動作計画がグラフ連結され、複合的な１つの動作計画に統合されている。
【００８９】
このような複合的な動作計画を編集する場合、リソースへの指示値に急激な変化が生じることがあるため、グラフ連結する動作計画間の遷移には十分な考慮が必要である。例えば、編集対象となるリソースがアクチュエータの位置制御の場合には、ハードウェアに多大な負荷がかかることから、十分に考慮しなければロボットが故障するおそれがある。
【００９０】
図１７中のＡで示される箇所では、連結される２つの動作計画間で実行時間が重なる時間帯において、各動作計画から得られるリソースへの指示値を混ぜ合わせながら、連続的な動作計画の遷移を行なうようにしている。
【００９１】
また、図１７中のＢで示される箇所では、連結される２つの動作計画間で実行時間が離間している時間帯において、前の動作計画の終了指示値と後の動作計画の開始指示値を補間することで、連続的な動作計画の遷移を行なうようにしている。
【００９２】
動作計画再生処理部１４は、各動作計画編集処理部１３Ａ〜１３Ｃで編集された個々の動作計画、あるいは動作計画統合処理部１５において統合された複合的な動作計画を実行するロボットのシミュレーション画像を生成して、動作計画再生画像出力処理部１１Ｃを介して画面に表示出力する（ステップＳ６−ａ）。編集者は、これらのシミュレーション画像を基に、自分が編集した動作計画が意図した動作になっているかどうかを確認することができる。そして、意図したものでないと判断したときには、適宜ステップＳ４に戻り、動作計画の変更や新規作成などの動作計画の編集作業を繰り返し行ない、動作計画編集処理部１３Ａ〜１３Ｂは動作計画を更新する（ステップＳ４−ａ）。
【００９３】
このようにして、編集者が意図する動作計画の作成を終えると、さらに制約条件確認処理部１６が起動され、各動作計画編集処理部１３Ａ〜１３Ｃにおいて編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なう（ステップＳ８）。
【００９４】
ロボットを対象とした動作計画には、３ＤＣＧにおける３Ｄキャラクタのアニメーション編集の場合とは相違し、さまざまな物理的な制約条件が存在する。代表的なものは以下の通りであり、本実施形態ではロボット定義情報においてリソース情報として記載されている。
【００９５】
・関節アクチュエータの回転角度制限
・関節アクチュエータの回転速度制限
・リンク同士の自己干渉
・同時に並列実行となる動作計画数
【００９６】
各節アクチュエータの回転角度及び回転速度の制限、自己干渉などの問題は、主にロボットの装置ハードウェア構成に依存する。また、同時に並列実行可能な動作計画数は、ロボットが実機上で動作計画を再生するプロセッサの演算速度などに依存する。
【００９７】
上述したような複合的な動作計画を編集する場合、編集しながら上記の制約条件をすべて考慮することは困難である。そこで、本実施形態では、編集処理が一旦終了した後に、制約条件の確認処理を実行する。そして、すべての制約条件を満たすことができないときには、適宜ステップＳ４に戻り、動作計画の変更や新規作成などの動作計画の編集作業を繰り返し行ない、動作計画編集処理部１３Ａ〜１３Ｂは動作計画を更新する（ステップＳ４−ａ）。
【００９８】
一方、すべての制約条件を満たしているときには、編集者は、動作編集装置１０に対し、編集した動作計画の出力を要求することができる（ステップＳ１０）。
【００９９】
動作計画出力処理部１７は、制約条件確認処理部１６によって確認処理が終了した後の動作計画を、ロボットが理解できるデータ形式に変換して（ステップＳ１０−ａ）、メディアに書き込む、あるいは通信インターフェース経由でデータ転送する、といった形式でデータ出力を行なう（ステップＳ１０−ｂ）。
【０１００】
また、動作計画編集処理部１３Ａ〜１３Ｃが拡張された動作計画、すなわちロボットに実装されていない動作計画を編集したときには、ステップＳ１０−ａにおいて、動作計画出力部１１Ｄは、ロボットが再生可能な動作計画に変換してデータ出力する。
【０１０１】
例えば、逆運動学動作計画しか再生できないロボットに対し、描画動作計画を使って動作が編集された場合について考察してみる。この描画動作計画内には、属性データ及びタイムライン・データとしてそれぞれ以下の４種類のデータが保持されている。
【０１０２】
属性データ
・対象となるリソース
・時間
・ロボットと紙（キャンバス）との位置関係
タイムライン・データ
・筆跡
【０１０３】
ここで、ロボット本体側には、このような形式で記述された描画動作計画を再生するための仕組みが実装されていないことから、逆運動学の形式で記述された動作計画に変換してデータ出力する必要がある。したがって、動作計画ロボットとキャンバスとの位置関係と筆跡を基に、対象となるリソース（この場合は、腕部）のエンド・エフェクタ（手先）の位置姿勢データに変換し、以下に示すような逆運動学の動作計画に変換する。
【０１０４】
属性データ
・対象となるリソース
・時間
タイムライン・データ
・エフェクト・ポイントの位置姿勢
【０１０５】
このようにして、動作計画出力処理部１７によってロボットに実装された制御プログラムが解釈できるデータになり、これが動作計画出力部１１Ｄから出力される。
【０１０６】
図１５に示したように、拡張された動作計画がどの動作計画に依存するかという依存関係はあらかじめ規定されている。したがって、上述した一連のデータ変換処理は、編集者が明示的に指示しなくても、動作計画出力処理部１７において自動的に変換処理を行なうことができる。
【０１０７】
また、ロボットが同時に実行できる動作計画の数に制限がある場合には、ステップＳ９において、制約条件確認処理部１６が制約に抵触するから再編集の対象とすることがある。このような場合であっても、ステップＳ１０−ａにおいて、動作計画出力処理部１７が、動作データ出力時に複数の動作計画を結合して１つの動作計画に変換することで、制約条件を満足させることができることがある。
【０１０８】
このような、動作計画出力処理部１７による動作計画の結合処理は、同一種類の動作計画が同時に複数実行されているときに特に有効である。勿論、同一種類でなくとも、動作計画を別の動作計画に変換することで、制約条件を超えた数の動作計画同士を結合することができる場合もある。
【０１０９】
例えば、同時の１つの順運動学の動作計画と逆運動学の動作計画しか実行できないロボットに対して動作計画を編集した結果、動作計画間を遷移するときに２つの逆運動学の動作計画を同時実行するようになってしまった場合、動作計画出力処理部１７は、これらを１つの順運動学の動作計画に結合し、これが動作計画出力部１１Ｄからデータ出力される。
【産業上の利用可能性】
【０１１０】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０１１１】
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行なう機械装置であるならば、例えば玩具等のような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【０１１２】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【０１１３】
【図１】図１は、本発明の一実施形態にかかる動作編集装置１０の機能的構成を模式的に示したブロック図である。
【図２】図２は、構造化記述言語を用いて記述されたロボット定義情報の一例を示した図である。
【図３Ａ】図３Ａは、動作編集装置１０における動作計画の編集作業の全体的な流れを示したフローチャートである。
【図３Ｂ】図３Ｂは、動作編集装置１０における動作計画の編集作業の全体的な流れを示したフローチャートである。
【図４】図４は、ロボット定義情報に含まれる視覚的情報を基に生成されたロボットの画像表示例を示した図である。
【図５】図５は、動作計画編集用のＧＵＩ画面の構成例を示した図である。
【図６】図６は、動作計画編集処理部１３Ａ〜１３Ｃの内部機能構成を模式的に示した図である。
【図７Ａ】図７Ａは、順運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図７Ｂ】図７Ｂは、順運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図７Ｃ】図７Ｃは、順運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図８Ａ】図８Ａは、逆運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図８Ｂ】図８Ｂは、逆運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図８Ｃ】図８Ｃは、逆運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図９Ａ】図９Ａは、歩の軌跡パターンによる動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図９Ｂ】図９Ｂは、歩の軌跡パターンによる動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図９Ｃ】図９Ｃは、歩の軌跡パターンによる動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図１０】図１０は、キャンバス・コントロール・バーの画面構成を示した図である。
【図１１】図１１は、ロボットが作業する３次元空間上に再配置された３次元軌道計画をタイムライン上に展開した描画軌跡を示した図である。
【図１２】図１２は、描画を行なう動作計画のための属性データとして、３次元空間上での初期位置設定画面の構成を示した図である。
【図１３】図１３は、描画動作計画を再生するロボットの動作シミュレーション結果を示した図である。
【図１４】図１４は、  動作計画編集処理部が、編集された動作計画をロボットに実装されている動作計画に変換する様子を示した図である。
【図１５】図１５は、動作計画間に存在する依存関係を示した図である。
【図１６】図１６は、グラフ接続された複数の動作計画の統合処理を行なう様子を示した図である。
【図１７】図１７は、リソースへの指示値の変化を考慮しながら動作計画を統合処理する仕組みを説明するための図である。
【符号の説明】
【０１１４】
１０…ロボットの動作編集装置
１１…入出力処理部
１１Ａ…ロボット定義入力部
１１Ｂ…動作計画編集画面表示部
１１Ｃ…動作計画再生画像出力処理部
１１Ｄ…動作計画出力部
１２…内部データ保持部
１３…動作計画編集起動部
１３Ａ…順運動学に基づく動作計画編集処理部
１３Ｂ…逆運動学に基づく動作計画編集処理部
１３Ｃ…歩の起動パターンに基づく動作計画編集処理部
１４…動作計画再生処理部
１５…動作計画統合処理部
１６…制約条件確認処理部
１７…動作計画出力処理部
【図１】
2008030136.tif 000003
【図２】
2008030136.tif 000004
【図３Ａ】
2008030136.tif 000005
【図３Ｂ】
2008030136.tif 000006
【図６】
2008030136.tif 000007
【図１４】
2008030136.tif 000008
【図１５】
2008030136.tif 000009
【図１６】
2008030136.tif 000010
【図１７】
2008030136.tif 000011
【図４】
2008030136.tif 000012
【図５】
2008030136.tif 000013
【図７Ａ】
2008030136.tif 000014
【図７Ｂ】
2008030136.tif 000015
【図７Ｃ】
2008030136.tif 000016
【図８Ａ】
2008030136.tif 000017
【図８Ｂ】
2008030136.tif 000018
【図８Ｃ】
2008030136.tif 000019
【図９Ａ】
2008030136.tif 000020
【図９Ｂ】
2008030136.tif 000021
【図９Ｃ】
2008030136.tif 000022
【図１０】
2008030136.tif 000023
【図１１】
2008030136.tif 000024
【図１２】
2008030136.tif 000025
【図１３】
2008030136.tif 000026