Git Product home page Git Product logo

thymio-slam's Introduction

Thymio SLAM

Simple Python SLAM implementation using A* algorithm and IR frontal proximity sensor of Thymio educational mobile robot.

Table of contents

1. Description

Python implementation of Simultaneous Localization And Mapping (SLAM) using IR frontal proximity sensor of a Thymio educational robot. The path towards goal is continuously adjusted according to the newly detected obstacles (cf. YouTube video).

thymio_slam_gif

2. Getting started

2.1 Dependencies

  • Tested on macOS Catalina version 10.15.7
  • Requires iTerm2 (Build 3.3.9) (or similar Terminal application)
  • Python 3.6

2.2 Installing

pip install -r requirements.txt

2.3 Working conditions

⚠️ Do not edit thymio_slam_obstacles_coordinates.txt (this file will be automatically updated as the robot discovers the map on its way towards the goal).

⚠️ Thymio has to be calibrated to turn exactly 90° and to go forward by about 12[cm] (cf. time_turn_left, time_turn_right, time_go_forward, left_adjustment_go_forward, right_adjustment_go_forward).

  • Start position: (ys,xs) = (0,0), orient = 'S'.
  • The box (0,0) has to be free (start position).
  • The box (4,4) has to be free as well (end position, i.e. goal).
  • No obstacles should be placed directly on the border of the arena.

2.4 Executing program

python3.6 thymio_slam.py

3. Version history

  • 0.1
    • Initial release

thymio-slam's People

Contributors

antho1426 avatar

Stargazers

 avatar Alexis avatar  avatar Yue Pan  avatar Yujie He avatar

Watchers

 avatar

Forkers

mfkiwl

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.