JPH07132474A - マニピュレータ制御装置 - Google Patents
マニピュレータ制御装置Info
- Publication number
- JPH07132474A JPH07132474A JP27400393A JP27400393A JPH07132474A JP H07132474 A JPH07132474 A JP H07132474A JP 27400393 A JP27400393 A JP 27400393A JP 27400393 A JP27400393 A JP 27400393A JP H07132474 A JPH07132474 A JP H07132474A
- Authority
- JP
- Japan
- Prior art keywords
- joint
- manipulator
- hand
- angle
- freedom
- 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.)
- Withdrawn
Links
- 210000000707 wrist Anatomy 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 12
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 claims description 3
- 210000001503 joint Anatomy 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 3
- 238000005452 bending Methods 0.000 description 3
- 238000005094 computer simulation Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 210000002310 elbow joint Anatomy 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
(57)【要約】
【目的】 ロール回転軸とピッチ回転軸が交互に結合し
た7自由度の関節アームの関節角度を各軸制御部により
制御するマニピュレータ制御装置に関し、どの様な手先
位置・姿勢領域についても肘位置を動かすことが出来る
ようにする。 【構成】 与えられた手先の位置・姿勢の指令値が冗長
パラメータの指令値の領域にあるか否かにより制御パラ
メータを決定しこの制御パラメータを用いて各関節角度
を逆座標変換する。
た7自由度の関節アームの関節角度を各軸制御部により
制御するマニピュレータ制御装置に関し、どの様な手先
位置・姿勢領域についても肘位置を動かすことが出来る
ようにする。 【構成】 与えられた手先の位置・姿勢の指令値が冗長
パラメータの指令値の領域にあるか否かにより制御パラ
メータを決定しこの制御パラメータを用いて各関節角度
を逆座標変換する。
Description
【0001】
【産業上の利用分野】本発明はマニピュレータ制御装置
に関し、特にロール回転軸とピッチ回転軸とが交互に結
合した7自由度の関節アームを有するマニピュレータの
制御装置に関するものである。
に関し、特にロール回転軸とピッチ回転軸とが交互に結
合した7自由度の関節アームを有するマニピュレータの
制御装置に関するものである。
【0002】産業用に用いられているロボットの多く
は、最大でも6自由度のマニピュレータが主である。こ
れは、手先によって対象物の位置決めをするに際して6
自由度あれば充分であるからである。
は、最大でも6自由度のマニピュレータが主である。こ
れは、手先によって対象物の位置決めをするに際して6
自由度あれば充分であるからである。
【0003】一方、人間の腕は7自由度を有する。人間
はこれによって、例えば手先で対象物を位置決めしなが
ら同時に肘の位置を制御して障害物をかわしたりするこ
とが出来る。
はこれによって、例えば手先で対象物を位置決めしなが
ら同時に肘の位置を制御して障害物をかわしたりするこ
とが出来る。
【0004】従って、人間の腕の様に冗長な7自由度を
有するロボット・マニピュレータが必要となっている。
有するロボット・マニピュレータが必要となっている。
【0005】
【従来の技術】従来では、冗長マニピュレータを実時間
で動かすため、手先の位置・姿勢指令値と冗長自由度を
制御すための指令値から逆座標変換式を用いて関節角度
に変換することにより行われていた。
で動かすため、手先の位置・姿勢指令値と冗長自由度を
制御すための指令値から逆座標変換式を用いて関節角度
に変換することにより行われていた。
【0006】以下これについて図9及び図10を用いて
概略的に説明する。
概略的に説明する。
【0007】図9はマニピュレータの構成を示す図であ
る。マニピュレータ10はロール回転軸とピッチ回転軸
が交互に結合したRPRPRPR型回転関節(7自由
度)とアーム11〜17と関節11a〜17aとを有
し、アーム17の先端には、手首30が固定されてい
る。また、各関節の回転方向はθ1〜θ7で示してい
る。
る。マニピュレータ10はロール回転軸とピッチ回転軸
が交互に結合したRPRPRPR型回転関節(7自由
度)とアーム11〜17と関節11a〜17aとを有
し、アーム17の先端には、手首30が固定されてい
る。また、各関節の回転方向はθ1〜θ7で示してい
る。
【0008】この機構では、人間の腕と同様に手先を固
定した状態で手首(第6関節)より根元側のアーム部分
を動かして肘関節(第4関節)の位置を変えることが出
来る。尚、6自由度の場合には第3関節13aがなく7
自由度のような働きは出来ない。
定した状態で手首(第6関節)より根元側のアーム部分
を動かして肘関節(第4関節)の位置を変えることが出
来る。尚、6自由度の場合には第3関節13aがなく7
自由度のような働きは出来ない。
【0009】ベース10aの上端には回転関節である第
1関節11aの下側が固定されており、第1関節11a
の上側には第1アーム11の下端が固定されている。第
1アーム11の上端には屈曲関節である第2関節12a
の一方が固定されており、第2関節12aの他方には第
2アーム12の下端が固定されている。さらに、第2ア
ーム12の上端には回転関節13aの下側が固定されて
おり、第3関節13aの上側には第3アーム12の下端
が固定されている。第3アームは途中で90°屈曲して
いる。第3アーム13の他端には屈曲関節である第4関
節14aの一方が固定されている。第4関節14aの他
方には第4アーム14が固定されている。第4アーム1
4も途中で90°屈曲している。
1関節11aの下側が固定されており、第1関節11a
の上側には第1アーム11の下端が固定されている。第
1アーム11の上端には屈曲関節である第2関節12a
の一方が固定されており、第2関節12aの他方には第
2アーム12の下端が固定されている。さらに、第2ア
ーム12の上端には回転関節13aの下側が固定されて
おり、第3関節13aの上側には第3アーム12の下端
が固定されている。第3アームは途中で90°屈曲して
いる。第3アーム13の他端には屈曲関節である第4関
節14aの一方が固定されている。第4関節14aの他
方には第4アーム14が固定されている。第4アーム1
4も途中で90°屈曲している。
【0010】第4アーム14の上端には回転関節である
第5関節15aの下側が固定されている。第5関節15
aの上側には第5アームの下端が固定されている。第5
アームの上端には屈曲関節である第6関節16aの一方
が固定されており、第6関節16aの他方には第6アー
ム16の下端が固定されている。第6アーム16の上端
には回転関節である第7関節17aの下側が固定されて
おり、第7関節17aの上側には第7アーム17の下端
が固定されている。第7アーム17の先端には手先30
が固定されている。即ち、第7関節17aは手先の回転
を制御する。
第5関節15aの下側が固定されている。第5関節15
aの上側には第5アームの下端が固定されている。第5
アームの上端には屈曲関節である第6関節16aの一方
が固定されており、第6関節16aの他方には第6アー
ム16の下端が固定されている。第6アーム16の上端
には回転関節である第7関節17aの下側が固定されて
おり、第7関節17aの上側には第7アーム17の下端
が固定されている。第7アーム17の先端には手先30
が固定されている。即ち、第7関節17aは手先の回転
を制御する。
【0011】尚、次の表1には関節角θi に対するリン
ク間距離di とねじれ角αi とリンク長ai との対応関
係が示されている。
ク間距離di とねじれ角αi とリンク長ai との対応関
係が示されている。
【0012】
【表1】
【0013】ここで、マニピュレータ10の各関節11
a〜17aのうち、一個の関節を冗長自由度制御用関節
として割り当てる。ここでは、第3関節13aを冗長自
由度制御用関節とする。それ以外の6個の関節11a,
12a,14a,15a,16a,17aを手先運動制
御用関節として割り当てる。この6個の手先運動制御用
関節11a,12a,14a,15a,16a,17a
によって6自由度を持つ手先の運動が決まる。
a〜17aのうち、一個の関節を冗長自由度制御用関節
として割り当てる。ここでは、第3関節13aを冗長自
由度制御用関節とする。それ以外の6個の関節11a,
12a,14a,15a,16a,17aを手先運動制
御用関節として割り当てる。この6個の手先運動制御用
関節11a,12a,14a,15a,16a,17a
によって6自由度を持つ手先の運動が決まる。
【0014】そして図10に示すように、以下の制御を
行う。
行う。
【0015】[ステップS21]:現在の関節角θ1 〜
θ7 を検出する。
θ7 を検出する。
【0016】[ステップS22]:現在の手先位置・姿
勢を計算する。
勢を計算する。
【0017】この様に手先位置・姿勢が決まると、肩
(第2関節)、肘(第4関節)及び手首(第6関節)の
成す三角形は一意に決まる。この三角形の肘位置での角
度がθ 4 であり、次の式(1)によって示すことが出来
る。
(第2関節)、肘(第4関節)及び手首(第6関節)の
成す三角形は一意に決まる。この三角形の肘位置での角
度がθ 4 であり、次の式(1)によって示すことが出来
る。
【0018】
【数1】
【0019】この様に肘位置での角度θ4 を求めたの
ち、次に、肩(第2関節)位置と手首(第6関節)位置
の座標変換関係からθ1 ,θ2 ,θ3 の関係式を次式の
ように求める。
ち、次に、肩(第2関節)位置と手首(第6関節)位置
の座標変換関係からθ1 ,θ2 ,θ3 の関係式を次式の
ように求める。
【0020】
【数2】
【0021】上記の数式(2a)〜(2c)にはθ5 〜
θ7 は含まれていないが、θ4 が既に求められているの
で結局未知数はθ1 〜θ3 の三つである。
θ7 は含まれていないが、θ4 が既に求められているの
で結局未知数はθ1 〜θ3 の三つである。
【0022】しかしながら、これらの関係式(2a)〜
(2c)は余弦定理関係を満たすので実質的には二つの
関係式が存在することとなり、任意に取り得る変数が存
在しこの関係式(2a)〜(2c)だけでは関節角度θ
1 〜θ3 を求めることは出来ない。このθ1 〜θ3 がア
ームの冗長性を表している。
(2c)は余弦定理関係を満たすので実質的には二つの
関係式が存在することとなり、任意に取り得る変数が存
在しこの関係式(2a)〜(2c)だけでは関節角度θ
1 〜θ3 を求めることは出来ない。このθ1 〜θ3 がア
ームの冗長性を表している。
【0023】[ステップS23]:第3関節をパラメー
タ化する。上記のようにパラメータが冗長であるので、
ここで第3関節の角度θ3 をパラメータとする。これは
上述したように6自由度の場合には第3関節13aがな
くそれでも6自由度あれば一定の動きについてはマニピ
ュレータとして充分であるからである。
タ化する。上記のようにパラメータが冗長であるので、
ここで第3関節の角度θ3 をパラメータとする。これは
上述したように6自由度の場合には第3関節13aがな
くそれでも6自由度あれば一定の動きについてはマニピ
ュレータとして充分であるからである。
【0024】[ステップS24]:第3関節を固定し逆
座標変換式(逆運動学方程式)から各関節角を計算す
る。
座標変換式(逆運動学方程式)から各関節角を計算す
る。
【0025】上記の様に関節角θ3 をパラメータとして
値を固定すると式(2c)より次のように関節角θ1 が
求められる。
値を固定すると式(2c)より次のように関節角θ1 が
求められる。
【0026】
【数3】
【0027】更に第2関節の関節角度θ2 は次の様にな
る。
る。
【0028】
【数4】
【0029】そして更に、肘位置にある座標系から見た
手先の位置・姿勢の関係から関節角θ5 及びθ6 をそれ
ぞれ次式の様にして求めることができる。
手先の位置・姿勢の関係から関節角θ5 及びθ6 をそれ
ぞれ次式の様にして求めることができる。
【0030】
【数5】
【0031】
【数6】
【0032】更には手首位置にある座標系から見た手先
の位置・姿勢の関係から関節角θ7を次式の様に求める
ことができる。
の位置・姿勢の関係から関節角θ7を次式の様に求める
ことができる。
【0033】
【数7】
【0034】ここで、上記の式(5)〜(7)における
ベクトル成分「a」ついて簡単に説明すると、まず図9
に示した7自由度マニピュレータの各関節11a〜17
aにおける変換行列は次の式のように表される。
ベクトル成分「a」ついて簡単に説明すると、まず図9
に示した7自由度マニピュレータの各関節11a〜17
aにおける変換行列は次の式のように表される。
【0035】
【数8】
【0036】従って、上記の様に肘位置(第4関節)に
ある座標系からみた手先位置・姿勢(第7関節)の座標
系は、次式の様に表される。
ある座標系からみた手先位置・姿勢(第7関節)の座標
系は、次式の様に表される。
【0037】
【数9】
【0038】ここで、上記の座標変換行列4T7 を次の
式の様に置き換える。
式の様に置き換える。
【0039】
【数10】
【0040】従って、この場合、第4関節の座標からみ
た第7関節の座標系のz軸の方向は次の式の様になる。
た第7関節の座標系のz軸の方向は次の式の様になる。
【0041】
【数11】
【0042】この様なベクトルのx,y,z軸方向の成
分が求められると上記の式(5)及び(6)における4
a7X〜4a7Zが求められ、これを代入する事によって関
節角度θ5 及びθ6 が求められる。
分が求められると上記の式(5)及び(6)における4
a7X〜4a7Zが求められ、これを代入する事によって関
節角度θ5 及びθ6 が求められる。
【0043】同様にして式(7)における6a7X及び6a
7Zも求められ、関節角度θ7 を求めることが出来る。
7Zも求められ、関節角度θ7 を求めることが出来る。
【0044】[ステップS25]:アームを動かす。こ
の様にして求められた各関節角に対して制御系が各アー
ムを動かすことによってステップS27で与えられた手
先位置・姿勢を実現することが出来る。
の様にして求められた各関節角に対して制御系が各アー
ムを動かすことによってステップS27で与えられた手
先位置・姿勢を実現することが出来る。
【0045】このように、7自由度の各関節角θ1 〜θ
7 を与えると座標変換式によって手先の位置・姿勢が求
まるのに対し、この座標変換式が非線型(不可逆)であ
るために手先の位置・姿勢を与えても各関節角度θ1 〜
θ7 は一意には決まらない。従って、上記の様にそのう
ちのθ3 のみを固定のパラメータとして演算すれば、そ
の他の関節角θ1 ,θ2 ,θ4 ,θ5 ,θ6 ,θ7 が得
られることを意味している。
7 を与えると座標変換式によって手先の位置・姿勢が求
まるのに対し、この座標変換式が非線型(不可逆)であ
るために手先の位置・姿勢を与えても各関節角度θ1 〜
θ7 は一意には決まらない。従って、上記の様にそのう
ちのθ3 のみを固定のパラメータとして演算すれば、そ
の他の関節角θ1 ,θ2 ,θ4 ,θ5 ,θ6 ,θ7 が得
られることを意味している。
【0046】換言すれば、7自由度以上のマニピュレー
タでは、上記の様な手先の位置・姿勢の値から関節角度
への逆変換に任意性が生じ、同一の手先の位置・姿勢を
取る関節角度はある制約条件を満たしながら無限に存在
する。冗長マニピュレータは、この関節角度の任意性を
利用してマニピュレータの機構的制限(特異点や関節リ
ミット等)の回避や腕全体での障害物回避を行うために
用いられている。
タでは、上記の様な手先の位置・姿勢の値から関節角度
への逆変換に任意性が生じ、同一の手先の位置・姿勢を
取る関節角度はある制約条件を満たしながら無限に存在
する。冗長マニピュレータは、この関節角度の任意性を
利用してマニピュレータの機構的制限(特異点や関節リ
ミット等)の回避や腕全体での障害物回避を行うために
用いられている。
【0047】
【発明が解決しようとする課題】しかしながら上記の様
な従来の制御装置では、冗長自由度の制御指令値を一つ
の変数、例えば第3関節の角度変数のθ3 で表していた
ため、冗長自由度が使えない手先位置・姿勢領域(図5
の網掛領域A)が存在し、冗長自由度を充分に活用する
事ができなかった。。
な従来の制御装置では、冗長自由度の制御指令値を一つ
の変数、例えば第3関節の角度変数のθ3 で表していた
ため、冗長自由度が使えない手先位置・姿勢領域(図5
の網掛領域A)が存在し、冗長自由度を充分に活用する
事ができなかった。。
【0048】これを計算機シミュレーションにより確か
めると、図8(a)に示す様に、肘位置(肩位置、肘位
置及び手首位置からなる三角形が鉛直平面となす角度)
を動かしながら肘が延びた状態から折り畳まった状態に
なる手先位置軌道を与えたときに、冗長制御パラメータ
をθ3 のみを用いて行うと、時刻0.5〜0.83秒の
間では関節角度θ1 及びθ2 が図示の如く求まらず、肘
位置を動かすことが出来ない事が示されている。
めると、図8(a)に示す様に、肘位置(肩位置、肘位
置及び手首位置からなる三角形が鉛直平面となす角度)
を動かしながら肘が延びた状態から折り畳まった状態に
なる手先位置軌道を与えたときに、冗長制御パラメータ
をθ3 のみを用いて行うと、時刻0.5〜0.83秒の
間では関節角度θ1 及びθ2 が図示の如く求まらず、肘
位置を動かすことが出来ない事が示されている。
【0049】従って本発明は、回転関節より成る7自由
度の関節アームの関節角度を各軸制御部により制御する
マニピュレータ制御装置において、どの様な手先位置・
姿勢領域についても肘位置を動かすことが出来るように
することを目的とする。
度の関節アームの関節角度を各軸制御部により制御する
マニピュレータ制御装置において、どの様な手先位置・
姿勢領域についても肘位置を動かすことが出来るように
することを目的とする。
【0050】
【課題を解決するための手段】上記の目的を達成するた
め、本発明に係るマニピュレータ制御装置においては、
図1に原理的に示すように、与えられた手先の位置・姿
勢の指令値に基づいて該位置・姿勢が冗長パラメータの
指令値の領域に在るか否かにより制御パラメータを決定
し該制御パラメータを用いて各関節角度を実時間で逆座
標変換する逆座標変換部3を備えたことを特徴としてい
る。
め、本発明に係るマニピュレータ制御装置においては、
図1に原理的に示すように、与えられた手先の位置・姿
勢の指令値に基づいて該位置・姿勢が冗長パラメータの
指令値の領域に在るか否かにより制御パラメータを決定
し該制御パラメータを用いて各関節角度を実時間で逆座
標変換する逆座標変換部3を備えたことを特徴としてい
る。
【0051】また上記の逆座標変換部3は、与えられた
手先の位置・姿勢の指令値に基づいて台座原点に対する
作業座標平面上の手首位置を求め、該手首位置が該手首
位置と3軸を通る直線との距離より大きいか小さいかに
応じて第1関節又は第3関節の角度を該冗長パラメータ
として各関節角度を逆座標変換することができる。
手先の位置・姿勢の指令値に基づいて台座原点に対する
作業座標平面上の手首位置を求め、該手首位置が該手首
位置と3軸を通る直線との距離より大きいか小さいかに
応じて第1関節又は第3関節の角度を該冗長パラメータ
として各関節角度を逆座標変換することができる。
【0052】
【作用】上記の様に従来のマニピュレータ制御装置では
一つの冗長制御パラメータのみを用いて制御を行ってい
たため冗長自由度が使えない手先位置・姿勢領域が存在
していた。
一つの冗長制御パラメータのみを用いて制御を行ってい
たため冗長自由度が使えない手先位置・姿勢領域が存在
していた。
【0053】そこで本発明では図1に示す逆座標変換部
3において図2に示すような処理を実時間で行う。
3において図2に示すような処理を実時間で行う。
【0054】即ち、手先の位置・姿勢の指令位置を与え
た後、この位置・姿勢が冗長制御パラメータφi の領域
にあるか否かを判定する(ステップS1)。
た後、この位置・姿勢が冗長制御パラメータφi の領域
にあるか否かを判定する(ステップS1)。
【0055】そして、この冗長制御パラメータφi の領
域にあることが判ったときには制御パラメータをそのパ
ラメータφi とし(ステップS3)、このφi をパラメ
ータとして逆座標変換をφi の指令値に基づいて実行す
る(ステップS4)ことにより各関節角度θを求めるこ
とが出来る。
域にあることが判ったときには制御パラメータをそのパ
ラメータφi とし(ステップS3)、このφi をパラメ
ータとして逆座標変換をφi の指令値に基づいて実行す
る(ステップS4)ことにより各関節角度θを求めるこ
とが出来る。
【0056】またステップS1において位置・姿勢が冗
長制御パラメータφi の領域にないと判定されたときに
は、この“i”を変更して別の冗長制御パラメータφi
に対して位置・姿勢がその領域にあるか否かを判定す
る。(ステップS2)。
長制御パラメータφi の領域にないと判定されたときに
は、この“i”を変更して別の冗長制御パラメータφi
に対して位置・姿勢がその領域にあるか否かを判定す
る。(ステップS2)。
【0057】例えばマニピュレータが7自由度の場合に
はステップS1における冗長制御パラメータφi は図9
に示した関節角度θ1 及びθ3 となる。
はステップS1における冗長制御パラメータφi は図9
に示した関節角度θ1 及びθ3 となる。
【0058】そしてこれらの制御パラメータθ1 又はθ
3 を選択するにあたっては、与えられた位置・姿勢の指
令値に基づいて求められる台座原点に対する作業平面上
の手首位置がこの手首位置と3軸を通る直線との距離よ
り大きいか小さいかに対応して決められる。
3 を選択するにあたっては、与えられた位置・姿勢の指
令値に基づいて求められる台座原点に対する作業平面上
の手首位置がこの手首位置と3軸を通る直線との距離よ
り大きいか小さいかに対応して決められる。
【0059】従ってθ1 をパラメータとする領域の場合
にはそのθ1 の値を固定値として逆座標変換をすれば各
関節角度θを求めることが出来、同様にθ3 の領域の場
合にはθ3 を固定値として逆座標変換を行うことにより
各関節角度θを得ることが出来る。
にはそのθ1 の値を固定値として逆座標変換をすれば各
関節角度θを求めることが出来、同様にθ3 の領域の場
合にはθ3 を固定値として逆座標変換を行うことにより
各関節角度θを得ることが出来る。
【0060】この様に本発明では、冗長マニピュレータ
を余分な(冗長な)関節角度をパラメータ化する事によ
り逆座標変換を6自由度の場合に縮退させ、その際、冗
長自由度を動かすためのパラメータを手先の位置・姿勢
により切り換えることにより手先の位置・姿勢に制限さ
れずにマニピュレータの冗長自由度を制御することが出
来る。
を余分な(冗長な)関節角度をパラメータ化する事によ
り逆座標変換を6自由度の場合に縮退させ、その際、冗
長自由度を動かすためのパラメータを手先の位置・姿勢
により切り換えることにより手先の位置・姿勢に制限さ
れずにマニピュレータの冗長自由度を制御することが出
来る。
【0061】
【実施例】以下、本発明の一実施例を図面に基づいて説
明する。図2にマニピュレータの制御系のハードウェア
のブロック図を示す。制御系はワークステーション20
0、制御装置20及び制御されるマニピュレータ10か
ら構成され実時間で処理される。なお、マニピュレータ
10は7自由度であり、7個の関節を有するが、図2で
は説明を簡単にするために、1個の関節を駆動するモー
タのみを示し、制御系も1個の関節を制御する要素のみ
を図示している。
明する。図2にマニピュレータの制御系のハードウェア
のブロック図を示す。制御系はワークステーション20
0、制御装置20及び制御されるマニピュレータ10か
ら構成され実時間で処理される。なお、マニピュレータ
10は7自由度であり、7個の関節を有するが、図2で
は説明を簡単にするために、1個の関節を駆動するモー
タのみを示し、制御系も1個の関節を制御する要素のみ
を図示している。
【0062】制御装置20はボード計算機21,22を
中心に構成されている。ボード計算機21,22は32
ビットのRISCを使用している。ボード計算機21,
22には、バス21aを介して、A/D変換器23、D
IO(入出力インターフェース)24、D/A変換器2
5、カウンタ26、A/D変換器27が接続されてい
る。
中心に構成されている。ボード計算機21,22は32
ビットのRISCを使用している。ボード計算機21,
22には、バス21aを介して、A/D変換器23、D
IO(入出力インターフェース)24、D/A変換器2
5、カウンタ26、A/D変換器27が接続されてい
る。
【0063】ワークステーション200とボード計算機
21,22は通信回線201によって結合されており、
ワークステーション200からはボード計算機21,2
2にマニピュレータ10の動作プログラム及び必要なデ
ータが送られる。ボード計算機21,22ではこの動作
プログラムに従ってマニピュレータ10を制御する。
21,22は通信回線201によって結合されており、
ワークステーション200からはボード計算機21,2
2にマニピュレータ10の動作プログラム及び必要なデ
ータが送られる。ボード計算機21,22ではこの動作
プログラムに従ってマニピュレータ10を制御する。
【0064】ボード計算機21はマニピュレータ10の
手先30の位置、速度の制御及び各関節角の位置、速
度、加速度を計算する。また、後述する冗長関節角の制
御等の全体の制御を行う。各関節角の位置、速度、加速
度及び冗長関節角のデータはボード計算機22に送られ
る。ボード計算機22ではこれらのデータを受け取り、
マニピュレータ10の各関節の位置、速度及び加速度を
制御する。
手先30の位置、速度の制御及び各関節角の位置、速
度、加速度を計算する。また、後述する冗長関節角の制
御等の全体の制御を行う。各関節角の位置、速度、加速
度及び冗長関節角のデータはボード計算機22に送られ
る。ボード計算機22ではこれらのデータを受け取り、
マニピュレータ10の各関節の位置、速度及び加速度を
制御する。
【0065】A/D変換器23はマニピュレータ10の
各関節の力検出器からの出力をディジタル値に変換す
る。DIO24はマニピュレータ10とボード計算機2
1,22との間の入出力信号の授受を行うインタフェー
スである。D/A変換器25はボード計算機22からの
各関節の速度指令等を受け取り、モータドライバ28に
送り、モータドライバ28はこの指令に従ってモータ1
0Aを駆動する。
各関節の力検出器からの出力をディジタル値に変換す
る。DIO24はマニピュレータ10とボード計算機2
1,22との間の入出力信号の授受を行うインタフェー
スである。D/A変換器25はボード計算機22からの
各関節の速度指令等を受け取り、モータドライバ28に
送り、モータドライバ28はこの指令に従ってモータ1
0Aを駆動する。
【0066】モータ10Aにはエンコーダ10Bが同軸
に結合されており、モータ10Aの回転位置をフィード
バックする。すなわち、エンコーダ10Bはモータの回
転に応じてパルスを発生する。このパルスはカウンタ2
6でカウントされ、ボード計算機21,22はこのカウ
ンタ26を読み取ることにより、モータ10Aの回転位
置を認識できる。また、このパルスはF/V(周波数/
電圧)変換器29によって電圧に変換され、A/D変換
器27に送られる。
に結合されており、モータ10Aの回転位置をフィード
バックする。すなわち、エンコーダ10Bはモータの回
転に応じてパルスを発生する。このパルスはカウンタ2
6でカウントされ、ボード計算機21,22はこのカウ
ンタ26を読み取ることにより、モータ10Aの回転位
置を認識できる。また、このパルスはF/V(周波数/
電圧)変換器29によって電圧に変換され、A/D変換
器27に送られる。
【0067】そして、A/D変換器27によって、ディ
ジタル値に変換される。ボード計算機21,22はこの
ディジタル値を読み取ることにより、モータ10Aの速
度、言い換えれば各関節の速度を認識することができ
る。
ジタル値に変換される。ボード計算機21,22はこの
ディジタル値を読み取ることにより、モータ10Aの速
度、言い換えれば各関節の速度を認識することができ
る。
【0068】勿論、図2では関節は1個のみで示したの
で、A/D変換器23、DIO24、D/A変換器2
5、カウンタ26、A/D変換器27等は関節の数に応
じた数のみ必要である。ただし、DIO24等は共通に
使用するように構成することもできる。また、関節を駆
動するモータ10Aも実際には7個必要であり、モータ
ドライバ28、F/V変換器29についても同様であ
る。
で、A/D変換器23、DIO24、D/A変換器2
5、カウンタ26、A/D変換器27等は関節の数に応
じた数のみ必要である。ただし、DIO24等は共通に
使用するように構成することもできる。また、関節を駆
動するモータ10Aも実際には7個必要であり、モータ
ドライバ28、F/V変換器29についても同様であ
る。
【0069】また、図1に示したアーム1は図3のマニ
ピュレータ10に対応し、各軸制御部2は図3のモータ
ドライバ28及びモータ10aに対応し、更に逆座標変
換部3は制御装置20に対応している。
ピュレータ10に対応し、各軸制御部2は図3のモータ
ドライバ28及びモータ10aに対応し、更に逆座標変
換部3は制御装置20に対応している。
【0070】以下、上記の実施例の動作を説明する。こ
の動作は実時間で行われる。尚、本発明の実施例では上
述した式(1)〜(11)は本発明においても同様にし
て用いられるものであるので、本発明の実施例の動作を
説明する図4のフローチャートは概略的に示されてい
る。
の動作は実時間で行われる。尚、本発明の実施例では上
述した式(1)〜(11)は本発明においても同様にし
て用いられるものであるので、本発明の実施例の動作を
説明する図4のフローチャートは概略的に示されてい
る。
【0071】まず図4において、手先の位置・姿勢の指
令値xが与えられると、この指令値xより手首位置(0x
5,0y5,0z5 )を求める(ステップS11)。
令値xが与えられると、この指令値xより手首位置(0x
5,0y5,0z5 )を求める(ステップS11)。
【0072】そしてこの手首位置から式(1)に示した
様に肩と肘と手首でなす三角形の肘位置での角度θ4 を
求めることができ、更に肩位置と手首位置の座標変換関
係から式(2a)〜(2c)に示す様に関節角度θ1 〜
θ3 の関係式を求めることができる。
様に肩と肘と手首でなす三角形の肘位置での角度θ4 を
求めることができ、更に肩位置と手首位置の座標変換関
係から式(2a)〜(2c)に示す様に関節角度θ1 〜
θ3 の関係式を求めることができる。
【0073】そしてこの3つの関係式においては上述し
たように未知数がθ1 〜θ3 の3つあるのに対し実質上
の関係式は余弦定理関係により2つとなるのでパラメー
タがアームの冗長性を表していることになる。
たように未知数がθ1 〜θ3 の3つあるのに対し実質上
の関係式は余弦定理関係により2つとなるのでパラメー
タがアームの冗長性を表していることになる。
【0074】ここで式(2c)を変形すると次式の様に
なる。
なる。
【0075】
【数12】
【0076】また、手先の位置・姿勢を決めれば上記の
様に0x5,0y5 及びθ4 が決まるから、式(12)はθ1
とθ3 の関数とみなすことができ、手先を固定した状態
での肘の動きに対応するので、θ1 又はθ3 により肘を
制御出来ることが判る。
様に0x5,0y5 及びθ4 が決まるから、式(12)はθ1
とθ3 の関数とみなすことができ、手先を固定した状態
での肘の動きに対応するので、θ1 又はθ3 により肘を
制御出来ることが判る。
【0077】そこで、θ1 とθ3 のどちらを冗長制御パ
ラメータとするかは、以下の様に手先の位置・姿勢によ
って選択する。
ラメータとするかは、以下の様に手先の位置・姿勢によ
って選択する。
【0078】式(12)における左辺の√(0x5 2+
0y5 2)は、図6(a)に示すように原点と手首30の位
置の作業座標平面(xy平面)上での距離であり、式
(12)のr(1−cosθ4 )+L2sinθ4 は同図
(b)に示すようにθ1 〜θ3 の3軸を通る直線との距
離であるので、肘が相対的に延びている時は次式の様に
なる。
0y5 2)は、図6(a)に示すように原点と手首30の位
置の作業座標平面(xy平面)上での距離であり、式
(12)のr(1−cosθ4 )+L2sinθ4 は同図
(b)に示すようにθ1 〜θ3 の3軸を通る直線との距
離であるので、肘が相対的に延びている時は次式の様に
なる。
【0079】
【数13】
【0080】また、相対的に折り畳まっているときは次
式のようになる。
式のようになる。
【0081】
【数14】
【0082】ここで、θ1 を制御パラメータとすると、
式(12)から、θ3 は次式のようになる。
式(12)から、θ3 は次式のようになる。
【0083】
【数15】
【0084】しかし、手先の位置が式(13)で示され
る関係の場合には、θ1 は次式のようになる。
る関係の場合には、θ1 は次式のようになる。
【0085】
【数16】
【0086】従ってθ1 は図5の領域Bのみ可能であ
り、網掛領域Aについては制限され、θ1 で連続して冗
長自由度を制御することは出来ない。この不連続性は図
7(c)に示す通りである。
り、網掛領域Aについては制限され、θ1 で連続して冗
長自由度を制御することは出来ない。この不連続性は図
7(c)に示す通りである。
【0087】そこで、手先位置が式(13)に示す関係
の時には次式によりθ3 を冗長制御パラメータとする。
の時には次式によりθ3 を冗長制御パラメータとする。
【0088】
【数17】
【0089】これは図7(a)に示す状態となり、θ3
は連続していることが判る。
は連続していることが判る。
【0090】逆に手先位置・姿勢が式(14)に示す状
態の時には、θ3 を冗長制御パラメータとすると次式の
ように制約され、θ3 で制御することは出来ない(図7
(c)参照)。
態の時には、θ3 を冗長制御パラメータとすると次式の
ように制約され、θ3 で制御することは出来ない(図7
(c)参照)。
【0091】
【数18】
【0092】従って、図4のフローチャートに戻って手
先の位置・姿勢が式(13)の状態にあるか又は式(1
4)の状態にあるかを判定し(ステップS12)、式
(13)の関係にある場合にはθ1 を制御パラメータと
して逆座標変換式によりθ2 ,θ3 ,θ5 ,θ6 ,θ7
を計算する(ステップS13)。
先の位置・姿勢が式(13)の状態にあるか又は式(1
4)の状態にあるかを判定し(ステップS12)、式
(13)の関係にある場合にはθ1 を制御パラメータと
して逆座標変換式によりθ2 ,θ3 ,θ5 ,θ6 ,θ7
を計算する(ステップS13)。
【0093】また、式(14)に示す関係のときにはθ
3 で制御すればよいので、このθ3をパラメータとした
逆座標変換式によりθ1 ,θ2 ,θ5 ,θ6 ,θ7 を計
算して全ての関節角度θ1 〜θ7 が得られることとな
る。
3 で制御すればよいので、このθ3をパラメータとした
逆座標変換式によりθ1 ,θ2 ,θ5 ,θ6 ,θ7 を計
算して全ての関節角度θ1 〜θ7 が得られることとな
る。
【0094】尚、θ1 ,θ2 ,θ5 〜θ7 の角度につい
ては上述した式(3)〜(7)によって求められること
になる。
ては上述した式(3)〜(7)によって求められること
になる。
【0095】また、図7(b)に示したグラフは図5に
おける斜線部分とそれ以外の部分との境界線の上を手首
が動く場合の軌跡を示している。
おける斜線部分とそれ以外の部分との境界線の上を手首
が動く場合の軌跡を示している。
【0096】次に、上記の様に冗長制御パラメータをθ
1 とθ3 との間で切り換えて上手く制御出来るかを計算
機シュミレーションにより確かめた図が図8(b)に示
されている。
1 とθ3 との間で切り換えて上手く制御出来るかを計算
機シュミレーションにより確かめた図が図8(b)に示
されている。
【0097】これによれば、時刻0.5秒のところでパ
ラメータをθ3 からθ1 へ切り換えた時には連続して肘
位置を動かすことができることが示されており、同図
(a)に示す従来例の様に時刻0.5〜0.83秒の間
でθ1 及びθ2 が求まらず肘位置を動かすことができな
いという状態が無くなっていることが判る。
ラメータをθ3 からθ1 へ切り換えた時には連続して肘
位置を動かすことができることが示されており、同図
(a)に示す従来例の様に時刻0.5〜0.83秒の間
でθ1 及びθ2 が求まらず肘位置を動かすことができな
いという状態が無くなっていることが判る。
【0098】
【発明の効果】以上説明したように、本発明に係るマニ
ピュレータ制御装置によれば、与えられた手先の位置・
姿勢の指令値が冗長パラメータの指令値の領域にあるか
否かにより制御パラメータを決定しこの制御パラメータ
を用いて各関節角度を逆座標変換するように構成したの
で、手先の位置・姿勢に制限されずにマニピュレータの
冗長自由度をオフラインまたはオンラインにより制御す
ることが可能となる。
ピュレータ制御装置によれば、与えられた手先の位置・
姿勢の指令値が冗長パラメータの指令値の領域にあるか
否かにより制御パラメータを決定しこの制御パラメータ
を用いて各関節角度を逆座標変換するように構成したの
で、手先の位置・姿勢に制限されずにマニピュレータの
冗長自由度をオフラインまたはオンラインにより制御す
ることが可能となる。
【図1】本発明に係るマニピュレータ制御装置の構成原
理を示したブロック図である。
理を示したブロック図である。
【図2】本発明に係るマニピュレータ制御装置の動作原
理を示したフローチャート図である。
理を示したフローチャート図である。
【図3】本発明に係るマニピュレータ制御装置の実施例
を示したブロック図である。
を示したブロック図である。
【図4】本発明に係るマニピュレータ制御装置に用いら
れる逆座標変換部の実施例を示したフローチャート図で
ある。
れる逆座標変換部の実施例を示したフローチャート図で
ある。
【図5】本発明に係るマニピュレータ制御装置によって
肘を動かすことができる領域を説明するための図であ
る。
肘を動かすことができる領域を説明するための図であ
る。
【図6】本発明に係るマニピュレータ制御装置において
肘の伸び縮みを説明するための図である。
肘の伸び縮みを説明するための図である。
【図7】本発明に係るマニピュレータ制御装置における
第1関節の角度θ1 と第3関節の角度θ3 との関係を示
したグラフ図である。
第1関節の角度θ1 と第3関節の角度θ3 との関係を示
したグラフ図である。
【図8】従来例及び本発明におけるパラメータの相違を
説明するための計算機シミュレーション図である。
説明するための計算機シミュレーション図である。
【図9】本発明に係るマニピュレータ制御装置における
7自由度のマニピュレータの一般的な構成を示した図で
ある。
7自由度のマニピュレータの一般的な構成を示した図で
ある。
【図10】従来技術の動作を説明したフローチャート図
である。
である。
1 アーム 2 各軸制御部 3 逆座標変換部 10a,11〜17 アーム 11a〜17a 関節 L0〜L3 リンク間距離 r リンク長 θ1 〜θ7 関節角度 30 手首 尚、図中、同一符号は同一または相当部分を示す。
Claims (2)
- 【請求項1】 回転関節より成る7自由度以上の関節ア
ーム(1)の関節角度を各軸制御部(2)により制御す
るマニピュレータ制御装置において、 与えられた手先の位置・姿勢の指令値に基づいて該位置
・姿勢が冗長パラメータの指令値の領域に在るか否かに
より制御パラメータを決定し該制御パラメータを用いて
各関節角度を実時間で逆座標変換する逆座標変換部
(3)を備えたことを特徴とするマニピュレータ制御装
置。 - 【請求項2】 該逆座標変換部(3)が、該与えられた
手先の位置・姿勢の指令値に基づいて台座原点に対する
作業座標平面上の手首位置を求め、該手首位置が該手首
位置と3軸を通る直線との距離より大きいか小さいかに
応じて第1関節又は第3関節の角度を該冗長パラメータ
として各関節角度を逆座標変換することを特徴とした請
求項1に記載のマニピュレータ制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27400393A JPH07132474A (ja) | 1993-11-02 | 1993-11-02 | マニピュレータ制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27400393A JPH07132474A (ja) | 1993-11-02 | 1993-11-02 | マニピュレータ制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07132474A true JPH07132474A (ja) | 1995-05-23 |
Family
ID=17535599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27400393A Withdrawn JPH07132474A (ja) | 1993-11-02 | 1993-11-02 | マニピュレータ制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07132474A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103252779A (zh) * | 2012-02-16 | 2013-08-21 | 精工爱普生株式会社 | 机器人控制装置、机器人控制方法及程序以及机器人系统 |
US8761932B2 (en) | 2000-12-28 | 2014-06-24 | C.H.I. Development Mgmt. Ltd. Xxiv, Llc | Automation equipment control system |
JP2017170571A (ja) * | 2016-03-24 | 2017-09-28 | セイコーエプソン株式会社 | ロボット、ロボット制御装置、及びロボットシステム |
-
1993
- 1993-11-02 JP JP27400393A patent/JPH07132474A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8761932B2 (en) | 2000-12-28 | 2014-06-24 | C.H.I. Development Mgmt. Ltd. Xxiv, Llc | Automation equipment control system |
CN103252779A (zh) * | 2012-02-16 | 2013-08-21 | 精工爱普生株式会社 | 机器人控制装置、机器人控制方法及程序以及机器人系统 |
US8977392B2 (en) | 2012-02-16 | 2015-03-10 | Seiko Epson Corporation | Robot control device, robot control method, robot control program, and robot system |
JP2017170571A (ja) * | 2016-03-24 | 2017-09-28 | セイコーエプソン株式会社 | ロボット、ロボット制御装置、及びロボットシステム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3207728B2 (ja) | 冗長マニピュレータの制御方法 | |
JP4273335B2 (ja) | ロボットアーム | |
JPS591180A (ja) | 制御された経路の運動を行なうマニピユレ−タ | |
CN106844951B (zh) | 基于分段几何法求解超冗余机器人逆运动学的方法及系统 | |
CN111791234A (zh) | 一种狭窄空间内多机器人空间工作位置防撞控制算法 | |
JPH06143172A (ja) | 冗長マニピュレータの制御方式 | |
JPH07132474A (ja) | マニピュレータ制御装置 | |
JP2019093487A (ja) | ロボットの制御装置及びロボットの逆変換処理方法 | |
JPH0693209B2 (ja) | ロボツトの円弧補間姿勢制御装置 | |
JP4230196B2 (ja) | 位置決め演算方法および位置決め演算装置 | |
JPH05177563A (ja) | マスタスレーブマニピュレータの制御方法 | |
JP4647919B2 (ja) | 制御方法および制御装置 | |
JP3904036B2 (ja) | 多指多関節ハンドの制御装置 | |
JPS63289606A (ja) | 冗長自由度形ロボット | |
JPH0468646B2 (ja) | ||
CN114762973B (zh) | 模块化机器人装置和用以操作模块化机器人装置的方法 | |
JPS6024603A (ja) | ロボツトの制御方法 | |
CN113733052B (zh) | 一种全向移动机器人及其控制方法 | |
JP2019093488A (ja) | ロボットの制御装置及びロボットの逆変換処理方法 | |
JP2019093486A (ja) | ロボットの制御装置及びロボットの逆変換処理方法 | |
KR970001658B1 (ko) | 회전다관절 로보트의 손목자세 보간방법 | |
CN116852363A (zh) | 连续体机械臂末端位姿控制方法、计算机设备及可读存储介质 | |
JPH06226667A (ja) | 7軸マニピュレータの制御方法 | |
JP2024035230A (ja) | 多関節ロボット、多関節ロボットの制御方法、ロボットシステム、及び、物品の製造方法 | |
JP2023173622A (ja) | 多関節ロボット、多関節ロボットの制御方法、ロボットシステム、及び、物品の製造方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20010130 |