Troubleshooting Guide
Common issues and solutions for RoboControl development.
Installation Issues
Build Error: Missing Dependencies
Problem: Compilation fails with "missing reference" errors.
Solution:
- Clean solution:
dotnet clean - Restore packages:
dotnet restore - Delete bin/obj folders and rebuild
Framework Version Mismatch
Problem: "Target framework not installed" during build.
Solution: Ensure .NET 8.0 is installed:
dotnet --version
# Should output 8.0.x or higher
# Install .NET 8.0
# Windows: Download from https://dotnet.microsoft.com/download
Serial Communication
Port Not Found / COM Port Issues
Problem: "Port COM3 not found" or robot not detected.
Solution Steps:
- Check Device Manager for serial devices
- Verify USB cable connection (try different ports/cables)
- Update CH340/FTDI drivers if needed
- Check Windows Device Manager for unknown devices
- Restart robot and try again
Baud Rate Mismatch
Problem: Serial data appears corrupted (garbage characters).
Solution: Verify baud rate configuration:
// Ensure this matches robot's baud rate
var transport = new SerialTransport("COM3", 115200);
// Common baud rates:
// - 115200: Standard for V5, typical Arduinos
// - 230400: Some high-speed connections
// - 9600: Legacy robots
Navigation & Control
Robot Drifts During Straight Movement
Problem: Robot curves left/right despite moving straight.
Solution:
- Check wheel alignment (mechanical)
- Verify motor polarities match (both forward = same direction)
- Tune left/right motor gain ratio
- Recalibrate gyroscope/IMU
Oscillation or Instability in Control Loop
Problem: Motor commands are jittery; robot vibrates.
Solution: PID tuning issues:
// Step 1: Set I and D to zero
controller.Ki = 0;
controller.Kd = 0;
// Step 2: Increase Kp until light oscillation
// Typical range: 0.1 - 2.0 (depends on system)
// Step 3: Add D to dampen oscillation
// Rule of thumb: Kd ≈ 0.3 * Kp
// Step 4: Add I for zero steady-state error
// Start with Ki ≈ 0.1 * Kp
Sensor Issues
Odometry Reading Jitter
Problem: Position estimates jump around unexpectedly.
Solution:
- Apply sensor smoothing filter
- Check encoder mounting for loose connections
- Increase observation frequency
- Verify calibration constant accuracy
IMU Not Responding
Problem: "IMU communication timeout" or null sensor readings.
Solution:
- Check I2C/SPI connections (physical wiring)
- Verify IMU address matches configuration
- Increase communication timeout values
- Power cycle the IMU hardware
Path Planning
Path Not Following Correctly
Problem: Robot overshoots or undershoots waypoints.
Solution:
- Verify waypoint tolerance is reasonable (1-5 cm typical)
- Check lookahead distance matches robot dynamics
- Tune velocity profile (acceleration limits)
- Verify heading control is working
Performance & Memory
High CPU / Memory Usage
Problem: Robot slow, laggy telemetry updates.
Solution:
- Reduce telemetry broadcast frequency
- Disable debug logging in production
- Check for memory leaks in sensor drivers
- Profile code: use dotnet counters