yotaro morizumi
/
zoomy_customLibrary
my new gear...
Diff: IMC_motorDrive.hpp
- Revision:
- 0:1456b6f84c75
diff -r 000000000000 -r 1456b6f84c75 IMC_motorDrive.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IMC_motorDrive.hpp Fri Feb 25 05:20:11 2022 +0000 @@ -0,0 +1,28 @@ +#pragma once +#include<mbed.h> +#include <portSet.hpp> +#include <rotary_inc_sp.hpp> + +inline double constrain(double x,double minimum,double maximum){ + return (x < minimum ? minimum : x > maximum ? maximum : x); +} + +class IMC_motor +{ +public: + IMC_motor(Port encoder,int resolution,double wheel_ensyu,Port motor_,double K_,double Tau_,double dt_); + void IMCdrive(double target); + void IMCreset(); + void drive(int pwm); + RotaryInc motor_enc; +private: + double imc_out(double target); + double imc_controler(double y); + double process_model(double x,double mv); + double process_model_val; + double out_pwm; + double K; + double Tau; + double dt; + Port motor; +}; \ No newline at end of file