(57)【要約】【課題】カバーへの衝突を精度よく検出できる衝突検出装置を提供すること。【解決手段】衝突検出装置は、加速度取得ユニットと、躍度算出ユニットと、衝突判断ユニットと、を備える。加速度取得ユニットは、ロボットアームが備えるカバーの加速度を取得する。躍度算出ユニットは、前記加速度取得ユニットが取得した前記カバーの加速度に基づき、前記カバーの躍度を算出する。衝突判断ユニットは、前記躍度に基づき、前記カバーへの衝突の有無を判断する。前記躍度算出ユニットは、例えば、前記躍度を周期的に算出する。前記衝突判断ユニットは、例えば、前記躍度と閾値とを対比することで、前記衝突の有無を判断する。閾値算出ユニットは、前記閾値と対比される前記躍度が算出された時点以前に算出された前記躍度の平均値又は標準偏差に基づき前記閾値を算出する。【選択図】図１
2020091196.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームが備えるカバーの加速度を取得するように構成された加速度取得ユニットと、
前記加速度取得ユニットが取得した前記カバーの加速度に基づき、前記カバーの躍度を算出するように構成された躍度算出ユニットと、
前記躍度に基づき、前記カバーへの衝突の有無を判断するように構成された衝突判断ユニットと、
を備える衝突検出装置。
【請求項２】
請求項１に記載の衝突検出装置であって、
前記躍度算出ユニットは、前記躍度を周期的に算出するように構成され、
前記衝突判断ユニットは、前記躍度と閾値とを対比することで、前記衝突の有無を判断するように構成され、
前記閾値と対比される前記躍度が算出された時点以前に算出された前記躍度の平均値又は標準偏差に基づき前記閾値を算出するように構成された閾値算出ユニットをさらに備える衝突検出装置。
【請求項３】
請求項２に記載の衝突検出装置であって、
前記衝突判断ユニットは、前記躍度算出ユニットが前記躍度を算出するごとに、前記躍度と前記閾値との対比を行い、連続するＰ回の前記対比のうち、Ｑ回以上、前記躍度が前記閾値以上である場合、前記衝突があったと判断する衝突検出装置（Ｑは２以上の自然数であり、ＰはＱ以上の自然数である）。
【請求項４】
請求項３に記載の衝突検出装置であって、
前記閾値算出ユニットは、前記閾値と対比される前記躍度が算出された時点よりも、Ｐ周期以上遡った時期に算出された前記躍度に基づき前記閾値を算出するように構成された衝突検出装置。
【請求項５】
請求項１〜４のいずれか１項に記載の衝突検出装置であって、
前記ロボットアームの加速度を取得するロボットアーム加速度取得ユニットと、
前記加速度取得ユニットが算出した前記カバーの加速度から、前記ロボットアームの加速度を差し引くことで、前記カバーの加速度を補正するように構成された補正ユニットと、
をさらに備え、
前記躍度算出ユニットは、前記補正ユニットにより補正された前記カバーの加速度に基づき、前記躍度を算出するように構成された衝突検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は衝突検出装置に関する。
【背景技術】
【０００２】
従来、ロボットアームを備えるロボットが知られている。ロボットアームにはカバーが取り付けられる。人等とカバーとの衝突を検出するために、衝突検出装置が使用される。衝突検出装置は力センサを備える。力センサはロボットアームに配置される。力センサの検出値が閾値を超えたとき、衝突検出装置は、カバーに人等が衝突したと判断する（特許文献１参照）。  
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５９０２６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
発明者の詳細な検討の結果、従来の衝突検出装置は、カバーへの衝突を精度よく検出できないという課題が見出された。本開示の一局面は、カバーへの衝突を精度よく検出できる衝突検出装置を提供することにある。  
【課題を解決するための手段】
【０００５】
本開示の一局面は、ロボットアームが備えるカバーの加速度を取得するように構成された加速度取得ユニットと、前記加速度取得ユニットが取得した前記カバーの加速度に基づき、前記カバーの躍度を算出するように構成された躍度算出ユニットと、前記躍度に基づき、前記カバーへの衝突の有無を判断するように構成された衝突判断ユニットと、を備える衝突検出装置である。
【０００６】
本開示の一局面である衝突検出装置は、カバーの加速度に基づき、躍度を算出する。本開示の一局面である衝突検出装置は、躍度に基づき、カバーへの衝突の有無を判断する。躍度は、カバーへの衝突が生じたときに大きくなる。よって、本開示の一局面である衝突検出装置は、カバーへの衝突を精度よく検出できる。
【図面の簡単な説明】
【０００７】
【図１】衝突検出装置１及びロボット３の構成を表す説明図である。
【図２】衝突検出装置１及びリンク９の構成を表す、リンク９の軸方向に平行な断面での断面図である。
【図３】衝突検出装置１及びリンク９の構成を表す、リンク９の軸方向に直交する断面での断面図である。
【図４】衝突検出装置１の構成を表すブロック図である。
【図５】マイコン１３の機能的構成を表すブロック図である。
【図６】衝突検出装置１が実行する処理を表すフローチャートである。
【図７】衝突検出装置１が実行する処理を表す説明図である。
【発明を実施するための形態】
【０００８】
本開示の例示的な実施形態を、図面を参照しながら説明する。
＜第１実施形態＞
１．衝突検出装置１及びロボット３の構成
衝突検出装置１及びロボット３の構成を図１〜図５に基づき説明する。図１に示すように、ロボット３は、基部５と、ロボットアーム７と、カバー２５と、ロボットコントローラ１９と、を備える。
【０００９】
基部５は床上に固定されている。ロボットアーム７は複数のリンク９を備える多関節型のロボットアームである。複数のリンク９は、それぞれ、互いに相対運動可能な剛体要素である。ロボットアーム７の先端には、ツールを取り付け可能なツール取付部１１が設けられている。
【００１０】
カバー２５は、それぞれのリンク９に取り付けられている。図２、図３に示すように、カバー２５は円筒状の部材である。カバー２５はリンク９を覆っている。カバー２５は、弾性体３１により、リンク９に取り付けられている。カバー２５とリンク９との間には隙間が存在する。カバー２５は樹脂から成る。
【００１１】
図４に示すように、ロボットコントローラ１９は、モータ１５と、エンコーダ１７と接続している。モータ１５は、リンク９ごとに設けられている。モータ１５は、対応するリンク９を駆動する。エンコーダ１７は、リンク９ごとに設けられている。エンコーダ１７は、リンク９の位置及び移動を検出する。
【００１２】
ロボットコントローラ１９は、モータ１５及びエンコーダ１７を用いてロボット３を制御する。すなわち、ロボットコントローラ１９は、それぞれのリンク９のモータ１５に対し、リンク９の動作を指定する信号を出力する。また、ロボットコントローラ１９は、エンコーダ１７を用いて、それぞれのリンク９の移動方向を取得することができる。
【００１３】
ロボットコントローラ１９は非常停止回路２０を備える。非常停止回路２０と、後述する複数のリレースイッチ２３とは、ループ回路を構成している。
図１に示すように、衝突検出装置１は、それぞれのリンク９に設けられている。図４に示すように、衝突検出装置１は、マイコン１３と、加速度センサ２１と、リレースイッチ２３とを備える。
【００１４】
図２、図３に示すように、マイコン１３は、弾性体２７を介してリンク９に取り付けられている。図４に示すように、マイコン１３は、ＣＰＵ２９と、例えば、ＲＡＭ又はＲＯＭ等の半導体メモリ（以下、メモリ３３とする）と、を有する。マイコン１３の各機能は、ＣＰＵ２９が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、メモリ３３が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムが実行されることで、プログラムに対応する方法が実行される。なお、衝突検出装置１は、１つのマイコン１３を備えてもよいし、複数のマイコン１３を備えてもよい。
【００１５】
マイコン１３は、図５に示すように、加速度取得ユニット３５と、躍度算出ユニット３７と、衝突判断ユニット３９と、閾値算出ユニット４１と、ロボットアーム加速度取得ユニット４３と、補正ユニット４５と、非常停止ユニット４７と、を備える。
【００１６】
図２、図３に示すように、加速度センサ２１は、カバー２５の表面のうち、リンク９に対向する面に取り付けられている。加速度センサ２１は３軸の加速度センサである。加速度センサ２１はカバー２５の加速度を検出することができる。加速度センサ２１とリンク９との間には隙間が存在する。
【００１７】
図２に示すように、リレースイッチ２３は、マイコン１３と隣接して配置されている。図４に示すように、それぞれの衝突検出装置１が備える複数のリレースイッチ２３と、非常停止回路２０とは、１つのループ回路を構成している。
【００１８】
２．衝突検出装置１が実行する処理
衝突検出装置１が周期的に繰り返し実行する処理を、図６及び図７に基づき説明する。上述したように、衝突検出装置１は、それぞれのリンク９に取り付けられている。それぞれの衝突検出装置１は同様の処理を実行する。以下では、任意に選択した１つのリンク９（以下では着目リンクとする）に取り付けられた衝突検出装置１が実行する処理を説明する。衝突検出装置１が図６に示す処理を実行する回数は、例えば、１秒間当たり８００〜５０００回である。
【００１９】
図６のステップ１では、加速度取得ユニット３５が、加速度センサ２１を用いて、着目リンクのカバー２５の加速度（以下ではカバー加速度ａｃとする）を取得する。
ステップ２では、ロボットアーム加速度取得ユニット４３が、着目リンクの加速度ａｒをロボットコントローラ１９から取得する。なお、ロボットコントローラ１９は、上述したように、それぞれのリンク９のモータ１５に対し、リンク９の動作を指定する信号を出力する。ロボットコントローラ１９は、その信号から、それぞれのリンク９の加速度ａｒを推測する。ロボットコントローラ１９は、推測したリンク９の加速度ａｒを、それぞれのリンク９の衝突検出装置１に出力する。
【００２０】
ステップ３では、補正ユニット４５が、前記ステップ１で取得したカバー加速度ａｃを補正し、補正後のカバー加速度ａｃｃを算出する。補正後のカバー加速度ａｃｃは、前記ステップ１で取得したカバー加速度ａｃから、前記ステップ２で取得した着目リンクの加速度ａｒを差し引いた値である。
【００２１】
ステップ３では、躍度算出ユニット３７が、躍度Ｊを算出する。躍度Ｊは、補正後のカバー加速度ａｃｃの変化率である。躍度算出ユニット３７は、例えば、以下の式（１）により躍度Ｊを算出する。
【００２２】
式（１）  Ｊ＝（ａｃｃ（ｔ）−ａｃｃ（ｔ−Δｔ））／Δｔ
式（１）において、ａｃｃ（ｔ）は、直前の前記ステップ３で算出した補正後のカバー加速度ａｃｃである。ａｃｃ（ｔ−Δｔ）は、その１回前の前記ステップ３で算出した補正後のカバー加速度ａｃｃである。Δｔは、直前の前記ステップ３を実行した時刻と、その１回前の前記ステップ３を実行した時刻との時間差である。すなわち、Δｔは、前記ステップ３の処理の周期である。式（１）により躍度Ｊを算出することは、加速度ａｃ及び加速度ａｃｃに基づき躍度Ｊを算出することに対応する。
【００２３】
ステップ５では、閾値算出ユニット４１が閾値Ｔｈを算出する。閾値Ｔｈを算出する方法を以下で説明する。衝突検出装置１は、図６に示す処理を周期的に繰り返し実行するから、躍度算出ユニット３７は、前記ステップ４の処理を周期的に繰り返し実行する。そのため、躍度算出ユニット３７は、躍度Ｊを周期的に繰り返し算出する。
【００２４】
その結果、図７に示すように、躍度算出ユニット３７は、直前の躍度Ｊ、１回前の躍度Ｊ、２回前の躍度Ｊ・・・ｉ回前の躍度Ｊ・・・を算出する。ｉは自然数である。直前の躍度Ｊとは、直前の前記ステップ４で算出した躍度Ｊである。ｉ回前の躍度Ｊとは、直前の前記ステップ４よりも、ｉ回前の前記ステップ４で算出した躍度Ｊである。
【００２５】
閾値算出ユニット４１は、Ｙ回前の躍度ＪからＸ回前の躍度Ｊまでの躍度Ｊの集合における躍度Ｊの標準偏差σを算出する。Ｘは（Ｐ−１）より大きい自然数であり、固定値である。Ｐについては後述する。ＹはＸより大きい自然数であり、固定値である。ＸとＹとの差は、例えば、１０〜１０００である。閾値算出ユニット４１は、σに係数ｈを乗算することで、閾値Ｔｈを算出する。係数ｈは３以上の固定値である。
【００２６】
Ｙ回前の躍度ＪからＸ回前の躍度Ｊまでの躍度Ｊは、後述するステップ６で閾値Ｔｈと対比される躍度Ｊが算出された時点よりも、Ｐ周期以上遡った時期に算出された躍度Ｊである。周期とは、衝突検出装置１が図６に示す処理を実行する周期である。
【００２７】
ステップ６では、衝突判断ユニット３９が、直前の前記ステップ４で算出した躍度Ｊと、直前の前記ステップ５で算出した閾値Ｔｈとを対比する。衝突判断ユニット３９は、躍度Ｊが閾値Ｔｈ以上であるか否かを判断する。躍度Ｊが閾値Ｔｈ以上である場合、本処理はステップ７に進む。躍度Ｊが閾値Ｔｈ未満である場合、本処理は終了する。
【００２８】
ステップ７では、衝突判断ユニット３９が以下の処理を実行する。衝突検出装置１は、図６に示す処理を周期的に繰り返し実行するから、衝突判断ユニット３９は、前記ステップ４〜６の処理を周期的に繰り返し実行する。
【００２９】
その結果、躍度算出ユニット３７は、図７に示すように、直前の躍度Ｊ、１回前の躍度Ｊ、２回前の躍度Ｊ・・・及び（Ｐ−１）回前の躍度Ｊをそれぞれ算出する。そして、衝突判断ユニット３９は、それぞれの躍度Ｊが算出されるごとに、前記ステップ６の対比を行う。すなわち、衝突判断ユニット３９は、連続するＰ回の前記ステップ６の対比を行う。
【００３０】
衝突判断ユニット３９は、連続するＰ回の前記ステップ６の対比のうち、躍度Ｊが閾値Ｔｈ以上であった回数（以下では閾値超過回数とする）が、Ｑ回以上であるか否かを判断する。Ｑは２以上の自然数である。ＰはＱ以上の自然数である。Ｐは２以上１０以下であることが好ましい。閾値超過回数がＱ回以上である場合、本処理はステップ８に進む。閾値超過回数がＱ回未満である場合、本処理は終了する。
【００３１】
ステップ８では、カバー２５への衝突があったと衝突判断ユニット３９が判断する。カバー２５への衝突とは、着目リンクのカバー２５へ、人、物等が衝突することを意味する。ステップ４〜７の処理は、躍度Ｊに基づき、カバー２５への衝突の有無を判断する処理に対応する。また、ステップ４〜７の処理は、躍度Ｊと閾値Ｔｈとを対比することで、カバー２５への衝突の有無を判断する処理に対応する。
【００３２】
ステップ９では、非常停止ユニット４７が、着目リンクに取り付けられた衝突検出装置１のリレースイッチ２３をオフにする。その結果、非常停止回路２０はオフとなる。非常停止回路２０がオフになると、ロボットコントローラ１９はロボットアーム７を停止する。
【００３３】
３．衝突検出装置１が奏する効果
（１Ａ）衝突検出装置１は、カバー加速度ａｃに基づき、躍度Ｊを算出する。衝突検出装置１は、躍度Ｊに基づき、カバー２５への衝突の有無を判断する。躍度Ｊは、カバー２５への衝突が生じたときに大きくなる。よって、衝突検出装置１は、カバー２５への衝突を精度よく検出できる。
【００３４】
（１Ｂ）衝突検出装置１は、躍度Ｊと閾値Ｔｈとを対比することで、カバー２５への衝突の有無を判断する。衝突検出装置１は、閾値Ｔｈと対比される躍度Ｊが算出された時点以前に算出された躍度Ｊの標準偏差σに基づき閾値Ｔｈを算出する。
【００３５】
そのため、衝突検出装置１は、外乱の影響を抑制し、カバー２５への衝突を精度よく検出できる。外乱として、例えば、リンク９ごとの特性の差、リンク９の加速、リンク９の振動、リンク９の姿勢変化に起因する重力の変化等がある。また、衝突検出装置１によれば、リンク９ごとに適切な閾値Ｔｈを決める操作が必ずしも必要でない。
【００３６】
（１Ｃ）衝突検出装置１は、躍度Ｊを算出するごとに、躍度Ｊと閾値Ｔｈとの対比を行う。衝突検出装置１は、連続するＰ回の対比のうち、Ｑ回以上、躍度Ｊが閾値Ｔｈ以上である場合、カバー２５への衝突があったと判断する。そのため、衝突検出装置１は、１回のみの対比結果に基づきカバー２５への衝突の有無を判断する場合に比べて、カバー２５への衝突を一層精度よく検出できる。
【００３７】
（１Ｄ）衝突検出装置１は、閾値Ｔｈと対比される躍度Ｊが算出された時点よりも、Ｐ周期以上遡った時期に算出された躍度Ｊに基づき閾値Ｔｈを算出する。そのため、閾値Ｔｈと対比される躍度Ｊと、閾値Ｔｈの算出に使用される躍度Ｊとが、同一の衝突の影響を受け難い。その結果、衝突検出装置１は、カバー２５への衝突を一層精度よく検出できる。
【００３８】
（１Ｅ）衝突検出装置１は、カバー加速度ａｃから着目リンクの加速度ａｒを差し引くことでカバー加速度ａｃを補正し、補正後のカバー加速度ａｃｃを算出する。
カバー加速度ａｃは、着目リンクに対するカバー２５の加速度と、着目リンクの加速度ａｒとの両方を含むことがある。補正後のカバー加速度ａｃｃは、着目リンクの加速度ａｒが差し引かれているので、着目リンクに対するカバー２５の加速度を一層正確に表している。
【００３９】
衝突検出装置１は、補正後のカバー加速度ａｃｃに基づき、躍度Ｊを算出する。そのため、衝突検出装置１が算出する躍度Ｊは、着目リンクに対するカバー２５の躍度を一層正確に反映する値となる。その結果、衝突検出装置１は、カバー２５への衝突を一層精度よく検出できる。
＜第２実施形態＞
１．第１実施形態との相違点
第２実施形態は、基本的な構成は第１実施形態と同様であるため、相違点について以下に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【００４０】
前述した第１実施形態では、補正後のカバー加速度ａｃｃに基づき、躍度Ｊを算出する。これに対し、第２実施形態では、前記ステップ４において、下記の式（２）に基づき、躍度Ｊを算出する点で、第１実施形態と相違する。
【００４１】
式（２）  Ｊ＝（ａｃ（ｔ）−ａｃ（ｔ−Δｔ））／Δｔ
式（２）において、ａｃ（ｔ）は、直前の前記ステップ１で取得したカバー加速度ａｃである。ａｃ（ｔ−Δｔ）は、その１回前の前記ステップ１で取得したカバー加速度ａｃである。Δｔは、直前の前記ステップ１を実行した時刻と、その１回前の前記ステップ１を実行した時刻との時間差である。すなわち、Δｔは、前記ステップ１の処理の周期である。式（２）により躍度Ｊを算出することは、加速度ａｃに基づき躍度Ｊを算出することに対応する。第２実施形態では、前記ステップ２、３の処理は行わなくてもよい。
【００４２】
２．衝突検出装置１が奏する効果
以上詳述した第２実施形態によれば、前述した第１実施形態の効果（１Ａ）〜（１Ｄ）を奏し、さらに、以下の効果を奏する。
【００４３】
（２Ａ）第２実施形態では、前記ステップ２、３の処理は行わなくてもよい。そのため、衝突検出装置１の処理負担を軽減できる。
＜他の実施形態＞
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００４４】
（１）前記ステップ５において、閾値算出ユニット４１は、閾値Ｔｈを以下の方法で算出してもよい。閾値算出ユニット４１は、Ｙ回前の躍度ＪからＸ回前の躍度Ｊまでの躍度Ｊの集合における躍度Ｊの平均値aveＪを算出する。閾値算出ユニット４１は、平均値aveＪに係数ｈを乗算することで、閾値Ｔｈを算出する。係数ｈは３以上の固定値である。
【００４５】
（２）本開示に記載のマイコン１３及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載のマイコン１３及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載のマイコン１３及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。マイコン１３に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
【００４６】
（３）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。
【００４７】
（４）上述した衝突検出装置１の他、当該衝突検出装置１を構成要素とするシステム、マイコン１３としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、衝突検出方法、ロボット制御方法等、種々の形態で本開示を実現することもできる。
【符号の説明】
【００４８】
１…衝突検出装置、３…ロボット、５…基部、７…ロボットアーム、９…リンク、１１…ツール取付部、１３…マイコン、１５…モータ、１７…エンコーダ、１９…ロボットコントローラ、２０…非常停止回路、２１…加速度センサ、２３…リレースイッチ、２５…カバー、２７…弾性体、２９…ＣＰＵ、３１…弾性体、３３…メモリ、３５…加速度取得ユニット、３７…躍度算出ユニット、３９…衝突判断ユニット、４１…閾値算出ユニット、４３…ロボットアーム加速度取得ユニット、４５…補正ユニット、４７…非常停止ユニット
【図１】
2020091196.tif 000003
【図２】
2020091196.tif 000004
【図３】
2020091196.tif 000005
【図４】
2020091196.tif 000006
【図５】
2020091196.tif 000007
【図６】
2020091196.tif 000008
【図７】
2020091196.tif 000009