gugus

Dependencies:   mbed

Revision:
0:1a0321f1ffbc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TaskMove.h	Fri May 18 12:18:21 2018 +0000
@@ -0,0 +1,38 @@
+/*
+ * TaskMove.h
+ * Copyright (c) 2018, ZHAW
+ * All rights reserved.
+ */
+
+#ifndef TASK_MOVE_H_
+#define TASK_MOVE_H_
+
+#include <cstdlib>
+#include "Controller.h"
+#include "Task.h"
+
+/**
+ * This is a specific implementation of a task class that moves the robot with given velocities.
+ */
+class TaskMove : public Task {
+    
+    public:
+        
+        static const float  DEFAULT_DURATION;   /**< Default duration, given in [s]. */
+        
+                    TaskMove(Controller& controller, float translationalVelocity, float rotationalVelocity);
+                    TaskMove(Controller& controller, float translationalVelocity, float rotationalVelocity, float duration);
+        virtual     ~TaskMove();
+        virtual int run(float period);
+        
+    private:
+        
+        Controller& controller;             // reference to controller object to use
+        float       translationalVelocity;  // translational velocity, given in [m/s]
+        float       rotationalVelocity;     // rotational velocity, given in [rad/s]
+        float       duration;               // duration to move the robot, given in [s]
+        float       time;                   // current time, given in [s]
+};
+
+#endif /* TASK_MOVE_H_ */
+