Skip to content

Devansh121/autonomous-wall-finishing

Repository files navigation

Autonomous Wall-Finishing Robot Control System

Overview

This repository contains the implementation for the BE Intern Assignment: a robust, server-intensive, and highly optimized database-driven control system for an autonomous wall-finishing robot. The system features intelligent path planning, real-time communication, detailed logging, and 2D web-based visualization.

See the full assignment description in BE_Intern_Assigment.pdf.

TODO

Backend:

  1. Create basic covering planning logic for rectagular walls(>=1)
  2. User can input rectangular obstacles(>=(0/1)) of custom dimensions
  3. SQLite db for trajectory storage with optimzed indexing.
  4. API endpoints to retrive trajectory data
  5. Include logging for request handling and response timing

Frontend:

  1. Basic web-based 2d visualization without using matplotlib
  2. Should be self explainotary for path planning
  3. Implement simple trajectory playback.

Testing:

  1. API tests using pytest/ FastAPI's built-in TestClient
  2. Test API endpoints for basic CRUD operations and validate response times.

Sample Case: ● Wall dimensions and obstacles should be user-input parameters. ● Example provided: ○ Wall: 5m x 5m ○ Obstacle: Window (25cm x 25cm)

To run and test the project locally :

git clone https://github.com/Devansh121/autonomous-wall-finishing.git
cd autonomous-wall-finishing/
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
uvicorn app.main:app --reload

then go to : http://localhost:8000/

To run with docker :

docker compose up --build -d

To stop the docker container

docker compose down

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published