/Progetto_IA_2023

Supporto grafico per la navigazione robotica: generazione di ambienti, descritti in file HuRIC, utilizzando il framework ProcThor

Primary LanguagePython

πŸ€– Supporto grafico per la navigazione robotica

🏘️ Creazione di ambienti virtuali ottimizzati per la navigazione robotica

La procedura principale implica l'analisi di file del tipo HURIC (Human-Robot Interaction Corpus) al fine di estrarre dati rilevanti. I dati vengono poi processati attraverso il framework Procthor, costruito su AI2Thor, che li converte in una rappresentazione JSON dettagliata e strutturata dell'ambiente fisico corrispondente. Questa rappresentazione Γ¨ specificatamente progettata per facilitare analisi avanzate e interazioni efficaci nelle applicazioni di robotica e intelligenza artificiale.

Esempi di file HURIC utilizzati in questo processo sono accessibili e possono essere esaminati tramite il seguente collegamento: https://github.com/crux82/huric/tree/master/it.

πŸ’» Installazione

Clonare la repository

git clone https://github.com/Miitz/progetto_IA_2023.git

Ambiente virtuale

Installare il package virtualenv

pip install virtualenv

Creare un ambiente virtuale all'interno della cartella progetto

python -m venv nome_ambiente

Attivare l'ambiente virtuale

  • Linux/MacOS

    source nome_ambiente/bin/activate

Installazione dei requisiti

Lista dei package necessari -> requirements.txt

pip install -r requirements.txt

Utilizzo

Generazione del file JSON con descrizione dell'ambiente senza immagini

python runner.py "path completo del file huric"

Generazione completa del file JSON con descrizione dell'ambiente e immagini utilizzando la flag --visualize o -v

python runner.py --visualize "path completo del file huric"

Per ogni file HuRIC generato utuilizzando la flag --visualize o -v verrΓ  creata una cartella di questo tipo:

huric_file                                          # Cartella generale file HuRIC
β”œβ”€β”€ images                                          # Cartella principale contenente le immagini dell'ambiente
β”‚   β”œβ”€β”€ example_room                                # Cartella generata per ogni stanza dell'ambiente
β”‚   β”‚   β”œβ”€β”€ bounding_box                            # Cartella contenente immagini con bounding_box
β”‚   β”‚   β”‚   β”œβ”€β”€ position_0                          # Cartella contenente le immagini generate in posizione 0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ image_bounding_box_pos_0_0.jpg
β”‚   β”‚   β”‚   β”‚   └── ...
β”‚   β”‚   β”‚   β”œβ”€β”€ position_1                          # Cartella contenente le immagini generate in posizione 1
β”‚   β”‚   β”‚   β”‚   └── ...
β”‚   β”‚   β”‚   └── ...
β”‚   β”‚   └── normal                                  # Cartella contenente immagini senza bounding_box
β”‚   β”‚       β”œβ”€β”€ position_0
β”‚   β”‚       β”‚   β”œβ”€β”€ image_pos_0_0.jpg
β”‚   β”‚       β”‚   └── ...
β”‚   β”‚       β”œβ”€β”€ position_1
β”‚   β”‚       β”‚   └── ...
β”‚   β”‚       └── ...
β”‚   β”œβ”€β”€ positions.jpg                               # Immagine delle posizioni raggiungibili dal robot
β”‚   └── top_down.png                                # Immagine aerea dell'ambiente
β”œβ”€β”€ huric_file.hrc                                  # File HuRIC in input
└── gen_huric_file.json                             # File JSON in output con descrizione dell'ambiente e immagini