Skip to content

Commit

Permalink
Add offset value for imu
Browse files Browse the repository at this point in the history
  • Loading branch information
Nischay2312 committed Jun 25, 2024
1 parent f580d22 commit 9666af9
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 5 deletions.
9 changes: 9 additions & 0 deletions src/main/ConfigParse.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ void ConfigParser::createDefaultConfigFile(fs::SDFS fs){
PID["KD"] = 0.0;
PID["PID_ControlRate"] = 100.0;

//IMU Parameters
doc["IMU_HeadOffset"] = 180.0;

// Print enable
doc["Print_Enable"] = true;
doc["BufferSize"] = 512;
Expand Down Expand Up @@ -137,6 +140,9 @@ ConfigParseStatus ConfigParser::parseConfigFile(fs::SDFS fs, ConfigData_t *confi
configData->PID.KD = doc["PID"]["KD"];
configData->PID.PID_ControlRate = doc["PID"]["PID_ControlRate"];

//IMU Parameters
configData->IMU_HeadOffset = doc["IMU_HeadOffset"];

//Printing Parameters
configData->Print_Enable = doc["Print_Enable"];
configData->BufferSize = doc["BufferSize"];
Expand Down Expand Up @@ -185,6 +191,7 @@ void ConfigParser::getConfigNoSD(ConfigData_t *ConfigData){
ConfigData->PID.KI = 0.0;
ConfigData->PID.KD = 0.0;
ConfigData->PID.PID_ControlRate = 100.0;
ConfigData->IMU_HeadOffset = 180.0;

ConfigData->Print_Enable = true;
ConfigData->BufferSize = 512;
Expand Down Expand Up @@ -228,6 +235,8 @@ void ConfigParser::printConfigData(ConfigData_t *configData){
Serial.printf("PID KI: %f\n", configData->PID.KI);
Serial.printf("PID KD: %f\n", configData->PID.KD);
Serial.printf("PID Control Rate: %f\n", configData->PID.PID_ControlRate);

Serial.printf("IMU Head Offset: %lf(deg)\n", configData->IMU_HeadOffset);

Serial.printf("Print Enable: %d\n", configData->Print_Enable);
Serial.printf("Buffer Size: %d\n", configData->BufferSize);
Expand Down
1 change: 1 addition & 0 deletions src/main/ConfigParse.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ typedef struct{
double ACC_Z_STD;
double BARO_ALT_STD;
double GPS_POS_STD;
double IMU_HeadOffset;
PIDConfig_t PID;
bool Print_Enable;
uint16_t BufferSize;
Expand Down
10 changes: 6 additions & 4 deletions src/main/main.ino
Original file line number Diff line number Diff line change
Expand Up @@ -70,15 +70,15 @@ void setup()
// Print the configuration data
configParser_inst.printConfigData(&configData_inst);

// Initialize the WebStreamServer
webStreamServer_inst.init((const char *)configData_inst.SSID, (const char *)configData_inst.Password);
webStreamServer_inst.setCustomFunction([&]() { mySensor_inst.resetGPSReference(); });

// Set up ESP-NOW communication
if(InitESPNow(configData_inst.BottleID) == false){
SERIAL_PORT.println("ESP-NOW init failed");
}

// Initialize the WebStreamServer
webStreamServer_inst.init((const char *)configData_inst.SSID, (const char *)configData_inst.Password);
webStreamServer_inst.setCustomFunction([&]() { mySensor_inst.resetGPSReference(); });

// Initialize the Sensors
if(mySensor_inst.init() != Sensors::SENSORS_OK){
SERIAL_PORT.println("Sensor init failed");
Expand All @@ -103,6 +103,8 @@ void setup()
//Steering setup
steering_setup(configData_inst.AcquireRate, configData_inst.PID.KP, configData_inst.PID.KI, configData_inst.PID.KD);

// set imu head offset
sensorData_inst.imuData.IMU_HeadOffset = configData_inst.IMU_HeadOffset;
delay(1000);
timeStart = millis();
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/sensors.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ SENSORS_Status_t sensors::readIMUData(){
double yaw = -1 * atan2(t3, t4) * 180.0 / PI;

// Add 180 degrees offset to yaw
yaw += YAW_OFFSET;
yaw += sensorData.imuData.IMU_HeadOffset;//YAW_OFFSET;
if (yaw > 180.0) {
yaw -= 360.0;
}
Expand Down
1 change: 1 addition & 0 deletions src/main/sensors.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ typedef struct{
Vector EulerAngles;
biasStore IMUDmpBias;
bool imuBiasFoundinEEPROM;
float IMU_HeadOffset;
} imuData_t;

typedef struct{
Expand Down

0 comments on commit 9666af9

Please sign in to comment.