JP2010247309A - ロボットアーム、及びその制御方法 - Google Patents
ロボットアーム、及びその制御方法 Download PDFInfo
- Publication number
- JP2010247309A JP2010247309A JP2009101875A JP2009101875A JP2010247309A JP 2010247309 A JP2010247309 A JP 2010247309A JP 2009101875 A JP2009101875 A JP 2009101875A JP 2009101875 A JP2009101875 A JP 2009101875A JP 2010247309 A JP2010247309 A JP 2010247309A
- Authority
- JP
- Japan
- Prior art keywords
- elbow
- robot arm
- force sensor
- joint
- hand
- 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.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】制御性の高いロボットアーム、及びその制御方法を提供すること。
【解決手段】本発明にかかるロボットアームは、冗長性を有するロボットアームであって、肘部16よりも本体部側に設けられた力センサ31と、力センサ31からの出力に応じて、ロボットアームに設けられた関節を制御する制御部13と、を備え、制御部13が、インピーダンスモデルを用いて、力センサ31からの出力に応じた肘旋回角を算出し、逆運動学を用いて、肘部16を肘旋回角に基づいて肘旋回角周りに旋回させるよう、関節を制御する、ものである。
【選択図】図1
【解決手段】本発明にかかるロボットアームは、冗長性を有するロボットアームであって、肘部16よりも本体部側に設けられた力センサ31と、力センサ31からの出力に応じて、ロボットアームに設けられた関節を制御する制御部13と、を備え、制御部13が、インピーダンスモデルを用いて、力センサ31からの出力に応じた肘旋回角を算出し、逆運動学を用いて、肘部16を肘旋回角に基づいて肘旋回角周りに旋回させるよう、関節を制御する、ものである。
【選択図】図1
Description
本発明は、ロボットアーム、及びその制御方法に関し、特に詳しくは、冗長性を有するロボットアーム、及びその制御方法に関する。
ロボットアームは、通常、リンクと、リンクを結びつける複数の関節とによって構成されている。このようなロボットアームでは、関節を駆動することによって、手先が目標位置、姿勢になるよう制御している。そして、目標位置で、所定の作業を行なう。
ロボットアームには、主に6自由度のものと、7自由度のものがある。手先を任意の位置、姿勢にするには6自由度で十分であるため、7自由度のものは、冗長性(冗長自由度)を有している。このような7自由度のロボットアームの制御方法が開示されている(特許文献1乃至3)。
特許文献1では、(アームの自由度−6自由度)を冗長自由度として扱い、手先位置、姿勢を手先位置・姿勢(6自由度分の関節)と、冗長自由度としての関節をそれぞれ分割して制御している。
特許文献2では、冗長ロボットアームをいくつかのサブシステムに分割し、各サブシステムにおいて、インピーダンス制御を実施している。特許文献3には、力センサを設けて、制御を行う方法が開示されている。この方法では、力センサを境として、2つのシステム(ロボット)に分割している。しかしながら、これらの方法では、冗長関節やサブシステムの設定を行うことが困難である。例えば、ロボットアームに実行させるタスクが異なると、別の設定を行う必要が生じてしまう。
なお、上記の制御において、逆運動学は、数値的手法(ヤコビ行列に基づく手法)を用いている。このため、計算量が多くなり、実時間制御が困難になってしまう。さらに、逆運動学の解が初期値に依存してしまう。このように、上記の技術では、制御性を向上することが困難であるという問題点がある。
本発明は、上記の問題点に鑑みてなされたものであり、制御性と安全性の高いロボットアーム、及びその制御方法を提供することを目的とする。
本発明の第1の態様にかかるロボットアームは、冗長性を有するロボットアームであって、肘部よりも本体部側に設けられた第1の力センサと、前記第1の力センサからの出力に応じて、ロボットアームに設けられた関節を制御する制御部と、を備え、前記制御部が、インピーダンスモデルを用いて、前記第1の力センサからの出力に応じた肘旋回角を算出し、逆運動学を用いて、前記肘部を前記肘旋回角に基づいて肘旋回角周りに旋回させるよう、前記関節を制御する、ものである。これにより、外力を逃がすようなインピーダンス制御のパラメータ設計が容易になり、制御性を向上することができる。
本発明の第2の態様にかかるロボットアームは、上記のロボットアームであって、前記制御部が、手先の目標軌道と前記肘旋回角とに基づく前記逆運動学によって前記関節を制御する、ものである。これにより、手先作業を行いながら肘部外力を逃がすような制御を簡便に行うことができる。
本発明の第3の態様にかかるロボットアームは、上記のロボットアームであって、前記制御部が、インピーダンスモデルにおいて、前記第1の力センサによって測定した外力を閾値と比較して、前記外力が閾値を越えていた場合に、前記インピーダンスモデルにおけるバネ項によって生じる反力を一定値にすることを特徴とするものである。これにより、安全性を向上することができる。
本発明の第4の態様にかかるロボットアームは、上記のロボットアームであって、前記肘部よりも先端側に設けられた第2の力センサをさらに備え、インピーダンスモデルを用いて、前記第2の力センサからの出力に応じた手先の位置・姿勢を算出し、逆運動学を用いて、前記手先の位置・姿勢に追従するよう前記関節を制御するものである。これにより、手先作業のコンプライアンスと手先以外に加わった外力へのコンプライアンスを同時に制御することができる。
本発明の第5の態様にかかるロボットアームは、上記のロボットアームであって、インピーダンスモデルにおいて、前記第2の力センサによって測定した外力を閾値と比較して、前記外力が閾値を越えていた場合に、前記インピーダンスモデルにおけるバネ項によって生じる反力を一定値にすることを特徴とするものである。これにより、安全性を向上することができる。
本発明の第6の態様にかかるロボットアームの制御方法は、冗長性を有するロボットアームの制御方法であって、インピーダンスモデルを用いて、肘部よりも本体部側に設けられた第1の力センサからの出力に応じた肘旋回角を算出し、逆運動学を用いて、前記肘部を前記肘旋回角に基づいて肘旋回角周りに旋回させるよう、前記関節を制御する、ものである。これにより、外力を逃がすようなインピーダンス制御のパラメータ設計が容易になり、制御性を向上することができる。
本発明の第7の態様にかかるロボットアームの制御方法は、上記の制御方法であって、手先の目標軌道と前記肘旋回角とに基づく前記逆運動学によって前記関節を制御する、ものである。これにより、手先作業を行いながら肘部外力を逃がすような制御を簡便に行うことができる。
本発明の第8の態様にかかるロボットアームの制御方法は、上記の制御方法であって、インピーダンスモデルにおいて、前記第1の力センサによって測定した外力を閾値と比較して、前記外力が閾値を越えていた場合に、前記インピーダンスモデルにおけるバネ項によって生じる反力を一定値にすることを特徴とするものである。これにより、安全性を向上することができる。
本発明の第9の態様にかかるロボットアームの制御方法は、上記の制御方法であって、インピーダンスモデルを用いて、前記肘部よりも先端側に設けられた第2の力センサからの出力に応じた手先の位置・姿勢を算出し、逆運動学を用いて、前記手先の位置・姿勢に追従するよう前記関節を制御するものである。これにより、手先作業のコンプライアンスと手先以外に加わった外力へのコンプライアンスを同時に制御することができる。
本発明の第10の態様にかかるロボットアームの制御方法は、上記の制御方法であって、インピーダンスモデルにおいて、前記第2の力センサによって測定した外力を閾値と比較して、前記外力が閾値を越えていた場合に、前記インピーダンスモデルにおけるバネ項によって生じる反力を一定値にすることを特徴とするものである。これにより、安全性を向上することができる。
本発明によれば、制御性と安全性の高いロボットアーム、及びその制御方法を提供することができる。
以下、本発明に係るロボットアームの実施形態を、図面に基づいて詳細に説明する。但し、本発明が以下の実施形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
発明の実施の形態1.
実施形態1に係るロボットアームについて、図1を用いて説明する。図1は、ロボットアームの構成を模式的に示す図である。ロボットアームは多関節型のマニピュレータである。図1に示すようにロボットアームは、胴体部10とアーム部11と制御部13を有している。さらに、アーム部11には、ハンド12、リンク14、肩部15、肘部16、力センサ31が設けられている。
実施形態1に係るロボットアームについて、図1を用いて説明する。図1は、ロボットアームの構成を模式的に示す図である。ロボットアームは多関節型のマニピュレータである。図1に示すようにロボットアームは、胴体部10とアーム部11と制御部13を有している。さらに、アーム部11には、ハンド12、リンク14、肩部15、肘部16、力センサ31が設けられている。
アーム部11は、本体部となる胴体部10に肩部15を介して取り付けられている。肩部15の先端側(ハンド側)には、上腕部となるリンク14が取り付けられている。さらに、そのリンク14の先端には、肘部16が取り付けられている。肘部16の先端側には、前腕部となるリンク14が設けられている。すなわち、2つのリンク14が肘部16を介して連結されている。リンク14の先端側(ハンド側)には、手首部17が設けられている。リンク14には、手首部17を介してハンド12が連結されている。エンドエフェクタであるハンド12によって、例えば、対象物体が把持される。
肩部15、肘部16、手首部17には、少なくとも1つ以上の関節が設けられている。すなわち、肩部15には、アーム部11において最も胴体部10側にある関節が含まれている。手首部17には、アーム部11において最も先端側(ハンド12側)にある関節が含まれている。そして、手首部17と肩部15の間にある関節が肘部16になる。もちろん、肩部15、肘部16、手首部17のそれぞれに、2以上の関節が設けられていてもよい。
さらに、肩部15には、アーム部11に加わる力を検出するための力センサ31が取り付けられている。なお、肩部15と肘部16との間に、力センサ31が設けられていてもよい。すなわち、力センサ31は、肘部16よりも胴体部10側にあればよい。なお、力センサ31を肘部16よりも遠ざけて配置することが好ましい。このようにすることでアーム部11に加わった力を検出することができる。従って、本実施の形態では、力センサ31を肩部15に配置している。力センサ31の測定値は、制御部13に出力される。
肩部15、肘部16、手首部17には、それぞれ関節が設けられている。ここでは、ロボットアームが7自由度の冗長アーム機構であるとして説明する。従って、ロボットアームは、1自由度分の冗長性を有している。各関節には、関節モータやエンコーダなどが設けられている。さらには、各関節には、関節モータを駆動するためのアンプが設けられている。そして、エンコーダの出力は、制御部13に入力される。制御部13は、エンコーダの出力、及び力センサ31の出力に応じて、各関節を駆動する。各関節を駆動することで、ハンド12の位置・姿勢を所定の位置・姿勢にすることができる。
さらに、ロボットアームには、アーム部11の動作を制御するための制御部13が設けられている。制御部13は、CPU(Central Processing Unit)などを有する演算装置18と、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD、光ディスク、光磁気ディスク等を有する記憶装置19を有している。例えば、記憶装置19は、各種プログラムや制御パラメータなどを記憶している。そして、そのプログラムやデータを必要に応じて演算装置18に供給する。これにより、アーム部11に設けられた各関節が所定の制御に従って、動作する。よって、ハンド12を所望の位置・姿勢にすることができる。
次に、ロボットアームの各関節について図2を用いて説明する。図2は、ロボットアームの軸構成例を示す図である。図2に示すように、ロボットアームは、7自由度を有する冗長アームである。肩回転関節21と肩旋回関節22と肩回転関節23が肩部15を構成する。また、肘回転関節24と肘回転関節25が肘部16を構成する。手首回転関節27と手首回転関節26が手首部17を構成する。もちろん、関節の配置は図2で示した配置に限られるものではない。すなわち、ロボットアームが少なくとも1自由度分の冗長性を有していればよい。各関節には、関節を駆動する関節モータや、その角度を測定するためのエンコーダが設けられている。
本実施の形態では、肩部15に搭載した力センサ31でアーム部11に加わる外力を測定している。力センサ31の出力に応じて、アーム部11を制御している。ここでは、力センサ31からの出力に応じて、アーム部11に加わった力を逃がしている。このアーム部11の動作について図3を用いて説明する。
図3に示すように、アーム部11に外力が加わったとする。力センサ31はアーム部11に加わる力を計測する。そして、制御部13は、インピーダンスモデルにより肘旋回角を修正する。ここでは、外力を冗長自由度周りの肘旋回角によって逃がす。肘旋回角指令値θdを修正して肘旋回角θeを求める。そして、肘旋回角θeに追従するように関節を駆動する。なお、基準面40は、肘旋回角度0度の時を示しており、肩部15−手首部17を含む鉛直平面になっている。すなわち、肩部15と手首部17を結ぶ直線に対して垂直な平面が基準面40となる。肘旋回角が変化したとしても、手首部17とハンド12の位置姿勢は変化しない。よって、ハンド12は、外力による影響を受けないため、手先での所望タスクを実現することができる。例えば、肘部16を机上につきながらのタスクが可能になる。
本実施形態では、冗長自由度は、肘の旋回角と定義して、幾何学的な手法により逆運動学を解いている。外力を逃がすことのみに注視して、アーム部11全体で外力を逃がす従来の外力追従制御と異なり、冗長自由度を活用して、手先動作とは独立に外力を逃している。これにより、外力を逃がしつつ、手先での所望の動作を実現することができる。このように、肘部16が柔軟に動作するように制御することで、アーム部11に加わる衝撃を低減することができる。
次に、ロボットアームの制御系について図4を用いて説明する。図4は、制御系全体を示すブロック図である。
まず、目標位置姿勢に基づいて手先の目標軌道を決定する。また、目標肘旋回角に基づいて肘旋回角指令値θdを求める。なお、肘旋回角指令値θdは、外力が加わらない場合、変化しない。アーム部11に設けられた力センサ31でアーム部11に加わる力を検出する。そして、力センサ31の出力に基づいて、肘旋回角の接線方向の力Feを算出する。そして、肘旋回角周りのインピーダンスモデルによって、修正された肘旋回角θeを算出する。ここでは、肘旋回角周りのインピーダンスモデルで肘旋回角θeを算出する。肘旋回角指令値θdと肘旋回周りの外力Feとを用いて、肘旋回角θeを算出する。この肘旋回角θeと、手先目標軌道による手先軌道指令値から、逆運動学によって、各関節角度を算出する。この各関節角度を関節モータのコントローラに出力して、各関節を駆動する。これにより、ロボットアームが動作する。
図5を用いてロボットアームの制御方法について説明する。図5は、ロボットアームの制御方法を示すフローチャートである。
まず、肩部15の力センサ31が測定した測定値を制御部13に出力する(ステップS101)。これにより、アーム部11に加えられた力の大きさと方向を検出することができる。そして、測定値が閾値を越えているか否かを制御部13が判定する(ステップS102)。測定値が閾値を越えている場合、測定値を肘旋回角の接線方向へと変換する(ステップS103)。また、上記の処理と平行して、肘旋回角指令値θdを求めておく(ステップS104)。そして、インピーダンスモデルを用いて、目標肘旋回角と肘旋回角の接線方向の力Feから、肘旋回角θeを算出する(ステップS105)。また、ステップS102において、測定値が閾値を越えていない場合、Feによる修正が行われない。すなわち、肘旋回角指令値θdがそのまま肘旋回角θeとなる。
また、上記の処理と並行して、手先の位置・姿勢から、手先軌道指令値を求めておく(ステップS106)。そして、手先軌道指令値と、肘旋回角θeを用いて逆運動学によって、各関節の角度を決定する(ステップS107)。ここでは、幾何学的な手法を用いる。各関節角度に基づいて、ロボットアームが動作する(ステップS108)。これにより、肘部16が肘旋回角に基づいて肘旋回角周りに旋回するとともに、手先の位置・姿勢に追従するように関節が駆動する。このように制御することで、手先軌道指令に追従させながら、リンク14又は肘部16に作用する外力を逃すことができる。さらに、幾何学的な逆運動学手法を用いるため、実時間制御が可能で、動作が直感的である。このように、制御性と安全性を向上することができ、簡便にロボットアームを制御することができる。
次に、冗長自由度を肘旋回角により定義して、アーム部11の姿勢を決定する方法について、図6を用いて説明する。1自由度分の冗長性があるため、手先の目標位置・姿勢が決まっても、各関節角度が一意に決まらない。そこで、冗長自由度を肘旋回角として定義することで、アーム部11の姿勢を一意に決めることができる。ここでは、例えば、「関節の可動範囲を考慮に入れた7自由度冗長マニピュレータ解析的逆運動学解法」、清水昌幸、角谷啓、尹祐根、北垣高成、小菅一弘、ロボット学会誌、Vol.25、No.4、606−617に記載されている方法を用いることができる。
例えば、図4の逆運動学及び図5のステップS107において、上記の手法を用いる。すると、図6に示すように、肘部16が基準面上で旋回する。このとき、ハンド12の位置が変化しない。よって、動作が直感的になり、制御性を向上することができる。
このように、逆運動学手法を用いた場合、冗長自由度は、肘の旋回角として表現することができる。そのため、ステップS103で示したように、肩部15の力センサ31の情報を肘部16の旋回角周りの接線方向へと変化する。すなわち、力センサ31の測定値から、肘部16の旋回角周りの接線方向における力を算出する。この算出方法について、図7を用いて説明する。
肩部15から肘部16への単位ベクトルshueを算出する。また、肩部から手首部17への単位ベクトルshuwrを算出する。肩部15、肘部16、手首部17により生成される平面に対する法線ベクトルunor(肘の旋回角周りの接線方向と一致)を算出する。法線ベクトルunorは単位ベクトルshueと単位ベクトルshuwrの外積により算出される。すなわち、unor=shue×shuwrとなる。そして、力センサ31で測定した力Fshを肘の旋回角周りの接線方向の情報に変換する。すなわち、肘の旋回角周りの接線方向に加わった力Feを求める。この力Feは、Fshとunorの内積により算出される。すなわち、Fe=Fsh・unorとなる。このように、力センサ31で検出した力から、肘の旋回角周りの接線方向に加わった力Feを算出することができる。
次に、肘部16の旋回角周りのインピーダンス制御の一例について説明する。まず、肘旋回角周りに下記を用いてインピーダンス制御を設定する。このインピーダンス制御については、「ファジー補償器を用いた位置指令型インピーダンス制御法」、永田寅臣、渡辺圭吾、泉清高、第1回日本ファジィ学会九州支部学術講演会、pp29−33、1999に記載されている方法を用いることができる。
この例では、以下の式1に示すように、スイッチング行列を用いている点に特徴の一つがある。
なお、上記の式1において、θeは肘旋回角、θdは肘旋回角指令値、Mは実慣性行列、Bは仮想ダンパー行列、Kは仮想ばね行列、Fは肘旋回周りの力応答値、Fdは肘旋回周りの力指令値、Sはスイッチング行列、Kfは力ゲイン、Eは単位行列である。ここで、S、M、B、Kは6×6の行列である。
以下の式2に示すように、スイッチング行列を用いることにより制御系の切換を容易にすることができる。
このように、スイッチング行列Sによって制御を切換える。スイッチング行列を単位行列又はゼロ行列に切換える。この切換の特徴を活かし、以下の式3に示すように、バネ項によって生じる手先反力に閾値θthを設ける。
このインピーダンス制御では、θeとθdの偏差(絶対値)と閾値θthを比較して、その比較結果に応じて制御を切換えている。ここでは、図8に示すように、偏差が閾値θthよりも小さい場合、バネ項によって生じる手先反力が偏差に比例している。一方、偏差が閾値よりも大きい場合、バネ項によって生じる手先反力を力指令値Fdで一定にしている。偏差が閾値θthを越えた場合、バネ項による手先反力は偏差によらず、一定値になる。ここでは、式3に示すように、偏差が閾値θthを越えた場合、力指令値Fd=Kθthとなる。なお、図8において、横軸がθeとθdの偏差(絶対値)を示し、縦軸が手先反力を示している。
これにより、過大な反力が生じる事を防ぐことができ、安全性を向上することが可能になる。すなわち、アーム部11に過大な力が加わり、偏差が閾値を越えたとしても、バネ項によって生じる反力が一定値となる。よって、過大な反力が生じるのを防ぐことができる。
本実施の形態では、力センサ31からの出力を用いるため、外力による衝撃を吸収することができる。すなわち、アーム部11に力が加わった場合、インピーダンスモデルによって肘旋回角を制御する。これにより、アーム部11が柔軟に動作することになる。
冗長自由度の活用方法として、人間の腕と同様な肘部の旋回を用いているため、動作を直感的に認識することができる。従来の冗長なロボットアームのインピーダンス制御と異なり、動作が直感的であるため、肘旋回方向のインピーダンスパラメータの設計を容易に行うことができる。このように、パラメータを容易に設計することができる。すなわち、行列やゲインの値の設定が容易になる。
発明の実施の形態2.
本実施の形態にかかるロボットアームについて、図9を用いて説明する。図9は、ロボットアームの全体構成を示す図である。本実施の形態では、実施の形態1で示した構成に加えて、力センサ32が設けられている。そして、2つの力センサ31、32の測定値を用いて、それぞれインピーダンス制御を行っている。なお、力センサ32以外の構成及び基本的な制御方法については、実施の形態1と同様であるため、説明を省略する。
本実施の形態にかかるロボットアームについて、図9を用いて説明する。図9は、ロボットアームの全体構成を示す図である。本実施の形態では、実施の形態1で示した構成に加えて、力センサ32が設けられている。そして、2つの力センサ31、32の測定値を用いて、それぞれインピーダンス制御を行っている。なお、力センサ32以外の構成及び基本的な制御方法については、実施の形態1と同様であるため、説明を省略する。
図9に示すように、力センサ32が手首部17に設けられている。なお、手首部17に限られるものではない。力センサ32の位置は、肘部16よりも先端側であればよい。なお、力センサ32を肘部16よりも遠ざけて配置することが好ましい。従って、本実施の形態では、力センサ32を手首部17に配置している。力センサ32の出力は、制御部13に出力される。また、力センサ32は、図10に示すように、手首回転関節27とハンド12の間に配置されている。このように、本実施の形態では、アーム部11に2つの力センサ31、32が設けられている。
本実施の形態では、力センサ32で手先インピーダンス制御を行っている。また、実施の形態1と同様に、力センサ31で肘旋回周りのインピーダンス制御を行っている。この制御について図11を用いて説明する。図11は、制御系を示すブロック図である。なお、実施の形態1において説明した内容と重複する部分については説明を省略する。
本実施の形態では、手先目標軌道から手先位置・姿勢の指令値xd求める。さらに、力センサ32で手首部の外力Fwを測定する。手先インピーダンスモデルによって、手先位置姿勢の指令値xdと外力Fwから手先位置・姿勢xwを算出する。さらに、本実施の形態では、力センサ31、32によって肘旋回角周りの外力Feを求めている。また、実施の形態1と同様に、肘旋回角周りのインピーダンスモデルによって、肘旋回角θeを算出する。ここでは、肘旋回角周りの外力Feと目標肘旋回角に応じた肘旋回角指令値θdによって、肘旋回角θeを求めることができる。そして、手先位置・姿勢xwと、肘旋回角θeとを用いた逆運動学によって、各関節角度を求めることができる。
次に、本実施の形態にかかるロボットアームの制御方法について、図12を用いて説明する。図12は、本実施形態にかかるロボットアームの制御方法を示すフローチャートである。
まず、肩部15の力センサ31で測定を行う(ステップS201)。さらに、ステップS201と並行して、手首部17に設けられた力センサ32で測定を行う(ステップS202)。これにより、アーム部11の先端側に加わった力が測定される。そして、力センサ32の測定値を座標変換する(ステップS203)。これにより、力センサ32での測定結果が、力センサ31の座標系に変換される。そして、力センサ31と力センサ32との測定結果を減算する。すなわち、力センサ31での測定値から座標変換された力センサ32での測定値を引く。これにより、力センサ32よりも胴体部10側であって、力センサ31よりも先端側に加わった力が算出される。すなわち、アーム部11において、力センサ31から力センサ32までに加わった力を求めることができる。そして、減算された測定値と閾値を比較する(ステップS204)。この後のステップS204〜ステップS207は、実施の形態と同様であるため説明を省略する。
一方、ステップS202で測定された測定値は閾値と比較される(ステップS208)。すなわち、手首部17に加わる力が閾値を越えているか否かを判定する。測定値が閾値を越える場合、インピーダンスモデルを用いる。なお、上記の処理と並行して手先軌道による手先位置・姿勢の指令値xdを算出する(ステップS209)。そして、手先位置・姿勢の指令値xdと手首部17に加わる外力Fwとを用いたインピーダンスモデルによって、手先位置・姿勢xwを算出する(ステップS210)。ここで、手先のインピーダンスモデルを用いることで、手先の位置・姿勢の指令値xdを修正することができる。また、ステップS208において、測定値が閾値を越えていない場合、Fwによる修正が行われない。すなわち、手先の位置・姿勢の指令値xdがそのまま手先位置・姿勢xwとなる。
そして、手先位置・姿勢xwと、肘旋回角θeとを用いた逆運動学によって、各関節角度を求める(ステップS211)。この処理は、実施の形態1と同様である。各関節角度に基づいて、ロボットアームが動作する(ステップS212)。これにより、手先位置・姿勢xw及び肘旋回角θeに追従するよう関節角度が制御される。肘部16が肘旋回角に基づいて肘旋回角周りに旋回するとともに、手先位置、姿勢xwに追従するように関節が駆動する。このように制御することで、外力を逃すことができる。さらに、幾何学的な逆運動学手法を用いるため、実時間制御が可能で、動作が直感的である。このように、簡便にロボットアームを制御することができる。また、アーム全体にコンプライアンスを実装することができる。外力に倣うことにってロボットアームの安全性を向上することができる。インピーダンス制御のバネ項によって、外力消失後の作業への復帰が可能になる。
以下に、手先のインピーダンス制御について説明する。手先のインピーダンス制御についても肘部16に用いたインピーダンス制御と同様に、スイッチング行列を用いる。すなわち、手先のインピーダンス制御において、バネ項に閾値を設けて、制御を切換える。従って、手先のインピーダンス制御は以下の式で示される。
なお、xwは手先位置・姿勢、xdは手先位置・姿勢の指令値、Mは実慣性行列、Bは仮想ダンパー行列、Kは仮想バネ行列、Sはスイッチング行列、Kfは力ゲイン、Eは単位行列、Fwは力応答値、Fdは力指令値、Fthは力閾値である。
そして、肘旋回周りのインピーダンス制御と同様に、閾値Fthを越えた場合、Fdを一定にする。式4に示すように、閾値Fthを越えた場合、Fd=Fthで一定になる。
このように、肘旋回角と手先において、それぞれバネ項に閾値を設けたインピーダンス制御を行っている。よって、ある一定の力以上は返さないようになり、安全性を向上することができる。このように、安全性を考慮したインピーダンス制御を行うことが可能になる。この結果、アーム全体でコンプライアンスを実現することができ、外力に倣う安全性を考慮した動作を実現することが可能になる。また、力指令値が存在していることで、外力消失後には、手先での作業へ復帰することができる。このように、制御性を向上することができ、所望の制御を簡便に実施することができる。また、ハンド12において実行するタスクが変わった場合でも、容易に対応することができる。これにより、制御性を向上することができる。
10 胴体部
11 アーム部
12 ハンド
13 制御部
14 リンク
15 肩部
16 肘部
17 手首部
21 肩回転関節
22 肩旋回関節
23 肩回転関節
24 肘回転関節
25 肘回転関節
26 手首回転関節
27 手首回転関節
31 センサ
32 センサ
40 基準面
11 アーム部
12 ハンド
13 制御部
14 リンク
15 肩部
16 肘部
17 手首部
21 肩回転関節
22 肩旋回関節
23 肩回転関節
24 肘回転関節
25 肘回転関節
26 手首回転関節
27 手首回転関節
31 センサ
32 センサ
40 基準面
Claims (10)
- 冗長性を有するロボットアームであって、
肘部よりも本体部側に設けられた第1の力センサと、
前記第1の力センサからの出力に応じて、ロボットアームに設けられた関節を制御する制御部と、を備え、
前記制御部が、
インピーダンスモデルを用いて、前記第1の力センサからの出力に応じた肘旋回角を算出し、
逆運動学を用いて、前記肘部を前記肘旋回角に基づいて肘旋回角周りに旋回させるよう、前記関節を制御する、ロボットアーム。 - 前記制御部が、手先の目標軌道と前記肘旋回角とに基づく前記逆運動学によって前記関節を制御する、ロボットアーム。
- 前記制御部が、インピーダンスモデルにおいて、前記第1の力センサによって測定した外力を閾値と比較して、前記外力が閾値を越えていた場合に、前記インピーダンスモデルにおけるバネ項によって生じる反力を一定値にすることを特徴とする請求項1、又は2に記載のロボットアーム。
- 前記肘部よりも先端側に設けられた第2の力センサをさらに備え、
インピーダンスモデルを用いて、前記第2の力センサからの出力に応じた手先の位置・姿勢を算出し、
逆運動学を用いて、前記手先の位置・姿勢に追従するよう前記関節を制御する請求項1乃至3のいずれか1項に記載のロボットアーム。 - インピーダンスモデルにおいて、前記第2の力センサによって測定した外力を閾値と比較して、前記外力が閾値を越えていた場合に、前記インピーダンスモデルにおけるバネ項によって生じる反力を一定値にすることを特徴とする請求項4に記載のロボットアーム。
- 冗長性を有するロボットアームの制御方法であって、
インピーダンスモデルを用いて、肘部よりも本体部側に設けられた第1の力センサからの出力に応じた肘旋回角を算出し、
逆運動学を用いて、前記肘部を前記肘旋回角に基づいて肘旋回角周りに旋回させるよう、前記関節を制御する、ロボットアームの制御方法。 - 手先の目標軌道と前記肘旋回角とに基づく前記逆運動学によって前記関節を制御する、請求項6に記載のロボットアームの制御方法。
- インピーダンスモデルにおいて、前記第1の力センサによって測定した外力を閾値と比較して、前記外力が閾値を越えていた場合に、前記インピーダンスモデルにおけるバネ項によって生じる反力を一定値にすることを特徴とする請求項6、又は7に記載のロボットアームの制御方法。
- インピーダンスモデルを用いて、前記肘部よりも先端側に設けられた第2の力センサからの出力に応じた手先の位置・姿勢を算出し、
逆運動学を用いて、前記手先の位置・姿勢に追従するよう前記関節を制御する請求6乃至8のいずれか1項に記載のロボットアームの制御方法。 - インピーダンスモデルにおいて、前記第2の力センサによって測定した外力を閾値と比較して、前記外力が閾値を越えていた場合に、前記インピーダンスモデルにおけるバネ項によって生じる反力を一定値にすることを特徴とする請求項9に記載のロボットアームの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009101875A JP2010247309A (ja) | 2009-04-20 | 2009-04-20 | ロボットアーム、及びその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009101875A JP2010247309A (ja) | 2009-04-20 | 2009-04-20 | ロボットアーム、及びその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010247309A true JP2010247309A (ja) | 2010-11-04 |
Family
ID=43310241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009101875A Pending JP2010247309A (ja) | 2009-04-20 | 2009-04-20 | ロボットアーム、及びその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010247309A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014018912A (ja) * | 2012-07-18 | 2014-02-03 | Seiko Epson Corp | ロボット制御装置、ロボット制御方法およびロボット制御プログラムならびにロボットシステム |
JP2015529163A (ja) * | 2012-09-17 | 2015-10-05 | リシンク ロボティクス インコーポレイテッド | 冗長自由度を伴うロボットマニピュレータの制約 |
CN104991448A (zh) * | 2015-05-25 | 2015-10-21 | 哈尔滨工程大学 | 一种基于构型平面的水下机械臂运动学的求解方法 |
JP2017071018A (ja) * | 2015-10-07 | 2017-04-13 | セイコーエプソン株式会社 | ロボットシステム、ロボット、及びロボット制御装置 |
JP2017104914A (ja) * | 2015-12-07 | 2017-06-15 | リバーフィールド株式会社 | 外力追従制御システム |
JP2018089744A (ja) * | 2016-12-02 | 2018-06-14 | ファナック株式会社 | ロボットを制御するロボット制御装置、およびロボットに加わる外乱値を推定する方法 |
-
2009
- 2009-04-20 JP JP2009101875A patent/JP2010247309A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014018912A (ja) * | 2012-07-18 | 2014-02-03 | Seiko Epson Corp | ロボット制御装置、ロボット制御方法およびロボット制御プログラムならびにロボットシステム |
JP2015529163A (ja) * | 2012-09-17 | 2015-10-05 | リシンク ロボティクス インコーポレイテッド | 冗長自由度を伴うロボットマニピュレータの制約 |
CN104991448A (zh) * | 2015-05-25 | 2015-10-21 | 哈尔滨工程大学 | 一种基于构型平面的水下机械臂运动学的求解方法 |
JP2017071018A (ja) * | 2015-10-07 | 2017-04-13 | セイコーエプソン株式会社 | ロボットシステム、ロボット、及びロボット制御装置 |
JP2017104914A (ja) * | 2015-12-07 | 2017-06-15 | リバーフィールド株式会社 | 外力追従制御システム |
WO2017098989A1 (ja) * | 2015-12-07 | 2017-06-15 | リバーフィールド株式会社 | 外力追従制御システム |
JP2018089744A (ja) * | 2016-12-02 | 2018-06-14 | ファナック株式会社 | ロボットを制御するロボット制御装置、およびロボットに加わる外乱値を推定する方法 |
US10493632B2 (en) | 2016-12-02 | 2019-12-03 | Fanuc Corporation | Robot control device for controlling robot and method for estimating disturbance value applied to robot |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8260463B2 (en) | Robot system | |
JP4243309B2 (ja) | ロボットアームの制御装置 | |
JP2021053802A (ja) | 産業用ロボットおよびその運転方法 | |
JP5733882B2 (ja) | ロボット及びその協調作業制御方法 | |
US20080231221A1 (en) | Arm-equipped mobile robot and method for controlling the same | |
JP2010247309A (ja) | ロボットアーム、及びその制御方法 | |
JP5282874B2 (ja) | マニプレータシステム | |
KR20170000815A (ko) | 수동 안내-작동모드로의 로봇의 제어기의 전환 | |
KR20180059888A (ko) | 로봇교시방법 및 로봇 암 제어장치 | |
JPWO2007111252A1 (ja) | マニピュレータの制御方法および制御システム | |
WO2008001713A1 (fr) | Robot articulé et son programme de commande | |
JP5156836B2 (ja) | リアルタイム自己衝突および障害物回避 | |
JP2019217557A (ja) | 遠隔操作方法及び遠隔操作システム | |
JP2016028842A (ja) | アクチュエータシステム | |
JP2010069584A (ja) | マニピュレータの制御装置および制御方法 | |
JP2023513603A (ja) | ロボットマニピュレータの衝突時の力制限 | |
JP6322949B2 (ja) | ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム | |
US11999049B2 (en) | Tactile feedback of an end effector of a robot manipulator over different orientation ranges | |
US11654577B2 (en) | Robot system | |
JP2009045714A (ja) | ロボットアームの姿勢教示方法および姿勢教示装置 | |
JP2017039184A (ja) | ロボット | |
JP7436241B2 (ja) | ロボットシステム | |
JPH05261691A (ja) | 冗長マニピュレータ制御方式 | |
JP2022162857A (ja) | 機械学習装置及びロボットシステム | |
JPH07334228A (ja) | ロボットの教示データ補正装置 |