(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】ロボット制御装置
(51)【国際特許分類】
B25J 9/10 20060101AFI20240409BHJP
【FI】
B25J9/10 A
(21)【出願番号】P 2022544008
(86)(22)【出願日】2021-08-20
(86)【国際出願番号】 JP2021030483
(87)【国際公開番号】W WO2022039245
(87)【国際公開日】2022-02-24
【審査請求日】2023-03-08
(31)【優先権主張番号】P 2020140085
(32)【優先日】2020-08-21
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100118913
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100201466
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】王 悦来
(72)【発明者】
【氏名】内藤 康広
【審査官】樋口 幸太郎
(56)【参考文献】
【文献】特開平11-226886(JP,A)
【文献】特開平04-169909(JP,A)
【文献】特開2018-027580(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/10
(57)【特許請求の範囲】
【請求項1】
多関節のロボットを制御するロボット制御装置であって、前記ロボットが、手首部の位置を変化させる複数の基本関節と、前記手首部または該手首部に接続されたエンドエフェクタに設定された制御点の位置および姿勢を変化させる複数の手首関節とを有し、
前記複数の基本関節および前記複数の手首関節を制御することによって前記制御点を第1位置から第2位置まで移動させる制御部と、
前記第2位置の位置と、前記制御点が
所定の姿勢で前記第2位置に位置するときの前記複数の手首関節の各々の回転角度と、を含む位置情報を記録する位置情報記録部と、を備え、
前記制御部は、
前記第2位置において前記制御点が前記所定の姿勢に配置されるように前記位置情報に基づいて前記制御点を前記第2位置ま
で移動させ、
前記制御点が前記第2位置に位置するときの前記手首部の姿勢が特異点である場合
、前記複数の手首関節を相互に協調させずに各軸動作させることによって、前記制御点を前記第2位置まで移動させる、ロボット制御装置。
【請求項2】
前記制御点が前記第2位置に位置するときの前記手首部の姿勢が特異点である場合、前記制御部は、前記制御点の位置を前記第1位置と前記第2位置とを結ぶ直線軌道上に保持しながら前記複数の手首関節の各軸動作させることによって、前記制御点を前記直線軌道上で前記第2位置まで移動させる、請求項1に記載のロボット制御装置。
【請求項3】
前記第1位置と前記第2位置とを結ぶ直線軌道からの前記制御点の距離が所定の閾値を超えたときにその旨を報知する報知部を備える請求項1または請求項2に記載のロボット制御装置。
【請求項4】
複数の手首関節を有するロボットを制御する制御装置であって、
制御プログラムを記憶可能な1又は複数のメモリと、
1又は複数のプロセッサと、を備え、
前記1又は複数のプロセッサは、
前記制御プログラムに基づいて前記ロボットの先端の制御点を第1位置から第2位置に移動させる際に、前記制御点が所定の姿勢に配置されるように前記制御点を前記第2位置まで移動させ、
前記制御点が前記第2位置に位置するときの前記先端の姿勢が特異点であるかを判定し、
前記先端の姿勢が特異点である場合、複数の手首関節を相互に協調させずに各軸動作させる、制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット制御装置に関するものである。
【背景技術】
【0002】
従来、複数の関節を協調させて動作させることによってロボットの所定の部位を所定の連続軌道に沿って移動させる多関節のロボットの制御方法が知られている(例えば、特許文献1~4参照。)。例えば、第1位置および第2位置が教示され、第1位置から第2位置までの直線軌道上をTCP(tool center point)のような制御点が直線移動するように複数の関節が制御される。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-111155号公報
【文献】国際公開第2016/135861号
【文献】国際公開第2017/002208号
【文献】特開2015-066668号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
連続軌道に沿って動作しているとき、ロボットの姿勢が特異点に近付き、少なくとも1つの関節が急激に動作することがある。このような場合、ロボット制御装置は、エラーが発生したと判定し、ロボットの動作を停止させる等の処置を取る。したがって、エラーが発生する度に、別の軌道を再教示してロボットを再動作させる等の追加の作業が必要となる。
【課題を解決するための手段】
【0005】
本開示の一態様は、多関節のロボットを制御するロボット制御装置であって、前記ロボットが、手首部の位置を変化させる複数の基本関節と、前記手首部または該手首部に接続されたエンドエフェクタに設定された制御点の位置および姿勢を変化させる複数の手首関節とを有し、前記複数の基本関節および前記複数の手首関節を制御することによって、前記制御点を第1位置から第2位置まで移動させる制御部と、前記第2位置の位置と前記制御点が所定の姿勢で前記第2位置に位置するときの前記複数の手首関節の各々の回転角度とを含む位置情報を記録する位置情報記録部と、を備え、前記制御部は、前記第2位置において前記制御点が前記所定の姿勢に配置されるように前記位置情報に基づいて前記制御点を前記第2位置まで移動させ、前記制御点が前記第2位置に位置するときの前記手首部の姿勢が特異点である場合、前記複数の手首関節を相互に協調させずに各軸動作させることによって、前記制御点を前記第2位置まで移動させる、ロボット制御装置である。
【図面の簡単な説明】
【0006】
【
図1】ロボット制御装置によって制御されるロボットの構成図である。
【
図3】第1位置から第2位置までの制御点の軌道の他の例を示す図である。
【発明を実施するための形態】
【0007】
以下に、一実施形態に係るロボット制御装置について図面を参照して説明する。
図1および
図2に示されるように、ロボット制御装置1は、手首部3を備える多関節のロボット2に接続され、ロボット2を制御するものである。
ロボット2は、手首部3の位置を3次元的に変化させる複数の基本関節J1,J2,J3と、制御点Pcの位置(X,Y,Z)および姿勢(W,P,R)を3次元的に変化させる複数の手首関節J4,J5,J6とを備える。制御点Pcは、手首部3の所定の位置に設定された点、または、手首部3に接続されたエンドエフェクタ8の所定の位置に設定された点である。例えば、制御点Pcは、手首部3の先端面3aの中心点、または、TCP(tool center point)である。
【0008】
本実施形態において、ロボット2は、6つの関節J1~J6を有する6軸の垂直多関節ロボットである。ロボット2は、床に固定されるベース4と、ベース4上に配置された旋回胴5と、旋回胴5と連結された第1アーム6と、第1アーム6の先端に連結された第2アーム7とを備える。手首部3は、第2アーム7の先端に連結され、ハンドまたはツール等のエンドエフェクタ8を取り付け可能な先端面3aを有する。
各関節J1~J6には、ロボット制御装置1からの制御指令に従って各関節J1~J6を駆動するサーボモータ、および、各関節J1~J6の回転角度を検出するエンコーダが設けられている。
【0009】
基本関節は、第1関節J1、第2関節J2および第3関節J3である。第1関節J1は、旋回胴5を鉛直方向の第1軸線A1回りにベース4に対して回転させる。第2関節J2は、第1アーム6を水平な第2軸線A2回りに旋回胴5に対して回転させる。第3関節J3は、第2アーム7を水平な第3軸線A3回りに第1アーム6に対して回転させる。
【0010】
手首関節は、第4関節J4、第5関節J5および第6関節J6である。第4関節J4は、第2アーム7を第4軸線A4回りに第1アーム6に対して回転させる。第5関節J5は、手首部3を第5軸線A5回りに第2アーム7に対して回転させる。第6関節J6は、手首部3の先端面3aを第6軸線A6回りに回転させる。第4軸線A4は第2アーム7の長手軸に沿って延び、第5軸線A5は第4軸線A4に直交し、第6軸線A6は第5軸線A5に直交する。
【0011】
図2に示されるように、ロボット制御装置1は、記憶部11と、制御部12とを備える。
記憶部11は、RAM(random access memory)、ROM(read-only memory)およびHDD(hard disc drive)等の記憶装置を有する。ロボット制御装置1には、中央演算処理装置のような少なくとも1つのプロセッサが設けられている。記憶部11には、制御部12の後述の処理をプロセッサに実行させるための制御プログラムが記憶されている。すなわち、制御部12は、少なくとも1つのプロセッサによって実現される。
【0012】
制御部12は、第1位置P1と第2位置P2との間を直線補間することによって、第1位置P1から第2位置P2まで真っすぐに延びる直線軌道Tを算出する。第1位置P1および第2位置P2は、操作者によって設定される任意の3次元位置であり、例えば、ダイレクトティーチ等の教示作業において教示される教示点である。
制御部12は、関節J1~J6を制御することによって、制御点Pcを第1位置P1から第2位置P2まで移動させる。
【0013】
制御点Pcの移動に先立ち、制御部12は、制御点Pcが設定された姿勢で第2位置P2に位置するときの手首関節J4,J5,J6の各々の回転角度を逆運動学によって算出する。制御点Pcの姿勢(先端面3aの姿勢)は、第1位置P1および第2位置P2と同様に、操作者によって設定される。算出された手首関節J4,J5,J6の各々の回転角度と、第2位置P2の3次元の位置(X2,Y2,Z2)とを含む位置情報は、記憶部(位置情報記録部)11に記憶(記録)される。
【0014】
制御部12は、制御点Pcが第2位置P2に位置するときの手首部3の姿勢が特異点または特異点近傍であるか否かを判定する。次に、制御部12は、判定結果に応じて関節J1~J6を直線動作または各軸動作させることによって、制御点Pcを第1位置P1から第2位置まで移動させる。制御部12による関節J1~J6の制御方法については、後で詳述する。
【0015】
参照する図面において、領域Sは、手首部3の姿勢が特異点または特異点近傍に配置される特異点領域を示している。本実施形態において、特異点は、第4軸線A4と第6軸線A6とが一直線上に配置される姿勢である。手首部3の姿勢が特異点であるとき、手首部3の動作を制御することができなくなる。
例えば、制御部12は、記憶部11に記憶されている位置情報に基づいて、制御点Pcが第2位置P2に位置するときの第4軸線A4と第6軸線A6との間の回転角度θを算出する。そして、制御部12は、回転角度θの大きさが所定の閾値以下、例えば5°以下であるとき、制御点Pcが第2位置P2に位置するときの手首部3の姿勢が特異点または特異点近傍であると判定する。
【0016】
次に、ロボット制御装置1の作用について説明する。
例えば、制御点Pcの軌道をロボット制御装置1に教示するとき、操作者は、第1位置P1(X1,Y1,Z1)および第2位置P2(X2,Y2,Z2)を教示位置として設定し、制御点Pcの姿勢(W1,P1,R1)を教示姿勢として設定する。第1位置P1(X1,Y1,Z1)、第2位置P2(X2,Y2,Z2)および姿勢(W1,P1,R1)は、記憶部11に記憶される。
【0017】
次に、制御部12によって、制御点Pcが設定された姿勢(W1,P1,R1)で第2位置P2に位置するときの手首部3の姿勢が特異点であるか否かが判定される。次に、制御部12によって関節J1~J6が制御され、関節J1~J6の直線動作または各軸動作によって制御点Pcが第1位置P1から第2位置P2まで移動する。
【0018】
制御点Pcが第2位置P2に位置するときの手首部3の姿勢が特異点でない場合、制御部12は、関節J1~J6を相互に協調させて直線動作させることによって、制御点Pcを、姿勢(W1,P1,R1)を保持しながら第1位置P1(X1,Y1,Z1)から第2位置P2(X2,Y2,Z2)まで直線軌道Tに沿って直線移動させる。具体的には、制御部12は、制御点Pcが設定された姿勢(W1,P1,R1)で直線軌道T上の各位置に位置するときの各関節J1~J6の回転角度を逆運動学によって算出し、制御点Pcを第1位置P1から第2位置P2まで姿勢(W1,P1,R1)を保持しながら直線移動させるための回転角度の時系列のデータを得る。次に、制御部12は、算出された角度の時系列のデータに従って関節J1~J6を制御する。
【0019】
一方、制御点Pcが第2位置P2に位置するときの手首部3の姿勢が特異点である場合、制御部12は、基本関節J1,J2,J3を直線動作させながら手首関節J4,J5,J6を各軸動作させることによって、制御点Pcを第1位置P1から第2位置P2まで移動させる。基本関節J1,J2,J3の直線動作は、前述の方法で得られた各関節J1,J2,J3の回転角度の時系列のデータに従って関節J1,J2,J3を制御することによって行われる。
【0020】
各軸動作において、制御部12は、制御点Pcが設定された姿勢(W1,P1,R1)で第1位置P1に位置するときの各手首関節J4,J5,J6の回転角度と、制御点Pcが設定された姿勢(W1,P1,R1)で第2位置P2に位置するときの各手首関節J4,J5,J6の回転角度との差分を算出する。次に、制御部12は、各手首関節J4,J5,J6を、算出された差分だけ個別に、すなわち相互に協調させずに動作させる。各軸動作において、制御部12は、手首関節J4,J5,J6を順番に動作させてもよく、同時に動作させてもよい。
【0021】
基本関節J1,J2,J3の直線動作によって、手首中心点(WCP)は直線軌道Tに平行な軌道T’に沿って直線移動する。WCPは、手首関節J4,J5,J6の軸線A4,A5,A6が相互に交差する点である。また、手首関節J4,J5,J6の各軸動作によって、制御点Pcは、姿勢(W,P,R)を変化させながら第1位置P1から第2位置P2まで移動し、設定された姿勢(W1,P1,R1)で第2位置P2に配置される。
【0022】
このように、本実施形態によれば、第2位置P2において手首部3が特異点または特異点近傍に配置される場合、手首関節J4,J5,J6の各軸動作によって制御点Pcが第2位置P2まで移動する。各軸動作において手首関節J4,J5,J6は相互に協調せずに動作するので、制御点Pcは、姿勢を変化させながら移動する。つまり、制御点Pcが第1位置P1から第2位置P2まで移動する間、手首部3は特異点とは異なる姿勢に配置される。したがって、手首部3が特異点または特異点近傍に配置されることを防止しながら、制御点Pcを第1位置P1から第2位置P2まで移動させることができる。
【0023】
操作者にとって、動作しているロボット2の特異点を認識することは難しく、ロボット2が特異点に配置されてしまうことがある。ロボット2が特異点に配置されると、特定の関節の急激な動作によってエラーが生じ、ロボット2が停止してしまう。この場合、操作者は、ロボット2が特異点を通らないように第2位置P2を再設定しなければならない。このような作業は、操作者にとって煩わしく、作業効率が悪い。本実施形態によれば、手首部3が特異点に配置されるか否かが自動的に判定され、手首部3の姿勢が特異点または特異点近傍に配置されることを自動的に回避しながら制御点Pcが第1位置P1から第2位置P2まで移動する。したがって、エラーの発生を防止し、ロボット2の教示をスムーズに行うことができる。
【0024】
また、制御点Pcが第2位置P2まで移動している間、基本関節J1,J2,J3の直線動作によってWCPは直線移動する。したがって、手首関節J4,J5,J6が各軸動作を行ったとしても、制御点Pcの位置が直線軌道Tから大きく外れることはなく、制御点Pcの軌道は、直線軌道Tに近い軌道となる。したがって、操作者が意図する直線軌道Tと大体同じ軌道に沿って制御点Pcを移動させることができる。
【0025】
本実施形態において、ロボット制御装置1は、直線軌道Tから制御点Pcまでの距離が所定の閾値を超えたときにその旨を報知する報知部13をさらに備えていてもよい。操作者は、制御点Pcの位置が閾値を超えて直線軌道Tから外れたことを、報知部13による報知に基づいて認識し、必要に応じて、第1位置P1および第2位置P2を他の位置へ再設定することができる。
【0026】
例えば、制御部12は、手首関節J4,J5,J6を各軸動作させている間、制御点Pcの3次元の位置をエンコーダによって検出された各関節J1~J6の回転角度から計算し、制御点Pcの直線軌道Tからの距離を計算する。算出される距離が閾値を超えたとき、報知部13は、例えば警告音を発することによって、距離が閾値を超えたことを操作者に報知する。制御部12は、距離が閾値を超えたとき、ロボット2の動作を停止させてもよい。
【0027】
本実施形態において、制御点Pcが第2位置P2に位置するときの手首部3の姿勢が特異点である場合、制御部12は、制御点Pcの位置を直線軌道T上に保持しながら手首関節J4、J5,J6を各軸動作させることによって、制御点Pcの姿勢を変化させながら制御点Pcを第2位置P2まで直線軌道T上で移動させてもよい。
この構成によれば、手首部3が特異点に配置されることを防ぎつつ、直線動作のときと同じ直線軌道Tに沿って制御点Pcを移動させることができる。
【0028】
本実施形態において、制御点Pcが第2位置P2に位置するときの手首部3の姿勢が特異点である場合、制御部12が、基本関節J1,J2,J3を直線動作させることとしたが、第1位置P1から第2位置P2までの制御点Pcの軌道が直線軌道Tから大きく外れても問題ない場合、基本関節J1,J2,J3も各軸動作させてもよい。
本実施形態において、ロボット2が6軸の垂直多関節ロボットであることとしたが、ロボット2は他の軸数の垂直多関節ロボットまたは他の関節構成のロボットであってもよい。
【符号の説明】
【0029】
1 ロボット制御装置
2 ロボット
3 手首部
8 エンドエフェクタ
11 記憶部(位置情報記録部)
12 制御部
13 報知部
J1,J2,J3 基本関節
J4,J5,J6 手首関節
P1 第1位置
P2 第2位置
Pc 制御点
S 特異点領域
T 直線軌道