radial basis function approximation

44
軟軟軟軟軟軟軟 1 Radial basis function approximation

Upload: hart

Post on 19-Jan-2016

40 views

Category:

Documents


2 download

DESCRIPTION

Radial basis function approximation. K-mean Algorithm. function y=my_kmeans(X,M) mx =mean(X); Y=rand(M,2)*0.1-0.05+mx; change =1; wh ile change < 10.^-6 D = cross_distances(X,Y) [xx ind]=min(D'); for i=1:K ind2=find(ind == i); Y_new(i,:) = mean( X( ind2,:)); - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Radial basis function approximation

軟體實作與計算實驗 1

Radial basis function approximation

Page 2: Radial basis function approximation

軟體實作與計算實驗 2

K-mean Algorithm

function y=my_kmeans(X,M)mx=mean(X);Y=rand(M,2)*0.1-0.05+mx;change =1; while change < 10.^-6

D = cross_distances(X,Y)[xx ind]=min(D');

for i=1:K ind2=find(ind == i);

Y_new(i,:) = mean(X( ind2,:)); end change = mean(mean(Y-Y_new));

endreturn

Page 3: Radial basis function approximation

軟體實作與計算實驗 3

Cross_Distance

function D=cross_distance(X,Y)M=size(Y,1);N=size(X,1);A=sum(X.^2,2)*ones(1,M);C=ones(N,1)*sum(Y.^2,2)';B=X*Y';D=sqrt(A-2*B+C);

Page 4: Radial basis function approximation

軟體實作與計算實驗 4

Radial basis function

Page 5: Radial basis function approximation

軟體實作與計算實驗 5

3.141

http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=157&objectType=File

Page 6: Radial basis function approximation

軟體實作與計算實驗 6

23 4.89

Page 7: Radial basis function approximation

軟體實作與計算實驗 7

4.23TY

Page 8: Radial basis function approximation

軟體實作與計算實驗 8

2.23TX

Page 9: Radial basis function approximation

軟體實作與計算實驗 9

)2.12,81.8( TT YX

oT 200

Page 10: Radial basis function approximation

軟體實作與計算實驗 10

Forward Kinematics

323

212

11

180

180

2 frame and matlabbetween Angle1802

1 frame and matlabbetween Angle

PP

PP

P

2P

3.141 1P

3P

Page 11: Radial basis function approximation

軟體實作與計算實驗 11

Frame positions

)sin(

)cos(

112

112

Ply

Plx

x position of frame '2'

y position of frame '2'

2P

3.141

1P

3P

1l

),( 22 yx

Page 12: Radial basis function approximation

軟體實作與計算實驗 12

Position of frame 3

)sin(

)cos(

2223

2223

Plyy

Plxx

2P

3.141

1P

3P

1l

),( 22 yx

2l

),( 33 yx

Page 13: Radial basis function approximation

軟體實作與計算實驗 13

Position of tool

2P

3.141

1P

3P

1l

),( 22 yx

2l

),( 33 yxx position of frame 'tool'y position of frame 'tool'

)sin(

)cos(

333

333

Plyy

Plxx

t

t

3l ),( tt yx

Page 14: Radial basis function approximation

軟體實作與計算實驗 14

http://www.learnaboutrobots.com/forwardKinematics.htm

Page 15: Radial basis function approximation

軟體實作與計算實驗 15

Forward Kinematics

Problem statement A schematic of a simple robot lying in the X-Y plane Robot length

Three links of the robot

Given the ang joints, where is the robot's hand?

? 2P

3.141

1P

3P

1l

),(22yx

2l ),(33yx

3l

),(ttyx

1l 2l 3l

2P1P 3P

),( tt yx

Page 16: Radial basis function approximation

軟體實作與計算實驗 16

Forward Kinematics for planar robot

)sin()sin()sin(

)cos()cos()cos(

332211

332211

PlPlPly

PlPlPlx

t

t

2P

1P

3P

1l

3l ),( tt yx

Page 17: Radial basis function approximation

軟體實作與計算實驗 17

223

212

11

180

180

1802

PP

PP

P

)sin()sin()sin(

)cos()cos()cos(

332211

332211

PlPlPly

PlPlPlx

t

t

t

t

yPlPlPlF

xPlPlPlF

)sin()sin()sin(),(

)cos()cos()cos(),(

332211212

332211211

Page 18: Radial basis function approximation

軟體實作與計算實驗 18

Inverse kinematics

At the position level, the problem is stated as, "Given the desired position of the robot's hand, what must be the angles at all of the robots joints? "

Page 19: Radial basis function approximation

軟體實作與計算實驗 19

One link

Given Xt what is the joint angle P

x

Yxt

P

Page 20: Radial basis function approximation

軟體實作與計算實驗 20

x

Yxt

P

l

xP

l

x(P)

Plx

t

t

t

arccos

cos

solutionposition forward

)cos(

Page 21: Radial basis function approximation

軟體實作與計算實驗 21

multiple solutions

l

xP

l

x(P)

Plx

t

t

t

arccos

cos

solutionposition forward

)cos(

o

tx

l

45

71arccos0.70P

feet 7071.0

foot one :

Page 22: Radial basis function approximation

軟體實作與計算實驗 22

Two links

x

Y

(xt yt)

P1

P2

1l

2l

Page 23: Radial basis function approximation

軟體實作與計算實驗 23

x

Y

(xt yt)

P1

P2

1l

2l

222tt yxB

)atan2(1t

t

y

xq

Page 24: Radial basis function approximation

軟體實作與計算實驗 24

x

Y

(xt yt)

P1

P2

1l

2l

222tt yxB

1q

211

1

22

221

2 )2

acos(

qqP

Bl

lBlq

2q

Page 25: Radial basis function approximation

軟體實作與計算實驗 25

x

Y

(xt yt)

P1

P2

1l

2l

B

1q

2q

)2

acos(21

222

21

ll

Bll

)(12 PP

Page 26: Radial basis function approximation

軟體實作與計算實驗 26

Forward kinematics of two-link robot

)sin()sin(

)cos()cos(

2211

2211

PlPly

PlPlx

t

t

21,PP

tt yx ,

21,PP

tt yx ,

Page 27: Radial basis function approximation

軟體實作與計算實驗 27

Inverse kinematics of two-link robot

22tt yxB

)atan2(1t

t

x

yq

211

1

22

221

2 )2

acos(

qqP

Bl

lBlq

)2

acos(21

222

21

ll

Bll

)(12 PP

21,PP

tt yx ,

Page 28: Radial basis function approximation

軟體實作與計算實驗 28

Exercise

Write matlab functions to implement forward and inverse kinematics of a two-link robot

Page 29: Radial basis function approximation

軟體實作與計算實驗 29

Example

l1=1;l2=1;p1=pi/3;p2=pi/5;[x,y]=fkin(p1,p2,l1,l2)[p1,p2]=inverse_kin(x,y,l1,l2);p1/pip2/pi

Page 30: Radial basis function approximation

軟體實作與計算實驗 30

Nonlinear system

0

04

21

2

2

2

1

xx

xx

Page 31: Radial basis function approximation

軟體實作與計算實驗 31

A set of nonlinear functions

0),(

04),(

21212

2

2

2

1211

xxxxf

xxxxf

Page 32: Radial basis function approximation

軟體實作與計算實驗 32

x=linspace(-2,2);plot(x,x); hold on; plot(x,sqrt(4-x.^2))plot(x,-sqrt(4-x.^2))

Page 33: Radial basis function approximation

軟體實作與計算實驗 33

function F = myfun(x) F(1) = x(1).^2 + x(2)^2-4; F(2) = x(1) - x(2);return

Page 34: Radial basis function approximation

軟體實作與計算實驗 34

Least square of nonlinear functions

i

ixxxxf 2

21,),(min

21

Page 35: Radial basis function approximation

軟體實作與計算實驗 35

function demo_lsq()x0= ones(1,2)*2;x = lsqnonlin(@myfun,x0)y=myfun(x);sum(y.^2)returnfunction F = myfun(x) F(1) = x(1).^2 + x(2)^2 -4; F(2) = x(1) - x(2);return

Demo_lsq

Page 36: Radial basis function approximation

軟體實作與計算實驗 36

012),(

0242),(22

212

2

2

2

1211

21

xxxxf

xxxxf

Page 37: Radial basis function approximation

軟體實作與計算實驗 37

x=linspace(-5,5);plot(x,sqrt(24-2*x.^2),'r');hold on; plot(x,-sqrt(24-2*x.^2),'r')plot(x,sqrt(12+x.^2),'b')plot(x,-sqrt(12+x.^2),'b')

Page 38: Radial basis function approximation

軟體實作與計算實驗 38

Demo_lsq_2c

source code

Page 39: Radial basis function approximation

軟體實作與計算實驗 39

223

212

11

180

180

1802

PP

PP

P

)sin()sin()sin(

)cos()cos()cos(

332211

332211

PlPlPly

PlPlPlx

t

t

t

t

yPlPlPlF

xPlPlPlF

)sin()sin()sin(),(

)cos()cos()cos(),(

332211212

332211211

Page 40: Radial basis function approximation

軟體實作與計算實驗 40

Nonlinear systems

)sin()sin(

)cos()cos(

2211

2211

PlPly

PlPlx

t

t

t

t

yPlPlPPF

xPlPlPPF

)sin()sin(),(

)cos()cos(),(

2211212

2211211

Page 41: Radial basis function approximation

軟體實作與計算實驗 41

)sin()sin(2

)cos()cos(2

21

21

PP

PP

2)sin()sin(),(

2)cos()cos(),(

21212

21211

PPPPF

PPPPF

Page 42: Radial basis function approximation

軟體實作與計算實驗 42

Exercise

Write a malab function to solve the following nonlinear system

2)sin()sin(),(

2)cos()cos(),(

21212

21211

PPPPF

PPPPF

Page 43: Radial basis function approximation

軟體實作與計算實驗 43

Page 44: Radial basis function approximation

軟體實作與計算實驗 44

puma3d.m

gen_path.m

PUMA Robot Matlab/Servo To Go software

MATLAB Central File Exchange - 3D Puma Robot Demo