JP5776577B2 - マスタスレーブ制御方法及び制御装置並びにシステム - Google Patents

マスタスレーブ制御方法及び制御装置並びにシステム Download PDF

Info

Publication number
JP5776577B2
JP5776577B2 JP2012029566A JP2012029566A JP5776577B2 JP 5776577 B2 JP5776577 B2 JP 5776577B2 JP 2012029566 A JP2012029566 A JP 2012029566A JP 2012029566 A JP2012029566 A JP 2012029566A JP 5776577 B2 JP5776577 B2 JP 5776577B2
Authority
JP
Japan
Prior art keywords
slave device
command value
slave
master
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012029566A
Other languages
English (en)
Other versions
JP2013167955A (ja
Inventor
雄介 小坂
雄介 小坂
邦裕 岡本
邦裕 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2012029566A priority Critical patent/JP5776577B2/ja
Publication of JP2013167955A publication Critical patent/JP2013167955A/ja
Application granted granted Critical
Publication of JP5776577B2 publication Critical patent/JP5776577B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position Or Direction (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明はマスタスレーブ制御方法及び制御装置並びにシステムに関し、特にマスタの動作にスレーブの動作を追従させるマスタスレーブ制御方法及び制御装置並びにシステムに関する。
近年、マスタ機器とスレーブ機器とを用いて、マスタ機器の動作にスレーブ機器の動作を追従させるマスタスレーブシステムが多く提案されている。このようなマスタスレーブシステムの一例が特許文献1に開示されている。
特許文献1に開示される位置制御装置では、外部から入力した第1の位置指令に基づいて実先行移動量を出力する先行移動量演算部と、第1の位置指令と実先行移動量の和信号である第2の位置指令を入力し制御対象の位置が第2の位置指令に追従するように制御を行う追従制御部を備える。そして、先行移動量演算部は前記第1の位置指令の微分あるいは疑似微分である疑似指令速度に予め設定した先行時間Tpを乗じた信号と第1の位置指令の2階微分あるいは2階疑似微分である疑似指令加速度に予め設定した加速度増幅定数を乗じた信号との加算に基づいて実先行移動量を演算する。
これにより、特許文献1に記載の位置制御装置では、マスタ機器から入力する第1の位置指令におけるノイズ等の影響を低減するための高域遮断特性を維持しながら、停止時の制定時間の短縮を実現する。
特開2001−242938号公報
マスタスレーブシステムでは、マスタ機器の位置にスレーブ機器の位置を即時追従させることの要求がある。しかしながら、マスタ機器がスレーブ機器の許容動作範囲を超える急加速、逆回転等の急制動を行った場合、スレーブ機器の機構に過大な負荷がかかることがある。このようにスレーブ機器に対して過大な負荷がかかった場合、スレーブ機器の機構が疲労により劣化するおそれがある。
上記課題に鑑みて、本発明は、スレーブ機器の機構を保護することを目的としてなされたものである。
本発明の一態様は、マスタ機器の位置変位に追従してスレーブ機器の位置を制御するマスタスレーブシステムのマスタスレーブ制御方法であって、前記マスタ機器の位置情報と、前記スレーブ機器の位置情報と、を取得する位置情報取得ステップと、前記マスタ機器の位置、前記スレーブ機器の位置と、の差分値を算出する位置差算出ステップと、前記スレーブ機器の変位後の位置を指示する位置指令値として前記スレーブ機器の可動範囲内の値から算出された仮想位置指令値を生成し、当該仮想位置指令値により前記スレーブ機器を前記マスタ機器の位置に追従させる保護処理ステップと、を有するマスタスレーブ制御方法である。
この一態様において、前記スレーブ機器が現速度から停止状態となるまでに要する停止距離を算出し、前記マスタ機器の位置情報により示される目標位置との位置差が前記停止距離と等しくなる位置を減速開始位置として算出する減速開始位置算出ステップをさらに有し、前記保護処理ステップは、前記スレーブ機器が前記減速開始位置に達したことに応じて前記スレーブ機器を減速させる前記仮想位置指令値を生成し、当該仮想位置指令値により前記スレーブ機器を減速させる減速処理ステップを有していても良い。
この一態様において、前記停止距離は、現在の前記スレーブ機器の位置情報と、1つ前の制御周期の前記スレーブ機器の位置情報と、に基づき算出しても良い。
この一態様において、前記保護処理ステップは、前記スレーブ機器の速度が予め定められた最高速度未満である場合に前記スレーブ機器の速度を加速させる前記仮想位置指令値を生成する加速処理ステップと、前記スレーブ機器の速度が前記最高速度以上である場合に最大速度を維持する前記仮想位置指令値を生成する定速処理ステップと、を有していても良い。
この一態様において、前記マスタ機器の位置情報が、前記スレーブ機器に許容された可動範囲を超えた位置を示す場合に前記マスタ機器の位置情報の値を前記スレーブ機器の可動範囲の上限値又は下限値に置き換える飽和処理ステップを有していても良い。
この一態様において、前記スレーブ機器の可動範囲内の値は、前記スレーブ機器の動作能力に基づき予め決定された値であっても良い。
本発明の別の態様は、マスタ機器の位置情報に基づきスレーブ機器の変位後の位置を指示する位置指令値を生成するマスタスレーブ機器の制御装置であって、前記マスタ機器の位置情報と、前記スレーブ機器の位置情報と、を取得する位置センサと、前記マスタ機器の位置と前記スレーブ機器の位置との差分値を算出する位置差算出部と、前記スレーブ機器の可動範囲内の値から前記スレーブ機器を予め定められた加速度で加速させる加速位置指令値と、前記スレーブ機器を定速で制御する定速位置指令値と、前記スレーブ機器を予め定められた減速度で減速させる減速位置指令値と、を算出する保護処理部と、前記スレーブ機器に与える位置指令値として前記加速位置指令値と、前記定速位置指令値と、前記減速位置指令値と、のいずれを与えるかを前記スレーブ機器の位置及び速度に基づき選択する仮想位置指令値判別部と、を有する制御装置である。
この別の態様において、前記スレーブ機器が現速度から停止状態となるまでに要する停止距離を算出し、前記マスタ機器の位置情報により示される目標位置との位置差が前記停止距離と等しくなる位置を減速開始位置として算出する減速開始位置算出部をさらに有し、前記仮想位置指令値判別部は、前記スレーブ機器が前記減速開始位置に達したことに応じて前記減速位置指令値を前記位置指令値として選択することができる。
この別の態様において、前記減速開始位置算出部は、現在の前記スレーブ機器の位置情報と、1つ前の制御周期の前記スレーブ機器の位置情報と、に基づき前記停止距離を算出しても良い。
この別の態様において、前記仮想位置指令値判別部は、前記スレーブ機器の速度が予め定められた最高速度未満である場合に前記加速位置指令値を前記位置指令値として選択し、前記スレーブ機器の速度が前記最高速度以上である場合に前記定速位置指令値を前記位置指令値として選択することができる。
この別の態様において、前記マスタ機器の位置情報が、前記スレーブ機器に許容された可動範囲を超えた位置を示す場合に前記マスタ機器の位置情報の値を前記スレーブ機器の可動範囲の上限値又は下限値に置き換える飽和処理部を有していても良い。
この別の態様において、前記スレーブ機器の可動範囲内の値は、前記スレーブ機器の動作能力に基づき予め決定された値であっても良い。
また、本発明は、上記制御装置と同様の技術思想に基づくシステムである。
本発明によれば、スレーブ機器の機構の保護をより確実なものとすることができる。
実施の形態1にかかる制御装置のブロック図である。 実施の形態1にかかるマスタスレーブシステムにおけるマスタからの入力位置指令値と飽和位置指令値との関係を示す図である。 実施の形態1にかかる飽和処理部の入出力関係を示すグラフである。 実施の形態1にかかる制御装置における減速開始位置について説明するための図である。 実施の形態1にかかる制御装置における減速開始位置について説明するための図である。 実施の形態1にかかる仮想位置指令値判別部において仮想位置指令値の判別に用いる加減速状態管理表の一例を示す図である。 実施の形態1にかかる制御装置の処理フローを示すフローチャートである。 実施の形態1にかかる制御装置によるマスタスレーブシステムの動作を示すフローチャートである。 実施の形態1にかかる制御装置における第1の動作例を示す図である。 実施の形態1にかかる制御装置における第2の動作例を示す図である。 実施の形態1にかかる制御装置における第3の動作例を示す図である。
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。本発明にかかるマスタスレーブシステムは、マスタ機器と、スレーブ機器と、制御装置とを有する。以下で説明する実施の形態では、制御装置により本発明にかかるマスタスレーブ制御方法を実現する。そして、制御装置は、マスタ機器から位置情報を受け取り、当該位置情報に基づき位置指令値(本発明では仮想位置指令値と称す)を生成し、当該仮想位置指令値によりスレーブ機器を動作させる。また、以下の説明では、マスタ機器とスレーブ機器は、それぞれ動作機構としてモータを有し、制御装置は、当該モータの回転位置に基づきマスタ機器の位置とスレーブ機器の位置を認識するものとする。
また、制御装置は、コンピュータ等の演算装置上で動作するソフトウェアにより実現される。ソフトウェアは、CD−ROM、ハードディスク、メモリ等の情報媒体に格納され、演算装置は当該情報媒体からソフトウェアを読み出して、当該ソフトウェアを実行するものとする。なお、当該ソフトウェアによって実現される機能をハードウェアによって実装することで制御装置を実現することもできる。
実施の形態1にかかる制御装置1のブロック図を図1に示す。図1に示すブロック図は、ソフトウェアにより実現される機能をブロック図として表したものである。図1に示すように、制御装置1は、マスタ位置センサ10、飽和処理部11、スレーブ位置センサ12、速度最大値保持部13、加減速最大時間保持部14、加減速カウンタ15、位置差算出部16、減速開始位置算出部17、保護処理部18、仮想位置指令値判別部22、ポートスイッチ23、スレーブ位置制御部24を有する。なお、実施の形態1にかかる制御装置1は、処理周期毎にマスタ機器の位置情報を取得して、取得した位置情報に基づきスレーブ機器に対する位置指令値(以下、仮想位置指令値と称す)を生成し、当該仮想位置指令値に基づきスレーブ機器の位置制御を行うものとする。
マスタ位置センサ10は、マスタ機器の位置情報を取得して、マスタ機器の変位量を示す入力位置指令値MasPosを出力する。飽和処理部11は、マスタ機器の位置情報MasPosが、スレーブ機器に許容された可動範囲を超えた位置を示す場合にマスタ機器の位置情報(例えば、入力位置指令値MasPosの値をスレーブ機器の可動範囲の上限値又は下限値に置き換えて、飽和位置指令値SMPを出力する。
ここで、飽和処理部11の処理について詳細に説明する。まず、マスタからの入力位置指令値と飽和位置指令値との関係を示す図を図2に示す。図2に示すように、スレーブ機器には、動作可能範囲が上限可動制限値と下限可動制限値とにより制限される。一方、マスタ機器の可動範囲は、スレーブ機器の可動範囲よりも大きいことがある。そのため、マスタ機器より入力される入力位置指令値MasPosは、スレーブ機器の動作可能範囲よりも大きな値を示すことがある。そこで、飽和処理部11では、取り得る値の範囲がスレーブ機器の動作可能範囲に対応する飽和位置指令値SMPを生成する。なお、飽和位置指令値SMP及び入力位置指令値MasPosは、ともにスレーブ機器の基準位置からの差分値を示すものである。
また、飽和処理部11の入出力特性を示すグラフを図3に示す。図3に示すように、飽和処理部11は、入力位置指令値MasPosが上限可動制限値と下限可動制限値との間の値である場合は飽和位置指令値SMPとして入力位置指令値MasPosをそのまま出力する。一方、飽和処理部11は、入力位置指令値MasPosが上限可動制限値を超える値である場合は上限可動制限値を飽和位置指令値SMPとして出力し、入力位置指令値MasPosが下限可動制限値を超える値である場合は下限可動制限値を飽和位置指令値SMPとして出力する。
スレーブ位置センサ12は、スレーブ機器の現時点での位置を示すスレーブ位置情報SlaPosとして出力する。
速度最大値保持部13は、スレーブ機器を駆動するモータの最大回転速度から算出される速度最大値MaxVelを保持する。速度最大値保持部13には予め算出された速度最大値MaxVelが格納される。この速度最大値MaxVelは、モータの速度をMr[rpm]とすると、(1)式より算出することができる。
Figure 0005776577
加減速最大時間保持部14は、加減速最大時間MaxAccを保持する。加減速最大時間はモータが停止した状態から最高速度に達するまでに要する時間であり、モータの性能から算出可能な値である。
加減速カウンタ15は、加速処理が行われた回数と減速処理が行われた回数との差を示す加減速カウント値AccLを出力する。この加減速カウント値は、処理が行われた回数から算出される論理的な値である。より具体的には、加減速カウンタ15は、加速処理が行われた場合には制御周期毎に加減速カウント値AccLを増加させ、減速処理が行われた場合には制御周期毎に加減速カウント値AccLを減少させる。実施の形態1にかかる制御装置1では、加減速カウント値AccLに1回の制御周期の時間を乗算することで、この加減速カウント値AccLを加速時間として利用する。
位置差算出部16は、マスタ機器の位置とスレーブ機器の位置との差分値PosDefを算出する。より具体的には、位置差算出部16は、飽和位置指令値SMPとスレーブ位置情報SlaPosとの差分値PosDefを出力する。
減速開始位置算出部17は、スレーブ機器が現速度から停止状態となるまでに要する停止距離を算出し、マスタ機器の位置情報により示される目標位置との位置差が停止距離と等しくなる位置を減速開始位置DecPosとして算出する。つまり、スレーブ機器は、減速開始位置DecPosから減速処理を開始すれば目標位置で停止することができる。また、減速開始位置算出部17は、スレーブ機器の現在の速度を示す現速度Velを算出する。この現速度Velは、スレーブ機器の実際の位置を示すスレーブ位置情報SlaPosから算出されるものであり、モータの回転誤差等を加味した値となる。
より具体的には、減速開始位置算出部17は、スレーブ機器が現速度から停止状態となるまでに要する停止距離を算出し、マスタ機器の位置情報により示される目標位置との位置差が停止距離と等しくなる位置を減速開始位置として算出する。
ここで、減速開始位置DecPosの算出方法について詳細に説明する。まず、減速開始位置DecPosについて説明するための図を図4、図5に示す。図4に示す例は、スレーブ機器の速度変化が台形型で遷移する場合におけるスレーブ機器の速度変化とスレーブ機器の位置の変位を示す図である。このように、スレーブ機器の速度変化が台形型となるのは、スレーブ機器とマスタ機器との位置差が大きく、スレーブ機器が最高速度で定速移動する期間がある場合である。また、図5に示す例は、、スレーブ機器の速度変化が三角形型で遷移する場合におけるスレーブ機器の速度変化とスレーブ機器の位置の変位を示す図である。このように、スレーブ機器の速度変化が三角形型となるのは、マスタ機器とスレーブ機器との位置差が小さくスレーブ機器が最高速度に達する前に、減速を開始しなければマスタ位置で停止できない場合である。このように、スレーブ機器の速度と、マスタ機器とスレーブ機器との位置差と、に応じて位置が変動する。
減速開始位置算出部17においては、このような停止開始位置DecPosを以下のような計算により算出する。まず、減速開始位置算出部17は、減速に要した時間を示す減速時間Tsを(2)式〜(4)式を用いて算出する。
Figure 0005776577
Figure 0005776577
Figure 0005776577
(2)式〜(4)式において、[]内の単位は各項の単位を示すものであり、SlaPpsはスレーブ位置情報であり、Velはスレーブ機器の現速度であり、MaxAccは加減速最大時間であり、MaxVelは速度最大値であり、AccRはスレーブ機器の実際の位置情報から算出されたスレーブ機器の現実の加速状態を示すものであり、Tsは減速に要した時間を示す減速時間である。以下、同じ記号は同じ意味で利用する。また、(2)式で算出された現速度Velは、減速開始位置算出部17から仮想位置指令値判別部22に出力される。
続いて、減速開始位置算出部17では、(4)式で算出された値を利用して減速処理を行う期間中のスレーブ機器の移動量を示す減速移動量Msを(5)式を用いて算出する。
Figure 0005776577
そして、減速開始位置算出部18は、(6)式に基づき減速開始位置DecPosを算出する。なお、(6)式におけるSMPは、飽和処理部11から出力されるマスタ機器の位置情報SMPである。
Figure 0005776577
保護処理部18は、位置指令値としてスレーブ機器の動作可能範囲内の値から算出された仮想位置指令値を生成する。より具体的には、保護処理部18は、加速移動量算出部19、定速移動量算出部20、減速移動量算出部21を有する。
加速移動量算出部19は、予め定められた加速度でスレーブ機器を加速させる仮想位置指令値(例えば、加速位置指令値)ins1を生成する。より具体的には、加速位置指令値ins1は、加速処理が開始された時点でのスレーブ機器の位置を示す加速開始位置に位置変位量を加算することで生成される。加速移動量算出部19では、この位置変位量の増加量を制御周期の回数が増加する毎に大きくする。加速移動量算出部19は、(7)式及び(8)式に基づき加速位置指令値ins1を生成する。なお、加速移動量算出部19は、加速処理を開始する時点におけるスレーブ位置情報SlaPosを保持し、加速処理を再開するごとに保持するスレーブ位置情報SlaPosを更新するものとする。
Figure 0005776577
Figure 0005776577
なお、(8)式におけるAccLは加減速カウンタ15から出力される加減速カウント値である。
定速移動量算出部20は、予め定められた速度(例えば、最大速度値MaxVelで示される最高速度)でスレーブ機器を制御する仮想位置指令値(例えば、定速位置指令値)ins2を生成する。より具体的には、定速位置指令値ins2は、スレーブ位置情報SlaPosに、スレーブ機器において定められている能力に基づき算出される定速増加量を、加えて制御周期終了後のスレーブ機器の位置を指定する定速位置指令値ins2を生成する。定速移動量算出部20は、(9)式及び(10)式に基づき定速位置指令値ins2を生成する。
Figure 0005776577
Figure 0005776577
減速移動量算出部21は、予め定められた減速度でスレーブ機器を減速させる仮想位置指令値(例えば、減速位置指令値)ins3を生成する。より具体的には、減速位置指令値ins3は、減速処理の開始時点のマスタ位置を示す減速終了位置(つまり、目標位置)から位置変位量を減算することで生成される。減速移動量算出部21では、この位置変位量の増加量を制御周期の回数が増加する毎に小さくする。減速移動量算出部21は、(11)式に基づき減速位置指令値ins3を生成する。
Figure 0005776577
続いて、仮想位置指令値判別部22及びポートスイッチ23について説明する。ポートスイッチ23は、加速移動量算出部19、定速移動量算出部20、減速移動量算出部21から仮想位置指令値ins1〜ins3を受ける。そして、ポートスイッチ23は、仮想位置指令値判別部22が指定する仮想位置指令値を選択して最終的な仮想位置指令値insを出力する。この仮想位置指令値insは、スレーブ位置制御部24に与えられる。スレーブ位置制御部24は、スレーブ機器の位置を与えられた仮想位置指令値insに基づき制御する。
仮想位置指令値判別部22は、保護処理部18が出力するスレーブ機器に与える仮想位置指令値として加速位置指令値ins1と、定速位置指令値ins2と、減速位置指令値ins3と、のいずれを与えるかをスレーブ機器の位置及び速度に基づき選択する。
ここで、仮想位置指令値判別部22が選択する仮想位置指令値を決定する手順についてより詳細に説明する。保護処理部18は、仮想位置指令値ins1〜ins3を出力するが、仮想位置指令値判別部22が指定する仮想位置指令値は1つである。仮想位置指令値判別部22は、スレーブ機器が減速開始位置DecPosに達したことに応じて減速移動量算出部22が生成した減速位置指令値ins3を選択する選択信号を出力する。仮想位置指令値判別部22は、スレーブ機器の速度が予め定められた速度最大値MaxVel未満である場合には加速移動量算出部19が生成した加速位置指令値ins1を選択する選択信号を出力し、スレーブ機器の速度が速度最大値MaxVel以上である場合には定速移動量算出部20が生成した定速位置指令値ins2を選択する選択信号を出力する。
また、仮想位置指令値判別部22は、スレーブ機器が動作している状態において現在のモータの回転方向と逆の回転方向の動作が指示された場合にスレーブ機器のモータに過大な負荷がかかることを防止するために、スレーブ機器の加減速状態を管理する。より具体的には、仮想位置指令値判別部22は、加減速状態管理表を有する。この加減速状態管理表は、加速処理、定速処理、減速処理の各処理状態の間の状態遷移の制限を定義するものである。
そこで、加減速状態管理表の一例を図6に示す。図6に示すように、加減速状態管理表では、マスタ機器の位置とスレーブ機器の位置との大小関係が異なる3つの条件と、スレーブ機器の軸の回転方向が異なる3つの条件と、の組み合わせた9つの条件のそれぞれがどのような加速状態となるかを示す。そして、加減速状態管理表では、1つの加減速状態から遷移しうる他の加減速状態を矢印で示した。
この加減速状態管理表に基づき加減速状態を制御した場合、図6において、ハッチングが施された矢印で示される状態遷移が行われる。より具体的には、マスタ機器が+方向の回転動作から急に−方向の回転動作に切り替わった場合、スレーブ機器は、+方向の回転動作を行い、速度をゼロに減速した後に、−方向の回転動作に移行する。また、同じ回転方向で動作中にマスタ位置が変位した場合は、減速動作から加速動作の間で加減速状態が遷移する。
続いて、実施の形態1にかかる制御装置1の全体の動作について説明する。そこで、図7に制御装置1の処理フローを示すフローチャートを示す。
図7に示すように、実施の形態1にかかる制御装置1では、制御周期の開始に合わせて、マスタ機器の位置情報とスレーブ機器の位置情報とを取得する位置情報取得ステップを実行する(ステップS1)。そして、取得したマスタ機器の位置情報(例えば、入力位置指令値)から飽和位置指令値SMPを生成する(ステップS2)。続いて、制御装置1は、減速開始位置計算部17において現速度Vel及び加減速カウント値AccRを算出する(ステップS3)。
続いて、制御装置1は、仮想位置指令値判定部22において現在のスレーブ機器の速度がゼロであるか否かを判断する(ステップS4)。このステップS4において、現在のスレーブ機器の速度がゼロでなかった場合、マスタ機器の位置とスレーブ機器の位置との位置差の判定処理(ステップS5)は行わずに、ステップS6の機構保護処理に基づくスレーブ機器の位置制御を行う。一方、ステップS4において、現在のスレーブ機器の速度がゼロでなかった場合、ステップS5のマスタ機器の位置とスレーブ機器の位置との位置差の判定処理を行う。
ステップS5において、前記スレーブ機器の位置と、の差分値を算出する位置差算出ステップを実行する。そして、ステップS5において、マスタ機器の位置とスレーブ機器の位置との位置差がゼロ(つまり、マスタ機器の位置とスレーブ機器の位置とが一致している状態)であると判断された場合、スレーブ機器の位置制御は行わずに処理を終了する。なお、仮想位置指令値判別部22では、マスタ機器の位置とスレーブ機器の位置との差分値PosDefに基づきステップS5の位置差の判断処理を行う。一方、ステップS5において、マスタ機器の位置とスレーブ機器の位置との位置差があると判断された場合、ステップS6のスレーブ機器の位置制御を行う。
ステップS6の保護処理ステップでは、スレーブ機器の変位後の位置を指示する位置指令値としてスレーブ機器の動作可能範囲内の値から算出された仮想位置指令値を生成し、当該仮想位置指令値によりスレーブ機器をマスタ機器の位置に追従させる。より具体的には、保護処理ステップでは、仮想位置指令値insとして保護処理部18が出力する仮想位置指令値ins1〜ins3のいずれかを選択する。ステップS6では、まず、減速開始位置算出部17において減速開始位置DecPosの算出処理を行う(ステップS10)。ステップS10では、(2)式〜(6)式に基づき減速開始位置DecPosを算出する。そして、仮想位置指令値判定部22では、この減速開始位置DecPosとスレーブ機器の位置情報SlaPosとに基づき、スレーブ機器と減速開始位置DecPosとの位置関係についての判定処理を行う(ステップS11)。
ステップS11においてスレーブ機器の位置SlaPosが未だに減速開始位置DecPosに達していないと判断された場合、スレーブ機器の現時点での速度についての判定処理が行われる(ステップS12)。ステップS12において、スレーブ機器の速度Velが速度最大値MaxVelよりも遅いと判断された場合、制御装置1は、仮想位置指令値insとして加速移動量算出部19が生成した仮想位置指令値(例えば、加速位置指令値ins1)を選択する(ステップS13)。このステップS13の処理が行われる一連の処理フローが加速処理ステップに相当する処理である。一方、ステップS12において、スレーブ機器の速度Velが速度最大値MaxVel以上であると判断された場合、制御装置1は、仮想位置指令値insとして定速移動量算出部20が生成した仮想位置指令値(例えば、定速位置指令値ins2)を選択する(ステップS14)。このステップS14の処理が行われる一連の処理フローが定速処理ステップに相当する処理である。また、ステップS11においてスレーブ機器が減速開始位置DecPosを超えた位置にあると判断された場合、制御装置1は、仮想位置指令値insとして減速移動量算出部21が生成した仮想位置指令値(例えば、減速位置指令値ins3)を選択する(ステップS15)。このステップS15の処理が行われる一連の処理フローが減速処理ステップに相当する処理である。
なお、ステップS13で選択される加速位置指令値ins1は(8)式に基づき算出される値であり、ステップS14で選択される定速位置指令値ins2は(10)式に基づき算出される値であり、ステップS15で選択される減速位置指令値ins3は(11)式に基づき算出される値である。
そして、実施の形態1にかかる制御装置1は、ステップS13〜S15で選択した仮想位置指令値に基づきスレーブ機器の位置制御を行い、1回の制御周期を終了する(ステップS7)。
続いて、実施の形態1にかかる制御装置1により制御されるマスタスレーブシステムの動作を説明する。図8に実施の形態1にかかる制御装置1により制御されるマスタスレーブシステムの動作を示す。
図8に示すように、制御装置1では、マスタ機器に位置の変位が生じたことを検出することでスレーブ機器の位置制御が開始される。制御装置1は、マスタ機器に位置の変位が生じたことを検出した場合、まず、加速処理を行う。この加速処理では、仮想位置指令値insとして加速移動量算出部19が生成する仮想位置指令値ins1が選択される。そして、この加速処理は、スレーブ機器の速度が最高速度MaxVelに達するか、スレーブ機器の位置が減速開始位置DecPosに達するまで継続される。
スレーブ機器の速度が最高速度MaxVelに達した場合、制御装置1は、スレーブ機器を定速処理により制御する。定速処理では、定速移動量算出部20が生成する仮想位置指令値ins2が仮想位置指令値insとして選択される。そして、定速処理を継続している期間にスレーブ機器の位置が減速開始位置DecPosに達した場合、制御装置1は、スレーブ機器の制御処理を定速処理から減速処理に遷移させる。また、加速処理中にスレーブ機器の位置が減速開始位置DecPosに達した場合、制御装置1は、スレーブ機器の制御処理を加速処理から減速処理に遷移させる。
そして、制御装置1は、スレーブ機器の位置がマスタ位置と一致するまで減速処理を継続する。この減速処理では、減速移動量算出部23が生成する仮想位置指令値ins3が仮想位置指令値insとして選択される。そして、減速処理により、スレーブ機器の位置とマスタ機器の位置とが一致し、かつ、スレーブ機器の速度がゼロになった場合には、制御装置1は制御状態を静止状態に遷移させる(状態遷移条件TS1)。しかし、減速処理中に減速開始位置DecPosの位置がさらに遠くに変位した場合には、制御装置1は、再度加速処理を行う(状態遷移条件TS2)。また、減速処理中に減速開始位置DecPosの位置が当初の減速開始位置DecPosよりも手前の位置に変位した場合には、制御装置1は、スレーブ機器の速度がゼロとした後に加速処理を行う(状態遷移条件TS3)。
ここで、スレーブ機器の位置制御について具体例を示してさらに説明する。まず、状態遷移条件TS1による状態遷移が生じた場合のスレーブ機器の位置変位の一例を第1の動作例として図9に示す。図9に示すように、第1の動作例では、初期状態(例えばタイミングT10)において、マスタ機器の位置とスレーブ機器の位置とが一致している。そして、タイミングT11においてマスタ機器の位置に変位が生じる。そのため、タイミングT11では、制御装置1がスレーブ機器を加速処理により制御する。また、タイミングT11では、減速開始位置算出部17が(4)式に基づき減速開始位置DecPosを算出する。
そして、マスタ機器の位置がさらに進んだ場合、変位後のマスタ機器に追いつくためにスレーブ機器の加速処理が継続して行われる(タイミングT12)。このとき、制御装置1は、スレーブ機器の速度に応じて減速開始位置DecPosを更新する。その後、マスタ機器が所定の位置に達し、その状態を維持する場合、減速開始位置DecPosは、マスタ機器が停止した後は同じ値を維持する(タイミングT13)。そのため、制御装置1は、スレーブ機器が減速開始位置DecPosに達した後に減速処理を開始する。そして、制御装置1は、スレーブ機器の速度がゼロに達し、かつ、マスタ機器の位置とスレーブ機器の位置とが一致するまで減速処理を継続する。
このように、スレーブ機器が減速開始位置DecPosを通過した後にマスタ機器の停止位置が変化しない場合、スレーブ機器は、加速動作、定速動作、減速動作を順に行いマスタ機器の位置で停止する。なお、動作開始時と動作停止時のスレーブ機器の位置が近い場合、定速動作は行わずに、加速動作と減速動作のみとなる。
続いて、状態遷移条件TS2による状態遷移が生じた場合のスレーブ機器の位置変位の一例を第2の動作例として図10に示す。図10に示す例では、タイミングT20でスレーブ機器が減速動作を開始している。このとき、マスタ機器の停止位置が変化しない場合、制御装置1はスレーブ機器の減速動作を継続する。しかし、図10に示す例では、タイミングT21で、マスタ機器の位置がさらに進む。そのため、タイミングT21では、制御装置1で算出されている減速開始位置DecPosが変化する。具体的には、(6)式のマスタ機器の位置情報SMPが変化するため、当該変化に基づき減速開始位置DecPosが変化する。
そして、減速開始位置DecPosが変化したことに伴い、図7のステップS11の減速開始位置判定処理において、スレーブ機器の位置が減速開始位置DecPosよりも遅れた位置にあると判断されるため、ステップS12の速度判定が行われる。また、タイミングT20、T21では、スレーブ機器が減速動作を開始しているためステップS12においてスレーブ機器の現速度Velが速度最大値MaxVelよりも遅くなっていると判断される。従って、タイミングT21では、制御装置1の仮想位置指令値判別部22は、加速位置指令値ins1を仮想位置指令値として選択する。これにより、タイミングT21では、制御装置1は、スレーブ機器の再加速処理を行う(図8の状態遷移条件TS2の遷移を行う。)
その後、スレーブ機器が新たな減速開始位置DecPosを超えたことに応じて、制御装置1は、スレーブ機器を減速動作に移行させる(タイミングT22)。そして、タイミングT23において、スレーブ機器とマスタ機器との位置が一致する。制御装置1は、スレーブ機器とマスタ機器との位置が一致したことに応じてスレーブ機器の位置制御を静止状態に移行させる。
続いて、状態遷移条件TS3による状態遷移が生じた場合のスレーブ機器の位置変位の一例を第3の動作例として図11に示す。図11に示す例では、タイミングT30でスレーブ機器が減速動作を開始している。このとき、マスタ機器の停止位置が変化しない場合、制御装置1はスレーブ機器の減速動作を継続する。しかし、図11に示す例では、タイミングT31で、マスタ機器の位置が現在のスレーブ機器の回転方向とは逆の方向に戻るつまり、図11に示す例では、タイミングT31においてマスタ機器の位置がタイミングT30の停止位置より手前に移動する。そのため、タイミングT21では、制御装置1で算出されている減速開始位置DecPosが変化する。具体的には、(6)式のマスタ機器の位置情報SMPが変化するため、当該変化に基づき減速開始位置DecPosが変化する。しかし、タイミングT31では、スレーブ機器の位置が減速開始位置DecPosよりも進んだ位置にあり(図7のステップS11からステップS15に進む枝)、かつ、速度Velがゼロでない(図7のステップS4のNoの枝)ため、制御装置1は、スレーブ機器の減速処理を継続する。
その後、タイミングT32で、スレーブ機器の現速度Velがゼロになる。このとき、図11に示す例では、スレーブ機器の位置とマスタ機器の位置に差があるため、制御装置1の仮想位置指令値判定部22は、図7のステップS5の位置判断処理においてNoの枝に進む処理(ステップS6の機構保護処理を行う判断)を行う。そして、制御装置1は、図6の加減速状態管理表に従ってスレーブ機器の加速処理を行う。
その後、スレーブ機器が新たな減速開始位置DecPosを超えたことに応じて、制御装置1は、スレーブ機器を減速動作に移行させる(タイミングT33)。そして、タイミングT33以降の期間に、スレーブ機器とマスタ機器との位置が一致したことに応じて、制御装置1は、スレーブ機器の位置制御を静止状態に移行させる。
上記説明より、実施の形態1にかかるマスタスレーブ制御方法では、入力位置指令値に代えて、スレーブ機器の動作可能範囲内の値(スレーブ機器の動作能力に基づき予め決定された値であって、例えば、速度最大値MaxVel、加減速最大時間MaxAcc等)に基づき生成した仮想位置指令値(例えば、仮想位置指令値ins1〜ins3)を用いる。これにより、マスタ機器がスレーブ機器の能力を超える入力位置指令値を出力する異常状態においても、スレーブ機器に過大な負荷を与えることなくスレーブ機器の追従制御を行うことができる。
また、実施の形態1にかかるマスタスレーブ制御方法では、急な逆方向への方向転換等のマスタ機器に対する急制動があった場合においても、減速開始位置算出部17が加減速状態管理表に基づきスレーブ機器に対する制御状態を管理することで、スレーブ機器が急制動に無理に追従することを防止する。そして、実施の形態1にかかるマスタスレーブ制御方法では、スレーブ機器に過大な負荷がかかることを防止することができる。特に、突発的な事故の発生によりマスタ機器に急激な変位が生じることがあるが、実施の形態1にかかるマスタスレーブ制御方法によれば、このような自体に対してもスレーブ機器の保護を行うことができる。
また、実施の形態1にかかるマスタスレーブ制御方法では、減速開始位置DecPosの算出を実際のスレーブ機器の位置情報に基づき算出する。これにより、実施の形態1にかかるマスタスレーブ制御方法では、モータの回転誤差等を補正しながらスレーブ機器の位置制御を行うことができる。また、実施の形態1にかかるマスタスレーブ制御方法では、加速位置指令値ins1、定速位置指令値ins2、減速位置指令値ins3については制御時間から論理的に算出される加減速カウント値AccLに基づき算出する。これにより、実施の形態1にかかるマスタスレーブ制御方法では、仮想位置指令値insが誤差を含む不安定な値により変動することを防止し、スレーブ機器をより安定した状態で制御することができる。
また、実施の形態1にかかるマスタスレーブ制御方法は、例外処理によらず、通常の処理フロー中で入力位置指令値を仮想位置指令値に置き換える処理を行う。これにより、実施の形態1にかかるマスタスレーブ制御方法は、例外処理による機構保護処理に比べて制御論理を簡略化することができる。
また、実施の形態1にかかるマスタスレーブ制御方法は、スレーブ機器の機構に併せた仮想位置指令値を行うため、マスタ機器とスレーブ機器の機構が異なる構成を有している場合であっても、確実にスレーブ機器の機構を保護することができる。特に、実施の形態1にかかるマスタスレーブ制御方法では、入力位置指令値MasPosに対して飽和処理を施す。これにより、実施の形態1にかかるマスタスレーブ制御方法は、スレーブ機器の動作範囲では対応できない過大な入力位置指令値MasPosが入力された場合であってもスレーブ機器が過大な入力位置指令値MasPosに無理な追従を行うことを防止して、スレーブ機器の機構の保護をおこなうことができる。
ロボットアーム等の複数の動作軸を有するシステムでは、軸毎に可動許容範囲が異なる。実施の形態1にかかるマスタスレーブ制御方法により制御されるマスタスレーブシステムでは、軸の特性に合わせた仮想位置指令値を生成することができる。そのため、ロボットアームのような多軸のシステムにおいて、実施の形態1にかかるマスタスレーブ制御方法を採用することで、各軸を無理なく加減速させることが可能になり、軸の耐久性及び耐故障性の高いシステムを構成することができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
1 制御装置
10 マスタ位置センサ
11 飽和処理部
12 スレーブ位置センサ
13 速度最大値保持部
14 加減速最大時間保持部
15 加減速カウンタ
16 位置差算出部
17 減速開始位置算出部
18 保護処理部
19 加速移動量算出部
20 定速移動量算出部
21 減速移動量算出部
22 仮想位置指令値判別部
23 ポートスイッチ
24 スレーブ位置制御部

Claims (12)

  1. マスタ機器の位置変位に追従してスレーブ機器の位置を制御するマスタスレーブシステムのマスタスレーブ制御方法であって、
    前記マスタ機器の位置情報と、前記スレーブ機器の位置情報と、を取得する位置情報取得ステップと、
    前記マスタ機器の位置、前記スレーブ機器の位置と、の差分値を算出する位置差算出ステップと、
    前記スレーブ機器の変位後の位置を指示する位置指令値として前記スレーブ機器の可動範囲内の値から算出された仮想位置指令値を生成し、当該仮想位置指令値により前記スレーブ機器を前記マスタ機器の位置に追従させる保護処理ステップと、
    前記スレーブ機器が現速度から停止状態となるまでに要する停止距離を算出し、前記マスタ機器の位置情報により示される目標位置との位置差が前記停止距離と等しくなる位置を減速開始位置として算出する減速開始位置算出ステップと、を有し、
    前記保護処理ステップは、前記スレーブ機器が前記減速開始位置に達したことに応じて前記スレーブ機器を減速させる前記仮想位置指令値を生成し、当該仮想位置指令値により前記スレーブ機器を減速させる減速処理ステップを有するマスタスレーブ制御方法。
  2. 現在の前記スレーブ機器の位置情報と、1つ前の制御周期の前記スレーブ機器の位置情報と、に基づき前記減速開始位置を算出する請求項に記載のマスタスレーブ制御方法。
  3. 前記保護処理ステップは、
    前記スレーブ機器の速度が予め定められた最高速度未満である場合に前記スレーブ機器の速度を加速させる前記仮想位置指令値を生成する加速処理ステップと、
    前記スレーブ機器の速度が前記最高速度以上である場合に最大速度を維持する前記仮想位置指令値を生成する定速処理ステップと、
    を有する請求項1又は2に記載のマスタスレーブ制御方法。
  4. 前記マスタ機器の位置情報が、前記スレーブ機器に許容された可動範囲を超えた位置を示す場合に前記マスタ機器の位置情報の値を前記スレーブ機器の可動範囲の上限値又は下限値に置き換える飽和処理ステップを有する請求項1乃至のいずれか1項に記載のマスタスレーブ制御方法。
  5. 前記スレーブ機器の可動範囲内の値は、前記スレーブ機器の動作能力に基づき予め決定された値である請求項1乃至のいずれか1項に記載のマスタスレーブ制御方法。
  6. マスタ機器の位置情報に基づきスレーブ機器の変位後の位置を指示する位置指令値を生成するマスタスレーブ機器の制御装置であって、
    前記マスタ機器の位置情報と、前記スレーブ機器の位置情報と、を取得する位置センサと、
    前記マスタ機器の位置と前記スレーブ機器の位置との差分値を算出する位置差算出部と、
    前記スレーブ機器の可動範囲内の値から前記スレーブ機器を予め定められた加速度で加速させる加速位置指令値と、前記スレーブ機器を定速で制御する定速位置指令値と、前記スレーブ機器を予め定められた減速度で減速させる減速位置指令値と、を算出する保護処理部と、
    前記スレーブ機器に与える位置指令値として前記加速位置指令値と、前記定速位置指令値と、前記減速位置指令値と、のいずれを与えるかを前記スレーブ機器の位置及び速度に基づき選択する仮想位置指令値判別部と、
    を有する制御装置。
  7. 前記スレーブ機器が現速度から停止状態となるまでに要する停止距離を算出し、前記マスタ機器の位置情報により示される目標位置との位置差が前記停止距離と等しくなる位置を減速開始位置として算出する減速開始位置算出部をさらに有し、
    前記仮想位置指令値判別部は、前記スレーブ機器が前記減速開始位置に達したことに応じて前記減速位置指令値を前記位置指令値として選択する請求項に記載の制御装置。
  8. 前記減速開始位置算出部は、現在の前記スレーブ機器の位置情報と、1つ前の制御周期の前記スレーブ機器の位置情報と、に基づき前記減速開始位置を算出する請求項に記載の制御装置。
  9. 前記仮想位置指令値判別部は、
    前記スレーブ機器の速度が予め定められた最高速度未満である場合に前記加速位置指令値を前記位置指令値として選択し、前記スレーブ機器の速度が前記最高速度以上である場合に前記定速位置指令値を前記位置指令値として選択する請求項乃至のいずれか1項に記載の制御装置。
  10. 前記マスタ機器の位置情報が、前記スレーブ機器に許容された可動範囲を超えた位置を示す場合に前記マスタ機器の位置情報の値を前記スレーブ機器の可動範囲の上限値又は下限値に置き換える飽和処理部を有する請求項乃至のいずれか1項に記載の制御装置。
  11. 前記スレーブ機器の可動範囲内の値は、前記スレーブ機器の動作能力に基づき予め決定された値である請求項乃至10のいずれか1項に記載の制御装置。
  12. 請求項〜請求項11のいずれか1項に記載の制御装置と、
    前記マスタ機器と、
    前記スレーブ機器と、を有するシステム。
JP2012029566A 2012-02-14 2012-02-14 マスタスレーブ制御方法及び制御装置並びにシステム Active JP5776577B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012029566A JP5776577B2 (ja) 2012-02-14 2012-02-14 マスタスレーブ制御方法及び制御装置並びにシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012029566A JP5776577B2 (ja) 2012-02-14 2012-02-14 マスタスレーブ制御方法及び制御装置並びにシステム

Publications (2)

Publication Number Publication Date
JP2013167955A JP2013167955A (ja) 2013-08-29
JP5776577B2 true JP5776577B2 (ja) 2015-09-09

Family

ID=49178322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012029566A Active JP5776577B2 (ja) 2012-02-14 2012-02-14 マスタスレーブ制御方法及び制御装置並びにシステム

Country Status (1)

Country Link
JP (1) JP5776577B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115847371B (zh) * 2022-07-29 2023-12-12 以诺康医疗科技(苏州)有限公司 一种主从手机器人的控制方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05161371A (ja) * 1991-12-06 1993-06-25 Hitachi Ltd 電動機の制御装置及び制御方法
JP4362925B2 (ja) * 2000-03-01 2009-11-11 三菱電機株式会社 位置制御装置
JP2006184994A (ja) * 2004-12-27 2006-07-13 Hitachi High-Technologies Corp ステージの位置決め方法およびその位置決め装置
JP4280252B2 (ja) * 2005-06-24 2009-06-17 株式会社東芝 マスタスレーブマニピュレータ
JP5392530B2 (ja) * 2008-07-23 2014-01-22 株式会社ジェイテクト モータ制御装置

Also Published As

Publication number Publication date
JP2013167955A (ja) 2013-08-29

Similar Documents

Publication Publication Date Title
US9939804B2 (en) Numerical control device and numerical control method
US9537431B2 (en) Brake diagnosis device and brake diagnosis method
CN109968377B (zh) 机器人控制系统和控制机器人的方法
US10254743B2 (en) Numerical control apparatus and logging method
JP2016159367A (ja) ロボットの動作モードを自動的に切替えるロボット制御装置
CN108326851B (zh) 机器人控制装置
JP6068554B2 (ja) センサレスで制御停止を行う機能を有するサーボ制御装置
JP6703021B2 (ja) サーボ制御装置
KR101784585B1 (ko) 다축 기계를 작동하기 위한 그리고/또는 감시하기 위한 방법 및 시스템
CN107186711A (zh) 机械臂的限位保护方法、装置及机器人
JP2018062026A (ja) ロボットの速度や加速度を制限する機能を備えたロボット制御装置
JP5776577B2 (ja) マスタスレーブ制御方法及び制御装置並びにシステム
US11025190B2 (en) Motor control device, motor control system, runaway state detection method, and non-transitory computer readable storage medium
JP5912953B2 (ja) 制御装置、及び制御方法
JP5778891B2 (ja) ロボット制御装置
CN110730706A (zh) 机器人的控制
CN104106016B (zh) 指令生成装置以及指令生成方法
JP6043191B2 (ja) モータ速度制御装置
JP2001353687A (ja) ロボットの制御装置とその制御方法
JP7398947B2 (ja) モータ制御装置
JP2019125067A (ja) モータ駆動制御装置およびこれを備えてなる工作機械
CN106980314B (zh) 一种运动控制方法及电子设备
JP2011250638A (ja) 系統安定化装置
CN109753020B (zh) 电动机控制装置、控制系统以及电动机控制方法
JP5936746B1 (ja) 電子スロットル制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150609

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150622

R151 Written notification of patent or utility model registration

Ref document number: 5776577

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151