distances currently off by PI/2, unknown why

This commit is contained in:
Andy Killorin 2025-12-10 12:37:32 -05:00
parent 356b1081f4
commit 0ef16df511
Signed by: ank
GPG key ID: 23F9463ECB67FE8C
2 changed files with 6 additions and 7 deletions

View file

@ -1,11 +1,11 @@
#pragma once #pragma once
const float ACCEL_LIMIT = 5.0; // cm/s/s const float ACCEL_LIMIT = 5.0; // cm/s/s
const float VEL_LIMIT = 10.0; // cm/s const float VEL_LIMIT = 16.0; // cm/s
const float BACKLASH_RIGHT = 0.0; // degrees const float BACKLASH_RIGHT = 0.0; // degrees
const float BACKLASH_LEFT = 0.0; // degrees const float BACKLASH_LEFT = 0.0; // degrees
const float WHEEL_DIAMETER = 9.25; // cm const float WHEEL_DIAMETER = 10.25; // cm
const float WHEEL_TO_WHEEL = 10.0; // cm const float WHEEL_TO_WHEEL = 9.0; // cm
// centimeters per second to rpm // centimeters per second to rpm
const float CMS_RPM = 60.0 / (PI*WHEEL_DIAMETER); const float CMS_RPM = 60.0 / (PI*WHEEL_DIAMETER);
@ -13,9 +13,9 @@ const float CMS_RPM = 60.0 / (PI*WHEEL_DIAMETER);
// degrees to centimeters // degrees to centimeters
const float DEG_CM = (PI*WHEEL_DIAMETER) / 360.0; const float DEG_CM = (PI*WHEEL_DIAMETER) / 360.0;
const float FORWARD_DISTANCE = 100.0; // cm const float FORWARD_DISTANCE = 10.0; // cm
const float TURN_AMOUNT = 180.0; // degrees const float TURN_AMOUNT = 180.0; // degrees
const float TURN_DISTANCE = (TURN_AMOUNT / 360.0) * WHEEL_TO_WHEEL * PI * 0.5; const float TURN_DISTANCE = (TURN_AMOUNT / 360.0) * WHEEL_TO_WHEEL * PI;
const float RETURN_DISTANCE = 100.0; // cm const float RETURN_DISTANCE = 100.0; // cm
const float FF_ACCEL = 0.7; // motor acceleration feedforward const float FF_ACCEL = 0.7; // motor acceleration feedforward

View file

@ -68,11 +68,10 @@ void loop() {
setpoint = trapezoidal_planner(&forward, time); setpoint = trapezoidal_planner(&forward, time);
break; break;
case TURN: case TURN:
setpoint = trapezoidal_planner(&forward, time); setpoint = trapezoidal_planner(&turn, time);
break; break;
} }
float turnsig = (robot_state == TURN ? 1.0 : -1.0); // direction of travel for right motor float turnsig = (robot_state == TURN ? 1.0 : -1.0); // direction of travel for right motor
// position PI controller // position PI controller