NHK2017 octopus robot

Dependencies:   2017NHKpin_config mbed FEP ikarashiMDC PID jy901 omni HMC6352 omni_wheel

Fork of KANI2017v2 by NagaokaRoboticsClub_mbedTeam

Revision:
20:477c5d039e93
Parent:
19:41f7dd1a5ed1
Child:
22:682cc376da6f
--- a/bot/PIDcontroller/PID_controller.cpp	Thu Aug 31 10:34:55 2017 +0900
+++ b/bot/PIDcontroller/PID_controller.cpp	Tue Sep 05 01:23:32 2017 +0000
@@ -5,7 +5,7 @@
     confirm();
 }
 
-PIDC::PIDC() : PID(KC, TI, TD, INTERVAL), HMC6352(HMCsda, HMCscl)
+PIDC::PIDC() : PID(KC, TI, TD, INTERVAL), JY901(HMCsda, HMCscl)
 {
     PID::setInputLimits(-INPUT_LIMIT, INPUT_LIMIT);
     PID::setOutputLimits(-OUTPUT_LIMIT, OUTPUT_LIMIT);
@@ -13,41 +13,41 @@
     PID::setMode(AUTO_MODE);
     PID::setSetPoint(0.0);
 
-    HMC6352::setOpMode(HMC6352_CONTINUOUS, 1, 20);
-    rawDegree = HMC6352::sample();
-    beforeDegree = HMC6352::sample();
-    offSetDegree = HMC6352::sample();
+    //HMC6352::setOpMode(HMC6352_CONTINUOUS, 1, 20);
+    rawDegree = JY901::getZaxisAngle();
+    beforeDegree = JY901::getZaxisAngle();
+    offSetDegree = JY901::getZaxisAngle();
     initDegree = 0;
     turnOverNumber = 0;
 //    this -> attach(this, &PIDC::updateOutput, INTERVAL);
 }
 
 PIDC::PIDC(PinName sda, PinName scl, float kc, float ti, float td, float interval) :
-PID(kc, ti, td, interval), HMC6352(sda, scl)
-{
-    PID::setInputLimits(-INPUT_LIMIT, INPUT_LIMIT);
-    PID::setOutputLimits(-OUTPUT_LIMIT, OUTPUT_LIMIT);
-    PID::setBias(BIAS);
-    PID::setMode(AUTO_MODE);
-    PID::setSetPoint(0.0);
-
-    HMC6352::setOpMode(HMC6352_CONTINUOUS, 1, 20);
-    rawDegree = HMC6352::sample();
-    beforeDegree = HMC6352::sample();
-    offSetDegree = HMC6352::sample();
-    initDegree = 0;
-    turnOverNumber = 0;
-//    this -> attach(this, &PIDC::updateOutput, INTERVAL);
-}
+PID(kc, ti, td, interval), JY901(sda, scl)
+{
+    PID::setInputLimits(-INPUT_LIMIT, INPUT_LIMIT);
+    PID::setOutputLimits(-OUTPUT_LIMIT, OUTPUT_LIMIT);
+    PID::setBias(BIAS);
+    PID::setMode(AUTO_MODE);
+    PID::setSetPoint(0.0);
+
+    //HMC6352::setOpMode(HMC6352_CONTINUOUS, 1, 20);
+    rawDegree = JY901::getZaxisAngle();
+    beforeDegree = JY901::getZaxisAngle();
+    offSetDegree = JY901::getZaxisAngle();
+    initDegree = 0;
+    turnOverNumber = 0;
+//    this -> attach(this, &PIDC::updateOutput, INTERVAL);
+}
 
 
 void PIDC::confirm()
 {
-    rawDegree = HMC6352::sample();
+    rawDegree = getZaxisAngle();
     if(rawDegree - beforeDegree < -1800) turnOverNumber++;
     if(rawDegree - beforeDegree > 1800) turnOverNumber--;
     initDegree = rawDegree - offSetDegree + turnOverNumber * 3600;
-    beforeDegree = HMC6352::sample();
+    beforeDegree = JY901::getZaxisAngle();
     PID::setProcessValue(initDegree / 10.0);
     co = PID::compute();
 }