Coder Social home page Coder Social logo

esp32-slam-robot's Introduction

ESP32-SLAM-robot

Репозиторий проекта робота-картографа, который может ориентироваться по построенной карте и выполнять роль умного робота-пылесоса

Что уже готово:

  1. Точное передвижение робота к заданным координатам. Через послдовательный порт можно отправить ему координаты относительно точки включения в формате "1.2 3.4" в метрах. Робот вычисляет целевой угол, на который ему нужно повернуться и расстояние, которое ему нужно проехать, и движется к нему.
  2. Если на пути к цели робота развернуть/поставить на пути препятствие, которое его отклонит, то он сразу же корректирует мощность, необходимую для каждого из мотор-колес, чтобы держать заданное направление. При этом используется модуль гироскопа, чтобы постоянно иметь точный угол робота относительно того, в котором он был включен.
  3. Измерение расстояния вокруг робота и пока что отправка в последовательный порт без записи в ОЗУ. Для этого используется самодельный LIDAR с двумя дальномерами, направленными ровно в противоположные стороны. Сканер крутится с определенной скоростью, которая определяется частотой срабатывания датчика холла. Лазерные дальномеры могут делать одно измерение в 50 миллисекунд, и зная скорость вращения, можно определить угол, на котором находился дальномер во время измерения
  4. Python-скрипт для отображения карты в реальном времени, которую строит робот.

Что планируется сделать:

Перенести проект на ESP32 с Arduino, для этого нужно будет поменять все пины в проекте, заменить библиотеку для bluetoth на еспэшную

Вынести некоторые функции в библиотеки для удобочитаемости

Добавить запись значений с Лидара в ОЗУ (буквально строить карту)

На основе карты, находящейся в ОЗУ можно будет реализовать алгоритм движения к цели, выбирая наиболее оптимальный путь, избегая препятствия. Алгоритм "A*" кажется одним изсамых лучших, на мой взгляд

Добавить алгоритм для движения по квартире, чтобы строить карту, а после - пройти по квартире так, чтобы не осталось непройденных мест (Все-таки робот-пылесос)

esp32-slam-robot's People

Contributors

artemvolkov2103 avatar

Stargazers

l100101 avatar

Watchers

 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.