GithubHelp home page GithubHelp logo

lorenzobalandi / sanitizer-robot-project Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 1.39 MB

Control of an autonomous mobile robot that has to perform some tasks in the Turtlebot3 simulation environment using ROS Noetic (course project)

Jupyter Notebook 88.31% CMake 3.77% C++ 3.89% Python 4.03%
robotics mobile-robotics turtlebot3 ros ros-noetic gazebo gazebo-ros opencv

sanitizer-robot-project's Introduction

Sanitizer-Robot-Project

Control of an autonomous mobile robot that has to perform some tasks in the Turtlebot3 simulation environment using ROS Noetic. Course project of Autonomous and Mobile Robotics course at University of Bologna. Team members: Lorenzo Balandi, Salvatore Bamundo (https://github.com/Salvatore1999).

This repository includes:

  • ROS packages used and developed for the project (Python and C++). turtlebot3_big_house and turtlebot3_project_house are gazebo environments
  • 2 textfiles containing the commands to be runned on multiple terminals to launch simulation and nodes
  • Jupyter Notebooks used to manipulate the map image and to test the room detection algorithm and the algorithms used to find new goals to complete the map sanification
  • final presentation.

The project uses the Turtlebot3 packages for SLAM and Navigation (https://emanual.robotis.com/docs/en/platform/turtlebot3/overview/). We also used explore_lite package (http://wiki.ros.org/explore_lite) with the parameter min_frontier_size set to 0.3 and OpenCV.

Warning: the robot performs all the required tasks but it's not optimized and there are some parts of the code that lack flexibility and portability. Changes that may be done in the future are:

  • Optimize behaviour of the robot to spend less time to sanify the map (optimize path, consider already energized areas...)
  • Add functions to make the code flexible and easily reusable (e.g. coordinate transformation between image reference frame and Rviz reference frame

In brief, the robot has to perform the following tasks:

  • Create a map of an unknown environment
  • Localize itself in the map
  • Reach some golas contained in a textfile
  • Sanitize all the map with a minimum amount of energy (pretending that the robot is equipped with UV lamps)

image map image image

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.