Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
(EOD).Software topics.pdf
Скачиваний:
18
Добавлен:
23.08.2013
Размер:
1.55 Mб
Скачать

page 220

LOUD_NOISE = { 0.0 0.1 0.5 1.0 }

QUIET_NOISE = {1.0 0.5 0.1 0.0 }

FAST_SPEED = { 0.0 0.2 0.7 1.0 }

SLOW_SPEED = { 1.0 0.5 0.2 0.0 }

SAME_SPEED = { 1.0 1.0 1.0 1.0 }

The sets are considered normalized from minimum to maximum. For example is the NOISE sets were from 20dB to 100dB, then a noise level of 80dB would result in a value of 0.5, or a 50% memebership. This way you can say if the noise is ‘absolutely loud’, giving a value of 1.0, or ‘a bit loud’ giving a value of .5.

The matrices are combined using the rules to get a result matrix

Because the conditions (like LOUD_NOISE) are defined with a sort of weight, or memebership rules are easier to make up.

Fuzzy logic controllers have been very successful at solving control problems.

16.4 NEURAL NETWORKS

16.4.1 Neural Network Calculation of Inverse Kinematics

• Objectives: To give insight into the neural network solution of the inverse kinematics problem.

16.4.1.1 - Inverse Kinematics

• Forward ematics for a 3-link manipulator

page 221

 

 

 

 

 

θ 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a2

 

 

 

 

 

 

 

 

θ 2

 

 

 

 

 

 

a3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

θ 3

a1

(px, py, pz) z

x y

Allows the end of the robot to be located in space relative to the base of the robot. The calculations are done to convert joint coordinates (joint angles) to cartesian coordinates.

px = cosθ 1 (a3 cos(θ 2 + θ 3) + a2 cosθ 2) py = sinθ 1 (a3 cos(θ 2 + θ 3) + a2 cosθ 2) pz = a3 sin(θ 2 + θ 3) + a2 sinθ 2 + a1

• Inverse Kinematics for a three link manipulator

page 222

 

 

 

 

 

 

 

 

 

 

 

θ 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

θ 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1

 

 

θ 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(px, py, pz)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Allows the joint coordinates of the robot to be determined by a point in space. In most cases there four possible ways to reach most points in space.

α =

 

 

 

 

 

 

 

 

 

β

= α 2 + a 2 - a 2 + p 2

2

 

 

2

 

 

px

+ py

 

 

 

 

 

 

2

 

3

z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2a2

 

 

 

 

θ 1 = atan(py / px)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

θ 2

= atan

 

 

 

 

 

β

 

 

 

 

 

 

 

- atan

 

 

α

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

±

 

 

 

 

 

 

 

 

 

 

pz

 

 

 

 

px2 + α

2 - β 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

θ 3

= atan

 

 

 

 

pz

a2 sinθ 2

 

 

 

- θ 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

α

- a2 cosθ 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Inverse Kinematics techniques

-explicit, with exact solution (as for the 3 link manipulator)

-iterative, for use when an infinite number of solutions exist.

page 223

Problems that occur when doing inverse kinematics with these methods are,

-both methods require a computer capable of mathematical calculations

-the methods do not adapt to compensate for damage, calibration errors, wear, etc.

-solutions may be slow, especially for iterative solutions

-solutions are valid only for a specific robot

advantages of using these methods are,

-both solutions will yield exact answers

-properties of both of these methods are well known

16.4.1.2 - Feed Forward Neural Networks

A feed forward neural network was used with a sigmoidal activation function

the back propagation learning technique was used.

disadvantage of these network is

-unpredictable errors occur in the soltuion

-discontinuous problem spaces cause problems for the networks

-training may be very slow

-these networks are not well understood

-neuro computers are not commonly available

• advantages

-the architecture is fault tolerant

-faster calculations

-can be adjusted for changes in the robot configuration

-the controllers are not specific to a single robot

16.4.1.3 - The Neural Network Setup

• The figure below shows how the neural network was configured to solve the problem

page 224

Px

 

 

 

 

 

Inverse

 

 

 

 

Py

 

 

 

 

 

Kinematics

 

 

 

 

 

Neural

Pz

 

 

 

 

 

Network

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1st Error

 

 

 

 

 

 

 

 

 

 

 

 

Correction

 

 

 

 

 

 

Neural

 

 

 

 

 

 

Network

 

 

 

 

 

 

 

 

 

 

 

 

 

 

nth Error Correction Neural Network

θ

θ

θ

∆θ

∆θ ∆θ

∆θ

∆θ ∆θ

1

2

3

1

2

3

1

2

3

• The first neural network estimates the proper inverse kinematics. This will contain a small error, therefore a second net is used to estimate the errors. Additional correction networks can be added after this.

Px

θ 1

P

θ 2

y

θ 3

P

z

 

 

+1

• The networks were generally connected with

Соседние файлы в предмете Электротехника