(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024135614
(43)【公開日】2024-10-04
(54)【発明の名称】制御方法、ロボットシステム、および、プログラム
(51)【国際特許分類】
B25J 19/06 20060101AFI20240927BHJP
【FI】
B25J19/06
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023046394
(22)【出願日】2023-03-23
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100179475
【弁理士】
【氏名又は名称】仲井 智至
(74)【代理人】
【識別番号】100216253
【弁理士】
【氏名又は名称】松岡 宏紀
(74)【代理人】
【識別番号】100225901
【弁理士】
【氏名又は名称】今村 真之
(72)【発明者】
【氏名】清澤 勇貴
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS06
3C707BS10
3C707BS12
3C707BS15
3C707DS01
3C707HS27
3C707KS03
3C707KS07
3C707KS09
3C707KS11
3C707KS12
3C707KS34
3C707KT03
3C707KT11
3C707KV01
3C707KV05
3C707KV11
3C707KW03
3C707KX06
3C707MS06
3C707MS10
3C707MS27
3C707MS28
(57)【要約】
【課題】ロボットの作業が強制的に中断される時間を短縮する。
【解決手段】ロボットシステムにおいて、進入制限領域が有効であり、ロボットアームが進入制限領域に進入した場合に、ロボットアームの動作の強制停止が実行される。制御部がロボットアームを制御する制御方法は、ロボットアームの制御点の現在位置を検出するステップと、現在位置を表す位置情報を少なくとも用いてロボットアームの制御点が現時刻以後に移動する少なくとも1つの位置を予測するステップと、進入制限領域が有効であり、予測した少なくとも1つの位置に基づいてロボットアームが進入制限領域に進入する可能性がある場合に、ロボットアームが進入制限領域に進入する前に、ロボットアームの動作の一時停止であって、停止した後の動作再開時に復帰動作を必要としない一時停止の実行を含む、ロボットアームの進入制限領域への進入を回避させる制御を行うステップと、を含む。
【選択図】
図5
【特許請求の範囲】
【請求項1】
ロボットシステムにおいてロボットアームを制御する制御方法であって、
前記ロボットシステムは、
前記ロボットアームと、
前記ロボットアームの動作を制御する制御部と、
進入制限領域が有効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の強制停止であって、停止した後の動作再開時に復帰動作を必要とする強制停止を実行し、
前記進入制限領域が無効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の前記強制停止を実行しない、機能安全部と、
を備え、
前記制御部が前記ロボットアームを制御する前記制御方法は、
前記ロボットアームの制御点の現在位置を検出するステップと、
前記現在位置を表す位置情報を少なくとも用いて前記ロボットアームの前記制御点が現時刻以後に移動する少なくとも1つの位置を予測するステップと、
前記進入制限領域が有効であり、予測した前記少なくとも1つの位置に基づいて前記ロボットアームが前記進入制限領域に進入する可能性がある場合に、前記ロボットアームが前記進入制限領域に進入する前に、前記ロボットアームの動作の一時停止であって、停止した後の動作再開時に前記復帰動作を必要としない一時停止の実行を含む、前記ロボットアームの前記進入制限領域への進入を回避させる制御を行うステップと、
を含む制御方法。
【請求項2】
請求項1に記載の制御方法であって、
前記進入制限領域を有効とするか無効とするかを切り替える安全入力信号を安全入力機器から受け付けるステップ、
をさらに含む、
制御方法。
【請求項3】
請求項2に記載の制御方法において、
前記進入を回避させる制御を行うステップが実行されることにより前記ロボットアームの動作が一時停止しているときに、前記安全入力信号に基づいて前記進入制限領域が無効にされたことを検出した場合、前記ロボットアームの動作を再開させるステップ、
をさらに含む、
制御方法。
【請求項4】
請求項1から3のいずれか一項に記載の制御方法であって、
前記位置を予測するステップにおいて、
前記ロボットアームの前記制御点の移動について予定された移動経路を表す経路情報を記憶部から読み出し、
前記位置情報と前記経路情報とを用いて、前記ロボットアームが現時刻以後に移動する前記少なくとも1つの位置を含む経路を予測し、
前記進入を回避させる制御を行うステップにおいて、
前記進入制限領域が有効であり、かつ、前記ロボットアームが前記進入制限領域に進入する可能性がある場合として、予測した前記経路の少なくとも一部が前記進入制限領域に含まれる場合に、前記ロボットアームの前記進入制限領域への進入を回避させる前記制御を行う、
制御方法。
【請求項5】
請求項1から3のいずれか一項に記載の制御方法であって、
前記位置を予測するステップにおいて、
現時刻より前の第1時刻における前記ロボットアームの第1位置を少なくとも取得し、
前記第1位置を示す情報と、前記位置情報と、前記第1時刻から前記現時刻までの経過時間と、を用いて、前記現時刻より後の第2時刻における前記ロボットアームの前記制御点の第2位置を前記少なくとも1つの位置として予測し、
前記進入を回避させる制御を行うステップにおいて、
前記進入制限領域が有効であり、かつ、前記ロボットアームが前記進入制限領域に進入する可能性がある場合として、予測した前記第2位置が前記進入制限領域に含まれる場合に、前記ロボットアームの前記進入制限領域への進入を回避させる前記制御を行う、
制御方法。
【請求項6】
請求項5に記載の制御方法であって、
前記進入を回避させる制御を行うステップにおいて、
前記進入制限領域が有効であり、前記第2位置が前記進入制限領域に含まれる場合に、
前記現時刻から前記第2時刻までの時間があらかじめ決められた閾値以上であるときに、前記一時停止の実行の前に、前記ロボットアームの前記制御点の移動速度を減速させる、
制御方法。
【請求項7】
請求項1から3のいずれか一項に記載の制御方法であって、
前記進入を回避させる制御を行うステップにおいて、
前記進入制限領域が有効であり、予測した前記少なくとも1つの位置に基づいて前記ロボットアームが前記進入制限領域に進入する可能性がある場合に、
前記ロボットアームが前記進入制限領域に進入する可能性がある旨の報知の実行をさらに含む、前記制御を行う、
制御方法。
【請求項8】
請求項1から3のいずれか一項に記載の制御方法であって、
前記機能安全部は、機能安全に関する規格を満たすように構成されている、
制御方法。
【請求項9】
ロボットシステムであって、
ロボットアームと、
前記ロボットアームの動作を制御する制御部と、
進入制限領域が有効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の強制停止であって、停止した後の動作再開時に復帰動作を必要とする強制停止を実行し、
前記進入制限領域が無効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の強制停止を実行しない、機能安全部と、
を備え、
前記制御部は、
前記ロボットアームの制御点の現在位置を検出し、
前記現在位置を表す情報を少なくとも用いて前記ロボットアームの前記制御点が現時刻以後に移動する少なくとも1つの位置を予測し、
前記進入制限領域が有効であり、予測した前記少なくとも1つの位置に基づいて前記ロボットアームが前記進入制限領域に進入する可能性がある場合に、前記ロボットアームが前記進入制限領域に進入する前に、前記ロボットアームの動作の一時停止であって、停止した後の動作再開時に前記復帰動作を必要としない一時停止の実行を含む、前記ロボットアームの前記進入制限領域への進入を回避させる制御を行う、
ロボットシステム。
【請求項10】
ロボットシステムにおいてロボットアームを制御するコンピューターが実行するプログラムであって、
前記ロボットシステムは、
前記ロボットアームと、
前記ロボットアームの動作を制御する制御部と、
進入制限領域が有効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の強制停止であって、停止した後の動作再開時に復帰動作を必要とする強制停止を実行し、前記進入制限領域が無効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の前記強制停止を実行しない機能安全部と、
を備え、
前記プログラムは、前記コンピューターに、
前記ロボットアームの制御点の現在位置を検出する機能と、
前記現在位置を表す情報を少なくとも用いて前記ロボットアームの前記制御点が現時刻以後に移動する少なくとも1つの位置を予測する機能と、
前記進入制限領域が有効であり、予測した前記少なくとも1つの位置に基づいて前記ロボットアームが前記進入制限領域に進入する可能性がある場合に、前記ロボットアームが前記進入制限領域に進入する前に、前記ロボットアームの動作の一時停止であって、停止した後の動作再開時に前記復帰動作を必要としない一時停止の実行を含む、前記ロボットアームの前記進入制限領域への進入を回避させる制御を行う機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御方法、ロボットシステム、および、プログラムに関する。
【背景技術】
【0002】
特許文献1には、センサーによりロボットの可動領域内に作業者が入ったことが検出された場合にロボットの動作を強制的に停止させる技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ロボットの動作が強制的に停止させられると、ロボットの動作を再開するにあたり、例えば、ユーザーが復帰動作を行う必要がある。復帰動作が完了するまでロボットの動作を再開できない。ロボットの動作がたびたび強制的に停止させられると、ロボットの作業が停止される時間が長くなり作業効率が低下する。このため、ロボットの作業が強制的に中断される時間を短縮できる技術が望まれていた。
【課題を解決するための手段】
【0005】
本開示の第1形態によれば、ロボットシステムにおいてロボットアームを制御する制御方法が提供される。前記ロボットシステムは、前記ロボットアームと、前記ロボットアームの動作を制御する制御部と、進入制限領域が有効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の強制停止であって、停止した後の動作再開時に復帰動作を必要とする強制停止を実行し、前記進入制限領域が無効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の前記強制停止を実行しない、機能安全部と、を備え、前記制御部が前記ロボットアームを制御する前記制御方法は、前記ロボットアームの制御点の現在位置を検出するステップと、前記現在位置を表す位置情報を少なくとも用いて前記ロボットアームの前記制御点が現時刻以後に移動する少なくとも1つの位置を予測するステップと、前記進入制限領域が有効であり、予測した前記少なくとも1つの位置に基づいて前記ロボットアームが前記進入制限領域に進入する可能性がある場合に、前記ロボットアームが前記進入制限領域に進入する前に、前記ロボットアームの動作の一時停止であって、停止した後の動作再開時に前記復帰動作を必要としない一時停止の実行を含む、前記ロボットアームの前記進入制限領域への進入を回避させる制御を行うステップと、を含む。
【0006】
本開示の第2形態によれば、ロボットシステムが提供される。このロボットシステムは、ロボットアームと、前記ロボットアームの動作を制御する制御部と、進入制限領域が有効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の強制停止であって、停止した後の動作再開時に復帰動作を必要とする強制停止を実行し、前記進入制限領域が無効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の強制停止を実行しない、機能安全部と、を備え、前記制御部は、前記ロボットアームの制御点の現在位置を検出し、前記現在位置を表す情報を少なくとも用いて前記ロボットアームの前記制御点が現時刻以後に移動する少なくとも1つの位置を予測し、前記進入制限領域が有効であり、予測した前記少なくとも1つの位置に基づいて前記ロボットアームが前記進入制限領域に進入する可能性がある場合に、前記ロボットアームが前記進入制限領域に進入する前に、前記ロボットアームの動作の一時停止であって、停止した後の動作再開時に前記復帰動作を必要としない一時停止の実行を含む、前記ロボットアームの前記進入制限領域への進入を回避させる制御を行う。
【0007】
本開示の第3形態によれば、プログラムが提供される。このプログラムは、ロボットシステムにおいてロボットアームを制御するコンピューターが実行するプログラムである。前記ロボットシステムは、前記ロボットアームと、前記ロボットアームの動作を制御する制御部と、進入制限領域が有効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の強制停止であって、停止した後の動作再開時に復帰動作を必要とする強制停止を実行し、前記進入制限領域が無効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の前記強制停止を実行しない機能安全部と、を備える。前記プログラムは、前記コンピューターに、前記ロボットアームの制御点の現在位置を検出する機能と、前記現在位置を表す情報を少なくとも用いて前記ロボットアームの前記制御点が現時刻以後に移動する少なくとも1つの位置を予測する機能と、前記進入制限領域が有効であり、予測した前記少なくとも1つの位置に基づいて前記ロボットアームが前記進入制限領域に進入する可能性がある場合に、前記ロボットアームが前記進入制限領域に進入する前に、前記ロボットアームの動作の一時停止であって、停止した後の動作再開時に前記復帰動作を必要としない一時停止の実行を含む、前記ロボットアームの前記進入制限領域への進入を回避させる制御を行う機能と、を実現させる。
【図面の簡単な説明】
【0008】
【
図1】第1実施形態に係るロボットシステムの全体構成を示す概略図である。
【
図2】ロボットとロボットコントローラーとの主要部を示すブロック図である。
【
図4】ロボットの制御点の移動履歴の一例を表した図である。
【
図5】位置制御に関する処理のフローチャートである。
【
図6】第2実施形態にかかるロボットシステムの全体構成を示す概略図である。
【
図7】第2実施形態における位置制御に関する処理のフローチャートである。
【
図8】位置を予測する方法についての説明図である。
【
図9】位置を予測する他の方法についての説明図である。
【
図10】他の実施形態2における位置制御に関する処理のフローチャートである。
【発明を実施するための形態】
【0009】
A.第1実施形態:
図1は、本実施形態に係るロボットシステム10の全体構成を示す概略図である。
図2は、ロボット100とロボットコントローラー700との主要部を示すブロック図である。
図1に示すように、ロボットシステム10は、ロボット100と、安全入力部300と、第1停止信号発生部400と、第2停止信号発生部500と、ロボットコントローラー700とを備える。
【0010】
ロボット100は垂直多関節ロボットである。ロボット100は、ロボットコントローラー700により駆動させられ、例えば、生産ラインにおいて製造工程の一部である組み立て作業を行う。ロボット100をロボットアームともよぶ。ロボット100は、基台105と、アーム120と、6つの駆動機構130と、力覚センサー140と、エンドエフェクター150とを備える。なお、
図1において駆動機構130を図示していない。基台105はロボット100を構成する部材を支持している。アーム120は6つの関節J1~J6を含む。関節J1~J6にはそれぞれ対応する駆動機構130が設けられている。
【0011】
図2に示すように、駆動機構130は、モーター131と、減速機132と、角度センサー133とを備える。モーター131は、ロボットコントローラー700から電流を供給され、対応する関節を駆動するための回転出力を生成する。減速機132は、モーター131から与えられた回転入力を、回転速度が低い回転出力に変換、すなわち、減速する。角度センサー133は、モーター131の出力軸の回転角度(軸の位置)を、その関節の回転角度として検出する。角度センサー133は、決められた時間間隔で回転角度を検出し、検出した回転角度を検出時刻とともにロボットコントローラー700に出力する。決められた時間間隔は、例えば、100ミリ秒である。角度センサー133は、例えば、エンコーダー、ポテンションメーター、レゾルバーである。駆動機構130が、ロボットコントローラー700の制御に従い、対応する関節を駆動することにより、エンドエフェクター150がロボット座標系RCにおいて指定された位置に指定された姿勢で配される。
【0012】
図1に示すように、ロボット座標系RCは、基台105の位置に対して固定され、ロボット100が設置された空間を規定する座標系である。ロボット座標系RCは、水平面上において互いに直交するX軸およびY軸と、鉛直上向きを正方向とするZ軸と、によって規定される三次元直交座標系である。ロボット座標系RCにおける任意の位置はX軸方向の位置とY軸方向の位置とZ軸方向の位置とにより表すことができる。ロボット座標系RCにおける任意の姿勢は、X軸回りの回転の角度位置とY軸回りの回転の角度位置とZ軸回りの回転の角度位置とにより表すことができる。
【0013】
力覚センサー140はアームエンド120eに装着されている。力覚センサー140は、ロボット座標系RCとは異なるセンサー座標系において、エンドエフェクター150に作用するX軸、Y軸、および、Z軸の検出軸に平行な力の大きさと、各検出軸回りのトルクの大きさを検出する。力覚センサー140は検出値をロボットコントローラー700に出力する。センサー座標系は、力覚センサー140上の点を原点とした三次元直交座標系である。
【0014】
エンドエフェクター150は、力覚センサー140を介してアームエンド120eに装着されている。エンドエフェクター150は不図示のワークを把持するための装置である。
図1においては、技術の理解を容易にするために、エンドエフェクター150を筒状部材として表示している。
【0015】
図2に示す、安全入力部300は、ロボット100の周囲においてあらかじめ設定された制限領域RAに人が存在する場合に安全入力信号SSを発生させる。安全入力部300は、制限領域RAにおける人の存在を検出するためのライトカーテン、レーザースキャナー、マットスイッチ、安全扉のドアスイッチ等を含む。安全入力部300を安全入力機器ともよぶ。
【0016】
図3は、ロボット100の周囲に設定された制限領域RAについての説明図である。制限領域RAを進入制限領域ともよぶ。
図3においては、ロボット100を四角で表している。
図3に示す例では、制限領域RAは、ロボット100の周囲において、後述する防護領域PAより外側に設定されている。制限領域RAは、作業者が必要に応じて作業を行う領域である。例えば、作業者は、制限領域RAに入って、決められた位置にロボット100の作業対象のワークを収容したパレットを運び込む。また、ロボット100は、新たな作業を行う際には制限領域RA内に置かれたパレットから新たなワークを取り出す。制限領域RAとして、作業者が作業を行う領域とロボット100が動作可能な範囲とが重なる領域が設定されている。安全の確保のため、制限領域RA内に人が存在していることが検出されている間、後述の機能安全部750によりロボット100の制限領域RA内への進入が制限される。
【0017】
例えば、安全入力部300が有するライトカーテンが制限領域RAの境界に設置されている。ライトカーテンにより制限領域RA内に人がいることが検出されている間、安全入力部300は安全入力信号SSをロボットコントローラー700に出力し続ける。例えば、ロボット100の周囲が安全扉を備える安全柵で囲われている。ドアスイッチにより開状態であることが検出されている間、安全入力部300は安全入力信号SSをロボットコントローラー700に出力し続ける。安全入力信号SSは、制限領域RAを有効とするか無効とするかを切り替える信号である。
【0018】
第1停止信号発生部400は、生産設備に設けられた非常停止ボタン、ティーチングペンダントに設けられた非常停止ボタンを含む。作業者が生産設備に設けられた非常停止ボタンまたはティーチングペンダントに設けられた非常停止ボタンを押下することによりロボット100の停止を指示した場合に、第1停止信号発生部400は、第1停止信号S1を発生させる。第1停止信号S1は、ロボット100を非常停止する指示を通知する信号である。
【0019】
第2停止信号発生部500は、ロボット100の周囲においてあらかじめ設定された防護領域PAに人が存在することを検出すると第2停止信号S2を発生させる。第2停止信号発生部500は、防護領域PAにおける人の存在を検出するためのライトカーテン、レーザースキャナー、マットスイッチ、安全扉のドアスイッチ等を含む。
【0020】
図3に示すように、防護領域PAはロボット100の周囲において、制限領域RAより内側に設定されている。防護領域PAは、ロボット100が動作可能な範囲と重なる領域である。防護領域PAに人が存在していることが検出されると、後述の機能安全部750によりロボット100の動作が完全に停止させられる。
【0021】
第2停止信号発生部500は、防護領域PA内に人がいることが検出されている間、第2停止信号S2をロボットコントローラー700に出力し続ける。第2停止信号S2は、ロボット100を保護停止する指示を通知する信号である。
【0022】
ロボットコントローラー700は、駆動部710と、電源回路部720と、制御部730と、電源遮断部740と、機能安全部750とを備える。
【0023】
駆動部710は、関節J1~J6それぞれに対応する6つのモータードライバーを有する。駆動部710は、制御部730の制御に従って関節J1~J6それぞれに対応する6つのモータードライバーを駆動する。各モータードライバーは対応する関節を回転させるモーター131を駆動する。駆動部710はアーム120の内部に配置されている。
【0024】
電源回路部720は、不図示の外部の交流電源から供給された電力を直流の電力に変換し、変換した電力を駆動部710と制御部730と機能安全部750とに供給する。駆動部710への電力は後述の電源遮断部740を介して供給される。電源回路部720と、制御部730と、電源遮断部740と、機能安全部750とは、基台105の内部に配置されている。
【0025】
制御部730は、駆動部710を制御することによりロボット100を駆動する。制御部730は、メモリー731とCPU(Central Processing Unit)732とを備えるコンピューターである。制御部730は、後述する機能安全部750とは異なり、機能安全に関する規格を満すように構成されている必要はない。メモリー731には制御部730が実行する各種処理に使用されるプログラムおよびデータが格納されている。メモリー731を記憶部ともよぶ。例えば、メモリー731にはロボット100の動作を制御する動作プログラムが格納されている。また、メモリー731には、角度センサー133が出力した回転角度および検出時刻を表すデータが格納されている。CPU732はメモリー731に格納されたプログラムを実行することにより様々な機能を実現する。
【0026】
制御部730は、駆動部710を介してロボット100の位置および姿勢を変化させることにより、ロボット100の制御点の位置を制御する。この結果、エンドエフェクター150は3次元空間中において指定された位置である目標点に、指定された姿勢で配される。制御点は、ロボット座標系RCにおいてロボット100を制御する基準となる地点である。例えば、エンドエフェクター150が対象物に触れる点の中心であるTCP(Tool Center Point)を制御点とすることができる。制御部730は、例えば、不図示のプログラマブルロジックコントローラーから受信した動作指令に従って、アーム120およびエンドエフェクター150を制御する。
【0027】
制御部730は、制限領域RAを有効にする安全入力信号SSを受け付けると、ロボット100の制御点の位置の制御を行う。安全入力信号SSが入力されている間、制御部730においてロボット100の制御点の位置の制限が行われる。制御の詳細については後述する。
【0028】
電源遮断部740は、機能安全部750の制御に従って駆動部710への電力の供給を遮断する。電源遮断部740はリレー回路を含む。電源遮断部740は、機能安全部750から遮断信号SCを受信するとリレー回路を開放状態する。よって、電源回路部720から駆動部710への電力の供給が遮断される。電源遮断部740は、機能安全部750から遮断信号SCを受信するまでリレー回路を閉成状態とする。この場合、駆動部710へ電源回路部720から電力が供給される。
【0029】
機能安全部750は、ロボット100を監視し、機能安全を確保するために必要な制御を行う。機能安全とは、安全を確保する機能を導入することにより実現される許容可能なレベルの安全のことである。機能安全部750は、メモリー751とCPU752とを備えるコンピューターである。機能安全部750は機能安全に関する規格を満たすように構成されている。機能安全に関する規格について、例えば、ロボットの安全規格であるISO10218-1:2011からは、機能安全の要求としてISO13849-1:2015が参照されている。メモリー751には機能安全部750が実行する各種処理に使用されるプログラムおよびデータが格納されている。CPU752は、メモリー751に格納されたプログラムを実行することにより様々な機能を実現する。
【0030】
機能安全部750は、第1停止信号発生部400から第1停止信号S1が入力されたか否かを監視する。機能安全部750は、第1停止信号S1が入力されると、IEC60204-1:2016で規定されている「STO(Safe Torque Off)」に相当する非常停止を実行する。具体的には、機能安全部750は電源遮断部740に遮断信号SCを出力することにより、ロボット100のモーター131への電力の供給を遮断させる。よって、ロボット100の動作が強制的に停止させられる。あるいは、機能安全部750は、第1停止信号S1が入力されると、IEC60204-1:2016で規定されている「SS1(Safe Stop1)」に相当する保護停止を実行する。具体的には、機能安全部750は制御部730を介してロボット100の動作を停止させる。その後、機能安全部750は電源遮断部740に遮断信号SCを出力することにより、ロボット100のモーター131への電力の供給を遮断させる。よって、ロボット100の動作が強制的に停止させられる。例えば、「STO」に相当する非常停止が実行された場合、ロボット100の動作を再開させるためには、作業者が手動で非常停止ボタンをリセットすることを含む決められた復帰動作の実行が必要である。
【0031】
また、機能安全部750は、第2停止信号発生部500から第2停止信号S2が入力されたか否かを監視する。機能安全部750は、第2停止信号S2が入力されると「STO」または「SS1」に相当する非常停止または保護停止を実行する。
【0032】
また、機能安全部750は、安全入力部300から安全入力信号SSが入力されたか否かを監視する。機能安全部750は、安全入力信号SSが入力されると位置監視機能を有効にする。安全入力信号SSが入力されている間、機能安全部750において、ロボット100の制御点の位置を監視する位置監視機能が有効となる。位置監視機能が有効である場合、機能安全部750は以下のようにロボット100を制御する。
【0033】
機能安全部750は、角度センサー133の検出値を用いてロボット100の制御点の位置を算出し、ロボット100の制御点の位置が制限領域RA内にあるか否かを監視する。なお、
図2においては機能安全部750と角度センサー133を接続する信号線の図示を省略している。制限領域RAの位置情報はあらかじめメモリー751に格納されている。
【0034】
図4はロボット100を上から見た場合の制御点の移動履歴の一例を表した図である。制御点の移動履歴は破線で表されている。制限領域RAは有効にされている。ロボット100の制御点は位置PSから移動を開始している。制御点が制限領域RAに進入したことが検出されると、機能安全部750によりロボット100が保護停止させられる。図示する例では、制御点の移動が位置PEで止められている。
【0035】
図2に示す、機能安全部750は、安全入力信号SSが入力されており、かつ、ロボット100の制御点の位置が制限領域RA内にある場合、「SS1」に相当する保護停止を実行する。機能安全部750による「SS1」に相当する保護停止の実行は上述したとおりである。よって、ロボット100の動作が強制的に停止させられる。あるいは、機能安全部750は、安全入力信号SSが入力されており、かつ、ロボット100の制御点の位置が制限領域RA内にある場合、「STO」に相当する非常停止を実行してもよい。機能安全部750による「STO」に相当する非常停止の実行は上述したとおりである。本明細書において、ロボット100の動作の強制的な停止であって、停止した後の動作再開時に復帰動作を必要とする停止を強制停止という。
【0036】
図5は位置制御に関する処理のフローチャートである。
図5に示す処理は制御部730のCPU732により実行される。例えば、ユーザーが不図示の入力装置を介して処理の開始を指示すると、制御部730は
図5に示す処理を開始する。なお、制御部730は、
図5に示す処理の実行と並行して、ロボット100の制御点が予定された移動経路に沿って移動するようにロボット100の動作を制御している。
【0037】
ステップS101において、制御部730は、安全入力信号SSが安全入力部300から入力されているか否かに応じて、制限領域RAが有効であるか否かを判別する。本実施形態において、制御部730は安全入力信号SSに基づいて制限領域RAが有効であるか否かを容易に把握できる。安全入力信号SSが入力されており、制限領域RAが有効である場合(ステップS101;YES)、制御部730はステップS103の処理を実行する。なお、安全入力信号SSは制御部730とともに機能安全部750にも入力されている。よって、安全入力信号SSが入力されると機能安全部750の位置監視機能が有効となる。安全入力信号SSが入力されておらず、制限領域RAが無効である場合(ステップS101;NO)、制御部730はステップS113の処理を実行する。制限領域RAが無効である場合、ロボット100の動作は制限されない。
【0038】
ステップS103において、制御部730はロボット100の制御点が現時刻以後に移動する位置を予測する。まず、制御部730はロボット100の制御点について予定された移動経路を表す経路情報をメモリー731から読み出す。予定された移動経路を表す経路情報はあらかじめメモリー731に格納されている。予定された移動経路を表す経路情報は、始点と1つ以上の中継点と終点とのそれぞれの位置を表す情報を含む。制御部730は、6つの角度センサー133が検出した回転角度とアーム120を構成する各リンクの長さとを用いて、順運動学による計算によりロボット100の制御点の現在位置を算出する。制御部730は、算出した現在位置と経路情報とを用いて、算出した現在位置が移動経路上のどこに位置するかを判別する。
【0039】
例えば、予定された移動経路が始点P11と中継点P12~P14と終点P15とを含む。制御点は、始点P11、中継点P12、中継点P13、中継点P14、終点P15の順に移動することが予定されている。制御部730は、現在位置が中継点P12と中継点P13との間に位置すると判別した場合、現時刻以後に移動する位置が、中継点P12の後の中継点P13およびP14と終点P15とであると判別する。制御部730は、中継点P13およびP14と終点P15とを含む経路が現時刻以後に制御点が移動する経路であると予測する。
【0040】
ステップS105において、制御部730は、予測した位置を含む経路の少なくとも一部が制限領域RAに含まれるか否かに応じて、ロボット100が制限領域RAに進入する可能性があるか否かを判別する。制御部730は、ロボット100が制限領域RAに進入する可能性があると判別した場合(ステップS105;YES)、ステップS107の処理を実行する。一方、ロボット100が制限領域RAに進入する可能性がないと判別した場合(ステップS105;NO)、制御部730はステップS113の処理を実行する。
【0041】
ステップS107において、制御部730は、駆動部710を制御してロボット100を一時停止させる。よって、ロボット100の動作が停止し、ロボット100の制限領域RAの進入が回避させられる。このとき、電源遮断部740により駆動部710への電力供給は遮断されていない。このため、停止したロボット100の動作を再開する際には復帰動作が不要である。
【0042】
ステップS109において、制御部730は、安全入力信号SSの入力の有無に基づいて制限領域RAが無効であるか否かを判別する。安全入力信号SSが入力されておらず、制限領域RAが無効である場合(ステップS109;YES)、制御部730はステップS111の処理を実行する。制限領域RAへの進入を回避するためロボット100の動作が一時停止しているときに、安全入力部300から安全入力信号SSの入力が停止されたことは、制限領域RAが無効にされたことを意味する。安全入力信号SSが入力されており、制限領域RAが有効である場合(ステップS109;NO)、制御部730は一定期間待機した後にステップS109の処理を再び実行する。
【0043】
ステップS111において、制御部730は、駆動部710を制御することによりロボット100の動作を再開させる。よって、ロボット100の動作が再開する。
【0044】
ステップS113において、制御部730は処理を継続するか否かを判別する。例えば、ユーザーが不図示の入力装置を介して処理の終了を指示した場合に制御部730は処理を終了すると判別する。処理の終了が指示されない場合、すなわち、処理を継続する場合(ステップS113;YES)、制御部730はステップS101の処理を再び実行する。処理を終了する場合(ステップS113;NO)、
図5に示す処理が終了される。
【0045】
ここで、ステップS109において、安全入力信号SSが入力されており、制限領域RAが有効である場合(ステップS109;NO)に、制御部730は一定期間待機した後にステップS109の処理を再び実行する構成を説明したが、これに限定されない。例えば、ステップS109に移行してから制限領域RAが有効である間に、ユーザーが不図示の入力装置を介して処理の終了を指示した場合には、制御部730は処理を終了すると判別し、
図5に示す処理が終了される構成としてもよい。
【0046】
以上説明したように、本実施形態においては、制御部730がロボット100の制御点が制限領域RAに進入する可能性を予測する。制御部730は、ロボット100の制限領域RAに進入する可能性がある場合に、ロボット100が制限領域RAに進入することを回避させるよう制御を行う。よって、機能安全部750によりロボット100の動作が強制的に停止させられずに済む。この場合、強制停止後の動作再開時における復帰動作が不要である。よって、ロボット100の作業が強制的に中断される時間を短縮できる。
【0047】
また、ロボット100の動作の一時停止によりロボットアームの制限領域RAへの進入を回避させる制御が行われ、ロボット100の動作が一時停止している場合に、制限領域RAが無効にされた場合には、復帰動作を要することなくロボット100の動作を速やかに再開できる。このため、制御部730により制限領域RAへの進入を回避させない態様に比べてロボット100の作業が中断される時間を短縮できる。
【0048】
また、制御部730は、現在位置を示す情報と予定された移動経路を表す経路情報とを用いてロボット100が現在時刻以後に移動する少なくとも1つの位置を予測するので、ロボットアームが制限領域RAに進入する可能性があるかを確実に予測できる。なお、制御部730は、ロボット100が現在時刻以後に移動する少なくとも1つの位置を予測することができる。
【0049】
B.第2実施形態:
第1実施形態においては、ロボット100は予定された移動経路に沿って動作した。このため、制御部730は、予定された移動経路を表す経路情報を用いてロボット100が制限領域RAに進入する可能性を予測した。第2実施形態においては、制御部730は、ロボット100が制限領域RAに進入する可能性を第1実施形態とは異なる方法で予測する。以下、第1実施形態と異なる構成を中心に説明する。第1実施形態にかかる構成と同様の構成については説明を省略する。
【0050】
図6は、第2実施形態にかかるロボットシステム10の全体構成を示す概略図である。第2実施形態にかかるロボットシステム10は、第1実施形態において説明した構成に加え、センサー801および802をさらに備える。
【0051】
センサー801は3次元ビジョンセンサーである。センサー801は不図示のワークを撮像可能な位置に設置されている。ロボットコントローラー700とセンサー801とは互いに通信可能である。センサー801は、パターン光を投影した状態でワークを撮像する。さらに、センサー801は、パターン光を投影していない状態でワークを撮像する。撮像は決められた撮像周期で行われる。撮像された画像は、ロボットコントローラー700がワークの3次元空間における位置および姿勢を算出する際に用いられる。センサー802は、例えば、レーザー変位センサーである。センサー802はロボット100のアーム120の先端に固定されている。センサー802はアーム120の周囲の物体を検出する。ロボットコントローラー700とセンサー802とは互いに通信可能である。
【0052】
本実施形態において、制御部730は、ロボット100が作業する空間において存在する物体の位置、大きさ、形状等の情報を含むCADデータと、センサー801および802により検出された検出値と、を用いたフィードバック制御により、動的に生成した経路に沿ってロボット100を動作させる。
【0053】
図7は、第2実施形態における位置制御に関する処理のフローチャートである。
図7に示す処理は制御部730のCPU732により実行される。例えば、ユーザーが不図示の入力装置を介して処理の開始を指示すると、制御部730は
図7に示す処理を開始する。
図7において、第1実施形態における位置制御に関する処理(
図5を参照)と同様の処理については同じ符号を付している。なお、
図7に示す処理の実行と並行して、制御部730はロボット100の制御点が動的に生成した経路に沿って移動するようにロボット100の動作を制御している。
【0054】
ステップS101において、
図5に示すステップS101と同様の処理が行われる。制限領域RAが有効である場合(ステップS101;YES)、制御部730はステップS104の処理を実行する。制限領域RAが無効である場合(ステップS101;NO)、制御部730はステップS113の処理を実行する。
【0055】
図7に示す、ステップS104において、制御部730は制御点が現時刻以後に移動する位置を予測する。
【0056】
図8は位置を予測する方法についての説明図である。
図8においては制限領域RAが四角形の領域として設定されている。まず、制御部730は、6つの角度センサー133が検出した回転角度とアーム120を構成する各リンクの長さとを用いて順運動学による計算により、現時刻におけるロボット100の制御点の現在位置である位置PCを算出する。また、制御部730は、現時刻である時刻TCより前の時刻T1における制御点の位置P1を算出する。例えば、時刻TCは、時刻T1から100ミリ秒が経過した時刻である。
図8に示す例では、位置P1、PCが同一直線上にあると仮定して、位置P1が算出される。位置P1を第1位置ともよぶ。時刻T1を第1時刻ともよぶ。さらに、制御部730は制御点の移動速度V1を取得する。具体的には、制御部730は、位置P1と位置PCとの距離を、時刻T1と時刻TCとの差分の時間で除することにより、移動速度V1を求める。
【0057】
制御部730は、位置P1を示す情報と、位置PCを示す情報と、時刻T1から時刻TCまでの経過時間と、移動速度V1と、を用いて、時刻TCより後の時刻T2におけるロボット100の制御点の位置P2を算出する。時刻T2は、時刻TCから、時刻TCと時刻T1との差分の時間が経過した時刻である。位置P2を第2位置ともよぶ。時刻T2を第2時刻ともよぶ。制御部730は、移動速度V1に時刻TCと時刻T2との差分の時間を乗ずることにより、位置PCと位置P2との距離を算出する。
図8に示す例では、位置P1、PC、P2が同一直線上にあると仮定して位置P2が算出される。
【0058】
図7に示す、ステップS106において制御部730は、予測した位置P2が制限領域RAに含まれるか否かに応じて、ロボット100が制限領域RAに進入する可能性があるか否かを判別する。制御部730は、ロボット100が制限領域RAに進入する可能性があると判別した場合(ステップS106;YES)、ステップS107の処理を実行する。一方、ロボット100が制限領域RAに進入する可能性がないと判別した場合(ステップS106;NO)、制御部730はステップS113の処理を実行する。
【0059】
図7に示す、ステップS107において、
図5に示すステップS107と同様の処理が行われる。ステップS107における一時停止後にロボット100の動作を再開する際には復帰動作が不要である。
【0060】
図7に示す、ステップS109,111,113において、
図5に示すステップS109,111,113と同様の処理がそれぞれ行われる。
【0061】
本実施形態においては、ロボット100が経路を探索しながら動作する場合に、制御部730はロボット100が現在時刻以後に移動する少なくとも1つの位置を予測し、ロボット100が制限領域RAに進入する可能性があるかを予測する。
【0062】
また、本実施形態においても、第1実施形態と同様に、制御部730は、ロボットアームが制限領域RAに進入する可能性がある場合にロボットアームが制限領域RAに進入することを回避させるよう制御を行う。よって、機能安全部750によりロボット100の動作が強制的に停止させられない。この場合、強制停止後の動作再開時における復帰動作が不要となる。これにより、ロボット100の作業が強制的に中断される時間を短縮できる。
【0063】
C.他の実施形態:
C1.他の実施形態1:
第2実施形態においては、位置P1から位置PCまでの距離と同じ距離だけ、位置PCから移動した位置を位置P2とする例を説明した。しかしながら、制御点が移動する位置の予測方法はこれに限られない。
【0064】
図9は位置を予測する他の方法についての説明図である。
図9においては制限領域RAが四角形の領域として設定されている。まず、制御部730は、第2実施形態と同様に、現時刻における位置PCと、現時刻である時刻TCより前の時刻T1における制御点の位置P1と、制御点の移動速度V1とを算出する。
【0065】
制御部730は、位置P1を示す情報と、位置PCを示す情報と、時刻T1から時刻TCまでの経過時間と、移動速度V1と、を用いて、時刻TCより後の時刻T3におけるロボット100の制御点の位置P3を算出する。位置P3を第2位置ともよぶ。時刻T3を第2時刻ともよぶ。例えば、時刻TCは、時刻T1から100ミリ秒が経過した時刻である。時刻T3は、時刻TCから、時刻TCと時刻T1との差分の時間に定数を乗じて得られた時間が経過した時刻である。例えば、定数を3と設定する。制御部730は、移動速度V1に時刻TCと時刻T3との差分の時間を乗ずることにより、位置PCと位置P3との距離を算出する。
図9に示す例では、位置P1、PC、P3が同一直線上にあると仮定して位置P3が算出される。
【0066】
制御部730は、予測した位置P3が制限領域RAに含まれるか否かに応じてロボット100が制限領域RAに進入する可能性があるか否かを判別する。制御部730は、ロボット100が制限領域RAに進入する可能性があると判別した場合、駆動部710を制御してロボット100を一時停止させる。
【0067】
あるいは、制御部730は、現時刻である時刻TCから時刻T3までの時間があらかじめ決められた閾値以上であるか否かを判別する。現時刻である時刻TCから時刻T3までの時間があらかじめ決められた閾値以上であるときに、制御部730は、ロボット100の動作を一時停止させる前に、ロボット100の制御点の移動速度を減速させてもよい。例えば、制御部730は、ロボット100の制御点の移動速度を現在の速度の半分まで減速させる。
【0068】
よって、一時停止させる前にロボット100の制御点の移動速度を減速させることにより、ロボット100が制限領域RAに接近する時間を遅らせることができる。例えば、制御点が位置PCから移動した後にロボット100が減速した後に、制限領域RAが無効となった場合、ロボット100は一時停止する必要がなくなる。また、
図9に示すように、ロボット100が減速し、制御点が位置PCから移動した後に、予測される制御点の位置が制限領域RAから外れることもある。この場合もロボット100は一時停止する必要がなくなる。ロボット100の移動速度を減速させる制御は、ロボットアームの進入制限領域への進入を回避させる制御の一例である。
【0069】
C2.他の実施形態2:
また、制御部730は、第2実施形態にかかる構成と、他の実施形態1にかかる構成とを組み合わせて、以下のようにロボット100が制限領域RAへ進入することを回避してもよい。
【0070】
図10は、他の実施形態2における位置制御に関する処理のフローチャートである。
図10に示す処理は制御部730のCPU732により実行される。例えば、ユーザーが不図示の入力装置を介して処理の開始を指示すると、制御部730は
図10に示す処理を開始する。
図10において、第1実施形態における位置制御に関する処理(
図5を参照)と同様の処理については同じ符号を付している。なお、
図10に示す処理の実行と並行して、制御部730はロボット100の制御点が動的に生成した経路に沿って移動するようにロボット100の動作を制御している。
【0071】
ステップS101において、
図5に示すステップS101と同様の処理が行われる。制限領域RAが有効である場合(ステップS101;YES)、制御部730はステップS201の処理を実行する。制限領域RAが無効である場合(ステップS101;NO)、制御部730はステップS113の処理を実行する。
【0072】
図10に示す、ステップS201において、制御部730は他の実施形態1と同様の方法(
図9を参照)で制御点が現時刻以後に移動する位置P3を予測する。
【0073】
図10に示す、ステップS202において制御部730は予測した位置P3が制限領域RAに含まれるか否かを判別する。予測した位置P3が制限領域RAに含まれる場合(ステップS202;YES)、制御部730はステップS203の処理を実行する。一方、予測した位置P3が制限領域RAに含まれない場合(ステップS202;NO)、制御部730はステップS113の処理を実行する。
【0074】
ステップS203において、制御部730は第2実施形態と同様の方法(
図8を参照)で制御点が現時刻以後に移動する位置P2を予測する。
【0075】
図10に示す、ステップS204において制御部730は予測した位置P2が制限領域RAに含まれるか否かを判別する。予測した位置P2が制限領域RAに含まれる場合(ステップS204;YES)、制御部730はステップS107の処理を実行する。ステップS107において、制御部730は駆動部710を制御してロボット100を一時停止させる。その後、ステップS109,111,113において、
図5に示すステップS109,111,113と同様の処理がそれぞれ行われる。
【0076】
図10に示す、ステップS204において予測した位置P2が制限領域RAに含まれない場合(ステップS204;NO)、制御部730はステップS205の処理を実行する。
【0077】
ステップS205において、制御部730は、駆動部710を制御することにより制御点の移動速度を減速させる。例えば、制御部730は、制御点の移動速度を現在の速度の半分まで減速させる。
【0078】
他の実施形態2においては、制御部730は、まず、位置P3が制限領域RAに含まれるか否かを判別する。位置P3が制限領域RAに含まれる場合、制御部730は、さらに、位置P2が制限領域RAに含まれるか否かを判別する。
図8、9に示すように、現時刻の位置PCから位置P3までの距離は、現時刻の位置PCから位置P2までの距離の3倍である。位置P3が制限領域RAに含まれているが、位置P2が制限領域RAに含まれていない場合は、位置P3が制限領域RAに含まれており、位置P2が制限領域RAに含まれている場合に比べて、制御点が制限領域RAに入るまでにかかる時間が長いと考えられる。このため、位置P3が制限領域RAに含まれているが、位置P2が制限領域RAに含まれていない場合は、制御点の移動速度が一旦減速させられる。よって、ロボット100を停止することなく、ロボット100が制限領域RAに接近する時間を遅らせることができる。
【0079】
C3.他の実施形態3:
第2実施形態、他の実施形態1においては、現在位置と、現時刻より前の時刻T1における位置P1と、移動速度とを用いて、現在時刻より後の時刻における制御点の位置を算出する例を説明した。あるいは、制御部730は、現在位置と現時刻より前に制御点が通過したN個の位置それぞれを表す(N+1)個の位置の情報を用いて、N次のスプライン曲線を生成し、生成したスプライン曲線に基づいて現時刻以後の制御点の位置を予測できる。あるいは、制御部730は、現在位置と現時刻より前に制御点が通過した複数の位置とをそれぞれ表す情報を用いて、ベジエ曲線あるいはBスプライン曲線を生成し、生成したベジエ曲線あるいはBスプライン曲線に基づいて現時刻以後の制御点の位置を予測できる。
【0080】
C4.他の実施形態4:
また、制御部730は、ロボット100が制限領域RAに進入する可能性がある場合に、ロボット100の一時停止を実行することに加え、作業者にロボット100の制限領域RAの進入を回避させるためロボット100が一時停止されたことを報知してもよい。例えば、不図示の報知装置が、生産設備あるいはロボットコントローラー700に備えられている。報知装置は、例えば、表示器、スピーカーである。作業者に情報を報知する装置である。制御部730は、報知装置を制御して、作業者に情報を報知する。制御部730は、報知装置を用いてロボット100が制限領域RAに進入する可能性がある旨を作業者に報知する。これにより、作業者は、制限領域RAが有効であり、ロボット100が制限領域RAに進入する可能性があることを把握することができる。よって、制限領域RAの周辺にいる作業者が不注意により制限領域に入ることを防止できる。また、作業者が制限領域RA内で作業を行っている場合、当該作業者は作業を速やかに終えて制限領域RAから離れることができる。作業者に情報を報知するための報知装置の制御は、ロボットアームの進入制限領域への進入を回避させる制御の一例である。
【0081】
C5.他の実施形態5:
第1実施形態、第2実施形態においては、ロボット100の制御点の位置が制限領域RA内にあるか否かに応じて、ロボット100が制限領域RAに進入する可能性があるか否かを判別する例を説明した。
【0082】
あるいは、制御部730は、予測した制御点の位置を中心として決められた半径の円形の領域の少なくとも一部が制限領域RAに含まれる場合に、ロボット100が制限領域RAに進入する可能性があると判別してもよい。
【0083】
また、あるいは、制御部730は、現在の制御点の位置を中心として決められた半径の円形の領域の少なくとも一部が制限領域RAに含まれる場合に、ロボット100が制限領域RAに進入する可能性があると判別してもよい。
【0084】
C6.他の実施形態6:
第1実施形態において、作業者が作業を行う領域を制限領域RAと設定する例を説明した。あるいは、作業者が作業を行う領域とその周辺の一定の領域とを合わせて制限領域RAとして設定してもよい。作業者が作業を行う領域より広い範囲が制限領域RAとして設定されるので、作業者が作業を行う領域にロボット100が進入することを確実に防止できる。
【0085】
C7.他の実施形態7:
第1実施形態においては、ロボット100の動作の一時停止によりロボットアームの制限領域RAへの進入を回避させる制御が行われた後に、制御部730は、制限領域RAが無効にされたと判別すると、ロボット100の動作を再開する例を説明した。
【0086】
あるいは、制御部730は、ロボット100の動作の一時停止した後に、制限領域RAが無効にされたと判別すると、不図示の報知装置を用いて作業者にその旨を通知してもよい。作業者から入力装置を介して動作の再開の指示を受け付けてから、制御部730はロボット100の動作を再開してもよい。この場合、第1実施形態にかかる構成に比べてロボット100の作業が中断される時間は長くなるものの、作業者はロボット100の作業が再開されることを把握できる。作業者は、ロボット100の動作の再開に際して必要な確認を行ってからロボット100の動作の再開が可能であることを指示してもよい。
【0087】
C8.他の実施形態8:
あるいは、機能安全部750は、制限領域RAが有効であり、予測した制御点の位置が制限領域RA内にあり、ロボット100が制限領域RAに進入する可能性がある場合に、IEC60204-1:2016で規定されている「SS2(Safe Stop2)」に相当する保護停止を実行してもよい。
【0088】
C9.他の実施形態9:
第1実施形態、第2実施形態においては、安全入力部300から安全入力信号SSが制御部730と機能安全部750とに入力されている例を説明した。しかしながら、制御部730には、安全入力部300から安全入力信号SSが入力されなくてもよい。この場合、機能安全部750は、安全入力部300から安全入力信号SSを受け付けている間、制限領域RAが有効である旨を制御部730に通知するようにしてもよい。よって、制御部730は、進入制限領域が有効であるか無効であるかを把握できる。
【0089】
C10.他の実施形態10:
上述の実施形態においては、安全入力部300は、制限領域RA内に人が存在している間、安全入力信号SSの出力を継続した。しかしながら、安全入力部300は、制限領域RA内に人が入ったときに、安全入力信号SSを決められた時間だけロボットコントローラー700に入力してもよい。安全入力部300は、制限領域RA内に人が存在しなくなったときに、解除信号をロボットコントローラー700に出力してもよい。
【0090】
実施形態においては、1つの制御点が設定されている例を説明したが、2つ以上の制御点が設定されてもよい。例えば、TCPと、人間の肘関節にあたる関節J3とそれぞれを制御点としてもよい。
【0091】
第1実施形態において、機能安全部750は、機能安全に関する規格を満たすように構成されている例を記載したが、機能安全部750は、機能安全に関する規格を満たすように構成されていなくてもよい。
【0092】
実施形態では6軸の垂直多関節ロボットの例を説明したが、ロボット100は、アームを備えるロボットであればよい。ロボット100は、例えば、スカラロボットであってもよい。
【0093】
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替え、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【0094】
D.他の形態:
(1)本開示の第1形態によればロボットシステムにおいてロボットアームを制御する制御方法が提供される。前記ロボットシステムは、前記ロボットアームと、前記ロボットアームの動作を制御する制御部と、進入制限領域が有効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の強制停止であって、停止した後の動作再開時に復帰動作を必要とする強制停止を実行し、前記進入制限領域が無効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の前記強制停止を実行しない、機能安全部と、を備え、前記制御部が前記ロボットアームを制御する前記制御方法は、前記ロボットアームの制御点の現在位置を検出するステップと、前記現在位置を表す位置情報を少なくとも用いて前記ロボットアームの前記制御点が現時刻以後に移動する少なくとも1つの位置を予測するステップと、前記進入制限領域が有効であり、予測した前記少なくとも1つの位置に基づいて前記ロボットアームが前記進入制限領域に進入する可能性がある場合に、前記ロボットアームが前記進入制限領域に進入する前に、前記ロボットアームの動作の一時停止であって、停止した後の動作再開時に前記復帰動作を必要としない一時停止の実行を含む、前記ロボットアームの前記進入制限領域への進入を回避させる制御を行うステップと、を含む。
上記の形態によれば、ロボットアームが進入制限領域に進入する可能性を予測し、ロボットアームが進入制限領域に進入する可能性がある場合に、ロボットアームが進入制限領域に進入することを回避させるよう制御を行う。よって、機能安全部によりロボットアームの動作を強制的に停止させられずに済むため強制停止後の動作再開時における復帰動作が不要となる。これにより、ロボットアームの作業が強制的に中断される時間を短縮できる。
【0095】
(2)上記の形態において、前記進入制限領域を有効とするか無効とするかを切り替える安全入力信号を安全入力機器から受け付けるステップ、をさらに含んでもよい。
上記の形態によれば、制御部は、安全入力機器からの入力信号に基づいて進入制限領域が有効であるか無効であるかを容易に把握できる。
【0096】
(3)上記形態において、前記進入を回避させる制御を行うステップが実行されることにより前記ロボットアームの動作が一時停止しているときに、前記安全入力信号に基づいて前記進入制限領域が無効にされたことを検出した場合、前記ロボットアームの動作を再開させるステップ、をさらに含んでもよい。
上記の形態によれば、ロボットアームの動作の一時停止を含む、ロボットアームの進入制限領域への進入を回避させる制御が行われた後に、進入制限領域が無効にされた場合には、ロボットアームの動作を速やかに再開できる。制御部により進入制限領域へのロボットアームの進入を回避させない態様に比べてロボットアームの作業が中断される時間を短縮できる。
【0097】
(4)上記の形態において、前記位置を予測するステップにおいて、前記ロボットアームの前記制御点の移動について予定された移動経路を表す経路情報を記憶部から読み出し、前記位置情報と前記経路情報とを用いて、前記ロボットアームが現時刻以後に移動する前記少なくとも1つの位置を含む経路を予測し、前記進入を回避させる制御を行うステップにおいて、前記進入制限領域が有効であり、かつ、前記ロボットアームが前記進入制限領域に進入する可能性がある場合として、予測した前記経路の少なくとも一部が前記進入制限領域に含まれる場合に、前記ロボットアームの前記進入制限領域への進入を回避させる前記制御を行ってもよい。
上記の形態によれば、予定された移動経路を表す経路情報を用いるので、ロボットアームが進入制限領域に進入する可能性があるかを確実に予測できる。
【0098】
(5)上記の形態において、前記位置を予測するステップにおいて、現時刻より前の第1時刻における前記ロボットアームの第1位置を少なくとも取得し、前記第1位置を示す情報と、前記位置情報と、前記第1時刻から前記現時刻までの経過時間と、を用いて、前記現時刻より後の第2時刻における前記ロボットアームの前記制御点の第2位置を前記少なくとも1つの位置として予測し、前記進入を回避させる制御を行うステップにおいて、前記進入制限領域が有効であり、かつ、前記ロボットアームが前記進入制限領域に進入する可能性がある場合として、予測した前記第2位置が前記進入制限領域に含まれる場合に、前記ロボットアームの前記進入制限領域への進入を回避させる前記制御を行ってもよい。
上記の形態によれば、ロボットアームが予定された移動経路に沿って動作するのではなく、経路を探索しながら動作する場合であっても、ロボットアームが進入制限領域に進入する可能性があるかを予測できる。
【0099】
(6)上記の形態において、前記進入を回避させる制御を行うステップにおいて、前記進入制限領域が有効であり、前記第2位置が前記進入制限領域に含まれる場合に、前記現時刻から前記第2時刻までの時間があらかじめ決められた閾値以上であるときに、前記一時停止の実行の前に、前記ロボットアームの前記制御点の移動速度を減速させてもよい。
上記の形態によれば、一時停止させる前にロボットアームの移動速度を減速させることにより、ロボットアームが進入制限領域に接近する時間を遅らせることができる。
【0100】
(7)上記の形態において、前記進入を回避させる制御を行うステップにおいて、前記進入制限領域が有効であり、予測した前記少なくとも1つの位置に基づいて前記ロボットアームが前記進入制限領域に進入する可能性がある場合に、前記ロボットアームが前記進入制限領域に進入する可能性がある旨の報知の実行をさらに含む、前記制御を行ってもよい。
上記の形態によれば、ロボットアームの進入制限領域への進入について報知するので、作業者が不注意により進入制限領域に入ることを防止できる。
【0101】
(8)上記形態において、前記機能安全部は、機能安全に関する規格を満たすように構成されていてもよい。
【0102】
(9)本開示の第2形態によればロボットシステムが提供される。このロボットシステムは、ロボットアームと、前記ロボットアームの動作を制御する制御部と、進入制限領域が有効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の強制停止であって、停止した後の動作再開時に復帰動作を必要とする強制停止を実行し、前記進入制限領域が無効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の強制停止を実行しない、機能安全部と、を備え、前記制御部は、前記ロボットアームの制御点の現在位置を検出し、前記現在位置を表す情報を少なくとも用いて前記ロボットアームの前記制御点が現時刻以後に移動する少なくとも1つの位置を予測し、前記進入制限領域が有効であり、予測した前記少なくとも1つの位置に基づいて前記ロボットアームが前記進入制限領域に進入する可能性がある場合に、前記ロボットアームが前記進入制限領域に進入する前に、前記ロボットアームの動作の一時停止であって、停止した後の動作再開時に前記復帰動作を必要としない一時停止の実行を含む、前記ロボットアームの前記進入制限領域への進入を回避させる制御を行う。
上記の形態によれば、ロボットアームが進入制限領域に進入する可能性を予測し、ロボットアームが進入制限領域に進入する可能性がある場合に、ロボットアームが進入制限領域に進入することを回避させるよう制御を行う。よって、機能安全部によりロボットアームの動作を強制的に停止させられずに済むため強制停止後の動作再開時における復帰動作が不要となる。これにより、ロボットアームの作業が強制的に中断される時間を短縮できる。
【0103】
(10)本開示の第3形態によればプログラムが提供される。このプログラムは、ロボットシステムにおいてロボットアームを制御するコンピューターが実行するプログラムである。前記ロボットシステムは、前記ロボットアームと、前記ロボットアームの動作を制御する制御部と、進入制限領域が有効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の強制停止であって、停止した後の動作再開時に復帰動作を必要とする強制停止を実行し、前記進入制限領域が無効であり、前記ロボットアームが前記進入制限領域に進入した場合に、前記ロボットアームの動作の前記強制停止を実行しない機能安全部と、を備える。前記プログラムは、前記コンピューターに、前記ロボットアームの制御点の現在位置を検出する機能と、前記現在位置を表す情報を少なくとも用いて前記ロボットアームの前記制御点が現時刻以後に移動する少なくとも1つの位置を予測する機能と、前記進入制限領域が有効であり、予測した前記少なくとも1つの位置に基づいて前記ロボットアームが前記進入制限領域に進入する可能性がある場合に、前記ロボットアームが前記進入制限領域に進入する前に、前記ロボットアームの動作の一時停止であって、停止した後の動作再開時に前記復帰動作を必要としない一時停止の実行を含む、前記ロボットアームの前記進入制限領域への進入を回避させる制御を行う機能と、を実現させる。
上記の形態によれば、ロボットアームが進入制限領域に進入する可能性を予測し、ロボットアームが進入制限領域に進入する可能性がある場合に、ロボットアームが進入制限領域に進入することを回避させるよう制御を行う。よって、機能安全部によりロボットアームの動作を強制的に停止させられずに済むため強制停止後の動作再開時における復帰動作が不要となる。これにより、ロボットアームの作業が強制的に中断される時間を短縮できる。
【符号の説明】
【0104】
10…ロボットシステム、100…ロボット、105…基台、120…アーム、120e…アームエンド、130…駆動機構、131…モーター、132…減速機、133…角度センサー、140…力覚センサー、150…エンドエフェクター、300…安全入力部、400…第1停止信号発生部、500…第2停止信号発生部、700…ロボットコントローラー、710…駆動部、720…電源回路部、730…制御部、731…メモリー、732…CPU、740…電源遮断部、750…機能安全部、751…メモリー、752…CPU、801…センサー、802…センサー、J1~J6…関節、P1…位置、P2…位置、P3…位置、P11…始点、P12…中継点、P13…中継点、P14…終点、PA…防護領域、PC…位置、RA…制限領域、RC…ロボット座標系、S1…第1停止信号、S2…第2停止信号、SC…遮断信号、SS…安全入力信号、T1…時刻、T2…時刻、T3…時刻、TC…時刻、V1…移動速度