Bayley Wang
/
foc-ed_in_the_bot_compact
robot
ThrottleMapper/ThrottleMapper.h
- Committer:
- bwang
- Date:
- 2017-04-06
- Revision:
- 92:a9dac72d8cac
- Parent:
- 73:d44bc3a46942
- Child:
- 110:c66f359b6932
File content as of revision 92:a9dac72d8cac:
#ifndef __THROTTLE_MAPPER_H #define __THROTTLE_MAPPER_H class ThrottleMapper { public: virtual float map(float throttle, float w) = 0; }; class NullThrottleMapper : public ThrottleMapper { public: virtual float map(float throttle, float w) {return throttle;} }; class DrivingThrottleMapper : public ThrottleMapper { public: virtual float map(float throttle, float w); private: float getMaxTqpctPlus(float w); float getMaxTqpctMinus(float w); float getZeroTqThrottle(float w); }; class LimitingThrottleMapper : public ThrottleMapper { public: LimitingThrottleMapper(float wmax); virtual float map(float throttle, float w); private: float __wmax, __wlim; }; class ConstantThrottleMapper : public ThrottleMapper { public: ConstantThrottleMapper(float out) {__out = out;} virtual float map(float throttle, float w) {if (throttle > 0.01f) return __out; return 0.0f;} private: float __out; }; #endif