(57)【要約】【課題】ロボットの操作装置において、ユーザが意図することなくロボットが実空間で動作してしまうのを確実に防止する技術が求められている。【解決手段】操作装置５０は、ロボットモデルの画像を表示するとともに、タッチ入力を受け付けるタッチスクリーン５２と、タッチスクリーン５２の面をタッチするタッチ入力に応じてロボットモデルを動作させるモデル動作実行部５４と、ロボットを実空間で動作させるためのロボット動作ボタン５６と、ロボット動作ボタン５６の入力を検出する動作入力検出部５８と、ロボット動作ボタン５６の入力を継続して検出している間、モデル動作実行部５４が実行したロボットモデルの動作と同じ動作を実空間でロボットに実行させる指令を出力する実機動作指令部６０とを備える。【選択図】図２
2018183845.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを操作するための操作装置であって、
前記ロボットをモデル化したロボットモデルの画像を表示するとともに、タッチ入力を受け付けるタッチスクリーンと、
前記タッチスクリーンの面をタッチするタッチ入力に応じて前記ロボットモデルを動作させるモデル動作実行部と、
前記ロボットを実空間で動作させるためのロボット動作ボタンと、
前記ロボット動作ボタンの入力を検出する動作入力検出部と、
前記動作入力検出部が前記ロボット動作ボタンの入力を継続して検出している間、前記モデル動作実行部が実行した前記ロボットモデルの動作と同じ動作を実空間で前記ロボットに実行させる指令を出力する実機動作指令部と、を備える、操作装置。
【請求項２】
前記ロボット動作ボタンは、前記タッチスクリーンに画像として表示され、
前記動作入力検出部は、前記タッチスクリーンの前記ロボット動作ボタンの表示領域へのタッチ入力を、前記ロボット動作ボタンの前記入力として検出する、請求項１に記載の操作装置。
【請求項３】
前記タッチスクリーンは、前記表示領域へのタッチ入力の力を検出する力検出部を有し、
前記動作入力検出部は、前記力検出部が検出した前記力が予め定められた閾値以上であるときに、前記表示領域へのタッチ入力を、前記ロボット動作ボタンの前記入力として検出する、請求項２に記載の操作装置。
【請求項４】
前記ロボットを制御するロボット制御部から、該ロボットの位置および姿勢を取得する状態取得部をさらに備え、
前記タッチスクリーンは、前記状態取得部が取得した前記位置および姿勢に配置した前記ロボットモデルを表示し、
前記モデル動作実行部は、前記状態取得部が取得した前記位置および姿勢に配置した前記ロボットモデルを動作させる、請求項１〜３のいずれか１項に記載の操作装置。
【請求項５】
前記タッチスクリーンの面をタッチするタッチ入力の始点および終点に基づいて、前記同じ動作を実空間で前記ロボットに実行させるために該ロボットに送信される動作指令を生成する動作指令生成部をさらに備える、請求項１〜４のいずれか１項に記載の操作装置。
【請求項６】
前記タッチスクリーンへの予め定められた種類のタッチ入力に応じて、３次元の前記ロボットモデルの前記画像を、該画像とは異なる方向から見た前記ロボットモデルの第２画像に切り替える画像切替部をさらに備える、請求項１〜５のいずれか１項に記載の操作装置。
【請求項７】
前記予め定められた種類のタッチ入力は、
前記タッチスクリーンに表示された、前記ロボットモデルの前記画像を前記第２画像に切り替えるための画像切替ボタンの表示領域へのタッチ入力であるか、
前記タッチスクリーンにおける２つの異なる箇所を同時にタッチするタッチ入力であるか、または、
前記タッチスクリーンの少なくとも１箇所を所定時間継続してタッチするタッチ入力である、請求項６に記載の操作装置。
【請求項８】
ロボットと、
前記ロボットを制御するロボット制御部と、
前記ロボット制御部に通信可能に接続された、請求項１〜７のいずれか１項に記載の操作装置と、を備える、ロボットシステム。
【請求項９】
ロボットを操作する方法であって、
前記ロボットをモデル化したロボットモデルの画像を、タッチ入力を受け付け可能なタッチスクリーンに表示することと、
前記タッチスクリーンの面をタッチするタッチ入力に応じて前記ロボットモデルを動作させることと、
前記ロボットを実空間で動作させるためのロボット動作ボタンの入力を検出することと、
前記ロボット動作ボタンの入力を継続して検出している間、前記ロボットモデルの動作と同じ動作を実空間で前記ロボットに実行させる指令を出力することと、を備える、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを操作するための操作装置、ロボットシステム、および操作方法に関する。
【背景技術】
【０００２】
ロボットをジョグするための操作装置が知られている（例えば、特許文献１および２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第９８／０３３１４号
【特許文献２】特開２０１２−１７１０２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のような操作装置において、ユーザが意図することなくロボットが実空間で動作してしまうのを確実に防止する技術が求められている。
【課題を解決するための手段】
【０００５】
本開示の一態様において、ロボットを操作するための操作装置は、ロボットをモデル化したロボットモデルの画像を表示するとともに、タッチ入力を受け付けるタッチスクリーンと、タッチスクリーンの面をタッチするタッチ入力に応じてロボットモデルを動作させるモデル動作実行部と、ロボットを実空間で動作させるためのロボット動作ボタンと、ロボット動作ボタンの入力を検出する動作入力検出部と、動作入力検出部がロボット動作ボタンの入力を継続して検出している間、モデル動作実行部が実行したロボットモデルの動作と同じ動作を実空間でロボットに実行させる指令を出力する実機動作指令部とを備える。
【０００６】
本開示の他の一態様において、ロボットを操作する方法は、ロボットをモデル化したロボットモデルの画像を、タッチ入力を受け付け可能なタッチスクリーンに表示することと、タッチスクリーンの面をタッチするタッチ入力に応じてロボットモデルを動作させることと、ロボットを実空間で動作させるためのロボット動作ボタンの入力を検出することと、ロボット動作ボタンの入力を継続して検出している間、ロボットモデルの動作と同じ動作を実空間でロボットに実行させる指令を出力することとを備える。
【発明の効果】
【０００７】
本開示の一態様によれば、ユーザがロボット動作ボタンを入力している間のみ、実空間のロボットが動作することになる。この構成によれば、ユーザが意図することなくロボットが実空間で動作してしまうのを、確実に防止することができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係るロボットシステムの概略図である。
【図２】図１に示す操作装置のブロック図である。
【図３】図１に示す操作装置のタッチスクリーンに表示される画像の例を示す。
【図４】ユーザがロボット動作ボタンを入力している状態を示す。
【図５】他の実施形態に係る操作装置のブロック図である。
【図６】図５に示す操作装置の動作フローの一例を示すフローチャートである。
【図７】図６中のステップＳ３およびＳ４を説明するための図であって、図５に示す操作装置のタッチスクリーンに表示される画像の例を示す。
【図８】図６中のステップＳ６のフローの一例を示すフローチャートである。
【図９】さらに他の実施形態に係る操作装置のブロック図である。
【図１０】図５に示す操作装置が実行する、図６中のステップＳ６の動作フローの一例を示すフローチャートである。
【図１１】さらに他の実施形態に係る操作装置のブロック図である。
【図１２】図１１に示す操作装置のタッチスクリーンに表示される画像の例を示す。
【図１３】図１２に示すロボットモデルを異なる方向から見た画像を示す。
【発明を実施するための形態】
【０００９】
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図１および図２を参照して、一実施形態に係るロボットシステム１０について説明する。
【００１０】
ロボットシステム１０は、ロボット１２と、ロボット１２を制御するロボット制御部１４と、ロボット制御部１４に通信可能に接続された操作装置５０とを備える。ロボット制御部１４は、ＣＰＵおよびメモリ（図示せず）等を有し、ロボット１２の各構成要素を直接的または間接的に制御する。
【００１１】
本実施形態においては、ロボット１２は、垂直多関節ロボットであり、ベース１６、旋回胴１８、ロボットアーム２０、手首部２２、およびエンドエフェクタ２４を有する。ベース１６は、実空間の作業セルの床に固定されている。
【００１２】
旋回胴１８は、鉛直軸周りに回動可能となるように、ベース１６に設けられている。ロボットアーム２０は、旋回胴１８に回動可能に連結された下腕部２６と、該下腕部２６の先端に回動可能に連結された上腕部２８とを有する。手首部２２は、上腕部２８の先端に回動可能に連結され、エンドエフェクタ２４を支持している。
【００１３】
旋回胴１８、ロボットアーム２０、および手首部２２の各々には、サーボモータ（図示せず）が内蔵されている。ロボット制御部１４は、各サーボモータに指令を送り、旋回胴１８、ロボットアーム２０、および手首部２２を駆動する。
【００１４】
これにより、ロボット１２は、実空間において任意の位置および姿勢に配置される。換言すれば、ロボット１２の実空間における位置および姿勢は、旋回胴１８、ロボットアーム２０、および手首部２２に内蔵されたサーボモータの回転角度によって規定される。
【００１５】
操作装置５０は、例えば、タブレット端末またはスマートフォンといった手持ち式の通信機器、もしくはＰＣであって、ロボット制御部１４に、有線または無線で通信可能に接続されている。
【００１６】
図２に示すように、操作装置５０は、タッチスクリーン５２、モデル動作実行部５４、ロボット動作ボタン５６、動作入力検出部５８、および実機動作指令部６０を備える。
【００１７】
タッチスクリーン５２は、画像６２（図１、図３）を表示するとともに、ユーザからタッチ入力を受け付ける。具体的には、タッチスクリーン５２は、ＬＣＤまたは有機ＥＬディスプレイ等の表示部と、抵抗膜型、静電容量型または電磁誘導型等のタッチセンサ（ともに図示せず）とを有する。
【００１８】
画像６２は、ロボット動作ボタン５６（図１、図３）の画像と、ロボット１２をモデル化したロボットモデル６４の画像を含む仮想空間７０の画像とを有する。ロボットモデル６４は、３次元のＣＧである。ロボット動作ボタン５６は、画像６２内における、仮想空間７０とは別の区域に表示されている。ロボット動作ボタン５６の技術的意義については、後述する。
【００１９】
モデル動作実行部５４は、ユーザがタッチスクリーン５２の表面をタッチするタッチ入力に応じて、ロボットモデル６４を仮想空間７０内で仮想的に動作させる。この動作について、図３を参照して説明する。
【００２０】
一例として、モデル動作実行部５４は、スライドタッチ入力に応じてロボットモデル６４を動作させる。このスライドタッチ入力とは、ユーザが指Ｆ（または、タッチペンのような、タッチセンサに対してタッチ入力可能な部材）でタッチスクリーン５２の表面をタッチし、該タッチ点をタッチスクリーン５２の表面上で任意の方向Ｂへスライドさせる入力操作である。
【００２１】
例えば、モデル動作実行部５４は、タッチスクリーン５２（より具体的には、タッチセンサ）の表面における、仮想空間７０の表示領域へのスライドタッチ入力を受け付けたとき、該スライドタッチ入力に応じて、ロボットモデル６４を仮想空間７０内で仮想的に動作させる。
【００２２】
具体的には、ユーザが指Ｆで、タッチスクリーン５２における、仮想空間７０の表示領域の所定位置Ａをタッチし、指Ｆでタッチスクリーン５２をタッチしつつ、該指Ｆを矢印Ｂの方向へ位置Ａ’までスライドさせ、該位置Ａ’で指Ｆをタッチスクリーン５２から離す。
【００２３】
この場合、モデル動作実行部５４は、このようなタッチ入力を、ロボットモデル６４を仮想的に移動させるためのスライドタッチ入力として認識し、該スライドタッチ入力に応じて、ロボットモデル６４を、ロボットモデル６４’として示される位置および姿勢へ、仮想空間７０内で移動させる。
【００２４】
本実施形態においては、タッチスクリーン５２には、座標系ＣＴが設定される。モデル動作実行部５４は、タッチスクリーン５２のタッチセンサからの出力信号に基づいて、スライドタッチ入力の始点Ａの座標系ＣＴにおける座標と、スライドタッチ入力の終点Ａ’の座標系ＣＴにおける座標を求める。
【００２５】
そして、モデル動作実行部５４は、始点Ａおよび終点Ａ’の座標から、始点Ａから終点Ａ’へのベクトルと、該ベクトルの大きさを求め、該ベクトルおよび該ベクトルの大きさを、仮想空間７０における移動方向Ｃおよび移動距離Ｄにそれぞれ変換する。
【００２６】
そして、モデル動作実行部５４は、移動対象とするロボットモデル６４の構成要素モデル（例えば、エンドエフェクタ２４をモデル化したエンドエフェクタモデル）を、移動方向Ｃへ移動距離Ｄだけ仮想空間７０内で移動させる。
【００２７】
このとき、モデル動作実行部５４は、移動対象の構成要素モデルを移動方向Ｃへ移動距離Ｄだけ移動させるのに要する、仮想空間７０におけるロボットモデル６４の各構成要素モデルの経路（以下、仮想ジョグ経路とする）を算出する。
【００２８】
なお、仮想空間７０におけるロボットモデル６４の各構成要素モデル（ベースモデル、旋回胴モデル、ロボットアームモデル、手首部モデル）は、実機のロボット１２と同様に、構成要素間の関節での許容回転角度等に起因する移動の制約を受ける。
【００２９】
すなわち、ロボットモデル６４は、実機のロボット１２と同じ可動範囲を有している。その一方で、ロボットモデル６４の各構成要素モデルは、仮想空間７０においては移動速度の制限は受けない。
【００３０】
したがって、モデル動作実行部５４は、仮想空間７０において、ロボットモデル６４の移動対象の構成要素モデルを、該ロボットモデル６４の可動範囲内で、移動方向Ｃへ移動距離Ｄだけ、ユーザからのスライドタッチ入力と同等の速度で移動させることができる。その結果、ロボットモデル６４は、図３に示すように、ロボットモデル６４’の位置および姿勢に仮想空間７０内で移動される。
【００３１】
また、他の例として、ユーザは、上記のスライドタッチ入力の代わりに、ロボットモデル６４を仮想空間７０内で動作させるときの始点と終点を指定するために、タッチスクリーン５２の表面上で始点Ａと終点Ａ’をタッチするタッチ入力を行ってもよい。この場合、モデル動作実行部５４は、始点Ａおよび終点Ａ’へのタッチ入力に応じて、ロボットモデル６４を上述したように仮想的に動作させる。
【００３２】
また、モデル動作実行部５４は、移動対象の構成要素モデルの指定をユーザから受け付けてもよい。例えば、ユーザは、ロボットモデル６４の構成要素モデルのうち、移動対象とする構成要素モデル（例えばエンドエフェクタモデル）の位置に対応する、タッチスクリーン５２の表面上の位置に対してタッチ入力する。
【００３３】
この場合、モデル動作実行部５４は、タッチ入力を受け付けた構成要素モデルを移動対象とし、スライドタッチ入力（または、始点Ａと終点Ａ’へのタッチ入力）に応じて、移動対象の構成要素モデルを仮想空間７０内で移動させる。
【００３４】
本実施形態においては、モデル動作実行部５４は、移動前のロボットモデル６４と、移動後のロボットモデル６４’の双方を、仮想空間７０に表示している。この場合において、ロボットモデル６４と６４’とを視覚的に区別するために、ロボットモデル６４’は、例えば、半透明もしくは点線として表示されてもよいし、または、ロボットモデル６４とは別の色で表示されてもよい。または、モデル動作実行部５４は、ロボットモデル６４を移動した後は、移動前のロボットモデル６４を画像６２から消去してもよい。
【００３５】
一例として、操作装置５０は、後述するように、ロボットモデル６４の仮想ジョグ経路から、モデル動作実行部５４が実行したロボットモデル６４の動作と同じ動作を実機のロボット１２に実行させるための各サーボモータへの動作指令を生成する。
【００３６】
また、他の例として、操作装置５０は、ロボットモデル６４の仮想ジョグ経路に関する情報をロボット制御部１４へ送信する。この場合、ロボット制御部１４は、受信した仮想ジョグ経路から、各サーボモータへの動作指令を生成する。
【００３７】
モデル動作実行部５４は、上述のようにロボットモデル６４を仮想的に動作させる第１の仮想ジョグ動作に続いて、第２の仮想ジョグ動作を実行し得る。具体的には、ユーザは、最初のタッチ入力（例えば、スライドタッチ入力）を実行して指Ｆをタッチスクリーン５２から離した後、再度、タッチスクリーン５２の表面上の所定位置を指Ｆでタッチして第２のタッチ入力を実行する。
【００３８】
モデル動作実行部５４は、該第２のタッチ入力に応じて、ロボットモデル６４’を仮想空間７０内で仮想的に動作させる第２の仮想ジョグ動作を実行する。こうして、ユーザが第ｎのタッチ入力（ｎは２以上の整数）を順次実行する毎に、モデル動作実行部５４は、該第ｎのタッチ入力に応じて、第ｎの仮想ジョグ動作を実行する。
【００３９】
動作入力検出部５８は、ロボット動作ボタン５６の入力を検出する。具体的には、ユーザは、図４に示すように、タッチスクリーン５２におけるロボット動作ボタン５６の表示領域５６Ａを指Ｆでタッチする。動作入力検出部５８は、表示領域５６Ａに配設されたタッチセンサからの出力信号から、図４に示すような表示領域５６Ａへのタッチ入力を検出する。
【００４０】
このように、本実施形態においては、ロボット動作ボタン５６は、タッチスクリーン５２に画像として表示され、動作入力検出部５８は、タッチスクリーン５２の表示領域５６Ａへのタッチ入力を、ロボット動作ボタン５６の入力として検出する。
【００４１】
実機動作指令部６０は、動作入力検出部５８が表示領域５６Ａへのタッチ入力を継続して検出している間、モデル動作実行部５４が実行したロボットモデル６４の動作（すなわち、仮想ジョグ動作）と同じ動作を実空間でロボット１２に実行させる指令を、ロボット制御部１４へ出力する。
【００４２】
一例として、操作装置５０がロボット１２の各サーボモータへの動作指令を生成した場合、実機動作指令部６０は、動作入力検出部５８が表示領域５６Ａへのタッチ入力を検出している間、生成した動作指令をロボット制御部１４に送信する。
【００４３】
ロボット制御部１４は、実機動作指令部６０から受信した動作指令を、ロボット１２に内蔵されたサーボモータへそれぞれ送信する。こうして、ロボット１２は、モデル動作実行部５４が実行した仮想ジョグ動作と同じ動作を、実空間で実行する。
【００４４】
一方、ユーザが指Ｆを表示領域５６Ａから離し、これにより、動作入力検出部５８がタッチ入力を検出しなくなったとき、実機動作指令部６０は、ロボット制御部１４への動作指令の送信を停止する。これにより、ロボット制御部１４は、ロボット１２の各サーボモータへの動作指令の送信を停止し、以って、実空間でのロボット１２の動作を停止する。
【００４５】
他の例として、ロボット制御部１４が、操作装置５０から受信した仮想ジョグ経路に基づいて各サーボモータへの動作指令を生成する場合、実機動作指令部６０は、動作入力検出部５８がタッチ入力を検出している間、ジョグ許可指令をロボット制御部１４に送信する。
【００４６】
ロボット制御部１４は、実機動作指令部６０からジョグ許可指令を受信している間、動作指令をロボット１２のサーボモータへそれぞれ送信し、仮想ジョグ動作と同じ動作を、実空間でロボット１２に実行させる。一方、動作入力検出部５８がタッチ入力を検出しなくなったとき、実機動作指令部６０は、ジョグ許可指令の送信を停止する。
【００４７】
ロボット制御部１４は、ジョグ許可指令の受信が停止しているとき、ロボット１２の各サーボモータへの動作指令の送信を停止し、以って、実空間でのロボット１２の動作を停止する。
【００４８】
このように、本実施形態によれば、ユーザが表示領域５６Ａへタッチ入力を行っている間のみ、実空間のロボット１２が動作することになる。この構成によれば、ユーザが意図することなくロボット１２が実空間で動作してしまうのを、確実に防止することができる。
【００４９】
また、本実施形態においては、ユーザは、スライドタッチ入力等のタッチ入力を繰り返し実行して、ロボットモデル６４を仮想空間７０内で連続的に動作させることができる。この構成によれば、ロボットモデル６４をより詳細に動作させることができる。
【００５０】
次に、図５を参照して、他の実施形態に係る操作装置８０について、説明する。操作装置８０は、上述の操作装置５０と同様に、例えば手持ち式通信機器またはＰＣである。操作装置８０は、上述の操作装置５０の代わりに、図１に示すロボットシステム１０に適用され、ロボット制御部１４に通信可能に接続され得る。
【００５１】
操作装置８０は、ＣＰＵ８２、システムメモリ８４、ワークメモリ８６、入力／出力インターフェース（Ｉ／Ｏインターフェース）８８、計時部９０、および上述のタッチスクリーン５２を備える。
【００５２】
ＣＰＵ８２は、システムメモリ８４、ワークメモリ８６、タッチスクリーン５２およびＩ／Ｏインターフェース８８と、バス９２を介して通信可能に接続されており、これらの要素と通信しつつ、後述する各種のプロセスを実行する。
【００５３】
システムメモリ８４は、電気的に消去・記録可能な不揮発性メモリであり、例えば、ＥＥＰＲＯＭ（登録商標）等から構成される。システムメモリ８４は、ＣＰＵ８２が後述する各種プロセスを実行するのに要する定数、変数、設定値、プログラム等を、操作装置８０の非動作時にも失われないように記憶する。
【００５４】
ワークメモリ８６は、ＣＰＵ８２が各種プロセスを実行するのに要するデータを一時的に保管する。また、ワークメモリ８６には、システムメモリ８４に記録されている定数、変数、設定値、パラメータ、プログラム等が適宜展開される。ＣＰＵ８２は、ワークメモリ８６に展開されたデータを、各種プロセスを実行するために利用する。
【００５５】
Ｉ／Ｏインターフェース８８は、ロボット制御部１４と通信可能に接続され、ＣＰＵ８２からの指令の下、ロボット制御部１４と通信する。Ｉ／Ｏインターフェース８８は、例えばイーサネットポートまたはＵＳＢポート等から構成され、ロボット制御部１４と有線で通信してもよい。または、Ｉ／Ｏインターフェース８８は、例えばＷｉ−Ｆｉ等の無線ＬＡＮを介して、ロボット制御部１４と無線で通信してもよい。
【００５６】
計時部９０は、ＣＰＵ８２からの指令に応じて、予め定められた時点からの経過時間を計時する。
【００５７】
次に、図６〜図８を参照して、操作装置８０の動作について説明する。図６に示すフローは、ＣＰＵ８２が、ユーザまたはロボット制御部１４から動作開始指令を受け付けたときに、開始する。
【００５８】
ステップＳ１において、ＣＰＵ８２は、ロボット制御部１４から、実空間におけるロボット１２の位置および姿勢を取得する。一例として、ロボット制御部１４は、ロボット１２に内蔵された各サーボモータの回転角度から、現時点におけるロボット１２の各可動要素（旋回胴１８、ロボットアーム２０、手首部２２）の実空間における位置および姿勢を求める。
【００５９】
そして、ロボット制御部１４は、求めた位置および姿勢を表す情報を、Ｉ／Ｏインターフェース８８に送信する。ＣＰＵ８２は、Ｉ／Ｏインターフェース８８を通して、ロボット制御部１４から送信された位置および姿勢を表す情報を取得し、システムメモリ８４に記憶する。
【００６０】
また、他の例として、ロボット制御部１４は、ロボット１２に内蔵された各サーボモータの回転角度に関する情報を、Ｉ／Ｏインターフェース８８に送信する。ＣＰＵ８２は、Ｉ／Ｏインターフェース８８を通して、ロボット制御部１４から送信された各サーボモータの回転角度に関する情報を取得し、ワークメモリ８６に記憶する。
【００６１】
そして、ＣＰＵ８２は、ロボット制御部１４から受信した回転角度から、ロボット１２の各可動要素の位置および姿勢を求めて、システムメモリ８４に記憶する。
【００６２】
このように、本実施形態においては、ＣＰＵ８２は、ロボット制御部１４からロボット１２の位置および姿勢を取得する状態取得部９４（図５）としての機能を担う。
【００６３】
ステップＳ２において、ＣＰＵ８２は、ロボットモデル６４を含む画像を生成し、タッチスクリーン５２に表示する。この画像の例を図７に示す。図７に示す画像９６は、ロボット動作ボタン５６、ロボットモデル６４を含む仮想空間７０、プレビューボタン９８、および元に戻すボタン１００の画像を含む。
【００６４】
ロボットモデル６４は、ステップＳ１でＣＰＵ８２が取得した位置および姿勢に配置された状態のロボット１２をモデル化した３次元ＣＧである。プレビューボタン９８は、仮想空間７０およびロボット動作ボタン５６とは別の区域に表示されている。
【００６５】
元に戻すボタン１００は、仮想空間７０、ロボット動作ボタン５６、およびプレビューボタン９８とは別の区域に表示されている。これらプレビューボタン９８および元に戻すボタン１００の技術的意義については、後述する。
【００６６】
ステップＳ３において、ＣＰＵ８２は、ユーザからのタッチ入力を検出したか否かを判定する。例えば、図７に示すように、ユーザが指Ｆで、タッチスクリーン５２の表面上の始点Ａから終点Ａ’までスライドタッチ入力をしたとする。
【００６７】
ＣＰＵ８２は、タッチスクリーン５２における、仮想空間７０の表示領域に配設されたタッチセンサからの出力信号を監視し、始点Ａから終点Ａ’までのスライドタッチ入力を検出する。
【００６８】
ＣＰＵ８２は、タッチ入力を検出した（すなわち、ＹＥＳ）と判定した場合、ステップＳ４へ進む。一方、ＣＰＵ８２は、タッチ入力を検出していない（すなわち、ＮＯ）と判定した場合、ステップＳ６へ進む。
【００６９】
ステップＳ４において、ＣＰＵ８２は、ステップＳ３で検出したタッチ入力に応じて、ロボットモデル６４を仮想空間７０内で仮想的に動作させる仮想ジョグ動作を実行する。具体的には、ＣＰＵ８２は、上述した実施形態と同様に、タッチ入力の始点Ａおよび終点Ａ’の座標から仮想空間７０内での移動方向Ｃおよび移動距離Ｄを算出し、ステップＳ１で取得した位置および姿勢に配置されたロボットモデル６４の、移動対象となる構成要素モデル（エンドエフェクタモデル）を、移動方向Ｃへ移動距離Ｄだけ仮想的に移動させる。
【００７０】
このとき、ＣＰＵ８２は、仮想空間７０におけるロボットモデル６４の各構成要素モデルの仮想ジョグ経路を算出し、ワークメモリ８６に記憶する。その結果、ロボットモデル６４は、図７に示すように、ロボットモデル６４’の位置および姿勢に移動される。
【００７１】
このように、本実施形態においては、ＣＰＵ８２は、タッチ入力に応じてロボットモデル６４を仮想的に動作させるモデル動作実行部１０２（図５）としての機能を担う。
【００７２】
ステップＳ５において、ＣＰＵ８２は、ステップＳ４で実行した仮想ジョグ動作と同じ動作を実機のロボット１２に実行させるための各サーボモータへの動作指令を生成する。具体的には、ＣＰＵ８２は、ステップＳ４で算出した仮想ジョグ経路に基づいて、各サーボモータへの動作指令を生成し、システムメモリ８４に記憶する。
【００７３】
このように、本実施形態においては、ＣＰＵ８２は、タッチ入力の始点Ａおよび終点Ａ’の座標から求められる仮想ジョグ経路に基づいて、動作指令を生成している。したがって、ＣＰＵ８２は、タッチ入力の始点Ａおよび終点Ａ’に基づいて動作指令を生成する動作指令生成部１０４（図５）としての機能を担う。
【００７４】
ここで、本実施形態においては、ＣＰＵ８２は、タッチスクリーン５２の表面における、プレビューボタン９８の表示領域へのタッチ入力を検出したとき、ステップＳ４で実行した仮想ジョグ動作を、仮想空間７０内で再生する。
【００７５】
具体的には、ＣＰＵ８２は、プレビューボタン９８へのタッチ入力を検出したとき、ステップＳ４で算出した仮想ジョグ経路をワークメモリ８６から読み出し、ロボットモデル６４が仮想ジョグ経路に沿ってロボットモデル６４’の位置および姿勢まで移動する動作を再生する。これにより、ユーザは、仮想ジョグ動作を詳細に確認できる。
【００７６】
また、ＣＰＵ８２は、タッチスクリーン５２の表面における、元に戻すボタン１００の表示領域へのタッチ入力を検出したとき、ステップＳ４で実行した仮想ジョグ動作をキャンセルする。
【００７７】
具体的には、ＣＰＵ８２は、元に戻すボタン１００へのタッチ入力を検出したとき、ステップＳ４の実行後のロボットモデル６４’を仮想空間７０から消去して、画像９６を、ステップＳ４の実行前の状態に戻す。これにより、ユーザは、不適切な仮想ジョグ動作を行ってしまった場合等において、該仮想ジョグ動作を簡単にキャンセルできる。
【００７８】
ステップＳ６において、ＣＰＵ８２は、動作指令を送信するプロセスを実行する。このステップＳ６について、図８を参照して説明する。
【００７９】
ステップＳ１１において、ＣＰＵ８２は、ロボット動作ボタン５６の表示領域５６Ａへのタッチ入力を検出したか否かを判定する。具体的には、ＣＰＵ８２は、表示領域５６Ａのタッチセンサからの出力信号を監視し、表示領域５６Ａへのタッチ入力を検出したか否かを判定する。
【００８０】
ＣＰＵ８２は、表示領域５６Ａへのタッチ入力を検出した（すなわち、ＹＥＳ）と判定した場合、ステップＳ１２へ進む。一方、ＣＰＵ８２は、表示領域５６Ａへのタッチ入力を検出していない（すなわち、ＮＯ）と判定した場合、ステップＳ１９へ進む。
【００８１】
このように、本実施形態においては、ＣＰＵ８２は、ロボット動作ボタン５６の入力を検出する動作入力検出部１０６（図５）としての機能を担う。
【００８２】
ステップＳ１２において、ＣＰＵ８２は、計時を開始する。具体的には、ＣＰＵ８２は、計時部９０に指令を送り、ステップＳ１１でＹＥＳと判定した時点からの経過時間ｔを計時する。
【００８３】
ステップＳ１３において、ＣＰＵ８２は、計時部９０が経時している経過時間ｔが、予め定められた時間ｔｒに達したか否かを判定する。予め定められた時間ｔｒは、ユーザによって予め定められ（例えば、ｔｒ＝１秒）、システムメモリ８４に予め記憶される。
【００８４】
ＣＰＵ８２は、経過時間ｔが時間ｔｒに達した（すなわち、ＹＥＳ）と判定した場合、ステップＳ１５へ進む。一方、ＣＰＵ８２は、経過時間ｔが時間ｔｒに達していない（すなわち、ＮＯ）と判定した場合、ステップＳ１４へ進む。
【００８５】
ステップＳ１４において、ＣＰＵ８２は、ロボット動作ボタン５６の表示領域５６Ａへのタッチ入力を依然として検出しているか否かを判定する。ＣＰＵ８２は、タッチ入力を検出している（すなわち、ＹＥＳ）と判定した場合、ステップＳ１３へ戻る。一方、ＣＰＵ８２は、タッチ入力を検出していない（すなわち、ＮＯ）と判定した場合、ステップＳ１１へ戻る。
【００８６】
なお、ＣＰＵ８２は、ステップＳ１３およびＳ１４のループを、周期τ１（例えば、τ１＝０．２秒）で繰り返し実行してもよい。このように、ＣＰＵ８２は、表示領域５６Ａへのタッチ入力を、時間ｔｒ（１秒）に亘って継続的に検出したとき、ステップＳ１５へ進む。
【００８７】
ステップＳ１５において、ＣＰＵ８２は、動作指令のロボット制御部１４への送信を開始する。具体的には、ＣＰＵ８２は、ステップＳ５で生成した動作指令をシステムメモリ８４から読み出し、該動作指令を、Ｉ／Ｏインターフェース８８を通して、ロボット制御部１４へ順次送信する。
【００８８】
ロボット制御部１４は、ＣＰＵ８２から受信した動作指令を、ロボット１２のサーボモータへそれぞれ送信する。これにより、ロボット１２は、ステップＳ４で実行した仮想ジョグ動作と同じ動作を、実空間で実行する。
【００８９】
ステップＳ１６において、ＣＰＵ８２は、上述のステップＳ１４と同様に、ロボット動作ボタン５６の表示領域５６Ａへのタッチ入力を依然として検出しているか否かを判定する。ＣＰＵ８２は、タッチ入力を検出している（すなわち、ＹＥＳ）と判定した場合、ステップＳ１８へ進む。一方、ＣＰＵ８２は、表示領域５６Ａへのタッチ入力を検出していない（すなわち、ＮＯ）と判定した場合、ステップＳ１７へ進む。
【００９０】
ステップＳ１７において、ＣＰＵ８２は、動作指令のロボット制御部１４への送信を停止する。これにより、ロボット制御部１４は、ロボット１２の各サーボモータへの動作指令の送信を停止し、以って、実空間でのロボット１２の動作を停止する。そして、ＣＰＵ８２は、ステップＳ１１へ戻る。
【００９１】
ステップＳ１８において、ＣＰＵ８２は、動作指令の送信が完了したか否かを判定する。具体的には、ＣＰＵ８２は、ステップＳ５でシステムメモリ８４に記憶された動作指令を全て送信した場合、ＹＥＳと判定し、ステップＳ１９へ進む。一方、ＣＰＵ８２は、ステップＳ５でシステムメモリ８４に記憶された動作指令で未送信のものがある場合、ＮＯと判定し、ステップＳ１６へ戻る。
【００９２】
このように、本実施形態においては、ＣＰＵ８２は、ロボット動作ボタン５６の表示領域５６Ａへのタッチ入力を継続して検出している（すなわち、ステップＳ１６およびＳ１８をループしている）間だけ、ロボット１２を実空間で動作させる動作指令を、ロボット制御部１４へ出力している。
【００９３】
その一方で、ＣＰＵ８２は、表示領域５６Ａへのタッチ入力が検出されなくなった（すなわち、ステップＳ１６でＮＯと判定した）ときは、実空間でのロボット１２の動作を停止している（ステップＳ１７）。
【００９４】
したがって、本実施形態においては、ＣＰＵ８２は、ロボット動作ボタン５６の入力を継続して検出している間、仮想ジョグ動作と同じ動作を実空間でロボット１２に実行させる指令を出力する実機動作指令部１０８（図５）としての機能を担う。なお、ＣＰＵ８２は、ステップＳ１６およびＳ１８のループを、周期τ２（例えば、τ＝０．５秒）で繰り返し実行してもよい。
【００９５】
ステップＳ１９において、ＣＰＵ８２は、ユーザまたはロボット制御部１４から動作終了指令を受け付けたか否かを判定する。ＣＰＵ８２は、動作終了指令を受け付けた（すなわち、ＹＥＳ）と判定した場合、図８に示すステップＳ６を終了し、以って、図６に示すフローを終了する。
【００９６】
一方、ＣＰＵ８２は、動作終了指令を受け付けていない（すなわち、ＮＯ）と判定した場合、図６中のステップＳ３へ戻る。そして、ＣＰＵ８２は、ステップＳ１９でＹＥＳと判定するまで、ステップＳ３〜Ｓ６をループする。
【００９７】
こうして、ＣＰＵ８２は、第ｎのタッチ入力（ｎは２以上の整数）を検出する（ステップＳ３）毎に、該第ｎのタッチ入力に応じて第ｎの仮想ジョグ動作を実行する（ステップＳ４）。
【００９８】
そして、ＣＰＵ８２は、ステップＳ４を実行する毎に、第ｎの仮想ジョグ動作と同じ動作をロボット１２に実行させるための第ｎの動作指令を生成し（ステップＳ５）、システムメモリ８４に順次記憶していく。
【００９９】
このように、本実施形態によれば、ユーザが表示領域５６Ａにタッチ入力している間のみ、実空間のロボット１２が動作することになるので、ユーザが意図することなくロボット１２が実空間で動作してしまうのを、確実に防止することができる。
【０１００】
また、本実施形態においては、ユーザは、タッチ入力を繰り返し実行して、ロボットモデル６４を仮想空間７０内で連続的にジョグさせることができる。この構成によれば、ロボットモデル６４の仮想ジョグ動作を、より精細に行うことができる。
【０１０１】
また、本実施形態においては、ＣＰＵ８２は、状態取得部９４として機能して、実機のロボット１２の位置および姿勢を取得し（ステップＳ１）、モデル動作実行部１０２として機能して、取得した位置および姿勢に配置されたロボットモデル６４を動作している（ステップＳ４）。この構成によれば、実機のロボット１２と仮想空間７０内のロボットモデル６４とを同期させることができる。
【０１０２】
また、本実施形態においては、ＣＰＵ８２は、動作指令生成部１０４として機能して、実機のロボット１２に送信される動作指令を、操作装置８０の側で生成している。この構成によれば、操作装置８０でロボット１２を操作するときのロボット制御部１４の演算処理量を削減できるので、ロボット制御部１４のリソースに掛る負荷を軽減できる。
【０１０３】
次に、図９を参照して、さらに他の実施形態に係る操作装置１１０について説明する。操作装置１１０は、上述の操作装置５０と同様に、例えば手持ち式通信機器またはＰＣである。操作装置１１０は、上述の操作装置５０の代わりに、図１に示すロボットシステム１０に適用され、ロボット制御部１４に通信可能に接続され得る。
【０１０４】
操作装置１１０は、図５に示す操作装置８０と、タッチスクリーン５２’の構成において相違する。具体的には、タッチスクリーン５２’は、表示部およびタッチセンサ（ともに図示せず）に加えて、力検出部１１２を有する。
【０１０５】
力検出部１１２は、例えば歪ゲージまたは力覚センサを有し、ユーザがタッチスクリーン５２’の表面にタッチ入力したときに該表面に掛かる力Ｆを検出する。なお、力検出部１１２は、表示領域５６Ａのみに配設されてもよい。この場合、力検出部１１２は、表示領域５６Ａへのタッチ入力の力Ｆのみを検出する。
【０１０６】
または、力検出部１１２は、タッチスクリーン５２’の全域に配設されて、タッチスクリーン５２’の表面における任意の箇所へのタッチ入力の力Ｆを検出してもよい。ＣＰＵ８２は、力検出部１１２が検出した力Ｆに関する情報を取得し、システムメモリ８４に記憶する。
【０１０７】
次に、操作装置１１０の動作について説明する。操作装置１１０のＣＰＵ８２は、上述の操作装置８０と同様に、図６に示すフローを実行する。ここで、操作装置１１０の動作フローは、操作装置８０と、ステップＳ６において相違する。
【０１０８】
以下、図１０を参照して、本実施形態に係るステップＳ６のフローについて説明する。なお、図１０に示すフローにおいて、図８と同様のプロセスには同じステップ番号を付し、詳細な説明を省略する。
【０１０９】
ステップＳ１１でＹＥＳと判定したとき、ステップＳ３１において、ＣＰＵ８２は、力Ｆの検出を開始する。具体的には、ＣＰＵ８２は、力検出部１１２に力検出指令を送る。力検出部１１２は、該力検出指令を受信すると、表示領域５６Ａに掛かる力Ｆを周期的に検出し、検出した力Ｆに関する情報をＣＰＵ８２へ順次送信する。ＣＰＵ８２は、力検出部１１２から表示領域５６Ａへのタッチ入力の力Ｆを取得し、システムメモリ８４に順次記憶する。
【０１１０】
ステップＳ３２において、ＣＰＵ８２は、直近に取得した力Ｆが、予め定められた許容範囲内（［α，β］）であるか否かを判定する。予め定められた許容範囲［α，β］は、使用者によって予め定められ、システムメモリ８４に記憶される。
【０１１１】
ＣＰＵ８２は、直近に取得した力Ｆが許容範囲内（α≦Ｆ≦β）である場合、ＹＥＳと判定し、ステップＳ１２へ進む。一方、ＣＰＵ８２は、直近に取得した力Ｆが許容範囲外（Ｆ＜α、または、β＜Ｆ）である場合、ＮＯと判定し、ステップＳ１１へ戻る。
【０１１２】
ステップＳ１３でＮＯと判定したとき、ステップＳ３３において、ＣＰＵ８２は、ステップＳ３２と同様に、直近に取得した力Ｆが許容範囲内（［α，β］）であるか否かを判定する。
【０１１３】
ＣＰＵ８２は、α≦Ｆ≦βである（すなわち、ＹＥＳ）と判定した場合、ステップＳ１３へ戻る。一方、ＣＰＵ８２は、Ｆ＜αまたはβ＜Ｆである（すなわち、ＮＯ）と判定した場合、ステップＳ１１へ戻る。
【０１１４】
ステップＳ１５の後、または、ステップＳ１８でＮＯと判定したとき、ステップＳ３４において、ＣＰＵ８２は、ステップＳ３２と同様に、直近に取得した力Ｆが許容範囲内（［α，β］）であるか否かを判定する。
【０１１５】
ＣＰＵ８２は、α≦Ｆ≦βである（すなわち、ＹＥＳ）と判定した場合、ステップＳ１８へ進む。一方、ＣＰＵ８２は、Ｆ＜αまたはβ＜Ｆである（すなわち、ＮＯ）と判定した場合、ステップＳ１７へ進む。なお、ＣＰＵ８２は、ステップＳ３４およびＳ１８のループを、周期τ２（例えば、τ＝０．５秒）で繰り返し実行してもよい。
【０１１６】
本実施形態においては、ＣＰＵ８２は、表示領域５６Ａへのタッチ入力の力Ｆが許容範囲内にある間だけ、ロボット制御部１４へ動作指令を送信している。この構成によれば、実空間でロボット１２を動作させるためには、ユーザは、表示領域５６Ａを所定の力で押圧する必要がある。
【０１１７】
その一方で、仮にユーザが不意に表示領域５６Ａから指Ｆを離してしまった場合、または、ユーザが不意に表示領域５６Ａを強く押し込んでしまった場合は、実空間におけるロボット１２の動作が停止される。したがって、ユーザが意図することなくロボット１２が実空間で動作してしまうのを、さらに確実に防止することができる。
【０１１８】
次に、図１１を参照して、さらに他の実施形態に係る操作装置１２０について説明する。操作装置１２０は、上述の操作装置５０と、画像切替部１２２をさらに備える点で、相違する。
【０１１９】
画像切替部１２２は、タッチスクリーン５２の表面への、予め定められた種類のタッチ入力に応じて、ロボットモデル６４の画像を、該画像とは異なる方向から見たロボットモデル６４の第２画像に切り替える。
【０１２０】
この機能について、図１２および図１３を参照して説明する。図１２に示す例においては、タッチスクリーン５２は、画像１１４を表示する。画像１１４は、ロボット動作ボタン５６、仮想空間７０、プレビューボタン９８、および元に戻すボタン１００の画像に加えて、画像切替ボタン群１２４の画像を含む。
【０１２１】
画像切替ボタン群１２４は、第１画像切替ボタン１２４Ａ、第２画像切替ボタン１２４Ｂ、第３画像切替ボタン１２４Ｃ、第４画像切替ボタン１２４Ｄ、および第５画像切替ボタン１２４Ｅを含む。
【０１２２】
本実施形態においては、仮想空間７０に、方向の基準となる座標系ＣＶが設定されている。第１画像切替ボタン１２４Ａは、仮想空間７０内のロボットモデル６４の画像を、座標系ＣＶのｚ軸プラス方向から見た画像に切り替えるためのボタンである。
【０１２３】
第２画像切替ボタン１２４Ｂは、仮想空間７０内のロボットモデル６４の画像を、座標系ＣＶのｘ軸プラス方向から見た画像に切り替えるためのボタンである。第３画像切替ボタン１２４Ｃは、仮想空間７０内のロボットモデル６４の画像を、座標系ＣＶのｘ軸マイナス方向から見た画像に切り替えるためのボタンである。
【０１２４】
第４画像切替ボタン１２４Ｄは、仮想空間７０内のロボットモデル６４の画像を、座標系ＣＶのｙ軸マイナス方向から見た画像に切り替えるためのボタンである。第５画像切替ボタン１２４Ｅは、仮想空間７０内のロボットモデル６４の画像を、座標系ＣＶのｙ軸プラス方向から見た画像に切り替えるためのボタンである。
【０１２５】
なお、図１２に示す画像１１４は、仮想空間７０内のロボットモデル６４を、座標系ＣＶのｙ軸マイナス方向（すなわち、第４画像切替ボタン１２４Ｄで規定される方向）から見た画像を表している。
【０１２６】
例えば、ユーザは、タッチスクリーン５２が図１２に示すロボットモデル６４を表示しているときに、指Ｆで、始点Ａ１から終点Ａ１’まで、方向Ｂ１へ第１のスライドタッチ入力を実行する。
【０１２７】
モデル動作実行部５４は、該第１のスライドタッチ入力に応じて、ロボットモデル６４を、ロボットモデル６４’として示される位置および姿勢へ、方向Ｃ１へ仮想空間７０内で移動させる。これとともに、モデル動作実行部５４は、仮想空間７０におけるロボットモデル６４の各構成要素モデルの第１の仮想ジョグ経路を算出する。
【０１２８】
次いで、ユーザが、タッチスクリーン５２の表面における、第２画像切替ボタン１２４Ｂの表示領域をタッチしたとする。この場合、画像切替部１２２は、第２画像切替ボタン１２４Ｂへのタッチ入力を検出し、図１２に示す画像１１４を、図１３に示す画像１１４’に切り替える。
【０１２９】
図１３に示す画像１１４’は、仮想空間７０内のロボットモデル６４’を、図１２の画像１１４とは異なる、座標系ＣＶのｘ軸プラス方向から見た画像を表している。
【０１３０】
このように、画像切替部１２２は、第１画像切替ボタン１２４Ａ〜第５画像切替ボタン１２４Ｅのいずれかへのタッチ入力に応じて、ロボットモデル６４、６４’の画像（図１２）を、該画像とは異なる方向から見たロボットモデル６４、６４’の第２画像（図１３）に切り替える。
【０１３１】
図１３に示す画像１１４’に切り替えた後、ユーザは指Ｆで、始点Ａ２から終点Ａ２’まで、方向Ｂ２へ第２のスライドタッチ入力を実行する。
【０１３２】
モデル動作実行部５４は、該第２のスライドタッチ入力に応じて、ロボットモデル６４’を、ロボットモデル６４”として示される位置および姿勢へ、方向Ｃ２へ仮想空間７０内で移動させる。これとともに、モデル動作実行部５４は、仮想空間７０におけるロボットモデル６４の各構成要素モデルの第２の仮想ジョグ経路を算出する。
【０１３３】
このように、本実施形態においては、ユーザは、画像１１４に示される３次元のロボットモデル６４を様々な方向から視認しつつ、タッチ入力によってロボットモデル６４を仮想空間７０内で自在に動作させることができる。これにより、ユーザは、ロボットモデル６４を仮想的にジョグする動作を、より精細に行うことができる。
【０１３４】
なお、画像切替部１２２は、タッチスクリーン５２の表面における２つの異なる箇所を同時にタッチするダブルタッチ入力を検出したときに、ロボットモデル６４’の画像（図１２）を切り替えてもよい。
【０１３５】
この場合、ユーザは、２本の指でタッチスクリーン５２の表面を同時にタッチする。画像切替部１２２は、このようなダブルタッチ入力を検出したときに、ロボットモデル６４の画像を、例えばｙ軸プラス方向から見た画像（図１２）から、ｘ軸プラス方向から見た画像（図１３）に切り替えてもよい。
【０１３６】
この場合において、画像切替部１２２は、ユーザがダブルタッチ入力をする毎に、ロボットモデル６４の画像を、ｘ軸プラス方向から見た画像→ｘ軸マイナス方向から見た画像→ｙ軸プラス方向から見た画像→ｙ軸マイナス方向から見た画像・・・というように、予め定められた順序に従って切り替えてもよい。
【０１３７】
または、画像切替部１２２は、タッチスクリーン５２の表面の少なくとも１箇所を所定時間継続してタッチするタッチ入力を検出したときに、ロボットモデル６４の画像を切り替えてもよい。この所定時間は、ユーザによって予め定められる。
【０１３８】
または、画像切替部１２２は、タッチスクリーン５２へのタッチ入力の力が予め定められた閾値以上であることを検出したときに、ロボットモデル６４の画像を切り替えてもよい。
【０１３９】
例えば、図９に示す操作装置１１０に画像切替部１２２を適用する。この場合、操作装置１１０のＣＰＵ８２が、画像切替部１２２の機能を担う。力検出部１１２は、タッチスクリーン５２の表面における、表示領域５６Ａ以外の領域へのタッチ入力の力Ｆ’を検出する。
【０１４０】
そして、ＣＰＵ８２は、力Ｆ’が予め定められた閾値γ以上（Ｆ’≧γ）となったと判定したとき、画像切替部１２２として機能して、ロボットモデル６４の画像を、例えば、ｙ軸プラス方向から見た画像（図１２）から、ｘ軸プラス方向から見た画像（図１３）に切り替える。
【０１４１】
なお、上述の実施形態においては、ロボット動作ボタン５６が、画像としてタッチスクリーン５２、５２’に表示された場合について述べた。しかしながら、ロボット動作ボタン５６は、例えば機械的な押しボタンとして、タッチスクリーン５２、５２’とは別に操作装置５０、８０、１２０に設けられてもよい。
【０１４２】
この場合、ユーザは、ロボット１２を実空間で動作させるために、ロボット動作ボタン５６を押し続ける。動作入力検出部５８、１０６は、ロボット動作ボタン５６の入力を検出し、実機動作指令部６０、１０８は、動作入力検出部５８、１０６がロボット動作ボタン５６の入力を継続して検出している間、ロボット制御部１４へ指令（例えば、動作指令またはジョグ許可指令）を出力する。
【０１４３】
また、ロボット１２は、水平多関節ロボット、パラレルリンクロボット等でもよい。または、ロボット１２は、ローダであってもよい。
【０１４４】
また、ロボットモデル６４、６４’、６４”は、３次元に限らず、２次元のＣＧであってもよい。また、ロボットモデル６４、６４’、６４”は、必ずしも、図３等に示すような３次元ＣＡＤの画像でなくてもよく、より単純な線図等であってもよい。
【０１４５】
また、上述した種々の実施形態の特徴を組み合わせることもできる。例えば、図１１に示す画像切替部１２２を、操作装置５０、８０、１１０または１２０に適用してもよい。
【０１４６】
以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
【符号の説明】
【０１４７】
１０    ロボットシステム
１２    ロボット
１４    ロボット制御部
５０，８０，１１０，１２０    操作装置
５２，５２’    タッチスクリーン
５４，１０２    モデル動作実行部
５６    ロボット動作ボタン
５８，１０６    動作入力検出部
６０，１０８    実機動作指令部
【図１】
2018183845.tif 000003
【図２】
2018183845.tif 000004
【図３】
2018183845.tif 000005
【図４】
2018183845.tif 000006
【図５】
2018183845.tif 000007
【図６】
2018183845.tif 000008
【図７】
2018183845.tif 000009
【図８】
2018183845.tif 000010
【図９】
2018183845.tif 000011
【図１０】
2018183845.tif 000012
【図１１】
2018183845.tif 000013
【図１２】
2018183845.tif 000014
【図１３】
2018183845.tif 000015