トップ :: B 処理操作 運輸 :: B25 手工具;可搬型動力工具;手工具用の柄;作業場設備;マニプレ−タ

【発明の名称】 ロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラム
【発明者】 【氏名】宮本 敦史

【要約】 【課題】動作計画に従って動作するロボットのシミュレーション画像を画面上で視覚的に確認しながら動作データの編集を行なう。

【構成】編集者より入力されているロボット定義情報に記載されている記述方法により動作計画を編集するための処理環境を編集者に提供する。ロボット定義情報に記載されている視覚的情報を用いて動作計画を再生するロボットの映像を表示するとともに、ロボット定義情報として規定されているリソース情報を参照して、各動作計画編集処理部において編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかを確認する。
【特許請求の範囲】
【請求項1】
装置を構成するリソースや動作計画の記述方法が相違するさまざまなロボットの動作データを編集するための動作編集装置であって、
画面上にロボットを視覚的に表示するために必要となる視覚的情報、ロボットの装置構成に関するリソース情報、ロボットの実機上で再生可能となる動作計画の記述方法の種別に関する情報を含むロボット定義情報を入力するロボット定義情報入力部と、
各記述方法に則ってロボットの動作計画を編集する複数の動作計画編集処理部と、
入力したロボット定義情報に記載されている動作計画の記述方法のうち、編集者が選択したものに対応する動作計画編集処理部を起動する動作計画編集起動部と、
入力したロボット定義情報に記載されている視覚的情報を用いて、動作計画を再生するロボットの映像を生成し、表示出力する動作計画再生処理部と、
起動された各動作計画編集処理部を用いて編集者により編集された複数の動作計画を統合する動作計画統合処理部と、
ロボット定義情報として規定されているリソース情報を参照して、各動作計画編集処理部において編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なう制約条件確認処理部と、
制約条件の確認が行なわれた動作計画を外部へ出力するための処理を行なう動作計画出力処理部と、
を具備することを特徴とするロボットの動作編集装置。
【請求項2】
前記の各動作計画編集処理部は、
ロボットが備えるリソース毎のタイムラインを備え、動作を指定するロボットのリソースと動作を指定する時間区間を指定するタイムライン・データ入力部と、
前記タイムライン・データ入力部で指定された時間区間におけるリソースに関して、時刻の経過に連動して変化していく属性データを指定する属性データ入力部と、
を備えることを特徴とする請求項1に記載のロボットの動作編集装置。
【請求項3】
動作計画間における依存関係を保持する依存関係保持部をさらに備え、
前記動作計画出力処理部は、1つの動作計画編集処理部を用いて編集者により編集された動作計画を、前記依存関係保持部に保持されている依存関係を基に、依存する他の動作計画に変換する、
ことを特徴とする請求項1に記載のロボットの動作編集装置。
【請求項4】
前記動作計画統合処理部は、編集者がタイムライン上でグラフ接続した複数の動作計画を1つの動作計画に統合する、
ことを特徴とする請求項1に記載のロボットの動作編集装置。
【請求項5】
前記動作計画統合処理部は、リソースへの指示値に急激な変化が生じないように考慮して動作計画同士を統合する、
ことを特徴とする請求項1に記載のロボットの動作編集装置。
【請求項6】
前記動作計画統合処理部は、連結される2つの動作計画間で実行時間が重なる時間帯において、各動作計画から得られるリソースへの指示値を混ぜ合わせながら、連続的な動作計画の遷移を行なう、
ことを特徴とする請求項5に記載のロボットの動作編集装置。
【請求項7】
前記動作計画統合処理部は、連結される2つの動作計画間で実行時間が離間している時間帯において、前の動作計画の終了指示値と後の動作計画の開始指示値を補間する、
ことを特徴とする請求項5に記載のロボットの動作編集装置。
【請求項8】
前記制約条件確認処理部は、前記の各動作計画編集処理部を用いて編集者により編集された動作計画が、ロボットの関節アクチュエータの回転角度制限又は回転速度制限、リンク同士の自己干渉、同時に並列実行となる動作計画数に抵触していないかどうかを確認する、
ことを特徴とする請求項1に記載のロボットの動作編集装置。
【請求項9】
装置を構成するリソースや動作計画の記述方法が相違するさまざまなロボットの動作データを編集するための動作編集方法であって、
画面上にロボットを視覚的に表示するために必要となる視覚的情報、ロボットの装置構成に関するリソース情報、ロボットの実機上で再生可能となる動作計画の記述方法の種別に関する情報を含むロボット定義情報を入力するロボット定義情報入力ステップと、
入力したロボット定義情報に記載されている動作計画の記述方法に則った動作計画編集処理手段を起動する動作計画編集起動ステップと、
入力したロボット定義情報に記載されている視覚的情報を用いて、動作計画を再生するロボットの映像を生成し、表示出力する動作計画再生処理ステップと、
起動された動作計画編集処理手段を用いて編集者により編集された複数の動作計画を統合する動作計画統合処理ステップと、
ロボット定義情報として規定されているリソース情報を参照して、編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なう制約条件確認処理ステップと、
制約条件の確認が行なわれた動作計画を外部へ出力するための処理を行なう動作計画出力処理ステップと、
を具備することを特徴とするロボットの動作編集方法。
【請求項10】
前記動作計画編集処理手段は、
ロボットが備えるリソース毎のタイムラインを備え、動作を指定するロボットのリソースと動作を指定する時間区間を指定するタイムライン・データ入力部と、
前記タイムライン・データ入力部で指定された時間区間におけるリソースに関して、時刻の経過に連動して変化していく属性データを指定する属性データ入力部と、
を備えることを特徴とする請求項9に記載のロボットの動作編集方法。
【請求項11】
前記動作計画出力処理ステップでは、1つの動作計画編集処理部を用いて編集者により編集された動作計画を、あらかじめ規定されている動作計画間の依存関係を基に、依存する他の動作計画に変換する、
ことを特徴とする請求項9に記載のロボットの動作編集方法。
【請求項12】
前記動作計画統合処理ステップでは、編集者がタイムライン上でグラフ接続した複数の動作計画を1つの動作計画に統合する、
ことを特徴とする請求項9に記載のロボットの動作編集方法。
【請求項13】
前記動作計画統合処理ステップでは、リソースへの指示値に急激な変化が生じないように考慮して動作計画同士を統合する、
ことを特徴とする請求項9に記載のロボットの動作編集方法。
【請求項14】
前記動作計画統合処理ステップでは、連結される2つの動作計画間で実行時間が重なる時間帯において、各動作計画から得られるリソースへの指示値を混ぜ合わせながら、連続的な動作計画の遷移を行なう、
ことを特徴とする請求項13に記載のロボットの動作編集方法。
【請求項15】
前記動作計画統合処理ステップでは、連結される2つの動作計画間で実行時間が離間している時間帯において、前の動作計画の終了指示値と後の動作計画の開始指示値を補間する、
ことを特徴とする請求項13に記載のロボットの動作編集方法。
【請求項16】
前記制約条件確認処理ステップは、前記動作計画編集処理手段を用いて編集者により編集された動作計画が、ロボットの関節アクチュエータの回転角度制限又は回転速度制限、リンク同士の自己干渉、同時に並列実行となる動作計画数に抵触していないかどうかを確認する、
ことを特徴とする請求項9に記載のロボットの動作編集方法。
【請求項17】
装置を構成するリソースや動作計画の記述方法が相違するさまざまなロボットの動作データの編集を支援するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータに対し、
画面上にロボットを視覚的に表示するために必要となる視覚的情報、ロボットの装置構成に関するリソース情報、ロボットの実機上で再生可能となる動作計画の記述方法の種別に関する情報を含むロボット定義情報を入力するロボット定義情報入力手順と、
入力したロボット定義情報に記載されている動作計画の記述方法に則った動作計画編集処理手段を起動する動作計画編集起動手順と、
入力したロボット定義情報に記載されている視覚的情報を用いて、動作計画を再生するロボットの映像を生成し、表示出力する動作計画再生処理手順と、
起動された動作計画編集処理手段を用いて編集者により編集された複数の動作計画を統合する動作計画統合処理手順と、
ロボット定義情報として規定されているリソース情報を参照して、編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なう制約条件確認処理手順と、
制約条件の確認が行なわれた動作計画を外部へ出力するための処理を行なう動作計画出力処理手順と、
を実行させることを特徴とするコンピュータ・プログラム。

【発明の詳細な説明】【技術分野】
【0001】
本発明は、可動脚などの複数の関節自由度を備えたロボットに対して関節駆動などの動作を指示する動作データを編集するロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムに係り、特に、動作計画に従って動作するロボットのシミュレーション画像を画面上で視覚的に確認しながら動作データの編集を行なうロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムに関する。
【0002】
さらに詳しくは、本発明は、装置を構成するリソースや動作計画の記述方法が相違するさまざまなロボットの動作データを画面上で視覚的に確認しながら編集を行なうロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムに係り、特に、ロボットが持つ物理的制約や制御プログラムとの連携を考慮しながら、ロボットが持つ能力を十分に生かした動作データの編集を行なうロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【0003】
現在、さまざまなタイプのロボットの開発が盛んに行なわれている。ロボットは、目的とする作業を自動的に行なうことができる機械又は装置のことであるが、マニピュレータのように特定の場所に固定して使われるものや、脚式、車輪型、あるいはクローラ式の移動ロボットなど、ハードウェア構成の異なるさまざまなタイプがあるが、基本的には、関節などの複数の可動部を備えている。
【0004】
通常、ロボットに所望の作業を指示するための手順を記述した動作計画をあらかじめ編集しておく。ロボットの実機上では、ロードされた動作計画から関節などの各可動部位の軌道を計算し、これに基づいてサーボ・モータなどのアクチュエータの駆動電流を制御するとともに、動作状況を検出するセンサ出力値と目標位置、目標速度、目標化速度などとの差分を補償するためのサーボ処理を施すことにより、動作計画の再生が実現する。
【0005】
ロボットの動作計画の編集(若しくは運動シミュレーション)は、順運動学や逆運動学を用いて行なう方法が一般的である。ここで、順運動学(Direct Kinematics)とは、動作データとして関節の位置、速度、加速度を与え、各リンクの位置、姿勢、速度、角速度、加速度、角加速度などを求める方法であり、とりわけ終端リンク(エンド・エフェクタ)の位置、姿勢、速度、角速度を求めることが重要である。また、逆運動学(Inverse Kinematics)とは、動作データとしてリンク(若しくはエンド・エフェクタ)の位置、姿勢、速度、角速度、加速度、角加速度を与え、それを実現する関節変数の位置、速度、加速度を制御する方法である(例えば、非特許文献1を参照のこと)。
【0006】
例えば、個々のリンクがばらばらの状態から関節を1つずつ順次追加していき、その時点でリンク間の関節において働く拘束力を求める第1のステップと、第1のステップとは逆の順序で関節を除いていき、各関節における最終的な拘束力を計算する第2のステップと、第1のステップ及び第2のステップで求めた各リンクに働く外力を用いてリンクの加速度を計算する第3のステップと、第3のステップで求めた各関節の両側のリンクの加速度を用いて関節加速度を計算する第4のステップで構成され、開リンク機構及び閉リンク機構を含む剛体リンク系の順運動学演算を高速に行なうリンク系動力学高速計算法について提案がなされている(例えば、特許文献1を参照のこと)。
【0007】
また、ロボットの作業端の位置と姿勢を指示し、これを実現するための関節毎の変位量を逆運動学演算により求めるとともに、算出された変位量が関節の動作制限を越えるときや変位量を算出できなかったときには作業端の位置と姿勢を実現できない旨を表示するロボット動作のシミュレーション方法について提案がなされている(例えば、特許文献2を参照のこと)。
【0008】
さらには、複数本の可動脚を備えた歩行ロボットのための、歩行時の足平の着床位置(以下では、「歩)(step)とも呼ぶ」)を動作計画として扱い、歩行パターン・ジェネレータを用いて編集された歩行パターンに対して安定化処理を施すモーション編集装置について提案がなされている(例えば、特許文献3を参照のこと)。
【0009】
現在、多くの研究機関や大学でロボット装置の研究が進められており、これに伴ってロボットの動作を制御するアルゴリズムを開発する必要がある。ほとんどの場合、研究者自身が独自に定義した動作制御アルゴリズムに則って動作計画を決定しあるいは動作シミュレーションを行なっている。言い換えれば、一般ユーザがコンピュータのGUI(Graphical User Interface)画面上で容易に動作計画を編集することができる作業環境が整えられていないのが実情である。
【0010】
ロボットの動作計画の編集方法は、順運動学、逆運動学、歩の軌道パターンなど複数ある。また、ロボットを構成するリソース(リンクや関節の配置)や物理的制約(関節アクチュエータのトルク限界など)は区々である。これに対し、研究史自身が定義した動作制御アルゴリズムは、一般に、開発中のロボット装置に特化したものであり、特定の動作計画の編集方法に従って記述され、特定のロボット装置リソースにしか対応していない。
【0011】
一方、3次元コンピュータ・グラフィックスの分野においては、3Dキャラクタの動作を画面上で視覚的に表示しながら編集する環境が整備されている。
【0012】
例えば、ポーズの入力を容易にして作業量を低減した3次元アニメーション作成支援装置について提案がなされている(例えば、特許文献4を参照のこと)。同装置は、3次元仮想空間において動くキャラクタの骨格を、長さを属性に持つ複数のリンクとリンク間を結合する関節とを用いて表される骨格モデルを用いて定義するモデル定義手段と、キーフレームとなる複数のポーズを補間することによりキャラクタの関節の角度に関する時系列データを定義する動作定義手段と、動作定義手段で定義された関節の角度をモデル定義手段により定義されたキャラクタの骨格モデルに適用する統合演算手段を備えており、動作定義手段に与えるポーズは、リンクと関節とがキャラクタと同じ結合関係であって各関節の角度変位を検出する角度センサを備えた多関節ロボットから与えるようになっている。
【0013】
関節の可動範囲などの拘束条件やリンク間の干渉問題を考慮してシミュレーションを行なう点や、多リンク構造体の動作シミュレーションを映像出力する点など、ロボットの動作編集装置と3次元キャラクタのアニメーション編集装置には共通点が認められる。しかしながら、後者はロボットが持つ物理的な制約条件や制御との連携を考慮する必要がなく、前者とは根本的に大きな相違があると言わざるを得ない。
【0014】
【特許文献1】特開2003−39356号公報
【特許文献2】特開平8−328631号公報
【特許文献3】特開2005−125460号公報
【特許文献4】特開2005−71182号公報
【非特許文献1】日本ロボット学会編「ロボット光学ハンドブック」(コロナ社、1990年初版、III制御技術編、2.アームの機構と制御)
【発明の開示】
【発明が解決しようとする課題】
【0015】
本発明の目的は、動作計画に従って動作するロボットのシミュレーション画像を画面上で視覚的に確認しながら動作データの編集を行なうことができる、優れたロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムを提供することにある。
【0016】
本発明のさらなる目的は、装置を構成するリソースや動作計画が相違するさまざまなロボットの動作データを画面上で視覚的に確認しながら編集を行なうことができる、優れたロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムを提供することにある。
【0017】
本発明のさらなる目的は、ロボットが持つ物理的制約や制御プログラムとの連携を考慮しながら、ロボットが持つ能力を十分に生かした動作データの編集を行なうことができる、優れたロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【0018】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、装置を構成するリソースや動作計画の記述方法が相違するさまざまなロボットの動作データを編集するための動作編集装置であって、
画面上にロボットを視覚的に表示するために必要となる視覚的情報、ロボットの装置構成に関するリソース情報、ロボットの実機上で再生可能となる動作計画の記述方法の種別に関する情報を含むロボット定義情報を入力するロボット定義情報入力部と、
各記述方法に則ってロボットの動作計画を編集する複数の動作計画編集処理部と、
入力したロボット定義情報に記載されている動作計画の記述方法のうち、編集者が選択したものに対応する動作計画編集処理部を起動する動作計画編集起動部と、
入力したロボット定義情報に記載されている視覚的情報を用いて、動作計画を再生するロボットの映像を生成し、表示出力する動作計画再生処理部と、
起動された各動作計画編集処理部を用いて編集者により編集された複数の動作計画を統合する動作計画統合処理部と、
ロボット定義情報として規定されているリソース情報を参照して、各動作計画編集処理部において編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なう制約条件確認処理部と、
制約条件の確認が行なわれた動作計画を外部へ出力するための処理を行なう動作計画出力処理部と、
を具備することを特徴とするロボットの動作編集装置である。
【0019】
現在、さまざまなタイプのロボットの開発が盛んに行なわれており、一般ユーザでも容易にロボットの動作計画の編集操作を行なうことができる動作編集装置を提供することが急務であると思料される。しかしながら、ロボット本体の研究開発者自身が独自に定義した動作制御アルゴリズムに則って動作計画を決定しあるいは動作シミュレーションを行なっているのが現状であり、一般ユーザが用意に動作計画を編集する作業環境は整えられていない。
【0020】
また、ロボットの動作計画の編集方法は、順運動学、逆運動学、歩の軌道パターンなど複数あり、さらに動作計画を実行する際の制約条件となるロボットを構成するリソースは区々である。これに対し、研究史自身が定義した動作制御アルゴリズムは、一般に、開発中のロボット装置に特化したものであり、特定の動作計画の編集方法に従って記述され、特定のロボット装置リソースにしか対応していない。
【0021】
そこで、本発明に係るロボットの動作編集装置では、画面上にロボットを視覚的に表示するために必要となる視覚的情報、ロボットの装置構成に関するリソース情報、ロボットの実機上で再生可能となる動作計画の記述方法の種別に関する情報を含むロボット定義情報を編集者より入力し、入力したロボット定義情報に記載されている記述方法により動作計画を編集するための処理環境を編集者に提供するようになっている。
【0022】
したがって、編集者は、順運動学や逆運動学を始めさまざまな記述形式により、ロボットに実装されている制御プログラムに対応した動作計画を編集することができる。
【0023】
そして、本発明に係るロボットの動作編集装置では、ロボット定義情報に記載されている視覚的情報を用いて動作計画を再生するロボットの映像を生成してこれを表示出力するとともに、ロボット定義情報として規定されているリソース情報を参照して、各動作計画編集処理部において編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なうようになっている。
【0024】
したがって、編集者は、装置を構成するリソースが相違するさまざまなロボットの編集を行なうことができるとともに、順運動学や逆運動学を始めさまざまな記述方式で編集した動作計画を画面上で視覚的に確認しながら編集を行なうことができる。
【0025】
さらに、本発明に係るロボットの動作編集装置では、起動された各動作計画編集処理部を用いて編集者により編集された複数の動作計画を動作計画統合処理部によって統合するので、編集者は、タイムライン上で編集された複数の動作計画をグラフ連結することで、複合的な動作を生成することができる。
【0026】
各動作計画編集処理部は、タイムライン・データ入力部と、属性データ入力部で構成されている。タイムライン・データ入力部は、ロボットが備えるリソース毎のタイムラインを備えており、編集者は、動作を指定するロボットのリソースと動作を指定する時間区間を指定することができる。また、編集者は、属性データ入力部を介して、タイムライン・データ入力部で指定された時間区間におけるリソースに関して、時刻の経過に連動して変化していく属性データを指定することができる。
【0027】
また、動作計画間には依存関係が存在することがある。例えば、描画動作計画は、逆運動学動作計画に依存している。動作計画出力処理部は、1つの動作計画編集処理部を用いて編集者により編集された動作計画を、前記依存関係保持部に保持されている依存関係を基に、依存する他の動作計画に変換するようにしてもよい。このような場合、編集者は、ロボットに実装されている動作計画が何であるかどうかを意識せず、用途に応じた記述方式を選択して動作計画を編集することができ、動作編集装置は、編集者に対し、ロボット定義情報に記述されているよりも動作計画を「拡張」して見せることができる。
【0028】
また、複数の動作計画をグラフ連結して複合的な動作計画を編集する場合、動作計画統合処理部は、リソースへの指示値に急激な変化が生じてハードウェアに多大な負荷がかかることがないように、動作計画間の遷移には十分に考慮しながら、統合処理を行なう必要がある。
【0029】
具体的には、動作計画統合処理部は、連結される2つの動作計画間で実行時間が重なる時間帯において、各動作計画から得られるリソースへの指示値を混ぜ合わせながら、連続的な動作計画の遷移を行なうことで、連続的な動作計画の遷移を行なうようにする。
【0030】
あるいは、動作計画統合処理部は、連結される2つの動作計画間で実行時間が離間している時間帯において、前の動作計画の終了指示値と後の動作計画の開始指示値を補間することで、連続的な動作計画の遷移を行なうようにする。
【0031】
制約条件確認処理部は、前記の各動作計画編集処理部を用いて編集者により編集された動作計画が、ロボットの関節アクチュエータの回転角度制限又は回転速度制限、リンク同士の自己干渉、同時に並列実行となる動作計画数に抵触していないかどうかを確認する。
【0032】
各節アクチュエータの回転角度及び回転速度の制限、自己干渉などの問題は、主にロボットの装置ハードウェア構成に依存する。また、同時に並列実行可能な動作計画数は、ロボットが実機上で動作計画を再生するプロセッサの演算速度などに依存する。制約条件確認処理部において実施される、動作計画がロボットの物理的制約条件を満たしていることを確認する処理は、3次元キャラクタのアニメーション編集装置との大きな相違点の1つである。
【0033】
また、各動作計画編集処理部において編集しながら上記の制約条件をすべて考慮することは困難であるから、編集処理が一旦終了した後に、制約条件確認処理部における制約条件の確認処理を実行することが好ましい。
【0034】
また、本発明の第2の側面は、装置を構成するリソースや動作計画の記述方法が相違するさまざまなロボットの動作データの編集を支援するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータに対し、
画面上にロボットを視覚的に表示するために必要となる視覚的情報、ロボットの装置構成に関するリソース情報、ロボットの実機上で再生可能となる動作計画の記述方法の種別に関する情報を含むロボット定義情報を入力するロボット定義情報入力手順と、
入力したロボット定義情報に記載されている動作計画の記述方法に則った動作計画編集処理手段を起動する動作計画編集起動手順と、
入力したロボット定義情報に記載されている視覚的情報を用いて、動作計画を再生するロボットの映像を生成し、表示出力する動作計画再生処理手順と、
起動された動作計画編集処理手段を用いて編集者により編集された複数の動作計画を統合する動作計画統合処理手順と、
ロボット定義情報として規定されているリソース情報を参照して、編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なう制約条件確認処理手順と、
制約条件の確認が行なわれた動作計画を外部へ出力するための処理を行なう動作計画出力処理手順と、
を実行させることを特徴とするコンピュータ・プログラムである。
【0035】
本発明の第2の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第2の側面に係るコンピュータ・プログラムをコンピュータにインストールすることによって、コンピュータ上では協働的作用が発揮され、本発明の第1側面に係るロボットの動作編集装置と同様の作用効果を得ることができる。
【発明の効果】
【0036】
本発明によれば、装置を構成するリソースや動作計画が相違するさまざまなロボットの動作データを画面上で視覚的に確認しながら編集を行なうことができる、優れたロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムを提供することができる。
【0037】
また、本発明によれば、ロボットが持つ物理的制約や制御プログラムとの連携を考慮しながら、ロボットが持つ能力を十分に生かした動作データの編集を行なうことができる、優れたロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラムを提供することができる。
【0038】
本発明に係るロボットの動作編集装置によれば、順運動学や逆運動学を始めさまざまな記述形式で動作計画を編集することができるとともに、タイムライン上で編集された複数の動作計画をグラフ連結することで、複合的な動作を自動的に生成することができる。また、ロボットの機能やリソースに応じて制約条件を変化させて汎用性を有するとともに、グラフ連結時の動作座標間を自動補間することができる。
【0039】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【0040】
以下、図面を参照しながら本発明の実施形態について詳解する。
【0041】
本発明は、複数の関節自由度を備えたロボットに関する動作計画を編集する動作編集装置に関する。動作計画の編集対象となるロボットの一例は可動脚を備えた歩行型ロボットであり、例えば本出願に既に譲渡されている特開2005−125460号公報の段落0044〜0072に記載されている。但し、本発明の要旨は特定のロボット装置構成に限定されるものではない。
【0042】
図1には、本発明の一実施形態に係るロボットの動作編集装置10の機能的構成を模式的に示している。同図に示す各機能ブロックをそれぞれ専用のハードウェア装置として構成することもできるが、コンピュータ上においてオペレーティング・システムが提供する実行環境下で動作するプログラム・モジュールとして実装することができる。後者の場合、パーソナル・コンピュータ(PC)などの一般的な計算機システム上で所定のプログラムを実行することによりロボットの動作編集装置10が構築される。
【0043】
入出力処理部11は、キーボードやマウス、ディスプレイといった計算機システムの入出力デバイス(いずれも図示しない)を介して、ロボットの動作計画の編集者との間でのデータ入出力処理を行なう。
【0044】
ロボット定義入力部11Aは、編集者から入力されたロボット定義情報を解読して、内部データ保持部16に保存する。本実施形態では、ロボット定義情報は、画面上にロボットを視覚的に表示するために必要となる視覚的情報、ロボットの装置構成に関するリソース情報、ロボットの実機上で再生可能となる動作計画の種別に関する情報を含む。ロボット定義情報の詳細については後述に譲る。
【0045】
動作計画編集画面表示処理部11Bは、ロボット定義情報が読み取られたロボットの動作計画を編集するためのGUI画面の表示、並びに表示画面を介して入力された動作データを取得して動作計画編集処理部13A〜13Cへ引き渡すなどの処理を行なう。
【0046】
本実施形態では、順運動学、逆運動学、歩の軌跡パターンといった動作計画の記述方法毎に、動作計画編集処理部13A〜13Cが備えられている。動作計画編集起動部13は、編集対象となるロボットの実機上で再生可能となる動作計画の種別を内部データ保持部12に保存されているロボット定義情報から読み取って、該当する動作計画編集処理部の起動を行なう。動作計画編集処理部が起動されると、該当する編集用のGUI画面が動作計画編集画面表示処理部11Bによって提供される。動作計画編集画面表示処理部11Bで提供されるGUI画面の構成は、順運動学や逆運動学など、動作計画の編集若しくは記述方法毎に異なるが、画面構成の詳細については後述に譲る。
【0047】
動作計画再生処理部14は、ロボット定義情報として内部データ保持部12に保存されている視覚的情報を用いてレンダリング処理することによって、動作計画編集処理部13A〜13Cにおいて編集された動作計画を再生するロボットの映像を生成して、動作計画再生画像出力処理部11Cを通じて画面出力する。
【0048】
制約条件確認処理部16は、ロボット定義情報として規定されているリソース情報を参照して、各動作計画編集処理部13A〜13Cにおいて編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なう。
【0049】
動作計画統合処理部15は、1以上の動作計画編集処理部13A〜13Cを用いて編集された個々の動作計画をタイムライン上で結合し、さらにロボットが理解できる形式にデータ変換を施して、1つの動作計画ファイルを作成する。作成された動作計画データは、例えばファイル形式で、動作計画出力部11Dを介して編集者又はロボットの実機に渡される。
【0050】
ロボット定義入力部11A並びに動作計画出力部11Dは、例えばディスクやUSBメモリなどの可搬型メディアや、有線若しくは無線ネットワークなどを通じて、編集者端末やロボットの実機との間でデータのやり取りを行なう。
【0051】
ロボットの定義情報は、少なくとも以下の3種類の内容を含むものとする。
【0052】
(1)画面上にロボットを視覚的に表示するために必要となる視覚的情報
(2)ロボットの装置構成に関するリソース情報
(3)ロボットの実機上で再生可能となる動作計画の種別に関する情報
【0053】
視覚的情報は、例えば、3次元ポリゴンや寸法といったロボット装置の幾何形状データや、部位同士の(親子、位置などの)関係などの情報で構成される。
【0054】
また、ロボットの装置構成に関するリソース情報とは、動作計画の対象となるリソースの情報が記載される。例えば、関節の自由度をアクチュエータで実現するロボット装置の場合、アクチュエータの取り付け位置、回転や移動の方向、可動域制限などがリソース情報に含まれる。
【0055】
また、ロボットの実機上で再生可能となる動作計画の種別とは、ロボットの実機上に実装されている、ロボット自身を動作させるための制御プログラムによって実行することができる動作計画の記述方法である。以下の説明では、ロボットに実装されている制御プログラムは、順運動学、逆運動学、歩の軌道パターンによって記述された動作計画を実行することができるものとする。
【0056】
なお、動作計画の種別に関する情報には、動作計画が対象とするリソースの指定(例えば、可動脚の動作、上肢の動作など)や、同時実行できる動作計画数の上限など、属性データや制限事項を併せて記述することができる。
【0057】
ロボット定義情報は、例えば図2に示すように構造化記述言語を用いて記述することができ、ファイルなどを静的に担持できるメディアへ記録して容易に再利用することができる。
【0058】
本実施形態に係る動作編集装置10上での動作系各の編集作業は、大きく分けて以下の4つの手順からなる。
【0059】
手順1:ロボットの定義と生成
手順2:複合的な動作の編集
手順3:制約条件の確認
手順4:動作データの出力
【0060】
図3A及び図3Bには、動作編集装置10における動作計画の編集作業の全体的な流れをフローチャートの形式で示している。
【0061】
まず、編集に先立ち、編集対象となるロボットを定義し、動作編集装置上にロボット定義情報を入力又は生成する(ステップS1〜S2)。
【0062】
編集者が動作編集装置10にロボット定義情報ファイルを読み込ませることで(ステップS2−a)、ロボットの動作の編集が可能な状態となる。
【0063】
動作編集装置10は、ロボット定義情報を読み込むと、これを解読して、内部データ保持部12に保存するとともに、このうち視覚的情報を基に、動作編集画面上に例えば基本立ち姿勢をとったロボットの映像(図4を参照のこと)を表示出力する(ステップS2−b)。
【0064】
また、動作計画編集起動部13は、ロボット定義情報を基に、編集可能な動作計画を決定するとともに該当する動作計画編集処理部13A〜13Cを起動するなどの初期化処理を行なう(ステップS2−c)。
【0065】
編集可能な動作計画の中からユーザが動作計画を選択する毎に(ステップS3)、該当する動作計画編集処理部13A〜13Cが、動作計画編集画面表示処理部11Bを通じて、編集者の入力手段として、ディスプレイ画面上に動作計画編集用のGUI画面を提示し(ステップS3−a)、動作編集装置10上でロボットの動作計画の編集が可能な状態となる。
【0066】
編集者は、ロボット定義情報に従って許容されている記述方法によって動作計画を編集することができる。例えば、ロボットが順運動学及び逆運動学の双方の動作計画を再生可能であることがロボット定義情報に記載されている場合、編集者はいずれによっても動作計画を編集することができる。また、編集した複数の動作計画をグラフ連結して単一の動作計画に統合するという複合的な動作編集も可能である。また、異なる記述方法で編集された動作計画をグラフ連結することも可能である(例えば、歩の軌道パターンで編集した下肢の歩行の動作計画と、手先の位置や姿勢を逆運動学で編集した動作計画をグラフ連結して、全身の動作計画を編集することができる)。動作計画のグラフ連結の詳細については後述に譲る。
【0067】
図5には、動作計画編集用のGUI画面の構成例を示している。図示の編集画面上には、現在動作計画として指定されているロボットの動作の3D表示(初期状態では、ステップS2−bで生成された基本立ち姿勢)とともに、タイムライン・データ入力部と、属性データ入力部が配設されている。
【0068】
タイムライン・データ入力部は、ステップS3でユーザが選択した動作計画に則って、所望の各時刻におけるロボットの動作を指定するための入力ウィンドウであり、ロボットが備えるリソース毎のタイムラインを備え、動作を指定するロボットのリソースと動作を指定する時間区間を指定することができる。ロボットの動作は、順運動学に基づく動作計画であれば各関節部位の角度情報として、逆運動学に基づく動作計画であれば特定の部位(リンク)の位置及び姿勢情報として、歩の軌道パターンに基づく動作計画であれば左右それぞれの足平の遊脚/支持脚の状態情報として、それぞれ指定される。それぞれの記述方法によって、所望するリソースのタイムライン上の所望する時刻の位置において動作データを指定していくことで、動作計画が編集される。タイムライン上で編集したこれらの時系列データのことを、以下では「タイムライン・データ」とも呼ぶ。
【0069】
また、属性データ入力部は、タイムライン・データ以外の、時刻の経過に連動して変化していく属性データを指定するための入力ウィンドウである。動作計画内には、当該動作計画において対象となるリソースと、時間(動作計画を実行する開始時刻及び終了時刻)という2つの属性データが必ず含まれる。また、これら2つの情報の他にも、それぞれの動作計画毎に必要となる固有の属性データが存在することもある。
【0070】
図6には、動作計画編集処理部13A〜13Cの内部機能構成を模式的に示している。動作計画編集処理部内は、タイムライン・データ設定部131と、属性データ設定部132で構成される。また、タイムライン・データ設定部131は、リソース設定部131Aと、区間設定部131Bで構成される。リソース設定部131Aと区間設定部131Bは、図5に示した画面のタイムライン・データ入力部を介して編集者が指定したリソース(すなわち動作部位)及び時刻の区間をタイムライン・データとして出力する。また、属性データ設定部132は、図5に示した画面の属性データ入力部を介して編集者が指定した、リソース(動作部位)の変位量などの動作計画毎に必要となる固有の属性データをタイムライン・データに書き加えて、動作データを生成する。そして、この動作データをタイムライン上に配置したデータ系列が1つの動作計画となる。
【0071】
図7Aには、順運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示している。タイムライン・データ入力部は、ウィンドウ左枠のリソース(動作部位)指定カラムと、ウィンドウ右枠の部位毎の動作をタイムライン上で指定する時間指定カラムからなる。リソース指定カラムでは、垂直方向にカーソルをスクロールさせて、右肩ピッチ軸、右肩ロール軸、…のように、関節位置や角速度などの形式で動作データを入力したいリソース(部位)を指定することができる。このとき、指定したリソースの動作指示値(この場合は関節角度)は、属性データ入力部から入力することができる。また、タイムライン上でカーソルをスライドさせることで、該当するリソースに関する動作データを実行する時間区間を指定することができる。
【0072】
図7Bに示すように、タイムライン上で0.00[s]から0.01[s]の区間を指定し、属性データ入力部を介して右肩ピッチ軸に10.000を入力すると、当該時間区間で右肩ピッチ軸が10degまで駆動するという(順運動学)動作データを編集したことになる。続いて、図7Cに示すように、タイムライン上で0.01[s]から0.03[s]の区間を指定し、属性データ入力部を介して右肩ピッチ軸に−10.000を入力すると、当該時間区間で右肩ピッチ軸が−10degまで駆動するという後続の(順運動学)動作データを編集したことになる。同様に、所望の各リソースについて(順運動学)動作データを入力していくことにより、順運動学により記述された1つの動作計画が作成される。
【0073】
また、図8Aには、逆運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示している。タイムライン・データ入力部は、ウィンドウ左枠のリソース指定カラムと、ウィンドウ右枠のリソース毎の動作をタイムライン上で指定する時間指定カラムからなる。リソース指定カラムでは、垂直方向にカーソルをスクロールさせて、右腕のXYZ座標位置、右腕のロール、ピッチ、ヨー各軸回りの回転位置…のように位置や姿勢の形式で動作データを入力したいリソースを指定することができる。このとき、指定したリソースの動作指示値(この場合はXYZ各方向の座標位置、並びに各軸回りの回転位置)は、属性データ入力部から入力することができる。また、タイムライン上でカーソルをスライドさせることで、該当するリソースに関する動作データを実行する時間区間を指定することができる。
【0074】
図8Bに示すように、タイムライン上で0.00[s]から0.01[s]の区間を指定し、属性データ入力部を介して右腕X軸に16.000、右腕Y軸に−103.200、右腕Z軸に−33.400をそれぞれ入力すると、当該時間区間で右腕の位置がこれらの位置まで移動するという(逆運動学)動作データを編集したことになる。続いて、図8Cに示すように、タイムライン上で0.01[s]から0.03[s]の区間を指定し、属性データ入力部を介して右腕X軸に−30.000、右腕Y軸に−103.200、右腕Z軸に−33.400を入力すると、当該時間区間で右腕の位置がこれらの位置まで移動するという後続の(逆運動学)動作データを編集したことになる。同様に、所望の各リソースについて(逆運動学)動作データを入力していくことにより、逆運動学により記述された1つの動作計画が作成される。
【0075】
また、図9Aには、歩の軌跡パターンによる動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示している。タイムライン・データ入力部は、ウィンドウ左枠のリソース指定カラムと、ウィンドウ右枠のリソース毎の動作をタイムライン上で指定する時間指定カラムからなる。リソース指定カラムを垂直方向にスクロールさせて、カーソルをステップに合わせると、そのタイムライン上で「ステップ(歩)」すなわち歩の軌跡パターンを指定することができる。同タイムラインは2ラインを含み、上側のラインで左足の歩を表示し、下側のラインで右足の歩を表示し、四角いブロックが配置された区間は該当する脚の支持脚期を表している。このとき、歩行速度や支持脚の着床位置などの動作指示値は、属性データ入力部から入力することができる。
【0076】
図9Aでは、タイムライン上で0.00[s]から0.01[s]の区間において、右足による単脚支持期から両脚支持期へ遷移するという歩行パターンが入力されている。また、属性データ入力部には、このときの1歩の歩行速度と、左足の着床位置や、遊脚の足上の高さが入力される。続いて、図9Bでは、左足による単脚支持期から両脚支持期へ遷移するという歩行パターンが追加して入力されている。また、属性データ入力部には、このときの1歩の歩行速度と、右足の着床位置や、遊脚の足上の高さが入力される。続いて、図9Cでは、タイムライン上で0.03[s]から0.035[s]の区間において、右足による単脚支持期から両脚支持期へ遷移するという歩行パターンが追加して入力されている。また、属性データ入力部には、このときの1歩の歩行速度と、左足の着床位置や、遊脚の足上の高さが入力される。同様に、歩行のパターンからなる動作データを入力していくことにより、歩の軌跡パターンにより記述された1つの動作計画が作成される。
【0077】
なお、本出願人に既に譲渡されている特開2005−125460号公報には、歩行パターン・ジェネレータを用いて編集された歩行パターンに対して安定化処理を施すモーション編集装置について開示されている。
【0078】
また、本出願人に既に譲渡されている特願2005−109686号明細書には、ロボットの動作計画の編集方法として、手先で保持した筆でキャンバス上に描画するといった、エンド・エフェクタにおけるロボットの動作を規定するモーション・データの編集装置について開示されている。
【0079】
この場合の動作編集用のGUI画面は、図10に示すようなキャンバス・コントロール・バーを備え、編集者はロボットに描画させたい文字や絵、図形などをこのウィンドウ内の描画領域に描く。動作編集装置10内では、まず、描かれる軌跡のうち描画中の部分と描画以外の部分を判別しながら、手書き入力している軌跡を同キャンバス内に画面出力する。続いて、入力された2次元描画情報と描画軌跡の判別結果に基づいて3次元軌跡計画を導出するとともに、この3次元軌道計画をロボットが作業する3次元空間上に再配置する。そして、文字又は絵の描画を行なう操作部位を指定して、再配置された3次元軌道計画を、指定された操作部位を用いて描画するための該操作部位を構成する各関節アクチュエータに対する指示値に変換して、これを動画計画として出力する。図11には、ロボットが作業する3次元空間上に再配置された3次元軌道計画をタイムライン上に展開した描画軌跡を示している。また、図12には、描画を行なう動作計画のための属性データとして、3次元空間上での初期位置設定画面の構成を示している。また、図13には、描画動作計画を再生するロボットの動作シミュレーション結果を示している。
【0080】
ステップS2−cでは、動作計画編集処理部13A〜13Cは、ロボット定義情報を基に、ロボットに実装されている動作計画の編集処理部を起動した後、さらにロボットに実装されていない動作計画を編集処理の対象とする、すなわち動作計画を「拡張」することができる(図14を参照のこと)。具体的には、図15に示すように動作計画間には依存関係が存在することがあり、ロボット定義情報で規定されていない動作計画についても、編集者からの入力としてはロボットに実装されていない動作計画を編集するが、編集された動作計画を依存関係に基づいてロボットに実装されている動作計画へ変換する。
【0081】
例えば、描画動作計画は、逆運動学動作計画に依存していることから、ロボットが逆運動学動作計画を実装している限り、動作計画編集処理部において入力された描画動作計画を逆運動学の動作計画に変換すればよい。
【0082】
また、逆運動学解決には、リンク構造、演算速度、許容誤差、得意私生児扱い、冗長自由度の扱いなどに応じてさまざまな解法が存在する。多くの解法は、下記の3通りのいずれかを基本としたものである。
【0083】
・代数的若しくは幾何学的な解析による解法
・ヤコビアンの擬似逆行列を用いた解法
・ヤコビアンの転置行列を用いた解法
【0084】
編集者は、動作編集装置10が提供している各種逆運動学の解法の中から、ロボットに実装されている解法であるかどうかを意識せず、用途に応じた解法を選択する。そして、動作編集装置10は、編集した動作計画をロボットで実行させる際(あるいは動作計画を外部出力する際)に、ロボット定義情報に記述されている解法で記述した動作計画に変換する。
【0085】
拡張された動作計画の変換処理は、例えば、動作計画出力処理部17において動作計画をデータ出力する際に行なわれる。
【0086】
既に述べたように、本実施形態に係る動作編集装置10では、複合的な動作計画の編集が可能である。すなわち、図4に示したフローチャートのステップS5において、動作計画を追加選択する度に、選択された動作計画の編集画面が表示出力され(ステップS3)、編集者は提示されたタイムライン・データ入力部及び属性データ入力部を介して動作計画の編集を繰り返し行なうことができる。動作編集装置10側では、編集された個々の動作計画を再生し(ステップS6)、編集者がタイムライン上でグラフ接続した複数の動作計画を連結して、1つの動作計画に統合することができる(ステップS6−a)。例えば、歩の軌道パターンで編集した下肢の歩行の動作計画と、手先の位置や姿勢を逆運動学で編集した動作計画をグラフ連結して、全身の動作計画を編集することができる。
【0087】
複数の動作計画の統合処理は、動作計画統合処理部15(前述)によって行なわれる。図16には、動作計画統合処理部15において、グラフ接続された複数の動作計画の統合処理を行なう様子を示している。
【0088】
図7〜図10からも分るように、それぞれの動作計画には、対象となるリソースと実行時間の情報が含まれている。これを基に、編集者がタイムライン上に動作計画を並べていくと、動作計画統合処理部15によって動作計画が自動的にグラフ連結される(ステップS6−a)。図16に示した例では、「起き上がる」→「歩く」→「座る」→「ペンを持つ」→「描画する」→「ペンを置く」という、異なった目的を持った動作計画がグラフ連結され、複合的な1つの動作計画に統合されている。
【0089】
このような複合的な動作計画を編集する場合、リソースへの指示値に急激な変化が生じることがあるため、グラフ連結する動作計画間の遷移には十分な考慮が必要である。例えば、編集対象となるリソースがアクチュエータの位置制御の場合には、ハードウェアに多大な負荷がかかることから、十分に考慮しなければロボットが故障するおそれがある。
【0090】
図17中のAで示される箇所では、連結される2つの動作計画間で実行時間が重なる時間帯において、各動作計画から得られるリソースへの指示値を混ぜ合わせながら、連続的な動作計画の遷移を行なうようにしている。
【0091】
また、図17中のBで示される箇所では、連結される2つの動作計画間で実行時間が離間している時間帯において、前の動作計画の終了指示値と後の動作計画の開始指示値を補間することで、連続的な動作計画の遷移を行なうようにしている。
【0092】
動作計画再生処理部14は、各動作計画編集処理部13A〜13Cで編集された個々の動作計画、あるいは動作計画統合処理部15において統合された複合的な動作計画を実行するロボットのシミュレーション画像を生成して、動作計画再生画像出力処理部11Cを介して画面に表示出力する(ステップS6−a)。編集者は、これらのシミュレーション画像を基に、自分が編集した動作計画が意図した動作になっているかどうかを確認することができる。そして、意図したものでないと判断したときには、適宜ステップS4に戻り、動作計画の変更や新規作成などの動作計画の編集作業を繰り返し行ない、動作計画編集処理部13A〜13Bは動作計画を更新する(ステップS4−a)。
【0093】
このようにして、編集者が意図する動作計画の作成を終えると、さらに制約条件確認処理部16が起動され、各動作計画編集処理部13A〜13Cにおいて編集された動作計画がロボットの実機に課されている物理的な制約条件に抵触することなく実行可能かどうかの確認処理を行なう(ステップS8)。
【0094】
ロボットを対象とした動作計画には、3DCGにおける3Dキャラクタのアニメーション編集の場合とは相違し、さまざまな物理的な制約条件が存在する。代表的なものは以下の通りであり、本実施形態ではロボット定義情報においてリソース情報として記載されている。
【0095】
・関節アクチュエータの回転角度制限
・関節アクチュエータの回転速度制限
・リンク同士の自己干渉
・同時に並列実行となる動作計画数
【0096】
各節アクチュエータの回転角度及び回転速度の制限、自己干渉などの問題は、主にロボットの装置ハードウェア構成に依存する。また、同時に並列実行可能な動作計画数は、ロボットが実機上で動作計画を再生するプロセッサの演算速度などに依存する。
【0097】
上述したような複合的な動作計画を編集する場合、編集しながら上記の制約条件をすべて考慮することは困難である。そこで、本実施形態では、編集処理が一旦終了した後に、制約条件の確認処理を実行する。そして、すべての制約条件を満たすことができないときには、適宜ステップS4に戻り、動作計画の変更や新規作成などの動作計画の編集作業を繰り返し行ない、動作計画編集処理部13A〜13Bは動作計画を更新する(ステップS4−a)。
【0098】
一方、すべての制約条件を満たしているときには、編集者は、動作編集装置10に対し、編集した動作計画の出力を要求することができる(ステップS10)。
【0099】
動作計画出力処理部17は、制約条件確認処理部16によって確認処理が終了した後の動作計画を、ロボットが理解できるデータ形式に変換して(ステップS10−a)、メディアに書き込む、あるいは通信インターフェース経由でデータ転送する、といった形式でデータ出力を行なう(ステップS10−b)。
【0100】
また、動作計画編集処理部13A〜13Cが拡張された動作計画、すなわちロボットに実装されていない動作計画を編集したときには、ステップS10−aにおいて、動作計画出力部11Dは、ロボットが再生可能な動作計画に変換してデータ出力する。
【0101】
例えば、逆運動学動作計画しか再生できないロボットに対し、描画動作計画を使って動作が編集された場合について考察してみる。この描画動作計画内には、属性データ及びタイムライン・データとしてそれぞれ以下の4種類のデータが保持されている。
【0102】
属性データ
・対象となるリソース
・時間
・ロボットと紙(キャンバス)との位置関係
タイムライン・データ
・筆跡
【0103】
ここで、ロボット本体側には、このような形式で記述された描画動作計画を再生するための仕組みが実装されていないことから、逆運動学の形式で記述された動作計画に変換してデータ出力する必要がある。したがって、動作計画ロボットとキャンバスとの位置関係と筆跡を基に、対象となるリソース(この場合は、腕部)のエンド・エフェクタ(手先)の位置姿勢データに変換し、以下に示すような逆運動学の動作計画に変換する。
【0104】
属性データ
・対象となるリソース
・時間
タイムライン・データ
・エフェクト・ポイントの位置姿勢
【0105】
このようにして、動作計画出力処理部17によってロボットに実装された制御プログラムが解釈できるデータになり、これが動作計画出力部11Dから出力される。
【0106】
図15に示したように、拡張された動作計画がどの動作計画に依存するかという依存関係はあらかじめ規定されている。したがって、上述した一連のデータ変換処理は、編集者が明示的に指示しなくても、動作計画出力処理部17において自動的に変換処理を行なうことができる。
【0107】
また、ロボットが同時に実行できる動作計画の数に制限がある場合には、ステップS9において、制約条件確認処理部16が制約に抵触するから再編集の対象とすることがある。このような場合であっても、ステップS10−aにおいて、動作計画出力処理部17が、動作データ出力時に複数の動作計画を結合して1つの動作計画に変換することで、制約条件を満足させることができることがある。
【0108】
このような、動作計画出力処理部17による動作計画の結合処理は、同一種類の動作計画が同時に複数実行されているときに特に有効である。勿論、同一種類でなくとも、動作計画を別の動作計画に変換することで、制約条件を超えた数の動作計画同士を結合することができる場合もある。
【0109】
例えば、同時の1つの順運動学の動作計画と逆運動学の動作計画しか実行できないロボットに対して動作計画を編集した結果、動作計画間を遷移するときに2つの逆運動学の動作計画を同時実行するようになってしまった場合、動作計画出力処理部17は、これらを1つの順運動学の動作計画に結合し、これが動作計画出力部11Dからデータ出力される。
【産業上の利用可能性】
【0110】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0111】
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行なう機械装置であるならば、例えば玩具等のような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【0112】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【0113】
【図1】図1は、本発明の一実施形態にかかる動作編集装置10の機能的構成を模式的に示したブロック図である。
【図2】図2は、構造化記述言語を用いて記述されたロボット定義情報の一例を示した図である。
【図3A】図3Aは、動作編集装置10における動作計画の編集作業の全体的な流れを示したフローチャートである。
【図3B】図3Bは、動作編集装置10における動作計画の編集作業の全体的な流れを示したフローチャートである。
【図4】図4は、ロボット定義情報に含まれる視覚的情報を基に生成されたロボットの画像表示例を示した図である。
【図5】図5は、動作計画編集用のGUI画面の構成例を示した図である。
【図6】図6は、動作計画編集処理部13A〜13Cの内部機能構成を模式的に示した図である。
【図7A】図7Aは、順運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図7B】図7Bは、順運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図7C】図7Cは、順運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図8A】図8Aは、逆運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図8B】図8Bは、逆運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図8C】図8Cは、逆運動学の動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図9A】図9Aは、歩の軌跡パターンによる動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図9B】図9Bは、歩の軌跡パターンによる動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図9C】図9Cは、歩の軌跡パターンによる動作計画を編集するためのタイムライン・データ入力部と属性データ入力部の画面構成を示した図である。
【図10】図10は、キャンバス・コントロール・バーの画面構成を示した図である。
【図11】図11は、ロボットが作業する3次元空間上に再配置された3次元軌道計画をタイムライン上に展開した描画軌跡を示した図である。
【図12】図12は、描画を行なう動作計画のための属性データとして、3次元空間上での初期位置設定画面の構成を示した図である。
【図13】図13は、描画動作計画を再生するロボットの動作シミュレーション結果を示した図である。
【図14】図14は、 動作計画編集処理部が、編集された動作計画をロボットに実装されている動作計画に変換する様子を示した図である。
【図15】図15は、動作計画間に存在する依存関係を示した図である。
【図16】図16は、グラフ接続された複数の動作計画の統合処理を行なう様子を示した図である。
【図17】図17は、リソースへの指示値の変化を考慮しながら動作計画を統合処理する仕組みを説明するための図である。
【符号の説明】
【0114】
10…ロボットの動作編集装置
11…入出力処理部
11A…ロボット定義入力部
11B…動作計画編集画面表示部
11C…動作計画再生画像出力処理部
11D…動作計画出力部
12…内部データ保持部
13…動作計画編集起動部
13A…順運動学に基づく動作計画編集処理部
13B…逆運動学に基づく動作計画編集処理部
13C…歩の起動パターンに基づく動作計画編集処理部
14…動作計画再生処理部
15…動作計画統合処理部
16…制約条件確認処理部
17…動作計画出力処理部

【出願人】 【識別番号】000002185
【氏名又は名称】ソニー株式会社
【出願日】 平成18年7月27日(2006.7.27)
【代理人】 【識別番号】100093241
【弁理士】
【氏名又は名称】宮田 正昭

【識別番号】100101801
【弁理士】
【氏名又は名称】山田 英治

【識別番号】100095496
【弁理士】
【氏名又は名称】佐々木 榮二

【識別番号】100086531
【弁理士】
【氏名又は名称】澤田 俊夫


【公開番号】 特開2008−30136(P2008−30136A)
【公開日】 平成20年2月14日(2008.2.14)
【出願番号】 特願2006−204517(P2006−204517)