https://github.com/parminderbadhan/autonomous-robot-roaming
This project programs an EEBot robot in HCS12 assembly to autonomously navigate a maze by following a line, detecting intersections, learning the correct path, and retracing its route back to the start.
https://github.com/parminderbadhan/autonomous-robot-roaming
assembly embedded-systems
Last synced: 9 months ago
JSON representation
This project programs an EEBot robot in HCS12 assembly to autonomously navigate a maze by following a line, detecting intersections, learning the correct path, and retracing its route back to the start.
- Host: GitHub
- URL: https://github.com/parminderbadhan/autonomous-robot-roaming
- Owner: parminderBadhan
- License: mit
- Created: 2025-09-30T04:10:32.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-30T04:24:47.000Z (9 months ago)
- Last Synced: 2025-09-30T06:16:26.153Z (9 months ago)
- Topics: assembly, embedded-systems
- Homepage:
- Size: 15.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Autonomous-Robot-Roaming robot π€
**π Overview**
This project implements a fully autonomous navigation system for the EEBot mobile robot using HCS12 (9S12) assembly language. The robot is capable of exploring and solving a maze by following a guide line, making decisions at intersections, detecting dead ends, and learning the correct path. Once the destination is reached, the robot retraces its steps back to the starting point β demonstrating basic memory, decision-making, and state machine design.
--------------------------
**π§ Key Features:**
- π§ Line Following β Uses guider sensors to follow a maze path in real time.
- π Intersection Detection & Decision-Making β Recognizes L and T junctions and chooses a branch.
- π Dead-End Detection & Recovery β Detects obstacles via bumper sensors and performs a 180Β° turn.
- π§ Maze Learning β Records incorrect and correct branches to learn the maze structure.
- π Reverse Navigation β Retraces the correct path back to the start without error.
- π System Feedback β Displays sensor readings, battery voltage, and current state on an LCD.
--------------------------
**βοΈ State Machine Design:**
The robotβs behavior is controlled by a finite state machine with the following states:
| State | Description |
|---------------|--------------------------------------------------|
| `START` | Initial state, waits for bumper input to begin. |
| `FWD` | Follows the line forward. |
| `ALL_STP` | Stops all motors. |
| `LEFT_TRN` | Executes a left turn. |
| `RIGHT_TRN` | Executes a right turn. |
| `REV_TRN` | Performs a 180Β° turn when a dead end is detected.|
| `LEFT_ALIGN` | Fine alignment left adjustment. |
| `RIGHT_ALIGN` | Fine alignment right adjustment. |
--------------------------
**π Hardware Components:**
- HCS12 Microcontroller (9S12C32)
- EEBot Platform with dual DC motors
- Line Guider Sensor Array (5 IR photodiodes)
- Bumper Sensors (Front and Rear)
- 16x2 LCD Display
- ADC (Analog-to-Digital Converter) for sensor readings