Skip to content

πŸ’€ A Unity-based multi-agent simulation where autonomous robots collect and deliver objects using computer vision (YOLO v5) and smart navigation. Features real-time performance tracking, collision avoidance, and inter-agent communication in a dynamic 3D environment.

License

Notifications You must be signed in to change notification settings

Aaron3312/ProyectoSkeletons

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Multi-Agent System with Computer Vision and 3D Graphics

This project implements a multi-agent system where robotic agents navigate a 3D environment to collect and deliver objects, utilizing computer vision for object detection and autonomous navigation capabilities.

link to project https://drive.google.com/drive/folders/1eZmVEiWsTU47vPOiCX8_LJxLp49Hh7Fd?usp=sharing

Dungeon Environment Overview Complete view of the dungeon environment where the robots operate

πŸ“‹ Project Overview

The simulation features five robot agents tasked with organizing objects in a structured environment. Each robot uses:

  • Computer vision (YOLO v5) for object detection
  • Autonomous navigation with NavMesh
  • Real-time metrics tracking
  • 3D graphics and animations in Unity

Robot Agents The robot agents working together in the environment

πŸš€ Project Structure

Part 1: Multi-Agent System

Agent Properties and Environment

  • Agent Type: Robot Agent
  • Capabilities:
    • NavMeshAgent-based movement (15 units speed)
    • Collision detection and handling
    • Object manipulation (pick/drop)
    • Inter-agent communication
    • Obstacle jumping (jumpForce = 5f)
    • Animated movement

Collision System Demonstration of the collision avoidance system

Collection Process Robot performing object collection tasks

Environment Properties

  • NavMesh-defined navigation space Navigation Mesh NavMesh configuration for autonomous navigation

  • Two distinct zones:

    • Red Zone (A): Collection area (-15, -1.19, 0) Zone A Collection zone where objects are initially placed

    • Blue Zone (B): Delivery area (30, -1.19, 0) Zone B Delivery zone where objects are transported

  • Environmental challenges: Obstacles Various obstacles and terrain challenges

  • Dungeon environment: ~120 x 25 x 180 units

  • 10 randomly distributed cubes in red zone

Dynamic Lighting Example of dynamic lighting implementation in the environment

Performance Metrics

The system tracks:

  1. Cubes Delivered
  2. Total Distance Traveled
  3. Efficiency Ratio (cubes/distance)
  4. Delivery Rate (cubes/minute)

Performance Metrics Dashboard Real-time performance metrics visualization

Advanced Analytics Detailed performance analytics and agent efficiency tracking

Part 2: Unity 3D Implementation

Located in /codes/:

  • h45.cs: Individual robot prefab controller
  • robotWorld2.cs: World controller script Features:
  • Material and texture mapping
  • Walking/running animations
  • Basic collision detection
  • Dynamic lighting

Part 3: Computer Vision

Located in /pycodes/:

  • YOLO v5 implementation
  • Real-time UDP camera stream processing
  • Object recognition system

YOLO Detection YOLO v5 object detection in action

Part 4: Metrics Dashboard

Located in /robot-dashboard/:

  • Real-time visualization of robot performance metrics
  • Interactive charts and graphs
  • Agent status monitoring

πŸ“¦ Repository Contents

β”œβ”€β”€ codes/
β”‚   β”œβ”€β”€ h45.cs
β”‚   β”œβ”€β”€ robotWorld2.cs
β”‚   └── [other Unity scripts]
β”œβ”€β”€ pycodes/
β”‚   β”œβ”€β”€ CameraController.py
β”‚   β”œβ”€β”€ Controller2.py
β”‚   └── [other Python vision processing scripts]
β”œβ”€β”€ robot-dashboard/
β”‚   β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ package.json
β”‚   └── [other web dashboard files]
β”œβ”€β”€ images/
β”‚   β”œβ”€β”€ dungeon.png
β”‚   β”œβ”€β”€ robots.png
β”‚   β”œβ”€β”€ metricas.png
β”‚   β”œβ”€β”€ metricas2.png
β”‚   β”œβ”€β”€ luces.png
β”‚   β”œβ”€β”€ yolo.png
β”‚   β”œβ”€β”€ EvitColizion.png
β”‚   β”œβ”€β”€ Navmesh.png
β”‚   β”œβ”€β”€ obstaculos.png
β”‚   β”œβ”€β”€ recolecting.png
β”‚   β”œβ”€β”€ zonaA.png
β”‚   └── zonaB.png
β”œβ”€β”€ Documentation.pdf
β”œβ”€β”€ demo.mp4
└── project.unitypackage

[El resto del contenido continΓΊa igual hasta la licencia]

πŸ“„ License

Copyright (c) 2024 AarΓ³n HernΓ‘ndez JimΓ©nez

All rights reserved.

This software and associated documentation files (the "Software") are protected by copyright law. No part of this Software may be reproduced, distributed, or transmitted in any form or by any means, including photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the copyright holders.

Permission Restrictions:

  1. The Software may not be used, copied, modified, merged, published, distributed, sublicensed, and/or sold without explicit written permission from the copyright holders.
  2. Any unauthorized use, reproduction, or distribution of the Software may result in severe civil and criminal penalties, and will be prosecuted to the maximum extent possible under law.

To request permission for usage:

  • Contact:
  • Required Information for Request:
    • Intended use
    • Scope of usage
    • Duration of usage
    • User/Organization information

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

πŸ‘₯ Contributors

  • AarΓ³n HernΓ‘ndez JimΓ©nez (A01642529)

About

πŸ’€ A Unity-based multi-agent simulation where autonomous robots collect and deliver objects using computer vision (YOLO v5) and smart navigation. Features real-time performance tracking, collision avoidance, and inter-agent communication in a dynamic 3D environment.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published