![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
my new gear...
actuator/IMC_motorDrive.hpp
- Committer:
- yootee
- Date:
- 2022-03-27
- Revision:
- 2:e7b09385d197
- Parent:
- IMC_motorDrive.hpp@ 0:1456b6f84c75
- Child:
- 8:1ca5a2052b0c
File content as of revision 2:e7b09385d197:
#pragma once #include<mbed.h> #include <portSet.hpp> #include <rotary_inc_sp.hpp> #ifdef constrain inline double constrain(double x,double minimum,double maximum){ return (x < minimum ? minimum : x > maximum ? maximum : x); } #endif 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; };