
Project Overview
Developed the control and navigation system for ADIUTOR, an autonomous differential-drive mobile robot designed for hospital logistics. The project combines an STM32-based embedded motor-control architecture with a ROS/Gazebo autonomous navigation system. Using RPLIDAR A2 data and the Input Space Sampling (ISS) method, the robot detects obstacles in real time, evaluates collision-free motion candidates, and selects the trajectory that best approaches the target without requiring prior global path planning.
Technical Highlights
Developed a reactive obstacle-avoidance algorithm based on Input Space Sampling (ISS).
Processed 360° LiDAR data to classify front, left, and right regions as free or occupied.
Used a differential-drive kinematic model, wheel odometry, and Euclidean-distance optimization to predict and select the next robot position.
Implemented and tested the navigation system using ROS, Gazebo, Python, and RQT Graph.
Validated navigation in indoor environments containing walls, doors, people, and multiple obstacles.
Designed the embedded control architecture around an STM32F407VET6 ARM Cortex-M4 microcontroller.
Implemented PWM motor-speed control, PID regulation, encoder acquisition through external interrupts, direction reversal, and braking control.
Designed the interface for two 36 V brushless DC motors, Kelly KBS motor controllers, Omron E6B2 incremental encoders, and Hall-effect sensors.
Integrated galvanic isolation, voltage regulation from 36 V to 5 V and 3.3 V, overvoltage protection, fuse protection, and an emergency-stop circuit.
Configured peripherals using STM32CubeMX and developed the embedded firmware in STM32CubeIDE.
Key Result
The simulated robot successfully detected and avoided multiple obstacles in real time, selected collision-free trajectories, and reached a predefined target while maintaining a safety distance.