Skip to content

An Autonomous Guided Vehicle (AGV) is a smart, remote-controlled vehicle designed to receive real-time commands, enabling multiple automation modes and precise control.

License

Notifications You must be signed in to change notification settings

Akash-Peace/IOT-PI-ANGULAR

Repository files navigation

AGV Logo

Autonomous Guided Vehicle (AGV)

A VIT college academic project

IoT . Raspberry Pi

View Results · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Features
  3. Built With
  4. Frontend Technology
  5. Raspberry Pi Server
  6. Deployment Architecture
  7. Sensor Integration
  8. Usage Guide
  9. Results
  10. License
  11. Contact

About The Project

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!

Features

  • 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

Built With

Frontend Technology

  • 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.

Raspberry Pi Server

  • Implemented in Python 3 using asyncio and websockets.
  • 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.

Deployment Architecture

  • Raspberry Pi acts as both:
    • WebSocket server on ws://agv.local:8765
    • Motor controller + sensor processor
  • Angular app runs on any browser-enabled device on the same network.
  • Angular-to-Pi interaction is handled purely via WebSocket messages.

Sensor Integration

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

Usage Guide

  1. Boot up Raspberry Pi and ensure it's on the same network.
  2. Run the Angular app in a browser (use ng serve or host it).
  3. Use control buttons to:
    • Drive manually (F, B, L, R, S)
    • Record paths
    • Replay or reverse saved routes
    • Activate line-following
  4. Use HALT button anytime to safely stop automation.

Results

View results here.

License

Distributed under the MIT License. See LICENSE for more details.

Development Environment

OS: Ubuntu
System: Customized PC
Processor: Intel i5 13th gen
RAM: DDR5 16GB
Disk: NVMe 100GB

Contact

Akash A
Computer Science Engineer
akashcse2000@gmail.com
8608550403
Chennai, TN, India

Follow me on

linkedin       instagram       facebook       twitter       pypi       youtube

About

An Autonomous Guided Vehicle (AGV) is a smart, remote-controlled vehicle designed to receive real-time commands, enabling multiple automation modes and precise control.

Topics

Resources

License

Stars

Watchers

Forks