JP2014024162A - ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム - Google Patents

ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム Download PDF

Info

Publication number
JP2014024162A
JP2014024162A JP2012166728A JP2012166728A JP2014024162A JP 2014024162 A JP2014024162 A JP 2014024162A JP 2012166728 A JP2012166728 A JP 2012166728A JP 2012166728 A JP2012166728 A JP 2012166728A JP 2014024162 A JP2014024162 A JP 2014024162A
Authority
JP
Japan
Prior art keywords
teaching point
teaching
end effector
information
obstacle
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.)
Withdrawn
Application number
JP2012166728A
Other languages
English (en)
Other versions
JP2014024162A5 (ja
Inventor
Yoshiji Yamada
喜士 山田
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2012166728A priority Critical patent/JP2014024162A/ja
Priority to US13/938,357 priority patent/US20140031982A1/en
Priority to CN201310308387.2A priority patent/CN103568008A/zh
Publication of JP2014024162A publication Critical patent/JP2014024162A/ja
Publication of JP2014024162A5 publication Critical patent/JP2014024162A5/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • 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/36415Adjust path and attitude tool by detecting path, line with a photosensor, laser
    • 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/39091Avoid collision with moving obstacles
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/27Arm part
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/30End effector
    • Y10S901/45Compliance

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

【課題】ロボットと障害物とがぶつかってしまう場合に、自動的に教示点の修正又は追加をすることができる。
【解決手段】複数のリンク及びジョイントを有するアームと、アームの先端に設けられたエンドエフェクターと、からなる可動部を複数の教示点に沿って移動させる時に、教示点の位置情報と障害物の位置情報とに基づいて可動部と障害物とが干渉するか否かを判定する。所定の教示点で可動部と障害物とが干渉すると判定された場合に、制限情報に基づいて所定の教示点の位置を変更する。また、第1の教示点と第2の教示点との間で可動部と障害物とが干渉するか否かを判定する。第1の教示点と第2の教示点との間で可動部と障害物とが干渉すると判定された場合に、接近制限情報及び離脱制限情報に基づいて第1の教示点と第2の教示点との間に教示点を追加する。
【選択図】図2

Description

本発明は、ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラムに関する。
特許文献1には、教示点をつなげた移動パスに沿ってロボットを移動させる時に、移動パスが障害物に干渉する場合には、干渉しないようにパスに経由点を追加し、教示修正作業を行うロボットプログラム作成装置が開示されている。
特開2008−254172号公報
しかしながら、特許文献1に記載の発明では、経由点の追加は作業者自身が行わなければならないという問題がある。
そこで、本発明は、ロボットと障害物とがぶつかってしまう場合に、自動的に教示点の修正又は追加をすることができるロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラムを提供することを目的とする。
上記課題を解決するための第一の態様は、ロボットシステムであって、複数のリンク及びジョイントを有するアームと、前記アームの先端に設けられたエンドエフェクターと、前記エンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させる動作制御部と、前記複数の教示点を構成する各教示点の情報であって、前記教示点の位置情報と、前記エンドエフェクターを前記教示点へ接近させる際の制限情報とを記憶する記憶部と、障害物の位置情報を取得する取得部と、前記教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの所定の教示点において、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定する第1の判定部と、前記所定の教示点において前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記制限情報に基づいて前記所定の教示点の位置を変更する変更部と、を備えることを特徴とする。
これにより、教示点でロボットと障害物とがぶつかってしまう場合に、自動的に教示点を修正し、ロボットと障害物とがぶつからないようにすることができる。
ここで、前記所定の教示点において、前記エンドエフェクターが動作を行うか否かを判定する第2の判定部を備え、前記変更部は、前記所定の教示点において前記エンドエフェクターが動作を行わない場合には、前記所定の教示点の位置を変更してもよい。これにより、エンドエフェクターが動作を行わない場合にのみ教示点の修正を行うことができる。ことができる。
ここで、前記制限情報は、前記各教示点へ前記エンドエフェクターを接近させる方向を限定する情報であり、前記変更部は、前記所定の教示点を前記制限情報の示す方向に所定量だけ移動させることにより、前記所定の教示点の位置を変更してもよい。これにより、教示点の修正候補を一方向に限定し、処理時間を短縮することができる。
ここで、前記所定の教示点の位置と、前記所定の教示点の前に前記エンドエフェクターが通過する教示点の位置と、前記障害物の形状とに基づいて、前記制限情報を生成する制限情報生成部を備え、前記記憶部は、前記生成された制限情報を記憶してもよい。これにより、修正した教示点についての制限情報を生成、記憶することができる。
第一の態様の変形例は、ロボット制御装置であって、複数のリンク及びジョイントを有するアームの先端に設けられたエンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させる動作制御部と、前記複数の教示点を構成する各教示点の情報であって、前記教示点の位置情報と、前記エンドエフェクターを前記教示点へ接近させる際の制限情報と、障害物の位置情報とを取得する取得部と、前記教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの所定の教示点において、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定する第1の判定部と、前記所定の教示点において前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記制限情報に基づいて前記所定の教示点の位置を変更する変更部と、を備えることを特徴とする。
第一の態様の変形例は、ロボット制御方法であって、複数のリンク及びジョイントを有するアームの先端に設けられたエンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させるステップと、前記複数の教示点の位置情報と、障害物の位置情報を取得するステップと、前記複数の教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの所定の教示点において、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定するステップと、前記所定の教示点において前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記所定の教示点に対する制限情報であって、前記エンドエフェクターを接近させる際の制限情報を取得し、当該取得した制限情報に基づいて前記所定の教示点の位置を変更するステップと、を備えることを特徴とする。
第一の態様の変形例は、ロボット制御プログラムであって、複数のリンク及びジョイントを有するアームの先端に設けられたエンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させるステップと、前記複数の教示点の位置情報と、障害物の位置情報を取得するステップと、前記複数の教示点の位置情報と前記障害物の位置情報と基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの所定の教示点において、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定するステップと、前記所定の教示点において前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記所定の教示点に対する制限情報であって、前記エンドエフェクターを接近させる際の制限情報を取得し、当該取得した制限情報に基づいて前記所定の教示点の位置を変更するステップと、を演算装置に実行させることを特徴とする。
第二の態様は、ロボットシステムであって、複数のリンク及びジョイントを有するアームと、前記アームの先端に設けられたエンドエフェクターと、前記エンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させる動作制御部と、前記複数の教示点を構成する各教示点の情報であって、前記教示点の位置情報と、前記エンドエフェクターを前記教示点へ接近させる際の制限情報である接近制限情報と、前記エンドエフェクターを前記教示点から離脱させる際の制限情報である離脱制限情報を記憶する記憶部と、障害物の位置情報を取得する取得部と、前記複数の教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの第1の教示点と前記第1の教示点の次に前記エンドエフェクターが通過する第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定する判定部と、前記第1の教示点と前記第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記接近制限情報及び前記離脱制限情報に基づいて前記第1の教示点と前記第2の教示点との間に前記教示点を追加する追加部と、を備えることを特徴とする。
これにより、教示点と教示点との間でロボットと障害物とがぶつかってしまう場合に、自動的に教示点を追加し、教示点と教示点との間でロボットと障害物とがぶつからないようにすることができることができる。
ここで、前記追加部は、前記第1の教示点についての前記離脱制限情報に基づいて、前記第1の教示点と前記第2の教示点との間に第3の教示点を追加し、かつ前記第2の教示点についての前記接近制限情報に基づいて、前記第3の教示点と前記第2の教示点との間に第4の教示点を追加してもよい。これにより、教示点の追加を自動的に行いやすくすることができる。
ここで、前記接近制限情報は、前記各教示点へ前記エンドエフェクターを接近させる方向を限定する情報であり、前記離脱制限情報は、前記各教示点から前記エンドエフェクターを離脱させる方向を限定する情報であり、前記追加部は、前記第1の教示点を前記離脱制限情報の示す方向に所定量だけ移動させた位置を前記第3の教示点の位置とし、前記第2の教示点を前記接近制限情報の示す方向に所定量だけ移動させた位置に前記第4の教示点を追加してもよい。これにより、教示点の追加候補を一方向に限定し、処理時間を短縮することができる。
ここで、前記第1の教示点及び前記第2の教示点の位置と、前記障害物の形状とに基づいて、前記接近制限情報及び前記離脱制限情報を生成する制限情報生成部を備え、前記記憶部は、前記生成された接近制限情報及び前記生成された離脱制限情報を記憶してもよい。これにより、追加した教示点の接近制限情報、離脱制限情報を生成、記憶することができる。
第二の態様の変形例は、ロボット制御装置であって、複数のリンク及びジョイントを有するアーム先端に設けられたエンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させる動作制御部と、前記複数の教示点を構成する各教示点の情報であって、前記教示点の位置情報と、前記エンドエフェクターを前記教示点へ接近させる際の制限情報である接近制限情報と、前記エンドエフェクターを前記教示点から離脱させる際の制限情報である離脱制限情報と、障害物の位置情報を取得する取得部と、前記複数の教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの第1の教示点と前記第1の教示点の次に前記エンドエフェクターが通過する第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定する第2の判定部と、前記第1の教示点と前記第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記接近制限情報及び前記離脱制限情報に基づいて前記第1の教示点と前記第2の教示点との間に前記教示点を追加する追加部と、を備えることを特徴とする。
第二の態様の変形例は、ロボット制御方法であって、複数のリンク及びジョイントを有するアーム先端に設けられたエンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させるステップと、前記複数の教示点の位置情報と、障害物の位置情報とを取得するステップと、前記複数の教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの第1の教示点と前記第1の教示点の次に前記エンドエフェクターが通過する第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定するステップと、前記第1の教示点と前記第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記エンドエフェクターを前記教示点へ接近させる際の制限情報である接近制限情報であって、前記第2の教示点についての接近制限情報を取得し、かつ前記エンドエフェクターを前記教示点から離脱させる際の制限情報である離脱制限情報であって、前記第1の教示点についての離脱制限情報を取得するステップと、前記第1の教示点についての離脱制限情報に基づいて前記第1の教示点と前記第2の教示点との間に第3の教示点を追加するステップと、前記第2の教示点についての接近制限情報に基づいて前記第3の教示点と前記第2の教示点との間に第4の教示点を追加するステップと、を備えることを特徴とする。
第二の態様の変形例は、ロボット制御プログラムであって、複数のリンク及びジョイントを有するアーム先端に設けられたエンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させるステップと、前記複数の教示点の位置情報と、障害物の位置情報とを取得するステップと、前記複数の教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの第1の教示点と前記第1の教示点の次に前記エンドエフェクターが通過する第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定するステップと、前記第1の教示点と前記第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記エンドエフェクターを前記教示点へ接近させる際の制限情報である接近制限情報であって、前記第2の教示点についての接近制限情報を取得し、かつ前記エンドエフェクターを前記教示点から離脱させる際の制限情報である離脱制限情報であって、前記第1の教示点についての離脱制限情報を取得するステップと、前記第1の教示点についての離脱制限情報に基づいて前記第1の教示点と前記第2の教示点との間に第3の教示点を追加するステップと、前記第2の教示点についての接近制限情報に基づいて前記第3の教示点と前記第2の教示点との間に第4の教示点を追加するステップと、を演算装置に実行させることを特徴とする。
本発明の一実施形態におけるロボットシステム1の構成の一例を示すシステム構成図である。 ロボットシステム1の機能構成の一例を示すブロック図である。 教示点情報の一例を示す図である。 干渉情報の一例を示す図である。 障害物情報の一例を示す図である。 制御部20のハードウェア構成を示す図である。 ロボットシステム1の教示点修正処理の流れを示すフローチャートである。 教示点修正処理を説明する図である。 ロボットシステム1の接近制限情報生成処理の流れを示すフローチャートである。 接近制限情報生成処理を説明する図である。 教示点修正処理の教示点修正ステップ(ステップS16)の処理の流れを示すフローチャートである。 教示点修正ステップ(ステップS16)を説明する図である。 ロボットシステム1の教示点追加処理の流れを示すフローチャートである。 教示点追加処理を説明する図である。 ロボットシステム1の離脱制限情報生成処理の流れを示すフローチャートである。 教示点追加処理を説明する図である。
本発明の一実施形態について、図面を参照しながら説明する。
図1は、本発明の一実施形態におけるロボットシステム1の構成の一例を示すシステム構成図である。本実施形態におけるロボットシステム1は、主として、ロボット10と、制御部20と、撮影部30とを備える。
ロボット10は、アーム部11と、アーム部11の先端に設けられたハンド14とを備えたアーム型のロボットである。なお、図1においては、2本のアーム部11を有するいわゆる双腕ロボットを図示したが、1本のロボットアームを有していてもよい。以下、アーム部11及びハンド14を可動部15(図2等参照)という。
アーム部11は、複数のジョイント(関節)12と、複数のリンク13とを含む。
各ジョイント12は、リンク13同士や、ロボットの台座(胴体)とリンク13等を回動自在に連結する。各ジョイント12は、例えば、回転ジョイントであり、リンク13間の角度を変化させたり、リンク13を軸回転させたりできるように設けられている。従って、各ジョイント12を連動させて駆動することにより、ハンド14を所定の可動範囲内で自在に移動させることができるとともに、自由な方向へ向けることもできる。
ハンド14は、例えば、2本以上の指を備え、これらを曲げたり移動させたりすることによりワーク40を挟んで把持する。もちろん、ハンド14の構成は、ワーク40を把持できれば特に限定されない。なお、本実施形態では、ハンド14の位置を、可動部15の「作業点」と呼ぶ(いわゆる、エンドエフェクター)。
ハンド14には、センサー(図示せず)が設けられる。センサーは、例えば、ハンド14に加えられた外力などを検出する。
また、ジョイント12及びハンド14には、それらを動作させるためのアクチュエーター(図示せず)が設けられる。アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。エンコーダーが出力するエンコーダー値は、制御部20によるロボット10のフィードバック制御に使用される。
なお、ロボット10の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。一般的な把持ロボットが備える構成を排除するものではない。例えば、図1では6軸のアームが示されているが、軸数(ジョイント数)をさらに増加させてもよいし、減らしてもよい。リンクの数を増減させてもよい。また、アーム、ハンド、リンク、ジョイント等の各種部材の形状、大きさ、配置、構造等も適宜変更してよい。
撮影部30は、ロボット10の外部環境(例えば、図示する作業台付近)を撮影して、画像データを生成するユニットである。撮影部30は、例えば、カメラを含み、作業台、天井、壁などに設けられる。
撮影部30は、ハンド14の注目点X及びワーク40を所定の方向、図1においては右斜め前方向から撮影する。なお、撮影部30の撮影方向はこれに限られない。
制御部20は、ロボット10の全体を制御する処理を行う。制御部20は、ロボット10の本体とは離れた場所に(遠隔操作可能に)設置してもよいし、ロボット10に内蔵してもよい。
次に、ロボットシステム1の機能構成例について説明する。図2は、ロボットシステム1の機能ブロック図である。
ロボット10は、主として、中央制御部101と、動作制御部102とを備える。
中央制御部101は、他の各部(102)等を統括的に制御する。
動作制御部102は、出力部204から出力された情報、アクチュエーターのエンコーダー値、及びセンサーのセンサー値等に基づいて可動部15を制御する。例えば、動作制御部102は、出力部204から出力された教示点の情報に沿って可動部15を移動させるように、アクチュエーターを駆動させる。また、動作制御部102は、教示点の情報にエンドエフェクターを動作することが指示されている場合には、ハンド14を動作してワーク40を把持させる。
制御部20は、中央制御部201と、記憶部202と、障害物情報生成部203と、出力部204と、教示点干渉確認部205と、教示点パラメーター修正部206と、新規教示点追加部207と、新規教示点パラメーター算出部208と、エンドエフェクター動作確認部209と、教示点DB210と、障害物DB211とを備える。
中央制御部201は、他の各部(202〜211)を統括的に制御する。
記憶部202は、各種データやプログラムを記憶する。
障害物情報生成部203は、撮影部30で撮影された画像データを取得し、画像データに基づいて障害物情報を生成して障害物DB211に記憶する。障害物情報については後に詳述する。
出力部204は、可動部15の移動量、移動方向等を示す情報を動作制御部102に出力する。例えば、出力部204は、教示点干渉確認部205で教示点とワーク40とが干渉しない場合には、教示点DB210から教示点の情報を取得し、これを動作制御部102に出力する。
教示点干渉確認部205は、教示点DB210に記憶された教示点の情報と、障害物DB211に記憶された障害物の情報とに基づいて、可動部15とワーク40(障害物)とが干渉するか否かを確認する。また、教示点干渉確認部205は、教示点DB210に記憶された教示点の情報と、障害物DB211に記憶された障害物の情報とに基づいて、教示点と教示点とを結んだ移動経路(パス)上で、可動部15とワーク40(障害物)とが干渉するか否かを確認する。
教示点パラメーター修正部206は、教示点干渉確認部205により可動部15と障害物とが干渉することが確認された教示点のパラメーター(後に詳述)を算出する。また教示点パラメーター修正部206は、算出したパラメーターを用いて教示点DB210の教示点を修正する。
新規教示点追加部207は、教示点干渉確認部205によりパス上で可動部15と障害物とが干渉することが確認された時に、新たな教示点を追加する。
新規教示点パラメーター算出部208は、新規教示点追加部207により追加された教示点のパラメーターを算出する。また、新規教示点パラメーター算出部208は、算出したパラメーターが設定された教示点を教示点DB210に追加する。
エンドエフェクター動作確認部209は、教示点DB210に記憶された教示点の情報と、障害物DB211に記憶された障害物の情報とに基づいて、ワーク40(障害物)と干渉する教示点においてエンドエフェクター動作が設定されているか否かを確認する。
なお、教示点干渉確認部205、教示点パラメーター修正部206、新規教示点追加部207、新規教示点パラメーター算出部208及びエンドエフェクター動作確認部209が行う処理の詳細については、後に詳述する。
教示点DB210には、教示点情報2101と、干渉情報2102とが記憶される。障害物DB211には、障害物情報2111が記憶される。
教示点情報2101は、ロボットの教示点群の情報である。あらかじめ設定されている教示点の情報は、教示点情報2101にあらかじめ記憶されている。変更、追加された教示点の情報は、教示点パラメーター修正部206又は新規教示点パラメーター算出部208により、教示点情報2101に追加される。
図3は、教示点情報2101を示す図である。教示点情報2101は、主として、教示点番号格納領域2101aと、先端位置姿勢格納領域2101bと、パラメーター格納領域2101cと、フラグ格納領域2101dと、接近制限情報格納領域2101eと、離脱制限情報格納領域2101fとを備える。教示点番号格納領域2101aと、先端位置姿勢格納領域2101bと、パラメーター格納領域2101cと、フラグ格納領域2101dと、接近制限情報格納領域2101eと、離脱制限情報格納領域2101fとは互いに関連付けられている。
教示点番号格納領域2101aには、教示点の識別情報(例えば、番号)が格納される。動作制御部102は、教示点を番号の小さい順につなげたパスに沿って可動部15を移動させる。
先端位置姿勢格納領域2101bには、ロボット先端の目標位置及び姿勢が格納される。ロボット先端の目標位置は、ハンド14の先端のx座標、y座標及びz座標により決定される。ロボット先端の姿勢は、ハンド14のロール角、ピッチ角及びヨー角と、パラメーターとにより決定される。なお、x座標、y座標及びz座標は、制御部20が認識しているロボット10の座標系(ロボット座標系)における座標である。
パラメーター格納領域2101cには、ロボットの冗長自由度を一意に決めるためのパラメーターが格納される。たとえば、3次元7軸ロボットの場合には、アーム部11の肘に相当する部分の位置を定めるパラメーターとすることができる。
フラグ格納領域2101dには、ロボット先端の目標位置姿勢においてエンドエフェクター動作処理を実行するか否かのフラグが格納される。フラグ格納領域2101dに「0」が格納されている場合には、エンドエフェクター動作を行わないことを示す。フラグ格納領域2101dに「1」が格納されている場合には、エンドエフェクター動作を行うことを示す。
接近制限情報格納領域2101eは、先端位置姿勢格納領域2101bに格納された教示点に可動部15を接近させるときの可動部15の位置及び姿勢に関する制限の有無及び制限内容が格納される。接近制限情報格納領域2101eに情報が格納されていない場合には、可動部15を教示点へ接近させる場合に制限がないことを示す。本実施の形態では、接近制限情報格納領域2101eに格納される情報(例えばDIR[1])は、制限の方向を示す方向ベクトルであり、DIR[1]の示す方向からしか可動部15を接近させることができないことを示す。接近制限情報格納領域2101eに格納される情報の詳細については、後に詳述する。
離脱制限情報格納領域2101fは、先端位置姿勢格納領域2101bに格納されたロボット先端の目標位置から可動部15を離脱(遠ざける)させる(次の教示点へ移動させる)ときの可動部15の位置及び姿勢に関する制限の有無及び制限内容が格納される。離脱制限情報格納領域2101fに情報が格納されていない場合には、可動部15を教示点から離脱させる場合に制限がないことを示す。本実施の形態では、離脱制限情報格納領域2101fに格納される情報(例えばDIR[3])は、制限の方向を示す方向ベクトルであり、DIR[3]の示す方向にしか可動部15を離脱させることができないことを示す。離脱制限情報格納領域2101fに格納される情報の詳細については、後に詳述する。
干渉情報2102は、設定されたロボットの教示点群の情報である。図4は、干渉情報2102を例示する図である。干渉情報2102は、主として、教示点番号格納領域2102aと、インデックス格納領域2102bと、ロボット動作可能/不可能フラグ格納領域2102cとを備える。教示点番号格納領域2102aは、教示点番号格納領域2101aと同一であるため、説明を省略する。
インデックス格納領域2102bには、教示点番号格納領域2102aに番号が格納された各教示点について、その教示点に可動部15を位置させたときにロボット10と障害物との干渉が発生することを示すインデックスが格納される。また、インデックス格納領域2102bには、教示点をつないだパスに沿って可動部15を移動させたときにロボット10と障害物との干渉が発生することを示すインデックスが格納される。
本実施の形態では、インデックス格納領域2102bの一桁目に「0」が格納された場合は、その教示点においては、教示点に可動部15を位置させたときにロボット10と障害物との干渉が発生しないことを示し、「1」が格納された場合は、教示点に可動部15を位置させたときにロボット10と障害物との干渉が発生することを示す。また、インデックス格納領域2102bの二桁目に「0」が格納された場合は、その教示点から次の教示点にロボット10を移動させる間にロボット10と障害物との干渉が発生しないことを示し、「1」が格納された場合は、その教示点から次の教示点にロボット10を移動させる間にロボット10と障害物との干渉が発生することを示す。また、インデックス格納領域2102bの三桁目に「0」が格納された場合には、一つ前の教示点からその教示点にロボット10を移動させる間にロボット10と障害物との干渉が発生しないことを示し、「1」が格納された場合には、一つ前の教示点からその教示点にロボット10を移動させる間にロボット10と障害物との干渉が発生することを示す。
図4に示す例では、教示点番号格納領域2102aに番号2が格納された場合に、インデックス格納領域2102bに「011」が格納されているため、番号2の教示点に可動部15を位置させたときにロボット10と障害物との干渉が発生し、番号2の教示点から番号3の教示点に移動させる間にロボット10と障害物との干渉が発生することがわかる。教示点番号格納領域2102aに番号3が格納された場合に、インデックス格納領域2102bに「100」が格納されているため、番号3の教示点の一つ前の教示点である教示点2から移動する間にロボット10と障害物との干渉が発生することがわかる。
ロボット動作可能/不可能フラグ格納領域2102cには、その教示点が実現可能な否かを示すフラグが格納される。ロボット動作可能/不可能フラグ格納領域2102cに「0」が格納されている場合は、その教示点が実現可能であることを示す。ロボット動作可能/不可能フラグ格納領域2102cに「1」が格納されている場合は、その教示点が実現不可能であることを示す。
図4に示す例では、教示点番号格納領域2102aに番号2が格納された場合に、ロボット動作可能/不可能フラグ格納領域2102cに「1」が格納されているため、番号2の教示点は実現できないことを示す。
障害物情報2111は、作業空間に存在するロボット10以外のワーク、周辺機器等の寸法や位置姿勢を表す情報である。図5は、障害物情報2111を示す図である。障害物情報2111は、主として、障害物番号格納領域2111aと、障害物座標格納領域2111bと、障害物寸法格納領域2111cとを備える。
障害物番号格納領域2111aには、障害物の番号が格納される。障害物の番号は、便宜上、障害物情報生成部203が障害物を認識した順に付与される。
障害物座標格納領域2111bには、ロボット座標系における障害物の位置を示すx座標、y座標、z座標及び障害物の姿勢を表すロール角、ピッチ角、ヨー角が格納される。本実施の形態では、障害物を取り囲む直方体を仮定しているため、1つの障害物に対して幅、高さ、奥行きの代表寸法が格納される。なお、障害物が球形の場合には、中心を示す1組のx座標、y座標、z座標を障害物座標格納領域211bに格納し、半径の値を障害物寸法格納領域2111cに格納してもよい。障害物座標格納領域2111bのx座標、y座標及びz座標は、先端位置姿勢格納領域2101bに格納された座標系、すなわち制御部20が認識しているロボット10の座標と同一である。
なお、ロボット10及び制御部20の各機能構成は、ロボット10及び制御部20の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。ロボット10及び制御部20の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
図6は、制御部20の概略構成の一例を示すブロック図である。図示するように、制御部20は、演算装置であるCPU51と、揮発性の記憶装置であるRAM52と、不揮発性の記憶装置であるROM53と、ハードディスクドライブ(HDD)54と、制御部20と他のユニットを接続するインターフェイス(I/F)回路55と、ロボット10の外部の装置と通信を行う通信装置56と、これらを互いに接続するバス57とを備える。
上記の記憶部202以外の各機能部は、例えば、CPU51がROM53に格納された所定のプログラムをRAM52に読み出して実行することにより実現される。記憶部202は、例えば、RAM52、ROM53又はHDD54により実現される。なお、前記所定のプログラムは、例えば、予めROM53にインストールされてもよいし、通信装置56を介してネットワークからダウンロードされてインストール又は更新されてもよい。
以上のロボットシステム1の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。ロボット10は、制御部20を備えていてもよいし、撮影部30を備えていてもよい。また、一般的なロボットが備える構成を排除するものではない。
次に、本実施形態における、上記構成からなるロボットシステム1の特徴的な処理について説明する。本実施の形態では、ロボットシステム1の特徴的な処理として、教示点修正処理及び教示点追加処理の2つがある。以下、この2つの処理について順番に説明する。なお、説明の簡略化のため、ロボット10は2次元で移動可能(3次元では移動しない)として説明する。また、ロボット10自身の干渉はなく、ロボット10と障害物の干渉のみ発生すると仮定して説明する。
図7は、ロボットシステム1の教示点修正処理の流れを示すフローチャートである。この処理は、例えば、図示しないボタン等を介して干渉確認指示が入力されることにより開始される。
<ステップS10>
教示点干渉確認部205は、教示点情報2101から各教示点の位置情報を取得する。また、教示点干渉確認部205は、障害物DB211から障害物情報2111を取得する。そして、教示点干渉確認部205は、教示点情報2101に格納された各教示点について、障害物DB211に格納された障害物と干渉するか否かを判定する。当該処理について、図8を用いて具体的に説明する。
教示点干渉確認部205は、障害物情報2111に基づいて、障害物の存在する領域を認識する。障害物座標格納領域2111bから位置(Xa, Ya)、姿勢(θa)、代表寸法La、Waで表される長方形の障害物(ここではワーク40)が取得されているため、教示点干渉確認部205は、長方形領域(図8ハッチング部)を障害物の存在する領域として認識する。
教示点干渉確認部205は、先端位置姿勢格納領域2101bから取得した教示点の位置情報(x座標、y座標、z座標)が、障害物の存在する領域に含まれるか否かを判定する。教示点2が障害物の存在する領域に含まれるため、教示点干渉確認部205は、教示点2が障害物と干渉すると判定する。
なお、図8において、各教示点に表示された矢印は、先端姿勢方向を示す矢印である。先端姿勢方向とは、ハンド14の先端が向く方向であり、先端位置姿勢格納領域2101bに格納されたハンド14のロール角、ピッチ角及びヨー角と、パラメーター格納領域2101cに格納されたパラメーターとから求めることができる。
また、教示点干渉確認部205は、判定結果に基づいて干渉情報2102を生成する。具体的には、教示点干渉確認部205は、教示点番号格納領域2102aに教示点の番号を格納する。また、教示点干渉確認部205は、教示点が障害物の存在する領域に含まれない場合にはインデックス格納領域2102bの一桁目に「0」を格納し、教示点が障害物の存在する領域に含まれる場合にはインデックス格納領域2102bの一桁目に「1」を格納する。さらに、教示点干渉確認部205は、インデックス格納領域2102bのすべての桁に「0」を格納した場合にはロボット動作可能/不可能フラグ格納領域2102cに「0」を格納し、インデックス格納領域2102bのいずれかの桁に「1」を格納した場合にはロボット動作可能/不可能フラグ格納領域2102cに「1」を格納する。これにより、次回の処理からは、干渉情報2102を取得することで干渉の有無を知ることができる。
図7の説明に戻る。教示点が障害物と干渉しないと判定された場合(ステップS10でNO)は、ステップS18へ進む。教示点が障害物と干渉すると判定された場合(ステップS10でYES)は、ステップS12へ進む。
<ステップS12>
教示点干渉確認部205は、干渉が発生する教示点の情報をエンドエフェクター動作確認部209へ出力する。エンドエフェクター動作確認部209は、教示点DB210から教示点情報2101を取得し、教示点情報2101に基づいて教示点干渉確認部205から入力された教示点でエンドエフェクターの動作を行う設定となっているか否かを判定する。
図8に示す例では、教示点2が障害物の存在する領域に含まれると判断されたので、エンドエフェクター動作確認部209は、教示点情報2101のフラグ格納領域2101dに格納された情報であって、教示点番号格納領域2101aに格納された番号が「2」の情報に関連付けられた情報を取得する。図3に示す教示点情報2101では、教示点番号格納領域2101aが「2」の場合におけるフラグ格納領域2101dの情報は「0」である。したがって、エンドエフェクター動作確認部209は、教示点2ではエンドエフェクター動作を行わないと判定する。
干渉が発生する教示点でエンドエフェクター動作が行う設定となっている場合(ステップS12でYES)は、エンドエフェクター動作確認部209はこの情報を中央制御部201へ出力し、中央制御部201は処理Bを行う。干渉が発生する教示点でエンドエフェクター動作を行わない設定となっている場合(ステップS12でNO)は、ステップS14へ進む。
<処理B>
処理Bは、エラー処理である。エラー処理は、作業が不可能であることを、作業者等へ認識させると共に、教示点修正処理を含むロボットシステム1のすべての処理停止させる処理である。作業者等へ認識させる処理としては、例えば、ラインの見直しが必要であることを図示しない表示部に表示させる処理が考えられる。
<ステップS14>
エンドエフェクター動作確認部209は、障害物との干渉が発生する教示点の番号及びこの教示点でエンドエフェクター動作が行われないことを教示点パラメーター修正部206へ出力する。教示点パラメーター修正部206は、エンドエフェクター動作確認部209から取得された教示点の番号に関連付けられた情報であって、教示点情報2101の接近制限情報格納領域2101eに格納された情報を教示点DB210から取得する。
教示点パラメーター修正部206は、接近制限情報格納領域2101eに情報が格納されていない場合には、接近制限情報を生成して接近制限情報格納領域2101eに格納する。
教示点パラメーター修正部206が接近制限情報を生成する方法について説明する。図9は、教示点パラメーター修正部206が接近制限情報を生成する処理の流れを示すフローチャートである。
教示点パラメーター修正部206は、障害物との干渉が発生する教示点TP[i]の位置に関する情報、すなわち先端位置姿勢格納領域2101bに格納された情報であって、教示点TP[i]に関連付けられたx座標、y座標、及びz座標を、教示点DB210から取得する(ステップS141)。教示点の番号が2の場合には−TP[i]=2、すなわちi=2である。障害物との干渉が発生する教示点が教示点2である場合に、教示点パラメーター修正部206は、x座標「x2」、y座標「y2」、z座標「z2」を教示点情報2101(図3参照)から取得する。
教示点パラメーター修正部206は、障害物との干渉が発生する教示点の一つ前の教示点TP[i−1]の位置に関する情報、すなわち先端位置姿勢格納領域2101bに格納された情報であって、教示点TP[i−1]に関連付けられたx座標、y座標、及びz座標を、教示点DB210から取得する(ステップS142)。ステップS141でi=2であった場合には−TP[i−1]=1、すなわち教示点1の位置に関する情報を教示点情報2101から取得する。
教示点パラメーター修正部206は、ステップS141、S142で取得された教示点の位置情報に基づいて、教示点TP[i]から教示点TP[i−1]への方向ベクトルTP[i]−TP[i−1]を求める。また、障害物DB211から障害物情報2111を取得し、方向ベクトルTP[i]−TP[i−1]と干渉する障害物の面における法線ベクトルN_DIRを求める(ステップS143)。
ステップS143の処理について、図10を用いて説明する。i=2であるため、方向ベクトルTP[i]−TP[i−1]は、図10において、教示点2から教示点1へ向かう点線の矢印で表される。
教示点パラメーター修正部206は、障害物(ここではワーク40)の位置(Xa, Ya)、姿勢θa、代表寸法La、Waであらわされる長方形を障害物座標格納領域2111bから取得する。方向ベクトルTP[i]−TP[i−1]と交わるワーク40の面は、節点1と節点2とを結んだ線である。教示点パラメーター修正部206は、図10において、節点1と節点2とを結んだ線と直交し、ワーク40の外側へ向かう矢印を法線ベクトルN_DIRとして求める。
なお、ワーク40の面が平面でない場合(例えば、ワークが直方体でない場合)には、方向ベクトルTP[i]−TP[i−1]と交わる位置における法線ベクトルとすればよい。
図9の説明に戻る。教示点パラメーター修正部206は、教示点TP[i]における方向単位ベクトルDIR[0]〜DIR[5]を取得する(ステップS144)。方向単位ベクトルDIR[0]〜DIR[5]について、図10を用いて説明する。
DIR[0]は、x座標を固定値に制限(すなわち、x座標が教示点TP[i]のx座標と同一)し、y座標を+△y方向に増分していく方向の単位ベクトルである。
DIR[1]は、x座標を固定値に制限し、y座標-△y方向に増分していく方向の単位ベクトルである。
DIR[2]は、y座標を固定値に制限(すなわち、y座標が教示点TP[i]のy座標と同一)し、x座標を+△x方向に増分していく方向の単位ベクトルである。
DIR[3]は、y座標を固定値に制限し、x座標を-△x方向に増分していく方向の単位ベクトルである。
DIR[4]は、先端姿勢方向と同じ方向の単位ベクトルである。
DIR[5]は、先端姿勢方向と逆方向の単位ベクトルである。
なお、方向単位ベクトルは、図10に表示されたDIR[0]〜DIR[5]に限られない。方向単位ベクトルの数は6個に限らず、5個以下でもよいし、7個以上でもよい。また、方向単位ベクトルの方向もこれに限られない。
図9の説明に戻る。教示点パラメーター修正部206は、方向単位ベクトルDIR[0]〜DIR[5]のうち、法線ベクトルN_DIRと内積が最も大きい方向単位ベクトルを、接近方向制限情報として求める(ステップS145)。内積が最も大きいとは、法線ベクトルN_DIRと最も近いことを意味する。図10に示す場合においては、方向単位ベクトルDIR[1]が、法線ベクトルN_DIRと最も近いため、接近制限情報として求められる。ステップS145で求められた接近方向制限情報は、障害物の表面から遠ざかる方向となる。
これにより、接近方向制限情報が算出される。教示点パラメーター修正部206は、算出した接近方向制限情報を教示点情報2101の接近制限情報格納領域2101eに格納し、接近方向制限情報算出処理を終了する。なお、図9に示す処理は、接近制限情報を生成する処理の一例であり、特に接近制限情報の内容はこれに限られない。
<ステップS16>
図7の説明に戻る。教示点パラメーター修正部206は、取得した制限情報に基づいて、障害物との干渉が発生する教示点の位置を修正する。図11は、当該処理の詳細を示すフローチャートである。
教示点パラメーター修正部206は、障害物との干渉が発生する教示点TP[i]の位置に関する情報、すなわち先端位置姿勢格納領域2101bに格納された情報であって、教示点TP[i]に関連付けられたx座標、y座標及びz座標を、教示点DB210から取得する(ステップS161)。ここで取得される情報は、ステップS141で取得される情報と同一である。
教示点パラメーター修正部206は、接近制限情報格納領域2101eからTP[i]の接近方向制限情報を取得する(ステップS162)。
教示点パラメーター修正部206は、教示点TP[i]の位置からステップS162で取得された接近方向制限情報の方向に修正量△を加算して、教示点TP[i]の位置を修正する(ステップS163)。接近方向制限情報を用いることで、教示点の修正方向が障害物表面から遠ざかる方向に制約されている。
修正量△は、あらかじめ所定の値を設定しておいてもよいし、作業者が任意の大きさに変更できるようにしてもよい。修正量△が大きい場合には、可動部15が障害物を避けるための動作が大きくなってしまう欠点があるが、教示点を修正する処理の処理時間が短縮できるという利点がある。それに対し、修正量△が小さい場合には、可動部15が障害物を避けるための動作が小さくなるので、可動部15の動作が元々の動作に近く効率的である利点があるが、教示点を修正する処理の処理時間が長くなるという欠点がある。したがって、ロボット10の大きさやワーク40の大きさに応じて、教示点パラメーター修正部206が修正量△を変更できるようにするとよい。
教示点パラメーター修正部206は、ステップS163で修正された教示点TP[i]の位置で、可動部15と障害物とが干渉するか否かを判断する(ステップS164)。
ステップS163修正された教示点TP[i]の位置で可動部15と障害物とが干渉しない場合(ステップS164でYES)は、教示点パラメーター修正部206は、ステップS163修正された教示点TP[i]の位置を、修正された教示点の位置として教示点情報2101に格納する(ステップS165)。教示点情報2101における修正された教示点の情報は、修正前の教示点の情報と先端位置姿勢格納領域2101bのx座標、y座標及びz座標のみが異なり、その他は同一である(後に例示する)。
ステップS163修正された教示点TP[i]の位置で可動部15と障害物とが干渉する場合(ステップS164でNO)は、教示点パラメーター修正部206は、修正回数が制限されている所定回数以下であるか否かを判断する(ステップS167)。所定回数は、あらかじめ設定しておけばよい。修正回数は、修正量△の大きさとの関係で変更できるようにしてもよい。
修正回数が所定回数以下である場合(ステップS167でYES)には、教示点パラメーター修正部206は、最後に修正された教示点の位置からステップS162で取得された接近方向制限情報の方向に修正量△を加算して、教示点TP[i]の位置を修正する(ステップS168)。その後、教示点パラメーター修正部206は、ステップS168で修正された教示点TP[i]の位置で、可動部15と障害物とが干渉するか否かを判断する(ステップS164)。
修正回数が所定回数以下ではない場合(ステップS167でNO)には、教示点パラメーター修正部206は、教示点の修正ができないことを示す情報を中央制御部201へ出力し、中央制御部201は処理B(エラー処理)を行う。
<ステップS18>
図7の説明に戻る。教示点パラメーター修正部206は、教示点修正(ステップS16)が終了したことを示す情報を教示点干渉確認部205へ出力する。教示点干渉確認部205は、すべての教示点についてステップS10〜S16に示す処理が終了したか否かを判定する。
すべての教示点についてステップS10〜S16に示す処理が終了していない場合(ステップS18でNO)には、教示点干渉確認部205は、また処理が終了していない教示点についてステップS10の処理を行う。
すべての教示点についてステップS10〜S16に示す処理が終了した場合(ステップS18でYES)には、教示点干渉確認部205は、教示点の修正終了したことを示す情報を中央制御部201へ出力し、中央制御部201は処理Aを行う。処理Aは教示点追加処理(後に詳述)である。
教示点修正処理について、図12を用いて説明する。図12は、図8及び図10と同じ位置関係の図である。図12では、教示点2がワーク40と干渉し、接近方向制限情報は方向単位ベクトルDIR[1]である。したがって、教示点パラメーター修正部206は、教示点2の位置からの方向単位ベクトルDIR[1]の方向に修正量△だけ移動させた位置を修正された教示点2’とする。教示点2’ではワーク40との干渉が発生するため、教示点パラメーター修正部206は、教示点2’の位置から方向単位ベクトルDIR[1]の方向に修正量△だけ移動させた位置を修正された教示点2’’とする。教示点2’’ではワーク40との干渉は発生しないため、教示点パラメーター修正部206は、教示点2’’の位置を教示点情報2101に格納する。
教示点情報2101に格納される教示点2’’の情報について説明する。教示点番号格納領域2101aには、教示点2を2回修正した結果であることを示す2’’が格納される。教示点2’’の位置が(x2’’, y2’’, z2’’)とすると、先端位置姿勢格納領域2101bのx座標にはx2’’、y座標にはy2’’、z座標にはz2’’が格納される。先端位置姿勢格納領域2101bのロール角、ピッチ角及びヨー角は、教示点2の情報と同じR2, P2及びY2がそれぞれ格納される。パラメーター格納領域2101c、フラグ格納領域2101d、接近制限情報格納領域2101e、及び離脱制限情報格納領域2101fに格納される情報は、教示点2の情報と同じ情報が格納される。
これにより、教示点修正処理を終了する。障害物に干渉する教示点であって、エンドエフェクター動作処理を伴わない教示点に関しては、教示点の位置を変更することで、ロボット10の動作が実現可能となる。また、教示点の修正候補を一方向に限定することにより、処理時間を短縮することができる。さらに、教示点の修正候補を一方向に限定することにより、アーム部11の位置姿勢の変更量を小さくすることができる。
<処理A>
次に、教示点追加処理(処理A)について説明する。図13は、ロボットシステム1の教示点追加処理の流れを示すフローチャートである。
<ステップS20>
教示点干渉確認部205は、ステップS10と同様に、教示点情報2101から教示点TP[i]及び次の教示点TP[i+1]の位置情報(x座標、y座標、z座標)を取得する。教示点修正処理により教示点が修正された場合には、修正された教示点の位置情報を取得する。
<ステップS22>
教示点干渉確認部205は、ステップS10と同様に、障害物DB211から障害物情報2111を取得する。そして、教示点干渉確認部205は、教示点情報2101に格納されたある教示点TP[i]と次の教示点TP[i+1]との間で、障害物DB211に格納された障害物とロボット10とが干渉するか否かを判定する。当該処理について、図14を用いて具体的に説明する。図14の教示点の位置及び障害物の位置は、図12と同じである。
教示点干渉確認部205は、ステップS10と同様に、障害物情報2111に基づいて、障害物の存在する領域(図14ハッチング部)を認識する。
教示点干渉確認部205は、先端位置姿勢格納領域2101bから取得した教示点の座標を結んだ線が、障害物の存在する領域と重なるか否かを判定する。図14においては、教示点2と教示点3とを結んだ線が障害物の存在する領域と重なる。したがって、教示点干渉確認部205は、i=2の場合に教示点TP[i]と教示点TP[i+1]との間で障害物と干渉すると判定する。
教示点TP[i]と教示点TP[i+1]との間で障害物と干渉しない場合(ステップS22でNO)には、ステップS40へ進む。
教示点TP[i]と教示点TP[i+1]との間で障害物と干渉する場合(ステップS22でYES)には、ステップS24へ進む。
<ステップS24>
教示点干渉確認部205は、教示点TP[i]及び教示点TP[i+1]の番号(すなわち、i)及び位置情報を教示点パラメーター修正部206に出力する。教示点パラメーター修正部206は、教示点TP[i]の離脱制限情報を離脱制限情報格納領域2101fから取得する。教示点パラメーター修正部206は、離脱制限情報格納領域2101fに情報が格納されていない場合には、離脱制限情報を生成して離脱制限情報格納領域2101fに格納する。
教示点パラメーター修正部206が離脱制限情報を生成する方法について説明する。図15は、教示点パラメーター修正部206が離脱制限情報を生成する処理の流れを示すフローチャートである。
教示点パラメーター修正部206は、障害物との干渉が発生する教示点TP[i]の位置に関する情報、すなわち先端位置姿勢格納領域2101bに格納された情報であって、教示点TP[i]に関連付けられたx座標、y座標、及びz座標を、教示点DB210から取得する(ステップS261)。当該処理は、ステップS141と同一である。
教示点パラメーター修正部206は、障害物との干渉が発生する教示点の一つ後の教示点TP[i+1]の位置に関する情報、すなわち先端位置姿勢格納領域2101bに格納された情報であって、教示点TP[i+1]に関連付けられたx座標、y座標、及びz座標を、教示点DB210から取得する(ステップS262)。ステップS141でi=2であった場合には−TP[i+1]=3、すなわち教示点3の位置に関する情報を教示点情報2101から取得する。当該処理は、対象となる教示点のみがステップS142と異なり、処理内容についてはステップS142と同一である。
教示点パラメーター修正部206は、ステップS261、S262で取得された教示点の位置情報に基づいて、教示点TP[i]から教示点TP[i+1]への方向ベクトルTP[i+1]−TP[i]を求める。また、障害物DB211から障害物情報2111を取得し、障害物の方向ベクトルTP[i+1]−TP[i]と干渉する面における法線ベクトルN_DIRを求める(ステップS263)。当該処理は、対象となる教示点のみがステップS143と異なり、処理内容についてはステップS143と同一である。
教示点パラメーター修正部206は、教示点TP[i]における方向単位ベクトルDIR[0]〜DIR[5]を取得する(ステップS264)。当該処理は、ステップS144と同一である。
教示点パラメーター修正部206は、方向単位ベクトルDIR[0]〜DIR[5]のうち、法線ベクトルN_DIRと内積が最も大きい方向単位ベクトルを、離脱方向制限情報として求める(ステップS265)。当該処理は、ステップS145と同一である。
これにより、離脱方向制限情報が算出される。教示点パラメーター修正部206は、算出した離脱方向制限情報を教示点情報2101の離脱制限情報格納領域2101fに格納し、離脱方向制限情報算出処理を終了する。なお、図15に示す処理は、離脱制限情報を生成する処理の一例であり、特に離脱制限情報の内容はこれに限られない。
<ステップS26>
図13の説明に戻る。教示点パラメーター修正部206は、教示点TP[i+1]の接近制限情報を接近制限情報格納領域2101eから取得する。教示点パラメーター修正部206は、接近制限情報格納領域2101eに情報が格納されていない場合には、接近制限情報を生成して接近制限情報格納領域2101eに格納する。当該処理は、対象となる教示点のみがステップS14と異なり、処理内容についてはステップS14と同一である。
<ステップS28>
教示点パラメーター修正部206は、教示点TP[i]の離脱制限情報に基づいて新たな教示点TP[i]_1を追加する。教示点TP[i]_1は、教示点TP[i]の後ろ(教示点TP[i]と教示点TP[i+1]との間)に追加される。
図16に示すように、教示点2’’の離脱方向制限情報が方向単位ベクトルDIR[1]であるとすると、教示点パラメーター修正部206は、教示点2’’の位置から方向単位ベクトルDIR[1]の方向に修正量△だけ移動させた位置に、教示点2’’_1(教示点TP[i]_1)を追加する。
また、教示点パラメーター修正部206は、教示点TP[i]_1の情報を教示点情報2101に格納する。教示点パラメーター修正部206は、教示点TP[i]_1の位置の情報を教示点干渉確認部205に出力する。
教示点情報2101に格納される教示点TP[i]_1の情報について説明する。教示点番号格納領域2101aには、教示点を追加したことを示す教示点[i]_1が格納される。先端位置姿勢格納領域2101bのx座標、y座標’’、及びz座標には、教示点TP[i]の位置から離脱制限情報の示す方向に修正量△だけ移動させた座標が格納される。先端位置姿勢格納領域2101bのロール角、ピッチ角及びヨー角は−TP[i]の情報と同じ情報がそれぞれ格納される。パラメーター格納領域2101c、フラグ格納領域2101d、接近制限情報格納領域2101e、及び離脱制限情報格納領域2101fに格納される情報は−TP[i]の情報と同じ情報が格納される。
<ステップS30>
教示点パラメーター修正部206は、教示点TP[i+1]の接近制限情報に基づいて新たな教示点TP[i+1]_1を追加する。教示点TP[i+1]_1は、教示点TP[i+1]の前(教示点TP[i]_1と教示点TP[i+1]との間)に追加される。教示点パラメーター修正部206は、教示点TP[i+1]_1の位置の情報を教示点干渉確認部205に出力する。
図16に示すように、教示点3の離脱方向制限情報が方向単位ベクトルDIR[3]であるとすると、教示点パラメーター修正部206は、教示点3の位置から方向単位ベクトルDIR[3]の方向に修正量△だけ移動させた位置に、教示点3_1(教示点TP[i+1]_1)を追加する。
また、教示点パラメーター修正部206は、ステップS28と同様の方法により、教示点TP[i+1]_1の情報を教示点情報2101に格納する。
<ステップS32>
教示点干渉確認部205は、教示点TP[i]_1及び教示点TP[i+1]_1の位置の情報を取得する。教示点干渉確認部205は、ステップS22と同様の方法により、教示点TP[i]_1と次の教示点TP[i+1]_1との間(教示点TP[i]_1と次の教示点TP[i+1]_1とを結んだ直線)で、障害物とロボット10とが干渉するか否かを判定する。
教示点TP[i]_1と次の教示点TP[i+1]_1との間で、障害物とロボット10とが干渉しない場合(ステップS32でNO)には、ステップS40へ進む。
教示点TP[i]_1と次の教示点TP[i+1]_1との間で障害物とロボット10とが干渉する場合(ステップS32でYES)には、ステップS34へ進む。
<ステップS34>
教示点干渉確認部205は、教示点TP[i]_1及び教示点TP[i+1]_1を修正すべきであることを教示点パラメーター修正部206に出力する。教示点パラメーター修正部206は、修正回数が制限されている所定回数以下であるか否かを判断する(ステップS34)。当該処理は、ステップS167と同一である。
修正回数が所定回数以下ではない場合(ステップS167でNO)には、教示点パラメーター修正部206は、教示点の修正ができないことを示す情報を中央制御部201へ出力し、中央制御部201は処理B(エラー処理)を行う。
修正回数が所定回数以下である場合(ステップS167でYES)には、ステップS36へ進む。
<ステップS36>
教示点パラメーター修正部206は、ステップS28と同様の方法により、教示点TP[i]_1の位置から離脱方向制限情報の方向に修正量△を加算して、教示点TP[i]_1の位置を修正する。教示点パラメーター修正部206は、教示点情報2101に格納された教示点TP[i]_1の位置情報を、ステップS36で求められた位置に書き換える。
<ステップS38>
教示点パラメーター修正部206は、ステップS30と同様の方法により、教示点TP[i+1]_1の位置から接近方向制限情報の方向に修正量△を加算して、教示点TP[i+1]_1の位置を修正する。教示点パラメーター修正部206は、教示点情報2101に格納された教示点TP[i+1]_1の位置情報を、ステップS36で求められた位置に書き換える。
ステップS38が終了したら、教示点パラメーター修正部206は、教示点TP[i]_1及び教示点TP[i+1]_1の位置の情報を教示点干渉確認部205に出力する。その後、教示点干渉確認部205はステップS32に戻る。
<ステップS40>
教示点干渉確認部205は、すべての教示点(すべてのi)についてステップS20〜S38の処理が行われたか否かを判断する。
すべての教示点についてステップS20〜S38の処理が行われていない場合(ステップS40でNO)には、教示点干渉確認部205は、ステップS20の処理に戻る。
すべての教示点についてステップS20〜S38の処理が行われた場合(ステップS40でYES)には、この教示点で作業が実行できることを示す情報を中央制御部201へ出力し、中央制御部201は処理を終了する。
これにより、教示点追加処理を終了する。教示点を追加するときに、新たな教示点の位置を接近制限情報及び離脱制限情報を用いて制限することにより、新たな教示点の位置を障害物表面から遠ざかる方向に制限することができる。また、教示点の追加候補位置を一方向に限定することにより、確実かつ効率のよい教示点追加処理を行うことができる。
なお、教示点追加処理は、特に、教示点TP[i]の後に教示点TP[i]_1を追加し、かつ教示点TP[i+1]の前に教示点TP[i+1]_1を追加する点に特徴の一つである。教示点TP[i]と教示点TP[i]_1との間に1つだけ教示点を追加する場合には、追加する教示点の位置の候補が無限となり、追加する教示点の位置を簡単に決めることはできない。それに対し、追加する教示点を、教示点TP[i]に対応した教示点と、教示点TP[i+1]に対応した教示点の2個の教示点とすることで、確実にかつ短時間に追加する教示点を決定することができる。
本実施の形態によれば、ロボットと障害物とがぶつかってしまう場合に、自動的に教示点の修正又は追加をすることができる。これにより、ユーザが何ら作業を行うことなく、所望の作業を実現するための教示点群を自動的に生成することができる。
例えば、図8に示すように、当初は教示点1、2、3であったのが、障害物をよけるために、自動的に教示点2が教示点2’’に変更され、さらに自動的に教示点2’’_1’、3_1が追加された。その結果、可動部15は、教示点1、2’’_1、2’’、3_1、3の順で、障害物にぶつかることなく移動することができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
1:ロボットシステム、10:ロボット、11:アーム部、12:ジョイント、13:リンク、14:ハンド、15:可動部、20:制御部、30:撮影部、40:ワーク、51:CPU、52:RAM、53:ROM、54:HDD、55:I/F回路、56:通信装置、57:バス、101:中央制御部、102:動作制御部、201:中央制御部、202:記憶部、203:障害物情報生成部、204:出力部、205:教示点干渉確認部、206:教示点パラメーター修正部、207:新規教示点追加部、208:新規教示点パラメーター算出部、209:エンドエフェクター動作確認部、210:教示点DB、211:障害物DB、2101:教示点情報、2101a:教示点番号格納領域、2101b:先端位置姿勢格納領域、2101c:パラメーター格納領域、2101d:フラグ格納領域、2101e:接近制限情報格納領域、2101f:離脱制限情報格納領域、2102:干渉情報、2102a:教示点番号格納領域、2102b:インデックス格納領域、2102c:不可能フラグ格納領域、2111:障害物情報、2111a:障害物番号格納領域、2111b:障害物座標格納領域
ここで、前記所定の教示点において、前記エンドエフェクターが動作を行うか否かを判定する第2の判定部を備え、前記変更部は、前記所定の教示点において前記エンドエフェクターが動作を行わない場合には、前記所定の教示点の位置を変更してもよい。これにより、エンドエフェクターが動作を行わない場合にのみ教示点の修正を行うことができる
第二の態様の変形例は、ロボット制御装置であって、複数のリンク及びジョイントを有するアーム先端に設けられたエンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させる動作制御部と、前記複数の教示点を構成する各教示点の情報であって、前記教示点の位置情報と、前記エンドエフェクターを前記教示点へ接近させる際の制限情報である接近制限情報と、前記エンドエフェクターを前記教示点から離脱させる際の制限情報である離脱制限情報と、障害物の位置情報を取得する取得部と、前記複数の教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの第1の教示点と前記第1の教示点の次に前記エンドエフェクターが通過する第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定する判定部と、前記第1の教示点と前記第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記接近制限情報及び前記離脱制限情報に基づいて前記第1の教示点と前記第2の教示点との間に前記教示点を追加する追加部と、を備えることを特徴とする。
障害物座標格納領域2111bには、ロボット座標系における障害物の位置を示すx座標、y座標、z座標及び障害物の姿勢を表すロール角、ピッチ角、ヨー角が格納される。本実施の形態では、障害物を取り囲む直方体を仮定しているため、1つの障害物に対して幅、高さ、奥行きの代表寸法が格納される。なお、障害物が球形の場合には、中心を示す1組のx座標、y座標、z座標を障害物座標格納領域211bに格納し、半径の値を障害物寸法格納領域2111cに格納してもよい。障害物座標格納領域2111bのx座標、y座標及びz座標は、先端位置姿勢格納領域2101bに格納された座標系、すなわち制御部20が認識しているロボット10の座標と同一である。
図9の説明に戻る。教示点パラメーター修正部206は、方向単位ベクトルDIR[0]〜DIR[5]のうち、法線ベクトルN_DIRと内積が最も大きい方向単位ベクトルを、接近方向制限情報として求める(ステップS145)。内積が最も大きいとは、法線ベクトルN_DIRと最も近いことを意味する。図10に示す場合においては、方向単位ベクトルDIR[1]が、法線ベクトルN_DIRと最も近いため、接近方向制限情報として求められる。ステップS145で求められた接近方向制限情報は、障害物の表面から遠ざかる方向となる。
教示点パラメーター修正部206は、障害物との干渉が発生する教示点の一つ後の教示点TP[i+1]の位置に関する情報、すなわち先端位置姿勢格納領域2101bに格納された情報であって、教示点TP[i+1]に関連付けられたx座標、y座標、及びz座標を、教示点DB210から取得する(ステップS262)。ステップS261でi=2であった場合には−TP[i+1]=3、すなわち教示点3の位置に関する情報を教示点情報2101から取得する。当該処理は、対象となる教示点のみがステップS142と異なり、処理内容についてはステップS142と同一である。
修正回数が所定回数以下ではない場合(ステップS34でNO)には、教示点パラメーター修正部206は、教示点の修正ができないことを示す情報を中央制御部201へ出力し、中央制御部201は処理B(エラー処理)を行う。
修正回数が所定回数以下である場合(ステップS34でYES)には、ステップS36へ進む。

Claims (14)

  1. 複数のリンク及びジョイントを有するアームと、
    前記アームの先端に設けられたエンドエフェクターと、
    前記エンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させる動作制御部と、
    前記複数の教示点を構成する各教示点の情報であって、前記教示点の位置情報と、前記エンドエフェクターを前記教示点へ接近させる際の制限情報とを記憶する記憶部と、
    障害物の位置情報を取得する取得部と、
    前記教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの所定の教示点において、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定する第1の判定部と、
    前記所定の教示点において前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記制限情報に基づいて前記所定の教示点の位置を変更する変更部と、
    を備えることを特徴とするロボットシステム。
  2. 請求項1に記載のロボットシステムにおいて、
    前記所定の教示点において、前記エンドエフェクターが動作を行うか否かを判定する第2の判定部を備え、
    前記変更部は、前記所定の教示点において前記エンドエフェクターが動作を行わない場合には、前記所定の教示点の位置を変更する
    ことを特徴とするロボットシステム。
  3. 請求項1又は2に記載のロボットシステムにおいて、
    前記制限情報は、前記各教示点へ前記エンドエフェクターを接近させる方向を限定する情報であり、
    前記変更部は、前記所定の教示点を前記制限情報の示す方向に所定量だけ移動させることにより、前記所定の教示点の位置を変更する
    ことを特徴とするロボットシステム。
  4. 請求項1から3のいずれか一項に記載のロボットシステムにおいて、
    前記所定の教示点の位置と、前記所定の教示点の前に前記エンドエフェクターが通過する教示点の位置と、前記障害物の形状とに基づいて、前記制限情報を生成する制限情報生成部を備え、
    前記記憶部は、前記生成された制限情報を記憶する
    ことを特徴とするロボットシステム。
  5. 複数のリンク及びジョイントを有するアームの先端に設けられたエンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させる動作制御部と、
    前記複数の教示点を構成する各教示点の情報であって、前記教示点の位置情報と、前記エンドエフェクターを前記教示点へ接近させる際の制限情報と、障害物の位置情報とを取得する取得部と、
    前記教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの所定の教示点において、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定する第1の判定部と、
    前記所定の教示点において前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記制限情報に基づいて前記所定の教示点の位置を変更する変更部と、
    を備えることを特徴とするロボット制御装置。
  6. 複数のリンク及びジョイントを有するアームの先端に設けられたエンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させるステップと、
    前記複数の教示点の位置情報と、障害物の位置情報を取得するステップと、
    前記複数の教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの所定の教示点において、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定するステップと、
    前記所定の教示点において前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記所定の教示点に対する制限情報であって、前記エンドエフェクターを接近させる際の制限情報を取得し、当該取得した制限情報に基づいて前記所定の教示点の位置を変更するステップと、
    を備えることを特徴とするロボット制御方法。
  7. 複数のリンク及びジョイントを有するアームの先端に設けられたエンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させるステップと、
    前記複数の教示点の位置情報と、障害物の位置情報を取得するステップと、
    前記複数の教示点の位置情報と前記障害物の位置情報と基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの所定の教示点において、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定するステップと、
    前記所定の教示点において前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記所定の教示点に対する制限情報であって、前記エンドエフェクターを接近させる際の制限情報を取得し、当該取得した制限情報に基づいて前記所定の教示点の位置を変更するステップと、
    を演算装置に実行させることを特徴とするロボット制御プログラム。
  8. 複数のリンク及びジョイントを有するアームと、
    前記アームの先端に設けられたエンドエフェクターと、
    前記エンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させる動作制御部と、
    前記複数の教示点を構成する各教示点の情報であって、前記教示点の位置情報と、前記エンドエフェクターを前記教示点へ接近させる際の制限情報である接近制限情報と、前記エンドエフェクターを前記教示点から離脱させる際の制限情報である離脱制限情報を記憶する記憶部と、
    障害物の位置情報を取得する取得部と、
    前記複数の教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの第1の教示点と前記第1の教示点の次に前記エンドエフェクターが通過する第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定する判定部と、
    前記第1の教示点と前記第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記接近制限情報及び前記離脱制限情報に基づいて前記第1の教示点と前記第2の教示点との間に前記教示点を追加する追加部と、
    を備えることを特徴とするロボットシステム。
  9. 請求項8に記載のロボットシステムにおいて、
    前記追加部は、
    前記第1の教示点についての前記離脱制限情報に基づいて、前記第1の教示点と前記第2の教示点との間に第3の教示点を追加し、かつ前記第2の教示点についての前記接近制限情報に基づいて、前記第3の教示点と前記第2の教示点との間に第4の教示点を追加する
    ことを特徴とするロボットシステム。
  10. 請求項9に記載のロボットシステムにおいて、
    前記接近制限情報は、前記各教示点へ前記エンドエフェクターを接近させる方向を限定する情報であり、
    前記離脱制限情報は、前記各教示点から前記エンドエフェクターを離脱させる方向を限定する情報であり、
    前記追加部は、前記第1の教示点を前記離脱制限情報の示す方向に所定量だけ移動させた位置を前記第3の教示点の位置とし、前記第2の教示点を前記接近制限情報の示す方向に所定量だけ移動させた位置に前記第4の教示点を追加する
    ことを特徴とするロボットシステム。
  11. 請求項8から10のいずれか一項に記載のロボットシステムにおいて、
    前記第1の教示点及び前記第2の教示点の位置と、前記障害物の形状とに基づいて、前記接近制限情報及び前記離脱制限情報を生成する制限情報生成部を備え、
    前記記憶部は、前記生成された接近制限情報及び前記生成された離脱制限情報を記憶する
    ことを特徴とするロボットシステム。
  12. 複数のリンク及びジョイントを有するアーム先端に設けられたエンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させる動作制御部と、
    前記複数の教示点を構成する各教示点の情報であって、前記教示点の位置情報と、前記エンドエフェクターを前記教示点へ接近させる際の制限情報である接近制限情報と、前記エンドエフェクターを前記教示点から離脱させる際の制限情報である離脱制限情報と、障害物の位置情報を取得する取得部と、
    前記複数の教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの第1の教示点と前記第1の教示点の次に前記エンドエフェクターが通過する第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定する第2の判定部と、
    前記第1の教示点と前記第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記接近制限情報及び前記離脱制限情報に基づいて前記第1の教示点と前記第2の教示点との間に前記教示点を追加する追加部と、
    を備えることを特徴とするロボット制御装置。
  13. 複数のリンク及びジョイントを有するアーム先端に設けられたエンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させるステップと、
    前記複数の教示点の位置情報と、障害物の位置情報とを取得するステップと、
    前記複数の教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの第1の教示点と前記第1の教示点の次に前記エンドエフェクターが通過する第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定するステップと、
    前記第1の教示点と前記第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記エンドエフェクターを前記教示点へ接近させる際の制限情報である接近制限情報であって、前記第2の教示点についての接近制限情報を取得し、かつ前記エンドエフェクターを前記教示点から離脱させる際の制限情報である離脱制限情報であって、前記第1の教示点についての離脱制限情報を取得するステップと、
    前記第1の教示点についての離脱制限情報に基づいて前記第1の教示点と前記第2の教示点との間に第3の教示点を追加するステップと、
    前記第2の教示点についての接近制限情報に基づいて前記第3の教示点と前記第2の教示点との間に第4の教示点を追加するステップと、
    を備えることを特徴とするロボット制御方法。
  14. 複数のリンク及びジョイントを有するアーム先端に設けられたエンドエフェクターが複数の教示点に沿って移動するように前記アームを移動させるステップと、
    前記複数の教示点の位置情報と、障害物の位置情報とを取得するステップと、
    前記複数の教示点の位置情報と前記障害物の位置情報とに基づいて、前記エンドエフェクターを前記複数の教示点に沿って移動させたときに、前記複数の教示点のうちの第1の教示点と前記第1の教示点の次に前記エンドエフェクターが通過する第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉するか否かを判定するステップと、
    前記第1の教示点と前記第2の教示点との間で、前記アーム又は前記エンドエフェクターと前記障害物とが干渉すると判定された場合に、前記エンドエフェクターを前記教示点へ接近させる際の制限情報である接近制限情報であって、前記第2の教示点についての接近制限情報を取得し、かつ前記エンドエフェクターを前記教示点から離脱させる際の制限情報である離脱制限情報であって、前記第1の教示点についての離脱制限情報を取得するステップと、
    前記第1の教示点についての離脱制限情報に基づいて前記第1の教示点と前記第2の教示点との間に第3の教示点を追加するステップと、
    前記第2の教示点についての接近制限情報に基づいて前記第3の教示点と前記第2の教示点との間に第4の教示点を追加するステップと、
    を演算装置に実行させることを特徴とするロボット制御プログラム。
JP2012166728A 2012-07-27 2012-07-27 ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム Withdrawn JP2014024162A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012166728A JP2014024162A (ja) 2012-07-27 2012-07-27 ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム
US13/938,357 US20140031982A1 (en) 2012-07-27 2013-07-10 Robotic system and robot control device
CN201310308387.2A CN103568008A (zh) 2012-07-27 2013-07-22 机器人系统以及机器人控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012166728A JP2014024162A (ja) 2012-07-27 2012-07-27 ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム

Publications (2)

Publication Number Publication Date
JP2014024162A true JP2014024162A (ja) 2014-02-06
JP2014024162A5 JP2014024162A5 (ja) 2015-08-20

Family

ID=49995618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012166728A Withdrawn JP2014024162A (ja) 2012-07-27 2012-07-27 ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム

Country Status (3)

Country Link
US (1) US20140031982A1 (ja)
JP (1) JP2014024162A (ja)
CN (1) CN103568008A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104760043A (zh) * 2015-02-13 2015-07-08 上海源致信息技术有限公司 一种基于智能避障系统的双臂机器人控制器
JP2016002627A (ja) * 2014-06-18 2016-01-12 株式会社Ihi 加工軌道生成装置と方法
JP2016036895A (ja) * 2014-08-11 2016-03-22 ファナック株式会社 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置
WO2017046835A1 (ja) * 2015-09-14 2017-03-23 株式会社日立製作所 組立動作教示装置及び組立動作教示方法
US10040192B2 (en) 2014-12-11 2018-08-07 Samsung Electronics Co., Ltd. Substrate transfer unit, substrate treating apparatus including the same, and substrate treating method
JP2019150895A (ja) * 2018-02-28 2019-09-12 株式会社東芝 マニピュレータシステム、制御装置、制御方法、およびプログラム
JP2020062740A (ja) * 2019-02-18 2020-04-23 株式会社Mujin 制御装置、作業ロボット、プログラム、及び、制御方法
JP2020062741A (ja) * 2019-06-03 2020-04-23 株式会社Mujin 制御装置、作業ロボット、プログラム、及び、制御方法
US11045948B2 (en) 2018-10-15 2021-06-29 Mujin, Inc. Control apparatus, work robot, non-transitory computer-readable medium, and control method

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150277398A1 (en) * 2014-03-26 2015-10-01 Siemens Industry Software Ltd. Object manipulation driven robot offline programming for multiple robot system
CN105313127A (zh) * 2014-06-02 2016-02-10 精工爱普生株式会社 机器人、机器人的控制方法以及机器人的控制装置
CN104546031B (zh) * 2014-12-17 2016-12-07 苏州康多机器人有限公司 一种用于微创手术的多自由度手术器械
CN104647379A (zh) * 2015-01-19 2015-05-27 广东工业大学 一种驱动器非线性条件下的双臂机器人运动控制方法
JP6500852B2 (ja) * 2016-07-11 2019-04-17 株式会社安川電機 ロボットシステム、ロボットの制御方法、ロボットコントローラ
DE102016010945B3 (de) * 2016-09-09 2017-10-26 Dürr Systems Ag Optimierungsverfahren für einen Beschichtungsroboter und entsprechende Beschichtungsanlage
CN108733045B (zh) * 2017-09-29 2022-01-04 北京猎户星空科技有限公司 机器人及其避障方法以及计算机可读存储介质
JP6823015B2 (ja) * 2018-07-17 2021-01-27 ファナック株式会社 ロボットシステム
CN110174069B (zh) 2019-05-30 2024-02-27 南方科技大学 适用于非结构化环境的机器人网络结构及传感系统
CN110640723B (zh) * 2019-09-25 2021-03-30 中科新松有限公司 基于机器人末端指点示教的障碍物标定方法
JP6792184B1 (ja) * 2019-11-27 2020-11-25 株式会社安川電機 シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02257312A (ja) * 1989-03-30 1990-10-18 Toyota Motor Corp ロボットの教示用データ作成方法
JP2001328092A (ja) * 2000-05-22 2001-11-27 Mitsubishi Heavy Ind Ltd ロボットの干渉回避装置及び方法
US20050224479A1 (en) * 2004-04-07 2005-10-13 Fanuc Ltd Offline programming device
JP2008105132A (ja) * 2006-10-25 2008-05-08 Toyota Motor Corp アームの関節空間における経路を生成する方法と装置
JP2008254172A (ja) * 2008-06-03 2008-10-23 Fanuc Ltd ロボットプログラム作成装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4831549A (en) * 1987-07-28 1989-05-16 Brigham Young University Device and method for correction of robot inaccuracy
JPH03196981A (ja) * 1989-12-25 1991-08-28 Fanuc Ltd ロボットの付加軸追従制御方式
US5495410A (en) * 1994-08-12 1996-02-27 Minnesota Mining And Manufacturing Company Lead-through robot programming system
US5980082A (en) * 1995-07-05 1999-11-09 Fanuc Limited Robot movement control device and movement control method
JP3715537B2 (ja) * 2001-02-19 2005-11-09 本田技研工業株式会社 多関節ロボットの干渉回避方法およびプログラム
JP3782679B2 (ja) * 2001-05-09 2006-06-07 ファナック株式会社 干渉回避装置
JP4578742B2 (ja) * 2001-09-27 2010-11-10 株式会社森精機製作所 干渉防止装置
JP2006048244A (ja) * 2004-08-02 2006-02-16 Fanuc Ltd 加工プログラム作成装置
JP4961860B2 (ja) * 2006-06-27 2012-06-27 トヨタ自動車株式会社 ロボット装置及びロボット装置の制御方法
US7668621B2 (en) * 2006-07-05 2010-02-23 The United States Of America As Represented By The United States Department Of Energy Robotic guarded motion system and method
JP4772639B2 (ja) * 2006-10-10 2011-09-14 株式会社森精機製作所 工作機械の制御装置
KR101255948B1 (ko) * 2009-02-12 2013-04-23 고쿠리츠 다이가쿠 호진 교토 다이가쿠 산업용 로봇 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02257312A (ja) * 1989-03-30 1990-10-18 Toyota Motor Corp ロボットの教示用データ作成方法
JP2001328092A (ja) * 2000-05-22 2001-11-27 Mitsubishi Heavy Ind Ltd ロボットの干渉回避装置及び方法
US20050224479A1 (en) * 2004-04-07 2005-10-13 Fanuc Ltd Offline programming device
JP2005297097A (ja) * 2004-04-07 2005-10-27 Fanuc Ltd オフラインプログラミング装置
JP2008105132A (ja) * 2006-10-25 2008-05-08 Toyota Motor Corp アームの関節空間における経路を生成する方法と装置
JP2008254172A (ja) * 2008-06-03 2008-10-23 Fanuc Ltd ロボットプログラム作成装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016002627A (ja) * 2014-06-18 2016-01-12 株式会社Ihi 加工軌道生成装置と方法
JP2016036895A (ja) * 2014-08-11 2016-03-22 ファナック株式会社 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置
US9610688B2 (en) 2014-08-11 2017-04-04 Fanuc Corporation Robot program generation apparatus generating robot program for reducing jerks of joints of robot
US10040192B2 (en) 2014-12-11 2018-08-07 Samsung Electronics Co., Ltd. Substrate transfer unit, substrate treating apparatus including the same, and substrate treating method
CN104760043A (zh) * 2015-02-13 2015-07-08 上海源致信息技术有限公司 一种基于智能避障系统的双臂机器人控制器
WO2017046835A1 (ja) * 2015-09-14 2017-03-23 株式会社日立製作所 組立動作教示装置及び組立動作教示方法
JP2019150895A (ja) * 2018-02-28 2019-09-12 株式会社東芝 マニピュレータシステム、制御装置、制御方法、およびプログラム
US11312011B2 (en) 2018-02-28 2022-04-26 Kabushiki Kaisha Toshiba Manipulator system, control device, control method, and computer program product
US11045948B2 (en) 2018-10-15 2021-06-29 Mujin, Inc. Control apparatus, work robot, non-transitory computer-readable medium, and control method
US11839977B2 (en) 2018-10-15 2023-12-12 Mujin, Inc. Control apparatus, work robot, non-transitory computer-readable medium, and control method
JP2020062740A (ja) * 2019-02-18 2020-04-23 株式会社Mujin 制御装置、作業ロボット、プログラム、及び、制御方法
JP2020062741A (ja) * 2019-06-03 2020-04-23 株式会社Mujin 制御装置、作業ロボット、プログラム、及び、制御方法

Also Published As

Publication number Publication date
US20140031982A1 (en) 2014-01-30
CN103568008A (zh) 2014-02-12

Similar Documents

Publication Publication Date Title
JP2014024162A (ja) ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム
US20200338730A1 (en) Trajectory planning device, trajectory planning method and program
US10525594B2 (en) Teaching system, robot system, and teaching method
JP2021178401A (ja) 連続体ロボット及びその制御方法、並びに、プログラム
JP6706489B2 (ja) ロボットのダイレクト教示方法
JP5346217B2 (ja) 多軸ロボット及びその速度制御装置
JPWO2017064851A1 (ja) ロボット教示方法及びロボットアーム制御装置
US20130310973A1 (en) Method of controlling seven-axis articulated robot, control program, and robot control device
KR20130066689A (ko) 7축 다관절 로봇의 제어 장치 및 교시 방법
US11833687B2 (en) Robot apparatus, control method for the robot apparatus, assembly method using the robot apparatus, and recording medium
JP6904759B2 (ja) ロボットの移動速度制御装置及び方法
JP6925794B2 (ja) コントローラ、作業制御装置、多軸動作制御装置、及び駆動制御装置
JP2018176333A (ja) 接触センサによるワーク位置検出プログラム生成機能を備えたオフラインプログラミング装置及び方法
US20220009101A1 (en) Control device, control method, and non-transitory recording medium
JPS6358505A (ja) ロボツト制御装置
US10052757B2 (en) Robot control device and robot control method
US20180178383A1 (en) Moving Along A Predetermined Path With A Robot
US11826912B2 (en) Method and control means for controlling a robot assembly
JP2009056593A (ja) 把持制御装置
JP2019093487A (ja) ロボットの制御装置及びロボットの逆変換処理方法
JP2023069253A (ja) ロボット教示システム
CN111699079B (zh) 协调系统、操作设备和方法
JP7173798B2 (ja) 動作プログラムの変数を監視するロボットの制御装置
US20210260760A1 (en) Method and system for transferring an end effector of a robot between one end effector pose and a further end effector pose
KR102474838B1 (ko) 로봇의 교시 장치, 방법 및 시스템

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150706

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160426

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20160523