Example project

Dependencies:   PM2_Libary Eigen

Revision:
42:d2d2db5974c9
Parent:
41:7484471403aa
Child:
43:0a124a21e227
--- a/Motion.h	Wed May 11 09:44:25 2022 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
- * Motion.h
- * Copyright (c) 2022, ZHAW
- * All rights reserved.
- */
-
-#ifndef MOTION_H_
-#define MOTION_H_
-
-#include <cstdlib>
-
-/**
- * This class keeps the motion values <code>position</code> and <code>velocity</code>, and
- * offers methods to increment these values towards a desired target position or velocity.
- * <br/>
- * To increment the current motion values, this class uses a simple 2nd order motion planner.
- * This planner calculates the motion to the target position or velocity with the various motion
- * phases, based on given limits for the profile velocity, acceleration and deceleration.
- * <br/>
- * Note that the trajectory is calculated every time the motion state is incremented.
- * This allows to change the target position or velocity, as well as the limits for profile
- * velocity, acceleration and deceleration at any time.
- */
-class Motion {
-    
-    public:
-        
-        double      position;       /**< The position value of this motion, given in [m] or [rad]. */
-        float       velocity;       /**< The velocity value of this motion, given in [m/s] or [rad/s]. */
-        
-                    Motion();
-                    Motion(double position, float velocity);
-                    Motion(const Motion& motion);
-        virtual     ~Motion();
-        void        set(double position, float velocity);
-        void        set(const Motion& motion);
-        void        setPosition(double position);
-        double      getPosition();
-        void        setVelocity(float velocity);
-        float       getVelocity();
-        void        setProfileVelocity(float profileVelocity);
-        void        setProfileAcceleration(float profileAcceleration);
-        void        setProfileDeceleration(float profileDeceleration);
-        void        setLimits(float profileVelocity, float profileAcceleration, float profileDeceleration);
-        float       getTimeToPosition(double targetPosition);
-        void        incrementToVelocity(float targetVelocity, float period);
-        void        incrementToPosition(double targetPosition, float period);
-        
-    private:
-        
-        static const float  DEFAULT_LIMIT;  // default value for limits
-        static const float  MINIMUM_LIMIT;  // smallest value allowed for limits
-        
-        float       profileVelocity;
-        float       profileAcceleration;
-        float       profileDeceleration;
-};
-
-#endif /* MOTION_H_ */