wakaran

Dependencies:  

Revision:
0:17acb05d7f3e
diff -r 000000000000 -r 17acb05d7f3e IMC_motorDrive.hpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IMC_motorDrive.hpp	Thu Feb 24 07:22:30 2022 +0000
@@ -0,0 +1,27 @@
+#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 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