JP2017047478A - 制御装置、ロボット及びロボットシステム - Google Patents
制御装置、ロボット及びロボットシステム Download PDFInfo
- Publication number
- JP2017047478A JP2017047478A JP2015170159A JP2015170159A JP2017047478A JP 2017047478 A JP2017047478 A JP 2017047478A JP 2015170159 A JP2015170159 A JP 2015170159A JP 2015170159 A JP2015170159 A JP 2015170159A JP 2017047478 A JP2017047478 A JP 2017047478A
- Authority
- JP
- Japan
- Prior art keywords
- joint
- arm
- robot
- control device
- link
- 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
Abstract
【課題】逆運動学処理に基づいて多様なロボットアームを制御することができる制御装置を提供すること。
【解決手段】制御装置は、ロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、前記ロボットアームを制御する。
【選択図】図6
【解決手段】制御装置は、ロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、前記ロボットアームを制御する。
【選択図】図6
Description
この発明は、制御装置、ロボット及びロボットシステムに関する。
6軸の自由度を有するロボットアーム(ロボットが備えるアーム)である6軸ロボットアームの姿勢は、ロボットのTCP(Tool Center Point)の位置及び姿勢を指定すると一意に決まる。これに対し、7軸の自由度を有するロボットアームである7軸ロボットアームの姿勢は、ロボットのTCPの位置及び姿勢を指定しても、冗長自由度を有しているため、一意に決まることはない。すなわち、7軸ロボットアームは、6軸ロボットアームと比べて多様な姿勢をとることができる。
近年では、計算機技術の進歩により、7軸ロボットアームを動作させるために必要な順運動学又は逆運動学の計算を行うことが可能な計算能力を有する計算機を安価に利用できる。このような事情から、7軸ロボットアームを制御する技術の研究や開発が行われている。
また、ロボットのTCPの位置及び姿勢が指定された場合において当該位置及び姿勢を実現するロボットアームの姿勢は、逆運動学によって導出される。逆運動学は、指定されたロボットのTCPの位置及び姿勢に基づいて、ロボットアームが備える関節毎のアクチュエーターが当該位置及び姿勢を実現する回転角を逆運動学の解として算出する。
これらに関し、6軸ロボットアームと7軸ロボットアームの差異である肩と肘の中間部に設けられた関節の角度をユーザーが指定した値で固定して、7軸ロボットアームを疑似的に6軸ロボットアームとすることにより、逆運動学の解を算出するロボットシステムが知られている(特許文献1参照)。
しかしながら、このようなロボットシステムでは、逆運動学の解を算出することができる一方で、7軸ロボットアームが備える関節毎のアクチュエーターの回転角と、7軸ロボットアームの姿勢との関係が複雑になる。このため、当該ロボットシステムでは、肘の位置の自由な制御が困難になる場合があった。また、特許文献1には、7軸ロボットアームがオフセットを有していた場合に逆運動学の解を算出する方法が明示的に示されていなかった。
上記課題の少なくとも一つを解決するために本発明の一態様は、ロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、前記ロボットアームを制御する、制御装置である。
この構成により、制御装置は、ロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置は、逆運動学処理に基づいて多様なロボットアームを制御することができる。
この構成により、制御装置は、ロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置は、逆運動学処理に基づいて多様なロボットアームを制御することができる。
また、本発明の他の態様は、制御装置において、前記逆運動学処理の結果を補正する補正処理を行い、前記補正処理を行った前記結果に基づいて前記ロボットアームを制御する、
構成が用いられてもよい。
この構成により、制御装置は、仮想的なロボットアームについて行われた逆運動学処理の結果を補正する補正処理を行い、当該補正処理を行った結果に基づいてロボットアームを制御する。これにより、制御装置は、仮想的なロボットアームについて行われた逆運動学処理の結果を補正した結果に基づいて多様なロボットアームを制御することができる。
構成が用いられてもよい。
この構成により、制御装置は、仮想的なロボットアームについて行われた逆運動学処理の結果を補正する補正処理を行い、当該補正処理を行った結果に基づいてロボットアームを制御する。これにより、制御装置は、仮想的なロボットアームについて行われた逆運動学処理の結果を補正した結果に基づいて多様なロボットアームを制御することができる。
また、本発明の他の態様は、制御装置において、前記仮想的なロボットアームは、前記ロボットアームの一部が仮想的な構造に置き換えられたロボットアームである、構成が用いられてもよい。
この構成により、制御装置では、仮想的なロボットアームは、ロボットアームの一部が仮想的な構造に置き換えられたロボットアームである。これにより、制御装置は、ロボットアームの一部が仮想的な構造に置き換えられたロボットアームについて行われた逆運動学処理の結果に基づいて多様なロボットアームを制御することができる。
この構成により、制御装置では、仮想的なロボットアームは、ロボットアームの一部が仮想的な構造に置き換えられたロボットアームである。これにより、制御装置は、ロボットアームの一部が仮想的な構造に置き換えられたロボットアームについて行われた逆運動学処理の結果に基づいて多様なロボットアームを制御することができる。
また、本発明の他の態様は、制御装置において、前記ロボットアームの一部は、関節及び関節同士を結ぶリンクを含む、構成が用いられてもよい。
この構成により、制御装置は、関節及び関節同士を結ぶリンクを含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置は、関節及び関節同士を結ぶリンクを含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理に基づいて多様なロボットアームを制御することができる。
この構成により、制御装置は、関節及び関節同士を結ぶリンクを含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置は、関節及び関節同士を結ぶリンクを含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理に基づいて多様なロボットアームを制御することができる。
また、本発明の他の態様は、制御装置において、前記ロボットアームの一部は、3つの並んだ関節の回動軸が1点で交わらないオフセット部の一部を含む、構成が用いられてもよい。
この構成により、制御装置では、3つの並んだ関節の回動軸が1点で交わらないオフセット部の一部を含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置は、3つの並んだ関節の回動軸が1点で交わらないオフセット部の一部を含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理に基づいて多様なロボットアームを制御することができる。
この構成により、制御装置では、3つの並んだ関節の回動軸が1点で交わらないオフセット部の一部を含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置は、3つの並んだ関節の回動軸が1点で交わらないオフセット部の一部を含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理に基づいて多様なロボットアームを制御することができる。
また、本発明の他の態様は、制御装置において、前記3つの並んだ関節は、回転関節、回転関節、旋回関節の順に並んでいる、構成が用いられてもよい。
この構成により、制御装置は、回転関節、回転関節、旋回関節の順に並んでいる3つの関節の回動軸が1点で交わらないオフセット部の一部を含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置は、回転関節、回転関節、旋回関節の順に並んでいる3つの並んだ関節の回動軸が1点で交わらないオフセット部の一部を含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理に基づいて多様なロボットアームを制御することができる。
この構成により、制御装置は、回転関節、回転関節、旋回関節の順に並んでいる3つの関節の回動軸が1点で交わらないオフセット部の一部を含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置は、回転関節、回転関節、旋回関節の順に並んでいる3つの並んだ関節の回動軸が1点で交わらないオフセット部の一部を含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理に基づいて多様なロボットアームを制御することができる。
また、本発明の他の態様は、制御装置において、前記仮想的なロボットアームは、前記3つの並んだ関節のうちの一方の端の関節に接続されたリンクに対して当該関節と反対側に接続された関節と、他方の端の関節に接続されたリンクとを結ぶ仮想的なリンクを設けて、前記3つの並んだ関節のうちの前記一方の端側の2つの関節を除外関節として除いて構成されている、構成が用いられてもよい。
この構成により、制御装置は、3つの並んだ関節のうちの一方の端の関節に接続されたリンクに対して当該関節と反対側に接続された関節と、他方の端の関節に接続されたリンクとを結ぶ仮想的なリンクを設けて、当該3つの並んだ関節のうちの当該一方の端側の2つの関節を除外関節として除いて構成されている仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置は、3つの並んだ関節のうちの一方の端の関節に接続されたリンクに対して当該関節と反対側に接続された関節と、他方の端の関節に接続されたリンクとを結ぶ仮想的なリンクを設けて、当該3つの並んだ関節のうちの当該一方の端側の2つの関節を除外関節として除いて構成されている仮想的なロボットアームについて行われた逆運動学処理に基づいて多様なロボットアームを制御することができる。
この構成により、制御装置は、3つの並んだ関節のうちの一方の端の関節に接続されたリンクに対して当該関節と反対側に接続された関節と、他方の端の関節に接続されたリンクとを結ぶ仮想的なリンクを設けて、当該3つの並んだ関節のうちの当該一方の端側の2つの関節を除外関節として除いて構成されている仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置は、3つの並んだ関節のうちの一方の端の関節に接続されたリンクに対して当該関節と反対側に接続された関節と、他方の端の関節に接続されたリンクとを結ぶ仮想的なリンクを設けて、当該3つの並んだ関節のうちの当該一方の端側の2つの関節を除外関節として除いて構成されている仮想的なロボットアームについて行われた逆運動学処理に基づいて多様なロボットアームを制御することができる。
また、本発明の他の態様は、制御装置において、前記逆運動学処理の結果により得られた前記仮想的なリンクの両端の位置と、除かれた前記除外関節及び前記除外関節に接続されるリンクとが整合するように、前記逆運動学処理の結果として得られる1以上の前記関節の回転角を補正する、構成が用いられてもよい。
この構成により、制御装置では、逆運動学処理の結果により得られた仮想的なリンクの両端の位置と、ロボットアームの一部としてロボットアームから除かれた除外関節及び除外関節に接続されるリンクとが整合するように、逆運動学処理の結果として得られる1以上の関節の回転角を補正する。これにより、制御装置は、逆運動学処理の結果により得られた仮想的なリンクの両端の位置と、ロボットアームの一部としてロボットアームから除かれた除外関節及び除外関節に接続されるリンクとが整合するように補正された回転角に基づいて、多様なロボットアームを制御することができる。
この構成により、制御装置では、逆運動学処理の結果により得られた仮想的なリンクの両端の位置と、ロボットアームの一部としてロボットアームから除かれた除外関節及び除外関節に接続されるリンクとが整合するように、逆運動学処理の結果として得られる1以上の関節の回転角を補正する。これにより、制御装置は、逆運動学処理の結果により得られた仮想的なリンクの両端の位置と、ロボットアームの一部としてロボットアームから除かれた除外関節及び除外関節に接続されるリンクとが整合するように補正された回転角に基づいて、多様なロボットアームを制御することができる。
また、本発明の他の態様は、制御装置において、前記ロボットアームは、7軸以上である、構成が用いられてもよい。
この構成により、制御装置では、7軸以上のロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、当該7軸以上のロボットアームを制御する。これにより、制御装置は、逆運動学処理に基づいて7軸以上の多様なロボットアームを制御することができる。
この構成により、制御装置では、7軸以上のロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、当該7軸以上のロボットアームを制御する。これにより、制御装置は、逆運動学処理に基づいて7軸以上の多様なロボットアームを制御することができる。
また、本発明の他の態様は、上記のいずれかに記載の制御装置を備える、ロボットである。
この構成により、ロボットは、ロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、ロボットは、逆運動学処理に基づいて多様なロボットアームを制御することができる。
この構成により、ロボットは、ロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、ロボットは、逆運動学処理に基づいて多様なロボットアームを制御することができる。
また、本発明の他の態様は、上記のいずれかに記載の制御装置と、上記に記載のロボットと、を備えるロボットシステムである。
この構成により、ロボットシステムは、ロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、ロボットシステムは、逆運動学処理に基づいて多様なロボットアームを制御することができる。
この構成により、ロボットシステムは、ロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、ロボットシステムは、逆運動学処理に基づいて多様なロボットアームを制御することができる。
以上により、制御装置、ロボット、及びロボットシステムは、ロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置、ロボット、及びロボットシステムは、逆運動学処理に基づいて多様なロボットアームを制御することができる。
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。図1は、本実施形態に係るロボット20の一例を示す構成図である。
まず、ロボット20の構成について説明する。
以下、本発明の実施形態について、図面を参照して説明する。図1は、本実施形態に係るロボット20の一例を示す構成図である。
まず、ロボット20の構成について説明する。
ロボット20は、第1アームと第2アームを備える双腕ロボットである。双腕ロボットは、この一例における第1アームと第2アームのような2本のアーム(腕)を備えるロボットである。なお、ロボット20は、双腕ロボットに代えて、単腕ロボットであってもよい。単腕ロボットは、1本のアームを備えるロボットである。例えば、単腕ロボットは、第1アームと第2アームのいずれか一方を備える。なお、第1アームと第2アームとはそれぞれ、ロボットアームの一例である。
また、ロボット20は、第1アーム及び第2アームを支持する支持台である本体Bと、第1撮像部21と、第2撮像部22と、第3撮像部23と、第4撮像部24と、制御装置30を備える。なお、ロボット20は、第1撮像部21と、第2撮像部22と、第3撮像部23と、第4撮像部24のうちの一部又は全部を備えない構成であってもよい。
第1アームは、第1エンドエフェクターE1と、第1マニピュレーターM1と、第1撮像部21を備える。
第1エンドエフェクターE1は、この一例において、物体を把持可能な爪部を備えるエンドエフェクターである。なお、第1エンドエフェクターE1は、これに代えて、電動ドライバーを備えたエンドエフェクター等の他のエンドエフェクターであってもよい。第1エンドエフェクターE1は、ケーブルによって制御装置30と通信可能に接続されている。これにより、第1エンドエフェクターE1は、制御装置30から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。また、第1エンドエフェクターE1は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって制御装置30と接続される構成であってもよい。
第1マニピュレーターM1は、7つの関節である関節J1〜関節J7と、関節J1と本体Bを繋ぐリンク(リンケージ)であるリンクL0と、各関節の間を繋ぐ6本のリンクであるリンクL1〜リンクL6と、関節J7と第1エンドエフェクターE1を繋ぐリンクであるリンクL7と、第1撮像部21を備える。また、関節J1〜関節J7はそれぞれ、図示しないアクチュエーターを備える。
すなわち、第1マニピュレーターM1を備える第1アームは、7軸垂直多関節型のアームである。第1アームは、本体Bと、第1エンドエフェクターE1と、第1マニピュレーターM1が、第1マニピュレーターM1が備える7つの関節である関節J1〜関節J7それぞれのアクチュエーターによる連携した動作によって7軸の自由度の動作を行う。なお、第1アームは、8軸以上の自由度で動作する構成であってもよい。
第1アームが7軸の自由度で動作する場合、第1アームは、6軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これにより第1アームは、例えば、動作が滑らかになり、更に第1アームの周辺に存在する物体との干渉を容易に回避することができる。また、第1アームが7軸の自由度で動作する場合、第1アームの制御は、第1アームが8軸以上の自由度で動作する場合と比較して計算量が少なく容易である。
第1マニピュレーターM1が備える7つの(関節に備えられた)アクチュエーターはそれぞれ、ケーブルによって制御装置30と通信可能に接続されている。これにより、当該アクチュエーターは、制御装置30から取得される制御信号に基づいて、第1マニピュレーターM1を動作させることができる。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、第1マニピュレーターM1が備える7つのアクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって制御装置30と接続される構成であってもよい。
ここで、図2を参照し、第1マニピュレーターM1の構造について説明する。図2は、第1マニピュレーターM1の論理的な構造の一例を示す図である。この一例における第1マニピュレーターM1は、図2に示したように、直線形状を有するリンクL0、リンクL3〜リンクL7を備えている。また、第1マニピュレーターM1は、図2において点線で囲まれた領域内に示したオフセット部O1を備える。オフセット部O1では、回転関節である関節J1、旋回関節である関節J2、回転関節である関節J3の順にこれら3つの関節が並んでいる。また、これらの関節と、各関節のアクチュエーターの回転軸である回動軸が1点で交わらないように曲げられたリンクL1及びリンクL2と、リンクL0及びリンクL3とは、リンクL0、関節J1、リンクL1、関節J2、リンクL2、関節J3、リンクL3の順に繋がれている。
この一例における回転関節は、関節に接続された2つのリンクにおいて関節の回動軸に所定角度で交わる部分を有するリンクが1つ以下である関節である。所定角度は、この一例において、90°である。なお、所定角度は、これに代えて、他の角度であってもよい。例えば、関節J1では、関節の回動軸に直交する(この一例における所定角度である90°で交わる)部分を有するリンクは、屈曲部位Nにおいて90°に屈曲している形状を有するリンクL1のみである。このため、関節J1は、回転関節である。また、関節J3では、関節の回動軸に直交する部分を有するリンクは、屈曲部位Pにおいて90°に屈曲している形状を有するリンクL2のみである。このため、関節J3は、回転関節である。また、関節J5と関節J7のそれぞれでは、関節の回動軸に直交する部分を有するリンクが存在しない。このため、関節J5及び関節J7は、回転関節である。
また、この一例における旋回関節は、関節に接続された2つのリンクのそれぞれが、関節の回動軸に所定角度で交わる部分を有するリンクである関節である。例えば、関節J2では、関節の回動軸に所定角度で交わる部分を有するリンクは、屈曲部位Nにおいて90°に屈曲している形状を有するリンクL1と、屈曲部位Pにおいて90°に屈曲している形状を有するリンクL2との2つである。このため、関節J2は、旋回関節である。また、関節J4と関節J6のそれぞれでは、関節に接続された2つのリンクのそれぞれは、関節の回動軸に直交している。このため、関節J4及び関節J6は、旋回関節である。
ここで、リンクL1は、前述したように、直線形状のリンクを、当該リンクの両端の間に存在する屈曲部位Nにおいて90°に屈曲した形状をしている。また、リンクL2は、前述したように、直線形状のリンクを、当該リンクの両端の間に存在する屈曲部位Pにおいて90°に屈曲した形状をしている。これらの屈曲部位のため、関節J1の回動軸と関節J2の回動軸とは1点で交わり、関節J2の回動軸と関節J3の回動軸とは1点で交わる。しかし、関節J1の回動軸と、関節J2の回動軸と、関節J3の回動軸とは1点で交わらない。なお、第1マニピュレーターM1は、オフセット部O1のようなオフセット部を複数備える構成であってもよい。
第1撮像部21は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。この一例において、第1撮像部21は、第1マニピュレーターM1の一部に備えられる。そのため、第1撮像部21は、第1アームの動きに応じて移動する。また、第1撮像部21が撮像可能な範囲は、第1アームの動きに応じて変化する。第1撮像部21は、当該範囲の静止画像を撮像してもよく、当該範囲の動画像を撮像してもよい。この一例では、第1撮像部21が、撮像可能な範囲の静止画像を撮像する場合について説明する。
また、第1撮像部21は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第1撮像部21は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって制御装置30と接続される構成であってもよい。
第2アームは、第2エンドエフェクターE2と、第2マニピュレーターM2と、第2撮像部22を備える。
第2エンドエフェクターE2は、この一例において、物体を把持可能な爪部を備えるエンドエフェクターである。なお、第2エンドエフェクターE2は、これに代えて、電動ドライバーを備えたエンドエフェクター等の他のエンドエフェクターであってもよい。第2エンドエフェクターE2は、ケーブルによって制御装置30と通信可能に接続されている。これにより、第2エンドエフェクターE2は、制御装置30から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、第2エンドエフェクターE2は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって制御装置30と接続される構成であってもよい。
第2マニピュレーターM2は、7つの関節である関節J11〜関節J17と、関節J11と本体Bを繋ぐリンク(リンケージ)であるリンクL10と、各関節の間を繋ぐ6本のリンクであるリンクL11〜リンクL16と、関節J17と第2エンドエフェクターE2を繋ぐリンクであるリンクL17と、第2撮像部22を備える。また、関節J11〜関節J17はそれぞれ、図示しないアクチュエーターを備える。
すなわち、第2マニピュレーターM2を備える第2アームは、7軸垂直多関節型のアームである。第2アームは、本体Bと、第2エンドエフェクターE2と、第2マニピュレーターM2が、第2マニピュレーターM2が備える7つの関節である関節J11〜関節J17それぞれのアクチュエーターによる連携した動作によって7軸の自由度の動作を行う。なお、第2アームは、8軸以上の自由度で動作する構成であってもよい。第2アームは、第1アームが7軸の自由度で動作することが望ましい理由と同様の理由により、7軸の自由度で動作することが望ましい。なお、第2アームは、8軸以上の自由度で動作する構成であってもよい。
第2マニピュレーターM2が備える7つの(関節に備えられた)アクチュエーターはそれぞれ、ケーブルによって制御装置30と通信可能に接続されている。これにより、当該アクチュエーターは、制御装置30から取得される制御信号に基づいて、第2マニピュレーターM2を動作させることができる。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、第2マニピュレーターM2が備える7つのアクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって制御装置30と接続される構成であってもよい。
第2マニピュレーターM2は、図2において説明した第1マニピュレーターM1の構造と同じ構造を有する。具体的には、第2マニピュレーターM2の構造は、図2に示した関節J1〜関節J7、リンクL0〜リンクL7を、関節J11〜関節J17、リンクL10〜リンクL17にそれぞれ置き換えた場合の構造と同じである。そのため、第2マニピュレーターM2の構造についての説明は、省略する。なお、以下では、第2マニピュレーターM2が備えるオフセット部を、第1マニピュレーターM1が備えるオフセット部O1と区別するため、オフセット部O11と称して説明する。
第2撮像部22は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。この一例において、第2撮像部22は、第2マニピュレーターM2の一部に備えられる。そのため、第2撮像部22は、第2アームの動きに応じて移動する。また、第2撮像部22が撮像可能な範囲は、第2アームの動きに応じて変化する。第2撮像部22は、当該範囲の静止画像を撮像してもよく、当該範囲の動画像を撮像してもよい。この一例では、第2撮像部22が、撮像可能な範囲の静止画像を撮像する場合について説明する。
また、第2撮像部22は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第2撮像部22は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって制御装置30と接続される構成であってもよい。
第3撮像部23は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第3撮像部23は、第4撮像部24が撮像可能な範囲を第4撮像部24とともにステレオ撮像可能な部位に備えられる。第3撮像部23は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第3撮像部23は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって制御装置30と接続される構成であってもよい。
第4撮像部24は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第4撮像部24は、第3撮像部23が撮像可能な範囲を第3撮像部23とともにステレオ撮像可能な部位に備えられる。第4撮像部24は、ケーブルによって通信可能に制御装置30と接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第4撮像部24は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって制御装置30と接続される構成であってもよい。
上記で説明したロボット20が備えるこれらの各機能部は、この一例において、ロボット20に内蔵された制御装置30から制御信号を取得する。そして、当該各機能部は、取得した制御信号に基づいた動作を行う。なお、ロボット20は、制御装置30を内蔵する構成に代えて、外部に設置された制御装置30により制御される構成であってもよい。この場合、ロボット20と、制御装置30とは、ロボットシステムを構成する。
制御装置30は、ロボット20に制御信号を送信することにより、ロボット20を動作させる。また、制御装置30は、ユーザーからの操作を受け付けるGUI(Graphical User Interface)を含むロボット制御画面を表示する。制御装置30は、ロボット制御画面を介してユーザーから受け付けた操作に基づいて、ロボット20の第1アームと第2アームのうちいずれか一方又は両方を動作させる。より具体的には、制御装置30は、ロボット制御画面を介してユーザーから、第1アームのTCPの位置及び姿勢を示す第1位置姿勢情報と、第2アームのTCPの位置及び姿勢を示す第2位置姿勢情報とのうちいずれか一方又は両方を受け付ける。以下では、説明の便宜上、制御装置30が第1アームのTCPの第1位置姿勢情報を受け付ける場合について説明する。
制御装置30がユーザーから第1位置姿勢情報を受け付けた場合、制御装置30は、受け付けた第1位置姿勢情報と、逆運動学とに基づいて、第1マニピュレーターM1の各関節が備えるアクチュエーターの回転角を、逆運動学の解析解として算出する。当該回転角は、第1アームのTCPの位置及び姿勢が、第1位置姿勢情報が示す位置及び姿勢と一致した状態における当該アクチュエーターの回転角である。以下では、制御装置30が当該解析解を算出する方法について詳しく説明する。
ここで、当該方法の概略を説明する。制御装置30は、第1アームの一部を除いた仮想的な第1アームについて行われた逆運動学処理の結果に基づいて、第1アームを制御する。これにより、制御装置30は、逆運動学処理に基づいて多様な第1アームを制御することができる。第1アームについて行われる逆運動学処理は、ユーザーから受け付けた第1位置姿勢情報に基づいて、第1アームの各関節が備えるアクチュエーターの回転角を算出する処理のことである。
なお、ユーザーから第2位置姿勢情報を受け付けた場合、制御装置30は、第2アームの一部を除いた仮想的な第2アームについて行われた逆運動学処理の結果に基づいて、第2アームを制御する。これにより、制御装置30は、逆運動学処理に基づいて多様な第2アームを制御することができる。第2アームについて行われる逆運動学処理は、第2アームのTCPの位置及び姿勢が、第2位置姿勢情報が示す位置及び姿勢と一致した状態における第2アームの各関節が備えるアクチュエーターの回転角を算出する処理のことである。
次に、図3を参照し、制御装置30のハードウェア構成について説明する。図3は、制御装置30のハードウェア構成の一例を示す図である。制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。また、制御装置30は、通信部34を介してロボット20と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。
CPU31は、記憶部32に格納された各種プログラムを実行する。
記憶部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が処理する各種情報や画像、プログラム等を格納する。なお、記憶部32は、制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。
記憶部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が処理する各種情報や画像、プログラム等を格納する。なお、記憶部32は、制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。
入力受付部33は、例えば、キーボードやマウス、タッチパッド等を備えたティーチングペンダントや、その他の入力装置である。なお、入力受付部33は、タッチパネルとして表示部35と一体に構成されてもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
次に、図4を参照して、制御装置30の機能構成について説明する。図4は、制御装置30の機能構成の一例を示す図である。制御装置30は、記憶部32と、入力受付部33と、通信部34と、表示部35と、制御部36を備える。
制御部36は、制御装置30の全体を制御する。制御部36は、表示制御部41と、逆運動学処理部43と、ロボット制御部45を備える。
制御部36が備えるこれらの機能部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することで実現される。なお、これらの機能部のうち一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
表示制御部41は、ユーザーからの操作を受け付けるロボット制御画面を生成する。表示制御部41は、生成したロボット制御画面を表示部35に表示させる。
逆運動学処理部43は、ロボット制御画面を介してユーザーから受け付けた第1位置姿勢情報と、逆運動学とに基づいて、第1アームのTCPの位置及び姿勢が第1位置姿勢情報の示す位置及び姿勢と一致した状態における第1マニピュレーターM1の各関節が備えるアクチュエーターの回転角を、逆運動学の解析解として算出する。また、逆運動学処理部43は、ロボット制御画面を介してユーザーから受け付けた第2位置姿勢情報と、逆運動学とに基づいて、第2アームのTCPの位置及び姿勢が第2位置姿勢情報の示す位置及び姿勢と一致した状態における第2マニピュレーターM2の各関節が備えるアクチュエーターの回転角を、逆運動学の解析解として算出する。
逆運動学処理部43は、ロボット制御画面を介してユーザーから受け付けた第1位置姿勢情報と、逆運動学とに基づいて、第1アームのTCPの位置及び姿勢が第1位置姿勢情報の示す位置及び姿勢と一致した状態における第1マニピュレーターM1の各関節が備えるアクチュエーターの回転角を、逆運動学の解析解として算出する。また、逆運動学処理部43は、ロボット制御画面を介してユーザーから受け付けた第2位置姿勢情報と、逆運動学とに基づいて、第2アームのTCPの位置及び姿勢が第2位置姿勢情報の示す位置及び姿勢と一致した状態における第2マニピュレーターM2の各関節が備えるアクチュエーターの回転角を、逆運動学の解析解として算出する。
ロボット制御部45は、逆運動学処理部43が算出した第1マニピュレーターM1の各関節が備えるアクチュエーターの回転角に基づいて第1アームを動作させ、第1アームのTCPの位置及び姿勢をユーザーから受け付けた第1位置姿勢情報が示す位置及び姿勢に一致させる。また、ロボット制御部45は、逆運動学処理部43が算出した第2マニピュレーターM2の各関節が備えるアクチュエーターの回転角に基づいて第2アームを動作させ、第2アームのTCPの位置及び姿勢をユーザーから受け付けた第2位置姿勢情報が示す位置及び姿勢に一致させる。
次に、図5を参照し、制御部36が行う逆運動学処理、及び第1アームを動作させる処理について説明する。図5は、制御部36が行う逆運動学処理、及び第1アームを動作させる処理の流れの一例を示すフローチャートである。なお、図5では、制御部36がすでに第1位置姿勢情報を、ロボット制御画面を介してユーザーから受け付けている場合について説明する。
逆運動学処理部43は、記憶部32に予め記憶された第1アームの構造に関する情報である第1アーム構造関連情報を読み出す。第1アーム構造関連情報には少なくとも、第1アームが備える各リンクの寸法や重さ、形状等を示す第1リンク情報と、第1アームが備える各関節の寸法や重さ、形状等を示す第1関節情報と、第1エンドエフェクターE1の寸法や重さ、形状等を示す第1エンドエフェクター情報とが含まれる。なお、記憶部32には、第1アーム構造関連情報に加えて、第2アームの構造に関する情報である第2アーム構造関連情報が予め記憶されている。第2アーム構造関連情報には少なくとも、第2アームが備える各リンクの寸法や重さ、形状等を示す第2リンク情報と、第2アームが備える各関節の寸法や重さ、形状等を示す第2関節情報と、第2エンドエフェクターE2の寸法や重さ、形状等を示す第2エンドエフェクター情報とが含まれる。
第1アーム構造関連情報を読み出した後、逆運動学処理部43は、制御装置30の記憶領域(記憶部32の記憶領域と図示しない他の記憶装置の記憶領域とのうちいずれか一方又は両方)上に仮想空間を生成する。そして、逆運動学処理部43は、生成した仮想空間上に、記憶部32から読み出した第1アーム構造関連情報に基づいて、現実世界の第1アームの一部としてオフセット部O1の一部を当該第1アームから除いた仮想的な第1アームを生成する(ステップS100)。なお、当該仮想空間上の各点の位置と、ロボット座標系又はワールド座標系における各点の位置とは、予めキャリブレーションによって対応付けられているとする。
ここで、ステップS100の処理について説明する。逆運動学処理部43は、現実世界の第1アームの構造のうち、オフセット部O1に含まれ、且つオフセット部O1が備える関節が回転しても距離が変化しない2つの部位間である等長部位間を仮想的なリンクによって接続した仮想的な第1アームを生成する。
例えば、逆運動学処理部43は、図2に示した第1アームの論理的な構造のうちの等長部位間として、オフセット部O1における3つの並んだ関節、すなわち関節J1、関節J2、関節J3のうちの一方の端の関節J3に接続されたリンクL3に対して関節J3と反対側に接続された関節J4と、他方の端の関節J1に接続されたリンクL1の屈曲部位Nとを結ぶ仮想的なリンクを設けた仮想的な第1アームを生成する。この場合、図2に示したように、関節J4と屈曲部位Nを結ぶ直線の長さは、関節J1〜関節J3の一部又は全部が回転した場合であっても変化しない。なお、等長部位間は、リンクL0の本体B側の端部と、屈曲部位Pとの2つの部位間であってもよい。
また、逆運動学処理部43は、このようにして生成した仮想的な第1アームから、リンクL1のうちの屈曲部位Nから関節J2に伸びている部分と、関節J2と、リンクL2と、関節J3と、リンクL3を除く。そして、逆運動学処理部43は、屈曲部位Nに仮想的な関節VJ2を設ける。すなわち、逆運動学処理部43は、仮想的なリンクによって関節VJ2と関節J4とを繋げる。また、逆運動学処理部43は、仮想的なリンクを二分し、関節VJ2に接続された方をリンクVL2とし、関節J4に接続された方をリンクVL3とし、リンクVL2とリンクVL3との間に仮想的な関節VJ3を設ける。これらにより、逆運動学処理部43は、オフセット部O1を有する7軸垂直多関節型のアームである現実世界の第1アームに対して、仮想的な第1アームを、オフセット部O1を有さない7軸垂直多関節型のアームとすることができる。
図6は、逆運動学処理部43が生成した仮想的な第1アームの一例を示す図である。図6では、仮想的な第1アームにおいて逆運動学処理部43が仮想的に設けた関節VJ2、関節VJ3、リンクVL2、リンクVL3を点線によって示した。また、図6では、仮想的な第1アームにおいて逆運動学処理部43が除いた部分、すなわちリンクL1のうちの屈曲部位Nから関節J2に伸びている部分と、関節J2と、リンクL2と、関節J3と、リンクL3とを二点鎖線によって示した。図6に示したように、仮想的な第1アームは、論理的な構造が7軸垂直多関節型のアームとなっている。
ステップS100において逆運動学処理部43が仮想的な第1アームを生成した後、逆運動学処理部43は、ロボット制御画面を介してユーザーから第1位置姿勢情報と、対称姿勢選択情報とを受け付けるまで待機する。対称姿勢選択情報は、ある位置及び姿勢にTCPの位置及び姿勢が一致している状態において、アームの肩(第1アームの場合、例えば、関節J2)や肘(第1アームの場合、例えば、関節J4)、手首(第1アームの場合、例えば、関節J6)のアクチュエーターの回転角が2つの値のうちのいずれか一方を選択可能な場合に、制御装置30にいずれか一方を選択させる情報である。逆運動学処理部43は、ロボット制御画面を介してユーザーから第1位置姿勢情報と、対称姿勢選択情報とを受け付けた後、逆運動学処理部43は、ロボット制御画面を介してユーザーから受け付けた第1位置姿勢情報と、対称姿勢選択情報と、逆運動学とに基づいた逆運動学処理を行うことにより、逆運動学処理の結果(前述の解析解)として仮想的な第1アームの各関節が備えるアクチュエーターの回転角を算出する(ステップS110)。
ステップS110において、逆運動学処理部43は、ロボット制御画面を介してユーザーから受け付けた第1位置姿勢情報が示す位置及び姿勢に、第1アームのTCPの位置及び姿勢を一致させた場合の、関節J1と、関節VJ2と、関節VJ3と、関節J4〜関節J7との7つの関節それぞれが備えるアクチュエーターの回転角を、逆運動学を用いて算出する。ただし、逆運動学処理部43は、関節VJ2及び関節VJ3が仮想的なアクチュエーターを備えるとして、これらの回転角を算出する。
次に、逆運動学処理部43は、ステップS110において算出した回転角を補正し(ステップS120)、ロボット制御画面を介してユーザーから受け付けた第1位置姿勢情報が示す位置及び姿勢に、現実世界の第1アームのTCPの位置及び姿勢を一致させた場合に実現する回転角であって当該第1アームの各関節が備えるアクチュエーターの回転角を導出する。
ここで、図6〜図8を参照し、ステップS120において逆運動学処理部43が回転角を補正する処理(補正処理)について説明する。逆運動学処理部43は、ステップS110における逆運動学処理の結果として得られた回転角と、ステップS100において記憶部32から読み出したリンク情報とに基づいて、仮想的なリンクの両端の位置、すなわち関節VJ2の位置P1と関節J4の位置P2とを算出する。この一例において、関節VJ2の位置P1は、関節VJ2が仮想的に設けられた屈曲部位Nの位置によって表される。逆運動学処理部43は、現実世界の第1アームの屈曲部位Nの位置が位置P1に一致し、且つ当該第1アームの関節J4の位置が位置P2に一致するように、ステップS110において算出した回転角を補正する。換言すると、逆運動学処理部43は、ステップS110における逆運動学処理の結果により得られた前述の仮想的なリンクの両端の位置と、除かれた除外関節(すなわち、この一例において、関節J2と関節J3)及び当該除外関節に接続されるリンク(すなわち、この一例において、リンクL2)とが整合するように、当該逆運動学処理の結果として得られた回転角を補正する。
より具体的には、この一例において、まず逆運動学処理部43は、現実世界の第1アームの屈曲部位Nの位置を位置P1に一致させた場合、且つ当該第1アームの関節J4の位置を位置P2に一致させた場合において当該第1アームの屈曲部位Pが存在すること(位置すること)が可能な位置を算出する。
図7は、逆運動学処理部43が現実世界の第1アームの屈曲部位Pが存在することが可能な位置を算出する方法の一例を説明するための図である。図7に示したように、仮想的な第1アームにおいてリンクL2と、関節J3と、リンクL3とが除かれていない場合、仮想的な第1アームにおける屈曲部位Pは、円錐Cの底面の円PC2の円周上の何処かに存在する。円錐Cは、リンクL3と、関節J3と、リンクL2のうちの屈曲部位Pから関節J3へと伸びる一部とが、関節VJ3の回転によって形成する円錐である。なお、図7では、リンクVL2及びリンクVL3が一点鎖線により示され、関節J2と関節J3と関節VJ3とが白抜きの丸によって示されており、関節VJ2が屈曲部位Nの位置を明確にするために省略されている。
一方、図7に示すように、現実世界の第1アームの屈曲部位Nの位置が位置P1に一致した場合であり、且つ当該第1アームの関節J4の位置が位置P2に一致した場合、当該第1アームの屈曲部位Pは、関節J1が回転することによって屈曲部位Nから関節J1へと伸びるリンクL1の一部を回転軸として屈曲部位Pが回転して形成される円PC1の円周上の何処かに存在する。
従って、現実世界の第1アームの屈曲部位Nの位置が位置P1に一致した場合であり、且つ当該第1アームの関節J4の位置が位置P2に一致した場合において、現実世界の第1アームの屈曲部位Pと、仮想的な第1アームの屈曲部位Pとが一致する位置は、円PC1の円周と、円PC2の円周とが重なる(接する又は交差する)位置のみである。図7において、位置PT0は、円PC1の円周と、円PC2の円周とが接する位置を示している。また、図8に示した位置PT1及び位置PT2は、円PC1の円周と、円PC2の円周とが交差した位置を示している。図8は、図7に示した関節J2が回転した場合に、円錐Cが関節J2の回転によって円PC1に対して傾いた様子の一例を示す図である。
これらに基づいて、逆運動学処理部43は、位置PT0や位置PT1、位置PT2のように、円PC1と円PC2とが重なる位置を、現実世界の第1アームの屈曲部位Nの位置が位置P1に一致した場合であり、且つ当該第1アームの関節J4の位置が位置P2に一致した場合において、現実世界の第1アームの屈曲部位Pと、仮想的な第1アームの屈曲部位Pとが一致する位置P3として算出することができる。なお、逆運動学処理部43は、屈曲部位Pの位置P3として位置PT1及び位置PT2のように2つの位置が算出された場合、例えば、前述したようにユーザーにより予め入力された対称姿勢選択情報に基づいて位置PT1と位置PT2のいずれか一方を選択する構成であってもよく、ランダムに位置PT1と位置PT2のいずれか一方を選択する構成であってもよい。
位置P3を算出した後、逆運動学処理部43は、現実世界の第1アームの屈曲部位Pの位置を位置P3に一致させた場合における関節J1の回転角を、ステップS110において算出した関節J1の回転角を補正した後の補正後回転角として算出する。この際、逆運動学処理部43は、記憶部32に予め記憶された基部位置姿勢情報を記憶部32から読み出し、読み出した基部位置姿勢情報と、位置P3とに基づいて、現実世界の第1アームの関節J1の補正後回転角を算出する。基部位置姿勢情報は、現実世界の第1アームのリンクL0と本体Bとの付け根の位置及び姿勢である基部位置姿勢を示す情報である。基部位置姿勢は、予め決められた位置及び姿勢に固定されている。そのため、現実世界の第1アームの屈曲部位Nの位置は、この段階ですでに位置P1に一致している。
現実世界の第1アームの関節J1の補正後回転角を算出した後、逆運動学処理部43は、現実世界の第1アームの関節J4の位置を位置P2に一致させた場合における関節J2の回転角を、ステップS110において算出した関節J2の補正後回転角として算出する。現実世界の第1アームの関節J2の補正後回転角を算出した後、逆運動学処理部43は、現実世界の第1アームのTCPの位置及び姿勢を第1位置姿勢情報が示す位置及び姿勢に一致させ、当該第1アームの関節J7の回転角をステップS110において算出された関節J7の回転角に一致させ、当該第1アームの関節J6の回転角をステップS110において算出された関節J6の回転角に一致させることが可能な関節J3〜関節J5それぞれの補正後回転角を、位置P2に一致している関節J4の位置と、当該TCPの位置及び姿勢とに基づいて算出する。
この際、逆運動学処理部43は、ZXZオイラー角の手法に基づいて、現実世界の第1アームの関節J3〜関節J5の補正後回転角を、現実世界の第1アームのTCPの位置及び姿勢と、当該第1アームの関節J6の回転角と、当該第1アームの関節J7の回転角と、関節J4の位置である位置P2とに基づいて逆算する。ZXZオイラー角の手法は、ある座標系の姿勢を、まずZ軸周りに回転させ、次にX軸周りに回転させ、最後に再びZ軸周りに回転させることにより、他の座標系の姿勢に一致させる手法である。この一例における第1アームのTCPの位置及び姿勢を表す座標系のZ軸がリンクL6とリンクL7とを結ぶ直線上に一致しており、更に当該座標系のX軸が関節J6の回動軸方向と一致している場合、リンクL4の関節J4側の端部において実現している姿勢は、第1アームのTCPの姿勢を、まず関節J7によってZ軸周りに回転させ、次に関節J6によってX軸周りに回転させ、最後に関節J5によって再びZ軸周りに回転させた姿勢と一致する。これを利用することにより、現実世界の第1アームのTCPの位置及び姿勢と、当該第1アームの関節J6の回転角と、当該第1アームの関節J7の回転角と、関節J4の位置である位置P2とが特定されている場合、逆運動学処理部43は、ZXZオイラー角の手法によって、現実世界の第1アームの関節J3〜関節J5の補正後回転角を逆算することができる。
このようにして、逆運動学処理部43は、ステップS120において、現実世界の第1アームの関節J1〜関節J7それぞれの補正後回転角を算出することができる。
このようにして、逆運動学処理部43は、ステップS120において、現実世界の第1アームの関節J1〜関節J7それぞれの補正後回転角を算出することができる。
現実世界の第1アームの関節J1〜関節J7それぞれの補正後回転角を算出した後、ロボット制御部45は、ステップS120において算出された当該補正後回転角に、現実世界の第1アームの各関節が備えるアクチュエーターの回転角を一致させ、ロボット20を動作させ(ステップS130)、処理を終了する。
なお、この一例において、制御部36が、ユーザーから受け付けた第1位置姿勢情報に基づいて、現実世界の第1アームの各関節が備えるアクチュエーターの補正後回転角をステップS120において算出する構成としたが、これに代えて、例えば、第1撮像部21〜第4撮像部24のうちの一部または全部によって撮像された撮像画像から、現実世界の第1アームのTCPの移動先を検出し、検出された移動先での当該TCPの位置及び姿勢を導出し、導出した位置及び姿勢に基づいて、現実世界の第1アームの各関節が備えるアクチュエーターの補正後回転角をステップS120において算出する構成等の他の構成であってもよい。
また、この一例において、ロボット20において、第1アーム及び第2アームが、図2に示した論理的な構造を有する構成について説明したが、これに代えて、第1アームと第2アームのうちいずれか一方又は両方が、図9に示した論理的な構造を有する構成であってもよい。
図9は、第1アームの論理的な構造の他の例を示す図である。図9に示した第1マニピュレーターM1aは、第1マニピュレーターM1が有するオフセット部O1に代えて、オフセット部O1aを有する。オフセット部O1aは、オフセット部O1における旋回関節である関節J2に代えて、図2に示した屈曲部位Pの位置に他の旋回関節である関節J2aを備える。この場合、第1マニピュレーターM1aの屈曲部位Nから関節J4までの距離は、関節J2aが回転することによって変化してしまう。そのため、逆運動学処理部43が仮想的な第1アームを生成する場合、本体BとリンクL0の付け根と、関節J2aとを結ぶ仮想的なリンクを生成する。そして、逆運動学処理部43は、当該リンクの両端の間に、仮想的な回転関節を設ける。これにより、制御部36は、第1アームの論理的な構造が図9に示した構造であった場合であっても、図1〜図8において説明した方法と同様の方法によって現実世界の第1アームの各関節が備えるアクチュエーターの補正後回転角を算出することができる。
以上説明したように、本実施形態における制御装置30は、関節(この一例において、関節J1〜関節J7)及び関節同士を結ぶリンク(この一例において、リンクL0〜リンクL7)を含むロボットアーム(この一例において、第1アーム)の一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置30は、関節及び関節同士を結ぶリンクを含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理に基づいて多様なロボットアームを制御することができる。
また、制御装置30では、3つの並んだ関節(この一例において、関節J1〜関節J3)の回動軸が1点で交わらないオフセット部O1の一部を含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置30は、当該オフセット部O1の一部を含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理に基づいて多様なロボットアームを制御することができる。
また、制御装置30は、回転関節、旋回関節、回転関節の順に並んでいる3つの関節の回動軸が1点で交わらないオフセット部O1の一部を含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置30は、回転関節、旋回関節、回転関節の順に並んでいる3つの並んだ関節の回動軸が1点で交わらないオフセット部O1の一部を含むロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理に基づいて多様なロボットアームを制御することができる。
また、制御装置30は、3つの並んだ関節のうちの一方の端の関節(この一例において、関節J4)と、他方の端の関節に接続されたリンク(この一例において、リンクL1)とを結ぶ仮想的なリンク(この一例において、リンクVL2と、関節VJ3と、リンクVL3との全体)を設けて、当該3つの並んだ関節のうちの当該一方の端の関節以外の関節である除外関節(この一例において、関節J2及び関節J3)を除いて構成されている仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、ロボットアームを制御する。これにより、制御装置30は、3つの並んだ関節のうちの一方の端の関節と、他方の端の関節に接続されたリンクとを結ぶ仮想的なリンクを設けて、当該3つの並んだ関節のうちの当該一方の端の関節以外の関節である除外関節を除いて構成されている仮想的なロボットアームについて行われた逆運動学処理に基づいて多様なロボットアームを制御することができる。
また、制御装置30では、逆運動学処理の結果により得られた仮想的なリンクの両端の位置と、ロボットアームの一部としてロボットアームから除かれた除外関節及び除外関節に接続されるリンクとが整合するように、逆運動学処理の結果として得られる1以上の関節の回転角を補正する。これにより、制御装置30は、逆運動学処理の結果により得られた仮想的なリンクの両端の位置と、ロボットアームの一部としてロボットアームから除かれた除外関節及び除外関節に接続されるリンクとが整合するように補正された回転角に基づいて、多様なロボットアームを制御することができる。
また、制御装置30では、7軸以上のロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、当該7軸以上のロボットアームを制御する。これにより、制御装置30は、逆運動学処理に基づいて7軸以上の多様なロボットアームを制御することができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、ロボット20の制御装置30)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
20 ロボット、21 第1撮像部、22 第2撮像部、23 第3撮像部、24 第4撮像部、30 制御装置、31 CPU、32 記憶部、33 入力受付部、34 通信部、35 表示部、36 制御部、41 表示制御部、43 逆運動学処理部、45 ロボット制御部
Claims (11)
- ロボットアームの一部を除いた仮想的なロボットアームについて行われた逆運動学処理の結果に基づいて、前記ロボットアームを制御する、
制御装置。 - 前記逆運動学処理の結果を補正する補正処理を行い、前記補正処理を行った前記結果に基づいて前記ロボットアームを制御する、
請求項1に記載の制御装置。 - 前記仮想的なロボットアームは、前記ロボットアームの一部が仮想的な構造に置き換えられたロボットアームである、
請求項1又は2に記載の制御装置。 - 前記ロボットアームの一部は、関節及び関節同士を結ぶリンクを含む、
請求項1から3のうちいずれか一項に記載の制御装置。 - 前記ロボットアームの一部は、3つの並んだ関節の回動軸が1点で交わらないオフセット部の一部を含む、
請求項1から4のうちいずれか一項に記載の制御装置。 - 前記3つの並んだ関節は、回転関節、回転関節、旋回関節の順に並んでいる、
請求項5に記載の制御装置。 - 前記仮想的なロボットアームは、前記3つの並んだ関節のうちの一方の端の関節に接続されたリンクに対して当該関節と反対側に接続された関節と、他方の端の関節に接続されたリンクとを結ぶ仮想的なリンクを設けて、前記3つの並んだ関節のうちの前記一方の端側の2つの関節を除外関節として除いて構成されている、
請求項5又は6に記載の制御装置。 - 前記逆運動学処理の結果により得られた前記仮想的なリンクの両端の位置と、除かれた前記除外関節及び前記除外関節に接続されるリンクとが整合するように、前記逆運動学処理の結果として得られる1以上の前記関節の回転角を補正する、
請求項7に記載の制御装置。 - 前記ロボットアームは、7軸以上である、
請求項1から8のうちいずれか一項に記載の制御装置。 - 請求項1から9のうちいずれか一項に記載の制御装置を備える、
ロボット。 - 請求項1から9のうちいずれか一項に記載の制御装置と、
請求項10に記載のロボットと、
を備えるロボットシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015170159A JP2017047478A (ja) | 2015-08-31 | 2015-08-31 | 制御装置、ロボット及びロボットシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015170159A JP2017047478A (ja) | 2015-08-31 | 2015-08-31 | 制御装置、ロボット及びロボットシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017047478A true JP2017047478A (ja) | 2017-03-09 |
Family
ID=58278450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015170159A Pending JP2017047478A (ja) | 2015-08-31 | 2015-08-31 | 制御装置、ロボット及びロボットシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017047478A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114872050A (zh) * | 2022-06-01 | 2022-08-09 | 清华大学深圳国际研究生院 | 一种双臂履带式移动操作机器人控制方法及控制系统 |
JP7386451B2 (ja) | 2019-10-03 | 2023-11-27 | 株式会社豆蔵 | 教示システム、教示方法及び教示プログラム |
-
2015
- 2015-08-31 JP JP2015170159A patent/JP2017047478A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7386451B2 (ja) | 2019-10-03 | 2023-11-27 | 株式会社豆蔵 | 教示システム、教示方法及び教示プログラム |
CN114872050A (zh) * | 2022-06-01 | 2022-08-09 | 清华大学深圳国际研究生院 | 一种双臂履带式移动操作机器人控制方法及控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6380828B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
JP6648469B2 (ja) | ロボットシステム、及びロボット制御装置 | |
WO2018090323A1 (zh) | 一种坐标系标定方法、系统及装置 | |
US20160184996A1 (en) | Robot, robot system, control apparatus, and control method | |
US20180085920A1 (en) | Robot control device, robot, and robot system | |
US20170277167A1 (en) | Robot system, robot control device, and robot | |
JP6996113B2 (ja) | ロボット制御方法、ロボットシステムおよび制御装置 | |
US10052767B2 (en) | Robot, control device, and control method | |
US11351672B2 (en) | Robot, control device, and robot system | |
US10427299B2 (en) | Device for robot, robot control device, and robot system | |
TW201731647A (zh) | 握持機器人及機器人手部的控制方法 | |
JP2017047478A (ja) | 制御装置、ロボット及びロボットシステム | |
WO2018119642A1 (zh) | 一种工业机器人的工具坐标系原点的标定方法及装置 | |
JP6455869B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
JP6958091B2 (ja) | ロボットシステム、及びロボット制御方法 | |
JP2016120558A (ja) | ロボット、及びロボットシステム | |
JP2016120530A (ja) | ロボット、及びロボット校正システム | |
JP2017159429A (ja) | ロボット制御装置、情報処理装置、及びロボットシステム | |
JP7447568B2 (ja) | シミュレーション装置およびプログラム | |
JP2017052073A (ja) | ロボットシステム、ロボット、及びロボット制御装置 | |
JP2016120557A (ja) | ロボット、及びロボット校正システム | |
JP2016120555A (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
Al-Ammri et al. | Design of robotic arm control system mimics human arm motion | |
JP2018001321A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
JP2016013610A (ja) | ロボット、及び制御方法 |