1.6.1. .
.
, .
.
.
delta .
1.6.2. .
: , .. .
: q 0 q T, , , , . , q 0 q T.
:
1) , .
2) , ( , , q0 q T ).
3) .
a1 £ q (t) £ a2, (1.7)
a1 -
a2 -
1.6.3. .
, , , , . .
. . q *. , , . , , . . q *.
1. q 0. r- q 0 (. 1.3).
|
|
. 1.3 q 0
, , Y(q 0). , , Q(q 0). , , Z(q 0). L(q 0, q T), q 0 c q T, , (1.7) Q(q 0). q 1ÎY(q 0). , , , q n (n=1, 2,...).
2. q nÎY(q n-1), r- q n Y(q n), Q(q n) Z(q n). :
) L, , Q(q n). ;
) L, , Q(q n) (. 1.4).
. 1.4 Z(qn) Q(qn) r L
q s, Q(q n). q s, L(q s, q T), Q(q i), i=0, 1,..., n .
3. q n+1ÎY(q n), (. 2), n+1 n.
1.6.4. .
, .
, x y.
:
1. q 0(x,y), q T(x,y) ;
2. mZap[z](x,y) - ;
3. z - ;
4. delta - ;
5. qL(x,y) qH(x,y) .
:
1. mRez[n](x,y) - ;
2. n - .
1.6.5. .
[S.M. LaValle].
n-, q 0 q T (. 1.5).
. 1.5 . 1 2, q 0 q T .
1. q 0 q T. , , , .
1.1. 1 n.
1.2. m- .
|
|
. 1.6 q0
2. , , , . , , (. 1.7).
. 1.7 , .
3. k- q 0 q T. , .. (. 1.8).
. 1.8 .
:
:
, delta (. 1.9)
. 1.9 qi 8 .
, , delta.
1 : q 0(x,y), q T(x,y), mZap[z](x,y), delta, qL(x,y) qH(x,y) (. 1.10).
. 1.10 , mZap[0], mZap[1], mZap[2].
2 Pr[] q 0 q T :
2.1 q i = q 0.
2.2 q i q T Ax+By+C=0.
2.3 q i q i+1 , Ax+By+C=0 q T.
q i q T :
(1)
Ax+By+C=0 :
Ax+By+C=0:
A = Y q T - Y q 0,
B = X q 0 - X q T,
C = - X q 0*A - Y q 0*B,
> 0, M=-M.
q i Ax+By+C=0 :
P = A*M* X q i + B*M* Y q i + C*M; (2)
Ax+By+C=0 q T , Summa=P+D .
2.4 mPr[i+1]= q i+1 q i= q i+1.
2.5 . 2.2 q i q T.
(. 1.11).
. 1.11 . 0-5 .
3 . , .. q 0 q T , mPr[] mRez[] . , ( - mZap[2] mZap[1]), .
(. 1.11) , 2 4 mZap[2] mZap[1] . mZap[0].
4 ( mZap[2] mZap[1]). . , .
5 () , .. , (. 1.12). .
|
|
. 1.12 MZap[2] 2.1, 2.2, 2.3, 2.4.
.
6 q 0 q T :
6.1 q 0 q i = q 0.
6.2 , mRez[i]=qi q T.
6.3 .
6.4 ( ) ( ) (.. ) , mRez[].
6.5 q T, .. .6.2
6.6 , q i q T (. 1.13).
6.6.6.2 .
. 1.13 . 0-5 mRez[6].
1.6.6. .
. 1.14
. 1.15
1.6.7. .
, , , . , .. .
, .
1.6.8. .
. , . , . , , .
, , , C, C++, Pascal.
, (. 1.2).
1.2
++ | Pascal | ||
(for), 1 | P | P | |
(for), | P | ||
, | P | P | |
new, delete . | P | P | |
P | |||
P | |||
P | |||
P | P | ||
P | |||
P | P | ||
P | P | ||
P | P | ||
P | |||
P | |||
P | P | ||
P | |||
: |
|
|
:
, , , , , . . , C++ , Pascal. ++ , ++ . Borland C++ v5.01. Borland C++ v5.01 - Borland C++ Builder v6.0.
1.6.9. .
(. 1.14). (. 2). (. 1.15).
1.6.10. .
, (. 1) c delta = 120 q0 qT(. 1.16).
1.16 delta=120. φ1 φ2 ( ).
q0
qT
124
. delta > 50. delta < 50, .. , , .
1.6.11. .
Nilson (. 1) (.1.3).
1.3
delta, ˚ | , | |||
Nilson | ||||
1 | ||||
1 | ||||
1 | ||||
1 | ||||
4.5 | - | |||
- | ||||
- | ||||
- | ||||
1.5 | - |
, 5- delta > 50. .
n- , , , . , , . , .
1.6.12.
:
OS Windows 98/Me/2000/XP ( 32 )
CPU Intel/AMD 1500
RAM 256 MB
C++ Builder 6. .
:
Probot.h, Urobot.h, Urobot2.h
Probot.cpp, Urobot.cpp,Urobot2.h -
Probot.res, Probot.def
Finish_optimized.cpp .
:
|
|
Probot.exe , C++ Builder.
, Probot.exe, ( C:\Program Files\Borland\CBuilder6\Projects\_).
32 - exe . Robot.exe. :
1. q 0(x,y), q T(x,y) ;
2. delta - ;
3. .
"". , .
"" . , , . "" , . . .
, .
. . , , .
1.7.1.
:
,
S ;
n ;
t , , -;
, ./.;
, , ; ( / , , , 30%).
K , , ;
, , ( 2,0 4,0);
t , -;
1 , ./-.
, , , . 1000 . 20 (1 80 ). 6 .
n = 1
t p = 4 .;
= 1000 ./.;
t = 1 .;
= 0,6;
= 0,358;
= 2;
= 2,9 ./.
:
S = 4´1000´[(1+0,6)´(1+0,358)+2]+1´2,9 = 16694,1 .
:
Z = S + 0,2 × S
Z .
Z = 16694,1+16694,1´0,2 = 20032,92 .
1.7.2. ,
. :
= + + ,
, , ./;
, .;
, .;
, .
= 20000, .. , = 0. . , .
= 0 .
.
1.7.3.
:
= + + + + + + ,
;
, ./;
, ./;
, ./;
, ./;
, ./;
( 0,28 ./);
, ./.
, , , .
, , , , , , .
B (250 ).
:
= N × × n,
(6 .);
N ;
n .
N = 253,3;
n = 4;
= 22 ´ 6 ´ 4 = 528 .
= 528 ´ 0,28 ´ 0,25 = 36,96 ./.
( , ) 1% .
= 0,01 × K = 0,01 × 20000 = 200 /.
,
.
:
,
( = 6 );
(8 ).
:
= 833,33 +66,67+36,96= 936,96 ./.
1 :
,
.