JP2023157089A - ロボットの動作プログラムの作成を支援するシステム、方法、及び、コンピュータープログラム - Google Patents
ロボットの動作プログラムの作成を支援するシステム、方法、及び、コンピュータープログラム Download PDFInfo
- Publication number
- JP2023157089A JP2023157089A JP2022066763A JP2022066763A JP2023157089A JP 2023157089 A JP2023157089 A JP 2023157089A JP 2022066763 A JP2022066763 A JP 2022066763A JP 2022066763 A JP2022066763 A JP 2022066763A JP 2023157089 A JP2023157089 A JP 2023157089A
- Authority
- JP
- Japan
- Prior art keywords
- arm
- posture
- robot
- postures
- axis
- 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
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000004590 computer program Methods 0.000 title claims description 11
- 238000004088 simulation Methods 0.000 claims abstract description 47
- 230000036544 posture Effects 0.000 claims description 205
- 230000008569 process Effects 0.000 claims description 17
- 230000004048 modification Effects 0.000 claims description 8
- 238000005452 bending Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 210000000707 wrist Anatomy 0.000 description 9
- 230000010365 information processing Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 239000012636 effector Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
【課題】ロボットアームのアーム姿勢がユーザーの意図と異なってしまうことを防止する技術を提供する。【解決手段】本開示のシステムは、動作プログラムに含まれる目標位置姿勢について、ロボットアームが取り得る複数のアーム姿勢を示す複数のシミュレーション画像を画面表示するシミュレーターと、複数のアーム姿勢の中からユーザーにより選択された1つのアーム姿勢を示すアーム姿勢パラメーターを、目標位置姿勢への移動を示す動作命令のパラメーターとして反映するプログラム修正部と、を備える。【選択図】図6
Description
本開示は、ロボットの動作プログラムの作成を支援するシステム、方法、及び、コンピュータープログラムに関する。
産業用の多関節ロボットについて、手先の目標位置姿勢を指定して各関節の動作指示を出力する際には、目標位置姿勢を実現するための関節角をロボット逆運動学によって求めるのが一般的である。但し、この逆運動学の解としては複数の解が生じ得る。
特許文献1には、シミュレーターを用いて将来位置でのロボットの動作姿勢を求めて画面表示し、将来位置でのロボットの干渉の有無を判断するロボット動作教示支援装置が開示されている。
しかしながら、上記従来技術では、関節角に関する逆運動学の解で再現されるロボットアームのアーム姿勢が、ユーザーが意図したものとは異なってしまう場合があるという問題があった。
本開示の第1の形態によれば、ロボットの動作プログラムの作成を支援するシステムが提供される。このシステムは、前記動作プログラムに含まれる目標位置姿勢について、ロボットアームが取り得る複数のアーム姿勢を示す複数のシミュレーション画像を画面表示するシミュレーターと、前記複数のアーム姿勢の中からユーザーにより選択された1つのアーム姿勢を示すアーム姿勢パラメーターを、前記目標位置姿勢への移動を示す動作命令のパラメーターとして反映するプログラム修正部と、を備える。
本開示の第2の形態によれば、ロボットの動作プログラムの作成を支援する方法が提供される。この方法は、(a)前記動作プログラムに含まれる目標位置姿勢について、ロボットアームが取り得る複数のアーム姿勢を示す複数のシミュレーション画像を画面表示する工程と、(b)前記複数のアーム姿勢の中からユーザーにより選択された1つのアーム姿勢を示すアーム姿勢パラメーターを、前記目標位置姿勢への移動を示す動作命令のパラメーターとして反映する工程と、を備える。
本開示の第3の形態によれば、ロボットの動作プログラムの作成を支援する処理をプロセッサーに実行させるコンピュータープログラムが提供される。このコンピュータープログラムは、(a)前記動作プログラムに含まれる目標位置姿勢について、ロボットアームが取り得る複数のアーム姿勢を示す複数のシミュレーション画像を画面表示する処理と、(b)前記複数のアーム姿勢の中からユーザーにより選択された1つのアーム姿勢を示すアーム姿勢パラメーターを、前記目標位置姿勢への移動を示す動作命令のパラメーターとして反映する処理と、を前記プロセッサーに実行させる。
図1は、一実施形態におけるロボットシステムの一例を示す説明図である。このロボットシステムは、ロボット100と、ロボット100を制御する制御装置200と、情報処理装置300と、を備える。情報処理装置300は、例えばパーソナルコンピューターである。ユーザーは、情報処理装置300を用いて、ロボット100の動作プログラムを作成したり、修正したりすることが可能である。制御装置200は、情報処理装置300から与えられる動作プログラムや指示に従ってロボット100の動作を制御する。
図1には、3次元空間の直交座標系を規定する3つの軸X,Y,Zが描かれている。X軸とY軸は水平方向の軸であり、Z軸は鉛直方向の軸である。これらのX,Y,Z軸は、ロボット100の予め定められた位置を原点とするロボット座標系Σrの座標軸である。
ロボット100は、基台110と、ロボットアーム120と、を備えている。ロボットアーム120の先端部であるアームエンド126には、エンドエフェクター150が装着されている。図1の例では、エンドエフェクター150はグリッパーである。ロボットアーム120は、6つの関節J1~J6を有しており、これらの関節J1~J6はリンクで順次接続されている。6つの関節J1~J6のうち、3つの関節J2,J3,J5は曲げ関節であり、他の3つの関節J1,J4,J6はねじり関節である。以下の説明では、関節J1~J6を「J1軸~J6軸」とも呼ぶ。ロボットアーム120の先端部近傍には、ロボット100の制御点としてのTCP(Tool Center Point)が設定される。制御点TCPは、任意の位置に設定可能である。本実施形態では6軸ロボットを例示しているが、複数の関節を有する任意のロボットアーム機構を有するロボットを用いることが可能である。また、本実施形態のロボット100は、垂直多関節ロボットであるが、水平多関節ロボットを使用してもよい。
図2は、情報処理装置300の機能を示すブロック図である。情報処理装置300は、プロセッサー310と、メモリー320と、インターフェイス回路330と、インターフェイス回路330に接続された入力デバイス340及び表示デバイス350と、を有している。インターフェイス回路330には、更に、制御装置200が接続されている。
プロセッサー310は、ロボットの動作プログラムRPの作成を支援する動作プログラム作成支援部311としての機能を有する。動作プログラム作成支援部311は、プログラム作成部312とシミュレーター314とプログラム修正部316の機能を含む。プログラム作成部312は、ユーザーの入力に応じて動作プログラムRPを作成する処理を実行する。作成された動作プログラムRPは、メモリー320に格納される。シミュレーター314は、動作プログラムRPに従ってロボット100を動作させるシミュレーションを実行し、そのシミュレーション画像を表示デバイス350に表示する。プログラム修正部316は、ユーザーの入力に応じて動作プログラムRPの修正を実行する処理を実行する。動作プログラム作成支援部311の機能は、メモリー320に格納されたコンピュータープログラムをプロセッサー310が実行することによって実現される。但し、動作プログラム作成支援部311の機能の一部又は全部をハードウェア回路で実現してもよい。
メモリー320には、シミュレーター314で使用されるロボットモデルRMと、ロボットの動作プログラムRPが格納される。ロボットモデルRMは、1種類以上のロボット100に関して、形状や動作を再現するためのデータである。動作プログラムRPは、ロボット100を動作させる複数の命令で構成される。メモリー320には1つ以上の動作プログラムRPが記憶される。
図3は、動作プログラムRPの修正手順を示すフローチャートである。ステップS110では、修正対象の動作プログラムがユーザーによって選択される。
図4は、動作プログラムRPの作成及び修正を行うためのウィンドウW1の例を示す説明図である。このウィンドウW1の上側の領域には、動作プログラムを選択するための選択メニューMNと、選択した動作プログラムのシミュレーションの開始を指示するボタンBT1と、姿勢調整モードの使用の有無を指示するチェックボックスCB1とが設けられている。「姿勢調整モード」とは、動作命令の目標位置姿勢に関して逆運動学の計算で得られる関節角の複数の解について、それぞれの解で再現されるロボットアーム120の複数のアーム姿勢をシミュレーター314によって画面表示させるモードである。ウィンドウW1の上部の領域には、更に、選択した動作プログラムの一時停止や停止を指示する実行ボタン群DBTも配置されている。ユーザーは、選択メニューMNを用いて修正対象とする動作プログラムを選択する。
ウィンドウW1の下側の領域には、選択メニューMNを用いて選択された動作プログラムSRPが表示されている。この動作プログラムSRPは、ピックアンドプレース作業を記述したものであり、行L1~L12の意味は以下の通りである。なお、行番号は説明の便宜上付したものである。
行番号 プログラムの記述 意味
L1 Go P0 待機位置姿勢P0に移動
L2 Wait SW(LD_Work)=ON ワークが供給されるまで待機
L3 Go P1 次の目標位置姿勢P1に移動
L4 Move Here+TLZ(100) 現在位置からZ+100に移動
L5 On Gripper グリッパーをオンしてワークを保持
L6 Move Here-TLZ(100) 現在位置からZ-100に移動
L7 Wait SW(ULD_Work)=OFF ワークを保持したことを確認
L8 Go P2 次の目標位置姿勢P2に移動
L9 Move Here+TLZ(100) 現在位置からZ+100に移動
L10 Off Gripper グリッパーをオフしてワークを解放
L11 Move Here-TLZ(100) 現在位置からZ-100に移動
L12 Go P0 待機位置姿勢P0に移動
行番号 プログラムの記述 意味
L1 Go P0 待機位置姿勢P0に移動
L2 Wait SW(LD_Work)=ON ワークが供給されるまで待機
L3 Go P1 次の目標位置姿勢P1に移動
L4 Move Here+TLZ(100) 現在位置からZ+100に移動
L5 On Gripper グリッパーをオンしてワークを保持
L6 Move Here-TLZ(100) 現在位置からZ-100に移動
L7 Wait SW(ULD_Work)=OFF ワークを保持したことを確認
L8 Go P2 次の目標位置姿勢P2に移動
L9 Move Here+TLZ(100) 現在位置からZ+100に移動
L10 Off Gripper グリッパーをオフしてワークを解放
L11 Move Here-TLZ(100) 現在位置からZ-100に移動
L12 Go P0 待機位置姿勢P0に移動
行L1,L3,L8,L12の動作命令はPTP(Point To Point)動作の命令であり、TCPの目標位置姿勢を実現する逆運動学の複数の解として、複数のアーム姿勢が得られる。そこで、PTP動作の動作命令をシミュレーションで実行する際には、複数のアーム姿勢が画面表示される。なお、TCPの目標位置姿勢P0,P1,P2は、例えば、ロボット座標系における位置(x,y,z)と姿勢(w,p,r)で表現される。姿勢は、3軸廻りの回転角度(w,p,r)で表される。
行L4,L6,L9,L11の動作命令はCP(Continuous Path)動作の命令である。CP動作は、TCPが現在位置姿勢から目標位置姿勢に移動する際に、直線、円弧などの指定した軌跡で到達する動作である。CP動作では、原則として現在のロボットアーム120の姿勢が維持される。これらの動作命令をシミュレーションで実行する際には、1つのアーム姿勢のみが画面表示されるようにしてもよい。但し、CP動作について、複数のアーム姿勢を画面表示するようにすることも可能である。他の行L2,L5,L7,L10の命令は、動作プログラムSRPの一部であるが、ロボットアーム120の動作命令では無い。
このように、姿勢調整モードでのシミュレーションにおいて、一部の動作命令については複数のアーム姿勢が画面表示され、他の動作命令については1つのアーム姿勢のみが画面表示される。本開示では、姿勢調整モードにおいて複数のアーム姿勢が画面表示される動作を「特定動作」と呼ぶ。特定動作は、PTP動作以外の動作を含むようにしてもよい。
図3のステップS120では、ユーザーの指示に応じて動作プログラムSRPのシミュレーションが開始される。具体的には、図4のウィンドウW1において、シミュレーションの開始を指示するボタンBT1を押すと、シミュレーター314が、選択した動作プログラムSRPについてのシミュレーションを開始する。このとき、姿勢調整モードのチェックボックスCB1がチェックされている場合には、特定動作において複数のアーム姿勢が画面表示される。一方、姿勢調整モードのチェックボックスCB1がチェックされていない場合には、動作プログラムSRP内の複数の命令が連続的に実行される。以下では、姿勢調整モードのチェックボックスCB1がチェックされている場合のシミュレーションについて説明する。
ステップS130では、シミュレーションの実行対象となる動作命令が特定動作であるか否かが判定される。特定動作である場合には、後述するステップS140以降の処理が実行される。一方、特定動作でない場合には、ステップS170に進み、次の位置姿勢でのアーム姿勢がシミュレーション画像として画面表示される。
図5は、シミュレーター314による画面表示の一例を示す説明図である。シミュレーション結果を示すウィンドウW2の右側の領域には、ロボット100のシミュレーション画像が表示され、ウィンドウW2の左側の領域には実行中の動作プログラムSRPが表示される。但し、動作プログラムSRPの表示は省略してもよい。ステップS170では、図5のように、1つのアーム姿勢を示すシミュレーション画像が表示される。
ステップS180では、次の動作命令が存在するか否かが判定され、存在しない場合には図3の処理を終了する。一方、次の動作命令が存在する場合には、ステップS130に戻り、次の動作命令が特定動作であるか否かが判定される。次の動作命令が特定動作である場合には、ステップS140に進み、複数のアーム姿勢を示す複数のシミュレーション画像が画面表示される。
図6は、複数のアーム姿勢の画面表示の例を示す説明図である。この例は、PTP動作命令をシミュレーションした場合の例である。上述したように、PTP動作は、複数のアーム姿勢を示す複数のシミュレーション画像が表示される特定動作である。
図6のウィンドウW3の左側の領域には、現在のアーム姿勢を示すシミュレーション画像SM0と、実行中の動作プログラムSRPが表示される。但し、これらの表示は省略してもよい。
ウィンドウW3の右側の領域には、目標位置姿勢P1における複数のアーム姿勢がシミュレーション画像SM1~SM4として表示される。個々のシミュレーション画像には、ロボットアーム120の姿勢を区別するアーム姿勢パラメーターPAPとして、以下の3つのフラグが表示されている。
(1)Handフラグ
Handフラグは、J1軸とJ2軸の回転によってロボットアーム120が取り得る2つの姿勢を区別する第1フラグである。
Handフラグは、J1軸とJ2軸の回転によってロボットアーム120が取り得る2つの姿勢を区別する第1フラグである。
図7は、Handフラグが異なる2つのアーム姿勢を示す説明図である。Handフラグが“Right”(右腕系)の場合は、第1リンク121がJ1軸から+X方向に延び、第2リンク122がJ2軸から更に+X方向に延びる通常のアーム姿勢となる。即ち、Handフラグが“Right”の場合は、第1リンク121と第2リンク122がほぼ同じ方向に延びるアーム姿勢を取る。一方、Handフラグが“Left”(左腕系)の場合には、J1軸とJ2軸が回転して、第1リンク121がJ1軸から-X方向に延び、第2リンク122がJ2軸から+X方向に延びるアーム姿勢となる。即ち、Handフラグが“Left”の場合は、第1リンク121と第2リンク122が互いに屈曲して逆方向に延びるアーム姿勢を取る。Handフラグの“Right”と“Left”は、動作プログラムSRPでは"/R"と"/L"で区別される。
(2)Elbowフラグ
Elbowフラグは、J3軸の回転によってロボットアーム120が取り得る2つの姿勢を区別する第2フラグである。J3軸は、人間の肘にあたる関節である。例えば、目標位置姿勢のY座標が正のとき、人間の肘に相当する部分が上側にあるときにはElbowフラグは“Above”となり、下側にあるときには“Below”となる。Elbowフラグの“Above”と“Below”は、動作プログラムSRPでは"/A"と"/B"で区別される。シミュレーション画像SM1,SM3は、Elbowフラグのみが異なる2つのアーム姿勢を示している。シミュレーション画像SM2,SM4も同様である。
Elbowフラグは、J3軸の回転によってロボットアーム120が取り得る2つの姿勢を区別する第2フラグである。J3軸は、人間の肘にあたる関節である。例えば、目標位置姿勢のY座標が正のとき、人間の肘に相当する部分が上側にあるときにはElbowフラグは“Above”となり、下側にあるときには“Below”となる。Elbowフラグの“Above”と“Below”は、動作プログラムSRPでは"/A"と"/B"で区別される。シミュレーション画像SM1,SM3は、Elbowフラグのみが異なる2つのアーム姿勢を示している。シミュレーション画像SM2,SM4も同様である。
(3)Wristフラグ
Wristフラグは、J5軸の回転によってロボットアーム120が取り得る2つの姿勢を区別するフラグである。J5軸は、人間の手首にあたる関節である。例えば、人間の手首に相当する部分が上側にあるときにはWristフラグは“NoFlip”となり、下側にあるときには“Flip”となる。Wristフラグの“NoFlip”と“Flip”は、動作プログラムSRPでは"/N"と"/F"で区別される。シミュレーション画像SM1,SM2は、Wristフラグのみが異なる2つのアーム姿勢を示している。シミュレーション画像SM3,SM4も同様である。
Wristフラグは、J5軸の回転によってロボットアーム120が取り得る2つの姿勢を区別するフラグである。J5軸は、人間の手首にあたる関節である。例えば、人間の手首に相当する部分が上側にあるときにはWristフラグは“NoFlip”となり、下側にあるときには“Flip”となる。Wristフラグの“NoFlip”と“Flip”は、動作プログラムSRPでは"/N"と"/F"で区別される。シミュレーション画像SM1,SM2は、Wristフラグのみが異なる2つのアーム姿勢を示している。シミュレーション画像SM3,SM4も同様である。
上述した3つのフラグの値の組み合わせは8通り存在するが、図6ではそのうちの4つのみが表示されている。但し、フラグの値のすべての組み合わせについて、それらのアーム姿勢を示すシミュレーション画像を表示するようにしてもよい。また、シミュレーター314は、ロボットアーム120の一部が予め設定された動作範囲外となるアーム姿勢を、ロボットアーム120が取り得るアーム姿勢として表示しないように構成されることが好ましい。こうすれば、ロボットアーム120の不適切なアーム姿勢を候補として表示しないので、ユーザーが適切なアーム姿勢をより容易に選択できる。
また、シミュレーター314は、ロボットアーム120が自己衝突となるアーム姿勢と、ロボットアーム120と周辺物体の衝突が発生するアーム姿勢と、の少なくとも一方について、ロボットアーム120が取り得る複数のアーム姿勢として表示するか否かをユーザーが選択できるように構成されていることが好ましい。なお、「ロボットアーム120が自己衝突となるアーム姿勢」とは、ロボットアーム120がロボット100の他の部分に衝突することを意味する。また、「周辺物体」とは、ロボット100以外の物体を意味する。周辺物体を、「外部障害物」又は「障害物」とも呼ぶ。図6のウィンドウW3には、これらの2種類のアーム姿勢について、表示するか否かをユーザーが指定するチェックボックスCB2,CB3が設けられている。例えば、これらのチェックボックスCB2,CB3にチェックを入れない状態で、ロボットアーム120が取り得るアーム姿勢が1つも表示されない場合には、ユーザーがチェックボックスCB2,CB3にチェックを入れることによって、ロボットアーム120が自己衝突となるアーム姿勢や、ロボットアーム120と周辺物体の衝突が発生するアーム姿勢を表示させることができる。この結果、アーム姿勢にこれらの問題が生じているか否かを確認できる。周辺物体との衝突が発生する場合には、その周辺物体もシミュレーション画像に表示することが好ましい。また、衝突が発生するアーム姿勢を表示する場合に、衝突が発生するアーム部分の色を特定色に変更することによって、衝突部分を識別可能に表示することが好ましい。
このように、シミュレーター314が、複数のアーム姿勢のそれぞれに対してアーム姿勢パラメーターPAPを表示するようにすれば、ユーザーが複数のアーム姿勢とアーム姿勢パラメーターPAPとの関係を容易に確認できる。アーム姿勢パラメーターPAPとしては、上述した3つのフラグのうちの一部のみを使用してもよく、これら以外の軸に関するフラグを使用してもよい。なお、アーム姿勢パラメーターPAPの表示は省略可能である。
4軸の水平多関節ロボット(スカラロボット)については、アーム姿勢パラメーターPAPは、1つのアーム姿勢フラグで構成できる。このアーム姿勢フラグは、いずれもねじり関節である第1軸と第2軸の回転によってロボットアームが取り得る2つの姿勢を区別する。このアーム姿勢フラグは、平面視において、人間の腕に見立てたロボットアームが、右腕に相当する向きとなっているか、左腕に相当する向きとなっているかを区別するものとして構成可能である。
シミュレーション画像SM1~SM4には、更に、現在位置姿勢から目標位置姿勢への推定移動時間ETが表示されている。推定移動時間ETは、現在位置姿勢から目標位置姿勢への移動に要する時間の推定値である。推定移動時間ETは、動作プログラムSRPに設定されている速度、加速度、負荷、及び、イナーシャなどの複数の動作パラメーターを加味した概算時間である。ユーザーは、この推定移動時間ETを参考にして、好ましいアーム姿勢を選択するようにしてもよい。但し、推定移動時間ETの表示は省略可能である。
なお、シミュレーション画像としては、静止画でなく、動画を使用してもよい。動画としては、例えば、現在位置姿勢から目標位置姿勢までの動作を表す動画を使用することができる。また、アニメーション動画のように、通常のフレームレートである30フレーム/秒よりも低いフレームレートの動画を用いてもよい。更に、動画を用いる場合には、再生の開始と停止を指示するためのボタン類が個々の動画毎に設けられていることが好ましい。シミュレーション画像を動画で表示するようにすれば、ロボットアーム120が適切な動きをするか否かを確認できる。
図3のステップS150では、ユーザーによって1つのアーム姿勢が選択される。具体的には、ユーザーは、図6のウィンドウW3に表示された複数のアーム姿勢のうち、最も好ましいものをポインターPTで選択し、選択完了ボタンBT2を押すことによって、好ましい1つのアーム姿勢を選択する。図6の例では、2番目のアーム姿勢を示すシミュレーション画像SM2が選択されている。この場合には、アーム姿勢パラメーターPAPとして、"Hand=Right","Elbow=Above","Wrist=Flip"が選択される。
ステップS160では、アーム姿勢の選択に応じて、プログラム修正部316が、動作プログラムSRPを修正する。
図8は、アーム姿勢選択により修正された動作プログラムSRPを示す説明図である。この例では、動作プログラムSRPの行L3が修正されている点だけが図4と異なる。すなわち、行L3には、アーム姿勢パラメーターPAPが"Hand=Right","Elbow=Above","Wrist=Flip"であることを示すパラメーター"/R/A/F"が反映されている。この修正は、プログラム修正部316によって行われる。こうして修正された動作プログラムSRPをロボット100が実行すると、目標位置姿勢P1に到達したときに、これらのアーム姿勢パラメーターPAPで指定されたアーム姿勢をロボットアーム120が取るようにロボット100が動作する。なお、図6において1つのアーム姿勢がユーザーにより選択された時に、これに応じて実機のロボットアーム120が次の目標位置姿勢P1を取るように実機のロボット100を動作させるようにしてもよい。
動作プログラムSRPの修正が終了すると、ステップS170に進み、前述した図5の場合と同様に、次の目標位置姿勢P1でのアーム姿勢を示すシミュレーション画像が画面表示される。ステップS180では、次の動作命令が存在するか否かが判定され、次の動作命令が存在する場合には、ステップS130に戻り、上述した処理が再度実行される。一方、次の動作命令が存在しない場合には図3の処理を終了する。
なお、図4に示したウィンドウW1において姿勢調整モードのチェックボックスCB1がチェックされていない場合には、ステップS130,S170,S180がこの順に繰り返し実行され、動作命令毎に、図5のような1つのアーム姿勢を表すシミュレーション画像が表示される。この場合には、各動作命令の目標位置姿勢における1つのアーム姿勢を決めるアーム姿勢パラメーターの値は、予め定められた規則に従って決定される。
以上のように、上記実施形態では、動作命令で示される目標位置姿勢について、ロボットアーム120が取り得る複数のアーム姿勢を示す複数のシミュレーション画像を画面表示する。また、これらのアーム姿勢の中からユーザーにより選択された1つのアーム姿勢を示すアーム姿勢パラメーターPAPを、動作命令のパラメーターとして反映する。従って、ロボット実機を動作させること無く、目標位置姿勢において取り得る複数のアーム姿勢の候補をユーザーが観察して、意図したアーム姿勢を選択することができる。また、選択したアーム姿勢をロボットアーム120が取るように動作プログラムを修正できる。
7軸以上の関節を有するロボットに関しても、6軸ロボットと同様に、ロボットアームが取り得る複数のアーム姿勢を示す複数のシミュレーション画像を表示するようにしてもよい。この場合には、アーム姿勢パラメーターを構成するアーム姿勢フラグとしては、4つ以上のフラグを用いることが好ましい。こうすれば、冗長自由度を有するロボットについても、ロボットアームが取り得る複数のアーム姿勢を画面表示して、ユーザーに選択させることが可能である。
・他の形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
(1)本開示の第1の形態によれば、ロボットの動作プログラムの作成を支援するシステムが提供される。このシステムは、前記動作プログラムに含まれる目標位置姿勢について、ロボットアームが取り得る複数のアーム姿勢を示す複数のシミュレーション画像を画面表示するシミュレーターと、前記複数のアーム姿勢の中からユーザーにより選択された1つのアーム姿勢を示すアーム姿勢パラメーターを、前記目標位置姿勢への移動を示す動作命令のパラメーターとして反映するプログラム修正部と、を備える。
このシステムによれば、ロボット実機を動作させること無く、目標位置姿勢において取り得る複数のアーム姿勢の候補をユーザーが観察して意図したアーム姿勢を選択することができ、また、選択したアーム姿勢をロボットアームが取るように動作プログラムを修正できる。
このシステムによれば、ロボット実機を動作させること無く、目標位置姿勢において取り得る複数のアーム姿勢の候補をユーザーが観察して意図したアーム姿勢を選択することができ、また、選択したアーム姿勢をロボットアームが取るように動作プログラムを修正できる。
(2)上記システムにおいて、前記シミュレーターは、前記複数のアーム姿勢のそれぞれに対して前記アーム姿勢パラメーターを表示するものとしてもよい。
このシステムによれば、ユーザーが複数のアーム姿勢とアーム姿勢パラメーターとの関係を容易に確認できる。
このシステムによれば、ユーザーが複数のアーム姿勢とアーム姿勢パラメーターとの関係を容易に確認できる。
(3)上記システムにおいて、前記ロボットは、前記ロボットアームが、ねじり関節である第1軸、第4軸及び第6軸と、曲げ関節である第2軸、第3軸及び第5軸とが、前記第1軸から前記第6軸までこの順にリンクで接続された構成を有する6軸ロボットであるものとしてもよい。前記アーム姿勢パラメーターは、前記第1軸と前記第2軸の回転によって前記ロボットアームが取り得る2つの姿勢を区別する第1フラグと、前記第3軸の回転によって前記ロボットアームが取り得る2つの姿勢を区別する第2フラグと、前記第5軸の回転によって前記ロボットアームが取り得る2つの姿勢を区別する第3フラグと、を含むものとしてもよい。
このシステムによれば、3つのフラグを用いて6軸のロボットアームが取り得る複数の姿勢を区別できる。
このシステムによれば、3つのフラグを用いて6軸のロボットアームが取り得る複数の姿勢を区別できる。
(4)上記システムにおいて、前記シミュレーターは、前記ロボットアームの一部が予め設定された動作範囲外となるアーム姿勢を、前記ロボットアームが取り得る前記複数のアーム姿勢として表示しないように構成されているものとしてもよい。
このシステムによれば、ロボットアームの不適切なアーム姿勢を候補として表示しないので、ユーザーが適切なアーム姿勢をより容易に選択できる。
このシステムによれば、ロボットアームの不適切なアーム姿勢を候補として表示しないので、ユーザーが適切なアーム姿勢をより容易に選択できる。
(5)上記システムにおいて、前記シミュレーターは、前記ロボットアームが自己衝突となるアーム姿勢と、前記ロボットアームと周辺物体の衝突が発生するアーム姿勢との少なくとも一方について、前記ロボットアームが取り得る前記複数のアーム姿勢として表示するか否かをユーザーが選択できるように構成されていてもよい。
このシステムによれば、ロボットアームに自己衝突や周辺物体との衝突が生じているか否かを確認できる。
このシステムによれば、ロボットアームに自己衝突や周辺物体との衝突が生じているか否かを確認できる。
(6)上記システムにおいて、前記シミュレーターは、前記ロボットアームが取り得る複数のアーム姿勢のそれぞれについて、現在位置姿勢から前記目標位置姿勢への推定移動時間を表示するように構成されているものとしてもよい。
このシステムによれば、複数のアーム姿勢に対して推定移動時間を表示するので、ユーザーが適切なアーム姿勢をより容易に選択できる。
このシステムによれば、複数のアーム姿勢に対して推定移動時間を表示するので、ユーザーが適切なアーム姿勢をより容易に選択できる。
(7)上記システムにおいて、前記シミュレーション画像は、現在位置姿勢から前記目標位置姿勢までの動作を示す動画であるものとしてもよい。
このシステムによれば、ロボットアームが適切な動きをするか否かを確認できる。
このシステムによれば、ロボットアームが適切な動きをするか否かを確認できる。
(8)本開示の第2の形態によれば、ロボットの動作プログラムの作成を支援する方法が提供される。この方法は、(a)前記動作プログラムに含まれる目標位置姿勢について、ロボットアームが取り得る複数のアーム姿勢を示す複数のシミュレーション画像を画面表示する工程と、(b)前記複数のアーム姿勢の中からユーザーにより選択された1つのアーム姿勢を示すアーム姿勢パラメーターを、前記目標位置姿勢への移動を示す動作命令のパラメーターとして反映する工程と、を備える。
(9)本開示の第3の形態によれば、ロボットの動作プログラムの作成を支援する処理をプロセッサーに実行させるコンピュータープログラムが提供される。このコンピュータープログラムは、(a)前記動作プログラムに含まれる目標位置姿勢について、ロボットアームが取り得る複数のアーム姿勢を示す複数のシミュレーション画像を画面表示する処理と、(b)前記複数のアーム姿勢の中からユーザーにより選択された1つのアーム姿勢を示すアーム姿勢パラメーターを、前記目標位置姿勢への移動を示す動作命令のパラメーターとして反映する処理と、を前記プロセッサーに実行させる。
本開示は、上記以外の種々の形態で実現することも可能である。例えば、ロボットと制御装置とを備えたロボットシステム、制御装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)等の形態で実現することができる。
100…ロボット、110…基台、120…ロボットアーム、121…第1リンク、122…第2リンク、126…アームエンド、150…エンドエフェクター、200…制御装置、300…情報処理装置、310…プロセッサー、311…動作プログラム作成支援部、312…プログラム作成部、314…シミュレーター、316…プログラム修正部、320…メモリー、330…インターフェイス回路、340…入力デバイス、350…表示デバイス
Claims (9)
- ロボットの動作プログラムの作成を支援するシステムであって、
前記動作プログラムに含まれる目標位置姿勢について、ロボットアームが取り得る複数のアーム姿勢を示す複数のシミュレーション画像を画面表示するシミュレーターと、
前記複数のアーム姿勢の中からユーザーにより選択された1つのアーム姿勢を示すアーム姿勢パラメーターを、前記目標位置姿勢への移動を示す動作命令のパラメーターとして反映するプログラム修正部と、
を備えるシステム。 - 請求項1に記載のシステムであって、
前記シミュレーターは、前記複数のアーム姿勢のそれぞれに対して前記アーム姿勢パラメーターを表示する、システム。 - 請求項2に記載のシステムであって、
前記ロボットは、前記ロボットアームが、ねじり関節である第1軸、第4軸及び第6軸と、曲げ関節である第2軸、第3軸及び第5軸とが、前記第1軸から前記第6軸までこの順にリンクで接続された構成を有する6軸ロボットであり、
前記アーム姿勢パラメーターは、前記第1軸と前記第2軸の回転によって前記ロボットアームが取り得る2つの姿勢を区別する第1フラグと、前記第3軸の回転によって前記ロボットアームが取り得る2つの姿勢を区別する第2フラグと、前記第5軸の回転によって前記ロボットアームが取り得る2つの姿勢を区別する第3フラグと、を含む、
システム。 - 請求項1に記載のシステムであって、
前記シミュレーターは、前記ロボットアームの一部が予め設定された動作範囲外となるアーム姿勢を、前記ロボットアームが取り得る前記複数のアーム姿勢として表示しないように構成されている、システム。 - 請求項4に記載のシステムであって、
前記シミュレーターは、前記ロボットアームが自己衝突となるアーム姿勢と、前記ロボットアームと周辺物体の衝突が発生するアーム姿勢との少なくとも一方について、前記ロボットアームが取り得る前記複数のアーム姿勢として表示するか否かをユーザーが選択できるように構成されている、システム。 - 請求項1に記載のシステムであって、
前記シミュレーターは、前記ロボットアームが取り得る複数のアーム姿勢のそれぞれについて、現在位置姿勢から前記目標位置姿勢への推定移動時間を表示するように構成されている、システム。 - 請求項1~6のいずれか一項に記載のシステムであって、
前記シミュレーション画像は、現在位置姿勢から前記目標位置姿勢までの動作を示す動画である、システム。 - ロボットの動作プログラムの作成を支援する方法であって、
(a)前記動作プログラムに含まれる目標位置姿勢について、ロボットアームが取り得る複数のアーム姿勢を示す複数のシミュレーション画像を画面表示する工程と、
(b)前記複数のアーム姿勢の中からユーザーにより選択された1つのアーム姿勢を示すアーム姿勢パラメーターを、前記目標位置姿勢への移動を示す動作命令のパラメーターとして反映する工程と、
を備える方法。 - ロボットの動作プログラムの作成を支援する処理をプロセッサーに実行させるコンピュータープログラムであって、
(a)前記動作プログラムに含まれる目標位置姿勢について、ロボットアームが取り得る複数のアーム姿勢を示す複数のシミュレーション画像を画面表示する処理と、
(b)前記複数のアーム姿勢の中からユーザーにより選択された1つのアーム姿勢を示すアーム姿勢パラメーターを、前記目標位置姿勢への移動を示す動作命令のパラメーターとして反映する処理と、
を前記プロセッサーに実行させる、コンピュータープログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022066763A JP2023157089A (ja) | 2022-04-14 | 2022-04-14 | ロボットの動作プログラムの作成を支援するシステム、方法、及び、コンピュータープログラム |
CN202310389685.2A CN116901052A (zh) | 2022-04-14 | 2023-04-12 | 支持机器人的动作程序创建的系统、方法及计算机程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022066763A JP2023157089A (ja) | 2022-04-14 | 2022-04-14 | ロボットの動作プログラムの作成を支援するシステム、方法、及び、コンピュータープログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023157089A true JP2023157089A (ja) | 2023-10-26 |
Family
ID=88353766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022066763A Pending JP2023157089A (ja) | 2022-04-14 | 2022-04-14 | ロボットの動作プログラムの作成を支援するシステム、方法、及び、コンピュータープログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2023157089A (ja) |
CN (1) | CN116901052A (ja) |
-
2022
- 2022-04-14 JP JP2022066763A patent/JP2023157089A/ja active Pending
-
2023
- 2023-04-12 CN CN202310389685.2A patent/CN116901052A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN116901052A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7211978B2 (en) | Multiple robot arm tracking and mirror jog | |
US11370105B2 (en) | Robot system and method for operating same | |
JP4917252B2 (ja) | アーク溶接用装置 | |
JP5071361B2 (ja) | 複腕ロボットの作業プログラム作成方法および複腕ロボット | |
CN104002297A (zh) | 示教系统、示教方法及机器人系统 | |
US11865697B2 (en) | Robot system and method for operating same | |
CN114603533B (zh) | 存储介质及机器人的示教方法 | |
JPS6179589A (ja) | ロボツト運転装置 | |
JP2023157089A (ja) | ロボットの動作プログラムの作成を支援するシステム、方法、及び、コンピュータープログラム | |
US20220395985A1 (en) | Information processing apparatus, information processing method, display apparatus, display method, robot system, article production method, program, and storage medium | |
WO2021251087A1 (ja) | 溶接システム、溶接ロボット制御プログラム作成装置、溶接ロボット制御プログラム作成方法、および溶接ロボット制御プログラムの作成プログラム | |
JP2009166172A (ja) | ロボットのシミュレーション方法及びロボットのシミュレーション装置 | |
JP7493816B2 (ja) | ロボット、システム、方法及びプログラム | |
WO2023002624A1 (ja) | 機構データに基づいてロボットを制御するロボットの制御装置および動作プログラムの修正装置 | |
TWI847257B (zh) | 機器人示教系統 | |
WO2024134902A1 (ja) | ロボットの姿勢を調整する装置、方法、及びコンピュータプログラム | |
JP7469457B2 (ja) | ロボットプログラミング装置及びロボットプログラミング方法 | |
WO2022254538A1 (ja) | ロボットシミュレーション装置 | |
WO2022149570A1 (ja) | ロボットの動作シミュレーション装置、ロボットの制御装置、及びロボットの動作シミュレーション方法 | |
JP7462046B2 (ja) | ロボットシステム | |
WO2023276149A1 (ja) | 最適化支援装置 | |
JP2022111464A (ja) | コンピュータープログラム、ロボットの制御プログラムを作成する方法、及び、ロボットの制御プログラムを作成する処理を実行するシステム | |
JP2003117864A (ja) | 多関節ロボットのティーチングデータ作成方法 | |
JPH03288211A (ja) | ハンドリングロボットのオフライン教示システム | |
TW202332556A (zh) | 機器人示教系統 |