動作対象物の目標動作を決定する上位コントローラと、前記上位コントローラで決定された前記目標動作に基づいて前記動作対象物の駆動源を制御する下位コントローラと、を備えた制御装置において、前記上位コントローラは、前記目標動作を行うための基準量を演算する基準量演算部と、前記動作対象物の状態を検知するセンサの情報に基づいて補正量を演算する補正量演算部と、前記基準量及び前記補正量を前記下位コントローラに送信する送信部と、を有し、前記下位コントローラは、前記送信部から送信された前記基準量及び前記補正量を受信する受信部と、前記受信部で受信した前記基準量を所定量保持する基準量バッファ部と、前記基準量バッファ部に保持された前記基準量を順次演算し、且つ、前記受信部で受信して前記基準量バッファ部に保持せずに前記補正量を演算し、前記駆動源を制御する制御部と、を有する、ことを特徴とする制御装置。前記下位コントローラは、前記基準量バッファ部で保持した順番で前記基準量をバッファ後基準量として、前記上位コントローラの前記補正量演算部に送り、前記補正量演算部は、前記バッファ後基準量と前記センサの情報に基づいて前記補正量を演算する、ことを特徴とする、請求項1に記載の制御装置。前記上位コントローラは、前記送信部で送信する前記基準量を、前記下位コントローラの前記基準量バッファ部と同じ量保持する別の基準量バッファ部を有し、前記別の基準量バッファ部は、保持した順番で前記基準量をバッファ後基準量として前記補正量演算部に送り、前記補正量演算部は、前記バッファ後基準量と前記センサの情報に基づいて前記補正量を演算する、ことを特徴とする、請求項1に記載の制御装置。動作対象物を駆動する複数の駆動源と、前記複数の駆動源を制御する、請求項1ないし3のうちの何れか1項に記載の制御装置と、を備えたことを特徴とする駆動装置。上述の特許文献1の場合、上位コントローラで演算した複数の駆動源の目標位置をそれぞれ下位コントローラで一旦バッファしているが、上位コントローラで演算した補正量が必要ない非システムフィードバック制御を行う分には問題はない。但し、システムフィードバック制御を行う場合、センサ情報から演算した補正量を実際の駆動源の動作に反映するまでに時間遅れが発生する。即ち、補正量もバッファされてしまうため、この補正量が動作に反映されるまでに時間が掛かる。この結果、システムフィードバック制御のフィードバックループにむだ時間を発生させるため、システムフィードバック制御の応答性が低下する。本発明は、このような事情に鑑み、安価な構成で、非システムフィードバック制御時の繰り返し位置再現性及び軌跡追従精度を低下させることなく、システムフィードバック制御時の高い応答性を得られる構造を実現すべく発明したものである。本発明は、動作対象物の目標動作を決定する上位コントローラと、前記上位コントローラで決定された前記目標動作に基づいて前記動作対象物の駆動源を制御する下位コントローラと、を備えた制御装置において、前記上位コントローラは、前記目標動作を行うための基準量を演算する基準量演算部と、前記動作対象物の状態を検知するセンサの情報に基づいて補正量を演算する補正量演算部と、前記基準量及び前記補正量を前記下位コントローラに送信する送信部と、を有し、前記下位コントローラは、前記送信部から送信された前記基準量及び前記補正量を受信する受信部と、前記受信部で受信した前記基準量を所定量保持する基準量バッファ部と、前記基準量バッファ部に保持された前記基準量を順次演算し、且つ、前記受信部で受信して前記基準量バッファ部に保持せずに前記補正量を演算し、前記駆動源を制御する制御部と、を有する、ことを特徴とする制御装置にある。本発明によれば、下位コントローラの制御部は、上位コントローラで演算した補正量についてはバッファに一旦保持せずに駆動源を制御するため、補正量を実際の動作に反映するまでの時間遅れが生じにくい。このため、システムフィードバック制御時の高い応答性を実現できる。一方、上位コントローラで演算した基準量は下位コントローラの基準量バッファ部に一旦保持するため、上位コントローラのリアルタイム性能によらず非システムフィードバック制御時の繰り返し位置再現性及び軌跡追従精度を保証することができる。また、上位コントローラのリアルタイム性能が要求されないため、安価なリアルタイムOSを使用できる。<第1の実施形態>本発明の第1の実施形態について、図1ないし図3を用いて説明する。本実施形態の制御装置は、図1に示すように、上位コントローラ1と複数の下位コントローラ2とを有する。上位コントローラ1は、動作対象物である例えばロボットアームなどの駆動装置の目標動作を決定する。下位コントローラ2は、上位コントローラ1で決定された目標動作に基づいて動作対象物の駆動源であるモータ19を制御する。上位コントローラ1と複数の下位コントローラ2とは、通信線3により接続されている。なお、駆動源は、回転式のモータの他、ソレノイドやリニアモータなどであっても良く、更にこのように通電により駆動するもの以外に、油圧シリンダやエアシリンダなどの圧縮された液体や空気により駆動するものであっても良い。また、上位コントローラ1には、動作対象物の状態を検知するセンサとしての、ロボットの手先に搭載された力覚センサ12が接続されている。力覚センサ12は、ロボットの手先に作用する力やモーメントなどを検知するもので、例えば、ひずみゲージや圧電素子などにより構成される。なお、このようなセンサとしては、力覚センサ以外に、カメラなどの視覚センサを用いても良い。上位コントローラ1は、基準量6を演算する基準量演算部4と、力覚センサ12の出力を力覚量11に変換するA/D変換部10と、補正量7を演算する補正量演算部5と、下位コントローラ2との送受信を行う通信部8から構成される。また、下位コントローラ2は、上位コントローラ1との送受信を行う通信部13と、受信した基準量14を所定量保持する基準量バッファ部15と、基準量14と補正量16に基づいてモータ19を制御する制御部17とから構成される。基準量演算部4は、予め与えられたロボット言語プログラム、予め与えられたリンク長、モータ19の回転方向および速度制限値、トルク制限値などから各モータ19の目標動作を計算し、基準量6とする。例えば、ユーザが動作対象物であるロボットに行わせたい動作をコマンドとして入力し、そのコマンドを実行するための各モータ19の目標動作を基準量として演算する。より具体的には、例えば、ユーザがロボットアームの手先を或る地点に移動させるために、その終点まで直線で移動するというコマンドを入力したとする。この場合、基準量演算部4は、始点から終点までの直線の軌跡を演算し、その軌跡を複数に分割する。そして、分割した各地点にロボットアームの手先を移動させるために、アームの各関節駆動軸に設けたモータ19の回転角度や回転速度などをそれぞれ基準量として演算する。補正量演算部5は、力覚量11と予め与えられた質量係数、粘性係数、コンプライアンス係数といったインピーダンス制御パラメータからロボットアームの手先位置、姿勢の補正量を演算する。また、後述するバッファ後基準量9と予め与えられたリンク長、各モータ19の回転方向からヤコビ行列を計算し、ロボットアームの手先位置、姿勢の補正量を各モータ19の補正量7へ変換する。例えば、ロボットアームの手先が上述した軌跡に従って移動しているときに障害物に接触したとする。この時、力覚センサ12がこの接触を検知し、力覚量11が補正量演算部5に入力される。補正量演算部5は、この力覚量に基づいて、ロボットアームの手先が障害物を回避するような各モータ19の補正量7を演算する。上位コントローラ1の通信部8は、このような基準量6及び補正量7を下位コントローラ2に送信する送信部としての機能と、後述するバッファ後基準量18を下位コントローラ2から受信する受信部としての機能を有する。一方、下位コントローラ2の通信部13は、このような基準量6及び補正量7を受信する受信部としての機能と、後述するバッファ後基準量18を上位コントローラ1に送信する送信部としての機能を有する。これら通信部8と通信部13とは、通信線3により接続され、上述のような情報の送受信を行う。なお、このような情報の送受信は、有線に限らず無線により行っても良い。基準量バッファ部15は、通信部13で受信した基準量を所定量保持する。例えば、上述のようにロボットアームの手先を演算した軌跡に沿って移動させるために、分割した各地点までの各モータ19の回転角度などの基準量を順次、保持していく。ここで、基準量バッファ部15が基準量を保持できる個数最大値Nmaxは、上位コントローラ1の同期誤差最大値Tmaxと周期処理の実行周期ΔTから、Nmax>2×Tmax/ΔTとなるように設定することが望ましい。なお、同期誤差最大値とは、上位コントローラ1のハードウエアやOSにより決まる同期誤差の最大値である。例えば、所定の間隔で同期を行う場合に、その間隔が前後にずれる可能性がある最大量であり、その上位コントローラ1は、所定の周期ΔTに対して±Tmaxの範囲で同期を行うことができるという意味である。制御部17は、基準量バッファ部15に保持された基準量14を順次演算し、且つ、通信部13で受信して基準量バッファ部15に保持せずに補正量16を演算し、モータ19を制御する。具体的には、バッファされた先頭或いは次の基準量14に、受信した補正量16を加算して制御目標量とする。そして、制御目標量とモータ19の回転角度を検知するエンコーダの出力値センサ量との偏差をPID制御系の入力として、モータ制御量を計算して、モータ19に出力することでローカルフィードバックを行う。なお、受信した補正量16は、下位コントローラ2のメモリに一旦保持されて、バッファされた先頭の基準量14とタイミングを合わせて処理されるようにしても良い。或いは、受信した補正量16を、バッファされた先頭の基準量14とタイミングを合わせて、直接、制御部17のCPUに送るようにしても良い。要は、受信した補正量16は、バッファされた基準量14の最後尾に送られずに、優先的に処理されるようにしている。また、制御部17は、基準量バッファ部15で保持した順番で基準量をバッファ後基準量18として、通信部13により上位コントローラ1に送信する。上位コントローラ1の通信部8はこのバッファ後基準量18を受信し、バッファ後基準量9として補正量演算部5に送る。補正量演算部5は、バッファ後基準量9と力覚センサ12の情報力覚量11に基づいて補正量を演算する。即ち、本実施形態では、上位コントローラ1から下位コントローラ2に送られる基準量は、基準量バッファ部15で一旦保持されるため、上位コントローラ1は、現時点でどの基準量が実行されているかを把握できない。このため、下位コントローラ2の制御部17が、現時点で実行した基準量をバッファ後基準量として上位コントローラ1に送ることにより、上位コントローラ1が現時点での制御状態を把握できる。上位コントローラ1では、そのバッファ後基準量に基づいて、補正量演算部5が補正量の演算を行う。このような本実施形態の制御の流れについて、図2及び図3を用いて説明する。まず、図2により上位コントローラ1の処理手順を説明する。上位コントローラ1は、少なくとも、下位コントローラ2からバッファ後基準量18を受信した際に処理される受信割込処理と、一定周期ΔTで処理される周期処理が実装される。図2aは、上位コントローラ1に実装される受信割込処理の処理手順である。受信割込処理では、受信したバッファ後基準量18をストアし、バッファ後基準量9とするS11。そして、バッファ後基準量受信フラグをONとするS12。図2bは、上位コントローラ1に実装される周期処理の処理手順である。周期処理では、まず、バッファ後基準量受信フラグがONであるかどうかを確認するS21。ONでなければS21のNO、補正量7を0とするS22。バッファ後基準量受信フラグがONであればS21のYES、A/D変換部10で変換された力覚量11とバッファ後基準量9から補正量7を計算するS23。その後、基準量演算部4により基準量6を計算するS24。なお、基準量6の演算は、補正量7の演算と関係なく行うため、他のタイミングで行っても良い。何れにしても、通信部8で、基準量6と補正量7とを区別して下位コントローラ2へ送信するS25。次に、図3により下位コントローラ2の処理手順を説明する。下位コントローラ2は、少なくとも、上位コントローラ1から基準量6及び補正量7を受信した際に処理される受信割込処理と、一定周期ΔTで処理される周期処理が実装される。図3aは、下位コントローラ2に実装される受信割込処理の処理手順である。受信割込処理では、受信した基準量6及び補正量7をそれぞれストアし、基準量14、補正量16とするS31。また、基準量バッファ部15に格納されている基準量を基準量バッファ部15の先頭方向に向かって一つずつ移動させるS32。その後、受信した基準量14を基準量バッファ部15の最後尾へ格納しS33、基準量バッファ部15に格納されている基準量の個数NをインクリメントするS34。図3bは、下位コントローラ2に実装される周期処理の処理手順である。周期処理では、まず、制御開始フラグがONであるかどうかを確認するS41。このS41では、基準量バッファ部15に最大量の基準量が保持された場合に、制御開始フラグをONとする。制御開始フラグがONでなければS41のNO、基準量バッファ部15に保持された基準量の個数Nが所定値以上であるかどうかを確認しS42、所定値以上であれば制御開始フラグをONとするS43。ここで、S42で下位コントローラ2が制御開始フラグをONにする判定基準所定値は、上述の基準量バッファ部15が基準量を保持できる個数最大値Nmaxの半分Nmax/2とすることが望ましい。即ち、基準量バッファ部15が保持する基準量の個数がNmax/2以上となれば、周期処理を開始する。所定値をこのように設定するのは、上述の上位コントローラ1の同期誤差最大値Tmaxから、同期が遅れる可能性のある最大量の基準量が確保できていれば良いためである。即ち、Nmax>2×Tmax/ΔTであるため、Nmax/2は、上位コントローラ1の同期の周期ΔTに対する前後いずれかのずれ幅よりも大きい量である。言い換えれば、Nmax/2は、上位コントローラ1の同期のずれの遅れが最大であっても、最低1個の基準量が基準量バッファ部15に保持される量である。なお、同期のずれが早くなる方向は、基準量バッファ部15に基準量が確実に保持されることになるため考慮する必要はない。したがって、所定値を、基準量バッファ部15が保持した基準量の個数がNmax/2に到達した時点或いはそれ以上とすれば、上位コントローラ1の同期誤差に拘らず、制御部17で実行可能な基準量を確保できる。なお、S41の制御開始フラグの判定基準も同様に行っても良い。この場合、S42は不要となる。S42で、基準量バッファ部15に保持された基準量の個数Nが所定値未満であればS42のNO、基準量バッファ部15に保持された最後尾の基準量が、上位コントローラ1から送られてくる基準量の最後か否かを確認するS44。最後であればS44のYES、制御開始フラグをONにするS43。即ち、基準量バッファ部15に保持された基準量で制御が終了するならば、そのまま制御を実行する。一方、基準量の最後尾がその制御の最後でなければS44のNO、その後何もせずに処理を終了する。この場合、何らかの異常が発生した可能性があるので、ユーザに対して警報を発するようにしても良い。制御開始フラグがONであればS41のYES或いはS43を経由、基準量バッファ部15の先頭に格納されている基準量に、ストアした補正量16を加算し、制御部17へ入力するS45。このとき、制御部17は与えられた入力に追従するようにモータ19を制御する。上位コントローラ1において同期周期に誤差が発生したとしても、下位コントローラ2において一定周期で基準量バッファから制御目標量を計算するため各駆動軸の同期精度が損なわれることはない。また、基準量バッファ部15の先頭に格納されている基準量をバッファ後基準量18として上位コントローラ1へ送信するS46。その後、基準量バッファ部15の先頭に格納されている基準量をクリアし、基準量の個数NをデクリメントするS47。なお、それぞれの下位コントローラ2間の同期精度を高めるために、上位コントローラ1から基準量6と補正量7を複数の下位コントローラ2に送信した後に、同期メッセージを一斉に複数の下位コントローラ2に送信しても良い。この場合、下位コントローラ2は同期メッセージの受信割込時に前記受信割込処理を実施する。上述の本実施形態の場合、下位コントローラ2の制御部17は、上位コントローラ1で演算した補正量についてはバッファに一旦保持せずに駆動源を制御するため、補正量を実際の動作に反映するまでの時間遅れが生じにくい。このため、システムフィードバック制御時の高い応答性を実現できる。ここで、補正量の繰り返し位置再現性、軌跡追従精度は上位コントローラ1のリアルタイム性能に依存する。しかし、システムフィードバック制御時は力覚、視覚などのセンサにより繰り返し位置誤差、軌跡追従誤差を含めたフィードバックループを形成する。そのため、繰り返し位置誤差、軌跡追従誤差に対するロバスト性が高く、非システムフィードバック制御時と比較してリアルタイム性能が低くても問題は発生しづらい。例えば、ロボットアームが障害物に当たって、この障害物を回避するような補正量が下位コントローラ2に送られたとする。この場合、上位コントローラ1のリアルタイム性能が高いと、速やかに障害物を回避できる。これに対して、上位コントローラ1のリアルタイム性能が低くても、下位コントローラ2の制御にこの補正量が反映されるまでの遅れは、少なくとも補正量が上述の基準量と同様にバッファされるよりも大きくなることはない。また、仮に、下位コントローラ2の制御に補正量が反映されるタイミングが多少遅れたとしても、その障害物との衝突は、ロボットアーム自体が備える弾性などにより吸収できる。このため、補正量の制御は、基準量の制御に比べてリアルタイム性能が低くても問題は発生しにくい。以上より、本実施形態では、問題が生じない範囲で、しかも、補正量を基準量と同じようにバッファするよりも高い応答性で、システムフィードバック制御を行える。一方、上位コントローラ1で演算した基準量は下位コントローラ2の基準量バッファ部15に一旦保持する。このため、上位コントローラ1のリアルタイム性能によらず非システムフィードバック制御時の繰り返し位置再現性及び軌跡追従精度を保証することができる。また、このように上位コントローラ1のリアルタイム性能が要求されないため、安価なリアルタイムOSを使用できる。よって、本実施形態の場合、リアルタイム性能の低いフリーのリアルタイムOSを用いても、非システムフィードバック制御時は高い繰り返し位置再現性、軌跡追従精度が得られ、システムフィードバック制御時は高応答性を保ちやすくなる。<第2の実施形態>本発明の第2の実施形態について、図4を用いて説明する。なお、図4では図1に示した構成のうち同一ないし同等である構成要素には同一の符号が付されている。以下、第1の実施形態と同様部分の説明は省略又は簡略にし、本実施形態に関わる部分を中心に説明する。本実施形態の場合、上位コントローラ1は、通信部8で送信する基準量6を、下位コントローラ2の基準量バッファ部15と同じ量保持する別の基準量バッファ部20を有する。この別の基準量バッファ部20は、保持した順番で基準量6をバッファ後基準量21として補正量演算部5に送る。補正量演算部5は、バッファ後基準量21と力覚センサ12の情報力覚量11に基づいて補正量7を演算する。即ち、上位コントローラ1の周期処理では、下位コントローラ2の周期処理と同等の処理を行い、バッファ後基準量21を計算する。補正量演算部5は、バッファ後基準量21と予め与えられたリンク長、駆動源の回転方向からヤコビ行列を計算し、ロボット手先の位置、姿勢の補正量を各駆動軸の補正量7へ変換する。このような本実施形態の場合、下位コントローラ2からバッファ後基準量18を上位コントローラ1に送信する必要がなくなるため、第1の実施形態と比較して下位コントローラ2と上位コントローラ1間の通信量が削減できる。その他の構成及び作用は、上述の第1の実施形態と同様である。<駆動装置の1例>次に、上述の各実施形態の制御装置を備えた駆動装置の1例について、図5を用いて説明する。駆動装置であるロボットシステム100は、動作対象物であるロボットアーム201を駆動する複数の駆動源であるモータ202~206と、これら各モータ202~206を制御する制御装置101とを備える。制御装置101は、上位コントローラ102と、各モータ202~206にそれぞれ備えられた下位コントローラ202a~206aとを備える。また、上位コントローラ102には、力覚センサ207が接続され、力覚センサ207で検知した結果が入力される。なお、上位コントローラ102には、ロボットアーム201が備えるその他の駆動手段、例えば、ワークW1を把持するモータ、アームの一部が伸縮性を有する場合には伸縮させるモータなどを制御する下位コントローラも接続される。上述のように構成されるロボットシステム100は、例えば、棒状のワークW1を円柱状のワークW2に形成された孔に挿入する作業を次のように行う。まず、ユーザがこのような指示を入力すると、上位コントローラ102がロボットアーム201の手先の軌道を計算し、各モータ202~206の基準量を演算する。この基準量は、各モータの下位コントローラ202a~206aに送られ、基準量バッファ部に順次保持される。そして、バッファされた基準量が所定値になると、各モータがその基準量にしたがって駆動し、ロボットアーム201が動作する。この時、力覚センサ207が例えば、ワークW1がワークW2の孔以外の部分に接触したことを検知すると、上位コントローラ102がそれを回避するように補正量を演算する。この補正量は、各モータの下位コントローラ202a~206aに送られ、バッファされることなく制御に反映される。本例の上位コントローラ102が、第1、第2の実施形態の上位コントローラ1に相当し、下位コントローラ202a~206aが第1、第2の実施形態の下位コントローラ2に相当する。また、力覚センサ207が第1、第2の実施形態の力覚センサ12に相当する。このような本例のロボットシステム100も、上述の第1、第2の実施形態と同様の作用効果を得られる。