# ⚙️ Locomotion System
MICKY uses a Mecanum wheel-based locomotion system, enabling omnidirectional motion without requiring rotation of the robot body.
The system adopts a hybrid control architecture, where high-level processing is performed on a computer running **ROS 2 Humble**, while low-level control is handled by dedicated hardware. This separation ensures real-time motor actuation while maintaining flexibility for planning and decision-making.
This design is widely used in mobile robotics applications, providing improved maneuverability, scalability, and system robustness.
---
## Hardware Configuration
Motor control is managed by an **Arduino Mega 2560**, which interfaces with four **TB6600 drivers**. These drivers are responsible for actuating **Nema 23 stepper motors**.
For navigation and state estimation, the robot uses **MPU6050 sensors** connected via the I2C bus.
---
## Robot Kinematics
The robot uses **Mecanum wheels**, enabling omnidirectional motion through the combination of individual wheel velocities.
The system kinematics is based on converting the robot’s velocity commands, defined by the linear velocities in X (`v_x`) and Y (`v_y`), along with the angular velocity (`ω`), into individual wheel velocities.
This allows:
- Forward and backward motion
- Lateral (sideways) motion
- Rotation
- Combined movements (e.g., diagonal motion)