(57)【要約】      （修正有）【課題】より少ない操作でロボットに直観的に指示を行うことが可能なロボットシステムを提供する。【解決手段】ロボット（１００）および移動可能な操作装置（３）を有し、操作装置を利用して入力された指示を利用してロボットを動作させるロボットシステム（１）を提供する。操作装置は、ロボットを動作させるために入力装置（２００）およびジャイロセンサを有する。ロボットシステムの信号処理回路（４）は、第１指示を、第１変換規則を用いて第２指示に変換する。第１および第２の二次元座標系の相対位置が変化すると、信号処理回路はジャイロセンサの出力を利用して、現在の第１の二次元座標系を、相対位置が変化する前の第１の二次元座標系に変換する第２変換規則を生成し、第１変換規則および第２変換規則を用いて、現在の第１の二次元座標系で表現された第１指示を、第２の二次元座標系で表現された第２指示に変換する。【選択図】図１
2020203368.tif 000002
【特許請求の範囲】
【請求項１】
ロボットおよび移動可能な操作装置を有し、前記操作装置を利用して入力された指示を利用して前記ロボットを動作させるロボットシステムであって、
前記操作装置は、
前記操作装置に固定された第１の二次元座標系を有し、かつ、
前記ロボットを動作させるために前記第１の二次元座標系で表現された第１指示を受け付ける入力装置およびジャイロセンサを有し、
前記ロボットは、
前記ロボットに固定された第２の二次元座標系を有し、かつ、前記第２の二次元座標系で表現された第２指示に従って動作し、
前記ロボットシステムは、前記入力装置が受け付けた前記第１指示を、第１変換規則を用いて前記第２指示に変換する信号処理回路を備え、
前記信号処理回路は、
前記操作装置が移動されたことによって前記第１の二次元座標系と前記第２の二次元座標系との相対位置が変化したことを前記ジャイロセンサの出力に基づいて検出すると、
前記ジャイロセンサの出力を利用して、現在の第１の二次元座標系を、前記相対位置が変化する前の前記第１の二次元座標系に変換する第２変換規則を生成し、
前記第１変換規則および前記第２変換規則を用いて、現在の前記第１の二次元座標系で表現された第１指示を、前記第２の二次元座標系で表現された前記第２指示に変換して、前記第２指示により前記ロボットを動作させる、ロボットシステム。
【請求項２】
前記信号処理回路は、
前記ジャイロセンサの出力の時間積分値から前記第１の二次元座標系上の回転角度および回転の向きを算出し、
第２変換規則として、二次元座標系を、前記回転角度だけ前記回転の向きと逆向きに回転させる規則を生成する、
請求項１に記載のロボットシステム。
【請求項３】
前記第１変換規則は、少なくとも、前記相対位置が変化する前の前記第１の二次元座標系で表現された第１移動方向を、前記第２の二次元座標系で表現された前記ロボットの第２移動方向に変換する規則であり、
前記第２移動方向は、前記第２の二次元座標系上の方向として見たときの前記第１移動方向と平行かつ同じ向きである、請求項１または２に記載のロボットシステム。
【請求項４】
前記第１変換規則はさらに、前記相対位置が変化する前の前記第１の二次元座標系で表現された第１移動量を、前記第２の二次元座標系で表現された前記ロボットの第２移動量に変換する規則である、請求項３に記載のロボットシステム。
【請求項５】
前記第１の二次元座標系はＸ軸およびＹ軸によって張られる座標系であり、
前記第２の二次元座標系はＰ軸およびＱ軸によって張られる座標系であり、  
前記第１指示が、前記第１の二次元座標系上のベクトル（ｘ，ｙ）で表現され、
前記第１の二次元座標系の原点を前記第２の二次元座標系の原点に重ね合わせたときの前記Ｘ軸と前記Ｐ軸とのオフセット角をθ０、前記ベクトル（ｘ，ｙ）と前記Ｘ軸とのなす角をφ、前記ベクトル（ｘ，ｙ）の長さをｒ、係数をｋ（＞０）としたとき
前記第１変換規則は、
（ｐ，ｑ）＝（ｋ・ｒ・ｃｏｓ（θ０＋φ），ｋ・ｒ・ｓｉｎ（θ０＋φ））
によって、前記第１指示であるベクトル（ｘ，ｙ）を前記第２指示であるベクトル（ｐ，ｑ）に変換する規則である、請求項３に記載のロボットシステム。
【請求項６】
前記入力装置は、前記ロボットを少なくとも前後左右の各方向に動作させるためのスティックまたは複数のボタンを有する、請求項１から５のいずれかに記載のロボットシステム。
【請求項７】
前記第１指示または前記第２指示を教示データとして記憶する記憶装置をさらに備え、
前記信号処理回路は、前記記憶装置から前記教示データを読み出し、前記教示データに基づいて前記前記ロボットを動作させる、請求項１から６のいずれかに記載のロボットシステム。
【請求項８】
ロボットおよび移動可能な操作装置を有し、前記操作装置を利用して入力された指示を利用して前記ロボットを動作させるロボットシステムであって、
前記操作装置は、
前記操作装置に固定された第１の二次元座標系を有し、かつ、
前記ロボットを動作させるために前記第１の二次元座標系で表現された第１指示を受け付ける入力装置を有し、
前記ロボットは、
前記ロボットに固定された第２の二次元座標系を有し、かつ、前記第２の二次元座標系で表現された第２指示に従って動作し、
前記ロボットシステムは、さらに、
前記ロボットの周辺に存在する物体をセンシングするセンサと、
前記センサの検出結果を利用して、前記ロボットに対する前記操作装置または前記操作者の位置を検出し、前記入力装置が受け付けた前記第１指示を、第１変換規則を用いて前記第２指示に変換する信号処理回路と、を備え、
前記信号処理回路は、
前記センサの検出結果を利用して、前記操作装置または前記操作者が、前記第２の二次元座標系上に規定される少なくとも２つの区画のいずれに存在するかを判定し、
決定した区画から、前記操作装置および前記ロボットの並びを決定し、
前記操作装置および前記ロボットの並びに応じて、前記入力装置が受け付けた前記第１指示を予め定められた変換規則を用いて前記第２指示に変換し、
前記第２指示に従い前記ロボットを動作させる、ロボットシステム。
【請求項９】
前記変換規則は、少なくとも、前記第１の二次元座標系で表現された第１移動方向を、前記第２の二次元座標系で表現された前記ロボットの第２移動方向に変換する規則である、請求項８に記載のロボットシステム。
【請求項１０】
前記第２移動方向は、第２の二次元座標系上の方向として見たときの前記第１移動方向と平行かつ同じ向きである、請求項９に記載のロボットシステム。
【請求項１１】
前記操作装置の前記第１の二次元座標系はＸ軸およびＹ軸によって張られる座標系であり、
前記ロボットの前記第２の二次元座標系はＰ軸およびＱ軸によって張られる座標系であり、
前記第１移動方向を示す単位ベクトルを（ｘ，ｙ）とし、前記第２移動方向を示す単位ベクトルを（ｐ，ｑ）とするとき、
前記操作装置および前記ロボットの並びが第１の並びであって、第１の並びが、
前記第１の二次元座標系を張るＸ軸およびＹ軸が、前記第２の二次元座標系を張るＰ軸およびＱ軸とそれぞれ平行であり、
前記Ｘ軸の向きと前記Ｐ軸の向きとが一致し、かつ、
前記Ｙ軸の向きと前記Ｑ軸の向きとが一致する、場合には、
前記信号処理回路は、前記変換規則として、前記単位ベクトル（ｐ，ｑ）を、（ｐ，ｑ）＝（ｘ，ｙ）によって求める規則を適用する、請求項１０に記載のロボットシステム。
【請求項１２】
前記操作装置および前記ロボットの並びが、前記第１の並びと異なる第２の並びであって、前記第２の並びが、
前記第１の二次元座標系を張るＸ軸およびＹ軸が、前記第２の二次元座標系を張るＰ軸およびＱ軸とそれぞれ平行であり、
前記Ｘ軸の向きと前記Ｐ軸の向きとが逆であり、かつ、
前記Ｙ軸の向きと前記Ｑ軸の向きとが逆である、場合には、
前記信号処理回廊は、前記変換規則として、前記単位ベクトル（ｐ，ｑ）を、（ｐ，ｑ）＝（−ｘ，−ｙ）によって求める規則を適用する、請求項１１に記載のロボットシステム。
【請求項１３】
前記少なくとも２つの区画は、前記ロボットの位置を通過する仮想線によって前記第２の二次元座標を分割した２つの区画であり、
前記２つの区画は第１の区画および第２の区画から構成されており、
前記操作装置または前記操作装置を把持する前記操作者が前記第１の区画に存在するとき、前記操作装置および前記ロボットの並びは前記第１の並びであり、
前記操作装置または前記操作装置を把持する前記操作者が、前記第２の区画に存在するとき、前記操作装置および前記ロボットの並びは前記第２の並びである、
請求項１２に記載のロボットシステム。
【請求項１４】
前記少なくとも２つの区画は、前記ロボットの位置を通過する非平行の２本の仮想線によって前記第２の二次元座標を分割した４つの区画であり、半時計回りに、第１の区画、第２の区画、第３の区画および第４の区画から構成されており、
前記操作装置の前記第１の二次元座標系はＸ軸およびＹ軸によって張られる座標系であり、
前記ロボットの前記第２の二次元座標系はＰ軸およびＱ軸によって張られる座標系であり、
前記第１移動方向を示す単位ベクトルを（ｘ，ｙ）とし、前記第２移動方向を示す単位ベクトルを（ｐ，ｑ）とするとき、
前記操作装置および前記ロボットの並びが第１の並びであって、前記第１の並びが、
前記第１の二次元座標系を張るＸ軸およびＹ軸が、前記第２の二次元座標系を張るＰ軸およびＱ軸とそれぞれ平行であり、
前記Ｘ軸の向きと前記Ｐ軸の向きとが一致し、かつ、
前記Ｙ軸の向きと前記Ｑ軸の向きとが一致する、場合には、
前記信号処理回路は、前記変換規則として、前記単位ベクトル（ｐ，ｑ）を、（ｐ，ｑ）＝（ｘ，ｙ）によって求める規則を適用し、
前記操作装置および前記ロボットの並びが第２の並びであって、前記第２の並びが、
前記第１の二次元座標系を張るＸ軸およびＹ軸が、前記第２の二次元座標系を張るＱ軸およびＰ軸とそれぞれ平行であり、
前記Ｘ軸の向きと前記Ｑ軸の向きとが一致し、かつ、
前記Ｙ軸の向きと前記Ｐ軸の向きとが逆である、場合には、
前記信号処理回路は、前記変換規則として、前記単位ベクトル（ｐ，ｑ）を、（ｐ，ｑ）＝（−ｙ，ｘ）によって求める規則を適用し、
前記操作装置および前記ロボットの並びが第３の並びであって、前記第３の並びが、
前記第１の二次元座標系を張るＸ軸およびＹ軸が、前記第２の二次元座標系を張るＰ軸およびＱ軸とそれぞれ平行であり、
前記Ｘ軸の向きと前記Ｐ軸の向きとが逆であり、かつ、
前記Ｙ軸の向きと前記Ｑ軸の向きとが逆である、場合には、
前記信号処理回路は、前記変換規則として、前記単位ベクトル（ｐ，ｑ）を、（ｐ，ｑ）＝（−ｘ，−ｙ）によって求める規則を適用し、
前記操作装置および前記ロボットの並びが第４の並びであって、前記第４の並びが、
前記第１の二次元座標系を張るＸ軸およびＹ軸が、前記第２の二次元座標系を張るＱ軸およびＰ軸とそれぞれ平行であり、
前記Ｘ軸の向きと前記Ｑ軸の向きとが逆であり、かつ、
前記Ｙ軸の向きと前記Ｐ軸の向きとが一致する、場合には、
前記信号処理回路は、前記変換規則として、前記単位ベクトル（ｐ，ｑ）を、（ｐ，ｑ）＝（ｙ，−ｘ）によって求める規則を適用する、請求項１０に記載のロボットシステム。
【請求項１５】
前記センサは、ＬＩＤＡＲセンサまたはレーザレンジファインダである、請求項８から１４のいずれかに記載のロボットシステム。
【請求項１６】
前記センサはカメラであり、前記カメラは前記ロボットの頭上に設置されている、請求項８から１４のいずれかに記載のロボットシステム。
【請求項１７】
前記入力装置は、前記ロボットを少なくとも前後左右の各方向に動作させるためのスティックまたは複数のボタンを有する、請求項８から１６のいずれかに記載のロボットシステム。
【請求項１８】
前記第１指示または前記第２指示を教示データとして記憶する記憶装置をさらに備え、
前記信号処理回路は、前記記憶装置から前記教示データを読み出し、前記教示データに基づいて前記前記ロボットを動作させる、請求項８から１７のいずれかに記載のロボットシステム。
【請求項１９】
ロボットおよび移動可能な操作装置を有し、前記操作装置を利用して入力された指示を利用して前記ロボットを動作させるロボットシステムであって、
前記操作装置は、
前記操作装置に固定され、第１の基準方向が定義された第１の二次元座標系を有し、かつ、
前記ロボットを動作させるために前記第１の二次元座標系で表現された第１指示を受け付ける入力装置を有し、
前記ロボットは、
前記ロボットに固定され、第２の基準方向が定義された第２の二次元座標系を有し、かつ、
前記第２の二次元座標系で表現された第２指示に従って動作し、
前記ロボットシステムは、前記入力装置が受け付けた前記第１指示を前記第２指示に変換する信号処理回路を備え、
前記操作装置が新たな基準方向を指定する指示を受け付け、さらに前記第１指示として前記新たな基準方向へ前記ロボットを動作させる指示を受け付けたとき、
前記信号処理回路は、前記第１指示から前記ロボットを前記第２の基準方向に動作させる第２指示を生成し、前記第２指示により、前記ロボットを前記第２の基準方向に動作させる、
ロボットシステム。
【請求項２０】
ロボット、移動可能な操作装置、および信号処理回路を有し、前記操作装置を利用して入力された指示を利用して前記ロボットを動作させるロボットシステムであって、
前記操作装置は、
前記操作装置に固定された第１の二次元座標系を有し、かつ、
前記ロボットを動作させるために前記第１の二次元座標系で表現された第１指示を受け付ける入力装置およびジャイロセンサを有し、
前記ロボットは、
前記ロボットに固定された第２の二次元座標系を有し、かつ、前記第２の二次元座標系で表現された第２指示に従って動作し、
前記信号処理回路は、
前記ジャイロセンサの出力に基づいて、前記操作装置が移動されたことによって前記第１の二次元座標系と前記第２の二次元座標系との相対角度が変化したことを検出し、
前記相対角度の変化に応じて、前記入力装置が受け付けた前記第１指示を、変換規則を用いて前記第２指示に変換し、
前記第１の二次元座標系はＸ軸およびＹ軸によって張られる座標系であり、
前記第２の二次元座標系はＰ軸およびＱ軸によって張られる座標系であり、  
前記第１指示が、前記第１の二次元座標系上のベクトル（ｘ，ｙ）で表現され、
前記第２指示が、前記第２の二次元座標系上のベクトル（ｐ，ｑ）で表現され、
前記第１の二次元座標系の原点を前記第２の二次元座標系の原点に重ね合わせたときの前記Ｘ軸と前記Ｐ軸との相対角度の初期値をθ０、前記ジャイロセンサの出力に基づいて取得される相対角度の変化量をΔθ、前記ベクトル（ｘ，ｙ）と前記Ｘ軸とのなす角をφ、前記ベクトル（ｘ，ｙ）の長さをｒ、係数をｋ（＞０）としたとき、
前記変換規則は、
（ｐ，ｑ）＝（ｋ・ｒ・ｃｏｓ（θ０−Δθ＋φ），ｋ・ｒ・ｓｉｎ（θ０−Δθ＋φ））
によって表される、ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ロボットシステムに関する。
【背景技術】
【０００２】
実開昭６１−１０３７０３号公報は、ロボットにおける教示装置を開示する。教示装置からのキー入力は、エンコーダに入力され、エンコーダの出力によりロボットが移動する。
【０００３】
教示装置には方角設定スイッチが設けられている。教示者は、ロボットに対する教示装置の位置に応じて方角設定スイッチを「正」、「逆」、「横」、「横逆」のいずれかに設定する。エンコーダは、方角設定スイッチの設定に応じて、教示装置へのキー入力とロボットの移動方向との関係を変更する。これにより、ロボットに対して教示装置の方向が変わった場合でも、誤りなく教示を行うことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】実開昭６１−１０３７０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記公報の技術では、あらかじめロボットの固定部の見やすい位置に４つの方向が表示されており、
教示者はその表示を視認して方角設定スイッチを作動させる必要がある。ロボットに対して教示装置の方向が変わった場合には、教示者はその都度方角設定スイッチを作動させる必要がある。教示者にとっては行うべき操作が多く、煩雑である。
【０００６】
より少ない操作でロボットに指示を行うことが可能であり、それにより操作者の負担を低減することが可能な、利便性が高いロボットシステムが必要とされている。
【課題を解決するための手段】
【０００７】
本開示のロボットシステムは、例示的な実施形態において、ロボットおよび移動可能な操作装置を有し、前記操作装置を利用して入力された指示を利用して前記ロボットを動作させるロボットシステムであって、前記操作装置は、前記操作装置に固定された第１の二次元座標系を有し、かつ、前記ロボットを動作させるために前記第１の二次元座標系で表現された第１指示を受け付ける入力装置およびジャイロセンサを有し、前記ロボットは、前記ロボットに固定された第２の二次元座標系を有し、かつ、前記第２の二次元座標系で表現された第２指示に従って動作し、前記ロボットシステムは、前記入力装置が受け付けた前記第１指示を、第１変換規則を用いて前記第２指示に変換する信号処理回路を備え、  前記信号処理回路は、前記操作装置が移動されたことによって前記第１の二次元座標系と前記第２の二次元座標系との相対位置が変化したことを前記ジャイロセンサの出力に基づいて検出すると、前記ジャイロセンサの出力を利用して、現在の第１の二次元座標系を、前記相対位置が変化する前の前記第１の二次元座標系に変換する第２変換規則を生成し、前記第１変換規則および前記第２変換規則を用いて、現在の前記第１の二次元座標系で表現された第１指示を、前記第２の二次元座標系で表現された前記第２指示に変換して、前記第２指示により前記ロボットを動作させる。
【０００８】
本開示の他のロボットシステムは、例示的な実施形態において、ロボットおよび移動可能な操作装置を有し、前記操作装置を利用して入力された指示を利用して前記ロボットを動作させるロボットシステムであって、前記操作装置は、前記操作装置に固定された第１の二次元座標系を有し、かつ、前記ロボットを動作させるために前記第１の二次元座標系で表現された第１指示を受け付ける入力装置を有し、前記ロボットは、前記ロボットに固定された第２の二次元座標系を有し、かつ、前記第２の二次元座標系で表現された第２指示に従って動作し、前記ロボットシステムは、さらに、前記ロボットの周辺に存在する物体をセンシングするセンサと、前記センサの検出結果を利用して、前記ロボットに対する前記操作装置または前記操作者の位置を検出し、前記入力装置が受け付けた前記第１指示を、第１変換規則を用いて前記第２指示に変換する信号処理回路と、を備え、前記信号処理回路は、前記センサの検出結果を利用して、前記操作装置または前記操作者が、前記第２の二次元座標系上に規定される少なくとも２つの区画のいずれに存在するかを判定し、決定した区画から、前記操作装置および前記ロボットの並びを決定し、前記操作装置および前記ロボットの並びに応じて、前記入力装置が受け付けた前記第１指示を予め定められた変換規則を用いて前記第２指示に変換し、前記第２指示に従い前記ロボットを動作させる。
【０００９】
本開示のさらに他のロボットシステムは、例示的な実施形態において、ロボットおよび移動可能な操作装置を有し、前記操作装置を利用して入力された指示を利用して前記ロボットを動作させるロボットシステムであって、前記操作装置は、前記操作装置に固定され、第１の基準方向が定義された第１の二次元座標系を有し、かつ、前記ロボットを動作させるために前記第１の二次元座標系で表現された第１指示を受け付ける入力装置を有し、前記ロボットは、前記ロボットに固定され、第２の基準方向が定義された第２の二次元座標系を有し、かつ、前記第２の二次元座標系で表現された第２指示に従って動作し、前記ロボットシステムは、前記入力装置が受け付けた前記第１指示を前記第２指示に変換する信号処理回路を備え、前記操作装置が新たな基準方向を指定する指示を受け付け、さらに前記第１指示として前記新たな基準方向へ前記ロボットを動作させる指示を受け付けたとき、前記信号処理回路は、前記第１指示から前記ロボットを前記第２の基準方向に動作させる第２指示を生成し、前記第２指示により、前記ロボットを前記第２の基準方向に動作させる。
【００１０】
本開示のさらに他のロボットシステムは、例示的な実施形態において、ロボット、移動可能な操作装置、および信号処理回路を有し、前記操作装置を利用して入力された指示を利用して前記ロボットを動作させるロボットシステムであって、前記操作装置は、前記操作装置に固定された第１の二次元座標系を有し、かつ、前記ロボットを動作させるために前記第１の二次元座標系で表現された第１指示を受け付ける入力装置およびジャイロセンサを有し、前記ロボットは、前記ロボットに固定された第２の二次元座標系を有し、かつ、前記第２の二次元座標系で表現された第２指示に従って動作し、前記信号処理回路は、前記ジャイロセンサの出力に基づいて、前記操作装置が移動されたことによって前記第１の二次元座標系と前記第２の二次元座標系との相対角度が変化したことを検出し、前記相対角度の変化に応じて、前記入力装置が受け付けた前記第１指示を、変換規則を用いて前記第２指示に変換し、前記第１の二次元座標系はＸ軸およびＹ軸によって張られる座標系であり、前記第２の二次元座標系はＰ軸およびＱ軸によって張られる座標系であり、前記第１指示が、前記第１の二次元座標系上のベクトル（ｘ，ｙ）で表現され、前記第２指示が、前記第２の二次元座標系上のベクトル（ｐ，ｑ）で表現され、前記第１の二次元座標系の原点を前記第２の二次元座標系の原点に重ね合わせたときの前記Ｘ軸と前記Ｐ軸との相対角度の初期値をθ０、前記ジャイロセンサの出力に基づいて取得される相対角度の変化量をΔθ、前記ベクトル（ｘ，ｙ）と前記Ｘ軸とのなす角をφ、前記ベクトル（ｘ，ｙ）の長さをｒ、係数をｋ（＞０）としたとき、前記変換規則は、（ｐ，ｑ）＝（ｋ・ｒ・ｃｏｓ（θ０−Δθ＋φ），ｋ・ｒ・ｓｉｎ（θ０−Δθ＋φ））によって表される。
【００１１】
本開示のコンピュータプログラムは、上述した信号処理回路に実行されることにより、信号処理回路に上述した例示的な実施形態にかかる処理を実行させる。
【発明の効果】
【００１２】
本開示の実施形態によれば、ロボットに対して教示装置の方向が変わった場合でも、教示者が設定を手動で変更することなく、教示装置の操作方向とロボットの移動方向とを一致させることができる。教示者はより少ない操作で教示作業を行うことが可能になるとともに、直観的にロボットを操作することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本開示の実施形態１にかかるロボットシステム１を模式的に示す図である。
【図２】図２は、ロボットシステム１の各構成要素のハードウェア構成を模式的に示す図である。
【図３Ａ】図３Ａは、ロボットを少なくとも前後左右の各方向に動作させるためのスティック２１０を有する入力装置２００を示す図である。
【図３Ｂ】図３Ｂは、ロボットを少なくとも前後左右の各方向に動作させるための複数のボタン２２０ａ、２２０ｂ、２２０ｃおよび２２０ｄを有する入力装置２００を示す図である。
【図４Ａ】図４Ａは、ロボットアーム１００を説明するための外観模式図である。
【図４Ｂ】図４Ｂは、図４Ａに示す第２アーム１２０の先端部１２２の位置の表現を示す図である。
【図５Ａ】図５Ａは、図４Ａの姿勢から第２アーム１２０がやや鉛直下向きに移動したロボットアーム１００の姿勢を示す図である。
【図５Ｂ】図５Ｂは、図５Ａに示す第２アーム１２０の先端部１２２の位置の表現を示す図である。
【図６Ａ】図６Ａは、第２アーム１２０が鉛直下向きに位置したときのロボットアーム１００の姿勢を示す図である。
【図６Ｂ】図６Ｂは、図６Ａに示す第２アーム１２０の先端部１２２の位置の表現を示す図である。
【図７Ａ】図７Ａは、第２アーム１２０が鉛直下向きから−Ｑ方向に移動したときのロボットアーム１００の姿勢を示す図である。
【図７Ｂ】図７Ｂは、図７Ａに示す第２アーム１２０の先端部１２２の位置の表現を示す図である。
【図８】図８は、基準方向の設定操作を説明するための図である。
【図９】図９は、操作装置３のスティック２１０に入力された方向と同じ方向にロボットアーム１００が移動するロボットシステム１を模式的に示す図である。
【図１０】図１０は、ＸＹ座標系の原点とＰＱ座標系の原点とが一致するよう重ね合わせたときの、ＸＹ座標系とＰＱ座標系との関係を示す図である。
【図１１】図１１は、操作装置３の位置が位置Ｍ１から位置Ｍ２に変わった後でも、操作装置３のスティック２１０の操作方向が、ロボットアーム１００の操作方向として維持される様子を示す図である。
【図１２】図１２は、操作装置３の移動前後のＸＹ座標系の関係を示す図である。
【図１３】図１３は、実施形態１にかかる信号処理回路４の処理の手順を示すフローチャートである。
【図１４】図１４は、本開示の実施形態２にかかるロボットシステム６を模式的に示す図である。
【図１５】図１５は、ロボットシステム６の上面図である。
【図１６Ａ】図１６Ａは、背面区画（Ｂ）に存在すると判定された操作装置３Ｂとロボットアーム１００との「並び」を示す図である。
【図１６Ｂ】図１６Ｂは、前面区画（Ｆ）に存在すると判定された操作装置３Ｂとロボットアーム１００との「並び」を示す図である。
【図１７】図１７は、Ｐ軸によってＰＱ座標系を分割したときの、４つの区画を示す図である。
【図１８Ａ】図１８Ａは、右区画（Ｒ）に存在すると判定された操作装置３Ｒとロボットアーム１００との「並び」を示す図である。
【図１８Ｂ】図１８Ｂは、左区画（Ｌ）に存在すると判定された操作装置３Ｌとロボットアーム１００との「並び」を示す図である。
【図１９】図１９は、実施形態２にかかる信号処理回路４の処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、添付の図面を参照しながら、例示的なロボットシステムの実施形態を説明する。本明細書では、必要以上に詳細な説明は省略する場合がある。たとえば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、本発明者は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図しない。以下の説明においては、同一または類似する構成要素には、同一の参照符号を付している。
【００１５】
＜用語＞
「垂直軸」および「水平面」の用語は、ロボットアームが取り付けられる基台（ベース）の上面（設置面）を基準として定められる方向を示している。具体的には、設置面に垂直な方向を「垂直軸」と呼び、この「垂直軸」に直交する平面を「水平面」と呼ぶ。これらの用語は、発明の構成要素の配置関係をわかりやすくする目的で使用されており、ロボットアームの使用時における方向を制限する意図はない。本開示の実施形態において、垂直軸は鉛直方向に一致しているが、「垂直軸」の用語の意義は、この例に限定されない。「垂直軸」は、鉛直方向から傾斜していても良い。
【００１６】
「第１アーム」は「上腕」に相当する用語として使用されるが、「第２アーム」は「前腕および手首の両方」を含み得る用語として使用される。第２アームは、複数の関節を含み得るが、エンドエフェクタを含まない。
【００１７】
「エンドエフェクタ」は、ロボットアームが作業を行えるように第２アームに取り付けて用いられる機器である。エンドエフェクタの典型例は、把持部、ナット回し、溶接ガン、およびスプレーガンを含む。エンドエフェクタは、ロボットアームの用途に応じて、ユーザが適宜取り替えて使用することができる。
【００１８】
「第２アームの先端部」とは、第２アームが有するエンドエフェクタの取付面である。取付面はメカニカルインタフェースとも呼ばれる。「第２アームの先端部」は、ツールセンタポイントと呼んでも良い。
【００１９】
（実施形態１）
図１は、本開示の実施形態１にかかるロボットシステム１を模式的に示している。また図２は、ロボットシステム１の各構成要素のハードウェア構成を模式的に示している。本開示のロボットシステム１は、非限定的で例示的な実施形態において、ロボット２と、移動可能な操作装置３とを有しており、操作装置３を利用して入力された操作指示（以下、単に「指示」と略記することがある。）を利用してロボット２を動作させる。後述するように、ロボットシステム１では、操作装置３が移動されることによってロボット２と操作装置３との相対的な位置関係（以下「相対位置」と表記する。）が変わった場合でも、ロボット２を移動させたい方向に操作装置３を操作すればロボット２がその方向に移動する。換言すると、操作装置３に同じ操作を行ったとしても、ロボット２と操作装置３との相対位置が異なる場合にはロボット２の移動方向が異なる。相対位置の変化に応じて操作装置３の操作方向が自動的に変更される。教示者は設定を手動で変更することなく、教示装置の操作方向とロボットの移動方向とを一致させることができる。教示者はより少ない操作で教示作業を行うことが可能になるとともに、直観的にロボットの教示操作を行うことができる。
【００２０】
なお、本明細書では操作装置３を利用したロボット２の教示操作を行う例を説明する。しかしながら本開示は、操作装置３を用いてリアルタイムでロボット２の操作を行う場合にも適用可能である。
【００２１】
操作装置３は、入力装置２００およびジャイロセンサ２４０を有している。
【００２２】
入力装置２００は、ロボット２を動作させるための教示者の操作指示を受け付けるハードウェアである。図３Ａおよび図３Ｂは、入力装置２００の例を示している。図３Ａは、ロボットを少なくとも前後左右の各方向に動作させるためのスティック２１０を有する入力装置２００を示している。ただしスティック２１０を用いれば任意の方向の指示を与えることが可能である。図３Ｂは、ロボットを少なくとも前後左右の各方向に動作させるための複数のボタン２２０ａ、２２０ｂ、２２０ｃおよび２２０ｄを有する入力装置２００を示している。
【００２３】
操作装置３は、操作装置３に固定された第１の二次元座標系（ＸＹ座標系）を有する。より具体的には、操作装置３は、入力装置２００に仮想的に設定されたＸＹ座標系を有する。教示者からの操作指示は少なくとも移動方向を特定可能な指示である。入力装置２００は、教示者からの操作指示を、ＸＹ座標系で表現された物理量として受け付ける。図１、３Ａおよび３ＢにはＸＹ座標系を規定する、互いに直交するＸ軸およびＹ軸が示されている。
【００２４】
再び図１および図２を参照する。
【００２５】
ジャイロセンサ２４０（図２）は、単位時間当たりの物体の角度の変化量、すなわち物体の角速度を計測し、角速度の大きさおよび向きを示す信号を出力する。ジャイロセンサ２４０は、角速度センサとも呼ばれる。
【００２６】
ロボット２は、非限定的で例示的な実施形態において、ロボットアーム１００と、ロボットコントローラ１４０とを有している。ロボットアーム１００はマニピュレータとも呼ばれる。ロボットアーム１００は、水平面である平面Ｕ上に設置されている。ロボットアーム１００は複数の関節を有しており、各関節にはモータが設けられている。ロボットコントローラ１４０は、ロボットアーム１００の各関節の各モータを回転させ、ロボットアーム１００の姿勢を制御する。図１ではロボットシステム１とロボットコントローラ１４０とは別個の装置として記載されているが、両者を一体化させてもよい。
【００２７】
ロボット２もまた、ロボット２に固定された第２の二次元座標系（ＰＱ座標系）を有する。より具体的には、ロボット２は、ロボットアーム１００に仮想的に設定されたＰＱ座標系を有する。ロボットコントローラ１４０は、ＰＱ座標系で表現された操作指示に従ってロボットアーム１００の姿勢を制御する。図１にはＰＱ座標系を規定する、互いに直交するＰ軸およびＱ軸が示されている。上述の平面ＵはＰＱ座標系上に存在する。
【００２８】
ロボットシステム１はさらに、信号処理回路４を有している。信号処理回路４はロボット２および操作装置３とは別に設けられたハードウェアであってもよいし、ロボット２または操作装置３の一方に搭載されてもよい。図１には、信号処理回路４が、ロボット２のロボットコントローラ１４０内に設けられた例と、操作装置３内に設けられた例とが示されている。また図２には、信号処理回路４がロボット２および操作装置３とは別個の構成要素として設けられた例を示している。
【００２９】
信号処理回路４は、いわゆるコンピュータであり、ＣＰＵまたはマイコンとも呼ばれ得る。信号処理回路４は、たとえば不図示のメモリ、二次記憶装置との間でデータを授受するための通信端子または入出力ポートを備える。メモリにはコンピュータプログラムが格納されている。コンピュータプログラムは、信号処理回路４が実行する命令の集合である。
【００３０】
また信号処理回路４は、通信端子または入出力ポートを介して、操作装置３の入力装置２００およびジャイロセンサ２４０との間、および、ロボットコントローラ１４０との間でもデータを授受することが可能である。信号処理回路４は、予め用意されたコンピュータプログラムをメモリから順次読み込みながら、コンピュータプログラムを実行する。これにより信号処理回路４は、操作装置３が受け付けたＸＹ座標系で表現された操作指示を、ロボット２と操作装置３との相対位置に応じて、ロボット２のＰＱ座標系で表現される操作指示に変換することができる。
【００３１】
ロボットシステム１は、記憶装置５を有していてもよい。記憶装置５は、ロボットシステム１で利用され得るデータを記憶する包括的なハードウェアとして記載されている。例えば記憶装置５は、教示された操作を示すデータを記憶するために利用され得る。その場合、記憶装置５は比較的容量が大きい記憶媒体、例えばハードディスクに代表される磁気記憶媒体、ソリッドステートドライブに代表される半導体記憶媒体、を有する。信号処理回路４は、記憶装置５に記憶された教示データを読み出し、教示データに基づいてロボット２を動作させることができる。なお教示データは、ＸＹ座標系で表現された指示であってもよいし、ＰＱ座標系で表現された指示であってもよい。
【００３２】
また、記憶装置５は信号処理回路４が処理を行う際に利用され得るレジスタ、キャッシュメモリ等を含み得る。その場合、記憶装置５の記憶容量は数キロバイトから数メガバイト程度である。さらに記憶装置５は、信号処理回路４が実行するコンピュータプログラムを格納するＲＡＭであってもよい。
【００３３】
信号処理回路４の動作をより具体的に説明する。なお記憶装置５には予め「第１変換規則」が格納されているとする。「第１変換規則」は、ＸＹ座標系をＰＱ座標系に変換するための規則である。本実施形態では、「第１変換規則」は、相対位置が変化する前（後述）のＸＹ座標系で表現された移動方向を、ＰＱ座標系で表現されたロボットアーム１００の移動方向に変換する規則である。第１変換規則はさらに、相対位置が変化する前のＸＹ座標系で表現された操作量（移動量）を、ＰＱ座標系で表現されたロボットアーム１００の操作量（移動量）に変換する規則でもあり得る。
【００３４】
例えば、図１に示すロボットシステム１において、教示者が手Ｈに操作装置３を持って、Ｑ軸上で、ロボットコントローラ１４０側からロボットアーム１００を見たとする。このとき、ＸＹ座標系を規定するＸ軸とＰＱ座標系を規定するＰ軸とが平行かつ同じ向きであり、ＸＹ座標系を規定するＹ軸とＰＱ座標系を規定するＱ軸とが平行かつ同じ向きである。いま、操作装置３の入力装置２００を介して受け付けられた操作が、ＸＹ座標系で（ｘ，ｙ）と表されるとする。ＰＱ座標系の（ｐ，ｑ）が、非ゼロの実数ｋを用いて（ｐ，ｑ）＝（ｋｘ，ｋｙ）と記述されるとき、「第１変換規則」は、「ｘをｋ倍し、ｙをｋ倍する」という規則として記述され得る。あるいは「第１変換規則」は、ＸＹ座標系で表現されたベクトル（ｘ，ｙ）をｋ倍する規則として記述され得る。このときＰＱ座標系上の移動方向はベクトル（ｐ，ｑ）によって表される。上述の例ではベクトル（ｐ，ｑ）の方向はベクトル（ｋｘ，ｋｙ）が示す方向である。
【００３５】
第１変換規則が得られたときのＸＹ座標系とＰＱ座標系との相対的な位置関係は、教示者が操作装置３を持って移動すると変化する。
【００３６】
信号処理回路４は、操作装置３が移動されたことによってＸＹ座標系とＰＱ座標系との相対位置が変化したことをジャイロセンサ２４０の出力に基づいて検出する。すると信号処理回路４は、ジャイロセンサ２４０の出力を利用して、現在のＸＹ座標系を、相対位置が変化する前のＸＹ座標系に変換する「第２変換規則」を生成する。例えば信号処理回路４は、ジャイロセンサ２４０の出力の時間積分値からＸＹ座標系上の回転角度Δθおよび回転の向きを算出する。そして信号処理回路４は、算出した回転の向きとは逆向きにΔθだけ回転させる変換規則を、「第２変換規則」として生成する。
【００３７】
信号処理回路４は、第１変換規則および第２変換規則を用いて、現在のＸＹ座標系で表現された第１操作指示を、ＰＱ座標系で表現された第２操作指示に変換する。詳細は後述する。信号処理回路４は、得られた第２操作指示をロボットコントローラ１４０に送り、第２操作指示によりロボットを動作させる。
【００３８】
以下、図４Ａから図１３を参照しながらより詳細に説明する。
【００３９】
まず図４Ａ〜図７Ｂを参照しながら、ロボットアーム１００の動作と、その動作の図面上の表記を説明する。一例として、ロボットアーム１００の腕振り動作を挙げて説明する。
【００４０】
図４Ａは、ロボットアーム１００を説明するための外観模式図である。
【００４１】
ロボットアーム１００は、水平面Ｕに直交する垂直軸の周りに旋回する腰部１０を有している。腰部１０は、当該垂直軸の周りに回転する第１関節を有している。第１関節は、回転関節である。本開示において、「関節」は、関節の運動を引き起こすモータおよび減速機などの電気機械要素、ならびに関節の回転角度（関節変数）を検出するセンサを含み得る。このため、「関節」の用語は、「関節部」または「関節ユニット」の意義を持つ用語として使用され得る。ただし、図示されている「関節」を駆動するモータの位置は、「関節」を示す符号が付された構成要素の内部に限定されない。
【００４２】
ロボットアーム１００は、腰部１０に接続されて水平面に平行な第２軸の周りに回転する第２関節２０と、第２関節２０に接続されて第２軸の周りに回転する第１アーム１１０と、第１アーム１１０に接続されて第２軸に平行な第３軸の周りに回転する第３関節３０と、第３関節３０に接続されて第３軸の周りに回転する第２アーム１２０とを有している。
【００４３】
第２アーム１２０は、本開示の実施形態において、第３軸に直交する第４軸の周りに回転する第４関節４０と、第４軸に直交する第５軸の周りに回転する第５関節５０と、第５軸に直交する第６軸の周りに回転する第６関節６０とを更に有している。第２アーム１２０の先端部１２２にはエンドエフェクタが取り付けられる。図４Ａでは図示は省略しているが、図１ではハンドが記載されている。
【００４４】
図４Ａの例では、第２アーム１２０はＱ軸に平行な方向に伸びている。図４Ｂは、図４Ａに示す第２アーム１２０の先端部１２２の位置の表現である。なお、図４Ａに示すＰ軸とＱ軸との交点（原点）は腰部の回転中心（垂直軸）を想定しており、第２アーム１２０の先端部１２２は必ずしも原点を通らない場合があり得る。しかしながら、図４Ｂでは記載の便宜のため、原点からの方向および長さにより、第２アーム１２０の先端部１２２の位置を示している。
【００４５】
図５Ａは、図４Ａの姿勢から第２アーム１２０がやや鉛直下向きに移動したロボットアーム１００の姿勢を示している。図５Ｂは、図５Ａに示す第２アーム１２０の先端部１２２の位置の表現である。
【００４６】
さらに図６Ａは、第２アーム１２０が鉛直下向きに位置したときのロボットアーム１００の姿勢を示している。図６Ｂは、図６Ａに示す第２アーム１２０の先端部１２２の位置の表現である。第２アーム１２０の先端部１２２は原点Ｏとして表現されている。
【００４７】
さらに図７Ａは、第２アーム１２０が鉛直下向きから−Ｑ方向に移動したときのロボットアーム１００の姿勢を示している。図７Ｂは、図７Ａに示す第２アーム１２０の先端部１２２の位置の表現である。
【００４８】
以後、図４Ｂ、５Ｂ、６Ｂ、７Ｂに示すような表現を用いて、ロボットアーム１００の動作を説明する。
【００４９】
図８は、基準方向の設定操作を説明するための図である。図８は、ロボットアーム１００と操作装置３との相対的な位置関係も示している。なお、操作装置３は入力装置２００としてスティック２１０を有しているとする。また信号処理回路４は操作装置３内に設けられているとする。
【００５０】
教示者は、例えば操作装置３のモード切替スイッチ（図示せず）を操作して基準方向設定モードを選択する。すると信号処理回路４は、基準方向を受け付ける状態に遷移する。教示者は、スティック２１０を、現在のロボットアーム１００の基準方向と平行な方向に２回往復させる。
【００５１】
例えば、ロボットアーム１００のＱ軸の正方向（矢印の方向）を「ロボットアーム１００の基準方向」とする。教示者はＱ軸の正方向に沿ってスティック２１０を一度倒し、そしてもとに戻す。さらにもう一度同じ動作を行う。信号処理回路４は、スティック２１０が倒された方向を示す操作指示を受け付ける。当該操作指示は、スティック２１０のＸＹ座標系で表現されている。スティック２１０が倒された方向を示す操作指示が（ｘ０，ｙ０）と表現されるとする。ベクトル（ｘ０，ｙ０）が示す方向が、Ｑ軸の方向と平行かつ同じ向きである。
【００５２】
この一連の操作により、信号処理回路４は、スティック２１０によって入力された方向がロボットアーム１００のＱ軸方向であることを認識し、スティック２１０によって入力された方向を基準方向として保存する。先ほどスティック２１０によって入力された方向と同じ方向の操作指示を受け付けると、信号処理回路４は、その方向の操作指示を、ロボットアーム１００のＱ軸の正方向に沿った方向への指示に変換し、変換した指示をロボットコントローラ１４０に送る。これによりロボットアーム１００の第２アーム１２０の先端部１２２はＱ軸の正方向に沿った方向に移動する。
【００５３】
基準方向（Ｑ軸方向）が定まると、信号処理回路４はもう一つの基準方向であるＰ軸の方向と平行かつ同じ向きであるベクトル（ｘ１，ｙ１）を求める。ベクトル（ｘ１，ｙ１）はベクトル（ｘ０，ｙ０）を９０度右回りに回転させることによって得られる。周知であるため具体的な演算の説明は省略する。
【００５４】
これ以後、信号処理回路４は、スティック２１０に入力された任意の方向の操作指示を、２つの基準方向を利用してロボットアーム１００の移動方向に変換することができる。スティック２１０に入力された任意の方向の操作指示を示すベクトル（ｘ，ｙ）は、ベクトル（ｘ０，ｙ０）およびベクトル（ｘ１，ｙ１）の線形結合によって表すことができる。線形結合で用いたベクトル（ｘ０，ｙ０）およびベクトル（ｘ１，ｙ１）を、ＰＱ座標系上の２つの基底ベクトル（ｐ０，ｑ０）および（ｐ１，ｑ１）に置き換えれば、ＰＱ座標系で表現されたロボットアーム１００への操作指示として利用し得る。例えば、基底ベクトル（ｐ０，ｑ０）としてＰＱ座標系の（０，１）を採用し、基底ベクトル（ｐ１，ｑ１）としてＰＱ座標系の（１，０）を採用できる。
【００５５】
具体的には変換式は以下のようにして得られる。なお、ｋ１、ｋ２、ｍ１、ｍ２は非ゼロの係数であり、既定ベクトルの取り方、操作装置３およびロボットアーム１００の各仕様等に応じて適宜決定され得る。
（ｘ，ｙ）＝ｋ１（ｘ０，ｙ０）＋ｋ２（ｘ１，ｙ１）
（ｐ，ｑ）＝ｍ１・ｋ１（ｐ０，ｑ０）＋ｍ２・ｋ２（ｐ１，ｑ１）
【００５６】
上述の処理によって得られた変換式は、上述の「第１変換規則」として保存される。
【００５７】
「第１変換規則」として他の記述方法も考えられる。
【００５８】
図１０は、ＸＹ座標系の原点とＰＱ座標系の原点とが一致するよう重ね合わせたときの、ＸＹ座標系とＰＱ座標系との関係を示している。スティック２１０に受け付けられた操作指示が、ＸＹ座標系上のベクトル（ｘ，ｙ）と表現され、またＸ軸とＰ軸とのオフセット角をθ０、ベクトル（ｘ，ｙ）とＸ軸とのなす角をφ、ベクトル（ｘ，ｙ）の長さ、つまりスティック２１０の操作量、をｒ、係数をｋ（≠０）とする。
【００５９】
すると、以下の式によって求められるＰＱ座標系のベクトル（ｐ，ｑ）を、ロボットアーム１００の操作指示として採用することができる。
（ｐ，ｑ）＝（ｋ・ｒ・ｃｏｓ（θ０＋φ），ｋ・ｒ・ｓｉｎ（θ０＋φ））
【００６０】
つまり、上述の変換式を第１変換規則として採用し得る。図１０から理解されるように、原点から見て、ＰＱ座標系上のベクトル（ｐ，ｑ）とＸＹ座標系上のベクトル（ｘ，ｙ）とは同じ向きを有する。これにより、スティック２１０が受け付けた操作指示の方向が、そのままロボットアーム１００の移動方向に反映される。
【００６１】
図９は、操作装置３のスティック２１０に入力された方向と同じ方向にロボットアーム１００が移動するロボットシステム１を模式的に示している。上述の変換式を用いて信号処理回路４は、スティック２１０を介して受け付けられた任意のベクトルＤ１と同じ向きＤ２にロボットアーム１００を移動させるための操作指示を生成する。これにより、操作装置３を用いてロボットアーム１００の操作を直観的に行うことが可能になる。
【００６２】
図９に示されるように、第１変換規則は、少なくとも、ＸＹ座標系で表現された移動方向を、ＰＱ座標系で表現されたロボットの移動方向に変換する規則であると言える。このとき、ロボットの移動方向は、ＸＹ座標系で表現された移動方向を、ＰＱ座標系上の方向として見たときのその移動方向と平行かつ同じ向きである。
【００６３】
次に、第１変換規則が生成された後、ＸＹ座標系とＰＱ座標系との相対的な位置関係が変化した場合の処理を説明する。
【００６４】
ロボットアーム１００の教示中・操作中であっても、近隣の設備や治具の配置等により教示者の立ち位置が制限される場合が多い。また教示作業の対象物によっては多方向から確認しながら位置合わせを行うため、立ち位置の変更が頻繁に繰り返される場合もあり得る。そのような場合、操作装置３が持ち運び可能であること、すなわち操作装置３が移動可能であることは利便性が高い。ただし、操作装置３が移動されて、操作装置３のＸＹ座標系とロボットアーム１００のＰＱ座標系の相対的な位置関係が変化すると、図９に示す直観的な操作ができなくなる。毎回、図８に示す方法で基準方向を設定し直してもよいが、それでは教示者は煩雑である。
【００６５】
そこで本発明者は、操作装置３にジャイロセンサ２４０を設けて操作装置３の移動量（回転角度）を検出し、その回転角度を相殺するよう演算を行うことにした。これにより、基準方向の再設定を不要にすることができる。
【００６６】
図１１は、操作装置３の位置が位置Ｍ１から位置Ｍ２に変わった後でも、操作装置３のスティック２１０の操作方向が、ロボットアーム１００の操作方向として維持される様子を示す図である。操作装置３が受け付けた操作Ｄ１−ａの方向Ｄ２−ａにロボットアーム１００が移動し、他の操作Ｄ１−ｂの方向Ｄ２−ｂにロボットアーム１００が移動している。このような処理を実現するための処理は、ジャイロセンサ２４０を用いて実現される。
【００６７】
位置Ｍ１は、操作装置３およびロボットアーム１００が図９に示す位置関係にあるときの操作装置３の位置を表している。教示者が操作装置３を持ち運ぶことにより、操作装置３が位置Ｍ１から位置Ｍ２に移動する。
【００６８】
ジャイロセンサ２４０から刻々出力される信号からは、操作装置３の移動に伴う角速度の大きさおよび向きを示すデータが得られる。信号処理回路４はジャイロセンサ２４０の出力の時間積分値を算出する。時間積分値は、ＸＹ座標系上の回転角度Δθおよび回転の向きを示す。回転の向きは、回転角度Δθの符号として得ることができる。例えば、回転角度Δθが正であれば回転の向きは反時計回りであり、回転角度Δθが負であれば回転の向きは時計回りである。
【００６９】
図１２は、操作装置３の移動前後のＸＹ座標系の関係を示している。説明の便宜上、操作装置３の移動前のＸＹ座標系はＸ１軸およびＹ１軸によって示されており、移動後のＸＹ座標系はＸ２軸およびＹ２軸によって示されている。Ｘ１軸とＸ２軸とは回転角度Δθだけずれており、Ｙ１軸とＹ２軸も回転角度Δθだけずれている。
【００７０】
Ｘ２Ｙ２座標系で表現された操作装置３の操作指示によって指定される方向と同じ方向にロボットアーム１００を動作させるためには、Ｘ２Ｙ２座標系がＸ１Ｙ１座標系でどのように表現されるかが分かればよい。Ｘ１Ｙ１座標系からＰＱ座標系への変換は、既に第１変換規則として求められているからである。
【００７１】
そこで信号処理回路４は、算出した回転の向きとは逆向きに角度｜Δθ｜だけ回転させる変換規則を、「第２変換規則」として生成する。第２変換規則は以下のように表現することができる。
【数１】
2020203368.tif 000003
【００７２】
行列Ａが第２変換規則であり、角度（−Δθ）だけ回転させる回転変換行列である。
【００７３】
信号処理回路４は、第１変換規則および第２変換規則を用いて、現在のＸＹ座標系（Ｘ２Ｙ２座標系）で表現された操作指示を、ＰＱ座標系で表現された第２操作指示に変換する。具体的には、信号処理回路４は、まず現在のＸ２Ｙ２座標系で表現された操作指示を、第２変換規則を用いて、相対位置が変化する前のＸＹ座標系（Ｘ１Ｙ１座標系）で表現された操作指示に変換する。そして信号処理回路４は、Ｘ１Ｙ１座標系で表現された操作指示を、保持していた第１変換規則を用いて、ＰＱ座標系で表現された操作指示に変換する。この結果、信号処理回路４は、得られた第２操作指示をロボットコントローラ１４０に送り、第２操作指示によりロボットを動作させることができる。
【００７４】
図１３は、実施形態１にかかる信号処理回路４の処理の手順を示すフローチャートを示している。処理の内容は柔術の通りである。このフローチャートに記載された処理を実行する命令群が、コンピュータプログラムとして信号処理回路４に実行される。
【００７５】
ステップＳ２０において、信号処理回路４は第１変換規則を取得する。
【００７６】
ステップＳ２２において、信号処理回路４は、ジャイロセンサ２４０の出力に基づいてＸＹ座標系とＰＱ座標系との相対位置が変化したことを検出する。ステップＳ２４において、信号処理回路４はジャイロセンサ２４０の出力を利用して、現在のＸＹ座標系（Ｘ２Ｙ２座標系）を、相対位置が変化する前のＸＹ座標系（Ｘ１Ｙ１座標系）に変換する第２変換規則を生成する。ステップＳ２６において、信号処理回路４は操作装置３を介して操作指示を取得する。
【００７７】
ステップＳ２６において、信号処理回路４は、第１変換規則および第２変換規則を用いて、現在のＸＹ座標系で表現された第１操作指示を、ＰＱ座標系で表現された第２操作指示に変換する。第２操作指示により、信号処理回路４はロボットを動作させることができる。
【００７８】
上述した、第１変換規則および第２変換規則を用いる例は、さらに改良の余地がある。すなわち、２つの変換規則を１つの変換規則にまとめることができる。
【００７９】
先の例では、第１の変換規則として以下の数式を挙げた。
（ｐ，ｑ）＝（ｋ・ｒ・ｃｏｓ（θ０＋φ），ｋ・ｒ・ｓｉｎ（θ０＋φ））
【００８０】
この数式の角度パラメータに、ジャイロセンサ２４０の出力の時間積分値として得られた角度の逆方向の回転を含めれば、第１の変換規則に、第２の変換規則を組み込むことが可能である。すなわち以下の数式によって（ｐ，ｑ）を求めることができる。
（ｐ，ｑ）＝（ｋ・ｒ・ｃｏｓ（θ０−Δθ＋φ），ｋ・ｒ・ｓｉｎ（θ０−Δθ＋φ））
【００８１】
係数ｋ、ｒ、およびθ０の意味は先に説明した通りである。一方、角度φは、操作装置３の位置が変化した後の、ＸＹ座標系で表現された操作指示（ｘ，ｙ）に基づいて決定される角度である。操作指示として与えられたベクトル（ｘ，ｙ）が、操作装置３の位置が変化した後のＸＹ座標系におけるＸ軸となす角度をφとすればよい。これにより、１回の演算で変換が行われるため、処理が高速化され得る。また第１変換規則および第２変換規則をそれぞれ保持する必要はなくなるため、例えば記憶装置５の記憶容量を抑制できる。
【００８２】
（実施形態２）
実施形態１では、ジャイロセンサの出力を利用して操作装置３の位置が変化しても変化に追従して座標変換を行うロボットシステムを説明した。
【００８３】
本実施形態では、センサを用いて操作者（教示者）が存在する位置（区画）を決定し、区画に応じて操作装置が受けた指示、すなわち操作装置の座標系で表現された指示、をロボットの座標系指示に変換する処理を説明する。
【００８４】
図１４は、本開示の実施形態２にかかるロボットシステム６を模式的に示している。ロボットシステム６では、ロボットアーム１００の頭上にセンサ１８０が設置されている。センサ１８０は、ロボットアーム１００の周辺に存在する物体をセンシングすることが可能である。センサ１８０は、例えばレーザレンジファインダ（測域センサともいう）、ＬＩＤＡＲ（Light Detection and Ranging）センサ、カメラ（またはイメージセンサ）であり得る。レーザレンジファインダは周期的にたとえば赤外線または可視光のレーザビームを周囲に放射して周囲の空間を三次元的にスキャンする。レーザビームは、たとえば、壁、柱等の構造物、床の上に置かれた物体等の表面で反射される。レーザレンジファインダは、レーザビームの反射光を受けて各反射点までの距離を計算し、各反射点の位置が示された測定結果のデータを出力する。各反射点の位置には、反射光の到来方向および距離が反映されている。物体が存在しない状況下で空間をスキャンしておき、その初期スキャン結果を記憶しておく。そしてある時刻において同じ空間をスキャンして再スキャン結果を取得する。初期スキャン結果と再スキャン結果との間に差が生じた位置に物体が存在すると言える。またカメラを用いて同様に初期スキャン結果と再スキャン結果とを取得し、両者の差分を利用すれば物体の存在を認識できる。
【００８５】
本実施形態では、信号処理回路４は、センサ１８０の検出結果を利用して、ロボットアーム１００に対する操作装置３または操作者の位置を検出することが可能であるとする。初期スキャン結果と再スキャン結果とを対比することにより、操作者（人）の形状を検出することは容易である。ただし本実施形態では検出原理は周知であるため説明はしない。なお、操作装置３の存在を検出させるために、操作装置３が識別信号を出力してもよい。その場合、センサ１８０は当該識別信号の受信機であり得る。
【００８６】
本実施形態では、ロボットアーム１００の位置を通過する仮想線（Ｐ軸）によってＰＱ座標系を２つの区画に分割する。２つの区画は前面区画（Ｆ）および背面区画（Ｂ）である。図１４では、Ｐ軸からみて＋Ｑ軸側が前面区画（Ｆ）であり、−Ｑ軸側が背面区画（Ｂ）である。
【００８７】
図１５は、ロボットシステム６の上面図である。図には、前面区画（Ｆ）に存在すると判定された
場合の操作装置３Ｆの位置と、背面区画（Ｂ）に存在する操作装置３Ｂの位置とが例示されている。
【００８８】
信号処理回路４は、センサ１８０の検出結果を利用して、操作装置３または操作者が、前面区画（Ｆ）および背面区画（Ｂ）のいずれに存在するかを判定する。そして信号処理回路４は、決定した区画から、操作装置３およびロボットアーム１００の並びを決定する。「並び」とは操作装置３とロボットアーム１００との位置関係を意味する。詳細は後述する。
【００８９】
信号処理回路４は操作装置３およびロボットアーム１００の並びに応じて、操作装置３の入力装置２００が受け付けた、ＸＹ座標系で表現された操作指示を予め定められた変換規則を用いて、ＰＱ座標系で表現された操作指示に変換する。そして信号処理回路４は、変換した指示によりロボットアーム１００を動作させる。
【００９０】
以下、図１６Ａおよび１６Ｂを参照しながら説明する。
【００９１】
図１６Ａは、背面区画（Ｂ）に存在すると判定された操作装置３Ｂとロボットアーム１００との「並び」を示している。図１５に示す実際の配置例では、操作装置３Ｂはロボットアーム１００のＱ軸上には存在していないが、図１６Ａでは操作装置３Ｂはロボットアーム１００のＱ軸上に存在しているように記載されている。これは、同じ区画内であれば、操作装置３Ｂとロボットアーム１００との位置関係は大きく相違しないと考えられ、図１６Ａに示す位置関係を有していると見なすことができるからである。
【００９２】
図１６Ａに示す並びの場合、ＸＹ座標系を張るＸ軸およびＹ軸が、ＰＱ座標系を張るＰ軸およびＱ軸とそれぞれ平行であり、Ｘ軸の向きとＰ軸の向きとが一致し、かつ、Ｙ軸の向きとＱ軸の向きとが一致する。ＸＹ座標系のベクトル（ｘ，ｙ）を、ＰＱ座標系のベクトル（ｐ，ｑ）に変換する場合、信号処理回路４は、（ｐ，ｑ）を、（ｐ，ｑ）＝（ｘ，ｙ）によって求める。つまり、そのような変換規則を適用する。なお、ＸＹ座標系上およびＰＱ座標系上の任意のベクトルは、単位ベクトルの実数倍として表現することが可能である。よって上述したベクトル（ｘ，ｙ）およびベクトル（ｐ，ｑ）はそれぞれ、ＸＹ座標系の単位ベクトルおよびＰＱ座標系の単位ベクトルであり得る。
【００９３】
変換規則は、少なくとも、ＸＹ座標系で表現された移動方向を、ＰＱ座標系で表現されたロボットアーム１００の移動方向に変換する規則である。ロボットアーム１００の移動方向は、ＸＹ座標系で表現された移動方向をＰＱ座標系上の方向として見たときの方向と平行かつ同じ向きである。
【００９４】
一方、図１６Ｂは、前面区画（Ｆ）に存在すると判定された操作装置３Ｂとロボットアーム１００との「並び」を示している。本例でも、操作装置３Ｂはロボットアーム１００のＱ軸上に存在しているように記載されている。これは、図１６Ａに関連して説明した理由と同じ理由に基づく。すなわち、同じ区画内であれば、操作装置３Ｂとロボットアーム１００との位置関係は大きく相違しないと考えられ、図１６Ｂに示す位置関係を有していると見なすことができるからである。
【００９５】
図１６Ｂに示す並びの場合、ＸＹ座標系を張るＸ軸およびＹ軸が、ＰＱ座標系を張るＰ軸およびＱ軸とそれぞれ平行であり、Ｘ軸の向きと前記Ｐ軸の向きとが逆であり、かつ、Ｙ軸の向きとＱ軸の向きとが逆である。ＸＹ座標系のベクトル（ｘ，ｙ）を、ＰＱ座標系のベクトル（ｐ，ｑ）に変換する場合、信号処理回路４は、（ｐ，ｑ）を、（ｐ，ｑ）＝（−ｘ，−ｙ）によって求める変換規則を適用する。なお、本例でもベクトル（ｘ，ｙ）およびベクトル（ｐ，ｑ）はそれぞれ、ＸＹ座標系の単位ベクトルおよびＰＱ座標系の単位ベクトルであり得る。
【００９６】
区画の数は、２つに限られず、３以上であり得る。以下、図１７、１８Ａおよび１８Ｂを参照しながら、区画が４つの例を説明する。
【００９７】
図１７は、Ｐ軸によってＰＱ座標系を分割したときの、４つの区画を示している。先の例と同じ前面区画（Ｆ）および背面区画（Ｂ）のほか、右区画（Ｒ）および左区画（Ｌ）が新たに設けられている。図１７では、Ｐ軸とＱ軸が交わる原点からみて、＋Ｑ軸を挟んで左右それぞれ４５度に広がる区画を前面区画（Ｆ）とし、−Ｑ軸を挟んで左右それぞれ４５度に広がる区画を背面区画（Ｂ）としている。また前面区画（Ｆ）と背面区画（Ｂ）によって規定される２つの区画のうち、原点で＋Ｑ軸方向を見たときの右手側が右区画（Ｒ）、左手側が左区画（Ｌ）である。図には、前面区画（Ｆ）、背面区画（Ｂ）、右区画（Ｒ）および左区画（Ｌ）にそれぞれ存在すると判定された場合の操作装置３Ｆ、３Ｂ、３Ｒおよび３Ｌの位置の例が示されている。
【００９８】
操作装置３が前面区画（Ｆ）および背面区画（Ｂ）に存在すると判定されたときに適用される変換規則は、図１６Ａおよび１６Ｂに関連して説明した変換規則と同じである。従って再度の説明は省略する。
【００９９】
以下、左区画（Ｌ）および右区画（Ｒ）に存在すると判定されたときに適用される変換規則を説明する。
【０１００】
図１８Ａは、右区画（Ｒ）に存在すると判定された操作装置３Ｒとロボットアーム１００との「並び」を示している。また図１８Ｂは、左区画（Ｌ）に存在すると判定された操作装置３Ｌとロボットアーム１００との「並び」を示している。
【０１０１】
図１８Ａに示す並びの場合、ＸＹ座標系を張るＸ軸およびＹ軸が、ＰＱ座標系を張るＱ軸およびＰ軸とそれぞれ平行であり、Ｘ軸の向きとＱ軸の向きとが一致し、かつ、Ｙ軸の向きとＰ軸の向きとが逆である。ＸＹ座標系のベクトル（ｘ，ｙ）を、ＰＱ座標系のベクトル（ｐ，ｑ）に変換する場合、信号処理回路４は、（ｐ，ｑ）を、（ｐ，ｑ）＝（−ｙ，ｘ）によって求める変換規則を適用する。なお、本例でもベクトル（ｘ，ｙ）およびベクトル（ｐ，ｑ）はそれぞれ、ＸＹ座標系の単位ベクトルおよびＰＱ座標系の単位ベクトルであり得る。
【０１０２】
さらに図１８Ｂに示す並びの場合、ＸＹ座標系を張るＸ軸およびＹ軸が、ＰＱ座標系を張るＱ軸およびＰ軸とそれぞれ平行であり、Ｘ軸の向きとＱ軸の向きとが逆であり、かつ、Ｙ軸の向きとＰ軸の向きとが一致する。ＸＹ座標系のベクトル（ｘ，ｙ）を、ＰＱ座標系のベクトル（ｐ，ｑ）に変換する場合、信号処理回路４は、（ｐ，ｑ）を、（ｐ，ｑ）＝（ｙ，−ｘ）によって求める変換規則を適用する。なお、本例でもベクトル（ｘ，ｙ）およびベクトル（ｐ，ｑ）はそれぞれ、ＸＹ座標系の単位ベクトルおよびＰＱ座標系の単位ベクトルであり得る。
【０１０３】
以上の処理により、信号処理回路４は、得られた変換後の操作指示をロボットコントローラ１４０に送り、その操作指示によりロボットを動作させることができる。
【０１０４】
図１９は、実施形態２にかかる信号処理回路４の処理の手順を示すフローチャートを示している。処理の内容は柔術の通りである。このフローチャートに記載された処理を実行する命令群が、コンピュータプログラムとして信号処理回路４に実行される。
【０１０５】
ステップＳ３０において、信号処理回路４は、センサ１８０の検出結果を取得し、ロボットアーム１００に対する操作装置３または操作者の位置を検出する。
【０１０６】
ステップＳ３２において、信号処理回路４は、センサの検出結果を利用して、操作装置３または操作者が、ＰＱ座標系上に規定される少なくとも２つの区画のうち、どの区画に存在するかを決定する。
【０１０７】
ステップＳ３４において、信号処理回路４は、決定した区画から、操作装置３およびロボットの並びを判定する。
【０１０８】
ステップＳ３６において、信号処理回路４は、操作装置３の入力装置２００を介して操作指示を取得する。
【０１０９】
ステップＳ３８において、信号処理回路４は、操作装置３およびロボットアーム１００の並びに応じて、入力装置２００が受け付けた操作指示（第１操作指示）を、予め定められた変換規則を用いて第２操作指示に変換する。上述のように、変換規則は操作装置３およびロボットアーム１００の並びに応じて異なる。
【０１１０】
ステップＳ４０において、信号処理回路４は、第２操作指示によりロボットアーム１００を動作させる。以上の処理によれば、操作装置３または教示者がどの区画に存在すればよいかを決定するだけで、操作装置３の座標系で表現された操作指示を、ロボットアーム１００の座標系で表現された操作指示に変換することができる。簡便な処理でありながら、教示者にとってはロボットアーム１００操作を直観的に行うことが可能になる。
【産業上の利用可能性】
【０１１１】
本開示のロボットシステムは、ロボットを操作するための操作装置を持ちながら、操作者の立ち位置が変更される作業環境で好適に利用され得る。
【符号の説明】
【０１１２】
１、６  ロボットシステム、  ２  ロボットシステム、  ３  操作装置、  ４  信号処理回路、  ５  記憶装置、  １００  ロボットアーム、  １４０  ロボットコントローラ、  ２００  入力装置、  ２１０  スティック、  ２２０ａ〜２２０ｄ  ボタン、  ２４０  ジャイロセンサ
【図１】
2020203368.tif 000004
【図２】
2020203368.tif 000005
【図３Ａ】
2020203368.tif 000006
【図３Ｂ】
2020203368.tif 000007
【図４Ａ】
2020203368.tif 000008
【図４Ｂ】
2020203368.tif 000009
【図５Ａ】
2020203368.tif 000010
【図５Ｂ】
2020203368.tif 000011
【図６Ａ】
2020203368.tif 000012
【図６Ｂ】
2020203368.tif 000013
【図７Ａ】
2020203368.tif 000014
【図７Ｂ】
2020203368.tif 000015
【図８】
2020203368.tif 000016
【図９】
2020203368.tif 000017
【図１０】
2020203368.tif 000018
【図１１】
2020203368.tif 000019
【図１２】
2020203368.tif 000020
【図１３】
2020203368.tif 000021
【図１４】
2020203368.tif 000022
【図１５】
2020203368.tif 000023
【図１６Ａ】
2020203368.tif 000024
【図１６Ｂ】
2020203368.tif 000025
【図１７】
2020203368.tif 000026
【図１８Ａ】
2020203368.tif 000027
【図１８Ｂ】
2020203368.tif 000028
【図１９】
2020203368.tif 000029