gugus

Dependencies:   mbed

Committer:
Brignall
Date:
Fri May 18 12:18:21 2018 +0000
Revision:
0:1a0321f1ffbc
lala;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Brignall 0:1a0321f1ffbc 1 /*
Brignall 0:1a0321f1ffbc 2 * TaskMove.h
Brignall 0:1a0321f1ffbc 3 * Copyright (c) 2018, ZHAW
Brignall 0:1a0321f1ffbc 4 * All rights reserved.
Brignall 0:1a0321f1ffbc 5 */
Brignall 0:1a0321f1ffbc 6
Brignall 0:1a0321f1ffbc 7 #ifndef TASK_MOVE_H_
Brignall 0:1a0321f1ffbc 8 #define TASK_MOVE_H_
Brignall 0:1a0321f1ffbc 9
Brignall 0:1a0321f1ffbc 10 #include <cstdlib>
Brignall 0:1a0321f1ffbc 11 #include "Controller.h"
Brignall 0:1a0321f1ffbc 12 #include "Task.h"
Brignall 0:1a0321f1ffbc 13
Brignall 0:1a0321f1ffbc 14 /**
Brignall 0:1a0321f1ffbc 15 * This is a specific implementation of a task class that moves the robot with given velocities.
Brignall 0:1a0321f1ffbc 16 */
Brignall 0:1a0321f1ffbc 17 class TaskMove : public Task {
Brignall 0:1a0321f1ffbc 18
Brignall 0:1a0321f1ffbc 19 public:
Brignall 0:1a0321f1ffbc 20
Brignall 0:1a0321f1ffbc 21 static const float DEFAULT_DURATION; /**< Default duration, given in [s]. */
Brignall 0:1a0321f1ffbc 22
Brignall 0:1a0321f1ffbc 23 TaskMove(Controller& controller, float translationalVelocity, float rotationalVelocity);
Brignall 0:1a0321f1ffbc 24 TaskMove(Controller& controller, float translationalVelocity, float rotationalVelocity, float duration);
Brignall 0:1a0321f1ffbc 25 virtual ~TaskMove();
Brignall 0:1a0321f1ffbc 26 virtual int run(float period);
Brignall 0:1a0321f1ffbc 27
Brignall 0:1a0321f1ffbc 28 private:
Brignall 0:1a0321f1ffbc 29
Brignall 0:1a0321f1ffbc 30 Controller& controller; // reference to controller object to use
Brignall 0:1a0321f1ffbc 31 float translationalVelocity; // translational velocity, given in [m/s]
Brignall 0:1a0321f1ffbc 32 float rotationalVelocity; // rotational velocity, given in [rad/s]
Brignall 0:1a0321f1ffbc 33 float duration; // duration to move the robot, given in [s]
Brignall 0:1a0321f1ffbc 34 float time; // current time, given in [s]
Brignall 0:1a0321f1ffbc 35 };
Brignall 0:1a0321f1ffbc 36
Brignall 0:1a0321f1ffbc 37 #endif /* TASK_MOVE_H_ */
Brignall 0:1a0321f1ffbc 38