説明

ロボットアームの制御プログラム及び制御システム

【課題】ハンド部を適切な位置に停止させることができるロボットアームの制御プログラムを提供する。
【解決手段】本発明に係るロボットアームの制御プログラムは、ロボットアームのハンド部を、把持対象物に向かって移動させる処理と、ハンド部に設けられた距離測定部に、ハンド部と把持対象物との距離を測定させる処理と、距離測定部がハンド部と把持対象物との距離の測定が不能となると、測定不能となる直前のハンド部と把持対象物との距離と、ロボットアームの関節部の角度から算出させた、測定不能となった後のハンド部の移動距離と、に基づいて、ハンド部と把持対象物との距離を推定させる処理と、推定させたハンド部と把持対象物との距離が閾値以下となると、ハンド部を把持対象物に向かって移動させる動作を停止させる処理と、をコンピュータに実行させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットアームの制御プログラム及び制御システムに関する。
【背景技術】
【0002】
従来からロボットアームは、物体位置姿勢推定部、アーム軌道生成部、ロボットアーム制御部、角度測定部を用いて制御されている。物体位置姿勢推定部は、例えばステレオカメラ等の撮像部が撮像した画像情報に基づいて把持対象物の位置や姿勢などを推定し、当該位置・姿勢情報をアーム軌道生成部に出力する。アーム軌道生成部は、当該位置・姿勢情報に基づいて、ロボットアームの端部に連結されたハンド部で把持対象物を良好に把持することができるように、ロボットアームの制御信号を生成し、当該制御信号をロボットアーム制御部に出力する。ロボットアーム制御部は、当該制御信号に基づいて、ロボットアームを制御する。このとき、ロボットアーム制御部には、角度測定部からロボットアームの関節部の角度情報が入力される。ロボットアーム制御部は、当該角度情報を取得しつつ、ロボットアームを制御する。
ところで、特許文献1、2には、距離センサを用いて把持対象物との距離を測定し、当該距離情報に基づいてロボットアームを制御する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開昭63−196394号公報
【特許文献2】特開平6−31666号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、ステレオカメラ等の撮像部が撮像した画像情報に基づいて把持対象物の位置を推定する場合、ステレオカメラ等は奥行き方向に誤差が大きく、ハンド部が把持対象物から遠くて当該把持対象物を把持できなかったり、逆にハンド部が把持対象物に近付き過ぎて当該把持対象物に接触したりする場合がある。
【0005】
一方、特許文献1、2の技術は、距離センサを用いて把持対象物との距離を測定しているので、比較的正確にハンド部と把持対象物との距離を測定できるが、距離センサは測定対象である把持対象物が遠くに配置されていたり、逆に近くに配置されていたりすると、測定不能となる場合がある。
【0006】
本発明は、このような問題を解決するためになされたものであり、ハンド部を適切な位置に停止させることができるロボットアームの制御プログラム及び制御システムを提供することを目的とするものである。
【課題を解決するための手段】
【0007】
本発明に係るロボットアームの制御プログラムは、ロボットアームの端部に連結されたハンド部を、把持対象物に向かって移動させる処理と、前記ハンド部に設けられた距離測定部に、前記ハンド部と前記把持対象物との距離を測定させる処理と、前記距離測定部が前記ハンド部と前記把持対象物との距離の測定が不能となると、測定不能となる直前の前記ハンド部と前記把持対象物との距離と、前記ロボットアームの関節部の角度から算出させた、測定不能となった後の前記ハンド部の移動距離と、に基づいて、前記ハンド部と前記把持対象物との距離を推定させる処理と、前記推定させた前記ハンド部と前記把持対象物との距離が閾値以下となると、前記ハンド部を前記把持対象物に向かって移動させる動作を停止させる処理と、をコンピュータに実行させる。これにより、ハンド部で把持対象物を把持する際に、ハンド部が把持対象物に対して遠すぎたり、近すぎたりすることなく、適切な位置にハンド部を停止させることができる。
【0008】
前記ハンド部を前記把持対象物に向かって移動させる処理は、前記ハンド部で前記把持対象物を把持することができるように、前記ハンド部を前記把持対象物に向かって直線的に移動させること、が好ましい。ハンド部を把持対象物に向かって直線的に移動させるので、距離測定部から出射されるレーザーや超音波などが把持対象物を良好に捉えることができる。
【0009】
特に、前記ハンド部の移動方向と、前記ハンド部の掌面の法線方向とを、略一致させた状態で、前記ハンド部を前記把持対象物に向かって直線的に移動させること、が好ましい。ハンド部の移動方向と、ハンド部の掌面の法線方向とを、略一致させた状態で、ハンド部を把持対象物に向かって移動させるので、ハンド部を閉じると、ハンド部で把持対象物を良好に把持することができる。
【0010】
前記ハンド部と前記把持対象物との距離を推定させる処理は、前記距離測定部が測定不能となる直前の前記ハンド部と前記把持対象物との距離から、前記ロボットアームの関節部の角度に基づいて算出させた、前記距離測定部が測定不能となった後の前記ハンド部の移動距離を差分させて、前記ハンド部と前記把持対象物との距離を推定させる処理と、一つ前の処理で推定させた前記ハンド部と前記把持対象物との距離から、前記ロボットアームの関節部の角度に基づいて算出させた、推定後の前記ハンド部の移動距離を差分させて、前記ハンド部と前記把持対象物との距離を推定させる処理と、を備えること、が好ましい。結果として、距離測定部が測定したハンド部と把持対象物との距離に基づいて、距離測定部が測定不能となった後のハンド部と把持対象物との距離を推定するので、精度良くハンド部と把持対象物との距離を把握することができる。
【0011】
本発明に係るロボットアームの制御システムは、把持対象物を把持するハンド部を有するロボットアームと、前記ロボットアームの関節部の角度を測定する角度測定部と、前記ロボットアームのハンド部に設けられ、前記ハンド部から前記把持対象物までの距離を測定する距離測定部と、前記ハンド部を前記把持対象物に向かって移動させるべく、前記ロボットアームを制御する演算処理部と、を備え、前記演算処理部は、前記距離測定部からの入力が途絶えると、前記入力が途絶える直前の前記ハンド部から前記把持対象物までの距離と、前記角度測定部から入力される前記ロボットアームの関節部の角度から算出した前記ハンド部の移動距離と、に基づいて、前記ハンド部と前記把持対象物との距離を推定し、推定した前記ハンド部と前記把持対象物との距離が閾値以下となると、前記ハンド部を前記把持対象物に向かって移動させる動作を停止させる。これにより、ハンド部で把持対象物を把持する際に、ハンド部が把持対象物に対して遠すぎたり、近すぎたりすることなく、適切な位置にハンド部を停止させることができる。
【0012】
前記ハンド部は掌面を備え、前記ロボットアーム制御部は、前記ハンド部の移動方向と、前記ハンド部の掌面の法線方向とを、略一致させた状態で、前記ハンド部を前記把持対象物に向かって直線的に移動させること、が好ましい。ハンド部の移動方向と、ハンド部の掌面の法線方向とを、略一致させた状態で、ハンド部を把持対象物に向かって移動させるので、ハンド部を閉じると、ハンド部で把持対象物を良好に把持することができる。
【発明の効果】
【0013】
以上、説明したように、本発明によると、ハンド部を適切な位置に停止させることができるロボットアームの制御プログラム及び制御システムを提供することができる。
【図面の簡単な説明】
【0014】
【図1】本発明に係るロボットアームの制御システムを示すブロック図である。
【図2】ハンド部と把持対象物との配置を説明する図である。
【図3】ロボットアームのリーチ区間及びアプローチ区間を説明する図である。
【図4】本発明に係るロボットアームの制御プログラムの流れを示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、本発明を実施するための最良の形態について、添付図面を参照しながら説明する。但し、本発明が以下の実施形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【0016】
ロボットアームの制御システム(以下、単に制御システムという場合がある。)1は、図1に示すように、ロボットアーム11、演算処理部12、角度測定部13、距離測定部14を備える。ここで、演算処理部12は、典型的なコンピュータの演算処理部である。演算処理部12は、物体位置姿勢推定部121、アーム軌道生成部122、ロボットアーム制御部123、距離推定部124を備える。
【0017】
ロボットアーム11は、多関節ロボットアームである。ロボットアーム11の端部には、図2に示すように、把持対象物21を把持するハンド部111が回転可能に連結されている。ハンド部111は掌面111aを備え、当該掌面111aを挟んで両側に把持部111bを備える。
【0018】
物体位置姿勢推定部121は、ステレオカメラ等の撮像部15が撮像した画像情報に基づいて、把持対象物21までの距離、把持対象物21の形状、姿勢などを推定し、位置・姿勢情報を生成する。物体位置姿勢推定部121は、当該位置・姿勢情報をアーム軌道生成部122に出力する。ちなみに、撮像部15は、物体位置姿勢推定部121から入力される画像取得指令信号に基づいて制御される。
【0019】
アーム軌道生成部122は、当該位置・姿勢情報に基づいて、例えばロボットアーム11の端部に連結されたハンド部111で把持対象物21を良好に把持させることができるように、ロボットアーム11の制御信号を生成する。すなわち、ロボットアームの制御には、図3に示すように、リーチ区間とアプローチ区間とに区別されている。アプローチ区間でハンド部111を把持対象物21に対してどの方向から近付け、ハンド部111で把持対象物21を把持するかを定義付けした複数のパターンが、例えば図示を省略したコンピュータの記憶部に格納されている。当該パターンは、アプローチ区間において、ハンド部111で把持対象物21を良好に把持することができるように、ハンド部111を把持対象物21に向かって直線的に移動させる。すなわち、当該パターンは、図2に示すように、ハンド部111の移動方向と、ハンド部111の掌面111aの法線L方向とを、略一致させた状態で、ハンド部111を把持対象物21に向かって直線的に移動させる。
【0020】
アーム軌道生成部122は、当該位置・姿勢情報に基づいて、複数のパターンのうちいずれのパターンを実行させるかを選択し、当該パターンをアプローチ区間で実行するために、リーチ区間でのロボットアーム11の制御信号を生成する。アーム軌道生成部122は、当該制御信号及び当該選択したパターン情報をロボットアーム制御部123に出力する。
【0021】
ロボットアーム制御部123は、当該制御信号に基づいて、ロボットアーム11を制御する。このとき、ロボットアーム制御部123には、角度測定部13からロボットアーム11の関節部の角度情報が入力される。ロボットアーム制御部123は、当該角度情報を取得しつつ、リーチ区間においてロボットアーム11を当該制御信号に基づいて制御する。ロボットアーム制御部123は、当該角度情報を距離推定部124に出力する。
【0022】
ロボットアーム制御部123は、リーチ区間からアプローチ区間にハンド部111が侵入すると、当該選択したパターン情報に基づいて、ロボットアーム11を制御する。このとき、ロボットアーム制御部123は、距離推定部124から停止指令信号が入力されると、当該選択したパターン情報に基づくロボットアーム11の制御を停止する。
【0023】
角度測定部13は、ロボットアーム11の各関節部に配置されており、関節部の回転角度を測定する。角度測定部13は、測定した関節部の角度情報をロボットアーム制御部123に出力する。角度測定部13としては、例えばエンコーダ等の角度検出手段を用いることができる。角度測定部13は、ロボットアーム制御部123から入力される角度測定指令信号に基づいて制御される。
【0024】
距離測定部14は、ハンド部111に設けられている。例えば距離測定部14は、ハンド部111の把持部111bに設けられる。但し、ハンド部111がアプローチ区間を移動する際に、把持対象物21までの距離を良好に測定できる部位に距離測定部14が設けられていれば良い。距離測定部14は、把持対象物21までの距離を測定し、測定した距離情報を距離推定部124に出力する。距離測定部14としては、例えばレーザーや超音波などを用いた一般的な測距センサを用いることができる。上述のようにアプローチ区間においては、ハンド部111を把持対象物21に向かって直線的に移動させるので、距離測定部14から出射されるレーザーや超音波などが把持対象物21を良好に捉えることができる。距離測定部14は、距離推定部124から入力される距離測定指令信号に基づいて制御される。
【0025】
距離推定部124は、ハンド部111と把持対象物21との距離を推定する。すなわち、ハンド部111がアプローチ区間において、ハンド部111が把持対象物21に近付き、距離測定部14が把持対象物21までの距離を測定すると、入力される距離情報に基づいて、ハンド部111と把持対象物21との距離を算出する。そして、ハンド部111がさらに把持対象物21に近付き、距離測定部14が把持対象物21までの距離を測定できなくなると、距離推定部124は、入力されるロボットアーム11の関節部の角度情報やロボットアーム11を成すアームの長さ等に基づいて、距離測定部14で測定不能となった位置からのハンド部111の移動距離を算出する。つまり、距離推定部124は、ロボットアーム制御部123から当該ロボットアーム11の関節部の角度情報を取得する。また、距離推定部124は、コンピュータの記憶部に格納されているロボットアーム11を成すアームの長さ等の情報を取得する。
【0026】
さらに距離推定部124は、距離測定部14で測定不能となった際の距離情報から、算出したハンド部111の移動距離を差分し、ハンド部111と把持対象物21との距離を推定する。その後、距離推定部124は、推定したハンド部111と把持対象物21との距離から、推定後のハンド部111の移動距離を差分することを所定の周期で繰り返し、最終的に推定したハンド部111と把持対象物21との距離が予め設定された閾値以下になったか否かを判断する。距離推定部124は、ハンド部111と把持対象物21との距離が閾値以下になっていると、当該選択したパターン情報に基づくロボットアーム11の制御を停止させるべく、停止指令信号を生成し、ロボットアーム制御部123に出力する。
【0027】
このような制御システム1を用いてロボットアームの制御プログラム(以下、単に制御プログラムという場合がある。)は、図4に示すように実施される。
先ず、ロボットアーム制御部123は、アーム軌道生成部122で生成された制御信号に基づいて、リーチ区間においてロボットアーム11を制御し、当該ロボットアーム11の端部に連結されたハンド部111を、把持対象物21に向かって移動させる(S1)。
【0028】
次に、ロボットアーム制御部123は、アーム軌道生成部122が選択したパターンに基づいて、アプローチ区間においてロボットアーム11を制御し、当該ロボットアーム11のハンド部111を、把持対象物21に向かって移動させる(S2)。これに伴い、ハンド部111は把持対象物21に近付き、距離測定部14で把持対象物21までの距離が測定可能になる。ここで、距離測定部14は、当該指令信号に基づいて、把持対象物21までの距離を測定し、当該距離情報を距離推定部124に出力する(S3)。S3の工程を所定の周期で繰り返し、距離推定部124は、距離測定部14が把持対象物21に近付き、距離測定部14で把持対象物21までの距離が測定不能となる不感帯に当該距離測定部14が入ったか否かを判定する(S4)。
【0029】
距離推定部124は、距離測定部14が不感帯に入っていないと判断すると、距離測定部14から距離情報を取得し続ける。一方、距離推定部124は、距離測定部14が不感帯に入ったと判断すると、距離測定部14が不感帯に入った直後からのハンド部111の移動距離を算出する。すなわち、距離推定部124は、当該ロボットアーム11の関節部の角度情報やロボットアーム11を成すアームの長さ等に基づいて、距離測定部14が不感帯に入った直後からのハンド部111の移動距離を算出する。そして、距離推定部124は、距離測定部14が不感帯に入る直前の距離情報から、算出したハンド部111の移動距離を差分し、ハンド部111と把持対象物21との距離を推定する(S5)。ちなみに、距離推定部124は、距離測定部14からの距離情報の入力が途絶えると、距離測定部14が不感帯に入ったと判断することができる。したがって、距離測定部14が不感帯に入る直前の距離情報とは、最後に入力された距離情報である。
【0030】
距離推定部124は、当該推定したハンド部111と把持対象物21との距離から、推定後のハンド部111の移動距離を差分する。このように距離推定部124は、一つ前の工程で推定したハンド部111と把持対象物21との距離から、推定後のハンド部111の移動距離を差分し、ハンド部111と把持対象物21との距離を推定することを所定の周期で繰り返す(S6)。
【0031】
距離推定部124は、S6の工程において推定したハンド部111と把持対象物21との距離が閾値以下となったか否かを判断する(S7)。距離推定部124は、ハンド部111と把持対象物21との距離が閾値以下となったと判断すると、当該選択したパターン情報に基づくロボットアーム11の制御を停止させるべく、停止指令信号を生成し、ロボットアーム制御部123に出力する(S8)。一方、距離推定部124は、ハンド部111と把持対象物21との距離が閾値より大きいと判断すると、S5の工程に戻る。
【0032】
ロボットアーム制御部123は、距離推定部124から停止指令信号が入力されると、当該選択したパターン情報に基づくロボットアーム11の制御を停止させる(S9)。
このように、距離測定部14が不感帯に入っても、結果として距離測定部14が測定したハンド部111と把持対象物21との距離に基づいて、距離測定部14が測定不能となった後のハンド部111と把持対象物21との距離を推定するので、精度良くハンド部111と把持対象物21との距離を把握することができる。そのため、ハンド部111で把持対象物21を把持する際に、ハンド部111が把持対象物21に対して遠すぎたり、近すぎたりすることなく、適切な位置にハンド部111を停止させることができる。ここで、アプローチ区間においては、ハンド部111の移動方向と、ハンド部111の掌面の法線L方向とを、略一致させた状態で、ハンド部111を把持対象物21に向かって移動させたので、ハンド部111の把持部111bを閉じると、ハンド部111で把持対象物21を良好に把持することができる。
【0033】
以上、本発明に係るロボットアームの制御プログラム及び制御システムの実施形態を説明したが、上述した内容に限らず、本発明の技術的思想を逸脱しない範囲で、変更することが可能である。
上記の実施形態では、リーチ区間とアプローチ区間とに分けたが、ハンド部111を把持対象物21の近傍に移動させるまで、アーム軌道生成部122がロボットアーム11の制御信号を生成し続け、当該制御信号に基づいて、ロボットアーム制御部123がロボットアーム11を制御しても良い。
上記の実施形態では、掌面111aを備えたハンド部111であったが、掌面111aを備えないハンド部を用いても良い。この場合、上述したようにハンド部111で把持対象物21を良好に把持することができるように、ロボットアーム11が制御される。
【符号の説明】
【0034】
1 制御システム
11 ロボットアーム
12 演算処理部、121 物体位置姿勢推定部、122 アーム軌道生成部、123 ロボットアーム制御部、124 距離推定部
13 角度測定部
14 距離測定部
15 撮像部
21 把持対象物
111 ハンド部、111a 掌面、111b 把持部
L 法線

【特許請求の範囲】
【請求項1】
ロボットアームの端部に連結されたハンド部を、把持対象物に向かって移動させる処理と、
前記ハンド部に設けられた距離測定部に、前記ハンド部と前記把持対象物との距離を測定させる処理と、
前記距離測定部が前記ハンド部と前記把持対象物との距離の測定が不能となると、測定不能となる直前の前記ハンド部と前記把持対象物との距離と、前記ロボットアームの関節部の角度から算出させた、測定不能となった後の前記ハンド部の移動距離と、に基づいて、前記ハンド部と前記把持対象物との距離を推定させる処理と、
前記推定させた前記ハンド部と前記把持対象物との距離が閾値以下となると、前記ハンド部を前記把持対象物に向かって移動させる動作を停止させる処理と、
をコンピュータに実行させるロボットアームの制御プログラム。
【請求項2】
前記ハンド部を前記把持対象物に向かって移動させる処理は、
前記ハンド部で前記把持対象物を把持することができるように、前記ハンド部を前記把持対象物に向かって直線的に移動させることを特徴とする請求項1に記載のロボットアームの制御プログラム。
【請求項3】
前記ハンド部の移動方向と、前記ハンド部の掌面の法線方向とを、略一致させた状態で、前記ハンド部を前記把持対象物に向かって直線的に移動させることを特徴とする請求項2に記載のロボットアームの制御プログラム。
【請求項4】
前記ハンド部と前記把持対象物との距離を推定させる処理は、
前記距離測定部が測定不能となる直前の前記ハンド部と前記把持対象物との距離から、前記ロボットアームの関節部の角度に基づいて算出させた、前記距離測定部が測定不能となった後の前記ハンド部の移動距離を差分させて、前記ハンド部と前記把持対象物との距離を推定させる処理と、
一つ前の処理で推定させた前記ハンド部と前記把持対象物との距離から、前記ロボットアームの関節部の角度に基づいて算出させた、推定後の前記ハンド部の移動距離を差分させて、前記ハンド部と前記把持対象物との距離を推定させる処理と、
を備えることを特徴とする請求項1に記載のロボットアームの制御プログラム。
【請求項5】
把持対象物を把持するハンド部を有するロボットアームと、
前記ロボットアームの関節部の角度を測定する角度測定部と、
前記ロボットアームのハンド部に設けられ、前記ハンド部から前記把持対象物までの距離を測定する距離測定部と、
前記ハンド部を前記把持対象物に向かって移動させるべく、前記ロボットアームを制御する演算処理部と、を備え、
前記演算処理部は、前記距離測定部からの入力が途絶えると、前記入力が途絶える直前の前記ハンド部から前記把持対象物までの距離と、前記角度測定部から入力される前記ロボットアームの関節部の角度から算出した前記ハンド部の移動距離と、に基づいて、前記ハンド部と前記把持対象物との距離を推定し、推定した前記ハンド部と前記把持対象物との距離が閾値以下となると、前記ハンド部を前記把持対象物に向かって移動させる動作を停止させるロボットアームの制御システム。
【請求項6】
前記ハンド部は掌面を備え、
前記演算処理部は、前記ハンド部の移動方向と、前記ハンド部の掌面の法線方向とを、略一致させた状態で、前記ハンド部を前記把持対象物に向かって直線的に移動させることを特徴とする請求項5に記載のロボットアームの制御システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2011−104756(P2011−104756A)
【公開日】平成23年6月2日(2011.6.2)
【国際特許分類】
【出願番号】特願2009−265291(P2009−265291)
【出願日】平成21年11月20日(2009.11.20)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】