(57)【要約】【課題】安価な構成で、非システムフィードバック制御時の繰り返し位置再現性及び軌跡追従精度を低下させることなく、システムフィードバック制御時の高い応答性を得られる構造を実現する。【解決手段】上位コントローラ１は、動作対象物の目標動作を行うための基準量を基準量演算部４により演算する。演算された基準量は、下位コントローラ２に送られ、基準量バッファ部１５に一旦保持される。一方、上位コントローラ１の補正量演算部５が、力覚センサ１２により検知された力覚量に基づいて補正量を演算する。演算された補正量は、下位コントローラ２に送られる。下位コントローラ２の制御部１７は、バッファされた基準量とこの下位コントローラ２に送られた補正量に基づいてモータ１９を制御する。【選択図】図１
2013127670.tif 000002
【特許請求の範囲】
【請求項１】
動作対象物の目標動作を決定する上位コントローラと、前記上位コントローラで決定された前記目標動作に基づいて前記動作対象物の駆動源を制御する下位コントローラと、を備えた制御装置において、
前記上位コントローラは、前記目標動作を行うための基準量を演算する基準量演算部と、前記動作対象物の状態を検知するセンサの情報に基づいて補正量を演算する補正量演算部と、前記基準量及び前記補正量を前記下位コントローラに送信する送信部と、を有し、
前記下位コントローラは、前記送信部から送信された前記基準量及び前記補正量を受信する受信部と、前記受信部で受信した前記基準量を所定量保持する基準量バッファ部と、前記基準量バッファ部に保持された前記基準量を順次演算し、且つ、前記受信部で受信して前記基準量バッファ部に保持せずに前記補正量を演算し、前記駆動源を制御する制御部と、を有する、
ことを特徴とする制御装置。
【請求項２】
前記下位コントローラは、前記基準量バッファ部で保持した順番で前記基準量をバッファ後基準量として、前記上位コントローラの前記補正量演算部に送り、
前記補正量演算部は、前記バッファ後基準量と前記センサの情報に基づいて前記補正量を演算する、
ことを特徴とする、請求項１に記載の制御装置。
【請求項３】
前記上位コントローラは、前記送信部で送信する前記基準量を、前記下位コントローラの前記基準量バッファ部と同じ量保持する別の基準量バッファ部を有し、
前記別の基準量バッファ部は、保持した順番で前記基準量をバッファ後基準量として前記補正量演算部に送り、
前記補正量演算部は、前記バッファ後基準量と前記センサの情報に基づいて前記補正量を演算する、
ことを特徴とする、請求項１に記載の制御装置。
【請求項４】
動作対象物を駆動する複数の駆動源と、前記複数の駆動源を制御する、請求項１ないし３のうちの何れか１項に記載の制御装置と、を備えたことを特徴とする駆動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位コントローラで動作対象物の目標動作を決定して、決定した目標動作に基づいて下位コントローラが動作対象物の駆動源を制御する制御装置、及び、このような制御装置を備えた駆動装置に関する。
【背景技術】
【０００２】
一般にロボットや工作機械、生産装置など複数のモータなどの駆動源を有し、動作対象物の高い繰り返し位置再現性、軌跡追従精度を要求される駆動装置では、複数の駆動源はお互い同期して動作する必要がある。ここで、繰り返し位置再現性とは、例えば、同じ動作を複数回繰り返した場合の動作対象物の位置の再現性である。軌跡追従精度とは、目標移動位置までの軌跡に対する追従精度であり、例えば、軌跡が直線である場合に、動作対象物をどの程度その直線に沿って移動させられるかと言う性能である。
【０００３】
また、小型化やメンテナンス性などの観点から、複数の駆動源にそれぞれ下位コントローラを接続し、それら複数の下位コントローラと１個の上位（集中）コントローラをシリアルに接続する構成がしばしば取られる。この場合は一般的に、上位コントローラは複数の駆動源についてそれぞれ目標動作を決定し、下位コントローラはそれぞれが接続された駆動源が目標動作に追従するように制御する役割が分担される。
【０００４】
上述のような構成をとる駆動装置において、上位コントローラのオペレーティングシステム（ＯＳ）としては、上位コントローラと複数の下位コントローラとの互いの同期をとるためのリアルタイム性能の高いものを採用することが望ましい。以下、リアルタイム性能の高いオペレーティングシステムをリアルタイムＯＳと呼ぶ。
【０００５】
下位コントローラにおいては、駆動源の制御、上位コントローラとの通信などの比較的少ない機能を実現すればよく、計算量、データ量も少ないため安価なリアルタイムＯＳで十分な場合が多い。また、ＯＳ自体を利用しなくても開発負荷はそれほど高くない。
【０００６】
一方、上位コントローラにおいては、複雑な幾何学計算や力学計算などを行うため、計算量、データ量が多くなり、高性能なＣＰＵや比較的大きな容量の記憶装置が必要とされる場合が多い。しかし、高性能なＣＰＵや大容量の記憶装置等をサポートする多機能なリアルタイムＯＳはコストが高く、システムのコストを引き上げる要因の一つとなっている。
【０００７】
近年、商用利用可能なフリーの多機能なリアルタイムＯＳが広まりつつあり、これを採用できれば商用と比較してシステムのコストを下げられる。しかし、フリーのリアルタイムＯＳは商用と比較してリアルタイム性能が低い場合が多い。このため、前述の上位コントローラ、複数の下位コントローラ間の同期間隔に発生するばらつきが大きくなり、繰り返し位置再現性、軌跡追従精度が低下し易い。
【０００８】
ここで、リアルタイム性を考慮していない非リアルタイムＯＳであっても軌跡制御を可能とすべく、上位コントローラから非同期で下位コントローラへ目標位置を送信して軌跡制御を行う構成が提案されている（特許文献１参照）。
【０００９】
ところで、近年ロボットは多機能化しており、予め演算した軌跡に対してインピーダンス制御やビジュアルフィードバック制御など力覚、視覚などのセンサ情報を用いて補正を行うような機能が望まれている。このような機能において、多くの場合、駆動源の動作の補正はロボット全体の姿勢を考慮する必要があるため、上位コントローラで演算する必要がある。
【００１０】
以下、インピーダンス制御やビジュアルフィードバック制御のような下位コントローラのみで完結できない制御をシステムフィードバック制御と呼ぶこととする。また、駆動源の位置制御のように下位コントローラのみで完結できる制御をローカルフィードバック制御と呼び、ローカルフィードバック制御のみを実施している状態を非システムフィードバック制御状態と呼ぶこととする。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−７２３９９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述の特許文献１の場合、上位コントローラで演算した複数の駆動源の目標位置をそれぞれ下位コントローラで一旦バッファしているが、上位コントローラで演算した補正量が必要ない非システムフィードバック制御を行う分には問題はない。但し、システムフィードバック制御を行う場合、センサ情報から演算した補正量を実際の駆動源の動作に反映するまでに時間遅れが発生する。即ち、補正量もバッファされてしまうため、この補正量が動作に反映されるまでに時間が掛かる。この結果、システムフィードバック制御のフィードバックループにむだ時間を発生させるため、システムフィードバック制御の応答性が低下する。
【００１３】
本発明は、このような事情に鑑み、安価な構成で、非システムフィードバック制御時の繰り返し位置再現性及び軌跡追従精度を低下させることなく、システムフィードバック制御時の高い応答性を得られる構造を実現すべく発明したものである。
【課題を解決するための手段】
【００１４】
本発明は、動作対象物の目標動作を決定する上位コントローラと、前記上位コントローラで決定された前記目標動作に基づいて前記動作対象物の駆動源を制御する下位コントローラと、を備えた制御装置において、前記上位コントローラは、前記目標動作を行うための基準量を演算する基準量演算部と、前記動作対象物の状態を検知するセンサの情報に基づいて補正量を演算する補正量演算部と、前記基準量及び前記補正量を前記下位コントローラに送信する送信部と、を有し、前記下位コントローラは、前記送信部から送信された前記基準量及び前記補正量を受信する受信部と、前記受信部で受信した前記基準量を所定量保持する基準量バッファ部と、前記基準量バッファ部に保持された前記基準量を順次演算し、且つ、前記受信部で受信して前記基準量バッファ部に保持せずに前記補正量を演算し、前記駆動源を制御する制御部と、を有する、ことを特徴とする制御装置にある。
【発明の効果】
【００１５】
本発明によれば、下位コントローラの制御部は、上位コントローラで演算した補正量についてはバッファに一旦保持せずに駆動源を制御するため、補正量を実際の動作に反映するまでの時間遅れが生じにくい。このため、システムフィードバック制御時の高い応答性を実現できる。一方、上位コントローラで演算した基準量は下位コントローラの基準量バッファ部に一旦保持するため、上位コントローラのリアルタイム性能によらず非システムフィードバック制御時の繰り返し位置再現性及び軌跡追従精度を保証することができる。また、上位コントローラのリアルタイム性能が要求されないため、安価なリアルタイムＯＳを使用できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係る制御装置の構成を示すブロック図。
【図２】第１の実施形態に係る上位コントローラの処理手順を示すフローチャート。
【図３】第１の実施形態に係る下位コントローラの処理手順を示すフローチャート。
【図４】本発明の第２の実施形態に係る制御装置の構成を示すブロック図。
【図５】本発明の駆動装置の１例を示す概略構成斜視図。
【発明を実施するための形態】
【００１７】
＜第１の実施形態＞
本発明の第１の実施形態について、図１ないし図３を用いて説明する。本実施形態の制御装置は、図１に示すように、上位コントローラ１と複数の下位コントローラ２とを有する。上位コントローラ１は、動作対象物である例えばロボットアームなどの駆動装置の目標動作を決定する。下位コントローラ２は、上位コントローラ１で決定された目標動作に基づいて動作対象物の駆動源であるモータ１９を制御する。上位コントローラ１と複数の下位コントローラ２とは、通信線３により接続されている。なお、駆動源は、回転式のモータの他、ソレノイドやリニアモータなどであっても良く、更にこのように通電により駆動するもの以外に、油圧シリンダやエアシリンダなどの圧縮された液体や空気により駆動するものであっても良い。
【００１８】
また、上位コントローラ１には、動作対象物の状態を検知するセンサとしての、ロボットの手先に搭載された力覚センサ１２が接続されている。力覚センサ１２は、ロボットの手先に作用する力やモーメントなどを検知するもので、例えば、ひずみゲージや圧電素子などにより構成される。なお、このようなセンサとしては、力覚センサ以外に、カメラなどの視覚センサを用いても良い。
【００１９】
上位コントローラ１は、基準量６を演算する基準量演算部４と、力覚センサ１２の出力を力覚量１１に変換するＡ／Ｄ変換部１０と、補正量７を演算する補正量演算部５と、下位コントローラ２との送受信を行う通信部８から構成される。また、下位コントローラ２は、上位コントローラ１との送受信を行う通信部１３と、受信した基準量１４を所定量保持する基準量バッファ部１５と、基準量１４と補正量１６に基づいてモータ１９を制御する制御部１７とから構成される。
【００２０】
基準量演算部４は、予め与えられたロボット言語プログラム、予め与えられたリンク長、モータ１９の回転方向および速度制限値、トルク制限値などから各モータ１９の目標動作を計算し、基準量６とする。例えば、ユーザが動作対象物であるロボットに行わせたい動作をコマンドとして入力し、そのコマンドを実行するための各モータ１９の目標動作を基準量として演算する。
【００２１】
より具体的には、例えば、ユーザがロボットアームの手先を或る地点に移動させるために、その終点まで直線で移動するというコマンドを入力したとする。この場合、基準量演算部４は、始点から終点までの直線の軌跡を演算し、その軌跡を複数に分割する。そして、分割した各地点にロボットアームの手先を移動させるために、アームの各関節（駆動軸）に設けたモータ１９の回転角度や回転速度などをそれぞれ基準量として演算する。
【００２２】
補正量演算部５は、力覚量１１と予め与えられた質量係数、粘性係数、コンプライアンス係数といったインピーダンス制御パラメータからロボットアームの手先位置、姿勢の補正量を演算する。また、後述するバッファ後基準量９と予め与えられたリンク長、各モータ１９の回転方向からヤコビ行列を計算し、ロボットアームの手先位置、姿勢の補正量を各モータ１９の補正量７へ変換する。
【００２３】
例えば、ロボットアームの手先が上述した軌跡に従って移動しているときに障害物に接触したとする。この時、力覚センサ１２がこの接触を検知し、力覚量１１が補正量演算部５に入力される。補正量演算部５は、この力覚量に基づいて、ロボットアームの手先が障害物を回避するような各モータ１９の補正量７を演算する。
【００２４】
上位コントローラ１の通信部８は、このような基準量６及び補正量７を下位コントローラ２に送信する送信部としての機能と、後述するバッファ後基準量１８を下位コントローラ２から受信する受信部としての機能を有する。一方、下位コントローラ２の通信部１３は、このような基準量６及び補正量７を受信する受信部としての機能と、後述するバッファ後基準量１８を上位コントローラ１に送信する送信部としての機能を有する。これら通信部８と通信部１３とは、通信線３により接続され、上述のような情報の送受信を行う。なお、このような情報の送受信は、有線に限らず無線により行っても良い。
【００２５】
基準量バッファ部１５は、通信部１３で受信した基準量を所定量保持する。例えば、上述のようにロボットアームの手先を演算した軌跡に沿って移動させるために、分割した各地点までの各モータ１９の回転角度などの基準量を順次、保持していく。
【００２６】
ここで、基準量バッファ部１５が基準量を保持できる個数最大値Ｎｍａｘは、上位コントローラ１の同期誤差最大値Ｔｍａｘと周期処理の実行周期ΔＴから、Ｎｍａｘ＞２×Ｔｍａｘ／ΔＴとなるように設定することが望ましい。なお、同期誤差最大値とは、上位コントローラ１のハードウエアやＯＳにより決まる同期誤差の最大値である。例えば、所定の間隔で同期を行う場合に、その間隔が前後にずれる可能性がある最大量であり、その上位コントローラ１は、所定の周期ΔＴに対して±Ｔｍａｘの範囲で同期を行うことができるという意味である。
【００２７】
制御部１７は、基準量バッファ部１５に保持された基準量１４を順次演算し、且つ、通信部１３で受信して基準量バッファ部１５に保持せずに補正量１６を演算し、モータ１９を制御する。具体的には、バッファされた先頭（或いは次の）基準量１４に、受信した補正量１６を加算して制御目標量とする。そして、制御目標量とモータ１９の回転角度を検知するエンコーダの出力値（センサ量）との偏差をＰＩＤ制御系の入力として、モータ制御量を計算して、モータ１９に出力することでローカルフィードバックを行う。
【００２８】
なお、受信した補正量１６は、下位コントローラ２のメモリに一旦保持されて、バッファされた先頭の基準量１４とタイミングを合わせて処理されるようにしても良い。或いは、受信した補正量１６を、バッファされた先頭の基準量１４とタイミングを合わせて、直接、制御部１７のＣＰＵに送るようにしても良い。要は、受信した補正量１６は、バッファされた基準量１４の最後尾に送られずに、優先的に処理されるようにしている。
【００２９】
また、制御部１７は、基準量バッファ部１５で保持した順番で基準量をバッファ後基準量１８として、通信部１３により上位コントローラ１に送信する。上位コントローラ１の通信部８はこのバッファ後基準量１８を受信し、バッファ後基準量９として補正量演算部５に送る。補正量演算部５は、バッファ後基準量９と力覚センサ１２の情報（力覚量１１）に基づいて補正量を演算する。
【００３０】
即ち、本実施形態では、上位コントローラ１から下位コントローラ２に送られる基準量は、基準量バッファ部１５で一旦保持されるため、上位コントローラ１は、現時点でどの基準量が実行されているかを把握できない。このため、下位コントローラ２の制御部１７が、現時点で実行した基準量をバッファ後基準量として上位コントローラ１に送ることにより、上位コントローラ１が現時点での制御状態を把握できる。上位コントローラ１では、そのバッファ後基準量に基づいて、補正量演算部５が補正量の演算を行う。
【００３１】
このような本実施形態の制御の流れについて、図２及び図３を用いて説明する。まず、図２により上位コントローラ１の処理手順を説明する。上位コントローラ１は、少なくとも、下位コントローラ２からバッファ後基準量１８を受信した際に処理される受信割込処理と、一定周期ΔＴで処理される周期処理が実装される。
【００３２】
図２（ａ）は、上位コントローラ１に実装される受信割込処理の処理手順である。受信割込処理では、受信したバッファ後基準量１８をストアし、バッファ後基準量９とする（Ｓ１１）。そして、バッファ後基準量受信フラグをＯＮとする（Ｓ１２）。
【００３３】
図２（ｂ）は、上位コントローラ１に実装される周期処理の処理手順である。周期処理では、まず、バッファ後基準量受信フラグがＯＮであるかどうかを確認する（Ｓ２１）。ＯＮでなければ（Ｓ２１のＮＯ）、補正量７を０とする（Ｓ２２）。バッファ後基準量受信フラグがＯＮであれば（Ｓ２１のＹＥＳ）、Ａ／Ｄ変換部１０で変換された力覚量１１とバッファ後基準量９から補正量７を計算する（Ｓ２３）。その後、基準量演算部４により基準量６を計算する（Ｓ２４）。なお、基準量６の演算は、補正量７の演算と関係なく行うため、他のタイミングで行っても良い。何れにしても、通信部８で、基準量６と補正量７とを区別して下位コントローラ２へ送信する（Ｓ２５）。
【００３４】
次に、図３により下位コントローラ２の処理手順を説明する。下位コントローラ２は、少なくとも、上位コントローラ１から基準量６及び補正量７を受信した際に処理される受信割込処理と、一定周期ΔＴで処理される周期処理が実装される。
【００３５】
図３（ａ）は、下位コントローラ２に実装される受信割込処理の処理手順である。受信割込処理では、受信した基準量６及び補正量７をそれぞれストアし、基準量１４、補正量１６とする（Ｓ３１）。また、基準量バッファ部１５に格納されている基準量を基準量バッファ部１５の先頭方向に向かって一つずつ移動させる（Ｓ３２）。その後、受信した基準量１４を基準量バッファ部１５の最後尾へ格納し（Ｓ３３）、基準量バッファ部１５に格納されている基準量の個数Ｎをインクリメントする（Ｓ３４）。
【００３６】
図３（ｂ）は、下位コントローラ２に実装される周期処理の処理手順である。周期処理では、まず、制御開始フラグがＯＮであるかどうかを確認する（Ｓ４１）。このＳ４１では、基準量バッファ部１５に最大量の基準量が保持された場合に、制御開始フラグをＯＮとする。制御開始フラグがＯＮでなければ（Ｓ４１のＮＯ）、基準量バッファ部１５に保持された基準量の個数Ｎが所定値以上であるかどうかを確認し（Ｓ４２）、所定値以上であれば制御開始フラグをＯＮとする（Ｓ４３）。
【００３７】
ここで、Ｓ４２で下位コントローラ２が制御開始フラグをＯＮにする判定基準（所定値）は、上述の基準量バッファ部１５が基準量を保持できる個数最大値Ｎｍａｘの半分（Ｎｍａｘ／２）とすることが望ましい。即ち、基準量バッファ部１５が保持する基準量の個数がＮｍａｘ／２以上となれば、周期処理を開始する。
【００３８】
所定値をこのように設定するのは、上述の上位コントローラ１の同期誤差最大値Ｔｍａｘから、同期が遅れる可能性のある最大量の基準量が確保できていれば良いためである。即ち、Ｎｍａｘ＞２×Ｔｍａｘ／ΔＴであるため、Ｎｍａｘ／２は、上位コントローラ１の同期の周期ΔＴに対する前後いずれかのずれ幅よりも大きい量である。言い換えれば、Ｎｍａｘ／２は、上位コントローラ１の同期のずれの遅れが最大であっても、最低１個の基準量が基準量バッファ部１５に保持される量である。なお、同期のずれが早くなる方向は、基準量バッファ部１５に基準量が確実に保持されることになるため考慮する必要はない。
【００３９】
したがって、所定値を、基準量バッファ部１５が保持した基準量の個数がＮｍａｘ／２に到達した時点（或いはそれ以上）とすれば、上位コントローラ１の同期誤差に拘らず、制御部１７で実行可能な基準量を確保できる。なお、Ｓ４１の制御開始フラグの判定基準も同様に行っても良い。この場合、Ｓ４２は不要となる。
【００４０】
Ｓ４２で、基準量バッファ部１５に保持された基準量の個数Ｎが所定値未満であれば（Ｓ４２のＮＯ）、基準量バッファ部１５に保持された最後尾の基準量が、上位コントローラ１から送られてくる基準量の最後か否かを確認する（Ｓ４４）。最後であれば（Ｓ４４のＹＥＳ）、制御開始フラグをＯＮにする（Ｓ４３）。即ち、基準量バッファ部１５に保持された基準量で制御が終了するならば、そのまま制御を実行する。一方、基準量の最後尾がその制御の最後でなければ（Ｓ４４のＮＯ）、その後何もせずに処理を終了する。この場合、何らかの異常が発生した可能性があるので、ユーザに対して警報を発するようにしても良い。
【００４１】
制御開始フラグがＯＮであれば（Ｓ４１のＹＥＳ或いはＳ４３を経由）、基準量バッファ部１５の先頭に格納されている基準量に、ストアした補正量１６を加算し、制御部１７へ入力する（Ｓ４５）。このとき、制御部１７は与えられた入力に追従するようにモータ１９を制御する。上位コントローラ１において同期周期に誤差が発生したとしても、下位コントローラ２において一定周期で基準量バッファから制御目標量を計算するため各駆動軸の同期精度が損なわれることはない。
【００４２】
また、基準量バッファ部１５の先頭に格納されている基準量をバッファ後基準量１８として上位コントローラ１へ送信する（Ｓ４６）。その後、基準量バッファ部１５の先頭に格納されている基準量をクリアし、基準量の個数Ｎをデクリメントする（Ｓ４７）。
【００４３】
なお、それぞれの下位コントローラ２間の同期精度を高めるために、上位コントローラ１から基準量６と補正量７を複数の下位コントローラ２に送信した後に、同期メッセージを一斉に複数の下位コントローラ２に送信しても良い。この場合、下位コントローラ２は同期メッセージの受信割込時に前記受信割込処理を実施する。
【００４４】
上述の本実施形態の場合、下位コントローラ２の制御部１７は、上位コントローラ１で演算した補正量についてはバッファに一旦保持せずに駆動源を制御するため、補正量を実際の動作に反映するまでの時間遅れが生じにくい。このため、システムフィードバック制御時の高い応答性を実現できる。
【００４５】
ここで、補正量の繰り返し位置再現性、軌跡追従精度は上位コントローラ１のリアルタイム性能に依存する。しかし、システムフィードバック制御時は力覚、視覚などのセンサにより繰り返し位置誤差、軌跡追従誤差を含めたフィードバックループを形成する。そのため、繰り返し位置誤差、軌跡追従誤差に対するロバスト性が高く、非システムフィードバック制御時と比較してリアルタイム性能が低くても問題は発生しづらい。
【００４６】
例えば、ロボットアームが障害物に当たって、この障害物を回避するような補正量が下位コントローラ２に送られたとする。この場合、上位コントローラ１のリアルタイム性能が高いと、速やかに障害物を回避できる。これに対して、上位コントローラ１のリアルタイム性能が低くても、下位コントローラ２の制御にこの補正量が反映されるまでの遅れは、少なくとも補正量が上述の基準量と同様にバッファされるよりも大きくなることはない。また、仮に、下位コントローラ２の制御に補正量が反映されるタイミングが多少遅れたとしても、その障害物との衝突は、ロボットアーム自体が備える弾性などにより吸収できる。このため、補正量の制御は、基準量の制御に比べてリアルタイム性能が低くても問題は発生しにくい。以上より、本実施形態では、問題が生じない範囲で、しかも、補正量を基準量と同じようにバッファするよりも高い応答性で、システムフィードバック制御を行える。
【００４７】
一方、上位コントローラ１で演算した基準量は下位コントローラ２の基準量バッファ部１５に一旦保持する。このため、上位コントローラ１のリアルタイム性能によらず非システムフィードバック制御時の繰り返し位置再現性及び軌跡追従精度を保証することができる。また、このように上位コントローラ１のリアルタイム性能が要求されないため、安価なリアルタイムＯＳを使用できる。
【００４８】
よって、本実施形態の場合、リアルタイム性能の低いフリーのリアルタイムＯＳを用いても、非システムフィードバック制御時は高い繰り返し位置再現性、軌跡追従精度が得られ、システムフィードバック制御時は高応答性を保ちやすくなる。
【００４９】
＜第２の実施形態＞
本発明の第２の実施形態について、図４を用いて説明する。なお、図４では図１に示した構成のうち同一ないし同等である構成要素には同一の符号が付されている。以下、第１の実施形態と同様部分の説明は省略又は簡略にし、本実施形態に関わる部分を中心に説明する。
【００５０】
本実施形態の場合、上位コントローラ１は、通信部８で送信する基準量６を、下位コントローラ２の基準量バッファ部１５と同じ量保持する別の基準量バッファ部２０を有する。この別の基準量バッファ部２０は、保持した順番で基準量６をバッファ後基準量２１として補正量演算部５に送る。補正量演算部５は、バッファ後基準量２１と力覚センサ１２の情報（力覚量１１）に基づいて補正量７を演算する。
【００５１】
即ち、上位コントローラ１の周期処理では、下位コントローラ２の周期処理と同等の処理を行い、バッファ後基準量２１を計算する。補正量演算部５は、バッファ後基準量２１と予め与えられたリンク長、駆動源の回転方向からヤコビ行列を計算し、ロボット手先の位置、姿勢の補正量を各駆動軸の補正量７へ変換する。
【００５２】
このような本実施形態の場合、下位コントローラ２からバッファ後基準量１８を上位コントローラ１に送信する必要がなくなるため、第１の実施形態と比較して下位コントローラ２と上位コントローラ１間の通信量が削減できる。その他の構成及び作用は、上述の第１の実施形態と同様である。
【００５３】
＜駆動装置の１例＞
次に、上述の各実施形態の制御装置を備えた駆動装置の１例について、図５を用いて説明する。駆動装置であるロボットシステム１００は、動作対象物であるロボットアーム２０１を駆動する複数の駆動源であるモータ２０２〜２０６と、これら各モータ２０２〜２０６を制御する制御装置１０１とを備える。制御装置１０１は、上位コントローラ１０２と、各モータ２０２〜２０６にそれぞれ備えられた下位コントローラ２０２ａ〜２０６ａとを備える。
【００５４】
また、上位コントローラ１０２には、力覚センサ２０７が接続され、力覚センサ２０７で検知した結果が入力される。なお、上位コントローラ１０２には、ロボットアーム２０１が備えるその他の駆動手段、例えば、ワークＷ１を把持するモータ、アームの一部が伸縮性を有する場合には伸縮させるモータなどを制御する下位コントローラも接続される。
【００５５】
上述のように構成されるロボットシステム１００は、例えば、棒状のワークＷ１を円柱状のワークＷ２に形成された孔に挿入する作業を次のように行う。まず、ユーザがこのような指示を入力すると、上位コントローラ１０２がロボットアーム２０１の手先の軌道を計算し、各モータ２０２〜２０６の基準量を演算する。この基準量は、各モータの下位コントローラ２０２ａ〜２０６ａに送られ、基準量バッファ部に順次保持される。そして、バッファされた基準量が所定値になると、各モータがその基準量にしたがって駆動し、ロボットアーム２０１が動作する。
【００５６】
この時、力覚センサ２０７が例えば、ワークＷ１がワークＷ２の孔以外の部分に接触したことを検知すると、上位コントローラ１０２がそれを回避するように補正量を演算する。この補正量は、各モータの下位コントローラ２０２ａ〜２０６ａに送られ、バッファされることなく制御に反映される。
【００５７】
本例の上位コントローラ１０２が、第１、第２の実施形態の上位コントローラ１に相当し、下位コントローラ２０２ａ〜２０６ａが第１、第２の実施形態の下位コントローラ２に相当する。また、力覚センサ２０７が第１、第２の実施形態の力覚センサ１２に相当する。このような本例のロボットシステム１００も、上述の第１、第２の実施形態と同様の作用効果を得られる。
【符号の説明】
【００５８】
１・・・上位コントローラ、２・・・下位コントローラ、４・・・基準量演算部、５・・・補正量演算部、８・・・通信部（送信部）、１２・・・力覚センサ、１３・・・通信部（受信部）、１５・・・基準量バッファ部、１７・・・制御部、１９・・・モータ（駆動源）、２０・・・別の基準量バッファ部、１００・・・ロボットシステム（駆動装置）、１０１・・・制御装置、１０２・・・上位コントローラ、２０１・・・ロボットアーム（動作対象物）、２０２〜２０６・・・モータ（駆動源）、２０２ａ〜２０６ａ・・・下位コントローラ、２０７・・・力覚センサ
【図１】
2013127670.tif 000003
【図２】
2013127670.tif 000004
【図３】
2013127670.tif 000005
【図４】
2013127670.tif 000006
【図５】
2013127670.tif 000007