Improve outdoor traction control and raise top speed

Adds jerk-limited S-curve motion profiles, robust median-based
odometry to reject wheel-lift encoder spikes, per-wheel current-based
airborne/stall detection with pair-wise comparison to avoid false
positives during normal curve turns, curved-turn blending for spin
turns, and optional CSV telemetry logging. Fixes a bug where any
right-stick input while driving forward would override left-stick
curve steering. Raises max speed from 0.3 to 0.4 m/s.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-12 16:31:06 +09:00
parent 4fbe036427
commit 9f2ead2138
5 changed files with 1170 additions and 484 deletions
+3 -3
View File
@@ -1,6 +1,6 @@
CXX = g++
CXXFLAGS = -O3 -std=c++17 -Wall -Wextra
LIBS = -lSDL2 -lpthread
CXXFLAGS = -O3 -std=c++17 -Wall -Wextra -I/usr/local/include
LIBS = -lSDL2 -lpthread -llivox_lidar_sdk_shared
TARGET = xbox_motor_control_cpp
SRC = xbox_motor_control.cpp
@@ -8,7 +8,7 @@ SRC = xbox_motor_control.cpp
all: $(TARGET)
$(TARGET): $(SRC)
$(CXX) $(CXXFLAGS) $(SRC) $(LIBS) -o $(TARGET)
$(CXX) $(CXXFLAGS) $(SRC) -o $(TARGET) $(LIBS)
clean:
rm -f $(TARGET)