JP2018144141A - 制御システム、コントローラ、制御方法、および制御プログラム - Google Patents

制御システム、コントローラ、制御方法、および制御プログラム Download PDF

Info

Publication number
JP2018144141A
JP2018144141A JP2017040259A JP2017040259A JP2018144141A JP 2018144141 A JP2018144141 A JP 2018144141A JP 2017040259 A JP2017040259 A JP 2017040259A JP 2017040259 A JP2017040259 A JP 2017040259A JP 2018144141 A JP2018144141 A JP 2018144141A
Authority
JP
Japan
Prior art keywords
arm
control
work tool
rotation
robot
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
JP2017040259A
Other languages
English (en)
Other versions
JP6859756B2 (ja
Inventor
大介 松永
Daisuke Matsunaga
大介 松永
ジョバノビッチ イゴール
Jovanovic Igor
ジョバノビッチ イゴール
エスクデロ ディエゴ
Escudero-Rodrigo Diego
エスクデロ ディエゴ
カルラス フェラン
Carlas Ferran
カルラス フェラン
ヴィト ラファエル
Vito Raffaele
ヴィト ラファエル
パヤレス サンドラ
Pallares Sandra
パヤレス サンドラ
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2017040259A priority Critical patent/JP6859756B2/ja
Priority to CN201711370632.7A priority patent/CN108527375B/zh
Priority to EP17208214.1A priority patent/EP3369533B1/en
Priority to US15/846,206 priority patent/US10625418B2/en
Publication of JP2018144141A publication Critical patent/JP2018144141A/ja
Application granted granted Critical
Publication of JP6859756B2 publication Critical patent/JP6859756B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/0025Means for supplying energy to the end effector
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/04Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/04Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
    • B25J9/041Cylindrical coordinate type
    • B25J9/042Cylindrical coordinate type comprising an articulated arm
    • B25J9/044Cylindrical coordinate type comprising an articulated arm with forearm providing vertical linear movement
    • 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/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement
    • 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/14Arm movement, spatial
    • Y10S901/15Jointed arm
    • 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/49Protective device

Landscapes

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

Abstract

【課題】作業過程で生じるケーブルの破損をスカラロボットの制御により防止することができる制御システムを提供する。【解決手段】制御システムは、スカラロボット300と、スカラロボット300を制御するコントローラとを備える。コントローラは、スカラロボット300における制御対象の目標位置を取得する取得部と、制御対象が目標位置に移動する過程においてケーブル333がスカラロボット300の部品に衝突しないように作業ツール332の回転方向を決定する決定部とを含む。【選択図】図2

Description

本開示は、スカラロボットの制御に関し、特に、スカラロボットの制御対象の回転方向を決定するための技術に関する。
FA(Factory Automation)分野において、スカラ(SCARA:Selective Compliance Assembly Robot Arm)ロボットと呼ばれる水平多関節ロボットが普及している。スカラロボットとは、互いに連結している複数のアームが水平面上で動作する産業用ロボットの総称である。
スカラロボットは、互いに連結されている複数のアームを協働して回転駆動することでワークに対して所定の作業を行う。ワークに対する作業は、スカラロボットのアームを介して駆動される作業ツールによって行われる。作業例として、スカラロボットは、各アームを回転駆動することで作業ツールをワークの位置まで移動し、第1ライン上を搬送されるワークをピックアップさせる。その後、スカラロボットは、第1ライン上を搬送される容器でピックアップしたワークをリリースする。これにより、順次搬送されるワークが自動で容器に入れられる。
スカラロボットの各部品は、ケーブルで繋がれている。ケーブルは、作業過程において他の部品に衝突したり、ねじれたりすることによって、破損してしまうことがある。このようなケーブルの破損を防止するために様々な技術が開発されている。
当該技術に関し、特開2016−153151号公報(特許文献1)は、第2アームが第1アームに対して回動することで生じるパワーケーブルのねじれを解消することを目的とするロボットの関節構造ロボットの関節構造を開示している。
特開2016−78160号公報(特許文献2)は、電気ケーブルと周囲の部品等との干渉、干渉した部品の破損、電気ケーブルの破断などを解消することを目的とするロボットアーム機構を開示している。
特開2016−153151号公報 特開2016−78160号公報
特許文献1,2に開示される技術は、いずれも、メカ的な構成を追加することでケーブルの破損を解消している。しかしながら、メカ的な構成が追加されると、スカラロボットのコストが高くなり、スカラロボットのサイズが大きくなってしまう。したがって、作業過程で生じるケーブルの破損をスカラロボットの制御により防止するための技術が望まれている。
ある局面に従うと、制御システムは、ロボットと、上記ロボットを制御するためのコントローラとを備える。上記ロボットは、第1回転軸と、上記第1回転軸を中心として当該第1回転軸と直交する平面上において回転可能に構成されている第1アームと、上記第1回転軸と平行に配置され、上記第1アームに設けられている第2回転軸と、上記第2回転軸を中心として当該第2回転軸と直交する平面上において回転可能に構成されている第2アームと、上記第2回転軸と平行に配置され、上記第2アームに設けられている主軸と、上記主軸を中心として回転可能に構成され、上記主軸の先端に設けられ、ワークに対して所定の作業を行うための作業ツールと、上記第2アームおよび上記作業ツールを繋ぐケーブルとを含む。上記コントローラは、上記ロボットにおける制御対象の目標位置を取得するための取得部と、上記制御対象が上記目標位置に移動する過程において上記ケーブルが上記ロボットの部品に衝突しないように上記作業ツールの回転方向を決定するための決定部とを含む。
好ましくは、上記決定部は、上記制御対象の移動前における上記第2アームの回転角度と、上記制御対象の移動前における上記作業ツールの回転角度と、上記制御対象の移動後における上記作業ツールの回転角度との間の相対関係に基づいて上記回転方向を決定する。
好ましくは、上記決定部は、上記制御対象の移動前における上記第2アームの回転角度と、上記制御対象の移動後における上記第2アームの回転角度と、上記制御対象の移動前における上記作業ツールの回転角度と、上記制御対象の移動後における上記作業ツールの回転角度との間の相対関係に基づいて、上記回転方向を決定する。
好ましくは、上記決定部は、上記制御対象の移動を開始する前に上記回転方向を決定する。
好ましくは、上記作業ツールは、上記制御対象が上記目標位置に移動する過程において上記回転方向に回転するように構成されている。
他の局面に従うと、ロボットのコントローラが提供される。上記ロボットは、第1回転軸と、上記第1回転軸を中心として当該第1回転軸と直交する平面上において回転可能に構成されている第1アームと、上記第1回転軸と平行に配置され、上記第1アームに設けられている第2回転軸と、上記第2回転軸を中心として当該第2回転軸と直交する平面上において回転可能に構成されている第2アームと、上記第2回転軸と平行に配置され、上記第2アームに設けられている主軸と、上記主軸を中心として回転可能に構成され、上記主軸の先端に設けられ、ワークに対して所定の作業を行うための作業ツールと、上記第2アームおよび上記作業ツールを繋ぐケーブルとを含む。上記コントローラは、上記ロボットにおける制御対象の目標位置を取得するための取得部と、上記制御対象が上記目標位置に移動する過程において上記ケーブルが上記ロボットの部品に衝突しないように上記作業ツールの回転方向を決定するための決定部とを含む。
他の局面に従うと、ロボットの制御方法が提供される。上記ロボットは、第1回転軸と、上記第1回転軸を中心として当該第1回転軸と直交する平面上において回転可能に構成されている第1アームと、上記第1回転軸と平行に配置され、上記第1アームに設けられている第2回転軸と、上記第2回転軸を中心として当該第2回転軸と直交する平面上において回転可能に構成されている第2アームと、上記第2回転軸と平行に配置され、上記第2アームに設けられている主軸と、上記主軸を中心として回転可能に構成され、上記主軸の先端に設けられ、ワークに対して所定の作業を行うための作業ツールと、上記第2アームおよび上記作業ツールを繋ぐケーブルとを含む。上記制御方法は、上記ロボットにおける制御対象の目標位置を取得するステップと、上記制御対象が上記目標位置に移動する過程において上記ケーブルが上記ロボットの部品に衝突しないように上記作業ツールの回転方向を決定するステップとを備える。
他の局面に従うと、ロボットの制御プログラムが提供される。上記ロボットは、第1回転軸と、上記第1回転軸を中心として当該第1回転軸と直交する平面上において回転可能に構成されている第1アームと、上記第1回転軸と平行に配置され、上記第1アームに設けられている第2回転軸と、上記第2回転軸を中心として当該第2回転軸と直交する平面上において回転可能に構成されている第2アームと、上記第2回転軸と平行に配置され、上記第2アームに設けられている主軸と、上記主軸を中心として回転可能に構成され、上記主軸の先端に設けられ、ワークに対して所定の作業を行うための作業ツールと、上記第2アームおよび上記作業ツールを繋ぐケーブルとを含む。上記制御プログラムは、上記ロボットのコントローラに、上記ロボットにおける制御対象の目標位置を取得するステップと、上記制御対象が上記目標位置に移動する過程において上記ケーブルが上記ロボットの部品に衝突しないように上記作業ツールの回転方向を決定するステップとを実行させる。
ある局面において、作業過程で生じるケーブルの破損をスカラロボットの制御により防止することができる。
本開示の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
第1の実施の形態に従う制御システムの構成例を示す模式図である。 第1の実施の形態に従うスカラロボットの側面図である。 第1の実施の形態に従うスカラロボットの平面図である。 第1の実施の形態に従うスカラロボットをZ方向から表わした図である。 第2アームと作業ツールとの位置関係の一例を示す図である。 第2アームと作業ツールとの位置関係の一例を示す図である。 第2アームと作業ツールとの位置関係の一例を示す図である。 第2アームと作業ツールとの位置関係の一例を示す図である。 第2アームと作業ツールとの位置関係の一例を示す図である。 第2アームと作業ツールとの位置関係の一例を示す図である。 第1の実施の形態に従う制御システムを構成するコントローラの機能構成の一例を示す図である。 第1の実施の形態に従う制御システムを構成するサーボドライバの機能構成の一例を示す図である。 決定部による処理を表わすフローチャートである。 第1の実施の形態における、作業ツールの回転方向を決定する処理フローを表わす図である。 第1の実施の形態に従うコントローラのハードウェア構成例を示すブロッグ図である。 第2の実施の形態に従うコントローラの概要を説明するための図である。 第2の実施の形態における、作業ツールの回転方向を決定する処理フローを表わす図である。
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
<第1の実施の形態>
[A.システム構成]
まず、本実施の形態に従う制御システム1の構成例について説明する。図1は、本実施の形態に従う制御システム1の構成例を示す模式図である。
図1を参照して、制御システム1は、設定装置100と、PLC(Programmable Logic Controller)などのコントローラ200と、複数のドライブ装置と、スカラロボット300とを含む。図1の例では、ドライブ装置の一例として、サーボモータ340A〜340Dを駆動するサーボドライバ400A〜400Dを例示する。以下では、サーボモータ340A〜340Dを総称してサーボモータ340ともいう。サーボドライバ400A〜400Dを総称してサーボドライバ400ともいう。ドライブ装置としては、サーボドライバ400に限定されることなく、被駆動装置であるモータに応じて、対応するドライブ装置が採用される。たとえば、誘導モータまたは同期モータを駆動する場合には、ドライブ装置として、インバータドライブなどが採用されてもよい。
設定装置100は、たとえば、PC(Personal Computer)、タブレット端末、または、スマートフォンなどの端末装置である。設定装置100およびコントローラ200は、フィールドネットワークNW1に接続されている。フィールドネットワークNW1には、たとえば、EtherNET(登録商標)が採用される。但し、フィールドネットワークNW1は、EtherNETに限定されず、任意の通信手段が採用され得る。たとえば、設定装置100およびコントローラ200は、信号線で直接接続されてもよい。
コントローラ200およびサーボドライバ400は、デイジーチェーンでフィールドネットワークNW2に接続されている。フィールドネットワークNW2には、たとえば、EtherCAT(登録商標)が採用される。但し、フィールドネットワークNW2は、EtherCATに限定されず、任意の通信手段が採用され得る。一例として、コントローラ200およびサーボドライバ400は、信号線で直接接続されてもよい。また、コントローラ200およびサーボドライバ400は、一体的に構成されてもよい。
サーボドライバ400は、スカラロボット300のサーボモータ340を駆動する。サーボモータ340の回転軸にはエンコーダ(図示しない)が配置されている。当該エンコーダは、サーボモータ340のフィードバック値として、サーボモータの位置(回転角度)、回転速度、累積回転数などをサーボドライバ400へ出力する。但し、サーボモータ340からのフィードバック値は、コントローラ200へ直接入力されてもよい。
なお、図1には、制御システム1が1つのコントローラ200で構成されている例が示されているが、制御システム1は、複数のコントローラ200で構成されてもよい。また、図1には、制御システム1が1つのスカラロボット300で構成されている例が示されているが、制御システム1は、複数のスカラロボット300で構成されてもよい。また、図1には、コントローラ200およびサーボドライバ400が直接的に接続されている例が示されているが、コントローラ200およびサーボドライバ400の間にロボットコントローラなどが設けられてもよい。
[B.スカラロボットの装置構成]
図2および図3を参照して、スカラロボット300について説明する。図2は、スカラロボット300の側面図である。図3は、スカラロボット300の平面図である。
スカラロボット300は、基台320と、第1回転軸322と、第1アーム324と、第2回転軸326と、第2アーム328と、主軸331と、作業ツール332とを含む。
基台320および第1アーム324は、第1回転軸322によって連結されている。第1回転軸322はサーボモータ340A(図1参照)によって回転駆動される。その結果、第1アーム324は、第1回転軸322を中心に回転駆動される。
第1アーム324および第2アーム328は、第2回転軸326によって連結されている。より具体的には、第1アーム324の一端は、第1回転軸322を介して基台320に連結されており、第1アーム324の他端は、第2回転軸326を介して第2アーム328に連結されている。第2回転軸326は、サーボモータ340B(図1参照)によって回転駆動される。その結果、第2アーム328は、第2回転軸326を中心に回転駆動される。第1アーム324と第2アーム328とが連動して回転駆動されることで、第2アーム328は、動作領域AR1内で動作することができる。
説明の便宜のために、以下では、水平面上における所定方向をX方向ともいう。また、水平面上においてX方向に直交する方向をY方向ともいう。X方向およびY方向に直交する方向をZ方向ともいう。すなわち、Z方向は、鉛直方向に相当する。
主軸331は、サーボモータ340C(図1参照)によって、第2回転軸326と平行な方向(すなわち、Z方向)に駆動可能に構成される。また、主軸331は、第3回転軸として機能し、サーボモータ340D(図1参照)によって回転駆動される。すなわち、主軸331は、Z方向に駆動可能に構成されるとともに、Z方向の軸中心として回転可能に構成される。
主軸331の先端には、ワークWに対して予め定められた作業を行うための作業ツール332が設けられている。ワークWは、製品または半製品である。作業ツール332は、ワークWに作用を及ぼすエンドエフェクタとして機能する。作業ツール332は、主軸331に取り外し可能に構成される。すなわち、主軸331の先端には、作業ツール332を接続するためのインターフェイスが設けられる。
作業ツール332は、たとえば、ワークWのピックアップツールである。一例として、ピックアップツールは、吸引力を利用してワークWを吸着することでワークWをピックアップする。あるいは、ピックアップツールは、ワークWを把持することによりワークWをピックアップする。作業ツール332による作業の一例として、作業ツール332は、ネジなどのワークWを、コンベア上を搬送される製品に取り付ける作業を行う。あるいは、作業ツール332は、第1コンベア上を搬送されるワークWを、第2コンベア上を搬送される容器に順次移動する作業を行う。
第2アーム328と作業ツール332との間には、ケーブル333が接続されている。より具体的には、第2アーム328の表面には、コネクタ328Aが設けられており、作業ツール332の表面には、コネクタ332Aが設けられている。ケーブル333の一端は、コネクタ328Aに電気的に接続され、ケーブル333の他端は、コネクタ332Aに電気的に接続される。制御信号や駆動電力は、ケーブル333を介して作業ツール332に送られる。
[C.スカラロボットの動作制御]
図4を参照して、スカラロボット300の動作制御について説明する。図4は、Z方向からスカラロボット300を表わした図である。図4においては、第1回転軸322と、第1アーム324と、第2回転軸326と、第2アーム328と、主軸331とが簡略化して表わされている。
上述したように、第2アーム328と作業ツール332との間には、ケーブル333が接続されている。作業ツール332の回転方向によっては、ケーブル333がスカラロボット300の部品(たとえば、第2アーム328や主軸331)に衝突してしまう。その結果、ケーブル333がスカラロボット300の部品で擦れたり、当該部品に引っかかったりし、ケーブル333が破損してしまう。そこで、本実施の形態に従うコントローラ200は、スカラロボット300の駆動過程においてケーブル333がスカラロボット300の部品に衝突しないように作業ツール332の回転方向を決定する。
説明の便宜のために、以下では、XY平面上における反時計回りの回転を「正回転」ともいい、XY平面上における時計回りの回転を「負回転」ともいう。また、XY平面上において作業ツール332(または主軸331)を基準として固定されている所定方向を「ケーブル方向335」ともいう。ケーブル方向335は、作業ツール332に対してケーブル333が配置されているXY平面上の方向と同じまたは略同じである。
図4(A)には、作業ツール332が方向D1から方向D2に正回転している様子が示されている。図4(A)に示される第2アーム328の回転角度と作業ツール332の回転角度との関係では、作業ツール332が正回転すると、ケーブル方向335が第2アーム328を跨ぐ。その結果、ケーブル333が第2アーム328に接触してしまう。
図4(B)には、作業ツール332が方向D1から方向D2に負回転している様子が示されている。図4(B)に示される第2アーム328の回転角度と作業ツール332の回転角度との関係では、作業ツール332が方向D1から方向D2に負回転する過程で、ケーブル方向335は第2アーム328を跨がない。すなわち、ケーブル333は、第2アーム328に接触しない。
このように、作業ツール332を回転させるべき方向は、作業ツール332の移動前後における、第2アーム328と作業ツール332との位置関係に応じて決まる。この点に着目して、コントローラ200は、スカラロボット300の制御対象が現在位置から目標位置に移動する過程においてケーブル333がスカラロボット300の部品に接触しないように作業ツール332の回転方向を決定する。ここでいう制御対象とは、スカラロボット300を構成する任意の駆動部品である。一例として、当該制御対象は、第1アーム324、第2アーム328、主軸331、または作業ツール332などである。
ケーブル方向335が第2アーム328を跨がないように作業ツール332の回転方向が決定されることで、ケーブル333がスカラロボット300の部品に接触することが防止される。その結果、ケーブル333が近傍の部品で擦れたり、近傍の部品に引っかかったりすることが防止され、ケーブル333の破損が抑制される。
[D.回転方向の決定方法]
図5〜図10を参照して、作業ツール332の回転方向の決定方法について説明する。図5〜図10は、第2アーム328と作業ツール332との位置関係の一例を示す図である。
上述したように、スカラロボット300のコントローラ200は、第2アーム328と作業ツール332との位置関係に応じて作業ツール332を回転させるべき方向を決定する。
以下では、説明の便宜のために、目標位置への移動開始前における第2アーム328の回転角度を「回転角度θA1」として表わす。目標位置への移動開始前における作業ツール332の回転角度を「回転角度θB1」として表わす。目標位置への移動後における作業ツール332の回転角度を「回転角度θB2」として表わす。回転角度θA1、回転角度θB1、および回転角度θB1は、XY平面上の角度として表される。なお、回転角度θB1,θB2は、作業ツール332の回転角度として表されているが、作業ツール332は、主軸331と連動するため、回転角度θB1,θB2は、主軸331の回転角度として表されてもよい。
回転角度θA1は、第2アーム328の主軸331側の一端から、第2アーム328の第2回転軸326側の他端に向かう方向と、所定の基準軸(たとえば、X軸)との間における正回転側の角度に相当する。より具体的には、コントローラ200は、第2アーム328を駆動するサーボドライバ400B(図1参照)から第2アーム328の現在位置を取得し、当該現在位置から回転角度θA1を算出する。
回転角度θB1,θB2は、所定の基準軸(たとえば、X軸)と、ケーブル方向335(図4参照)との間における正回転側の角度に相当する。移動前の回転角度θB1は、たとえば、主軸331を回転駆動するためのサーボドライバ400B(図1参照)の出力結果に基づいて算出される。移動後の回転角度θB2は、第2アーム328の移動先である目標位置に基づいて算出される。
コントローラ200は、移動前における第2アーム328の回転角度θA1と、移動前における作業ツール332の回転角度θB1と、移動後における作業ツール332の回転角度θB2との間の相対関係に基づいて、作業ツール332の回転方向を決定する。
より具体的には、図5に示されるように、回転角度θA1、θB1、θB2の間の角度関係が下記式(1)を満たす場合には、コントローラ200は、作業ツール332を正回転すると決定する。
θB1<θB2<θA1・・・(1)
図6に示されるように、回転角度θA1、θB1、θB2の間の角度関係が下記式(2)を満たす場合には、コントローラ200は、作業ツール332を正回転すると決定する。
θA1<θB1<θB2・・・(2)
図7に示されるように、回転角度θA1、θB1、θB2の間の角度関係が下記式(3)を満たす場合には、コントローラ200は、作業ツール332を正回転すると決定する。
θB2<θA1<θB1・・・(3)
図8に示されるように、回転角度θA1、θB1、θB2の間の角度関係が下記式(4)を満たす場合には、コントローラ200は、作業ツール332を負回転すると決定する。
θB1<θA1<θB2・・・(4)
図9に示されるように、回転角度θA1、θB1、θB2の間の角度関係が下記式(5)を満たす場合には、コントローラ200は、作業ツール332を負回転すると決定する。
θB2<θB1<θA1・・・(5)
図10に示されるように、回転角度θA1、θB1、θB2の間の角度関係が下記式(6)を満たす場合には、コントローラ200は、作業ツール332を負回転すると決定する。
θA1<θB2<θB1・・・(6)
なお、上述では、正回転方向を正の角度として表わす右手座標系がスカラロボット300の座標系として採用されている前提に説明を行ったが、負回転方向を正の角度として表わす左手座標系がスカラロボット300の座標系として採用されてもよい。この場合、上記式(1)〜式(6)に示される大小関係が逆転する。典型的には、上述の回転方向を決定する制御は、右手系および左手系のいずれかの座標系を採用するスカラロボット300に対して適用され得るが、当該制御は、右手系および左手系の座標系以外の座標系を採用するスカラロボット300に対しても適用され得る。
[E.制御システム1の機能構成]
図11および図12を参照して、制御システム1を構成する各装置の機能について説明する。図11は、制御システム1を構成するコントローラ200の機能構成の一例を示す図である。図12は、制御システム1を構成するサーボドライバ400の機能構成の一例を示す図である。
(E1.コントローラ200の機能構成)
まず、図11を参照して、コントローラ200の機能について説明する。
図11に示されるように、コントローラ200は、機能構成として、取得部252と、決定部254と、生成部256と、変換部258と、出力部260とを含む。図11に示される各機能ブロックは、たとえば、コントローラ200の後述の制御装置201(図15参照)によって実現される。
取得部252は、コントローラ200の上位コントローラや設定装置100などから、スカラロボット300における制御対象の目標位置を取得する。当該目標位置は、たとえば、予め設定されている作業工程に従って上位コントローラによって決定されたり、設定装置100にインストールされているプログラムツールにおいてユーザによって指定されたりする。目標位置は、たとえば、当該プログラムツール上の座標系(x,y,z)で表わされる。取得部252によって取得された目標位置は、決定部254に出力される。
決定部254は、取得部252によって取得された制御対象の目標位置と、サーボドライバ400から取得した制御対象の現在位置とに基づいて、作業ツール332の回転方向を決定する。また、決定部254は、取得部252によって取得された制御対象の目標位置と、サーボドライバ400から取得した現在位置とに基づいて、生成部256が制御対象の軌跡を生成するために必要な絶対目標位置を生成する。当該絶対目標位置は、たとえば、実空間の座標系(x’,y’,z’、r’)で表わされる。座標値「x’」は、上述のX軸上の位置を表わす。座標値「y’」は、上述のY軸上の位置を表わす。座標値「z’」は、上述のZ軸上の位置を表わす。座標値「r’」は、作業ツール332の回転方向を表わし、正回転または負回転を表わす。決定部254による処理の詳細については後述する。
好ましくは、決定部254は、スカラロボット300の制御対象の移動を開始する前に作業ツール332の回転方向を決定する。決定部254によって回転方向が決定された後、コントローラ200は、スカラロボット300の制御対象(たとえば、第2アーム328や作業ツール332など)が目標位置に移動する過程において、決定された回転方向に作業ツール332を回転する。すなわち、コントローラ200は、作業ツール332の回転方向を決定した後に、決定した回転方向での作業ツール332の回転駆動を開始する。
生成部256は、決定部254から出力された絶対目標位置へ制御対象を移動させるための速度波形を生成する。生成部256は、生成された速度波形に基づいて算出された所定周期ごとの指令位置を変換部258に出力する。
変換部258は、生成部256から出力された指令位置を、スカラロボット300のサーボドライバ400が読み取ることができる形式に変換する。当該変換は、逆運動学演算や予め定められた座標系変換式に基づいて行われる。これにより、生成部256から出力された指令位置は、スカラロボット300を基準とするロボット座標系に変換される。
出力部260は、変換部258から出力された指令位置をサーボドライバ400に出力する。これにより、サーボドライバ400の各々は、対応する制御対象を目標位置に向けて駆動する。
(E2.サーボドライバ400の機能構成)
次に、図12を参照して、本実施の形態に従うコントローラ200に接続されるサーボドライバ400の機能構成の一例について説明する。図12に示す各機能ブロックは、サーボドライバ400の制御装置(図示しない)によって実現される。
本実施の形態に従う制御システム1においては、コントローラ200からサーボドライバ400に対して指令値として目標位置が与えられる。サーボドライバ400は、制御対象であるスカラロボット300の各アームの実位置がコントローラ200からの目標位置と一致するように、サーボモータ340へ供給する駆動電流を制御する。
典型的には、サーボドライバ400においては、位置についてのメインループに加えて、速度についてのマイナーループを含む、制御ループが実装されている。より具体的には、サーボドライバ400は、機能構成として、差分演算部410,414と、位置制御部412と、速度制御部416と、加算部418と、トルクフィルタ420と、電流制御部422と、速度検知部424とを含む。
位置制御部412は、位置についての制御ループを構成する制御演算部であり、差分演算部410において算出される、目標位置と実位置(フィードバック値)との偏差に応じた制御量を出力する。位置制御部412としては、典型的には、P(比例)制御が用いられてもよい。つまり、位置制御部412は、目標位置と実位置との偏差に予め定められた比例係数を乗じた値を制御量として出力する。
速度制御部416は、速度についての制御ループを構成する制御演算部であり、差分演算部414において算出される、位置制御部412からの制御量と速度検知部424からの実速度との偏差に応じた制御量を出力する。速度制御部416としては、典型的には、PI(比例積分)制御が用いられてもよい。つまり、位置制御部412は、位置制御部412からの指令速度と実速度との偏差に対して、比例係数を乗じた値と積分要素によって積分された値との和を制御量として出力する。
トルクフィルタ420は、速度制御部416から出力される制御量(サーボモータ340で発生させるべきトルクの指令値)の単位時間あたりの変化の度合いが大きくなり過ぎないように、時間変化の度合いを緩和する。すなわち、トルクフィルタ420は、速度制御部416から出力される制御量を鈍らせる。トルクフィルタ420からの制御量は電流制御部422に出力される。
電流制御部422は、トルクフィルタ420からの制御量に対応させて、スカラロボット300のサーボモータ340でのスイッチングタイミングを決定する。つまり、電流制御部422は、トルクフィルタ420にて決定された指令トルクを実現できるように、サーボモータ340へ供給する電流の大きさ、タイミング、波形などを決定する。電流制御部422にて決定された制御量に従って、サーボモータ340が駆動される。サーボモータ340から供給される電流によって、サーボモータ340が回転駆動される。
スカラロボット300の各アームの変位を示すフィードバック値として、エンコーダ(図示しない)から実位置が出力される、速度検知部424は、エンコーダからの実位置を微分して実速度を算出する。
[F.コントローラ200の制御構造]
図13を参照して、コントローラ200の制御構造について説明する。図13は、上述の決定部254(図11参照)による処理を表わすフローチャートである。図13の処理は、コントローラ200の後述の制御装置201(図15参照)によって実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
ステップS110において、制御装置201は、決定部254として、スカラロボット300の制御対象の目標位置を上述の取得部252(図11参照)から受け付ける。一例として、制御装置201は、第2アーム328の目標位置と、主軸331(または作業ツール332)の目標位置とを取得する。当該目標位置は、たとえば、予め設定されている作業工程に従って上位コントローラによって決定されたり、上述の設定装置100にインストールされているプログラムツールにおいてユーザによって指定されたりする。目標位置は、たとえば、当該プログラムツール上の座標系(x,y,z)で表わされる。
ステップS112において、制御装置201は、サーボドライバ400から制御対象の現在位置を取得する。一例として、制御装置201は、第2アーム328の現在位置と、主軸331(または作業ツール332)の現在位置とを取得する。
ステップS114において、制御装置201は、ステップS112で取得した第2アーム328の現在位置から第2アーム328の現在の回転角度を算出する。一例として、制御装置201は、予め定められた行列変換式に従って第2アーム328の現在位置を第2アーム328の現在の回転角度に変換する。
ステップS116において、制御装置201は、ステップS110で取得された作業ツール332の目標位置を実空間の座標系(x’,y’,z’)に変換する。座標値「x’」は、上述のX軸上の位置を表わす。座標値「y’」は、上述のY軸上の位置を表わす。座標値「z’」は、上述のZ軸上の位置を表わす。一例として、制御装置201は、予め定められた行列変換式に従って作業ツール332の目標位置を移動後における第2アーム328の回転角度に変換する。
ステップS120において、制御装置201は、作業ツール332の回転方向を決定する。作業ツール332の回転方向の決定フローについては図14で説明する。
ステップS200において、制御装置201は、ステップS116で算出された作業ツール332の絶対目標位置にステップS120で決定された回転方向を付加する。その結果、実空間上での作業ツール332の絶対目標位置は、座標系(x’,y’,z’、rz’)で表わされる。座標値「rz’」は、作業ツール332の回転方向を表わし、正回転または負回転を表わす。あるいは、座標値「rz’」は、作業ツール332の回転角度で表わされてもよい。実空間上での作業ツール332の絶対目標位置は、上述の生成部256(図11参照)に出力される。
(F1.ステップS120の処理フロー)
図14を参照して、図13に示されるステップS120の処理についてさらに詳細に説明する。図14は、作業ツール332の回転方向を決定する処理フローを表わす図である。
ステップS122において、制御装置201は、移動前における作業ツール332の回転角度θB1(図5〜図10参照)と、移動後における作業ツール332の回転角度θB2(図5〜図10参照)とを取得する。上述の通り、回転角度θB1,θB2は、所定の基準軸(たとえば、X軸)と、上述のケーブル方向335(図4参照)との間における正回転側の角度に相当する。
ステップS124において、制御装置201は、第2アーム328の回転角度θA1(図5〜図10参照)を算出する。典型的には、制御装置201は、第2アーム328を駆動するサーボドライバ400Bから得られる回転角度に180度を加算した結果を回転角度θA1としてみなす。すなわち、通常、サーボドライバ400Bから出力される第2アーム328の回転角度は、第2アーム328の第2回転軸326側の一端から第2アーム328の主軸331側の他端に向かう方向を表わすので、アーム方向の逆方向を表わす。そのため、制御装置201は、サーボドライバ400Bから出力される第2アーム328の回転角度に180度を加算することでアーム方向を特定する。
ステップS130において、制御装置201は、移動後における作業ツール332の回転角度θB2が移動前における第2アーム328の回転角度θA1よりも小さいか否かを判断する。制御装置201は、回転角度θB2が回転角度θA1よりも小さいと判断した場合(ステップS130においてYES)、制御をステップS132に切り替える。そうでない場合には(ステップS130においてNO)、制御装置201は、制御をステップS142に切り替える。
ステップS132において、制御装置201は、移動前における第2アーム328の回転角度θA1が移動前における作業ツール332の回転角度θB1よりも小さいか否かを判断する。制御装置201は、回転角度θA1が回転角度θB1よりも小さいと判断した場合(ステップS132においてYES)、制御をステップS138に切り替える。そうでない場合には(ステップS132においてNO)、制御装置201は、制御をステップS134に切り替える。
ステップS134において、制御装置201は、移動前における作業ツール332の回転角度θB1が移動後における作業ツール332の回転角度θB2よりも小さいか否かを判断する。制御装置201は、回転角度θB1が回転角度θB2よりも小さいと判断した場合(ステップS134においてYES)、制御をステップS138に切り替える。そうでない場合には(ステップS134においてNO)、制御装置201は、制御をステップS136に切り替える。
ステップS136において、制御装置201は、作業ツール332の回転方向を負回転に決定する。
ステップS138において、制御装置201は、作業ツール332の回転方向を正回転に決定する。
ステップS142において、制御装置201は、移動前における作業ツール332の回転角度θB1が移動前における第2アーム328の回転角度θA1よりも小さいか否かを判断する。制御装置201は、回転角度θB1が回転角度θA1よりも小さいと判断した場合(ステップS142においてYES)、制御をステップS148に切り替える。そうでない場合には(ステップS142においてNO)、制御装置201は、制御をステップS144に切り替える。
ステップS144において、制御装置201は、移動後における作業ツール332の回転角度θB2が移動前における作業ツール332の回転角度θB1よりも小さいか否かを判断する。制御装置201は、回転角度θB2が回転角度θB1よりも小さいと判断した場合(ステップS144においてYES)、制御をステップS148に切り替える。そうでない場合には(ステップS144においてNO)、制御装置201は、制御をステップS146に切り替える。
ステップS146において、制御装置201は、作業ツール332の回転方向を正回転に決定する。
ステップS148において、制御装置201は、作業ツール332の回転方向を負回転に決定する。
[G.コントローラ200のハードウェア構成]
図15を参照して、コントローラ200のハードウェア構成について説明する。図15は、コントローラ200のハードウェア構成例を示すブロッグ図である。
コントローラ200は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などの制御装置201と、チップセット202と、主メモリ206と、記憶装置220と、ローカルネットワークコントローラ203と、USB(Universal Serial Bus)コントローラ204と、メモリカードインターフェイス205と、内部バスコントローラ210と、フィールドバスコントローラ208,209と、I/Oユニット211−1,211−2,…とを含む。
制御装置201は、記憶装置220に格納された各種プログラムを読み出して、主メモリ206に展開して実行することで、制御対象に応じた制御、および、本実施の形態に従う処理などを実現する。チップセット202は、制御装置201と各コンポーネントを制御することで、コントローラ200全体としての処理を実現する。
記憶装置220は、たとえば、二次記憶装置である。記憶装置220には、PLCエンジンを実現するためのシステムプログラムに加えて、PLCエンジンを利用して実行されるユーザプログラム221などが格納される。ユーザプログラム221は、論理的な演算を主とするシーケンスシーケンスプログラム222、位置制御や速度制御などの数値的な演算を主とするモーションプログラム223、スカラロボット300の制御プログラム224などを含む。
ローカルネットワークコントローラ203は、ローカルネットワークを介した他の装置(たとえば、サーバーなど)との間のデータの遣り取りを制御する。USBコントローラ204は、USB接続を介して他の装置(たとえば、PC(Personal Computer)など)との間のデータの遣り取りを制御する。
メモリカードインターフェイス205は、メモリカード216を着脱可能に構成されており、メモリカード216に対してデータを書込み、メモリカード216から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。
内部バスコントローラ210は、コントローラ200に搭載されるI/Oユニット211−1,211−2,…との間でデータを遣り取りするインターフェイスである。
フィールドバスコントローラ208は、フィールドネットワークNW1(図1参照)を介した他の装置(たとえば、設定装置100など)との間のデータの遣り取りを制御する。同様に、フィールドバスコントローラ209は、フィールドネットワークNW2(図1参照)を介した他の装置(たとえば、スカラロボット300やサーボドライバ400)との間のデータの遣り取りを制御する。
図15には、制御装置201がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、コントローラ200の主要部を、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
[H.第1の実施の形態のまとめ]
以上のようにして、本実施の形態に従うコントローラ200は、スカラロボット300の制御対象が目標位置に移動する過程においてケーブル333がスカラロボット300の部品(たとえば、第2アーム328や作業ツール332)に衝突しないように作業ツール332の回転方向を決定する。その後、コントローラ200は、制御対象の移動過程において、作業ツール332を決定した回転方向に回転させる。これにより、作業過程においてケーブル333が破損することが防止される。このような破損が作業ツール332の回転方向の制御によって防止されるので、スカラロボットにメカ的な構造を新たに設ける必要がない。そのため、スカラロボット300のコストの増大が抑制され、スカラロボット300のサイズが大きくなることもない。
<第2の実施の形態>
[A.概要]
図16は、第2の実施の形態に従うコントローラ200の概要を説明するための図である。
図16には、スカラロボット300が状態SA1から状態SA2に遷移している様子が示されている。第1の実施の形態に従うコントローラ200は、移動前における第2アーム328の回転角度と、移動前における作業ツール332の回転角度と、移動後における作業ツール332の回転角度との間の相対関係に基づいて、作業ツール332の回転方向を決定していた。第1の実施の形態における回転方向の決定方法が採用されると、状態SA1では、コントローラ200は、作業ツール332を負回転させると決定する。
しかしながら、状態SA1から状態SA2に遷移する過程で、第2アーム328と作業ツール332との位置関係が変わる。その結果、作業ツール332が負回転すると、ケーブル333がスカラロボット300の部品に衝突してしまう。このように、第1の実施の形態で説明した回転方向の決定方法では、ケーブル333がスカラロボット300の部品に衝突してしまうことが稀に生じる。
そこで、第2の実施の形態に従うコントローラ200は、移動前における第2アーム328の回転角度、移動前における作業ツール332の回転角度、および移動後における作業ツール332の回転角度だけでなく、移動後における第2アーム328の回転角度をさらに用いて、作業ツール332の回転方向を決定する。このように、移動後における第2アーム328の回転角度が考慮されることで、コントローラ200は、作業過程においてケーブル333が第2アーム328に接触することをより確実に防止できる。
第2の実施の形態に従う制御システム1のハードウェア構成などその他の点については第1の実施の形態に従う制御システム1と同じであるので、以下ではそれらの説明については繰り返さない。
[B.コントローラ200の制御構造]
図17を参照して、第2の実施の形態に従うコントローラ200の制御構造について説明する。図17は、第2の実施の形態における、作業ツール332の回転方向を決定する処理フローを表わす図である。
ステップS122Aにおいて、制御装置201は、移動後における第2アーム328の回転角度θA2と、移動前における作業ツール332の回転角度θB1と、移動後における作業ツール332の回転角度θB2とを取得する。回転角度θA2は、第2アーム328の主軸331側の一端から、第2アーム328の第2回転軸326側の他端に向かう方向と、所定の基準軸(たとえば、X軸)との間における正回転側の角度に相当する。移動後の回転角度θA2は、スカラロボット300の制御対象の目標位置に基づいて算出される。
ステップS123Aにおいて、制御装置201は、第2アーム328の回転角度θB2から、移動前から移動後における第2アーム328の回転角度(すなわち、θA2−θA1)を差し引き、補正角度θ’を算出する。すなわち、補正角度θ’は、下記式(7)に基づいて算出される。
θ’=θB2−(θA2−θB1)・・・(7)
ステップS124において、制御装置201は、第2アーム328の回転角度θA1(図5〜図10参照)を算出する。典型的には、制御装置201は、第2アーム328を駆動するサーボドライバ400Bから得られる回転角度に180度を加算した結果を回転角度θA1としてみなす。すなわち、通常、サーボドライバ400Bから出力される第2アーム328の回転角度は、第2アーム328の第2回転軸326側の一端から第2アーム328の主軸331側の他端に向かう方向を表わすが、制御装置201は、当該角度に180度を加算することで、第2アーム328の主軸331側の一端から第2アーム328の第2回転軸326側の他端に向かう方向に変換する。
ステップS130Aにおいて、制御装置201は、ステップS123Aで算出された補正角度θ’が移動前における第2アーム328の回転角度θA1よりも小さいか否かを判断する。制御装置201は、補正角度θ’が回転角度θA1よりも小さいと判断した場合(ステップS130AにおいてYES)、制御をステップS132に切り替える。そうでない場合には(ステップS130AにおいてNO)、制御装置201は、制御をステップS142に切り替える。
ステップS132において、制御装置201は、移動前における第2アーム328の回転角度θA1が移動前における作業ツール332の回転角度θB1よりも小さいか否かを判断する。制御装置201は、回転角度θA1が回転角度θB1よりも小さいと判断した場合(ステップS132においてYES)、制御をステップS138に切り替える。そうでない場合には(ステップS132においてNO)、制御装置201は、制御をステップS134Aに切り替える。
ステップS134Aにおいて、制御装置201は、移動前における作業ツール332の回転角度θB1がステップS123Aで算出された補正角度θ’よりも小さいか否かを判断する。制御装置201は、回転角度θB1が補正角度θ’よりも小さいと判断した場合(ステップS134AにおいてYES)、制御をステップS138に切り替える。そうでない場合には(ステップS134AにおいてNO)、制御装置201は、制御をステップS136に切り替える。
ステップS136において、制御装置201は、作業ツール332の回転方向を負回転に決定する。
ステップS138において、制御装置201は、作業ツール332の回転方向を正回転に決定する。
ステップS142において、制御装置201は、移動前における作業ツール332の回転角度θB1が移動前における第2アーム328の回転角度θA1よりも小さいか否かを判断する。制御装置201は、回転角度θB1が回転角度θA1よりも小さいと判断した場合(ステップS142においてYES)、制御をステップS148に切り替える。そうでない場合には(ステップS142においてNO)、制御装置201は、制御をステップS144Aに切り替える。
ステップS144Aにおいて、制御装置201は、ステップS123Aで算出された補正角度θ’が移動前における作業ツール332の回転角度θB1よりも小さいか否かを判断する。制御装置201は、補正角度θ’が回転角度θB1よりも小さいと判断した場合(ステップS144AにおいてYES)、制御をステップS148に切り替える。そうでない場合には(ステップS144AにおいてNO)、制御装置201は、制御をステップS146に切り替える。
ステップS146において、制御装置201は、作業ツール332の回転方向を正回転に決定する。
ステップS148において、制御装置201は、作業ツール332の回転方向を負回転に決定する。
[C.第2の実施の形態のまとめ]
以上のようにして、本実施の形態に従うコントローラ200は、制御対象の移動前における第2アーム328の回転角度と、制御対象の移動後における第2アーム328の回転角度と、制御対象の移動前における作業ツール332の回転角度と、制御対象の移動後における作業ツール332の回転角度との間の相対関係に基づいて、作業ツール332の回転方向を決定する。このように、移動後における第2アーム328の回転角度がさらに考慮されることで、コントローラ200は、作業過程においてケーブル333がスカラロボット300の部品に衝突することをより確実に防止できる。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
1 制御システム、100 設定装置、200 コントローラ、201 制御装置、202 チップセット、203 ローカルネットワークコントローラ、204 USBコントローラ、205 メモリカードインターフェイス、206 主メモリ、208,209 フィールドバスコントローラ、210 内部バスコントローラ、211 I/Oユニット、216 メモリカード、220 記憶装置、221 ユーザプログラム、222 シーケンスシーケンスプログラム、223 モーションプログラム、224 制御プログラム、252 取得部、254 決定部、256 生成部、258 変換部、260 出力部、300 スカラロボット、320 基台、322 第1回転軸、324 第1アーム、326 第2回転軸、328 第2アーム、328A,332A コネクタ、331 主軸、332 作業ツール、333 ケーブル、335 ケーブル方向、340A〜340D サーボモータ、400A〜400D サーボドライバ、410,414 差分演算部、412 位置制御部、416 速度制御部、418 加算部、420 トルクフィルタ、422 電流制御部、424 速度検知部。
本開示は、スカラロボットの制御に関し、特に、スカラロボットの制御対象の回転方向を決定するための技術に関する。
FA(Factory Automation)分野において、スカラ(SCARA:Selective Compliance Assembly Robot Arm)ロボットと呼ばれる水平多関節ロボットが普及している。スカラロボットとは、互いに連結している複数のアームが水平面上で動作する産業用ロボットの総称である。
スカラロボットは、互いに連結されている複数のアームを協働して回転駆動することでワークに対して所定の作業を行う。ワークに対する作業は、スカラロボットのアームを介して駆動される作業ツールによって行われる。作業例として、スカラロボットは、各アームを回転駆動することで作業ツールをワークの位置まで移動し、第1ライン上を搬送されるワークをピックアップさせる。その後、スカラロボットは、第1ライン上を搬送される容器でピックアップしたワークをリリースする。これにより、順次搬送されるワークが自動で容器に入れられる。
スカラロボットの各部品は、ケーブルで繋がれている。ケーブルは、作業過程において他の部品に衝突したり、ねじれたりすることによって、破損してしまうことがある。このようなケーブルの破損を防止するために様々な技術が開発されている。
当該技術に関し、特開2016−153151号公報(特許文献1)は、第2アームが第1アームに対して回動することで生じるパワーケーブルのねじれを解消することを目的とするロボットの関節構造を開示している。
特開2016−78160号公報(特許文献2)は、電気ケーブルと周囲の部品等との干渉、干渉した部品の破損、電気ケーブルの破断などを解消することを目的とするロボットアーム機構を開示している。
特開2016−153151号公報 特開2016−78160号公報
特許文献1,2に開示される技術は、いずれも、メカ的な構成を追加することでケーブルの破損を解消している。しかしながら、メカ的な構成が追加されると、スカラロボットのコストが高くなり、スカラロボットのサイズが大きくなってしまう。したがって、作業過程で生じるケーブルの破損をスカラロボットの制御により防止するための技術が望まれている。
ある局面に従うと、制御システムは、ロボットと、上記ロボットを制御するためのコントローラとを備える。上記ロボットは、第1回転軸と、上記第1回転軸を中心として当該第1回転軸と直交する平面上において回転可能に構成されている第1アームと、上記第1回転軸と平行に配置され、上記第1アームに設けられている第2回転軸と、上記第2回転軸を中心として当該第2回転軸と直交する平面上において回転可能に構成されている第2アームと、上記第2回転軸と平行に配置され、上記第2アームに設けられている主軸と、上記主軸を中心として回転可能に構成され、上記主軸の先端に設けられ、ワークに対して所定の作業を行うための作業ツールと、上記第2アームおよび上記作業ツールを繋ぐケーブルとを含む。上記コントローラは、上記ロボットにおける制御対象の目標位置を取得するための取得部と、上記制御対象が上記目標位置に移動する過程において上記ケーブルが上記ロボットの部品に衝突しないように上記作業ツールの回転方向を決定するための決定部とを含む。
好ましくは、上記決定部は、上記制御対象の移動前における上記第2アームの回転角度と、上記制御対象の移動前における上記作業ツールの回転角度と、上記制御対象の移動後における上記作業ツールの回転角度との間の相対関係に基づいて上記回転方向を決定する。
好ましくは、上記決定部は、上記制御対象の移動前における上記第2アームの回転角度と、上記制御対象の移動後における上記第2アームの回転角度と、上記制御対象の移動前における上記作業ツールの回転角度と、上記制御対象の移動後における上記作業ツールの回転角度との間の相対関係に基づいて、上記回転方向を決定する。
好ましくは、上記決定部は、上記制御対象の移動を開始する前に上記回転方向を決定する。
好ましくは、上記作業ツールは、上記制御対象が上記目標位置に移動する過程において上記回転方向に回転するように構成されている。
他の局面に従うと、ロボットのコントローラが提供される。上記ロボットは、第1回転軸と、上記第1回転軸を中心として当該第1回転軸と直交する平面上において回転可能に構成されている第1アームと、上記第1回転軸と平行に配置され、上記第1アームに設けられている第2回転軸と、上記第2回転軸を中心として当該第2回転軸と直交する平面上において回転可能に構成されている第2アームと、上記第2回転軸と平行に配置され、上記第2アームに設けられている主軸と、上記主軸を中心として回転可能に構成され、上記主軸の先端に設けられ、ワークに対して所定の作業を行うための作業ツールと、上記第2アームおよび上記作業ツールを繋ぐケーブルとを含む。上記コントローラは、上記ロボットにおける制御対象の目標位置を取得するための取得部と、上記制御対象が上記目標位置に移動する過程において上記ケーブルが上記ロボットの部品に衝突しないように上記作業ツールの回転方向を決定するための決定部とを含む。
他の局面に従うと、ロボットの制御方法が提供される。上記ロボットは、第1回転軸と、上記第1回転軸を中心として当該第1回転軸と直交する平面上において回転可能に構成されている第1アームと、上記第1回転軸と平行に配置され、上記第1アームに設けられている第2回転軸と、上記第2回転軸を中心として当該第2回転軸と直交する平面上において回転可能に構成されている第2アームと、上記第2回転軸と平行に配置され、上記第2アームに設けられている主軸と、上記主軸を中心として回転可能に構成され、上記主軸の先端に設けられ、ワークに対して所定の作業を行うための作業ツールと、上記第2アームおよび上記作業ツールを繋ぐケーブルとを含む。上記制御方法は、上記ロボットにおける制御対象の目標位置を取得するステップと、上記制御対象が上記目標位置に移動する過程において上記ケーブルが上記ロボットの部品に衝突しないように上記作業ツールの回転方向を決定するステップとを備える。
他の局面に従うと、ロボットの制御プログラムが提供される。上記ロボットは、第1回転軸と、上記第1回転軸を中心として当該第1回転軸と直交する平面上において回転可能に構成されている第1アームと、上記第1回転軸と平行に配置され、上記第1アームに設けられている第2回転軸と、上記第2回転軸を中心として当該第2回転軸と直交する平面上において回転可能に構成されている第2アームと、上記第2回転軸と平行に配置され、上記第2アームに設けられている主軸と、上記主軸を中心として回転可能に構成され、上記主軸の先端に設けられ、ワークに対して所定の作業を行うための作業ツールと、上記第2アームおよび上記作業ツールを繋ぐケーブルとを含む。上記制御プログラムは、上記ロボットのコントローラに、上記ロボットにおける制御対象の目標位置を取得するステップと、上記制御対象が上記目標位置に移動する過程において上記ケーブルが上記ロボットの部品に衝突しないように上記作業ツールの回転方向を決定するステップとを実行させる。
ある局面において、作業過程で生じるケーブルの破損をスカラロボットの制御により防止することができる。
本開示の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
第1の実施の形態に従う制御システムの構成例を示す模式図である。 第1の実施の形態に従うスカラロボットの側面図である。 第1の実施の形態に従うスカラロボットの平面図である。 第1の実施の形態に従うスカラロボットをZ方向から表わした図である。 第2アームと作業ツールとの位置関係の一例を示す図である。 第2アームと作業ツールとの位置関係の一例を示す図である。 第2アームと作業ツールとの位置関係の一例を示す図である。 第2アームと作業ツールとの位置関係の一例を示す図である。 第2アームと作業ツールとの位置関係の一例を示す図である。 第2アームと作業ツールとの位置関係の一例を示す図である。 第1の実施の形態に従う制御システムを構成するコントローラの機能構成の一例を示す図である。 第1の実施の形態に従う制御システムを構成するサーボドライバの機能構成の一例を示す図である。 決定部による処理を表わすフローチャートである。 第1の実施の形態における、作業ツールの回転方向を決定する処理フローを表わす図である。 第1の実施の形態に従うコントローラのハードウェア構成例を示すブロッグ図である。 第2の実施の形態に従うコントローラの概要を説明するための図である。 第2の実施の形態における、作業ツールの回転方向を決定する処理フローを表わす図である。
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
<第1の実施の形態>
[A.システム構成]
まず、本実施の形態に従う制御システム1の構成例について説明する。図1は、本実施の形態に従う制御システム1の構成例を示す模式図である。
図1を参照して、制御システム1は、設定装置100と、PLC(Programmable Logic Controller)などのコントローラ200と、複数のドライブ装置と、スカラロボット300とを含む。図1の例では、ドライブ装置の一例として、サーボモータ340A〜340Dを駆動するサーボドライバ400A〜400Dを例示する。以下では、サーボモータ340A〜340Dを総称してサーボモータ340ともいう。サーボドライバ400A〜400Dを総称してサーボドライバ400ともいう。ドライブ装置としては、サーボドライバ400に限定されることなく、被駆動装置であるモータに応じて、対応するドライブ装置が採用される。たとえば、誘導モータまたは同期モータを駆動する場合には、ドライブ装置として、インバータドライブなどが採用されてもよい。
設定装置100は、たとえば、PC(Personal Computer)、タブレット端末、または、スマートフォンなどの端末装置である。設定装置100およびコントローラ200は、フィールドネットワークNW1に接続されている。フィールドネットワークNW1には、たとえば、EtherNET(登録商標)が採用される。但し、フィールドネットワークNW1は、EtherNETに限定されず、任意の通信手段が採用され得る。たとえば、設定装置100およびコントローラ200は、信号線で直接接続されてもよい。
コントローラ200およびサーボドライバ400は、デイジーチェーンでフィールドネットワークNW2に接続されている。フィールドネットワークNW2には、たとえば、EtherCAT(登録商標)が採用される。但し、フィールドネットワークNW2は、EtherCATに限定されず、任意の通信手段が採用され得る。一例として、コントローラ200およびサーボドライバ400は、信号線で直接接続されてもよい。また、コントローラ200およびサーボドライバ400は、一体的に構成されてもよい。
サーボドライバ400は、スカラロボット300のサーボモータ340を駆動する。サーボモータ340の回転軸にはエンコーダ(図示しない)が配置されている。当該エンコーダは、サーボモータ340のフィードバック値として、サーボモータの位置(回転角度)、回転速度、累積回転数などをサーボドライバ400へ出力する。但し、サーボモータ340からのフィードバック値は、コントローラ200へ直接入力されてもよい。
なお、図1には、制御システム1が1つのコントローラ200で構成されている例が示されているが、制御システム1は、複数のコントローラ200で構成されてもよい。また、図1には、制御システム1が1つのスカラロボット300で構成されている例が示されているが、制御システム1は、複数のスカラロボット300で構成されてもよい。また、図1には、コントローラ200およびサーボドライバ400が直接的に接続されている例が示されているが、コントローラ200およびサーボドライバ400の間にロボットコントローラなどが設けられてもよい。
[B.スカラロボットの装置構成]
図2および図3を参照して、スカラロボット300について説明する。図2は、スカラロボット300の側面図である。図3は、スカラロボット300の平面図である。
スカラロボット300は、基台320と、第1回転軸322と、第1アーム324と、第2回転軸326と、第2アーム328と、主軸33と、作業ツール332とを含む。
基台320および第1アーム324は、第1回転軸322によって連結されている。第1回転軸322はサーボモータ340A(図1参照)によって回転駆動される。その結果、第1アーム324は、第1回転軸322を中心に回転駆動される。
第1アーム324および第2アーム328は、第2回転軸326によって連結されている。より具体的には、第1アーム324の一端は、第1回転軸322を介して基台320に連結されており、第1アーム324の他端は、第2回転軸326を介して第2アーム328に連結されている。第2回転軸326は、サーボモータ340B(図1参照)によって回転駆動される。その結果、第2アーム328は、第2回転軸326を中心に回転駆動される。第1アーム324と第2アーム328とが連動して回転駆動されることで、第2アーム328は、動作領域AR1内で動作することができる。
説明の便宜のために、以下では、水平面上における所定方向をX方向ともいう。また、水平面上においてX方向に直交する方向をY方向ともいう。X方向およびY方向に直交する方向をZ方向ともいう。すなわち、Z方向は、鉛直方向に相当する。
主軸33は、サーボモータ340C(図1参照)によって、第2回転軸326と平行な方向(すなわち、Z方向)に駆動可能に構成される。また、主軸33は、第3回転軸として機能し、サーボモータ340D(図1参照)によって回転駆動される。すなわち、主軸33は、Z方向に駆動可能に構成されるとともに、Z方向の軸中心として回転可能に構成される。
主軸33の先端には、ワークWに対して予め定められた作業を行うための作業ツール332が設けられている。ワークWは、製品または半製品である。作業ツール332は、ワークWに作用を及ぼすエンドエフェクタとして機能する。作業ツール332は、主軸33に取り外し可能に構成される。すなわち、主軸33の先端には、作業ツール332を接続するためのインターフェイスが設けられる。
作業ツール332は、たとえば、ワークWのピックアップツールである。一例として、ピックアップツールは、吸引力を利用してワークWを吸着することでワークWをピックアップする。あるいは、ピックアップツールは、ワークWを把持することによりワークWをピックアップする。作業ツール332による作業の一例として、作業ツール332は、ネジなどのワークWを、コンベア上を搬送される製品に取り付ける作業を行う。あるいは、作業ツール332は、第1コンベア上を搬送されるワークWを、第2コンベア上を搬送される容器に順次移動する作業を行う。
第2アーム328と作業ツール332との間には、ケーブル333が接続されている。より具体的には、第2アーム328の表面には、コネクタ328Aが設けられており、作業ツール332の表面には、コネクタ332Aが設けられている。ケーブル333の一端は、コネクタ328Aに電気的に接続され、ケーブル333の他端は、コネクタ332Aに電気的に接続される。制御信号や駆動電力は、ケーブル333を介して作業ツール332に送られる。
[C.スカラロボットの動作制御]
図4を参照して、スカラロボット300の動作制御について説明する。図4は、Z方向からスカラロボット300を表わした図である。図4においては、第1回転軸322と、第1アーム324と、第2回転軸326と、第2アーム328と、主軸33とが簡略化して表わされている。
上述したように、第2アーム328と作業ツール332との間には、ケーブル333が接続されている。作業ツール332の回転方向によっては、ケーブル333がスカラロボット300の部品(たとえば、第2アーム328や主軸33)に衝突してしまう。その結果、ケーブル333がスカラロボット300の部品で擦れたり、当該部品に引っかかったりし、ケーブル333が破損してしまう。そこで、本実施の形態に従うコントローラ200は、スカラロボット300の駆動過程においてケーブル333がスカラロボット300の部品に衝突しないように作業ツール332の回転方向を決定する。
説明の便宜のために、以下では、XY平面上における反時計回りの回転を「正回転」ともいい、XY平面上における時計回りの回転を「負回転」ともいう。また、XY平面上において作業ツール332(または主軸33)を基準として固定されている所定方向を「ケーブル方向335」ともいう。ケーブル方向335は、作業ツール332に対してケーブル333が配置されているXY平面上の方向と同じまたは略同じである。
図4(A)には、作業ツール332が方向D1から方向D2に正回転している様子が示されている。図4(A)に示される第2アーム328の回転角度と作業ツール332の回転角度との関係では、作業ツール332が正回転すると、ケーブル方向335が第2アーム328を跨ぐ。その結果、ケーブル333が第2アーム328に接触してしまう。
図4(B)には、作業ツール332が方向D1から方向D2に負回転している様子が示されている。図4(B)に示される第2アーム328の回転角度と作業ツール332の回転角度との関係では、作業ツール332が方向D1から方向D2に負回転する過程で、ケーブル方向335は第2アーム328を跨がない。すなわち、ケーブル333は、第2アーム328に接触しない。
このように、作業ツール332を回転させるべき方向は、作業ツール332の移動前後における、第2アーム328と作業ツール332との位置関係に応じて決まる。この点に着目して、コントローラ200は、スカラロボット300の制御対象が現在位置から目標位置に移動する過程においてケーブル333がスカラロボット300の部品に接触しないように作業ツール332の回転方向を決定する。ここでいう制御対象とは、スカラロボット300を構成する任意の駆動部品である。一例として、当該制御対象は、第1アーム324、第2アーム328、主軸33、または作業ツール332などである。
ケーブル方向335が第2アーム328を跨がないように作業ツール332の回転方向が決定されることで、ケーブル333がスカラロボット300の部品に接触することが防止される。その結果、ケーブル333が近傍の部品で擦れたり、近傍の部品に引っかかったりすることが防止され、ケーブル333の破損が抑制される。
[D.回転方向の決定方法]
図5〜図10を参照して、作業ツール332の回転方向の決定方法について説明する。図5〜図10は、第2アーム328と作業ツール332との位置関係の一例を示す図である。
上述したように、スカラロボット300のコントローラ200は、第2アーム328と作業ツール332との位置関係に応じて作業ツール332を回転させるべき方向を決定する。
以下では、説明の便宜のために、目標位置への移動開始前における第2アーム328の回転角度を「回転角度θA1」として表わす。目標位置への移動開始前における作業ツール332の回転角度を「回転角度θB1」として表わす。目標位置への移動後における作業ツール332の回転角度を「回転角度θB2」として表わす。回転角度θA1、回転角度θB1、および回転角度θ は、XY平面上の角度として表される。なお、回転角度θB1,θB2は、作業ツール332の回転角度として表されているが、作業ツール332は、主軸33と連動するため、回転角度θB1,θB2は、主軸33の回転角度として表されてもよい。
回転角度θA1は、第2アーム328の主軸33側の一端から、第2アーム328の第2回転軸326側の他端に向かう方向と、所定の基準軸(たとえば、X軸)との間における正回転側の角度に相当する。より具体的には、コントローラ200は、第2アーム328を駆動するサーボドライバ400B(図1参照)から第2アーム328の現在位置を取得し、当該現在位置から回転角度θA1を算出する。
回転角度θB1,θB2は、所定の基準軸(たとえば、X軸)と、ケーブル方向335(図4参照)との間における正回転側の角度に相当する。移動前の回転角度θB1は、たとえば、主軸33を回転駆動するためのサーボドライバ400B(図1参照)の出力結果に基づいて算出される。移動後の回転角度θB2は、第2アーム328の移動先である目標位置に基づいて算出される。
コントローラ200は、移動前における第2アーム328の回転角度θA1と、移動前における作業ツール332の回転角度θB1と、移動後における作業ツール332の回転角度θB2との間の相対関係に基づいて、作業ツール332の回転方向を決定する。
より具体的には、図5に示されるように、回転角度θA1、θB1、θB2の間の角度関係が下記式(1)を満たす場合には、コントローラ200は、作業ツール332を正回転すると決定する。
θB1<θB2<θA1・・・(1)
図6に示されるように、回転角度θA1、θB1、θB2の間の角度関係が下記式(2)を満たす場合には、コントローラ200は、作業ツール332を正回転すると決定する。
θA1<θB1<θB2・・・(2)
図7に示されるように、回転角度θA1、θB1、θB2の間の角度関係が下記式(3)を満たす場合には、コントローラ200は、作業ツール332を正回転すると決定する。
θB2<θA1<θB1・・・(3)
図8に示されるように、回転角度θA1、θB1、θB2の間の角度関係が下記式(4)を満たす場合には、コントローラ200は、作業ツール332を負回転すると決定する。
θB1<θA1<θB2・・・(4)
図9に示されるように、回転角度θA1、θB1、θB2の間の角度関係が下記式(5)を満たす場合には、コントローラ200は、作業ツール332を負回転すると決定する。
θB2<θB1<θA1・・・(5)
図10に示されるように、回転角度θA1、θB1、θB2の間の角度関係が下記式(6)を満たす場合には、コントローラ200は、作業ツール332を負回転すると決定する。
θA1<θB2<θB1・・・(6)
なお、上述では、正回転方向を正の角度として表わす右手座標系がスカラロボット300の座標系として採用されている前提に説明を行ったが、負回転方向を正の角度として表わす左手座標系がスカラロボット300の座標系として採用されてもよい。この場合、上記式(1)〜式(6)に示される大小関係が逆転する。典型的には、上述の回転方向を決定する制御は、右手系および左手系のいずれかの座標系を採用するスカラロボット300に対して適用され得るが、当該制御は、右手系および左手系の座標系以外の座標系を採用するスカラロボット300に対しても適用され得る。
[E.制御システム1の機能構成]
図11および図12を参照して、制御システム1を構成する各装置の機能について説明する。図11は、制御システム1を構成するコントローラ200の機能構成の一例を示す図である。図12は、制御システム1を構成するサーボドライバ400の機能構成の一例を示す図である。
(E1.コントローラ200の機能構成)
まず、図11を参照して、コントローラ200の機能について説明する。
図11に示されるように、コントローラ200は、機能構成として、取得部252と、決定部254と、生成部256と、変換部258と、出力部260とを含む。図11に示される各機能ブロックは、たとえば、コントローラ200の後述の制御装置201(図15参照)によって実現される。
取得部252は、コントローラ200の上位コントローラや設定装置100などから、スカラロボット300における制御対象の目標位置を取得する。当該目標位置は、たとえば、予め設定されている作業工程に従って上位コントローラによって決定されたり、設定装置100にインストールされているプログラムツールにおいてユーザによって指定されたりする。目標位置は、たとえば、当該プログラムツール上の座標系(x,y,z)で表わされる。取得部252によって取得された目標位置は、決定部254に出力される。
決定部254は、取得部252によって取得された制御対象の目標位置と、サーボドライバ400から取得した制御対象の現在位置とに基づいて、作業ツール332の回転方向を決定する。また、決定部254は、取得部252によって取得された制御対象の目標位置と、サーボドライバ400から取得した現在位置とに基づいて、生成部256が制御対象の軌跡を生成するために必要な絶対目標位置を生成する。当該絶対目標位置は、たとえば、実空間の座標系(x’,y’,z’’)で表わされる。座標値「x’」は、上述のX軸上の位置を表わす。座標値「y’」は、上述のY軸上の位置を表わす。座標値「z’」は、上述のZ軸上の位置を表わす。座標値「r’」は、作業ツール332の回転方向を表わし、正回転または負回転を表わす。決定部254による処理の詳細については後述する。
好ましくは、決定部254は、スカラロボット300の制御対象の移動を開始する前に作業ツール332の回転方向を決定する。決定部254によって回転方向が決定された後、コントローラ200は、スカラロボット300の制御対象(たとえば、第2アーム328や作業ツール332など)が目標位置に移動する過程において、決定された回転方向に作業ツール332を回転する。すなわち、コントローラ200は、作業ツール332の回転方向を決定した後に、決定した回転方向での作業ツール332の回転駆動を開始する。
生成部256は、決定部254から出力された絶対目標位置へ制御対象を移動させるための速度波形を生成する。生成部256は、生成された速度波形に基づいて算出された所定周期ごとの指令位置を変換部258に出力する。
変換部258は、生成部256から出力された指令位置を、スカラロボット300のサーボドライバ400が読み取ることができる形式に変換する。当該変換は、逆運動学演算や予め定められた座標系変換式に基づいて行われる。これにより、生成部256から出力された指令位置は、スカラロボット300を基準とするロボット座標系に変換される。
出力部260は、変換部258から出力された指令位置をサーボドライバ400に出力する。これにより、サーボドライバ400の各々は、対応する制御対象を目標位置に向けて駆動する。
(E2.サーボドライバ400の機能構成)
次に、図12を参照して、本実施の形態に従うコントローラ200に接続されるサーボドライバ400の機能構成の一例について説明する。図12に示す各機能ブロックは、サーボドライバ400の制御装置(図示しない)によって実現される。
本実施の形態に従う制御システム1においては、コントローラ200からサーボドライバ400に対して指令値として目標位置が与えられる。サーボドライバ400は、制御対象であるスカラロボット300の各アームの実位置がコントローラ200からの目標位置と一致するように、サーボモータ340へ供給する駆動電流を制御する。
典型的には、サーボドライバ400においては、位置についてのメインループに加えて、速度についてのマイナーループを含む、制御ループが実装されている。より具体的には、サーボドライバ400は、機能構成として、差分演算部410,414と、位置制御部412と、速度制御部416と、トルクフィルタ420と、電流制御部422と、速度検知部424とを含む。
位置制御部412は、位置についての制御ループを構成する制御演算部であり、差分演算部410において算出される、目標位置と実位置(フィードバック値)との偏差に応じた制御量を出力する。位置制御部412としては、典型的には、P(比例)制御が用いられてもよい。つまり、位置制御部412は、目標位置と実位置との偏差に予め定められた比例係数を乗じた値を制御量として出力する。
速度制御部416は、速度についての制御ループを構成する制御演算部であり、差分演算部414において算出される、位置制御部412からの制御量と速度検知部424からの実速度との偏差に応じた制御量を出力する。速度制御部416としては、典型的には、PI(比例積分)制御が用いられてもよい。つまり、位置制御部412は、位置制御部412からの指令速度と実速度との偏差に対して、比例係数を乗じた値と積分要素によって積分された値との和を制御量として出力する。
トルクフィルタ420は、速度制御部416から出力される制御量(サーボモータ340で発生させるべきトルクの指令値)の単位時間あたりの変化の度合いが大きくなり過ぎないように、時間変化の度合いを緩和する。すなわち、トルクフィルタ420は、速度制御部416から出力される制御量を鈍らせる。トルクフィルタ420からの制御量は電流制御部422に出力される。
電流制御部422は、トルクフィルタ420からの制御量に対応させて、スカラロボット300のサーボモータ340でのスイッチングタイミングを決定する。つまり、電流制御部422は、トルクフィルタ420にて決定された指令トルクを実現できるように、サーボモータ340へ供給する電流の大きさ、タイミング、波形などを決定する。電流制御部422にて決定された制御量に従って、サーボモータ340が駆動される。サーボモータ340から供給される電流によって、サーボモータ340が回転駆動される。
スカラロボット300の各アームの変位を示すフィードバック値として、エンコーダ(図示しない)から実位置が出力される、速度検知部424は、エンコーダからの実位置を微分して実速度を算出する。
[F.コントローラ200の制御構造]
図13を参照して、コントローラ200の制御構造について説明する。図13は、上述の決定部254(図11参照)による処理を表わすフローチャートである。図13の処理は、コントローラ200の後述の制御装置201(図15参照)によって実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
ステップS110において、制御装置201は、決定部254として、スカラロボット300の制御対象の目標位置を上述の取得部252(図11参照)から受け付ける。一例として、制御装置201は、第2アーム328の目標位置と、主軸33(または作業ツール332)の目標位置とを取得する。当該目標位置は、たとえば、予め設定されている作業工程に従って上位コントローラによって決定されたり、上述の設定装置100にインストールされているプログラムツールにおいてユーザによって指定されたりする。目標位置は、たとえば、当該プログラムツール上の座標系(x,y,z)で表わされる。
ステップS112において、制御装置201は、サーボドライバ400から制御対象の現在位置を取得する。一例として、制御装置201は、第2アーム328の現在位置と、主軸33(または作業ツール332)の現在位置とを取得する。
ステップS114において、制御装置201は、ステップS112で取得した第2アーム328の現在位置から第2アーム328の現在の回転角度を算出する。一例として、制御装置201は、予め定められた行列変換式に従って第2アーム328の現在位置を第2アーム328の現在の回転角度に変換する。
ステップS116において、制御装置201は、ステップS110で取得された作業ツール332の目標位置を実空間の座標系(x’,y’,z’)に変換する。座標値「x’」は、上述のX軸上の位置を表わす。座標値「y’」は、上述のY軸上の位置を表わす。座標値「z’」は、上述のZ軸上の位置を表わす。一例として、制御装置201は、予め定められた行列変換式に従って作業ツール332の目標位置を移動後における第2アーム328の回転角度に変換する。
ステップS120において、制御装置201は、作業ツール332の回転方向を決定する。作業ツール332の回転方向の決定フローについては図14で説明する。
ステップS200において、制御装置201は、ステップS116で算出された作業ツール332の絶対目標位置にステップS120で決定された回転方向を付加する。その結果、実空間上での作業ツール332の絶対目標位置は、座標系(x’,y’,z’rz’)で表わされる。座標値「rz’」は、作業ツール332の回転方向を表わし、正回転または負回転を表わす。あるいは、座標値「rz’」は、作業ツール332の回転角度で表わされてもよい。実空間上での作業ツール332の絶対目標位置は、上述の生成部256(図11参照)に出力される。
(F1.ステップS120の処理フロー)
図14を参照して、図13に示されるステップS120の処理についてさらに詳細に説明する。図14は、作業ツール332の回転方向を決定する処理フローを表わす図である。
ステップS122において、制御装置201は、移動前における作業ツール332の回転角度θB1(図5〜図10参照)と、移動後における作業ツール332の回転角度θB2(図5〜図10参照)とを取得する。上述の通り、回転角度θB1,θB2は、所定の基準軸(たとえば、X軸)と、上述のケーブル方向335(図4参照)との間における正回転側の角度に相当する。
ステップS124において、制御装置201は、第2アーム328の回転角度θA1(図5〜図10参照)を算出する。典型的には、制御装置201は、第2アーム328を駆動するサーボドライバ400Bから得られる回転角度に180度を加算した結果を回転角度θA1としてみなす。すなわち、通常、サーボドライバ400Bから出力される第2アーム328の回転角度は、第2アーム328の第2回転軸326側の一端から第2アーム328の主軸33側の他端に向かう方向を表わすので、アーム方向の逆方向を表わす。そのため、制御装置201は、サーボドライバ400Bから出力される第2アーム328の回転角度に180度を加算することでアーム方向を特定する。
ステップS130において、制御装置201は、移動後における作業ツール332の回転角度θB2が移動前における第2アーム328の回転角度θA1よりも小さいか否かを判断する。制御装置201は、回転角度θB2が回転角度θA1よりも小さいと判断した場合(ステップS130においてYES)、制御をステップS132に切り替える。そうでない場合には(ステップS130においてNO)、制御装置201は、制御をステップS142に切り替える。
ステップS132において、制御装置201は、移動前における第2アーム328の回転角度θA1が移動前における作業ツール332の回転角度θB1よりも小さいか否かを判断する。制御装置201は、回転角度θA1が回転角度θB1よりも小さいと判断した場合(ステップS132においてYES)、制御をステップS138に切り替える。そうでない場合には(ステップS132においてNO)、制御装置201は、制御をステップS134に切り替える。
ステップS134において、制御装置201は、移動前における作業ツール332の回転角度θB1が移動後における作業ツール332の回転角度θB2よりも小さいか否かを判断する。制御装置201は、回転角度θB1が回転角度θB2よりも小さいと判断した場合(ステップS134においてYES)、制御をステップS138に切り替える。そうでない場合には(ステップS134においてNO)、制御装置201は、制御をステップS136に切り替える。
ステップS136において、制御装置201は、作業ツール332の回転方向を負回転に決定する。
ステップS138において、制御装置201は、作業ツール332の回転方向を正回転に決定する。
ステップS142において、制御装置201は、移動前における作業ツール332の回転角度θB1が移動前における第2アーム328の回転角度θA1よりも小さいか否かを判断する。制御装置201は、回転角度θB1が回転角度θA1よりも小さいと判断した場合(ステップS142においてYES)、制御をステップS148に切り替える。そうでない場合には(ステップS142においてNO)、制御装置201は、制御をステップS144に切り替える。
ステップS144において、制御装置201は、移動後における作業ツール332の回転角度θB2が移動前における作業ツール332の回転角度θB1よりも小さいか否かを判断する。制御装置201は、回転角度θB2が回転角度θB1よりも小さいと判断した場合(ステップS144においてYES)、制御をステップS148に切り替える。そうでない場合には(ステップS144においてNO)、制御装置201は、制御をステップS146に切り替える。
ステップS146において、制御装置201は、作業ツール332の回転方向を正回転に決定する。
ステップS148において、制御装置201は、作業ツール332の回転方向を負回転に決定する。
[G.コントローラ200のハードウェア構成]
図15を参照して、コントローラ200のハードウェア構成について説明する。図15は、コントローラ200のハードウェア構成例を示すブロッグ図である。
コントローラ200は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などの制御装置201と、チップセット202と、主メモリ206と、記憶装置220と、ローカルネットワークコントローラ203と、USB(Universal Serial Bus)コントローラ204と、メモリカードインターフェイス205と、内部バスコントローラ210と、フィールドバスコントローラ208,209と、I/Oユニット211−1,211−2,…とを含む。
制御装置201は、記憶装置220に格納された各種プログラムを読み出して、主メモリ206に展開して実行することで、制御対象に応じた制御、および、本実施の形態に従う処理などを実現する。チップセット202は、制御装置201と各コンポーネントを制御することで、コントローラ200全体としての処理を実現する。
記憶装置220は、たとえば、二次記憶装置である。記憶装置220には、PLCエンジンを実現するためのシステムプログラムに加えて、PLCエンジンを利用して実行されるユーザプログラム221などが格納される。ユーザプログラム221は、論理的な演算を主とするシーケンスプログラム222、位置制御や速度制御などの数値的な演算を主とするモーションプログラム223、スカラロボット300の制御プログラム224などを含む。
ローカルネットワークコントローラ203は、ローカルネットワークを介した他の装置(たとえば、サーバーなど)との間のデータの遣り取りを制御する。USBコントローラ204は、USB接続を介して他の装置(たとえば、PC(Personal Computer)など)
との間のデータの遣り取りを制御する。
メモリカードインターフェイス205は、メモリカード216を着脱可能に構成されており、メモリカード216に対してデータを書込み、メモリカード216から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。
内部バスコントローラ210は、コントローラ200に搭載されるI/Oユニット211−1,211−2,…との間でデータを遣り取りするインターフェイスである。
フィールドバスコントローラ208は、フィールドネットワークNW1(図1参照)を介した他の装置(たとえば、設定装置100など)との間のデータの遣り取りを制御する。同様に、フィールドバスコントローラ209は、フィールドネットワークNW2(図1参照)を介した他の装置(たとえば、スカラロボット300やサーボドライバ400)との間のデータの遣り取りを制御する。
図15には、制御装置201がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、コントローラ200の主要部を、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
[H.第1の実施の形態のまとめ]
以上のようにして、本実施の形態に従うコントローラ200は、スカラロボット300の制御対象が目標位置に移動する過程においてケーブル333がスカラロボット300の部品(たとえば、第2アーム328や作業ツール332)に衝突しないように作業ツール332の回転方向を決定する。その後、コントローラ200は、制御対象の移動過程において、作業ツール332を決定した回転方向に回転させる。これにより、作業過程においてケーブル333が破損することが防止される。このような破損が作業ツール332の回転方向の制御によって防止されるので、スカラロボットにメカ的な構造を新たに設ける必要がない。そのため、スカラロボット300のコストの増大が抑制され、スカラロボット300のサイズが大きくなることもない。
<第2の実施の形態>
[A.概要]
図16は、第2の実施の形態に従うコントローラ200の概要を説明するための図である。
図16には、スカラロボット300が状態SA1から状態SA2に遷移している様子が示されている。第1の実施の形態に従うコントローラ200は、移動前における第2アーム328の回転角度と、移動前における作業ツール332の回転角度と、移動後における作業ツール332の回転角度との間の相対関係に基づいて、作業ツール332の回転方向を決定していた。第1の実施の形態における回転方向の決定方法が採用されると、状態SA1では、コントローラ200は、作業ツール332を負回転させると決定する。
しかしながら、状態SA1から状態SA2に遷移する過程で、第2アーム328と作業ツール332との位置関係が変わる。その結果、作業ツール332が負回転すると、ケーブル333がスカラロボット300の部品に衝突してしまう。このように、第1の実施の形態で説明した回転方向の決定方法では、ケーブル333がスカラロボット300の部品に衝突してしまうことが稀に生じる。
そこで、第2の実施の形態に従うコントローラ200は、移動前における第2アーム328の回転角度、移動前における作業ツール332の回転角度、および移動後における作業ツール332の回転角度だけでなく、移動後における第2アーム328の回転角度をさらに用いて、作業ツール332の回転方向を決定する。このように、移動後における第2アーム328の回転角度が考慮されることで、コントローラ200は、作業過程においてケーブル333が第2アーム328に接触することをより確実に防止できる。
第2の実施の形態に従う制御システム1のハードウェア構成などその他の点については第1の実施の形態に従う制御システム1と同じであるので、以下ではそれらの説明については繰り返さない。
[B.コントローラ200の制御構造]
図17を参照して、第2の実施の形態に従うコントローラ200の制御構造について説明する。図17は、第2の実施の形態における、作業ツール332の回転方向を決定する処理フローを表わす図である。
ステップS122Aにおいて、制御装置201は、移動後における第2アーム328の回転角度θA2と、移動前における作業ツール332の回転角度θB1と、移動後における作業ツール332の回転角度θB2とを取得する。回転角度θA2は、第2アーム328の主軸33側の一端から、第2アーム328の第2回転軸326側の他端に向かう方向と、所定の基準軸(たとえば、X軸)との間における正回転側の角度に相当する。移動後の回転角度θA2は、スカラロボット300の制御対象の目標位置に基づいて算出される。
ステップS123Aにおいて、制御装置201は、第2アーム328の回転角度θB2から、移動前から移動後における第2アーム328の回転角度(すなわち、θA2−θA1)を差し引き、補正角度θ’を算出する。すなわち、補正角度θ’は、下記式(7)に基づいて算出される。
θ’=θB2−(θA2−θB1)・・・(7)
ステップS124において、制御装置201は、第2アーム328の回転角度θA1(図5〜図10参照)を算出する。典型的には、制御装置201は、第2アーム328を駆動するサーボドライバ400Bから得られる回転角度に180度を加算した結果を回転角度θA1としてみなす。すなわち、通常、サーボドライバ400Bから出力される第2アーム328の回転角度は、第2アーム328の第2回転軸326側の一端から第2アーム328の主軸33側の他端に向かう方向を表わすが、制御装置201は、当該角度に180度を加算することで、第2アーム328の主軸33側の一端から第2アーム328の第2回転軸326側の他端に向かう方向に変換する。
ステップS130Aにおいて、制御装置201は、ステップS123Aで算出された補正角度θ’が移動前における第2アーム328の回転角度θA1よりも小さいか否かを判断する。制御装置201は、補正角度θ’が回転角度θA1よりも小さいと判断した場合(ステップS130AにおいてYES)、制御をステップS132に切り替える。そうでない場合には(ステップS130AにおいてNO)、制御装置201は、制御をステップS142に切り替える。
ステップS132において、制御装置201は、移動前における第2アーム328の回転角度θA1が移動前における作業ツール332の回転角度θB1よりも小さいか否かを判断する。制御装置201は、回転角度θA1が回転角度θB1よりも小さいと判断した場合(ステップS132においてYES)、制御をステップS138に切り替える。そうでない場合には(ステップS132においてNO)、制御装置201は、制御をステップS134Aに切り替える。
ステップS134Aにおいて、制御装置201は、移動前における作業ツール332の回転角度θB1がステップS123Aで算出された補正角度θ’よりも小さいか否かを判断する。制御装置201は、回転角度θB1が補正角度θ’よりも小さいと判断した場合(ステップS134AにおいてYES)、制御をステップS138に切り替える。そうでない場合には(ステップS134AにおいてNO)、制御装置201は、制御をステップS136に切り替える。
ステップS136において、制御装置201は、作業ツール332の回転方向を負回転に決定する。
ステップS138において、制御装置201は、作業ツール332の回転方向を正回転に決定する。
ステップS142において、制御装置201は、移動前における作業ツール332の回転角度θB1が移動前における第2アーム328の回転角度θA1よりも小さいか否かを判断する。制御装置201は、回転角度θB1が回転角度θA1よりも小さいと判断した場合(ステップS142においてYES)、制御をステップS148に切り替える。そうでない場合には(ステップS142においてNO)、制御装置201は、制御をステップS144Aに切り替える。
ステップS144Aにおいて、制御装置201は、ステップS123Aで算出された補正角度θ’が移動前における作業ツール332の回転角度θB1よりも小さいか否かを判断する。制御装置201は、補正角度θ’が回転角度θB1よりも小さいと判断した場合(ステップS144AにおいてYES)、制御をステップS148に切り替える。そうでない場合には(ステップS144AにおいてNO)、制御装置201は、制御をステップS146に切り替える。
ステップS146において、制御装置201は、作業ツール332の回転方向を正回転に決定する。
ステップS148において、制御装置201は、作業ツール332の回転方向を負回転に決定する。
[C.第2の実施の形態のまとめ]
以上のようにして、本実施の形態に従うコントローラ200は、制御対象の移動前における第2アーム328の回転角度と、制御対象の移動後における第2アーム328の回転角度と、制御対象の移動前における作業ツール332の回転角度と、制御対象の移動後における作業ツール332の回転角度との間の相対関係に基づいて、作業ツール332の回転方向を決定する。このように、移動後における第2アーム328の回転角度がさらに考慮されることで、コントローラ200は、作業過程においてケーブル333がスカラロボット300の部品に衝突することをより確実に防止できる。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
1 制御システム、100 設定装置、200 コントローラ、201 制御装置、202 チップセット、203 ローカルネットワークコントローラ、204 USBコントローラ、205 メモリカードインターフェイス、206 主メモリ、208,209 フィールドバスコントローラ、210 内部バスコントローラ、211−1,211−2 I/Oユニット、216 メモリカード、220 記憶装置、221 ユーザプログラム、222ーケンスプログラム、223 モーションプログラム、224 制御プログラム、252 取得部、254 決定部、256 生成部、258 変換部、260 出力部、300 スカラロボット、320 基台、322 第1回転軸、324 第1アーム、326 第2回転軸、328 第2アーム、328A,332A コネクタ、33 主軸、332 作業ツール、333 ケーブル、335 ケーブル方向、340A〜340D サーボモータ、400A〜400D サーボドライバ、410,414 差分演算部、412 位置制御部、416 速度制御部、418 加算部、420 トルクフィルタ、422 電流制御部、424 速度検知部。

Claims (8)

  1. 制御システムであって、
    ロボットと、
    前記ロボットを制御するためのコントローラとを備え、
    前記ロボットは、
    第1回転軸と、
    前記第1回転軸を中心として当該第1回転軸と直交する平面上において回転可能に構成されている第1アームと、
    前記第1回転軸と平行に配置され、前記第1アームに設けられている第2回転軸と、
    前記第2回転軸を中心として当該第2回転軸と直交する平面上において回転可能に構成されている第2アームと、
    前記第2回転軸と平行に配置され、前記第2アームに設けられている主軸と、
    前記主軸を中心として回転可能に構成され、前記主軸の先端に設けられ、ワークに対して所定の作業を行うための作業ツールと、
    前記第2アームおよび前記作業ツールを繋ぐケーブルとを含み、
    前記コントローラは、
    前記ロボットにおける制御対象の目標位置を取得するための取得部と、
    前記制御対象が前記目標位置に移動する過程において前記ケーブルが前記ロボットの部品に衝突しないように前記作業ツールの回転方向を決定するための決定部とを含む、制御システム。
  2. 前記決定部は、前記制御対象の移動前における前記第2アームの回転角度と、前記制御対象の移動前における前記作業ツールの回転角度と、前記制御対象の移動後における前記作業ツールの回転角度との間の相対関係に基づいて前記回転方向を決定する、請求項1に記載の制御システム。
  3. 前記決定部は、前記制御対象の移動前における前記第2アームの回転角度と、前記制御対象の移動後における前記第2アームの回転角度と、前記制御対象の移動前における前記作業ツールの回転角度と、前記制御対象の移動後における前記作業ツールの回転角度との間の相対関係に基づいて、前記回転方向を決定する、請求項1に記載の制御システム。
  4. 前記決定部は、前記制御対象の移動を開始する前に前記回転方向を決定する、請求項1〜3のいずれか1項に記載の制御システム。
  5. 前記作業ツールは、前記制御対象が前記目標位置に移動する過程において前記回転方向に回転するように構成されている、請求項1〜4のいずれか1項に記載の制御システム。
  6. ロボットのコントローラであって、
    前記ロボットは、
    第1回転軸と、
    前記第1回転軸を中心として当該第1回転軸と直交する平面上において回転可能に構成されている第1アームと、
    前記第1回転軸と平行に配置され、前記第1アームに設けられている第2回転軸と、
    前記第2回転軸を中心として当該第2回転軸と直交する平面上において回転可能に構成されている第2アームと、
    前記第2回転軸と平行に配置され、前記第2アームに設けられている主軸と、
    前記主軸を中心として回転可能に構成され、前記主軸の先端に設けられ、ワークに対して所定の作業を行うための作業ツールと、
    前記第2アームおよび前記作業ツールを繋ぐケーブルとを含み、
    前記コントローラは、
    前記ロボットにおける制御対象の目標位置を取得するための取得部と、
    前記制御対象が前記目標位置に移動する過程において前記ケーブルが前記ロボットの部品に衝突しないように前記作業ツールの回転方向を決定するための決定部とを含む、コントローラ。
  7. ロボットの制御方法であって、
    前記ロボットは、
    第1回転軸と、
    前記第1回転軸を中心として当該第1回転軸と直交する平面上において回転可能に構成されている第1アームと、
    前記第1回転軸と平行に配置され、前記第1アームに設けられている第2回転軸と、
    前記第2回転軸を中心として当該第2回転軸と直交する平面上において回転可能に構成されている第2アームと、
    前記第2回転軸と平行に配置され、前記第2アームに設けられている主軸と、
    前記主軸を中心として回転可能に構成され、前記主軸の先端に設けられ、ワークに対して所定の作業を行うための作業ツールと、
    前記第2アームおよび前記作業ツールを繋ぐケーブルとを含み、
    前記制御方法は、
    前記ロボットにおける制御対象の目標位置を取得するステップと、
    前記制御対象が前記目標位置に移動する過程において前記ケーブルが前記ロボットの部品に衝突しないように前記作業ツールの回転方向を決定するステップとを備える、制御方法。
  8. ロボットの制御プログラムであって、
    前記ロボットは、
    第1回転軸と、
    前記第1回転軸を中心として当該第1回転軸と直交する平面上において回転可能に構成されている第1アームと、
    前記第1回転軸と平行に配置され、前記第1アームに設けられている第2回転軸と、
    前記第2回転軸を中心として当該第2回転軸と直交する平面上において回転可能に構成されている第2アームと、
    前記第2回転軸と平行に配置され、前記第2アームに設けられている主軸と、
    前記主軸を中心として回転可能に構成され、前記主軸の先端に設けられ、ワークに対して所定の作業を行うための作業ツールと、
    前記第2アームおよび前記作業ツールを繋ぐケーブルとを含み、
    前記制御プログラムは、前記ロボットのコントローラに、
    前記ロボットにおける制御対象の目標位置を取得するステップと、
    前記制御対象が前記目標位置に移動する過程において前記ケーブルが前記ロボットの部品に衝突しないように前記作業ツールの回転方向を決定するステップとを実行させる、制御プログラム。
JP2017040259A 2017-03-03 2017-03-03 制御システム、コントローラ、制御方法、および制御プログラム Active JP6859756B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017040259A JP6859756B2 (ja) 2017-03-03 2017-03-03 制御システム、コントローラ、制御方法、および制御プログラム
CN201711370632.7A CN108527375B (zh) 2017-03-03 2017-12-18 控制***、控制器、控制方法及记录媒体
EP17208214.1A EP3369533B1 (en) 2017-03-03 2017-12-18 Control system, controller, control method, and recording medium
US15/846,206 US10625418B2 (en) 2017-03-03 2017-12-19 Control system, controller, control method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017040259A JP6859756B2 (ja) 2017-03-03 2017-03-03 制御システム、コントローラ、制御方法、および制御プログラム

Publications (2)

Publication Number Publication Date
JP2018144141A true JP2018144141A (ja) 2018-09-20
JP6859756B2 JP6859756B2 (ja) 2021-04-14

Family

ID=60781704

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017040259A Active JP6859756B2 (ja) 2017-03-03 2017-03-03 制御システム、コントローラ、制御方法、および制御プログラム

Country Status (4)

Country Link
US (1) US10625418B2 (ja)
EP (1) EP3369533B1 (ja)
JP (1) JP6859756B2 (ja)
CN (1) CN108527375B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020075353A (ja) * 2018-10-24 2020-05-21 ファナック株式会社 ロボットシステム
CN112356036A (zh) * 2020-11-23 2021-02-12 北京配天技术有限公司 一种scara机器人轨迹规划方法、装置、设备及存储介质
KR102245335B1 (ko) * 2019-10-31 2021-04-29 주식회사파멕스 케이블 지지장치

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6859757B2 (ja) * 2017-03-03 2021-04-14 オムロン株式会社 制御システム、設定装置、設定方法、および設定プログラム
CN111086017A (zh) * 2018-10-24 2020-05-01 发那科株式会社 机器人***
CN109366487A (zh) * 2018-11-15 2019-02-22 广东工业大学 一种关于scara型机器人的控制***
US11707842B2 (en) 2018-11-27 2023-07-25 Fanuc Corporation Robot system and coordinate conversion method
DE102018130865A1 (de) * 2018-12-04 2020-06-04 Innogy Se Positionierungssystem zum Positionieren eines Kopplungselements für einen Ladevorgang an einem elektrisch betriebenen Fahrzeug
CN112757268A (zh) * 2020-12-31 2021-05-07 肇庆学院 一种智能机械臂及其控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09239687A (ja) * 1996-03-07 1997-09-16 Hitachi Zosen Corp 多関節ロボットのツールへのケーブル処理方法およびケーブル処理装置
JPH1199493A (ja) * 1997-09-30 1999-04-13 Tokico Ltd 工業用ロボット
JP2008307635A (ja) * 2007-06-14 2008-12-25 Yamaha Motor Co Ltd ロボット

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10211594A (ja) * 1997-01-28 1998-08-11 Mitsubishi Electric Corp レーザロボットの制御方法及びこの制御装置
NZ332251A (en) * 1998-10-09 2001-06-29 Peter Carbines Welding robot utilising gas shielded welding with power cable connected to welding electrode within a welding nozzle via slip ring assembly
JP3861889B2 (ja) * 2004-06-23 2006-12-27 松下電器産業株式会社 アーク溶接ロボット
JP5037191B2 (ja) * 2007-03-27 2012-09-26 東京エレクトロン株式会社 基板搬送装置及びケーブル配線構造
JP5283541B2 (ja) * 2009-03-05 2013-09-04 株式会社神戸製鋼所 ロボットの動作経路生成方法
JP5201186B2 (ja) * 2010-09-16 2013-06-05 株式会社安川電機 ロボット
WO2014099936A1 (en) * 2012-12-18 2014-06-26 Illionis Tool Works Inc. Self-adjusting wire feeder mounting assembly and robotic mig-welding torch
CN105252545A (zh) * 2014-07-04 2016-01-20 上银科技股份有限公司 水平关节机械手臂
JP6525541B2 (ja) 2014-10-15 2019-06-05 ライフロボティクス株式会社 ロボッ卜アーム機構
CN204470846U (zh) * 2015-02-13 2015-07-15 安徽零点精密机械有限责任公司 一种焊接机器人
JP6539457B2 (ja) 2015-02-20 2019-07-03 株式会社ダイヘン ロボットの関節構造
CN204997689U (zh) * 2015-07-08 2016-01-27 威海新北洋正棋机器人股份有限公司 线管连接机构及水平关节机器人
CN205521365U (zh) * 2016-01-21 2016-08-31 珠海格力电器股份有限公司 多关节机器人

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09239687A (ja) * 1996-03-07 1997-09-16 Hitachi Zosen Corp 多関節ロボットのツールへのケーブル処理方法およびケーブル処理装置
JPH1199493A (ja) * 1997-09-30 1999-04-13 Tokico Ltd 工業用ロボット
JP2008307635A (ja) * 2007-06-14 2008-12-25 Yamaha Motor Co Ltd ロボット

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020075353A (ja) * 2018-10-24 2020-05-21 ファナック株式会社 ロボットシステム
KR102245335B1 (ko) * 2019-10-31 2021-04-29 주식회사파멕스 케이블 지지장치
CN112356036A (zh) * 2020-11-23 2021-02-12 北京配天技术有限公司 一种scara机器人轨迹规划方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US10625418B2 (en) 2020-04-21
CN108527375B (zh) 2021-03-02
EP3369533A1 (en) 2018-09-05
EP3369533B1 (en) 2021-01-13
CN108527375A (zh) 2018-09-14
US20180250817A1 (en) 2018-09-06
JP6859756B2 (ja) 2021-04-14

Similar Documents

Publication Publication Date Title
JP6859756B2 (ja) 制御システム、コントローラ、制御方法、および制御プログラム
CN106891321B (zh) 作业装置
JP6859757B2 (ja) 制御システム、設定装置、設定方法、および設定プログラム
JP2010167515A (ja) 多軸ロボット及びその速度制御装置
TWI689389B (zh) 多軸機器人
CN108687758B (zh) 机器人的移动速度控制装置及方法
KR20130056344A (ko) 7축 다관절 로봇의 제어방법, 제어 프로그램 및 로봇 제어장치
CN111775145A (zh) 一种串并联机器人的控制***
CN109955279B (zh) 机器人手、其控制方法、物品的组装方法及存储介质
Ngo et al. Design and implementation of high performance motion controller for 2-D delta robot
WO2017175340A1 (ja) 最適化装置及びそれを備えた垂直型多関節ロボット
JP2015003348A (ja) ロボット制御システム、制御装置、ロボット、ロボット制御システムの制御方法及びロボットの制御方法
WO2021241512A1 (ja) ワークに対する作業をロボットに実行させる制御装置、ロボットシステム、及び制御方法
JP7392590B2 (ja) ロボット制御システム、制御プログラムおよび制御方法
JP2019141983A (ja) ロボット制御装置
JP6050565B2 (ja) ロボットの制御方法およびロボットの制御装置
WO2024045091A1 (zh) 执行机构的运动规划方法、装置、***及存储介质
CN210307891U (zh) 一种多自由度机械手
Kung et al. Articulated Robotic Arm Control System Upgrade Using Low Cost Computer with Computer Vision
KR20200125430A (ko) 스크라이브 장치, 및, 제어 방법
JP2022006926A (ja) ロボット制御システム、制御プログラムおよび制御方法
JP2012196717A (ja) ロボットの制御方法およびロボットの制御装置
JP2000250615A (ja) 工作機のワーク姿勢制御方法
CN116551665A (zh) 对机器人的校准传感器坐标系进行校准的方法和装置
JP2022006927A (ja) ロボット制御システム、制御プログラムおよび制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180628

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210114

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: 20210224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210309

R150 Certificate of patent or registration of utility model

Ref document number: 6859756

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150