JP4156544B2 - 出力分配算出装置 - Google Patents
出力分配算出装置 Download PDFInfo
- Publication number
- JP4156544B2 JP4156544B2 JP2004062620A JP2004062620A JP4156544B2 JP 4156544 B2 JP4156544 B2 JP 4156544B2 JP 2004062620 A JP2004062620 A JP 2004062620A JP 2004062620 A JP2004062620 A JP 2004062620A JP 4156544 B2 JP4156544 B2 JP 4156544B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- value
- inner product
- output
- vectors
- 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.)
- Expired - Lifetime
Links
- 238000004364 calculation method Methods 0.000 title claims description 74
- 238000009826 distribution Methods 0.000 title claims description 60
- 239000013598 vector Substances 0.000 claims description 155
- 238000000034 method Methods 0.000 claims description 26
- 239000011159 matrix material Substances 0.000 claims description 23
- 230000009977 dual effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 3
- 206010034719 Personality change Diseases 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 231100000989 no adverse effect Toxicity 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
Images
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Description
ここで、Aはxからfを求めるM×Nの係数行列である。上述のようにN>Mの場合を考えると、与えられたfに対して式(101)を満たすxは一意ではなく、ある程度設定の自由度がある。そこで、この冗長自由度を利用して与えられた目的において最適となるようにxを決定することが考えられる。ここでは、個々のアクチュエータ出力を極力抑えることを目的とし、以下のような目的関数を設定する。
ここで、式(102)は式(101)を満たすxのうちで、各要素xiの絶対値の最大値が最小となるようなxを求めることを意味する。
図1は、この発明の実施の形態1による出力分配算出装置のブロック構成図である。
図の装置は、y*演算手段1、xm演算手段2、第1のxi演算手段3、第2のxi演算手段4からなる。y*演算手段1は、行列Aの第i列のM次元ベクトルをai(i=1,・・・N)として、全てのベクトルai(i=1,・・・N)との内積の絶対値の総和がある正の定数CとなるようなM次元ベクトルのうちで、ベクトルfとの内積の値が最大となるようなベクトルy*を求める機能部である。
本発明では、以下のようにモデル化された力あるいはトルク分配問題を考える。
f=Ax ・・・(1)
minx maxi|xi| ・・・(2)
ここで、fはM次元ベクトル、xはN次元ベクトル、AはM×N行列で、N>Mとする。xの各要素xi(i=1,・・・,N)は各アクチュエータの駆動力、あるいは駆動トルク等の出力を表し、fの各要素fi(i=1,・・・,M)はこれらアクチュエータの駆動力あるいはトルクの合成により実現される力あるいはトルク等のシステム全体としての出力を表す。
全体として実現すべき力あるいはトルクfが与えられたときに、問題(1)、(2)の最適解となるようなアクチュエータの出力xを求めることができれば、全てのアクチュエータの出力を極力抑えることができ、fを実現する上で最も効率的と言える。
先ず、与えられたfに対し、y*演算手段1は、次のような問題の解を求める(ステップST1)。
maxy f・y ・・・(3)
制約条件:Σi=1 N|ai・y|=C ・・・(4)
ここで、f・yは、ベクトルfとyとの内積を表す。ai(i=1,・・・,N)は、行列Aの第i列であるM次元ベクトル、Σi=1 Nはi=1からi=Nまでの和を表す。Cは適当な正の定数、例えばC=1とする。問題(3)、(4)は、式(4)の制約条件を満たすyのうちで、fとの内積f・yの値が最大となるものを求めることを意味する。以下では、問題(3)、(4)をもとのミニマックス問題(1)、(2)に対して、双対問題と呼ぶ。双対問題の最適解を求めるための具体的な手法については、後に説明する。
xm=f・y*/C ・・・(5)
xmは、求められるアクチュエータへの力、あるいはトルクの分配において、力、あるいはトルクの絶対値の最大値となる。式(5)において、内積f・y*の値は双対問題(3)、(4)の目的関数値であるため、双対問題を解く過程で既に計算されている。式(5)の計算は実際にはそれをCで割る計算だけである。C=1としておけば、その計算も不要であり、ステップST2の計算はステップST1の計算と同時に行うことができる。
ここで、sign(t)はt>0のとき+1、t<0のとき−1、t=0のとき0となる符号関数である。ai・y*=0となるiに対してxi=0とするのは、単に記述の簡単化のためであり、実際はここで値を与える必要はない。0とする手順を省いた場合には、後の式(8)の右辺第2項において、Aとxとから対応する列、要素をそれぞれ除いておけばよい。
A(1)x(1)=f(1) ・・・(7)
ここで、f(1)は次式で与えられる。
f(1)=f−Ax ・・・(8)
図3は、実施の形態1に係る図2のフローチャートのステップST1のより詳細な動作を説明するものである。
y*=argmaxy∈Y|f・y| ・・・(9)
y*=sign(f・y*)y* ・・・(10)
ここで、argmaxy∈Y|f・y|は集合Yに含まれるyのうち、|f・y|が最大となるものを意味する。
y*=argmaxy∈Yf・y ・・・(9’)
これにより、Yを記憶するためのメモリ量は2倍に増え、内積f・yの計算回数も2倍になるが、プログラムの記述を簡単にすることはできる。
図4は、実施の形態1に係る図2のフローチャートのステップST4のより詳細な動作を説明するものである。
・・・(11)
ここで、上付きのTは行列の転置、−1は逆行列を表す。
N(1)≧Mであった場合、上述のように式(7)を満たすx(1)は一意ではないため、maxi|xi (1)|≦xmを満たす範囲内で、何らかの基準に従ってその値を決定する必要がある。アクチュエータ出力を極力抑えることを考えると、maxi|xi (1)|が最小になるように求めることが最適である。そこで、上記同様、次のような問題の最適解となるベクトルy=y(1)*を求める。
制約条件:Σi=1 N(1)|ai (1)・y|=C(1) ・・・(13)
y*・y=0 ・・・(14)
ここで、C(1)は適当な正の定数、例えばC(1)=1とする。
そこで、次のような問題を考える(これをk-部分問題と呼ぶことにする)。
f(k)=A(k)x(k) ・・・(15)
min maxi|xi (k)| ・・・(16)
最初のミニマックス問題(1)、(2)は形式的に0-部分問題と呼ぶことにする。即ち、f(0)=f、A(0)=A、x(0)=xとする。また、1-部分問題が上記で考えたx(1)を求める問題である。以下、k-部分問題の解x(k)を求める手順を、図面を用いて説明する。
k-部分問題(15)、(16)に対して、次のようにk-双対問題を考える。
k-双対問題:
maxy f(k)・y ・・・(17)
制約条件:Σi=1 N(k)|ai (k)・y|=C(k) ・・・(18)
y(j)*・y=0 (j=0、・・・、k−1) ・・・(19)
xm (k)=f(k)・y(k)*/C(k)・・・(20)
また、内積ai (k)・y(k)*が0でないiに対しては、xi (k)の値は、式(6)と同様に以下の式により求められる(ステップST103)。
xi (k)=sign(ai (k)・y(k)*)xm (k)
(i=1,・・・,N(k)) ・・・(21)
x(k+1)=((A(k+1))TA(k+1))−1
(A(k+1))Tf(k+1) ・・・(22)
ここで、ai (k)・y(k)*=0となるai (k)を列とするM×N(k+1)行列をA(k+1)、対応するxi (k)をまとめてN(k+1)次元ベクトルx(k+1)とする。また、f(k+1)は式(8)と同様、式(21)で求められたx(k)を用いて以下のように定義される。
f(k+1)=f(k)−A(k)x(k) ・・・(23)
図6は、ホイールによる人工衛星の姿勢制御装置の概要を示すブロック図である。
図6において、姿勢制御トルク生成部11は、人工衛星が所望の姿勢駆動を行うための姿勢制御トルクコマンドを生成する機能部である。ホイールトルク分配生成部12は、姿勢制御トルク生成部11の出力である姿勢制御トルクコマンドからホイール13を駆動するためのホイールトルクコマンドを生成する機能部である。ホイール13は人工衛星本体14の姿勢制御を行うためのアクチュエータである。以下、ホイールトルク分配生成部12の働きについて説明する。
ここで、Aはホイール13の幾何学的配置から一意に定まる3×N行列である。即ち、Aの第i列が、i番目のホイールの回転軸方向ベクトルai(i=1,・・・,N)であるような行列である。式(24)は式(1)において、M=3の場合に相当する。ホイールの個数Nが4以上であれば、式(24)を満たすホイール駆動トルクxは一般には一意ではなくなる。通常、ホイールトルク分配生成部12において、姿勢制御トルクfからそれを実現するホイールトルクxを求めるために、次式を用いることが多い。
ここで、BはAB=I3を満たすN×3の定数行列であり、典型的にはAの擬似逆行列、即ち、B=AT(AAT)−1が用いられる。また、I3は3×3の単位行列である。式(25)によるトルク分配は計算が簡単なため、衛星に搭載のコンピュータで実現する上での問題はないが、ホイールのトルクを有効に利用するという点では効率がよいとはいえない。そこで、ホイールトルク分配生成部12に、本発明に係る出力分配算出装置を適用する。その具体的な構成および動作については、上述の通りである。この場合、M=3であるから、最大でも1-部分問題までを考えればよく、また任意の3本以上のホイール軸が同一平面内に含まれないようなホイール配置であれば、1-部分問題の計算は不要となる。また、双対問題(および1-双対問題)の最適解の候補Yは、ホイールの幾何学的配置から決まるベクトルの集合となる。
図中の、車両運動制御部15において、車両の姿勢を制御するための総駆動力(制動力)およびヨーモーメントのコマンドを生成し、制駆動力分配生成部16において、その総駆動力およびヨーモーメントを実現するための各車輪の駆動力(制動力)を求める。制駆動力制御装置17は、制駆動力分配生成部16の出力に従って各車輪に制駆動力を与え、車両本体18の運動が実現される。以下、制駆動力分配生成部16の働きについてより詳細に説明する。
x1+x2+x3+x4=Fd ・・・(26)
−dfx1+dfx2−drx3+drx4=Mz・・・(27)
ここで、df、drはそれぞれ前輪、後輪における車輪間隔を2で割った値である。尚、車輪の番号は左前輪、右前輪、左後輪、右後輪の順としている。式(26)、(27)は上記論文中でも用いられている簡単化された車両のモデルである。車輪の数4に対して、制御したい量はFd、Mzの二つであるから、式(26)、(27)は冗長である。明らかに、f=[Fd、Mz]T、x=[x1、x2、x3、x4]Tとおけば、式(26)、(27)は式(1)でM=2、N=4の場合に相当する。
図8は、この発明の実施の形態2による出力分配算出装置のブロック構成図である。
図の装置は、y*演算手段1、xm演算手段2、第1のxi演算手段3、第2のxi演算手段4、置き換え手段5からなる。ここで、y*演算手段1〜第2のxi演算手段4は、図1に示した実施の形態1の構成と同様であるため、対応する部分に同一符号を付してその説明を省略する。
図9に示す動作は、図1のフローチャートに示す動作と一部が異なるのみであり、同一の動作をする部分については、同一ステップ符号を付してある。
Claims (4)
- 複数のアクチュエータの出力で制御対象の出力が実現され、前記複数のアクチュエータの個々の出力をN次元ベクトルxで表し、前記制御対象の出力をM次元ベクトルfで表した場合、前記ベクトルxと前記ベクトルfが線形の関係式f=Axによって関係付けられ、かつベクトルxの次元Nがベクトルfの次元Mよりも大きいモデルに対し、ベクトルfが与えられたときにそれを実現するためのベクトルxを求める出力分配算出装置において、
行列Aの第i列のM次元ベクトルをai(i=1,・・・N)として、全てのベクトルai(i=1,・・・N)との内積の絶対値の総和がある正の定数CとなるようなM次元ベクトルのうちで、ベクトルfとの内積の値が最大となるようなベクトルy*を求めるy*演算手段と、
ベクトルy*とベクトルfとの内積の値を前記定数Cで割った値xmを求めるxm演算手段と、
ベクトルaiとベクトルy*との内積が0でないiに対して、xiの値を、xmにaiとy*との内積の符号を付した値とする第1のxi演算手段と、
ベクトルaiとベクトルy*との内積が0となるiに対して、xiの値を、その絶対値がxmを超えないように求める第2のxi演算手段とを備えた出力分配算出装置。 - 複数のアクチュエータの出力で制御対象出力が実現され、前記複数のアクチュエータの個々の出力をN次元ベクトルxで表し、前記制御対象の出力をM次元ベクトルfで表した場合、前記ベクトルxと前記ベクトルfが線形の関係式f=Axによって関係付けられ、かつベクトルxの次元Nがベクトルfの次元Mよりも大きいモデルに対し、ベクトルfが与えられたときにそれを実現するためのベクトルxを求める出力分配算出装置において、
行列Aの第i列のM次元ベクトルをai(i=1,・・・N)として、全てのベクトルai(i=1,・・・N)との内積の絶対値の総和がある正の定数CとなるようなM次元ベクトルのうちで、ベクトルfとの内積の値が最大となるようなベクトルy*を求めるy*演算手段と、
ベクトルy*とベクトルfとの内積の値を前記定数Cで割った値xmを求めるxm演算手段と、
ベクトルfをf(xlim/xm)と置き換え、かつ、xmの値をxlimに置き換える置き換え手段と、
ベクトルaiとベクトルy*との内積が0でないiに対して、xiの値を、xmにaiとy*との内積の符号を付した値とする第1のxi演算手段と、
ベクトルaiとベクトルy*との内積が0となるiに対して、xiの値を、その絶対値がxmを超えないように求める第2のxi演算手段とを備えた出力分配算出装置。 - y*演算手段は、
ベクトルy*を求める場合、定数ベクトルの集合Yに含まれるベクトルが、N本のaiのうちの少なくともM−1本との内積が0であり、かつ、全てのai(i=1,・・・N)との内積の絶対値の総和がある正の定数Cとなるようなベクトルであることを制約条件として、ある本数の前記定数ベクトルの集合Yの中からベクトルfとの内積の値が最大となるようなものを選択するよう構成されていることを特徴とする請求項1または請求項2記載の出力分配算出装置。 - 第2のxi演算手段は、
aiとy*との内積が0となるiに対してxiの値を求める際、y*との内積が0となるaiの数がM以上であった場合、次のように定義されるk-部分問題の手続きを、k=1から順に、最大k=M−2まで逐次的に実行し、それらxiの値を求めるよう構成されたことを特徴とする請求項1または請求項2記載の出力分配算出装置。
k-部分問題:
(1)全てのai (k)(i=1,・・・N(k))との内積の絶対値の総和がある正の定数C(k)となり、かつ全てのy(j)*(j=0,・・・k−1)との内積が0となるようなベクトルのうちで、f(k)との内積の値が最大となるようなM次元ベクトルy(k)*を求め、
(2)y(k)*とf(k)との内積の値をC(k)で割った値xm (k)を求め、
(3)ai (k)とy(k)*との内積が0でないiに対して、xi (k)の値を、xm (k)にai (k)とy(k)*との内積の符号を付した値とし、
(4)ai (k)とy(k)*との内積が0となるai (k)がM−k−1本以下であった場合には、xi (k+1)の値を、一意的な関係式A(k+1)x(k+1)=f(k+1)から求め、
(5)ai (k)とy(k)*との内積が0となるai (k)がM−k本以上であった場合には、更にk+1-部分問題の手続きによりx(k+1)を求め、
(6)x(k+1)をx(k)の対応する位置に代入する。
ここで、形式的にN(0)=N、ai (0)=ai(i=1,・・・N)、A(0)=A、f(0)=f、y(0)*=y*、x(0)=xと表したときに、k≧1に対して、
全てのy(j)*(j=0,・・・k−1)との内積が0となるai (k−1)の数をN(k)、およびそれらを列とするM×N(k)行列をA(k)、およびA(k)の第i列をai (k)(i=1,・・・N(k))、および対応するxi (k−1)をまとめたN(k)次元ベクトルをx(k)、およびそのi番目の要素をxi (k)(i=1,・・・N(k))とする。また、k-部分問題において現れるf(k+1)は、その時点で値の与えられていないxi (k)を一旦0とおいたときに、f(k+1)=f(k)−A(k)x(k)と与える。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004062620A JP4156544B2 (ja) | 2004-03-05 | 2004-03-05 | 出力分配算出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004062620A JP4156544B2 (ja) | 2004-03-05 | 2004-03-05 | 出力分配算出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005250992A JP2005250992A (ja) | 2005-09-15 |
JP4156544B2 true JP4156544B2 (ja) | 2008-09-24 |
Family
ID=35031399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004062620A Expired - Lifetime JP4156544B2 (ja) | 2004-03-05 | 2004-03-05 | 出力分配算出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4156544B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992080B (zh) * | 2017-12-25 | 2020-12-15 | 成都纵横自动化技术股份有限公司 | 控制分配方法、装置及多旋翼飞行器 |
WO2019224954A1 (ja) | 2018-05-23 | 2019-11-28 | 三菱電機株式会社 | 線形計画問題求解システム、解候補算出装置、最適解算出装置、宇宙機のスラスタ制御装置および飛翔体制御装置並びに線形計画問題の求解方法 |
-
2004
- 2004-03-05 JP JP2004062620A patent/JP4156544B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2005250992A (ja) | 2005-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ford et al. | Singular direction avoidance steering for control-moment gyros | |
Bedrossian et al. | Steering law design for redundant single-gimbal control moment gyroscopes | |
US8140189B2 (en) | Apparatus and method for computing operational-space physical quantity | |
US20230150126A1 (en) | Generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot | |
Wang et al. | Unit dual quaternion-based feedback linearization tracking problem for attitude and position dynamics | |
Ott et al. | Posture and balance control for biped robots based on contact force optimization | |
CN102452077B (zh) | 用于机器人的控制设备及控制方法 | |
CN100549889C (zh) | 操纵装置轨迹的控制 | |
Han et al. | Kinematic control of free rigid bodies using dual quaternions | |
Tahri et al. | On visual servoing based on efficient second order minimization | |
US11691281B2 (en) | Robot control at singular configurations | |
Henninger et al. | Optimal under-actuated kinematic motion planning on the ϵ-group | |
Alamdari et al. | Active reconfiguration for performance enhancement in articulated wheeled vehicles | |
De Magistris et al. | Design of optimized soft soles for humanoid robots | |
JP4156544B2 (ja) | 出力分配算出装置 | |
Antonelli et al. | A fuzzy approach to redundancy resolution for underwater vehicle-manipulator systems | |
Li et al. | Stochastic adaptive optimal control of under-actuated robots using neural networks | |
Zarafshan et al. | Dynamics modelling and hybrid suppression control of space robots performing cooperative object manipulation | |
Kłak et al. | Quaternion-based constrained dynamics modeling of a space manipulator with flexible arms for servicing tasks | |
Dzielski et al. | Approach to control moment gyroscope steering using feedback linearization | |
Ding et al. | Research on static fault-tolerant control method of thruster based on MPC | |
Ginting et al. | Attitude control of quadrotor using PD plus feedforward controller on SO (3) | |
Shen et al. | Concentric tube robot redundancy resolution via velocity/compliance manipulability optimization | |
Jin et al. | Disturbance compensation of a dual-arm underwater robot via redundant parallel mechanism theory | |
JP2004230530A (ja) | 宇宙ロボットの姿勢制御方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061113 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071016 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080605 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080610 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080709 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4156544 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130718 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |