JP2023130675A - ロボットコントローラ、及び制御方法 - Google Patents

ロボットコントローラ、及び制御方法 Download PDF

Info

Publication number
JP2023130675A
JP2023130675A JP2022035105A JP2022035105A JP2023130675A JP 2023130675 A JP2023130675 A JP 2023130675A JP 2022035105 A JP2022035105 A JP 2022035105A JP 2022035105 A JP2022035105 A JP 2022035105A JP 2023130675 A JP2023130675 A JP 2023130675A
Authority
JP
Japan
Prior art keywords
robot
path
jump
teaching
motion
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.)
Granted
Application number
JP2022035105A
Other languages
English (en)
Other versions
JP7327550B1 (ja
Inventor
貴宏 前田
Takahiro Maeda
裕太 有田
Yuta Arita
元春 丸野
Motoharu Maruno
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2022035105A priority Critical patent/JP7327550B1/ja
Priority to CN202310202624.0A priority patent/CN116728327A/zh
Priority to US18/178,536 priority patent/US20230286153A1/en
Priority to EP23160183.2A priority patent/EP4242763A1/en
Application granted granted Critical
Publication of JP7327550B1 publication Critical patent/JP7327550B1/ja
Publication of JP2023130675A publication Critical patent/JP2023130675A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25BTOOLS OR BENCH DEVICES NOT OTHERWISE PROVIDED FOR, FOR FASTENING, CONNECTING, DISENGAGING OR HOLDING
    • B25B13/00Spanners; Wrenches
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/427Teaching successive positions by tracking the position of a joystick or handle to control the positioning servo of the tool head, master-slave control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4069Simulating machining process on screen
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35301On error, push button to reverse execution mode of block, stop, correct
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36071Simulate on screen, if operation value out of limits, edit program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36401Record play back, teach position and record it then play back
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39001Robot, manipulator control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40091Tele-programming by graphical simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40314Simulation of program locally before remote operation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40317For collision avoidance and detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40507Distributed planning, offline trajectory, online motion, avoid collision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40515Integration of simulation and planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

【課題】ティーチングの効率化に有効なロボットコントローラを提供する。【解決手段】ロボットコントローラ100は、ロボット2の目標位置を指定する目標指定操作がなされた場合に、ロボット2の周辺環境情報に基づいて現在位置から目標位置までのパスを生成するパス生成部115と、生成されたパスにてロボット2を目標位置まで動作させるジャンプ制御部116と、を備える。【選択図】図2

Description

本開示は、ロボットコントローラ及び制御方法に関する。
特許文献1には、コントローラと、操作用デバイスとを備える制御システムが開示されている。操作用デバイスは、操作者による操作入力を取得し、操作入力に基づく指令を生成してコントローラに出力する。コントローラは、操作用デバイスからの指令に従ってロボットを制御する。
特開2019-198925号公報
本開示は、ティーチングの効率化に有効なロボットコントローラを提供する。
本開示の一側面に係るロボットコントローラは、ロボットの目標位置を指定する目標指定操作がなされた場合に、ロボットの周辺環境情報に基づいて現在位置から目標位置までの間の少なくとも一部のパスを生成するパス生成部と、生成されたパスにてロボットを目標位置まで動作させるジャンプ制御部と、を備える。
本開示の他の側面に係る制御方法は、ロボットの目標位置を指定する目標指定操作がなされた場合に、ロボットの周辺環境情報に基づいて目標位置までのパスを生成することと、生成されたパスにてロボットを目標位置まで動作させることと、を含む。
本開示によれば、ティーチングの効率化に有効なロボットコントローラを提供することができる。
ロボットシステムの構成を例示する模式図である。 コントローラの機能的な構成を例示するブロック図である。 コントローラの変形例を示すブロック図である。 操作端末の操作画面を例示する模式図である。 コントローラ及び操作端末のハードウェア構成を例示するブロック図である。 ティーチング手順を例示するフローチャートである。 指定された目標位置へのジャンプ制御手順を例示するフローチャートである。 ジャンプ動作の再開手順を例示するフローチャートである。 ジャンプ動作の逆再生手順を例示するフローチャートである。
以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
〔ロボットシステム〕
図1に示すロボットシステム1は、オペレータによるティーチングにより生成された動作プログラムに基づいて、ロボット2を動作させる所謂ティーチング・プレイバック方式のシステムである。図1に示すように、ロボットシステム1は、ロボット2と、ロボットコントローラ100と、教示端末200とを備える。
図1に示すロボット2は、6軸の垂直多関節ロボットであり、基部11と、旋回部12と、第1アーム13と、第2アーム14と、第3アーム17と、先端部18と、アクチュエータ41,42,43,44,45,46とを有する。基部11は、床面、壁面、又は天井面、又は無人搬送車上等に設置されている。旋回部12は、鉛直な軸線21まわりに旋回するように基部11上に設けられている。第1アーム13は、軸線21に交差(例えば直交)する軸線22まわりに揺動するように旋回部12に接続されており、軸線22から離れる方向に向かって延びている。交差は、所謂立体交差のようにねじれの関係にある場合も含む。以下においても同様である。
第2アーム14は、軸線22に実質的に平行な軸線23まわりに揺動するように第1アーム13の先端部に接続されており、軸線23から離れる方向に向かって延びている。第2アーム14は、アーム基部15とアーム端部16とを含む。アーム基部15は、第1アーム13の先端部に接続されている。アーム端部16は、軸線23に交差(例えば直交)する軸線24まわりに旋回するようにアーム基部15の先端部に接続されており、軸線24に沿ってアーム基部15から離れる方向に向かって延びている。
第3アーム17は、軸線24に交差(例えば直交)する軸線25まわりに揺動するようにアーム端部16の先端部に接続されている。先端部18は、軸線25に交差(例えば直交)する軸線26まわりに旋回するように第3アーム17の先端部に接続されている。
このように、ロボット2は、基部11と旋回部12とを接続する関節31と、旋回部12と第1アーム13とを接続する関節32と、第1アーム13と第2アーム14とを接続する関節33と、第2アーム14においてアーム基部15とアーム端部16とを接続する関節34と、アーム端部16と第3アーム17とを接続する関節35と、第3アーム17と先端部18とを接続する関節36とを有する。
アクチュエータ41,42,43,44,45,46は、例えば電動モータ及び減速機を含み、関節31,32,33,34,35,36をそれぞれ駆動する。例えばアクチュエータ41は軸線21まわりに旋回部12を旋回させ、アクチュエータ42は軸線22まわりに第1アーム13を揺動させ、アクチュエータ43は軸線23まわりに第2アーム14を揺動させ、アクチュエータ44は軸線24まわりにアーム端部16を旋回させ、アクチュエータ45は軸線25まわりに第3アーム17を揺動させ、アクチュエータ46は軸線26まわりに先端部18を旋回させる。
なお、ロボット2の具体的な構成は適宜変更可能である。例えばロボット2は、上記6軸の垂直多関節ロボットに更に1軸の関節を追加した7軸の冗長型ロボットであってもよく、所謂スカラー型の多関節ロボットであってもよい。
教示端末200は、ティーチングに際してオペレータによる操作を受け付ける。オペレータによる操作は、ジョグ操作と、教示位置の追加操作と、プレイバック操作とを含む。ロボットコントローラ100は、ジョグ操作に応じてロボット2を動作させ、教示位置の追加操作がなされる度に、ロボット2の現在位置を教示位置とする教示動作コマンドを教示動作記憶部113に記憶させる。これにより、時系列の複数の教示動作コマンドを含む動作プログラムが教示動作記憶部113に生成される。
教示位置は、3次元座標系における先端部18の座標と、各座標軸まわりの先端部18の姿勢とを定める情報である。教示位置は、先端部18の座標及び姿勢を直接的に定める情報であってもよく、先端部18の座標及び姿勢を間接的に定める情報であってもよい。先端部18の座標及び姿勢を間接的に定める情報の具体例としては、関節31,32,33,34,35,36の回転角度が挙げられる。
教示動作コマンドは、教示位置までの先端部18の動作速度と、教示位置までの先端部18の移動軌跡を定める補間条件とを含む。補間条件の例としては、以下が挙げられる。
補間条件1)教示動作コマンドの実行直前のロボット2の位置(以下、「直前位置」という。)から、教示位置までの先端部18の移動軌跡を線形にする。
補間条件2)直前位置から、教示位置までの先端部18の移動軌跡をS字状にする。
補間条件3)直前位置から、教示位置まで、関節31,32,33,34,35,36の角度を互いに同じ変化率で変化させる。
教示端末200が受け付ける操作は、位置変数の追加操作を更に含んでもよい。位置変数は、教示地位と同様に、3次元座標系における先端部18の座標と、各座標軸まわりの先端部18の姿勢とを定める情報である。ロボットコントローラ100は、位置変数の追加操作に応じて、位置変数を教示動作記憶部113とは別の記憶領域に記憶させる。
例えばロボットコントローラ100は、図2に示すように、機能上の構成要素(以下、「機能ブロック」という。)として、ジョグ制御部111と、コマンド追加部112と、プレイバック制御部114とを有する。ジョグ制御部111は、オペレータによるジョグ操作がなされた場合に、ジョグ操作に応じてロボット2を動作させる。ジョグ操作は、例えば、先端部18の移動方向と、移動量とを定める操作である。ジョグ制御部111は、教示端末200が受け付けたジョグ操作により定められた移動方向及び移動量にて、先端部18を移動させるようにロボット2を動作させる。移動方向は、先端部18の座標の変化方向と、先端部18の姿勢の変化方向とを含む。
教示端末200がジョグ操作を受け付ける手法に特に制限はない。例えば教示端末200は、キー等のオブジェクトへの操作に基づいてジョグ操作を受け付けてもよく、オペレータの音声の認識結果に基づいてジョグ操作を受け付けてもよく、オペレータが行ったジェスチャの認識結果に基づいてジョグ操作を受け付けてもよい。
コマンド追加部112は、教示位置の追加操作がなされる度に、教示位置までロボット2を動作させる教示動作コマンドを教示動作記憶部113に記憶させる。例えばコマンド追加部112は、教示端末200が教示位置の追加操作を受け付けた時点におけるロボット2の位置を教示位置として教示動作コマンドを生成し、教示動作記憶部113に記憶させる。複数の教示動作コマンドをコマンド追加部112が順次教示動作記憶部113に記憶させることによって、時系列で複数の教示動作コマンドを含む動作プログラムが教示動作記憶部113に生成される。教示動作記憶部113は、ロボットコントローラ100のストレージデバイスに設けられていてもよく、ロボットコントローラ100と通信可能な外部のストレージデバイスに設けられていてもよい。
プレイバック制御部114は、教示動作記憶部113が記憶する複数の教示動作コマンドを順次呼び出して、複数の教示動作コマンドの教示位置で表される動作をロボット2に行わせる。例えばプレイバック制御部114は、一定の制御サイクルにて、プレイバック制御を繰り返す。プレイバック制御は、複数の教示動作コマンドにより表される教示動作パスに沿ってロボット2を動作させるように、関節31,32,33,34,35,36のそれぞれの目標角度を算出することと、関節31,32,33,34,35,36のそれぞれの角度を目標角度に追従させることと、を含む。
以上に説明したように、ロボットシステム1においては、オペレータがロボット2を動作させながら、ティーチング(教示位置の追加による動作プログラムの生成)が行われる。ロボット2をマニュアルで動作させる場合、ジョグ操作によりロボット2を少しずつ動かすだけでなく、現在位置から離れた目標位置までロボット2を一気に動かすことができると、ティーチングの効率が向上する。しかしながら、現在位置から離れた目標位置までの間に障害物が存在し得る。障害物の回避が必要である場合、オペレータがロボット2の移動方向をこまめに修正して、障害物を回避させねばならず、期待どおりにティーチングの効率を向上させることができない。
そこで、ロボットコントローラ100は、ロボット2の目標位置を指定する目標指定操作がなされた場合に、ロボット2の周辺環境情報に基づいて現在位置から目標位置までの間の少なくとも一部のパスを生成することと、生成されたパスにてロボット2を目標位置まで動作させることと、を更に実行するように構成されている。これにより、障害物を回避させるためのマニュアル操作の労力が大幅に軽減される。
例えばロボットコントローラ100は、機能ブロックとして、パス生成部115と、ジャンプ制御部116とを更に有する。パス生成部115は、ロボット2の目標位置を指定する目標指定操作がなされた場合に、ロボット2の周辺環境情報に基づいて現在位置から目標位置までのジャンプ動作パスを生成する。例えばパス生成部115は、周辺環境データベース122が記憶する周辺環境情報に基づいて、現在位置から目標位置までのジャンプ動作パスを生成する。
目標位置は、3次元座標系における先端部18の座標と、各座標軸まわりの先端部18の姿勢とを定める情報である。目標位置は、先端部18の座標及び姿勢を直接的に定める情報であってもよく、先端部18の座標及び姿勢を間接的に定める情報であってもよい。先端部18の座標及び姿勢を間接的に定める情報の具体例としては、関節31,32,33,34,35,36の回転角度が挙げられる。
例えば周辺環境データベース122は、周辺環境情報として、ロボット2と、ロボット2の周辺物体とを含む複数のオブジェクトの三次元モデルデータを記憶する。周辺環境データベース122は、ロボットコントローラ100のストレージデバイスに設けられていてもよく、ロボットコントローラ100と通信可能な外部のストレージデバイスに設けられていてもよい。
パス生成部115は、周辺環境情報に基づいて目標位置を含む1以上の経由位置を算出し、1以上の経由位置までロボット2を動作させる1以上のジャンプ動作コマンドを生成してもよい。1以上の経由位置のそれぞれは、3次元座標系における先端部18の座標と、各座標軸まわりの先端部18の姿勢とを定める情報である。経由位置は、先端部18の座標及び姿勢を直接的に定める情報であってもよく、先端部18の座標及び姿勢を間接的に定める情報であってもよい。先端部18の座標及び姿勢を間接的に定める情報の具体例としては、関節31,32,33,34,35,36の回転角度が挙げられる。
ジャンプ動作コマンドは、経由位置までの先端部18の動作速度と、経由位置までの先端部18の移動軌跡を定める補間条件とを含む。補間条件の例としては、以下が挙げられる。補間条件1)ジャンプ動作コマンドの実行直前のロボット2の位置(以下、「直前位置」という。)から、経由位置までの先端部18の移動軌跡を線形にする。補間条件2)直前位置から、経由位置までの先端部18の移動軌跡をS字状にする。補間条件2)直前位置から、経由位置まで、関節31,32,33,34,35,36の角度を互いに同じ変化率で変化させる。
パス生成部115は、ロボット2が、周辺物体及びロボット2自体と干渉しないようにジャンプ動作パスを生成する。パス生成部115は、まず現在位置と目標位置と線形補間してジャンプ動作パスを仮生成し、仮生成したジャンプ動作パスに基づくロボット2の動作を周辺環境データベース122が記憶する周辺環境情報に基づきシミュレートする。シミュレートの結果、ロボット2が、周辺物体又はロボット2自体に干渉すると判定した場合、パス生成部115は、周辺物体及びロボット2自体と干渉しない経由位置をランダムに生成し、現在位置と目標位置との間に追加する。以後、現在位置と、生成した1以上の経由位置と、目標位置とを結ぶジャンプ動作パスにより、ロボット2が周辺物体及びロボット2自体と干渉しなくなるまで、経由位置の生成と追加を繰り返す。その後、パス生成部115は、追加した1以上の経由位置と、目標位置とをそれぞれ経由位置とする2以上のジャンプ動作コマンドを生成する。
なお、現在位置と目標位置とを線形補間して仮生成したジャンプ動作パスによっても、ロボット2が周辺物体及びロボット2自体と干渉しない場合、パス生成部115は経由位置の追加を行わず、目標位置を経由位置とするロボットシステム1のジャンプ動作コマンドを生成する。
ジャンプ動作パスの生成手法は、例示した手法に限られない。例えばパス生成部115は、幾何学的なアルゴリズム等によって、ロボット2が周辺物体及びロボット2自体と干渉しないようにジャンプ動作パスを生成してもよい。
パス生成部115は、生成した1以上のジャンプ動作コマンドを、教示動作記憶部113とは別のジャンプ動作記憶部123に記憶させる。1以上のジャンプ動作コマンドをパス生成部115がジャンプ動作記憶部123に記憶させることによって、現在位置から目標位置までのパスを1以上のジャンプ動作コマンドにより表すジャンプ動作プログラムがジャンプ動作記憶部123に生成される。ジャンプ動作記憶部123は、ロボットコントローラ100のストレージデバイスに設けられていてもよく、ロボットコントローラ100と通信可能な外部のストレージデバイスに設けられていてもよい。
パス生成部115は、上述したパスの生成を外部演算装置に要求してもよい。外部演算装置が周辺環境情報に基づきジャンプ動作パスの生成を行う場合、外部演算装置にジャンプ動作パスの生成を行わせることも、周辺環境情報に基づきジャンプ動作パスを生成することに含まれる。
パス生成部115は、教示端末200が受け付けた目標指定操作により定められた目標位置までのジャンプ動作パスを生成してもよい。教示端末200が目標指定操作を受け付ける手法に特に制限はない。例えば教示端末200は、教示動作記憶部113が記憶する複数の教示動作コマンドからロボットシステム1の教示動作コマンドを選択する操作に基づいて、目標指定操作を受け付けてもよい。パス生成部115は、目標指定操作において、予め記録された位置が選択された場合に、選択された位置を目標位置としてジャンプ動作パスを生成してもよい。例えばパス生成部115は、予め記録された位置として、教示動作記憶部113が記憶する複数の教示動作コマンドから1の教示動作コマンドが選択された場合に、選択された教示動作コマンドの教示位置を目標位置としてジャンプ動作パスを生成してもよい。
複数の教示動作コマンドが、複数のタスクにグループ分けされた状態で教示動作記憶部113に記憶される場合もある。この場合、パス生成部115は、予め記録された位置として、複数のタスクから1のタスクが選択された場合に、選択されたタスクのうち1の教示動作コマンド(例えば先頭の教示動作コマンド)の教示位置を目標位置としてジャンプ動作パスを生成してもよい。
予め記録された位置は、教示位置に限られない。例えば、予め記録された位置は、教示位置とは別に記録されている位置変数であってもよく、各種座標系(例えばワーク座標系、ツール座標系、又はロボット座標系等)の原点であってもよい。
パス生成部115は、必ずしも現在位置から目標位置までの全域に亘るパスを生成しなくてもよく、現在位置から目標位置までの間の少なくとも一部のパスを生成するように構成されていてもよい。例えばパス生成部115は、現在位置から目標位置までのうち一部について、教示端末200への操作により定められたユーザ指定パスを取得し、ユーザ指定パスが定められていない区間のパスを生成し、生成したパスとユーザ指定パスとを組み合わせたジャンプ動作パスを生成してもよい。また、パス生成部115は、教示端末200への操作によりユーザが指定した1以上の経由点を通るように、ジャンプ動作パスを生成してもよい。
教示端末200は、ロボット2のシミュレーション(例えばシミュレーションの静止画像又は動画像)内の1点を指定する操作に基づいて、目標指定操作を受け付けてもよい。この場合、ロボットコントローラ100は、ロボット表示部121を更に備えてもよい。ロボット表示部121は、周辺環境データベース122が記憶する周辺環境情報に基づいて、ロボット2及び周辺物体のシミュレーション(例えばロボット2及び周辺物体の状態をシミュレーションする静止画像又は動画像)を教示端末200に表示させる。パス生成部115は、目標指定操作において、ロボット2のシミュレーション内の1点が指定された場合に、指定された1点に対応する位置を目標位置としてジャンプ動作パスを生成してもよい。
教示端末200は、オペレータの音声の認識結果に基づいて目標指定操作を受け付けてもよい。また、教示端末200は、現実空間における目標位置を指し示すオペレータのジェスチャの認識結果に基づいて目標指定操作を受け付けてもよい。
ジャンプ制御部116は、生成されたジャンプ動作パスにてロボット2を現在位置から目標位置まで動作させる。例えばジャンプ制御部116は、ジャンプ動作記憶部123が記憶する1以上のジャンプ動作コマンドに基づいてロボット2を動作させる。例えばジャンプ制御部116は、上記制御サイクルにて、ジャンプ制御を繰り返す。ジャンプ制御は、複数のジャンプ動作コマンドにより表されるジャンプ動作パスに沿ってロボット2を動作させるように、関節31,32,33,34,35,36のそれぞれの目標角度を算出することと、関節31,32,33,34,35,36のそれぞれの角度を目標角度に追従させることと、を含む。
ジャンプ制御部116は、目標位置までのジャンプ操作が継続している間に、ジャンプ動作パスにてロボット2を動作させ、ジャンプ動作パスにてロボット2を動作させている最中にジャンプ操作が中断された場合に、ロボット2の動作を中断させてもよい。
例えばジャンプ制御部116は、教示端末200に対するジャンプ操作が継続している間に、ジャンプ動作パスにてロボット2を動作させ、ジャンプ動作パスにてロボット2を動作させている最中に教示端末200に対するジャンプ操作が中断された場合に、ロボット2の動作を中断させてもよい。教示端末200がジャンプ操作を受け付ける手法に特に制限はない。例えば教示端末200は、キー等のオブジェクトへの操作に基づいてジャンプ操作を受け付けてもよく、オペレータの音声の認識結果に基づいてジャンプ操作を受け付けてもよく、オペレータが行ったジェスチャの認識結果に基づいてジャンプ操作を受け付けてもよい。
ジャンプ制御部116は、ジャンプ動作パスの途中でロボット2の動作が中断した状態で、ジャンプ操作が再開された場合に、ロボット2の動作が中断した状態(以下、「中断状態」という。)で行われた操作内容に基づいて、以下のいずれかを選択して実行してもよい。
再開動作1)ジャンプ動作パスにてロボット2の動作を再開させる。
再開動作2)ロボット2の動作が中断した時点の位置までロボット2を動作させた後、ジャンプ動作パスにてロボット2の動作を再開させる。
再開動作3)目標位置までのパスをパス生成部115に再生成させ、再生成されたパスにてロボット2を動作させる。
例えばジャンプ制御部116は、中断状態にて操作が行われたか否かを判定する。中断状態にて操作が行われた場合、ジャンプ制御部116は、その操作がジャンプ動作パスへの復帰が可能な復帰可能操作であるか否かを判定する。中断状態での操作が行われなかったと判定した場合、ジャンプ制御部116は「再開動作1」を実行する。中断状態で復帰可能操作が行われたと判定した場合、ジャンプ制御部116は「再開動作2」を実行する。中断状態で復帰可能操作ではない操作が行われたと判定した場合、ジャンプ制御部116は「再開動作3」を実行する。
復帰可能操作の例としては、アクチュエータ41,42,43,44,45,46に対する電力供給を一時的に遮断する操作(サーボオフ)等が挙げられる。復帰可能操作ではない操作の例としては、ジョグ操作によりジャンプ動作パスから外れる位置にロボット2を動作させる操作等が挙げられる。ジョグ操作が行われたとしても、ジョグ操作によるジャンプ動作パスからの逸脱が小さければ、再開動作2が可能である。そこで、ジョグ操作は、ジョグ操作による移動量が所定の判定閾値より小さければ復帰可能操作に分類されてもよい。
ロボットコントローラ100は、ジャンプ動作パスを表示させるように構成されていてもよい。例えばロボットコントローラ100は、図3に示すように、パス表示部131を更に有してもよい。パス表示部131は、ジャンプ動作記憶部123が記憶する(パス生成部115が生成した)ジャンプ動作パスのシミュレーションを表示させる。ジャンプ動作パスのシミュレーションの表示態様は、実際にロボット2を動作させることなく、オペレータにジャンプ動作パスを視認させ得る限りいかなる態様であってもよい。
ジャンプ動作パスのシミュレーションの表示態様の例としては、以下が挙げられる。
表示態様1)ロボット2及び周辺物体のシミュレーション画像内に、ジャンプ動作パスを表すラインを表示する。
表示態様2)ロボット2及び周辺物体のシミュレーション画像内に、ジャンプ動作パスの1以上の経由位置を表す1以上の点を表示する。
表示態様3)表示態様1のラインと、表示態様2の点とを合わせて表示する。
表示態様4)シミュレーション画像内において、ジャンプ動作パスに沿うようにロボット2を動作させる。
なお、パス表示部131は、表示態様1~3において、ロボット2自体を表示しなくてもよく、表示態様1~3におけるロボット2の表示を、先端部18の少なくとも一部(例えばツールの端部等)のみとしてもよい。パス表示部131は、表示態様4におけるロボット2の表示を、先端部18の少なくとも一部(例えばツールの端部等)のみとしてもよい。ジャンプ動作パスが適切に生成される場合、ユーザが、ロボット2と周辺物体及びロボット2自体との干渉に注意を払う必要はない。このような場合、ロボット2の表示を制限することで、ジャンプ動作パスに基づく先端部18の動き自体の適切さにユーザの注意を集中させることができる。例えば、液体を収容した容器を先端部18が保持した状態にて、ジャンプ動作パスに基づく動作が行われる場合に、この動作が、液体をこぼさないで遂行可能な動作となっているかを集中して確認し易くなる。
ジャンプ制御部116は、ジャンプ動作パスのシミュレーションの表示後に実行操作がなされた場合に、ジャンプ動作パスにてロボット2を動作させてもよい。実行操作の一例として、上述したジャンプ操作の入力を開始することが挙げられる。
ロボットコントローラ100は、コマンド登録操作がなされた場合に、1以上のジャンプ動作コマンドを、1以上の教示動作コマンドとして登録するように構成されていてもよい。例えばロボットコントローラ100は、コマンド登録部132を更に有してもよい。コマンド登録部132は、教示端末200に対してコマンド登録操作がなされた場合に、ジャンプ動作記憶部123が記憶する(パス生成部115が生成した)1以上のジャンプ動作コマンドを、1以上の教示動作コマンドとして教示動作記憶部113に登録する。コマンド登録部132は、ジャンプ動作記憶部123が記憶する全てのジャンプ動作コマンドを教示動作記憶部113に登録してもよく、ジャンプ動作記憶部123が記憶するジャンプ動作コマンドの一部を教示動作記憶部113に登録してもよい。
教示端末200がコマンド登録操作を受け付ける手法に特に制限はない。例えば教示端末200は、キー等のオブジェクトへの操作に基づいてコマンド登録操作を受け付けてもよく、オペレータの音声の認識結果に基づいてコマンド登録操作を受け付けてもよく、オペレータが行ったジェスチャの認識結果に基づいてコマンド登録操作を受け付けてもよい。
ロボットコントローラ100は、ジャンプ動作パスにてロボット2が動作した後、逆再生操作がなされた場合に、ジャンプ動作パスにて目標位置から離れる方向にロボット2を動作させるように構成されていてもよい。例えばロボットコントローラ100は、逆再生制御部133を更に有してもよい。逆再生制御部133は、ジャンプ動作パスにてロボット2が動作した後、教示端末200に対して逆再生操作がなされた場合に、生成されたパスにて目標位置から離れる方向にロボット2を動作させる。なお、ジャンプ動作パスにてロボット2が動作した後は、ジャンプ動作パスの途中でロボット2の動作が中断した後も含む。
逆再生制御部133は、逆再生操作がなされた場合に、ロボット2の動作が中断した状態(以下、「中断状態」という。)で行われた操作内容に基づいて、以下のいずれかを選択して実行してもよい。
逆再生動作1)ジャンプ動作パスにて、ジャンプ動作パスの開始位置までロボット2を動作させる。
逆再生動作2)ロボット2の動作が中断した時点の位置までロボット2を動作させた後、ジャンプ動作パスの開始位置までロボット2を動作させる。
逆再生動作3)ジャンプ位置の開始位置までのジャンプ動作パスをパス生成部115に再生成させ、再生成されたジャンプ動作パスにてロボット2を開始位置まで動作させる。
例えば逆再生制御部133は、中断状態にて操作が行われたか否かを判定する。中断状態にて操作が行われた場合、逆再生制御部133は、その操作が上記復帰可能操作であるか否かを判定する。中断状態での操作が行われなかったと判定した場合、逆再生制御部133は「逆再生動作1」を実行する。中断状態で復帰可能操作が行われたと判定した場合、逆再生制御部133は「逆再生動作2」を実行する。中断状態で復帰可能操作ではない操作が行われたと判定した場合、逆再生制御部133は「逆再生動作3」を実行する。
教示端末200が逆再生操作を受け付ける手法に特に制限はない。例えば教示端末200は、キー等のオブジェクトへの操作に基づいて逆再生操作を受け付けてもよく、オペレータの音声の認識結果に基づいて逆再生操作を受け付けてもよく、オペレータが行ったジェスチャの認識結果に基づいて逆再生操作を受け付けてもよい。
教示端末200は、オペレータによる各種操作の入力を可能とする操作インタフェースを備える。教示端末200は、ハードウェアによるインタフェース(例えばハードウェアキー)を備えてもよく、ソフトウェアによるインタフェース(例えばタッチパネルに表示されるソフトウェアキー)を備えてもよい。
図4は、ソフトウェアによるインタフェースの一例として、教示端末200がタッチパネルに表示する操作画面を例示する模式図である。図4に示す操作画面210は、ジョグ操作キー211と、教示点追加キー212と、シミュレーションウィンドウ221と、コマンドリスト222と、プレイバックキー213と、コマンド登録キー214と、ジャンプキー215と、バックキー216とを有する。ジョグ操作キー211は、上述したジョグ操作を入力するためのソフトウェアキーである。教示点追加キー212は、上述した教示位置の追加操作を入力するためのソフトウェアキーである。
シミュレーションウィンドウ221は、ロボット表示部121が生成したロボット2のシミュレーションと、パス生成部115が生成したジャンプ動作パスのシミュレーションとを表示するウィンドウである。図4においては、ロボット2のシミュレーション画像V1と、ロボット2の周辺物体のシミュレーション画像V2と、ジャンプ動作パスを表すシミュレーションラインV3とが表示されている。
コマンドリスト222は、教示動作記憶部113が記憶する複数の教示動作コマンドを時系列で表示するウィンドウである。プレイバックキー213は、上述したプレイバック操作を入力するためのソフトウェアキーである。コマンド登録キー214は、上述したコマンド登録操作を入力するためのソフトウェアキーである。ジャンプキー215は、上述したジャンプ操作を入力するためのソフトウェアキーである。ジャンプキー215が押されている間は、上述したジャンプ操作の入力が継続し、ジャンプキー215が解放されるとジャンプ操作の入力が中断される。バックキー216は、上述した逆再生操作を入力するためのソフトウェアキーである。
〔ハードウェア構成〕
図5は、ロボットコントローラ100及び教示端末200のハードウェア構成を例示するブロック図である。ロボットコントローラ100は、回路190を有する。回路190は、1以上のプロセッサ191と、1以上のメモリデバイス192と、1以上のストレージデバイス193と、通信ポート194と、ドライバ回路195とを有する。1以上のストレージデバイス193は、不揮発性の記憶媒体であり、ロボット2の目標位置を指定する目標指定操作がなされた場合に、ロボット2の周辺環境情報に基づいて目標位置までのパスを生成することと、生成されたパスにてロボット2を目標位置まで動作させることと、をロボットコントローラ100に実行させるためのプログラムを記憶する。例えば1以上のストレージデバイス193は、上述した各機能ブロックをロボットコントローラ100に構成させるためのプログラムを記憶する。1以上のストレージデバイス193のそれぞれは、フラッシュメモリ、又はハードディスク等の内蔵型の記憶媒体であってもよく、USBメモリ又は光ディスク等の可搬型の記憶媒体であってもよい。
1以上のメモリデバイス192は、1以上のストレージデバイス193からロードされたプログラムを一時的に記憶する。1以上のメモリデバイス192のそれぞれは、ランダムアクセスメモリ等であってもよい。1以上のプロセッサ191は、1以上のメモリデバイス192にロードされたプログラムを実行することにより、上述した各機能ブロックを構成する。1以上のプロセッサ191は、演算結果を適宜1以上のメモリデバイス192に記憶させる。
通信ポート194は、1以上のプロセッサ191からの要求に基づいて教示端末200との間で通信を行う。ドライバ回路195は、1以上のプロセッサ191からの要求に基づいて、ロボット2(アクチュエータ41,42,43,44,45,46)に駆動電力を供給する。
教示端末200は、回路290を有する。回路290は、1以上のプロセッサ291と、1以上のメモリデバイス292と、1以上のストレージデバイス293と、通信ポート294と、ユーザインタフェース295とを有する。1以上のストレージデバイス293は、不揮発性の記憶媒体であり、上記操作インタフェースを教示端末200に構成させるためのプログラムを記憶している。1以上のストレージデバイス293のそれぞれは、フラッシュメモリ、又はハードディスク等の内蔵型の記憶媒体であってもよく、USBメモリ又は光ディスク等の可搬型の記憶媒体であってもよい。
1以上のメモリデバイス292は、1以上のストレージデバイス293からロードされたプログラムを一時的に記憶する。1以上のメモリデバイス292は、ランダムアクセスメモリ等であってもよい。1以上のプロセッサ291は、1以上のメモリデバイス292にロードされたプログラムを実行することにより、操作インタフェースを構成する。1以上のプロセッサ291は、演算結果を適宜1以上のメモリデバイス292に記憶させる。
通信ポート294は、1以上のプロセッサ291からの要求に基づいてロボットコントローラ100との間で通信を行う。ユーザインタフェース295は、1以上のプロセッサ291からの要求に基づいて、オペレータとのコミュニケーションを行う。例えばユーザインタフェース295は、表示デバイスと、入力デバイスとを含む。表示デバイスの例としては、液晶モニタ又は有機EL(Electro-Luminescence)モニタ等が挙げられる。入力デバイスの例としては、キーボード、マウス、又はキーパッド等が挙げられる。入力デバイスは、タッチパネルとして表示デバイスと一体化されていてもよい。
以上に示したハードウェア構成はあくまで一例なので、適宜変更可能である。例えば、教示端末200がロボットコントローラ100に組み込まれていてもよい。
〔制御手順〕
制御方法の一例として、ロボットコントローラ100が実行する制御手順を例示する。この手順は、ロボット2の目標位置を指定する目標指定操作がなされた場合に、ロボット2の周辺環境情報に基づいて目標位置までのパスを生成することと、生成されたパスにてロボット2を目標位置まで動作させることと、を含む。以下、制御手順を、ティーチング手順と、ジャンプ制御手順と、ジャンプ動作の再開手順と、ジャンプ動作の逆再生手順とに分けて詳細に例示する。
(ティーチング手順)
図6に示すように、ロボットコントローラ100は、まずステップS01を実行する。ステップS01では、上述したジョグ操作がなされているか否かをジョグ制御部111が確認する。ステップS01において、ジョグ操作がなされていると判定した場合、ロボットコントローラ100はステップS02を実行する。ステップS02では、ジョグ制御部111が、ジョグ操作に応じてロボット2を動作させる。
ステップS01において、ジョグ操作はなされていないと判定した場合、ロボットコントローラ100はステップS03を実行する。ステップS03では、上述した教示位置の追加操作がなされているか否かをコマンド追加部112が確認する。ステップS03において、教示位置の追加操作がなされていると判定した場合、ロボットコントローラ100はステップS04を実行する。ステップS04では、教示位置の追加操作がなされて時点におけるロボット2の位置を教示位置として教示動作コマンドを生成し、教示動作記憶部113に記憶させる。
ステップS02,S04の次に、ロボットコントローラ100はステップS05を実行する。ステップS03において教示位置の追加操作はなされていないと判定した場合、ロボットコントローラ100はステップS02,S04を実行することなくステップS05を実行する。
ステップS05では、上述したプレイバック操作がなされているか否かをプレイバック制御部114が確認する。ステップS05において、プレイバック操作はなされていないと判定した場合、ロボットコントローラ100は処理をステップS01に戻す。以後、プレイバック操作がなされるまで、ジョグ操作に応じてロボット2を動作させることと、教示動作コマンドの追加とが繰り返される。
ステップS05において、プレイバック操作がなされたと判定した場合、ロボットコントローラ100はステップS06,S07を実行する。ステップS06では、プレイバック制御部114が、教示動作パスの開始位置までロボット2を動作させる。ステップS07では、プレイバック制御部114が、複数の教示動作コマンドを順次呼び出して、複数の教示動作コマンドの教示位置で表される動作をロボット2に行わせる。以上でティーチング手順が完了する。
(ジャンプ制御手順)
図7に示すように、ロボットコントローラ100は、ステップS11,S12,S13を実行する。ステップS11では、上述した目標指定操作がなされるのをパス生成部115が待機する。ステップS12では、パス生成部115が、周辺環境データベース122が記憶する周辺環境情報に基づいて、現在位置から目標位置までのジャンプ動作パスを生成する。例えばパス生成部115は、上述した1以上のジャンプ動作コマンドを生成し、ジャンプ動作記憶部123に記憶させる。ステップS13では、ジャンプ動作記憶部123が記憶するジャンプ動作パスのシミュレーションを、パス表示部131が表示させる。例えばパス表示部131は、ジャンプ動作パスのシミュレーションを教示端末200のシミュレーションウィンドウ221に表示させる。
次に、ロボットコントローラ100はステップS14,S15を実行する。ステップS14では、上述したジャンプ操作がなされるのをジャンプ制御部116が待機する。ステップS15では、ジャンプ制御部116が、ジャンプ動作パスにて目標位置までロボット2を動作させることを開始する。以下、ジャンプ動作パスにて目標位置まで動作することを、「ジャンプ動作」という。
次に、ロボットコントローラ100はステップS21を実行する。ステップS21では、ジャンプ操作が継続しているか否かをジャンプ制御部116が確認する。ステップS21において、ジャンプ操作が継続していると判定した場合、ロボットコントローラ100はステップS22を実行する。ステップS22では、ロボット2が目標位置に到達したか否かをジャンプ制御部116が確認する。ステップS22において、ロボット2は目標位置に到達していないと判定した場合、ロボットコントローラ100は処理をステップS21に戻す。以後、ジャンプ操作が継続する限り、ロボット2が目標位置に到達するまで、ジャンプ動作が継続される。
ステップS22において、ロボット2が目標位置に到達したと判定した場合、ロボットコントローラ100はステップS23を実行する。ステップS23では、ジャンプ制御部116が、ロボット2にジャンプ動作を停止させる。ステップS21において、ジャンプ操作が中断されたと判定した場合、ロボットコントローラ100はステップS24を実行する。ステップS24では、ジャンプ制御部116が、ロボット2にジャンプ動作を中断させる。以上でジャンプ制御手順が完了する。
(ジャンプ動作の再開手順)
この手順は、上述したステップS24にてジャンプ動作が中断された後に実行される。図8に示すように、ロボットコントローラ100は、ステップS31,S32を実行する。ステップS31では、ジャンプ操作が再開されるのをジャンプ制御部116が待機する。ステップS32では、ジャンプ動作が中断した状態(上記中断状態)で操作がなされたか否かをジャンプ制御部116が確認する。
ステップS32において、中断状態で操作がなされたと判定した場合、ロボットコントローラ100はステップS33を実行する。ステップS33では、中断状態でなされた動作が上記復帰可能動作であるか否かをジャンプ制御部116が確認する。ステップS33において、中断状態でなされた動作が上記復帰可能動作であると判定した場合、ロボットコントローラ100はステップS34を実行する。ステップS34では、ジャンプ制御部116が、ジャンプ動作が中断した時点の位置までロボット2を動作させる。ステップS33において、中断状態でなされた動作が復帰可能動作ではないと判定した場合、ロボットコントローラ100はステップS35を実行する。ステップS35では、ジャンプ制御部116が、目標位置までのパスをパス生成部115に再生成させる。
ステップS34,S35の次に、ロボットコントローラ100はステップS36を実行する。ステップS32にて、中断状態で操作はなされていないと判定した場合、ロボットコントローラ100はステップS34,S35を実行することなくステップS36を実行する。ステップS36では、ジャンプ制御部116が、ジャンプ動作を再開させる。
次に、ロボットコントローラ100はステップS41を実行する。ステップS41では、ジャンプ操作が継続しているか否かをジャンプ制御部116が確認する。ステップS41において、ジャンプ操作が継続していると判定した場合、ロボットコントローラ100はステップS42を実行する。ステップS42では、ロボット2が目標位置に到達したか否かをジャンプ制御部116が確認する。ステップS42において、ロボット2は目標位置に到達していないと判定した場合、ロボットコントローラ100は処理をステップS41に戻す。以後、ジャンプ操作が継続する限り、ロボット2が目標位置に到達するまで、ジャンプ動作が継続される。
ステップS42において、ロボット2が目標位置に到達したと判定した場合、ロボットコントローラ100はステップS43を実行する。ステップS43では、ジャンプ制御部116が、ロボット2にジャンプ動作を停止させる。ステップS41において、ジャンプ操作が中断されたと判定した場合、ロボットコントローラ100はステップS44を実行する。ステップS44では、ジャンプ制御部116が、ロボット2にジャンプ動作を中断させる。以上でジャンプ動作の再開手順が完了する。
ステップS44において、ジャンプ動作が中断した場合には、以上のジャンプ動作の再開手順を再度実行することが可能となる。
(ジャンプ動作の逆再生手順)
この手順は、上述したステップS23にてジャンプ動作が停止した後、又はステップS24にてジャンプ動作が中断された後に実行される。以下においては、上述したステップS23にてジャンプ動作が停止した後、及びステップS24にてジャンプ動作が中断された後のいずれも、「中断状態」という。図9に示すように、ロボットコントローラ100は、ステップS51,S52を実行する。ステップS51では、逆再生操作がなされるのを逆再生制御部133が待機する。ステップS52では、中断状態で操作がなされたか否かを逆再生制御部133が確認する。
ステップS52において、中断状態で操作がなされたと判定した場合、ロボットコントローラ100はステップS53を実行する。ステップS53では、中断状態でなされた動作が上記復帰可能動作であるか否かを逆再生制御部133が確認する。ステップS53において、中断状態でなされた動作が上記復帰可能動作であると判定した場合、ロボットコントローラ100はステップS54を実行する。ステップS54では、逆再生制御部133が、中断状態が開始された位置までロボット2を動作させる。ステップS53において、中断状態でなされた動作が復帰可能動作ではないと判定した場合、ロボットコントローラ100はステップS55を実行する。ステップS55では、逆再生制御部133が、ジャンプ動作の開始位置までのジャンプ動作パスをパス生成部115に再生成させる。
ステップS54,S55の次に、ロボットコントローラ100はステップS56を実行する。ステップS52にて、中断状態で操作はなされていないと判定した場合、ロボットコントローラ100はステップS54,S55を実行することなくステップS56を実行する。ステップS56では、逆再生制御部133が、ジャンプ動作パスにて、ジャンプ動作の開始位置までロボット2を動作させることを開始する。以下、ジャンプ動作パスにて、ジャンプ動作パスの開始位置まで動作することを「逆再生動作」という。
次に、ロボットコントローラ100はステップS61を実行する。ステップS61では、逆再生操作が継続しているか否かを逆再生制御部133が確認する。ステップS61において、逆再生操作が継続していると判定した場合、ロボットコントローラ100はステップS62を実行する。ステップS62では、ロボット2が開始位置に到達したか否かを逆再生制御部133が確認する。ステップS62において、ロボット2は開始位置に到達していないと判定した場合、ロボットコントローラ100は処理をステップS61に戻す。以後、逆再生操作が継続する限り、ロボット2が開始位置に到達するまで、逆再生動作が継続される。
ステップS62において、ロボット2が開始位置に到達したと判定した場合、ロボットコントローラ100はステップS63を実行する。ステップS63では、逆再生制御部133が、ロボット2に逆再生動作を停止させる。ステップS61において、逆再生操作が中断されたと判定した場合、ロボットコントローラ100はステップS64を実行する。ステップS64では、逆再生制御部133が、ロボット2に逆再生動作を中断させる。以上でジャンプ動作の逆再生手順が完了する。
ステップS64において、逆再生動作が中断した場合には、以上のジャンプ動作の再開手順又はジャンプ動作の逆再生手順を再度実行することが可能となる。
〔まとめ〕
以上に説明したように、ロボットコントローラ100は、ロボット2の目標位置を指定する目標指定操作がなされた場合に、ロボット2の周辺環境情報に基づいて現在位置から目標位置までの間の少なくとも一部のパスを生成するパス生成部115と、生成されたパスにてロボット2を目標位置まで動作させるジャンプ制御部116と、を備える。
このロボットコントローラ100によれば、目標位置を指定すれば、目標位置までのパスが自動生成されるので、ティーチングにおけるマニュアル操作の労力が軽減される。従って、ティーチングの効率化に有効である。
パス生成部115は、周辺環境情報に基づいて目標位置を含む1以上の経由位置を算出し、1以上の経由位置までロボット2を動作させる1以上のジャンプ動作コマンドを生成し、ジャンプ制御部116は、生成された1以上のジャンプ動作コマンドに基づいてロボット2を動作させてもよい。パス生成の演算を簡素化することで、パスの生成時間を短縮することができる。従って、ティーチングの効率化に更に有効である。
教示位置の追加操作がなされる度に、教示位置までロボット2を動作させる教示動作コマンドを教示動作記憶部113に記憶させるコマンド追加部112と、教示動作記憶部113が記憶する複数の教示動作コマンドを順次呼び出して、複数の教示動作コマンドの教示位置で表される動作をロボット2に行わせるプレイバック制御部114と、を備えてもよい。教示位置を順次追加する作業中において、新たな教示位置としたい位置、又は1以上前に登録した教示位置等に等まで、ロボット2を容易に動作させることが可能である。従って、ティーチングの効率化に更に有効である。
パス生成部115は、目標指定操作において、予め記録された位置が選択された場合に、選択された位置を目標位置としてパスを生成してもよい。目標位置を迅速に指定できるので、ティーチングの効率化に更に有効である。
パス生成部115は、予め記録された位置として、教示動作記憶部113が記憶する複数の教示動作コマンドから1の教示動作コマンドが選択された場合に、選択された教示動作コマンドの教示位置を目標位置としてパスを生成してもよい。既に記録された教示位置にロボットを戻す場合に、目標位置を迅速に指定できるので、ティーチングの効率化に更に有効である。
コマンド登録操作がなされた場合に、パス生成部115が生成した1以上のジャンプ動作コマンドを、1以上の教示動作コマンドとして教示動作記憶部113に登録するコマンド登録部132を更に備えてもよい。ジャンプ動作コマンドを教示動作コマンドとして流用することで、ティーチングを更に効率化することができる。
パス生成部115が生成したパスのシミュレーションを表示させるパス表示部131を更に備え、ジャンプ制御部116は、パスのシミュレーションの表示後に実行操作がなされた場合に、ロボット2を動作させてもよい。ティーチングを行うオペレータの安心感を向上させることができる。
ロボット2のシミュレーションを表示させるロボット表示部121を更に備え、パス生成部115は、目標指定操作において、ロボット2のシミュレーション内の1点が指定された場合に、指定された1点に対応する位置を目標位置としてパスを生成してもよい。任意の目標位置を容易に指定することができる。従って、ティーチングの効率化に更に有効である。
ジャンプ制御部116は、目標位置までのジャンプ操作が継続している間に、生成されたパスにてロボット2を動作させ、生成されたパスにてロボット2を動作させている最中にジャンプ操作が中断された場合に、ロボット2の動作を中断させてもよい。オペレータの意図により近い位置でロボット2の動作を中断させることができる。
ジャンプ制御部116は、生成されたパスの途中でロボット2の動作が中断した状態で、ジャンプ操作が再開された場合に、ロボット2の動作が中断した状態で行われた操作内容に基づいて、生成されたパスにてロボット2の動作を再開させることと、ロボット2の動作が中断した時点の位置までロボット2を動作させた後、生成されたパスにてロボット2の動作を再開させることと、目標位置までのパスをパス生成部115に再生成させ、再生成されたパスにてロボット2を動作させることと、のいずれかを選択して実行してもよい。ロボット2の動作が中断した状態で行われた操作内容に基づくことで、操作の再開に応じてロボット2をより適切に動作させることができる。
生成されたパスにてロボット2が動作した後、逆再生操作がなされた場合に、生成されたパスにて目標位置から離れる方向にロボット2を動作させる逆再生制御部133を更に備えてもよい。生成されたパスを、目標位置から離れる方向への動作にも有効活用することができる。
以上、実施形態について説明したが、本開示は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変更が可能である。
2…ロボット、100…ロボットコントローラ、112…コマンド追加部、113…教示動作記憶部、114…プレイバック制御部、115…パス生成部、121…ロボット表示部、123…ジャンプ動作記憶部、116…ジャンプ制御部、131…パス表示部、132…コマンド登録部、133…逆再生制御部。

Claims (12)

  1. ロボットの目標位置を指定する目標指定操作がなされた場合に、前記ロボットの周辺環境情報に基づいて現在位置から前記目標位置までの間の少なくとも一部のパスを生成するパス生成部と、
    生成されたパスにて前記ロボットを前記目標位置まで動作させるジャンプ制御部と、
    を備えるロボットコントローラ。
  2. 前記パス生成部は、前記周辺環境情報に基づいて前記目標位置を含む1以上の経由位置を算出し、前記1以上の経由位置まで前記ロボットを動作させる1以上のジャンプ動作コマンドを生成し、
    前記ジャンプ制御部は、生成された前記1以上のジャンプ動作コマンドに基づいて前記ロボットを動作させる、
    請求項1記載のロボットコントローラ。
  3. 教示位置の追加操作がなされる度に、前記教示位置まで前記ロボットを動作させる教示動作コマンドを教示動作記憶部に記憶させるコマンド追加部と、
    前記教示動作記憶部が記憶する複数の教示動作コマンドを順次呼び出して、前記複数の教示動作コマンドの教示位置で表される動作を前記ロボットに行わせるプレイバック制御部と、
    を備える、請求項2記載のロボットコントローラ。
  4. 前記パス生成部は、前記目標指定操作において、予め記録された位置が選択された場合に、選択された位置を前記目標位置として前記パスを生成する、
    請求項3記載のロボットコントローラ。
  5. 前記パス生成部は、前記予め記録された位置として、前記教示動作記憶部が記憶する複数の教示動作コマンドから1の前記教示動作コマンドが選択された場合に、選択された教示動作コマンドの前記教示位置を前記目標位置として前記パスを生成する、
    請求項4記載のロボットコントローラ。
  6. コマンド登録操作がなされた場合に、前記パス生成部が生成した前記1以上のジャンプ動作コマンドを、1以上の教示動作コマンドとして前記教示動作記憶部に登録するコマンド登録部を更に備える、
    請求項3~5のいずれか一項記載のロボットコントローラ。
  7. 前記パス生成部が生成したパスのシミュレーションを表示させるパス表示部を更に備え、
    前記ジャンプ制御部は、前記パスのシミュレーションの表示後に実行操作がなされた場合に、前記ロボットを動作させる、
    請求項1~6のいずれか一項記載のロボットコントローラ。
  8. 前記ロボットのシミュレーションを表示させるロボット表示部を更に備え、
    前記パス生成部は、前記目標指定操作において、前記ロボットのシミュレーション内の1点が指定された場合に、指定された1点に対応する位置を前記目標位置として前記パスを生成する、
    請求項1~7のいずれか一項記載のロボットコントローラ。
  9. 前記ジャンプ制御部は、
    前記目標位置までのジャンプ操作が継続している間に、前記生成されたパスにて前記ロボットを動作させ、
    前記生成されたパスにて前記ロボットを動作させている最中に前記ジャンプ操作が中断された場合に、前記ロボットの動作を中断させる、
    請求項1~8のいずれか一項記載のロボットコントローラ。
  10. 前記ジャンプ制御部は、前記生成されたパスの途中で前記ロボットの動作が中断した状態で、前記ジャンプ操作が再開された場合に、前記ロボットの動作が中断した状態で行われた操作内容に基づいて、
    前記生成されたパスにて前記ロボットの動作を再開させることと、
    前記ロボットの動作が中断した時点の位置までロボットを動作させた後、前記生成されたパスにて前記ロボットの動作を再開させることと、
    前記目標位置までの前記パスを前記パス生成部に再生成させ、再生成されたパスにて前記ロボットを動作させることと、
    のいずれかを選択して実行する、請求項9記載のロボットコントローラ。
  11. 前記生成されたパスにて前記ロボットが動作した後、逆再生操作がなされた場合に、前記生成されたパスにて前記目標位置から離れる方向に前記ロボットを動作させる逆再生制御部を更に備える、
    請求項1~10のいずれか一項記載のロボットコントローラ。
  12. ロボットの目標位置を指定する目標指定操作がなされた場合に、前記ロボットの周辺環境情報に基づいて前記目標位置までのパスを生成することと、
    生成されたパスにて前記ロボットを前記目標位置まで動作させることと、
    を含む制御方法。
JP2022035105A 2022-03-08 2022-03-08 ロボットコントローラ、及び制御方法 Active JP7327550B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022035105A JP7327550B1 (ja) 2022-03-08 2022-03-08 ロボットコントローラ、及び制御方法
CN202310202624.0A CN116728327A (zh) 2022-03-08 2023-03-06 机器人系统、控制方法和存储器设备
US18/178,536 US20230286153A1 (en) 2022-03-08 2023-03-06 Path generation for manual robot teaching
EP23160183.2A EP4242763A1 (en) 2022-03-08 2023-03-06 Robot system, control method and memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022035105A JP7327550B1 (ja) 2022-03-08 2022-03-08 ロボットコントローラ、及び制御方法

Publications (2)

Publication Number Publication Date
JP7327550B1 JP7327550B1 (ja) 2023-08-16
JP2023130675A true JP2023130675A (ja) 2023-09-21

Family

ID=85505618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022035105A Active JP7327550B1 (ja) 2022-03-08 2022-03-08 ロボットコントローラ、及び制御方法

Country Status (4)

Country Link
US (1) US20230286153A1 (ja)
EP (1) EP4242763A1 (ja)
JP (1) JP7327550B1 (ja)
CN (1) CN116728327A (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06102919A (ja) * 1992-09-22 1994-04-15 Nippon Telegr & Teleph Corp <Ntt> ロボット軌道を教示するための方法
JPH0934524A (ja) * 1995-07-18 1997-02-07 Kobe Steel Ltd ロボットマニピュレータの移動経路の自動生成方法
JPH1124720A (ja) * 1997-07-03 1999-01-29 Fanuc Ltd ロボットの教示プログラムの変換方法
JP2003280710A (ja) * 2002-03-20 2003-10-02 Japan Atom Energy Res Inst ロボットハンドの作業軌道の生成と制御方法
JP2004243516A (ja) * 2003-02-11 2004-09-02 Kuka Roboter Gmbh コンピュータによって生成された情報を現実環境の画像へとフェードインするための方法、およびコンピュータによって生成された情報を現実環境の画像に視覚化するための装置
JP2008221428A (ja) * 2007-03-14 2008-09-25 Nidec Sankyo Corp ロボット教示システム及びロボット教示方法
WO2010092981A1 (ja) * 2009-02-12 2010-08-19 三菱電機株式会社 産業用ロボットシステム
JP2012106323A (ja) * 2010-11-19 2012-06-07 Daihen Corp アーク溶接ロボット制御装置
US20150266182A1 (en) * 2012-10-11 2015-09-24 Abb Technology Ltd Method And An Apparatus For Automatically Generating A Collision Free Return Program For Returning A Robot From A Stop Position To A Predefined Restart Position
JP2018134703A (ja) * 2017-02-21 2018-08-30 株式会社安川電機 ロボットシミュレータ、ロボットシステム及びシミュレーション方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7017469B2 (ja) 2018-05-16 2022-02-08 株式会社安川電機 操作用デバイス、制御システム、制御方法及びプログラム
JP2020082285A (ja) * 2018-11-27 2020-06-04 キヤノン株式会社 複数のロボットの干渉確認方法、ロボットシステム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06102919A (ja) * 1992-09-22 1994-04-15 Nippon Telegr & Teleph Corp <Ntt> ロボット軌道を教示するための方法
JPH0934524A (ja) * 1995-07-18 1997-02-07 Kobe Steel Ltd ロボットマニピュレータの移動経路の自動生成方法
JPH1124720A (ja) * 1997-07-03 1999-01-29 Fanuc Ltd ロボットの教示プログラムの変換方法
JP2003280710A (ja) * 2002-03-20 2003-10-02 Japan Atom Energy Res Inst ロボットハンドの作業軌道の生成と制御方法
JP2004243516A (ja) * 2003-02-11 2004-09-02 Kuka Roboter Gmbh コンピュータによって生成された情報を現実環境の画像へとフェードインするための方法、およびコンピュータによって生成された情報を現実環境の画像に視覚化するための装置
JP2008221428A (ja) * 2007-03-14 2008-09-25 Nidec Sankyo Corp ロボット教示システム及びロボット教示方法
WO2010092981A1 (ja) * 2009-02-12 2010-08-19 三菱電機株式会社 産業用ロボットシステム
JP2012106323A (ja) * 2010-11-19 2012-06-07 Daihen Corp アーク溶接ロボット制御装置
US20150266182A1 (en) * 2012-10-11 2015-09-24 Abb Technology Ltd Method And An Apparatus For Automatically Generating A Collision Free Return Program For Returning A Robot From A Stop Position To A Predefined Restart Position
JP2018134703A (ja) * 2017-02-21 2018-08-30 株式会社安川電機 ロボットシミュレータ、ロボットシステム及びシミュレーション方法

Also Published As

Publication number Publication date
JP7327550B1 (ja) 2023-08-16
CN116728327A (zh) 2023-09-12
EP4242763A1 (en) 2023-09-13
US20230286153A1 (en) 2023-09-14

Similar Documents

Publication Publication Date Title
JP6498366B1 (ja) 教示装置
JP3673725B2 (ja) ロボット用情報処理システム
EP1310844B1 (en) Simulation device
US11413752B2 (en) Programming assistance for robots
JP2004265041A (ja) ロボット教示装置
JP2015231640A (ja) ロボット動作経路チェック装置、ロボットシステム、ロボット動作経路チェック方法、プログラム及び記録媒体
CN114654446A (zh) 一种机器人示教方法、装置、设备和介质
WO2022139939A1 (en) Robot planning
JP7327550B1 (ja) ロボットコントローラ、及び制御方法
US11203117B2 (en) Teaching data generation system for vertical multi-joint robot
JP6819766B1 (ja) シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム
US10518413B2 (en) Industrial robot and method for controlling the robot to automatically select which program code to be executed next
US11975454B2 (en) Program generation device and non-transitory computer-readable storage medium storing program
JP5459601B2 (ja) ロボットコントロール・システム、ロボットコントロール方法
US11787054B2 (en) Robot planning
JP2006068890A (ja) 軌道決定システムおよび軌道決定方法
TWI847257B (zh) 機器人示教系統
JP7541955B2 (ja) ロボット用走行台車位置決定装置、該方法および該プログラム
US20230249347A1 (en) Path planning during execution of robot control
US20240139952A1 (en) Robot simulation device
WO2024150380A1 (ja) ロボットシステム及びモデリング方法
JPH01269105A (ja) オフラインプログラミング装置
JP2022139199A (ja) 複数の移動機構を制御するシステムおよび方法
JPS60132208A (ja) 可動体の移動範囲制御方法
JP2023140592A (ja) 教示装置および教示プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220421

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221122

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230717

R150 Certificate of patent or registration of utility model

Ref document number: 7327550

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150