JP2017185598A - ロボット、ロボット制御装置、及びロボットシステム - Google Patents
ロボット、ロボット制御装置、及びロボットシステム Download PDFInfo
- Publication number
- JP2017185598A JP2017185598A JP2016077236A JP2016077236A JP2017185598A JP 2017185598 A JP2017185598 A JP 2017185598A JP 2016077236 A JP2016077236 A JP 2016077236A JP 2016077236 A JP2016077236 A JP 2016077236A JP 2017185598 A JP2017185598 A JP 2017185598A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- joint
- posture
- point
- speed
- 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
【課題】ロボットの姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができるロボットを提供すること。【解決手段】複数の関節を備えたロボットであって、連続経路動作時に前記ロボットの姿勢が特異姿勢に近づいた場合、前記複数の関節のうちの一部の関節である第1関節が前記連続経路動作とは異なる動作を行い、前記複数の関節のうちの前記第1関節と異なる第2関節の速度が制限される、ロボット。【選択図】図3
Description
この発明は、ロボット、ロボット制御装置、及びロボットシステムに関する。
連続経路制御(CP(Continuous Path)制御)による動作である連続経路動作をロボットが備える複数の関節のそれぞれに行わせることによって当該ロボットに所定の作業を行わせる技術の研究や開発が行われている。
連続経路動作時においてロボットの姿勢が特異姿勢に近づいた場合、ロボットが備える複数の関節のうちの少なくとも1つの速度(すなわち、回動速度又は角速度)が限界速度を超えて回動することがある。限界速度を超えて回動し続けた関節には、不具合が生じる可能性がある。
これに関し、ロボットの姿勢が特異姿勢に近づいた場合、連続位置決め制御(PTP(Point To Point)制御)による動作である連続位置決め動作をロボットが備える複数の関節の少なくとも一部に行わせることにより、ロボットの各関節の速度が限界速度を超えてしまうことを抑制するマニピュレーター制御装置が知られている(特許文献1参照)。
しかしながら、このようなマニピュレーター制御装置では、ロボットのTCP(Tool Center Point)の速度を速くした場合においてロボットの姿勢が特異姿勢に近づくと、ロボットが備える複数の関節のうちの少なくとも1つの関節の速度が限界速度を超えてしまうことがあった。このため、当該マニピュレーター制御装置では、ロボットに所定の作業を行わせる時間を短縮することが困難な場合があった。
上記課題の少なくとも一つを解決するために本発明の一態様は、複数の関節を備えたロボットであって、連続経路動作時に前記ロボットの姿勢が特異姿勢に近づいた場合、前記複数の関節のうちの一部の関節である第1関節が前記連続経路動作とは異なる動作を行い、前記複数の関節のうちの前記第1関節と異なる第2関節の速度が制限される、ロボットである。
この構成により、ロボットは、連続経路動作時にロボットの姿勢が特異姿勢に近づいた場合、第1関節が連続経路動作とは異なる動作を行い、第2関節の速度が制限される。これにより、ロボットは、ロボットの姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
この構成により、ロボットは、連続経路動作時にロボットの姿勢が特異姿勢に近づいた場合、第1関節が連続経路動作とは異なる動作を行い、第2関節の速度が制限される。これにより、ロボットは、ロボットの姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
また、本発明の他の態様は、ロボットにおいて、前記ロボットの姿勢が前記特異姿勢に近づいた場合、前記第1関節の動作を前記連続経路動作から連続位置決め動作に切り替える、構成が用いられてもよい。
この構成により、ロボットは、ロボットの姿勢が特異姿勢に近づいた場合、第1関節の動作を連続経路動作から連続位置決め動作に切り替える。これにより、ロボットは、連続位置決め動作によって、ロボットの姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
この構成により、ロボットは、ロボットの姿勢が特異姿勢に近づいた場合、第1関節の動作を連続経路動作から連続位置決め動作に切り替える。これにより、ロボットは、連続位置決め動作によって、ロボットの姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
また、本発明の他の態様は、ロボットにおいて、前記ロボットの姿勢が前記特異姿勢から遠ざかった場合、前記第1関節の動作を前記連続位置決め動作から前記連続経路動作に切り替える、構成が用いられてもよい。
この構成により、ロボットは、ロボットの姿勢が特異姿勢から遠ざかった場合、第1関節の動作を連続位置決め動作から連続経路動作に切り替える。これにより、ロボットは、ロボットの姿勢に応じて第1関節の動作を連続経路動作と連続位置決め動作とのいずれかに切り替えることにより、ロボットの姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
この構成により、ロボットは、ロボットの姿勢が特異姿勢から遠ざかった場合、第1関節の動作を連続位置決め動作から連続経路動作に切り替える。これにより、ロボットは、ロボットの姿勢に応じて第1関節の動作を連続経路動作と連続位置決め動作とのいずれかに切り替えることにより、ロボットの姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
また、本発明の他の態様は、ロボットにおいて、前記連続位置決め動作時における前記第1関節の速度の推定値が所定閾値以上であると判定された場合、前記第1関節の動作を前記連続位置決め動作から前記連続経路動作に切り替えるタイミングを遅らせる、構成が用いられてもよい。
この構成により、ロボットは、連続位置決め動作時における第1関節の速度の推定値が所定閾値以上であると判定された場合、第1関節の動作を連続位置決め動作から連続経路動作に切り替えるタイミングを遅らせる。これにより、ロボットは、第1関節の速度が限界速度を超えてしまうことを抑制するとともに、ロボットの姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
この構成により、ロボットは、連続位置決め動作時における第1関節の速度の推定値が所定閾値以上であると判定された場合、第1関節の動作を連続位置決め動作から連続経路動作に切り替えるタイミングを遅らせる。これにより、ロボットは、第1関節の速度が限界速度を超えてしまうことを抑制するとともに、ロボットの姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
また、本発明の他の態様は、ロボットにおいて、前記ロボットの姿勢が前記特異姿勢に近づいた場合、前記第2関節の動作を前記連続経路動作のまま保持する、構成が用いられてもよい。
この構成により、ロボットは、ロボットの姿勢が特異姿勢に近づいた場合、第2関節の動作を連続経路動作のまま保持する。これにより、ロボットは、第2関節の動作を連続経路動作に保持したまま、ロボットの姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
この構成により、ロボットは、ロボットの姿勢が特異姿勢に近づいた場合、第2関節の動作を連続経路動作のまま保持する。これにより、ロボットは、第2関節の動作を連続経路動作に保持したまま、ロボットの姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
また、本発明の他の態様は、ロボットにおいて、複数の関節を備えたロボットであって、連続経路動作時に前記ロボットの姿勢が特異姿勢に近づいた場合、前記複数の関節のうちの少なくとも一部の関節が前記連続経路動作とは異なる動作を行い、当該関節の速度が制限される、構成が用いられてもよい。
この構成により、ロボットは、連続経路動作時にロボットの姿勢が特異姿勢に近づいた場合、複数の関節のうちの少なくとも一部の関節が連続経路動作とは異なる動作を行い、当該関節の速度が制限される。これにより、ロボットは、ロボットの姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
この構成により、ロボットは、連続経路動作時にロボットの姿勢が特異姿勢に近づいた場合、複数の関節のうちの少なくとも一部の関節が連続経路動作とは異なる動作を行い、当該関節の速度が制限される。これにより、ロボットは、ロボットの姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
また、本発明の他の態様は、上記に記載のロボットを制御する、ロボット制御装置である。
この構成により、ロボット制御装置は、連続経路動作時にロボットの姿勢が特異姿勢に近づいた場合、第1関節に連続経路動作とは異なる動作を行わせ、第2関節の速度を制限する。これにより、ロボット制御装置は、ロボットの姿勢が特異姿勢に近づく動作を含む作業をロボットに行わせる時間を短縮することができる。
この構成により、ロボット制御装置は、連続経路動作時にロボットの姿勢が特異姿勢に近づいた場合、第1関節に連続経路動作とは異なる動作を行わせ、第2関節の速度を制限する。これにより、ロボット制御装置は、ロボットの姿勢が特異姿勢に近づく動作を含む作業をロボットに行わせる時間を短縮することができる。
また、本発明の他の態様は、上記に記載のロボットと、前記ロボットを制御するロボット制御装置と、を備えるロボットシステムである。
この構成により、ロボットシステムは、連続経路動作時にロボットの姿勢が特異姿勢に近づいた場合、第1関節に連続経路動作とは異なる動作を行わせ、第2関節の速度を制限する。これにより、ロボットシステムは、ロボットの姿勢が特異姿勢に近づく動作を含む作業をロボットに行わせる時間を短縮することができる。
この構成により、ロボットシステムは、連続経路動作時にロボットの姿勢が特異姿勢に近づいた場合、第1関節に連続経路動作とは異なる動作を行わせ、第2関節の速度を制限する。これにより、ロボットシステムは、ロボットの姿勢が特異姿勢に近づく動作を含む作業をロボットに行わせる時間を短縮することができる。
以上により、ロボットは、連続経路動作時にロボットの姿勢が特異姿勢に近づいた場合、第1関節が連続経路動作とは異なる動作を行い、第2関節の速度が制限される。これにより、ロボットは、ロボットの姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
また、ロボット制御装置、及びロボットシステムは、連続経路動作時にロボットの姿勢が特異姿勢に近づいた場合、第1関節に連続経路動作とは異なる動作を行わせ、第2関節の速度を制限する。これにより、ロボットシステムは、ロボットの姿勢が特異姿勢に近づく動作を含む作業をロボットに行わせる時間を短縮することができる。
また、ロボット制御装置、及びロボットシステムは、連続経路動作時にロボットの姿勢が特異姿勢に近づいた場合、第1関節に連続経路動作とは異なる動作を行わせ、第2関節の速度を制限する。これにより、ロボットシステムは、ロボットの姿勢が特異姿勢に近づく動作を含む作業をロボットに行わせる時間を短縮することができる。
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。
以下、本発明の実施形態について、図面を参照して説明する。
<ロボットシステムの構成>
まず、ロボットシステム1の構成について説明する。
図1は、実施形態に係るロボットシステム1の構成の一例を示す図である。ロボットシステム1は、ロボット20と、ロボット制御装置30を備える。
まず、ロボットシステム1の構成について説明する。
図1は、実施形態に係るロボットシステム1の構成の一例を示す図である。ロボットシステム1は、ロボット20と、ロボット制御装置30を備える。
ロボット20は、アームAと、アームAを支持する支持台Bを備える単腕ロボットである。単腕ロボットは、この一例におけるアームAのような1本のアーム(腕)を備えるロボットである。なお、ロボット20は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、2本以上のアーム(例えば、2本以上のアームA)を備えるロボットである。なお、複腕ロボットのうち、2本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット20は、2本のアームを備える双腕ロボットであってもよく、3本以上のアーム(例えば、3本以上のアームA)を備える複腕ロボットであってもよい。また、ロボット20は、スカラロボットや、円筒型ロボット等の他のロボットであってもよい。
アームAは、エンドエフェクターEと、マニピュレーターMを備える。
エンドエフェクターEは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターEは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
エンドエフェクターEは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターEは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
マニピュレーターMは、5個のアーム部材であるリンクL1〜リンクL5と、6つの関節である関節J1〜関節J6を備える。支持台BとリンクL1は、関節J1によって連結される。リンクL1とリンクL2は、関節J2によって連結される。リンクL2とリンクL3は、関節J3によって連結される。リンクL3とリンクL4は、関節J4によって連結される。リンクL4とリンクL5は、関節J5によって連結される。リンクL5とエンドエフェクターEは、関節J6によって連結される。すなわち、マニピュレーターMを備えるアームAは、6軸垂直多関節型のアームである。なお、アームAは、5軸以下の自由度で動作する構成であってもよく、7軸以上の自由度で動作する構成であってもよい。
関節J2、関節J3、関節J5のそれぞれは、旋回関節(曲げ関節)であり、関節J1、関節J4、関節J6のそれぞれは、回転関節(ねじり関節)である。前述したように、関節J6には、エンドエフェクターEが連結(装着)される。
エンドエフェクターEは、ケーブルによってロボット制御装置30と通信可能に接続されている。また、関節J1〜関節J6のそれぞれは、ケーブルによってロボット制御装置30と通信可能に接続されている。なお、これらのケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。また、エンドエフェクターEは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。また、関節J1〜関節J6のうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
ロボット制御装置30は、この一例において、ロボットコントローラーである。ロボット制御装置30は、予め入力された動作プログラムに基づいて制御信号を生成する。ロボット制御装置30は、生成した制御信号をロボット20に送信し、ロボット20に所定の作業を行わせる。以下では、説明の便宜上、ロボット制御装置30による当該制御信号の生成及び送信についての説明を省略し、ロボット制御装置30がロボット20に行わせる動作、及びロボット20を動作させる際にロボット制御装置30が行う処理について説明する。所定の作業は、例えば、図示しない物体をロボット20が把持し、把持した物体を図示しない給材領域にロボット20が配置する作業であるが、これに代えて、他の作業であってもよい。
<ロボットを動作させる際にロボット制御装置が行う処理の概要>
以下、ロボット20を動作させる際にロボット制御装置30が行う処理の概要について説明する。
以下、ロボット20を動作させる際にロボット制御装置30が行う処理の概要について説明する。
ロボット制御装置30は、エンドエフェクターEに予め対応付けられた位置に、エンドエフェクターEとともに動くTCP(Tool Center Point)である制御点Tを設定する。エンドエフェクターEに予め対応付けられた位置は、例えば、エンドエフェクターEの重心の位置である。なお、エンドエフェクターEに対応付けられた位置は、これに代えて、エンドエフェクターEに把持された物体の重心の位置等の他の位置であってもよく、マニピュレーターMに対応付けられた何らかの位置であってもよい。
ロボット制御装置30は、ユーザーから予め入力された制御点設定情報に基づいて制御点Tを設定する。制御点設定情報は、例えば、エンドエフェクターEの重心の位置及び姿勢を示す情報である。なお、制御点設定情報は、これに代えて、エンドエフェクターEに対応付けられた何らかの位置及び姿勢と制御点Tの位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、マニピュレーターMに対応付けられた何らかの位置及び姿勢と制御点Tの位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、ロボット20の他の部位に対応付けられた何らかの位置及び姿勢と制御点Tの位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよい。
制御点Tには、制御点Tの位置を示す情報である制御点位置情報と、制御点Tの姿勢を示す情報である制御点姿勢情報とが対応付けられている。なお、制御点Tには、これらに加えて、他の情報が対応付けられる構成であってもよい。ロボット制御装置30は、制御点位置情報及び制御点姿勢情報のそれぞれを指定(決定)する。ロボット制御装置30は、アームAの関節J1〜関節J6のうちの少なくとも1つを動作させ、指定した制御点位置情報が示す位置に制御点Tの位置を一致させるとともに、指定した制御点姿勢情報が示す姿勢に制御点Tの姿勢を一致させる。すなわち、ロボット制御装置30は、制御点位置情報及び制御点姿勢情報を指定することにより、ロボット20を動作させる。
この一例ではロボット20が6軸垂直多関節型のアームAを備えるため、制御点Tの位置は、関節J1〜関節J3のそれぞれを回動させることによっておおよそ決定される。なお、制御点Tの位置は、関節J4〜関節J6のそれぞれを回動させることによって微調整することもできる。また、当該一例では、制御点Tの姿勢は、関節J4〜関節J6のそれぞれを回動させることによって決定される。
この一例において、制御点Tの位置は、制御点座標系TCの原点のロボット座標系RCにおける位置によって表される。また、制御点Tの姿勢は、制御点座標系TCの各座標軸のロボット座標系RCにおける方向によって表される。制御点座標系TCは、制御点Tとともに動くように制御点Tに対応付けられた三次元局所座標系である。なお、この一例において、エンドエフェクターEの位置及び姿勢は、制御点Tの位置及び姿勢によって表される。
ロボット制御装置30は、ロボット制御装置30に予め記憶された教示点情報に基づいて制御点Tを移動させる。
教示点情報は、教示点を示す情報である。教示点は、ロボット制御装置30がマニピュレーターMを動作させる際に制御点Tを移動させる目標となる仮想的な点のことである。教示点には、教示点位置情報と、教示点姿勢情報と、教示点速度情報と、教示点識別情報とが対応付けられている。教示点位置情報は、教示点の位置を示す情報である。また、教示点姿勢情報は、教示点の姿勢を示す情報である。教示点速度情報は、教示点の速度を示す情報である。教示点識別情報は、教示点を識別する情報である。この一例において、教示点の位置は、教示点に対応付けられた三次元局所座標系である教示点座標系の原点のロボット座標系RCにおける位置によって表される。また、教示点の姿勢は、教示点座標系の各座標軸のロボット座標系RCにおける方向によって表される。
ロボット制御装置30は、ユーザーにより予め入力された動作プログラムに基づいて、教示点情報が示す1以上の教示点を順に指定する。そして、ロボット制御装置30は、当該動作プログラムに基づいて、現在の制御点Tが一致している教示点である第1教示点から、指定した教示点である第2教示点までの軌道を生成(算出)する。当該軌道は、直線であってもよく、曲線であってもよい。以下では、一例として、当該軌道が直線である場合について説明する。なお、第1教示点には、ロボット20が最初に制御点Tを一致させている始点が含まれる。
また、ロボット制御装置30は、ユーザーにより予め入力された動作プログラムに基づいて、連続経路制御(CP(Continuous Path)制御)を行う。連続経路制御では、ロボット制御装置30は、第1教示点から第2教示点までの軌道であって制御点Tの位置及び姿勢の変化を表す軌道を、第1教示点から第2教示点まで制御点Tが移動する際の経過時間の関数として生成(算出)する。すなわち、ロボット制御装置30は、経過時間を指定することによって、当該軌道に基づいて当該軌道上における制御点Tの位置及び姿勢を特定することができる。以下では、説明の便宜上、当該軌道を連続経路軌道(CP軌道)と称して説明する。ここで、ロボット制御装置30は、連続経路軌道を生成する際、連続経路軌道に沿って移動する制御点Tの速度が、第2教示点の速度である場合における連続経路軌道を生成する。そして、ロボット制御装置30は、生成した連続経路軌道に沿って制御点Tを第1教示点から第2教示点まで移動させる。この際、ロボット制御装置30は、第1教示点から制御点Tを移動させ始めるタイミングからの経過時間を計時し、計時した当該経過時間に応じた位置及び姿勢であって連続経路軌道上における制御点Tの位置及び姿勢を目標位置及び目標姿勢として特定する。ロボット制御装置30は、特定した目標位置を示す情報を制御点位置情報として指定し、特定した目標姿勢を示す情報を制御点姿勢情報として指定する。目標位置及び目標姿勢は、ロボット制御装置30が制御点Tの位置及び姿勢を一致させる目標となる位置及び姿勢のことである。これにより、ロボット制御装置30は、制御点Tの位置及び姿勢を目標位置及び目標姿勢に一致させる。このようにして、ロボット制御装置30は、制御点Tが第2教示点と一致するまで前述の経過時間に応じて制御点Tを移動させることができる。なお、連続経路制御によって連続経路軌道を生成する方法については、既知の方法を用いてもよく、これから新たに開発される方法を用いてもよいため説明を省略する。
連続経路制御においてロボット制御装置30が制御点Tを連続経路軌道に沿って移動させる際、ロボット制御装置30は、制御点Tの位置及び姿勢が目標位置及び目標姿勢に一致した場合における関節J1〜関節J6それぞれの回動角を第1回動角として逆運動学に基づいて算出する。例えば、現在の制御点Tの位置及び姿勢が位置及び姿勢X1と一致しており、目標位置及び目標姿勢が位置及び姿勢X2である場合、ロボット制御装置30は、位置及び姿勢X2に制御点Tの位置及び姿勢が一致した場合における関節J1〜関節J6それぞれの回動角を第1回動角として逆運動学に基づいて算出する。ロボット制御装置30は、算出した第1回動角に基づいて、関節J1〜関節J6それぞれに連続経路動作を行わせることにより、制御点Tの位置及び姿勢を目標位置及び目標姿勢に一致させる。ある関節に行わせる連続経路動作は、当該関節の回動角を第1回動角に含まれる当該関節の回動角に一致させる動作のことである。例えば、関節JNに行わせる連続経路動作は、関節JNの回動角を、第1回動角に含まれる関節JNの回動角に一致させる動作のことである。ここで、Nは、1〜6のいずれかの整数である。このような連続経路動作を関節J1〜関節J6のそれぞれに繰り返させることにより、ロボット制御装置30は、制御点Tを第1教示点から第2教示点に移動させる。
ここで、ロボット制御装置30は、連続経路動作時にロボット20の姿勢が特異姿勢に近づいた場合、ロボット20が備える複数の関節のうちの一部の関節である第1関節に連続経路動作とは異なる動作を行わせ、当該複数の関節のうちの第1関節と異なる第2関節の速度を制限する。連続経路動作時は、ロボット制御装置30が連続経路軌道に沿って制御点Tを移動させる処理を行っている時のことである。これにより、ロボット制御装置30は、ロボット20の姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。この一例において、ロボット20が備える関節のうちのある関節の速度は、当該関節の回動軸の回動速度、すなわち当該回動軸の角速度を意味する。第1関節と第2関節については、後述する。
特異姿勢は、ロボット20の姿勢のうちのロボット20の自由度が減少又は増加することによって逆運動学における解が不定となる姿勢のことである。また、特異姿勢は、ロボット20の構成に応じて異なる姿勢である。ロボット20の姿勢は、ロボット20の各関節それぞれの回動角の組み合わせによって表される。すなわち、ロボット20の姿勢は、この一例において、関節J1〜関節J6それぞれの回動角の組み合わせによって表される。
例えば、ロボット20の場合、特異姿勢には、第1姿勢と、第2姿勢と、第3姿勢と、第4姿勢との4つの姿勢が含まれる。第1姿勢は、関節J1の回動軸上にP点が一致する姿勢である。P点は、ロボット20の出力点の位置及び姿勢を表す仮想的な点であり、この一例において、関節J5の回動軸の重心の位置に設定される点である。なお、P点は、これに代えて、ロボット20に対応付けられた他の位置に設定される点であってもよい。第2姿勢〜第4姿勢のそれぞれは、ロボット20が備える複数の回転関節のうちの2つの回動軸が一致する姿勢である。具体的には、第2姿勢は、関節J1の回動軸と関節J4の回動軸とが一致する姿勢である。また、第3姿勢は、関節J1の回動軸と関節J6の回動軸とが一致する姿勢である。また、第4姿勢は、関節J4の回動軸と関節J6の回動軸とが一致する姿勢である。これは、前述したように、当該回転関節が、この一例において、関節J1と、関節J4と、関節J6との3つの関節であるためである。
また、例えば、複数の旋回関節のみを備えるロボットの場合、特異姿勢は、当該ロボットの姿勢のうちのP点と当該旋回関節それぞれの回動軸とが一直線上に並ぶ姿勢である。
また、例えば、スカラロボットの場合、特異姿勢は、第2軸の回動軸が0°となる姿勢であり、当該回動軸に沿って第1アーム及び第2アームを上から下に向かって見た場合に、第1アームと第2アームとが重なる姿勢である。
また、例えば、スカラロボットの場合、特異姿勢は、第2軸の回動軸が0°となる姿勢であり、当該回動軸に沿って第1アーム及び第2アームを上から下に向かって見た場合に、第1アームと第2アームとが重なる姿勢である。
以下では、一例として、ロボット20が行う所定の作業が、ロボット20の姿勢が第4姿勢に近づく動作を含む作業である場合について説明する。このような場合、ロボット制御装置30は、ロボット20の姿勢が特異姿勢に近づいたか否かを、関節J5の回動角と、関節J4の速度とによって判定することができる。より具体的には、ロボット制御装置30は、所定の判定条件が満たされたか否かを判定し、判定条件が満たされた場合、ロボット20の姿勢が特異姿勢に近づいたと判定する。判定条件は、この一例において、以下に示す1)、2)の2つの条件の両方を満たすことである。なお、判定条件は、当該2つの条件のうちのいずれか一方を満たすことであってもよい。また、判定条件は、当該2つの条件のうちのいずれか一方又は両方に代えて、他の条件を満たすことであってもよい。
1)関節J5の回動角が所定回動角以上であること
2)関節J4の速度が所定速度以上であること
2)関節J4の速度が所定速度以上であること
ロボット制御装置30は、関節J4が備えるエンコーダーから関節J4の回動角を示す回動角情報を取得する。ロボット制御装置30は、取得した当該回動角情報に基づいて、関節J4の速度を算出する。そして、ロボット制御装置30は、算出した当該速度が所定速度以上であるか否かを判定する。また、ロボット制御装置30は、関節J5が備えるエンコーダーから関節J5の回動角を示す回動角情報を取得する。そして、ロボット制御装置30は、取得した当該回動角情報が示す回動角が所定回動角以上であるか否かを判定する。このような判定方法により、ロボット制御装置30は、ロボット20の姿勢が特異姿勢に近づいたか否かを判定する。
以下では、連続経路動作時にロボット20の姿勢が特異姿勢に近づいた場合にロボット制御装置30が行う処理について詳しく説明する。
<ロボット制御装置のハードウェア構成>
以下、図2を参照し、ロボット制御装置30のハードウェア構成について説明する。図2は、ロボット制御装置30のハードウェア構成の一例を示す図である。図2は、ロボット制御装置30のハードウェア構成の一例を示す図である。
以下、図2を参照し、ロボット制御装置30のハードウェア構成について説明する。図2は、ロボット制御装置30のハードウェア構成の一例を示す図である。図2は、ロボット制御装置30のハードウェア構成の一例を示す図である。
ロボット制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。また、ロボット制御装置30は、通信部34を介してロボット20と通信を行う。
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に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部32は、ロボット制御装置30が処理する各種情報や画像、動作プログラムを含む各種のプログラム、教示点情報を格納する。
記憶部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が処理する各種情報や画像、動作プログラムを含む各種のプログラム、教示点情報を格納する。
入力受付部33は、例えば、表示部35と一体に構成されたタッチパネルである。なお、入力受付部33は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
<ロボット制御装置の機能構成>
以下、図3を参照し、ロボット制御装置30の機能構成について説明する。図3は、ロボット制御装置30の機能構成の一例を示す図である。
以下、図3を参照し、ロボット制御装置30の機能構成について説明する。図3は、ロボット制御装置30の機能構成の一例を示す図である。
ロボット制御装置30は、記憶部32と、入力受付部33と、ロボット制御部36を備える。
ロボット制御部36は、ロボット制御装置30の全体を制御する。ロボット制御部36は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することにより実現される。また、ロボット制御部36が有する機能のうちの一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
ロボット制御部36は、記憶部32に予め記憶された動作プログラム及び教示点情報に基づいて、ロボット20を動作させる。この際、ロボット制御部36は、ロボット20が備える複数の関節に連続経路動作を行わせることにより、ロボット20を動作させる。また、ロボット制御部36は、ロボット20の姿勢が特異姿勢に近づいた場合、第1関節に連続経路動作とは異なる動作を行わせ、第2関節の速度を制限する。
<連続経路動作時にロボットの姿勢が特異姿勢に近づいた場合においてロボット制御装置が行う処理>
以下、図4を参照し、連続経路動作時にロボット20の姿勢が特異姿勢に近づいた場合においてロボット制御装置30が行う処理について説明する。図4は、制御点Tを第1教示点から第2教示点へ移動させる際にロボット制御装置30が行う処理の流れの一例を示すフローチャートである。
以下、図4を参照し、連続経路動作時にロボット20の姿勢が特異姿勢に近づいた場合においてロボット制御装置30が行う処理について説明する。図4は、制御点Tを第1教示点から第2教示点へ移動させる際にロボット制御装置30が行う処理の流れの一例を示すフローチャートである。
ロボット制御部36は、記憶部32に予め記憶された動作プログラム及び教示点情報に基づいて第2教示点を指定する(ステップS110)。次に、ロボット制御部36は、ステップS110において指定された第2教示点と、第1教示点とに基づいて、連続経路制御により連続経路軌道を生成する(ステップS120)。
次に、ロボット制御部36は、ステップS120において生成した連続経路軌道に基づいて、関節J1〜関節J6のそれぞれに連続経路動作を行わせ始め、制御点Tを第1教示点から第2教示点に移動させ始める(ステップS130)。次に、ロボット制御部36は、ステップS130において開始した連続経路動作によって制御点Tを移動させる毎に、ロボット20の姿勢が特異姿勢に近づいたか否かを判定する(ステップS140)。すなわち、ロボット制御部36は、ステップS140において、連続経路動作時にロボット20の姿勢が特異姿勢に近づいたか否かを判定する。
ステップS140においてロボット20の姿勢が特異姿勢に近づいたと判定した場合(ステップS140−YES)、ロボット制御部36は、現在の制御点Tの位置及び姿勢に基づいて、連続位置決め制御(PTP(Point To Point)制御)により連続位置決め軌道を生成する(ステップS150)。ここで、ステップS150の処理について詳しく説明する。
連続位置決め制御では、ロボット制御部36は、始点と終点を特定する。始点は、現在の制御点Tが一致している仮想的な点であって連続経路軌道上の点のことである。また、始点の位置及び姿勢である始点位置及び始点姿勢は、現在の制御点Tの位置及び姿勢である。終点は、連続経路軌道上において制御点Tが一致する仮想的な点のうちの前述の判定条件が満たされなくなる点である。また、当該点は、始点から第2教示点までの間の点であって始点に最も近い点である。終点の位置及び姿勢である終点位置及び終点姿勢は、連続経路軌道上における終点に制御点Tが一致している場合の制御点Tの位置及び姿勢である。
終点を算出する際、ロボット制御部36は、関節J1〜関節J6の動作を連続経路動作に保持したまま連続経路軌道に沿って始点から第2教示点まで制御点Tを移動させた場合における経過時間毎の関節J4の速度及び関節J5の回動角を算出する。そして、ロボット制御部36は、算出した当該速度及び当該回動角に基づいて、当該速度と当該回動角のうちの少なくとも一方が前述の判定条件を満たさなくなる当該経過時間であって最も早い当該経過時間を終点時間として特定する。ロボット制御部36は、特定した終点時間において制御点Tが一致する仮想的な点であって連続経路軌道上の点を終点として特定する。
始点及び終点を特定した後、ロボット制御部36は、制御点Tが始点と一致している場合における関節J1〜関節J6それぞれの回動角を始点回動角として算出する。また、ロボット制御部36は、制御点Tが終点と一致している場合における関節J1〜関節J6それぞれの回動角を終点回動角として算出する。ロボット制御部36は、算出した始点回動角及び終点回動角に基づく関節空間補間軌道生成問題を解き、連続位置決め軌道を生成(算出)する。連続位置決め軌道は、制御点Tが始点から終点に移動するまでの経過時間とともに変化する回動角であって関節J1〜関節J6それぞれの回動角である第2回動角の変化を、当該経過時間の関数として表したものである。ただし、始点から移動した制御点Tが終点と一致するまでに経過する経過時刻は、前述の終点時間である。以下では、説明の便宜上、当該関数が表す曲線、すなわち第2回動角の変化を表す曲線を連続位置決め軌道と称して説明する。また、ロボット制御部36は、算出した連続位置決め軌道に基づいて、当該経過時間とともに変化する速度であって関節J1〜関節J6それぞれの速度を当該経過時間の関数として生成(算出)する。以下では、説明の便宜上、当該関数が表す曲線を関節速度曲線と称して説明する。関節速度曲線が表す経過時間に応じた速度であって関節J1〜関節J6それぞれの速度は、関節J1〜関節J6それぞれの速度の推定値の一例である。
以上のように、ステップS150においてロボット制御部36は、現在の制御点Tの位置及び姿勢である始点位置及び始点姿勢に基づいて、連続位置決め制御によって連続位置決め軌道を生成する。
ステップS150において連続位置決め軌道が生成された後、ロボット制御部36は、ステップS150において生成した関節速度曲線に基づいて、第1関節のうちの少なくとも1つの速度が所定閾値以上となる時間帯があるか否かを判定する(ステップS160)。第1関節は、この一例において、関節J4〜関節J6のそれぞれである。従って、第2関節は、この一例において、関節J1〜関節J3のそれぞれである。なお、第1関節は、ロボット20の構造や特異姿勢に応じて異なるため、ロボット20の構造や特異姿勢に応じた他の関節であってもよい。また、第2関節は、第1関節に応じて異なるため、第1関節に応じた他の関節であってもよい。ここで、図5を参照し、ステップS160の処理について詳しく説明する。図5では、この一例における第1関節の1つである関節J4を例に挙げて説明する。なお、関節J5及び関節J6については、ロボット制御部36が、以下において説明する関節J4に行わせる動作と同様の動作を行わせるため説明を省略する。
図5は、関節J4の関節速度曲線の一例を示す図である。図5に示したグラフの横軸は、第1教示点から制御点Tが移動し始めてから第2教示点に一致するまでの経過時間を表す。また、当該グラフの縦軸は、関節J4の速度を表す。当該グラフの曲線F1は、関節J4の関節速度曲線の一例である。図5に示した速度S1は、この一例における所定閾値である。所定閾値は、例えば、関節J4の限界速度である。なお、所定閾値は、これに代えて、他の速度であってもよい。ある関節の限界速度は、この一例において、当該関節に不具合が生じる可能性が高くなる速度である。図5に示した時間T1は、ステップS130の処理が開始された時間、すなわち第1教示点から制御点Tが移動し始めた時間である。また、時間T2は、制御点Tが第2教示点に一致する時間である。また、始点時間TSは、制御点Tが始点に一致した時間である。また、終点時間TEは、制御点Tが終点に一致する時間である。前述したように、図5に示した始点時間TSから終点時間TEまでの時間帯では、ロボット制御部36は、関節J4に連続位置決め動作を行わせる。図5には、当該時間帯において関節J4の速度が速度S1を超えている例が示されている。この場合、ロボット制御部36は、ステップS160において、第1関節の速度が所定閾値以上となる時間帯があると判定する。
ステップS160において第1関節のうちの少なくとも1つの速度が所定閾値以上となる時間帯があると判定した場合(ステップS160−YES)、ロボット制御部36は、連続位置決め軌道の再生成を行う(ステップS170)。ここで、図6を参照し、ステップS170の処理について説明する。
図6は、関節J4の関節速度曲線の他の例を示す図である。図6に示したグラフの横軸は、第1教示点から制御点Tが移動し始めてから第2教示点に一致するまでの経過時間を表す。また、当該グラフの縦軸は、関節J4の速度を表す。当該グラフの曲線F2は、関節J4の関節速度曲線の他の例である。図6に示した速度S11は、この一例における所定閾値である。図6に示した時間T11は、ステップS130の処理が開始された時間、すなわち第1教示点から制御点Tが移動し始めた時間である。また、時間T12は、制御点Tが第2教示点に一致する時間である。また、始点時間TS11は、制御点Tが始点に一致した時間である。また、終点時間TE11は、制御点Tが終点に一致する時間である。前述したように、図6に示した始点時間TS11から終点時間TE11までの時間帯では、ロボット制御部36は、関節J4に連続位置決め動作を行わせる。図6に示した例では、曲線F2は、当該時間帯において関節J4の速度が速度S11を超えている。この場合、ロボット制御部36は、ステップS170において連続位置決め軌道の再生成を行う。
具体的には、ロボット制御部36は、現在の終点時間TE11から所定時間経過した時間を新たな終点時間TE12として特定する。所定時間は、この一例において、10ミリ秒である。なお、所定時間は、これに代えて、他の時間であってもよい。そして、ロボット制御部36は、始点から第2教示点まで連続経路軌道に沿って制御点Tを移動させた場合に終点時間TE12において制御点Tが一致する仮想的な点であって連続経路軌道上の点を新たな終点として特定する。ロボット制御部36は、始点位置及び始点姿勢と、特定した新たな終点における終点位置及び終点姿勢とに基づいて連続位置決め軌道を再生成する。また、ロボット制御部36は、当該連続位置決め軌道に基づいて関節速度曲線を再生成する。ステップS170における当該連続位置決め軌道及び当該関節速度曲線の生成方法については、ステップS150における連続位置決め軌道及び関節速度曲線の生成方法と同様であるため説明を省略する。終点時間は、第1関節の動作を連続位置決め動作から連続経路動作に切り替えるタイミングの一例である。
図6に示した曲線F3は、ロボット制御部36により再生成された関節速度曲線であって関節J4の関節速度曲線の一例である。図6に示したように、ロボット制御部36が終点時間TE11を終点時間TE12に変化させた結果として、関節J4の速度は、始点時間TS11から終点時間TE12の時間帯において所定閾値を超えていない。
ステップS170において連続位置決め軌道の再生成を行った後、ロボット制御部36は、ステップS160に遷移し、再び第1関節のうちの少なくとも1つの速度が所定閾値以上となる時間帯があるか否かを判定する。なお、ステップS170において現在の終点時間から所定時間経過した時間を新たな終点時間としたにも拘らず、再びステップS160において当該時間帯があると判定された場合、ロボット制御部36は、ステップS170において当該終点時間から更に所定時間経過した時間を新たな終点時間として特定する。すなわち、ステップS160〜ステップS170を繰り返すことにより、ロボット制御部36は、連続位置決め軌道に基づいて動作させる第1関節の速度を、所定閾値未満の速度に制限することができる。
ステップS170において連続位置決め軌道の再生成を行った後、ロボット制御部36は、ステップS160に遷移し、再び第1関節のうちの少なくとも1つの速度が所定閾値以上となる時間帯があるか否かを判定する。なお、ステップS170において現在の終点時間から所定時間経過した時間を新たな終点時間としたにも拘らず、再びステップS160において当該時間帯があると判定された場合、ロボット制御部36は、ステップS170において当該終点時間から更に所定時間経過した時間を新たな終点時間として特定する。すなわち、ステップS160〜ステップS170を繰り返すことにより、ロボット制御部36は、連続位置決め軌道に基づいて動作させる第1関節の速度を、所定閾値未満の速度に制限することができる。
一方、ステップS160において第1関節のうちの少なくとも1つの速度が所定閾値以上となる時間帯がないと判定した場合(ステップS160−NO)、ロボット制御部36は、第1関節に連続位置決め動作を行わせ始め、連続経路軌道と異なる軌道に沿って制御点Tを移動させる(ステップS180)。ある関節の連続位置決め動作は、当該関節の回動角が連続位置決め軌道に沿って回動する動作のことである。より具体的には、ある関節の連続位置決め動作は、始点から制御点Tが移動し始めてからの経過時間に応じて、当該関節の回動角をステップS150又はステップS170において算出した第2回動角に一致させる動作のことである。すなわち、ロボット制御部36は、ステップS180において、第1関節の動作を連続経路動作から連続位置決め動作に切り替える。
また、ステップS180の処理において、ロボット制御部36は、第2関節の動作をステップS130において開始した連続経路動作に保持させたまま、制御点Tを移動させる。この際、ロボット制御部36は、図7に示したように、第2関節の速度を所定の第2閾値未満に制限する。図7は、第2関節のうちの1つである関節J2の速度の変化の一例を示す図である。なお、関節J1及び関節J3については、ロボット制御部36が、以下において説明する関節J2に行わせる動作と同様の動作を行わせるため説明を省略する。
図7に示したグラフの横軸は、第1教示点から制御点Tが移動し始めてから第2教示点に一致するまでの経過時間を表す。また、当該グラフの縦軸は、関節J2の速度を表す。当該グラフの曲線F4は、関節J2の速度の変化を表すグラフの一例である。図7に示した速度S2は、この一例における所定の第2閾値である。図7に示した時間T21は、ステップS130の処理が開始された時間、すなわち第1教示点から制御点Tが移動し始めた時間である。また、時間T22は、制御点Tが第2教示点に一致する時間である。また、時間TS21は、関節J2の速度が制限され始めた時間である。また、時間TE21は、関節J2の速度の制限が解除された時間である。図7に示した時間TS21から時間TE21までの時間帯では、ロボット制御部36は、関節J2の速度を速度S2未満に制限している。このため、図7に示した例では、曲線F4は、当該時間帯において関節J2の速度が速度S2未満に収まっている。
このように、ステップS180において第1関節に連続位置決め動作を行わせ始めるとともに第2関節の速度を制限し始めた後、ロボット制御部36は、制御点Tを移動させる毎に、ロボット20の姿勢が特異姿勢から遠ざかったか否かを判定する(ステップS190)。この一例において、ロボット制御部36は、制御点Tが終点と一致した場合、ロボット20の姿勢が特異姿勢から遠ざかったと判定する。なお、ロボット制御部36は、これに代えて、制御点Tを移動させる毎に、関節J5の回動角及び関節J4の速度を特定し、特定した当該回動角及び当該速度に基づいて前述の判定条件が満たされなくなったか否かを判定し、当該判定条件が満たされなくなった場合にロボット20の姿勢が特異姿勢から遠ざかったと判定する等の他の条件によってロボット20の姿勢が特異姿勢から遠ざかったか否かを判定する構成であってもよい。
ロボット20の姿勢が特異姿勢から遠ざかっていないと判定した場合(ステップS190−NO)、ロボット制御部36は、ステップS180において開始した動作によって制御点Tを移動させた後、再びステップS190においてロボット20の姿勢が特異姿勢から遠ざかったか否かを判定する。一方、ロボット20の姿勢が特異姿勢から遠ざかったと判定した場合(ステップS190−YES)、ロボット制御部36は、ステップS120において生成した連続経路軌道に基づいて、第1関節の動作を連続位置決め動作から連続経路動作に切り替える(ステップS200)。すなわち、ロボット制御部36は、ステップS200において、連続経路動作による制御点Tの移動を再開する。具体的には、ロボット制御部36は、終点から第2教示点まで制御点Tを移動させる際、ステップS120において生成した連続経路軌道に基づく連続経路動作を関節J1〜関節J6のそれぞれに行わせる。そして、ロボット制御部36は、ステップS140に遷移し、再びロボット20の姿勢が特異姿勢に近づいたか否かを判定する。
一方、ステップS140においてロボット20の姿勢が特異姿勢に近づいていないと判定した場合(ステップS140−NO)、ロボット制御部36は、制御点Tが第2教示点に一致したか否かを判定する(ステップS210)。制御点Tが第2教示点に一致していないと判定した場合(ステップS210−NO)、ロボット制御部36は、ステップS140に遷移し、再びロボット20の姿勢が特異姿勢に近づいたか否かを判定する。一方、制御点Tが第2教示点に一致したと判定した場合(ステップS210−YES)、ロボット制御部36は、処理を終了する。
以上のように、ロボット制御装置30は、連続経路動作時にロボット20の姿勢が特異姿勢に近づいた場合、複数の関節のうちの一部の関節である第1関節に連続経路動作とは異なる動作を行わせ、複数の関節のうちの第1関節と異なる第2関節の速度を制限する。これにより、ロボット制御装置30は、ロボット20の姿勢が特異姿勢に近づく動作を含む作業をロボット20に行わせる時間を短縮することができる。
なお、ロボット制御装置30は、連続経路動作時にロボット20の姿勢が特異姿勢に近づいた場合、複数の関節のうちの少なくとも一部の関節に連続経路動作とは異なる動作を行わせ、当該関節の速度を制限する構成であってもよい。この場合、例えば、ロボット制御装置30は、ステップS180の処理において、関節J1〜関節J6のそれぞれに連続位置決め動作を行わせ始め、連続経路軌道と異なる軌道に沿って制御点Tを移動させる。また、当該場合、ロボット制御装置30は、ステップS170における連続位置決め軌道の再生成により、関節J1〜関節J6それぞれの速度を所定閾値未満に制限する。これにより、ロボット制御装置30は、ロボット20の姿勢が特異姿勢に近づく動作を含む作業をロボット20に行わせる時間を短縮することができる。
また、ロボット制御装置30は、ユーザーから予め受け付けた操作に基づいて、関節J1〜関節J6のうちの当該操作に応じた関節を第1関節として特定し、関節J1〜関節J6のうちの第1関節とは異なる関節を第2関節として特定する構成であってもよい。すなわち、ロボット制御装置30は、当該操作に基づいて、ロボット20の姿勢が特異姿勢に近づいた場合に連続位置決め動作を行わせる関節を特定する構成であってもよく、当該操作に基づいて当該場合に速度を制限する関節を特定する構成であってもよい。
また、ロボット制御装置30は、第1関節に連続位置決め動作を行わせている時間帯において、第2関節に補正された連続経路動作を行わせる構成であってもよい。補正された連続経路動作は、当該時間帯における第2関節の回動角を、制御点Tが連続経路軌道に沿って移動するように補正した第1回動角に一致させる動作のことである。このような補正を行う方法は、従来から知られている方法であってもよく、これから開発される方法であってもよいため説明を省略する。
<制御点の速度と第1関節及び第2関節の速度との関係>
以下、図8を参照し、制御点Tの速度と第1関節及び第2関節の速度との関係について説明する。図8は、制御点Tの速度と第1関節及び第2関節の速度との関係を例示する図である。図8に示したグラフのうちの上段の3つのグラフであるグラフG1〜グラフG3のそれぞれは、経過時間に応じた関節J4の速度の変化を表す図である。グラフG1〜グラフG3のそれぞれの横軸は、経過時間を表す。また、グラフG1〜グラフG3のそれぞれの縦軸は、関節J4の速度を表す。
以下、図8を参照し、制御点Tの速度と第1関節及び第2関節の速度との関係について説明する。図8は、制御点Tの速度と第1関節及び第2関節の速度との関係を例示する図である。図8に示したグラフのうちの上段の3つのグラフであるグラフG1〜グラフG3のそれぞれは、経過時間に応じた関節J4の速度の変化を表す図である。グラフG1〜グラフG3のそれぞれの横軸は、経過時間を表す。また、グラフG1〜グラフG3のそれぞれの縦軸は、関節J4の速度を表す。
グラフG1は、第1関節及び第2関節の両方に連続経路動作を行わせている時間帯において制御点Tを速度V1によって移動させた場合の関節J4の速度の変化を表すグラフである。また、グラフG2は、当該時間帯において制御点Tを速度V2によって移動させた場合の関節J4の速度の変化を表すグラフである。また、グラフG3は、当該時間帯において制御点Tを速度V3によって移動させた場合の関節J4の速度の変化を表すグラフである。ここで、速度V1は、速度V2及び速度V3よりも遅い速度であり、速度V2は、速度V3よりも遅い速度である。また、グラフG1〜グラフG3のそれぞれにおける速度S31は、前述の所定閾値である。
グラフG1〜グラフG3を比較することにより、制御点Tの速度が速くなるほど、関節J4が連続位置決め動作を行う時間帯における関節J4の最大速度が速くなることが分かる。また、制御点Tの速度を速くすることによって当該時間帯における関節J4の最大速度が速度S31を超える場合、前述したようにロボット制御装置30が終点時間を遅くしていることが分かる。具体的には、図8に示した例では、グラフG2において関節J4の最大速度が速度S31を超えていないため、始点時間と終点時間との間の時間は、時間T31である。一方、当該例では、グラフG3において関節J4の最大速度が速度S31を超えないようにロボット制御装置30が終点時間を遅くしており、始点時間と終点時間との間の時間は、時間T31よりも長い時間T32となっている。
図8に示したグラフのうちの下段の3つのグラフであるグラフG4〜グラフG6のそれぞれは、経過時間に応じた関節J2の速度の変化を表す図である。グラフG4〜グラフG6のそれぞれの横軸は、経過時間を表す。また、グラフG4〜グラフG6のそれぞれの縦軸は、関節J2の速度を表す。
グラフG4は、第1関節及び第2関節の両方に連続経路動作を行わせている時間帯において制御点Tを速度V1によって移動させた場合の関節J2の速度の変化を表すグラフである。また、グラフG5は、当該時間帯において制御点Tを速度V2によって移動させた場合の関節J2の速度の変化を表すグラフである。また、グラフG6は、当該時間帯において制御点Tを速度V3によって移動させた場合の関節J6の速度の変化を表すグラフである。また、グラフG4〜グラフG6のそれぞれにおける速度S32は、前述の所定の第2閾値である。
グラフG4〜グラフG6を比較することにより、制御点Tの速度が速くなるほど、関節J2の最大速度が速くなることが分かる。しかし、関節J2の速度は、この一例において、最大速度が速度S32に制限されているため、図8に示した時間帯T33及び時間帯T34において速度がおおよそ速度S32になっている。なお、図8に示したように第2関節の速度が速度S32に制限された場合、第2関節の速度の制限に応じて第1関節の速度も遅くなるが、第1関節の速度の変化を表す曲線の形状は変化しない。このため、ロボット制御装置30は、ロボット20の姿勢が特異姿勢に近づいた場合、第1関節の動作を連続位置決め動作に切り替えるとともに、第2関節の速度を制限することにより、制御点Tの速度を速くした場合であっても、関節J1〜関節J6それぞれの速度が限界速度を超えてしまうことを抑制することができる。
以上のように、ロボット20は、連続経路動作時にロボット20の姿勢が特異姿勢(この一例において、第4姿勢)に近づいた場合、第1関節(この一例において、関節J4〜関節J6のそれぞれ)が連続経路動作とは異なる動作を行い、第2関節(この一例において、関節J1〜関節J3のそれぞれ)の速度が制限される。これにより、ロボット20は、ロボット20の姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
また、ロボット20は、ロボット20の姿勢が特異姿勢に近づいた場合、第1関節の動作を連続経路動作から連続位置決め動作に切り替える。これにより、ロボット20は、連続位置決め動作によって、ロボット20の姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
また、ロボット20は、ロボット20の姿勢が特異姿勢から遠ざかった場合、第1関節の動作を連続位置決め動作から連続経路動作に切り替える。これにより、ロボット20は、ロボット20の姿勢に応じて第1関節の動作を連続経路動作と連続位置決め動作とのいずれかに切り替えることにより、ロボット20の姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
また、ロボット20は、連続位置決め動作時における第1関節の速度の推定値が所定閾値以上であると判定された場合、第1関節の動作を連続位置決め動作から連続経路動作に切り替えるタイミングを遅らせる。これにより、ロボット20は、第1関節の速度が限界速度を超えてしまうことを抑制するとともに、ロボット20の姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
また、ロボット20は、ロボット20の姿勢が特異姿勢に近づいた場合、第2関節の動作を連続経路動作のまま保持する。これにより、ロボット20は、第2関節の動作を連続経路動作に保持したまま、ロボット20の姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
また、ロボット20は、連続経路動作時にロボット20の姿勢が特異姿勢に近づいた場合、複数の関節のうちの少なくとも一部の関節(例えば、関節J1〜関節J6のそれぞれ)が連続経路動作とは異なる動作を行い、当該関節の速度が制限される。これにより、ロボット20は、ロボット20の姿勢が特異姿勢に近づく動作を含む作業を行う時間を短縮することができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、ロボット制御装置30)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1…ロボットシステム、20…ロボット、30…ロボット制御装置、31…CPU、32…記憶部、33…入力受付部、34…通信部、35…表示部、36…ロボット制御部
Claims (8)
- 複数の関節を備えたロボットであって、
連続経路動作時に前記ロボットの姿勢が特異姿勢に近づいた場合、
前記複数の関節のうちの一部の関節である第1関節が前記連続経路動作とは異なる動作を行い、
前記複数の関節のうちの前記第1関節と異なる第2関節の速度が制限される、
ロボット。 - 前記ロボットの姿勢が前記特異姿勢に近づいた場合、
前記第1関節の動作を前記連続経路動作から連続位置決め動作に切り替える、
請求項1に記載のロボット。 - 前記ロボットの姿勢が前記特異姿勢から遠ざかった場合、
前記第1関節の動作を前記連続位置決め動作から前記連続経路動作に切り替える、
請求項2に記載のロボット。 - 前記連続位置決め動作時における前記第1関節の速度の推定値が所定閾値以上であると判定された場合、
前記第1関節の動作を前記連続位置決め動作から前記連続経路動作に切り替えるタイミングを遅らせる、
請求項2又は3に記載のロボット。 - 前記ロボットの姿勢が前記特異姿勢に近づいた場合、
前記第2関節の動作を前記連続経路動作のまま保持する、
請求項1から4のうちいずれか一項に記載のロボット。 - 複数の関節を備えたロボットであって、
連続経路動作時に前記ロボットの姿勢が特異姿勢に近づいた場合、
前記複数の関節のうちの少なくとも一部の関節が前記連続経路動作とは異なる動作を行い、
当該関節の速度が制限される、
ロボット。 - 請求項1から6のうちいずれか一項に記載のロボットを制御する、
ロボット制御装置。 - 請求項1から6のうちいずれか一項に記載のロボットと、
前記ロボットを制御するロボット制御装置と、
を備えるロボットシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016077236A JP2017185598A (ja) | 2016-04-07 | 2016-04-07 | ロボット、ロボット制御装置、及びロボットシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016077236A JP2017185598A (ja) | 2016-04-07 | 2016-04-07 | ロボット、ロボット制御装置、及びロボットシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017185598A true JP2017185598A (ja) | 2017-10-12 |
Family
ID=60043778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016077236A Pending JP2017185598A (ja) | 2016-04-07 | 2016-04-07 | ロボット、ロボット制御装置、及びロボットシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017185598A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020093254A1 (zh) * | 2018-11-06 | 2020-05-14 | 深圳配天智能技术研究院有限公司 | 机器人的运动控制方法、控制系统和存储装置 |
CN113271867A (zh) * | 2019-01-18 | 2021-08-17 | 蛇牌股份公司 | 集成功率单元ipu |
-
2016
- 2016-04-07 JP JP2016077236A patent/JP2017185598A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020093254A1 (zh) * | 2018-11-06 | 2020-05-14 | 深圳配天智能技术研究院有限公司 | 机器人的运动控制方法、控制系统和存储装置 |
CN113271867A (zh) * | 2019-01-18 | 2021-08-17 | 蛇牌股份公司 | 集成功率单元ipu |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6733239B2 (ja) | 制御装置及びロボットシステム | |
JP6380828B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
US10434646B2 (en) | Robot control apparatus, robot, and robot system | |
US20170277167A1 (en) | Robot system, robot control device, and robot | |
JP2017071018A (ja) | ロボットシステム、ロボット、及びロボット制御装置 | |
JP2009255191A (ja) | ロボットマニピュレータ | |
JP6746990B2 (ja) | ロボット制御装置及びロボットシステム | |
US20180085920A1 (en) | Robot control device, robot, and robot system | |
JP2015186834A (ja) | ロボット制御装置、把持部制御装置、ロボット、把持部、ロボット制御方法、及びプログラム | |
JP2017185598A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
JP6387599B2 (ja) | ロボット、ロボットシステム、制御装置及び制御方法 | |
JP2016203280A (ja) | ロボット、及び制御装置 | |
JP6697544B2 (ja) | 最適化装置及びそれを備えた垂直型多関節ロボット | |
JP7144754B2 (ja) | 多関節ロボットおよび多関節ロボットシステム | |
JP6958091B2 (ja) | ロボットシステム、及びロボット制御方法 | |
JP6322948B2 (ja) | ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法、及びプログラム | |
JP2016209936A (ja) | ロボット装置、ロボット制御方法、プログラム及び記録媒体 | |
JP2016203266A (ja) | ロボットハンド | |
JP2015221490A (ja) | ロボット装置の制御方法及びロボット装置 | |
JP2015037818A (ja) | ロボット、ロボットの制御方法、プログラム及び経路作成装置 | |
JP2019141966A (ja) | ロボット制御装置、ロボット、及びロボットシステム | |
JP6281351B2 (ja) | ロボットの制御方法、ロボットの制御装置 | |
JP6252273B2 (ja) | ロボットの制御方法、ロボットの制御装置 | |
JP7426333B2 (ja) | ロボット制御装置 | |
JP2019111588A (ja) | ロボットシステム、情報処理装置、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20181026 |