1
1
from arduino_alvik import ArduinoAlvik
2
2
from time import sleep_ms
3
- import sys
3
+
4
4
5
5
alvik = ArduinoAlvik ()
6
6
alvik .begin ()
7
7
8
- while True :
9
- try :
8
+ try :
9
+
10
+ alvik .move (100.0 , 'mm' )
11
+ print ("on target after move" )
12
+
13
+ alvik .move (50.0 , 'mm' )
14
+ print ("on target after move" )
15
+
16
+ alvik .rotate (90.0 , 'deg' )
17
+ print ("on target after rotation" )
10
18
11
- alvik .move ( 100.0 , 'mm ' )
12
- print ("on target after move " )
19
+ alvik .rotate ( - 45.00 , 'deg ' )
20
+ print ("on target after rotation " )
13
21
14
- alvik .move ( 50.0 , 'mm' )
15
- print ( "on target after move" )
22
+ x , y , theta = alvik .get_pose ( )
23
+ print ( f'Current pose is x(cm)= { x } , y(cm)= { y } , theta(deg)= { theta } ' )
16
24
17
- alvik .rotate (90.0 , 'deg' )
18
- print ("on target after rotation" )
25
+ alvik .reset_pose (0 , 0 , 0 )
19
26
20
- alvik .rotate (- 45.00 , 'deg' )
21
- print ("on target after rotation" )
27
+ x , y , theta = alvik .get_pose ()
28
+ print (f'Updated pose is x(cm)={ x } , y(cm)={ y } , theta(deg)={ theta } ' )
29
+ sleep_ms (500 )
22
30
23
- x , y , theta = alvik .get_pose ()
24
- print (f'Current pose is x(cm)={ x } , y(cm)={ y } , theta(deg)={ theta } ' )
31
+ print ("___________NON-BLOCKING__________________" )
25
32
26
- alvik .reset_pose ( 0 , 0 , 0 )
33
+ alvik .move ( 50. 0 , 'mm' , blocking = False )
27
34
28
- x , y , theta = alvik .get_pose ()
29
- print (f'Updated pose is x(cm)={ x } , y(cm)={ y } , theta(deg)={ theta } ' )
35
+ while not alvik .is_target_reached ():
36
+ alvik .left_led .set_color (1 , 0 , 0 )
37
+ sleep_ms (500 )
38
+ alvik .left_led .set_color (0 , 0 , 0 )
39
+ sleep_ms (500 )
40
+ print ("on target after move" )
41
+
42
+ alvik .rotate (45.0 , 'deg' , blocking = False )
43
+ while not alvik .is_target_reached ():
44
+ alvik .left_led .set_color (1 , 0 , 0 )
45
+ sleep_ms (500 )
46
+ alvik .left_led .set_color (0 , 0 , 0 )
30
47
sleep_ms (500 )
48
+ print ("on target after rotation" )
31
49
32
- print ("___________NON-BLOCKING__________________" )
33
-
34
- alvik .move (50.0 , 'mm' , blocking = False )
35
-
36
- while not alvik .is_target_reached ():
37
- alvik .left_led .set_color (1 , 0 , 0 )
38
- sleep_ms (500 )
39
- alvik .left_led .set_color (0 , 0 , 0 )
40
- sleep_ms (500 )
41
- print ("on target after move" )
42
-
43
- alvik .rotate (45.0 , 'deg' , blocking = False )
44
- while not alvik .is_target_reached ():
45
- alvik .left_led .set_color (1 , 0 , 0 )
46
- sleep_ms (500 )
47
- alvik .left_led .set_color (0 , 0 , 0 )
48
- sleep_ms (500 )
49
- print ("on target after rotation" )
50
-
51
- alvik .move (100.0 , 'mm' , blocking = False )
52
- while not alvik .is_target_reached ():
53
- alvik .left_led .set_color (1 , 0 , 0 )
54
- sleep_ms (500 )
55
- alvik .left_led .set_color (0 , 0 , 0 )
56
- sleep_ms (500 )
57
- print ("on target after move" )
58
-
59
- alvik .rotate (- 90.00 , 'deg' , blocking = False )
60
- while not alvik .is_target_reached ():
61
- alvik .left_led .set_color (1 , 0 , 0 )
62
- sleep_ms (500 )
63
- alvik .left_led .set_color (0 , 0 , 0 )
64
- sleep_ms (500 )
65
- print ("on target after rotation" )
66
-
67
- x , y , theta = alvik .get_pose ()
68
- print (f'Current pose is x(cm)={ x } , y(cm)={ y } , theta(deg)={ theta } ' )
69
-
70
- alvik .reset_pose (0 , 0 , 0 )
71
-
72
- x , y , theta = alvik .get_pose ()
73
- print (f'Updated pose is x={ x } , y={ y } , theta(deg)={ theta } ' )
50
+ alvik .move (100.0 , 'mm' , blocking = False )
51
+ while not alvik .is_target_reached ():
52
+ alvik .left_led .set_color (1 , 0 , 0 )
74
53
sleep_ms (500 )
54
+ alvik .left_led .set_color (0 , 0 , 0 )
55
+ sleep_ms (500 )
56
+ print ("on target after move" )
57
+
58
+ alvik .rotate (- 90.00 , 'deg' , blocking = False )
59
+ while not alvik .is_target_reached ():
60
+ alvik .left_led .set_color (1 , 0 , 0 )
61
+ sleep_ms (500 )
62
+ alvik .left_led .set_color (0 , 0 , 0 )
63
+ sleep_ms (500 )
64
+ print ("on target after rotation" )
65
+
66
+ x , y , theta = alvik .get_pose ()
67
+ print (f'Current pose is x(cm)={ x } , y(cm)={ y } , theta(deg)={ theta } ' )
68
+
69
+ alvik .reset_pose (0 , 0 , 0 )
70
+
71
+ x , y , theta = alvik .get_pose ()
72
+ print (f'Updated pose is x={ x } , y={ y } , theta(deg)={ theta } ' )
73
+ sleep_ms (500 )
75
74
76
- alvik . stop ()
77
- sys . exit ( )
75
+ except KeyboardInterrupt as e :
76
+ print ( 'Test interrupted' )
78
77
79
- except KeyboardInterrupt as e :
80
- print ('over' )
81
- alvik .stop ()
82
- sys .exit ()
78
+ finally :
79
+ alvik .stop ()
80
+ print ("END of pose example" )
0 commit comments