(57)【要約】【課題】把持を解放した際に把持対象物が投げ出されることを防止できる技術を提供する。【解決手段】本発明のロボットは、操作部と、前記操作部が操作された場合に、ハンドに把持対象物の把持を解放させる解放部と、前記ハンドの速度がしきい値以上の場合に前記操作部に対する操作を無効化する無効化部と、を備える。【選択図】図３
2016137525.tif 000002
【特許請求の範囲】
【請求項１】
操作部と、
前記操作部が操作された場合に、ハンドに把持対象物の把持を解放させる解放部と、
前記ハンドの速度がしきい値以上の場合に前記操作部に対する操作を無効化する無効化部と、
を備えるロボット。
【請求項２】
前記無効化部は、前記ハンドの速度が前記しきい値未満であっても前記ハンドに基準値以上の荷重が作用している場合に前記操作部に対する操作を無効化する、
請求項１に記載のロボット。
【請求項３】
前記無効化部は、前記ハンドの速度が前記しきい値未満であっても前記操作部に対する操作がユーザー以外の物体によってなされた場合には当該操作を無効化する
請求項１または請求項２のいずれかに記載のロボット。
【請求項４】
前記しきい値は、１０ｍｍ／秒以上、かつ、２５０ｍｍ／秒以下である、
請求項１から請求項３のいずれか一項に記載のロボット。
【請求項５】
前記しきい値は、０ｍｍ／秒より大きく、かつ、１０ｍｍ／秒以下である、
請求項１から請求項３のいずれか一項に記載のロボット。
【請求項６】
操作部と、
前記操作部が操作された場合に、ハンドに把持対象物の把持を解放させる解放部と、
前記ハンドが移動中である場合に前記操作部に対する操作を無効化する無効化部と、
を備えるロボット。
【請求項７】
前記無効化部は、前記ハンドが停止していても前記ハンドに基準値以上の荷重が作用している場合に前記操作部に対する操作を無効化する、
請求項６に記載のロボット。
【請求項８】
前記無効化部は、前記ハンドが停止していても前記操作部に対する操作がユーザー以外の物体によってなされた場合には当該操作を無効化する
請求項６または請求項７のいずれかに記載のロボット。
【請求項９】
前記操作部は、前記ハンドに備えられる、
請求項１から請求項８のいずれか一項に記載のロボット。
【請求項１０】
前記無効化部は、前記ロボットの動作シナリオを取得し、前記動作シナリオのうち現在実行中のステップに基づいて前記ハンドが移動中であるか否かを判定する、
請求項１から請求項９のいずれか一項に記載のロボット。
【請求項１１】
前記無効化部は、前記ロボットを囲む安全柵の扉が閉じている場合に、前記操作部に対する操作を無効化する、
請求項１から請求項１０のいずれか一項に記載のロボット。
【請求項１２】
操作部と、
前記操作部が操作された場合に、ハンドに把持対象物の把持を解放させる解放部と、
前記ハンドの速度がしきい値以上の場合に前記操作部に対する操作を無効化する無効化部と、
を備えるロボットシステム。
【請求項１３】
操作部と、
前記操作部が操作された場合に、ハンドに把持対象物の把持を解放させる解放部と、
前記ハンドが移動中である場合に前記操作部に対する操作を無効化する無効化部と、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物を把持するロボットおよびロボットシステムに関する。
【背景技術】
【０００２】
従来、スイッチがＯＮになると把持ハンドの把持状態を解除する果実収穫ロボットが知られている（特許文献１、参照）。特許文献１において、把持ハンドの把持状態を解除することにより、把持ハンドに把持された果実をトレーに投入できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−５５８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、把持ハンドが移動している際に把持ハンドの把持状態を解除すると、把持ハンドから意図しない方向へと果実が投げ出されるという問題があった。
本発明は前記課題にかんがみてなされたもので、把持を解放した際に把持対象物が投げ出されることを防止できる技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
前記の目的を達成するため、本発明のロボットは、操作部と、操作部が操作された場合に、ハンドに把持対象物の把持を解放させる解放部と、ハンドの速度がしきい値以上の場合に、または、ハンドが移動している場合に、操作部に対する操作を無効化する制御部と、を備える。
この構成において、ハンドの速度がしきい値以上の場合に、または、ハンドが移動している場合に、操作部に対する操作を無効化するため、把持対象物に一定以上の初速が与えられる状態で把持対象物の把持が解放されることを防止できる。したがって、把持対象物の把持を解放した際に、ハンドが移動する方向に把持対象物が投げ出されることを防止できる。
【図面の簡単な説明】
【０００６】
【図１】（１Ａ）はロボットシステムの正面図、（１Ｂ）はロボットシステムの平面図である。
【図２】ロボットシステムのブロック図である。
【図３】把持制御処理のフローチャートである。
【発明を実施するための形態】
【０００７】
以下、本発明の実施形態について、添付図面を参照しながら以下の順に説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
（１）ロボットシステムの構成：
（２）把持制御処理：
（３）他の実施形態：
【０００８】
（１）ロボットシステムの構成：
図１Ａは、本発明の一実施形態にかかるロボットシステム１の正面図である。ロボットシステム１は、ロボット１０と撮像部２０とメインコントローラーＭＣとを含む。メインコントローラーＭＣはロボット１０と通信可能に接続されている。この接続は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の有線通信規格、Ｗｉ−Ｆｉ（登録商標）等の無線通信規格に準じる。メインコントローラーＭＣはロボット１０を制御するためのコンピューターである。撮像部２０は、紙面右側のカメラＣＭａと紙面左側のカメラＣＭｂとを備えている。撮像部２０は、カメラＣＭａ，ＣＭｂによって撮像した画像をメインコントローラーＭＣに出力する。
【０００９】
図１Ｂは、本発明の一実施形態にかかるロボットシステム１の平面図である。ロボットシステム１は、図１Ａに図示したものの他に、安全柵Ｔを含む。安全柵Ｔは、ロボット１０を囲む柵であり、内部へのユーザーの進入を妨げる柵である。安全柵Ｔは、扉Ｔ１を備えている。安全柵Ｔは、扉Ｔ１が開放されているか否かを検知するセンサーを備えており、扉Ｔ１が開放されているか否かを示す信号をメインコントローラーＭＣに出力する。
【００１０】
図１Ａに示すように、本実施形態のロボット１０は、いわゆる双腕ロボットである。ロボット１０は、胴体部１４とアームコントローラーＡＣと紙面右側のアーム１１ａと紙面左側のアーム１１ｂと紙面右側のハンド１２ａと紙面左側のハンド１２ｂとを備えている。胴体部１４に対してアーム１１ａとアーム１１ｂとが連結され、さらにアーム１１ａ，１１ｂのそれぞれにハンド１２ａ，１２ｂが取り付けられている。アーム１１ａ，１１ｂは、例えば６軸の回転軸を備えており、当該回転軸を回転させることにより、ハンド１２ａ，１２ｂを任意の位置および姿勢に移動させることができる。アームコントローラーＡＣについては後述する。
【００１１】
ハンド１２ａは、ハンドコントローラーＨＣａと基部１２１ａと指部１２２ａと操作部ＳＷａとを備える。基部１２１ａは、アーム１１ａの先端（胴体部１４の反対側の端部）と連結している。基部１２１ａに対して複数（例えば４本）の指部１２２ｂが連結されており、複数の指部１２２ｂが互いの距離を小さくするように移動してワークＷを挟み込むことにより、把持対象物としてのワークＷを把持する。操作部ＳＷａは、押下することにより操作可能な機械式のスイッチである。操作部ＳＷａは、ユーザーが操作可能なスイッチであればよく、タッチセンサーや光センサーや触覚センサーを用いたスイッチであってもよい。複数の指部１２２ｂが互いの距離を大きくするように移動してワークＷから離れることにより、ワークＷの把持を解放する。紙面左側のハンド１２ｂも同様の構成となっている。ハンドコントローラーＨＣａ，ＨＣｂについては後述する。
【００１２】
図２は、ロボットシステム１の機能ブロック図である。メインコントローラーＭＣは、ＣＰＵとＲＡＭ等を備えるコンピューターであり、これらのハードウェア資源がプログラムと協働することにより、制御部ＣＵを実現する。制御部ＣＵは、解放部ＣＵ１と無効化部ＣＵ２とを含む。メインコントローラーＭＣは、記録媒体ＭＭを備えており、記録媒体ＭＭに動作シナリオＳＮが記録されている。動作シナリオＳＮは、ステップごとにアーム１１ａ，１１ｂとハンド１２ａ，１２ｂとを制御するための制御目標を示す。本実施形態の制御部ＣＵは、位置制御と力制御を実行し、動作シナリオＳＮの各ステップにおいてアーム１１ａ，１１ｂの制御目標として位置制御目標と力制御目標とが定義されている。また、動作シナリオＳＮの各ステップにおいてハンド１２ａ，１２ｂの制御目標として指位置目標が定義されている。
【００１３】
ここで、位置制御と力制御とについて説明する。
アームコントローラーＡＣは、モーターＭＴと力覚センサーＦＳとエンコーダーＥＮと接続している。モーターＭＴは、アーム１１ａ，１１ｂにおける６軸のそれぞれに対応して備えられており、当該６軸のそれぞれを回転駆動させる。エンコーダーＥＮは、モーターＭＴの駆動状態（回転数、回転速度）を計測する。メインコントローラーＭＣは、各モーターＭＴの駆動状態とハンド１２ａ，１２ｂの位置と姿勢と移動速度との対応関係を規定したテーブル（不図示）を参照して、動作シナリオＳＮにおいて現在実行中のステップの位置制御目標として規定されているハンド１２ａ，１２ｂの位置と姿勢と移動速度とに対応する各モーターＭＴの目標の駆動状態を取得する。制御部ＣＵは、エンコーダーＥＮが計測したモーターＭＴの現在の駆動状態に基づくフィードバック制御を行うことにより、当該現在の駆動状態が目標の駆動状態へと近づくような位置制御を実現する。
【００１４】
力覚センサーＦＳは、例えばアーム１１ａ，１１ｂとハンド１２ａ，１２ｂとの連結部位に備えられており、力覚センサーＦＳに作用する並進荷重とトルク（ねじり荷重）とを計測する。力覚センサーＦＳが計測した並進荷重とトルクはハンド１２ａ，１２ｂに作用する並進荷重とトルクと見なすことができる。本明細書において、並進荷重とトルクとを単に荷重と総称する。メインコントローラーＭＣは、動作シナリオＳＮにおいて現在実行中のステップの力制御目標として規定されている力覚センサーＦＳの目標の荷重とトルクとを取得する。制御部ＣＵは、力覚センサーＦＳが計測した現在の荷重に基づくフィードバック制御を行うことにより、当該現在の荷重が目標の荷重へと近づくような力制御を実現する。
【００１５】
制御部ＣＵは、上述した位置制御と力制御とによってモーターＭＴの制御データを生成し、当該制御データをアームコントローラーＡＣに出力する。アームコントローラーＡＣは、制御データに基づいてモーターＭＴの駆動信号（例えばＰＷＭパルス）を生成する。
【００１６】
ハンド１２ａ，１２ｂは、ハンドコントローラーＨＣａ，ＨＣｂと操作部ＳＷａ，ＳＷｂとアクチュエーターＡＡとを備えている。すなわち、操作部ＳＷａ，ＳＷｂはハンド１２ａ，１２ｂに備えられる。アクチュエーターＡＡは、ハンド１２ａ，１２ｂの基部１２１ａ，１２１ｂのそれぞれに備えられており、指部１２２ａ，１２２ｂを駆動させるための駆動素子である。制御部ＣＵは、動作シナリオＳＮにおいて現在実行中のステップの制御目標として規定されている指位置目標を取得し、当該指位置目標が示す位置に指部１２２ａ，１２２ｂが移動するようにハンドコントローラーＨＣａ，ＨＣｂに制御データを出力する。ハンドコントローラーＨＣａ，ＨＣｂは、制御データに基づいてアクチュエーターＡＡの駆動信号を生成する。これにより、動作シナリオＳＮのステップごとにワークＷを把持したり、ワークＷの把持を解放したりすることができる。
【００１７】
動作シナリオＳＮのステップの順に、以上説明したアーム１１ａ，１１ｂの制御とハンド１２ａ，１２ｂの制御とを実行することにより、メインコントローラーＭＣはロボット１０に対して一連の作業を行わせることができる。例えば、ワークＷを作業台からピックアップして当該ワークＷを製品の所定箇所に?め込む作業等を行わせることができる。
【００１８】
（２）把持制御処理：
以下、制御部ＣＵが含む解放部ＣＵ１と無効化部ＣＵ２の機能を処理の流れとともに説明する。図３はメインコントローラーＭＣの制御部ＣＵが実行する把持制御処理のフローチャートである。把持制御処理は、ハンド１２ａ，１２ｂがワークＷを把持している期間において実行される処理である。ハンド１２ａ，１２ｂがワークＷを把持しているか否かは、実行中の動作シナリオＳＮのステップに基づいて判定されてもよいし、力覚センサーＦＳが把持中のワークＷに作用する重力を計測しているか否かに基づいて判定されてもよいし、撮像部２０が撮像したワークＷとハンド１２ａ，１２ｂの画像を解析することによって判定されてもよい。以下、紙面右側のハンド１２ａがワークＷを把持していることとして把持制御処理を説明する。
【００１９】
まず、解放部ＣＵ１は、操作部ＳＷａが操作されたか否かを判定する（ステップＳ１００）。操作部ＳＷａが操作されたと判定しなかった場合（ステップＳ１００：Ｎ）、解放部ＣＵ１は、操作部ＳＷａが操作されるまで待機する。
【００２０】
一方、操作部ＳＷａが操作されたと判定した場合（ステップＳ１００：Ｙ）、無効化部ＣＵ２は、ハンド１２ａが移動中であるか否かを判定する（ステップＳ１０５）。具体的に、無効化部ＣＵ２は、現在実行中の動作シナリオＳＮのステップにおけるハンド１２ａの目標の移動速度を取得し、当該目標の移動速度がしきい値以上である場合に、ハンド１２ａが移動中であると判定する。すなわち、無効化部ＣＵ２は、ロボットの動作シナリオＳＮを取得し、動作シナリオＳＮのうち現在実行中のステップに基づいてハンド１２ａが移動しているか否かを判定する。本実施形態において、しきい値は、１０ｍｍ／秒である。例えば、投げ出されたワークＷが衝突した場合の衝撃の大きさに応じてしきい値が設定されてもよく、ワークＷの質量や硬さが大きいほど小さいしきい値が設定されてもよい。しきい値は、１０ｍｍ／秒に限らず、例えば０ｍｍ／秒より大きく、かつ、１０ｍｍ／秒以下であってもよいし、１０ｍｍ／秒以上、かつ、２５０ｍｍ／秒以下であってもよい。すなわち、一定の基準よりも速度が大きいか否かを判定できればよく、しきい値は、必ずしも停止していると感じる速度の上限値でなくてもよい。なお、「動作速度が２５０ｍｍ／秒以下の低速の場合、ロボットの自動運転中に人が動作範囲内に入れる」ことが国際安全規格「ＩＳＯ  １０２１８−１」に規定されており、安全に操作部ＳＷａを操作できたと判断できる。
【００２１】
ハンド１２ａが移動中であると判定した場合（ステップＳ１０５：Ｙ）、解放部ＣＵ１は、ワークＷの把持を維持する（ステップＳ１１０）。すなわち、無効化部ＣＵ２は、ハンド１２ａの速度がしきい値以上であり、当該ハンド１２ａが移動中である場合に、操作部ＳＷａに対する操作を無効化し、ハンドにワークＷの把持を解放させない。これにより、移動中のハンド１２ａによって一定以上の初速が与えられることにより、把持が解放されたワークＷが投げ出されることを防止できる。なお、ハンド１２ａが移動中でない場合には、アーム１１ａの全体が停止している場合と、ハンド１２ａを停止させたままアーム１１ａの一部が移動している場合とが有り得る。
【００２２】
一方、ハンド１２ａが移動中であると判定しなかった場合（ステップＳ１０５：Ｎ）、無効化部ＣＵ２は、ワークＷに荷重がかかっている否かを判定する（ステップＳ１２０）。具体的に、無効化部ＣＵ２は、力覚センサーＦＳの計測値からワークＷに作用している重力成分を除去し、残った成分が所定の基準値以上であるか否かを判定する。例えは、ハンド１２ａが把持しているワークＷを製品の取付箇所に押し付けている動作シナリオＳＮのステップを実行している場合には、当該ステップにおける目標の荷重と同程度の荷重が力覚センサーＦＳにて計測されることとなる。荷重の基準値は、停止中のワークＷに所定の初速を与える荷重の大きさであってもよく、ワークＷの質量が大きいほど荷重の基準値が大きく設定されてもよい。
【００２３】
ワークＷに荷重がかかっていると判定した場合（ステップＳ１２０：Ｙ）、解放部ＣＵ１は、ワークＷの把持を維持する（ステップＳ１１０）。すなわち、無効化部ＣＵ２は、ハンド１２ａの速度がしきい値未満であり、当該ハンド１２ａが移動中でなくても、ハンド１２ａに基準値以上の荷重が作用している場合に、操作部ＳＷａに対する操作を無効化し、ハンドにワークＷの把持を解放させない。これにより、ワークＷに作用している荷重によって、把持が解放されたワークＷが意図しない方向に運動することを防止できる。
【００２４】
一方、ワークＷに荷重がかかっていると判定しなかった場合（ステップＳ１２０：Ｎ）、無効化部ＣＵ２は、ユーザー以外の物体が操作部ＳＷａを操作したか否かを判定する（ステップＳ１３０）。本実施形態において、無効化部ＣＵ２は、撮像部２０が撮像したロボット１０周辺の画像と人物画像とのテンプレートマッチングを行うことにより、ユーザーがロボット１０に所定距離（例えば１ｍ）以内に接近しているか否かを判定する。そして、無効化部ＣＵ２は、ユーザーがロボット１０に所定距離以内に接近してない場合に、ユーザー以外の物体が操作部ＳＷａを操作したと判定する。なお、撮像部２０は、必ずしも胴体部１４の上方に備えられなくてもよく、ロボット１０とその周辺を俯瞰できる位置（例えばロボット１０が設置された部屋の壁や天井等）に備えられなくてもよい。さらに、より操作部ＳＷａ付近にてユーザーの指が操作部ＳＷａを操作しているか否かを判別できるようにハンド１２ａやアーム１１ａに撮像部２０が備えられてもよい。また、ユーザーを検知するセンサーは、赤外線や超音波を用いた人感センサーであってもよいし、測距センサーであってもよい。
【００２５】
ユーザー以外の物体が操作部ＳＷａを操作したと判定した場合（ステップＳ１３０：Ｙ）、解放部ＣＵ１は、ワークＷの把持を維持する（ステップＳ１１０）。すなわち、無効化部ＣＵ２は、ハンド１２ａの速度がしきい値未満であり、当該ハンド１２ａが移動中でなくても、操作部ＳＷａに対する操作がユーザー以外の物体によってなされた場合には、操作部ＳＷａに対する操作を無効化し、ハンドにワークＷの把持を解放させない。これにより、偶然、ロボット１０の一部やロボット１０周辺の物体が操作部ＳＷａに接触して当該操作部ＳＷａが操作された場合に、ユーザーの意図に反してワークＷの把持が解放されることを防止できる。なお、無効化部ＣＵ２は、安全柵Ｔの扉Ｔ１が操作部ＳＷａの操作前に所定期間以上継続して開放されていなかった場合、すなわちロボットを囲む安全柵Ｔの扉Ｔ１が閉じている場合に、ユーザー以外の物体が操作部ＳＷａを操作したとして、操作部ＳＷａに対する操作を無効化してもよい。
【００２６】
ユーザー以外の物体が操作部ＳＷａを操作したと判定しなかった場合（ステップＳ１３０：Ｎ）、解放部ＣＵ１は、ワークＷの把持を開放する（ステップＳ１４０）。すなわち、ハンド１２ａが停止し、ワークＷに荷重が作用していない期間において、ユーザーによって操作部ＳＷａが操作された場合に、ハンド１２ａにワークＷの把持を解放させる。具体的に、解放部ＣＵ１は、ワークＷを挟んでいる指部１２２ａの間隔が当該ワークＷの幅よりも大きくなるように当該指部１２２ａを移動させることにより、ワークＷの把持を開放させる。これにより、異常発生時等においてユーザーはハンド１２ａからワークＷを容易に取り出すことができる。
【００２７】
（３）他の実施形態：
前記実施形態において、操作部ＳＷａ，ＳＷｂがハンド１２ａ，１２ｂに備えられたが、ハンド１２ａ，１２ｂ以外のロボット１０の部位に操作部ＳＷａ，ＳＷｂが備えられてもよい。例えば、操作部ＳＷａ，ＳＷｂは、アーム１１ａ，１１ｂに備えられてもよいし、胴体部１４に備えられてもよい。また、操作部ＳＷａ，ＳＷｂは、必ずしも左右のハンド１２ａ，１２ｂのそれぞれに対応して設けられなくてもよく、左右のハンド１２ａ，１２ｂの把持を双方とも解放させるための単一の操作部が備えられてもよい。
【００２８】
また、解放部ＣＵ１と無効化部ＣＵ２とは、必ずしもメインコントローラーＭＣに備えられなくてもよく、ハンドコントローラーＨＣａ，ＨＣｂのそれぞれに備えられてもよい。むろん、ハンド１２ａ，１２ｂとアームコントローラーＡＣとが通信可能に構成されてもよく、解放部ＣＵ１と無効化部ＣＵ２とがアームコントローラーＡＣに備えられてもよい。さらに、メインコントローラーＭＣはロボット１０に内蔵されてもよく、当該ロボット１０に内蔵されたメインコントローラーＭＣに解放部ＣＵ１と無効化部ＣＵ２とが備えられてもよい。また、メインコントローラーＭＣにロボット１０を停止させるための停止スイッチを設け、当該停止スイッチが操作された場合に限り、操作部ＳＷａ，ＳＷｂが操作された場合にワークＷの解放させるようにしてもよい。
【００２９】
さらに、無効化部ＣＵ２は、ハンド１２ａ，１２ｂが移動中であるか否かの判定や、ハンド１２ａ，１２ｂの速度がしきい値以上であるか否かの判定を、ハンド１２ａ，１２ｂやアーム１１ａ，１１ｂに備えられた加速度センサーやジャイロセンサーの計測値に基づいて判定してもよい。むろん、無効化部ＣＵ２は、アーム１１ａ，１１ｂを駆動させるエンコーダーＥＮの計測値に基づいて、ハンド１２ａ，１２ｂが移動中であるか否かを判定してもよい。また、本発明は、少なくともハンド１２ａ，１２ｂの移動状況に応じて操作部ＳＷａ，ＳＷｂの操作を無効化するか否かを判定すればよく、必ずしも図３のステップＳ１２０，Ｓ１３０の処理を行わなくてもよい。
【符号の説明】
【００３０】
１…ロボットシステム、１０…ロボット、１１ａ，１１ｂ…アーム、１２ａ，１２ｂ…ハンド、１４…胴体部、２０…撮像部、１２１ａ，１２１ｂ…基部、１２２ａ，１２２ｂ…指部、ＡＡ…アクチュエーター、ＡＣ…アームコントローラー、ＣＭａ，ＣＭｂ…カメラ、ＣＵ…制御部、ＣＵ１…解放部、ＣＵ２…無効化部、ＥＮ…エンコーダー、ＦＳ…力覚センサー、ＨＣａ，ＨＣｂ…ハンドコントローラー、ＭＣ…メインコントローラー、ＭＭ…記録媒体、ＭＴ…モーター、ＳＮ…動作シナリオ、ＳＷａ，ＳＷｂ…操作部、Ｔ…安全柵、Ｔ１…扉、Ｗ…ワーク、
【図１】
2016137525.tif 000003
【図２】
2016137525.tif 000004
【図３】
2016137525.tif 000005