JP2019111588A - ロボットシステム、情報処理装置、及びプログラム - Google Patents
ロボットシステム、情報処理装置、及びプログラム Download PDFInfo
- Publication number
- JP2019111588A JP2019111588A JP2017244397A JP2017244397A JP2019111588A JP 2019111588 A JP2019111588 A JP 2019111588A JP 2017244397 A JP2017244397 A JP 2017244397A JP 2017244397 A JP2017244397 A JP 2017244397A JP 2019111588 A JP2019111588 A JP 2019111588A
- Authority
- JP
- Japan
- Prior art keywords
- information
- robot
- control device
- robot control
- coordinate system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができるロボットシステムを提供すること。【解決手段】ロボットと、前記ロボットを制御するロボット制御装置と、前記ロボット制御装置に回線を介して接続された情報処理装置と、を備えるロボットシステムであって、前記情報処理装置は、ロボットを制御するロボット制御装置に回線を介して接続される情報処理装置であって、動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力し、前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、ロボットシステム。【選択図】図4
Description
この発明は、ロボットシステム、情報処理装置、及びプログラムに関する。
ロボットを制御するロボット制御装置に対して、ロボット制御する際にロボット制御装置が用いる各種の情報を教示する(記憶させる)技術の研究や開発が行われている。
これに関し、動作プログラムに従いロボットの動作を制御するロボットコントローラーに接続され、ロボットの動作姿勢を画面表示するシミュレーターを備え、当該動作プログラムの作成を支援するロボット動作教示支援装置が知られている(特許文献1参照)。
しかしながら、このようなロボット動作教示支援装置では、ユーザーは、動作プログラムを変更しなければ、ロボットの動作を変更することができなかった。すなわち、当該ロボット動作教示支援装置では、ユーザーは、ロボットに行わせる作業に応じてロボットの動作を変更する必要がある場合、作業を変更する毎に動作プログラムの変更を行わなければならなかった。その結果、当該ロボット動作教示支援装置は、ロボットに作業を行わせる効率を向上させることが困難な場合があった。
上記課題を解決するために本発明の一態様は、ロボットと、前記ロボットを制御するロボット制御装置と、前記ロボット制御装置に回線を介して接続された情報処理装置と、を備えるロボットシステムであって、前記情報処理装置は、ロボットを制御するロボット制御装置に回線を介して接続される情報処理装置であって、動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力し、前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、ロボットシステムである。
これにより、ロボットシステムは、動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができる。
これにより、ロボットシステムは、動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができる。
また、本発明の他の態様は、ロボットシステムにおいて、前記情報処理装置は、前記ロボット制御装置に前記回線を介して前記把持情報を出力し、前記ロボット制御装置に記憶された前記把持情報を更新する、構成が用いられてもよい。
これにより、ロボットシステムは、動作プログラムの変更を伴うことなく更新された把持情報に基づいて、ロボット制御装置にロボットを制御させることができる。
これにより、ロボットシステムは、動作プログラムの変更を伴うことなく更新された把持情報に基づいて、ロボット制御装置にロボットを制御させることができる。
また、本発明の他の態様は、ロボットシステムにおいて、前記情報処理装置は、前記動作プログラムと前記把持情報とに基づく前記ロボットの動作を示す動作情報を取得し、取得した前記動作情報に応じた画像を表示する、構成が用いられてもよい。
これにより、ロボットシステムは、動作プログラムと把持情報とに基づいてロボット制御装置がロボットに行わせる動作を、ロボットを動作させる前に確認させることができる。
これにより、ロボットシステムは、動作プログラムと把持情報とに基づいてロボット制御装置がロボットに行わせる動作を、ロボットを動作させる前に確認させることができる。
また、本発明の他の態様は、ロボットシステムにおいて、前記情報処理装置は、前記ロボットの周囲に位置する物体の位置であって前記ロボット制御装置によって検出された位置を示す情報と当該物体に応じたオブジェクトを示す情報とが対応付けられた情報を前記ロボット制御装置から取得し、取得した当該位置を示す情報及び当該オブジェクトを示す情報と、予め記憶されたオブジェクトに関する情報であるオブジェクト情報とに基づいて、当該物体と前記ロボットとの相対的な位置関係を示す画像を表示する、構成が用いられてもよい。
これにより、ロボットシステムは、ロボット制御装置に設定された位置のうちロボットの周囲に位置する物体のロボット座標系における位置を、ロボットを動作させる前に確認させることができる。
これにより、ロボットシステムは、ロボット制御装置に設定された位置のうちロボットの周囲に位置する物体のロボット座標系における位置を、ロボットを動作させる前に確認させることができる。
また、本発明の他の態様は、ロボットシステムにおいて、前記把持情報には、前記把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な姿勢を示す情報が含まれる、構成が用いられてもよい。
これにより、ロボットシステムは、対象物とロボットに装着されたエンドエフェクターとの相対的な位置及び姿勢を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
これにより、ロボットシステムは、対象物とロボットに装着されたエンドエフェクターとの相対的な位置及び姿勢を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
また、本発明の他の態様は、ロボットシステムにおいて、前記把持情報には、前記ロボットに装着されたエンドエフェクターが備える指部の開閉量を示す情報が含まれる、構成が用いられてもよい。
これにより、ロボットシステムは、ロボットに装着されたエンドエフェクターが備える指部の開閉量を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
これにより、ロボットシステムは、ロボットに装着されたエンドエフェクターが備える指部の開閉量を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
また、本発明の他の態様は、ロボットシステムにおいて、前記把持情報には、前記把持対象の位置及び姿勢を表す部位と、前記把持対象が有する部位のうち指定された部位との相対的な位置及び姿勢を示す情報が含まれる、構成が用いられてもよい。
これにより、ロボットシステムは、把持対象の位置及び姿勢を表す部位と、把持対象が有する部位のうち指定された部位との相対的な位置及び姿勢を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
これにより、ロボットシステムは、把持対象の位置及び姿勢を表す部位と、把持対象が有する部位のうち指定された部位との相対的な位置及び姿勢を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
また、本発明の他の態様は、ロボットを制御するロボット制御装置に回線を介して接続される情報処理装置であって、動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力し、前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、情報処理装置である。これにより、情報処理装置は、動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができる。
また、本発明の他の態様は、ロボットを制御するロボット制御装置に回線を介して接続された情報処理装置のコンピューターに、動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力させるプログラムであって、前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、プログラムである。これにより、プログラムは、動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができる。
また、本発明の他の態様は、ロボットを制御するロボット制御装置に回線を介して接続された情報処理装置であって、プロセッサーを備え、前記プロセッサーは、動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力し、前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、情報処理装置である。これにより、情報処理装置は、動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができる。
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。
以下、本発明の実施形態について、図面を参照して説明する。
<ロボットシステムの概要>
まず、本実施形態におけるロボットシステムの概要について説明する。
まず、本実施形態におけるロボットシステムの概要について説明する。
ロボットシステムは、ロボットと、ロボットを制御するロボット制御装置と、ロボット制御装置に回線を介して接続された情報処理装置と、を備える。また、情報処理装置は、動作プログラムに基づいてロボットを動作させるロボット制御装置の動作プログラムにより参照される把持情報を、ロボット制御装置に前記回線を介して出力する。また、把持情報には、ロボットにより把持される物体である把持対象と、ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる。これにより、ロボットシステムは、動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができる。また、これにより、ロボットシステムでは、ロボット制御装置とロボットとが通信可能に接続されていない状態であるオフライン状態であっても、情報処理装置が当該回線を介して把持情報をロボット制御装置に出力することができる。
以下では、ロボットシステムの構成と、ロボットシステムが行う処理について詳しく説明する。
<ロボットシステムの構成>
以下、図1を参照し、前述のロボットシステムの一例であるロボットシステム1の構成について説明する。
以下、図1を参照し、前述のロボットシステムの一例であるロボットシステム1の構成について説明する。
図1は、実施形態に係るロボットシステム1の構成の一例を示す図である。ロボットシステム1は、ロボット20と、情報処理装置30を備える。また、ロボット20は、ロボット制御装置40を内蔵する。ロボット20は、前述のロボットの一例である。なお、ロボットシステム1は、情報処理装置30を備えない構成であってもよい。また、ロボット20は、ロボット制御装置40を内蔵する構成に代えて、外部に設置されたロボット制御装置40により制御される構成であってもよい。この場合、ロボットシステム1は、ロボット20と、ロボット制御装置40を備える。また、ロボットシステム1は、ロボット20と、情報処理装置30との両方に加えて、ロボット20と別体の撮像部等の他の装置を備える構成であってもよい。
ここで、以下では、説明の便宜上、図1に示したロボット座標系RCにおけるZ軸の正方向を上方向又は上と称し、当該Z軸の負方向を下方向又は下と称して説明する。ロボット座標系RCは、ロボット20のロボット座標系のことである。また、以下では、一例として、ロボット座標系RCにおけるZ軸の負方向と重力方向とが一致している場合について説明する。なお、当該負方向と重力方向は、一致していない構成であってもよい。
ロボット20は、第1アームA1と、第2アームA2と、第1アームA1及び第2アームA2を支持する支持台Bと、支持台Bの内側に備えられたロボット制御装置40とを備える双腕ロボットである。なお、ロボット20は、双腕ロボットに代えて、3本以上のアームを備える複腕ロボットであってもよく、1本のアームを備える単腕ロボットであってもよい。また、ロボット20は、スカラ(水平多関節)ロボット、直交座標ロボット、円筒型ロボット等の他のロボットであってもよい。直交座標ロボットは、例えば、ガントリロボットである。
支持台Bは、ロボット20がある面に設置された場合において当該面に直交する方向に沿って2つの部分に分割されている。以下では、説明の便宜上、ロボット20が設置される当該面を設置面と称して説明する。また、以下では、一例として、設置面が図1に示したロボット座標系RCにおけるX軸及びY軸によって張られる面であるXY平面と平行、すなわち、ロボット座標系RCにおけるZ軸と直交している場合について説明する。なお、設置面は、XY平面と非平行、すなわち、当該Z軸と直交していなくてもよい。また、支持台Bは、分割されていない構成であってもよく、3つ以上の部分に分割されている構成であってもよい。当該2つの部分のうち設置面から遠い方の部分は、当該2つの部分のうち設置面から近い方の部分に対して回動可能である。当該遠い方の部分が回動する場合の回動面は、例えば、設置面に対して平行である。なお、当該回動面は、設置面に対して非平行であってもよい。
第1アームA1は、第1エンドエフェクターE1と、第1マニピュレーターM1と、第1力検出部S1を備える。
第1エンドエフェクターE1は、物体を保持するエンドエフェクターである。この一例において、第1エンドエフェクターE1は、指部を備え、当該指部によって物体を挟んで持つことにより当該物体を保持する。なお、第1エンドエフェクターE1は、これに代えて、空気の吸引、磁力、他の治具等によって物体を持ち上げることにより当該物体を保持する構成であってもよい。なお、この一例において、保持するとは、物体の状態を持ち上げることが可能な状態にすることを意味する。
第1マニピュレーターM1は、7つの関節と、第1撮像部C1を備える。また、当該7つの関節のそれぞれは、図示しないアクチュエーターを備える。すなわち、第1マニピュレーターM1を備える第1アームA1は、7軸垂直多関節型のアームである。第1アームA1は、支持台Bと、第1エンドエフェクターE1と、第1マニピュレーターM1と、当該7つの関節それぞれのアクチュエーターとによる連携した動作によって7軸の自由度の動作を行う。なお、第1アームA1は、6軸以下の自由度で動作する構成であってもよく、8軸以上の自由度で動作する構成であってもよい。
第1アームA1が7軸の自由度で動作する場合、第1アームA1は、6軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これにより第1アームA1は、例えば、動作が滑らかになり、更に第1アームA1の周辺に存在する物体との干渉を容易に回避することができる。また、第1アームA1が7軸の自由度で動作する場合、第1アームA1の制御は、第1アームA1が8軸以上の自由度で動作する場合と比較して計算量が少なく容易である。
第1撮像部C1は、例えば、集光された光を電気信号に変換する撮像素子として、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。この一例において、第1撮像部C1は、第1マニピュレーターM1の一部に備えられる。このため、第1撮像部C1は、第1マニピュレーターM1の動きに応じて移動する。すなわち、第1撮像部C1が撮像可能な範囲は、第1アームA1の動きに応じて変化する。
第1力検出部S1は、第1エンドエフェクターE1と第1マニピュレーターM1の間に備えられる。第1力検出部S1は、例えば、力センサーである。第1力検出部S1は、第1エンドエフェクターE1に作用した外力、又は第1エンドエフェクターE1により保持された物体に作用した外力を検出する。なお、第1力検出部S1は、第1エンドエフェクターE1に作用した外力、又は第1エンドエフェクターE1により保持された物体に作用した外力を検出するトルクセンサーであってもよい。
第2アームA2は、第1アームA1の構成と同様の構成を有する。すなわち、第2エンドエフェクターE2は、第1エンドエフェクターE1の構成と同様の構成を有する。また、第2マニピュレーターM2は、第1マニピュレーターM1の構成と同様の構成を有する。また、第2マニピュレーターM2は、第2撮像部C2を備える。第2撮像部C2は、第1撮像部C1の構成と同様の構成を有する。また、第2力検出部S2は、第1力検出部S1の構成と同様の構成を有する。
なお、第2アームA2は、第1アームA1の構成と異なる構成であってもよい。すなわち、第2エンドエフェクターE2は、第1エンドエフェクターE1の構成と異なる構成であってもよい。また、第2マニピュレーターM2は、第1マニピュレーターM1の構成と異なる構成であってもよい。また、第2撮像部C2は、第1撮像部C1の構成と異なる構成であってもよい。また、第2力検出部S2は、第1力検出部S1の構成と異なる構成であってもよい。
また、ロボット20は、第3撮像部C3と、第4撮像部C4を備える。
第3撮像部C3は、例えば、集光された光を電気信号に変換する撮像素子として、CCD、CMOS等を備えたカメラである。第3撮像部C3は、第4撮像部C4が撮像可能な範囲を第4撮像部C4とともにステレオ撮像可能な部位に備えられる。
第4撮像部C4は、例えば、集光された光を電気信号に変換する撮像素子として、CCD、CMOS等を備えたカメラである。第4撮像部C4は、第3撮像部C3が撮像可能な範囲を第3撮像部C3とともにステレオ撮像可能な部位に備えられる。
上記において説明したロボット20が備える各機能部(すなわち、第1エンドエフェクターE1、第2エンドエフェクターE2、第1マニピュレーターM1、第2マニピュレーターM2、第1撮像部C1〜第4撮像部C4、第1力検出部S1、第2力検出部S2)のそれぞれは、ケーブルによってロボット制御装置40と通信可能に接続されている。これにより、当該各機能部のそれぞれは、ロボット制御装置40から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)、USB(Universal Serial Bus)等の規格によって行われる。また、当該各機能部のうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置40と接続される構成であってもよい。なお、ロボット20は、第1撮像部C1、第2撮像部C2、第3撮像部C3、第4撮像部C4のうちの一部又は全部を備えない構成であってもよい。
ロボット制御装置40は、ロボット20を制御する。ここで、以下では、一例として、ロボット制御装置40による第1アームA1の制御方法と、ロボット制御装置40による第2アームA2の制御方法とが、互いに同じ方法である場合について説明する。このため、以下では、ロボット制御装置40による第1アームの制御方法を例に挙げて、ロボット制御装置40によるロボット20の制御について説明する。なお、ロボット制御装置40による第1アームA1の制御方法と、ロボット制御装置40による第2アームA2の制御方法とは、一部又は全部が互いに異なる構成であってもよい。
ロボット制御装置40は、制御点T1を、第1アームA1の予め決められた部位に設定する。制御点T1は、当該部位とともに動く仮想的な点のことである。例えば、制御点T1は、第1アームA1についてのTCP(Tool Center Point)である。なお、制御点T1は、当該TCPに代えて、当該部位とともに動く他の仮想的な点であってもよい。当該予め決められた部位は、例えば、第1エンドエフェクターE1の重心である。すなわち、制御点T1は、第1エンドエフェクターE1とともに動く。なお、当該予め決められた部位は、当該重心に代えて、第1アームA1に応じた他の部位であってもよい。なお、図1に示した制御点T2は、第2アームA2の予め決められた部位にロボット制御装置40によって設定されたTCPを示す。
制御点T1には、制御点T1とともに動く三次元直交座標系である制御点座標系が対応付けられている。制御点T1の位置は、制御点座標系の原点のロボット座標系RCにおける位置によって表される。また、制御点T1の姿勢は、制御点座標系における各座標軸のロボット座標系RCにおける方向によって表される。ここで、以下では、一例として、制御点T1の位置及び姿勢が、第1エンドエフェクターE1の位置及び姿勢を表す場合について説明する。なお、制御点T1の位置及び姿勢は、第1エンドエフェクターE1の位置及び姿勢を表さない構成であってもよい。
ロボット制御装置40は、後述する情報処理装置30を介してユーザーにより予め記憶されたオブジェクト情報と、予め記憶された物***置姿勢情報とに基づいて、周辺物体情報を生成する。また、ロボット制御装置40は、情報処理装置30を介してユーザーにより予め記憶された動作プログラム、教示点情報、オブジェクト情報、把持情報のそれぞれと、生成した周辺物体情報とに基づく経路を生成する。ロボット制御装置40は、生成した経路に沿って制御点T1が動くように第1アームA1を動作させる。なお、物***置姿勢情報は、動作プログラムと、教示点情報と、オブジェクト情報と、把持情報とのそれぞれとともに、情報処理装置30を介してユーザーにより予め記憶される構成であってもよい。
ここで、オブジェクト情報は、オブジェクトに関する情報のことである。オブジェクトは、この一例において、ロボット20の周囲に位置する物体(例えば、ロボット20が把持する物体である把持対象、ロボット20の動作において障害となる物体である障害物、ロボット20が作業において用いる電導ドライバー等のツール)に応じた形状及び大きさを有する仮想的な物体のことである。また、オブジェクトは、情報処理装置30により生成される当該仮想的な物体のことである。オブジェクト情報には、オブジェクト識別情報と、オブジェクト名称情報と、オブジェクト関連情報とが含まれる。ここで、ロボット20の周囲は、第1エンドエフェクターE1と第2エンドエフェクターE2との少なくとも一方が届く範囲内のことである。なお、オブジェクト情報には、オブジェクト識別情報と、オブジェクト名称情報と、オブジェクト関連情報とに加えて、オブジェクトに関する他の情報が含まれる構成であってもよい。
オブジェクト識別情報は、例えば、オブジェクトに対して重複しないように割り当てられたID(IDentification)である。なお、オブジェクト識別情報は、当該IDに代えて、オブジェクトを識別でき、オブジェクトに対して重複しないように割り当てられる他の情報であってもよい。オブジェクト名称情報は、オブジェクト識別情報によって識別されたオブジェクトを示す名称であって情報処理装置30を介してユーザーにより当該オブジェクトに割り当てられた名称を示す情報のことである。オブジェクト関連情報には、オブジェクト識別情報によって識別されたオブジェクトの形状を示す形状情報と、当該オブジェクトの大きさ(例えば、各種の寸法)を示す大きさ情報と、当該オブジェクトに対応付けられたオブジェクト座標系を示すオブジェクト座標系情報とが含まれる。なお、オブジェクト関連情報には、形状情報と、大きさ情報と、オブジェクト座標系情報とに加えて、オブジェクトに関連する他の情報が含まれる構成であってもよい。
あるオブジェクトに対応付けられたオブジェクト座標系は、当該オブジェクトの予め決められた部位であって情報処理装置30を介してユーザーにより指定された部位に対応付けられ、当該部位とともに動く三次元直交座標系のことである。当該オブジェクトの位置は、オブジェクト座標系の原点のロボット座標系RCにおける位置によって表される。オブジェクトの姿勢は、オブジェクト座標系における各座標軸のロボット座標系RCにおける方向によって表される。
物***置姿勢情報は、ロボット20の周囲に位置する1以上の物体のそれぞれについて、物体を識別する情報である物体識別情報と、物体の位置及び姿勢を示す情報とが対応付けられた情報のことである。物体識別情報は、ロボット20の周囲に位置する物体に対して重複しないように割り当てられたIDである。なお、物体識別情報は、当該IDに代えて、当該物体を識別でき、当該物体に対して重複しないように割り当てられる他の情報であってもよい。また、当該物体の位置及び姿勢を示す情報は、ロボット20が備える第1撮像部C1〜第4撮像部C4のうちの一部又は全部によって撮像された撮像画像に基づいてロボット制御装置40が検出した位置及び姿勢であって当該物体のロボット座標系RCにおける位置及び姿勢を示す情報であってもよく、ダイレクトティーチング等によってロボット制御装置40が検出した位置及び姿勢であって当該物体のロボット座標系RCにおける位置及び姿勢を示す情報であってもよく、他の方法によってロボット制御装置40が検出した位置及び姿勢であって当該物体のロボット座標系RCにおける位置及び姿勢を示す情報であってもよい。なお、以下では、一例として、ロボット制御装置40が、当該物体の重心の位置及び姿勢を、当該物体の位置及び姿勢として検出する場合について説明する。当該重心は、当該物体の位置及び姿勢を表す部位の一例である。ここで、当該部位は、当該重心に代えて、当該物体に応じた他の部位であってもよい。また、以下では、一例として、ロボット制御装置40には、物***置姿勢情報が予め記憶されている場合について説明する。なお、物***置姿勢情報は、物体識別情報と、物体の位置及び姿勢を示す情報とに加えて、他の情報が対応付けられた情報であってもよい。
周辺物体情報は、ロボット20の周囲に位置する1以上の物体のそれぞれについて、物体の物***置姿勢情報と、物体に応じたオブジェクトに関するオブジェクト情報に含まれるオブジェクト識別情報とが対応付けられた情報のことである。換言すると、周辺物体情報は、ロボット20の周囲に位置する1以上の物体のそれぞれに応じたオブジェクトを示す情報のことである。また、周辺物体情報は、当該オブジェクトのロボット座標系RCにおける位置及び姿勢を、当該オブジェクトに応じた物体の位置及び姿勢によって示す情報のことである。なお、周辺物体情報には、物***置姿勢情報と、オブジェクト識別情報とに加えて、他の情報が対応付けられた情報であってもよい。
教示点情報は、教示点を示す情報のことである。教示点は、ロボット制御装置40が第1アームA1を動作させて制御点T1を一致させる目標となる仮想的な点のことである。教示点には、教示点の位置を示す情報である教示点位置情報と、教示点の姿勢を示す情報である教示点姿勢情報とが対応付けられている。ロボット20がある教示点に制御点T1を一致させた場合、制御点T1の位置(すなわち、この一例における第1エンドエフェクターE1の位置)は、当該教示点の位置と一致する。また、当該場合、制御点T1の姿勢(すなわち、この一例における第1エンドエフェクターE1の姿勢)は、当該教示点の姿勢と一致する。
把持情報は、前述の把持対象と、ロボット20に装着された第1エンドエフェクターE1との相対的な位置を示す相対位置情報を含む情報のことである。なお、把持情報には、相対位置情報に加えて、他の情報が対応付けられた情報であってもよい。以下では、一例として、把持情報が、前述のオブジェクト識別情報及びオブジェクト名称情報と、相対位置情報と、相対姿勢情報と、開閉量情報と、ツール座標系情報とが対応付けられた情報である場合について説明する。把持情報に含まれるオブジェクト識別情報は、把持対象に応じたオブジェクトのオブジェクト識別情報である。把持情報に含まれるオブジェクト名称情報は、把持対象に応じたオブジェクトのオブジェクト名称情報である。相対姿勢情報は、把持対象と第1エンドエフェクターE1との相対的な姿勢を示す情報のことである。また、開閉量情報は、第1エンドエフェクターE1が備える指部の開閉量のうち第1エンドエフェクターE1に把持対象を把持させる場合における開閉量を示す情報のことである。ここで、当該指部の開閉量は、第1エンドエフェクターE1が備える複数の指部それぞれの先端同士の間の距離を表す量であれば、如何なる量であってもよい。また、ツール座標系情報は、ツール座標系を示す情報のことである。ツール座標系は、第1エンドエフェクターE1により把持された把持対象に対応付けられる三次元直交座標系であって、当該把持対象が有する部位のうちユーザーが所望する部位のロボット座標系RCにおける位置及び姿勢を示す三次元直交座標系のことである。また、ツール座標系は、把持対象とともに動く。このため、ツール座標系情報は、把持対象と当該部位との相対的な位置及び姿勢を示す情報であると換言することができる。ここで、当該部位は、指定された部位の一例である。例えば、当該把持対象が電動ドライバーである場合、ツール座標系は、電動ドライバーの先端のロボット座標系RCにおける位置及び姿勢を表すために当該先端に対応付けられる。なお、把持情報は、オブジェクト識別情報と、オブジェクト名称情報と、相対姿勢情報と、開閉量情報と、ツール座標系情報との一部又は全部を含まない構成であってもよく、オブジェクト識別情報と、オブジェクト名称情報と、相対姿勢情報と、開閉量情報と、ツール座標系情報の一部又は全部に代えて、他の情報を相対位置情報とともに含む構成であってもよく、オブジェクト識別情報と、オブジェクト名称情報と、相対位置情報と、相対姿勢情報と、開閉量情報と、ツール座標系情報との全部に加えて、他の情報を含む構成であってもよい。
また、ロボット制御装置40は、第1力検出部S1が検出した結果を示す情報を第1力検出部S1から取得し、取得した当該情報に基づく力制御によって第1アームA1を動作させる。当該力制御は、インピーダンス制御等のコンプライアントモーション制御のことである。
ロボット制御装置40は、上記において説明した処理によって第1アームA1を動作させる。また、ロボット制御装置40は、当該処理と同様の処理によって第2アームA2を動作させる。そして、ロボット制御装置40は、第1アームA1と第2アームA2との少なくとも一方を動作させ、ロボット20に所定の作業を行わせる。所定の作業は、如何なる作業であってもよい。なお、ロボット制御装置40は、当該処理に加えて、他の処理によって第1アームA1と第2アームA2との少なくとも一方を動作させる構成であってもよい。
情報処理装置30は、例えば、ノートPC(Personal Computer)、タブレットPC、デスクトップPC、ワークステーション、多機能携帯電話端末(スマートフォン)、携帯電話端末、PDA(Personal Digital Assistant)等の情報処理装置である。なお、情報処理装置30は、ティーチングペンダントであってもよい。
情報処理装置30は、ユーザーから受け付けた操作に応じて、動作プログラム、教示点情報、オブジェクト情報、把持情報等の各種の情報を生成する。そして、情報処理装置30は、生成した情報を、ロボット制御装置40に出力して記憶させる(ロボット制御装置40に教示する)。ここで、情報処理装置30は、ロボット制御装置40がオフライン状態である場合であっても、生成した情報を、ロボット制御装置40に出力して記憶させることができる。
情報処理装置30は、ケーブルによって通信可能にロボット制御装置40と接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)、USB等の規格によって行われる。ここで、情報処理装置30とロボット制御装置40とを繋ぐケーブルは、情報処理装置30とロボット制御装置40とを通信可能に接続する回線のうちの有線による回線の一例である。なお、情報処理装置30は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置40と接続される構成であってもよい。この場合、例えば、Wi−Fi(登録商標)は、情報処理装置30とロボット制御装置40との間を通信可能に接続する回線のうちの無線による回線の一例である。
<情報処理装置のハードウェア構成>
以下、図2を参照し、情報処理装置30のハードウェア構成について説明する。図2は、情報処理装置30のハードウェア構成の一例を示す図である。
以下、図2を参照し、情報処理装置30のハードウェア構成について説明する。図2は、情報処理装置30のハードウェア構成の一例を示す図である。
情報処理装置30は、例えば、プロセッサー31と、メモリー32と、入力受付部33と、通信部34と、表示部35を備える。また、情報処理装置30は、通信部34を介してロボット制御装置40と通信を行う。これらの構成要素は、バスを介して相互に通信可能に接続されている。
プロセッサー31は、例えば、CPU(Central Processing Unit)である。なお、プロセッサー31は、CPUに代えて、FPGA(Field Programmable Gate Array)等の他のプロセッサーであってもよい。プロセッサー31は、メモリー32に格納された各種のプログラムを実行する。なお、プロセッサー31は、1つの情報処理装置(この一例において、情報処理装置30)が備えるCPUによって構成されてもよく、複数の情報処理装置が備えるCPUによって構成されてもよい。
メモリー32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)等を含む。なお、メモリー32は、情報処理装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。メモリー32は、情報処理装置30が処理する各種の情報、各種の画像、動作プログラム等を格納する。なお、メモリー32は、1つの記憶装置によって構成されてもよく、複数の記憶装置によって構成されてもよい。また、当該複数の記憶装置には、情報処理装置30と別体の情報処理装置が備える記憶装置が含まれる構成であってもよい。
入力受付部33は、キーボード、マウス、タッチパッド等の入力装置である。なお、入力受付部33は、表示部35と一体に構成されたタッチパネルであってもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
<ロボット制御装置のハードウェア構成>
以下、図3を参照し、ロボット制御装置40のハードウェア構成について説明する。図3は、ロボット制御装置40のハードウェア構成の一例を示す図である。
以下、図3を参照し、ロボット制御装置40のハードウェア構成について説明する。図3は、ロボット制御装置40のハードウェア構成の一例を示す図である。
ロボット制御装置40は、例えば、プロセッサー41と、メモリー42と、通信部44を備える。また、ロボット制御装置40は、通信部44を介して情報処理装置30と通信を行う。これらの構成要素は、バスを介して相互に通信可能に接続されている。
プロセッサー41の構成は、プロセッサー31の構成と同様の構成であるため、説明を省略する。
メモリー42の構成は、メモリー32の構成と同様の構成であるため、説明を省略する。
通信部44の構成は、通信部34の構成と同様の構成であるため、説明を省略する。
なお、ロボット制御装置40は、キーボード、マウス、タッチパッド等の入力装置と、ディスプレイを有する表示装置とのいずれか一方又は両方を備える構成であってもよい。
<ロボット制御装置の機能構成>
以下、図4を参照し、情報処理装置30及びロボット制御装置40それぞれの機能構成について説明する。図4は、情報処理装置30及びロボット制御装置40それぞれの機能構成の一例を示す図である。
以下、図4を参照し、情報処理装置30及びロボット制御装置40それぞれの機能構成について説明する。図4は、情報処理装置30及びロボット制御装置40それぞれの機能構成の一例を示す図である。
情報処理装置30は、メモリー32と、入力受付部33と、通信部34と、表示部35と、制御部36を備える。
制御部36は、情報処理装置30の全体を制御する。制御部36は、表示制御部361と、処理部363と、通信制御部365を備える。制御部36が備えるこれらの機能部は、例えば、プロセッサー31が、メモリー32に記憶された各種の指令(例えば、プログラム、プログラムに含まれる各コマンド等)を実行することにより実現される。また、当該機能部のうちの一部又は全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
表示制御部361は、ユーザーから受け付けた操作に応じて、各種の画像を生成する。表示制御部361は、生成した画像を表示部35に表示させる。
処理部363は、表示部35に表示された画像を介してユーザーから受け付けた操作に応じた処理を行う。
通信制御部365は、通信部34を介したロボット制御装置40との通信を制御する。
ロボット制御装置40は、メモリー42と、通信部44と、制御部46を備える。
制御部46は、ロボット制御装置40の全体を制御する。制御部46は、プログラム処理部461と、経路生成部463と、通信制御部465と、ロボット制御部467を備える。制御部46が備えるこれらの機能部は、例えば、プロセッサー41が、メモリー42に記憶された各種の指令(例えば、プログラム、プログラムに含まれる各コマンド等)を実行することにより実現される。また、当該機能部のうちの一部又は全部は、LSI、ASIC等のハードウェア機能部であってもよい。
プログラム処理部461は、第1アームA1の制御において、メモリー42に記憶された動作プログラムをメモリー42から読み出す。プログラム処理部461は、読み出した動作プログラムに基づいて、教示点情報が記憶されたメモリー42から、動作プログラムによって指定された1以上の教示点のそれぞれを示す教示点情報を読み出す。プログラム処理部461は、読み出した教示点情報を経路生成部463に出力する。また、プログラム処理部461は、第2アームA2の制御において、第1アームの制御において行う処理と同様の処理を行う。
経路生成部463は、メモリー42に記憶されたオブジェクト情報をメモリー42から読み出す。また、経路生成部463は、メモリー42に記憶された物***置姿勢情報をメモリー42から読み出す。経路生成部463は、読み出したオブジェクト情報及び物***置姿勢情報に基づいて、周辺物体情報を生成する。経路生成部463は、生成した周辺物体情報をメモリー42に記憶させる。また、経路生成部463は、第1アームA1の制御において、プログラム処理部461から教示点情報を取得する。また、経路生成部463は、当該制御において、メモリー42に記憶されたオブジェクト情報、周辺物体情報、把持情報のそれぞれをメモリー42から読み出す。経路生成部463は、取得した教示点情報と、読み出したオブジェクト情報、周辺物体情報、把持情報のそれぞれとに基づいて、現在の制御点T1の位置及び姿勢を当該教示点情報が示す教示点の位置及び姿勢と一致させるまでに制御点T1を通過させる経路を生成する。経路生成部463は、生成した経路を示す経路情報をメモリー42に記憶させる。また、経路生成部463は、第2アームの制御において、第1アームの制御において行う処理と同様の処理を行う。
通信制御部465は、通信部44を介した情報処理装置30との通信を制御する。
ロボット制御部467は、第1アームA1の制御において、メモリー42に記憶された経路情報をメモリー42から読み出す。ロボット制御部467は、読み出した経路情報に基づいて、当該経路情報が示す経路上の各点における回動角であって第1アームA1が備える各関節の回動角を算出し、算出した回動角に基づいて第1アームA1を動かし、制御点T1を第1経路に沿って移動させる。また、ロボット制御部467は、第2アームA2の制御において、第1アームの制御において行う処理と同様の処理を行う。
<情報処理装置が行う情報編集処理>
以下、図5を参照し、情報処理装置30が行う情報編集処理について説明する。図5は、情報処理装置30が行う情報編集処理の流れの一例を示す図である。情報編集処理は、情報処理装置30が行う処理のうち、ユーザーから受け付けた操作に応じて各種の情報(例えば、オブジェクト情報、把持情報、教示点情報、動作プログラム等)の編集(例えば、生成、変更、出力等)を行う処理のことである。
以下、図5を参照し、情報処理装置30が行う情報編集処理について説明する。図5は、情報処理装置30が行う情報編集処理の流れの一例を示す図である。情報編集処理は、情報処理装置30が行う処理のうち、ユーザーから受け付けた操作に応じて各種の情報(例えば、オブジェクト情報、把持情報、教示点情報、動作プログラム等)の編集(例えば、生成、変更、出力等)を行う処理のことである。
表示制御部361は、情報編集処理を開始する操作をユーザーから受け付けるまで待機する(ステップS110)。表示制御部361は、例えば、表示制御部361によって表示部35に予め表示された図示しない操作画像を介してユーザーから当該操作を受け付ける。
情報編集処理を開始する操作をユーザーから受け付けた場合(ステップS110−YES)、表示制御部361は、図示しない情報編集画像を生成する。そして、表示制御部361は、生成した情報編集画像を表示部35に表示させる(ステップS120)。情報編集画像は、各種の情報の編集(例えば、生成、変更、出力等)を行う操作をユーザーから情報処理装置30が受け付ける画像のことである。また、情報編集画像は、複数のタブを有する。表示制御部361は、情報編集画像において、当該複数のタブのうちのいずれかをユーザーが選択する操作を受け付けた場合、受け付けた操作によって選択されたタブに応じた画像を表示部35に表示させる。当該複数のタブには、例えば、オブジェクト情報編集画像に応じたタブと、把持情報編集画像に応じたタブと、教示点情報編集画像に応じたタブと、動作プログラム編集画像に応じたタブとのそれぞれが含まれている。なお、当該タブには、他の画像に応じたタブが含まれる構成であってもよい。また、情報編集画像の構成は、当該複数のタブが含まれる画像であれば、如何なるGUI(Graphical User Interface)を含む画像であってもよい。このため、情報編集画像については、これ以上の説明を省略する。
オブジェクト情報編集画像は、オブジェクト情報の編集(例えば、生成、変更、出力等)を行う操作をユーザーから情報処理装置30が受け付ける画像のことである。また、把持情報編集画像は、把持情報の編集(例えば、生成、変更、出力等)を行う操作をユーザーから情報処理装置30が受け付ける画像のことである。また、教示点情報編集画像は、教示点情報の編集(例えば、生成、変更、出力等)を行う操作をユーザーから情報処理装置30が受け付ける画像のことである。また、動作プログラム編集画像は、動作プログラムの編集(例えば、生成、変更、出力等)を行う操作をユーザーから情報処理装置30が受け付ける画像のことである。
ステップS120の処理が行われた後、処理部363は、情報編集画像を介してユーザーから操作を受け付けるまで待機する(ステップS130)。情報編集画像を介してユーザーから操作を受け付けたと判定した場合(ステップS130−YES)、処理部363は、受け付けた操作が、情報編集画像における各種の情報(例えば、動作プログラム、オブジェクト情報、把持情報等)の編集(例えば、生成、変更、出力等)を行う操作を終了させる編集終了操作であるか否か判定する(ステップS140)。ステップS130において受け付けた操作が編集終了操作ではないと判定した場合(ステップS140−NO)、処理部363は、当該操作に応じた処理(例えば、オブジェクト情報の編集を行う処理、把持情報の編集を行う処理、教示点情報の編集を行う処理、動作プログラムの編集を行う処理等)を行い(ステップS150)、その後、ステップS130に遷移し、情報編集画像を介してユーザーから操作を受け付けるまで再び待機する。一方、ステップS140において受け付けた操作が編集終了操作であると判定した場合(ステップS140−YES)、処理部363は、表示部35における情報編集画像の表示を削除し、処理を終了する。
<オブジェクト情報編集画像>
以下、図6を参照し、オブジェクト情報編集画像と、オブジェクト情報編集画像における情報処理装置30の処理とのそれぞれについて説明する。図6は、オブジェクト情報編集画像の一例を示す図である。図6に示した画像P1は、オブジェクト編集画像の一例である。画像P1は、例えば、領域VSと、ユーザーから操作を受け付ける各種のGUI(Graphical User Interface)が配置された操作領域である図示しない第1操作領域(図6に示した例では、画像P1が有する領域のうち領域VS以外の領域のうちの少なくとも一部)とを有する。ここで、領域VSは、画像P1が有する領域のうち、処理部363がメモリー32の記憶領域内に生成した仮想空間内に配置された各種の仮想的な物体を表示する領域の一例である。なお、画像P1は、領域VSと、第1操作領域に加えて、他のGUIを有する構成であってもよい。
以下、図6を参照し、オブジェクト情報編集画像と、オブジェクト情報編集画像における情報処理装置30の処理とのそれぞれについて説明する。図6は、オブジェクト情報編集画像の一例を示す図である。図6に示した画像P1は、オブジェクト編集画像の一例である。画像P1は、例えば、領域VSと、ユーザーから操作を受け付ける各種のGUI(Graphical User Interface)が配置された操作領域である図示しない第1操作領域(図6に示した例では、画像P1が有する領域のうち領域VS以外の領域のうちの少なくとも一部)とを有する。ここで、領域VSは、画像P1が有する領域のうち、処理部363がメモリー32の記憶領域内に生成した仮想空間内に配置された各種の仮想的な物体を表示する領域の一例である。なお、画像P1は、領域VSと、第1操作領域に加えて、他のGUIを有する構成であってもよい。
画像P1では、ユーザーは、オブジェクト情報の編集として、オブジェクト情報の生成、変更、出力、記憶等を行うことができる。当該出力は、オブジェクト情報のロボット制御装置40への出力のことである。
ここで、画像P1においてユーザーが情報処理装置30に対して行う各種の操作と、当該操作に応じた情報処理装置30の処理について説明する。
ユーザーは、例えば、画像P1において、オブジェクトを生成することができる。オブジェクトを生成する際、ユーザーは、メモリー32に予め記憶された1以上のモデル情報のうちのいずれかを選択する操作を、前述の第1操作領域に対して行う。当該操作が行われた場合、処理部363は、受け付けた操作によって選択されたモデル情報をメモリー32から読み出す。モデル情報は、例えば、ロボット20の周囲に位置する物体それぞれの三次元形状を表すモデルを示す情報のことである。モデル情報は、例えば、当該物体それぞれのCAD(Computer Aided Design)データである。なお、モデル情報は、CADデータに代えて、他の情報であってもよい。メモリー32からモデル情報を読み出した後、処理部363は、メモリー32から読み出したモデル情報が表すモデルに基づいて、当該モデルが表す三次元形状を包含する仮想的な物体のうち、形状が単純であり且つ体積が最も小さい仮想的な物体を、当該モデルが表す三次元形状の物体に応じたオブジェクトとして生成する。ここで、モデル情報が表すモデルに基づいてオブジェクトを生成する処理は、既知の方法であってもよく、これから開発される方法でもよい。表示制御部361は、処理部363によって生成されたオブジェクトを、前述の領域VSに表示された仮想空間内に配置することにより、領域VSに表示させる。当該仮想空間内にオブジェクトを配置する際、表示制御部361は、当該仮想空間内の如何なる位置にオブジェクトを配置してもよい。例えば、表示制御部361は、当該仮想空間内において予め決められた基準となる点と、オブジェクトの重心とが一致するようにオブジェクトを当該仮想空間内に配置する。以下では、一例として、あるオブジェクトが有する部位のうち当該オブジェクトの位置及び姿勢を表す部位が、当該オブジェクトが有する部位のうち当該オブジェクトに応じた物体の位置及び姿勢を表す部位(この一例において、当該物体の重心)に対応する部位である場合について説明する。なお、あるオブジェクトが有する部位のうち当該オブジェクトの位置及び姿勢を表す部位は、当該オブジェクトが有する部位のうち当該オブジェクトに応じた物体の位置及び姿勢を表す部位に対応しない部位であってもよい。
また、ユーザーは、例えば、画像P1において、メモリー32に予め記憶された1以上のオブジェクト情報のうちのいずれかのオブジェクト情報に応じたオブジェクトを領域VSに表示することができる。メモリー32に予め記憶されたオブジェクト情報のいずれかに応じたオブジェクトを表示する際、ユーザーは、メモリー32に予め記憶された1以上のオブジェクト情報のうちのいずれかを選択する操作を、第1操作領域に対して行う。当該操作が行われた場合、処理部363は、受け付けた操作によって選択されたオブジェクト情報をメモリー32から読み出す。そして、表示制御部361は、メモリー32から処理部363が読み出したオブジェクト情報に応じたオブジェクトを、領域VSに表示された仮想空間内に配置することにより、領域VSに表示させる。
ここで、あるオブジェクト情報に応じたオブジェクトは、当該オブジェクト情報に含まれる形状情報が示す形状と、当該オブジェクト情報に含まれる大きさ情報が示す大きさとのそれぞれを有するオブジェクトである。また、当該オブジェクト情報に応じたオブジェクトは、当該オブジェクト情報に含まれるオブジェクト座標系情報が示すオブジェクト座標系が対応付けられたオブジェクトである。すなわち、当該オブジェクトの位置は、前述した通り、当該オブジェクト座標系の原点のロボット座標系RCにおける位置によって表される。また、当該オブジェクトの姿勢は、当該オブジェクト座標系における各座標軸のロボット座標系RCにおける方向によって表される。また、当該オブジェクト情報に応じたオブジェクトには、オブジェクト情報に含まれるオブジェクト識別情報、オブジェクト名称情報のそれぞれが対応付けられている。
なお、以下では、一例として、領域VSに表示させることができるオブジェクトの数は、1つである場合について説明する。すなわち、表示制御部361は、新たなオブジェクトを領域VSに表示させる場合、当該オブジェクトの前に領域VSに表示されていたオブジェクトを領域VSに表示された仮想空間内から削除する。なお、表示制御部361は、2つ以上のオブジェクトを領域VSに表示させることが可能な構成であってもよい。
ここで、図6に示したオブジェクトOBは、図6に示したモデルOが表す三次元形状の物体に応じたオブジェクトであって処理部363によって生成されたオブジェクトの一例である。図6に示した例では、モデルOが表す三次元形状の物体は、バネ(スプリング)である。なお、当該物体は、バネに代えて、他の如何なる物体であってもよい。図6に示したように、オブジェクトOBは、モデルOが表す三次元形状を包含する仮想的な物体のうち、形状が単純であり且つ体積が最も小さい仮想的な物体である。また、当該例では、オブジェクトOBの形状は、直方体形状である。
また、ユーザーは、例えば、画像P1において、領域VSに表示されたオブジェクトの形状を変更することができる。当該オブジェクトの形状を変更する際、ユーザーは、当該形状を変更する操作を、第1操作領域又は領域VSに対して行う。当該操作が行われた場合、処理部363は、当該操作に応じて当該形状を変更する。そして、表示制御部361は、当該形状を変更した後の当該オブジェクトを領域VSに表示させる。
また、ユーザーは、例えば、画像P1において、領域VSに表示されたオブジェクトの大きさを変更することができる。当該オブジェクトの大きさを変更する際、ユーザーは、当該大きさを変更する操作を、第1操作領域又は領域VSに対して行う。当該操作が行われた場合、処理部363は、当該操作に応じて当該大きさを変更する。そして、表示制御部361は、当該大きさを変更した後の当該オブジェクトを領域VSに表示させる。
また、ユーザーは、例えば、画像P1において、領域VSに表示されたオブジェクトに応じたオブジェクト情報に対応付けるオブジェクト名称情報を入力することができる。当該オブジェクト名称情報を入力する際、ユーザーは、当該オブジェクト名称情報を入力する操作を、第1操作領域に対して行う。当該操作が行われた場合、処理部363は、入力されたオブジェクト名称情報を、当該オブジェクト情報に対応付けるオブジェクト名称情報として特定する。また、表示制御部361は、第1操作領域においてオブジェクト名称情報を入力する欄に、入力されたオブジェクト名称情報を表示する。
また、ユーザーは、例えば、画像P1において、領域VSに表示されたオブジェクトが有する部位のうちユーザーが所望する部位に、オブジェクトのロボット座標系RCにおける位置及び姿勢を表す三次元直交座標系をオブジェクト座標系として当該オブジェクトに対応付けることができる。当該オブジェクトに当該オブジェクト座標系を対応付ける際、ユーザーは、当該オブジェクト座標系を領域VSに表示させる操作を、第1操作領域に対して行う。そして、領域VSに当該オブジェクト座標系を領域VSに表示された後、ユーザーは、例えば、領域VSにおいて、当該オブジェクト座標系をドラッグすることにより、領域VSに表示された仮想空間内において、当該オブジェクト座標系を当該オブジェクトに対して相対的に移動(具体的には、並進又は回転)させ、当該オブジェクトが有する部位のうちユーザーが所望する部位に、ユーザーが所望する位置及び姿勢のオブジェクト座標系を対応付ける。当該オブジェクト座標系を領域VSに表示させる操作が行われた場合、表示制御部361は、当該オブジェクト座標系を領域VSに表示させる。また、表示制御部361は、領域VSにおいて当該オブジェクト座標系を当該オブジェクトに対して相対的に移動させる操作をユーザーから受け付けた場合、領域VSに表示された当該オブジェクト座標系の当該オブジェクトに対する相対的な位置及び姿勢を、当該操作に応じた位置及び姿勢に変更する。また、処理部363は、当該オブジェクト座標系の当該オブジェクトに対する相対的な位置及び姿勢が変更される毎に、当該オブジェクトに対して当該オブジェクト座標系を対応付ける。当該オブジェクト座標系が対応付けられた当該オブジェクトの位置は、当該オブジェクト座標系の原点のロボット座標系RCにおける位置によって表される。また、当該オブジェクトの姿勢は、当該オブジェクト座標系における各座標軸のロボット座標系RCにおける方向によって表される。図6に示した座標系OCは、オブジェクトOBに対応付けられたオブジェクト座標系の一例である。すなわち、図6に示した例では、ユーザーは、領域VSにおいて、座標系OCをドラッグすることにより、領域VSに表示された仮想空間内において、座標系OCをオブジェクトOBに対して相対的に移動(具体的には、並進又は回転)させることができる。
また、ユーザーは、例えば、画像P1において、領域VSに表示されたオブジェクト及びオブジェクト座標系と、情報処理装置30に入力したオブジェクト名称情報とに基づくオブジェクト情報を生成することができる。オブジェクト情報を生成する際、ユーザーは、オブジェクト情報を生成する操作を、第1操作領域に対して行う。当該操作が行われた場合、処理部363は、領域VSに表示されたオブジェクト(図6に示した例では、オブジェクトOB)と、領域VSに表示されたオブジェクト座標系(図6に示した例では、座標系OC)と、予め入力されたオブジェクト名称情報とに基づいて、オブジェクト情報を生成する。より具体的には、処理部363は、当該操作に応じて、当該オブジェクトにオブジェクト識別情報を割り当てる。また、処理部363は、当該オブジェクトに基づいて、当該オブジェクトの形状を示す形状情報と、当該オブジェクトの大きさを示す大きさ情報とのそれぞれを生成する。また、処理部363は、当該オブジェクトに対応付けられた当該オブジェクト座標系に基づいて、当該オブジェクトに対応付けられた当該オブジェクト座標系を示すオブジェクト座標系情報を生成する。処理部363は、生成した形状情報、大きさ情報、オブジェクト座標系情報のそれぞれを含むオブジェクト関連情報を生成する。処理部363は、生成したオブジェクト識別情報と、予め入力されたオブジェクト名称情報と、生成したオブジェクト関連情報のそれぞれを含むオブジェクト情報を生成する。ここで、図7は、オブジェクト情報の一例を示す図である。図7に示したように、オブジェクト情報では、オブジェクト識別情報と、オブジェクト名称情報と、オブジェクト関連情報とが対応付けられている。なお、図7に示した例では、オブジェクト情報は、オブジェクト識別情報と、オブジェクト名称情報と、オブジェクト関連情報とを対応付けて格納するテーブルであるが、当該テーブルに代えて、オブジェクト識別情報と、オブジェクト名称情報と、オブジェクト関連情報とを対応付ける他の情報であってもよい。
また、ユーザーは、例えば、画像P1において、生成したオブジェクト情報を情報処理装置30にロボット制御装置40へ出力させることができる。当該オブジェクト情報を情報処理装置30にロボット制御装置40へ出力させる際、ユーザーは、当該オブジェクト情報を情報処理装置30にロボット制御装置40へ出力させる操作を、第1操作領域に対して行う。当該操作が行われた場合、通信制御部365は、通信部34と、情報処理装置30とロボット制御装置40とを通信可能に接続するケーブルとを介して、当該オブジェクト情報をロボット制御装置40へ出力する。
また、ユーザーは、例えば、画像P1において、生成したオブジェクト情報をメモリー32に記憶させることができる。当該オブジェクト情報をメモリー32に記憶させる際、ユーザーは、当該オブジェクト名称情報をメモリー32に記憶させる操作を、第1操作領域に対して行う。当該操作が行われた場合、処理部363は、当該オブジェクト情報をメモリー32に記憶させる。
以上のように、情報処理装置30は、オブジェクト情報編集画像を介してユーザーから受け付けた操作に基づいて、オブジェクト情報の生成、変更、出力、記憶を行うことができる。
<把持情報編集画像>
以下、図8を参照し、把持情報編集画像について説明する。図8は、把持情報編集画像の一例を示す図である。図8に示した画像P2は、把持編集画像の一例である。画像P2は、例えば、領域VS2と、ユーザーから操作を受け付ける各種のGUIが配置された図示しない操作領域である第2操作領域(図8に示した例では、画像P2が有する領域のうち領域VS2以外の領域のうちの少なくとも一部)とを有する。ここで、領域VS2は、画像P2が有する領域のうち、処理部363がメモリー32の記憶領域内に生成した仮想空間内に配置された各種の仮想的な物体を表示する領域の一例である。当該仮想空間は、領域VSに表示された仮想空間と同じ仮想空間であってもよく、領域VSに表示された仮想空間と異なる仮想空間であってもよい。以下では、一例として、領域VS2に表示された仮想空間が、領域VSに表示された仮想空間と異なる仮想空間である場合について説明する。なお、画像P2は、領域VS2と、第2操作領域に加えて、他のGUIを有する構成であってもよい。
以下、図8を参照し、把持情報編集画像について説明する。図8は、把持情報編集画像の一例を示す図である。図8に示した画像P2は、把持編集画像の一例である。画像P2は、例えば、領域VS2と、ユーザーから操作を受け付ける各種のGUIが配置された図示しない操作領域である第2操作領域(図8に示した例では、画像P2が有する領域のうち領域VS2以外の領域のうちの少なくとも一部)とを有する。ここで、領域VS2は、画像P2が有する領域のうち、処理部363がメモリー32の記憶領域内に生成した仮想空間内に配置された各種の仮想的な物体を表示する領域の一例である。当該仮想空間は、領域VSに表示された仮想空間と同じ仮想空間であってもよく、領域VSに表示された仮想空間と異なる仮想空間であってもよい。以下では、一例として、領域VS2に表示された仮想空間が、領域VSに表示された仮想空間と異なる仮想空間である場合について説明する。なお、画像P2は、領域VS2と、第2操作領域に加えて、他のGUIを有する構成であってもよい。
画像P2では、ユーザーは、例えば、把持情報の編集として、把持情報の生成、変更、出力、記憶等を行うことができる。ここで、当該出力は、把持情報のロボット制御装置40への出力のことである。
ここで、画像P2においてユーザーが情報処理装置30に対して行う各種の操作と、当該操作に応じた情報処理装置30の処理について説明する。
ユーザーは、例えば、画像P2において、メモリー32に予め記憶された1以上のオブジェクト情報のうちのいずれかのオブジェクト情報に応じたオブジェクトを領域VS2に表示することができる。メモリー32に予め記憶されたオブジェクト情報のいずれかに応じたオブジェクトを表示する際、ユーザーは、メモリー32に予め記憶された1以上のオブジェクト情報のうちのいずれかを選択する操作を、第2操作領域に対して行う。当該操作が行われた場合、処理部363は、受け付けた操作によって選択されたオブジェクト情報をメモリー32から読み出す。そして、表示制御部361は、メモリー32から処理部363が読み出したオブジェクト情報に応じたオブジェクトを、領域VS2に表示された仮想空間内に配置することにより、領域VS2に表示させる。この際、表示制御部361は、当該オブジェクトに対応付けられたオブジェクト座標系を領域VS2に表示させる構成であってもよく、当該オブジェクト座標系を領域VS2に表示させる構成であってもよい。なお、図8に示したオブジェクトOBは、領域VS2に表示されたオブジェクトの一例である。また、図8に示した例では、オブジェクトOBに対応付けられたオブジェクト座標系の一例である座標系OCは、図が煩雑になるのを防ぐため、省略されている。また、当該仮想空間内にオブジェクトを配置する際、表示制御部361は、当該仮想空間内の如何なる位置にオブジェクトを配置してもよい。例えば、表示制御部361は、当該仮想空間内において予め決められた基準となる点と、オブジェクトの重心とが一致するようにオブジェクトを当該仮想空間内に配置する。
また、ユーザーは、例えば、画像P2において、仮想的な第1エンドエフェクターE1である仮想第1エンドエフェクターを、領域VS2に表示されたオブジェクトとともに領域VS2に表示させることができる。仮想第1エンドエフェクターを領域VS2に表示させる際、ユーザーは、仮想第1エンドエフェクターを領域VS2に表示させる操作を、第2操作領域に対して行う。当該操作が行われた場合、処理部363は、仮想第1エンドエフェクターを生成する。そして、表示制御部361は、処理部363によって生成された仮想第1エンドエフェクターを、領域VS2に表示された仮想空間内に配置することにより、領域VS2に表示させる。また、表示制御部361は、第1エンドエフェクターE1に設定された制御点T1に対応付けられた制御点座標系を、仮想第1エンドエフェクターとともに表示させる。ここで、図8に示した仮想第1エンドエフェクターVEは、領域VS2に表示された仮想第1エンドエフェクターの一例である。また、図8に示した座標系TCは、当該制御点座標系の一例である。
また、ユーザーは、例えば、画像P2において、領域VS2に表示された仮想第1エンドエフェクターをオブジェクトに対して相対的に移動(具体的には、並進又は回転)させ、仮想第1エンドエフェクターのオブジェクトに対する相対的な位置及び姿勢を、ユーザーが所望する位置及び姿勢と一致させることができる。仮想第1エンドエフェクターのオブジェクトに対する相対的な位置及び姿勢を、ユーザーが所望する位置及び姿勢と一致させる際、ユーザーは、仮想第1エンドエフェクターのオブジェクトに対する相対的な位置及び姿勢を、ユーザーが所望する位置及び姿勢と一致させる操作を、第2操作領域又は領域VS2に対して行う。例えば、ユーザーは、領域VS2において、仮想第1エンドエフェクターをドラッグすることにより、領域VS2に表示された仮想空間内において、領域VS2に表示されたオブジェクトに対して相対的に移動(具体的には、並進又は回転)させ、仮想第1エンドエフェクターのオブジェクトに対する相対的な位置及び姿勢を、ユーザーが所望する位置及び姿勢と一致させる。当該操作を受け付けた場合、表示制御部361は、領域VS2に表示された仮想第1エンドエフェクターのオブジェクトに対する相対的な位置及び姿勢を、当該操作に応じた位置及び姿勢に変更する。ここで、当該位置及び当該姿勢は、オブジェクトに応じた物体を第1エンドエフェクターE1に把持させる場合における第1エンドエフェクターE1の当該物体に対する相対的な位置及び姿勢のことである。図8に示した例では、ユーザーは、領域VS2において、仮想第1エンドエフェクターVEをドラッグすることにより、領域VS2に表示された仮想空間内において、仮想第1エンドエフェクターVEをオブジェクトOBに対して相対的に移動(具体的には、並進又は回転)させることができる。
また、ユーザーは、例えば、画像P1において、領域VS2に表示された仮想第1エンドエフェクターが有する指部の開閉量を変化させることができる。当該開閉量を変化させる際、ユーザーは、当該開閉量を変化させる操作を、第2操作領域又は領域VS2に対して行う。例えば、ユーザーは、領域VS2において、当該指部をドラッグすることにより、当該指部を仮想第1エンドエフェクターに対して相対的に移動(具体的には、並進)させることができる。当該操作が行われた場合、表示制御部361は、当該開閉量を、当該操作に応じた開閉量に変化させる。
また、ユーザーは、例えば、画像P2において、領域VS2に表示されたオブジェクトが有する部位のうちユーザーが所望する部位に、前述のツール座標系を対応付けることができる。当該オブジェクトにツール座標系を対応付ける際、ユーザーは、ツール座標系を領域VS2に表示させる操作を、第2操作領域に対して行う。そして、領域VS2にツール座標系を領域VS2に表示された後、ユーザーは、例えば、領域VS2において、ツール座標系をドラッグすることにより、領域VS2に表示された仮想空間内において、ツール座標系を当該オブジェクトに対して相対的に移動(具体的には、並進又は回転)させ、当該オブジェクトが有する部位のうちユーザーが所望する部位に、ユーザーが所望する位置及び姿勢のツール座標系を対応付ける。ツール座標系を領域VS2に表示させる操作が行われた場合、表示制御部361は、ツール座標系を領域VS2に表示させる。また、表示制御部361は、領域VS2においてツール座標系を当該オブジェクトに対して相対的に移動させる操作をユーザーから受け付けた場合、領域VS2に表示されたツール座標系の当該オブジェクトに対する相対的な位置及び姿勢を、当該操作に応じた位置及び姿勢に変更する。また、処理部363は、ツール座標系の当該オブジェクトに対する相対的な位置及び姿勢が変更される毎に、当該オブジェクトに対してツール座標系を対応付ける。図8に示した座標系TLCは、このようなツール座標系の一例である。例えば、ユーザーは、領域VS2において、座標系TLCをドラッグすることにより、領域VS2に表示された仮想空間内において、座標系TLCをオブジェクトOBに対して相対的に移動(具体的には、並進又は回転)させることができる。そして、ユーザーは、オブジェクトOBが有する部位のうちユーザーが所望する部位に、ユーザーが所望する位置及び姿勢の座標系TLCを対応付けることができる。座標系TLCが対応付けられた当該部位の位置は、座標系TLCの原点のロボット座標系RCにおける位置によって表される。また、当該部位の姿勢は、座標系TLCにおける各座標軸のロボット座標系RCにおける方向によって表される。
また、ユーザーは、例えば、画像P2において、領域VS2に表示されたオブジェクト、仮想第1エンドエフェクター、ツール座標系のそれぞれに基づく把持情報を生成することができる。把持情報を生成する際、ユーザーは、把持情報を生成する操作を、第2操作領域に対して行う。当該操作が行われた場合、処理部363は、領域VS2に表示されたオブジェクト、仮想第1エンドエフェクター、ツール座標系のそれぞれに基づく把持情報を生成する。より具体的には、処理部363は、領域VS2に表示されたオブジェクトに応じたオブジェクト情報に含まれるオブジェクト識別情報、オブジェクト名称情報のそれぞれを特定する。また、処理部363は、当該オブジェクト情報に含まれるオブジェクト座標系情報が示すオブジェクト座標系と、領域VS2に表示された仮想第1エンドエフェクターに対応付けられた制御点座標系とに基づいて、前述の相対位置情報及び相対姿勢情報とを生成する。また、処理部363は、領域VS2に表示された仮想第1エンドエフェクターVEが備える指部の開閉量を示す開閉量情報を生成する。また、処理部363は、領域VS2に表示されたオブジェクトに対応付けられたツール座標系に基づいて、当該オブジェクトに対応付けられたツール座標系を示すツール座標系情報を生成する。処理部363は、特定したオブジェクト識別情報、オブジェクト名称情報のそれぞれと、生成した相対位置情報、相対姿勢情報、開閉量情報、ツール座標系情報のそれぞれとが対応付けられた情報である把持情報を生成する。この際、処理部363は、把持情報を識別する把持情報識別情報を、生成した把持情報に割り当てる(対応付ける)。把持情報識別情報は、把持情報に対して重複しないように割り当てられたIDである。なお、把持情報識別情報は、当該IDに代えて、把持情報を識別でき、把持情報に対して重複しないように割り当てられる他の情報であってもよい。
ここで、図9は、把持情報の一例を示す図である。図9に示したように、把持情報では、把持情報識別情報と、オブジェクト識別情報と、オブジェクト名称情報と、相対位置情報と、相対姿勢情報と、開閉量情報と、ツール座標系情報とを対応付けて格納するテーブルであるが、当該テーブルに代えて、把持情報識別情報と、オブジェクト識別情報と、オブジェクト名称情報と、相対位置情報と、相対姿勢情報と、開閉量情報と、ツール座標系情報とを対応付ける他の情報であってもよい。
また、ユーザーは、例えば、画像P2において、生成した把持情報を情報処理装置30にロボット制御装置40へ出力させることができる。当該把持情報を情報処理装置30にロボット制御装置40へ出力させる際、ユーザーは、当該オブジェクト情報を情報処理装置30にロボット制御装置40へ出力させる操作を、第2操作領域に対して行う。当該操作が行われた場合、通信制御部365は、通信部34と、情報処理装置30とロボット制御装置40とを通信可能に接続するケーブルとを介して、当該オブジェクト情報をロボット制御装置40へ出力する。
また、ユーザーは、例えば、画像P2において、生成した把持情報をメモリー32に記憶させることができる。当該把持情報をメモリー32に記憶させる際、ユーザーは、当該把持情報をメモリー32に記憶させる操作を、第2操作領域に対して行う。当該操作が行われた場合、処理部363は、当該把持情報をメモリー32に記憶させる。
また、ユーザーは、例えば、画像P2において、メモリー32に予め記憶された1以上の把持情報のうちのいずれかの把持情報に応じたオブジェクト、仮想第1エンドエフェクター、制御点座標系、ツール座標系のそれぞれを領域VS2に表示することができる。メモリー32に予め記憶された1以上の把持情報のうちのいずれかの把持情報に応じたオブジェクト、仮想第1エンドエフェクター、制御点座標系、ツール座標系のそれぞれを領域VS2に表示する際、ユーザーは、メモリー32に予め記憶された1以上の把持情報のうちのいずれかを選択する操作を、第2操作領域に対して行う。当該操作が行われた場合、処理部363は、受け付けた操作によって選択された把持情報をメモリー32から読み出す。そして、表示制御部361は、メモリー32から処理部363が読み出した把持情報に応じたオブジェクト、仮想第1エンドエフェクター、制御点座標系、ツール座標系のそれぞれを、領域VS2に表示された仮想空間内に配置することにより、領域VS2に表示させる。
ここで、ある把持情報に応じたオブジェクトは、当該把持情報に含まれるオブジェクト識別情報が示すオブジェクトのことである。また、当該把持情報に応じた仮想第1エンドエフェクターは、当該把持情報に含まれる相対位置情報及び相対姿勢情報に基づく位置及び姿勢であって当該オブジェクトに対する相対的な位置及び姿勢と、位置及び姿勢が領域VS2に表示された仮想空間内において一致している仮想第1エンドエフェクターのことである。また、当該把持情報に応じた制御点座標系は、当該仮想第1エンドエフェクターに対応付けられた制御点座標系のことである。また、当該把持情報に応じたツール座標系は、当該把持情報に含まれるツール座標系情報が示すツール座標系のことである。
以上のように、情報処理装置30は、把持情報編集画像を介してユーザーから受け付けた操作に基づいて、把持情報の生成、変更、出力、記憶を行うことができる。
なお、オブジェクト情報編集画像と、把持情報編集画像とは、1つの画像として構成されていてもよい。この場合、領域VSと、領域VS2とは、1つの領域として構成されている。すなわち、処理部363は、当該1つの領域に表示された1つの仮想空間内に配置されたオブジェクトに基づいて、上記において説明した処理によってオブジェクト情報を生成するとともに、当該1つの領域に表示されたオブジェクト、仮想第1エンドエフェクターのそれぞれに基づいて、上記において説明した処理によって把持情報を生成する。
<教示点情報編集画像>
以下、教示点情報編集画像と、教示点情報編集画像における情報処理装置30の処理とのそれぞれについて説明する。教示点情報編集画像は、例えば、教示点情報の編集を行うことが可能なエディターを含む画像のことである。
以下、教示点情報編集画像と、教示点情報編集画像における情報処理装置30の処理とのそれぞれについて説明する。教示点情報編集画像は、例えば、教示点情報の編集を行うことが可能なエディターを含む画像のことである。
教示点情報編集画像では、ユーザーは、例えば、教示点情報の編集として、教示点情報の生成、変更、出力、記憶等を行うことができる。当該出力は、教示点情報のロボット制御装置40への出力のことである。
ユーザーは、例えば、教示点情報編集画像において、教示点の位置及び姿勢を入力する。具体的には、ユーザーは、教示点情報編集画像において位置及び姿勢を入力する領域である位置姿勢入力領域に、教示点の位置及び姿勢として所望の位置及び姿勢を入力する。位置姿勢入力領域に位置及び姿勢が入力された場合、表示制御部361は、位置姿勢入力領域に入力された位置及び姿勢を、ユーザーが所望する教示点の位置及び姿勢として当該領域に表示させる。なお、ユーザーにより入力される位置及び姿勢は、オンラインティーチング、ダイレクトティーチング等によって検出された位置及び姿勢等であってもよく、撮像画像に基づいて検出された位置及び姿勢であってもよい。
また、ユーザーは、例えば、教示点情報編集画像において、メモリー32に予め記憶された1以上の教示点情報のうちのいずれかの教示点情報が示す教示点の位置及び姿勢を、位置姿勢入力領域に表示させることができる。メモリー32に予め記憶された1以上の教示点情報のうちのいずれかの教示点情報が示す教示点の位置及び姿勢を位置姿勢入力領域に表示する際、ユーザーは、メモリー32に予め記憶された1以上の教示点情報のうちのいずれかを選択する操作を、教示点情報編集画像に対して行う。当該操作が行われた場合、処理部363は、受け付けた操作によって選択された教示点情報をメモリー32から読み出す。そして、表示制御部361は、メモリー32から処理部363が読み出した教示点情報が示す教示点の位置及び姿勢を、位置姿勢入力領域に表示させる。
また、ユーザーは、例えば、位置姿勢入力領域に入力された位置及び姿勢の教示点を示す教示点情報をメモリー32に記憶させることができる。当該教示点情報をメモリー32に記憶させる際、ユーザーは、当該教示点情報をメモリー32に記憶させる操作を教示点情報編集画像に対して行う。当該操作が行われた場合、処理部363は、当該教示点情報をメモリー32に記憶させる。
また、ユーザーは、例えば、位置姿勢入力領域に入力された位置及び姿勢の教示点を示す教示点情報を情報処理装置30にロボット制御装置40へ出力させることができる。当該教示点情報をロボット制御装置40に情報処理装置30へ出力させる際、ユーザーは、当該教示点情報をロボット制御装置40に情報処理装置30へ出力させる操作を教示点情報編集画像に対して行う。当該操作が行われた場合、通信制御部365は、当該教示点情報をロボット制御装置40へ出力する。
以上のように、情報処理装置30は、教示点情報編集画像を介してユーザーから受け付けた操作に基づいて、教示点情報の生成、変更、出力、記憶を行うことができる。
<動作プログラム編集画像>
以下、動作プログラム編集画像と、教示点情報編集画像における情報処理装置30の処理とのそれぞれについて説明する。動作プログラム編集画像は、例えば、動作プログラムの編集を行うことが可能なエディターを含む画像のことである。
以下、動作プログラム編集画像と、教示点情報編集画像における情報処理装置30の処理とのそれぞれについて説明する。動作プログラム編集画像は、例えば、動作プログラムの編集を行うことが可能なエディターを含む画像のことである。
動作プログラム編集画像では、ユーザーは、例えば、動作プログラムの編集として、動作プログラムの生成、変更、出力、記憶等を行うことができる。ここで、当該出力は、把持情報のロボット制御装置40への出力のことである。
ここで、情報処理装置30によって編集される動作プログラムについて説明する。当該動作プログラムは、ロボット制御装置40にロボット20を動作させる複数のコマンド、及びロボット制御装置40に情報の送受信を行わせる複数のコマンドによって構成される。当該複数のコマンドには、ロボット20を動作させる各種のコマンドに加えて、ロボット20の周囲に位置する物体に関する情報の生成、削除、変更をロボット制御装置40に行わせる第1コマンドと、ロボット20の動作に関する情報の生成、削除、変更をロボット制御装置40に行わせる第2コマンドとの2種類のコマンドが少なくとも含まれている。
第1コマンドには、例えば、第11コマンド〜第16コマンドの6つの設定コマンドが含まれている。
第11コマンドは、経路生成部463が経路を生成する際に参照する周辺物体情報であってメモリー32に記憶された周辺物体情報に対して、新たな物体の物***置姿勢情報と、当該物体に応じたオブジェクトに関するオブジェクト情報に含まれるオブジェクト識別情報とが対応付けられた情報を追加するコマンドである。
第12コマンドは、経路生成部463が経路を生成する際に参照する周辺物体情報であってメモリー32に記憶された周辺物体情報から、指定された物体の物***置姿勢情報と、当該物体に応じたオブジェクトに関するオブジェクト情報に含まれるオブジェクト識別情報とが対応付けられた情報を削除するコマンドである。
第13コマンドは、経路生成部463が経路を生成する際に参照する周辺物体情報であってメモリー32に記憶された周辺物体情報に含まれる情報のうち、指定された物体の物***置姿勢情報が示す位置及び姿勢を、指定された位置及び姿勢に変更するコマンドである。
第14コマンドは、指定されたアーム(この一例において、第1アームA1又は第2アームA2)毎に、経路生成部463が経路を生成する際に参照する周辺物体情報であってメモリー32に記憶された周辺物体情報に含まれる情報のうち、指定された物体を識別する物体識別情報に対して、障害物と、障害物ではない物体である非障害物とのいずれかであることを示す情報を対応付けるコマンドである。
第15コマンドは、メモリー32の記憶領域のうち経路生成部463が参照する記憶領域である参照記憶領域に記憶された現在の周辺物体情報を、メモリー32の記憶領域のうち経路生成部463が参照しない非参照記憶領域に、周辺物体情報を識別する情報を対応付けて記憶させるコマンドである。
第16コマンドは、指定された情報であって周辺物体情報を識別する情報に基づいて、前述の非参照記憶領域に記憶された周辺物体情報を読み出し、読み出した周辺物体情報を、新たな周辺物体情報として参照記憶領域に記憶するコマンドである。
なお、第1コマンドには、第11コマンド〜第16コマンドのうちの一部又は全部に代えて、他のコマンドが含まれる構成であってもよく、第11コマンド〜第16コマンドの全部に加えて、他のコマンドが含まれる構成であってもよい。
第2コマンドには、例えば、第21コマンド〜第26コマンドの6つの動作コマンドが含まれている。
第21コマンドは、ロボット20が備える第1撮像部C1〜第4撮像部C4のうちの一部又は全部によって撮像された撮像画像から検出された位置及び姿勢であって第1エンドエフェクターE1のロボット座標系RCにおける位置及び姿勢を、ロボット制御装置40に情報処理装置30へ出力させるコマンドである。当該第1エンドエフェクターE1のロボット座標系RCにおける位置及び姿勢は、物体を把持した状態の第1エンドエフェクターE1のロボット座標系RCにおける位置及び姿勢のことである。
第22コマンドは、メモリー32に記憶されたオブジェクト情報のうち、指定されたオブジェクト情報をロボット制御装置40に特定させるコマンドである。そして、第22コマンドは、ロボット制御装置40に特定されたオブジェクトに応じた物体を識別する物体識別情報と、メモリー32に記憶された周辺物体情報とに基づいて、当該物体を第1エンドエフェクターE1に把持させるコマンドである。また、第22コマンドは、ロボット制御装置40に特定されたオブジェクト情報にツール座標系情報が含まれている場合、制御点T1のロボット座標系RCにおける位置及び姿勢を表す三次元座標系を、制御点座標系から、当該ツール座標系情報が示すツール座標系に変更するとともに、第1力検出部S1が検出する外力の大きさ及び方向を表す三次元座標系である力検出座標系を、ツール座標系に応じた三次元座標系に変更するコマンドでもある。
第23コマンドは、第1エンドエフェクターE1に把持された把持対象を第1エンドエフェクターE1に解放させるコマンドである。また、第23コマンドは、制御点T1のロボット座標系RCにおける位置及び姿勢を表す三次元座標系がツール座標系に変更されている場合、制御点T1のロボット座標系RCにおける位置及び姿勢を表す三次元座標系を、制御点座標系に変更するとともに、力検出座標系を、制御点座標系に応じた三次元座標系に変更するコマンドでもある。
第24コマンドは、経路生成部463が経路を生成する際に参照する周辺物体情報であってメモリー32に記憶された周辺物体情報に含まれる情報のうち、第1エンドエフェクターE1によって載置された(解放された)把持対象の物***置姿勢情報を、指定された位置及び姿勢であってロボット座標系RCにおける位置及び姿勢を示す情報に変更するコマンドである。
第25コマンドは、第1エンドエフェクターE1に把持された把持対象の現在のロボット座標系RCにおける位置及び姿勢を示す情報を、ロボット制御装置40に情報処理装置30へ出力させる。
第26コマンドは、ロボット制御装置40に設定されている第1エンドエフェクターE1が有する指部の開閉量を示す開閉量情報を、ロボット制御装置40に情報処理装置30へ出力させる。
なお、第2コマンドには、第21コマンド〜第26コマンドのうちの一部又は全部に代えて、他のコマンドが含まれる構成であってもよく、第21コマンド〜第26コマンドの全部に加えて、他のコマンドが含まれる構成であってもよい。
ユーザーは、例えば、動作プログラム編集画像において、上記の第1コマンドと、上記の第2コマンドとの少なくとも一方を含む動作プログラムを生成する。具体的には、ユーザーは、動作プログラム編集画像が有する領域のうちの動作プログラムを入力する領域であるプログラム入力領域に、動作プログラムを入力する。プログラム入力領域に動作プログラムが入力された場合、表示制御部361は、プログラム入力領域に入力された動作プログラムを当該領域に表示させる。
また、ユーザーは、例えば、プログラム入力領域に入力された動作プログラムをメモリー32に記憶させることができる。当該動作プログラムをメモリー32に記憶させる際、ユーザーは、当該動作プログラムをメモリー32に記憶させる操作を動作プログラム編集画像に対して行う。当該操作が行われた場合、処理部363は、当該動作プログラムをメモリー32に記憶させる。
また、ユーザーは、例えば、プログラム入力領域に入力された動作プログラムを情報処理装置30にビルドさせることができる。当該動作プログラムをビルドする際、ユーザーは、当該動作プログラムを情報処理装置30にビルドさせる操作を動作プログラム編集画像に対して行う。当該操作が行われた場合、処理部363は、当該動作プログラムをビルドする。また、当該場合、処理部363は、オブジェクト情報編集画像において領域VSに表示されたオブジェクトに基づくオブジェクト情報を生成する。当該オブジェクト情報を処理部363が生成する処理については、上記において説明済みのため、説明を省略する。また、当該場合、処理部363は、把持情報編集画像において領域VS2に表示されたオブジェクト及び仮想第1エンドエフェクターに基づく把持情報を生成する。当該把持情報を処理部363が生成する処理については、上記において説明済みのため、説明を省略する。また、当該場合、処理部363は、動作プログラムにおいて指定されている1以上の教示点情報のそれぞれを特定する。そして、通信制御部365は、ビルドされた当該動作プログラムと、生成されたオブジェクト情報と、生成された把持情報と、特定された1以上の教示点情報とのそれぞれを、通信部34と、情報処理装置30とロボット制御装置40とを通信可能に接続しているケーブルとを介して、ロボット制御装置40に出力する。
以上のように、情報処理装置30は、動作プログラム編集画像を介してユーザーから受け付けた操作に基づいて、動作プログラムの生成、変更、出力、記憶を行うことができる。
<ロボット制御装置が行う情報生成処理>
以下、図10を参照し、ロボット制御装置40が行う情報生成処理について説明する。情報生成処理は、ロボット制御装置40が情報処理装置30から動作プログラム、オブジェクト情報、把持情報、教示点情報のそれぞれを取得した場合に、動作プログラム、オブジェクト情報、把持情報、教示点情報のそれぞれに基づいて、経路情報と、前述の周辺物体情報との少なくとも一方を生成する処理のことである。図10は、ロボット制御装置40が行う情報生成処理の流れの一例を示す図である。なお、以下では、前述した通り、ロボット制御装置40のメモリー42には、物***置姿勢情報が予め記憶されている場合について説明する。
以下、図10を参照し、ロボット制御装置40が行う情報生成処理について説明する。情報生成処理は、ロボット制御装置40が情報処理装置30から動作プログラム、オブジェクト情報、把持情報、教示点情報のそれぞれを取得した場合に、動作プログラム、オブジェクト情報、把持情報、教示点情報のそれぞれに基づいて、経路情報と、前述の周辺物体情報との少なくとも一方を生成する処理のことである。図10は、ロボット制御装置40が行う情報生成処理の流れの一例を示す図である。なお、以下では、前述した通り、ロボット制御装置40のメモリー42には、物***置姿勢情報が予め記憶されている場合について説明する。
通信制御部465は、情報処理装置30から動作プログラム、オブジェクト情報、把持情報、教示点情報のそれぞれを取得するまで待機する(ステップS210)。情報処理装置30から動作プログラム、オブジェクト情報、把持情報、教示点情報のそれぞれを取得したと判定した場合(ステップS210−YES)、通信制御部465は、取得した動作プログラム、オブジェクト情報、把持情報、教示点情報のそれぞれをメモリー42に記憶させる(ステップS220)。
次に、経路生成部463は、ステップS220においてメモリー42に記憶されたオブジェクト情報をメモリー42から読み出す。また、経路生成部463は、メモリー42に記憶された物***置姿勢情報をメモリー42から読み出す。経路生成部463は、読み出したオブジェクト情報及び物***置姿勢情報に基づいて、メモリー42に記憶された周辺物体情報を更新する(ステップS230)。ここで、ステップS230においてメモリー42に周辺物体情報が記憶されていない場合、経路生成部463は、周辺物体情報を生成し、生成した周辺物体情報をメモリー42に記憶させる。これにより、ロボット制御装置40は、動作プログラムを更新することなく、周辺物体情報を更新することができる。すなわち、ロボットシステム1では、動作プログラムを変更することなく、ロボット制御装置40が経路を生成する際に参照する周辺物体情報をロボット制御装置40に変更(すなわち、更新)させることができる。
次に、経路生成部463は、ステップS220においてメモリー42に記憶された把持情報をメモリー42から読み出す。そして、経路生成部463は、読み出した把持情報に基づいて、メモリー42に記憶された把持情報であって経路生成部463が参照する把持情報を更新する(ステップS240)。これにより、ロボット制御装置40は、動作プログラムを更新することなく、把持情報を更新することができる。すなわち、ロボットシステム1では、動作プログラムを変更することなく、ロボット20が把持対象を把持する位置及び姿勢の少なくとも一方をロボット制御装置40に変更(すなわち、更新)させることができる。
次に、プログラム処理部461は、ステップS220においてメモリー42に記憶された動作プログラム及び教示点情報に基づいて、経路生成部463に経路情報を生成させる(ステップS250)。具体的には、プログラム処理部461は、当該動作プログラムにおいて指定された教示点情報を、経路生成部463に出力する。経路生成部463は、
当該教示点情報を取得する。また、経路生成部463は、メモリー42に記憶された周辺物体情報、オブジェクト情報、把持情報のそれぞれをメモリー42から読み出す。経路生成部463は、読み出した周辺物体情報と、プログラム処理部461からの要求と、読み出したオブジェクト情報と、読み出した把持情報と、取得した教示点情報とに基づく経路であってロボット20の周囲に位置する物体のうちの障害物に第1エンドエフェクターE1が干渉しない経路を生成する。当該経路を生成する方法は、既知の方法であってもよく、これから開発される方法であってもよい。経路生成部463は、生成した経路を示す経路情報を生成する。経路生成部463は、生成した経路情報をメモリー42に記憶させる。
当該教示点情報を取得する。また、経路生成部463は、メモリー42に記憶された周辺物体情報、オブジェクト情報、把持情報のそれぞれをメモリー42から読み出す。経路生成部463は、読み出した周辺物体情報と、プログラム処理部461からの要求と、読み出したオブジェクト情報と、読み出した把持情報と、取得した教示点情報とに基づく経路であってロボット20の周囲に位置する物体のうちの障害物に第1エンドエフェクターE1が干渉しない経路を生成する。当該経路を生成する方法は、既知の方法であってもよく、これから開発される方法であってもよい。経路生成部463は、生成した経路を示す経路情報を生成する。経路生成部463は、生成した経路情報をメモリー42に記憶させる。
通信制御部465は、メモリー42に記憶された周辺物体情報と、経路情報とのそれぞれを情報処理装置30へ出力し(ステップS260)、処理を終了する。
<情報処理装置が行う情報表示処理>
以下、図11を参照し、情報処理装置30が行う情報表示処理について説明する。情報表示処理は、情報処理装置30がロボット制御装置40から周辺物体情報、経路情報のそれぞれを取得した場合に、周辺物体情報に応じた画像と、経路情報に応じた画像との少なくとも一方を表示部35に表示させる処理のことである。図11は、情報処理装置30が行う情報表示処理の流れの一例を示す図である。
以下、図11を参照し、情報処理装置30が行う情報表示処理について説明する。情報表示処理は、情報処理装置30がロボット制御装置40から周辺物体情報、経路情報のそれぞれを取得した場合に、周辺物体情報に応じた画像と、経路情報に応じた画像との少なくとも一方を表示部35に表示させる処理のことである。図11は、情報処理装置30が行う情報表示処理の流れの一例を示す図である。
通信制御部365は、ロボット制御装置40から周辺物体情報、経路情報のそれぞれを取得するまで待機する(ステップS310)。ロボット制御装置40から周辺物体情報、経路情報のそれぞれを取得したと判定した場合(ステップS310−YES)、通信制御部365は、取得した周辺物体情報、経路情報のそれぞれをメモリー32に記憶させる。また、表示制御部361は、周辺物体情報、経路情報のそれぞれを情報処理装置30がロボット制御装置40から取得したことを報せる画像を表示部35に表示させる。
次に、処理部363は、周辺物体情報に応じた画像を表示部35に表示させる操作である周辺物体表示操作を受け付けたか否かを判定する(ステップS320)。周辺物体情報に応じた画像を表示部35に表示させる操作である周辺物体表示操作を受け付けたと処理部363が判定した場合(ステップS320−YES)、処理部363及び表示制御部361は、ステップS310において取得した周辺物体情報に応じた画像を表示部35に表示する周辺物体表示処理を行う(ステップS330)。
ここで、図12を参照し、周辺物体情報に応じた画像と、周辺物体表示処理とのそれぞれについて説明する。図12は、周辺物体情報に応じた画像の一例を示す図である。図12に示した画像P3は、周辺物体情報に応じた画像の一例である。画像P3は、例えば、領域VS3と、ユーザーから操作を受け付ける各種のGUIが配置された図示しない操作領域である第3操作領域(図12に示した例では、画像P3が有する領域のうち領域VS3以外の領域のうちの少なくとも一部)とを有する。ここで、領域VS3は、画像P3が有する領域のうち、処理部363がメモリー32の記憶領域内に生成した仮想空間内に配置された各種の仮想的な物体を表示する領域の一例である。また、当該仮想空間内における位置及び姿勢を表す三次元直交座標系は、ロボット座標系RCである。なお、画像P3は、領域VS3と、第3操作領域に加えて、他のGUIを有する構成であってもよい。
処理部363は、取得した周辺物体情報と、メモリー32に記憶されたオブジェクト情報とに基づいて、ロボット20の周囲に位置する1以上の物体それぞれに応じたオブジェクトを、領域VS3に表示された仮想空間内に配置する。この際、処理部363は、当該1以上の物体のそれぞれ毎に、周辺物体情報に含まれる物***置姿勢情報、オブジェクト識別情報のそれぞれと、メモリー32に記憶されたオブジェクト情報とに基づくオブジェクトを当該仮想空間内に配置する。そして、表示制御部361は、当該仮想空間内に配置されたオブジェクトであって当該1以上の物体それぞれに応じたオブジェクトのそれぞれを領域VS3に表示させる。なお、表示制御部361は、この際、仮想的なロボット20である仮想ロボットを、当該オブジェクトのそれぞれとともに領域VS3に表示させる。図12に示したロボットVRは、当該仮想ロボットの一例である。また、図12に示したオブジェクトOB2は、当該仮想空間内に配置されたオブジェクトの一例である。図12に示した例では、当該仮想空間内には、オブジェクトOB2が1つ配置されている。ユーザーは、領域VS3に表示された各オブジェクトと仮想ロボットとの相対的な位置関係を見ることによって、ロボット制御装置40に記憶された周辺物体情報に意図しない第1対応情報が記憶されていないか否かを判定することができる。すなわち、ユーザーは、ロボット制御装置40が認識している物体であってロボット20の周囲に位置する物体と、実際にロボット20の周囲に位置している物体との位置関係にずれがないか否かを確認することができる。なお、周辺物体情報に応じた画像は、物体とロボットとの相対的な位置関係を示す画像の一例である。
ステップS330の処理が行われた後、処理部363は、情報表示処理を終了させる操作を情報処理装置30がユーザーから受け付けたか否かを判定する(ステップS340)。情報表示処理を終了させる操作を情報処理装置30がユーザーから受け付けたと判定した場合(ステップS340−YES)、処理部363は、処理を終了する。一方、情報表示処理を終了させる操作を情報処理装置30がユーザーから受け付けていないと判定した場合(ステップS340−NO)、処理部363は、ステップS320に遷移し、周辺物体情報に応じた画像を表示部35に表示させる操作である周辺物体表示操作を受け付けたか否かを再び判定する。
一方、周辺物体情報に応じた画像を表示部35に表示させる操作である周辺物体表示操作を受け付けていないと処理部363が判定した場合(ステップS320−NO)、処理部363及び表示制御部361は、ステップS310において取得した経路情報に応じた画像を表示部35に表示する動作表示処理を行う(ステップS350)。
ここで、図13を参照し、経路情報に応じた画像と、動作表示処理とのそれぞれについて説明する。図13は、経路情報に応じた画像の一例を示す図である。図13に示した画像P4は、経路情報に応じた画像の一例である。画像P4は、例えば、領域VS4と、ユーザーから操作を受け付ける各種のGUIが配置された図示しない操作領域である第4操作領域(図13に示した例では、画像P4が有する領域のうち領域VS4以外の領域のうちの少なくとも一部)とを有する。ここで、領域VS4は、画像P4が有する領域のうち、処理部363がメモリー32の記憶領域内に生成した仮想空間内に配置された各種の仮想的な物体を表示する領域の一例である。また、当該仮想空間内における位置及び姿勢を表す三次元直交座標系は、ロボット座標系RCである。なお、画像P4は、領域VS4と、第4操作領域に加えて、他のGUIを有する構成であってもよい。
処理部363は、領域VS4に表示された仮想空間内に前述の仮想ロボットを配置する。そして、処理部363は、取得した経路情報が示す経路に基づく動作を当該仮想ロボットに行わせる。また、表示制御部361は、当該仮想空間内において当該動作を行う当該仮想ロボットを領域VS4に表示させる。この際、表示制御部361は、当該仮想空間内に、前述の領域VS3に表示された1以上のオブジェクトを配置する構成であってもよく、当該1以上のオブジェクトを配置しない構成であってもよい。図13に示した例では、領域VS4には、ロボットVRの動作のうち、仮想第1エンドエフェクターVEによって把持したオブジェクトOBを移動させている動作を表す動画像が表示されている。ユーザーは、領域VS4に表示された仮想ロボットの動作を見ることによって、ロボット制御装置40に記憶された動作プログラムに応じたロボット20の動作が所望の動作であるか否かを判定することができる。すなわち、ユーザーは、ロボット制御装置40によるロボット20の動作を、ロボット20を動作させることなく確認することができる。なお、経路情報は、動作情報の一例である。
<実施形態の変形例>
以下、図14を参照し、実施形態の変形例について説明する。図14は、実施形態の変形例に係るロボットシステム1の一例を示す構成図である。なお、実施形態の変形例では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。
以下、図14を参照し、実施形態の変形例について説明する。図14は、実施形態の変形例に係るロボットシステム1の一例を示す構成図である。なお、実施形態の変形例では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。
実施形態の変形例では、ロボットシステム1は、双腕ロボットであるロボット20に代えて、単腕ロボットであるロボット20aを備える構成であってもよい。
<ロボットの構成>
図14に示した通り、ロボット20aは、前述の第1アームA1が支持台B3によって支持されている単腕ロボットである。なお、ロボット20aは、ロボット20と異なり、外部に設置されたロボット制御装置40によって制御される。
図14に示した通り、ロボット20aは、前述の第1アームA1が支持台B3によって支持されている単腕ロボットである。なお、ロボット20aは、ロボット20と異なり、外部に設置されたロボット制御装置40によって制御される。
ロボット20aは、アームA3と、アームA3を支持する支持台B3を備える単腕ロボットである。
アームAは、エンドエフェクターE3と、マニピュレーターM3と、力検出部S3を備える。
エンドエフェクターE3は、物体を保持するエンドエフェクターである。この一例において、エンドエフェクターE3は、指部を備え、当該指部によって物体を挟んで持つことにより当該物体を保持する。なお、エンドエフェクターE3は、これに代えて、空気の吸引や磁力、他の治具等によって物体を持ち上げることにより当該物体を保持する構成であってもよい。エンドエフェクターE3は、保持部の一例である。
エンドエフェクターE3は、物体を保持するエンドエフェクターである。この一例において、エンドエフェクターE3は、指部を備え、当該指部によって物体を挟んで持つことにより当該物体を保持する。なお、エンドエフェクターE3は、これに代えて、空気の吸引や磁力、他の治具等によって物体を持ち上げることにより当該物体を保持する構成であってもよい。エンドエフェクターE3は、保持部の一例である。
マニピュレーターM3は、6つの関節を備える。また、当該6つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターM3を備えるアームA3は、6軸垂直多関節型のアームである。アームA3は、支持台B3と、エンドエフェクターE3と、マニピュレーターM3と、マニピュレーターM3が備える6つの関節それぞれのアクチュエーターとによる連携した動作によって6軸の自由度の動作を行う。なお、アームA3は、5軸以下の自由度で動作する構成であってもよく、7軸以上の自由度で動作する構成であってもよい。
力検出部S3は、エンドエフェクターE3とマニピュレーターM3の間に備えられる。力検出部S3は、例えば、力センサーである。力検出部S3は、エンドエフェクターE3に作用した外力、又はエンドエフェクターE3により保持された物体に作用した外力を検出する。なお、力検出部S3は、エンドエフェクターE3に作用した外力、又はエンドエフェクターE3により保持された物体に作用した外力を検出するトルクセンサーであってもよい。
上記において説明したロボット20aが備える各機能部(すなわち、エンドエフェクターE3、マニピュレーターM3、力検出部S3)のそれぞれは、ケーブルによってロボット制御装置40と通信可能に接続されている。これにより、当該各機能部のそれぞれは、ロボット制御装置40から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)、USB等の規格によって行われる。また、当該各機能部のうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置40と接続される構成であってもよい。
以上のように、ロボットシステム1は、ロボット(この一例において、ロボット20、ロボット20a)と、ロボットを制御するロボット制御装置(この一例において、ロボット制御装置40)と、ロボット制御装置に回線(この一例において、情報処理装置30とロボット制御装置40とを通信可能に接続するケーブル)を介して接続された情報処理装置(この一例において、情報処理装置30)と、を備える。また、情報処理装置は、ロボットを制御するロボット制御装置に当該回線を介して接続される。また、情報処理装置は、動作プログラムに基づいてロボットを動作させるロボット制御装置の動作プログラムにより参照される把持情報を、ロボット制御装置に当該回線を介して出力する。また、把持情報には、ロボットにより把持される物体である把持対象と、ロボットに装着されたエンドエフェクター(この一例において、第1エンドエフェクターE1、第2エンドエフェクターE2、エンドエフェクターE3)との相対的な位置を示す情報(この一例において、相対位置情報)が含まれる。これにより、ロボットシステム1は、動作プログラムを変更することなく、ロボットが把持対象を把持する位置をロボット制御装置に変更させることができる。
また、ロボットシステム1では、情報処理装置は、ロボット制御装置に回線を介して把持情報を出力し、ロボット制御装置に記憶された把持情報を更新する。これにより、ロボットシステム1は、動作プログラムの変更を伴うことなく更新された把持情報に基づいて、ロボット制御装置にロボットを制御させることができる。
また、ロボットシステム1では、情報処理装置は、動作プログラムと把持情報とに基づくロボットの動作を示す動作情報(この一例において、経路情報)を取得し、取得した動作情報に応じた画像(この一例において、経路情報に応じた画像)を表示する。これにより、ロボットシステム1は、動作プログラムと把持情報とに基づいてロボット制御装置がロボットに行わせる動作を、ロボットを動作させる前に確認させることができる。
また、ロボットシステム1では、情報処理装置は、ロボットの周囲に位置する物体の位置であってロボット制御装置によって検出された位置を示す情報と当該物体に応じたオブジェクトを示す情報とが対応付けられた情報(この一例において、周辺物体情報)をロボット制御装置から取得し、取得した当該位置を示す情報及び当該オブジェクトを示す情報と、予め記憶されたオブジェクトに関する情報であるオブジェクト情報とに基づいて、当該物体と前記ロボットとの相対的な位置関係を示す画像(この一例において、周辺物体情報に応じた画像)を表示する。これにより、ロボットシステム1は、ロボット制御装置に設定された位置のうちロボットの周囲に位置する物体のロボット座標系(この一例において、ロボット座標系RC)における位置を、ロボットを動作させる前に確認させることができる。
また、ロボットシステム1では、把持情報には、把持対象と、ロボットに装着されたエンドエフェクターとの相対的な姿勢を示す情報(この一例において、相対姿勢情報)が含まれる。これにより、ロボットシステム1は、対象物とロボットに装着されたエンドエフェクターとの相対的な位置及び姿勢を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
また、ロボットシステム1では、把持情報には、ロボットに装着されたエンドエフェクターが備える指部の開閉量を示す情報(この一例において、開閉量情報)が含まれる。これにより、ロボットシステム1は、ロボットに装着されたエンドエフェクターが備える指部の開閉量を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
また、ロボットシステム1では、把持情報には、把持対象の位置及び姿勢を表す部位(この一例において、把持対象の重心)と、把持対象が有する部位のうち指定された部位との相対的な位置及び姿勢を示す情報(この一例において、ツール座標系情報)が含まれる。これにより、ロボットシステム1は、把持対象の位置及び姿勢を表す部位と、把持対象が有する部位のうち指定された部位との相対的な位置及び姿勢を示す情報が含まれる把持情報に基づいて、動作プログラムを変更することなく、ロボットの動作のうちロボットが対象物を把持する動作を所望の動作に変更することができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、情報処理装置30、ロボット制御装置40)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1…ロボットシステム、20、20a…ロボット、30…情報処理装置、40…ロボット制御装置、31、41…プロセッサー、32、42…メモリー、33…入力受付部、34、44…通信部、35…表示部、36、46…制御部、361…表示制御部、363…処理部、365、465…通信制御部、461…プログラム処理部、463…経路生成部、467…ロボット制御部
Claims (10)
- ロボットと、
前記ロボットを制御するロボット制御装置と、
前記ロボット制御装置に回線を介して接続された情報処理装置と、
を備えるロボットシステムであって、
前記情報処理装置は、
ロボットを制御するロボット制御装置に回線を介して接続される情報処理装置であって、
動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力し、
前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、
ロボットシステム。 - 前記情報処理装置は、
前記ロボット制御装置に前記回線を介して前記把持情報を出力し、前記ロボット制御装置に記憶された前記把持情報を更新する、
請求項1に記載のロボットシステム。 - 前記情報処理装置は、
前記動作プログラムと前記把持情報とに基づく前記ロボットの動作を示す動作情報を取得し、取得した前記動作情報に応じた画像を表示する、
請求項1又は2に記載のロボットシステム。 - 前記情報処理装置は、
前記ロボットの周囲に位置する物体の位置であって前記ロボット制御装置によって検出された位置を示す情報と当該物体に応じたオブジェクトを示す情報とが対応付けられた情報を前記ロボット制御装置から取得し、取得した当該位置を示す情報及び当該オブジェクトを示す情報と、予め記憶されたオブジェクトに関する情報であるオブジェクト情報とに基づいて、当該物体と前記ロボットとの相対的な位置関係を示す画像を表示する、
請求項1から3のうちいずれか一項に記載のロボットシステム。 - 前記把持情報には、前記把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な姿勢を示す情報が含まれる、
請求項1から4のうちいずれか一項に記載のロボットシステム。 - 前記把持情報には、前記ロボットに装着されたエンドエフェクターが備える指部の開閉量を示す情報が含まれる、
請求項1から5のうちいずれか一項に記載のロボットシステム。 - 前記把持情報には、前記把持対象の位置及び姿勢を表す部位と、前記把持対象が有する部位のうち指定された部位との相対的な位置及び姿勢を示す情報が含まれる、
請求項1から6のうちいずれか一項に記載のロボットシステム。 - ロボットを制御するロボット制御装置に回線を介して接続される情報処理装置であって、
動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力し、
前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、
情報処理装置。 - ロボットを制御するロボット制御装置に回線を介して接続された情報処理装置のコンピューターに、
動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力させるプログラムであって、
前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、
プログラム。 - ロボットを制御するロボット制御装置に回線を介して接続された情報処理装置であって、
プロセッサーを備え、
前記プロセッサーは、
動作プログラムに基づいて前記ロボットを動作させる前記ロボット制御装置の前記動作プログラムにより参照される把持情報を、前記ロボット制御装置に前記回線を介して出力し、
前記把持情報には、前記ロボットにより把持される物体である把持対象と、前記ロボットに装着されたエンドエフェクターとの相対的な位置を示す情報が含まれる、
情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017244397A JP2019111588A (ja) | 2017-12-20 | 2017-12-20 | ロボットシステム、情報処理装置、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017244397A JP2019111588A (ja) | 2017-12-20 | 2017-12-20 | ロボットシステム、情報処理装置、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019111588A true JP2019111588A (ja) | 2019-07-11 |
Family
ID=67221123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017244397A Pending JP2019111588A (ja) | 2017-12-20 | 2017-12-20 | ロボットシステム、情報処理装置、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019111588A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024080210A1 (ja) * | 2022-10-14 | 2024-04-18 | Telexistence株式会社 | 物品移動装置及びその制御方法 |
-
2017
- 2017-12-20 JP JP2017244397A patent/JP2019111588A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024080210A1 (ja) * | 2022-10-14 | 2024-04-18 | Telexistence株式会社 | 物品移動装置及びその制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6733239B2 (ja) | 制御装置及びロボットシステム | |
JP6816364B2 (ja) | 制御装置、ロボット、及びロボットシステム | |
US10589424B2 (en) | Robot control device, robot, and robot system | |
JP6361213B2 (ja) | ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム | |
JP6380828B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
US20180029232A1 (en) | Control apparatus and robot | |
JP2017071018A (ja) | ロボットシステム、ロボット、及びロボット制御装置 | |
US20170277167A1 (en) | Robot system, robot control device, and robot | |
US20180085920A1 (en) | Robot control device, robot, and robot system | |
JP2017019068A (ja) | 教示装置、ロボット、及びロボットシステム | |
JP6706777B2 (ja) | 制御装置、ロボット、及びロボットシステム | |
Nandikolla et al. | Teleoperation Robot Control of a Hybrid EEG‐Based BCI Arm Manipulator Using ROS | |
JP2018122376A (ja) | 画像処理装置、ロボット制御装置、及びロボット | |
JP6488571B2 (ja) | 教示装置、及びロボットシステム | |
JP2019111588A (ja) | ロボットシステム、情報処理装置、及びプログラム | |
JP6958091B2 (ja) | ロボットシステム、及びロボット制御方法 | |
JP6455869B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
JP2018015856A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
JP2017159429A (ja) | ロボット制御装置、情報処理装置、及びロボットシステム | |
JP2016013590A (ja) | 教示装置、及びロボットシステム | |
US20180150231A1 (en) | Data management device, data management method, and robot system | |
JP2018001321A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
JP7447568B2 (ja) | シミュレーション装置およびプログラム | |
JP2017100197A (ja) | ロボット、及び制御方法 | |
JP2018034245A (ja) | ロボット、ロボット制御装置、及びロボットシステム |