(57)【要約】【課題】実際の制御対象である移動体を接続しなくても、移動体の制御プログラムのデバッグを可能にする。【解決手段】制御装置１内部で、通常モードとシュミレーションモードを切り替えるモード切替スイッチＳＷ１と、制御対象２の代替として設けられた推定現在位置演算部１２および推定現在トルク演算部１３と、シミュレーションモードのときは、モード切替スイッチＳＷ１を介して、制御装置１に制御対象２の代替となる推定現在位置演算部１２および推定現在トルク演算部１３を接続し、この推定現在位置演算部１２および推定現在トルク演算部１３が演算した推定現在位置信号Ｓ６０および推定現在トルク信号Ｓ６１を、現在位置信号Ｓ５０および現在トルク信号Ｓ５１とすることにより、制御対象２の制御プログラムをデバッグする手段とを備える。【選択図】  図１
2004295295.tif 000002
【特許請求の範囲】
【請求項１】
制御対象と、これらの制御対象を制御するドライバあるいはコントローラ等から構成され、制御対象に位置指令信号を与える機能と、現在位置信号および現在トルク信号を入力する機能を有するシミュレーションによりプログラムデバッグをする制御装置において、
前記制御装置内部で、通常モードとシュミレーションモードを切り替えるモード切替スイッチと、
前記制御対象の代替として設けられた推定現在位置演算部および推定現在トルク演算部と、
前記シミュレーションモードのときは、前記モード切替スイッチを介して、制御装置に前記制御対象の代替となる推定現在位置演算部および推定現在トルク演算部を接続し、この推定現在位置演算部および推定現在トルク演算部が演算した推定現在位置信号および推定現在トルク信号を、現在位置信号および現在トルク信号とすることにより、前記制御対象の制御プログラムをデバッグする手段と
を備えたことを特徴とするシミュレーションによりプログラムデバッグをする制御装置。
【請求項２】
前記制御対象の代替となる推定現在位置演算部における演算は、現在位置入力遅れ時間を設定する手段を備え、
設定された現在位置入力遅れ時間が経過するまでは、現在位置信号を更新せず、現在位置入力遅れ時間が経過後は、ｋ１を比例定数として、推定現在位置信号Ｓ６０が
Ｓ６０＝ｋ１×位置指令信号Ｓ１
によって導出され、前記推定現在位置信号Ｓ６０を現在位置信号とすることを特徴とする請求項１記載のシミュレーションによりプログラムデバッグをする制御装置。
【請求項３】
前記制御対象の代替となる推定現在トルク演算部における演算は、請求項２記載の推定現在位置信号Ｓ６０より、ｋ２を比例定数として、推定現在トルク信号Ｓ６１が
Ｓ６１＝ｋ２×推定現在位置信号Ｓ６０
によって導出され、前記推定現在トルク信号Ｓ６１を現在トルク信号とすることを特徴とする請求項１記載のシミュレーションによりプログラムデバッグをする制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、移動体もしくは回転体の制御対象とそれを制御する制御装置から構成された装置において、制御対象である移動体等に接続しなくても、移動体等の制御プログラムをデバッグ可能にする方法に関する。
【０００２】
【従来の技術】
従来は、制御対象（以下、単に「移動体」と総称する）の制御プログラムをデバッグ（ｄｅｂｕｇ）しようとする場合、図３に示すように実際の制御対象を接続することにより行われていた（以下、これを「第１の従来例」という）。
図３において、１は制御装置であり、信号出力部１０、信号入力部１１から成る。信号出力部１０は、位置指令信号Ｓ１を制御対象２に出力する。
制御対象２は、サーボアンプ２０、サーボモータ２１、速度検出器２２、位置検出器２３から成る。サーボアンプ２０は、信号出力部１０からの位置指令信号Ｓ１と、位置検出器２３からの位置フィードバック信号Ｓ４と、速度検出器２２からの速度フィードバック信号Ｓ３とにより電流指令信号Ｓ２を出力する。サーボモータ２１は、サーボアンプ２０からの電流指令信号Ｓ２に基づいて回転動作をする。速度検出器２２は、サーボモータ２１の回転速度を検出する。位置検出器２３は、サーボモータ２１の回転位置を検出する。そして、図３における速度検出器２２は位置検出器２３により兼用されてもよい。
【０００３】
移動体の制御プログラムをデバッグしようとする際に必要である現在位置信号および現在トルク信号を得るためには、サーボアンプ２０及び、サーボモータ２１、速度検出器２２、位置検出器２３を含む制御対象２が必要不可欠であった。
また、従来例２として例えば特許文献１に開示されたシミュレーションを用いてプログラムデバッグを行う制御装置がある。これは、実際の制御対象である移動体を接続しなくても、移動体の制御プログラムのデバッグを可能にする、という課題に対して、シミュレーションモード時に、制御対象である制御対象の代替となる演算を速度指令信号をもとに行い、その演算結果である推定位置フィードバック信号から現在位置信号とすることで、移動体の制御プログラムのデバッグを可能にした、との解決手段が記されている。
【０００４】
【特許文献１】
特開２０００−０６９２４３号公報
【０００５】
一般に制御対象は、アナログ信号などで速度指令信号が与えられるタイプのものと、ネットワーク通信などで位置指令信号が与えられるタイプのものがある。この従来例２は、アナログ指令を制御対象に与える制御装置では可能であるが、位置指令を与える制御装置では不可能である。
また、現在位置を入力する場合には、必ず入力遅れが存在するため、現在位置入力遅れ時間の設定を設けていることから、より実際に近いシミュレーションも可能であり、この点においても本発明は第２の従来例を凌駕している。
【０００６】
【発明が解決しようとする課題】
ところで第１の従来例では、移動体の制御プログラムをデバッグしようとする場合、制御装置に対して、実際の制御対象を接続しなければならなかったため、複数台の移動体を動作させる制御プログラムのデバッグ段階において、制御対象である複数台の移動体を用意する必要があり、デバッグが容易に出来なかった。また、移動体の制御プログラムをデバッグする際に、移動体を接続していると、移動体は当然のことながら回転するが、デバッグ段階においては、予想できない動作を行う可能性があり、非常に危険であった。
そこで、本発明は制御装置に対して、実際の制御対象である移動体を接続しなくても、移動体の制御プログラムのデバッグを可能にすることを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するために請求項１の発明のシミュレーションによりプログラムデバッグをする制御装置は、制御対象と、これらの制御対象を制御するドライバあるいはコントローラ等から構成され、制御対象に位置指令信号を与える機能と、現在位置信号および現在トルク信号を入力する機能を有する制御装置において、前記制御装置内部で、通常モードとシュミレーションモードを切り替えるモード切替スイッチと、前記制御対象の代替として設けられた推定現在位置演算部および推定現在トルク演算部と、前記シミュレーションモードのときは、前記モード切替スイッチを介して、制御装置に前記制御対象の代替となる推定現在位置演算部および推定現在トルク演算部を接続し、この推定現在位置演算部および推定現在トルク演算部が演算した推定現在位置信号および推定現在トルク信号を、現在位置信号および現在トルク信号とすることにより、前記制御対象の制御プログラムをデバッグする手段とを備えたことを特徴とするものである。
請求項２の発明のシミュレーションによりプログラムデバッグをする制御装置は、前記制御対象の代替となる推定現在位置演算部における演算は、現在位置入力遅れ時間を設定する手段を備え、設定された現在位置入力遅れ時間が経過するまでは、現在位置信号を更新せず、現在位置入力遅れ時間が経過後は、ｋ１を比例定数として、推定現在位置信号Ｓ６０がＳ６０＝ｋ１×位置指令信号Ｓ１によって導出され、前記推定現在位置信号Ｓ６０を現在位置信号とすることを特徴とするものである。
請求項３の発明のシミュレーションによりプログラムデバッグをする制御装置は、前記制御対象の代替となる推定現在トルク演算部における演算は、請求項２記載の推定現在位置信号Ｓ６０より、ｋ２を比例定数として、推定現在トルク信号Ｓ６１がＳ６１＝ｋ２×推定現在位置信号Ｓ６０によって導出され、前記推定現在トルク信号Ｓ６１を現在トルク信号とすることを特徴とするものである。
【０００８】
【発明の実施の形態】
以下、本発明の具体的な実施の形態について図面を参照して説明する。全ての図面において、同一符号は同一もしくは相当部材を示す。
図１は、本発明の実施の形態における構成を示すブロック図である。図１において、制御装置１は、信号出力部１０、信号入力部１１、推定現在位置演算部１２、推定現在トルク演算部１３，モード切替スイッチＳＷ１から成る。信号出力部１０は、位置指令信号Ｓ１を制御対象２に出力する。信号入力部１１は、制御対象２から現在位置信号Ｓ５０、現在トルク信号Ｓ５１を入力する。推定現在位置演算部１２は、位置指令信号Ｓ１に基づき推定現在位置信号Ｓ６０を出力する。
推定現在トルク演算部１３は、推定現在位置信号Ｓ６０から推定現在トルク信号Ｓ６１を出力する。
モード切替スイッチＳＷ１は、制御対象２を制御するときは、通常モード（接点）ＳＴ１にし、位置指令信号Ｓ１を信号出力部１０に対して出力する。また、制御対象２から現在位置信号Ｓ５０、現在トルク信号Ｓ５１を入力する。移動体の制御プログラムのデバックをする場合には、モード切替スイッチＳＷ１をシミュレーションモード（接点）ＳＴ２にし、位置指令信号Ｓ１を推定現在位置演算部１２に出力する。
【０００９】
図２は、本発明の制御装置の動作を示すフローチャートである。モード切替スイッチＳＷ１に従い、通常モードＳＴ１かシミュレーションモードＳＴ２かを判断する。ここで、通常運転したい場合、モード切替スイッチＳＷ１を通常モードＳＴ１にし、移動体の制御プログラムのデバッグを行う場合、シミュレーションモードＳＴ２にする（ステップ１）。
シミュレーションモードの場合、現在位置入力遅れ時間が経過したかを判断する。本実施の形態では、現在位置信号は通信によってデジタルデータとして入力されるものであり、現在位置入力時間の遅れは通信による遅れ時間のみとする。例えば、通信による遅れ時間が１０ｍｓであれば、この時間を推定現在位置演算部１２に格納しておく。この現在位置入力遅れ時間が経過するまでは推定現在位置演算部は実行されない（ステップ２）。
［３］  現在位置入力遅れ時間が経過すると、推定現在位置演算部１２において位置指令信号Ｓ１に基づき推定現在位置信号Ｓ６０を生成する。本実施例では、位置指令信号Ｓ１と現在位置信号Ｓ５０は比例関係にあるものとする。位置指令信号Ｓ１から推定現在位置信号Ｓ６０を推定するため、前記比例関係を表す演算式（１式）として、推定現在位置演算部１２に格納しておく。すなわち、
推定現在位置信号Ｓ６０＝ｋ１×位置指令信号Ｓ１  ・・・・・・・（１式）
ただし、ｋ１は比例定数である。
例えば、位置指令信号に対する「現在位置信号」が理想的である場合には、比例定数ｋ１は、１とすればよい。
（１式）により、位置指令信号Ｓ１から推定現在位置信号Ｓ６０を演算し、演算結果を現在位置信号Ｓ５０とする（ステップ３）。
【００１０】
［４］  推定現在トルク演算部１３において推定現在位置信号Ｓ６０に基づき推定現在トルク信号Ｓ６１を生成する。本実施例では、推定現在位置信号Ｓ６０と現在トルク信号Ｓ５１は比例関係にあるものとする。推定現在位置信号Ｓ６０から推定現在トルク信号Ｓ６１を推定するため、前記比例関係を表す演算式（２式）として、推定現在トルク演算部１３に格納しておく。すなわち、
推定現在トルク信号Ｓ６１＝ｋ２×推定現在位置信号Ｓ６０  ・・・・（２式）
ただし、ｋ２は比例定数である。
例えば、現在位置信号Ｓ５０が８０００パルスとしたとき、現在トルク信号Ｓ５１が４００００パルス／ｍｉｎ２とすると、
比例定数ｋ２は、４００００／８０００＝５（１／ｍｉｎ２）とすればよい。（２式）により、推定現在位置信号Ｓ６０から推定現在トルク信号Ｓ６１を演算し、演算結果を現在トルク信号Ｓ５１とする（ステップ３１）。
［５］  通常モードの場合、信号出力部１０から位置指令信号Ｓ１を制御対象２に出力する（ステップ４）。
［６］  制御対象２より現在位置信号Ｓ５０、現在トルク信号Ｓ５１を信号入力部１１に入力する。（ステップ５）
なお、本実施の形態では、位置指令信号Ｓ１から推定現在位置信号Ｓ６０を推定するための演算式を（１式）、推定現在位置信号Ｓ６０から推定現在トルク信号Ｓ６１を推定するための演算式を（２式）としたが、一次遅れ演算など他の演算式としてもよい。
【００１１】
【発明の効果】
以上述べたように、本発明によれば、制御装置に対して実際の制御対象である移動体を接続しなくても、移動体の制御プログラムのデバッグを可能にすることができるので、デバッグが容易に、かつ、安全にすることが可能という特段の効果を奏することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態の構成を示すブロック図。
【図２】本発明の実施の形態の動作手順を示すフローチャート。
【図３】従来例１の構成を示すブロック図。
【符号の説明】
１    制御装置
１０  信号出力部
１１  入力部
１２  推定現在位置演算部
１３  推定現在トルク演算部
２    制御対象
２０  サーボアンプ
２１  サーボモータ
２２  速度検出器
２３  位置検出器
Ｓ１  位置指令信号
Ｓ２  電流指令信号
Ｓ３  速度フィードバック信号
Ｓ４  位置フィードバッグ信号
Ｓ５０  現在位置信号
Ｓ５１  現在トルク信号
Ｓ６０  推定現在位置信号
Ｓ６１  推定現在トルク信号
ＳＷ１  モード切替スイッチ
ＳＴ１  通常モード（接点）
ＳＴ２  シミュレーションモード（接点）
【図１】
2004295295.tif 000003
【図２】
2004295295.tif 000004
【図３】
2004295295.tif 000005