A VIT college academic project
IoT
.
Raspberry Pi
View Results
·
Report Bug
·
Request Feature
Table of Contents
Autonomous Guided Vehicle (AGV) is a smart remote-controlled vehicle powered by Raspberry Pi. It is designed to receive real-time commands from an Angular web interface, enabling precise control and automation. The system supports route recording, autonomous replay, reverse tracking, obstacle detection, line following, and weight sensing. This project is developed as part of an academic project at VIT College. MIT licenses this project. If you find it useful, please consider giving it a star and follow me!
- Real-time remote control via Angular frontend
- Route recording and auto-replay
- Reverse path traversal
- Line-following mode
- Weight sensing (HX711 load cell)
- Obstacle avoidance (Ultrasonic sensor)
- Buzzer-based alerts
- Persistent route saving
- Developed with Angular and TypeScript.
- WebSocket used for real-time bidirectional communication.
- Dynamic command dispatch for:
- Forward, Backward, Left, Right, Stop
- Start/Stop Route Recording
- Route Replaying (Forward/Reverse)
- Line Following
- Emergency Halt
- User-friendly interface for selecting and executing saved routes.
- Auto-reconnect logic for WebSocket disconnection recovery.
- Implemented in Python 3 using
asyncio
andwebsockets
. - Controls motor direction and speed via PWM using GPIO.
- Reads weight from HX711 and distance from Ultrasonic sensor.
- Supports encoder-based distance tracking for precise automation.
- Background thread for continuous sensor monitoring and safety enforcement.
- Line-following logic using dual IR line sensors.
- Raspberry Pi acts as both:
- WebSocket server on
ws://agv.local:8765
- Motor controller + sensor processor
- WebSocket server on
- Angular app runs on any browser-enabled device on the same network.
- Angular-to-Pi interaction is handled purely via WebSocket messages.
Sensor | Functionality |
---|---|
HX711 | Real-time weight sensing |
Ultrasonic | Obstacle distance measurement |
IR Line Sensors | Line-following logic |
Rotary Encoder | Movement tracking (wheel rotation) |
Buzzer | Audio alerts |
- Boot up Raspberry Pi and ensure it's on the same network.
- Run the Angular app in a browser (use
ng serve
or host it). - Use control buttons to:
- Drive manually (
F
,B
,L
,R
,S
) - Record paths
- Replay or reverse saved routes
- Activate line-following
- Drive manually (
- Use
HALT
button anytime to safely stop automation.
View results here.
Distributed under the MIT License. See LICENSE
for more details.
OS: Ubuntu
System: Customized PC
Processor: Intel i5 13th gen
RAM: DDR5 16GB
Disk: NVMe 100GB
Akash A
Computer Science Engineer
akashcse2000@gmail.com
8608550403
Chennai, TN, India
Follow me on