(57)【要約】制御の高度な知能化のために必要な画像などの大容量データを簡素な構造でリアルタイム性を確保しつつ扱うことのできるロボット制御装置を実現する。このため、制御対象（３）の動作制御を実現するための計算処理を行う動作制御手段（５）と、上記制御対象の作業・動作計画や外界認識を行う認識・計画手段（６）と、上記制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェース（４）と、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御する経路選定手段（２）とを備えて、上記経路選定手段で、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御しながら、上記制御対象の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象であるロボットの動作を制御する。
2004052598.tif 000002
【特許請求の範囲】
【請求項１】
制御対象（３）の動作制御を実現するための計算処理を行う動作制御手段（５，５ｂ，５ｃ，５ｄ）と、
上記制御対象の作業・動作計画や外界認識を行う認識・計画手段（６，６ａ，６ｅ，１６）と、
上記制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェース（４，４ｂ，４ｃ，４ｄ，１４）と、
上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御する経路選定手段（２，２ａ，２ｂ，２ｃ，２ｄ，１２ａ，１２ｂ）とを備えて、
上記経路選定手段で、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御しながら、上記制御対象の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象であるロボットの動作を制御するロボット制御装置。
【請求項２】
制御対象（３）の動作制御を実現するための演算処理を行う動作制御手段（５ｂ，５ｃ，５ｄ）と、
上記制御対象の作業・動作計画や外界認識を行う認識・計画手段（６ａ）と、
上記制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェース（４ｂ，４ｃ，４ｄ）と、
上記認識・計画手段と接続される第１経路選定手段（２ａ）と、
上記動作制御手段と上記第１経路選定手段と上記入出力インターフェースと接続される第２経路選定手段（２ｂ，２ｃ，２ｄ）とを備えて、
上記第１経路選定手段は、上記第２経路選定手段と上記認識・計画手段との接続を切り換えることで通信を制御するとともに、上記第２経路選定手段は、上記認識・計画手段と上記第１経路選定手段と上記入出力インターフェースとの接続を切り換えることで通信を制御しながら、上記制御対象の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象であるロボットの動作を制御するロボット制御装置。
【請求項３】
上記経路選定手段は、データ転送の優先順位を制御する機能を有して、上記経路選定手段により、上記データ転送の優先順位に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項１又は請求項２に記載のロボット制御装置。
【請求項４】
上記経路選定手段は、上記制御対象の制御状況に応じてデータ転送の優先順位を制御して、上記経路選定手段により、上記制御対象の制御状況に応じて上記データ転送の優先順位に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項３に記載のロボット制御装置。
【請求項５】
上記経路選定手段は、転送データ中に埋め込まれた優先順位データによりデータ転送の優先順位を制御する請求項３に記載のロボット制御装置。
【請求項６】
上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データの転送を一時停止するよう動作する請求項３に記載のロボット制御装置。
【請求項７】
上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データの間引きを実行するよう動作する請求項３に記載のロボット制御装置。
【請求項８】
上記経路選定手段は、データ転送容量の占有率を制御する機能を有して、上記経路選定手段により、上記データ転送容量の占有率に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項１又は請求項２に記載のロボット制御装置。
【請求項９】
上記経路選定手段は、上記制御対象の制御状況に応じて上記データ転送容量の上記占有率を制御して、上記経路選定手段により、上記制御対象の制御状況に応じて上記データ転送容量の上記占有率に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項８に記載のロボット制御装置。
【請求項１０】
上記経路選定手段は、転送データ中に埋め込まれた占有率データにより上記データ転送容量の上記占有率を制御する請求項８に記載のロボット制御装置。
【請求項１１】
上記経路選定手段は、データ転送のクロック速度を制御する機能を有して、上記制御対象の制御状況に応じて上記データ転送のクロック速度を変化させ、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項１又は請求項２に記載のロボット制御装置。
【請求項１２】
上記制御対象の制御状況は制御誤差である請求項４、請求項９、又は請求項１１に記載のロボット制御装置。
【請求項１３】
上記制御対象の制御状況は制御目標値である請求項４、請求項９、又は請求項１１に記載のロボット制御装置。
【請求項１４】
上記経路選定手段は、データ転送要求を告知するための専用信号線を有する請求項４〜７のいずれか１つに記載のロボット制御装置。
【請求項１５】
上記経路選定手段は、上記動作制御手段と上記認識・計画手段間の時間的な緩衝をとる記憶手段（２３）を有して、
上記経路選定手段は、上記動作制御手段と上記認識・計画手段と上記共通記憶手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御する請求項１又は２に記載のロボット制御装置。
【請求項１６】
上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データを上記記憶手段に待避するよう動作する請求項９に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】  本発明は、知能ロボット等を実現するための、認識、判断、作業計画、動作計画などの処理を行う認識・計画処理系と実時間制御を行う動作制御処理系の分散階層構造を有するロボット制御装置に関する。ここで、作業計画とは、組み立て作業の場合を例に取ると、部品をどういう順序で組み立てるかとか、部品同士をどのように組み付けるとか抽象的な概念レベルでの計画プロセスを指す。一方、動作計画は実際の組み立て作業を実現するための手先の動作のための目標軌道生成や、力制御のための目標値生成を行う計画プロセスを指す。
【背景技術】  高度な知的能力を有する知能ロボットを実現するためには、動作制御を行う動作制御系に加えて、外界の認識や作業計画、動作計画などの知能的な処理を行う認識・計画処理系が必要となる。
こうした知能的なロボットの制御装置を実現する構造としては図１０に示す構造が考えられる。図１０では、上記制御装置は、制御対象１０５に接続される入出力インターフェース１０４と、入出力インターフェース１０４に接続される動作制御手段１０１と、動作制御手段１０１に接続される共有メモリ１０３と、共有メモリ１０３に接続される認識・計画手段１０２とが直列的に接続配置されるように構成されている。
ロボットの動作制御を行う動作制御系は、実時間性が必要とされるため、オペレーションシステム（ＯＳ）を使用せず直接制御プログラムを実行する処理系やリアルタイムＯＳを使用したシステムで構成される動作制御手段１０１で実現される。
一方、認識や作業・動作計画などの処理は実時間性を必要とせず、ソフトウェアの開発環境や高速処理能力などの点から汎用のマルチタスクＯＳを搭載した、例えば、パーソナルコンピュータやワークステーションなどの計算機システムで構成することが好ましく、１０２で示される認識・計画手段として、動作制御手段１０１とは独立して並列で動作する処理系で実現される。
こうした、動作制御手段１０１と認識・計画手段１０２という並列階層構造を採る場合、例えば、認識・計画手段１０２の認識・計画プログラムが生成する目標軌道を動作制御手段１０１に転送する場合に、時間的な受け渡しタイミングの問題が発生する。
この問題に対し、図１０に示す制御装置では、共有メモリ１０３を設けることにより、認識・計画手段１０２は目標軌道を共有メモリ１０３に書き込み、動作制御手段１０１は共有メモリ１０３より目標軌道を読み込むことにより時間的なタイミングの緩衝を実現する（例えば、特開平６−２９００６０号公報参照。）。
図１０に示す制御装置では、動作制御手段１０１、認識・計画手段１０２及び共有メモリ１０３を接続する方法としては拡張性の点から共通バス方式が採られる。
しかしながら、上記従来構造では、さらなる知能高度化のため、複数の写像装置による複数の画像や高精細な画像の取り込みを行い、大容量のデータを扱おうとすると、バスの競合からデータ転送待ち時間が発生し、リアルタイム性が確保できなくなる問題が発生する。
こうした問題を回避するため、画像転送専用のバスを設けたり、各手段間を接続する専用バスを設けたりすることは、バス配線の増加などシステムの複雑化を招き、システムの拡張性の点でも問題である。
従って、本発明の目的は、上記従来構造の課題を解決し、制御の高度な知能化のために必要な画像などの大容量データを簡素な構造でリアルタイム性を確保しつつ扱うことのできるロボット制御装置を提供することにある。
【発明の開示】
本発明は、上記目的を達成するため、以下のように構成している。
本発明の第１態様によれば、制御対象の動作制御を実現するための計算処理を行う動作制御手段と、
上記制御対象の作業・動作計画や外界認識を行う認識・計画手段と、
上記制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェースと、
上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御する経路選定手段とを備えて、
上記経路選定手段で、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御しながら、上記制御対象の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象であるロボットの動作を制御するロボット制御装置を提供する。
例えば、この第１態様の１つの具体的な例として、実時間制御を実現するための計算処理を行う動作制御手段と、
知能処理を実現するための計算処理を行う認識・計画手段と、
制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェースと、
上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御する経路選定手段とを備えて、
上記経路選定手段で、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御しながら、上記制御対象であるロボットの動作を制御するロボット制御装置を提供する。
本発明の第２態様によれば、制御対象の動作制御を実現するための演算処理を行う動作制御手段と、
上記制御対象の作業・動作計画や外界認識を行う認識・計画手段と、
上記制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェースと、
上記認識・計画手段と接続される第１経路選定手段と、
上記動作制御手段と上記第１経路選定手段と上記入出力インターフェースと接続される第２経路選定手段とを備えて、
上記第１経路選定手段は、上記第２経路選定手段と上記認識・計画手段との接続を切り換えることで通信を制御するとともに、上記第２経路選定手段は、上記認識・計画手段と上記第１経路選定手段と上記入出力インターフェースとの接続を切り換えることで通信を制御しながら、上記制御対象の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象であるロボットの動作を制御するロボット制御装置を提供する。
例えば、この第２態様の１つの具体的な例として、実時間制御を実現するための計算処理を行う動作制御手段と、
知能処理を実現するための計算処理を行う認識・計画手段と、
制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェースと、
上記認識・計画手段と接続される第１経路選定手段と、
上記動作制御手段と上記第１経路選定手段と上記入出力インターフェースと接続される第２経路選定手段とを備えて、
上記第１経路選定手段は、上記第２経路選定手段と上記認識・計画手段との接続を切り換えることで通信を制御するとともに、上記第２経路選定手段は、上記動作制御手段と上記第１経路選定手段と上記入出力インターフェースとの接続を切り換えることで通信を制御しながら、上記制御対象であるロボットの動作を制御するロボット制御装置を提供する。
本発明の第３態様によれば、上記経路選定手段は、データ転送の優先順位を制御する機能を有して、上記経路選定手段により、上記データ転送の優先順位に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第１又は２の態様に記載のロボット制御装置を提供する。
本発明の第４態様によれば、上記経路選定手段は、上記制御対象の制御状況に応じてデータ転送の優先順位を制御して、上記経路選定手段により、上記制御対象の制御状況に応じて上記データ転送の優先順位に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第３の態様に記載のロボット制御装置を提供する。
本発明の第５態様によれば、上記経路選定手段は、転送データ中に埋め込まれた優先順位データによりデータ転送の優先順位を制御する第３の態様に記載のロボット制御装置を提供する。
本発明の第６態様によれば、上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データの転送を一時停止するよう動作する第３の態様に記載のロボット制御装置を提供する。
本発明の第７態様によれば、上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データの間引きを実行するよう動作する第３の態様に記載のロボット制御装置を提供する。
本発明の第８態様によれば、上記経路選定手段は、データ転送容量の占有率を制御する機能を有して、上記経路選定手段により、上記データ転送容量の占有率に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第１又は２の態様に記載のロボット制御装置を提供する。
本発明の第９態様によれば、上記経路選定手段は、上記制御対象の制御状況に応じて上記データ転送容量の上記占有率を制御して、上記経路選定手段により、上記制御対象の制御状況に応じて上記データ転送容量の上記占有率に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第８の態様に記載のロボット制御装置を提供する。
本発明の第１０態様によれば、上記経路選定手段は、転送データ中に埋め込まれた占有率データにより上記データ転送容量の上記占有率を制御する第８の態様に記載のロボット制御装置を提供する。
本発明の第１１態様によれば、上記経路選定手段は、データ転送のクロック速度を制御する機能を有して、上記制御対象の制御状況に応じて上記データ転送のクロック速度を変化させ、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第１又は２の態様に記載のロボット制御装置を提供する。
本発明の第１２態様によれば、上記制御対象の制御状況は制御誤差である第４、９、又は１１の態様に記載のロボット制御装置を提供する。
本発明の第１３態様によれば、上記制御対象の制御状況は制御目標値である第４、９、又は１１の態様に記載のロボット制御装置を提供する。
本発明の第１４態様によれば、上記経路選定手段は、データ転送要求を告知するための専用信号線を有する第３〜７のいずれか１つの態様に記載のロボット制御装置を提供する。
本発明の第１５態様によれば、上記経路選定手段は、上記動作制御手段と上記認識・計画手段間の時間的な緩衝をとる記憶手段を有して、
上記経路選定手段は、上記動作制御手段と上記認識・計画手段と上記共通記憶手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御する第１又は２の態様に記載のロボット制御装置を提供する。
本発明の第１６態様によれば、上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データを上記記憶手段に待避するよう動作する第９の態様に記載のロボット制御装置を提供する。
【図面の簡単な説明】  本発明のこれらと他の目的と特徴は、添付された図面についての好ましい実施形態に関連した次の記述から明らかになる。この図面においては、
図１は、本発明の第１実施形態におけるロボット制御装置の構成を示すブロック図であり、
図２は、本発明の第１実施形態におけるロボット制御装置の経路選定手段の構造を示すブロック図であり、
図３は、本発明の第１実施形態におけるロボット制御装置の入出力インターフェースの構造及びロボットを示す図であり、
図４は、本発明の第１実施形態におけるロボット制御装置の動作制御手段あるいは認識・計画手段の構造を示すブロック図であり、
図５は、本発明の第１実施形態における作業動作に関するフローチャートであり、
図６は、本発明の第１実施形態におけるロボット制御装置の動作制御手段で実行される制御プログラムのアルゴリズムを示すフローチャートであり、
図７は、転送モードの説明図であり、
図８Ａ，図８Ｂはそれぞれ本発明の第２実施形態におけるロボット制御装置の構成を示す図及びロボットの図であり、
図９Ａ，図９Ｂはそれぞれ本発明の第３実施形態におけるロボット制御装置の構成を示す図及びロボットなどの制御対象の図であり、
図１０は、従来の制御装置の構成を示すブロック図であり、
図１１は、本発明の上記実施形態におけるロボット制御装置のＬＳＩ間の配線を示す説明図であり、
図１２Ａ，図１２Ｂ，図１２Ｃはそれぞれ本発明の第１実施形態におけるマニュピュレータの作業動作を説明するための説明図であり、
図１３Ａ，図１３Ｂ，図１３Ｃ，図１３Ｄはそれぞれ本発明の第２実施形態における２本のアームの作業動作を説明するための説明図であり、
図１４は、音声認識機能を追加された、本発明の第２実施形態におけるロボット制御装置の構成の一部を示す図であり、
図１５は、リアルタイム処理を説明するための説明図であり、
図１６は、データ転送１〜５と転送先とデータ種と優先データとの関係の表を示す図であり、
図１７は、第１−Ａ実施形態における、経路選定手段での転送制御方法を説明する表を示す図である。
【発明を実施するための最良の形態】  本発明の記述を続ける前に、添付図面において同じ部品については同じ参照符号を付している。
以下、図面を参照して本発明における種々の実施形態を詳細に説明する。
（第１実施形態）
図１は本発明の第１実施形態におけるロボット制御装置１の構成を示す図である。図１において、２はロボット制御装置１内のデジタル信号の経路を切り換える経路選定手段である。経路選定手段２には、本実施形態におけるロボット制御装置１の制御対象３への指令を出力するとともに上記制御対象３の状態を入力するため上記制御対象３に接続された入出力インターフェース４と、制御対象３の動作制御を行うための実時間の計算などの計算処理を行う動作制御手段５（一つの具体例としては、制御対象３の制御を行うための実時間の計算を行うリアルタイム処理手段５）と、制御対象３の作業・動作計画や外界認識を行う認識・計画手段６（一つの具体例としては、制御対象３の作業・動作計画や外界認識を行う非リアルタイム処理手段６）と、共通記憶手段７とが接続されて、上記動作制御手段５と上記認識・計画手段６と上記入出力インターフェース４との間の接続を切り換えることで通信を制御するようにしている。このように、上記ロボット制御装置１は、上記経路選定手段２で、上記動作制御手段５と上記認識・計画手段６と上記入出力インターフェース４との間の接続を切り換えることで通信を制御しながら、上記制御対象３の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象３であるロボットの動作を制御するようにしている。各手段などの間の接続は、シリアルなデジタルデータで通信を行うシリアル伝送路で構成されており、パケット通信による双方向通信が可能となっている。
なお、上記動作制御手段５は、制御対象３の動作制御を行うための計算処理をリアルタイムで処理するときにはリアルタイム処理手段５として機能させることができる一方、制御対象３の動作制御を行うための計算処理を、リアルタイムや非リアルタイムであるかを問わずに処理するときには、単に、上記動作制御手段５として機能させればよい。同様に、上記認識・計画手段６は、制御対象３の作業・動作計画や外界認識を非リアルタイムで処理するときには非リアルタイム処理手段６として機能させることができる一方、制御対象３の作業・動作計画や外界認識を、リアルタイムや非リアルタイムであるかを問わずに処理するときには単に、上記認識・計画手段６として機能させればよい。以下の実施形態では、具体的な例として、上記動作制御手段５をリアルタイム処理手段として、上記認識・計画手段６を非リアルタイム処理手段６としてそれぞれ記載するが、特に、上記動作制御手段５をリアルタイム処理手段５として機能させる必要が無いときには、単に上記動作制御手段５として読み替えることができるとともに、上記認識・計画手段６を非リアルタイム処理手段６として機能させる必要が無いときには、単に上記認識・計画手段６として読み替えることができる。
ここで、制御対象３の一例であるロボットとして、４自由度のマニピュレータ４８の制御を行う場合を例に採り、第１実施形態のロボット制御装置１の構成についてさらに詳しく説明する。図２は、上記経路選定手段２の構造を示す図であり、分かりやすくするために主要な機能ブロックのみを示している。
図２において、２１は経路選定手段２の機能を司るＩ／Ｏコントローラ等が統合されたワンチップ型のＣＰＵ、２２はＣＰＵ２１に接続されかつデジタル信号の経路を切り換えるスイッチである。スイッチ２２は複数の外部入出力ポート２２１ａ〜２２１ｄを持ち、それぞれ入出力インターフェース４と、動作制御手段５と、認識・計画手段６と、共通記憶手段７とに接続されている。さらに、スイッチ２２は、ＣＰＵ２１と接続された内部ポート２２２を持ち、内部ポート２２２を通じてＣＰＵ２１により、外部入出力ポート２２１ａ〜２２１ｄのそれぞれと内部ポート２２２との間のデータ転送経路の切換が制御される。
図２において、２３は、ＣＰＵ２１に接続されかつＣＰＵ２１を動作させるためのプログラムや経路切換のためのデータが格納された記憶手段である。
図３は入出力インターフェース４の構造を示す図である。図３において、４１はシリアル−パラレル変換手段であり、外部入出力ポート４１１と内部出力ポート４４と内部入力ポート４７とで入出力されるデータ間のシリアル−パラレル変換をシリアル−パラレル変換手段４１により行う。外部入出力ポート４１１はシリアル伝送路で経路選定手段２に接続されている。また、内部出力ポート４４には、共通パラレルバス方式の伝送線路でＤ／Ａコンバータ４２ａ〜４２ｄが接続されており、Ｄ／Ａコンバータ４２ａ〜４２ｄの出力はモータードライバ４３ａ〜４３ｄに接続されている。モータードライバ４３ａ〜４３ｄは、マニュピュレータ４８の各関節に組み込まれたモータ（図示せず）に接続され、Ｄ／Ａコンバータ４２ａ〜４２ｄからの出力信号に応じてマニュピュレータ４８のそれぞれの関節のモータをそれぞれ独立的に駆動する。一方、内部入力ポート４７には、共通パラレルバス方式の伝送線路でカウンタ４５及び画像取込手段４６が並列に接続されている。カウンタ４５には、マニュピュレータ４８の各関節に組み込まれたエンコーダ（図示せず）が接続され、上記各モータにより回転されるマニュピュレータ４８の各関節の角度が上記エンコーダにより検出されて、カウンタ４５にそれぞれ入力される。画像取込手段４６には撮像装置４９が接続され、マニュピュレータ４８による把持対象等の画像が撮影される。
図４は動作制御手段５あるいは認識・計画手段６の構造を示す図である。ハードウェア的には動作制御手段５と認識・計画手段６は同一の構成の一般的なコンピュータアーキテクチャのＣＰＵボードであり、図４には主要な機能ブロックのみ示している。図４において、５１は制御を実現するための計算処理を行うＣＰＵである。５２はＩ／Ｏコントローラ、メモリコントローラ等が統合されたチップセットであり、外部とのデータの入出力を行うシリアルポート５４とを有している。また、５３は計算処理を行うためのプログラムやデータを格納する記憶手段である。チップセット５２の２つの内部ポート５２１ａ，５２１ｂにはそれぞれＣＰＵ５１と記憶手段５３とが別々に接続されている。
ソフトウェア的には、動作制御手段５は、ＯＳ（オペレーティングシステム）を搭載せず、制御のためのプロセス（例えば、制御対象３の制御を行うための実時間の計算）がシングルタスクで実行されている。一方、認識・計画手段６は、記憶手段５３に記憶されたマルチタスクのＯＳを搭載し、マニュピュレータ４８の作業計画のためのプロセス、動作計画のためのプロセス及び画像認識のための画像認識プロセスが時分割のマルチタスクで実行されている。
以上の構成のロボット制御装置１の動作について、図５のフローチャートに示す、ある領域内に置かれた（対象物の一例としての）直方体の物体９０を画像認識を使ってマニュピュレータ４８のアーム４８ｂの先端の手先効果器４８ａで把持し、手先効果器４８ａで把持された直方体の物体９０を所定の位置へ移動する作業を例に説明する。
図５のフローチャートに示す動作ステップは、認識・計画手段６で実行される作業計画プロセスによってその実行順序が計画され、進行が管理される。
まず、ステップＳ１での作業計画プロセスは、画像認識プロセスを呼び出す。すなわち、認識・計画手段６で実行される画像認識プロセスは、入出力インターフェース４に接続された撮像装置４９より取り込んだ画像を元にマニュピュレータ４８で把持する直方体の物体９０の位置、姿勢及び大きさを認識し（図５のステップＳ１）、認識結果のデータは、マニュピュレータ４８から見た直方体の物体９０の絶対座標系の位置・姿勢、形状データとしてプロセス間通信により作業計画プロセスに引き渡す。認識・計画手段６で生成される動作計画プロセスは、引き渡された位置・姿勢、形状データを基に、手先効果器４８ａが初期位置から直方体の物体９０まで移動して直方体の物体９０を手先効果器４８ａで把持するための軌道及び把持した直方体の物体９０を所定の位置へ手先効果器４８ａで運搬するための軌道を、例えば多項式補間を使って生成する。認識・計画手段６で生成される目標軌道データは、各時刻におけるマニュピュレータ４８の手先効果器４８ａの位置（手先位置）・姿勢及び手先効果器４８ａの動作の速度・角速度という形式で生成され、シリアルデータとしてシリアルポート５４より経路選定手段２に転送される。
経路選定手段２は、認識・計画手段６から転送される目標軌道データを共通記憶手段７の所定の位置に格納するように動作する。したがって、マニュピュレータ４８の手先効果器４８ａがどのように動くべきかを示す目標軌道データは、常に共通記憶手段７を参照すればよい。
動作制御手段５では、マニュピュレータ４８の手先効果器４８ａを目標軌道データどおりに動作させるための制御プログラムが、以下のように実行される（図５のステップＳ２〜Ｓ７）。
すなわち、図５のステップＳ１で直方体の物体９０の位置、姿勢及び大きさを認識したのち、図５のステップＳ２では、図１２Ａにも示すように、目標軌道データに基づき制御対象３であるマニュピュレータ４８が上記制御装置１により動作制御されて、マニュピュレータ４８の手先効果器４８ａが直方体の物体９０の近傍に移動する、アーム４８ｂの把時準備動作が行われる。一例として、図１２Ａでは、マニュピュレータ４８の基端部周りに、マニュピュレータ４８の手先効果器４８ａが直方体の物体９０に対向する位置まで回動される。
次いで、図５のステップＳ３では、画像認識によるアーム４８ｂのアプローチ動作が行われる。これは、具体的には、ビジュアルフィードバックであって、マニピュレータ４８の手先効果器４８ａと直方体の物体９０の相対的な位置関係を画像認識により検出し、手先効果器４８ａと直方体の物体９０が接触しないように手先効果器４８ａの位置を微調整しながら、図１２Ｂにも示すように、手先効果器４８ａにより物体９０を把持可能な位置まで手先効果器４８ａを移動させる。
次いで、図５のステップＳ４では、目標軌道データに基づき制御対象３であるマニュピュレータ４８が上記制御装置１により動作制御されて、図１２Ｃにも示すように、手先効果器４８ａを閉じて、直方体の物体９０を挟み込むことで把持を行う把持動作が行われる。
次いで、図５のステップＳ５では、撮像装置４９により撮像されて画像取込手段４６に撮り込まれた画像情報に基づく、画像認識による把持確認、すなわち、手先効果器４８ａによる直方体の物体９０の把持動作が成功したか否かが判断される。具体的には、手先効果器４８ａと直方体の物体９０の相対的な位置関係を画像認識により検出し、手先効果器４８ａの指の間に直方体の物体９０が位置しているかどうかにより、把持動作の成否が作業計画プロセスにより判断される。すなわち、手先効果器４８ａの指の間に直方体の物体９０が位置している場合（図１２Ｃ参照）には、把持動作成功であり、手先効果器４８ａの指の間に直方体の物体９０が位置していない場合には、把持動作が失敗と判断される。把持動作失敗と判断された場合には、作業計画プロセスは動作ステップをステップＳ３に戻し、画像認識による手先効果器４８ａの位置の微調整が行われたのち、ステップＳ４及びＳ５が再度行われる。把持動作成功と判断された場合には、ステップＳ６に進む。
次いで、図５のステップＳ６では、目標軌道データに基づき制御対象３であるマニュピュレータ４８が上記制御装置１により動作制御されて、手先効果器４８ａにより把持された直方体の物体９０の運搬動作を行う。
次いで、図５のステップＳ７では、所定位置まで直方体の物体９０を運搬して設置したのち、マニュピュレータ４８が上記制御装置１により動作制御されて、直方体の物体９０を把持していた手先効果器４８ａの指が広げられ、直方体の物体９０が手先効果器４８ａから解放される。
次に、動作制御手段５により実行される上記制御プログラムの動作ステップについて図６を参照しながら説明する。
図６のステップＳ１１では、動作制御手段５が経路選定手段２にマニュピュレータ４８の関節角度データの転送を要求する。関節角度データを要求された経路選定手段２は、入出力インターフェース４にカウンタ４５に入力されている関節角度データのデータ転送を要求し、カウンタ４５に入力されていたマニュピュレータ４８の各関節のエンコーダ値が入出力インターフェース４を介して経路選定手段２に返送され、経路選定手段２から動作制御手段５に各関節のエンコーダ値が現在の関節角度データ（関節変数ベクトルｑ＝［θ１，θ２，θ３，θ４］Ｔ、ただしθｉは第ｉ関節の角度）として転送される。
図６のステップＳ１２では、マニュピュレータ４８の運動学計算に必要なヤコビ行列Ｊｒ等の計算が動作制御手段５により行われる。
次いで、図６のステップＳ１３では、転送されてきた現在の関節角度データである関節変数ベクトルｑを使用して、マニュピュレータ４８の手先効果器４８ａの現在の手先位置・姿勢ベクトルｒが動作制御手段５により計算される。
図６のステップＳ１４では、手先位置に関する位置サーボ補償入力値ベクトルｕｐが下記の式（１）を使い、動作制御手段５により計算される。
2004052598.tif 000003
ただし、ｒｄは手先・位置・姿勢ベクトルの目標値、Ｋｐ及びＫｖはフィードバックゲイン行列である。
予め、位置サーボ補償の目標値ベクトルｒｄは認識・計画手段６で計算され、計算結果が共通記憶手段７に格納されているため、経路選定手段２を介して共通記憶手段７から動作制御手段５へ、格納されていた位置サーボ補償の目標値ベクトルｒ４の取り込みが行われる。
図６のステップＳ１５では、制御実現のため、マニュピュレータ４８に加えるべき駆動力ベクトルτが、運動方程式及び位置サーボ補償入力値ベクトルｕｐより、下記の式（２）を使い動作制御手段５により計算される。
2004052598.tif 000004
ただし、ＫＴはトルク係数行列である。
図６のステップＳ１６では、ステップＳ１５で動作制御手段５により計算された駆動力値ベクトルτが、動作制御手段５の外部入出力用シリアルポート５４より駆動力指令値として出力される。駆動力指令値を受け取った経路選定手段２は、入出力インターフェース４に駆動力指令値を転送し、駆動力指令値が入出力インターフェース４を介してＤ／Ａコンバータ４２に入力され、Ｄ／Ａコンバータ４２によりデジタル信号の駆動力指令値が電圧指令値に変換されて、Ｄ／Ａコンバータ４２から入出力インターフェース４を介して出力される。電圧指令値を入出力インターフェース４から受けたモータードライバ４３ａ〜４３ｄは、マニュピュレータ４８の各関節や手先効果器４８ａに駆動力を発生させる。
動作制御手段５では、以上の図６のステップＳ１１〜ステップＳ１６の計算処理ループが実行されることでソフトウェアフィードバック制御系が構成され、例えば１ｍｓｅｃといった決まった時間間隔で、関節角度データの取り込み、及び、駆動力指令値の出力が実行され、実時間の制御が実現される。このようにして求められて出力される駆動力値に基づき、上記したマニュピュレータ４８の制御動作が実行される。
なお、ロボットに電源が入っている間は制御を常にかけている場合を想定しているため、上記処理はエンドレスループになっている。よって、目標値として一定値を与え続ければ静止させることも可能である。
上記制御動作において、図１６及び図７に示すように、
▲１▼経路選定手段２は、認識・計画手段６から共通記憶手段７への目標軌道データの転送（データ転送１）、
▲２▼共通記憶手段７から動作制御手段５への目標軌道データの転送（データ転送２）、
▲３▼入出力インターフェース４から認識・計画手段６への画像データの転送（データ転送３）、
▲４▼入出力インターフェース４から動作制御手段５への関節角度データの転送（データ転送４）、
▲５▼動作制御手段５から入出力インターフェース４への駆動力値指令データの転送（データ転送５）、
を実行する。これらの転送要求は、動作制御手段５と認識・計画手段６とが独立して並列で動作しているため、時間的に同時になり、重なってしまう場合が発生する。特に、画像データは容量が大きく、画像データ転送時には重なる確率が高くなり、頻繁に転送待ちが発生する。
このような、動作制御手段５と認識・計画手段６とからの転送要求の同時発生に対して、上記したように、経路選定手段２はデータ転送の優先順位に基づく制御を行う。すなわち、経路選定手段２は複数のデータ転送モードを設定することができ、各転送モードでデータ転送の優先パターンが異なる。一例として、データ転送の優先パターンとしては、以下に示すように、上記制御対象の制御状況に応じて、転送モード１、転送モード２、転送モード３の合計３つが経路選定手段２に設定されている。
転送モード１では、動作制御手段５からの転送要求を優先するように経路選定手段２が動作する。経路選定手段２と動作制御手段５の間にはデータ転送要求を告知する専用信号線が配設されており、経路選定手段２は動作制御手段５のデータ転送要求を検知することができる。データ転送４及びデータ転送５の場合、経路選定手段２と入出力インターフェース４との間の伝送路が、関節角度データあるいは駆動値指令データの転送に優先的に使用されるように経路選定手段２が動作し、その間、画像データの転送（データ転送３）は、データを間引いて転送されるか、伝送路の容量に余裕がない場合には画像データの転送が一時停止される。関節角度データあるいは駆動値指令データの転送終了後、画像データの転送が行われるように経路選定手段２が動作する。また、データ転送２の場合には、経路選定手段２と共通記憶手段７との間の伝送路が優先的に使用されるように経路選定手段２が動作するため、認識・計画手段６から共通記憶手段７への目標軌道データの転送（データ転送１）は一時的に停止され、転送すべきデータは経路選定手段２の記憶手段２３に記憶されて待避させられる。経路選定手段２と共通記憶手段７との間の伝送路でのデータの転送終了後、上記目標軌道データの転送が行われるように経路選定手段２が動作する。一方、優先されるべきデータ転送２，４及び５は、図６に示したように、ステップＳ１でデータ転送４、ステップＳ４でデータ転送２、ステップＳ６でデータ転送５が実行されるため、時間的に重なることはない。
なお、上記専用信号線とは、以下のようなものである。すなわち、図７中では、データ転送ラインを１つの矢印で記しているが、実際には、ロボット制御装置のＬＳＩ間の配線には、シリアル転送の場合でも、信号線とＧＮＤ、上り下り専用信号線（すなわち上り信号線と下り信号線）を設ける場合など複数の配線が存在する。「専用信号線」は図１１のように、上記信号線とは別に、データ転送要求のためだけのデータ転送要求専用信号線を設け、このデータ転送要求専用信号線を通じて、要求の告知を高速に行なうものである。
以上のように、転送モード１の場合、経路選定手段２がデータ転送を制御することにより、動作制御手段５は常に待つことなく関節角度データの取得や駆動力指令値の出力を行うことができ、短い制御周期であってもリアルタイム性が確保され、安定した制御が実現する。また、各手段などの間のデータ転送はパケットを使ったシリアル通信により実行されるため、パケット間を利用した多重通信が可能であり、さらに転送待ちを減らすことが可能である。
転送モード２では、データ転送３（画像データの転送）がデータ転送４，５よりも優先されるように経路選定手段２が動作する。画像データの転送を優先することで、把持対象物の認識などの画像認識を高速に行うことができる。一方、動作制御手段５は、リアルタイム処理手段として機能させるときにはリアルタイム性を確保するために、制御周期を長くし、かつ、認識・計画手段６を非リアルタイム処理手段６として機能させて、この認識・計画手段６で実行されている作業計画プロセスが制御対象３の低速な動作を計画するか又は動作を停止させることにより、制御対象３の動作が不安定になることを防止する。
転送モード３では、特定のデータ転送を優先せず、均等にあるいは特定の比率で各データ転送を行うように経路選定手段２が動作するモードである。この転送モード３によれば、画像認識で把持対象を認識しながらアーム位置を修正するビジュアルフィードバックのような画像データの転送と駆動力指令及び関節角度データのリアルタイムな転送の両立が必要な動作が実現される。
ここで、図１６において、「○」がついている意味は、「○」が付いているデータ転送は他のデータ転送とバッティングしたときに「○」が付いているものが優先されるという意味である。したがって、転送モード３の場合は、バッティングが起こっても特に優先転送するデータは無いということで、「○」は付いていない。
これらの転送モードの設定は、例えば上記制御対象の制御状況に応じて、作業計画プロセスで計画されてデータ転送の優先順位が予め決められ、モード設定データとして経路選定手段２に転送されて設定される。ある領域内に置かれた直方体の物体９０を画像認識を使ってマニュピュレータ４８の手先効果器４８ａで把持し、所定の位置へ移動する作業の場合、転送モードは、図５の右側に示すように経路選定手段２により切換が行われ、迅速かつ安定した作業が実現する。すなわち、図５のステップＳ１で、直方体の物体９０の位置、姿勢及び大きさを認識するときは転送モード２、図５のステップＳ２で、アーム４８ｂの把持準備動作が行われるときは転送モード１、図５のステップＳ３で、画像認識によるアームのアプローチ動作が行われるときは転送モード３、図５のステップＳ４で、手先効果器４８ａによる直方体の物体９０の把持動作が行われるときは転送モード１、図５のステップＳ５で、画像認識による把持確認が行われるときは転送モード２、図５のステップＳ６で、直方体の物体９０の運搬動作を行うときは転送モード１、図５のステップＳ７で、直方体の物体９０を運搬して設置・解放するときは転送モード１とするように、経路選定手段２が転送モードを切り換える。
また、上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データの伝送を停止させる代わりに、非優先データの間引きを実行するよう動作させることもできる。すなわち、非優先データが画像データの場合、間引くことによりデータの容量を小さくすることができるが、画像の質は落ちることになり、鮮明さが低下することになる。すなわち、鮮明さが低下すると、画像認識の精度が低下する。一方、画像データである非優先データの伝送を一時停止する場合には、画像の伝送が完全に停止されて画像を得ることはできないが、画像データである非優先データの伝送を「間引き」する場合には、粗いながらも画像が得られるので処理は続行できる。
なお、本実施形態での経路選定手段２は、ＣＰＵなど個別のＬＳＩ部品によるＣＰＵボードとしての例を採用したが、すべての機能を集約した１チップＬＳＩでの構成も可能である。
また、本実施形態では、経路選定手段２はデータ転送要求を告知する信号線により転送要求を検知するとしたが、転送データに転送要求元のＩＤデータを埋め込むことによっても転送要求を検知することは可能である。
また、本実施形態では転送モードを３種類としたが、これに限られるわけではなく、制御対象３の構造や作業内容によって、モードの種類や数を異ならせることができる。
上記第１実施形態のロボット制御装置１によれば、リアルタイム処理手段５として機能させるべく実時間制御を実現するための計算処理を行う動作制御手段５と、非リアルタイム処理手段６として機能させるべく知能処理を実現するための計算処理を行う認識・計画手段６と、制御対象３への指令を出力し、制御対象３の状態を入力するための入出力インターフェース４と、上記動作制御手段５と上記認識・計画手段６と上記入出力インターフェース４との間の接続を切り換えることで通信を制御する経路選定手段２とを備えて、上記動作制御手段５での処理結果に基づいて制御対象３であるロボットの動作を制御するようにしている。よって、上記手段など４，５，６の間の接続を切り換えることで通信を制御する経路選定手段２を備えるという簡素な構造で、制御の高度な知能化のために必要な画像などの大容量データを、リアルタイム性を確保しつつ、扱うことができる。これにより、システムの拡張を行うときには経路選定手段２に新たな手段を接続するだけでよいといった、システムの拡張性を確保しつつ、各手段など４，５，６の間の接続を簡素な構造にすることができ、かつ、各手段など４，５，６の間の通信を、転送待ちの発生が少なくなるように、制御することができる。
また、ＣＰＵの演算処理能力が高速であり、自由度数が、例えば３以下のロボットアームの制御等、複雑な制御が必要ない場合には、動作制御手段５を非リアルタイム処理手段で構成しても動作制御は可能である。この場合には、動作制御手段５として汎用のマルチタスクＯＳが搭載されたＣＰＵボード等の使用が可能であり、システムの構築や制御プログラムの作成が容易であるという利点を有する。
また、認識・計画手段６をリアルタイム手段で実現することも可能であり、その場合にはＯＳを搭載しない小規模なＣＰＵボードや、小規模なリアルタイムＯＳを搭載したＣＰＵボード等、簡素なシステムとすることができる。また、特に、動作計画をリアルタイム処理手段で実現する場合には、リアルタイムに目標軌道の生成が可能となり、動作制御を安定して行うことができる。
また、上記経路選定手段２は、上記動作制御手段５からの転送要求を優先するよう動作することで、動作制御手段５の実時間性を確保することができる。
また、上記経路選定手段２は、記憶手段２３を有するとともに、上記動作制御手段５と上記認識・計画手段６と入出力インターフェース４と、上記経路選定手段２とが互いにシリアル伝送路により接続されるようにすることにより、上記経路選定手段２の記憶手段２３で、転送すべきデータのうち待機させられるデータが経路選定手段２の記憶手段２３に記憶されて待避させられることにより、上記動作制御手段５と上記認識・計画手段６間の時間的な緩衝をとることができるようになる。
（第１−Ａ実施形態）
図１７は第１−Ａ実施形態における、経路選定手段での転送制御方法を説明する表を示す図である。第１−Ａ実施形態の構成は第１実施形態と同様であるが、転送の優先順位ではなく、転送のデータ占有率で制御を行う。例えば、認識・計画手段と経路選定手段を接続する伝送路では、データ転送１の占有率Ａ（％）を決めることにより経路選定手段により転送されるデータの制御を行う。ただし、０≦Ａ≦１００である。また、制御ＩＦと経路選定手段を接続する転送路では、データ転送４の占有率Ｄ（％）およびデータ転送５の占有率Ｅ（％）を決めることにより経路選定手段により転送されるデータの制御を行う。ただし、０≦Ｄ≦１００、０≦Ｅ≦１００、かつ、０≦Ｄ＋Ｅ≦１００である。他の占有率Ｂ、Ｃ、Ｆ、Ｇも同様である。
占有率は制御状況に応じて動作制御手段や認識・計画手段において決定され、パケットデータとして経路選定手段に転送される。経路選定手段では、送信された占有率に基づきデータ転送の比率を制御する。
データ転送の占有率を決定する指標としては、位置制御の目標値、制御誤差を使用する。例えば、認識・計画手段と経路選定手段を接続する伝送路では、占有率Ａ（％）が
2004052598.tif 000005
により決定される。すなわち、手先位置・姿勢の目標値ベクトルの時間微分値に定数ゲインｋｏｄをかけた値を占有率Ａ（％）とする。
式（１−Ａ−１）の計算は認識・計画手段において行われ、占有率Ａのデータはパケットデータとして認識・計画手段から経路選定手段に転送され、経路選定手段は受信した占有率に基づき、認識・計画手段と経路選定手段を接続間のデータ転送の比率がデータ転送１＝Ａ％、データ転送３＝１００−Ａ％となるようにデータ転送を制御する。
式（１−Ａ−１）によれば、目標値の変化率が大きいとき、すなわち、目標速度が大きいとき占有率Ａが大きくなり、確実に目標値が転送され、制御を安定させることができる。例えば、手先の目標速度の最大値が０．５ｍ／ｓの場合には、ｋａｄ＝１６０ｓ／ｍとすれば手先の移動速度が最大の時にＡ＝８０％となり、手先が高速に移動するときには、動作制御に必要な目標軌道データを転送するデータ転送１が、データ転送３より占有率が高くなり、制御を安定させることができる。
また、制御ＩＦと経路選定手段を接続する伝送路では、占有率Ｄ（％）および占有率Ｅ（％）が
2004052598.tif 000006
により決定される。ただし、ｋｏｅは定数ゲインである。
式（１−Ａ−２）の計算は動作制御手段において行われ、占有率Ｄ、Ｅのデータはパケットデータとして動作制御手段から経路選定手段に転送され、経路選定手段は受信した占有率に基づき、制御ＩＦと経路選定手段を接続間のデータ転送の比率がデータ転送３＝１００−Ｄ−Ｅ％、データ転送４＝Ｄ％、データ転送５＝Ｅ％となるようにデータ転送を制御する。
式（１−Ａ−１）によれば、アーム手先位置・姿勢誤差ｒｄ−ｒが増加すると占有率Ｄ、Ｅが増加し（ただし、１００以上にはしない）、アームのリアルタイムの動作制御に関係するデータ転送４およびデータ転送５の転送データにおける比率が増加し、制御は安定する方向に向かい、制御誤差は減少する。
なお、経路切換手段と他の手段間の通信はデータ転送のみではなく、他にも占有率データや転送先を示すアドレス等の他の通信も行われるため、占有率１００％でも通信帯域のすべてを占有するわけではなく、データ転送用に割り与えられた帯域の１００％を意味する。
また、本実施形態では占有率の最大値を１００％として説明を行ったが、動作モードに応じて最大値を１００％以下の値に制限することによりさらに高度な制御が可能である。例えば、図５と同様の動作を行う場合、ステップＳ２ではアームの動作制御のみを行い、画像認識処理は必要ないため、データ転送１の最大占有率を１００％としても動作可能であるが、ステップＳ３はビジュアルフィードバックであり、画像認識処理と動作制御を同時に行う方が動作をよりスムーズに行うことができるため、データ転送１の最大占有率を、例えば７０％に限定すれば動作制御のみが行われ、画像認識処理が停止してしまうということもなく、確実な動作が可能となる。
また、本実施形態ではデータ転送１の占有率をＡ％とし、データ転送１の占有率を基準に考えたが、これに限られるわけではなく、より高度な制御として、動作モードに応じて基準を切り換える方法が考えられる。例えば、図５と同様の動作を行う場合、ステップＳ１及びステップＳ３では画像認識が必要であるため、画像データの転送を行うデータ転送３を基準とし、ステップＳ２では動作制御が必要であるため、データ転送１を基準として定めることによりロボットとしてより確実な動作が可能となる。
（第２実施形態）
図８Ａは本発明の第２実施形態におけるロボット制御装置１Ａの構成を示す図である。図８Ａに示すように、第２実施形態のロボット制御装置１Ａは、１ａ〜１ｅの５つの第１〜第５分散制御装置から構成され、図８Ｂに示す左右の２本のアーム５６，５７を有しかつ制御対象３の一例であるロボットとして、自律移動ロボット５５の体内に分散されて配設されて、それぞれの機能ブロックを構成している。すなわち、第１分散制御装置１ａは動作の計画や判断を司る知能ブロック、第２及び第３分散制御装置１ｂ及び１ｃは先端に手先効果器５６ａ，５７ａを有する２本のアーム５６，５７の動きを制御するアーム制御ブロック、第４分散制御装置１ｄは左右の２つの車輪５８，５８を駆動することで移動ロボット５５の移動を司る移動制御ブロック、第５分散制御装置１ｅはカメラやセンサ５９からの情報を取込み、外界の状況を認識する認識ブロックとなっている。
具体的には、以下のような構成となっている。ただし、経路選定手段２ａ，２ｂ，２ｃ，２ｄ，２ｅは、先の実施形態の経路選定手段２と同様な構成を有して同様な機能を基本的に行うものである。また、入出力インターフェース４ｂ，４ｃ，４ｄは、先の実施形態の入出力インターフェース４と同様な構成を有して、同様な機能（すなわち、各関節のモータをそれぞれ独立的に駆動する機能）の他、左右の車輪５８，５８をそれぞれ独立的に駆動する機能を基本的に行うものである。また、認識・計画手段６ａ，６ｅは、先の実施形態の認識・計画手段６と同様な構成を有して同様な機能を基本的に行うものであって、マルチタスクのＯＳを搭載し、２本のアーム５６，５７及び２つの車輪５８，５８の動作の計画や判断のためのプロセス及び画像認識のための画像認識プロセスが時分割のマルチタスクで実行されるようになっている。ここで、認識・計画手段６ａと６ｅとの機能上の相違は、認識・計画手段６ａはロボットの動作処理を行なうのに対して、認識・計画手段６ｅは画像認識処理を行なう点で大きく相違する。例えば、２本のアーム５６，５７の動作の計画や判断のためのプロセス及び２つの車輪５８，５８の動作の計画や判断のためのプロセスは認識・計画手段６ａで行い、画像認識のための画像認識プロセスは認識・計画手段６ｅで行う。
なお、アーム５６の手首には、２本のアームで１つの物体を把持する場合に物体にかかる内力を検知するための力センサ１００が配設されている。この力センサ１００は、アーム５６又はアーム５７のいずれかに配置されればよい。
また、動作制御手段５ｂ，５ｃ，５ｄは、先の実施形態の動作制御手段５と同様な構成を有して同様な機能を基本的に行うものであって、ＯＳ（オペレーティングシステム）を搭載せず、左右のアーム５７，５６の動作制御のためのプロセス（例えば、左右のアーム５７，５６の動作制御を行うための実時間の計算）がシングルタスクで実行されている。
まず、第１分散制御装置１ａは、上記知能ブロックとして、２本のアーム５６，５７の動作の計画や判断のためのプロセス及び２つの車輪５８，５８の動作の計画や判断のためのプロセスが時分割のマルチタスクで実行される認識・計画手段６ａと、認識・計画手段６ａに接続された経路選定手段２ａと、経路選定手段２ａに接続されて経路選定手段２ａの経路選定により認識・計画手段６ａから転送される目標軌道データを所定の位置に格納したり各種計算結果を格納したりする共通記憶手段７とより構成されて、認識・計画手段６ａにより２本のアーム５６，５７の動作の計画や判断のためのプロセス及び２つの車輪５８，５８の動作の計画や判断のためのプロセスが時分割のマルチタスクで実行されるようになっている。
第２分散制御装置１ｂは、上記右アーム制御ブロックとして、第１分散制御装置１ａの経路選定手段２ａと接続された経路選定手段２ｂと、経路選定手段２ｂに接続されかつ右アーム５７の駆動装置（例えば、マニュピュレータとして機能する右アーム５７の各関節に組み込まれた図示しないモータ）に接続された入出力インターフェース４ｂと、経路選定手段２ｂに接続されて動作制御のためのプロセス（例えば、右アーム５７の動作制御を行うための実時間の計算）がシングルタスクで実行される動作制御手段５ｂとより構成され、動作制御手段５ｂにより上記右アーム５７の動作制御のためのプロセスがシングルタスクで実行されて右アーム５７の動作を制御するようにしている。
第３分散制御装置１ｃは、上記左アーム制御ブロックとして、第１分散制御装置１ａの経路選定手段２ａと接続された経路選定手段２ｃと、経路選定手段２ｃに接続されかつ左アーム５６の駆動装置（例えば、マニュピュレータとして機能する左アーム５６の各関節に組み込まれた図示しないモータ）に接続された入出力インターフェース４ｃと、経路選定手段２ｃに接続されて動作制御のためのプロセス（例えば、左アーム５６の動作制御を行うための実時間の計算）がシングルタスクで実行される動作制御手段５ｃとより構成され、動作制御手段５ｃにより上記左アーム５６の動作制御のためのプロセスがシングルタスクで実行されて上記左アーム５６の動作を制御するようにしている。
第４分散制御装置１ｄは、上記移動制御ブロックとして、第１分散制御装置１ａの経路選定手段２ａと接続された経路選定手段２ｄと、経路選定手段２ｄに接続されかつ左右の車輪５８，５８の駆動装置の一例としてのモータ５８ａ，５８ａに駆動信号をそれぞれ独立して出力する一方、モータ５８ａ，５８ａのそれぞれの回転軸（又は車輪５８，５８の車軸）の回転角度を検出するエンコーダ５８ｂ，５８ｂからの回転角度検出信号が入力される入出力インターフェース４ｄと、経路選定手段２ｄに接続されて２つの車輪５８，５８の動作制御のためのプロセス（例えば、２つの車輪５８，５８の動作制御を行うための実時間の計算）がシングルタスクで実行される動作制御手段５ｄとより構成され、左右の２つの車輪５８，５８を駆動することにより、上記移動ロボット５５を移動させるようにしている。
第５分散制御装置１ｅは、上記認識ブロックとして、第４分散制御装置１ｄの経路選定手段２ｄと接続された経路選定手段２ｅと、経路選定手段２ｅに接続された入出力インターフェース６０と、入出力インターフェース６０に接続されたカメラやセンサ５９と、経路選定手段２ｅに接続されて画像認識のための画像認識プロセスが時分割のマルチタスクで実行される認識・計画手段６ｅとより構成され、認識・計画手段６ｅにより、カメラやセンサ５９からの情報を取込み外界の状況を認識する画像認識のための画像認識プロセスが時分割のマルチタスクで実行されるようにしている。
以上のような構成のロボット制御装置１Ａについて、ある領域内に置かれた（対象物の一例としての）直方体の物体９０（図３参照）を画像認識を使って上記２本のアーム５６，５７の先端の手先効果器５６ａ，５７ａで把持し、手先効果器５６ａ，５７ａで把持された直方体の物体９０を所定の位置へ移動する作業を例に説明する。
認識・計画手段６ｅで実行される画像認識プロセスは、入出力インターフェース６０に接続されたカメラ５９より取り込んだ画像を元にアーム５６，５７で把持する直方体の物体９０の位置、姿勢及び大きさを認識し、認識結果のデータは、アーム５６，５７から見た直方体の物体９０の絶対座標系の位置・姿勢、形状データとして認識・計画手段６ａで実行されている作業計画プロセスに引き渡す。認識・計画手段６ａで生成される作業計画プロセスは、引き渡された位置・姿勢、形状データを基に、手先効果器５６ａ，５７ａが初期位置から直方体の物体９０まで移動して直方体の物体９０を手先効果器５６ａ，５７ａで把持するための軌道及び把持した直方体の物体９０を所定の位置へ手先効果器５６ａ，５７ａで運搬するための軌道を、例えば多項式補間を使って生成する。認識・計画手段６ａで生成される目標軌道データは、各時刻におけるアーム５６，５７の手先効果器５６ａ，５７ａの位置（手先位置）・姿勢及び手先効果器５６ａ，５７ａの動作の速度・角速度という形式で生成され、シリアルデータとして入出力インターフェース６０より経路選定手段２ｅに転送される。
経路選定手段２ｅは、認識・計画手段６ｅから転送される目標軌道データを共通記憶手段７の所定の位置に格納するように動作する。したがって、アーム５６，５７の手先効果器５６ａ，５７ａがどのように動くべきかを示す目標軌道データは、常に共通記憶手段７を参照すればよい。
経路選定手段２ｅに直接的に接続された経路選定手段２ｄに接続された動作制御手段５ｄ、及び、経路選定手段２ｅに経路選定手段２ｄ及び２ａを介して間接的に接続された経路選定手段２ｂ，２ｃに接続された動作制御手段５ｂ，５ｃでは、アーム５６，５７の手先効果器５６ａ，５７ａを目標軌道データどおりに動作させるための制御プログラムが、以下のように実行される。
すなわち、直方体の物体９０の位置、姿勢及び大きさを認識したのち、目標軌道データに基づき制御対象３であるアーム５６，５７が上記制御装置１Ａにより動作制御されて、アーム５６，５７の手先効果器５６ａ，５７ａが直方体の物体９０の近傍に移動する、アーム５６，５７の把持準備動作が行われる。一例として、図１３Ａ〜図１３Ｂに示すように、自律移動ロボット５５が移動して、アーム５６，５７の手先効果器５６ａ，５７ａが直方体の物体９０に対向する位置まで回動される。
次いで、画像認識によるアーム５６，５７のアプローチ動作が行われる。これは、具体的には、ビジュアルフィードバックであって、アーム５６，５７の手先効果器５６ａ，５７ａと直方体の物体９０の相対的な位置関係を画像認識により検出し、手先効果器５６ａ，５７ａと直方体の物体９０が接触しないように手先効果器５６ａ，５７ａの位置を微調整しながら、図１３Ｂにも示すように、手先効果器５６ａ，５７ａにより物体９０を把持可能な位置まで手先効果器５６ａ，５７ａを移動させる。
次いで、目標軌道データに基づき制御対象３であるアーム５６，５７が上記制御装置１Ａにより動作制御されて、図１３Ｃ〜図１３Ｄにも示すように、手先効果器５６ａ，５７ａを互いに突き合せるようにして挟み込むと同時的に、手先効果器５６ａ，５７ａのそれぞれの指を閉じて、直方体の物体９０を挟み込むことで把持を行う把持動作が行われる。
次いで、カメラ５９により撮像されて撮り込まれた画像情報に基づく、画像認識による把持確認、すなわち、手先効果器５６ａ，５７ａによる直方体の物体９０の把持動作が成功したか否かが判断される。具体的には、手先効果器５６ａ，５７ａと直方体の物体９０の相対的な位置関係を画像認識により検出し、手先効果器５６ａ，５７ａ間に直方体の物体９０が位置しているかどうかにより、把持動作の成否が判断される。すなわち、手先効果器５６ａ，５７ａの間に直方体の物体９０が位置している場合（図１３Ｄ参照）には、把持動作成功であり、手先効果器５６ａ，５７ａの間に直方体の物体９０が位置していない場合には、把持動作が失敗と判断される。把持動作失敗と判断された場合には、画像認識による手先効果器５６ａ，５７ａの位置の微調整が行われたのち、把持動作及び画像認識による把持確認動作が再度行われる。
把持動作成功と判断された場合には、目標軌道データに基づき制御対象３であるアーム５６，５７が上記制御装置１Ａにより動作制御されて、手先効果器５６ａ，５７ａにより協調して把持された直方体の物体９０の協調制御による運搬動作を行う。
次いで、所定位置まで直方体の物体９０を運搬して設置したのち、アーム５６，５７が上記制御装置１Ａにより動作制御されて、直方体の物体９０を把持していた手先効果器５６ａ，５７ａの指が広げられるとともに、手先効果器５６ａ，５７ａ間の間隔が広げられ、直方体の物体９０が手先効果器５６ａ，５７ａから解放される。
次に、動作制御手段５ｂ，５ｃ，５ｄにより実行される上記制御プログラムの動作ステップについて説明する。
まず、動作制御手段５ｂ，５ｃが経路選定手段２ｂ，２ｃにアーム５６，５７の関節角度データの転送を要求する。関節角度データを要求された経路選定手段２ｂ，２ｃは、入出力インターフェース４ｂ，４ｃに、それぞれ対応するカウンタ４５に入力されている関節角度データのデータ転送を要求し、カウンタ４５に入力されていたアーム５６，５７の各関節のエンコーダ値が入出力インターフェース４ｂ，４ｃを介して経路選定手段２ｂ，２ｃに返送され、経路選定手段２ｂ，２ｃから動作制御手段５ｂ，５ｃに各関節のエンコーダ値が現在の関節角度データ（関節変数ベクトルｑ１（アーム５６の関節変数ベクトル）及びベクトルｑ２（アーム５７の関節変数ベクトル））として転送される。なお、協調動作時には、力センサ１００の出力値も入出力インターフェース４ｃを介して経路選定手段２ｃ，２ａ，２ｂ，２ｄに送られ、経路選定手段２ｃ，２ａ，２ｂ，２ｄから動作制御手段５ｃ，５ｂ，５ｄに入力される。
次いで、アーム５６，５７の運動学計算に必要なヤコビ行列Ｊｒ１，Ｊｒ２等の計算が動作制御手段５ｂ，５ｃにより行われる。
次いで、転送されてきた現在の関節角度データである関節変数ベクトルｑ１及び関節変数ベクトルｑ２を使用して、アーム５６，５７の手先効果器５６ａ，５７ａの現在の手先位置・姿勢ベクトルｒ１，ｒ２が動作制御手段５ｂ，５ｃにより計算される。
次いで、手先位置に関する位置サーボ補償入力値ｕｐ１，ｕｐ２が下記の式（３ａ）及び（３ｂ）、又は、式（４ａ）及び（４ｂ）の各式を使って動作制御手段５ｂ，５ｃにより計算される。
独立動作の場合（手先効果器５６ａ，５７ａが直方体の物体９０の近傍に移動する場合、及び、手先効果器５６ａ，５７ａにより物体９０を把持可能な位置まで手先効果器５６ａ，５７ａを移動させる場合）
2004052598.tif 000007
協調動作の場合（手先効果器５６ａ，５７ａにより協調して把持された直方体の物体９０の協調制御による運搬動作を行う場合）
2004052598.tif 000008
ただし、ｒ１ｄはアーム５６の手先位置・姿勢ベクトルの目標値であり、ｒ２ｄはアーム５７の手先位置・姿勢ベクトルの目標値であり、ｒｂ＝｛ｒ１＋ｒ２｝／２であり、ｒｂｄ＝｛ｒ１ｄ＋ｒ２ｄ｝／２であり、ｆは把持対象にかかる内力ベクトルであり、ｆｄは内力ベクトルの目標値である。
予め、位置サーボ補償の目標値は認識・計画手段６ａで計算され、計算結果が共通記憶手段７に格納されているため、経路選定手段２ｂ，２ｃを介して共通記憶手段７から動作制御手段５ｂ，５ｃへ、格納されていた手先位置・姿勢ベクトルの目標値ｒ１ｄ，ｒ２ｄの取り込みが行われる。
次いで、制御実現のため、アーム５６，５７に加えるべき駆動力ベクトルτ１，τ２が、運動方程式及び位置サーボ補償入力値ベクトルｕｐ１，ｕｐ２より、下記の式（５）を使い動作制御手段５ｂ，５ｃにより計算されて駆動力値が求められる。
2004052598.tif 000009
ただし、ＫＴはトルク係数行列である。
次いで、先に動作制御手段５ｂ，５ｃにより計算された駆動力値ベクトルτ１，τ２が、動作制御手段５ｂ，５ｃの各外部入出力用シリアルポート５４より駆動力指令値として出力される。駆動力指令値を受け取った経路選定手段２ｂ，２ｃは、入出力インターフェース４ｂ，４ｃに駆動力指令値を転送し、駆動力指令値が入出力インターフェース４ｂ，４ｃを介してそれぞれのＤ／Ａコンバータ４２に入力され、それぞれのＤ／Ａコンバータ４２によりデジタル信号の駆動力指令値が電圧指令値に変換されて、それぞれのＤ／Ａコンバータ４２からそれぞれの入出力インターフェース４ｂ，４ｃを介してそれぞれ出力される。電圧指令値を入出力インターフェース４ｂ，４ｃから受けたそれぞれのモータードライバ（図３のモータードライバ４３ａ〜４３ｄ参照）は、アーム５６，５７の各関節や手先効果器５６ａ，５７ａに駆動力を発生させる。
動作制御手段５ｂ，５ｃでは、以上の計算処理ループが実行されることでソフトウェアフィードバック制御系が構成され、例えば１ｍｓｅｃといった決まった時間間隔で、関節角度データの取り込み、及び、駆動力指令値の出力が実行され、実時間の制御が実現される。
このようにして求められて出力される駆動力値に基づき、上記したアーム５６，５７及び車輪５８の動作が制御される。
上記した図８Ａに示す分散制御系では、例えば、経路選定手段２ａのように動作制御手段５ｂ，５ｃ，５ｄに直接接続せず、第２〜４分散制御装置１ｂ、１ｃ、及び１ｄの複数のブロックと接続している経路選定手段２ｂ、２ｃ、及び２ｄの転送動作が重要となる。例えば、上記したように２本のアーム５６，５７の手先効果器５６ａ，５７ａで協調して１つの物体を把持する場合、２本のアーム５６，５７には幾何学的な拘束関係が生じるため、この拘束関係を考慮した制御を行わなければならない。また、把持した物体９０には２本のアーム５６，５７の手先効果器５６ａ，５７ａがお互いに押し合ったり、あるいは、引き合ったりすることにより内力が生じるため、この内力を考慮した制御を行わなければならない。こうした協調制御を実現するためには、式（４ａ），（４ｂ）式の計算が必要であり、式（３ａ），（３ｂ）はそれぞれ独立した式であるが、式（４ａ），（４ｂ）とは共通した値があるため、その値のやり取りが動作制御手段５ｂと５ｃとの間で必要であり、そのため、それぞれの手先効果器５６ａ，５７ａを含むアーム５６，５７を制御する第２，３分散制御装置１ｂ及び１ｃの連携がリアルタイムで行われなければならない。
上記リアルタイムの連携を実現するため、本発明に係る第２実施形態では、動作制御手段５ｂ，５ｃ，５ｄでは、動作制御手段５ｂ，５ｃ，５ｄから出力するデータの中に優先順位データを埋め込んで出力する。例えば、動作制御手段５ｂ，５ｃ，５ｄと他の手段などとの間の接続がシリアル伝送線路で構成されている場合には、パケットデータのブロックの一部分に優先順位データを埋め込むことができる。経路選定手段２ａ，２ｂ，２ｃ，２ｄ，２ｅは、動作制御手段５ｂ，５ｃ，５ｄから送信されてくるデータ内の優先順位データ部分を参照し、そのデータを優先して転送すべきかどうかを判断する。それぞれの経路選定手段２ａ，２ｂ，２ｃ，２ｄ，２ｅでは、データ内の優先順位データ部分の優先順位同士をそれぞれ比較して、優先順位の高いほうのデータ転送を優先し、優先順位の低いほうのデータの転送を、第１実施形態と同様に、一時中止又は待機させる。優先順位の高いほうのデータ転送が終了すると、優先順位の低いほうのデータの転送を行う。パケットデータのブロックの一部分に優先順位データを埋め込む一例としては、パケットを構成するビット列を、前方より、ヘッダを表すビット列、転送元ＩＤを表すビット列、転送先ＩＤを表すビット列、優先順位データを表すビット列、データの種類を表すビット列、転送データを表すビット列、パケットの終端を表すビット列が順番に並んだ構成とすることが考えられる。
以上のようなデータ転送の優先順位制御を行うことにより、２本のアーム５６，５７の協調動作や、自律移動ロボット５５が移動しながらアーム５６，５７で物体９０を把持するときのアーム５６，５７と車輪５８，５８の協調動作など、より高度な制御を安定して行うことが可能となる。
さらに、図８Ａに示すように、本発明に係るロボット制御装置１Ａでは、経路選定手段２ａ，２ｂ，２ｃ，２ｄ，２ｅをノードとして各ブロックを接続することができ、分散制御系を容易に構成することができるという特徴がある。また、各ブロック間の通信をシリアル通信で行えば、自律移動ロボット５５体内の配線を簡素にすることができる。また、経路選定手段２ａ，２ｂ，２ｃ，２ｄ，２ｅをノードとして接続を拡張していけば、個々の動作制御手段５ｂ，５ｃ，５ｄや認識・計画手段６ａ，６ｅ等の構造を改変することなく機能の拡張が可能となり、例えば、画像認識に加え、音声認識機能を追加するなど、容易に制御の高度化が可能となる。
一例として、音声認識機能を図８Ａのロボット制御装置に追加する具体例を以下に説明する。第６分散制御装置として機能する音声認識機能ブロック１ｆは、図１４に示すように、音声入力装置の一例としてのマイク６２と、マイク６２に接続された入出力インターフェース６１と、認識・計画手段６ｆと、認識・計画手段６ｆと入出力インターフェース６１とにそれぞれ接続されるとともに他の経路選定手段（例えば２ｅ）にも接続された経路選定手段２ｆとより構成することができる。経路選定手段２ａ〜２ｅはそれぞれノードの役割をするため、音声認識機能ブロック１ｆの経路選定手段２ｆは、経路選定手段２ｅに限らず、他のどの経路選定手段に接続してもよい。また、図１４に示すように、音声認識機能ブロック１ｆのような音声認識専用ブロックを設けるのではなく、第５分散制御装置１ｅのカメラやセンサ５９のうちのセンサの１つをマイクとして、認識・計画手段６ｅにてマルチタスクで音声認識プログラムを実行するという構成も可能である。
（第２−Ａ実施形態）
第２−Ａ実施形態として図８Ａに示す第２実施形態と同様の構成で、経路選定手段がデータ転送路のクロック速度を制御できる場合の動作について説明する。第２実施形態で説明したようにアーム５６とアーム５７が独立して動作する場合と、協調して動作する場合で経路選定手段２ａ、２ｂ、２ｃが転送しなければならないデータ量は異なる。これに対し、第２−Ａ実施形態では、アームを協調動作させるときにはアームを独立動作させるときに比べて、データ転送路のクロック速度を、例えば２倍、３倍といった整数倍で上昇させるよう動作する。クロック速度の制御は、動作計画を行う認識・計画手段が行い、協調動作を計画したときに経路選定手段にクロック制御指令を転送し、クロック速度が制御される。このように、クロック速度が制御されることで、データ転送速度をあまり必要としないアームの独立動作時には低速クロックで低消費電力の動作をし、アームの協調動作時には高速クロックでアーム間の連携を確実にし、協調動作を実現する。
また、画像認識を行うためにカメラ・センサ５９より認識・計画手段６ｅにデータを転送する経路選定手段２ｅに関してもまた、画像認識を行うときのみ高速クロック動作させることにより低消費電力の動作が実現する。
（第３実施形態）
図９Ａは本発明の第３実施形態におけるロボット制御装置１Ｂの構成を示す図である。図９Ａに示すように、第３実施形態のロボット制御装置１Ｂは、２つの部分、制御対象３の一例である移動ロボット１８に配置される可動側制御装置１１ａと、固定体１８ｂに配置される固定側制御装置１１ｂとに分離された構造となっている。図９Ｂに示すように、移動ロボット１８への応用の場合に、リアルタイム性に影響する部分を可動側制御装置１１ａにまとめて移動ロボット１８のロボット本体に搭載し、その他の非リアルタイムの部分を固定側制御装置１１ｂにまとめ、移動ロボット１８のロボット本体外の固定制御部１８ａに据え置きにし、可動側及び固定側経路選定手段１２ａ、１２ｂ間の通信をアンテナ２０ａ，２０ｂ間の無線にすることにより、機動性が高く、知能的機能も高い移動ロボット１８を容易に構成することができる。
具体的には、可動側制御装置１１ａは、アンテナ２０ａが接続される第１無線通信手段１１０と、第１無線通信手段１１０に接続される可動側経路選定手段１２ａと、可動側経路選定手段１２ａに接続される入出力インターフェース１４と、可動側経路選定手段１２ａに接続される動作制御手段１５とを備えて、リアルタイム性に影響する部分を構成している。経路選定手段１２ａは、先の実施形態の経路選定手段２と同様な構成を有して同様な機能を基本的に行うものである。入出力インターフェース１４は、先の実施形態の入出力インターフェース４と同様な構成を有して同様な機能（すなわち、各関節のモータをそれぞれ独立的に駆動する機能）を基本的に行うものであり、左右の車輪１３，１３の駆動装置の一例としてのモータ１３ａ，１３ａとエンコーダ１３ｂ，１３ｂとが接続されて、モータ１３ａ，１３ａに駆動信号をそれぞれ独立して出力する一方、モータ１３ａ，１３ａのそれぞれの回転軸（又は車輪１３，１３の車軸）の回転角度を検出するエンコーダ１３ｂ，１３ｂからの回転角度検出信号が入力されるようにしている。また、動作制御手段１５は、先の実施形態の動作制御手段５と同様な構成を有して同様な機能を基本的に行うものであって、ＯＳ（オペレーティングシステム）を搭載せず、左右の車輪１３，１３の動作制御のためのプロセス（例えば、左右の車輪１３，１３の動作制御を行うための実時間の計算）がシングルタスクで実行されている。
固定側制御装置１１ｂは、アンテナ２０ｂが接続される第２無線通信手段１１１と、第２無線通信手段１１１に接続される固定側経路選定手段１２ｂと、固定側経路選定手段１２ｂに接続されるとともにカメラ１９が接続される入出力インターフェース１７と、固定側経路選定手段１２ｂに接続される認識・計画手段１６とを備えて、その他の非リアルタイムの部分を構成している。経路選定手段１２ｂは、先の実施形態の経路選定手段２と同様な構成を有して同様な機能を基本的に行うものである。認識・計画手段１６は、先の実施形態の認識・計画手段６と同様な構成を有して同様な機能を基本的に行うものであって、マルチタスクのＯＳを搭載し、移動ロボット１８の２つの車輪１３，１３の動作の計画や判断のためのプロセス、及び、画像認識のための画像認識プロセスが時分割のマルチタスクで実行されるようになっている。画像認識プロセスの一例としては、入出力インターフェース１７に接続されたカメラ１９より取り込んだ画像を元に移動ロボット１８の位置、姿勢を認識し、認識結果のデータは、移動ロボット１８の絶対座標系の位置・姿勢データとしてプロセス間通信により作業計画プロセスに引き渡すような処理である。
上記第１，第２無線通信手段１１０，１１１は、経路選定手段１２ｂ，１２ａから送られてくるデジタルデータに変調をかけることによりアナログの電波として送信、及びアナログの電波を受信し、復調することでデジタルのデータを得るための手段であり、それぞれ、ベースバンド回路やＲＦ回路から構成される。また、無線通信方式としては、スペクトラム拡散方式などが適している。
上記作業計画プロセスで計画された目標軌道データは、経路選定手段１２ｂにより第２無線通信手段１１１に転送され、第２無線通信手段１１１により変調された後、電波として送信される。固定側制御装置１１ａで受信された電波は、第１無線通信手段１１０により目標軌道データとして復調される。復調された目標軌道データは、経路選定手段１２ａの記憶手段に一時的に格納され、時間的な緩衝をとった後、動作制御手段１５に転送される。
上記した図９Ａに示す分散制御系では、電波状況が悪いときには第１，第２無線通信手段１１０，１１１間の無線通信において送信エラーが頻発し、再送が繰り返され、転送待ちが発生するという問題に対応しなければならない。そういった状況においても、安定した実時間制御を可能とするために、経路選定手段１２ａは、動作制御手段１５と入出力インターフェース１４間のデータ転送を優先する。また、送信エラーが頻発し、目標軌道データが得られず、時間的な緩衝がとれなくなった際には、逆に、第２無線通信手段１１０からのデータ転送を優先し、動作制御手段１５は制御周期を遅くし、かつ、移動ロボットの速度を遅くするか、静止させ、動作が不安定になるのを防止する。
以上のようなデータ転送の優先順位制御を行うことにより、より高度な制御を安定して行うことが可能となる。
また、経路選定手段１２ａ，１２ｂをノードとして接続を拡張していけば、動作制御手段１５や認識・計画手段１６等の構造を改変することなく機能の拡張が可能となり、例えば、画像認識に加え、音声認識機能を追加したり、移動ロボット１８が掃除ロボットの場合には吸引動作機能を追加するなど、容易に制御の高度化が可能となる。
なお、本発明は上記実施形態に限定されるものではなく、その他種々の態様で実施できる。
例えば、上記第１、２及び３実施形態では、認識・計画手段での画像認識のための画像データの転送を例としたが、これに限られるわけではなく、音声認識のための音声データの転送、通信ネットワークを介してのロボットの遠隔操縦のためのデータ（動作指令データや力覚フィードバックデータ）の転送であっても同様の効果を発揮する。
また、上記第１、２及び３実施形態ではアーム型ロボット及び車輪移動ロボットを制御対象としたが、これに限られるわけではなく、所定の動作を行わせるアクチュエータを有する装置、例えば、アーム型ロボット及び車輪移動ロボット以外の人間型２足歩行ロボットや４足歩行ロボット、あるいは電子部品実装機やＮＣ工作機械、さらには自動車（エンジン制御、トランスミッション制御、ＡＢＳ制御、アクティブサスペンション制御等）等の輸送機械といった機構制御の分野で同様の効果を発揮することは言うまでもない。
また、経路選定手段は、常に、動作制御手段との間のデータ転送を優先させるのではなく、例えば、危険回避動作などのロボットの動作障害の程度に応じて、優先順位を変更するようにしてもよい。例えば、危険回避動作用のデータ転送は他の全てのデータ転送に対して優先させ、その他のデータ転送は、先に経路選定手段に入ったものから転送するようにしてもよい。
また、データ転送優先順位の情報を経路選定手段に対して一旦設定したのち、データ転送優先順位の変更情報入力可能として、使用環境の変化、状況の変化などの制御状況に応じて、データ転送優先順位を変更可能としてもよい。
なお、上記動作制御手段でのリアルタイム処理とは、ある一定の微小な時間間隔（例えば１ｍｓｅｃ）Δｔ（制御周期）で制御のための指令が出力され、制御対象の状態データ（関節角データなど）が入力される処理であり、機構のフィードバックによる動作制御を実現するために必須の処理である。また、上記非動作制御手段での作業計画とは、上記のある一定の微小な時間間隔Δｔのような時間的拘束を行わない処理を意味する。一例として、図１５において、状態入力がされると同時に所定の計算処理が行なわれ、その計算結果が指令出力として出力される場合、指令出力すなわち動作制御のための計算処理は、必ず時間間隔Δｔ内で終了することとし、時間間隔Δｔ内で計算処理が早く終わると、指令出力までの時間は余裕時間となる。このように、リアルタイム処理とは、入力と出力とが必ず時間間隔Δｔごとに実行される処理のことを意味する。
なお、上記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
本発明のロボット制御装置によれば、各手段など、例えば、動作制御手段、認識・計画手段、入出力インターフェースなどの間の接続を切り換えることで通信を制御する経路選定手段を設けることにより、システムの拡張性を確保しつつ、各手段などの間の接続を簡素な構造にでき、かつ、各手段などの間の通信を転送待ちの発生が少なくなるよう切り換え制御することができ、制御の高度な知能化のために必要な画像などの大容量データを簡素な構造でリアルタイム性を確保しつつ扱うことのできるロボット制御装置を提供することができる。
また、ＣＰＵの演算処理能力が高速であり、自由度数が、例えば３以下のロボットアームの制御等、複雑な制御が必要ない場合には、動作制御手段を非リアルタイム処理手段で構成しても動作制御は可能である。この場合には、動作制御手段として汎用のマルチタスクＯＳが搭載されたＣＰＵボード等の使用が可能であり、システムの構築や制御プログラムの作成が容易であるという利点を有する。
また、認識・計画手段をリアルタイム手段で実現することも可能であり、その場合にはＯＳを搭載しない小規模なＣＰＵボードや、小規模なリアルタイムＯＳを搭載したＣＰＵボード等、簡素なシステムとすることができる。また、特に、動作計画をリアルタイム処理手段で実現する場合には、リアルタイムに目標軌道の生成が可能となり、動作制御を安定して行うことができる。
第１経路選定手段および第２経路選定手段のように複数の経路選定手段を有することにより、図８Ａに示すロボットのように１ａ、１ｂ、１ｃ、１ｄ、１ｅの複数の分散制御装置を有する構成や、図９Ａに示すロボットのように制御装置が分離した構成を容易に構築することができる利点を有する。
また、本発明のロボット制御装置は、実時間制御を実現するための計算処理を行う動作制御手段と、知能処理を実現するための計算処理を行う認識・計画手段と、制御対象への指令を出力し、制御対象の状態を入力するための入出力インターフェースと、上記動作制御手段、上記認識・計画手段及び上記入出力インターフェース間の接続を切り換えることで通信を制御する経路選定手段とを備える。
これにより、システムの拡張を行うときには経路選定手段に新たな手段を接続するだけでよいといった、システムの拡張性を確保しつつ、各手段などの間の接続を簡素な構造にすることができ、かつ、各手段などの間の通信を転送待ちの発生が少なくなるよう切り換え制御することができる。
上記経路選定手段は、上記動作制御手段からの転送要求を優先するよう動作することで、動作制御手段の実時間性を確保することができる。
また、上記経路選定手段は、記憶手段を有するとともに、上記動作制御手段と上記認識・計画手段と入出力インターフェースと、上記経路選定手段とが互いにシリアル伝送路により接続されるようにすることにより、上記経路選定手段の記憶手段で、転送すべきデータのうち待機させられるデータが経路選定手段の記憶手段に記憶されて待避させられることにより、上記動作制御手段と上記認識・計画手段間の時間的な緩衝をとることができるようになる。
また、本発明のロボット制御装置は、実時間制御を実現するための計算処理を行う動作制御手段と、知能処理を実現するための計算処理を行う認識・計画手段と、上記動作制御手段と上記認識・計画手段間の時間的な緩衝をとる共通記憶手段と、制御対象への指令を出力し、制御対象の状態を入力するための入出力インターフェースと、上記動作制御手段、上記認識・計画手段、上記共通記憶手段及び上記入出力インターフェース間の接続を切り換える経路選定手段とを備える。
これにより、実時間の制御を実行しながら、知能処理を並列して実行することができる。
なお、上記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
本発明は、添付図面を参照しながら好ましい実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形や修正は明白である。そのような変形や修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。
【図１】
2004052598.tif 000010
【図２】
2004052598.tif 000011
【図３】
2004052598.tif 000012
【図４】
2004052598.tif 000013
【図５】
2004052598.tif 000014
【図６】
2004052598.tif 000015
【図７】
2004052598.tif 000016
2004052598.tif 000017
2004052598.tif 000018
【図１０】
2004052598.tif 000019
【図１１】
2004052598.tif 000020
2004052598.tif 000021
2004052598.tif 000022
【図１４】
2004052598.tif 000023
【図１５】
2004052598.tif 000024
【図１６】
2004052598.tif 000025
【図１７】
2004052598.tif 000026
【手続補正書】
【提出日】平成16年12月24日(2004.12.24)
【手続補正００１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】制御対象（３）の動作制御を実現するための計算処理を行う動作制御手段（５，５ｂ，５ｃ，５ｄ）と、
上記制御対象の作業・動作計画や外界認識を行う認識・計画手段（６，６ａ，６ｅ，１６）と、
上記制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェース（４，４ｂ，４ｃ，４ｄ，１４）と、
複数の外部入出力ポート（２２１ａ〜２２１ｄ）を持ち、それぞれ上記動作制御手段と、上記認識・計画手段と上記入出力インターフェースとに接続されたデジタル信号の経路を切り換えるスイッチ（２２）により、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御する経路選定手段（２，２ａ，２ｂ，２ｃ，２ｄ，１２ａ，１２ｂ）とを備えて、
上記経路選定手段で、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御しながら、上記制御対象の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象であるロボットの動作を制御するロボット制御装置。


【手続補正００２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２
【補正方法】変更
【補正の内容】
【請求項２】制御対象（３）の動作制御を実現するための演算処理を行う動作制御手段（５ｂ，５ｃ，５ｄ）と、
上記制御対象の作業・動作計画や外界認識を行う認識・計画手段（６ａ）と、
上記制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェース（４ｂ，４ｃ，４ｄ）と、
複数の外部入出力ポート（２２１ａ〜２２１ｄ）を持ち、そのうちの１つに上記認識・計画手段が接続されたデジタル信号の経路を切り換えるスイッチ（２２）により、上記認識・計画手段と接続される第１経路選定手段（２ａ）と、
複数の外部入出力ポート（２２１ａ〜２２１ｄ）を持ち、それぞれ上記動作制御手段と、上記第１経路選定手段と、上記入出力インターフェースとに接続されたデジタル信号の経路を切り換えるスイッチ（２２）により、上記動作制御手段と上記第１経路選定手段と上記入出力インターフェースと接続される第２経路選定手段（２ｂ，２ｃ，２ｄ）とを備えて、
上記第１経路選定手段は、上記第２経路選定手段と上記認識・計画手段との接続を切り換えることで通信を制御するとともに、上記第２経路選定手段は、上記認識・計画手段と上記第１経路選定手段と上記入出力インターフェースとの接続を切り換えることで通信を制御しながら、上記制御対象の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象であるロボットの動作を制御するロボット制御装置。




【手続補正書】
【提出日】平成17年5月27日(2005.5.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御対象の動作制御を実現するための計算処理を行う動作制御手段と、
上記制御対象の作業・動作計画や外界認識を行う認識・計画手段と、
上記制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェースと、
複数の外部入出力ポートを持ち、それぞれ上記動作制御手段と、上記認識・計画手段と上記入出力インターフェースとに接続されたデジタル信号の経路を切り換えるスイッチにより、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御する経路選定手段とを備えて、
上記経路選定手段で、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御しながら、上記制御対象の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象であるロボットの動作を制御するロボット制御装置。
【請求項２】
制御対象の動作制御を実現するための演算処理を行う動作制御手段と、
上記制御対象の作業・動作計画や外界認識を行う認識・計画手段と、
上記制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェースと、
複数の外部入出力ポートを持ち、そのうちの１つに上記認識・計画手段が接続されたデジタル信号の経路を切り換えるスイッチにより、上記認識・計画手段と接続される第１経路選定手段と、
複数の外部入出力ポートを持ち、それぞれ上記動作制御手段と、上記第１経路選定手段と、上記入出力インターフェースとに接続されたデジタル信号の経路を切り換えるスイッチにより、上記動作制御手段と上記第１経路選定手段と上記入出力インターフェースと接続される第２経路選定手段とを備えて、
上記第１経路選定手段は、上記第２経路選定手段と上記認識・計画手段との接続を切り換えることで通信を制御するとともに、上記第２経路選定手段は、上記認識・計画手段と上記第１経路選定手段と上記入出力インターフェースとの接続を切り換えることで通信を制御しながら、上記制御対象の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象であるロボットの動作を制御するロボット制御装置。
【請求項３】
上記経路選定手段は、データ転送の優先順位を制御する機能を有して、上記経路選定手段により、上記データ転送の優先順位に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項１又は請求項２に記載のロボット制御装置。
【請求項４】
上記経路選定手段は、上記制御対象の制御状況に応じてデータ転送の優先順位を制御して、上記経路選定手段により、上記制御対象の制御状況に応じて上記データ転送の優先順位に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項３に記載のロボット制御装置。
【請求項５】
上記経路選定手段は、転送データ中に埋め込まれた優先順位データによりデータ転送の優先順位を制御する請求項３に記載のロボット制御装置。
【請求項６】
上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データの転送を一時停止するよう動作する請求項３に記載のロボット制御装置。
【請求項７】
上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データの間引きを実行するよう動作する請求項３に記載のロボット制御装置。
【請求項８】
上記経路選定手段は、データ転送容量の占有率を制御する機能を有して、上記経路選定手段により、上記データ転送容量の占有率に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項１又は請求項２に記載のロボット制御装置。
【請求項９】
上記経路選定手段は、上記制御対象の制御状況に応じて上記データ転送容量の上記占有率を制御して、上記経路選定手段により、上記制御対象の制御状況に応じて上記データ転送容量の上記占有率に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項８に記載のロボット制御装置。
【請求項１０】
上記経路選定手段は、転送データ中に埋め込まれた占有率データにより上記データ転送容量の上記占有率を制御する請求項８に記載のロボット制御装置。
【請求項１１】
上記経路選定手段は、データ転送のクロック速度を制御する機能を有して、上記制御対象の制御状況に応じて上記データ転送のクロック速度を変化させ、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項１又は請求項２に記載のロボット制御装置。
【請求項１２】
上記制御対象の制御状況は制御誤差である請求項４、請求項９、又は請求項１１に記載のロボット制御装置。
【請求項１３】
上記制御対象の制御状況は制御目標値である請求項４、請求項９、又は請求項１１に記載のロボット制御装置。
【請求項１４】
上記経路選定手段は、データ転送要求を告知するための専用信号線を有する請求項４〜７のいずれか１つに記載のロボット制御装置。
【請求項１５】
上記経路選定手段は、上記動作制御手段と上記認識・計画手段間の時間的な緩衝をとる記憶手段を有して、
上記経路選定手段は、上記動作制御手段と上記認識・計画手段と上記共通記憶手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御する請求項１又は２に記載のロボット制御装置。
【請求項１６】
上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データを上記記憶手段に待避するよう動作する請求項９に記載のロボット制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、知能ロボット等を実現するための、認識、判断、作業計画、動作計画などの処理を行う認識・計画処理系と実時間制御を行う動作制御処理系の分散階層構造を有するロボット制御装置に関する。ここで、作業計画とは、組み立て作業の場合を例に取ると、部品をどういう順序で組み立てるかとか、部品同士をどのように組み付けるとか抽象的な概念レベルでの計画プロセスを指す。一方、動作計画は実際の組み立て作業を実現するための手先の動作のための目標軌道生成や、力制御のための目標値生成を行う計画プロセスを指す。
【背景技術】
【０００２】
高度な知的能力を有する知能ロボットを実現するためには、動作制御を行う動作制御系に加えて、外界の認識や作業計画、動作計画などの知能的な処理を行う認識・計画処理系が必要となる。
【０００３】
こうした知能的なロボットの制御装置を実現する構造としては図１０に示す構造が考えられる。図１０では、上記制御装置は、制御対象１０５に接続される入出力インターフェース１０４と、入出力インターフェース１０４に接続される動作制御手段１０１と、動作制御手段１０１に接続される共有メモリ１０３と、共有メモリ１０３に接続される認識・計画手段１０２とが直列的に接続配置されるように構成されている。
【０００４】
ロボットの動作制御を行う動作制御系は、実時間性が必要とされるため、オペレーションシステム（ＯＳ）を使用せず直接制御プログラムを実行する処理系やリアルタイムＯＳを使用したシステムで構成される動作制御手段１０１で実現される。
【０００５】
一方、認識や作業・動作計画などの処理は実時間性を必要とせず、ソフトウェアの開発環境や高速処理能力などの点から汎用のマルチタスクＯＳを搭載した、例えば、パーソナルコンピュータやワークステーションなどの計算機システムで構成することが好ましく、１０２で示される認識・計画手段として、動作制御手段１０１とは独立して並列で動作する処理系で実現される。
【０００６】
こうした、動作制御手段１０１と認識・計画手段１０２という並列階層構造を採る場合、例えば、認識・計画手段１０２の認識・計画プログラムが生成する目標軌道を動作制御手段１０１に転送する場合に、時間的な受け渡しタイミングの問題が発生する。
【０００７】
この問題に対し、図１０に示す制御装置では、共有メモリ１０３を設けることにより、認識・計画手段１０２は目標軌道を共有メモリ１０３に書き込み、動作制御手段１０１は共有メモリ１０３より目標軌道を読み込むことにより時間的なタイミングの緩衝を実現する（例えば、特許文献１参照。）。
【０００８】
図１０に示す制御装置では、動作制御手段１０１、認識・計画手段１０２及び共有メモリ１０３を接続する方法としては拡張性の点から共通バス方式が採られる。
【０００９】
しかしながら、上記従来構造では、さらなる知能高度化のため、複数の写像装置による複数の画像や高精細な画像の取り込みを行い、大容量のデータを扱おうとすると、バスの競合からデータ転送待ち時間が発生し、リアルタイム性が確保できなくなる問題が発生する。
【００１０】
こうした問題を回避するため、画像転送専用のバスを設けたり、各手段間を接続する専用バスを設けたりすることは、バス配線の増加などシステムの複雑化を招き、システムの拡張性の点でも問題である。
【００１１】
従って、本発明の目的は、上記従来構造の課題を解決し、制御の高度な知能化のために必要な画像などの大容量データを簡素な構造でリアルタイム性を確保しつつ扱うことのできるロボット制御装置を提供することにある。
【００１２】
【特許文献１】特開平６−２９００６０号公報
【発明の開示】
【００１３】
本発明は、上記目的を達成するため、以下のように構成している。
本発明の第１態様によれば、制御対象の動作制御を実現するための計算処理を行う動作制御手段と、
上記制御対象の作業・動作計画や外界認識を行う認識・計画手段と、
上記制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェースと、
上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御する経路選定手段とを備えて、
上記経路選定手段で、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御しながら、上記制御対象の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象であるロボットの動作を制御するロボット制御装置を提供する。
【００１４】
例えば、この第１態様の１つの具体的な例として、実時間制御を実現するための計算処理を行う動作制御手段と、
知能処理を実現するための計算処理を行う認識・計画手段と、
制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェースと、
上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御する経路選定手段とを備えて、
上記経路選定手段で、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御しながら、上記制御対象であるロボットの動作を制御するロボット制御装置を提供する。
【００１５】
本発明の第２態様によれば、制御対象の動作制御を実現するための演算処理を行う動作制御手段と、
上記制御対象の作業・動作計画や外界認識を行う認識・計画手段と、
上記制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェースと、
上記認識・計画手段と接続される第１経路選定手段と、
上記動作制御手段と上記第１経路選定手段と上記入出力インターフェースと接続される第２経路選定手段とを備えて、
上記第１経路選定手段は、上記第２経路選定手段と上記認識・計画手段との接続を切り換えることで通信を制御するとともに、上記第２経路選定手段は、上記認識・計画手段と上記第１経路選定手段と上記入出力インターフェースとの接続を切り換えることで通信を制御しながら、上記制御対象の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象であるロボットの動作を制御するロボット制御装置を提供する。
【００１６】
例えば、この第２態様の１つの具体的な例として、実時間制御を実現するための計算処理を行う動作制御手段と、
知能処理を実現するための計算処理を行う認識・計画手段と、
制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェースと、
上記認識・計画手段と接続される第１経路選定手段と、
上記動作制御手段と上記第１経路選定手段と上記入出力インターフェースと接続される第２経路選定手段とを備えて、
上記第１経路選定手段は、上記第２経路選定手段と上記認識・計画手段との接続を切り換えることで通信を制御するとともに、上記第２経路選定手段は、上記動作制御手段と上記第１経路選定手段と上記入出力インターフェースとの接続を切り換えることで通信を制御しながら、上記制御対象であるロボットの動作を制御するロボット制御装置を提供する。
【００１７】
本発明の第３態様によれば、上記経路選定手段は、データ転送の優先順位を制御する機能を有して、上記経路選定手段により、上記データ転送の優先順位に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第１又は２の態様に記載のロボット制御装置を提供する。
【００１８】
本発明の第４態様によれば、上記経路選定手段は、上記制御対象の制御状況に応じてデータ転送の優先順位を制御して、上記経路選定手段により、上記制御対象の制御状況に応じて上記データ転送の優先順位に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第３の態様に記載のロボット制御装置を提供する。
【００１９】
本発明の第５態様によれば、上記経路選定手段は、転送データ中に埋め込まれた優先順位データによりデータ転送の優先順位を制御する第３の態様に記載のロボット制御装置を提供する。
【００２０】
本発明の第６態様によれば、上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データの転送を一時停止するよう動作する第３の態様に記載のロボット制御装置を提供する。
【００２１】
本発明の第７態様によれば、上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データの間引きを実行するよう動作する第３の態様に記載のロボット制御装置を提供する。
【００２２】
本発明の第８態様によれば、上記経路選定手段は、データ転送容量の占有率を制御する機能を有して、上記経路選定手段により、上記データ転送容量の占有率に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第１又は２の態様に記載のロボット制御装置を提供する。
【００２３】
本発明の第９態様によれば、上記経路選定手段は、上記制御対象の制御状況に応じて上記データ転送容量の上記占有率を制御して、上記経路選定手段により、上記制御対象の制御状況に応じて上記データ転送容量の上記占有率に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第８の態様に記載のロボット制御装置を提供する。
【００２４】
本発明の第１０態様によれば、上記経路選定手段は、転送データ中に埋め込まれた占有率データにより上記データ転送容量の上記占有率を制御する第８の態様に記載のロボット制御装置を提供する。
【００２５】
本発明の第１１態様によれば、上記経路選定手段は、データ転送のクロック速度を制御する機能を有して、上記制御対象の制御状況に応じて上記データ転送のクロック速度を変化させ、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第１又は２の態様に記載のロボット制御装置を提供する。
【００２６】
本発明の第１２態様によれば、上記制御対象の制御状況は制御誤差である第４、９、又は１１の態様に記載のロボット制御装置を提供する。
【００２７】
本発明の第１３態様によれば、上記制御対象の制御状況は制御目標値である第４、９、又は１１の態様に記載のロボット制御装置を提供する。
【００２８】
本発明の第１４態様によれば、上記経路選定手段は、データ転送要求を告知するための専用信号線を有する第３〜７のいずれか１つの態様に記載のロボット制御装置を提供する。
【００２９】
本発明の第１５態様によれば、上記経路選定手段は、上記動作制御手段と上記認識・計画手段間の時間的な緩衝をとる記憶手段を有して、
上記経路選定手段は、上記動作制御手段と上記認識・計画手段と上記共通記憶手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御する第１又は２の態様に記載のロボット制御装置を提供する。
【００３０】
本発明の第１６態様によれば、上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データを上記記憶手段に待避するよう動作する第９の態様に記載のロボット制御装置を提供する。
【発明を実施するための最良の形態】
【００３１】
本発明の記述を続ける前に、添付図面において同じ部品については同じ参照符号を付している。
【００３２】
以下、図面を参照して本発明における種々の実施形態を詳細に説明する。
【００３３】
（第１実施形態）
図１は本発明の第１実施形態におけるロボット制御装置１の構成を示す図である。図１において、２はロボット制御装置１内のデジタル信号の経路を切り換える経路選定手段である。経路選定手段２には、本実施形態におけるロボット制御装置１の制御対象３への指令を出力するとともに上記制御対象３の状態を入力するため上記制御対象３に接続された入出力インターフェース４と、制御対象３の動作制御を行うための実時間の計算などの計算処理を行う動作制御手段５（一つの具体例としては、制御対象３の制御を行うための実時間の計算を行うリアルタイム処理手段５）と、制御対象３の作業・動作計画や外界認識を行う認識・計画手段６（一つの具体例としては、制御対象３の作業・動作計画や外界認識を行う非リアルタイム処理手段６）と、共通記憶手段７とが接続されて、上記動作制御手段５と上記認識・計画手段６と上記入出力インターフェース４との間の接続を切り換えることで通信を制御するようにしている。このように、上記ロボット制御装置１は、上記経路選定手段２で、上記動作制御手段５と上記認識・計画手段６と上記入出力インターフェース４との間の接続を切り換えることで通信を制御しながら、上記制御対象３の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象３であるロボットの動作を制御するようにしている。各手段などの間の接続は、シリアルなデジタルデータで通信を行うシリアル伝送路で構成されており、パケット通信による双方向通信が可能となっている。
【００３４】
なお、上記動作制御手段５は、制御対象３の動作制御を行うための計算処理をリアルタイムで処理するときにはリアルタイム処理手段５として機能させることができる一方、制御対象３の動作制御を行うための計算処理を、リアルタイムや非リアルタイムであるかを問わずに処理するときには、単に、上記動作制御手段５として機能させればよい。同様に、上記認識・計画手段６は、制御対象３の作業・動作計画や外界認識を非リアルタイムで処理するときには非リアルタイム処理手段６として機能させることができる一方、制御対象３の作業・動作計画や外界認識を、リアルタイムや非リアルタイムであるかを問わずに処理するときには、単に、上記認識・計画手段６として機能させればよい。以下の実施形態では、具体的な例として、上記動作制御手段５をリアルタイム処理手段として、上記認識・計画手段６を非リアルタイム処理手段６としてそれぞれ記載するが、特に、上記動作制御手段５をリアルタイム処理手段５として機能させる必要が無いときには、単に上記動作制御手段５として読み替えることができるとともに、上記認識・計画手段６を非リアルタイム処理手段６として機能させる必要が無いときには、単に上記認識・計画手段６として読み替えることができる。
【００３５】
ここで、制御対象３の一例であるロボットとして、４自由度のマニピュレータ４８の制御を行う場合を例に採り、第１実施形態のロボット制御装置１の構成についてさらに詳しく説明する。図２は、上記経路選定手段２の構造を示す図であり、分かりやすくするために主要な機能ブロックのみを示している。
【００３６】
図２において、２１は経路選定手段２の機能を司るＩ／Ｏコントローラ等が統合されたワンチップ型のＣＰＵ、２２はＣＰＵ２１に接続されかつデジタル信号の経路を切り換えるスイッチである。スイッチ２２は複数の外部入出力ポート２２１ａ〜２２１ｄを持ち、それぞれ入出力インターフェース４と、動作制御手段５と、認識・計画手段６と、共通記憶手段７とに接続されている。さらに、スイッチ２２は、ＣＰＵ２１と接続された内部ポート２２２を持ち、内部ポート２２２を通じてＣＰＵ２１により、外部入出力ポート２２１ａ〜２２１ｄのそれぞれと内部ポート２２２との間のデータ転送経路の切換が制御される。
【００３７】
図２において、２３は、ＣＰＵ２１に接続されかつＣＰＵ２１を動作させるためのプログラムや経路切換のためのデータが格納された記憶手段である。
【００３８】
図３は入出力インターフェース４の構造を示す図である。図３において、４１はシリアル−パラレル変換手段であり、外部入出力ポート４１１と内部出力ポート４４と内部入力ポート４７とで入出力されるデータ間のシリアル−パラレル変換をシリアル−パラレル変換手段４１により行う。外部入出力ポート４１１はシリアル伝送路で経路選定手段２に接続されている。また、内部出力ポート４４には、共通パラレルバス方式の伝送線路でＤ／Ａコンバータ４２ａ〜４２ｄが接続されており、Ｄ／Ａコンバータ４２ａ〜４２ｄの出力はモータードライバ４３ａ〜４３ｄに接続されている。モータードライバ４３ａ〜４３ｄは、マニュピュレータ４８の各関節に組み込まれたモータ（図示せず）に接続され、Ｄ／Ａコンバータ４２ａ〜４２ｄからの出力信号に応じてマニュピュレータ４８のそれぞれの関節のモータをそれぞれ独立的に駆動する。一方、内部入力ポート４７には、共通パラレルバス方式の伝送線路でカウンタ４５及び画像取込手段４６が並列に接続されている。カウンタ４５には、マニュピュレータ４８の各関節に組み込まれたエンコーダ（図示せず）が接続され、上記各モータにより回転されるマニュピュレータ４８の各関節の角度が上記エンコーダにより検出されて、カウンタ４５にそれぞれ入力される。画像取込手段４６には撮像装置４９が接続され、マニュピュレータ４８による把持対象等の画像が撮影される。
【００３９】
図４は動作制御手段５あるいは認識・計画手段６の構造を示す図である。ハードウェア的には動作制御手段５と認識・計画手段６は同一の構成の一般的なコンピュータアーキテクチャのＣＰＵボードであり、図４には主要な機能ブロックのみ示している。図４において、５１は制御を実現するための計算処理を行うＣＰＵである。５２はＩ／Ｏコントローラ、メモリコントローラ等が統合されたチップセットであり、外部とのデータの入出力を行うシリアルポート５４とを有している。また、５３は計算処理を行うためのプログラムやデータを格納する記憶手段である。チップセット５２の２つの内部ポート５２１ａ，５２１ｂにはそれぞれＣＰＵ５１と記憶手段５３とが別々に接続されている。
【００４０】
ソフトウェア的には、動作制御手段５は、ＯＳ（オペレーティングシステム）を搭載せず、制御のためのプロセス（例えば、制御対象３の制御を行うための実時間の計算）がシングルタスクで実行されている。一方、認識・計画手段６は、記憶手段５３に記憶されたマルチタスクのＯＳを搭載し、マニュピュレータ４８の作業計画のためのプロセス、動作計画のためのプロセス及び画像認識のための画像認識プロセスが時分割のマルチタスクで実行されている。
【００４１】
以上の構成のロボット制御装置１の動作について、図５のフローチャートに示す、ある領域内に置かれた（対象物の一例としての）直方体の物体９０を画像認識を使ってマニュピュレータ４８のアーム４８ｂの先端の手先効果器４８ａで把持し、手先効果器４８ａで把持された直方体の物体９０を所定の位置へ移動する作業を例に説明する。
【００４２】
図５のフローチャートに示す動作ステップは、認識・計画手段６で実行される作業計画プロセスによってその実行順序が計画され、進行が管理される。
【００４３】
まず、ステップＳ１での作業計画プロセスは、画像認識プロセスを呼び出す。すなわち、認識・計画手段６で実行される画像認識プロセスは、入出力インターフェース４に接続された撮像装置４９より取り込んだ画像を元にマニュピュレータ４８で把持する直方体の物体９０の位置、姿勢及び大きさを認識し（図５のステップＳ１）、認識結果のデータは、マニュピュレータ４８から見た直方体の物体９０の絶対座標系の位置・姿勢、形状データとしてプロセス間通信により作業計画プロセスに引き渡す。認識・計画手段６で生成される動作計画プロセスは、引き渡された位置・姿勢、形状データを基に、手先効果器４８ａが初期位置から直方体の物体９０まで移動して直方体の物体９０を手先効果器４８ａで把持するための軌道及び把持した直方体の物体９０を所定の位置へ手先効果器４８ａで運搬するための軌道を、例えば多項式補間を使って生成する。認識・計画手段６で生成される目標軌道データは、各時刻におけるマニュピュレータ４８の手先効果器４８ａの位置（手先位置）・姿勢及び手先効果器４８ａの動作の速度・角速度という形式で生成され、シリアルデータとしてシリアルポート５４より経路選定手段２に転送される。
【００４４】
経路選定手段２は、認識・計画手段６から転送される目標軌道データを共通記憶手段７の所定の位置に格納するように動作する。したがって、マニュピュレータ４８の手先効果器４８ａがどのように動くべきかを示す目標軌道データは、常に共通記憶手段７を参照すればよい。
【００４５】
動作制御手段５では、マニュピュレータ４８の手先効果器４８ａを目標軌道データどおりに動作させるための制御プログラムが、以下のように実行される（図５のステップＳ２〜Ｓ７）。
【００４６】
すなわち、図５のステップＳ１で直方体の物体９０の位置、姿勢及び大きさを認識したのち、図５のステップＳ２では、図１２Ａにも示すように、目標軌道データに基づき制御対象３であるマニュピュレータ４８が上記制御装置１により動作制御されて、マニュピュレータ４８の手先効果器４８ａが直方体の物体９０の近傍に移動する、アーム４８ｂの把時準備動作が行われる。一例として、図１２Ａでは、マニュピュレータ４８の基端部周りに、マニュピュレータ４８の手先効果器４８ａが直方体の物体９０に対向する位置まで回動される。
【００４７】
次いで、図５のステップＳ３では、画像認識によるアーム４８ｂのアプローチ動作が行われる。これは、具体的には、ビジュアルフィードバックであって、マニピュレータ４８の手先効果器４８ａと直方体の物体９０の相対的な位置関係を画像認識により検出し、手先効果器４８ａと直方体の物体９０が接触しないように手先効果器４８ａの位置を微調整しながら、図１２Ｂにも示すように、手先効果器４８ａにより物体９０を把持可能な位置まで手先効果器４８ａを移動させる。
【００４８】
次いで、図５のステップＳ４では、目標軌道データに基づき制御対象３であるマニュピュレータ４８が上記制御装置１により動作制御されて、図１２Ｃにも示すように、手先効果器４８ａを閉じて、直方体の物体９０を挟み込むことで把持を行う把持動作が行われる。
【００４９】
次いで、図５のステップＳ５では、撮像装置４９により撮像されて画像取込手段４６に撮り込まれた画像情報に基づく、画像認識による把持確認、すなわち、手先効果器４８ａによる直方体の物体９０の把持動作が成功したか否かが判断される。具体的には、手先効果器４８ａと直方体の物体９０の相対的な位置関係を画像認識により検出し、手先効果器４８ａの指の間に直方体の物体９０が位置しているかどうかにより、把持動作の成否が作業計画プロセスにより判断される。すなわち、手先効果器４８ａの指の間に直方体の物体９０が位置している場合（図１２Ｃ参照）には、把持動作成功であり、手先効果器４８ａの指の間に直方体の物体９０が位置していない場合には、把持動作が失敗と判断される。把持動作失敗と判断された場合には、作業計画プロセスは動作ステップをステップＳ３に戻し、画像認識による手先効果器４８ａの位置の微調整が行われたのち、ステップＳ４及びＳ５が再度行われる。把持動作成功と判断された場合には、ステップＳ６に進む。
【００５０】
次いで、図５のステップＳ６では、目標軌道データに基づき制御対象３であるマニュピュレータ４８が上記制御装置１により動作制御されて、手先効果器４８ａにより把持された直方体の物体９０の運搬動作を行う。
【００５１】
次いで、図５のステップＳ７では、所定位置まで直方体の物体９０を運搬して設置したのち、マニュピュレータ４８が上記制御装置１により動作制御されて、直方体の物体９０を把持していた手先効果器４８ａの指が広げられ、直方体の物体９０が手先効果器４８ａから解放される。
【００５２】
次に、動作制御手段５により実行される上記制御プログラムの動作ステップについて図６を参照しながら説明する。
【００５３】
図６のステップＳ１１では、動作制御手段５が経路選定手段２にマニュピュレータ４８の関節角度データの転送を要求する。関節角度データを要求された経路選定手段２は、入出力インターフェース４にカウンタ４５に入力されている関節角度データのデータ転送を要求し、カウンタ４５に入力されていたマニュピュレータ４８の各関節のエンコーダ値が入出力インターフェース４を介して経路選定手段２に返送され、経路選定手段２から動作制御手段５に各関節のエンコーダ値が現在の関節角度データ（関節変数ベクトルｑ= [θ１，θ２，θ３，θ４]Ｔ、ただしθｉは第ｉ関節の角度）として転送される。
【００５４】
図６のステップＳ１２では、マニュピュレータ４８の運動学計算に必要なヤコビ行列Ｊｒ等の計算が動作制御手段５により行われる。
【００５５】
次いで、図６のステップＳ１３では、転送されてきた現在の関節角度データである関節変数ベクトルｑを使用して、マニュピュレータ４８の手先効果器４８ａの現在の手先位置・姿勢ベクトルｒが動作制御手段５により計算される。
【００５６】
図６のステップＳ１４では、手先位置に関する位置サーボ補償入力値ベクトルｕｐが下記の式（１）を使い、動作制御手段５により計算される。
【００５７】
【数１】
2004052598.tif 000027
【００５８】
ただし、ｒｄは手先・位置・姿勢ベクトルの目標値、Ｋｐ及びＫｖはフィードバックゲイン行列である。
【００５９】
予め、位置サーボ補償の目標値ベクトルｒｄは認識・計画手段６で計算され、計算結果が共通記憶手段７に格納されているため、経路選定手段２を介して共通記憶手段７から動作制御手段５へ、格納されていた位置サーボ補償の目標値ベクトルｒ４の取り込みが行われる。
【００６０】
図６のステップＳ１５では、制御実現のため、マニュピュレータ４８に加えるべき駆動力ベクトルτが、運動方程式及び位置サーボ補償入力値ベクトルｕｐより、下記の式（２）を使い動作制御手段５により計算される。
【００６１】
【数２】
2004052598.tif 000028
【００６２】
ただし、ＫＴはトルク係数行列である。
【００６３】
図６のステップＳ１６では、ステップＳ１５で動作制御手段５により計算された駆動力値ベクトルτが、動作制御手段５の外部入出力用シリアルポート５４より駆動力指令値として出力される。駆動力指令値を受け取った経路選定手段２は、入出力インターフェース４に駆動力指令値を転送し、駆動力指令値が入出力インターフェース４を介してＤ／Ａコンバータ４２に入力され、Ｄ／Ａコンバータ４２によりデジタル信号の駆動力指令値が電圧指令値に変換されて、Ｄ／Ａコンバータ４２から入出力インターフェース４を介して出力される。電圧指令値を入出力インターフェース４から受けたモータードライバ４３ａ〜４３ｄは、マニュピュレータ４８の各関節や手先効果器４８ａに駆動力を発生させる。
【００６４】
動作制御手段５では、以上の図６のステップＳ１１〜ステップＳ１６の計算処理ループが実行されることでソフトウェアフィードバック制御系が構成され、例えば１ｍｓｅｃといった決まった時間間隔で、関節角度データの取り込み、及び、駆動力指令値の出力が実行され、実時間の制御が実現される。このようにして求められて出力される駆動力値に基づき、上記したマニュピュレータ４８の制御動作が実行される。
【００６５】
なお、ロボットに電源が入っている間は制御を常にかけている場合を想定しているため、上記処理はエンドレスループになっている。よって、目標値として一定値を与え続ければ静止させることも可能である。
【００６６】
上記制御動作において、図１６及び図７に示すように、
（１）経路選定手段２は、認識・計画手段６から共通記憶手段７への目標軌道データの転送（データ転送１）、
（２）共通記憶手段７から動作制御手段５への目標軌道データの転送（データ転送２）、
（３）入出力インターフェース４から認識・計画手段６への画像データの転送（データ転送３）、
（４）入出力インターフェース４から動作制御手段５への関節角度データの転送（データ転送４）、
（５）動作制御手段５から入出力インターフェース４への駆動力値指令データの転送（データ転送５）、
を実行する。これらの転送要求は、動作制御手段５と認識・計画手段６とが独立して並列で動作しているため、時間的に同時になり、重なってしまう場合が発生する。特に、画像データは容量が大きく、画像データ転送時には重なる確率が高くなり、頻繁に転送待ちが発生する。
【００６７】
このような、動作制御手段５と認識・計画手段６とからの転送要求の同時発生に対して、上記したように、経路選定手段２はデータ転送の優先順位に基づく制御を行う。すなわち、経路選定手段２は複数のデータ転送モードを設定することができ、各転送モードでデータ転送の優先パターンが異なる。一例として、データ転送の優先パターンとしては、以下に示すように、上記制御対象の制御状況に応じて、転送モード１、転送モード２、転送モード３の合計３つが経路選定手段２に設定されている。
【００６８】
転送モード１では、動作制御手段５からの転送要求を優先するように経路選定手段２が動作する。経路選定手段２と動作制御手段５の間にはデータ転送要求を告知する専用信号線が配設されており、経路選定手段２は動作制御手段５のデータ転送要求を検知することができる。データ転送４及びデータ転送５の場合、経路選定手段２と入出力インターフェース４との間の伝送路が、関節角度データあるいは駆動値指令データの転送に優先的に使用されるように経路選定手段２が動作し、その間、画像データの転送（データ転送３）は、データを間引いて転送されるか、伝送路の容量に余裕がない場合には画像データの転送が一時停止される。関節角度データあるいは駆動値指令データの転送終了後、画像データの転送が行われるように経路選定手段２が動作する。また、データ転送２の場合には、経路選定手段２と共通記憶手段７との間の伝送路が優先的に使用されるように経路選定手段２が動作するため、認識・計画手段６から共通記憶手段７への目標軌道データの転送（データ転送１）は一時的に停止され、転送すべきデータは経路選定手段２の記憶手段２３に記憶されて待避させられる。経路選定手段２と共通記憶手段７との間の伝送路でのデータの転送終了後、上記目標軌道データの転送が行われるように経路選定手段２が動作する。一方、優先されるべきデータ転送２，４及び５は、図６に示したように、ステップＳ１でデータ転送４、ステップＳ４でデータ転送２、ステップＳ６でデータ転送５が実行されるため、時間的に重なることはない。
【００６９】
なお、上記専用信号線とは、以下のようなものである。すなわち、図７中では、データ転送ラインを１つの矢印で記しているが、実際には、ロボット制御装置のＬＳＩ間の配線には、シリアル転送の場合でも、信号線とＧＮＤ、上り下り専用信号線（すなわち上り信号線と下り信号線）を設ける場合など複数の配線が存在する。「専用信号線」は図１１のように、上記信号線とは別に、データ転送要求のためだけのデータ転送要求専用信号線を設け、このデータ転送要求専用信号線を通じて、要求の告知を高速に行なうものである。
【００７０】
以上のように、転送モード１の場合、経路選定手段２がデータ転送を制御することにより、動作制御手段５は常に待つことなく関節角度データの取得や駆動力指令値の出力を行うことができ、短い制御周期であってもリアルタイム性が確保され、安定した制御が実現する。また、各手段などの間のデータ転送はパケットを使ったシリアル通信により実行されるため、パケット間を利用した多重通信が可能であり、さらに転送待ちを減らすことが可能である。
【００７１】
転送モード２では、データ転送３（画像データの転送）がデータ転送４，５よりも優先されるように経路選定手段２が動作する。画像データの転送を優先することで、把持対象物の認識などの画像認識を高速に行うことができる。一方、動作制御手段５は、リアルタイム処理手段として機能させるときにはリアルタイム性を確保するために、制御周期を長くし、かつ、認識・計画手段６を非リアルタイム処理手段６として機能させて、この認識・計画手段６で実行されている作業計画プロセスが制御対象３の低速な動作を計画するか又は動作を停止させることにより、制御対象３の動作が不安定になることを防止する。
【００７２】
転送モード３では、特定のデータ転送を優先せず、均等にあるいは特定の比率で各データ転送を行うように経路選定手段２が動作するモードである。この転送モード３によれば、画像認識で把持対象を認識しながらアーム位置を修正するビジュアルフィードバックのような画像データの転送と駆動力指令及び関節角度データのリアルタイムな転送の両立が必要な動作が実現される。
【００７３】
ここで、図１６において、「〇」がついている意味は、「〇」が付いているデータ転送は他のデータ転送とバッティングしたときに「〇」が付いているものが優先されるという意味である。したがって、転送モード３の場合は、バッティングが起こっても特に優先転送するデータは無いということで、「〇」は付いていない。
【００７４】
これらの転送モードの設定は、例えば上記制御対象の制御状況に応じて、作業計画プロセスで計画されてデータ転送の優先順位が予め決められ、モード設定データとして経路選定手段２に転送されて設定される。ある領域内に置かれた直方体の物体９０を画像認識を使ってマニュピュレータ４８の手先効果器４８ａで把持し、所定の位置へ移動する作業の場合、転送モードは、図５の右側に示すように経路選定手段２により切換が行われ、迅速かつ安定した作業が実現する。すなわち、図５のステップＳ１で、直方体の物体９０の位置、姿勢及び大きさを認識するときは転送モード２、図５のステップＳ２で、アーム４８ｂの把持準備動作が行われるときは転送モード１、図５のステップＳ３で、画像認識によるアームのアプローチ動作が行われるときは転送モード３、図５のステップＳ４で、手先効果器４８ａによる直方体の物体９０の把持動作が行われるときは転送モード１、図５のステップＳ５で、画像認識による把持確認が行われるときは転送モード２、図５のステップＳ６で、直方体の物体９０の運搬動作を行うときは転送モード１、図５のステップＳ７で、直方体の物体９０を運搬して設置・解放するときは転送モード１とするように、経路選定手段２が転送モードを切り換える。
【００７５】
また、上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データの伝送を停止させる代わりに、非優先データの間引きを実行するよう動作させることもできる。すなわち、非優先データが画像データの場合、間引くことによりデータの容量を小さくすることができるが、画像の質は落ちることになり、鮮明さが低下することになる。すなわち、鮮明さが低下すると、画像認識の精度が低下する。一方、画像データである非優先データの伝送を一時停止する場合には、画像の伝送が完全に停止されて画像を得ることはできないが、画像データである非優先データの伝送を「間引き」する場合には、粗いながらも画像が得られるので処理は続行できる。
【００７６】
なお、本実施形態での経路選定手段２は、ＣＰＵなど個別のＬＳＩ部品によるＣＰＵボードとしての例を採用したが、すべての機能を集約した１チップＬＳＩでの構成も可能である。
【００７７】
また、本実施形態では、経路選定手段２はデータ転送要求を告知する信号線により転送要求を検知するとしたが、転送データに転送要求元のＩＤデータを埋め込むことによっても転送要求を検知することは可能である。
【００７８】
また、本実施形態では転送モードを３種類としたが、これに限られるわけではなく、制御対象３の構造や作業内容によって、モードの種類や数を異ならせることができる。
【００７９】
上記第１実施形態のロボット制御装置１によれば、リアルタイム処理手段５として機能させるべく実時間制御を実現するための計算処理を行う動作制御手段５と、非リアルタイム処理手段６として機能させるべく知能処理を実現するための計算処理を行う認識・計画手段６と、制御対象３への指令を出力し、制御対象３の状態を入力するための入出力インターフェース４と、上記動作制御手段５と上記認識・計画手段６と上記入出力インターフェース４との間の接続を切り換えることで通信を制御する経路選定手段２とを備えて、上記動作制御手段５での処理結果に基づいて制御対象３であるロボットの動作を制御するようにしている。よって、上記手段など４，５，６の間の接続を切り換えることで通信を制御する経路選定手段２を備えるという簡素な構造で、制御の高度な知能化のために必要な画像などの大容量データを、リアルタイム性を確保しつつ、扱うことができる。これにより、システムの拡張を行うときには経路選定手段２に新たな手段を接続するだけでよいといった、システムの拡張性を確保しつつ、各手段など４，５，６の間の接続を簡素な構造にすることができ、かつ、各手段など４，５，６の間の通信を、転送待ちの発生が少なくなるように、制御することができる。
【００８０】
また、ＣＰＵの演算処理能力が高速であり、自由度数が、例えば３以下のロボットアームの制御等、複雑な制御が必要ない場合には、動作制御手段５を非リアルタイム処理手段で構成しても動作制御は可能である。この場合には、動作制御手段５として汎用のマルチタスクＯＳが搭載されたＣＰＵボード等の使用が可能であり、システムの構築や制御プログラムの作成が容易であるという利点を有する。
【００８１】
また、認識・計画手段６をリアルタイム手段で実現することも可能であり、その場合にはＯＳを搭載しない小規模なＣＰＵボードや、小規模なリアルタイムＯＳを搭載したＣＰＵボード等、簡素なシステムとすることができる。また、特に、動作計画をリアルタイム処理手段で実現する場合には、リアルタイムに目標軌道の生成が可能となり、動作制御を安定して行うことができる。
【００８２】
また、上記経路選定手段２は、上記動作制御手段５からの転送要求を優先するよう動作することで、動作制御手段５の実時間性を確保することができる。
【００８３】
また、上記経路選定手段２は、記憶手段２３を有するとともに、上記動作制御手段５と上記認識・計画手段６と入出力インターフェース４と、上記経路選定手段２とが互いにシリアル伝送路により接続されるようにすることにより、上記経路選定手段２の記憶手段２３で、転送すべきデータのうち待機させられるデータが経路選定手段２の記憶手段２３に記憶されて待避させられることにより、上記動作制御手段５と上記認識・計画手段６間の時間的な緩衝をとることができるようになる。
【００８４】
（第１−Ａ実施形態）
図１７は第１−Ａ実施形態における、経路選定手段での転送制御方法を説明する表を示す図である。第１−Ａ実施形態の構成は第１実施形態と同様であるが、転送の優先順位ではなく、転送のデータ占有率で制御を行う。例えば、認識・計画手段と経路選定手段を接続する伝送路では、データ転送１の占有率Ａ（％）を決めることにより経路選定手段により転送されるデータの制御を行う。ただし、０≦Ａ≦１００である。また、制御ＩＦと経路選定手段を接続する転送路では、データ転送４の占有率Ｄ（％）およびデータ転送５の占有率Ｅ（％）を決めることにより経路選定手段により転送されるデータの制御を行う。ただし、０≦Ｄ≦１００、０≦Ｅ≦１００、かつ、０≦Ｄ＋Ｅ≦１００である。他の占有率Ｂ、Ｃ、Ｆ、Ｇも同様である。
【００８５】
占有率は制御状況に応じて動作制御手段や認識・計画手段において決定され、パケットデータとして経路選定手段に転送される。経路選定手段では、送信された占有率に基づきデータ転送の比率を制御する。
【００８６】
データ転送の占有率を決定する指標としては、位置制御の目標値、制御誤差を使用する。例えば、認識・計画手段と経路選定手段を接続する伝送路では、占有率Ａ（％）が
（数３）
Ａ＝ｋｏｄ｜ｄｒｄ／ｄｔ｜                          （１−Ａ−１）
により決定される。すなわち、手先位置・姿勢の目標値ベクトルの時間微分値に定数ゲインｋｏｄをかけた値を占有率Ａ（％）とする。
【００８７】
式（１−Ａ−１）の計算は認識・計画手段において行われ、占有率Ａのデータはパケットデータとして認識・計画手段から経路選定手段に転送され、経路選定手段は受信した占有率に基づき、認識・計画手段と経路選定手段を接続間のデータ転送の比率がデータ転送１＝Ａ％、データ転送３＝１００−Ａ％となるようにデータ転送を制御する。
【００８８】
式（１−Ａ−１）によれば、目標値の変化率が大きいとき、すなわち、目標速度が大きいとき占有率Ａが大きくなり、確実に目標値が転送され、制御を安定させることができる。例えば、手先の目標速度の最大値が０．５ｍ／ｓの場合には、ｋａｄ＝１６０ｓ／ｍとすれば手先の移動速度が最大の時にＡ＝８０％となり、手先が高速に移動するときには、動作制御に必要な目標軌道データを転送するデータ転送１が、データ転送３より占有率が高くなり、制御を安定させることができる。
【００８９】
また、制御ＩＦと経路選定手段を接続する伝送路では、占有率Ｄ（％）および占有率Ｅ（％）が
（数４）
Ｄ＝Ｅ＝ｋｏｅ｜（ｒｄ−ｒ）｜                  （１−Ａ−２）
により決定される。ただし、ｋｏｅは定数ゲインである。
【００９０】
式（１−Ａ−２）の計算は動作制御手段において行われ、占有率Ｄ、Ｅのデータはパケットデータとして動作制御手段から経路選定手段に転送され、経路選定手段は受信した占有率に基づき、制御ＩＦと経路選定手段を接続間のデータ転送の比率がデータ転送３＝１００−Ｄ−Ｅ％、データ転送４＝Ｄ％、データ転送５＝Ｅ％となるようにデータ転送を制御する。
【００９１】
式（１−Ａ−１）によれば、アーム手先位置・姿勢誤差ｒｄ−ｒが増加すると占有率Ｄ、Ｅが増加し（ただし、１００以上にはしない）、アームのリアルタイムの動作制御に関係するデータ転送４およびデータ転送５の転送データにおける比率が増加し、制御は安定する方向に向かい、制御誤差は減少する。
【００９２】
なお、経路切換手段と他の手段間の通信はデータ転送のみではなく、他にも占有率データや転送先を示すアドレス等の他の通信も行われるため、占有率１００％でも通信帯域のすべてを占有するわけではなく、データ転送用に割り与えられた帯域の１００％を意味する。
【００９３】
また、本実施形態では占有率の最大値を１００％として説明を行ったが、動作モードに応じて最大値を１００％以下の値に制限することによりさらに高度な制御が可能である。例えば、図５と同様の動作を行う場合、ステップＳ２ではアームの動作制御のみを行い、画像認識処理は必要ないため、データ転送１の最大占有率を１００％としても動作可能であるが、ステップＳ３はビジュアルフィードバックであり、画像認識処理と動作制御を同時に行う方が動作をよりスムーズに行うことができるため、データ転送１の最大占有率を、例えば７０％に限定すれば動作制御のみが行われ、画像認識処理が停止してしまうということもなく、確実な動作が可能となる。
【００９４】
また、本実施形態ではデータ転送１の占有率をＡ％とし、データ転送１の占有率を基準に考えたが、これに限られるわけではなく、より高度な制御として、動作モードに応じて基準を切り換える方法が考えられる。例えば、図５と同様の動作を行う場合、ステップＳ１及びステップＳ３では画像認識が必要であるため、画像データの転送を行うデータ転送３を基準とし、ステップＳ２では動作制御が必要であるため、データ転送１を基準として定めることによりロボットとしてより確実な動作が可能となる。
【００９５】
（第２実施形態）
図８Ａは本発明の第２実施形態におけるロボット制御装置１Ａの構成を示す図である。図８Ａに示すように、第２実施形態のロボット制御装置１Ａは、１ａ〜１ｅの５つの第１〜第５分散制御装置から構成され、図８Ｂに示す左右の２本のアーム５６，５７を有しかつ制御対象３の一例であるロボットとして、自律移動ロボット５５の体内に分散されて配設されて、それぞれの機能ブロックを構成している。すなわち、第１分散制御装置１ａは動作の計画や判断を司る知能ブロック、第２及び第３分散制御装置１ｂ及び１ｃは先端に手先効果器５６ａ，５７ａを有する２本のアーム５６，５７の動きを制御するアーム制御ブロック、第４分散制御装置１ｄは左右の２つの車輪５８，５８を駆動することで移動ロボット５５の移動を司る移動制御ブロック、第５分散制御装置１ｅはカメラやセンサ５９からの情報を取込み、外界の状況を認識する認識ブロックとなっている。
【００９６】
具体的には、以下のような構成となっている。ただし、経路選定手段２ａ，２ｂ，２ｃ，２ｄ，２ｅは、先の実施形態の経路選定手段２と同様な構成を有して同様な機能を基本的に行うものである。また、入出力インターフェース４ｂ，４ｃ，４ｄは、先の実施形態の入出力インターフェース４と同様な構成を有して、同様な機能（すなわち、各関節のモータをそれぞれ独立的に駆動する機能）の他、左右の車輪５８，５８をそれぞれ独立的に駆動する機能を基本的に行うものである。また、認識・計画手段６ａ，６ｅは、先の実施形態の認識・計画手段６と同様な構成を有して同様な機能を基本的に行うものであって、マルチタスクのＯＳを搭載し、２本のアーム５６，５７及び２つの車輪５８，５８の動作の計画や判断のためのプロセス及び画像認識のための画像認識プロセスが時分割のマルチタスクで実行されるようになっている。ここで、認識・計画手段６ａと６ｅとの機能上の相違は、認識・計画手段６ａはロボットの動作処理を行なうのに対して、認識・計画手段６ｅは画像認識処理を行なう点で大きく相違する。例えば、２本のアーム５６，５７の動作の計画や判断のためのプロセス及び２つの車輪５８，５８の動作の計画や判断のためのプロセスは認識・計画手段６ａで行い、画像認識のための画像認識プロセスは認識・計画手段６ｅで行う。
【００９７】
なお、アーム５６の手首には、２本のアームで１つの物体を把持する場合に物体にかかる内力を検知するための力センサ１００が配設されている。この力センサ１００は、アーム５６又はアーム５７のいずれかに配置されればよい。
【００９８】
また、動作制御手段５ｂ，５ｃ，５ｄは、先の実施形態の動作制御手段５と同様な構成を有して同様な機能を基本的に行うものであって、ＯＳ（オペレーティングシステム）を搭載せず、左右のアーム５７，５６の動作制御のためのプロセス（例えば、左右のアーム５７，５６の動作制御を行うための実時間の計算）がシングルタスクで実行されている。
【００９９】
まず、第１分散制御装置１ａは、上記知能ブロックとして、２本のアーム５６，５７の動作の計画や判断のためのプロセス及び２つの車輪５８，５８の動作の計画や判断のためのプロセスが時分割のマルチタスクで実行される認識・計画手段６ａと、認識・計画手段６ａに接続された経路選定手段２ａと、経路選定手段２ａに接続されて経路選定手段２ａの経路選定により認識・計画手段６ａから転送される目標軌道データを所定の位置に格納したり各種計算結果を格納したりする共通記憶手段７とより構成されて、認識・計画手段６ａにより２本のアーム５６，５７の動作の計画や判断のためのプロセス及び２つの車輪５８，５８の動作の計画や判断のためのプロセスが時分割のマルチタスクで実行されるようになっている。
【０１００】
第２分散制御装置１ｂは、上記右アーム制御ブロックとして、第１分散制御装置１ａの経路選定手段２ａと接続された経路選定手段２ｂと、経路選定手段２ｂに接続されかつ右アーム５７の駆動装置（例えば、マニュピュレータとして機能する右アーム５７の各関節に組み込まれた図示しないモータ）に接続された入出力インターフェース４ｂと、経路選定手段２ｂに接続されて動作制御のためのプロセス（例えば、右アーム５７の動作制御を行うための実時間の計算）がシングルタスクで実行される動作制御手段５ｂとより構成され、動作制御手段５ｂにより上記右アーム５７の動作制御のためのプロセスがシングルタスクで実行されて右アーム５７の動作を制御するようにしている。
【０１０１】
第３分散制御装置１ｃは、上記左アーム制御ブロックとして、第１分散制御装置１ａの経路選定手段２ａと接続された経路選定手段２ｃと、経路選定手段２ｃに接続されかつ左アーム５６の駆動装置（例えば、マニュピュレータとして機能する左アーム５６の各関節に組み込まれた図示しないモータ）に接続された入出力インターフェース４ｃと、経路選定手段２ｃに接続されて動作制御のためのプロセス（例えば、左アーム５６の動作制御を行うための実時間の計算）がシングルタスクで実行される動作制御手段５ｃとより構成され、動作制御手段５ｃにより上記左アーム５６の動作制御のためのプロセスがシングルタスクで実行されて上記左アーム５６の動作を制御するようにしている。
【０１０２】
第４分散制御装置１ｄは、上記移動制御ブロックとして、第１分散制御装置１ａの経路選定手段２ａと接続された経路選定手段２ｄと、経路選定手段２ｄに接続されかつ左右の車輪５８，５８の駆動装置の一例としてのモータ５８ａ，５８ａに駆動信号をそれぞれ独立して出力する一方、モータ５８ａ，５８ａのそれぞれの回転軸（又は車輪５８，５８の車軸）の回転角度を検出するエンコーダ５８ｂ，５８ｂからの回転角度検出信号が入力される入出力インターフェース４ｄと、経路選定手段２ｄに接続されて２つの車輪５８，５８の動作制御のためのプロセス（例えば、２つの車輪５８，５８の動作制御を行うための実時間の計算）がシングルタスクで実行される動作制御手段５ｄとより構成され、左右の２つの車輪５８，５８を駆動することにより、上記移動ロボット５５を移動させるようにしている。
【０１０３】
第５分散制御装置１ｅは、上記認識ブロックとして、第４分散制御装置１ｄの経路選定手段２ｄと接続された経路選定手段２ｅと、経路選定手段２ｅに接続された入出力インターフェース６０と、入出力インターフェース６０に接続されたカメラやセンサ５９と、経路選定手段２ｅに接続されて画像認識のための画像認識プロセスが時分割のマルチタスクで実行される認識・計画手段６ｅとより構成され、認識・計画手段６ｅにより、カメラやセンサ５９からの情報を取込み外界の状況を認識する画像認識のための画像認識プロセスが時分割のマルチタスクで実行されるようにしている。
【０１０４】
以上のような構成のロボット制御装置１Ａについて、ある領域内に置かれた（対象物の一例としての）直方体の物体９０（図３参照）を画像認識を使って上記２本のアーム５６，５７の先端の手先効果器５６ａ，５７ａで把持し、手先効果器５６ａ，５７ａで把持された直方体の物体９０を所定の位置へ移動する作業を例に説明する。
【０１０５】
認識・計画手段６ｅで実行される画像認識プロセスは、入出力インターフェース６０に接続されたカメラ５９より取り込んだ画像を元にアーム５６，５７で把持する直方体の物体９０の位置、姿勢及び大きさを認識し、認識結果のデータは、アーム５６，５７から見た直方体の物体９０の絶対座標系の位置・姿勢、形状データとして認識・計画手段６ａで実行されている作業計画プロセスに引き渡す。認識・計画手段６ａで生成される作業計画プロセスは、引き渡された位置・姿勢、形状データを基に、手先効果器５６ａ，５７ａが初期位置から直方体の物体９０まで移動して直方体の物体９０を手先効果器５６ａ，５７ａで把持するための軌道及び把持した直方体の物体９０を所定の位置へ手先効果器５６ａ，５７ａで運搬するための軌道を、例えば多項式補間を使って生成する。認識・計画手段６ａで生成される目標軌道データは、各時刻におけるアーム５６，５７の手先効果器５６ａ，５７ａの位置（手先位置）・姿勢及び手先効果器５６ａ，５７ａの動作の速度・角速度という形式で生成され、シリアルデータとして入出力インターフェース６０より経路選定手段２ｅに転送される。
【０１０６】
経路選定手段２ｅは、認識・計画手段６ｅから転送される目標軌道データを共通記憶手段７の所定の位置に格納するように動作する。したがって、アーム５６，５７の手先効果器５６ａ，５７ａがどのように動くべきかを示す目標軌道データは、常に共通記憶手段７を参照すればよい。
【０１０７】
経路選定手段２ｅに直接的に接続された経路選定手段２ｄに接続された動作制御手段５ｄ、及び、経路選定手段２ｅに経路選定手段２ｄ及び２ａを介して間接的に接続された経路選定手段２ｂ，２ｃに接続された動作制御手段５ｂ，５ｃでは、アーム５６，５７の手先効果器５６ａ，５７ａを目標軌道データどおりに動作させるための制御プログラムが、以下のように実行される。
【０１０８】
すなわち、直方体の物体９０の位置、姿勢及び大きさを認識したのち、目標軌道データに基づき制御対象３であるアーム５６，５７が上記制御装置１Ａにより動作制御されて、アーム５６，５７の手先効果器５６ａ，５７ａが直方体の物体９０の近傍に移動する、アーム５６，５７の把持準備動作が行われる。一例として、図１３Ａ〜図１３Ｂに示すように、自律移動ロボット５５が移動して、アーム５６，５７の手先効果器５６ａ，５７ａが直方体の物体９０に対向する位置まで回動される。
【０１０９】
次いで、画像認識によるアーム５６，５７のアプローチ動作が行われる。これは、具体的には、ビジュアルフィードバックであって、アーム５６，５７の手先効果器５６ａ，５７ａと直方体の物体９０の相対的な位置関係を画像認識により検出し、手先効果器５６ａ，５７ａと直方体の物体９０が接触しないように手先効果器５６ａ，５７ａの位置を微調整しながら、図１３Ｂにも示すように、手先効果器５６ａ，５７ａにより物体９０を把持可能な位置まで手先効果器５６ａ，５７ａを移動させる。
【０１１０】
次いで、目標軌道データに基づき制御対象３であるアーム５６，５７が上記制御装置１Ａにより動作制御されて、図１３Ｃ〜図１３Ｄにも示すように、手先効果器５６ａ，５７ａを互いに突き合せるようにして挟み込むと同時的に、手先効果器５６ａ，５７ａのそれぞれの指を閉じて、直方体の物体９０を挟み込むことで把持を行う把持動作が行われる。
【０１１１】
次いで、カメラ５９により撮像されて撮り込まれた画像情報に基づく、画像認識による把持確認、すなわち、手先効果器５６ａ，５７ａによる直方体の物体９０の把持動作が成功したか否かが判断される。具体的には、手先効果器５６ａ，５７ａと直方体の物体９０の相対的な位置関係を画像認識により検出し、手先効果器５６ａ，５７ａ間に直方体の物体９０が位置しているかどうかにより、把持動作の成否が判断される。すなわち、手先効果器５６ａ，５７ａの間に直方体の物体９０が位置している場合（図１３Ｄ参照）には、把持動作成功であり、手先効果器５６ａ，５７ａの間に直方体の物体９０が位置していない場合には、把持動作が失敗と判断される。把持動作失敗と判断された場合には、画像認識による手先効果器５６ａ，５７ａの位置の微調整が行われたのち、把持動作及び画像認識による把持確認動作が再度行われる。
【０１１２】
把持動作成功と判断された場合には、目標軌道データに基づき制御対象３であるアーム５６，５７が上記制御装置１Ａにより動作制御されて、手先効果器５６ａ，５７ａにより協調して把持された直方体の物体９０の協調制御による運搬動作を行う。
【０１１３】
次いで、所定位置まで直方体の物体９０を運搬して設置したのち、アーム５６，５７が上記制御装置１Ａにより動作制御されて、直方体の物体９０を把持していた手先効果器５６ａ，５７ａの指が広げられるとともに、手先効果器５６ａ，５７ａ間の間隔が広げられ、直方体の物体９０が手先効果器５６ａ，５７ａから解放される。
【０１１４】
次に、動作制御手段５ｂ，５ｃ，５ｄにより実行される上記制御プログラムの動作ステップについて説明する。
【０１１５】
まず、動作制御手段５ｂ，５ｃが経路選定手段２ｂ，２ｃにアーム５６，５７の関節角度データの転送を要求する。関節角度データを要求された経路選定手段２ｂ，２ｃは、入出力インターフェース４ｂ，４ｃに、それぞれ対応するカウンタ４５に入力されている関節角度データのデータ転送を要求し、カウンタ４５に入力されていたアーム５６，５７の各関節のエンコーダ値が入出力インターフェース４ｂ，４ｃを介して経路選定手段２ｂ，２ｃに返送され、経路選定手段２ｂ，２ｃから動作制御手段５ｂ，５ｃに各関節のエンコーダ値が現在の関節角度データ（関節変数ベクトルｑ１（アーム５６の関節変数ベクトル）及びベクトルｑ２（アーム５７の関節変数ベクトル））として転送される。なお、協調動作時には、力センサ１００の出力値も入出力インターフェース４ｃを介して経路選定手段２ｃ，２ａ，２ｂ，２ｄに送られ、経路選定手段２ｃ，２ａ，２ｂ，２ｄから動作制御手段５ｃ，５ｂ，５ｄに入力される。
【０１１６】
次いで、アーム５６，５７の運動学計算に必要なヤコビ行列Ｊｒ１，Ｊｒ２等の計算が動作制御手段５ｂ，５ｃにより行われる。
【０１１７】
次いで、転送されてきた現在の関節角度データである関節変数ベクトルｑ１及び関節変数ベクトルｑ２を使用して、アーム５６，５７の手先効果器５６ａ，５７ａの現在の手先位置・姿勢ベクトルｒ１，ｒ２が動作制御手段５ｂ，５ｃにより計算される。
【０１１８】
次いで、手先位置に関する位置サーボ補償入力値ｕｐ１，ｕｐ２が下記の式（３ａ）及び（３ｂ）、又は、式（４ａ）及び（４ｂ）の各式を使って動作制御手段５ｂ，５ｃにより計算される。
【０１１９】
独立動作の場合（手先効果器５６ａ，５７ａが直方体の物体９０の近傍に移動する場合、及び、手先効果器５６ａ，５７ａにより物体９０を把持可能な位置まで手先効果器５６ａ，５７ａを移動させる場合）
【０１２０】
【数５】
2004052598.tif 000029
【０１２１】
協調動作の場合（手先効果器５６ａ，５７ａにより協調して把持された直方体の物体９０の協調制御による運搬動作を行う場合）
【０１２２】
【数６】
2004052598.tif 000030
【０１２３】
ただし、ｒ１ｄはアーム５６の手先位置・姿勢ベクトルの目標値であり、ｒ２ｄはアーム５７の手先位置・姿勢ベクトルの目標値であり、ｒｂ＝｛ｒ１＋ｒ２｝／２であり、ｒｂｄ＝｛ｒ１ｄ＋ｒ２ｄ｝／２であり、ｆは把持対象にかかる内力ベクトルであり、ｆｄは内力ベクトルの目標値である。
【０１２４】
予め、位置サーボ補償の目標値は認識・計画手段６ａで計算され、計算結果が共通記憶手段７に格納されているため、経路選定手段２ｂ，２ｃを介して共通記憶手段７から動作制御手段５ｂ，５ｃへ、格納されていた手先位置・姿勢ベクトルの目標値ｒ１ｄ，ｒ２ｄの取り込みが行われる。
【０１２５】
次いで、制御実現のため、アーム５６，５７に加えるべき駆動力ベクトルτ１，τ２が、運動方程式及び位置サーボ補償入力値ベクトルｕｐ１，ｕｐ２より、下記の式（５）を使い動作制御手段５ｂ，５ｃにより計算されて駆動力値が求められる。
【０１２６】
【数７】
2004052598.tif 000031
【０１２７】
ただし、ＫＴはトルク係数行列である。
【０１２８】
次いで、先に動作制御手段５ｂ，５ｃにより計算された駆動力値ベクトルτ１，τ２が、動作制御手段５ｂ，５ｃの各外部入出力用シリアルポート５４より駆動力指令値として出力される。駆動力指令値を受け取った経路選定手段２ｂ，２ｃは、入出力インターフェース４ｂ，４ｃに駆動力指令値を転送し、駆動力指令値が入出力インターフェース４ｂ，４ｃを介してそれぞれのＤ／Ａコンバータ４２に入力され、それぞれのＤ／Ａコンバータ４２によりデジタル信号の駆動力指令値が電圧指令値に変換されて、それぞれのＤ／Ａコンバータ４２からそれぞれの入出力インターフェース４ｂ，４ｃを介してそれぞれ出力される。電圧指令値を入出力インターフェース４ｂ，４ｃから受けたそれぞれのモータードライバ（図３のモータードライバ４３ａ〜４３ｄ参照）は、アーム５６，５７の各関節や手先効果器５６ａ，５７ａに駆動力を発生させる。
【０１２９】
動作制御手段５ｂ，５ｃでは、以上の計算処理ループが実行されることでソフトウェアフィードバック制御系が構成され、例えば１ｍｓｅｃといった決まった時間間隔で、関節角度データの取り込み、及び、駆動力指令値の出力が実行され、実時間の制御が実現される。
【０１３０】
このようにして求められて出力される駆動力値に基づき、上記したアーム５６，５７及び車輪５８の動作が制御される。
【０１３１】
上記した図８Ａに示す分散制御系では、例えば、経路選定手段２ａのように動作制御手段５ｂ，５ｃ，５ｄに直接接続せず、第２〜４分散制御装置１ｂ、１ｃ、及び１ｄの複数のブロックと接続している経路選定手段２ｂ、２ｃ、及び２ｄの転送動作が重要となる。例えば、上記したように２本のアーム５６，５７の手先効果器５６ａ，５７ａで協調して１つの物体を把持する場合、２本のアーム５６，５７には幾何学的な拘束関係が生じるため、この拘束関係を考慮した制御を行わなければならない。また、把持した物体９０には２本のアーム５６，５７の手先効果器５６ａ，５７ａがお互いに押し合ったり、あるいは、引き合ったりすることにより内力が生じるため、この内力を考慮した制御を行わなければならない。こうした協調制御を実現するためには、式（４ａ），（４ｂ）式の計算が必要であり、式（３ａ），（３ｂ）はそれぞれ独立した式であるが、式（４ａ），（４ｂ）とは共通した値があるため、その値のやり取りが動作制御手段５ｂと５ｃとの間で必要であり、そのため、それぞれの手先効果器５６ａ，５７ａを含むアーム５６，５７を制御する第２，３分散制御装置１ｂ及び１ｃの連携がリアルタイムで行われなければならない。
【０１３２】
上記リアルタイムの連携を実現するため、本発明に係る第２実施形態では、動作制御手段５ｂ，５ｃ，５ｄでは、動作制御手段５ｂ，５ｃ，５ｄから出力するデータの中に優先順位データを埋め込んで出力する。例えば、動作制御手段５ｂ，５ｃ，５ｄと他の手段などとの間の接続がシリアル伝送線路で構成されている場合には、パケットデータのブロックの一部分に優先順位データを埋め込むことができる。経路選定手段２ａ，２ｂ，２ｃ，２ｄ，２ｅは、動作制御手段５ｂ，５ｃ，５ｄから送信されてくるデータ内の優先順位データ部分を参照し、そのデータを優先して転送すべきかどうかを判断する。それぞれの経路選定手段２ａ，２ｂ，２ｃ，２ｄ，２ｅでは、データ内の優先順位データ部分の優先順位同士をそれぞれ比較して、優先順位の高いほうのデータ転送を優先し、優先順位の低いほうのデータの転送を、第１実施形態と同様に、一時中止又は待機させる。優先順位の高いほうのデータ転送が終了すると、優先順位の低いほうのデータの転送を行う。パケットデータのブロックの一部分に優先順位データを埋め込む一例としては、パケットを構成するビット列を、前方より、ヘッダを表すビット列、転送元ＩＤを表すビット列、転送先ＩＤを表すビット列、優先順位データを表すビット列、データの種類を表すビット列、転送データを表すビット列、パケットの終端を表すビット列が順番に並んだ構成とすることが考えられる。
【０１３３】
以上のようなデータ転送の優先順位制御を行うことにより、２本のアーム５６，５７の協調動作や、自律移動ロボット５５が移動しながらアーム５６，５７で物体９０を把持するときのアーム５６，５７と車輪５８，５８の協調動作など、より高度な制御を安定して行うことが可能となる。
【０１３４】
さらに、図８Ａに示すように、本発明に係るロボット制御装置１Ａでは、経路選定手段２ａ，２ｂ，２ｃ，２ｄ，２ｅをノードとして各ブロックを接続することができ、分散制御系を容易に構成することができるという特徴がある。また、各ブロック間の通信をシリアル通信で行えば、自律移動ロボット５５体内の配線を簡素にすることができる。また、経路選定手段２ａ，２ｂ，２ｃ，２ｄ，２ｅをノードとして接続を拡張していけば、個々の動作制御手段５ｂ，５ｃ，５ｄや認識・計画手段６ａ，６ｅ等の構造を改変することなく機能の拡張が可能となり、例えば、画像認識に加え、音声認識機能を追加するなど、容易に制御の高度化が可能となる。
【０１３５】
一例として、音声認識機能を図８Ａのロボット制御装置に追加する具体例を以下に説明する。第６分散制御装置として機能する音声認識機能ブロック１ｆは、図１４に示すように、音声入力装置の一例としてのマイク６２と、マイク６２に接続された入出力インターフェース６１と、認識・計画手段６ｆと、認識・計画手段６ｆと入出力インターフェース６１とにそれぞれ接続されるとともに他の経路選定手段（例えば２ｅ）にも接続された経路選定手段２ｆとより構成することができる。経路選定手段２ａ〜２ｅはそれぞれノードの役割をするため、音声認識機能ブロック１ｆの経路選定手段２ｆは、経路選定手段２ｅに限らず、他のどの経路選定手段に接続してもよい。また、図１４に示すように、音声認識機能ブロック１ｆのような音声認識専用ブロックを設けるのではなく、第５分散制御装置１ｅのカメラやセンサ５９のうちのセンサの１つをマイクとして、認識・計画手段６ｅにてマルチタスクで音声認識プログラムを実行するという構成も可能である。
【０１３６】
（第２−Ａ実施形態）
第２−Ａ実施形態として図８Ａに示す第２実施形態と同様の構成で、経路選定手段がデータ転送路のクロック速度を制御できる場合の動作について説明する。第２実施形態で説明したようにアーム５６とアーム５７が独立して動作する場合と、協調して動作する場合で経路選定手段２ａ、２ｂ、２ｃが転送しなければならないデータ量は異なる。これに対し、第２−Ａ実施形態では、アームを協調動作させるときにはアームを独立動作させるときに比べて、データ転送路のクロック速度を、例えば２倍、３倍といった整数倍で上昇させるよう動作する。クロック速度の制御は、動作計画を行う認識・計画手段が行い、協調動作を計画したときに経路選定手段にクロック制御指令を転送し、クロック速度が制御される。このように、クロック速度が制御されることで、データ転送速度をあまり必要としないアームの独立動作時には低速クロックで低消費電力の動作をし、アームの協調動作時には高速クロックでアーム間の連携を確実にし、協調動作を実現する。
【０１３７】
また、画像認識を行うためにカメラ・センサ５９より認識・計画手段６ｅにデータを転送する経路選定手段２ｅに関してもまた、画像認識を行うときのみ高速クロック動作させることにより低消費電力の動作が実現する。
【０１３８】
（第３実施形態）
図９Ａは本発明の第３実施形態におけるロボット制御装置１Ｂの構成を示す図である。図９Ａに示すように、第３実施形態のロボット制御装置１Ｂは、２つの部分、制御対象３の一例である移動ロボット１８に配置される可動側制御装置１１ａと、固定体１８ｂに配置される固定側制御装置１１ｂとに分離された構造となっている。図９Ｂに示すように、移動ロボット１８への応用の場合に、リアルタイム性に影響する部分を可動側制御装置１１ａにまとめて移動ロボット１８のロボット本体に搭載し、その他の非リアルタイムの部分を固定側制御装置１１ｂにまとめ、移動ロボット１８のロボット本体外の固定制御部１８ａに据え置きにし、可動側及び固定側経路選定手段１２ａ、１２ｂ間の通信をアンテナ２０ａ，２０ｂ間の無線にすることにより、機動性が高く、知能的機能も高い移動ロボット１８を容易に構成することができる。
【０１３９】
具体的には、可動側制御装置１１ａは、アンテナ２０ａが接続される第１無線通信手段１１０と、第１無線通信手段１１０に接続される可動側経路選定手段１２ａと、可動側経路選定手段１２ａに接続される入出力インターフェース１４と、可動側経路選定手段１２ａに接続される動作制御手段１５とを備えて、リアルタイム性に影響する部分を構成している。経路選定手段１２ａは、先の実施形態の経路選定手段２と同様な構成を有して同様な機能を基本的に行うものである。入出力インターフェース１４は、先の実施形態の入出力インターフェース４と同様な構成を有して同様な機能（すなわち、各関節のモータをそれぞれ独立的に駆動する機能）を基本的に行うものであり、左右の車輪１３，１３の駆動装置の一例としてのモータ１３ａ，１３ａとエンコーダ１３ｂ，１３ｂとが接続されて、モータ１３ａ，１３ａに駆動信号をそれぞれ独立して出力する一方、モータ１３ａ，１３ａのそれぞれの回転軸（又は車輪１３，１３の車軸）の回転角度を検出するエンコーダ１３ｂ，１３ｂからの回転角度検出信号が入力されるようにしている。また、動作制御手段１５は、先の実施形態の動作制御手段５と同様な構成を有して同様な機能を基本的に行うものであって、ＯＳ（オペレーティングシステム）を搭載せず、左右の車輪１３，１３の動作制御のためのプロセス（例えば、左右の車輪１３，１３の動作制御を行うための実時間の計算）がシングルタスクで実行されている。
【０１４０】
固定側制御装置１１ｂは、アンテナ２０ｂが接続される第２無線通信手段１１１と、第２無線通信手段１１１に接続される固定側経路選定手段１２ｂと、固定側経路選定手段１２ｂに接続されるとともにカメラ１９が接続される入出力インターフェース１７と、固定側経路選定手段１２ｂに接続される認識・計画手段１６とを備えて、その他の非リアルタイムの部分を構成している。経路選定手段１２ｂは、先の実施形態の経路選定手段２と同様な構成を有して同様な機能を基本的に行うものである。認識・計画手段１６は、先の実施形態の認識・計画手段６と同様な構成を有して同様な機能を基本的に行うものであって、マルチタスクのＯＳを搭載し、移動ロボット１８の２つの車輪１３，１３の動作の計画や判断のためのプロセス、及び、画像認識のための画像認識プロセスが時分割のマルチタスクで実行されるようになっている。画像認識プロセスの一例としては、入出力インターフェース１７に接続されたカメラ１９より取り込んだ画像を元に移動ロボット１８の位置、姿勢を認識し、認識結果のデータは、移動ロボット１８の絶対座標系の位置・姿勢データとしてプロセス間通信により作業計画プロセスに引き渡すような処理である。
【０１４１】
上記第１，第２無線通信手段１１０，１１１は、経路選定手段１２ｂ，１２ａから送られてくるデジタルデータに変調をかけることによりアナログの電波として送信、及びアナログの電波を受信し、復調することでデジタルのデータを得るための手段であり、それぞれ、ベースバンド回路やＲＦ回路から構成される。また、無線通信方式としては、スペクトラム拡散方式などが適している。
【０１４２】
上記作業計画プロセスで計画された目標軌道データは、経路選定手段１２ｂにより第２無線通信手段１１１に転送され、第２無線通信手段１１１により変調された後、電波として送信される。固定側制御装置１１ａで受信された電波は、第１無線通信手段１１０により目標軌道データとして復調される。復調された目標軌道データは、経路選定手段１２ａの記憶手段に一時的に格納され、時間的な緩衝をとった後、動作制御手段１５に転送される。
【０１４３】
上記した図９Ａに示す分散制御系では、電波状況が悪いときには第１，第２無線通信手段１１０，１１１間の無線通信において送信エラーが頻発し、再送が繰り返され、転送待ちが発生するという問題に対応しなければならない。そういった状況においても、安定した実時間制御を可能とするために、経路選定手段１２ａは、動作制御手段１５と入出力インターフェース１４間のデータ転送を優先する。また、送信エラーが頻発し、目標軌道データが得られず、時間的な緩衝がとれなくなった際には、逆に、第２無線通信手段１１０からのデータ転送を優先し、動作制御手段１５は制御周期を遅くし、かつ、移動ロボットの速度を遅くするか、静止させ、動作が不安定になるのを防止する。
【０１４４】
以上のようなデータ転送の優先順位制御を行うことにより、より高度な制御を安定して行うことが可能となる。
【０１４５】
また、経路選定手段１２ａ，１２ｂをノードとして接続を拡張していけば、動作制御手段１５や認識・計画手段１６等の構造を改変することなく機能の拡張が可能となり、例えば、画像認識に加え、音声認識機能を追加したり、移動ロボット１８が掃除ロボットの場合には吸引動作機能を追加するなど、容易に制御の高度化が可能となる。
【０１４６】
なお、本発明は上記実施形態に限定されるものではなく、その他種々の態様で実施できる。
【０１４７】
例えば、上記第１、２及び３実施形態では、認識・計画手段での画像認識のための画像データの転送を例としたが、これに限られるわけではなく、音声認識のための音声データの転送、通信ネットワークを介してのロボットの遠隔操縦のためのデータ（動作指令データや力覚フィードバックデータ）の転送であっても同様の効果を発揮する。
【０１４８】
また、上記第１、２及び３実施形態ではアーム型ロボット及び車輪移動ロボットを制御対象としたが、これに限られるわけではなく、所定の動作を行わせるアクチュエータを有する装置、例えば、アーム型ロボット及び車輪移動ロボット以外の人間型２足歩行ロボットや４足歩行ロボット、あるいは電子部品実装機やＮＣ工作機械、さらには自動車（エンジン制御、トランスミッション制御、ＡＢＳ制御、アクティブサスペンション制御等）等の輸送機械といった機構制御の分野で同様の効果を発揮することは言うまでもない。
【０１４９】
また、経路選定手段は、常に、動作制御手段との間のデータ転送を優先させるのではなく、例えば、危険回避動作などのロボットの動作障害の程度に応じて、優先順位を変更するようにしてもよい。例えば、危険回避動作用のデータ転送は他の全てのデータ転送に対して優先させ、その他のデータ転送は、先に経路選定手段に入ったものから転送するようにしてもよい。
【０１５０】
また、データ転送優先順位の情報を経路選定手段に対して一旦設定したのち、データ転送優先順位の変更情報入力可能として、使用環境の変化、状況の変化などの制御状況に応じて、データ転送優先順位を変更可能としてもよい。
【０１５１】
なお、上記動作制御手段でのリアルタイム処理とは、ある一定の微小な時間間隔（例えば１ｍｓｅｃ）Δｔ（制御周期）で制御のための指令が出力され、制御対象の状態データ（関節角データなど）が入力される処理であり、機構のフィードバックによる動作制御を実現するために必須の処理である。また、上記非動作制御手段での作業計画とは、上記のある一定の微小な時間間隔Δｔのような時間的拘束を行わない処理を意味する。一例として、図１５において、状態入力がされると同時に所定の計算処理が行なわれ、その計算結果が指令出力として出力される場合、指令出力すなわち動作制御のための計算処理は、必ず時間間隔Δｔ内で終了することとし、時間間隔Δｔ内で計算処理が早く終わると、指令出力までの時間は余裕時間となる。このように、リアルタイム処理とは、入力と出力とが必ず時間間隔Δｔごとに実行される処理のことを意味する。
【０１５２】
なお、上記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【０１５３】
本発明のロボット制御装置によれば、各手段など、例えば、動作制御手段、認識・計画手段、入出力インターフェースなどの間の接続を切り換えることで通信を制御する経路選定手段を設けることにより、システムの拡張性を確保しつつ、各手段などの間の接続を簡素な構造にでき、かつ、各手段などの間の通信を転送待ちの発生が少なくなるよう切り換え制御することができ、制御の高度な知能化のために必要な画像などの大容量データを簡素な構造でリアルタイム性を確保しつつ扱うことのできるロボット制御装置を提供することができる。
【０１５４】
また、ＣＰＵの演算処理能力が高速であり、自由度数が、例えば３以下のロボットアームの制御等、複雑な制御が必要ない場合には、動作制御手段を非リアルタイム処理手段で構成しても動作制御は可能である。この場合には、動作制御手段として汎用のマルチタスクＯＳが搭載されたＣＰＵボード等の使用が可能であり、システムの構築や制御プログラムの作成が容易であるという利点を有する。
【０１５５】
また、認識・計画手段をリアルタイム手段で実現することも可能であり、その場合にはＯＳを搭載しない小規模なＣＰＵボードや、小規模なリアルタイムＯＳを搭載したＣＰＵボード等、簡素なシステムとすることができる。また、特に、動作計画をリアルタイム処理手段で実現する場合には、リアルタイムに目標軌道の生成が可能となり、動作制御を安定して行うことができる。
【０１５６】
第１経路選定手段および第２経路選定手段のように複数の経路選定手段を有することにより、図８Ａに示すロボットのように１ａ、１ｂ、１ｃ、１ｄ、１ｅの複数の分散制御装置を有する構成や、図９Ａに示すロボットのように制御装置が分離した構成を容易に構築することができる利点を有する。
【０１５７】
また、本発明のロボット制御装置は、実時間制御を実現するための計算処理を行う動作制御手段と、知能処理を実現するための計算処理を行う認識・計画手段と、制御対象への指令を出力し、制御対象の状態を入力するための入出力インターフェースと、上記動作制御手段、上記認識・計画手段及び上記入出力インターフェース間の接続を切り換えることで通信を制御する経路選定手段とを備える。
【０１５８】
これにより、システムの拡張を行うときには経路選定手段に新たな手段を接続するだけでよいといった、システムの拡張性を確保しつつ、各手段などの間の接続を簡素な構造にすることができ、かつ、各手段などの間の通信を転送待ちの発生が少なくなるよう切り換え制御することができる。
【０１５９】
上記経路選定手段は、上記動作制御手段からの転送要求を優先するよう動作することで、動作制御手段の実時間性を確保することができる。
【０１６０】
また、上記経路選定手段は、記憶手段を有するとともに、上記動作制御手段と上記認識・計画手段と入出力インターフェースと、上記経路選定手段とが互いにシリアル伝送路により接続されるようにすることにより、上記経路選定手段の記憶手段で、転送すべきデータのうち待機させられるデータが経路選定手段の記憶手段に記憶されて待避させられることにより、上記動作制御手段と上記認識・計画手段間の時間的な緩衝をとることができるようになる。
【０１６１】
また、本発明のロボット制御装置は、実時間制御を実現するための計算処理を行う動作制御手段と、知能処理を実現するための計算処理を行う認識・計画手段と、上記動作制御手段と上記認識・計画手段間の時間的な緩衝をとる共通記憶手段と、制御対象への指令を出力し、制御対象の状態を入力するための入出力インターフェースと、上記動作制御手段、上記認識・計画手段、上記共通記憶手段及び上記入出力インターフェース間の接続を切り換える経路選定手段とを備える。
【０１６２】
これにより、実時間の制御を実行しながら、知能処理を並列して実行することができる。
【０１６３】
なお、上記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【０１６４】
本発明は、添付図面を参照しながら好ましい実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形や修正は明白である。そのような変形や修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。
【図面の簡単な説明】
【０１６５】
本発明のこれらと他の目的と特徴は、添付された図面についての好ましい実施形態に関連した次の記述から明らかになる。
【図１】本発明の第１実施形態におけるロボット制御装置の構成を示すブロック図である。
【図２】本発明の第１実施形態におけるロボット制御装置の経路選定手段の構造を示すブロック図である。
【図３】本発明の第１実施形態におけるロボット制御装置の入出力インターフェースの構造及びロボットを示す図である。
【図４】本発明の第１実施形態におけるロボット制御装置の動作制御手段あるいは認識・計画手段の構造を示すブロック図である。
【図５】本発明の第１実施形態における作業動作に関するフローチャートである。
【図６】本発明の第１実施形態におけるロボット制御装置の動作制御手段で実行される制御プログラムのアルゴリズムを示すフローチャートである。
【図７】転送モードの説明図である。
【図８Ａ】本発明の第２実施形態におけるロボット制御装置の構成を示す図及びロボットの図である。
【図８Ｂ】本発明の第２実施形態におけるロボット制御装置の構成を示す図及びロボットの図である。
【図９Ａ】本発明の第３実施形態におけるロボット制御装置の構成を示す図及びロボットなどの制御対象の図である。
【図９Ｂ】本発明の第３実施形態におけるロボット制御装置の構成を示す図及びロボットなどの制御対象の図である。
【図１０】従来の制御装置の構成を示すブロック図である。
【図１１】本発明の上記実施形態におけるロボット制御装置のＬＳＩ間の配線を示す説明図である。
【図１２Ａ】本発明の第１実施形態におけるマニュピュレータの作業動作を説明するための説明図である。
【図１２Ｂ】本発明の第１実施形態におけるマニュピュレータの作業動作を説明するための説明図である。
【図１２Ｃ】本発明の第１実施形態におけるマニュピュレータの作業動作を説明するための説明図である。
【図１３Ａ】本発明の第２実施形態における２本のアームの作業動作を説明するための説明図である。
【図１３Ｂ】本発明の第２実施形態における２本のアームの作業動作を説明するための説明図である。
【図１３Ｃ】本発明の第２実施形態における２本のアームの作業動作を説明するための説明図である。
【図１３Ｄ】本発明の第２実施形態における２本のアームの作業動作を説明するための説明図である。
【図１４】音声認識機能を追加された、本発明の第２実施形態におけるロボット制御装置の構成の一部を示す図である。
【図１５】リアルタイム処理を説明するための説明図である。
【図１６】データ転送１〜５と転送先とデータ種と優先データとの関係の表を示す図である。
【図１７】第１−Ａ実施形態における、経路選定手段での転送制御方法を説明する表を示す図である。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2004052598.tif 000032
【図２】
2004052598.tif 000033
【図３】
2004052598.tif 000034
【図４】
2004052598.tif 000035
【図５】
2004052598.tif 000036
【図６】
2004052598.tif 000037
【図７】
2004052598.tif 000038
【図８Ａ】
2004052598.tif 000039
【図８Ｂ】
2004052598.tif 000040
【図９Ａ】
2004052598.tif 000041
【図９Ｂ】
2004052598.tif 000042
【図１０】
2004052598.tif 000043
【図１１】
2004052598.tif 000044
【図１２Ａ】
2004052598.tif 000045
【図１２Ｂ】
2004052598.tif 000046
【図１２Ｃ】
2004052598.tif 000047
【図１３Ａ】
2004052598.tif 000048
【図１３Ｂ】
2004052598.tif 000049
【図１３Ｃ】
2004052598.tif 000050
【図１３Ｄ】
2004052598.tif 000051
【図１４】
2004052598.tif 000052
【図１５】
2004052598.tif 000053
【図１６】
2004052598.tif 000054
【図１７】
2004052598.tif 000055
【手続補正書】
【提出日】平成17年11月4日(2005.11.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御対象の動作制御を実現するための演算処理を行う動作制御手段と、
上記制御対象の作業・動作計画や外界認識を行う認識・計画手段と、
上記制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェースと、
複数の外部入出力ポートを持ち、そのうちの１つに上記認識・計画手段が接続されたデジタル信号の経路を切り換えるスイッチにより、上記認識・計画手段と接続される第１経路選定手段と、
複数の外部入出力ポートを持ち、それぞれ上記動作制御手段と、上記第１経路選定手段と、上記入出力インターフェースとに接続されたデジタル信号の経路を切り換えるスイッチにより、上記動作制御手段と上記第１経路選定手段と上記入出力インターフェースと接続される第２経路選定手段とを備えて、
上記第１経路選定手段は、上記第２経路選定手段と上記認識・計画手段との接続を切り換えることで通信を制御するとともに、上記第２経路選定手段は、上記認識・計画手段と上記第１経路選定手段と上記入出力インターフェースとの接続を切り換えることで通信を制御しながら、上記制御対象の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象であるロボットの動作を制御するロボット制御装置。
【請求項２】
上記経路選定手段は、データ転送の優先順位を制御する機能を有して、上記経路選定手段により、上記データ転送の優先順位に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項１に記載のロボット制御装置。
【請求項３】
上記経路選定手段は、上記制御対象の制御状況に応じてデータ転送の優先順位を制御して、上記経路選定手段により、上記制御対象の制御状況に応じて上記データ転送の優先順位に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項２に記載のロボット制御装置。
【請求項４】
上記経路選定手段は、転送データ中に埋め込まれた優先順位データによりデータ転送の優先順位を制御する請求項２に記載のロボット制御装置。
【請求項５】
上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データの転送を一時停止するよう動作する請求項２に記載のロボット制御装置。
【請求項６】
上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データの間引きを実行するよう動作する請求項２に記載のロボット制御装置。
【請求項７】
上記経路選定手段は、データ転送容量の占有率を制御する機能を有して、上記経路選定手段により、上記データ転送容量の占有率に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項１に記載のロボット制御装置。
【請求項８】
上記経路選定手段は、上記制御対象の制御状況に応じて上記データ転送容量の上記占有率を制御して、上記経路選定手段により、上記制御対象の制御状況に応じて上記データ転送容量の上記占有率に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項７に記載のロボット制御装置。
【請求項９】
上記経路選定手段は、転送データ中に埋め込まれた占有率データにより上記データ転送容量の上記占有率を制御する請求項７に記載のロボット制御装置。
【請求項１０】
上記経路選定手段は、データ転送のクロック速度を制御する機能を有して、上記制御対象の制御状況に応じて上記データ転送のクロック速度を変化させ、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした請求項１に記載のロボット制御装置。
【請求項１１】
上記制御対象の制御状況は制御誤差である請求項３、請求項８、又は請求項１０に記載のロボット制御装置。
【請求項１２】
上記制御対象の制御状況は制御目標値である請求項３、請求項８、又は請求項１０に記載のロボット制御装置。
【請求項１３】
上記経路選定手段は、データ転送要求を告知するための専用信号線を有する請求項３〜６のいずれか１つに記載のロボット制御装置。
【請求項１４】
上記経路選定手段は、上記動作制御手段と上記認識・計画手段間の時間的な緩衝をとる記憶手段を有して、
上記経路選定手段は、上記動作制御手段と上記認識・計画手段と上記共通記憶手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御する請求項１に記載のロボット制御装置。
【請求項１５】
上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データを上記記憶手段に待避するよう動作する請求項８に記載のロボット制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本発明は、上記目的を達成するため、以下のように構成している。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
本発明の第１態様によれば、制御対象の動作制御を実現するための演算処理を行う動作制御手段と、
上記制御対象の作業・動作計画や外界認識を行う認識・計画手段と、
上記制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェースと、
上記認識・計画手段と接続される第１経路選定手段と、
上記動作制御手段と上記第１経路選定手段と上記入出力インターフェースと接続される第２経路選定手段とを備えて、
上記第１経路選定手段は、上記第２経路選定手段と上記認識・計画手段との接続を切り換えることで通信を制御するとともに、上記第２経路選定手段は、上記認識・計画手段と上記第１経路選定手段と上記入出力インターフェースとの接続を切り換えることで通信を制御しながら、上記制御対象の上記作業・動作計画及び上記外界認識の結果に基づいて上記制御対象であるロボットの動作を制御するロボット制御装置を提供する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
例えば、この第１態様の１つの具体的な例として、実時間制御を実現するための計算処理を行う動作制御手段と、
知能処理を実現するための計算処理を行う認識・計画手段と、
制御対象への指令を出力し、上記制御対象の状態を入力するための入出力インターフェースと、
上記認識・計画手段と接続される第１経路選定手段と、
上記動作制御手段と上記第１経路選定手段と上記入出力インターフェースと接続される第２経路選定手段とを備えて、
上記第１経路選定手段は、上記第２経路選定手段と上記認識・計画手段との接続を切り換えることで通信を制御するとともに、上記第２経路選定手段は、上記動作制御手段と上記第１経路選定手段と上記入出力インターフェースとの接続を切り換えることで通信を制御しながら、上記制御対象であるロボットの動作を制御するロボット制御装置を提供する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
本発明の第２態様によれば、上記経路選定手段は、データ転送の優先順位を制御する機能を有して、上記経路選定手段により、上記データ転送の優先順位に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第１の態様に記載のロボット制御装置を提供する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
本発明の第３態様によれば、上記経路選定手段は、上記制御対象の制御状況に応じてデータ転送の優先順位を制御して、上記経路選定手段により、上記制御対象の制御状況に応じて上記データ転送の優先順位に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第２の態様に記載のロボット制御装置を提供する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
本発明の第４態様によれば、上記経路選定手段は、転送データ中に埋め込まれた優先順位データによりデータ転送の優先順位を制御する第２の態様に記載のロボット制御装置を提供する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
本発明の第５態様によれば、上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データの転送を一時停止するよう動作する第２の態様に記載のロボット制御装置を提供する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
本発明の第６態様によれば、上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データの間引きを実行するよう動作する第２の態様に記載のロボット制御装置を提供する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
本発明の第７態様によれば、上記経路選定手段は、データ転送容量の占有率を制御する機能を有して、上記経路選定手段により、上記データ転送容量の占有率に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第１の態様に記載のロボット制御装置を提供する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
本発明の第８態様によれば、上記経路選定手段は、上記制御対象の制御状況に応じて上記データ転送容量の上記占有率を制御して、上記経路選定手段により、上記制御対象の制御状況に応じて上記データ転送容量の上記占有率に従って上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第７の態様に記載のロボット制御装置を提供する。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
本発明の第９態様によれば、上記経路選定手段は、転送データ中に埋め込まれた占有率データにより上記データ転送容量の上記占有率を制御する第７の態様に記載のロボット制御装置を提供する。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
本発明の第１０態様によれば、上記経路選定手段は、データ転送のクロック速度を制御する機能を有して、上記制御対象の制御状況に応じて上記データ転送のクロック速度を変化させ、上記動作制御手段と上記認識・計画手段と上記入出力インターフェースとの間の接続を切り換えて通信を制御するようにした第１の態様に記載のロボット制御装置を提供する。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
本発明の第１１態様によれば、上記制御対象の制御状況は制御誤差である第３、８、又は１０の態様に記載のロボット制御装置を提供する。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
本発明の第１２態様によれば、上記制御対象の制御状況は制御目標値である第３、８、又は１０の態様に記載のロボット制御装置を提供する。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
本発明の第１３態様によれば、上記経路選定手段は、データ転送要求を告知するための専用信号線を有する第２〜６のいずれか１つの態様に記載のロボット制御装置を提供する。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
本発明の第１４態様によれば、上記経路選定手段は、上記動作制御手段と上記認識・計画手段間の時間的な緩衝をとる記憶手段を有して、
上記経路選定手段は、上記動作制御手段と上記認識・計画手段と上記共通記憶手段と上記入出力インターフェースとの間の接続を切り換えることで通信を制御する第１の態様に記載のロボット制御装置を提供する。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
本発明の第１５態様によれば、上記経路選定手段は、データ転送の優先順位を制御する際に、非優先データを上記記憶手段に待避するよう動作する第８の態様に記載のロボット制御装置を提供する。
【国際調査報告】
2004052598.tif 000056
2004052598.tif 000057
2004052598.tif 000058
2004052598.tif 000059