(57)【要約】【課題】第２の信号に応じた動作を行うことができない不具合が発生した場合であっても第３の信号によって再起動することができるロボット用装置を提供すること。【解決手段】ロボット制御装置からロボットに送信される第１の信号と、ロボット制御装置からロボット用装置に送信される第２の信号と、ロボット制御装置からロボット用装置に送信される第３の信号とがあり、ロボット制御装置とロボット用装置間が通信異常の場合にロボット制御装置から第３信号が送信され、リセット回路により再起動される、ロボット用装置。【選択図】図３
2017196714.tif 000002
【特許請求の範囲】
【請求項１】
ロボット制御装置からロボットに送信される第１の信号と、前記ロボット制御装置からロボット用装置に送信される第２の信号と、前記ロボット制御装置から前記ロボット用装置に送信される第３の信号とがあり、前記ロボット制御装置と前記ロボット用装置間が通信異常の場合に前記ロボット制御装置から前記第３の信号が送信され、リセット回路により再起動される、
ロボット用装置。
【請求項２】
前記第２の信号は、前記ロボット用装置のコマンド信号のうち、前記ロボット用装置を再起動させるコマンド信号以外の信号である、
請求項１に記載のロボット用装置。
【請求項３】
ローレベルの信号が第１の期間連続した前記第３の信号を受信したときに前記リセット回路により再起動する、
請求項１又は２に記載のロボット用装置。
【請求項４】
前記第１の期間は、９×ｎ（ｎは、１より大きい実数）ビット長の期間である、
請求項３に記載のロボット用装置。
【請求項５】
ロボット制御装置は、ローレベルの信号が９×ｎ（ｎは、１より大きい実数）ビット長の期間連続した前記第３の信号を、１／ｎの伝送速度で送信する、
請求項１から４のうちいずれか一項に記載のロボット用装置。
【請求項６】
前記ロボット制御装置と前記ロボット用装置とは、シリアル通信を行う、
請求項１から５のいずれか一項に記載のロボット用装置。
【請求項７】
前記ロボット制御装置と前記ロボット用装置との間は、ＲＳ−４２２、ＲＳ−２３２Ｃ、及びＲＳ−４８５のいずれかによって接続される、
請求項１から６のうちいずれか一項に記載のロボット用装置。
【請求項８】
前記ロボット制御装置は、前記ロボット用装置へ前記第２の信号を所定の回数連続して送信し、且つ当該第２の信号に対する応答信号を受信しない場合に、前記第３の信号を送信する、
請求項１から７のうちいずれか一項に記載のロボット用装置。
【請求項９】
前記ロボット用装置は、力センサーである、
請求項１から８のうちいずれか一項に記載のロボット用装置。
【請求項１０】
請求項１から９のうちいずれか一項に記載のロボット用装置を備える、
ロボットを制御するロボット制御装置。
【請求項１１】
請求項１から９のうちいずれか一項に記載のロボット用装置を備えるロボットと、
前記ロボットを制御するロボット制御装置と
を備える
ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット用装置、ロボット制御装置、及びロボットシステムに関する。
【背景技術】
【０００２】
ロボットに加えられた力やトルクを検出する技術の研究や開発が行われている。例えば、力センサーを備えるロボットと、当該ロボットを制御するロボット制御装置との間で通信を行うことで、ロボット制御装置は、ロボットに加えられた力とトルクとの両方の情報を取得する。
【０００３】
ロボット制御装置とロボットとの間のような装置間の通信に関し、通信装置に障害が発生した時、通信装置のプロセッサが動作回復可能かどうかに基づいて、コントロールウエアによるリセットを行う技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０５−２８２２２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ロボット制御装置とロボットが備える力センサーとの間の通信では、力センサーを再起動させるコマンドを含む各種のコマンドをロボット制御装置が力センサーに送信しても、当該コマンドによって力センサーに所望の動作を行わせることができない不具合が力センサーに生じる場合がある。このような場合、当該技術では、ユーザーがロボットの動作を停止させてユーザーによる操作によって力センサーを再起動させる必要があり、ロボットに行わせている作業の効率を低下させてしまう可能性があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、ロボット制御装置からロボットに送信される第１の信号と、前記ロボット制御装置からロボット用装置に送信される第２の信号と、前記ロボット制御装置から前記ロボット用装置に送信される第３の信号とがあり、前記ロボット制御装置と前記ロボット用装置間が通信異常の場合に前記ロボット制御装置から前記第３の信号が送信され、リセット回路により再起動される、ロボット用装置である。
この構成により、ロボット用装置は、ロボット制御装置から送信された第３の信号に基づいて、リセット回路により再起動する。これにより、ロボット用装置は、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても第３の信号によって再起動することができる。
【０００７】
また、本発明の他の態様は、ロボット用装置において、前記第２の信号は、前記ロボット用装置のコマンド信号のうち、前記ロボット用装置を再起動させるコマンド信号以外の信号である、構成が用いられてもよい。
この構成により、ロボット用装置は、ロボット用装置のコマンド信号のうち、ロボット用装置を再起動させるコマンド信号以外の信号とは異なる第３の信号に基づいて、リセット回路により再起動する。これにより、ロボット用装置は、ロボット用装置を再起動させるコマンド信号以外のコマンド信号に応じた動作を行うことができない不具合が発生した場合であっても第３の信号によって再起動することができる。
【０００８】
また、本発明の他の態様は、ロボット用装置において、ローレベルの信号が第１の期間連続した前記第３の信号を受信したときに前記リセット回路により再起動する、構成が用いられてもよい。
この構成により、ロボット用装置は、ローレベルの信号が第１の期間連続した第３の信号を受信したときに前記リセット回路により再起動する。これにより、ロボット用装置は、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても、ロボット制御装置から送信されたローレベルの信号が第１の期間連続した第３の信号によって再起動することができる。
【０００９】
また、本発明の他の態様は、ロボット用装置において、前記第１の期間は、９×ｎ（ｎは、１より大きい実数）ビット長の期間である、構成が用いられてもよい。
この構成により、ロボット用装置は、ローレベルの信号が９×ｎ（ｎは、１より大きい実数）ビット長の期間連続した第３の信号を受信したときに前記リセット回路により再起動する。これにより、ロボット用装置は、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても、ローレベルの信号が９×ｎ（ｎは、１より大きい実数）ビット長の期間連続した第３の信号によって再起動することができる。
【００１０】
また、本発明の他の態様は、ロボット用装置において、前記ロボット制御装置は、ローレベルの信号が９×ｎ（ｎは、１より大きい実数）ビット長の期間連続した前記第３の信号を、１／ｎの伝送速度で送信する、構成が用いられてもよい。
この構成により、ロボット用装置は、１／ｎの伝送速度でロボット制御装置から送信されたローレベルの信号が９×ｎ（ｎは、１より大きい実数）ビット長の期間連続した第３の信号を受信したときに前記リセット回路により再起動する。これにより、ロボット用装置は、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても、１／ｎの伝送速度でロボット制御装置から送信されたローレベルの信号が９×ｎ（ｎは、１より大きい実数）ビット長の期間連続した第３の信号によって再起動することができる。
【００１１】
また、本発明の他の態様は、ロボット用装置において、前記ロボット制御装置と前記ロボット用装置とは、シリアル通信を行う、構成が用いられてもよい。
この構成により、ロボット用装置は、ロボット制御装置からシリアル通信で送信された第３の信号に基づいて、リセット回路により再起動する。これにより、ロボット用装置は、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても、ロボット制御装置から第２の信号と同様にシリアル通信で送信された第３の信号をリセット回路より受信できる。
【００１２】
また、本発明の他の態様は、ロボット用装置において、前記ロボット制御装置と前記ロボット用装置との間は、ＲＳ−４２２、ＲＳ−２３２Ｃ、及びＲＳ−４８５のいずれかによって接続される、構成が用いられてもよい。
この構成により、ロボット用装置は、ＲＳ−４２２、ＲＳ−２３２Ｃ、及びＲＳ−４８５のいずれかによって接続されるロボット制御装置からシリアル通信で送信された第３の信号に基づいて、リセット回路により再起動する。これにより、ロボット用装置は、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても、ＲＳ−４２２、ＲＳ−２３２Ｃ、及びＲＳ−４８５のいずれかによって接続されるロボット制御装置から第２の信号と同様にシリアル通信で送信された第３の信号をリセット回路より受信できる。
【００１３】
また、本発明の他の態様は、ロボット用装置において、前記ロボット制御装置は、前記ロボット用装置へ前記第２の信号を所定の回数連続して送信し、且つ当該第２の信号に対する応答信号を受信しない場合に、前記第３の信号を送信する、構成が用いられてもよい。
この構成により、ロボット用装置は、ロボット制御装置が、ロボット用装置へ第２の信号を所定の回数連続して送信し、且つ当該第２の信号に対する応答信号を受信しない場合にロボット制御装置がロボット用装置に送信する第３の信号に基づいて、リセット回路により再起動する。これにより、ロボット用装置は、ロボット用装置へ第２の信号を所定の回数連続して送信し、且つ当該第２の信号に対する応答信号を受信しない場合に第３の信号を送信するロボット制御装置から送信された第３の信号によって再起動することができる。
【００１４】
また、本発明の他の態様は、ロボット用装置において、前記ロボット用装置は、力センサーである、構成が用いられてもよい。
この構成により、力センサーは、ロボット制御装置から送信された第３の信号に基づいて、リセット回路により再起動する。これにより、力センサーは、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても第３の信号によって再起動することができる。
【００１５】
また、本発明の他の態様は、上記に記載のロボット用装置を備えるロボットを制御するロボット制御装置である、構成が用いられてもよい。
この構成により、ロボット制御装置は、ロボット用装置へリセット回路により再起動させる第３の信号を送信する。これにより、ロボット制御装置は、第２の信号に応じた動作を行うことができない不具合が発生した状態であるロボット用装置へ第３の信号を送信することによってロボット用装置を再起動させることができる。
【００１６】
また、本発明の他の態様は、上記に記載のロボット用装置を備えるロボットと、ロボットを制御するロボット制御装置を備える、ロボットシステムである。
この構成により、ロボットシステムでは、ロボット用装置は、ロボット制御装置から送信された第３の信号に基づいて、リセット回路により再起動し、ロボット制御装置は、ロボット用装置へリセット回路により再起動させる第３の信号を送信する。これにより、ロボットシステムは、第２の信号に応じた動作を行うことができない不具合がロボット用装置に発生した場合であっても、第３の信号によってロボット用装置を再起動することができる。
【００１７】
以上により、ロボット用装置は、ロボット制御装置から送信された第３の信号に基づいて、リセット回路により再起動する。これにより、ロボット用装置は、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても第３の信号によって再起動することができる。
また、ロボット制御装置は、ロボット用装置へリセット回路により再起動させる第３の信号を送信する。これにより、ロボット制御装置は、第２の信号に応じた動作を行うことができない不具合が発生した状態であるロボット用装置へ第３の信号を送信することによってロボット用装置を再起動させることができる。
また、ロボットシステムでは、ロボット用装置は、ロボット制御装置から送信された第３の信号に基づいて、リセット回路により再起動し、ロボット制御装置は、ロボット用装置へリセット回路により再起動させる第３の信号を送信する。これにより、ロボットシステムは、第２の信号に応じた動作を行うことができない不具合がロボット用装置に発生した場合であっても、第３の信号によってロボット用装置を再起動することができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】本実施形態に係るロボットシステム１のハードウェア構成の一例を示す図である。
【図３】本実施形態に係るロボットシステム１の機能構成の一例を示す図である。
【図４】ロボット制御部４６とロボット２０との間で送受信されるデータのフォーマットの一例を示す図である。
【図５】ロボット制御部４６とロボット２０との間で送受信されるコマンド信号の一例を示す図である。
【図６】リセット信号の一例を示す図である。
【図７】本実施形態に係るロボットシステム１の動作の一例を示す図である。
【発明を実施するための形態】
【００１９】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００２０】
＜ロボットシステムの構成＞
まず、ロボットシステム１の構成について説明する。
図１は、本実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、ロボット２０と、ロボット制御装置３０を備える。
【００２１】
ロボット２０は、アームＡと、アームＡを支持する支持台Ｂを備える単腕ロボットである。単腕ロボットは、この一例におけるアームＡのような１本のアーム（腕）を備えるロボットである。なお、ロボット２０は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、２本以上のアーム（例えば、２本以上のアームＡ）を備えるロボットである。なお、複腕ロボットのうち、２本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット２０は、２本のアームを備える双腕ロボットであってもよく、３本以上のアーム（例えば、３本以上のアームＡ）を備える複腕ロボットであってもよい。また、ロボット２０は、スカラロボットや、直角座標ロボット等の他のロボットであってもよい。直角座標ロボットは、例えば、ガントリロボットである。
【００２２】
アームＡは、エンドエフェクターＥと、マニピュレーターＭと、力検出部１０を備える。
エンドエフェクターＥは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターＥは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
【００２３】
マニピュレーターＭは、５個のアーム部材であるリンクＬ１−リンクＬ５と、６つの関節である関節Ｊ１−関節Ｊ６を備える。支持台ＢとリンクＬ１は、関節Ｊ１によって連結される。リンクＬ１とリンクＬ２は、関節Ｊ２によって連結される。リンクＬ２とリンクＬ３は、関節Ｊ３によって連結される。リンクＬ３とリンクＬ４は、関節Ｊ４によって連結される。リンクＬ４とリンクＬ５は、関節Ｊ５によって連結される。リンクＬ５とエンドエフェクターＥは、関節Ｊ６によって連結される。すなわち、マニピュレーターＭを備えるアームＡは、６軸垂直多関節型のアームである。なお、アームＡは、５軸以下の自由度で動作する構成であってもよく、７軸以上の自由度で動作する構成であってもよい。
【００２４】
関節Ｊ２、関節Ｊ３、関節Ｊ５のそれぞれは、曲げ関節であり、関節Ｊ１、関節Ｊ４、関節Ｊ６のそれぞれは、ねじり関節である。前述したように、関節Ｊ６には、エンドエフェクターＥが連結（装着）される。
【００２５】
エンドエフェクターＥと、マニピュレーターＭが備える６つの関節は、ケーブルによってロボット制御装置３０と通信可能に接続されている。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。また、エンドエフェクターＥは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。また、マニピュレーターＭが備える６つの関節のうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２６】
力検出部１０は、エンドエフェクターＥと、マニピュレーターＭとの間に備えられる。力検出部１０は、例えば、力センサーである。力検出部１０は、加えられた外力を検出する。外力は、力とトルク（モーメント）のうち少なくとも一方のことである。具体的には、力検出部１０が検出する力の大きさは、エンドエフェクターＥ又はエンドエフェクターＥに把持された物体に加えられた力の大きさであって、力検出座標系のＸ軸方向、Ｙ軸方向、Ｚ軸方向のそれぞれに加えられた力の大きさである。また、力検出部１０が検出するトルクの大きさは、エンドエフェクターＥ又はエンドエフェクターＥに把持された物体に加えられたトルクであって、力検出座標系のＵ軸方向、Ｖ軸方向、Ｗ軸方向のそれぞれに加えられたトルクの大きさである。力検出部１０は、検出したこれらの大きさを示す力検出値を含む力検出情報を通信によりロボット制御装置３０へ出力する。力検出座標系は、力検出部１０とともに動くように力検出部１０に対応付けられた三次元局所座標系である。また、Ｕ軸方向は、Ｘ軸回りの回転方向である。また、Ｖ軸方向は、Ｙ軸回りの回転方向である。また、Ｗ軸方向は、Ｚ軸回りの回転方向である。
【００２７】
力検出情報は、ロボット制御装置３０による力検出情報に基づく制御に用いられる。当該制御は、例えば、インピーダンス制御等のコンプライアントモーション制御のことである。なお、力検出部１０は、トルクセンサー等の外力を検出する他のセンサーであってもよい。また、力検出部１０は、エンドエフェクターＥとマニピュレーターＭとの間に代えて、関節Ｊ１〜関節Ｊ６のうちの一部又は全部に備えられる構成であってもよく、エンドエフェクターＥとマニピュレーターＭとの間に加えて、関節Ｊ１〜関節Ｊ６のうちの一部又は全部に備えられる構成であってもよく、ロボット２０の他の部位に備えられる構成であってもよい。
【００２８】
ロボット制御装置３０は、この一例において、ロボットコントローラーである。ロボット制御装置３０は、予め入力された動作プログラムに基づいて制御信号等の第１の信号を生成する。ロボット制御装置３０は、生成した制御信号をロボット２０に送信し、ロボット２０に所定の作業を行わせる。所定の作業は、力検出部１０から取得した力検出情報に基づく作業である。当該作業は、例えば、図示しない物体をロボット２０が把持し、把持した物体を図示しない給材領域にロボット２０が配置する作業であるが、これに代えて当該力検出情報に基づく他の作業であってもよい。
【００２９】
また、ロボット制御装置３０は、ロボット２０が備える力検出部１０へ送信するコマンド信号を生成する。ロボット制御装置３０は、生成したコマンド信号を力検出部１０へ送信し、コマンド信号に応じた動作を力検出部１０に行わせる。当該動作は、例えば、力検出部１０が検出した力検出値を含む力検出情報をロボット制御装置３０に送信させる動作である。
【００３０】
ここで、力検出部１０とロボット制御装置３０との間の通信では、以下の（１）〜（３）のいずれかの場合に通信エラーが発生する。
【００３１】
（１）ロボット制御装置３０が力検出部１０へ所定数のバイトから構成されるコマンド信号を送信したが、力検出部１０が当該コマンド信号を構成する全てのバイトを受信したと認識していないため、残りのバイトを受信するために待機している場合。
（２）力検出部１０がコマンド信号を構成する所定数のバイトを超えるバイトから構成されるコマンド信号を受信し、当該コマンド信号に含まれるバイトのうち、所定数のバイトを超えるバイトを次のコマンド信号と認識し、残りのバイトを受信するために待機している場合。
（３）ノイズの影響やバグ等のために、力検出部１０の通信回路等の処理回路に不具合が発生し、ロボット制御装置３０から力検出部１０へコマンド信号を送信しても、力検出部１０が動作できない場合。
【００３２】
上記の（１）及び（２）によって通信エラーが発生した場合、通信エラーは、ロボット制御装置３０から送信されるコマンド信号について、バイト毎にタイムアウト時間を設定することによって解消することができる。このため、力検出部１０は、当該タイムアウト時間を超えても次のバイトを受信しない場合、タイムアウトと見なし、これまで受信したバイトを破棄して新たなコマンドを受信するために待機する。
【００３３】
一方、上記の（３）によって通信エラーが発生した場合、通信エラーは、力検出部１０を再起動することによって解消することができる。しかし、力検出部１０と異なる他の力検出部では、当該力検出部を再起動するためには、当該力検出部の電源を入れ直したり、マニュアル操作により当該力検出部のリセットスイッチ等を操作したりする必要があり、当該力検出部を再起動させるたびに当該力検出部を備えるロボットの動作を停止させなければならなかった。これは、当該ロボットによる作業の効率を低下させてしまうため望ましくない。
【００３４】
そこで、上記の（３）によって通信エラーがした場合、この一例における力検出部１０は、ロボット制御装置３０から送信された第２の信号とは異なる第３の信号に基づいて、リセット回路により再起動する。これにより、ロボット制御装置３０は、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても第３の信号によって再起動することができる。第２の信号は、例えば、前述のコマンド信号である。なお、第２の信号は、コマンド信号に代えて、他の信号であってもよい。第３の信号は、力検出部１０を再起動させる信号である。
【００３５】
以下では、ロボット制御装置３０が第３の信号によって力検出部１０を再起動させる処理について詳しく説明する。
なお、力検出部１０は、ロボット用装置の一例である。なお、当該処理は、力検出部１０に代えて、角速度センサー等の他のロボット用装置にも適用可能である。
【００３６】
＜力検出部、及びロボット制御装置のハードウェア構成＞
図２は、力検出部１０と、ロボット制御装置３０とのハードウェア構成を示す図である。
まず、力検出部１０のハードウェア構成について説明する。力検出部１０は、通信部２１と、リセット回路２２と、処理回路２３と、Ａ／Ｄ（Analog-to-Digital）変換回路２４と、検出回路２５と、力検出素子２６と、温度センサー２７と、記憶部２８を備える。これらの構成要素は、相互に通信可能に接続されている。力検出部１０は、通信部２１、又はリセット回路２２を介してロボット制御装置３０と通信を行う。
【００３７】
通信部２１は、例えば、ＲＳ−４２２、ＲＳ−２３２Ｃ、ＲＳ−４８５等のシリアル通信規格にしたがったコネクタで構成される。
リセット回路２２は、例えば、ＲＳ−４２２、ＲＳ−２３２Ｃ、ＲＳ−４８５等のシリアル通信規格にしたがったコネクタや、マイコン（Microcomputer）等を含んで構成され、処理回路２３をリセットする。
処理回路２３は、例えば、ＦＰＧＡ（Field-Programmable Gate Array）等を含んで構成され、記憶部２８に格納された各種プログラムを実行する。
Ａ／Ｄ変換回路２４は、検出回路２５により供給されるアナログ信号をデジタル信号へ変換する。
【００３８】
検出回路２５は、例えば、アナログ回路等を含んで構成され、力検出素子２６から出力される電荷量を検出する。
力検出素子２６は、水晶等の圧電体を力検出素子として複数含んで構成され、当該水晶に加わる剪断力に応じた電荷を出力する。
温度センサー２７は、例えば、温度センサーＩＣ（Integrated Circuit）を含んで構成され、処理回路２３の温度を検出する。
【００３９】
記憶部２８は、例えば、ＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read-Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、記憶部２８は、力検出部１０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等により接続された外付け型の記憶装置であってもよい。
【００４０】
次に、ロボット制御装置３０のハードウェア構成について説明する。ロボット制御装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記憶部３２と、入力受付部３３と、通信部３４と、表示部３５を備える。これらの構成要素は、バスを介して相互に通信可能に接続されている。また、ロボット制御装置３０は、通信部３４を介してロボット２０、及び力検出部１０のそれぞれと通信を行う。
ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ、ＥＥＰＲＯＭ、ＲＯＭ、ＲＡＭ等を含む。なお、記憶部３２は、ロボット制御装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等により接続された外付け型の記憶装置であってもよい。記憶部３２は、ロボット制御装置３０が処理する各種情報、及びプログラム等を格納する。
【００４１】
入力受付部３３は、例えば、キーボードやマウス、タッチパッド等を備えたティーチングペンダントや、その他の入力装置である。なお、入力受付部３３は、タッチパネルとして表示部３５と一体に構成されてもよい。
通信部３４は、例えば、ＲＳ−４２２、ＲＳ−２３２Ｃ、ＲＳ−４８５等のシリアル通信規格にしたがったコネクタと、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等とを含んで構成される。
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００４２】
＜力検出部、及びロボット制御装置の機能構成＞
以下、図３を参照し、力検出部１０、及びロボット制御装置３０の機能構成について説明する。図３は、力検出部１０、及びロボット制御装置３０の機能構成の一例を示す図である。
【００４３】
まず、ロボット制御装置３０の機能構成について説明する。ロボット制御装置３０は、制御部３６を備える。制御部３６は、ロボット制御装置３０の全体を制御する。制御部３６は、取得部４１と、ロボット制御部４６と、リセット要求部４７を備える。制御部３６が備えるこれらの機能部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００４４】
取得部４１は、力検出部１０へ力検出情報の取得を要求するコマンド信号を送信する。取得部４１は、力検出情報の取得を要求するコマンド信号に対する応答として、力検出情報を受信する。ここで、コマンド信号について説明する。以下では、一例として、力検出部１０とロボット制御装置３０が、ＲＳ−４２２で接続されている場合について説明する。
【００４５】
図４は、取得部４１と力検出部１０との間で、ＲＳ−４２２にしたがって送受信されるデータのフォーマットの一例を示す図である。取得部４１と力検出部１０との間では、２バイト以上のデータ量を持つ数値データを転送するときには１バイト毎に分割し、これを最下位のバイトから順番に送信する、いわゆるリトルエンディアン方式にしたがってデータの送受信が行われる。データのフォーマットは、スタートビットと、８ビットのデータと、ストップビットを含む。図４には、８ビットのデータ「Ｄ０、Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｄ６、Ｄ７」が示されている。データ「Ｄ０、Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｄ６、Ｄ７」のうち「Ｄ０」がＬＳＢ(最下位ビット、Least Significant Bit)であり、「Ｄ７」がＭＳＢ(最上位ビット、Most Significant Bit)である。
【００４６】
図５は、取得部４１から力検出部１０へ送信されるコマンド信号の一例を示す図である。図５に示される「ＦＦ」、「ＡＡ」、「００」、「ＣＲＣ」、「ＣＲＣ」の各ブロックは、図４に示されるように８ビットで表される。図５には、取得部４１から力検出部１０へ送信されるコマンドヘッダー、コマンドコード、誤り検出符号(Cyclic  Redundancy  Check）を示す。「ＦＦ」は、コマンドヘッダーの一例を表す。「ＡＡ００」は、コマンドコードの一例を表す。「ＣＲＣ」は、誤り検出符号の一例を表す。この一例において、コマンドコード及びコマンドヘッダーは、１６進数で表される。なお、コマンドコードは、「ＡＡ００」に代えて、他のコマンドコードであってもよい。
【００４７】
また、例えば、取得部４１が力検出部１０へデータ「ＢＢ１１」を送信する場合、当該データには、図５に示される「ＡＡ」及び「００」代わりに、「ＢＢ」及び「１１」が含まれる。当該場合、取得部４１は、「ＦＦ」、「ＢＢ」、「１１」、「ＣＲＣ」、「ＣＲＣ」の順に送信する。そして、取得部４１は、力検出部１０から肯定応答（ACK）を受信した場合にデータを送信し、否定応答（NACK）を受信した場合にはデータを送信しない。
【００４８】
また、例えば、取得部４１が力検出部１０へデータ「ＣＣ２２」を送信する場合、当該データには、図５に示される「ＡＡ」及び「００」代わりに、「ＣＣ」及び「２２」が含まれる。当該場合、取得部４１は、「ＦＦ」、「ＣＣ」、「２２」、「ＣＲＣ」、「ＣＲＣ」の順に送信する。そして、取得部４１は、力検出部１０から肯定応答（ACK）を受信した場合にデータを送信し、否定応答（NACK）を受信した場合にはデータを送信しない。
【００４９】
また、例えば、取得部４１が力検出部１０からデータ「ＤＤ３３」を受信する場合、当該データには、図５に示される「ＡＡ」及び「００」代わりに、「ＤＤ」及び「３３」が含まれる。当該場合、取得部４１は、「ＦＦ」、「ＤＤ」、「３３」、「ＣＲＣ」、「ＣＲＣ」の順に送信する。そして、取得部４１は、力検出部１０から肯定応答（ACK）を受信した場合に続けてデータを受信し、否定応答（NACK）を受信した場合にはデータを受信しない。
ここで、「ＢＢ１１」、「ＣＣ２２」、及び「ＤＤ３３」は、データの一例であり、他のデータであってもよい。
【００５０】
図３に戻る。ロボット制御部４６は、ロボット２０に所定の作業を行わせる。例えば、ロボット制御部４６は、ロボット２０へ制御信号を送信することによりロボット２０を制御する。また、ロボット制御部４６は、取得部４１により取得された力検出情報に基づいてロボット２０を制御する。
【００５１】
リセット要求部４７は、力検出部１０へリセットを要求する。例えば、リセット要求部４７は、取得部４１が力検出部１０へコマンド信号を所定の回数連続して送信し、且つ取得部４１が当該コマンド信号に対する応答信号を当該回数連続して受信しない場合に、力検出部１０をリセットさせる信号であるリセット信号を送信することによりリセットを要求する。
【００５２】
取得部４１が力検出部１０へコマンド信号を所定の回数連続して送信し、且つロボット制御部４６が当該コマンド信号に対する応答信号を当該回数連続して受信しない場合には、力検出部１０に、ノイズ等の環境に起因するエラーや、回路やソフトウェアの設計や製造上の不具合、すなわち上記の（３）による通信エラーが発生している可能性が高い。このため、リセット要求部４７は、力検出部１０へリセット信号を送信する。
【００５３】
リセット信号は、コマンド信号と異なる信号であり、例えば、ローレベルの信号が第１の期間連続した信号である。当該コマンド信号は、力検出部１０のコマンド信号のうち、力検出部１０を再起動させるコマンド信号以外の信号である。第１の期間は、１バイト（８ビット）長の期間よりも長い期間、例えば、９×ｎ（ｎは、１より大きい実数）ビット長の期間である。なお、当該９×ｎビットにおける９は一例であり、第１の期間が１バイト（８ビット）長の期間よりも長い期間とする数であれば、９以外の数であってもよい。リセット信号を、ローレベルの信号が９×ｎ（ｎは、１より大きい実数）ビット長の期間連続した信号とすることにより、通信部２１では１バイト目のストップビットが転送されてこないため通信エラーとなるが、リセット回路２２ではリセット信号が受信される。これにより、力検出部１０は、リセット信号が、力検出部１０の動作を制御するコマンド信号とは異なる信号であることを認識することができる。
【００５４】
リセット信号は、リトルエンディアン方式にしたがってリセット要求部４７から力検出部１０へ送信されるため、スタートビットと、８ビットのデータと、ストップビットとからなる形式で送信される。したがって、リセット要求部４７は、リセット信号を送信するときに、一時的に伝送速度（ボーレート）を１／ｎに設定し、ローレベルの信号が８ビット長の期間連続した信号を送信する。これにより、リセット要求部４７は、疑似的にローレベルの信号が９×ｎビット長の期間連続した信号を送信できる。
【００５５】
図６は、リセット信号の一例を示す図である。図６に示される例はｎ＝３であり、３ビトのスタートビットに続いて、２４ビット連続して「０」が送信され、合計で２７ビット連続して「０」が送信されることになる。以下、ｎ＝３の場合について説明を続ける。
【００５６】
次に、ロボット２０の機能構成について説明する。
ロボット２０が備える力検出部１０は、検出部５５と、処理部５０と、リセット処理部５４を備える。
【００５７】
検出部５５は、検出回路２５により実現される。検出部５５は、力検出素子２６から出力される電荷量を検出し、当該電荷量を電圧に変換する。検出部５５は、当該電荷量を電圧に変換することにより得られる信号をＡ／Ｄ変換回路２４に出力する。Ａ／Ｄ変換回路２４は、取得した当該信号をデジタル信号に変換し、処理回路２３へ出力する。
処理部５０は、処理回路２３により実現される。処理部５０は、フィルタ処理部５１と、オフセットキャンセル部５２と、補正部５３と、外力算出部５６を備える。
【００５８】
フィルタ処理部５１は、Ａ／Ｄ変換回路２４から取得したデジタル信号をフィルタ処理することにより雑音を除去し、オフセットキャンセル部５２へ出力する。
オフセットキャンセル部５２は、フィルタ処理部５１から取得した信号からオフセット電圧を除去する。オフセットキャンセル部５２は、オフセット電圧を除去した信号を補正部５３へ出力する。
補正部５３は、オフセットキャンセル部５２から取得した信号に対して、時間ドリフト補正を行うとともに、温度センサー２７から検出される温度に基づいて、温度ドリフト補正を行う。そして、補正部５３は、補正した信号を、外力算出部５６へ出力する。
【００５９】
外力算出部５６は、補正部５３から取得した信号に基づいて力検出値を算出する。例えば、外力算出部５６は、エンドエフェクターＥ又はエンドエフェクターＥに把持された物体に作用した力を算出する。当該力は、力検出座標系のＸ軸方向、Ｙ軸方向、Ｚ軸方向のそれぞれに加わる力である。また、外力算出部５６は、エンドエフェクターＥ又はエンドエフェクターＥに把持された物体を回転させるトルクを算出する。当該トルクは、力検出座標系のＵ軸方向、Ｖ軸方向、Ｗ軸方向のそれぞれに加えられたトルクである。外力算出部５６は、算出した力検出値を含む力検出情報を生成し、生成した力検出情報を通信部２１を介してロボット制御装置３０に送信する。
【００６０】
リセット処理部５４は、リセット回路２２により実現される。リセット処理部５４は、ロボット制御装置３０により送信されるリセット信号を受信した場合に、処理回路２３をリセットさせる。例えば、リセット処理部５４は、２７ビット長の期間連続してローレベルを検出した場合、処理回路２３全体にシステムリセット信号を発行し、ハイレベルになるまでシステムリセット状態を継続する。このように構成することにより、リセット処理部５４は、処理回路２３をリセットさせることができる。ここで、リセット信号は、通信部２１でも受信されるが、通信部２１は、１バイト目のストップビットが転送されてこないため、通信エラーとみなし通常のエラー処理を行う。このため、リセット信号がリセット処理部５４で受信されることにより、その後の処理、すなわち処理回路２３をリセットさせる処理が行われる。
【００６１】
＜ロボットシステムが行う処理＞
以下、図７を参照し、この一例におけるロボットシステム１が行う処理について説明する。図７は、ロボットシステム１において、ロボット制御装置３０が力検出部１０をリセットさせる処理の流れの一例を示すシーケンス図である。
【００６２】
ロボット制御装置３０は、力検出部１０がコマンド信号を受け付けられない状態か否かを判定する（ステップＳ７０２）。例えば、リセット要求部４７は、取得部４１が力検出部１０へコマンド信号を所定の回数連続して送信し、且つ当該コマンド信号に対する応答信号を当該回数連続して受信しない場合に、力検出部１０がコマンド信号を受け付けられない状態であると判定する。
【００６３】
リセット要求部４７は、力検出部１０がコマンド信号を受け付けられない状態ではないと判定した場合（ステップＳ７０２−ＮＯ）、ステップＳ７０２へ遷移し、再び力検出部１０がコマンド信号を受け付けられない状態か否かを判定する。一方、リセット要求部４７は、力検出部１０がコマンド信号を受け付けられない状態であると判定した場合（ステップＳ７０２−ＹＥＳ）、リセット信号を生成する（ステップＳ７０４）。例えば、リセット要求部４７は、ローレベルの信号が９×ｎビット長の期間継続したリセット信号を生成する。
【００６４】
次に、リセット要求部４７は、リセット信号を力検出部１０へ送信する（ステップＳ７０６）。そして、力検出部１０のリセット処理部５４は、ステップＳ７０６においてロボット制御装置３０により送信されたリセット信号を受信する（ステップＳ７０８）。次に、リセット処理部５４は、処理部５０へシステムリセット信号を出力することにより、処理部５０をリセットさせる（ステップＳ７１０）。
【００６５】
ステップＳ７１０の後、処理部５０がリセットすることにより、力検出部１０が正常に動作する。なお、リセット処理部５４が、処理部５０へシステムリセット信号を出力しても処理部５０がリセットしない場合、リセット処理部５４はロボット制御装置３０へアラーム信号を出力する構成であってもよく、アラーム信号を出力しない構成であってもよい。リセット処理部５４が、ロボット制御装置３０へアラーム信号を送信する構成である場合、ロボット制御装置３０のリセット要求部４７は、例えば、リセット処理部５４から送信されたアラーム信号を受信すると、表示部３５へ、ロボット２０にエラーが発生していることを表示する。これにより、ロボットシステム１は、ユーザーへ、ロボット２０に第１の信号に応じた動作を行うことができない不具合が発生し、何らかの対応が必要であることを通知することができる。
【００６６】
なお、この一例では、力検出部１０が、力検出素子２６が検出した剪断力に応じた電荷から力又はトルクへの変換を行う構成について説明したが、これに代えて、ロボット制御装置３０が当該電荷から力又はトルクへの変換を行う構成であってよい。この場合、力検出部１０は、当該電荷を示す情報をロボット制御装置３０に出力する。
【００６７】
また、この一例では、ロボットシステムが１個の力検出部と、当該力検出部に接続される１台のロボット制御装置を備える場合（すなわち、図１に示したロボットシステム１の場合）について説明したが、これに代えて、ロボットシステムが、複数の力検出部と、当該複数の力検出部の各々に接続される複数のロボット制御装置を備える構成であってもよい。この場合、ロボット制御装置同士は、ＥｔｈｅｒＣＡＴ等のネットワークで接続される。そして、複数の力検出部に共通して、上記において説明したリセット回路が設けられる。複数のロボット制御装置の各々により送信されるリセット信号は、ＥｔｈｅｒＣＡＴを経由して、リセット回路に受信される。リセット回路は、リセット信号を受信すると、当該リセット信号を送信したロボット制御装置に対応する力検出部の処理回路にシステムリセット信号を出力する。これにより、リセット信号を送信したロボット制御装置に対応する力検出部を再起動させることができる。
【００６８】
また、この一例では、ロボット制御装置が力検出部をリセットさせる場合について説明したが、これに代えて、通信装置が他の通信装置をリセットさせる場合にも適用できる。例えば、マニピュレーターＭが備えるアクチュエーターの制御回路を、ロボット制御装置３０がリセットさせる場合に適用してもよく、ロボット制御装置３０がロボット２０とともに作業を行う他の装置の制御回路をリセットさせる場合に適用してもよい。
【００６９】
また、この一例では、リセット信号により、リセット回路が処理回路をリセットさせる場合について説明したが、これに代えて、リセット信号により、リセット回路が検出回路等の他の回路をリセットさせるようにしてもよい。
【００７０】
以上説明したように、本実施形態におけるロボット用装置（この一例において、力検出部１０）は、ロボット制御装置（この一例において、ロボット制御装置３０）から送信された第３の信号（この一例において、リセット信号）に基づいて、リセット回路（この一例において、リセット回路２２）により再起動できる。これにより、ロボット用装置は、第２の信号（この一例において、コマンド信号）に応じた動作を行うことができない不具合が発生した場合であっても第３の信号によって再起動することができる。
【００７１】
また、ロボット用装置は、ロボット用装置のコマンド信号のうち、ロボット用装置を再起動させるコマンド信号以外の信号とは異なる第３の信号に基づいて、リセット回路により再起動できる。これにより、ロボット用装置は、ロボット用装置を再起動させるコマンド信号以外のコマンド信号に応じた動作を行うことができない不具合が発生した場合であっても第３の信号によって再起動することができる。
【００７２】
また、ロボット用装置は、ローレベルの信号が第１の期間連続した第３の信号を受信したときに前記リセット回路により再起動できる。これにより、ロボット用装置は、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても、ロボット制御装置から送信されたローレベルの信号が第１の期間連続した第３の信号によって再起動することができる。
【００７３】
また、ロボット用装置は、ローレベルの信号が９×ｎ（ｎは、１より大きい実数）ビット長の期間連続した第３の信号を受信したときに前記リセット回路により再起動できる。これにより、ロボット用装置は、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても、ローレベルの信号が９×ｎ（ｎは、１より大きい実数）ビット長の期間連続した第３の信号によって再起動することができる。
【００７４】
また、ロボット用装置は、１／ｎの伝送速度でロボット制御装置から送信されたローレベルの信号が９×ｎ（ｎは、１より大きい実数）ビット長の期間連続した第３の信号を受信したときに前記リセット回路２２により再起動できる。これにより、ロボット用装置は、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても、１／ｎの伝送速度でロボット制御装置から送信されたローレベルの信号が９×ｎ（ｎは、１より大きい実数）ビット長の期間連続した第３の信号によって再起動することができる。
【００７５】
また、ロボット用装置は、ロボット制御装置３０からシリアル通信で送信された第３の信号に基づいて、リセット回路２２により再起動できる。これにより、ロボット用装置は、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても、ロボット制御装置から第２の信号と同様にシリアル通信で送信された第３の信号をリセット回路より受信できる。
【００７６】
また、ロボット用装置は、ＲＳ−４２２、ＲＳ−２３２Ｃ、及びＲＳ−４８５のいずれかによって接続されるロボット制御装置３０からシリアル通信で送信された第３の信号に基づいて、リセット回路２２により再起動できる。これにより、ロボット用装置は、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても、ＲＳ−４２２、ＲＳ−２３２Ｃ、及びＲＳ−４８５のいずれかによって接続されるロボット制御装置から第２の信号と同様にシリアル通信で送信された第３の信号をリセット回路より受信できる。
【００７７】
また、ロボット用装置は、ロボット制御装置３０が、ロボット用装置へ第２の信号を所定の回数連続して送信し、且つ当該第２の信号に対する応答信号を受信しない場合にロボット制御装置がロボット用装置に送信する第３の信号に基づいて、リセット回路２２により再起動できる。これにより、ロボット用装置は、ロボット用装置へ第２の信号を所定の回数連続して送信し、且つ当該第２の信号に対する応答信号を受信しない場合に第３の信号を送信するロボット制御装置から送信された第３の信号によって再起動することができる。
【００７８】
また、力センサー（この一例において、力検出部１０）は、ロボット制御装置３０から送信された第３の信号に基づいて、リセット回路２２により再起動できる。これにより、力センサーは、第２の信号に応じた動作を行うことができない不具合が発生した場合であっても第３の信号によって再起動することができる。
【００７９】
また、ロボット制御装置３０は、ロボット用装置へリセット回路２２により再起動させる第３の信号を送信できる。これにより、ロボット制御装置３０は、第２の信号に応じた動作を行うことができない不具合が発生した状態であるロボット用装置へ第３の信号を送信することによってロボット用装置を再起動させることができる。
【００８０】
また、ロボットシステム１では、ロボット用装置は、ロボット制御装置から送信された第３の信号に基づいて、リセット回路により再起動でき、ロボット制御装置は、ロボット用装置へリセット回路により再起動させる第３の信号を送信できる。これにより、ロボットシステムは、第２の信号に応じた動作を行うことができない不具合がロボット用装置に発生した場合であっても、第３の信号によってロボット用装置を再起動することができる。
【００８１】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置（例えば、力検出部１０、ロボット制御装置３０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００８２】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００８３】
１…ロボットシステム、１０…力検出部、２０…ロボット、２１…通信部、２２…リセット回路、２３…処理回路、２４…Ａ／Ｄ変換回路、２５…検出回路、２６…力検出素子
２７…温度センサー、２８…記憶部、３０…ロボット制御装置、３１…ＣＰＵ、３２…記憶部、３３…入力受付部、３４…通信部、３５…表示部、３６…制御部、４１…取得部、４６…ロボット制御部、４７…リセット要求部、５０…処理部、５１…フィルタ処理部、５２…オフセットキャンセル部、５３…補正部、５４…リセット処理部、５５…検出部、５６…外力算出部
【図１】
2017196714.tif 000003
【図２】
2017196714.tif 000004
【図３】
2017196714.tif 000005
【図４】
2017196714.tif 000006
【図５】
2017196714.tif 000007
【図６】
2017196714.tif 000008
【図７】
2017196714.tif 000009