(57)【要約】【課題】目標力に平行な軸を有する座標系を容易に設定する。【解決手段】仮想空間内において、ロボットに作用させる目標力の方向に平行な力方向軸と、前記力方向軸に直交し互いに直交する２個の直交軸と、を設定し、前記力方向軸と前記直交軸とを前記ロボットにおける力制御の座標軸とする、力制御座標軸設定装置が構成される。【選択図】図６
2018069361.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間内において、ロボットに作用させる目標力の方向に平行な力方向軸と、前記力方向軸に直交し互いに直交する２個の直交軸と、を設定し、
前記力方向軸と前記直交軸とを前記ロボットにおける力制御の座標軸とする、
力制御座標軸設定装置。
【請求項２】
前記力方向軸は、
前記仮想空間内に描画された前記ロボットと特定の関係にある位置を通る軸である、
請求項１に記載の力制御座標軸設定装置。
【請求項３】
前記特定の関係にある位置は、
前記ロボットのエンドエフェクターに対して固定された位置または前記目標力の作用点である、
請求項２に記載の力制御座標軸設定装置。
【請求項４】
前記力方向軸と、２個の前記直交軸との少なくとも１個は、
前記仮想空間内に描画された対象物上の１点を通る軸である、
請求項１〜請求項３のいずれかに記載の力制御座標軸設定装置。
【請求項５】
前記目標力の方向が複数個設定された場合、
前記直交軸の１個を当該目標力に平行に設定する、
請求項１〜請求項３のいずれかに記載の力制御座標軸設定装置。
【請求項６】
請求項１〜請求項５のいずれかに記載された力制御座標軸設定装置によって設定された力制御の座標軸で規定された前記目標力が作用するように制御されるロボット。
【請求項７】
仮想空間内において、ロボットに作用させる目標力の方向の入力を受け付け、
入力された前記目標力の方向に平行な力方向軸を設定し、
前記力方向軸に直交し、互いに直交する２個の直交軸を設定し、
前記力方向軸と前記直交軸とを前記ロボットにおける力制御の座標軸として取得する、
力制御座標軸設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、力制御座標軸設定装置、ロボットおよび力制御座標軸設定方法に関する。
【背景技術】
【０００２】
従来、ロボットに作用する力が目標力になるように調整する力制御が知られている。当該力制御を行う際には、目標力が簡易に表現できる座標系が設定されることが多い。例えば、特許文献１においては、作業工具が作業姿勢を保った状態でワークの被加工部に刃部を押しつけ、その反力を検出し、当該反力の方向を直交座標系の１軸方向とすることが開示されている。また、当該１軸方向と目標軌道を生成するための位置パラメーターを用いて力制御のための直交座標系を設定することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−２０５０６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の従来技術においては、ロボットによって実際にワークに対して力制御を行うことによって直交座標系の軸方向を設定している。従って、ロボットや工具、ワーク等が実際に存在しないと直交座標系を設定することができない。しかし、ロボットによる制御プログラムの作成や、ロボット製造のためのシミュレーションなど、実際にロボットが存在しない状態で力制御のための座標軸が設定されている必要が生じることもある。従来の技術においては、ロボットが存在しない状態で力制御のための座標系を設定することができなかった。
【課題を解決するための手段】
【０００５】
上記課題の少なくとも一つを解決するために、本発明の力制御座標軸設定装置は、仮想空間内において、ロボットに作用させる目標力の方向に平行な力方向軸と、力方向軸に直交し互いに直交する２個の直交軸と、を設定し、力方向軸と２個の直交軸とをロボットにおける力制御の座標軸とする。
【０００６】
この構成によれば、仮想空間内における処理によって力制御の座標軸を設定することが可能であるため、実際にロボットが存在しない状態であっても力制御のための座標軸を定義することができる。このため、実際にロボットが存在しない状態であっても力制御に関連するプログラムの作成や力制御のシミュレーション等を実行することが可能になる。
【０００７】
さらに、力方向軸が、仮想空間内に描画されたロボットと特定の関係にある位置を通る軸である構成が採用されてもよい。この座標軸によれば、ロボットと特定の関係にある位置を通る方向の目標力を容易に設定することができる。
【０００８】
さらに、当該特定の関係にある位置は、ロボットのエンドエフェクターに対して固定された位置または目標力の作用点である構成であっても良い。この座標軸によれば、ロボットのエンドエフェクターに対して固定された位置または目標力の作用点を通る方向の目標力を容易に設定することができる。
【０００９】
さらに、力方向軸と、２個の直交軸との少なくとも１個が仮想空間内に描画された対象物上の１点を通る軸である構成が採用されてもよい。この座標軸によれば、対象物上の１点を通る力や移動方向を容易に設定することができる。
【００１０】
さらに、目標力の方向が複数個設定された場合、直交軸の１個を当該目標力に平行に設定する構成であっても良い。この座標軸によれば、２方向の目標力を簡易に設定することができる。
【図面の簡単な説明】
【００１１】
【図１】ロボットの斜視図である
【図２】力制御座標軸設定装置の機能ブロック図である。
【図３】力制御座標系設定処理のフローチャートである。
【図４】原点を設定するためのユーザーインターフェイスの例を示す図である。
【図５】軸方向を設定するためのユーザーインターフェイスの例を示す図である。
【図６】ユーザーインターフェイスによって座標軸を設定する様子を示す図である。
【図７】設定された座標軸を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について添付図面を参照しながら以下の順に説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
（１）ロボットの構成：
（２）力制御座標軸の設定：
（３）他の実施形態：
【００１３】
（１）ロボットの構成：
図１は本発明の一実施形態にかかる力制御座標軸設定装置で設定された力制御の座標軸を利用して制御され得るロボット１の斜視図である。図１に示すように、ロボット１は、アーム１０とエンドエフェクター２０とを備える。アーム１０は、３個の曲げ関節Ｂ１〜Ｂ３と３個のねじり関節Ｒ１〜Ｒ３とを有する６軸アームである。曲げ関節Ｂ１〜Ｂ３とは、アーム１０を構成する部材同士が、アーム１０の長さ方向に直交する軸を中心に回転する関節である。ねじり関節Ｒ１〜Ｒ３とは、アーム１０を構成する部材同士が、アーム１０の長さ方向の軸を中心に回転する関節である。アーム１０は、曲げ関節Ｂ１〜Ｂ３とねじり関節Ｒ１〜Ｒ３とを動作させるための駆動部としてのモーター（不図示）を備えている。
【００１４】
エンドエフェクター２０は、アーム１０の先端に装着されている。ロボット１は、６軸のアーム１０を駆動させることによって、可動範囲内においてエンドエフェクター２０を任意の位置に配置し、任意の姿勢（角度）とすることができる。エンドエフェクター２０には力覚センサーＰとグラインダー２１が備えられている。力覚センサーＰは、エンドエフェクター２０に作用する３軸の力と、当該３軸まわりに作用するトルクを計測するセンサーである。
【００１５】
ロボット１は、ティーチングを行うことにより各種作業が可能となる汎用ロボットである。本実施形態においては、グラインダー２１によって対象物Ｗ1の稜に形成されたバリ取り作業を行うためのティーチングが行われ、当該バリ取り作業が行われる場合を例として説明する。ロボット１にはロボット制御装置４０が接続されており、当該ロボット制御装置４０の制御により、アーム１０およびグラインダー２１の駆動を制御することができる。
【００１６】
すなわち、ロボット制御装置４０により、グラインダー２１の砥石が対象物Ｗ1の稜に接触するようにロボット１の位置および姿勢が制御される。また、ロボット制御装置４０により、グラインダー２１の砥石が対象物Ｗ1の稜に対して目標力で押しつけられながら稜の方向にグラインダー２１が移動されることによってバリ取り作業が行われる。この作業の過程においてロボット制御装置４０は、力制御および位置制御によってロボット１を制御することができる。なお、ロボット制御装置４０は、ロボット１に内蔵されていても良い。
【００１７】
力制御は、ロボット１（ロボット１に連動する部位を含む）に作用する力を目標力にする制御である。すなわち、ロボット制御装置４０は、力覚センサーＰからの出力に基づいて、ロボット１に連動する特定の部位に作用する力を特定し、当該力が目標力となるようにアーム１０の各関節を制御することができる。
【００１８】
アームの制御量は種々の手法によって決定されて良く、例えば、インピーダンス制御によって制御量が決められる構成等が採用可能である。むろん、ロボット制御装置４０は、力覚センサーＰから出力されるトルクを目標トルクにするように、アーム１０を制御しても良い。特定の部位は、作業等に応じて種々の部位を選択可能であり、例えば、ＴＣＰ（Tool Center Point：グラインダー２１とともに移動する基準部位）や力の作用点（グラインダー２１の砥石と対象物Ｗ1との接点）等が特定の部位となり得る。
【００１９】
位置制御は、ロボット１（ロボット１に連動する部位を含む）を予定された位置に移動させる制御である。すなわち、ロボット１に連動する特定の部位の目標位置および目標姿勢が教示や軌道計算等によって特定され、ロボット制御装置４０は当該目標位置および目標姿勢となるようにアーム１０の各関節を制御する。むろん、当該制御においては、ＰＩＤ（Proportional-Integral-Derivative）制御等のフィードバック制御によってモーターの制御量が取得されても良い。ここでも特定の部位は、作業等に応じて種々の部位を選択可能であり、例えば、ＴＣＰ（Tool Center Point：グラインダー２１とともに移動する基準部位）や力の作用点（グラインダー２１の砥石と対象物Ｗ1との接点）等が特定の部位となり得る。
【００２０】
（２）力制御座標軸の設定：
以上のように、ロボット１は力制御および位置制御によって駆動するが、当該ロボット１の駆動のためには、互いの関係が予め規定された複数の座標系が利用される。例えば、ロボットの設置位置に対して相対移動しないように固定され、アーム１０の位置や姿勢等の定義に利用されるロボット座標系、グラインダー２１等のツールと連動して位置や姿勢が変化するツール座標系（原点がＴＣＰでありＴＣＰとともに動く座標系）、利用者が任意に設定可能なローカル座標系、力制御の際の目標力の定義のために利用される力制御座標系等が利用される。
【００２１】
ロボット座標系は、ロボット１の設計段階、例えば、ロボット１の構造をＣＡＤデータとして構築する際に設定され得る。ツール座標系は、エンドエフェクター２０に取り付けられるツールが特定され、ＴＣＰが特定されることによって設定され得る。ローカル座標系は、利用者によって任意の段階で設定され得る。従って、ロボット座標系、ツール座標系、ローカル座標系は、ロボット１の設計段階において、ロボット１の実体が存在しなくても容易に設定することができる。
【００２２】
しかし、力制御座標系は、力制御における目標力の方向に平行な軸を有していることが好ましく、従来、ロボット１，グラインダー２１および対象物Ｗ1の実体が存在しない状態で力制御座標系を設定することは困難であった。すなわち、ロボット１，グラインダー２１および対象物Ｗ1の実体が既に存在する状態で、グラインダー２１を対象物Ｗ1に接触させれば、目標力の方向を検出することが可能であるが、ロボット１等の実体が存在しない設計段階でこのような手法をとることはできない。
【００２３】
そこで、本実施形態においては、力制御座標軸設定装置によって力制御における座標系を設定できるように構成されている。図２は、力制御座標軸設定装置の構成例を示す図であり、力制御座標軸設定装置はＣＰＵ，ＲＡＭ，ＲＯＭ等を備えるコンピューターによって力制御座標軸設定プログラムが実行されることによって実現される。コンピューターの態様は任意の態様であってよく、例えば、可搬型のコンピューター等によって構成可能である。
【００２４】
なお、力制御座標軸設定装置５０には表示部５７、入力部５６が接続される。また、力制御座標軸設定装置５０にはロボット制御装置４０を接続可能である。表示部５７は、力制御座標軸設定装置５０が出力する制御信号に基づいて、任意の画像を表示可能なディスプレイである。入力部５６は、キーボードやマウスなどの操作入力装置であり、力制御座標軸設定装置５０は、当該入力部５６に対する利用者の操作によって各種の入力を受け付ける。
【００２５】
力制御座標軸設定装置５０は、ロボット制御装置４０に接続することが可能であり、力制御座標軸設定装置５０によって設定された座標軸で定義された力制御座標系を示す情報をロボット制御装置４０に送信することができる。従って、ロボット１およびロボット制御装置４０の実体が製造された後、力制御座標軸設定装置５０からロボット制御装置４０に力制御座標系を示す情報を送信すれば、ロボット制御装置４０は、当該力制御座標系で制御された目標力で力制御を実施することが可能になる。
【００２６】
なお、本実施形態において、ロボット座標系とツール座標系との関係は予め定義され、当該関係を示す座標系情報が図示しない記録媒体に記録されている。ローカル座標系が設定された場合には、同様にロボット座標系とローカル座標系との関係（ツール座標系とローカル座標系との関係であっても良い）を示す座標系情報が図示しない記録媒体に記録されている。
【００２７】
このように、座標系情報によってロボット座標系とツール座標系と（利用者が設定済であればローカル座標系も）が予め定義された状態で、力制御座標軸設定プログラムが実行される。力制御座標軸設定プログラムが実行されると、コンピューターは、原点取得部５１，目標方向取得部５２，力方向軸設定部５３，直交軸設定部５４，力制御座標軸取得部５５を実行可能な力制御座標軸設定装置５０として機能する。
【００２８】
図３は、力制御座標軸設定プログラムによる力制御座標系設定処理を示すフローチャートである。当該力制御座標系設定処理において、利用者は、複数の力制御座標系を設定することができる。すなわち、同一のロボットにおいて力制御の目標力は複数個設定され得るため、各目標力に応じた座標系を設定できるように、複数個の設定が可能である。
【００２９】
そこで、力制御座標軸設定装置５０は、力制御座標系設定処理が開始されると、座標系ＩＤを取得する（ステップＳ１００）。すなわち、力制御座標軸設定装置５０は、力制御座標系をユニークに特定するための座標系ＩＤを受け付けるためのユーザーインターフェイス画面を表示部５７に表示させる。利用者が入力部５６を操作することによって座標系ＩＤを指定すると、力制御座標軸設定装置５０は、以後の処理で設定される力制御座標系に対して当該座標系ＩＤを対応づける。
【００３０】
本実施形態において、利用者は、仮想空間内において力制御座標系を定義する。このために、力制御座標軸設定装置５０は、ロボットの３次元モデルを表示する（ステップＳ１０５）。仮想空間は直交座標系で定義され、当該仮想空間内の予め決められた位置にロボット座標系の原点が固定され、予め決められた方向にロボット座標系の各軸が向いている（仮想空間を規定する直交座標系とロボット座標系が同一であっても良い）。
【００３１】
本実施形態においては、上述のように座標系情報によってロボット座標系とツール座標系との関係（設定された場合はローカル座標系も）が定義済であるため、力制御座標軸設定装置５０は、各座標系の関係を利用しながら表示部５７にロボット１、グラインダー２１、対象物Ｗ1の３次元モデルを表示させる。本実施形態においては、ロボット１、グラインダー２１、対象物Ｗ1の３次元モデルがＣＡＤデータ等によって予め構築され、図示しない記録媒体に記録されている。
【００３２】
そこで、力制御座標軸設定装置５０は、仮想空間内のロボット座標系の位置および方向に基づいてロボット１の各構成要素の位置を仮想空間内で特定し、各構成要素を表示部５７上に描画する。また、力制御座標軸設定装置５０は、当該ロボット１のエンドエフェクター２０に対してグラインダー２１が接続された場合のグラインダー２１の位置および姿勢を特定し、当該位置および姿勢でグラインダー２１の構成要素を表示部５７上に描画する。さらに、力制御座標軸設定装置５０は、対象物Ｗ1を仮想空間内の任意の位置に描画する。３次元モデルの描画は種々の手法によって実施可能であり、例えば、３次元形状をフレームやポリゴンによって描画し、３次元形状の外面にテクスチャーを貼り付け、仮想的な視点から眺めた状態で視認されるテクスチャーを表示部上に描画するなどの処理で実現可能である。
【００３３】
図４および図５は、表示部５７に表示される画面の例を示す図であり、モデル表示部５７ａに３次元モデルで描画されたロボット１００、グラインダー２１０、対象物Ｗmが表示されている例を示している。本実施形態において、利用者は、モデル表示部５７ａに表示されたこれらのロボット１００、グラインダー２１０、対象物Ｗmを視認、利用しながら座標軸を設定することができる。
【００３４】
次に、力制御座標軸設定装置５０は、３次元モデルの位置および姿勢の調整を受け付ける（ステップＳ１１０）。すなわち、利用者は入力部５６を操作することにより、モデル表示部５７ａに表示されたロボット１００の位置および姿勢を調整する指示を入力することが可能である。力制御座標軸設定装置５０は、当該指示に応じて表示部５７におけるロボット１００の位置および姿勢を調整し、調整後の位置および姿勢でロボット１００を再描画する。
【００３５】
むろん、３次元モデルの位置や姿勢の変化は他にも種々の手法によって行われて良く、実体としてのロボット１を駆動する際のコマンドと同等のコマンドが入力されると、当該コマンドによるロボット１の動作と同一の動作が仮想空間内のロボット１００によって実行されるような構成等であっても良い。また、利用者が入力部５６としてのマウス等を操作することにより、ロボット１００等を視認する視点の位置や対象物Ｗmの位置を変更させることができてもよい。
【００３６】
図４および図５は、ロボット１００のエンドエフェクターに接続されたグラインダー２１の砥石が対象物Ｗmの稜に接触した姿勢、すなわち、バリ取り作業の姿勢がモデル表示部５７ａで再現された状態である。本実施形態において利用者は、このように、実際の作業と同等な姿勢を仮想空間内のロボット１００において再現し、この状態で座標軸の設定を行う。
【００３７】
次に、力制御座標軸設定装置５０は、力制御座標系の原点を取得する（ステップＳ１１５）。すなわち、力制御座標軸設定装置５０は、原点取得部５１の機能により、力制御座標系の原点として選択し得る位置を選択肢として表示部５７に表示させる。利用者が入力部５６を操作すると、力制御座標軸設定装置５０は、当該操作内容に基づいて利用者が選択した選択肢を特定し、力制御座標系の原点として取得する。
【００３８】
図４は、原点を設定する際のユーザーインターフェイス画面を示している。すなわち、図４においては、モデル表示部５７ａの右側に座標系の原点を選択するためのラジオボタン５７ｂ〜５７ｄが表示されている。具体的には、ツールオフセット、ロボット座標系、ローカル座標系の各選択肢のいずれかをラジオボタン５７ｂ〜５７ｄによって選択可能である。利用者が、入力部５６を操作してラジオボタン５７ｂを選択すると、ツールオフセット（すなわち、力の作用点：本例においてはグラインダー２１０の砥石が対象物Ｗmの稜に接触する位置Ｏ）が力制御座標系の原点として取得される。
【００３９】
ツールオフセットが力制御座標系の原点となる場合、力制御座標系の原点は、ロボット１００の動作とともに移動し得る。すなわち、ツールオフセットは、ツールとしてのグラインダー２１０の重心等に設定されたＴＣＰと一定の関係がある点である。ＴＣＰは、ロボット１００やグラインダー２１の位置や姿勢の変化に連動して変化し得るため、ツールオフセットもロボット１００やグラインダー２１の位置や姿勢の変化に連動して変化し得る。
【００４０】
なお、ラジオボタン５７ｂの下に表示されたＸ：１００，Ｙ：１００，Ｚ：５０の数値は、ステップＳ１１５で取得される原点の座標値を仮想空間内での座標値として表現した値である。すなわち、図４に示す例ではツールオフセットの仮想空間内での座標が座標（Ｘ、Ｙ，Ｚ）＝（１００，１００，５０）であることを示している。当該数値は、ラジオボタン５７ｂの選択が行われた場合に表示される。また、利用者がキーボード等の入力部によって当該数値を修正すると、仮想空間内での原点の座標値を修正することができる。
【００４１】
利用者が入力部５６を操作してラジオボタン５７ｃを選択すると、ロボット座標系の原点が力制御座標系の原点として取得される。すなわち、ロボット座標系の原点が力制御座標系の原点として流用される。この場合、力制御座標系の原点はロボット１００やグラインダー２１の位置や姿勢の変化に応じて移動しない。なお、ラジオボタン５７ｃが選択されると、ラジオボタン５７ｃの下に仮想空間内での原点の座標値Ｘ，Ｙ，Ｚが表示される。利用者がキーボード等の入力部によって当該数値を修正すると、仮想空間内での原点の座標値を修正することができる。
【００４２】
利用者が入力部５６を操作してラジオボタン５７ｄを選択すると、ローカル座標系の原点が力制御座標系の原点として取得される。なお、ローカル座標系は利用者によって複数個設定可能であり、ローカル番号によって各ローカル座標系が区別される。そこで、ラジオボタン５７ｄの下には、ローカル番号を入力するボックスが備えられている。ラジオボタン５７ｄが選択されると、ローカル番号で指定されたローカル座標系の原点が力制御座標系の原点として流用される。なお、ラジオボタン５７ｄが選択されると、ラジオボタン５７ｄの下に仮想空間内での原点の座標値Ｘ，Ｙ，Ｚが表示される。利用者がキーボード等の入力部によって当該数値を修正すると、仮想空間内での原点の座標値を修正することができる。
【００４３】
ローカル座標系の位置や姿勢がロボット１００の動作等によって変化し得る場合、ラジオボタン５７ｄによって設定された力制御座標系の原点の位置は変動し得る。むろん、原点としては、以上の座標系以外の他の座標系の原点が流用されても良いし、座標系以外の任意の点、例えば、エンドエフェクターに対して固定された位置（エンドエフェクターによって把持された物体内の一点（ＴＣＰ等））が原点として選択できるように構成されていても良い。なお、上述のツールオフセットや、ＴＣＰ等は、ロボット１００と特定の関係にある位置であるといえる。従って、このようなロボット１００と特定の関係にある位置が原点となる力制御座標系が設定されると、力制御座標軸がロボット１００と特定の関係にある位置を通る軸になり、利用者はこのような座標軸を容易に設定することができる。
【００４４】
以上のように、力制御座標系の原点としては種々の選択肢を選択可能であり、移動し得る原点と移動しない原点とを選択可能である。利用者は、目標力の性質に応じて適宜原点を選択すればよい。例えば、グラインダー２１の砥石と対象物Ｗ1との接点に対してグラインダー２１から見て一定の方向の目標力を作用させるなど、ロボット１００の特定の部位から見て一定の方向を向いた目標力を作用させる場合、ロボット１００の特定の部位に連動する位置を原点とすれば良い。また、ロボット座標系に対して固定された対象物に対して特定の向きおよび大きさの力を作用させる場合には、固定された点を力制御座標系の原点とすれば良い。利用者が原点を選択すると、力制御座標軸設定装置５０は、選択された原点を示す情報（仮想空間での座標値）をＲＡＭに記録する。
【００４５】
力制御座標系は、力制御の目標力を容易に設定できるように定義されていることが好ましい。そこで、本実施形態においては、種々の方向に力制御座標軸を向けることができるように構成されている。力制御座標軸の方向を設定するため、力制御座標軸設定装置５０は、軸方向の選択肢を表示する（ステップＳ１２０）。本実施形態においては、既存の座標系と同一方向に力制御座標軸を設定することが可能であるとともに、目標力に平行な方向に力制御座標軸を設定することが可能である。
【００４６】
力制御座標軸設定装置５０は、表示部５７にこれらの選択肢を選択させるためのユーザーインターフェイス画面を表示する。図５は、軸方向を設定する際のユーザーインターフェイス画面を示している。すなわち、図５においては、モデル表示部５７ａの右側に軸方向を選択するためのラジオボタン５７ｅ〜５７ｈが表示されている。具体的には、ロボット座標系、ローカル座標系、ツール座標系のそれぞれの軸方向と力制御座標軸の方向とを一致させるためのラジオボタン５７ｅ〜５７ｇと、ユーザー設定によって力制御座標軸の方向を設定するためのラジオボタン５７ｈとが表示されている。なお、ラジオボタン５７ｈの下に表示されたＵ：１０，Ｖ：１０，Ｗ：２０の数値は、基準の座標系（例えば、ロボット座標系）の各軸に対する力制御座標軸の向きを示す値である。
【００４７】
図５に示すユーザーインターフェイス画面が表示されると、利用者は、入力部５６を操作することによってラジオボタン５７ｅ〜５７ｈのいずれかによって力制御座標軸の方向を指示することができる。力制御座標軸の方向の指示が行われると、力制御座標軸設定装置５０は、目標方向取得部５２の機能により、選択結果を判定する（ステップＳ１２５）。「既存軸に一致する」が選択されたと判定された場合、すなわち、ラジオボタン５７ｅ，５７ｆ，５７ｇのいずれかが選択された場合、力制御座標軸設定装置５０は、力制御座標軸取得部５５の処理により、ステップＳ１１５で取得した原点から、ステップＳ１２０で選択された既存軸に平行に延びる座標軸を設定し（ステップ１３０）、当該原点および座標軸を力制御座標系として取得する。
【００４８】
一方、ステップＳ１２５において、「ユーザー設定」が選択されたと判定された場合、すなわち、ラジオボタン５７ｈが選択された場合、力制御座標軸設定装置５０は、目標方向取得部５２の機能により、仮想空間内において、ロボット１００に作用させる目標力の方向を受け付ける（ステップＳ１３５）。すなわち、利用者は、入力部５６を操作することにより、目標力の方向を入力可能であり、力制御座標軸設定装置５０は、当該入力に基づいて目標力の方向を取得する。
【００４９】
図６は、図４および図５に示す３次元モデルとしてのロボット１００の拡大図である。図６においては、ロボット１００のエンドエフェクターに取り付けられたグラインダー２１０の砥石２１０ａが破線のようにフレームによって示されている。本実施形態においては、利用者が入力部５６としてのマウスによってポインターを移動させ、特定の位置においてクリック等の操作を行うと、既定の位置にポインターが引き込まれる。ポインターが引き込まれる位置は、目標力の方向を示すベクトルの端点となり得る位置であり、本実施形態においては、グラインダー２１０の内部に予め設定されたＴＣＰと対象物Ｗmの稜とにポインターが引き込まれる。むろん、ポインターは引込を解除して任意の位置に移動させることが可能である。
【００５０】
このようなユーザーインターフェイスにおいて、利用者は、目標力の方向を示すベクトルの両端の点を指示することで目標力の方向を入力することができる。本実施形態にかかるバリ取り作業において目標力の方向は、ＴＣＰから対象物Ｗmの稜上の一点に向かう方向に平行である。そこで、利用者は、入力部５６としてのマウスの操作によってポインターをＴＣＰに引き込ませて第１の点を特定する操作を行い、また、ポインターを対象物Ｗmの稜上の点に引き込ませて第２の点Ｐ2を特定する操作を行う。力制御座標軸設定装置５０は、当該操作によって特定された２個の点を結ぶ方向であり、最初の第１の点から第２の点に向かう方向を目標力の方向として取得する。
【００５１】
むろん、目標力の方向の設定に際しては、各種の操作やアシストが行われてもよい。例えば、モデル表示部５７ａにおいて仮想空間を眺める視点の位置や方向が可変であっても良い。また、目標力の方向が３次元モデルと特定の関係（例えば、目標力の方向と稜との交差角が最も直角に近づいた場合や、第２の点が稜上で移動可能であり第１の点と第２の点を結ぶ距離が最小になった場合等）になると強調表示される等のアシストが行われてもよい。
【００５２】
目標力の方向が受け付けられると、力制御座標軸設定装置５０は力方向軸設定部５３の機能により、目標力の方向に平行な力方向軸を設定する（ステップＳ１４０）。すなわち、力制御座標軸設定装置５０は、力方向軸設定部５３の機能により、ステップＳ１１５で取得された原点からステップＳ１３５で取得された目標力の方向に平行な方向に延びる軸を力方向軸として設定する。具体的には力制御座標軸設定装置５０は、原点と、ステップＳ１３５で取得された目標力の方向に平行な方向に延びる線上にある一点とによって力方向軸を示すベクトルを定義し、当該ベクトルを示す情報（仮想空間での端点の座標値）をＲＡＭに記録する。
【００５３】
次に、力制御座標軸設定装置５０は直交軸設定部５４の機能により、ツールの移動方向を受け付ける（ステップＳ１４５）。すなわち、利用者は、入力部５６を操作することにより、ツールの移動方向（本例ではバリ取り作業におけるグラインダー２１の移動方向）を入力可能であり、力制御座標軸設定装置５０は、当該入力に基づいてツールの移動方向を取得する。
【００５４】
本実施形態において利用者は入力部５６としてのマウスによってポインターを移動させ、所望の位置においてクリック等の操作を行う。クリック等の操作が行われると、当該操作が行われたポインターの位置と選択済の点（第１の点（ＴＣＰ）または第２の点Ｐ2）とを結ぶ矢印Ａrが表示される。従って、利用者はクリック等の操作の位置を調整することにより、選択済の点から任意方向に延びる矢印Ａrを表示させることができる。従って、利用者は、当該矢印Ａrの方向をツールの移動方向に調整することでグラインダー２１の移動方向を入力することができる。
【００５５】
本実施形態にかかるバリ取り作業においてグラインダー２１の移動方向は対象物Ｗmの稜に平行である。そこで、利用者は、入力部５６としてのマウスの操作によって対象物Ｗmの稜に平行な矢印Ａrを設定する操作を行う。図６においては、対象物Ｗmの稜に平行に向けられた矢印Ａrが表示された状態を示している。力制御座標軸設定装置５０は、当該操作によって特定された矢印Ａrの方向をグラインダー２１の移動方向として取得する。
【００５６】
むろん、グラインダー２１等のツールの移動方向の設定に際しては、各種の操作やアシストが行われてもよい。例えば、モデル表示部５７ａにおいて仮想空間を眺める視点の位置や方向が可変であっても良い。また、移動方向が３次元モデルと特定の関係（例えば、対象物Ｗmの稜に平行になった場合等）になると強調表示される等のアシストが行われてもよい。
【００５７】
目標力の方向が受け付けられると、力制御座標軸設定装置５０は直交軸設定部５４の機能により、ツールの移動方向に平行な第１直交軸を設定する（ステップＳ１５０）。すなわち、力制御座標軸設定装置５０は、直交軸設定部５４の機能により、ステップＳ１１５で取得された原点からステップＳ１４５で取得された移動方向に平行な方向に延びる軸を第１直交軸として設定する。具体的には力制御座標軸設定装置５０は、原点と、当該ステップＳ１４５で取得された移動方向に平行な方向に延びる線上にある一点とによって第１直交軸を示すベクトルを定義し、当該ベクトルを示す情報（仮想空間での端点の座標値）をＲＡＭに記録する。
【００５８】
次に力制御座標軸設定装置５０は、直交軸設定部５４の機能により、力方向軸、第１直交軸に直交する第２直交軸を設定する（ステップＳ１５５）。すなわち、力制御座標軸設定装置５０は、直交軸設定部５４の機能により、ステップＳ１１５で取得された原点から、ステップＳ１４０，Ｓ１５０で設定された軸の双方に垂直な方向に延びる軸を第２直交軸として設定する。具体的には力制御座標軸設定装置５０は、原点と、ステップＳ１４０，Ｓ１５０で設定された軸の双方に垂直な方向に延びる線上にある一点とによって第２直交軸を示すベクトルを定義し、当該ベクトルを示す情報（仮想空間での端点の座標値）をＲＡＭに記録する。
【００５９】
図７は、図６と同様の例における力制御座標系の座標軸を実線の矢印で示している。図６に示す例において力制御座標系の原点としてツールオフセットが選択されると、グラインダー２１０の砥石が対象物Ｗmの稜に接触する位置Ｐ2（力の作用点）が力制御座標系の原点となる。そして、目標力の方向に平行な力方向軸は軸Ａf，ツールの移動方向に平行な第１直交軸は軸Ａ1、両軸に直角な第２直交軸は軸Ａ2である。このように、本実施形態においては、原点と座標系の方向は、別個に入力された情報に基づいて特定されるため、図７に示すように、ツールオフセットが原点であったとしても他の指標、例えば、ＴＣＰから見た目標力の方向や、ツールの移動方向に基づいて座標系の方向を規定することができる。
【００６０】
なお、図７に示すようにツールオフセットが原点となった場合、当該ツールオフセットは対象部Ｗmの稜上の位置である。従って、力方向軸と、２個の直交軸が仮想空間内に描画された対象物Ｗm上の一点（グラインダー２１０の砥石が対象物Ｗmの稜に接触する位置）を通る軸となる。本例にかかるグラインダー２１によるバリ取り作業においては、対象物Ｗmに対する作業の際に力制御が行われ、目標力は対象物Ｗm上の１点を通るため、本実施形態によれば、対象物Ｗm上の１点を通る目標力を容易に設定可能な力制御座標軸を設定することができる。また、本例にかかるグラインダー２１によるバリ取り作業においては、目標力が作用した状態で対象物Ｗm上の１点を通る方向にロボットと対象物との接点が移動する。従って、本実施形態によれば、対象物Ｗm上の１点を通る方向に移動する移動方向を容易に設定可能な力制御座標軸を設定することができる。
【００６１】
次に、力制御座標軸設定装置５０は、力制御座標軸取得部５５の機能により、力制御座標系の座標軸を定義する（ステップＳ１６０）。すなわち、力制御座標軸設定装置５０は、力制御座標軸取得部５５の機能により、仮想空間内で定義された力制御座標系の原点および座標軸と、基準の座標系（例えば、ロボット座標系等）との関係を定義し、ＲＡＭに記録する。例えば、原点の位置や姿勢が変化し得る場合、基準の座標系の原点と力制御座標系の原点との位置関係に加え、力制御座標系の原点および姿勢の変化特性（例えば、力制御座標系の原点および座標軸と、ツール座標系の原点および座標軸との関係等）がＲＡＭ等に記録される。
【００６２】
以上のようにして力制御座標系が設定されると、力制御に関連するプログラムの作成や力制御のシミュレーションを実行することが可能になる。以上の構成によれば、仮想空間内における処理によって力制御の座標軸（力制御座標系）を設定することが可能であるため、実際にロボットが存在しない状態であっても力制御のための座標軸を定義することができる。このため、実際にロボットが存在しない状態であっても力制御に関連するプログラムの作成や力制御のシミュレーション等を実行することが可能になる。
【００６３】
（３）他の実施形態：
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、力制御座標軸設定装置は、ロボットに内蔵されていても良いし、ロボットの設置場所と異なる場所、例えば外部のサーバ等に備えられていても良い。さらに、上述の実施形態の一部の構成が省略されてもよいし、処理の順序が変動または省略されてもよい。例えば、第１直交軸はツールの移動方向にかかわらず、力方向軸に垂直な任意の方向に設定可能であっても良い。
【００６４】
ロボットは、力制御によって動作することができればよく、任意の態様の可動部で対象物に関する作業を実施できれば良い。対象物は、ロボットによる作業対象となる物体であれば良く、エンドエフェクターによって把持された物体であっても良いし、エンドエフェクターが備えるツールで扱われる物体であっても良く、種々の物体が対象物となり得る。
【００６５】
可動部は、ロボットの設置位置に対して相対的に移動し、姿勢が変化するように構成されていれば良く、その自由度（可動軸の数等）は任意である。ロボットの態様は、種々の態様であって良く、直交ロボット、水平多関節ロボット、垂直多関節ロボット、双腕ロボット等であって良い。むろん、軸の数やアームの数、エンドエフェクターの態様等は種々の態様を採用可能である。
【００６６】
ロボットに作用させる目標力は、当該ロボットを力制御によって駆動する際にロボットに作用させる目標力であれば良く、例えば、力覚センサー、ジャイロセンサー、加速度センサー等の力検出部によって検出される力（または当該力から算出される力）を特定の力に制御する際に、当該力が目標力となる。
【００６７】
直交軸は、力方向軸を含む３軸によって３次元直交座標系が構成されるように定義されれば良い。従って、直交軸は力方向軸に直交し、直交軸同士も直交する限りにおいて、種々の方向に設定されて良い。
【００６８】
さらに、目標力の方向が複数個設定された場合、直交軸の１個を当該目標力に平行に設定する構成であっても良い。この座標軸によれば、２方向の目標力を簡易に設定することができる。このような構成は、直交する２個の目標力が設定される場合に適用されることが好ましい。なお、この構成は、例えば、上述の実施形態において、図３の力制御座標系設定処理を修正するなどして実現可能である。具体的には、ステップＳ１４５，Ｓ１５０を省略し、替わりにステップＳ１３５において直交する２個の目標力の方向を受け付け、ステップＳ１４０において各目標力の方向に直交する２個の軸を設定し、ステップＳ１５５において当該２個の軸に垂直な軸を設定する構成によって実現可能である。
【符号の説明】
【００６９】
１…ロボット、１０…アーム、２０…エンドエフェクター、２１…グラインダー、４０…ロボット制御装置、５０…力制御座標軸設定装置、５１…原点取得部、５２…目標方向取得部、５３…力方向軸設定部、５４…直交軸設定部、５５…力制御座標軸取得部、５６…入力部、５７…表示部
【図１】
2018069361.tif 000003
【図２】
2018069361.tif 000004
【図３】
2018069361.tif 000005
【図４】
2018069361.tif 000006
【図５】
2018069361.tif 000007
【図６】
2018069361.tif 000008
【図７】
2018069361.tif 000009