9
9
10
10
*/
11
11
12
- // WIP
12
+ // This example shows how to implement kinematics commands and retrieve odometry data from Arduino_AlvikCarrier class
13
13
14
14
#include " Arduino_AlvikCarrier.h"
15
15
16
16
Arduino_AlvikCarrier alvik;
17
17
18
18
unsigned long tmotor=0 ;
19
19
unsigned long ttask=0 ;
20
+ unsigned long tled=0 ;
20
21
uint8_t task=0 ;
22
+ bool led_value = false ;
21
23
22
24
void setup () {
23
25
Serial.begin (115200 );
24
26
alvik.begin ();
25
27
ttask=millis ();
26
28
tmotor=millis ();
29
+ tled=millis ();
27
30
task=0 ;
28
31
}
29
32
@@ -33,19 +36,19 @@ void loop() {
33
36
alvik.updateMotors ();
34
37
alvik.updateKinematics ();
35
38
Serial.print (" \t " );
36
- Serial.print (alvik.kinematics -> getLinearVelocity ());
39
+ Serial.print (alvik.getLinearVelocity ());
37
40
Serial.print (" \t " );
38
- Serial.print (alvik.kinematics -> getAngularVelocity ());
41
+ Serial.print (alvik.getAngularVelocity ());
39
42
Serial.print (" \t " );
40
- Serial.print (alvik.kinematics -> getX ());
43
+ Serial.print (alvik.getX ());
41
44
Serial.print (" \t " );
42
- Serial.print (alvik.kinematics -> getY ());
45
+ Serial.print (alvik.getY ());
43
46
Serial.print (" \t " );
44
- Serial.print (alvik.kinematics -> getTheta ());
47
+ Serial.print (alvik.getTheta ());
45
48
Serial.print (" \n " );
46
49
}
47
50
48
- if (millis ()-ttask>5000 ){
51
+ if (( millis ()-ttask>5000 )||alvik. isTargetReached () ){
49
52
ttask=millis ();
50
53
switch (task){
51
54
case 0 :
@@ -56,7 +59,7 @@ void loop() {
56
59
alvik.drive (0 ,0 );
57
60
break ;
58
61
case 2 :
59
- alvik.rotate (- 90 );
62
+ alvik.move ( 100 );
60
63
break ;
61
64
case 3 :
62
65
alvik.disableKinematicsMovement ();
@@ -68,4 +71,17 @@ void loop() {
68
71
task=0 ;
69
72
}
70
73
}
74
+
75
+ if (millis ()-tled>200 ){
76
+ tled=millis ();
77
+ led_value=!led_value;
78
+ if (task==1 ){
79
+ alvik.setLedLeftGreen (false );
80
+ alvik.setLedLeftRed (led_value);
81
+ }
82
+ if (task==3 ){
83
+ alvik.setLedLeftRed (false );
84
+ alvik.setLedLeftGreen (led_value);
85
+ }
86
+ }
71
87
}
0 commit comments