PowerPoint Presentation

Similar documents
PowerPoint Presentation

スライド 1

スライド 1

PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

Microsoft PowerPoint - Robotics_13_review_1short.pptx

Microsoft PowerPoint - ロボットの運動学forUpload'C5Q [互換モード]

重力方向に基づくコントローラの向き決定方法

( ) sin 1 x, cos 1 x, tan 1 x sin x, cos x, tan x, arcsin x, arccos x, arctan x. π 2 sin 1 x π 2, 0 cos 1 x π, π 2 < tan 1 x < π 2 1 (1) (

2009 IA 5 I 22, 23, 24, 25, 26, (1) Arcsin 1 ( 2 (4) Arccos 1 ) 2 3 (2) Arcsin( 1) (3) Arccos 2 (5) Arctan 1 (6) Arctan ( 3 ) 3 2. n (1) ta

スライド 1

高等学校学習指導要領

高等学校学習指導要領

スライド 1

Chap2

2009 I 2 II III 14, 15, α β α β l 0 l l l l γ (1) γ = αβ (2) α β n n cos 2k n n π sin 2k n π k=1 k=1 3. a 0, a 1,..., a n α a

<4D F736F F D EBF97CD8A B7982D189898F4B A95748E9197BF4E6F31312E646F63>

grad φ(p ) φ P grad φ(p ) p P p φ P p l t φ l t = 0 g (0) g (0) (31) grad φ(p ) p grad φ φ (P, φ(p )) xy (x, y) = (ξ(t), η(t)) ( )

スライド 1

2 Hermite-Gaussian モード 2-1 Hermite-Gaussian モード 自由空間を伝搬するレーザ光は次のような Hermite-gaussian Modes を持つ光波として扱う ことができる ここで U lm (x, y, z) U l (x, z)u m (y, z) e

Chap10.dvi

, x R, f (x),, df dx : R R,, f : R R, f(x) ( ).,, f (a) d f dx (a), f (a) d3 f dx 3 (a),, f (n) (a) dn f dx n (a), f d f dx, f d3 f dx 3,, f (n) dn f

arctan 1 arctan arctan arctan π = = ( ) π = 4 = π = π = π = =

断面の諸量

2.2 h h l L h L = l cot h (1) (1) L l L l l = L tan h (2) (2) L l 2 l 3 h 2.3 a h a h (a, h)

Math-Aquarium 例題 図形と計量 図形と計量 1 直角三角形と三角比 P 木の先端を P, 根元を Q とする A 地点の目の位置 A' から 木の先端への仰角が 30,A から 7m 離れた AQB=90 と なる B 地点の目の位置 B' から木の先端への仰角が 45 であ るとき,

<4D F736F F D E682568FCD CC82B982F192668BAD9378>

2 図微小要素の流体の流入出 方向の断面の流体の流入出の収支断面 Ⅰ から微小要素に流入出する流体の流量 Q 断面 Ⅰ は 以下のように定式化できる Q 断面 Ⅰ 流量 密度 流速 断面 Ⅰ の面積 微小要素の断面 Ⅰ から だけ移動した断面 Ⅱ を流入出する流体の流量 Q 断面 Ⅱ は以下のように

解析力学B - 第11回: 正準変換

Microsoft Word - thesis.doc

Microsoft PowerPoint - 10.pptx

(1) (2) (3) (4) HB B ( ) (5) (6) (7) 40 (8) (9) (10)

c y /2 ddy = = 2π sin θ /2 dθd /2 [ ] 2π cos θ d = log 2 + a 2 d = log 2 + a 2 = log 2 + a a 2 d d + 2 = l

CG

() x + y + y + x dy dx = 0 () dy + xy = x dx y + x y ( 5) ( s55906) 0.7. (). 5 (). ( 6) ( s6590) 0.8 m n. 0.9 n n A. ( 6) ( s6590) f A (λ) = det(a λi)

. sinh x sinh x) = e x e x = ex e x = sinh x 3) y = cosh x, y = sinh x y = e x, y = e x 6 sinhx) coshx) 4 y-axis x-axis : y = cosh x, y = s


Gmech08.dvi

技術者のための構造力学 2014/06/11 1. はじめに 資料 2 節点座標系による傾斜支持節点節点の処理 三好崇夫加藤久人 従来, マトリックス変位法に基づく骨組解析を紹介する教科書においては, 全体座標系に対して傾斜 した斜面上の支持条件を考慮する処理方法として, 一旦, 傾斜支持を無視した

Microsoft PowerPoint - qcomp.ppt [互換モード]

Gmech08.dvi

機構学 平面機構の運動学

I No. sin cos sine, cosine : trigonometric function π : π =.4 : n =, ±, ±, sin + nπ = sin cos + nπ = cos sin = sin : cos = cos :. sin. sin. sin + π si

70 : 20 : A B (20 ) (30 ) 50 1

パソコンシミュレータの現状

Gmech08.dvi

. p.1/15

A A p.1/16

1. z dr er r sinθ dϕ eϕ r dθ eθ dr θ dr dθ r x 0 ϕ r sinθ dϕ r sinθ dϕ y dr dr er r dθ eθ r sinθ dϕ eϕ 2. (r, θ, φ) 2 dr 1 h r dr 1 e r h θ dθ 1 e θ h

5. F(, 0) = = 4 = 4 O = 4 =. ( = = 4 ) = 4 ( 4 ), 0 = 4 4 O 4 = 4. () = 8 () = 4

I No. sin cos sine, cosine : trigonometric function π : π =.4 : n = 0, ±, ±, sin + nπ = sin cos + nπ = cos : parity sin = sin : odd cos = cos : even.

Microsoft PowerPoint - 10.pptx

#A A A F, F d F P + F P = d P F, F y P F F x A.1 ( α, 0), (α, 0) α > 0) (x, y) (x + α) 2 + y 2, (x α) 2 + y 2 d (x + α)2 + y 2 + (x α) 2 + y 2 =

( ) 2.1. C. (1) x 4 dx = 1 5 x5 + C 1 (2) x dx = x 2 dx = x 1 + C = 1 2 x + C xdx (3) = x dx = 3 x C (4) (x + 1) 3 dx = (x 3 + 3x 2 + 3x +

表1-表4_No78_念校.indd

Microsoft PowerPoint - 三次元座標測定 ppt

D xy D (x, y) z = f(x, y) f D (2 ) (x, y, z) f R z = 1 x 2 y 2 {(x, y); x 2 +y 2 1} x 2 +y 2 +z 2 = 1 1 z (x, y) R 2 z = x 2 y

<4D F736F F F696E74202D20836F CC8A C58B858B4F93B982A882E682D1978E89BA814091B28BC68CA48B E >

SICE東北支部研究集会資料(2007年)

1 1. x 1 (1) x 2 + 2x + 5 dx d dx (x2 + 2x + 5) = 2(x + 1) x 1 x 2 + 2x + 5 = x + 1 x 2 + 2x x 2 + 2x + 5 y = x 2 + 2x + 5 dy = 2(x + 1)dx x + 1

φ s i = m j=1 f x j ξ j s i (1)? φ i = φ s i f j = f x j x ji = ξ j s i (1) φ 1 φ 2. φ n = m j=1 f jx j1 m j=1 f jx j2. m

数 IB( 植松 ) 2006 年夏学期解答 ( 兼ノート ) (2007 年のは課題プリでやってしまったので ) 1 (a) 補完公式を使う問題です 補完公式とは n+1 個の点を通る n 次の多項式を求める公式のことです 例 n=3 x y y0 y1 y2 y3 このデータを補

I, II 1, 2 ɛ-δ 100 A = A 4 : 6 = max{ A, } A A 10

学習指導要領

4.6: 3 sin 5 sin θ θ t θ 2t θ 4t : sin ωt ω sin θ θ ωt sin ωt 1 ω ω [rad/sec] 1 [sec] ω[rad] [rad/sec] 5.3 ω [rad/sec] 5.7: 2t 4t sin 2t sin 4t

"éı”ç·ıå½¢ 微勃挹稉弑

知能科学:ニューラルネットワーク

知能科学:ニューラルネットワーク

相対性理論入門 1 Lorentz 変換 光がどのような座標系に対しても同一の速さ c で進むことから導かれる座標の一次変換である. (x, y, z, t ) の座標系が (x, y, z, t) の座標系に対して x 軸方向に w の速度で進んでいる場合, 座標系が一次変換で関係づけられるとする


120 9 I I 1 I 2 I 1 I 2 ( a) ( b) ( c ) I I 2 I 1 I ( d) ( e) ( f ) 9.1: Ampère (c) (d) (e) S I 1 I 2 B ds = µ 0 ( I 1 I 2 ) I 1 I 2 B ds =0. I 1 I 2

物理学 (4) 担当 : 白井 英俊

1 1 sin cos P (primary) S (secondly) 2 P S A sin(ω2πt + α) A ω 1 ω α V T m T m 1 100Hz m 2 36km 500Hz. 36km 1

代数 幾何 < ベクトル > 1 ベクトルの演算 和 差 実数倍については 文字の計算と同様 2 ベクトルの成分表示 平面ベクトル : a x e y e x, ) ( 1 y1 空間ベクトル : a x e y e z e x, y, ) ( 1 1 z1

( ) e + e ( ) ( ) e + e () ( ) e e Τ ( ) e e ( ) ( ) () () ( ) ( ) ( ) ( )

85 4

多次元レーザー分光で探る凝縮分子系の超高速動力学

vecrot

sin cos No. sine, cosine : trigonometric function π : π = 3.4 : n = 0, ±, ±, sin + nπ = sin cos + nπ = cos : parity sin = sin : odd cos = cos : even.

Microsoft PowerPoint - 構造力学Ⅰ第03回.pptx

mugensho.dvi

PowerPoint Presentation


Microsoft Word - 1B2011.doc

数学 t t t t t 加法定理 t t t 倍角公式加法定理で α=β と置く. 三角関数

.( 斜面上の放物運動 ) 目的 : 放物運動の方向の分け方は, 鉛直と水平だけではない 図のように, 水平面から角 だけ傾いた固定した滑らかな斜面 と, 質量 の小球を用意する 原点 から斜面に垂直な向きに, 速さ V で小球を投げ上げた 重力の加速度を g として, 次の問い に答えよ () 小

Microsoft Word - 201hyouka-tangen-1.doc

学習指導要領

, 3, 6 = 3, 3,,,, 3,, 9, 3, 9, 3, 3, 4, 43, 4, 3, 9, 6, 6,, 0 p, p, p 3,..., p n N = p p p 3 p n + N p n N p p p, p 3,..., p n p, p,..., p n N, 3,,,,

p tn tn したがって, 点 の 座標は p p tn tn tn また, 直線 l と直線 p の交点 の 座標は p p tn p tn よって, 点 の座標 (, ) は p p, tn tn と表され p 4p p 4p 4p tn tn tn より, 点 は放物線 4 p 上を動くこと

f : R R f(x, y) = x + y axy f = 0, x + y axy = 0 y 直線 x+y+a=0 に漸近し 原点で交叉する美しい形をしている x +y axy=0 X+Y+a=0 o x t x = at 1 + t, y = at (a > 0) 1 + t f(x, y

e a b a b b a a a 1 a a 1 = a 1 a = e G G G : x ( x =, 8, 1 ) x 1,, 60 θ, ϕ ψ θ G G H H G x. n n 1 n 1 n σ = (σ 1, σ,..., σ N ) i σ i i n S n n = 1,,

PowerPoint プレゼンテーション

<4D F736F F D2097CD8A7793FC96E582BD82ED82DD8A E6318FCD2E646F63>

さくらの個別指導 ( さくら教育研究所 ) A a 1 a 2 a 3 a n {a n } a 1 a n n n 1 n n 0 a n = 1 n 1 n n O n {a n } n a n α {a n } α {a

反射係数

() (, y) E(, y) () E(, y) (3) q ( ) () E(, y) = k q q (, y) () E(, y) = k r r (3).3 [.7 ] f y = f y () f(, y) = y () f(, y) = tan y y ( ) () f y = f y

Microsoft Word - kogi10ex_main.docx

untitled

Transcription:

知能システム論 1 (9) 201365 情報システム学研究科情報メディアシステム学専攻知能システム学講座末廣尚士

12 ロボットアームの逆運動学 ( 幾何学的 ( 解析的 ) 解法 ) 何をしたいか 手首 手先 ツールの3 次元空間での位置や姿勢から それを実現する関節角度を計算する アームソリューション アームの解とも呼ぶ 何のために たとえばビジョンで認識された物をつかむ場合 物の位置 姿勢は3 次元空間で表現されることが普通である したがってそれに必要な手首 手先 ツールの位置や姿勢アームの位置や姿勢も3 次元空間の位置 姿勢で与えられる 逆運動学が不要な制御もあるが 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 2

- 幾何学的解法 y hand y 手先の位置が hand y hand z hand のときの hand 関節角度 1, 2, 3 を求める z hand z 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 3

- 幾何学的 ( 解析的 ) 解法 1 L1 y y まず順運動学の式は L1 hand = hand cos 1 =l2h sin 2 l3h sin 2 3 cos 1 2 L1 y hand = hand sin 1 =l2hsin 2 l3hsin 2 3 sin 1 3 l3h l2h z hand =bhl1hl2hcos 2 l3hcos 2 3 z L1 l1h bh L1 hand =l2hsin 2 l3hsin 2 3 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 4

1 - の計算 1 L1 y y θ 1 = /2 y hand arctan( ) π ( <0, y<0) hand y hand =0, y0 arctan( ) ( >0) hand L1 hand = hand cos 1 L1 y hand = hand sin 1 π /2 ( =0, y>0) y hand arctan( )+π ( <0, y 0) hand y hand hand =tan 1 もしくは 不定 θ 1 =atan2( =0, y=0 y hand, hand ) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 5

3 - の計算 z hand =bhl1hl2hcos 2 l3hcos 2 3 L1 hand =l2hsin 2 l3hsin 2 3 ここで とすると L1 X = X 2 hand = Z= z hand bh l1h 2 hand Z=l2hcos 2 l3hcos 2 3 X =l2hsin 2 l3hsin 2 3 両辺を 2 乗して加えると Z 2 =l2h 2 cos 2 2 2 l2hl3h cos 2 cos 2 3 l3h 2 cos 2 2 3 X 2 =l2h 2 sin 2 2 2 l2hl3hsin 2 sin 2 3 l3h 2 sin 2 2 3 2 y hand 3 l3h X 2 Z 2 z L1 2 l2h l1h bh X 2 Z 2 =l2h 2 l3h 2 2 l2h l3hcos 2 cos 2 3 sin 2 sin 2 3 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 6

3 - の計算 X 2 Z 2 =l2h 2 l3h 2 2 l2h l3hcos 2 cos 2 3 sin 2 sin 2 3 ここで cos =coscossin sin = 2 3 = 2 とすると X 2 Z 2 =l2h 2 l3h 2 2 l2hl3h cos 3 X 2 Z 2 l2h 2 l3h 2 =2 l2hl3h cos 3 cos 3 = X 2 Z 2 l2h 2 l3h 2 /2l2h l3h 3 =±arccos X 2 Z 2 l2h 2 l3h 2 /2 l2hl3h を思い出して 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 7

2 - の計算 3 2 3 + の場合 - の場合 3 2 ψ=arcsin(z / X 2 +Z 2 ) ϕ=arcsin( l3hsin(θ 3) X 2 +Z 2 ) 2 = /2 実はこの符号が反転するだけ =arcsin Z / X 2 Z 2 =arcsin l3hsin 3 X 2 Z 2 2 = /2 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 8

- 結果のグラフィックス表示 1 2 3 =arcsinz / X 2 Z 2 =arcsin l3hsin 3 X 2 Z 2 2 = /2 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 9

- 結果のグラフィック表示 2 2 3 =arcsin Z / X 2 Z 2 =arcsin l3hsin 3 X 2 Z 2 2 = /2 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 10

- まだ他に解がある 1 を裏に回して とを反対に曲げる 1 2 3 θ 1 =arctan2( y hand, hand ) L1 y y 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 11

- プログラム :arm3dofpy def arm_sol(self,trans) : =transvec[0] y=transvec[1] z=transvec[2] th1_1=atan2(y,) th1_2=atan2(-y, -) zz=z-selfbh-selfl1h zz_2=zz**2 _2=**2+y**2 th3=acos((_2+zz_2-selfl2h**2-selfl3h**2)/20/selfl2h/selfl3h) psi=asin(zz/sqrt(_2+zz_2)) phi=asin(selfl3h*sin(th3)/sqrt(_2+zz_2)) th2_1=pi/2-psi-phi th2_2=pi/2-psi+phi selfsolutions=[[th1_1,th2_1,th3],[th1_1,th2_2,-th3], [th1_2,-th2_1,-th3],[th1_2,-th2_2,th3]] return selfsolutions # armsolve=newinstancemethod(arm_sol,arm,arm class ) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 12

- arm3dofpy の逆運動学解 まず env_arm3dofpy を走らせる >>> armmake_shape() >>> armmark() >>> create_env() >>> a=armsolve(bowhere(armbase)) >>> a [[-078539816339744828, 090198348365541947, 21401199701156761], [-078539816339744828, 30421034537710954, -21401199701156761], [23561944901923448, -090198348365541947, -21401199701156761], [23561944901923448, -30421034537710954, 21401199701156761]] >>> for pp in a: armset_joints(pp) sleep(1) >>> 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 13

- arm3dofpy の使い方 (2) hand が bo の場所に行くにはどうしたらよいか? hand から wrist へ座標変換でもどしてやる >>> b=armsolve(bowhere(armbase)*armwristwhere(armhand)) >>> b [[-078539816339744828, 063292249604039119, 22119557397743437], [-078539816339744828, 28448782358147344, -22119557397743437], [23561944901923448, -063292249604039119, -22119557397743437], [23561944901923448, -28448782358147344, 22119557397743437]] >>> for pp in b: armset_joints(pp) sleep(1) うまくいかない なぜ? 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 14

- arm3dofpy の使い方 (3) 実はこれは,arm_sol のプログラムの中身を変更しなくてはならないといういやらしい問題になっている th3=acos((_2+zz_2-selfl2h**2-selfl3h**2)/20/selfl2h/selfl3h) psi=asin(zz/sqrt(_2+zz_2)) phi=asin(selfl3h*sin(th3)/sqrt(_2+zz_2)) これを汎用的に処理するのは幾何的解法では難しい 後で数値解法で解決する 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 15

- 6 自由度の場合 位置だけでなく姿勢も指定できる手首に手先 3 自由度が集まった形になっている場合 位置と姿勢を分離して求めることが出来る まず手先の位置 姿勢から手首位置が決まる 手首位置について3 自由度の解を求める 手首姿勢と整合するように手先の 3 自由度を求める そうでない場合 一般には解くのが難しい 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 16

- 6 自由度アームの解の求め方の例 姿勢と先端位置が決まるとこの点が決まる ここは 3 自由度アームの求め方 根元側 3 自由度が決まると残り 3 自由度は姿勢合わせで簡単に求められる 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 17

- 例題 12:6 関節アームの逆運動学 hand wrist l h =01 l 6 =005 l 5 =01 l 4 =01 l 3 =03 手首座標系が目標座標系 target に一致するように関節角を求めよ (arm6dofpy) l 2 =04 base l 1 =005 l b =01 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 18

- 逆運動学 (1) (1)joint 5 の位置を求める 手首座標の z 軸方向 lh5+lh6(-015) の位置 def arm_sol(self,target) : selfsolutions=[] pos=targetvec z_ais=targetmatcol(2) pos=pos-((selfl5h+selfl6h)*z_ais) pos target y (selfl5h+selfl6h)*z_ais z 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 19

- 逆運動学 (2) (2)1,2,3 は 前の l3h =l3h+l4h(04) としたときの 3 関節と同様に解くことが出来る pos ここは 3 自由度アームの求め方 def arm_sol_pos(self,pos) : 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 20

- 逆運動学 (3) (3)joint 5 の回転軸 (y) は 手首 z 軸と link3z 軸に垂直 回転角はそれらの間の角度 (2 方向あることに注意 ) def arm_sol_ori(self,target,th123) : T123=selffk123(th123) zt=targetmatcol(2) z3=t123matcol(2) y T123 z z3 target y zt y5, th5 z 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 21

- 逆運動学 (4) (4)joint 4 の回転角は link5y と link3y の成す角 y T123 def arm_sol_ori(self,target,th123) : T123=selffk123(th123) zt=targetmatcol(2) z3=t123matcol(2) y5 th4 y3 z target y z 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 22

- 逆運動学 (5) (5)joint 6 の回転角は link5y と wrist(=target) y の成す角 y T123 def arm_sol_ori(self,target,th123) : T123=selffk123(th123) zt=targetmatcol(2) z3=t123matcol(2) yt y5 th6 z target y z 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 23

- 例題 12:6 関節アームの逆運動学 ( まとめ 1) hand wrist base l h =01 l 6 =005 l 5 =01 l 4 =01 l 3 =03 l 2 =04 l 1 =005 l b =01 (1)joint 5 の位置を求める 手首座標の z 軸方向 -015 の位置 (2)1-3 は l3h=l3+l4=04 としたときの 3 関節と同様に解くことが出来る (3)joint 5 の回転軸 (y) は 手首 z 軸と link3z 軸に垂直 回転角はそれらの間の角度 (2 方向あることに注意 ) 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 24

- 例題 12:6 関節アームの逆運動学 ( まとめ 2) hand wrist l h =01 l 6 =005 l 5 =01 l 4 =01 l 3 =03 l 2 =04 (4)joint 4 の回転角は link5y と link3y の成す角 (5)joint 6 の回転角は link5y と wrist y の成す角 base l 1 =005 l b =01 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 25

- arm6dofpy(1) def arm_sol_pos(self,pos) : =pos[0] y=pos[1] z=pos[2] th1_1=atan2(y,) th1_2=atan2(-y,-) lh=selfl3h+selfl4h zz=z-selfbh-selfl1h zz_2=zz**2 _2=**2+y**2 th3=acos((_2+zz_2-selfl2h**2-lh**2)/20/selfl2h/lh) psi=asin(zz/sqrt(_2+zz_2)) phi=asin(lh*sin(th3)/sqrt(_2+zz_2)) th2_1=pi/2-psi-phi th2_2=pi/2-psi+phi selfsolutions_pos=[[th1_1,th2_1,th3],[th1_1,th2_2,-th3], [th1_2,-th2_1,-th3],[th1_2,-th2_2,th3]] return selfsolutions_pos # 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 26

- arm6dofpy(2) (3)(4)(5) def fk123(self,th123): T1=FRAME(yzabc=[0,0,selfbh,0,0,th123[0]]) T2=FRAME(yzabc=[0,0,selfl1h,0,th123[1],0]) T3=FRAME(yzabc=[0,0,selfl3h+selfl4h,0,th123[2],0]) return T1*T2*T3 # def arm_sol_ori(self,target,th123) : T123=selffk123(th123) zt=targetmatcol(2) z3=t123matcol(2) return [th4,th5,th6],[th4_2,-th5,th6_2] 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 27

- arm6dofpy(3) (1) (2) def arm_sol(self,target) : selfsolutions=[] pos=targetvec z_ais=targetmatcol(2) pos=pos-((selfl5h+selfl6h)*z_ais) selfsolve_pos(pos) for th123 in selfsolutions_pos : rslt=selfsolve_ori(target,th123) selfsolutionsappend(th123+rslt[0]) selfsolutionsappend(th123+rslt[1]) return selfsolutions 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 28

- arm6dofpy の逆運動学解 まず env_arm6dofpy を走らせる >>> create_env() >>> arm <larm_w_handlinkedarm instance at 00350F5F8> >>> armsolve(bowhere(armbase)*armwristwhere(armhand)) [[-085196632717327214, 057165712277578096, 16628010732898744, 11903745009548912e-16, 090713445752413802, 22896263264165211], [-085196632717327214, 057165712277578096, 16628010732898744, -31415926535897931, -090713445752413802, -085196632717327225], [22896263264165211, -22344581960656553, 16628010732898744, -31415926535897931, 25699355308140124, 22896263264165211], [22896263264165211, -22344581960656553, 16628010732898744, 21016374975493564e-16, -25699355308140124, -085196632717327203]] >>> show_all_solutions(arm,bo) >>> 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 29

- 次回の予告 逆運動学の数値解法ニュートン法ヤコビアン 2013 年度前学期電気通信大学大学院情報システム学研究科情報メディアシステム学専攻知能システム論 1 30