Back to Home
Project Case Study

500kg Unmanned Ground Vehicle

Project Overview

As a lead engineer for Team Kaplan (ID: 647407) in the TEKNOFEST Unmanned Ground Vehicle Competition, I spearheaded the design, simulation, and implementation of the vehicle's core autonomous and powertrain systems. The 'Kaplan' is a 500 kg heavy-duty tracked UGV built on a robust 6061-T6 aluminum alloy chassis and protected by 316-quality stainless steel armor. The platform was engineered to autonomously navigate extreme conditions, including 45% steep slopes , 20% side slopes , 20 cm vertical obstacles , and water crossings. My responsibilities involved designing the vehicle's 4×0.75 kW electric powertrain , where I led the end-to-end electromagnetic design of a custom 48V, 8-pole Permanent Magnet BLDC motor. I utilized Ansys Motor-CAD for analytical sizing and the Ansys Maxwell Suite to conduct detailed electromagnetic simulations, validating the design's magnetic flux density and performance. I also developed the complete autonomous driving and control stack, architecting a system that used a Raspberry Pi 5 for high-level image processing and sign recognition , complemented by an APM 2.8 controller for real-time navigation and stabilization using its integrated IMU. All autonomous logic was rigorously tested and tuned within a high-fidelity Webots simulation environment. Finally, I developed the operator's Ground Control Station (GCS) in JavaFX and engineered its redundant, dual-channel communication architecture. This system used a TP-Link Wi-Fi module for high-bandwidth video and a SIM808 GSM/GPRS module for long-range command, control, and GPS telemetry , featuring an automatic failover from Wi-Fi to GSM to guarantee uninterrupted connectivity.

Core Technologies

  • Ansys MotorCad, Solidworks
  • Webots Stack
  • Next.js, Python, C++

Electric Motor Design & Simulation

The heart of the UGV is its custom-designed electric powertrain. I used Ansys MotorCad for detailed simulation, including thermal analysis and Finite Element Analysis (FEA), to validate performance under heavy loads.

Motor Thermal Simulation
Motor FEA Simulation

Media Gallery

UGV Motor
UGV Torque Graph
UGV Internal Components

Code & Implementation

Ground Control Station (Next.js)


import { io } from "socket.io-client";

const socket = io("http://ugv.local:3001");

function UGV_Dashboard() {
  const [telemetry, setTelemetry] = useState(null);

  useEffect(() => {
    socket.on("telemetry_update", (data) => {
      setTelemetry(data);
    });

    return () => socket.off("telemetry_update");
  }, []);

  // ... dashboard rendering logic
}

Communication System (Python)

# --- FastAPI ve CORS Kurulumu ---
app = FastAPI()

app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

# --- MAVLink Bağlantısı ---
master = None
try:
    # MAVProxy veya doğrudan araca bağlanın
    master = mavutil.mavlink_connection('udpin:0.0.0.0:14550')
    master.wait_heartbeat()
    print("✅ MAVLink bağlantısı kuruldu ve heartbeat alındı.")
except Exception as e:
    print(f"❌ MAVLink'e bağlanılamadı: {e}")
    if "10013" in str(e) or "10048" in str(e):
        print("💡 İPUCU: Bu hata, portun zaten kullanımda olduğu anlamına gelir.")
        print("💡 Lütfen diğer MAVLink yazılımlarını kapatın veya MAVProxy ayarlarınızı kontrol edin.")
    master = None