IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ セイコーエプソン株式会社の特許一覧

<>
  • 特開-ロボットのプログラム作成方法 図1
  • 特開-ロボットのプログラム作成方法 図2
  • 特開-ロボットのプログラム作成方法 図3
  • 特開-ロボットのプログラム作成方法 図4
  • 特開-ロボットのプログラム作成方法 図5
  • 特開-ロボットのプログラム作成方法 図6
  • 特開-ロボットのプログラム作成方法 図7
  • 特開-ロボットのプログラム作成方法 図8
  • 特開-ロボットのプログラム作成方法 図9
  • 特開-ロボットのプログラム作成方法 図10
  • 特開-ロボットのプログラム作成方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024103982
(43)【公開日】2024-08-02
(54)【発明の名称】ロボットのプログラム作成方法
(51)【国際特許分類】
   B25J 9/10 20060101AFI20240726BHJP
【FI】
B25J9/10 A
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023007958
(22)【出願日】2023-01-23
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100179475
【弁理士】
【氏名又は名称】仲井 智至
(74)【代理人】
【識別番号】100216253
【弁理士】
【氏名又は名称】松岡 宏紀
(74)【代理人】
【識別番号】100225901
【弁理士】
【氏名又は名称】今村 真之
(72)【発明者】
【氏名】菊池 尊行
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS08
3C707AS13
3C707AS14
3C707BS01
3C707BS10
3C707BS15
3C707BS26
3C707DS01
3C707GS00
3C707HS27
3C707HT17
3C707HT20
3C707JS03
3C707KS22
3C707KS37
3C707KV01
3C707LS11
3C707LS14
3C707LU05
3C707MS03
3C707NS17
(57)【要約】
【課題】駆動時に各モーターへの通電量の合計電力が許容値を超えないようにロボットアームを駆動させることができるロボットのプログラム作成方法を提供すること。
【解決手段】第1モーターへの単位時間当たりの通電量W1と、第2モーターへの単位時間当たりの通電量W2とを合算した合計電力をW3とし、合計電力の許容値をW0としたとき、動作開始から動作終了までの間にW0<W3となる状態が存在するか否かを判断する第3工程と、第3工程において、W0<W3となる状態が存在すると判断した場合、動作開始から動作終了までの間、W3≦W0を満足するよう、通電量W1および通電量W2のうちのいずれか一方の通電量のピークのタイミングを先行または遅延する補正動作プログラムを作成する第4工程と、を有するロボットのプログラム作成方法。
【選択図】図4
【特許請求の範囲】
【請求項1】
第1アームと、前記第1アームを駆動する第1モーターと、第2アームと、前記第2アームを駆動する第2モーターと、を有するロボットアームを備えるロボットのプログラム作成方法であって、
前記ロボットアームを第1姿勢から前記第1姿勢とは異なる第2姿勢に変更するよう前記ロボットアームを駆動することを含む動作プログラムを取得する第1工程と、
前記第1モーターへの単位時間当たりの通電量W1の経時変化に関する第1情報と、前記第2モーターへの単位時間当たりの通電量W2の経時変化に関する第2情報とを取得する第2工程と、
前記通電量W1と前記通電量W2とを合算した合計電力をW3とし、前記合計電力の許容値をW0としたとき、動作開始から動作終了までの間にW0<W3となる状態が存在するか否かを判断する第3工程と、
前記第3工程において、W0<W3となる状態が存在すると判断した場合、動作開始から動作終了までの間、W3≦W0を満足するよう、通電量W1および通電量W2のうちのいずれか一方の通電量のピークのタイミングを先行または遅延する補正動作プログラムを作成する第4工程と、を有することを特徴とするロボットのプログラム作成方法。
【請求項2】
前記第4工程における前記補正動作プログラムは、前記通電量W1および前記通電量W2のうちのいずれか一方の通電量のピークのタイミングを遅延するものである請求項1に記載のロボットのプログラム作成方法。
【請求項3】
前記第4工程における前記補正動作プログラムは、前記第1モーターへの前記通電量W1のピークと、前記第2モーターへの前記通電量W2のピークとを比較し、ピーク値が小さい方の通電量のピークのタイミングを先行または遅延するものである請求項1に記載のロボットのプログラム作成方法。
【請求項4】
前記第4工程における前記補正動作プログラムは、前記通電量W1および前記通電量W2のうちのいずれか一方の通電量のピークのタイミングを先行または遅延するとともに、前記ピークに到達するまでの間でモーター回転加速度を増大するものである請求項1に記載のロボットのプログラム作成方法。
【請求項5】
前記第4工程における前記補正動作プログラムは、前記通電量W1および前記通電量W2のうちのいずれか一方の通電量のピークのタイミングを先行または遅延するとともに、前記ピークから前記動作終了までの間でモーター回転加速度を減少するものである請求項1に記載のロボットのプログラム作成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットのプログラム作成方法に関する。
【背景技術】
【0002】
特許文献1に記載されているロボットは、ベースと、ベースに回転可能に接続された第1アームと、第1アームに回転可能に接続された第2アームと、第2アームに回転可能に接続された第3アームと、第1アームを回転駆動する第1モーターと、第2アームを回転駆動する第2モーターと、第1モーターおよび第2モーターに電力を供給する電源と、を備える。ロボットアームを効率良く駆動するために、第1アームおよび第2アームを同時に回転させることが行われる。すなわち、第1モーターへの通電と第2モーターへの通電とが同時に行われる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2015-116663号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載されているロボットでは、第1モーターへの通電量および第2モーターへの通電量の合計が、電源の最大出力を超える状態が生じるおそれがある。この場合、予め設定された経路および速度でロボットアームを駆動することができないという問題がある。
【課題を解決するための手段】
【0005】
本発明のロボットのプログラム作成方法は、第1アームと、前記第1アームを駆動する第1モーターと、第2アームと、前記第2アームを駆動する第2モーターと、を有するロボットアームを備えるロボットのプログラム作成方法であって、
前記ロボットアームを第1姿勢から前記第1姿勢とは異なる第2姿勢に変更するよう前記ロボットアームを駆動することを含む動作プログラムを取得する第1工程と、
前記第1モーターへの単位時間当たりの通電量W1の経時変化に関する第1情報と、前記第2モーターへの単位時間当たりの通電量W2の経時変化に関する第2情報とを取得する第2工程と、
前記通電量W1と前記通電量W2とを合算した合計電力をW3とし、前記合計電力の許容値をW0としたとき、動作開始から動作終了までの間にW0<W3となる状態が存在するか否かを判断する第3工程と、
前記第3工程において、W0<W3となる状態が存在すると判断した場合、動作開始から動作終了までの間、W3≦W0を満足するよう、通電量W1および通電量W2のうちのいずれか一方の通電量のピークのタイミングを先行または遅延する補正動作プログラムを作成する第4工程と、を有することを特徴とする。
【図面の簡単な説明】
【0006】
図1】本発明の第1実施形態に係るロボットのプログラム作成方法を実行するロボットシステムの全体図である。
図2図1に示すロボットシステムのブロック図である。
図3】動作プログラムから取得した第1モーターの回転速度および第2モーターの回転速度の経時変化の一例を示すグラフである。
図4】動作プログラムから取得した第1モーターへの通電量および第2モーターへの通電量の経時変化の一例を示すグラフである。
図5】補正動作プログラムにおける第1モーターの回転速度および第2モーターの回転速度の経時変化の一例を示すグラフである。
図6】補正動作プログラムにおける第1モーターへの通電量および第2モーターへの通電量の経時変化の一例を示すグラフである。
図7】本発明のロボットのプログラム作成方法の一例を説明するためのフローチャートである。
図8】本発明の第2実施形態で作成する補正動作プログラムにおける第1モーターの回転速度および第2モーターの回転速度の経時変化の一例を示すグラフである。
図9】本発明の第2実施形態で作成する補正動作プログラムにおける第1モーターへの通電量および第2モーターへの通電量の経時変化の一例を示すグラフである。
図10】本発明の第3実施形態で作成する補正動作プログラムにおける第1モーターの回転速度および第2モーターの回転速度の経時変化の一例を示すグラフである。
図11】本発明の第3実施形態で作成する補正動作プログラムにおける第1モーターへの通電量および第2モーターへの通電量の経時変化の一例を示すグラフである。
【発明を実施するための形態】
【0007】
以下、本発明のロボットのプログラム作成方法を添付図面に示す実施形態に基づいて詳細に説明する。
【0008】
<第1実施形態>
図1は、本発明の第1実施形態に係るロボットのプログラム作成方法を実行するロボットシステムの全体図である。図2は、図1に示すロボットシステムのブロック図である。図3は、動作プログラムから取得した第1モーターの回転速度および第2モーターの回転速度の経時変化の一例を示すグラフである。図4は、動作プログラムから取得した第1モーターへの通電量および第2モーターへの通電量の経時変化の一例を示すグラフである。5は、補正動作プログラムにおける第1モーターの回転速度および第2モーターの回転速度の経時変化の一例を示すグラフである。図6は、補正動作プログラムにおける第1モーターへの通電量および第2モーターへの通電量の経時変化の一例を示すグラフである。図7は、本発明のロボットのプログラム作成方法の一例を説明するためのフローチャートである。
【0009】
図1中には、互いに直交する3軸であるX軸、Y軸およびZ軸が設定されている。3軸のうちZ軸方向は鉛直方向を示し、X-Y平面は水平面を示す。
【0010】
図1中の上下方向は、鉛直方向と一致している。図1の上側を「上」、下側を「下」とも言う。ロボットアーム22、第1アーム23および第2アーム24等については、図1中の右側を「基端部」、左側を「先端部」と言う。
【0011】
本明細書において、「鉛直」とは、鉛直と一致している場合のみならず、鉛直に対して若干、例えば±10°以内傾斜している場合も含む意味である。また、本明細書において、「平行」とは、2つの対象が平行と一致している場合のみならず、平行から若干、例えば±10°以内傾斜している場合も含む意味である。
【0012】
図1に示すロボットシステム1は、ロボット2と、ロボット2の駆動を制御するロボット制御装置9と、を有している。本実施形態では、ロボット制御装置9が本発明のロボットのプログラム作成方法を実行してロボット2を駆動する。ただし、この構成に限定されず、その他の制御装置、例えば、図示しない教示装置等が本発明のロボットのプログラム作成方法を実行してもよい。
【0013】
本実施形態におけるロボット2は、スカラロボットであり、ロボットアーム22を所望の動作で駆動し、例えば、電子部品等のワークの搬送、組立、検査等の作業、または工具によりワークに対し各種の加工、塗装等の作業(以下これらを総称して、単に「作業」と言うことがある。)を行う。ただし、ロボット2の用途は、特に限定されない。また、本発明にかかるロボットは、スカラロボット以外、例えば、6軸多関節ロボット、リニアスライダーを組み合わせた直交ロボット、および双腕ロボット等であってもよい。
【0014】
図1に示すように、ロボット2は、基部であるベース21と、ベース21に対し回転可能に接続されているロボットアーム22と、を有している。ベース21は、水平面と平行な床面10に固定されている。
【0015】
ロボットアーム22は、基端部がベース21に接続され、ベース21に対して鉛直方向に沿う第1回転軸J1まわりに回転する第1アーム23と、基端部が第1アーム23の先端部に接続され、第1アーム23に対して鉛直方向に沿う第2回転軸J2まわりに回転する第2アーム24と、を有している。
【0016】
第2アーム24の先端部には作業ヘッド25が設けられている。作業ヘッド25は、第2アーム24の先端部に同軸的に配置されているスプラインナット251およびボールネジナット252と、スプラインナット251およびボールネジナット252に挿通されているスプラインシャフト253と、を有している。スプラインシャフト253は、第2アーム24に対して、その中心軸であり鉛直方向に沿う第3回転軸J3まわりに回転可能で、かつ、第3回転軸J3に沿って昇降可能である。
【0017】
スプラインシャフト253の下端部には、エンドエフェクター26が装着されている。エンドエフェクター26は、着脱自在であり目的の作業に適したものが適宜選択される。エンドエフェクター26としては、例えばワークや工具を保持することができるものが挙げられる。
【0018】
ロボット2は、ベース21と第1アーム23とを連結し、ベース21に対して第1アーム23を第1回転軸J1まわりに回転させる第1関節アクチュエーター27と、第1アーム23と第2アーム24とを連結し、第1アーム23に対して第2アーム24を第2回転軸J2まわりに回転させる第2関節アクチュエーター28と、を有している。第1アーム23は、第1関節アクチュエーター27によって、ベース21の上面220に対し、離間した状態でベース21に接続されている。第2アーム24は、第2関節アクチュエーター28によって、第1アーム23の上面230に対し、離間した状態で第1アーム23に接続されている。
【0019】
また、ロボット2は、スプラインナット251を回転させてスプラインシャフト253を第3回転軸J3まわりに回転させる第1駆動機構291と、ボールネジナット252を回転させてスプラインシャフト253を第3回転軸J3に沿った方向に昇降させる第2駆動機構292と、を有する。
【0020】
第1関節アクチュエーター27は、第1モーターとしてのモーター27Aと、図示しない減速機、エンコーダー等を有する。第2関節アクチュエーター28は、第2モーターとしてのモーター28Aと、図示しない減速機、エンコーダー等を有する。第1駆動機構291は、モーター291Aと、図示しない減速機、エンコーダー等を有する。第2駆動機構292は、モーター292Aと、図示しない減速機、エンコーダー等を有する。
【0021】
図2に示すように、モーター27A、モーター28A、モーター291Aおよびモーター292Aは、それぞれ、図示しないモータードライバーを介してロボット制御装置9と電気的に接続されている。ロボット制御装置9は、各モータードライバーを介して、電源200から各モーター27A、モーター28A、モーター291Aおよびモーター292Aへの通電条件、すなわち通電量、通電タイミング等を制御する。これにより、各アームを所望の姿勢に変更するようロボットアーム22の作動を制御することができる。
【0022】
各エンコーダーは、それぞれ、ロボット制御装置9と電気的に接続されている。各エンコーダーは、対応するモーターの回転位置情報を検出し、ロボット制御装置9に送信する。ロボット制御装置9は、各エンコーダーから受信した各モーターの回転位置情報に基づいて、モーター27A、モーター28A、モーター291Aおよびモーター292Aへの通電条件を制御する。各モーター27A、モーター28A、モーター291Aおよびモーター292Aへの回転位置を把握しつつ、ロボットアーム22の作動を制御することにより、所望の動作を正確に行うことができる。
【0023】
ロボット制御装置9は、ロボット制御部91と、補正部92と、記憶部93と、通信部94と、を有する。
【0024】
ロボット制御部91は、例えば、CPU(Central Processing Unit)で構成され、記憶部93に記憶されている動作プログラム等の各種プログラムを読み出し、実行する。ロボット制御部91で生成された信号は、通信部94を介してロボット2の各部に送信され、ロボット2の各部からの信号は、通信部94を介してロボット制御部91で受信される。ロボット制御部91で受信された信号は、所定の処理が施され、記憶部93に記憶される。
【0025】
また、ロボット制御部91は、ユーザーが入力した動作プログラムまたは後述する補正部92が作成した補正動作プログラムに基づいて、モーター27A、モーター28A、モーター291Aおよびモーター292Aへの通電条件を制御する。すなわち、ロボット制御部91は、モーター27A、モーター28A、モーター291Aおよびモーター292Aへの通電量を、経時的に変化させることによりロボットアーム22を駆動し、所定の作業を所定の条件で実行することができる。
【0026】
補正部92は、例えば、CPU(Central Processing Unit)で構成され、記憶部93に記憶されている補正動作プログラム等の各種プログラムを読み出し、実行する。補正動作プログラムは、本発明のロボットのプログラム作成方法を実行するためのプログラムであり、補正動作プログラムを読み出して実行することにより、後述する第1工程~第4工程を実行することができる。なお、補正動作プログラムは、記憶部93以外の記憶装置に記憶されていてもよい。
【0027】
記憶部93は、ロボット制御部91および補正部92で実行される各種プログラム等を保存する。記憶部93としては、例えば、RAM(Random Access Memory)等の揮発性メモリー、ROM(Read Only Memory)等の不揮発性メモリー、着脱式の外部記憶装置等を有する構成のものが挙げられる。記憶部93には、前述したような各種プログラムや、後述する許容値W0や、補正動作プログラム等が記憶される。
【0028】
通信部94は、例えば有線LAN(Local Area Network)、無線LAN等の外部インターフェースを用いて他の機器との間で信号の送受信を行う。この場合、図示しないサーバーを介して通信を行ってもよく、また、インターネット等のネットワークを介して通信を行ってもよい。この通信部94は、ユーザーが他と通信機器を介して入力した動作プログラムを取得する取得部として機能する。
【0029】
以上、ロボットシステム1の構成について説明した。このようなロボットシステム1では、作業を行うのに先立って、ロボット制御装置9が動作プログラムを取得する。動作プログラムは、例えば、図示しない教示装置等を用いてロボット制御装置9に入力され、ロボット制御装置9が取得する。以下、動作プログラムは、制御点TCPが、出発位置PAから停止位置PBまで移動するようロボットアーム22の姿勢を変化させることを含む動作を実行するためのプログラムとして説明する。
【0030】
動作プログラムは、出発位置PAの位置情報、出発位置PAでのロボットアーム22の姿勢(第1姿勢)に関する情報、停止位置PBの位置情報および停止位置PBでのロボットアーム22の姿勢(第2姿勢)に関する情報を含む。
【0031】
「出発位置PAの位置情報」は、出発位置PAのロボット座標系での座標データである。「出発位置PAの位置情報でのロボットアーム22の姿勢に関する情報」は、制御点TCPが出発位置PAの座標データに位置しているときの姿勢に関するデータであり、例えば、各関節の回転角度のデータである。
【0032】
「停止位置PBの位置情報」は、停止位置PBのロボット座標系での座標データである。「停止位置PBの位置情報でのロボットアーム22の姿勢に関する情報」は、制御点TCPが停止位置PBの座標データに位置しているときの姿勢に関するデータであり、例えば、第1アーム23、第2アーム24の回転速度またはモーター27A、モーター28Aの回転角度のデータである。
【0033】
なお、ユーザーが入力する動作プログラムには、後述するモーター27Aの回転速度に関する速度情報、モーター28Aの回転速度に関する速度情報、モーター27Aへの単位時間当たりの通電量W1の経時変化に関する第1情報、モーター28Aへの単位時間当たりの通電量W2の経時変化に関する第2情報を含んでいてもよい。
【0034】
ロボット制御部91は、このような動作プログラムを取得し、記憶部93に取り込み、記憶する。補正部92は、モーター27Aの回転速度に関する速度情報、モーター28Aの回転速度に関する速度情報を取得、すなわち算出する。
【0035】
なお、以下の説明では、動作開始の位置である出発位置PAから動作終了の位置である停止位置PBまでの間において、モーター291Aおよびモーター292Aは駆動しないもの、すなわち通電量が0として説明する。
【0036】
出発位置PAから停止位置PBまでの間において、モーター27Aとモーター28Aとは、時間的に重複して駆動する。これにより、ロボットアーム22の動作開始から動作終了までの姿勢の変更を、より短時間で迅速に行うことができ、作業を効率良く行うことができる。
【0037】
出発位置PAから停止位置PBまでの間において、モーター27Aの速度情報は、モーター27Aの回転速度(角速度)V1の経時変化に関する第1情報であり、例えば、図3に示すような波形で表すことができる。モーター27Aの回転速度V1は、T=0(秒)からT=0.2(秒)までの間、一定の加速度で加速し、T=0.2(秒)のときに速度が100%(最大速度)となる。次いで、T=0.2(秒)からT=0.4(秒)までの間、一定の速度で回転駆動する。次いで、T=0.4(秒)からT=0.6(秒)までの間、一定の加速度で減速し、T=0.6(秒)のときに速度が0%となり、すなわちモーター27Aは停止する。動作プログラムを実行すると、このような速度条件で第1アーム23が駆動する。
【0038】
出発位置PAから停止位置PBまでの間において、モーター28Aの速度情報は、モーター28Aの回転速度(角速度)V2の経時変化に関する第2情報であり、であり、例えば、図3に示すような波形で表すことができる。モーター28Aの回転速度V2は、T=0(秒)からT=0.2(秒)までの間、一定の加速度で加速し、T=0.2(秒)のときに速度が50%となる。次いで、T=0.2(秒)からT=0.4(秒)までの間、一定の速度で回転駆動する。次いで、T=0.4(秒)からT=0.6(秒)までの間、一定の加速度で減速し、T=0.6(秒)のときに速度が0%となり、すなわちモーター28Aは停止する。動作プログラムを実行すると、このような速度条件で第2アーム24が駆動する。
【0039】
このような速度情報は、例えば、設定された目標作業時間や、モーター許容トルク等に基づいて算出することができる。なお、動作プログラムに速度情報が含まれていた場合、単に読み出すことにより取得することができる。
【0040】
次いで、補正部92は、図3に示すような速度情報でロボットアーム22を駆動するためのモーター27Aおよびモーター28Aに対する通電情報を取得、算出する。モーター27Aの通電情報は、モーター27Aへの単位時間当たりの通電量(以下、単に「通電量W1と言う」)の経時変化の情報である。モーター28Aの通電情報は、モーター28Aへの単位時間当たりの通電量(以下、単に「通電量W2と言う」)の経時変化の情報である。これらの通電情報は、例えば、図4に示すような波形で表すことができる。単位時間当たりの通電量は、消費電力に対応しており、単位はワット(W)である。
【0041】
通電量W1は、T=0(秒)のときに30(W)であり、T=0.2(秒)までの間、一定の増加率で増加し、T=0.2(秒)のときに通電量が60(W)となる。T=0.2(秒)からT=0.4(秒)までの間、30(W)の通電量が維持される。次いで、T=0.4(秒)からT=0.6(秒)までの間、一定の減少率で30(W)から減少し、T=0.5(秒)のときに0(W)となる。図4に示すように、T=0.5(秒)でモーター27Aへの通電を切っても、それまで回転していた第1アーム23の慣性力により、停止位置PBに向けてT=0.6(秒)までモーター27Aおよび第1アーム23は回転駆動する。このようなパターンでモーター27Aに通電を行うと、図3に示すような速度で第1アーム23が駆動する。
【0042】
なお、図3および図4に示すように、出発位置PAであるT=0(秒)のとき、モーター27Aの回転速度V1は0であるが、通電量W1は30(W)である。
【0043】
通電量W2は、T=0(秒)のときに15(W)であり、T=0.2(秒)までの間、一定の増加率で増加し、T=0.2(秒)のときに通電量が30(W)となる。T=0.2(秒)からT=0.4(秒)までの間、15(W)の通電量が維持される。次いで、T=0.4(秒)からT=0.6(秒)までの間、一定の減少率で15(W)から減少し、T=0.5(秒)のときに0(W)となる。図4に示すように、T=0.5(秒)でモーター28Aへの通電を切っても、それまで回転していた第2アーム24の慣性力により、停止位置PBに向けてT=0.6(秒)までモーター28Aおよび第2アーム24は回転駆動する。このようなパターンでモーター28Aに通電を行うと、図3に示すような速度で第2アーム24が駆動する。
【0044】
ロボット制御装置9は、モーター27Aおよびモーター28Aに対する通電情報に基づいて、同時刻における通電量W1と通電量W2とを合算した合計電力W3の経時変化の情報を算出する。合計電力W3の経時変化の情報は、図4に示すような波形で表すことができる。合計電力W3は、T=0(秒)のときに45(W)であり、T=0.2(秒)までの間、一定の増加率で増加し、T=0.2(秒)のときに通電量が90(W)となる。T=0.2(秒)からT=0.4(秒)までの間、45(W)の通電量が維持される。次いで、T=0.4(秒)からT=0.6(秒)までの間、一定の減少率で45(W)から減少し、T=0.5(秒)のときに0(W)となる。
【0045】
ここで、ロボットシステム1では、電源200から各モーターに供給される単位時間当たりの電力、すなわち、合計電力W3に、許容値W0が設定されている。許容値W0は、安定してかつ安全に電力の供給が可能な値であり、例えば、電源200の最大出力値から若干低い値、例えば所定の安全率を掛けた値とすることができる。このような許容値W0を設定することにより、モーター27Aおよびモーター28Aを含む各モーターに安定して電力を供給することができるとともに、単位時間当たりの通電量が過剰に大きくなるのを防止し、安全性を高めることができる。このような許容値W0は、使用環境に応じてユーザーが適宜設定することができる。
【0046】
許容値W0が例えば80(W)に設定されていた場合、図3および図4に示すケースでは、合計電力W3が、T=0.2のときに90(W)となり、一時的に80(W)を超えてしまう。すなわち、動作開始から動作終了までの間にW0<W3となる状態が存在している。この場合、上記効果を得ることができない。
【0047】
そこで、補正部92は、このような場合を想定し、必要に応じて以下のような補正動作プログラムを作成する。以下、補正動作プログラムの一例について、図5および図6を用いて説明する。
【0048】
図5に示すように、補正動作プログラムでは、モーター27Aの回転速度V1は、図3に示す動作プログラムと同じ経時変化である。モーター28Aの回転速度V2は、T=0.2(秒)からT=0.4(秒)までの間、一定の加速度で加速し、T=0.4(秒)のときに速度が50%となる。次いで、T=0.4(秒)からT=0.6(秒)までの間、一定の速度で回転駆動する。次いで、T=0.6(秒)からT=0.8(秒)までの間、一定の加速度で減速し、T=0.8(秒)のときに速度が0%となり、すなわちモーター28Aは停止する。このように、モーター27Aの回転速度の推移は、動作プログラムと同じであるが、モーター28Aの回転開始タイミングおよび回転停止タイミングをそれぞれ0.2秒遅延させる。なお、本補正では、第2アーム24の通算回転量が補正前と同じになるように回転速度V2を変更する。このような補正を行うことにより、通電量W2の推移は、図6に示すようになる。
【0049】
図6に示すように、通電量W2は、T=0.2(秒)のときに15(W)であり、T=0.4(秒)までの間、一定の増加率で増加し、T=0.4(秒)のときに通電量が30(W)となる。T=0.4(秒)からT=0.6(秒)までの間、15(W)の通電量が維持される。次いで、T=0.6(秒)からT=0.7(秒)までの間、一定の減少率で15(W)から減少し、T=0.7(秒)のときに0(W)となる。
【0050】
この場合、補正動作プログラムの合計電力W3は、図6に示すように、T=0(秒)のときに30(W)であり、T=0.2(秒)までの間、一定の増加率で増加し、T=0.2(秒)のときに通電量が60(W)となる。T=0.2(秒)からT=0.4(秒)までの間、45(W)から一定の増加率で増加し、T=0.4(秒)のときに通電量が60(W)となる。T=0.4(秒)からT=0.5(秒)までの間、一定の減少率で45(W)から減少し、T=0.5(秒)のときに15(W)となる。T=0.5(秒)からT=0.6(秒)までの間、15(W)の通電量が維持され、T=0.6(秒)からT=0.7(秒)までの間、一定の減少率で15(W)から減少し、T=0.7(秒)のときに0(W)となる。
【0051】
このように、補正前の動作プログラムにおける合計電力W3のピークは、90(W)であり、補正動作プログラムにおける合計電力W3のピークは、60(W)となる。補正部92は、動作開始から動作終了までの間、本実施形態では出発位置PAから停止位置PBまでの間、W0<W3となる状態が存在しないよう、すなわち、動作開始から動作終了までの間、継続してW3≦W0を満足するよう、補正動作プログラムを作成する。このような、補正動作プログラムを実行することにより、作業を行った際、許容値W0を超えることなく、W0<W3が維持される。よって、安定してかつ安全にモーター27Aおよびモーター28Aへの電力の供給が可能となり、作業を安定してかつ安全に行うことができる。
【0052】
以上述べたように、本発明では、通電量W1および通電量W2のうちのいずれか一方を遅延する補正動作プログラムを作成する。本実施形態では、通電量W2のピークのタイミングを遅延した補正動作プログラムを作成する。この場合、通電量W2のピークのタイミングを先行させてもよい。また、通電量W1のピークのタイミングを先行または遅延させてもよい。
特に、通電量W1および通電量W2のうちのいずれか一方、本実施形態では、通電量W2のピークのタイミングを遅延した補正動作プログラムを作成することにより、第2アーム24の動作、ひいては、制御点TCPの経路が変わることなく若干の作業時間(図示の構成では、0.2秒)を遅らせるだけで、容易に補正を行うことができる。
【0053】
また、このような補正は、PTP制御、すなわち、出発位置PAおよび停止位置PBの位置情報だけが設定されていて、その間の経路をリアルタイムで作成しながらロボットアーム22の駆動を制御する制御において、上記のような補正が可能となり、有利である。
【0054】
記憶部93には、取得した動作プログラムの他、作成された補正動作プログラムが記憶される。記憶部93に動作プログラムと補正動作プログラムの双方が記憶されている場合、これらのうちから1つを適宜選択し、実行して作業を行うことができる。
【0055】
次に、本発明のロボットのプログラム作成方法の一例について、図7に示すフローチャートを用いて説明する。なお、以下では、一例として図3図6を参照しつつ説明する。
【0056】
まず、ステップS101において、ロボットアーム22を第1姿勢から第1姿勢とは異なる第2姿勢に変更するようロボットアーム22を駆動することを含む動作プログラムを取得する。このステップS101が第1工程である。
【0057】
次いで、ステップS102において、速度情報を取得する。速度情報は、前述したように、モーター27Aの回転速度V1の経時変化の情報およびモーター28Aの回転速度V2の経時変化の情報である(図3図5参照)。取得した動作プログラムに速度情報が含まれていない場合には算出し、含まれている場合には単に取り込む。
【0058】
次いで、ステップS103において、通電情報を取得する。通電情報は、前述したように、モーター27Aの単位時間当たりの通電量W1の経時変化に関する第1情報およびモーター28Aの単位時間当たりの通電量W2の経時変化に関する第2情報である(図4図6参照)。
【0059】
また、本ステップでは、第1情報と第2情報とに基づいて、合計電力W3の経時変化の情報を取得する。取得した動作プログラムにこれらの通電情報が含まれていない場合には算出し、含まれている場合には単に取り込む。このようなステップS103が第2工程である。
【0060】
次いで、ステップS104において、動作開始から動作終了までの間にW0<W3となる状態が存在するか否かを判断する。本ステップにおける判断は、ステップS103で取得した合計電力W3の経時変化の情報に基づいてなされる。このようなステップS104が第3工程である。
【0061】
ステップS104において、動作開始から動作終了までの間にW0<W3となる状態が存在しない、すなわち、動作開始から動作終了までの間、継続してW3≦W0を満足すると判断した場合、ステップS105に移行する。
【0062】
ステップS105では、入力された動作プログラムを採用し、ステップS108で当該動作プログラムを実行し、所望の作業を行う。
【0063】
一方、ステップS104において、動作開始から動作終了までの間にW0<W3となる状態が存在すると判断した場合、ステップS106に移行する。
【0064】
ステップS106では、W3≦W0を満足するよう補正する対象等を決定する。すなわち、通電量W1および通電量W2のうち、どちらの通電量のピークをずらすか、すなわち先行または遅延するかを決定する。本実施形態では、モーター27Aへの通電量W1のピークと、モーター28Aへの通電量W2のピークとを比較し、ピーク値が小さい方の通電量(本実施形態では、通電量W2)のピークのタイミングをずらすよう決定する。さらに、このピークのタイミングを先行させるか遅延させるかを決定する(本実施形態では、遅延)。通電量のピーク値が小さいということは、回転に要する電力が比較的小さい先端側のモーター28Aであるため、ロボットアーム22全体で見たときの姿勢の変化への影響が比較的小さい。このため、補正によるロボットアーム22の姿勢の変化の影響を軽微にすることができる。
【0065】
ステップS107では、補正動作プログラムを作成する。すなわち、本実施形態では、ステップS106で選択した補正対象の通電量W2のピークのタイミングを遅延して、図6に示すような波形となるよう通電量W2を経時変化させる補正動作プログラムを作成する。なお、「補正動作プログラムを作成する」とは、入力された動作プログラムを一部書き換えることと、入力された動作プログラムとは別に新たに補正動作プログラムを作成することの双方を含む。このようなステップS107が第4工程である。
【0066】
次に、ステップS108において、ステップS107で作成した補正動作プログラムを実行し、所望の作業を行う。
【0067】
以上説明したように、本発明のロボットのプログラム作成方法は、第1アーム23と、第1アーム23を駆動する第1モーターであるモーター27Aと、第2アーム24と、第2アーム24を駆動する第2モーターであるモーター28Aと、を有するロボットアーム22を備えるロボット2のプログラム作成方法である。また、本発明のロボットのプログラム作成方法は、ロボットアーム22を第1姿勢から第1姿勢とは異なる第2姿勢に変更するようロボットアーム22を駆動することを含む動作プログラムを取得する第1工程と、モーター27Aへの単位時間当たりの通電量W1の経時変化に関する第1情報と、モーター28Aへの単位時間当たりの通電量W2の経時変化に関する第2情報とを取得する第2工程と、通電量W1と通電量W2とを合算した合計電力をW3とし、合計電力の許容値をW0としたとき、動作開始から動作終了までの間にW0<W3となる状態が存在するか否かを判断する第3工程と、第3工程において、W0<W3となる状態が存在すると判断した場合、動作開始から動作終了までの間、W3≦W0を満足するよう、通電量W1および通電量W2のうちのいずれか一方の通電量のピーク、本実施形態では、通電量W2のピークのタイミングを先行または遅延する補正動作プログラムを作成する第4工程と、を有する。このようにして作成された補正動作プログラムを実行することにより、作業を行った際、合計電力W3が許容値W0を超えることなく、W0<W3が維持される。よって、安定してかつ安全に電力の供給が可能となり、作業を安定してかつ安全に行うことができる。
【0068】
なお、上記構成に限定されず、通電量W1および通電量W2のうち、通電量W1のピークのタイミングを先行または遅延した補正動作プログラムを作成してもよい。
【0069】
第4工程における補正動作プログラムは、通電量W1および通電量W2のうちのいずれか一方の通電量(本実施形態では、通電量W2)のピークのタイミングを遅延するものである。これにより、作業開始時間を変更する必要がないため、補正動作プログラムの作成が容易となる。
【0070】
なお、本発明はこれに限らず、補正動作プログラムは、通電量W1または通電量W2のピークのタイミングを先行するものでもよい。
【0071】
第4工程における補正動作プログラムは、第1モーターであるモーター27Aへの通電量W1のピークと、第2モーターであるモーター28Aへの通電量W2のピークとを比較し、ピーク値が小さい方の通電量のピークのタイミングを先行または遅延するものである。これにより、補正によるロボットアーム22の姿勢の変化の影響を軽微にすることができる。
【0072】
なお、モーター27Aへの通電量のピーク値と、モーター28Aへの通電量のピーク値とが同じであった場合、より先端側に位置するモーター28Aへの通電量のピークを先行または遅延することが好ましい。
【0073】
<第2実施形態>
図8は、本発明の第2実施形態で作成する補正動作プログラムにおける第1モーターの回転速度および第2モーターの回転速度の経時変化の一例を示すグラフである。図9は、本発明の第2実施形態で作成する補正動作プログラムにおける第1モーターへの通電量および第2モーターへの通電量の経時変化の一例を示すグラフである。
【0074】
以下、図8および図9を参照しつつ本発明のロボットのプログラム作成方法の第2実施形態について説明するが、以下では、第1実施形態との相違点を中心に説明し、同様の事項については説明を省略する。
【0075】
第2実施形態では、第4工程において、以下のような補正動作プログラムを作成する。
図8に示すように、補正動作プログラムでは、モーター27Aの回転速度V1は、図3に示す動作プログラムと同じ経時変化である。モーター28Aの回転速度V2は、T=0.2(秒)からT=0.45(秒)までの間、一定の加速度(第1実施形態よりも大きい加速度)で加速し、T=0.45(秒)のときに回転速度が80%(第1実施形態の50%よりも大きい)となる。次いで、T=0.45(秒)からT=0.7(秒)までの間、一定の加速度(第1実施形態よりも大きい減速度)で減速し、T=0.7(秒)のときに速度が0%となり、すなわち停止する。このように、第2実施形態では、ピークに到達するまでのモーター28Aの回転速度V2の加速度およびピークでの回転速度を第1実施形態よりも高くし、回転停止タイミングの遅延を0.1秒としている(第1実施形態では、0.2秒)。
【0076】
図9に示すように、補正動作プログラムでは、モーター27Aへの通電量W1は、図4に示す動作プログラムと同じ経時変化である。モーター28Aへの通電量W2は、T=0.2(秒)のときに20(W)であり、T=0.45(秒)までの間、一定の増加率(第1実施形態よりも大きい増加率)で増加し、T=0.45(秒)のときに通電量が42.5(W)となる。
【0077】
この場合、補正動作プログラムの合計電力W3は、図9に示すように、T=0(秒)のときに30(W)であり、T=0.2(秒)までの間、一定の増加率で増加し、T=0.2(秒)のときに通電量が60(W)となる。T=0.2(秒)からT=0.4(秒)までの間、50(W)から一定の増加率で増加し、T=0.4(秒)のときに通電量が70(W)となる。T=0.4(秒)からT=0.5(秒)までの間、一定の減少率で70(W)から減少し、T=0.5(秒)のときに0(W)となる。なお、合計電力W3のピークは、第1実施形態よりも高い70(W)である。
【0078】
このように、第4工程における補正動作プログラムは、通電量W1および通電量W2のうちのいずれか一方の通電量(本実施形態では、通電量W2)のピークのタイミングを先行または遅延(本実施形態では、遅延)するとともに、ピークに到達するまでの間でモーター回転加速度(回転速度V2)を増大するものである。これにより、合計電力W3を許容値W0に可能な限り近付けるよう大きくすることができ、動作終了時の遅延時間を短くするのに寄与する。
【0079】
また、第4工程における補正動作プログラムは、通電量W1および通電量W2のうちのいずれか一方の通電量(本実施形態では、通電量W2)のピークのタイミングを先行または遅延(本実施形態では、遅延)するとともに、ピークから動作終了までの間でモーター回転加速度を減少(速度の減少率を増大)するものである。これにより、合計電力W3を許容値W0に可能な限り近付けるよう大きくすることができ、動作終了時の遅延時間を短くするのに寄与する。
【0080】
<第3実施形態>
図10は、本発明の第3実施形態で作成する補正動作プログラムにおける第1モーターの回転速度および第2モーターの回転速度の経時変化の一例を示すグラフである。図11は、本発明の第3実施形態で作成する補正動作プログラムにおける第1モーターへの通電量および第2モーターへの通電量の経時変化の一例を示すグラフである。
【0081】
以下、図10および図11を参照しつつ本発明のロボットのプログラム作成方法の第3実施形態について説明するが、以下では、第1実施形態および第2実施形態との相違点を中心に説明し、同様の事項については説明を省略する。
【0082】
第3実施形態では、第4工程において、以下のような補正動作プログラムを作成する。
図10に示すように、補正動作プログラムでは、モーター27Aの回転速度V1は、図3に示す動作プログラムと同じ経時変化である。モーター28Aの回転速度V2は、T=0.2(秒)からT=0.55(秒)までの間、一定の加速度(第1実施形態と同じ)で加速し、T=0.55(秒)のときに回転速度が80%(第1実施形態の50%よりも大きい)となる。次いで、T=0.55(秒)からT=0.7(秒)までの間、一定の加速度(第2実施形態よりも大きい減速度)で減速し、T=0.7(秒)のときに速度が0%となり、すなわち停止する。このように、第3実施形態では、ピークに到達してから停止するまでのモーター28Aの回転速度V2の減速度(速度の減少率)が第1実施形態および第2実施形態よりも大きい。
【0083】
図11に示すように、補正動作プログラムでは、モーター27Aへの通電量W1は、図4に示す動作プログラムと同じ経時変化である。通電量W2は、T=0.2(秒)のときに15(W)であり、T=0.55(秒)までの間、一定の増加率(第1実施形態よりも大きい増加率)で増加し、T=0.55(秒)のときに通電量が40(W)となる。次いで、T=0.55(秒)からT=0.6(秒)までの間、一定の減少率で40(W)から減少し、T=0.6(秒)のときに0(W)となる。
【0084】
この場合、補正動作プログラムの合計電力W3は、図11に示すように、T=0(秒)のときに30(W)であり、T=0.2(秒)までの間、一定の増加率で増加し、T=0.2(秒)のときに通電量が60(W)となる。T=0.2(秒)からT=0.4(秒)までの間、45(W)から一定の増加率で増加し、T=0.4(秒)のときに通電量が60(W)となる。T=0.4(秒)からT=0.5(秒)までの間、一定の減少率で60(W)から減少し、T=0.5(秒)のときに35(W)となる。次いで、T=0.5(秒)からT=0.55(秒)までの間、35(W)から一定の増加率で増加し、T=0.55(秒)のときに通電量が40(W)となる。次いで、T=0.55(秒)からT=0.6(秒)までの間、一定の減少率で40(W)から減少し、T=0.6(秒)のときに0(W)となる。
【0085】
このように本実施形態では、第2実施形態と比べ、モーター28Aにおいて、回転開始時のモーター加速度は同じであるが、回転停止に向かう際のモーター減速度が第2実施形態よりも小さい(速度の減少率が大きい)。このように、本実施形態によれば、第1実施形態よりも作業終了時間を短縮することができるとともに、合計電力W3のピークにおける電力量(60W)を第2実施形態の電力量(70W)よりも低くすることができる。
【0086】
以上、本発明のロボットのプログラム作成方法を図示の各実施形態に基づいて説明したが、本発明は、これらに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。以上の各実施形態では、ロボット2がスカラロボットであって、第1アーム23はベース21に接続し、さらに第2アーム24は第1アーム23に接続しているものとして説明したが、本発明はこれに限定されるものではなく、第1アーム23と第2アーム24とはロボットアーム22を構成する何れか2つのアームに置換することができる。また、第1実施形態に、第2実施形態または第3実施形態を任意に組み合わせてもよく、第2実施形態と第3実施形態とを任意に組み合わせてもよい。また、本発明では、各実施形態に他の任意の構成が付加されていてもよい。また、各実施形態に任意の工程が付加されたものであってもよい。
【符号の説明】
【0087】
1…ロボットシステム、2…ロボット、9…ロボット制御装置、10…床面、21…ベース、22…ロボットアーム、23…第1アーム、24…第2アーム、25…作業ヘッド、26…エンドエフェクター、27…第1関節アクチュエーター、27A…モーター、28…第2関節アクチュエーター、28A…モーター、91…ロボット制御部、92…補正部、93…記憶部、94…通信部、200…電源、220…上面、230…上面、251…スプラインナット、252…ボールネジナット、253…スプラインシャフト、291…第1駆動機構、291A…モーター、292…第2駆動機構、292A…モーター、J1…第1回転軸、J2…第2回転軸、J3…第3回転軸、PA…出発位置、PB…停止位置、TCP…制御点、V1…回転速度、V2…回転速度、W1…通電量、W2…通電量、W3…合計電力
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11