◂ BAUNURI
DOC SMUB-4×4 · REV 2025.03 · SHEET 01/01
Unmanned Ground Vehicle

SMUB

Skid-steer platform for off-road autonomy

A four-wheel skid-steer UGV. We designed and built it as a research platform for autonomy on grass, gravel, and slopes. It costs much less than a commercial platform.

Title blockREV 2025.03
Project
SMUB — Super Mega Ultra Bot
Class
4×4 skid-steer UGV
Drive
4× geared hub · 70 N·m
Compute
Pi 4B + Jetson AGX
Status
Active · in development
Overall — L × W670 × 643 mm
SMUB — CAD assembly, front isometric: VLP-16 lidar on the sensor tower, Mid-70, ZED 2i, Here2 GNSS mast, E-stop, and off-road wheels
FIG.01CAD assembly — isometric · VLP-16 sensor tower, Mid-70, ZED 2i, GNSS mast, E-stop, off-road drive
00

Overview

An outdoor research robot for autonomy work is expensive. A Clearpath Husky costs more than $20,000. Much of that price is for the strong structure and the assembly work. Careful design can give the same result for less money, and SMUB is that result. We made the model in Fusion 360, then built it from aluminum extrusion and standard parts. Every subsystem is easy to open, to understand, and to change. Each solution showed us the next problem. The revision history below records those changes.

The navigation software has its own page: SMUB autonomy, an off-road and multi-level stack built and benchmarked in simulation.

01

Specifications

Drive
4WD skid-steer
Top speed
12km/h
Torque / wheel
70N·m
Motors
4× geared BLDC hub
Wheel
260mm · 5:1 planetary
Power
48V · 10S Li-ion
Motor control
2× ODrive v3.6CAN
Compute
Pi 4B + Jetson AGX
Dimensions
670×643×361mm · L·W·H
Ground clearance
129mm
SMUB — general arrangement drawing (as-built): top, front, right and isometric views with overall dimensions
FIG.02General arrangement — third-angle projection, dimensioned · tap for PDF
02

Frame and structure

The chassis is 30×30 mm aluminum T-slot extrusion with 1 mm sheet panels. Brackets, T-nuts, and 3D-printed mounts hold it together. We designed all of it in Fusion 360 and assembled it with hand tools. One or two persons can lift the frame. It is also rigid enough to carry a full sensor and computer payload on rough ground.

SMUB — bare aluminum extrusion frame (CAD render)
FIG.03Extrusion frame
SMUB — frame with hub motors and wheels mounted (CAD render)
FIG.04Frame + drive
03

System and electronics

The computer function is in two parts. A Raspberry Pi 4B controls the actuation and the vehicle services. An NVIDIA Jetson AGX Xavier does the perception and the odometry. The two computers send data to each other on a ROS 2 network. One CAN bus carries all of the motor control. Both ODrive boards and the ESP32-S3 co-controller share that bus. Therefore the ESP32-S3 can drive the wheels before the Raspberry Pi starts.

VELODYNE VLP-16 LIVOX MID-70 ZED 2i STEREO JETSON AGX XAVIER perception · FAST-LIO RASPBERRY PI 4B actuation · services ROS 2 MCP2515 HAT CAN BUS · 250 kbit/s · 120 Ω × 2 ESP32-S3 iBUS → CAN ODRIVE v3.6 axes 0–1 ODRIVE v3.6 axes 2–3 iBUS FLYSKY RX FL FR RL RR 48 V 10S pack → ODrives; 12 V / 5 V rails and E-stop (ODrive nRST) not shown
FIG.05System architecture — compute, CAN bus, drive, sensing
Sensing
Top lidar
Velodyne VLP-16 — 16-channel 360° scanner on top of the sensor tower
Secondary lidar
Livox Mid-70 — points to the front, more points per scan
Stereo depth
Stereolabs ZED 2i — near-field perception and traversability
GNSS
Here2 — antenna on a 6 mm carbon mast at the rear
AHRS
AHRS X1 — IMU on the rear of the sensor tower
SMUB — CAD assembly, rear isometric: Here2 GNSS mast, VLP-16 lidar, AHRS X1 IMU, and E-stop
FIG.06Rear · GNSS mast, VLP-16, AHRS, E-stop
SMUB — CAD assembly with the right side panel removed: Jetson AGX enclosure, WiFi router, and battery inside the frame
FIG.07Interior · Jetson AGX enclosure, WiFi router, battery
Software stack
Middleware
ROS 2 — nodes on the Pi and the Jetson
Odometry
FAST-LIO — lidar-inertial. It fuses the two Livox scanners
Navigation
Multi-surface terrain map + grid route planner — built on the CMU stack, benchmarked in simulation. Read the autonomy notebook
Motor control
ODrive over CAN — 4 axes, closed-loop, lifecycle-managed node
Research
Transformer-based visual navigation — learned drive policies. Work in progress
SMUB — controller box with the walls removed: two ODrive v3.6 boards, Raspberry Pi with CAN HAT, LM2596 5 V buck and two 80 mm cooling fans under the connector lid (CAD render)
FIG.08Controller box — interior · 2× ODrive v3.6, Pi + CAN HAT, 5 V buck, 2× 80 mm fans
SMUB — full wiring harness diagram (WireViz)
FIG.09Wiring harness — WireViz, verified against the reference build · tap to zoom
Design decisions
Emergency stop

The E-stop pulls the ODrive nRST line. It does not disconnect the battery. The motors then turn freely, and the boards restart in the IDLE state when you release the switch. This is fast, and it keeps the battery connection safe under load.

Regen / braking

SMUB has no brake resistor. The regenerative current goes into the 10S battery pack. A dc_max_negative_current limit keeps the bus voltage in the safe range during deceleration.

Connectors

The hall encoders use GX12 screw-lock connectors. The motor phases use MT60 connectors. If a hall connection becomes loose during a drive, the wheel turns without control. Therefore each connector has a key and a mechanical lock.

Bus and handover

The CAN bus operates at 250 kbit/s with a 120 Ω resistor at each end. The ESP32-S3 and the Raspberry Pi share the bus. They send a heartbeat message to each other. Control moves between them without an interruption, and the robot always has a controller.

04

Revision history

We changed each subsystem several times. This section shows each change as a revision.

REV A2022
Drivetrain
The hoverboard motors stopped at skid-steer speed. We changed to geared BLDC hub motors with a 5:1 planetary reduction. Twelve filter capacitors across the phases removed the hall-sensor noise.
REV B2025
Electronics
We moved the loose bench wiring into a field controller box. The box uses MT60 connectors for the phases and GX12 screw-lock connectors for the hall signals. Each connector has a key and a mechanical lock.
REV C—
Motor control
We moved the ODrive boards from USB to a CAN bus. One two-wire link now controls all four axes with a low latency. The bus also has space for a second controller.
REV D—
Co-control
We added an ESP32-S3 co-controller to the bus. It drives the robot from the RC receiver before the Raspberry Pi starts. It is also an independent failsafe. A heartbeat message gives control to ROS 2.
05

In the field

SMUB — the assembled vehicle with lidar and stereo camera
FIG.10The assembled robot — every subsystem on this page, bolted together and driving
06

Against commercial platforms

The commercial platforms in this class are the Clearpath Husky A300 and the AgileX Scout 2.0. Both are 4×4 skid-steer bases for outdoor research. SMUB has the same drive layout and a higher speed for much less money. It does not have the ratings and the support that a manufacturer supplies.

SpecSMUBHusky A300Scout 2.0
Drive4×4 skid-steer4×4 skid-steer4×4 skid-steer
Dimensions L×W×H670×643×361 mm990×698×381 mm930×699×349 mm
Top speed12 km/h7.2 km/h5.4 km/h
Rated payloadnot rated100 kg50 kg
Ingressnot ratedIP54IP22
Platformopen, serviceableclosed, integratedclosed, integrated
Indicative price≈ $2,000 parts~$20,000+~$12,000+

The commercial figures are the specifications of the base platform from each manufacturer. The prices are approximate and change with the configuration. SMUB has no rated payload, no IP seal, no warranty, and no support. In exchange, it costs less, it is open, and you can change each subsystem.

Full build documentation

We write an open-source build manual for the wiring, the bill of materials, the firmware, and the ROS 2 stack. The manual is the full reference for this page.

Docs and source
07

Resources