TerrainPilot Buggy

An autonomous electric off road buggy built around drive by wire control, LiDAR perception, ROS2 navigation, and embedded edge computing.

Tech stack

  • Python
  • C++
  • ROS2
  • Jetson Orin Nano
  • Pandar40P LiDAR
  • IMU
  • GPS
  • SLAM
  • Sensor Fusion
  • CAN Bus
  • Linux
  • OpenCV
  • NumPy
  • Motor Control
  • 48V Battery System

Overview

A self driving off road vehicle platform designed to navigate unstructured terrain using LiDAR, GPS, IMU data, and onboard autonomy software. The buggy replaces manual steering with a motorized drive by wire system and uses a Jetson Orin Nano running ROS2 to process sensor data, estimate position, detect terrain features, and generate navigation commands.

Problem & solution

  • Built an electric off road vehicle platform powered by a 48V 150Ah battery and high speed motor system
  • Replaced traditional steering input with a motorized drive by wire control system for autonomous steering commands
  • Integrated Pandar40P LiDAR, GPS, IMU, and onboard compute into a ROS2 based autonomy stack
  • Used SLAM and sensor fusion to estimate vehicle position across rough outdoor terrain where GPS alone can be unreliable
  • Designed control logic for speed, steering, obstacle awareness, route following, and safe manual override behavior
  • Processed LiDAR point cloud data to support terrain mapping, obstacle detection, and local navigation decisions
  • Structured the system around separate ROS2 nodes for sensor input, localization, planning, control, telemetry, and safety monitoring

What I learned

  • How autonomous vehicles combine hardware, embedded systems, robotics software, and real time control
  • How to use LiDAR, GPS, and IMU data together instead of relying on one sensor source
  • How ROS2 organizes robotics systems into nodes, topics, messages, transforms, and launch files
  • How drive by wire systems turn software commands into physical steering and motion control
  • How to think about safety, fallback behavior, manual override, and testing when software controls a real vehicle
  • How to debug robotics problems across sensors, wiring, Linux services, ROS2 logs, calibration files, and physical hardware