Mingyu Kim

k012123600@gmail.com

20-02-2001

Swerve-Drive Robot

A swerve drive is an advanced wheel configuration in which each wheel module can rotate independently and drive under its enabling omnidirectional movement, zero-radius turns, and exceptional maneuverability.

Demo GIF
Demonstration of swerve drive motion

In this project, we designed three custom swerve modules, each equipped with a motor for steering and another for propulsion.

The orientation of each drive module is measured using an angle sensor, and its steering motor is controlled by a PID controller to accurately achieve the target angle.

Swerve Fusion Demo
Gazebo Simulation Demo

An Arduino Due simultaneously computes the steering angles and wheel speeds to perform real-time odometry estimation. It then publishes the odometry messages over the CAN bus in real time. The entire system is operated under the ROS 2.

Demo GIF
System architecture for swerve drive control

This work was carried out as part of my M.S. research and was supported by a National Research Foundation of Korea (NRF) "Semantic Autonomous Driving Systems Utilizing Diffusion Models for Enhanced Dynamic Obstacle Avoidance Performance".

The primary objective was to develop a highly agile mobile platform for dynamic obstacle avoidance and precise indoor navigation experiments. HADP: Hybrid A*-Diffusion Planner for Robust Navigation in Dynamic Obstacle Environments .

Swerve Fusion Demo
Gazebo Simulation Demo

We also implemented the swerve drive motion in the Gazebo simulation environment, which was used to train the learning-based path planning system in a simulated environment

GitHub: https://github.com/kMinsAlgorithm/SwerveDriveRobot