(57)【要約】【課題】ロボットシステムの拡張性を高める技術を提供する。【解決手段】マニピュレーターと、前記マニピュレーターを駆動するアクチュエーターと、前記マニピュレーターに作用する力を検出する力検出器と、をそれぞれ備える複数のロボットを制御するロボット制御システムであって、前記複数のロボットを制御する制御装置と、異なる前記ロボットと繋がる前記力検出器の出力信号線がそれぞれに接続される複数のセンサーポートを備え、前記複数のセンサーポートから入力される信号を前記制御装置に中継するセンサーユニットと、前記アクチュエーターの駆動信号線が接続されるドライブポートを備え、前記制御装置から取得する制御信号に基づいて前記ドライブポートに駆動信号を出力するドライブユニットと、を備える。そして、前記制御装置と前記センサーユニットと前記ドライブユニットは、前記センサーハブと前記ドライブユニットとを組み合わせて前記制御装置に接続する。【選択図】図１
2017030069.tif 000002
【特許請求の範囲】
【請求項１】
マニピュレーターと、
前記マニピュレーターを駆動するアクチュエーターと、
前記マニピュレーターに作用する力を検出する力検出器と、
をそれぞれ備える複数のロボットを制御するロボット制御システムであって、
前記複数のロボットを制御する制御装置と、
異なる前記ロボットと繋がる前記力検出器の出力信号線がそれぞれに接続される複数のセンサーポートを備え、前記複数のセンサーポートから入力される信号を前記制御装置に中継するセンサーユニットと、
前記アクチュエーターの駆動信号線が接続されるドライブポートを備え、前記制御装置から取得する制御信号に基づいて前記ドライブポートに駆動信号を出力するドライブユニットと、
を備え、
前記制御装置と前記センサーユニットと前記ドライブユニットは、前記センサーユニットと前記ドライブユニットとを組み合わせて前記制御装置に接続する、
ロボット制御システム。
【請求項２】
前記センサーユニットに備わる前記センサーポートの数は、前記ドライブユニットに備わる前記ドライブポートの数よりも多い、
請求項１に記載のロボット制御システム。
【請求項３】
前記ドライブユニットは、異なるドライブユニットに繋がることを特徴とする、
請求項１に記載のロボット制御システム。
【請求項４】
前記制御装置は、
前記センサーポートの識別子と前記力検出器の識別子とを対応付けて記憶する記憶部と、
前記センサーユニットから前記センサーポートの識別子とともに前記力検出器の識別子を取得し、前記センサーユニットから取得した前記センサーポートの識別子と前記力検出器の識別子との対応関係を検証する検証部と、
を備える請求項１から３のいずれか一項に記載のロボット制御システム。
【請求項５】
前記制御装置は、前記センサーポートの識別子と前記力検出器の識別子とを対応付けて記憶する記憶部を備え、
前記検証部は、前記センサーユニットから取得した前記センサーポートの識別子と前記力検出器の識別子との対応関係と、記憶している前記センサーポートの識別子と前記力検出器の識別子との対応関係とを比較する、
請求項４に記載のロボット制御システム。
【請求項６】
前記検証部は、前記センサーユニットから取得した前記センサーポートの識別子と前記力検出器の識別子との対応関係と、記憶している前記センサーポートの識別子と前記力検出器の識別子との対応関係とが一致しない場合には、エラーを報知する、
請求項５に記載のロボット制御システム。
【請求項７】
前記力検出器の識別子はシリアル番号である、
請求項４から６のいずれか一項に記載のロボット制御システム。
【請求項８】
マニピュレーターと、
前記マニピュレーターを駆動するアクチュエーターと、
前記マニピュレーターに作用する力を検出する力検出器と、
複数のセンサーポートを備えるセンサーユニットのいずれかの前記センサーポートに接続され、前記センサーユニットに中継させて制御装置に前記力検出器の信号を送信する出力信号線と、
を備えるロボット。
【請求項９】
複数のロボットと、前記複数のロボットを制御する制御装置と、前記ロボットと前記制御装置に接続されるセンサーユニットと、を備えるロボットシステムであって、
前記センサーユニットは、異なる前記ロボットに備わる力検出器の出力信号線がそれぞれに接続されるセンサーポートを複数備え、前記複数のセンサーポートから入力される信号を前記制御装置に中継する、
ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御システム、ロボットおよびロボットシステムに関する。
【背景技術】
【０００２】
近年、マニュピレーターに加わる力を検出する力覚センサーを備えたロボットが実用化されている。特許文献１には、力覚センサーをそれぞれ備えた２つのロボットを１つの制御装置に接続して協調動作させる構成が開示されている。また特許文献２には、２つのロボットのそれぞれに備えられた力覚センサーを診断する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−３３４９号公報
【特許文献２】特開２０１４−５８０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、複数のロボットを接続して制御できるように制御装置を構成しようとすれば、接続可能にするロボットの数に応じて制御装置に備える駆動回路や通信のためのポート数を増やす必要がある一方で、駆動回路やポートの数が増えるほど、制御装置が大型化し、製造コストも増加するという課題がある。
【０００５】
また、制御装置とロボットとを接続する同種のケーブルの数が増えると、配線ミスが起こる可能性が高まる。特に１つ以上の力覚センサーをオプションで装着可能な複数のロボットを制御装置に接続する構成においては配線ミスが起こりやすい。
【０００６】
本発明は、このような問題を解決するために創作されたものであって、ロボットシステムの拡張性を高める技術を提供することを目的の１つとする。
【課題を解決するための手段】
【０００７】
前記目的を達成するためのロボット制御システムは、マニピュレーターと、前記マニピュレーターを駆動するアクチュエーターと、前記マニピュレーターに作用する力を検出する力検出器と、をそれぞれ備える複数のロボットを制御するロボット制御システムであって、前記複数のロボットを制御する制御装置と、異なる前記ロボットと繋がる前記力検出器の出力信号線がそれぞれに接続される複数のセンサーポートを備え、前記複数のセンサーポートから入力される信号を前記制御装置に中継するセンサーユニットと、前記アクチュエーターの駆動信号線が接続されるドライブポートを備え、前記制御装置から取得する制御信号に基づいて前記ドライブポートに駆動信号を出力するドライブユニットと、を備える。そして、前記制御装置と前記センサーユニットと前記ドライブユニットは、前記センサーハブと前記ドライブユニットとを組み合わせて前記制御装置に接続する。
【０００８】
本発明によると、ロボットと力検出器の数に応じてセンサーハブとドライブユニットを制御装置にカスケード接続できるため、ロボットシステムの拡張性を高めることができる。
【０００９】
なお請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【図面の簡単な説明】
【００１０】
【図１】ロボットシステムの斜視図である。
【図２】ロボットシステムのブロック図である。
【図３】図３Ａはフィールドバスに送出されるパケットの構成を示す図である。図３Ｂはパケットの経路を説明するためのブロック図である。
【図４】力覚センサーの接続検証の手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について添付図面を参照しながら説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
【００１２】
（１）ロボットシステムの構成
本発明の一実施例としてのロボットシステムは、図１に示すように、第一ロボット１ａと、第二ロボット１ｂと、制御装置３（ロボット制御装置）と、センサーハブ４（センサーユニット）と、ドライブユニット５を備えている。制御装置３とセンサーハブ４とドライブユニット５は、本発明のロボット制御システムの一実施例である。なお、第一ロボット１ａと第二ロボット１ｂは、インターフェースが共通であれば同一の構成である必要はないが、本実施例では同一構成であるものとして説明する。そこで第一ロボット１ａと第二ロボット１ｂの構成を説明するときには、単にロボット１とも記載するものとする。
【００１３】
ロボット１は、アームＡに各種のエンドエフェクター２を装着して使用される単腕ロボットである。アームＡは６つの関節Ｊ１〜Ｊ６を備える。関節Ｊ１〜Ｊ６によって６個のアーム部材Ａ１〜Ａ６が連結される。関節Ｊ２、Ｊ３、Ｊ５は曲げ関節であり、関節Ｊ１、Ｊ４、Ｊ６はねじり関節である。関節Ｊ６には、ワークに対して把持や加工等を行うための各種のエンドエフェクター２が装着される。先端の関節Ｊ６の回転軸上の所定位置をツールセンターポイント（ＴＣＰ）と表す。ＴＣＰの位置はロボット１を制御する際に制御対象基準となる。
【００１４】
関節Ｊ６には力覚センサーＦＳが備えられている。力覚センサーＦＳは、６軸の力検出器である。力覚センサーＦＳは、固有の座標系であるセンサー座標系において互いに直交する３個の検出軸と平行な力の大きさと、当該３個の検出軸まわりのトルクの大きさとを検出する。なお、力覚センサーＦＳは本発明の力検出器の構成例であるが、関節Ｊ６以外の関節Ｊ１〜Ｊ５のいずれか１つ以上に力検出器としての力覚センサーを備えても良い。
【００１５】
ロボット１が設置された空間を規定する座標系をロボット座標系というとき、ロボット座標系は、水平面上において互いに直交するＸ軸とＹ軸と、鉛直上向きを正方向とするＺ軸とによって規定される３次元の直交座標系である。Ｚ軸における負の方向は概ね重力方向と一致する。またＸ軸周りの回転角をＲＸで表し、Ｙ軸周りの回転角をＲＹで表し、Ｚ軸周りの回転角をＲＺで表す。Ｘ，Ｙ，Ｚ方向の位置により３次元空間における任意の位置を表現でき、ＲＸ，ＲＹ，ＲＺ方向の回転角により３次元空間における任意の姿勢を表現できる。以下、位置と表記した場合、姿勢も意味し得ることとする。また、力と表記した場合、トルクも意味し得ることとする。
【００１６】
図２は、制御装置３と第一ロボット１ａとで構成する基本ロボットシステムのブロック図である。ロボット１は、図１に示した構成のほかに、アクチュエーターとしてのモーターＭ１〜Ｍ６と、センサーとしてのエンコーダーＥ１〜Ｅ６とを備える。モーターＭ１〜Ｍ６とエンコーダーＥ１〜Ｅ６とは、関節Ｊ１〜Ｊ６のそれぞれに対応して備えられており、エンコーダーＥ１〜Ｅ６はモーターＭ１〜Ｍ６の回転角度を検出する。アームＡを制御することはモーターＭ１〜Ｍ６の回転角度を制御することを意味する。制御装置３は、アームＡを制御することによって、ロボット座標系においてＴＣＰの位置を制御する。
【００１７】
制御装置３は、ロボット１を制御するための制御信号をコマンドに応じて生成する制御部３２と、制御信号に基づいて駆動信号を生成してロボット１に出力する駆動部３１とを備える。
【００１８】
制御部３２はロボット１の制御を行うための制御プログラムがインストールされたコンピューターである。制御部３２は、プロセッサーやＲＡＭやＲＯＭを備え、これらのハードウェア資源が制御プログラムと協働する。制御部３２は４つのロボット１を制御可能である。制御部３２は、モーターＭ１〜Ｍ６の回転角度の組み合わせと、ロボット座標系におけるＴＣＰの位置との対応関係Ｕ１を記憶している。制御部３２は、教示によって設定される目標位置と目標力とがＴＣＰにて実現される制御信号を駆動部３１に出力することによりアームＡを制御する。目標力とは、アームＡの動作に応じて力覚センサーＦＳが検出すべき力である。
【００１９】
駆動部３１は、制御部３２から入力される制御信号に基づいてモーターＭ１〜Ｍ６を回転させる駆動信号を生成し、エンコーダーＥ１〜Ｅ６から出力される信号を制御部３２に中継する回路である。駆動部３１は１つのロボット１を駆動可能である。
【００２０】
教示端末７は、オペレーターの操作に応じて目標力ｆＳｔと目標位置Ｓｔを指定するコマンドを生成して制御装置３に出力する。ここでＳの文字は、ロボット座標系を規定する軸の方向（Ｘ，Ｙ，Ｚ，ＲＸ，ＲＹ，ＲＺ）のなかのいずれか１個の方向を表すこととする。また、Ｓは、Ｓ方向の位置も表すこととする。例えば、Ｓ＝Ｘの場合、ロボット座標系にて設定された目標位置のＸ方向成分がＳt＝Ｘtと表記され、目標力のＸ方向成分がｆSt＝ｆXtと表記される。
【００２１】
（２）ロボットシステムのインターフェース
ここで制御装置３、センサーハブ４、ドライブユニット５のインターフェースを図１を参照しながら説明する。制御装置３はモーターＭ１〜Ｍ６とエンコーダーＥ１〜Ｅ６と接続するためのドライブポート３３を１つと、力覚センサーＦＳと接続するためのセンサーポート３６を１つとフィールドバスポート３４を２つ備えている。ドライブポート３３には、１つのロボット（本実施例では第一ロボット１ａとする。）と直接接続するための図示しないメインケーブルが接続される。メインケーブルは、モーターＭ１〜Ｍ６の駆動信号線とエンコーダーＥ１〜Ｅ６の出力信号線とを含む。
【００２２】
１つの制御装置３で複数のロボット１を制御するシステムでは、制御装置３とロボット１との間にセンサーハブ４とドライブユニット５が接続される。制御装置３と、センサーハブ４と、ドライブユニット５とは、フィールドバスによって相互に通信可能に接続される。センサーハブ４には、フィールドバスポート４５ａ、４５ｂが備えられる。ドライブユニット５には、フィールドバスポート５１ａ、５１ｂが備えられる。制御装置３のフィールドバスポート３４ａとセンサーハブ４のフィールドバスポート４５ｂとにフィールドバスケーブル６ａが接続されることによって制御装置３とセンサーハブ４が接続される。センサーハブ４のフィールドバスポート４５ａとドライブユニット５のフィールドバスポート５１ｂとにフィールドバスケーブル６ｂが接続されることによってセンサーハブ４とドライブユニット５が接続される。なお、制御装置３のフィールドバスポート３４ｂとドライブユニット５のフィールドバスポート５１ｂとをフィールドバスケーブル６ｂで接続することにより制御装置３とドライブユニット５を直接接続することも可能である。
【００２３】
センサーハブ４は、力覚センサーＦＳと通信するためのセンサーポート３６を４つ備えている。センサーポート３６は、ＲＳ４２２に準じて構成される。センサーハブ４は、４つの力覚センサーＦＳから出力される信号を１パケットに書き込んでフィールドバスに送出する機能を有する。すなわちセンサーハブ４は、複数のセンサーポート３６から入力される信号を制御装置３に中継する。本実施例では第一ロボット１ａの力覚センサーＦＳ１の出力信号線はセンサーポート４１ａに接続され、第二ロボット１ｂの力覚センサーＦＳ２の出力信号線はセンサーポート４１ｄに接続されるものとする。
【００２４】
ドライブユニット５は、フィールドバスを介して制御装置３から制御信号を取得し、制御信号に基づいてモーターＭ１〜Ｍ６を回転させる駆動信号を生成してドライブポート５０に出力するとともに、ドライブポート５０を介してエンコーダーＥ１〜Ｅ６から信号を取得してフィールドバスのパケットに書き込む回路である。
【００２５】
（３）基本ロボットシステムの作動
以下、制御装置３と第一ロボット１ａとで構成する基本ロボットシステムにおいて、制御装置３が第一ロボット１ａの力覚センサーＦＳが検出する力に基づいて第一ロボット１ａのアームＡを制御する作動について説明する。
【００２６】
制御装置３は、モーターＭ１〜Ｍ６の回転角度Ｄaを取得すると、対応関係Ｕ１に基づいて、当該回転角度Ｄaをロボット座標系におけるＴＣＰの位置Ｓ（Ｘ，Ｙ，Ｚ，ＲＸ，ＲＹ，ＲＺ）に変換する。制御装置３は、ＴＣＰの位置Ｓと、力覚センサーＦＳの検出値とに基づいて、力覚センサーＦＳに現実に作用している作用力ｆSをロボット座標系において特定する。作用力ｆｓの作用点は、ＴＣＰとは別に原点Ｏとして定義される。原点Ｏは、力覚センサーＦＳが力を検出している点に対応する。制御装置３は、ロボット座標系におけるＴＣＰの位置Ｓごとに、力覚センサーＦＳのセンサー座標系における検出軸の方向を規定した対応関係Ｕ２を記憶している。従って、制御装置３は、ロボット座標系におけるＴＣＰの位置Ｓと対応関係Ｕ２とに基づいて、ロボット座標系における作用力ｆSを特定できる。また、ロボットに作用するトルクは、作用力ｆSと、ツール接触点（エンドエフェクター２とワークの接触点）から力覚センサーＦＳまでの距離とから算出することができ、図示されないfsトルク成分として特定される。
【００２７】
制御装置３は、作用力ｆSに対して重力補償を行う。重力補償とは、作用力ｆSから重力に起因する力やトルクの成分を除去することである。重力補償を行った作用力ｆSは、エンドエフェクター２に作用している重力以外の力と見なすことができる。
【００２８】
本実施例のインピーダンス制御は、仮想の機械的インピーダンスをモーターＭ１〜Ｍ６によって実現する能動インピーダンス制御である。制御装置３は、このようなインピーダンス制御を、ワークの嵌合作業、研磨作業など、エンドエフェクター２が対象物（ワーク）から力を受ける接触状態の工程で適用する。インピーダンス制御では、目標力を後述する運動方程式に代入してモーターＭ１〜Ｍ６の回転角度を導出する。制御装置３がモーターＭ１〜Ｍ６を制御する信号は、ＰＷＭ（Pulse Width Modulation）変調された信号である。運動方程式に基づいて目標力から回転角度を導出してモーターＭ１〜Ｍ６を制御するモードを力制御モードというものとする。また制御装置３は、エンドエフェクター２がワークから力を受けない非接触状態の工程では、目標位置から線形演算で導出する回転角度でモーターＭ１〜Ｍ６を制御する。目標位置から線形演算で導出する回転角度でモーターＭ１〜Ｍ６を制御するモードを位置制御モードというものとする。また制御装置３は、目標位置から線形演算で導出する回転角度と目標力を運動方程式に代入して導出する回転角度とを例えば線型結合によって統合し、統合した回転角度でモーターＭ１〜Ｍ６を制御するハイブリッドモードでもロボット１を制御する。以上の構成より制御装置３は、エンドエフェクター２が目標の位置において目標の姿勢となり、かつ、エンドエフェクター２に目標の力とモーメントとが作用するようにアームＡを駆動することができる。
【００２９】
制御装置３は、目標力ｆStと作用力ｆSとをインピーダンス制御の運動方程式に代入することにより、力由来補正量ΔＳを特定する。力由来補正量ΔＳとは、ＴＣＰが機械的インピーダンスを受けた場合に、目標力ｆStとの力偏差ΔｆS（ｔ）を解消するために、ＴＣＰが移動すべき位置Ｓの大きさを意味する。下記の（１）式は、インピーダンス制御の運動方程式である。
【数１】
2017030069.tif 000003
【００３０】
（１）式の左辺は、ＴＣＰの位置Ｓの２階微分値に仮想慣性係数ｍを乗算した第１項と、ＴＣＰの位置Ｓの微分値に仮想粘性係数ｄを乗算した第２項と、ＴＣＰの位置Ｓに仮想弾性係数ｋを乗算した第３項とによって構成される。（１）式の右辺は、目標力ｆStから現実の力ｆを減算した力偏差ΔｆS（ｔ）によって構成される。（１）式における微分とは、時間による微分を意味する。ロボット１が行う工程において、目標力ｆStとして一定値が設定される場合もあるし、目標力ｆStとして時間の関数が設定される場合もある。
【００３１】
仮想慣性係数ｍはＴＣＰが仮想的に有する質量を意味し、仮想粘性係数ｄはＴＣＰが仮想的に受ける粘性抵抗を意味し、仮想弾性係数ｋはＴＣＰが仮想的に受ける弾性力のバネ定数を意味する。各係数ｍ，ｄ，ｋは方向ごとに異なる値に設定されてもよいし、方向に拘わらず共通の値に設定されてもよい。
【００３２】
そして、制御装置３は、対応関係Ｕ１に基づいて、ロボット座標系を規定する各軸の方向の動作位置を、各モーターＭ１〜Ｍ６の目標の回転角度である目標角度Ｄtに変換する。そして、制御装置３は、目標角度ＤtからモーターＭ１〜Ｍ６の現実の回転角度であるエンコーダーＥ１〜Ｅ６の出力Ｄaを減算することにより、駆動位置偏差Ｄe（＝Ｄt−Ｄa）を算出する。そして、制御装置３は、駆動位置偏差Ｄeに位置制御ゲインＫpを乗算した値と、現実の回転角度Ｄaの時間微分値である駆動速度との差である駆動速度偏差に、速度制御ゲインＫvを乗算した値とを加算することにより、制御量Ｄcを導出する。なお、位置制御ゲインＫpおよび速度制御ゲインＫvは、比例成分だけでなく微分成分や積分成分にかかる制御ゲインを含んでもよい。制御量Ｄcは、モーターＭ１〜Ｍ６のそれぞれについて特定される。
【００３３】
（４）ロボットシステムの拡張
基本ロボットシステムに第二ロボット１ｂ、センサーハブ４、ドライブユニット５を加えることにより、図１に示すロボットシステムが構成される。第二ロボット１ｂ、センサーハブ４、ドライブユニット５を加えた図１に示すロボットシステムの作動原理は基本ロボットシステムの作動原理と同一であるので、ここでは図３を参照しながら図１に示すロボットシステムの通信について説明する。
【００３４】
図３Ａに示すように通信用のパケットは、Ｅｔｈｅｒｎｅｔと互換性のある構造となっている。図３Ａにおいて図中のＡは１０ｂｙｔｅのテレグラムヘッダ、Ｂは２ｂｙｔｅのワーキングカウンタである。制御装置３がセンサーハブ４およびドライブユニット５と送受信するデータは、パケットの所定の位置に配置される。本実施例では、センサーハブ４に割り当てられたセクション（センサーハブ領域）に第一ロボット１ａと第二ロボット１ｂの力覚センサーの制御信号が配置され（Ｓ１）、ドライブユニット５に割り当てられたセクションに第二ロボット１ｂの制御信号が配置されたパケットが、フィールドバスのマスターである制御装置３のフィールドバスポート３４ａから送出される（Ｓ２）。なお、本実施例では１つのセンサーハブ４を制御装置３に接続するが、センサーユニット領域には２つのセンサーハブ４を接続するために送受信領域が２つ用意され、送受信領域毎に４つの力覚センサーの制御信号を配列可能である。
【００３５】
図３Ｂに示すように、マスターである制御装置３から送出されたパケットは全てのスレーブを巡回して制御装置３に戻ってくる。パケットが巡回する過程において各スレーブは、自身に割り当てられた出力セクションからデータを取得し、自身に割り当てられた入力セクションにデータを書き込む。制御装置３は、スレーブから戻ったパケットの入力セクションからデータを取得する。
【００３６】
本実施例では、センサーハブ４が、フィールドバスポート４５ｂからパケットを取得すると、センサーハブ４に予め割り当てられているセンサーハブ領域から力覚センサーＦＳ１、ＦＳ２の制御信号を取得するとともに、センサーハブ領域に力覚センサーＦＳ１、ＦＳ２の出力信号を書き込む（Ｓ３）。そしてセンサーハブ４は、力覚センサーＦＳ１、ＦＳ２の出力信号を書き込んだパケットをフィールドバスポート４５ａから送出する（Ｓ４）。
【００３７】
ドライブユニット５が、フィールドバスポート５１ｂからパケットを取得すると、ドライブユニット５に予め割り当てられている出力セクションから第二ロボット１ｂのモーターＭ１〜Ｍ６の制御信号を取得するとともに、ドライブユニット５に予め割り当てられている入力セクションに第二ロボット１ｂのエンコーダーＥ１〜Ｅ６の出力信号を書き込む（Ｓ５）。そしてドライブユニット５は、第二ロボット１ｂのエンコーダーＥ１〜Ｅ６の出力信号と第一ロボット１ａと第二ロボット１ｂの力覚センサーＦＳ１、ＦＳ２の出力信号が書き込まれたパケットをフィールドバスポート５１ｂから送出する（Ｓ６）。
【００３８】
ドライブユニット５から送出されたパケットは、センサーハブ４のフィールドバスポート４５ａ、４５ｂに中継され（Ｓ７）、制御装置３に戻る（Ｓ８）。制御装置３は戻ったパケットから第二ロボット１ｂのエンコーダーＥ１〜Ｅ６と第一ロボット１ａと第二ロボット１ｂの力覚センサーＦＳの出力を取得する（Ｓ９）。
【００３９】
なお、ドライブユニット５のフィールドバスポート５１ａに図示しない第二のドライブユニットを接続し、第二のドライブユニットに第三のロボットを接続し、第三のロボットの力覚センサーをセンサーハブ４の空いているセンサーポートに接続することにより、それぞれ力覚センサーを備える３つのロボットを含むロボットシステムを構成できる。さらに第二のドライブユニットの空いているフィールドバスポートに第三のドライブユニットを接続し、第三のドライブユニットに第四のロボットを接続し、第四の力覚センサーをセンサーハブ４の空いているセンサーポートに接続することにより、それぞれ力覚センサーを備える４つのロボットを含むロボットシステムを構成できる。また、制御装置３に対するセンサーハブ４とドライブユニット５の接続順序を入れ替えても良い。すなわち、フィールドバスのパケットはネットワークを巡回するため、パケット内におけるセンサーハブ４とドライブユニット５のデータセクションが決まっていれば、マスターとスレーブの接続順序はどのように決めても良い。
【００４０】
このように本実施例のロボットシステムは、センサーハブ４とドライブユニット５を組み合わせて制御装置３にカスケード接続するためのフィールドバスポート３４、４５、５１を備えるため、それぞれ力覚センサーを備える１つから４つのロボット１を１つの制御装置３で制御することが可能である。また制御対象のロボット１が１つであれば、センサーハブ４とドライブユニット５を接続することなく、基本ロボットシステムを構成することができる。したがって本実施例のロボットシステムは、拡張性が高く、また制御装置１の構成要素に無駄がない。
【００４１】
（５）力覚センサーの接続検証
センサーハブ４の４つのセンサーポート４１ａ、４１ｂ、４１ｃ、４１ｄと力覚センサーＦＳ１、ＦＳ２の接続の組み合わせは任意であるが、ロボットシステムを教示した後には、ポート番号がコマンドの引数になる。したがって、ロボットシステムを教示した後には、センサーハブ４の４つのセンサーポート４１ａ、４１ｂ、４１ｃ、４１ｄと力覚センサーＦＳの接続の組み合わせがコマンドと整合していない場合には、誤作動が起こり得る。制御装置３は、力覚センサーＦＳの出力信号線の接続ミスによる誤作動を防止するため、センサーハブ４の４つのセンサーポート４１ａ、４１ｂ、４１ｃ、４１ｄと力覚センサーＦＳの接続の組み合わせを起動時に検証する。具体的には以下の通りである。
【００４２】
制御装置３は、センサーポート毎に力覚センサーＦＳの識別子を登録するための記憶領域をＲＡＭおよびＲＯＭに確保する。本実施例では力覚センサーＦＳの識別子として力覚センサーＦＳのシリアル番号を用いるが、ロボットシステム内で力覚センサーを一意に特定できる情報であればシリアル番号以外の識別子を用いても良い。力覚センサーＦＳの識別子は、教示の際にコマンドで登録しても良いし、ロボットシステムの環境設定のためのプログラムを用いてコマンド以外の方法で登録しても良い。実際には、センサーハブ毎、センサーポート毎に力覚センサーＦＳの識別子が登録される。これによりセンサーハブ４が２つ以上増設された場合でも、センサーポートと力覚センサーの接続の対応関係を検証することが可能になる。
【００４３】
このように力覚センサーＦＳの識別子が登録された状態では、制御装置３またはセンサーハブ４の起動時に図４を示す検証処理が実行される。
制御装置３またはセンサーハブ４の起動時、制御装置３は仕様として定められている全てのセンサーポートについてプロセスデータの出力セクションに識別子の応答を指示する制御信号を書き込んだパケットをフィールドバスポート３４ａから送出する（Ｓ２１）。
【００４４】
センサーハブ４は、このパケットをフィールドバスポート４５ｂから取得すると、センサーポート４１ａ、４１ｂ、４１ｃ、４１ｄに力覚センサーＦＳが接続されていれば、接続されている力覚センサーＦＳの識別子を、当該力覚センサーＦＳの出力信号線が接続されているセンサーポートに対応する入力セクションに書き込んだパケットをフィールドバスポート４５ａから送出する（Ｓ２２）。
【００４５】
制御装置３は、力覚センサーＦＳの識別子が書き込まれたパケットを取得すると、登録されているセンサーポートと力覚センサーＦＳの識別子の対応関係と、パケットに書き込まれた識別子と当該識別子が書き込まれている入力セクションに対応するセンサーポートとの対応関係が一致するか否かを比較する（Ｓ２３、Ｓ２４）。ここで各センサーポートに対応する入力セクションのアドレス（オフセット）が各センサーポートの識別子となる。すなわち制御装置３は、パケットから取得したセンサーポートの識別子が書き込まれている入力セクションのアドレスを当該センサーポートの識別子として、センサーハブから取得したセンサーポートの識別子と力覚センサーの識別子との対応関係と、記憶しているセンサーポートの識別子と力覚センサーの識別子との対応関係とを比較する。
【００４６】
比較結果が不一致となる場合、制御装置３はエラーを報知する（Ｓ２５）。エラーの報知形態は、ビープ音の出力、インジケーターの点灯または点滅、画面へのエラーメッセージの表示など、どのような形態でもよい。
比較結果が一致する場合、制御装置３は接続検証を終了する。
【００４７】
（６）他の実施形態
本発明の技術的範囲は上述した実施例に限定されるものではなく、本発明の要旨を逸脱しない限りにおいて変更を加え得ることは勿論である。例えば、上記実施例では単腕６軸型ロボットを２つ備えるロボットシステムに本発明を適用した例を説明したが、本発明は単腕ロボットを２つ以上備えるロボットシステムにも適用できるし、双腕ロボットを２つ以上備えるロボットシステムにも適用できるし、スカラーロボットを２つ以上備えるロボットにも適用できる。
また上記実施例ではセンサーポートの識別子としてパケット内の入力セクションのアドレス（オフセット）を用いたが、センサーポートのポート番号をセンサーポートの識別子として力覚センサーの識別子とともにセンサーハブ４から制御装置３に送信しても良い。
またドライブユニットに２つ以上の互いに独立した駆動回路と２つ以上のドライブポートとを備え、１つのドライブユニットで複数のロボットを駆動できるようにロボットシステムを構成しても良い。また、上記実施例では４つのセンサーポートを備えるセンサーハブを例示したが、センサーハブに備えるセンサーポートの数は、２つでも３つでも５つ以上でも良い。またアクチュエーターとしてモーターを例示したが、電磁リニアアクチュエーターを用いても良い。
【符号の説明】
【００４８】
１ａ…第一ロボット、１ｂ…第二ロボット、２…エンドエフェクター、３…制御装置、４…センサーハブ、５…ドライブユニット、６ａ…フィールドバスケーブル、６ｂ…フィールドバスケーブル、７…教示端末、３１…駆動部、３２…制御部、３３…ドライブポート、３４ａ…フィールドバスポート、３４ｂ…フィールドバスポート、３６…センサーポート、４１ａ−４１ｄ…センサーポート、４５ａ…フィールドバスポート、４５ｂ…フィールドバスポート、５０…ドライブポート、５１ａ…フィールドバスポート、５１ｂ…フィールドバスポート、５１ｂ…フィールドバスポート、Ａ…アーム、Ａ１-Ａ６…アーム部材、Ｅ１-Ｅ６…エンコーダー、ＦＳ１…力覚センサー、ＦＳ２…力覚センサー、Ｊ１-Ｊ６…関節、Ｍ１-Ｍ６…モーター
【図１】
2017030069.tif 000004
【図２】
2017030069.tif 000005
【図３】
2017030069.tif 000006
【図４】
2017030069.tif 000007