Differential Drive Robot

Introduction

Realizzazione di un sistema software che comanda un Differential Drive Robot (DDR).

Requirements

  1. Costruire un sistema software che comanda un Differential Drive Robot (DDR) in modo che, partendo dalla posizione iniziale HOME, il robot si sposti lungo il perimetro di una stanza rettangolare vuota.
  2. Il DDR si deve fermare quando tornato in HOME.
  3. Il DDR è anche sensibile ai dati rilevati da un Radar.
  4. Quando il Radar rileva un 'intruso' a una distanza minore di una distanza prefissata 'DMIN':
    • se il DDR si sta muovendo , il DDR si ferma fino a che il Radar non rileva più un 'intruso' così vicino
    • se il DDR è fermo in HOME, il DDR ruota su sè stesso fino a che un 'intruso' così vicino scompare
Il sistema integra un sonar in grado di misurare la distanza da eventuali ostacoli

Requirement analysis

Con ddr si intende un robot inscrivibile in un qadrato di lato R. La dimensione di un ddr viene definita come una unità robotica.
La stanza in cui si muove il ddr presenta le seguenti caratteristiche: Una altezza H e una base B, numero reale misurato in unità robotiche.
Il modello della stanza è pertanto formalizzato come una griglia:
 val room = Array(H) { IntArray(B) } 

Il ddr deve partire da una posizione iniziale HOME. Si definisce pertanto la HOME come l'area (0,0)-(1,1) in unità robot facendo riferimento al sistema stanza, ovvero la cella della griglia di indice (0,0).

Problem analysis

Test plans

Project

Testing

Deployment

Maintenance



By studentName email: gregorio.bussolari@studio.unibo.it, greg GIT repo: https://github.com/GregorioBussolari/iss2026Unibo.git