JP2016093863A - ロボット制御装置 - Google Patents

ロボット制御装置 Download PDF

Info

Publication number
JP2016093863A
JP2016093863A JP2014231170A JP2014231170A JP2016093863A JP 2016093863 A JP2016093863 A JP 2016093863A JP 2014231170 A JP2014231170 A JP 2014231170A JP 2014231170 A JP2014231170 A JP 2014231170A JP 2016093863 A JP2016093863 A JP 2016093863A
Authority
JP
Japan
Prior art keywords
robot
target
posture
matrix
orientation
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
JP2014231170A
Other languages
English (en)
Other versions
JP6539989B2 (ja
Inventor
健司 長松
Kenji Nagamatsu
健司 長松
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.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
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 Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2014231170A priority Critical patent/JP6539989B2/ja
Publication of JP2016093863A publication Critical patent/JP2016093863A/ja
Application granted granted Critical
Publication of JP6539989B2 publication Critical patent/JP6539989B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】第1ロボットの動作態様にかかわらず、第2ロボットの動作を追従させることのできるロボット制御装置を提供する。【解決手段】第1ロボット40A及び第2ロボット40Bを制御するロボット制御装置20であって、動作周期毎に、第1ロボット40Aの動作目標である第1目標を算出し、第1目標に対して、第1ロボット40A及び第2ロボット40Bの相対的な位置及び姿勢関係を維持するように、第2ロボット40Bの動作目標である第2目標を算出し、第2目標へ第2ロボット40Bが動作する速度が上限速度を超えているか否か判定し、第2ロボット40Bの速度が前記上限速度を超えていると判定された場合に、第1ロボット40Aの現在の位置及び姿勢に第1目標を近付けるように第1目標を修正する。【選択図】 図1

Description

本発明は、複数のロボットを制御するロボット制御装置に関する。
従来、複数のロボットにより1つのワークを把持して搬送する協調動作を行うものがある(例えば、特許文献1参照)。特許文献1に記載のものは、マスタロボット(第1ロボット)のアームの通過点と、搬送中のワークの状態に対応する両アームの相対的な位置及び姿勢関係とに基づいて、スレーブロボット(第2ロボット)のアームの通過点を決定している。
特許第3577028号公報
しかしながら、マスタロボットのアームの動作態様によっては、マスタロボットのアームの動作量とスレーブロボットのアームの動作量とが大きく異なる点に、本願発明者は着目した。そして、両アームの相対的な位置及び姿勢関係を維持して、スレーブロボットのアームを動作させようとしても、スレーブロボットのアームが追従できない場合があることを、本願発明者は見出した。
本発明は、こうした実情に鑑みてなされたものであり、第1ロボットの動作態様にかかわらず、第2ロボットの動作を追従させることのできるロボット制御装置を提供することを主たる目的とするものである。
第1の手段は、第1ロボット及び第2ロボットを制御するロボット制御装置であって、動作周期毎に、前記第1ロボットの動作目標である第1目標を算出する第1目標算出手段と、前記第1目標に対して、前記第1ロボット及び前記第2ロボットの相対的な位置及び姿勢関係を維持するように、前記第2ロボットの動作目標である第2目標を算出する第2目標算出手段と、前記第2目標へ前記第2ロボットが動作する速度が上限速度を超えているか否か判定する判定手段と、前記判定手段により前記第2ロボットの速度が前記上限速度を超えていると判定された場合に、前記第1ロボットの現在の位置及び姿勢に前記第1目標を近付けるように前記第1目標を修正する第1目標修正手段と、前記第1目標へ前記第1ロボットを動作させ、前記第2目標へ前記第2ロボットを動作させる動作手段と、を備えることを特徴とする。
上記構成によれば、第1目標算出手段により、動作周期毎に、第1ロボットの動作目標である第1目標が算出される。そして、第2目標算出手段により、第1目標に対して、第1ロボット及び第2ロボットの相対的な位置及び姿勢関係を維持するように、第2ロボットの動作目標である第2目標が算出される。
判定手段により、第2目標へ第2ロボットが動作する速度が上限速度を超えているか否か判定される。そして、判定手段により第2ロボットの速度が上限速度を超えていないと判定された場合は、動作手段により、第1目標へ第1ロボットが動作させられ、第2目標へ第2ロボットを動作させられる。これにより、第1ロボット及び第2ロボットの相対的な位置及び姿勢関係を維持しつつ、第1ロボット及び第2ロボットをそれぞれ第1目標及び第2目標へ動作させることができる。その結果、第1ロボット及び第2ロボットにより、1つのワークを把持して搬送する協調動作等を行うことができる。
一方、判定手段により第2ロボットの速度が上限速度を超えていると判定された場合は、第1目標修正手段により、第1ロボットの現在の位置及び姿勢に第1目標を近付けるように第1目標が修正される。そして、第2目標算出手段により、修正された第1目標に対して、第1ロボット及び第2ロボットの相対的な位置及び姿勢関係を維持するように第2目標が算出される。このため、修正される前の第1目標に対する第2目標と比較して、修正された後の第1目標に対する第2目標を、第2ロボットの現在の位置及び姿勢に近付けることができる。したがって、第2目標へ第2ロボットが動作する速度を低下させることができ、第1ロボットの動作に第2ロボットの動作を追従させることができる。なお、第1目標が修正された後も、第2目標へ第2ロボットが動作する速度が上限速度を超えている場合は、第1目標が再修正される。
第2の手段では、前記第1目標修正手段は、前記第2ロボットの速度が前記上限速度を超えている量が大きいほど、前記第1ロボットの現在の位置及び姿勢に前記第1目標を近付ける量を大きくする。
上記構成によれば、第1目標修正手段により、第2ロボットの速度が上限速度を超えている量が大きいほど、第1ロボットの現在の位置及び姿勢に第1目標を近付ける量が大きくされる。このため、第2ロボットの速度が上限速度を超えている量に応じて、適切に第1目標を修正することができる。
第3の手段は、第1ロボット及び第2ロボットを制御するロボット制御装置であって、動作周期毎に、前記第1ロボットの動作目標である第1目標を算出する第1目標算出手段と、前記第1目標に対して、前記第1ロボット及び前記第2ロボットの相対的な位置及び姿勢関係を維持するように、前記第2ロボットの動作目標である第2目標を算出する第2目標算出手段と、前記第2目標へ前記第2ロボットが動作する加速度が上限加速度を超えているか否か判定する判定手段と、前記判定手段により前記第2ロボットの加速度が前記上限加速度を超えていると判定された場合に、前記第1ロボットの現在の位置及び姿勢に前記第1目標を近付けるように前記第1目標を修正する第1目標修正手段と、前記第1目標へ前記第1ロボットを動作させ、前記第2目標へ前記第2ロボットを動作させる動作手段と、を備えることを特徴とする。
上記構成によれば、判定手段により、第2目標へ第2ロボットが動作する加速度が上限加速度を超えているか否か判定される。そして、判定手段により第2ロボットの加速度が上限速度を超えていないと判定された場合は、動作手段により、第1目標へ第1ロボットが動作させられ、第2目標へ第2ロボットを動作させられる。
一方、判定手段により第2ロボットの加速度が上限加速度を超えていると判定された場合は、第1目標修正手段により、第1ロボットの現在の位置及び姿勢に第1目標を近付けるように第1目標が修正される。したがって、第2目標へ第2ロボットが動作する加速度を低下させることができ、第1ロボットの動作に第2ロボットの動作を追従させることができる。
第4の手段では、前記第1目標修正手段は、前記第2ロボットの加速度が前記上限加速度を超えている量が大きいほど、前記第1ロボットの現在の位置及び姿勢に前記第1目標を近付ける量を大きくする。
上記構成によれば、第1目標修正手段により、第2ロボットの加速度が上限加速度を超えている量が大きいほど、第1ロボットの現在の位置及び姿勢に第1目標を近付ける量が大きくされる。このため、第2ロボットの加速度が上限加速度を超えている量に応じて、適切に第1目標を修正することができる。
具体的には、第5の手段のように、前記相対的な位置及び姿勢関係は、前記第1ロボット及び前記第2ロボットにより1つのワークを把持させた状態において、前記第2ロボットのベース座標系の原点の位置及び姿勢に対する前記第2ロボットの位置及び姿勢を特定する行列の逆行列、前記第1ロボットのベース座標系の原点の位置及び姿勢に対する前記第2ロボットのベース座標系の原点の位置及び姿勢を特定する行列の逆行列、並びに前記第1ロボットのベース座標系の原点の位置及び姿勢に対する前記第1ロボットの位置及び姿勢を特定する行列を掛けた行列で特定されるといった構成を採用することができる。こうした構成によれば、第1ロボット及び第2ロボットの相対的な位置及び姿勢関係を、行列を用いて容易に特定することができる。
さらに、第5の手段の構成を前提として、第6の手段のように、前記第2目標は、前記第1ロボットのベース座標系の原点の位置及び姿勢に対する前記第2ロボットのベース座標系の原点の位置及び姿勢を特定する行列の逆行列、前記第1ロボットのベース座標系の原点の位置及び姿勢に対する前記第1ロボットの位置及び姿勢を特定する行列、並びに前記相対的な位置及び姿勢関係を特定する前記行列の逆行列を掛けた行列で特定されるといった構成を採用することができる。
第7の手段では、前記第2目標が前記第2ロボットの動作可能な位置及び姿勢でない場合に、前記第1ロボット及び第2ロボットの動作を禁止する禁止手段を備える。
上記構成によれば、禁止手段により、第2目標が第2ロボットの動作可能な位置及び姿勢でない場合に、第1ロボット及び第2ロボットの動作が禁止される。このため、第1ロボットの動作に第2ロボットの動作が追従できない場合に、第1ロボットだけが動作させられることを避けることができる。したがって、第1ロボット及び第2ロボットにより把持したワーク等が破損することを抑制することができる。
第8の手段では、前記第1目標算出手段は、前記第1ロボットの動作を手動操作する操作器からの指令に基づいて、動作周期毎に、前記第1ロボットの動作目標である第1目標を算出する。
上記構成によれば、第1目標算出手段により、第1ロボットの動作を手動操作する操作器からの指令に基づいて、動作周期毎に、第1ロボットの動作目標である第1目標が算出される。このため、ユーザが操作器により第1ロボットを手動操作する際に、第1ロボット及び第2ロボットの相対的な位置及び姿勢関係を維持しつつ、第1ロボット及び第2ロボットをそれぞれ動作させることができる。
第9の手段では、前記第1目標算出手段は、前記第1ロボットの動作目標として教示された教示点に基づいて、動作周期毎に、前記第1ロボットの動作目標である第1目標を算出する。
上記構成によれば、第1目標算出手段により、第1ロボットの動作目標として教示された教示点に基づいて、動作周期毎に、第1ロボットの動作目標である第1目標が算出される。このため、第1ロボットの動作目標として教示点を教示することにより、第1ロボット及び第2ロボットの相対的な位置及び姿勢関係を維持しつつ、第1ロボット及び第2ロボットをそれぞれ動作させることができる。
ロボットシステムの概要を示すブロック図。 協調動作における2台のロボットの動作量を示す斜視図。 ロボットの協調動作制御を示すフローチャート。 2台のロボットの相対的な位置及び姿勢関係を示す模式図。 第2ロボットの動作目標を示す模式図。 ロボットの協調動作制御の変更例を示すフローチャート。 2台のロボットの教示点及び目標軌道を示す模式図。
以下、一実施形態について、図面を参照しつつ説明する。本実施形態は、機械組立工場等において、ワークの搬送や機械の組み立て等を行うロボットシステムとして具体化している。
図1は、ロボットシステム10の概要を示すブロック図である。ロボットシステム10は、ロボットコントローラ20、ロボット機構部41(ロボット40)、及び操作器50の組を複数を備えている。
ロボットコントローラ20(ロボット制御装置)は、ロボット40を全体的に制御するCPU21を有している。このCPU21には、バス29を介してROM22、RAM23、不揮発性メモリ24、ロボット軸制御部25、通信モジュール26、操作器インタフェース27等が接続されている。
ROM22には、CPU21が実行するシステムプログラムが格納されており、不揮発性メモリ24には各種パラメータ等の設定値及びロボット40が行う作業の教示プログラムが格納される。また、RAM23はデータの一時記憶等に利用される。ロボット軸制御部25は、ロボット40の各軸への移動指令に基づいて、各軸の位置、速度及びモータトルク(加速度)のフィードバック制御を行う。ロボット軸制御部25は、サーボアンプ28を介してロボット40におけるロボット機構部41の各軸のサーボモータを駆動制御する。通信モジュール26は別のロボットコントローラと通信路で接続される。操作器インタフェース27には、操作器50(ティーチングペンダント)が接続されている。
図2は、協調動作における2台のロボット40A,40Bの動作量を示す斜視図である。図2(a)は協調動作開始前の状態を示しており、図2(b)は協調動作終了後の状態を示している。ここでは、第1ロボット40Aと第2ロボット40Bとにより、1つのワークWが把持されており、このワークWを変形させることなく、ワークWをx軸周りに回転させる動作を行う。すなわち、両ロボット40A,40Bの相対的な位置及び姿勢関係を維持しつつ、ワークWを回転させる。
この場合、第2ロボット40Bの動作量は、第1ロボット40Aの動作量よりも大きくなる。このため、第1ロボット40Aを高速で動作させると、両ロボット40A,40Bの相対的な位置及び姿勢関係を維持しようとしても、第2ロボット40Bの動作速度が上限速度を超えて第2ロボット40Bが追従できなくなる。
そこで、本実施形態では、第1ロボット40Aの動作目標(第1目標)に対して、上記相対的な位置及び姿勢関係を維持するように第2ロボット40Bの動作目標(第2目標)を算出し、第2目標へ第2ロボット40Bが動作する速度が上限速度を超えている場合に、第1ロボット40Aの現在の位置及び姿勢に上記第1目標を近付けるように第1目標を修正する。図3は、本実施形態におけるロボット40A,40Bの協調動作制御を示すフローチャートである。この一連の処理は、S11の処理を除いてCPU21により実行される。
まず、ユーザは、第1ロボット40A及び第2ロボット40Bにより、ワークWを把持させる(S11)。すなわち、図2(a)に示すように、ユーザは第1ロボット40Aの操作器50を操作して第1ロボット40AによりワークWを把持させるとともに、第2ロボット40Bの操作器50を操作して第2ロボット40BによりワークWを把持させる。
続いて、両ロボット40A,40Bの相対的な位置及び姿勢関係Tvを算出する(S12)。詳しくは、以下の数式により、上記相対的な位置及び姿勢関係Tvを算出する。
Tv=(Tr2t2)−1×(Tr1r2)−1×(Tr1t1)
ここで、図4に示すように、Tr2t2は第2ロボット40Bのベース座標系の原点O2の位置及び姿勢に対する第2ロボット40Bのツール先端t2の位置及び姿勢を特定する行列であり、Tr1r2は第1ロボット40Aのベース座標系の原点O1の位置及び姿勢に対する第2ロボット40Bのベース座標系の原点O2の位置及び姿勢を特定する行列であり、Tr1t1は第1ロボット40Aのベース座標系の原点O1の位置及び姿勢に対する第1ロボット40Aのツール先端t1の位置及び姿勢を特定する行列である。行列Tr2t2等は4×4の同時変換行列であり、(Tr2t2)−1は行列Tr2t2の逆行例を表す。
続いて、ユーザによる操作器50に対する第1ロボット40Aを動作させる操作があるか否か判定する(S13)。この判定において、ユーザによる操作器50に対する第1ロボット40Aを動作させる操作がないと判定した場合(S13:NO)、この一連の処理を一端終了する(END)。
一方、S13の判定において、ユーザによる操作器50に対する第1ロボット40Aを動作させる操作があると判定した場合(S13:YES)、操作器50からの動作指令に基づいて第1ロボット40Aの動作目標Tr1t1*を算出する(S14)。詳しくは、操作器50に対するユーザの動作操作(設定された速度で各軸を回転させる操作等)に対応する動作指令が、操作器50から操作器インタフェース27を介してCPU21へ出力される。CPU21は、この動作指令(各軸の回転指令)に従って第1ロボット40Aを動作させるように、第1ロボット40Aの動作目標Tr1t1*(目標位置及び目標姿勢)を算出する。この第1ロボット40Aの動作目標Tr1t1*は、第1ロボット40Aの1動作周期ts(1制御周期)後の動作目標である。
続いて、第1ロボット40Aの動作目標Tr1t1*に対して、上記相対的な位置及び姿勢関係Tvを維持するように、第2ロボット40Bの動作目標Tr2t2*を算出する(S15)。詳しくは、以下の数式により、第2ロボット40Bの動作目標Tr2t2*を算出する。この第2ロボット40Bの動作目標Tr2t2*は、第2ロボット40Bの1動作周期ts(1制御周期)後の動作目標である。
Tr2t2*=(Tr1r2)−1×(Tr1t1*)×(Tv)−1
ここで、図5に示すように、(Tr1r2)−1は第1ロボット40Aのベース座標系の原点O1の位置及び姿勢に対する第2ロボット40Bのベース座標系の原点O2の位置及び姿勢を特定する行列の逆行例であり、Tr1t1*は第1ロボット40Aのベース座標系の原点O1の位置及び姿勢に対する第1ロボット40Aのツール先端t1の目標位置及び目標姿勢(動作目標)を特定する行列であり、(Tv)−1は上記対的な位置及び姿勢関係を特定する行列の逆行列である。
続いて、1動作周期ts後に動作目標Tr2t2*へ第2ロボット40Bが動作する速度V2が、上限速度V2mxを超えているか否か判定する(S16)。具体的には、速度V2は、1動作周期tsと動作目標Tr2t2*とに基づいて算出される。上限速度V2mxは、第2ロボット40Bの仕様に基づいて設定されている。
S16の判定において、速度V2が上限速度V2mxを超えていると判定された場合(S16:YES)、第1ロボット40Aの現在の位置及び姿勢に第1ロボット40Aの動作目標Tr1t1*を近付けるように動作目標Tr1t1*を修正する(S17)。詳しくは、第2ロボット40Bの速度V2が上限速度V2mxを超えている量が大きいほど、第1ロボット40Aの現在の位置及び姿勢に動作目標Tr1t1*を近付ける量を大きくする。すなわち、第2ロボット40Bの速度V2が上限速度V2mxを超えている量が大きいほど、第1ロボット40Aの動作量を小さくする。その後、S15の処理から再度実行し、修正された動作目標Tr1t1*に対して、上記相対的な位置及び姿勢関係Tvを維持するように、第2ロボット40Bの動作目標Tr2t2*を算出する。
一方、S16の判定において、速度V2が上限速度V2mxを超えていないと判定された場合(S16:NO)、動作目標Tr1t1*へ第1ロボット40Aを動作させ、動作目標Tr2t2*へ第2ロボット40Bを動作させる(S18)。
続いて、ユーザによる操作器50に対する第1ロボット40Aを動作させる操作が終了したか否か判定する(S19)。この判定において、ユーザによる操作器50に対する動作操作が終了していないと判定した場合(S19:NO)、S14の処理から再度実行する。
一方、S19の判定において、ユーザによる操作器50に対する動作操作が終了したと判定した場合(S19:YES)、操作器50からの停止指令に基づいて第1ロボット40Aの動作目標Tr1t1*を算出する(S20)。詳しくは、操作器50に対するユーザの停止操作(各軸を回転させる操作等の終了)に対応する停止指令が、操作器50から操作器インタフェース27を介してCPU21へ出力される。CPU21は、この停止指令(各軸の回転停止指令)に従って第1ロボット40Aを停止させるように、第1ロボット40Aの動作目標Tr1t1*(目標位置及び目標姿勢)を算出する。
続いて、上記S15〜S18の処理と同様に、S21〜S24の処理を実行する。そして、第1ロボット40A及び第2ロボット40Bが停止したか否か判定する(S25)。この判定において、第1ロボット40A及び第2ロボット40Bが停止していないと判定した場合(S25:NO)、S20の処理から再度実行する。一方、この判定において、第1ロボット40A及び第2ロボット40Bが停止したと判定した場合(S25:YES)、この一連の処理を一旦終了する(END)。
なお、S14及びS20の処理が第1目標算出手段としての処理に相当し、S15及びS21の処理が第2目標算出手段としての処理に相当し、S16及びS22の処理が判定手段としての処理に相当し、S17及びS23の処理が第1目標修正手段としての処理に相当し、S18及びS24の処理が動作手段としての処理に相当する。
以上詳述した本実施形態は、以下の利点を有する。
・動作目標Tr2t2*へ第2ロボット40Bが動作する速度V2が上限速度V2mxを超えているか否か判定される。そして、第2ロボット40Bの速度V2が上限速度V2mxを超えていないと判定された場合は、動作目標Tr1t1*へ第1ロボット40Aが動作させられ、動作目標Tr2t2*へ第2ロボット40Bを動作させられる。これにより、第1ロボット40A及び第2ロボット40Bの相対的な位置及び姿勢関係Tvを維持しつつ、第1ロボット40A及び第2ロボット40Bをそれぞれ動作目標Tr1t1*及び動作目標Tr2t2*へ動作させることができる。その結果、第1ロボット40A及び第2ロボット40Bにより、1つのワークWを把持して搬送する協調動作等を行うことができる。
・第2ロボット40Bの速度V2が上限速度V2mxを超えていると判定された場合は、第1ロボット40Aの現在の位置及び姿勢に動作目標Tr1t1*を近付けるように動作目標Tr1t1*が修正される。そして、修正された動作目標Tr1t1*に対して、第1ロボット40A及び第2ロボット40Bの相対的な位置及び姿勢関係Tvを維持するように動作目標Tr2t2*が算出される。このため、修正される前の動作目標Tr1t1*に対する動作目標Tr2t2*と比較して、修正された後の動作目標Tr1t1*に対する動作目標Tr2t2*を、第2ロボット40Bの現在の位置及び姿勢に近付けることができる。したがって、動作目標Tr2t2*へ第2ロボット40Bが動作する速度V2を低下させることができ、第1ロボット40Aの動作に第2ロボット40Bの動作を追従させることができる。
・第2ロボット40Bの速度V2が上限速度V2mxを超えている量が大きいほど、第1ロボット40Aの現在の位置及び姿勢に動作目標Tr1t1*を近付ける量が大きくされる。このため、第2ロボット40Bの速度V2が上限速度V2mxを超えている量に応じて、適切に動作目標Tr1t1*を修正することができる。
・図4に示すように、第1ロボット40A及び第2ロボット40Bの相対的な位置及び姿勢関係Tvを、行列を用いて容易に特定することができる。さらに、図5に示すように、動作目標Tr2t2*を、相対的な位置及び姿勢関係Tvを表す行列を用いて容易に特定することができる。
・第1ロボット40Aの動作を手動操作する操作器50からの指令に基づいて、動作周期ts毎に、第1ロボット40Aの動作目標である動作目標Tr1t1*が算出される。このため、ユーザが操作器50により第1ロボット40Aを手動操作する際に、第1ロボット40A及び第2ロボット40Bの相対的な位置及び姿勢関係Tvを維持しつつ、第1ロボット40A及び第2ロボット40Bをそれぞれ動作させることができる。
なお、上記実施形態を、以下のように変更して実施することもできる。
・上記実施形態では、第2ロボット40Bの速度V2が上限速度V2mxを超えている量が大きいほど、第1ロボット40Aの現在の位置及び姿勢に動作目標Tr1t1*を近付ける量を大きくした。これに対して、第2ロボット40Bの速度V2が上限速度V2mxを超えている量にかかわらず、第1ロボット40Aの現在の位置及び姿勢に動作目標Tr1t1*を近付ける量を一定にすることもできる。
・上記実施形態では、速度V2が上限速度V2mxを超えていると判定された場合(S16:YES)、第1ロボット40Aの現在の位置及び姿勢に第1ロボット40Aの動作目標Tr1t1*を近付けるように動作目標Tr1t1*を修正した(S17)。これに対して、第1ロボット40Aの現在の位置及び姿勢に第1ロボット40Aの動作目標Tr1t1*を近付けるように、S14において動作目標Tr1t1*を再算出してもよい。この場合も、第1ロボット40Aの現在の位置及び姿勢に第1ロボット40Aの動作目標Tr1t1*を近付けるように動作目標Tr1t1*が修正されることとなる。また、動作目標Tr1t1*が修正される場合に、修正される前の動作目標Tr1t1*を記憶しておいてもよい。そして、記憶しておいた修正される前の動作目標Tr1t1*を、修正された動作目標Tr1t1*の次動作周期での動作目標Tr1t1*とすることにより、CPU21の演算負荷を軽減することができる。
・図3のS16及びS22を、以下のように変更することもできる。すなわち、1動作周期ts後に動作目標Tr2t2*へ第2ロボット40Bが動作する加速度A2が、上限加速度A2mxを超えているか否か判定する。具体的には、加速度A2は、1動作周期tsと動作目標Tr2t2*とに基づいて算出される。上限加速度A2mxは、第2ロボット40Bの仕様に基づいて設定されている。
そして、S17及びS23を以下のように変更することができる。第1ロボット40Aの現在の位置及び姿勢に第1ロボット40Aの動作目標Tr1t1*を近付けるように動作目標Tr1t1*を修正する。詳しくは、第2ロボット40Bの加速度A2が上限加速度A2mxを超えている量が大きいほど、第1ロボット40Aの現在の位置及び姿勢に動作目標Tr1t1*を近付ける量を大きくする。すなわち、第2ロボット40Bの加速度A2が上限加速度A2mxを超えている量が大きいほど、第1ロボット40Aの動作量を小さくする。
こうした構成によれば、動作目標Tr2t2*へ第2ロボット40Bが動作する加速度A2を低下させることができ、第1ロボット40Aの動作に第2ロボット40Bの動作を追従させることができる。さらに、第2ロボット40Bの加速度A2が上限加速度A2mxを超えている量に応じて、適切に動作目標Tr1t1*を修正することができる。なお、加速度A2は、速度を上昇させる時の加速度であってもよいし、速度を低下させる時の減速度であってもよい。
・図6は、ロボット40A,40Bの協調動作制御の変更例を示すフローチャートである。この一連の処理は、S31の処理を除いてCPU21により実行される。
まず、ユーザは、第1ロボット40Aの動作目標Tr1t1*として、全ての教示点t11〜t1eを教示する(S31)。すなわち、図7に示すように、ユーザは第1ロボット40Aの操作器50を操作して、ロボット40A,40BによりワークWを把持させて協調動作を行う際の第1ロボット40Aの各動作目標Tr1t1*として、教示点t11〜t1eを教示する。
続いて、協調動作の開始点t10,t20において両ロボット40A,40Bの相対的な位置及び姿勢関係Tvを算出する(S32)。S32の処理は、図6のS12の処理と同様である。ただし、両ロボット40A,40BによりワークWを把持させておらず、両ロボット40A,40Bはバーチャルツールで接続されていると考えることができる。
続いて、教示された教示点t11〜t1eに基づいて第1ロボット40Aの動作目標Tr1t1*を算出する(S33)。詳しくは、各教示点の間を補間して、教示点間の第1ロボット40Aの速度パターンを算出する。そして、第1ロボット40Aの動作目標Tr1t1*(目標位置及び目標姿勢)を算出する。この第1ロボット40Aの動作目標Tr1t1*は、第1ロボット40Aの1動作周期ts(1制御周期)後の動作目標である。
続いて、図3のS15〜S17の処理と同様に、S34〜S36の処理を実行する。そして、S35の判定において、速度V2が上限速度V2mxを超えていないと判定された場合(S35:NO)、動作目標Tr1t1*及び動作目標Tr2t2*を不揮発性メモリ24に記録する(S37)。すなわち、ロボット40A,40Bを動作させる代わりに、ロボット40A,40Bの各制御周期tsにおける動作目標Tr1t1*,Tr2t2*を記録する。
続いて、動作目標Tr1t1*,Tr2t2*の算出及び記録が、最後の教示点t1e,t2eに到達したか否か判定する(S38)。すなわち、図7に示すように、全ての教示点t11〜t1eに対して、第2ロボット40Bの動作目標Tr2t2*(動作点t21〜t2e)を算出したか否か判定する。この判定において、動作目標Tr1t1*,Tr2t2*の算出及び記録が、最後の教示点t1e,t2eに到達していないと判定した場合(S38:NO)、S33の処理から再度実行する。一方、この判定において、動作目標Tr1t1*,Tr2t2*の算出及び記録が、最後の教示点t1e,t2eに到達したと判定した場合(S38:YES)、この一連の処理を一旦終了する(END)。
なお、S33の処理が第1目標算出手段としての処理に相当し、S34の処理が第2目標算出手段としての処理に相当し、S35の処理が判定手段としての処理に相当し、S36の処理が第1目標修正手段としての処理に相当する。
こうした構成によれば、第1ロボット40Aの動作目標Tr1t1*として教示された教示点t11〜t1eに基づいて、動作周期ts毎に、第1ロボット40Aの動作目標Tr1t1*が算出される。このため、第1ロボット40Aの動作目標Tr1t1*として教示点t11〜t1eを教示することにより、第1ロボット40A及び第2ロボット40Bの相対的な位置及び姿勢関係Tvを維持しつつ、第1ロボット40A及び第2ロボット40Bの動作目標Tr1t1*,Tr2t2*を算出して記録することができる。ひいては、記録された動作目標Tr1t1*,Tr2t2*を用いた自動動作により、第1ロボット40A及び第2ロボット40Bを協調動作させることができる。
・第2ロボット40Bの動作目標Tr2t2*が第2ロボット40Bの動作可能な位置及び姿勢でない場合に、第1ロボット40A及び第2ロボット40Bの動作を禁止する禁止手段を備えてもよい。こうした構成によれば、禁止手段により、動作目標Tr2t2*が第2ロボット40Bの動作可能な位置及び姿勢でない場合に、第1ロボット40A及び第2ロボット40Bの動作が禁止される。このため、第1ロボット40Aの動作に第2ロボット40Bの動作が追従できない場合に、第1ロボット40Aだけが動作させられることを避けることができる。したがって、第1ロボット40A及び第2ロボット40Bにより把持したワークW等が破損することを抑制することができる。
・ロボットコントローラ20は、各ロボット40A,40Bを制御するものでもよいし、ロボット40A,40Bを統括して制御するものでもよい。
・ロボットは2台に限らず、3台以上であってもよい。その場合は、1台を第1ロボット40Aとし、その他の少なくとも1台を第2ロボット40Bとすればよい。
20…ロボットコントローラ(ロボット制御装置)、40…ロボット、40A…第1ロボット、40B…第2ロボット、50…操作器。

Claims (9)

  1. 第1ロボット及び第2ロボットを制御するロボット制御装置であって、
    動作周期毎に、前記第1ロボットの動作目標である第1目標を算出する第1目標算出手段と、
    前記第1目標に対して、前記第1ロボット及び前記第2ロボットの相対的な位置及び姿勢関係を維持するように、前記第2ロボットの動作目標である第2目標を算出する第2目標算出手段と、
    前記第2目標へ前記第2ロボットが動作する速度が上限速度を超えているか否か判定する判定手段と、
    前記判定手段により前記第2ロボットの速度が前記上限速度を超えていると判定された場合に、前記第1ロボットの現在の位置及び姿勢に前記第1目標を近付けるように前記第1目標を修正する第1目標修正手段と、
    前記第1目標へ前記第1ロボットを動作させ、前記第2目標へ前記第2ロボットを動作させる動作手段と、
    を備えることを特徴とするロボット制御装置。
  2. 前記第1目標修正手段は、前記第2ロボットの速度が前記上限速度を超えている量が大きいほど、前記第1ロボットの現在の位置及び姿勢に前記第1目標を近付ける量を大きくする請求項1に記載のロボット制御装置。
  3. 第1ロボット及び第2ロボットを制御するロボット制御装置であって、
    動作周期毎に、前記第1ロボットの動作目標である第1目標を算出する第1目標算出手段と、
    前記第1目標に対して、前記第1ロボット及び前記第2ロボットの相対的な位置及び姿勢関係を維持するように、前記第2ロボットの動作目標である第2目標を算出する第2目標算出手段と、
    前記第2目標へ前記第2ロボットが動作する加速度が上限加速度を超えているか否か判定する判定手段と、
    前記判定手段により前記第2ロボットの加速度が前記上限加速度を超えていると判定された場合に、前記第1ロボットの現在の位置及び姿勢に前記第1目標を近付けるように前記第1目標を修正する第1目標修正手段と、
    前記第1目標へ前記第1ロボットを動作させ、前記第2目標へ前記第2ロボットを動作させる動作手段と、
    を備えることを特徴とするロボット制御装置。
  4. 前記第1目標修正手段は、前記第2ロボットの加速度が前記上限加速度を超えている量が大きいほど、前記第1ロボットの現在の位置及び姿勢に前記第1目標を近付ける量を大きくする請求項3に記載のロボット制御装置。
  5. 前記相対的な位置及び姿勢関係は、前記第1ロボット及び前記第2ロボットにより1つのワークを把持させた状態において、前記第2ロボットのベース座標系の原点の位置及び姿勢に対する前記第2ロボットの位置及び姿勢を特定する行列の逆行列、前記第1ロボットのベース座標系の原点の位置及び姿勢に対する前記第2ロボットのベース座標系の原点の位置及び姿勢を特定する行列の逆行列、並びに前記第1ロボットのベース座標系の原点の位置及び姿勢に対する前記第1ロボットの位置及び姿勢を特定する行列を掛けた行列で特定される請求項1〜4のいずれか1項に記載のロボット制御装置。
  6. 前記第2目標は、前記第1ロボットのベース座標系の原点の位置及び姿勢に対する前記第2ロボットのベース座標系の原点の位置及び姿勢を特定する行列の逆行列、前記第1ロボットのベース座標系の原点の位置及び姿勢に対する前記第1ロボットの位置及び姿勢を特定する行列、並びに前記相対的な位置及び姿勢関係を特定する前記行列の逆行列を掛けた行列で特定される請求項5に記載のロボット制御装置。
  7. 前記第2目標が前記第2ロボットの動作可能な位置及び姿勢でない場合に、前記第1ロボット及び第2ロボットの動作を禁止する禁止手段を備える請求項1〜6のいずれか1項に記載のロボット制御装置。
  8. 前記第1目標算出手段は、前記第1ロボットの動作を手動操作する操作器からの指令に基づいて、動作周期毎に、前記第1ロボットの動作目標である第1目標を算出する請求項1〜7のいずれか1項に記載のロボット制御装置。
  9. 前記第1目標算出手段は、前記第1ロボットの動作目標として教示された教示点に基づいて、動作周期毎に、前記第1ロボットの動作目標である第1目標を算出する請求項1〜7のいずれか1項に記載のロボット制御装置。
JP2014231170A 2014-11-14 2014-11-14 ロボット制御装置 Active JP6539989B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014231170A JP6539989B2 (ja) 2014-11-14 2014-11-14 ロボット制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014231170A JP6539989B2 (ja) 2014-11-14 2014-11-14 ロボット制御装置

Publications (2)

Publication Number Publication Date
JP2016093863A true JP2016093863A (ja) 2016-05-26
JP6539989B2 JP6539989B2 (ja) 2019-07-10

Family

ID=56070875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014231170A Active JP6539989B2 (ja) 2014-11-14 2014-11-14 ロボット制御装置

Country Status (1)

Country Link
JP (1) JP6539989B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6228810A (ja) * 1985-07-31 1987-02-06 Matsushita Electric Ind Co Ltd ロボツトの制御装置
JPH0720915A (ja) * 1993-07-06 1995-01-24 Fanuc Ltd ロボットの同期制御方法
JPH07164361A (ja) * 1993-12-16 1995-06-27 Daihen Corp 産業用ロボットの手動教示操作における速度制御装置
JPH11104981A (ja) * 1997-10-06 1999-04-20 Yaskawa Electric Corp ロボット制御装置の速度制御方法
JP2002073127A (ja) * 2000-09-04 2002-03-12 Fanuc Ltd ロボット制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6228810A (ja) * 1985-07-31 1987-02-06 Matsushita Electric Ind Co Ltd ロボツトの制御装置
JPH0720915A (ja) * 1993-07-06 1995-01-24 Fanuc Ltd ロボットの同期制御方法
JPH07164361A (ja) * 1993-12-16 1995-06-27 Daihen Corp 産業用ロボットの手動教示操作における速度制御装置
JPH11104981A (ja) * 1997-10-06 1999-04-20 Yaskawa Electric Corp ロボット制御装置の速度制御方法
JP2002073127A (ja) * 2000-09-04 2002-03-12 Fanuc Ltd ロボット制御装置

Also Published As

Publication number Publication date
JP6539989B2 (ja) 2019-07-10

Similar Documents

Publication Publication Date Title
JP6010776B2 (ja) ロボットシステムの制御方法およびロボットシステム
JP6333795B2 (ja) 学習による教示作業の簡易化及び動作性能向上機能を備えたロボットシステム
JP6238628B2 (ja) ロボット装置、ロボット制御方法、ロボット制御プログラム及びロボット装置を用いた部品の製造方法
JP5971342B2 (ja) ロボットの制御パラメータ調整方法、ロボットシステム、及びロボット制御装置
CN108568814B (zh) 机器人以及机器人的控制方法
JP7060540B2 (ja) 加工制御システム及び加工システム
JP6166305B2 (ja) 負荷パラメータ設定装置および負荷パラメータ設定方法
CN108628188B (zh) 控制系统、控制器以及控制方法
US20160257002A1 (en) Robot system having robot operated in synchronization with bending machine
JP6472214B2 (ja) ロボット装置の制御方法及びロボット装置
JP2006236031A (ja) ロボット軌跡制御方法及び装置並びにロボット軌跡制御方法のプログラム
WO2019116891A1 (ja) ロボットシステム及びロボット制御方法
CN110914020B (zh) 具有机器人的操纵装置以及方法和计算机程序
JP2009012132A (ja) 多関節型ロボットおよびワーク受け渡し方法
JP6339534B2 (ja) 最大で二つのワークを把持するハンドを備えたロボットの制御方法およびロボット制御装置
JP6539989B2 (ja) ロボット制御装置
CN111405966A (zh) 用于控制机器人组的方法和控制装置
JP6429977B2 (ja) ロボット装置及びロボット制御方法
JP6649336B2 (ja) ワーク移動装置及びロボットを協調して動作させるように制御する制御装置及び制御方法
JP2002331479A (ja) 産業用ロボットの制御方法
JP2014159066A (ja) ロボット制御装置及びロボットの制御方法
CN111432988A (zh) 用于控制机器人的方法和系统
US20230286152A1 (en) Robot system and controller
JP3194829B2 (ja) ロボットの動作プログラム生成装置
JP2014156000A (ja) パラレルリンクロボット及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190527

R150 Certificate of patent or registration of utility model

Ref document number: 6539989

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250