GithubHelp home page GithubHelp logo

randulfe / resource-gathering-with-swarm-robotics Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 13.96 MB

Individual Dissertation Project I made about competitive and cooperative resource gathering using Swarm Robotics with ROS and AI mapping/exporation algorithms.

CMake 7.86% C 0.20% C++ 6.72% Makefile 67.69% Shell 0.13% Python 6.08% Common Lisp 8.46% JavaScript 2.86%
swarm-robotics ros dissertation ros-kinetic yaml yaml-configuration urdf urdf-models robotics-simulation robotics-programming

resource-gathering-with-swarm-robotics's Introduction

Dissertation Project : Developing a Swarm Robotics System: resource gathering using cooperation and competition in robotics

I developed this project based on my previous work and knoledge with the turtlebot and ROS (Robotic Operating System) and with my passion for AI and robotics.

The main objective of this project was to analyse the efficency in gathering resources using Swarm robots (multiple mini robots that do not have much intelligence separately but that working together, just like ants, a bigger group intelligence arises). This is just a very brief explanation of the design of the problem but you can find a detailed report of my research in this repo.

The idea was to evaluate the performance of an individual and them of a group of two that compete against other similar team. The project had two main parts, a computer simulation experimentation and a mechanical/electronic implementation. I did way more progress on the algorithmic and computational side of the project as I started building the actual swarm robots at the end of the course, so I could not manage to finished them fully as I wished. However, I earnt huge experience in combining CS, Electronics and Mechanics.

These were the main specifications of the problem:

  • Two teams of two robots would be deployed in a maze in their respective bases.
  • Their objective would be to map and explore a completely unknown maze looking for resources.
  • These resources were spots of light that would be placed at random position with high probability of respawning in their first position.
  • Once a robot finds a resource, the light spot would be off (the resource has been collected) and the robot must find the easiest path to his base.
  • Robots must communicate effectively to be both exploring and visiting previous resource spots in the most optimised way without hitting the walls of the maze.

In terms of the actual robots, these were their specifications:

  • The robots used had a 180ΒΊ sonar sensor, two powered front wheels and one rear small wheel.
  • They had a Atmel microcontroller connected to a wifi module to use communications.

I created the robotic models with ROS and used Gazebo as the simulation environment. For mapping the sensorial and path planning information I used Rviz.

You can find more about this project and specially the technologies and AI methods I used and why in the final report.

resource-gathering-with-swarm-robotics's People

Contributors

randulfe avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.