Skip to content

Commit 8d0f29d

Browse files
committed
robot pose
1 parent 8d677cd commit 8d0f29d

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

examples/firmware_01/firmware_01.ino

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,9 @@ void loop(){
209209
// robot speed
210210
msg_size = packeter.packetC2F('v', alvik.getLinearVelocity(), alvik.getAngularVelocity());
211211
alvik.serial->write(packeter.msg, msg_size);
212+
// pose
213+
msg_size = packeter.packetC3F('s', alvik.getX(), alvik.getY(), alvik.getTheta());
214+
alvik.serial->write(packeter.msg, msg_size);
212215

213216
if (alvik.getKinematicsMovement()!=MOVEMENT_DISABLED){
214217
if (alvik.isTargetReached()){

src/Arduino_AlvikCarrier.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,18 @@ float Arduino_AlvikCarrier::getAngularVelocity(){
704704
return kinematics->getAngularVelocity();
705705
}
706706

707+
float Arduino_AlvikCarrier::getX(){
708+
return kinematics->getX();
709+
}
710+
711+
float Arduino_AlvikCarrier::getY(){
712+
return kinematics->getY();
713+
}
714+
715+
float Arduino_AlvikCarrier::getTheta(){
716+
return kinematics->getTheta();
717+
}
718+
707719
void Arduino_AlvikCarrier::lockingRotate(const float angle){
708720
float initial_angle = kinematics->getTheta();
709721
float final_angle = angle+initial_angle;

src/Arduino_AlvikCarrier.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,9 @@ class Arduino_AlvikCarrier{
222222
void drive(const float linear, const float angular); // set mm/s and deg/s of the robot
223223
float getLinearVelocity(); // get linear velocity of the robot in mm/s
224224
float getAngularVelocity(); // get angular velocity of the robot in deg/s
225+
float getX(); // absolute position in mm
226+
float getY(); // absolute position in mm
227+
float getTheta(); // angle in deg
225228

226229
void move(const float distance); // move of distance millimeters
227230
void rotate(const float angle); // rotate of angle degrees

0 commit comments

Comments
 (0)