Professional Documents
Culture Documents
1. INTRODUCTION
With the development of robots and flexible automatic
technology, all kinds of joint robots have been applied widely.
Research on flexible robot, which has been a hot point of
research all over the world, extends application fields of
robots and makes mechanism properties of robot accord with
human being. Due to the fact that flexible robots have
flexible units, it is easy to produce bend deformed during
movement and brings many difficulties for the dynamic
model building and controlling of flexible robots. While the
establishing of accurate and practical dynamic model is the
premise to design the controller with high performance.
Recent years many scholars all over the world study the
problem of building the dynamic model of flexible robots and
have gained achievements mostly in research about flexible
arms, such as Low and Vidyasagar, Kan reveals the
phenomenon of heat strengthen dynamics, also the
documents research on flexible arms.
m2
m3
m1
1
M
Fig. 2. The real flexible robot and the side view of bending
flexible robot
3.1 Kinematics of flexible robot
The flexible robot researched in this paper has two dimension
gyroscopes, which is driven by two motors on horizontal
surface and shown in Fig. 2. m1 is the quality of the robots
base. M is the quality of motors and wheels. m3 is the quality
of the lumbar spine. The quality of the upper body of flexible
..
. 2
1
3K (1 2 )
sec(1 2 )(
3((2l1 l3 )(l 2 l3 ) sin(1 2 ) 1 (l 2
3(2l1 l3 )(l2 l3 )
m2
. 2
2 ) g (l3 (m2 m3 ) l1 (m1 2(m2 m3 ))) sin 1 ( 2l1 l3 )(l2 l3 )m2 sin(1 2 ) 2 )
2
7l1 m1
(2l1 l3 ) 2 (m2 m3 ))( K ( 1 2 ) 1 (2l1 l3 )(l 2 l3 )m2 sin(1 2 ) (l2
3
2
1
7l m
2
2
l3 )m2 g sin 2 )) ( (7l 2 6l2 l3 3l3 )m2 ( 1 1 ( 2l1 l3 ) 2 (m2 m3 )) (2l1 l3 ) 2
3
3
. 2
. 2
. 2
2(m2 m3 ))) sin 1 2 (l2 l3 )m2 sin 2 ) (l3 ( m2 m3 ) l1 (m1 2( m2 m3 ))) cos1
. 2
( K (1 2 ) 1 ( 2l1 l3 )(l2 l3 )m2 sin(1 2 ) (l2 l3 ) m2 g sin 2 )))) /(m2 (m2 (7l2
7l1 m1
(2l1 l3 ) 2 (m2 m3 )) 3(2l1 l3 ) 2 (l 2 l3 ) 2 m2 cos 2 (1 2 ))((2l1
3
l3 )( M m1 m2 m3 ) cos(1 2 ) (l3 ( m2 m3 ) l1 (m1 2( m2 m3 ))) cos 1 cos 2 )
6l2l3 3l3 )(
2
7l1 m1
( 2l1 l3
3
1
2
2
) 2 (m2 m3 )) cos 2 )( (7l 2 6l 2l3 3l3 ) m2 (l3 ( m2 m3 ) l1 (m1 2( m2 m3 ))) cos1
3
2
2
2
( 2l1 l3 )(l2 l3 ) 2 m2 cos(1 2 ) cos 2 ))) ((7l2 6l2l3 3l3 )((2l1 l3 )(l2 l3 ) m2 cos
. 2
. 2
1
2
2
m1 2(m2 m3 ))) cos 1 cos 2 )(( (7l2 6l2l3 3l3 )m2 (l3 ( m2 m3 ) l1 (m1 2( m2 m3
3
2
2
))) cos1 ( 2l1 l3 )(l2 l3 ) m2 cos(1 2 ) cos 2 )((2l1 l3 )(l 2 l3 ) m2 cos(1 2 )( K (
L( q, q ) T ( q, q ) V ( q, q )
(1)
In which: L Lagrange operator; q generalized
coordinate of system; T total kinetic energy of system;
V general potential energy of system.
1) The total kinetic energy of flexible robot:
. 2
. 2
.
.
. 2
1
1
7
2
T M x m1 x m1 x l1 1 cos 1 m1l1 1
2
2
6
. 2
.
.
.
1
m2 ( x 2 x((2l1 l 3 ) 1 cos 1 (l 2 l 3 ) 2 cos 2 ))
2
. 2
.
.
1
(2)
m 2 ((2l1 l 3 ) 2 1 2(2l1 l 3 )(l 2 l 3 ) 1 2
2
. 2
1
1
2
2
cos( 2 1 )) m 2 (7l 2 3l 3 6l 2 l 3 ) 2 m3
6
2
. 2
.
.
. 2
1
x m3 x(2l1 l 3 ) 1 cos 1 m3 (2l1 l 3 ) 2 1
2
2) The general potential energy of flexible robot:
V m1 gl1 cos 1 m 3 g (2l1 l 3 ) cos 1
(3)
m 2 g ((2l1 l 3 ) cos 1 (l 2 l 3 ) cos 2 )
3) The general dissipated energy of flexible robot:
k
U ( 2 1 ) 2
(4)
2
In which: U is the dissipated energy of springs. The stiffness
coefficient of springs is k .
By a series of complex derivation and arrangement to the
formulas and then solving algebraic equations can receive the
dynamic equations of flexible robot finally. The formulas (5),
(6) and (7) are the dynamic model of the flexible twowheeled self-balancing robot. Those are a group of highly
nonlinear and coupled of constant differential equations.
. 2
7l1 m1
(2l1 l3 ) 2 (m2 m3 ))( K ( 1 2 ) 1 (2l1 l3 )(l 2 l3 ) m2 sin(1 2 )
3
2
1
7l m
2
2
(l 2 l3 ) m2 g sin 2 )) ( (7l 2 6l 2l3 3l3 ) m2 ( 1 1 ( 2l1 l3 ) 2 ( m2 m3 )) (2l1
3
3
. 2
2 ) (
. 2
. 2
))) cos1 ( K (1 2 ) 1 (2l1 l3 )(l2 l3 )m2 sin(1 2 ) (l2 l3 )m2 g sin 2 )))) /(m2
(5)
7l m
(7l 2 6l 2l3 3l3 )( 1 1 (2l1 l3 ) 2 (m2 m3 )) 3(2l1 l3 ) 2 (l2 l3 ) 2 m2 cos 2 (1 2
3
))((2l1 l3 )( M m1 m2 m3 ) cos(1 2 ) (l3 ( m2 m3 ) l1 (m1 2( m2 m3 ))) cos1
2
7l1 m1
1
2
2
( 2l1 l3 ) 2 (m2 m3 )) cos 2 )( (7l2 6l 2l3 3l3 ) m2 (l3 (m2 m3 ) l1 ( m1 2(m2 m3 )))
3
1
2
2
2
cos 1 (2l1 l3 )(l2 l3 ) 2 m2 cos(1 2 ) cos 2 )))) /( (7l2 6l2l3 3l3 )m2 (l3 ( m2
3
2
m3 ) l1 (m1 2( m2 m3 ))) cos1 (2l1 l3 )(l2 l3 ) 2 m2 cos(1 2 ) cos 2 )))
. 2
..
2 (( 2l1 l3 )(l2 l3 )m2 cos(1 2 )( F 1 (l3 (m2 m3 ) l1 (m1 2(m2 m3 ))) sin 1
. 2
. 2
2 (l2 l3 )m2 sin 2 ) (l3 (m2 m3 ) l1 (m1 2(m2 m3 ))) cos1 ( K (1 2 ) 1 (2l1
l3 )(l2 l3 )m2 sin(1 2 ) (l2 l3 )m2 g sin 2 ) (3((2l1 l3 )( M m1 m2 m3 ) cos(1
1
2
2
2 ) (l3 (m2 m3 ) l1 ( m1 2(m2 m3 ))) cos1 cos 2 )(( (7l2 6l2l3 3l3 )m2 (l3 (m2
3
2
m3 ) l1 (m1 2(m2 m3 ))) cos1 (2l1 l3 )(l2 l3 ) 2 m2 cos(1 2 ) cos 2 )((2l1 l3 )(l2
l3 )m2 cos(1 2 )( K (1 2 ) g (l3 ( m2 m3 ) l1 (m1 2(m2 m3 ))) sin 1 (2l1 l3 )
2
. 2
7l1 m1
(2l1 l3 ) 2 (m2 m3 ))( K ( 1 2 ) 1 (2l1 l3 )(l2
3
2
1
7l m
2
2
l3 )m2 sin(1 2 ) (l2 l3 ) m2 g sin 2 )) ( (7l2 6l2l3 3l3 )m2 ( 1 1 (2l1 l3 ) 2
3
3
2
( m2 m3 )) ( 2l1 l3 ) 2 (l2 l3 ) 2 m2 cos2 (1 2 ))((2l1 l3 )(l2 l3 )m2 cos(1 2 )( F
. 2
. 2
. 2
1 (l3 (m2 m3 ) l1 (m1 2(m2 m3 ))) sin 1 2 (l2 l3 )m2 sin 2 ) (l3 ( m2 m3 ) l1 (m1
. 2
7l1 m1
(2l1 l3 ) 2 (m2 m3 )) 3(2l1 l3 ) 2 (l2 l3 ) 2 m2
3
2
cos (1 2 ))((2l1 l3 )(M m1 m2 m3 ) cos(1 2 ) (l3 (m2 m3 ) l1 (m1 2(m2
m3 ))) cos1 cos 2 ) 3((2l1 l3 )(l3 ( m2 m3 ) l1 (m1 2(m2 m3 ))) cos1 cos(1 2 )
2
7l m
1
2
2
( 1 1 (2l1 l3 ) 2 (m2 m3 )) cos 2 )( (7l2 6l2l3 3l3 )m2 (l3 (m2 m3 ) l1 (m1 2
3
3
1
2
2
2
( m2 m3 ))) cos1 (2l1 l3 )(l2 l3 ) 2 m2 cos(1 2 ) cos 2 ))) /( (7l2 6l2l3 3l3 )m2 (l
3
2
2
3 ( m2 m3 ) l1 ( m1 2( m2 m3 ))) cos1 ( 2l1 l3 )(l 2 l3 ) m2 cos(1 2 ) cos 2 )
(6)
..
x (3( ((1 / 3)(7l2 6l2l3 3l3 )m2 (l3 (m2 m3 ) l1 ( m1 2(m2 m3 ))) cos 1 (2l1 l3 )
2
. 2
m3 ) l1 (m1 2(m2 m3 ))) sin 1 ( 2l1 l3 )(l2 l3 )m2 sin(1 2 ) 2 ) ((7 / 3)l1 m1
2
. 2
(7)
sin 2 )) ((1 / 3)(7l2 6l2l3 3l3 )m2 ((7 / 3)l1 m1 (2l1 l3 ) 2 (m2 m3 )) (2l1 l3 ) 2
2
. 2
. 2
(m1 2( m2 m3 ))) sin 1 2 (l2 l3 )m2 sin 2 ) (l3 (m2 m3 ) l1 ( m1 2(m2 m3 )))
. 2
4.5
2(rad)
4
angle(rad)
3.5
2.5
x
1
x 1 0 0 0 0 0 0
2
y 1 0 1 0 0 0 0 . 0 F
(9)
x.
2 0 0 1 0 0 0 0
.1
2
The formulas (8) and (9) are the state-space equations of the
flexible two-wheeled self-balancing robot. Those are a group
of linear equations. The linear model is easy and convenient
to control and realize using linearization control.. All K12 , K13 ,
K17 , K 22 , K 23 , K 27 , K 32 , K 33 , K 37 are constant function
about m1 , M, m3 , m 2 , l 1 , l 3 , l 2 .
6. OPTIAONAL CONTROLLER LQR
1.5
1
0 0
0 0 1 0 1 0
.
0 0 0 1 2 0
2 0 0
(8)
. F
..
0 K 32 K 33 0 0 0 x K 37
x
.
..
1 0 K12 K13 0 0 0 1 K17
.
.. 0 K
K 23 0 0 0 2 K 27
22
20
40
60
t(s)
80
100
120
0.1
robot angle1(rad)
0.06
0.15
0.04
0.1
0.02
0.05
-0.02
-0.05
robot angle2(rad)
0.08
0.2
10
-0.04
(a) k is 10
0.1
10
(b) k is 50
robot angle1(rad)
0.1
robot angle2(rad)
0.08
0.08
0.06
0.04
0.04
0.02
0.02
-0.02
-0.04
-0.02
(c) k is 100
10
0.06
robot angle1(rad)
robot angle2(rad)
0.25
10
(d) k is 10000
Fig. 4 shows the base and body of robot adjust smooth and
quickly, their phases are same basically, however their angles
of adjusting have larger difference, when the flexible joint
has effect, but the springs has no effect. Also the flexible of
spring is very larger ( k is very little). With the stiffness
coefficient of spring k increases gradually and the effects of
spring become stronger, it can be seen the adjusting times is
more, their angles of adjusting have larger difference,
however their phases is same basically from Fig. 4. (a) and
(b). With the stiffness coefficient of spring k increasing
gradually and the effects of spring become more stronger, it
can be seen the adjusting times is little and the overshoot also
is very little, the curves of 2 coincides with the curves of 1
from Fig. 4. (c) and (d).
This paper has done many simulation experiments then the
maximum initial angle is 14.66o (if the initial angle over
14.66o, the experiment will fail). The initial state of flexible
robot is given an initial angle approximate 5.7 o and the robot
can go back to the upright self-balancing condition in
approximate 6 s . When the initial state of flexible robot is
given an initial angle within a range of less than 14.66 o, the
flexible robot can adjust to the balance condition by itself in
the simulation experiments. Validity and rationality of the
system model and the design controller are verified through
the performance simulation experiments of the prototype.
7. THE EXPERIMENT of REAL ROBOT
L
is
express
it
in
k
moment.
Since
384( L r * N * M 1 * 6 * 64 384 ), so there are 384
neurons in the network. DHNN and the Boltzmann machine a
384-order network are a 384 neurons of DHNN and the
Boltzmann machine composed of the six-tuple:
(N )
ncm DHN
VG , AG , IF , OF ,WA, OA
and
(N )
ncmBLT
VG , AG , IF , OF ,WA, OA .
through
formulas
D1
D 2
Di ( Di1, Di 2, , Di * 64) R 1*384
D3
(2 1 ,2 2 , ,2 64 ) R 1*64 (1 i, j 64)
D
Dij
D 4
01*64 i ji j
D5
D6
Step2; Integration: Calculating the integrated input of
N
neuron u j (t 1)
D (t ) I
ij
i 1
state of inside u i .
Step3; Excitation:
Update
the
state
of
neuron
j (t )
v j V
j (t 1) 1 v j VG( t ) and u j (t ) I j
)
1 v V ( t ) and u (t ) I
j
G
j
j
T
(t ) (1 (t ), 2 (t ),..., N (t )) . The output state of other
neurons
remains
unchanged
(
X j (t 1) X j (t )
(t )
G
W diag ( D T FD ) D T FD
( Wii 0(i, j 1,2,...,384) )
I DT D
D1
D 2
Di ( Di1, Di 2, , Di * 64) R 1*384
D3
(2 1 ,2 2 , ,2 64 ) R 1*64 (1 i, j 64) .
D
Dij
D
01*64 i ji j
D5
D6
Step2; Choose Integration---Excitation unit; Choose BLT
neuron in random v j VG , ( j 1,2,..., N ) .
Step3; Integration: Calculating the integrated input of
N
u j (t )
neuron
W (t ) I
ij
i 1
The
method
of
update
network:
If u j (t 1) 0 ,
when
update
the
state
of
remains
neuron v j .
(N )
j (t 1) j (t ) ( j 1,2,...,384; j i ) . The state of ncm BLT
is
(t 1) after exciting.
Step5: Cycle: Replacement of a neuron from 384 neurons to
update its state to repeat the Step1
(N )
Step6: Until the ncm BLT
reaches thermal equilibrium in T (k ) .
Step7: Cooling Metropolis cycle: Choose T (k ) T (k 1) , and
then turn the step2.
(N)
Step8: Conditions stop: if T (k ) is low enough ncm DHNN
or
less acceptable to the state of adequate, output the optimal
solution (TFinal )(TFinal T (k )) and stop work.
The running steps of the improved Boltzmann machine of
Simulated Annealing Algorithm:
Step1; Initialization: Initialize the network weights and given
a random initial value of network neuron V0 .
V = [1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 1 1 -1 1 -1 1 -1 1 -1 -1 1 -1 -1 -1 -1 1 1 -1 -1 1 1
-1 1 1 -1 1 -1 -1 -1 1 -1 -1 1 1 -1 1 1 1 -1 1 -1 1 -1 -1 -1 1 1
-1 1 -1 1 1 1 1 -1 1 1 -1 -1 1 -1 1 -1 -1 1 1 -1 -1 1 1 1 1 1 -1 1
-1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 1 1 1 1 -1 1 -1 1 -1 -1 1 -1 1
-1 -1 1 1 1 -1 -1 1 1 1 1 -1 -1 1 1 -1 1 -1 -1 -1 1 -1 -1 1 1 -1 1
1 1 1 1 -1 -1 -1 1 -1 -1 1 -1 1 -1 1 1 1 1 1 -1 1 1 1 -1 -1 -1 -1
-1 1 1 -1 1 -1 1 1 1 1 1 -1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 -1 1
1 -1 -1 -1 -1 -1 1 -1 1 1 1 -1 -1 -1 -1 1 -1 -1 -1 1 1 -1 1 -1 1 -1
-1 -1 1 1 -1 -1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 1 -1 1 1 1 1 1 1 -1 -1
1 1 -1 -1 1 -1 1 -1 1 -1 -1 -1 -1-1 -1 -1 -1 -1 1 -1 -1 1 -1 1 -1
-1 -1 1 1 -1 1 -1 1 1 -1 1 -1 1 -1 1 -1 -1 -1 -1 1 1 1 1 1 1 -1
-1 -1 -1 1 1 1 1 -1 1 1 -1 -1 1 1 1 1 1 -1 1 -1 -1 -1 -1 -1 1 1 1
-1 1 1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1 -1 -1
1 1 1 -1 1 1 1 -1 1 1 -1 1 -1 1 1]
x1
x2
x3
x4
x5
x6
variable
.
x
.
1
.
2
..
x
..
1
..
1.0e-015 *
(0.0001)
1.0e-015 *
(-0.0006)
1.0e-015 *
(-0.0001)
1.0e-015 *
(-0.1111)
1.0e-015 *
(0.0001)
1.0e-015 *
(-0.0001)
1.0e-019 *
(0.0000)
1.0e-019 *
(0.0000)
1.0e-019 *
(0.0000)
1.0e-019 *
(0.0911)
1.0e-019 *
(0.6213)
1.0e-019 *
(-0.0030)
1.0e-018 *
(0.0091)
1.0e-018 *
(0.0621)
1.0e-018 *
(-0.0003)
1.0e-018 *
(-0.1002)
1.0e-018 *
(-0.6834)
1.0e-018 *
(0.0033)
1.0e-016 *
(-0.0010)
1.0e-016 *
(-0.0068)
1.0e-016 *
(0.0000)
1.0e-016 *
(-0.0162)
1.0e-016 *
(-0.1412)
1.0e-016 *
(0.0124)
1.0e-016 *
(-0.0162)
1.0e-016 *
(-0.1412)
1.0e-016 *
(0.0124)
1.0e-016 *
(-0.0099)
1.0e-016 *
(0.2736)
1.0e-016 *
(-0.1297)
1.0e-014 *
(-0.0001)
1.0e-014 *
(0.0027)
1.0e-014 *
(-0.0013)
1.0e-014 *
(0.0418)
1.0e-014 *
(0.3694)
1.0e-014 *
(-0.0305)
1.0e-013 *
(0.0042)
1.0e-013 *
(0.0369)
1.0e-013 *
(-0.0030)
1.0e-013 *
(-0.0129)
1.0e-013 *
(-0.1166)
1.0e-013 *
(0.0081)
In which: U is the control value of robot. xi ( i 1,2,...,6 ) is the state volume of the i step of the robots final six steps (the
infinite time domain is divided into six steps numerous limited time domain). The energy value of network
is E 3.3263e 009 , the performance index is J 1.8367e 028 .
The control values U is the order of magnitude on e-013
from the above table, have a very small amount of control
exist too. As the balance control of biological and people is a
continuous adjustment and maintain process. Instead of
standing motionless, but kept control the balance. Therefore
the control variables of the robot are not completely zero,
there should be a very small control variable.
The upper body angle, upper body angle speed, base angle,
base angle speed, speed and acceleration of robot are the
order of magnitude on e-013 from the above table, have a
very small amount of control exist too, the robot is in the
balance. As the balance control of biological the control
balance of robot is a dynamic process. If all of the variables
were completely zero and standing motionless, it is
inconsistent with the practical and biological characteristics.
So there should be very small variables with the ideal. Since
the other variables are the ideal, the control variables of the
robot are not completely zero. The robots balancing is a
continuous adjustment and maintain process. Because the
robots balancing is a dynamic process not a static point, the