(57)【要約】【課題】動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができるロボットシステムを提供すること。【解決手段】ロボットと、前記ロボットを制御するロボット制御装置と、前記ロボット制御装置に回線を介して接続された情報処理装置と、を備えるロボットシステムであって、前記情報処理装置は、ロボットを制御するロボット制御装置に回線を介して接続される情報処理装置であって、動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力し、前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、ロボットシステム。【選択図】図４
2019111588.tif 000002
【特許請求の範囲】
【請求項１】
ロボットと、
前記ロボットを制御するロボット制御装置と、
前記ロボット制御装置に回線を介して接続された情報処理装置と、
を備えるロボットシステムであって、
前記情報処理装置は、
ロボットを制御するロボット制御装置に回線を介して接続される情報処理装置であって、
動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力し、
前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、
ロボットシステム。
【請求項２】
前記情報処理装置は、
前記ロボット制御装置に前記回線を介して前記把持情報を出力し、前記ロボット制御装置に記憶された前記把持情報を更新する、
請求項１に記載のロボットシステム。
【請求項３】
前記情報処理装置は、
前記動作プログラムと前記把持情報とに基づく前記ロボットの動作を示す動作情報を取得し、取得した前記動作情報に応じた画像を表示する、
請求項１又は２に記載のロボットシステム。
【請求項４】
前記情報処理装置は、
前記ロボットの周囲に位置する物体の位置であって前記ロボット制御装置によって検出された位置を示す情報と当該物体に応じたオブジェクトを示す情報とが対応付けられた情報を前記ロボット制御装置から取得し、取得した当該位置を示す情報及び当該オブジェクトを示す情報と、予め記憶されたオブジェクトに関する情報であるオブジェクト情報とに基づいて、当該物体と前記ロボットとの相対的な位置関係を示す画像を表示する、
請求項１から３のうちいずれか一項に記載のロボットシステム。
【請求項５】
前記把持情報には、前記把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な姿勢を示す情報が含まれる、
請求項１から４のうちいずれか一項に記載のロボットシステム。
【請求項６】
前記把持情報には、前記ロボットに装着されたエンドエフェクターが備える指部の開閉量を示す情報が含まれる、
請求項１から５のうちいずれか一項に記載のロボットシステム。
【請求項７】
前記把持情報には、前記把持対象の位置及び姿勢を表す部位と、前記把持対象が有する部位のうち指定された部位との相対的な位置及び姿勢を示す情報が含まれる、
請求項１から６のうちいずれか一項に記載のロボットシステム。
【請求項８】
ロボットを制御するロボット制御装置に回線を介して接続される情報処理装置であって、
動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力し、
前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、
情報処理装置。
【請求項９】
ロボットを制御するロボット制御装置に回線を介して接続された情報処理装置のコンピューターに、
動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力させるプログラムであって、
前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、
プログラム。
【請求項１０】
ロボットを制御するロボット制御装置に回線を介して接続された情報処理装置であって、
プロセッサーを備え、
前記プロセッサーは、
動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力し、
前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボットシステム、情報処理装置、及びプログラムに関する。
【背景技術】
【０００２】
ロボットを制御するロボット制御装置に対して、ロボット制御する際にロボット制御装置が用いる各種の情報を教示する（記憶させる）技術の研究や開発が行われている。
【０００３】
これに関し、動作プログラムに従いロボットの動作を制御するロボットコントローラーに接続され、ロボットの動作姿勢を画面表示するシミュレーターを備え、当該動作プログラムの作成を支援するロボット動作教示支援装置が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１３６１２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このようなロボット動作教示支援装置では、ユーザーは、動作プログラムを変更しなければ、ロボットの動作を変更することができなかった。すなわち、当該ロボット動作教示支援装置では、ユーザーは、ロボットに行わせる作業に応じてロボットの動作を変更する必要がある場合、作業を変更する毎に動作プログラムの変更を行わなければならなかった。その結果、当該ロボット動作教示支援装置は、ロボットに作業を行わせる効率を向上させることが困難な場合があった。
【課題を解決するための手段】
【０００６】
上記課題を解決するために本発明の一態様は、ロボットと、前記ロボットを制御するロボット制御装置と、前記ロボット制御装置に回線を介して接続された情報処理装置と、を備えるロボットシステムであって、前記情報処理装置は、ロボットを制御するロボット制御装置に回線を介して接続される情報処理装置であって、動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力し、前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、ロボットシステムである。
これにより、ロボットシステムは、動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができる。
【０００７】
また、本発明の他の態様は、ロボットシステムにおいて、前記情報処理装置は、前記ロボット制御装置に前記回線を介して前記把持情報を出力し、前記ロボット制御装置に記憶された前記把持情報を更新する、構成が用いられてもよい。
これにより、ロボットシステムは、動作プログラムの変更を伴うことなく更新された把持情報に基づいて、ロボット制御装置にロボットを制御させることができる。
【０００８】
また、本発明の他の態様は、ロボットシステムにおいて、前記情報処理装置は、前記動作プログラムと前記把持情報とに基づく前記ロボットの動作を示す動作情報を取得し、取得した前記動作情報に応じた画像を表示する、構成が用いられてもよい。
これにより、ロボットシステムは、動作プログラムと把持情報とに基づいてロボット制御装置がロボットに行わせる動作を、ロボットを動作させる前に確認させることができる。
【０００９】
また、本発明の他の態様は、ロボットシステムにおいて、前記情報処理装置は、前記ロボットの周囲に位置する物体の位置であって前記ロボット制御装置によって検出された位置を示す情報と当該物体に応じたオブジェクトを示す情報とが対応付けられた情報を前記ロボット制御装置から取得し、取得した当該位置を示す情報及び当該オブジェクトを示す情報と、予め記憶されたオブジェクトに関する情報であるオブジェクト情報とに基づいて、当該物体と前記ロボットとの相対的な位置関係を示す画像を表示する、構成が用いられてもよい。
これにより、ロボットシステムは、ロボット制御装置に設定された位置のうちロボットの周囲に位置する物体のロボット座標系における位置を、ロボットを動作させる前に確認させることができる。
【００１０】
また、本発明の他の態様は、ロボットシステムにおいて、前記把持情報には、前記把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な姿勢を示す情報が含まれる、構成が用いられてもよい。
これにより、ロボットシステムは、対象物とロボットに装着されたエンドエフェクターとの相対的な位置及び姿勢を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
【００１１】
また、本発明の他の態様は、ロボットシステムにおいて、前記把持情報には、前記ロボットに装着されたエンドエフェクターが備える指部の開閉量を示す情報が含まれる、構成が用いられてもよい。
これにより、ロボットシステムは、ロボットに装着されたエンドエフェクターが備える指部の開閉量を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
【００１２】
また、本発明の他の態様は、ロボットシステムにおいて、前記把持情報には、前記把持対象の位置及び姿勢を表す部位と、前記把持対象が有する部位のうち指定された部位との相対的な位置及び姿勢を示す情報が含まれる、構成が用いられてもよい。
これにより、ロボットシステムは、把持対象の位置及び姿勢を表す部位と、把持対象が有する部位のうち指定された部位との相対的な位置及び姿勢を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
【００１３】
また、本発明の他の態様は、ロボットを制御するロボット制御装置に回線を介して接続される情報処理装置であって、動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力し、前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、情報処理装置である。これにより、情報処理装置は、動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができる。
【００１４】
また、本発明の他の態様は、ロボットを制御するロボット制御装置に回線を介して接続された情報処理装置のコンピューターに、動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力させるプログラムであって、前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、プログラムである。これにより、プログラムは、動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができる。
【００１５】
また、本発明の他の態様は、ロボットを制御するロボット制御装置に回線を介して接続された情報処理装置であって、プロセッサーを備え、前記プロセッサーは、動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力し、前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、情報処理装置である。これにより、情報処理装置は、動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができる。
【図面の簡単な説明】
【００１６】
【図１】実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】情報処理装置３０のハードウェア構成の一例を示す図である。
【図３】ロボット制御装置４０のハードウェア構成の一例を示す図である。
【図４】情報処理装置３０及びロボット制御装置４０それぞれの機能構成の一例を示す図である。
【図５】情報処理装置３０が行う情報編集処理の流れの一例を示す図である。
【図６】オブジェクト情報編集画像の一例を示す図である。
【図７】オブジェクト情報の一例を示す図である。
【図８】把持情報編集画像の一例を示す図である。
【図９】把持情報の一例を示す図である。
【図１０】ロボット制御装置４０が行う情報生成処理の流れの一例を示す図である。
【図１１】情報処理装置３０が行う情報表示処理の流れの一例を示す図である。
【図１２】周辺物体情報に応じた画像の一例を示す図である。
【図１３】経路情報に応じた画像の一例を示す図である。
【図１４】実施形態の変形例に係るロボットシステム１の一例を示す構成図である。
【発明を実施するための形態】
【００１７】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００１８】
＜ロボットシステムの概要＞
まず、本実施形態におけるロボットシステムの概要について説明する。
【００１９】
ロボットシステムは、ロボットと、ロボットを制御するロボット制御装置と、ロボット制御装置に回線を介して接続された情報処理装置と、を備える。また、情報処理装置は、動作プログラムに基づいてロボットを動作させるロボット制御装置の動作プログラムにより参照される把持情報を、ロボット制御装置に前記回線を介して出力する。また、把持情報には、ロボットにより把持される物体である把持対象と、ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる。これにより、ロボットシステムは、動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができる。また、これにより、ロボットシステムでは、ロボット制御装置とロボットとが通信可能に接続されていない状態であるオフライン状態であっても、情報処理装置が当該回線を介して把持情報をロボット制御装置に出力することができる。
【００２０】
以下では、ロボットシステムの構成と、ロボットシステムが行う処理について詳しく説明する。
【００２１】
＜ロボットシステムの構成＞
以下、図１を参照し、前述のロボットシステムの一例であるロボットシステム１の構成について説明する。
【００２２】
図１は、実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、ロボット２０と、情報処理装置３０を備える。また、ロボット２０は、ロボット制御装置４０を内蔵する。ロボット２０は、前述のロボットの一例である。なお、ロボットシステム１は、情報処理装置３０を備えない構成であってもよい。また、ロボット２０は、ロボット制御装置４０を内蔵する構成に代えて、外部に設置されたロボット制御装置４０により制御される構成であってもよい。この場合、ロボットシステム１は、ロボット２０と、ロボット制御装置４０を備える。また、ロボットシステム１は、ロボット２０と、情報処理装置３０との両方に加えて、ロボット２０と別体の撮像部等の他の装置を備える構成であってもよい。
【００２３】
ここで、以下では、説明の便宜上、図１に示したロボット座標系ＲＣにおけるＺ軸の正方向を上方向又は上と称し、当該Ｚ軸の負方向を下方向又は下と称して説明する。ロボット座標系ＲＣは、ロボット２０のロボット座標系のことである。また、以下では、一例として、ロボット座標系ＲＣにおけるＺ軸の負方向と重力方向とが一致している場合について説明する。なお、当該負方向と重力方向は、一致していない構成であってもよい。
【００２４】
ロボット２０は、第１アームＡ１と、第２アームＡ２と、第１アームＡ１及び第２アームＡ２を支持する支持台Ｂと、支持台Ｂの内側に備えられたロボット制御装置４０とを備える双腕ロボットである。なお、ロボット２０は、双腕ロボットに代えて、３本以上のアームを備える複腕ロボットであってもよく、１本のアームを備える単腕ロボットであってもよい。また、ロボット２０は、スカラ（水平多関節）ロボット、直交座標ロボット、円筒型ロボット等の他のロボットであってもよい。直交座標ロボットは、例えば、ガントリロボットである。
【００２５】
支持台Ｂは、ロボット２０がある面に設置された場合において当該面に直交する方向に沿って２つの部分に分割されている。以下では、説明の便宜上、ロボット２０が設置される当該面を設置面と称して説明する。また、以下では、一例として、設置面が図１に示したロボット座標系ＲＣにおけるＸ軸及びＹ軸によって張られる面であるＸＹ平面と平行、すなわち、ロボット座標系ＲＣにおけるＺ軸と直交している場合について説明する。なお、設置面は、ＸＹ平面と非平行、すなわち、当該Ｚ軸と直交していなくてもよい。また、支持台Ｂは、分割されていない構成であってもよく、３つ以上の部分に分割されている構成であってもよい。当該２つの部分のうち設置面から遠い方の部分は、当該２つの部分のうち設置面から近い方の部分に対して回動可能である。当該遠い方の部分が回動する場合の回動面は、例えば、設置面に対して平行である。なお、当該回動面は、設置面に対して非平行であってもよい。
【００２６】
第１アームＡ１は、第１エンドエフェクターＥ１と、第１マニピュレーターＭ１と、第１力検出部Ｓ１を備える。
【００２７】
第１エンドエフェクターＥ１は、物体を保持するエンドエフェクターである。この一例において、第１エンドエフェクターＥ１は、指部を備え、当該指部によって物体を挟んで持つことにより当該物体を保持する。なお、第１エンドエフェクターＥ１は、これに代えて、空気の吸引、磁力、他の治具等によって物体を持ち上げることにより当該物体を保持する構成であってもよい。なお、この一例において、保持するとは、物体の状態を持ち上げることが可能な状態にすることを意味する。
【００２８】
第１マニピュレーターＭ１は、７つの関節と、第１撮像部Ｃ１を備える。また、当該７つの関節のそれぞれは、図示しないアクチュエーターを備える。すなわち、第１マニピュレーターＭ１を備える第１アームＡ１は、７軸垂直多関節型のアームである。第１アームＡ１は、支持台Ｂと、第１エンドエフェクターＥ１と、第１マニピュレーターＭ１と、当該７つの関節それぞれのアクチュエーターとによる連携した動作によって７軸の自由度の動作を行う。なお、第１アームＡ１は、６軸以下の自由度で動作する構成であってもよく、８軸以上の自由度で動作する構成であってもよい。
【００２９】
第１アームＡ１が７軸の自由度で動作する場合、第１アームＡ１は、６軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これにより第１アームＡ１は、例えば、動作が滑らかになり、更に第１アームＡ１の周辺に存在する物体との干渉を容易に回避することができる。また、第１アームＡ１が７軸の自由度で動作する場合、第１アームＡ１の制御は、第１アームＡ１が８軸以上の自由度で動作する場合と比較して計算量が少なく容易である。
【００３０】
第１撮像部Ｃ１は、例えば、集光された光を電気信号に変換する撮像素子として、ＣＣＤ（Charge  Coupled  Device）、ＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。この一例において、第１撮像部Ｃ１は、第１マニピュレーターＭ１の一部に備えられる。このため、第１撮像部Ｃ１は、第１マニピュレーターＭ１の動きに応じて移動する。すなわち、第１撮像部Ｃ１が撮像可能な範囲は、第１アームＡ１の動きに応じて変化する。
【００３１】
第１力検出部Ｓ１は、第１エンドエフェクターＥ１と第１マニピュレーターＭ１の間に備えられる。第１力検出部Ｓ１は、例えば、力センサーである。第１力検出部Ｓ１は、第１エンドエフェクターＥ１に作用した外力、又は第１エンドエフェクターＥ１により保持された物体に作用した外力を検出する。なお、第１力検出部Ｓ１は、第１エンドエフェクターＥ１に作用した外力、又は第１エンドエフェクターＥ１により保持された物体に作用した外力を検出するトルクセンサーであってもよい。
【００３２】
第２アームＡ２は、第１アームＡ１の構成と同様の構成を有する。すなわち、第２エンドエフェクターＥ２は、第１エンドエフェクターＥ１の構成と同様の構成を有する。また、第２マニピュレーターＭ２は、第１マニピュレーターＭ１の構成と同様の構成を有する。また、第２マニピュレーターＭ２は、第２撮像部Ｃ２を備える。第２撮像部Ｃ２は、第１撮像部Ｃ１の構成と同様の構成を有する。また、第２力検出部Ｓ２は、第１力検出部Ｓ１の構成と同様の構成を有する。
【００３３】
なお、第２アームＡ２は、第１アームＡ１の構成と異なる構成であってもよい。すなわち、第２エンドエフェクターＥ２は、第１エンドエフェクターＥ１の構成と異なる構成であってもよい。また、第２マニピュレーターＭ２は、第１マニピュレーターＭ１の構成と異なる構成であってもよい。また、第２撮像部Ｃ２は、第１撮像部Ｃ１の構成と異なる構成であってもよい。また、第２力検出部Ｓ２は、第１力検出部Ｓ１の構成と異なる構成であってもよい。
【００３４】
また、ロボット２０は、第３撮像部Ｃ３と、第４撮像部Ｃ４を備える。
【００３５】
第３撮像部Ｃ３は、例えば、集光された光を電気信号に変換する撮像素子として、ＣＣＤ、ＣＭＯＳ等を備えたカメラである。第３撮像部Ｃ３は、第４撮像部Ｃ４が撮像可能な範囲を第４撮像部Ｃ４とともにステレオ撮像可能な部位に備えられる。
【００３６】
第４撮像部Ｃ４は、例えば、集光された光を電気信号に変換する撮像素子として、ＣＣＤ、ＣＭＯＳ等を備えたカメラである。第４撮像部Ｃ４は、第３撮像部Ｃ３が撮像可能な範囲を第３撮像部Ｃ３とともにステレオ撮像可能な部位に備えられる。
【００３７】
上記において説明したロボット２０が備える各機能部（すなわち、第１エンドエフェクターＥ１、第２エンドエフェクターＥ２、第１マニピュレーターＭ１、第２マニピュレーターＭ２、第１撮像部Ｃ１〜第４撮像部Ｃ４、第１力検出部Ｓ１、第２力検出部Ｓ２）のそれぞれは、ケーブルによってロボット制御装置４０と通信可能に接続されている。これにより、当該各機能部のそれぞれは、ロボット制御装置４０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）、ＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。また、当該各機能部のうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置４０と接続される構成であってもよい。なお、ロボット２０は、第１撮像部Ｃ１、第２撮像部Ｃ２、第３撮像部Ｃ３、第４撮像部Ｃ４のうちの一部又は全部を備えない構成であってもよい。
【００３８】
ロボット制御装置４０は、ロボット２０を制御する。ここで、以下では、一例として、ロボット制御装置４０による第１アームＡ１の制御方法と、ロボット制御装置４０による第２アームＡ２の制御方法とが、互いに同じ方法である場合について説明する。このため、以下では、ロボット制御装置４０による第１アームの制御方法を例に挙げて、ロボット制御装置４０によるロボット２０の制御について説明する。なお、ロボット制御装置４０による第１アームＡ１の制御方法と、ロボット制御装置４０による第２アームＡ２の制御方法とは、一部又は全部が互いに異なる構成であってもよい。
【００３９】
ロボット制御装置４０は、制御点Ｔ１を、第１アームＡ１の予め決められた部位に設定する。制御点Ｔ１は、当該部位とともに動く仮想的な点のことである。例えば、制御点Ｔ１は、第１アームＡ１についてのＴＣＰ（Tool  Center  Point）である。なお、制御点Ｔ１は、当該ＴＣＰに代えて、当該部位とともに動く他の仮想的な点であってもよい。当該予め決められた部位は、例えば、第１エンドエフェクターＥ１の重心である。すなわち、制御点Ｔ１は、第１エンドエフェクターＥ１とともに動く。なお、当該予め決められた部位は、当該重心に代えて、第１アームＡ１に応じた他の部位であってもよい。なお、図１に示した制御点Ｔ２は、第２アームＡ２の予め決められた部位にロボット制御装置４０によって設定されたＴＣＰを示す。
【００４０】
制御点Ｔ１には、制御点Ｔ１とともに動く三次元直交座標系である制御点座標系が対応付けられている。制御点Ｔ１の位置は、制御点座標系の原点のロボット座標系ＲＣにおける位置によって表される。また、制御点Ｔ１の姿勢は、制御点座標系における各座標軸のロボット座標系ＲＣにおける方向によって表される。ここで、以下では、一例として、制御点Ｔ１の位置及び姿勢が、第１エンドエフェクターＥ１の位置及び姿勢を表す場合について説明する。なお、制御点Ｔ１の位置及び姿勢は、第１エンドエフェクターＥ１の位置及び姿勢を表さない構成であってもよい。
【００４１】
ロボット制御装置４０は、後述する情報処理装置３０を介してユーザーにより予め記憶されたオブジェクト情報と、予め記憶された物体位置姿勢情報とに基づいて、周辺物体情報を生成する。また、ロボット制御装置４０は、情報処理装置３０を介してユーザーにより予め記憶された動作プログラム、教示点情報、オブジェクト情報、把持情報のそれぞれと、生成した周辺物体情報とに基づく経路を生成する。ロボット制御装置４０は、生成した経路に沿って制御点Ｔ１が動くように第１アームＡ１を動作させる。なお、物体位置姿勢情報は、動作プログラムと、教示点情報と、オブジェクト情報と、把持情報とのそれぞれとともに、情報処理装置３０を介してユーザーにより予め記憶される構成であってもよい。
【００４２】
ここで、オブジェクト情報は、オブジェクトに関する情報のことである。オブジェクトは、この一例において、ロボット２０の周囲に位置する物体（例えば、ロボット２０が把持する物体である把持対象、ロボット２０の動作において障害となる物体である障害物、ロボット２０が作業において用いる電導ドライバー等のツール）に応じた形状及び大きさを有する仮想的な物体のことである。また、オブジェクトは、情報処理装置３０により生成される当該仮想的な物体のことである。オブジェクト情報には、オブジェクト識別情報と、オブジェクト名称情報と、オブジェクト関連情報とが含まれる。ここで、ロボット２０の周囲は、第１エンドエフェクターＥ１と第２エンドエフェクターＥ２との少なくとも一方が届く範囲内のことである。なお、オブジェクト情報には、オブジェクト識別情報と、オブジェクト名称情報と、オブジェクト関連情報とに加えて、オブジェクトに関する他の情報が含まれる構成であってもよい。
【００４３】
オブジェクト識別情報は、例えば、オブジェクトに対して重複しないように割り当てられたＩＤ（IDentification）である。なお、オブジェクト識別情報は、当該ＩＤに代えて、オブジェクトを識別でき、オブジェクトに対して重複しないように割り当てられる他の情報であってもよい。オブジェクト名称情報は、オブジェクト識別情報によって識別されたオブジェクトを示す名称であって情報処理装置３０を介してユーザーにより当該オブジェクトに割り当てられた名称を示す情報のことである。オブジェクト関連情報には、オブジェクト識別情報によって識別されたオブジェクトの形状を示す形状情報と、当該オブジェクトの大きさ（例えば、各種の寸法）を示す大きさ情報と、当該オブジェクトに対応付けられたオブジェクト座標系を示すオブジェクト座標系情報とが含まれる。なお、オブジェクト関連情報には、形状情報と、大きさ情報と、オブジェクト座標系情報とに加えて、オブジェクトに関連する他の情報が含まれる構成であってもよい。
【００４４】
あるオブジェクトに対応付けられたオブジェクト座標系は、当該オブジェクトの予め決められた部位であって情報処理装置３０を介してユーザーにより指定された部位に対応付けられ、当該部位とともに動く三次元直交座標系のことである。当該オブジェクトの位置は、オブジェクト座標系の原点のロボット座標系ＲＣにおける位置によって表される。オブジェクトの姿勢は、オブジェクト座標系における各座標軸のロボット座標系ＲＣにおける方向によって表される。
【００４５】
物体位置姿勢情報は、ロボット２０の周囲に位置する１以上の物体のそれぞれについて、物体を識別する情報である物体識別情報と、物体の位置及び姿勢を示す情報とが対応付けられた情報のことである。物体識別情報は、ロボット２０の周囲に位置する物体に対して重複しないように割り当てられたＩＤである。なお、物体識別情報は、当該ＩＤに代えて、当該物体を識別でき、当該物体に対して重複しないように割り当てられる他の情報であってもよい。また、当該物体の位置及び姿勢を示す情報は、ロボット２０が備える第１撮像部Ｃ１〜第４撮像部Ｃ４のうちの一部又は全部によって撮像された撮像画像に基づいてロボット制御装置４０が検出した位置及び姿勢であって当該物体のロボット座標系ＲＣにおける位置及び姿勢を示す情報であってもよく、ダイレクトティーチング等によってロボット制御装置４０が検出した位置及び姿勢であって当該物体のロボット座標系ＲＣにおける位置及び姿勢を示す情報であってもよく、他の方法によってロボット制御装置４０が検出した位置及び姿勢であって当該物体のロボット座標系ＲＣにおける位置及び姿勢を示す情報であってもよい。なお、以下では、一例として、ロボット制御装置４０が、当該物体の重心の位置及び姿勢を、当該物体の位置及び姿勢として検出する場合について説明する。当該重心は、当該物体の位置及び姿勢を表す部位の一例である。ここで、当該部位は、当該重心に代えて、当該物体に応じた他の部位であってもよい。また、以下では、一例として、ロボット制御装置４０には、物体位置姿勢情報が予め記憶されている場合について説明する。なお、物体位置姿勢情報は、物体識別情報と、物体の位置及び姿勢を示す情報とに加えて、他の情報が対応付けられた情報であってもよい。
【００４６】
周辺物体情報は、ロボット２０の周囲に位置する１以上の物体のそれぞれについて、物体の物体位置姿勢情報と、物体に応じたオブジェクトに関するオブジェクト情報に含まれるオブジェクト識別情報とが対応付けられた情報のことである。換言すると、周辺物体情報は、ロボット２０の周囲に位置する１以上の物体のそれぞれに応じたオブジェクトを示す情報のことである。また、周辺物体情報は、当該オブジェクトのロボット座標系ＲＣにおける位置及び姿勢を、当該オブジェクトに応じた物体の位置及び姿勢によって示す情報のことである。なお、周辺物体情報には、物体位置姿勢情報と、オブジェクト識別情報とに加えて、他の情報が対応付けられた情報であってもよい。
【００４７】
教示点情報は、教示点を示す情報のことである。教示点は、ロボット制御装置４０が第１アームＡ１を動作させて制御点Ｔ１を一致させる目標となる仮想的な点のことである。教示点には、教示点の位置を示す情報である教示点位置情報と、教示点の姿勢を示す情報である教示点姿勢情報とが対応付けられている。ロボット２０がある教示点に制御点Ｔ１を一致させた場合、制御点Ｔ１の位置（すなわち、この一例における第１エンドエフェクターＥ１の位置）は、当該教示点の位置と一致する。また、当該場合、制御点Ｔ１の姿勢（すなわち、この一例における第１エンドエフェクターＥ１の姿勢）は、当該教示点の姿勢と一致する。
【００４８】
把持情報は、前述の把持対象と、ロボット２０に装着された第１エンドエフェクターＥ１との相対的な位置を示す相対位置情報を含む情報のことである。なお、把持情報には、相対位置情報に加えて、他の情報が対応付けられた情報であってもよい。以下では、一例として、把持情報が、前述のオブジェクト識別情報及びオブジェクト名称情報と、相対位置情報と、相対姿勢情報と、開閉量情報と、ツール座標系情報とが対応付けられた情報である場合について説明する。把持情報に含まれるオブジェクト識別情報は、把持対象に応じたオブジェクトのオブジェクト識別情報である。把持情報に含まれるオブジェクト名称情報は、把持対象に応じたオブジェクトのオブジェクト名称情報である。相対姿勢情報は、把持対象と第１エンドエフェクターＥ１との相対的な姿勢を示す情報のことである。また、開閉量情報は、第１エンドエフェクターＥ１が備える指部の開閉量のうち第１エンドエフェクターＥ１に把持対象を把持させる場合における開閉量を示す情報のことである。ここで、当該指部の開閉量は、第１エンドエフェクターＥ１が備える複数の指部それぞれの先端同士の間の距離を表す量であれば、如何なる量であってもよい。また、ツール座標系情報は、ツール座標系を示す情報のことである。ツール座標系は、第１エンドエフェクターＥ１により把持された把持対象に対応付けられる三次元直交座標系であって、当該把持対象が有する部位のうちユーザーが所望する部位のロボット座標系ＲＣにおける位置及び姿勢を示す三次元直交座標系のことである。また、ツール座標系は、把持対象とともに動く。このため、ツール座標系情報は、把持対象と当該部位との相対的な位置及び姿勢を示す情報であると換言することができる。ここで、当該部位は、指定された部位の一例である。例えば、当該把持対象が電動ドライバーである場合、ツール座標系は、電動ドライバーの先端のロボット座標系ＲＣにおける位置及び姿勢を表すために当該先端に対応付けられる。なお、把持情報は、オブジェクト識別情報と、オブジェクト名称情報と、相対姿勢情報と、開閉量情報と、ツール座標系情報との一部又は全部を含まない構成であってもよく、オブジェクト識別情報と、オブジェクト名称情報と、相対姿勢情報と、開閉量情報と、ツール座標系情報の一部又は全部に代えて、他の情報を相対位置情報とともに含む構成であってもよく、オブジェクト識別情報と、オブジェクト名称情報と、相対位置情報と、相対姿勢情報と、開閉量情報と、ツール座標系情報との全部に加えて、他の情報を含む構成であってもよい。
【００４９】
また、ロボット制御装置４０は、第１力検出部Ｓ１が検出した結果を示す情報を第１力検出部Ｓ１から取得し、取得した当該情報に基づく力制御によって第１アームＡ１を動作させる。当該力制御は、インピーダンス制御等のコンプライアントモーション制御のことである。
【００５０】
ロボット制御装置４０は、上記において説明した処理によって第１アームＡ１を動作させる。また、ロボット制御装置４０は、当該処理と同様の処理によって第２アームＡ２を動作させる。そして、ロボット制御装置４０は、第１アームＡ１と第２アームＡ２との少なくとも一方を動作させ、ロボット２０に所定の作業を行わせる。所定の作業は、如何なる作業であってもよい。なお、ロボット制御装置４０は、当該処理に加えて、他の処理によって第１アームＡ１と第２アームＡ２との少なくとも一方を動作させる構成であってもよい。
【００５１】
情報処理装置３０は、例えば、ノートＰＣ（Personal  Computer）、タブレットＰＣ、デスクトップＰＣ、ワークステーション、多機能携帯電話端末（スマートフォン）、携帯電話端末、ＰＤＡ（Personal  Digital  Assistant）等の情報処理装置である。なお、情報処理装置３０は、ティーチングペンダントであってもよい。
【００５２】
情報処理装置３０は、ユーザーから受け付けた操作に応じて、動作プログラム、教示点情報、オブジェクト情報、把持情報等の各種の情報を生成する。そして、情報処理装置３０は、生成した情報を、ロボット制御装置４０に出力して記憶させる（ロボット制御装置４０に教示する）。ここで、情報処理装置３０は、ロボット制御装置４０がオフライン状態である場合であっても、生成した情報を、ロボット制御装置４０に出力して記憶させることができる。
【００５３】
情報処理装置３０は、ケーブルによって通信可能にロボット制御装置４０と接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）、ＵＳＢ等の規格によって行われる。ここで、情報処理装置３０とロボット制御装置４０とを繋ぐケーブルは、情報処理装置３０とロボット制御装置４０とを通信可能に接続する回線のうちの有線による回線の一例である。なお、情報処理装置３０は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置４０と接続される構成であってもよい。この場合、例えば、Ｗｉ−Ｆｉ（登録商標）は、情報処理装置３０とロボット制御装置４０との間を通信可能に接続する回線のうちの無線による回線の一例である。
【００５４】
＜情報処理装置のハードウェア構成＞
以下、図２を参照し、情報処理装置３０のハードウェア構成について説明する。図２は、情報処理装置３０のハードウェア構成の一例を示す図である。
【００５５】
情報処理装置３０は、例えば、プロセッサー３１と、メモリー３２と、入力受付部３３と、通信部３４と、表示部３５を備える。また、情報処理装置３０は、通信部３４を介してロボット制御装置４０と通信を行う。これらの構成要素は、バスを介して相互に通信可能に接続されている。
【００５６】
プロセッサー３１は、例えば、ＣＰＵ（Central  Processing  Unit）である。なお、プロセッサー３１は、ＣＰＵに代えて、ＦＰＧＡ（Field  Programmable  Gate  Array）等の他のプロセッサーであってもよい。プロセッサー３１は、メモリー３２に格納された各種のプログラムを実行する。なお、プロセッサー３１は、１つの情報処理装置（この一例において、情報処理装置３０）が備えるＣＰＵによって構成されてもよく、複数の情報処理装置が備えるＣＰＵによって構成されてもよい。
【００５７】
メモリー３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、メモリー３２は、情報処理装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。メモリー３２は、情報処理装置３０が処理する各種の情報、各種の画像、動作プログラム等を格納する。なお、メモリー３２は、１つの記憶装置によって構成されてもよく、複数の記憶装置によって構成されてもよい。また、当該複数の記憶装置には、情報処理装置３０と別体の情報処理装置が備える記憶装置が含まれる構成であってもよい。
【００５８】
入力受付部３３は、キーボード、マウス、タッチパッド等の入力装置である。なお、入力受付部３３は、表示部３５と一体に構成されたタッチパネルであってもよい。
【００５９】
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
【００６０】
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００６１】
＜ロボット制御装置のハードウェア構成＞
以下、図３を参照し、ロボット制御装置４０のハードウェア構成について説明する。図３は、ロボット制御装置４０のハードウェア構成の一例を示す図である。
【００６２】
ロボット制御装置４０は、例えば、プロセッサー４１と、メモリー４２と、通信部４４を備える。また、ロボット制御装置４０は、通信部４４を介して情報処理装置３０と通信を行う。これらの構成要素は、バスを介して相互に通信可能に接続されている。
【００６３】
プロセッサー４１の構成は、プロセッサー３１の構成と同様の構成であるため、説明を省略する。
【００６４】
メモリー４２の構成は、メモリー３２の構成と同様の構成であるため、説明を省略する。
【００６５】
通信部４４の構成は、通信部３４の構成と同様の構成であるため、説明を省略する。
【００６６】
なお、ロボット制御装置４０は、キーボード、マウス、タッチパッド等の入力装置と、ディスプレイを有する表示装置とのいずれか一方又は両方を備える構成であってもよい。
【００６７】
＜ロボット制御装置の機能構成＞
以下、図４を参照し、情報処理装置３０及びロボット制御装置４０それぞれの機能構成について説明する。図４は、情報処理装置３０及びロボット制御装置４０それぞれの機能構成の一例を示す図である。
【００６８】
情報処理装置３０は、メモリー３２と、入力受付部３３と、通信部３４と、表示部３５と、制御部３６を備える。
【００６９】
制御部３６は、情報処理装置３０の全体を制御する。制御部３６は、表示制御部３６１と、処理部３６３と、通信制御部３６５を備える。制御部３６が備えるこれらの機能部は、例えば、プロセッサー３１が、メモリー３２に記憶された各種の指令（例えば、プログラム、プログラムに含まれる各コマンド等）を実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩ（Large  Scale  Integration）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００７０】
表示制御部３６１は、ユーザーから受け付けた操作に応じて、各種の画像を生成する。表示制御部３６１は、生成した画像を表示部３５に表示させる。
【００７１】
処理部３６３は、表示部３５に表示された画像を介してユーザーから受け付けた操作に応じた処理を行う。
【００７２】
通信制御部３６５は、通信部３４を介したロボット制御装置４０との通信を制御する。
【００７３】
ロボット制御装置４０は、メモリー４２と、通信部４４と、制御部４６を備える。
【００７４】
制御部４６は、ロボット制御装置４０の全体を制御する。制御部４６は、プログラム処理部４６１と、経路生成部４６３と、通信制御部４６５と、ロボット制御部４６７を備える。制御部４６が備えるこれらの機能部は、例えば、プロセッサー４１が、メモリー４２に記憶された各種の指令（例えば、プログラム、プログラムに含まれる各コマンド等）を実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩ、ＡＳＩＣ等のハードウェア機能部であってもよい。
【００７５】
プログラム処理部４６１は、第１アームＡ１の制御において、メモリー４２に記憶された動作プログラムをメモリー４２から読み出す。プログラム処理部４６１は、読み出した動作プログラムに基づいて、教示点情報が記憶されたメモリー４２から、動作プログラムによって指定された１以上の教示点のそれぞれを示す教示点情報を読み出す。プログラム処理部４６１は、読み出した教示点情報を経路生成部４６３に出力する。また、プログラム処理部４６１は、第２アームＡ２の制御において、第１アームの制御において行う処理と同様の処理を行う。
【００７６】
経路生成部４６３は、メモリー４２に記憶されたオブジェクト情報をメモリー４２から読み出す。また、経路生成部４６３は、メモリー４２に記憶された物体位置姿勢情報をメモリー４２から読み出す。経路生成部４６３は、読み出したオブジェクト情報及び物体位置姿勢情報に基づいて、周辺物体情報を生成する。経路生成部４６３は、生成した周辺物体情報をメモリー４２に記憶させる。また、経路生成部４６３は、第１アームＡ１の制御において、プログラム処理部４６１から教示点情報を取得する。また、経路生成部４６３は、当該制御において、メモリー４２に記憶されたオブジェクト情報、周辺物体情報、把持情報のそれぞれをメモリー４２から読み出す。経路生成部４６３は、取得した教示点情報と、読み出したオブジェクト情報、周辺物体情報、把持情報のそれぞれとに基づいて、現在の制御点Ｔ１の位置及び姿勢を当該教示点情報が示す教示点の位置及び姿勢と一致させるまでに制御点Ｔ１を通過させる経路を生成する。経路生成部４６３は、生成した経路を示す経路情報をメモリー４２に記憶させる。また、経路生成部４６３は、第２アームの制御において、第１アームの制御において行う処理と同様の処理を行う。
【００７７】
通信制御部４６５は、通信部４４を介した情報処理装置３０との通信を制御する。
【００７８】
ロボット制御部４６７は、第１アームＡ１の制御において、メモリー４２に記憶された経路情報をメモリー４２から読み出す。ロボット制御部４６７は、読み出した経路情報に基づいて、当該経路情報が示す経路上の各点における回動角であって第１アームＡ１が備える各関節の回動角を算出し、算出した回動角に基づいて第１アームＡ１を動かし、制御点Ｔ１を第１経路に沿って移動させる。また、ロボット制御部４６７は、第２アームＡ２の制御において、第１アームの制御において行う処理と同様の処理を行う。
【００７９】
＜情報処理装置が行う情報編集処理＞
以下、図５を参照し、情報処理装置３０が行う情報編集処理について説明する。図５は、情報処理装置３０が行う情報編集処理の流れの一例を示す図である。情報編集処理は、情報処理装置３０が行う処理のうち、ユーザーから受け付けた操作に応じて各種の情報（例えば、オブジェクト情報、把持情報、教示点情報、動作プログラム等）の編集（例えば、生成、変更、出力等）を行う処理のことである。
【００８０】
表示制御部３６１は、情報編集処理を開始する操作をユーザーから受け付けるまで待機する（ステップＳ１１０）。表示制御部３６１は、例えば、表示制御部３６１によって表示部３５に予め表示された図示しない操作画像を介してユーザーから当該操作を受け付ける。
【００８１】
情報編集処理を開始する操作をユーザーから受け付けた場合（ステップＳ１１０−ＹＥＳ）、表示制御部３６１は、図示しない情報編集画像を生成する。そして、表示制御部３６１は、生成した情報編集画像を表示部３５に表示させる（ステップＳ１２０）。情報編集画像は、各種の情報の編集（例えば、生成、変更、出力等）を行う操作をユーザーから情報処理装置３０が受け付ける画像のことである。また、情報編集画像は、複数のタブを有する。表示制御部３６１は、情報編集画像において、当該複数のタブのうちのいずれかをユーザーが選択する操作を受け付けた場合、受け付けた操作によって選択されたタブに応じた画像を表示部３５に表示させる。当該複数のタブには、例えば、オブジェクト情報編集画像に応じたタブと、把持情報編集画像に応じたタブと、教示点情報編集画像に応じたタブと、動作プログラム編集画像に応じたタブとのそれぞれが含まれている。なお、当該タブには、他の画像に応じたタブが含まれる構成であってもよい。また、情報編集画像の構成は、当該複数のタブが含まれる画像であれば、如何なるＧＵＩ（Graphical  User  Interface）を含む画像であってもよい。このため、情報編集画像については、これ以上の説明を省略する。
【００８２】
オブジェクト情報編集画像は、オブジェクト情報の編集（例えば、生成、変更、出力等）を行う操作をユーザーから情報処理装置３０が受け付ける画像のことである。また、把持情報編集画像は、把持情報の編集（例えば、生成、変更、出力等）を行う操作をユーザーから情報処理装置３０が受け付ける画像のことである。また、教示点情報編集画像は、教示点情報の編集（例えば、生成、変更、出力等）を行う操作をユーザーから情報処理装置３０が受け付ける画像のことである。また、動作プログラム編集画像は、動作プログラムの編集（例えば、生成、変更、出力等）を行う操作をユーザーから情報処理装置３０が受け付ける画像のことである。
【００８３】
ステップＳ１２０の処理が行われた後、処理部３６３は、情報編集画像を介してユーザーから操作を受け付けるまで待機する（ステップＳ１３０）。情報編集画像を介してユーザーから操作を受け付けたと判定した場合（ステップＳ１３０−ＹＥＳ）、処理部３６３は、受け付けた操作が、情報編集画像における各種の情報（例えば、動作プログラム、オブジェクト情報、把持情報等）の編集（例えば、生成、変更、出力等）を行う操作を終了させる編集終了操作であるか否か判定する（ステップＳ１４０）。ステップＳ１３０において受け付けた操作が編集終了操作ではないと判定した場合（ステップＳ１４０−ＮＯ）、処理部３６３は、当該操作に応じた処理（例えば、オブジェクト情報の編集を行う処理、把持情報の編集を行う処理、教示点情報の編集を行う処理、動作プログラムの編集を行う処理等）を行い（ステップＳ１５０）、その後、ステップＳ１３０に遷移し、情報編集画像を介してユーザーから操作を受け付けるまで再び待機する。一方、ステップＳ１４０において受け付けた操作が編集終了操作であると判定した場合（ステップＳ１４０−ＹＥＳ）、処理部３６３は、表示部３５における情報編集画像の表示を削除し、処理を終了する。
【００８４】
＜オブジェクト情報編集画像＞
以下、図６を参照し、オブジェクト情報編集画像と、オブジェクト情報編集画像における情報処理装置３０の処理とのそれぞれについて説明する。図６は、オブジェクト情報編集画像の一例を示す図である。図６に示した画像Ｐ１は、オブジェクト編集画像の一例である。画像Ｐ１は、例えば、領域ＶＳと、ユーザーから操作を受け付ける各種のＧＵＩ（Graphical  User  Interface）が配置された操作領域である図示しない第１操作領域（図６に示した例では、画像Ｐ１が有する領域のうち領域ＶＳ以外の領域のうちの少なくとも一部）とを有する。ここで、領域ＶＳは、画像Ｐ１が有する領域のうち、処理部３６３がメモリー３２の記憶領域内に生成した仮想空間内に配置された各種の仮想的な物体を表示する領域の一例である。なお、画像Ｐ１は、領域ＶＳと、第１操作領域に加えて、他のＧＵＩを有する構成であってもよい。
【００８５】
画像Ｐ１では、ユーザーは、オブジェクト情報の編集として、オブジェクト情報の生成、変更、出力、記憶等を行うことができる。当該出力は、オブジェクト情報のロボット制御装置４０への出力のことである。
【００８６】
ここで、画像Ｐ１においてユーザーが情報処理装置３０に対して行う各種の操作と、当該操作に応じた情報処理装置３０の処理について説明する。
【００８７】
ユーザーは、例えば、画像Ｐ１において、オブジェクトを生成することができる。オブジェクトを生成する際、ユーザーは、メモリー３２に予め記憶された１以上のモデル情報のうちのいずれかを選択する操作を、前述の第１操作領域に対して行う。当該操作が行われた場合、処理部３６３は、受け付けた操作によって選択されたモデル情報をメモリー３２から読み出す。モデル情報は、例えば、ロボット２０の周囲に位置する物体それぞれの三次元形状を表すモデルを示す情報のことである。モデル情報は、例えば、当該物体それぞれのＣＡＤ（Computer  Aided  Design）データである。なお、モデル情報は、ＣＡＤデータに代えて、他の情報であってもよい。メモリー３２からモデル情報を読み出した後、処理部３６３は、メモリー３２から読み出したモデル情報が表すモデルに基づいて、当該モデルが表す三次元形状を包含する仮想的な物体のうち、形状が単純であり且つ体積が最も小さい仮想的な物体を、当該モデルが表す三次元形状の物体に応じたオブジェクトとして生成する。ここで、モデル情報が表すモデルに基づいてオブジェクトを生成する処理は、既知の方法であってもよく、これから開発される方法でもよい。表示制御部３６１は、処理部３６３によって生成されたオブジェクトを、前述の領域ＶＳに表示された仮想空間内に配置することにより、領域ＶＳに表示させる。当該仮想空間内にオブジェクトを配置する際、表示制御部３６１は、当該仮想空間内の如何なる位置にオブジェクトを配置してもよい。例えば、表示制御部３６１は、当該仮想空間内において予め決められた基準となる点と、オブジェクトの重心とが一致するようにオブジェクトを当該仮想空間内に配置する。以下では、一例として、あるオブジェクトが有する部位のうち当該オブジェクトの位置及び姿勢を表す部位が、当該オブジェクトが有する部位のうち当該オブジェクトに応じた物体の位置及び姿勢を表す部位（この一例において、当該物体の重心）に対応する部位である場合について説明する。なお、あるオブジェクトが有する部位のうち当該オブジェクトの位置及び姿勢を表す部位は、当該オブジェクトが有する部位のうち当該オブジェクトに応じた物体の位置及び姿勢を表す部位に対応しない部位であってもよい。
【００８８】
また、ユーザーは、例えば、画像Ｐ１において、メモリー３２に予め記憶された１以上のオブジェクト情報のうちのいずれかのオブジェクト情報に応じたオブジェクトを領域ＶＳに表示することができる。メモリー３２に予め記憶されたオブジェクト情報のいずれかに応じたオブジェクトを表示する際、ユーザーは、メモリー３２に予め記憶された１以上のオブジェクト情報のうちのいずれかを選択する操作を、第１操作領域に対して行う。当該操作が行われた場合、処理部３６３は、受け付けた操作によって選択されたオブジェクト情報をメモリー３２から読み出す。そして、表示制御部３６１は、メモリー３２から処理部３６３が読み出したオブジェクト情報に応じたオブジェクトを、領域ＶＳに表示された仮想空間内に配置することにより、領域ＶＳに表示させる。
【００８９】
ここで、あるオブジェクト情報に応じたオブジェクトは、当該オブジェクト情報に含まれる形状情報が示す形状と、当該オブジェクト情報に含まれる大きさ情報が示す大きさとのそれぞれを有するオブジェクトである。また、当該オブジェクト情報に応じたオブジェクトは、当該オブジェクト情報に含まれるオブジェクト座標系情報が示すオブジェクト座標系が対応付けられたオブジェクトである。すなわち、当該オブジェクトの位置は、前述した通り、当該オブジェクト座標系の原点のロボット座標系ＲＣにおける位置によって表される。また、当該オブジェクトの姿勢は、当該オブジェクト座標系における各座標軸のロボット座標系ＲＣにおける方向によって表される。また、当該オブジェクト情報に応じたオブジェクトには、オブジェクト情報に含まれるオブジェクト識別情報、オブジェクト名称情報のそれぞれが対応付けられている。
【００９０】
なお、以下では、一例として、領域ＶＳに表示させることができるオブジェクトの数は、１つである場合について説明する。すなわち、表示制御部３６１は、新たなオブジェクトを領域ＶＳに表示させる場合、当該オブジェクトの前に領域ＶＳに表示されていたオブジェクトを領域ＶＳに表示された仮想空間内から削除する。なお、表示制御部３６１は、２つ以上のオブジェクトを領域ＶＳに表示させることが可能な構成であってもよい。
【００９１】
ここで、図６に示したオブジェクトＯＢは、図６に示したモデルＯが表す三次元形状の物体に応じたオブジェクトであって処理部３６３によって生成されたオブジェクトの一例である。図６に示した例では、モデルＯが表す三次元形状の物体は、バネ（スプリング）である。なお、当該物体は、バネに代えて、他の如何なる物体であってもよい。図６に示したように、オブジェクトＯＢは、モデルＯが表す三次元形状を包含する仮想的な物体のうち、形状が単純であり且つ体積が最も小さい仮想的な物体である。また、当該例では、オブジェクトＯＢの形状は、直方体形状である。
【００９２】
また、ユーザーは、例えば、画像Ｐ１において、領域ＶＳに表示されたオブジェクトの形状を変更することができる。当該オブジェクトの形状を変更する際、ユーザーは、当該形状を変更する操作を、第1操作領域又は領域ＶＳに対して行う。当該操作が行われた場合、処理部３６３は、当該操作に応じて当該形状を変更する。そして、表示制御部３６１は、当該形状を変更した後の当該オブジェクトを領域ＶＳに表示させる。
【００９３】
また、ユーザーは、例えば、画像Ｐ１において、領域ＶＳに表示されたオブジェクトの大きさを変更することができる。当該オブジェクトの大きさを変更する際、ユーザーは、当該大きさを変更する操作を、第1操作領域又は領域ＶＳに対して行う。当該操作が行われた場合、処理部３６３は、当該操作に応じて当該大きさを変更する。そして、表示制御部３６１は、当該大きさを変更した後の当該オブジェクトを領域ＶＳに表示させる。
【００９４】
また、ユーザーは、例えば、画像Ｐ１において、領域ＶＳに表示されたオブジェクトに応じたオブジェクト情報に対応付けるオブジェクト名称情報を入力することができる。当該オブジェクト名称情報を入力する際、ユーザーは、当該オブジェクト名称情報を入力する操作を、第１操作領域に対して行う。当該操作が行われた場合、処理部３６３は、入力されたオブジェクト名称情報を、当該オブジェクト情報に対応付けるオブジェクト名称情報として特定する。また、表示制御部３６１は、第１操作領域においてオブジェクト名称情報を入力する欄に、入力されたオブジェクト名称情報を表示する。
【００９５】
また、ユーザーは、例えば、画像Ｐ１において、領域ＶＳに表示されたオブジェクトが有する部位のうちユーザーが所望する部位に、オブジェクトのロボット座標系ＲＣにおける位置及び姿勢を表す三次元直交座標系をオブジェクト座標系として当該オブジェクトに対応付けることができる。当該オブジェクトに当該オブジェクト座標系を対応付ける際、ユーザーは、当該オブジェクト座標系を領域ＶＳに表示させる操作を、第１操作領域に対して行う。そして、領域ＶＳに当該オブジェクト座標系を領域ＶＳに表示された後、ユーザーは、例えば、領域ＶＳにおいて、当該オブジェクト座標系をドラッグすることにより、領域ＶＳに表示された仮想空間内において、当該オブジェクト座標系を当該オブジェクトに対して相対的に移動（具体的には、並進又は回転）させ、当該オブジェクトが有する部位のうちユーザーが所望する部位に、ユーザーが所望する位置及び姿勢のオブジェクト座標系を対応付ける。当該オブジェクト座標系を領域ＶＳに表示させる操作が行われた場合、表示制御部３６１は、当該オブジェクト座標系を領域ＶＳに表示させる。また、表示制御部３６１は、領域ＶＳにおいて当該オブジェクト座標系を当該オブジェクトに対して相対的に移動させる操作をユーザーから受け付けた場合、領域ＶＳに表示された当該オブジェクト座標系の当該オブジェクトに対する相対的な位置及び姿勢を、当該操作に応じた位置及び姿勢に変更する。また、処理部３６３は、当該オブジェクト座標系の当該オブジェクトに対する相対的な位置及び姿勢が変更される毎に、当該オブジェクトに対して当該オブジェクト座標系を対応付ける。当該オブジェクト座標系が対応付けられた当該オブジェクトの位置は、当該オブジェクト座標系の原点のロボット座標系ＲＣにおける位置によって表される。また、当該オブジェクトの姿勢は、当該オブジェクト座標系における各座標軸のロボット座標系ＲＣにおける方向によって表される。図６に示した座標系ＯＣは、オブジェクトＯＢに対応付けられたオブジェクト座標系の一例である。すなわち、図６に示した例では、ユーザーは、領域ＶＳにおいて、座標系ＯＣをドラッグすることにより、領域ＶＳに表示された仮想空間内において、座標系ＯＣをオブジェクトＯＢに対して相対的に移動（具体的には、並進又は回転）させることができる。
【００９６】
また、ユーザーは、例えば、画像Ｐ１において、領域ＶＳに表示されたオブジェクト及びオブジェクト座標系と、情報処理装置３０に入力したオブジェクト名称情報とに基づくオブジェクト情報を生成することができる。オブジェクト情報を生成する際、ユーザーは、オブジェクト情報を生成する操作を、第１操作領域に対して行う。当該操作が行われた場合、処理部３６３は、領域ＶＳに表示されたオブジェクト（図６に示した例では、オブジェクトＯＢ）と、領域ＶＳに表示されたオブジェクト座標系（図６に示した例では、座標系ＯＣ）と、予め入力されたオブジェクト名称情報とに基づいて、オブジェクト情報を生成する。より具体的には、処理部３６３は、当該操作に応じて、当該オブジェクトにオブジェクト識別情報を割り当てる。また、処理部３６３は、当該オブジェクトに基づいて、当該オブジェクトの形状を示す形状情報と、当該オブジェクトの大きさを示す大きさ情報とのそれぞれを生成する。また、処理部３６３は、当該オブジェクトに対応付けられた当該オブジェクト座標系に基づいて、当該オブジェクトに対応付けられた当該オブジェクト座標系を示すオブジェクト座標系情報を生成する。処理部３６３は、生成した形状情報、大きさ情報、オブジェクト座標系情報のそれぞれを含むオブジェクト関連情報を生成する。処理部３６３は、生成したオブジェクト識別情報と、予め入力されたオブジェクト名称情報と、生成したオブジェクト関連情報のそれぞれを含むオブジェクト情報を生成する。ここで、図７は、オブジェクト情報の一例を示す図である。図７に示したように、オブジェクト情報では、オブジェクト識別情報と、オブジェクト名称情報と、オブジェクト関連情報とが対応付けられている。なお、図７に示した例では、オブジェクト情報は、オブジェクト識別情報と、オブジェクト名称情報と、オブジェクト関連情報とを対応付けて格納するテーブルであるが、当該テーブルに代えて、オブジェクト識別情報と、オブジェクト名称情報と、オブジェクト関連情報とを対応付ける他の情報であってもよい。
【００９７】
また、ユーザーは、例えば、画像Ｐ１において、生成したオブジェクト情報を情報処理装置３０にロボット制御装置４０へ出力させることができる。当該オブジェクト情報を情報処理装置３０にロボット制御装置４０へ出力させる際、ユーザーは、当該オブジェクト情報を情報処理装置３０にロボット制御装置４０へ出力させる操作を、第１操作領域に対して行う。当該操作が行われた場合、通信制御部３６５は、通信部３４と、情報処理装置３０とロボット制御装置４０とを通信可能に接続するケーブルとを介して、当該オブジェクト情報をロボット制御装置４０へ出力する。
【００９８】
また、ユーザーは、例えば、画像Ｐ１において、生成したオブジェクト情報をメモリー３２に記憶させることができる。当該オブジェクト情報をメモリー３２に記憶させる際、ユーザーは、当該オブジェクト名称情報をメモリー３２に記憶させる操作を、第１操作領域に対して行う。当該操作が行われた場合、処理部３６３は、当該オブジェクト情報をメモリー３２に記憶させる。
【００９９】
以上のように、情報処理装置３０は、オブジェクト情報編集画像を介してユーザーから受け付けた操作に基づいて、オブジェクト情報の生成、変更、出力、記憶を行うことができる。
【０１００】
＜把持情報編集画像＞
以下、図８を参照し、把持情報編集画像について説明する。図８は、把持情報編集画像の一例を示す図である。図８に示した画像Ｐ２は、把持編集画像の一例である。画像Ｐ２は、例えば、領域ＶＳ２と、ユーザーから操作を受け付ける各種のＧＵＩが配置された図示しない操作領域である第２操作領域（図８に示した例では、画像Ｐ２が有する領域のうち領域ＶＳ２以外の領域のうちの少なくとも一部）とを有する。ここで、領域ＶＳ２は、画像Ｐ２が有する領域のうち、処理部３６３がメモリー３２の記憶領域内に生成した仮想空間内に配置された各種の仮想的な物体を表示する領域の一例である。当該仮想空間は、領域ＶＳに表示された仮想空間と同じ仮想空間であってもよく、領域ＶＳに表示された仮想空間と異なる仮想空間であってもよい。以下では、一例として、領域ＶＳ２に表示された仮想空間が、領域ＶＳに表示された仮想空間と異なる仮想空間である場合について説明する。なお、画像Ｐ２は、領域ＶＳ２と、第２操作領域に加えて、他のＧＵＩを有する構成であってもよい。
【０１０１】
画像Ｐ２では、ユーザーは、例えば、把持情報の編集として、把持情報の生成、変更、出力、記憶等を行うことができる。ここで、当該出力は、把持情報のロボット制御装置４０への出力のことである。
【０１０２】
ここで、画像Ｐ２においてユーザーが情報処理装置３０に対して行う各種の操作と、当該操作に応じた情報処理装置３０の処理について説明する。
【０１０３】
ユーザーは、例えば、画像Ｐ２において、メモリー３２に予め記憶された１以上のオブジェクト情報のうちのいずれかのオブジェクト情報に応じたオブジェクトを領域ＶＳ２に表示することができる。メモリー３２に予め記憶されたオブジェクト情報のいずれかに応じたオブジェクトを表示する際、ユーザーは、メモリー３２に予め記憶された１以上のオブジェクト情報のうちのいずれかを選択する操作を、第２操作領域に対して行う。当該操作が行われた場合、処理部３６３は、受け付けた操作によって選択されたオブジェクト情報をメモリー３２から読み出す。そして、表示制御部３６１は、メモリー３２から処理部３６３が読み出したオブジェクト情報に応じたオブジェクトを、領域ＶＳ２に表示された仮想空間内に配置することにより、領域ＶＳ２に表示させる。この際、表示制御部３６１は、当該オブジェクトに対応付けられたオブジェクト座標系を領域ＶＳ２に表示させる構成であってもよく、当該オブジェクト座標系を領域ＶＳ２に表示させる構成であってもよい。なお、図８に示したオブジェクトＯＢは、領域ＶＳ２に表示されたオブジェクトの一例である。また、図８に示した例では、オブジェクトＯＢに対応付けられたオブジェクト座標系の一例である座標系ＯＣは、図が煩雑になるのを防ぐため、省略されている。また、当該仮想空間内にオブジェクトを配置する際、表示制御部３６１は、当該仮想空間内の如何なる位置にオブジェクトを配置してもよい。例えば、表示制御部３６１は、当該仮想空間内において予め決められた基準となる点と、オブジェクトの重心とが一致するようにオブジェクトを当該仮想空間内に配置する。
【０１０４】
また、ユーザーは、例えば、画像Ｐ２において、仮想的な第１エンドエフェクターＥ１である仮想第１エンドエフェクターを、領域ＶＳ２に表示されたオブジェクトとともに領域ＶＳ２に表示させることができる。仮想第１エンドエフェクターを領域ＶＳ２に表示させる際、ユーザーは、仮想第１エンドエフェクターを領域ＶＳ２に表示させる操作を、第２操作領域に対して行う。当該操作が行われた場合、処理部３６３は、仮想第１エンドエフェクターを生成する。そして、表示制御部３６１は、処理部３６３によって生成された仮想第１エンドエフェクターを、領域ＶＳ２に表示された仮想空間内に配置することにより、領域ＶＳ２に表示させる。また、表示制御部３６１は、第１エンドエフェクターＥ１に設定された制御点Ｔ１に対応付けられた制御点座標系を、仮想第１エンドエフェクターとともに表示させる。ここで、図８に示した仮想第１エンドエフェクターＶＥは、領域ＶＳ２に表示された仮想第１エンドエフェクターの一例である。また、図８に示した座標系ＴＣは、当該制御点座標系の一例である。
【０１０５】
また、ユーザーは、例えば、画像Ｐ２において、領域ＶＳ２に表示された仮想第１エンドエフェクターをオブジェクトに対して相対的に移動（具体的には、並進又は回転）させ、仮想第１エンドエフェクターのオブジェクトに対する相対的な位置及び姿勢を、ユーザーが所望する位置及び姿勢と一致させることができる。仮想第１エンドエフェクターのオブジェクトに対する相対的な位置及び姿勢を、ユーザーが所望する位置及び姿勢と一致させる際、ユーザーは、仮想第１エンドエフェクターのオブジェクトに対する相対的な位置及び姿勢を、ユーザーが所望する位置及び姿勢と一致させる操作を、第２操作領域又は領域ＶＳ２に対して行う。例えば、ユーザーは、領域ＶＳ２において、仮想第１エンドエフェクターをドラッグすることにより、領域ＶＳ２に表示された仮想空間内において、領域ＶＳ２に表示されたオブジェクトに対して相対的に移動（具体的には、並進又は回転）させ、仮想第１エンドエフェクターのオブジェクトに対する相対的な位置及び姿勢を、ユーザーが所望する位置及び姿勢と一致させる。当該操作を受け付けた場合、表示制御部３６１は、領域ＶＳ２に表示された仮想第１エンドエフェクターのオブジェクトに対する相対的な位置及び姿勢を、当該操作に応じた位置及び姿勢に変更する。ここで、当該位置及び当該姿勢は、オブジェクトに応じた物体を第１エンドエフェクターＥ１に把持させる場合における第１エンドエフェクターＥ１の当該物体に対する相対的な位置及び姿勢のことである。図８に示した例では、ユーザーは、領域ＶＳ２において、仮想第１エンドエフェクターＶＥをドラッグすることにより、領域ＶＳ２に表示された仮想空間内において、仮想第１エンドエフェクターＶＥをオブジェクトＯＢに対して相対的に移動（具体的には、並進又は回転）させることができる。
【０１０６】
また、ユーザーは、例えば、画像Ｐ１において、領域ＶＳ２に表示された仮想第１エンドエフェクターが有する指部の開閉量を変化させることができる。当該開閉量を変化させる際、ユーザーは、当該開閉量を変化させる操作を、第２操作領域又は領域ＶＳ２に対して行う。例えば、ユーザーは、領域ＶＳ２において、当該指部をドラッグすることにより、当該指部を仮想第１エンドエフェクターに対して相対的に移動（具体的には、並進）させることができる。当該操作が行われた場合、表示制御部３６１は、当該開閉量を、当該操作に応じた開閉量に変化させる。
【０１０７】
また、ユーザーは、例えば、画像Ｐ２において、領域ＶＳ２に表示されたオブジェクトが有する部位のうちユーザーが所望する部位に、前述のツール座標系を対応付けることができる。当該オブジェクトにツール座標系を対応付ける際、ユーザーは、ツール座標系を領域ＶＳ２に表示させる操作を、第２操作領域に対して行う。そして、領域ＶＳ２にツール座標系を領域ＶＳ２に表示された後、ユーザーは、例えば、領域ＶＳ２において、ツール座標系をドラッグすることにより、領域ＶＳ２に表示された仮想空間内において、ツール座標系を当該オブジェクトに対して相対的に移動（具体的には、並進又は回転）させ、当該オブジェクトが有する部位のうちユーザーが所望する部位に、ユーザーが所望する位置及び姿勢のツール座標系を対応付ける。ツール座標系を領域ＶＳ２に表示させる操作が行われた場合、表示制御部３６１は、ツール座標系を領域ＶＳ２に表示させる。また、表示制御部３６１は、領域ＶＳ２においてツール座標系を当該オブジェクトに対して相対的に移動させる操作をユーザーから受け付けた場合、領域ＶＳ２に表示されたツール座標系の当該オブジェクトに対する相対的な位置及び姿勢を、当該操作に応じた位置及び姿勢に変更する。また、処理部３６３は、ツール座標系の当該オブジェクトに対する相対的な位置及び姿勢が変更される毎に、当該オブジェクトに対してツール座標系を対応付ける。図８に示した座標系ＴＬＣは、このようなツール座標系の一例である。例えば、ユーザーは、領域ＶＳ２において、座標系ＴＬＣをドラッグすることにより、領域ＶＳ２に表示された仮想空間内において、座標系ＴＬＣをオブジェクトＯＢに対して相対的に移動（具体的には、並進又は回転）させることができる。そして、ユーザーは、オブジェクトＯＢが有する部位のうちユーザーが所望する部位に、ユーザーが所望する位置及び姿勢の座標系ＴＬＣを対応付けることができる。座標系ＴＬＣが対応付けられた当該部位の位置は、座標系ＴＬＣの原点のロボット座標系ＲＣにおける位置によって表される。また、当該部位の姿勢は、座標系ＴＬＣにおける各座標軸のロボット座標系ＲＣにおける方向によって表される。
【０１０８】
また、ユーザーは、例えば、画像Ｐ２において、領域ＶＳ２に表示されたオブジェクト、仮想第１エンドエフェクター、ツール座標系のそれぞれに基づく把持情報を生成することができる。把持情報を生成する際、ユーザーは、把持情報を生成する操作を、第２操作領域に対して行う。当該操作が行われた場合、処理部３６３は、領域ＶＳ２に表示されたオブジェクト、仮想第１エンドエフェクター、ツール座標系のそれぞれに基づく把持情報を生成する。より具体的には、処理部３６３は、領域ＶＳ２に表示されたオブジェクトに応じたオブジェクト情報に含まれるオブジェクト識別情報、オブジェクト名称情報のそれぞれを特定する。また、処理部３６３は、当該オブジェクト情報に含まれるオブジェクト座標系情報が示すオブジェクト座標系と、領域ＶＳ２に表示された仮想第１エンドエフェクターに対応付けられた制御点座標系とに基づいて、前述の相対位置情報及び相対姿勢情報とを生成する。また、処理部３６３は、領域ＶＳ２に表示された仮想第１エンドエフェクターＶＥが備える指部の開閉量を示す開閉量情報を生成する。また、処理部３６３は、領域ＶＳ２に表示されたオブジェクトに対応付けられたツール座標系に基づいて、当該オブジェクトに対応付けられたツール座標系を示すツール座標系情報を生成する。処理部３６３は、特定したオブジェクト識別情報、オブジェクト名称情報のそれぞれと、生成した相対位置情報、相対姿勢情報、開閉量情報、ツール座標系情報のそれぞれとが対応付けられた情報である把持情報を生成する。この際、処理部３６３は、把持情報を識別する把持情報識別情報を、生成した把持情報に割り当てる（対応付ける）。把持情報識別情報は、把持情報に対して重複しないように割り当てられたＩＤである。なお、把持情報識別情報は、当該ＩＤに代えて、把持情報を識別でき、把持情報に対して重複しないように割り当てられる他の情報であってもよい。
【０１０９】
ここで、図９は、把持情報の一例を示す図である。図９に示したように、把持情報では、把持情報識別情報と、オブジェクト識別情報と、オブジェクト名称情報と、相対位置情報と、相対姿勢情報と、開閉量情報と、ツール座標系情報とを対応付けて格納するテーブルであるが、当該テーブルに代えて、把持情報識別情報と、オブジェクト識別情報と、オブジェクト名称情報と、相対位置情報と、相対姿勢情報と、開閉量情報と、ツール座標系情報とを対応付ける他の情報であってもよい。
【０１１０】
また、ユーザーは、例えば、画像Ｐ２において、生成した把持情報を情報処理装置３０にロボット制御装置４０へ出力させることができる。当該把持情報を情報処理装置３０にロボット制御装置４０へ出力させる際、ユーザーは、当該オブジェクト情報を情報処理装置３０にロボット制御装置４０へ出力させる操作を、第２操作領域に対して行う。当該操作が行われた場合、通信制御部３６５は、通信部３４と、情報処理装置３０とロボット制御装置４０とを通信可能に接続するケーブルとを介して、当該オブジェクト情報をロボット制御装置４０へ出力する。
【０１１１】
また、ユーザーは、例えば、画像Ｐ２において、生成した把持情報をメモリー３２に記憶させることができる。当該把持情報をメモリー３２に記憶させる際、ユーザーは、当該把持情報をメモリー３２に記憶させる操作を、第２操作領域に対して行う。当該操作が行われた場合、処理部３６３は、当該把持情報をメモリー３２に記憶させる。
【０１１２】
また、ユーザーは、例えば、画像Ｐ２において、メモリー３２に予め記憶された１以上の把持情報のうちのいずれかの把持情報に応じたオブジェクト、仮想第１エンドエフェクター、制御点座標系、ツール座標系のそれぞれを領域ＶＳ２に表示することができる。メモリー３２に予め記憶された１以上の把持情報のうちのいずれかの把持情報に応じたオブジェクト、仮想第１エンドエフェクター、制御点座標系、ツール座標系のそれぞれを領域ＶＳ２に表示する際、ユーザーは、メモリー３２に予め記憶された１以上の把持情報のうちのいずれかを選択する操作を、第２操作領域に対して行う。当該操作が行われた場合、処理部３６３は、受け付けた操作によって選択された把持情報をメモリー３２から読み出す。そして、表示制御部３６１は、メモリー３２から処理部３６３が読み出した把持情報に応じたオブジェクト、仮想第１エンドエフェクター、制御点座標系、ツール座標系のそれぞれを、領域ＶＳ２に表示された仮想空間内に配置することにより、領域ＶＳ２に表示させる。
【０１１３】
ここで、ある把持情報に応じたオブジェクトは、当該把持情報に含まれるオブジェクト識別情報が示すオブジェクトのことである。また、当該把持情報に応じた仮想第１エンドエフェクターは、当該把持情報に含まれる相対位置情報及び相対姿勢情報に基づく位置及び姿勢であって当該オブジェクトに対する相対的な位置及び姿勢と、位置及び姿勢が領域ＶＳ２に表示された仮想空間内において一致している仮想第１エンドエフェクターのことである。また、当該把持情報に応じた制御点座標系は、当該仮想第１エンドエフェクターに対応付けられた制御点座標系のことである。また、当該把持情報に応じたツール座標系は、当該把持情報に含まれるツール座標系情報が示すツール座標系のことである。
【０１１４】
以上のように、情報処理装置３０は、把持情報編集画像を介してユーザーから受け付けた操作に基づいて、把持情報の生成、変更、出力、記憶を行うことができる。
【０１１５】
なお、オブジェクト情報編集画像と、把持情報編集画像とは、１つの画像として構成されていてもよい。この場合、領域ＶＳと、領域ＶＳ２とは、１つの領域として構成されている。すなわち、処理部３６３は、当該１つの領域に表示された１つの仮想空間内に配置されたオブジェクトに基づいて、上記において説明した処理によってオブジェクト情報を生成するとともに、当該１つの領域に表示されたオブジェクト、仮想第１エンドエフェクターのそれぞれに基づいて、上記において説明した処理によって把持情報を生成する。
【０１１６】
＜教示点情報編集画像＞
以下、教示点情報編集画像と、教示点情報編集画像における情報処理装置３０の処理とのそれぞれについて説明する。教示点情報編集画像は、例えば、教示点情報の編集を行うことが可能なエディターを含む画像のことである。
【０１１７】
教示点情報編集画像では、ユーザーは、例えば、教示点情報の編集として、教示点情報の生成、変更、出力、記憶等を行うことができる。当該出力は、教示点情報のロボット制御装置４０への出力のことである。
【０１１８】
ユーザーは、例えば、教示点情報編集画像において、教示点の位置及び姿勢を入力する。具体的には、ユーザーは、教示点情報編集画像において位置及び姿勢を入力する領域である位置姿勢入力領域に、教示点の位置及び姿勢として所望の位置及び姿勢を入力する。位置姿勢入力領域に位置及び姿勢が入力された場合、表示制御部３６１は、位置姿勢入力領域に入力された位置及び姿勢を、ユーザーが所望する教示点の位置及び姿勢として当該領域に表示させる。なお、ユーザーにより入力される位置及び姿勢は、オンラインティーチング、ダイレクトティーチング等によって検出された位置及び姿勢等であってもよく、撮像画像に基づいて検出された位置及び姿勢であってもよい。
【０１１９】
また、ユーザーは、例えば、教示点情報編集画像において、メモリー３２に予め記憶された１以上の教示点情報のうちのいずれかの教示点情報が示す教示点の位置及び姿勢を、位置姿勢入力領域に表示させることができる。メモリー３２に予め記憶された１以上の教示点情報のうちのいずれかの教示点情報が示す教示点の位置及び姿勢を位置姿勢入力領域に表示する際、ユーザーは、メモリー３２に予め記憶された１以上の教示点情報のうちのいずれかを選択する操作を、教示点情報編集画像に対して行う。当該操作が行われた場合、処理部３６３は、受け付けた操作によって選択された教示点情報をメモリー３２から読み出す。そして、表示制御部３６１は、メモリー３２から処理部３６３が読み出した教示点情報が示す教示点の位置及び姿勢を、位置姿勢入力領域に表示させる。
【０１２０】
また、ユーザーは、例えば、位置姿勢入力領域に入力された位置及び姿勢の教示点を示す教示点情報をメモリー３２に記憶させることができる。当該教示点情報をメモリー３２に記憶させる際、ユーザーは、当該教示点情報をメモリー３２に記憶させる操作を教示点情報編集画像に対して行う。当該操作が行われた場合、処理部３６３は、当該教示点情報をメモリー３２に記憶させる。
【０１２１】
また、ユーザーは、例えば、位置姿勢入力領域に入力された位置及び姿勢の教示点を示す教示点情報を情報処理装置３０にロボット制御装置４０へ出力させることができる。当該教示点情報をロボット制御装置４０に情報処理装置３０へ出力させる際、ユーザーは、当該教示点情報をロボット制御装置４０に情報処理装置３０へ出力させる操作を教示点情報編集画像に対して行う。当該操作が行われた場合、通信制御部３６５は、当該教示点情報をロボット制御装置４０へ出力する。
【０１２２】
以上のように、情報処理装置３０は、教示点情報編集画像を介してユーザーから受け付けた操作に基づいて、教示点情報の生成、変更、出力、記憶を行うことができる。
【０１２３】
＜動作プログラム編集画像＞
以下、動作プログラム編集画像と、教示点情報編集画像における情報処理装置３０の処理とのそれぞれについて説明する。動作プログラム編集画像は、例えば、動作プログラムの編集を行うことが可能なエディターを含む画像のことである。
【０１２４】
動作プログラム編集画像では、ユーザーは、例えば、動作プログラムの編集として、動作プログラムの生成、変更、出力、記憶等を行うことができる。ここで、当該出力は、把持情報のロボット制御装置４０への出力のことである。
【０１２５】
ここで、情報処理装置３０によって編集される動作プログラムについて説明する。当該動作プログラムは、ロボット制御装置４０にロボット２０を動作させる複数のコマンド、及びロボット制御装置４０に情報の送受信を行わせる複数のコマンドによって構成される。当該複数のコマンドには、ロボット２０を動作させる各種のコマンドに加えて、ロボット２０の周囲に位置する物体に関する情報の生成、削除、変更をロボット制御装置４０に行わせる第１コマンドと、ロボット２０の動作に関する情報の生成、削除、変更をロボット制御装置４０に行わせる第２コマンドとの２種類のコマンドが少なくとも含まれている。
【０１２６】
第１コマンドには、例えば、第１１コマンド〜第１６コマンドの６つの設定コマンドが含まれている。
【０１２７】
第１１コマンドは、経路生成部４６３が経路を生成する際に参照する周辺物体情報であってメモリー３２に記憶された周辺物体情報に対して、新たな物体の物体位置姿勢情報と、当該物体に応じたオブジェクトに関するオブジェクト情報に含まれるオブジェクト識別情報とが対応付けられた情報を追加するコマンドである。
【０１２８】
第１２コマンドは、経路生成部４６３が経路を生成する際に参照する周辺物体情報であってメモリー３２に記憶された周辺物体情報から、指定された物体の物体位置姿勢情報と、当該物体に応じたオブジェクトに関するオブジェクト情報に含まれるオブジェクト識別情報とが対応付けられた情報を削除するコマンドである。
【０１２９】
第１３コマンドは、経路生成部４６３が経路を生成する際に参照する周辺物体情報であってメモリー３２に記憶された周辺物体情報に含まれる情報のうち、指定された物体の物体位置姿勢情報が示す位置及び姿勢を、指定された位置及び姿勢に変更するコマンドである。
【０１３０】
第１４コマンドは、指定されたアーム（この一例において、第１アームＡ１又は第２アームＡ２）毎に、経路生成部４６３が経路を生成する際に参照する周辺物体情報であってメモリー３２に記憶された周辺物体情報に含まれる情報のうち、指定された物体を識別する物体識別情報に対して、障害物と、障害物ではない物体である非障害物とのいずれかであることを示す情報を対応付けるコマンドである。
【０１３１】
第１５コマンドは、メモリー３２の記憶領域のうち経路生成部４６３が参照する記憶領域である参照記憶領域に記憶された現在の周辺物体情報を、メモリー３２の記憶領域のうち経路生成部４６３が参照しない非参照記憶領域に、周辺物体情報を識別する情報を対応付けて記憶させるコマンドである。
【０１３２】
第１６コマンドは、指定された情報であって周辺物体情報を識別する情報に基づいて、前述の非参照記憶領域に記憶された周辺物体情報を読み出し、読み出した周辺物体情報を、新たな周辺物体情報として参照記憶領域に記憶するコマンドである。
【０１３３】
なお、第１コマンドには、第１１コマンド〜第１６コマンドのうちの一部又は全部に代えて、他のコマンドが含まれる構成であってもよく、第１１コマンド〜第１６コマンドの全部に加えて、他のコマンドが含まれる構成であってもよい。
【０１３４】
第２コマンドには、例えば、第２１コマンド〜第２６コマンドの６つの動作コマンドが含まれている。
【０１３５】
第２１コマンドは、ロボット２０が備える第１撮像部Ｃ１〜第４撮像部Ｃ４のうちの一部又は全部によって撮像された撮像画像から検出された位置及び姿勢であって第１エンドエフェクターＥ１のロボット座標系ＲＣにおける位置及び姿勢を、ロボット制御装置４０に情報処理装置３０へ出力させるコマンドである。当該第１エンドエフェクターＥ１のロボット座標系ＲＣにおける位置及び姿勢は、物体を把持した状態の第１エンドエフェクターＥ１のロボット座標系ＲＣにおける位置及び姿勢のことである。
【０１３６】
第２２コマンドは、メモリー３２に記憶されたオブジェクト情報のうち、指定されたオブジェクト情報をロボット制御装置４０に特定させるコマンドである。そして、第２２コマンドは、ロボット制御装置４０に特定されたオブジェクトに応じた物体を識別する物体識別情報と、メモリー３２に記憶された周辺物体情報とに基づいて、当該物体を第１エンドエフェクターＥ１に把持させるコマンドである。また、第２２コマンドは、ロボット制御装置４０に特定されたオブジェクト情報にツール座標系情報が含まれている場合、制御点Ｔ１のロボット座標系ＲＣにおける位置及び姿勢を表す三次元座標系を、制御点座標系から、当該ツール座標系情報が示すツール座標系に変更するとともに、第１力検出部Ｓ１が検出する外力の大きさ及び方向を表す三次元座標系である力検出座標系を、ツール座標系に応じた三次元座標系に変更するコマンドでもある。
【０１３７】
第２３コマンドは、第１エンドエフェクターＥ１に把持された把持対象を第１エンドエフェクターＥ１に解放させるコマンドである。また、第２３コマンドは、制御点Ｔ１のロボット座標系ＲＣにおける位置及び姿勢を表す三次元座標系がツール座標系に変更されている場合、制御点Ｔ１のロボット座標系ＲＣにおける位置及び姿勢を表す三次元座標系を、制御点座標系に変更するとともに、力検出座標系を、制御点座標系に応じた三次元座標系に変更するコマンドでもある。
【０１３８】
第２４コマンドは、経路生成部４６３が経路を生成する際に参照する周辺物体情報であってメモリー３２に記憶された周辺物体情報に含まれる情報のうち、第１エンドエフェクターＥ１によって載置された（解放された）把持対象の物体位置姿勢情報を、指定された位置及び姿勢であってロボット座標系ＲＣにおける位置及び姿勢を示す情報に変更するコマンドである。
【０１３９】
第２５コマンドは、第１エンドエフェクターＥ１に把持された把持対象の現在のロボット座標系ＲＣにおける位置及び姿勢を示す情報を、ロボット制御装置４０に情報処理装置３０へ出力させる。
【０１４０】
第２６コマンドは、ロボット制御装置４０に設定されている第１エンドエフェクターＥ１が有する指部の開閉量を示す開閉量情報を、ロボット制御装置４０に情報処理装置３０へ出力させる。
【０１４１】
なお、第２コマンドには、第２１コマンド〜第２６コマンドのうちの一部又は全部に代えて、他のコマンドが含まれる構成であってもよく、第２１コマンド〜第２６コマンドの全部に加えて、他のコマンドが含まれる構成であってもよい。
【０１４２】
ユーザーは、例えば、動作プログラム編集画像において、上記の第１コマンドと、上記の第２コマンドとの少なくとも一方を含む動作プログラムを生成する。具体的には、ユーザーは、動作プログラム編集画像が有する領域のうちの動作プログラムを入力する領域であるプログラム入力領域に、動作プログラムを入力する。プログラム入力領域に動作プログラムが入力された場合、表示制御部３６１は、プログラム入力領域に入力された動作プログラムを当該領域に表示させる。
【０１４３】
また、ユーザーは、例えば、プログラム入力領域に入力された動作プログラムをメモリー３２に記憶させることができる。当該動作プログラムをメモリー３２に記憶させる際、ユーザーは、当該動作プログラムをメモリー３２に記憶させる操作を動作プログラム編集画像に対して行う。当該操作が行われた場合、処理部３６３は、当該動作プログラムをメモリー３２に記憶させる。
【０１４４】
また、ユーザーは、例えば、プログラム入力領域に入力された動作プログラムを情報処理装置３０にビルドさせることができる。当該動作プログラムをビルドする際、ユーザーは、当該動作プログラムを情報処理装置３０にビルドさせる操作を動作プログラム編集画像に対して行う。当該操作が行われた場合、処理部３６３は、当該動作プログラムをビルドする。また、当該場合、処理部３６３は、オブジェクト情報編集画像において領域ＶＳに表示されたオブジェクトに基づくオブジェクト情報を生成する。当該オブジェクト情報を処理部３６３が生成する処理については、上記において説明済みのため、説明を省略する。また、当該場合、処理部３６３は、把持情報編集画像において領域ＶＳ２に表示されたオブジェクト及び仮想第１エンドエフェクターに基づく把持情報を生成する。当該把持情報を処理部３６３が生成する処理については、上記において説明済みのため、説明を省略する。また、当該場合、処理部３６３は、動作プログラムにおいて指定されている１以上の教示点情報のそれぞれを特定する。そして、通信制御部３６５は、ビルドされた当該動作プログラムと、生成されたオブジェクト情報と、生成された把持情報と、特定された１以上の教示点情報とのそれぞれを、通信部３４と、情報処理装置３０とロボット制御装置４０とを通信可能に接続しているケーブルとを介して、ロボット制御装置４０に出力する。
【０１４５】
以上のように、情報処理装置３０は、動作プログラム編集画像を介してユーザーから受け付けた操作に基づいて、動作プログラムの生成、変更、出力、記憶を行うことができる。
【０１４６】
＜ロボット制御装置が行う情報生成処理＞
以下、図１０を参照し、ロボット制御装置４０が行う情報生成処理について説明する。情報生成処理は、ロボット制御装置４０が情報処理装置３０から動作プログラム、オブジェクト情報、把持情報、教示点情報のそれぞれを取得した場合に、動作プログラム、オブジェクト情報、把持情報、教示点情報のそれぞれに基づいて、経路情報と、前述の周辺物体情報との少なくとも一方を生成する処理のことである。図１０は、ロボット制御装置４０が行う情報生成処理の流れの一例を示す図である。なお、以下では、前述した通り、ロボット制御装置４０のメモリー４２には、物体位置姿勢情報が予め記憶されている場合について説明する。
【０１４７】
通信制御部４６５は、情報処理装置３０から動作プログラム、オブジェクト情報、把持情報、教示点情報のそれぞれを取得するまで待機する（ステップＳ２１０）。情報処理装置３０から動作プログラム、オブジェクト情報、把持情報、教示点情報のそれぞれを取得したと判定した場合（ステップＳ２１０−ＹＥＳ）、通信制御部４６５は、取得した動作プログラム、オブジェクト情報、把持情報、教示点情報のそれぞれをメモリー４２に記憶させる（ステップＳ２２０）。
【０１４８】
次に、経路生成部４６３は、ステップＳ２２０においてメモリー４２に記憶されたオブジェクト情報をメモリー４２から読み出す。また、経路生成部４６３は、メモリー４２に記憶された物体位置姿勢情報をメモリー４２から読み出す。経路生成部４６３は、読み出したオブジェクト情報及び物体位置姿勢情報に基づいて、メモリー４２に記憶された周辺物体情報を更新する（ステップＳ２３０）。ここで、ステップＳ２３０においてメモリー４２に周辺物体情報が記憶されていない場合、経路生成部４６３は、周辺物体情報を生成し、生成した周辺物体情報をメモリー４２に記憶させる。これにより、ロボット制御装置４０は、動作プログラムを更新することなく、周辺物体情報を更新することができる。すなわち、ロボットシステム１では、動作プログラムを変更することなく、ロボット制御装置４０が経路を生成する際に参照する周辺物体情報をロボット制御装置４０に変更（すなわち、更新）させることができる。
【０１４９】
次に、経路生成部４６３は、ステップＳ２２０においてメモリー４２に記憶された把持情報をメモリー４２から読み出す。そして、経路生成部４６３は、読み出した把持情報に基づいて、メモリー４２に記憶された把持情報であって経路生成部４６３が参照する把持情報を更新する（ステップＳ２４０）。これにより、ロボット制御装置４０は、動作プログラムを更新することなく、把持情報を更新することができる。すなわち、ロボットシステム１では、動作プログラムを変更することなく、ロボット２０が把持対象を把持する位置及び姿勢の少なくとも一方をロボット制御装置４０に変更（すなわち、更新）させることができる。
【０１５０】
次に、プログラム処理部４６１は、ステップＳ２２０においてメモリー４２に記憶された動作プログラム及び教示点情報に基づいて、経路生成部４６３に経路情報を生成させる（ステップＳ２５０）。具体的には、プログラム処理部４６１は、当該動作プログラムにおいて指定された教示点情報を、経路生成部４６３に出力する。経路生成部４６３は、
当該教示点情報を取得する。また、経路生成部４６３は、メモリー４２に記憶された周辺物体情報、オブジェクト情報、把持情報のそれぞれをメモリー４２から読み出す。経路生成部４６３は、読み出した周辺物体情報と、プログラム処理部４６１からの要求と、読み出したオブジェクト情報と、読み出した把持情報と、取得した教示点情報とに基づく経路であってロボット２０の周囲に位置する物体のうちの障害物に第１エンドエフェクターＥ１が干渉しない経路を生成する。当該経路を生成する方法は、既知の方法であってもよく、これから開発される方法であってもよい。経路生成部４６３は、生成した経路を示す経路情報を生成する。経路生成部４６３は、生成した経路情報をメモリー４２に記憶させる。
【０１５１】
通信制御部４６５は、メモリー４２に記憶された周辺物体情報と、経路情報とのそれぞれを情報処理装置３０へ出力し（ステップＳ２６０）、処理を終了する。
【０１５２】
＜情報処理装置が行う情報表示処理＞
以下、図１１を参照し、情報処理装置３０が行う情報表示処理について説明する。情報表示処理は、情報処理装置３０がロボット制御装置４０から周辺物体情報、経路情報のそれぞれを取得した場合に、周辺物体情報に応じた画像と、経路情報に応じた画像との少なくとも一方を表示部３５に表示させる処理のことである。図１１は、情報処理装置３０が行う情報表示処理の流れの一例を示す図である。
【０１５３】
通信制御部３６５は、ロボット制御装置４０から周辺物体情報、経路情報のそれぞれを取得するまで待機する（ステップＳ３１０）。ロボット制御装置４０から周辺物体情報、経路情報のそれぞれを取得したと判定した場合（ステップＳ３１０−ＹＥＳ）、通信制御部３６５は、取得した周辺物体情報、経路情報のそれぞれをメモリー３２に記憶させる。また、表示制御部３６１は、周辺物体情報、経路情報のそれぞれを情報処理装置３０がロボット制御装置４０から取得したことを報せる画像を表示部３５に表示させる。
【０１５４】
次に、処理部３６３は、周辺物体情報に応じた画像を表示部３５に表示させる操作である周辺物体表示操作を受け付けたか否かを判定する（ステップＳ３２０）。周辺物体情報に応じた画像を表示部３５に表示させる操作である周辺物体表示操作を受け付けたと処理部３６３が判定した場合（ステップＳ３２０−ＹＥＳ）、処理部３６３及び表示制御部３６１は、ステップＳ３１０において取得した周辺物体情報に応じた画像を表示部３５に表示する周辺物体表示処理を行う（ステップＳ３３０）。
【０１５５】
ここで、図１２を参照し、周辺物体情報に応じた画像と、周辺物体表示処理とのそれぞれについて説明する。図１２は、周辺物体情報に応じた画像の一例を示す図である。図１２に示した画像Ｐ３は、周辺物体情報に応じた画像の一例である。画像Ｐ３は、例えば、領域ＶＳ３と、ユーザーから操作を受け付ける各種のＧＵＩが配置された図示しない操作領域である第３操作領域（図１２に示した例では、画像Ｐ３が有する領域のうち領域ＶＳ３以外の領域のうちの少なくとも一部）とを有する。ここで、領域ＶＳ３は、画像Ｐ３が有する領域のうち、処理部３６３がメモリー３２の記憶領域内に生成した仮想空間内に配置された各種の仮想的な物体を表示する領域の一例である。また、当該仮想空間内における位置及び姿勢を表す三次元直交座標系は、ロボット座標系ＲＣである。なお、画像Ｐ３は、領域ＶＳ３と、第３操作領域に加えて、他のＧＵＩを有する構成であってもよい。
【０１５６】
処理部３６３は、取得した周辺物体情報と、メモリー３２に記憶されたオブジェクト情報とに基づいて、ロボット２０の周囲に位置する１以上の物体それぞれに応じたオブジェクトを、領域ＶＳ３に表示された仮想空間内に配置する。この際、処理部３６３は、当該１以上の物体のそれぞれ毎に、周辺物体情報に含まれる物体位置姿勢情報、オブジェクト識別情報のそれぞれと、メモリー３２に記憶されたオブジェクト情報とに基づくオブジェクトを当該仮想空間内に配置する。そして、表示制御部３６１は、当該仮想空間内に配置されたオブジェクトであって当該１以上の物体それぞれに応じたオブジェクトのそれぞれを領域ＶＳ３に表示させる。なお、表示制御部３６１は、この際、仮想的なロボット２０である仮想ロボットを、当該オブジェクトのそれぞれとともに領域ＶＳ３に表示させる。図１２に示したロボットＶＲは、当該仮想ロボットの一例である。また、図１２に示したオブジェクトＯＢ２は、当該仮想空間内に配置されたオブジェクトの一例である。図１２に示した例では、当該仮想空間内には、オブジェクトＯＢ２が１つ配置されている。ユーザーは、領域ＶＳ３に表示された各オブジェクトと仮想ロボットとの相対的な位置関係を見ることによって、ロボット制御装置４０に記憶された周辺物体情報に意図しない第１対応情報が記憶されていないか否かを判定することができる。すなわち、ユーザーは、ロボット制御装置４０が認識している物体であってロボット２０の周囲に位置する物体と、実際にロボット２０の周囲に位置している物体との位置関係にずれがないか否かを確認することができる。なお、周辺物体情報に応じた画像は、物体とロボットとの相対的な位置関係を示す画像の一例である。
【０１５７】
ステップＳ３３０の処理が行われた後、処理部３６３は、情報表示処理を終了させる操作を情報処理装置３０がユーザーから受け付けたか否かを判定する（ステップＳ３４０）。情報表示処理を終了させる操作を情報処理装置３０がユーザーから受け付けたと判定した場合（ステップＳ３４０−ＹＥＳ）、処理部３６３は、処理を終了する。一方、情報表示処理を終了させる操作を情報処理装置３０がユーザーから受け付けていないと判定した場合（ステップＳ３４０−ＮＯ）、処理部３６３は、ステップＳ３２０に遷移し、周辺物体情報に応じた画像を表示部３５に表示させる操作である周辺物体表示操作を受け付けたか否かを再び判定する。
【０１５８】
一方、周辺物体情報に応じた画像を表示部３５に表示させる操作である周辺物体表示操作を受け付けていないと処理部３６３が判定した場合（ステップＳ３２０−ＮＯ）、処理部３６３及び表示制御部３６１は、ステップＳ３１０において取得した経路情報に応じた画像を表示部３５に表示する動作表示処理を行う（ステップＳ３５０）。
【０１５９】
ここで、図１３を参照し、経路情報に応じた画像と、動作表示処理とのそれぞれについて説明する。図１３は、経路情報に応じた画像の一例を示す図である。図１３に示した画像Ｐ４は、経路情報に応じた画像の一例である。画像Ｐ４は、例えば、領域ＶＳ４と、ユーザーから操作を受け付ける各種のＧＵＩが配置された図示しない操作領域である第４操作領域（図１３に示した例では、画像Ｐ４が有する領域のうち領域ＶＳ４以外の領域のうちの少なくとも一部）とを有する。ここで、領域ＶＳ４は、画像Ｐ４が有する領域のうち、処理部３６３がメモリー３２の記憶領域内に生成した仮想空間内に配置された各種の仮想的な物体を表示する領域の一例である。また、当該仮想空間内における位置及び姿勢を表す三次元直交座標系は、ロボット座標系ＲＣである。なお、画像Ｐ４は、領域ＶＳ４と、第４操作領域に加えて、他のＧＵＩを有する構成であってもよい。
【０１６０】
処理部３６３は、領域ＶＳ４に表示された仮想空間内に前述の仮想ロボットを配置する。そして、処理部３６３は、取得した経路情報が示す経路に基づく動作を当該仮想ロボットに行わせる。また、表示制御部３６１は、当該仮想空間内において当該動作を行う当該仮想ロボットを領域ＶＳ４に表示させる。この際、表示制御部３６１は、当該仮想空間内に、前述の領域ＶＳ３に表示された１以上のオブジェクトを配置する構成であってもよく、当該１以上のオブジェクトを配置しない構成であってもよい。図１３に示した例では、領域ＶＳ４には、ロボットＶＲの動作のうち、仮想第１エンドエフェクターＶＥによって把持したオブジェクトＯＢを移動させている動作を表す動画像が表示されている。ユーザーは、領域ＶＳ４に表示された仮想ロボットの動作を見ることによって、ロボット制御装置４０に記憶された動作プログラムに応じたロボット２０の動作が所望の動作であるか否かを判定することができる。すなわち、ユーザーは、ロボット制御装置４０によるロボット２０の動作を、ロボット２０を動作させることなく確認することができる。なお、経路情報は、動作情報の一例である。
【０１６１】
＜実施形態の変形例＞
以下、図１４を参照し、実施形態の変形例について説明する。図１４は、実施形態の変形例に係るロボットシステム１の一例を示す構成図である。なお、実施形態の変形例では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。
【０１６２】
実施形態の変形例では、ロボットシステム１は、双腕ロボットであるロボット２０に代えて、単腕ロボットであるロボット２０ａを備える構成であってもよい。
【０１６３】
＜ロボットの構成＞
図１４に示した通り、ロボット２０ａは、前述の第１アームＡ１が支持台Ｂ３によって支持されている単腕ロボットである。なお、ロボット２０ａは、ロボット２０と異なり、外部に設置されたロボット制御装置４０によって制御される。
【０１６４】
ロボット２０ａは、アームＡ３と、アームＡ３を支持する支持台Ｂ３を備える単腕ロボットである。
【０１６５】
アームＡは、エンドエフェクターＥ３と、マニピュレーターＭ３と、力検出部Ｓ３を備える。
エンドエフェクターＥ３は、物体を保持するエンドエフェクターである。この一例において、エンドエフェクターＥ３は、指部を備え、当該指部によって物体を挟んで持つことにより当該物体を保持する。なお、エンドエフェクターＥ３は、これに代えて、空気の吸引や磁力、他の治具等によって物体を持ち上げることにより当該物体を保持する構成であってもよい。エンドエフェクターＥ３は、保持部の一例である。
【０１６６】
マニピュレーターＭ３は、６つの関節を備える。また、当該６つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターＭ３を備えるアームＡ３は、６軸垂直多関節型のアームである。アームＡ３は、支持台Ｂ３と、エンドエフェクターＥ３と、マニピュレーターＭ３と、マニピュレーターＭ３が備える６つの関節それぞれのアクチュエーターとによる連携した動作によって６軸の自由度の動作を行う。なお、アームＡ３は、５軸以下の自由度で動作する構成であってもよく、７軸以上の自由度で動作する構成であってもよい。
【０１６７】
力検出部Ｓ３は、エンドエフェクターＥ３とマニピュレーターＭ３の間に備えられる。力検出部Ｓ３は、例えば、力センサーである。力検出部Ｓ３は、エンドエフェクターＥ３に作用した外力、又はエンドエフェクターＥ３により保持された物体に作用した外力を検出する。なお、力検出部Ｓ３は、エンドエフェクターＥ３に作用した外力、又はエンドエフェクターＥ３により保持された物体に作用した外力を検出するトルクセンサーであってもよい。
【０１６８】
上記において説明したロボット２０ａが備える各機能部（すなわち、エンドエフェクターＥ３、マニピュレーターＭ３、力検出部Ｓ３）のそれぞれは、ケーブルによってロボット制御装置４０と通信可能に接続されている。これにより、当該各機能部のそれぞれは、ロボット制御装置４０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）、ＵＳＢ等の規格によって行われる。また、当該各機能部のうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置４０と接続される構成であってもよい。
【０１６９】
以上のように、ロボットシステム１は、ロボット（この一例において、ロボット２０、ロボット２０ａ）と、ロボットを制御するロボット制御装置（この一例において、ロボット制御装置４０）と、ロボット制御装置に回線（この一例において、情報処理装置３０とロボット制御装置４０とを通信可能に接続するケーブル）を介して接続された情報処理装置（この一例において、情報処理装置３０）と、を備える。また、情報処理装置は、ロボットを制御するロボット制御装置に当該回線を介して接続される。また、情報処理装置は、動作プログラムに基づいてロボットを動作させるロボット制御装置の動作プログラムにより参照される把持情報を、ロボット制御装置に当該回線を介して出力する。また、把持情報には、ロボットにより把持される物体である把持対象と、ロボットに装着されたエンドエフェクター（この一例において、第１エンドエフェクターＥ１、第２エンドエフェクターＥ２、エンドエフェクターＥ３）との相対的な位置を示す情報（この一例において、相対位置情報）が含まれる。これにより、ロボットシステム１は、動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができる。
【０１７０】
また、ロボットシステム１では、情報処理装置は、ロボット制御装置に回線を介して把持情報を出力し、ロボット制御装置に記憶された把持情報を更新する。これにより、ロボットシステム１は、動作プログラムの変更を伴うことなく更新された把持情報に基づいて、ロボット制御装置にロボットを制御させることができる。
【０１７１】
また、ロボットシステム１では、情報処理装置は、動作プログラムと把持情報とに基づくロボットの動作を示す動作情報（この一例において、経路情報）を取得し、取得した動作情報に応じた画像（この一例において、経路情報に応じた画像）を表示する。これにより、ロボットシステム１は、動作プログラムと把持情報とに基づいてロボット制御装置がロボットに行わせる動作を、ロボットを動作させる前に確認させることができる。
【０１７２】
また、ロボットシステム１では、情報処理装置は、ロボットの周囲に位置する物体の位置であってロボット制御装置によって検出された位置を示す情報と当該物体に応じたオブジェクトを示す情報とが対応付けられた情報（この一例において、周辺物体情報）をロボット制御装置から取得し、取得した当該位置を示す情報及び当該オブジェクトを示す情報と、予め記憶されたオブジェクトに関する情報であるオブジェクト情報とに基づいて、当該物体と前記ロボットとの相対的な位置関係を示す画像（この一例において、周辺物体情報に応じた画像）を表示する。これにより、ロボットシステム１は、ロボット制御装置に設定された位置のうちロボットの周囲に位置する物体のロボット座標系（この一例において、ロボット座標系ＲＣ）における位置を、ロボットを動作させる前に確認させることができる。
【０１７３】
また、ロボットシステム１では、把持情報には、把持対象と、ロボットに装着されたエンドエフェクターとの相対的な姿勢を示す情報（この一例において、相対姿勢情報）が含まれる。これにより、ロボットシステム１は、対象物とロボットに装着されたエンドエフェクターとの相対的な位置及び姿勢を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
【０１７４】
また、ロボットシステム１では、把持情報には、ロボットに装着されたエンドエフェクターが備える指部の開閉量を示す情報（この一例において、開閉量情報）が含まれる。これにより、ロボットシステム１は、ロボットに装着されたエンドエフェクターが備える指部の開閉量を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
【０１７５】
また、ロボットシステム１では、把持情報には、把持対象の位置及び姿勢を表す部位（この一例において、把持対象の重心）と、把持対象が有する部位のうち指定された部位との相対的な位置及び姿勢を示す情報（この一例において、ツール座標系情報）が含まれる。これにより、ロボットシステム１は、把持対象の位置及び姿勢を表す部位と、把持対象が有する部位のうち指定された部位との相対的な位置及び姿勢を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
【０１７６】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１７７】
また、以上に説明した装置（例えば、情報処理装置３０、ロボット制御装置４０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１７８】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１７９】
１…ロボットシステム、２０、２０ａ…ロボット、３０…情報処理装置、４０…ロボット制御装置、３１、４１…プロセッサー、３２、４２…メモリー、３３…入力受付部、３４、４４…通信部、３５…表示部、３６、４６…制御部、３６１…表示制御部、３６３…処理部、３６５、４６５…通信制御部、４６１…プログラム処理部、４６３…経路生成部、４６７…ロボット制御部
【図１】
2019111588.tif 000003
【図２】
2019111588.tif 000004
【図３】
2019111588.tif 000005
【図４】
2019111588.tif 000006
【図５】
2019111588.tif 000007
【図６】
2019111588.tif 000008
【図７】
2019111588.tif 000009
【図８】
2019111588.tif 000010
【図９】
2019111588.tif 000011
【図１０】
2019111588.tif 000012
【図１１】
2019111588.tif 000013
【図１２】
2019111588.tif 000014
【図１３】
2019111588.tif 000015
【図１４】
2019111588.tif 000016