RC
RoboControl Documentation

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