🤖 А вы задумывались когда-то как работает ваш робот-пылесос? Сегодня немного об этом расскажу.
👾 Как работает LIDAR
LIDAR (Light Detection And Ranging) - это вращающийся лазерный дальномер, который несколько раз в секунду обходит всю комнату по кругу и замеряет расстояние до ближайших препятствий в каждой точке по углу.
Выход: массив пар (угол, расстояние) для каждого сканирования.
👾 Преобразование LIDAR-данных в карту квартиры
SLAM - Simultaneous Localization And Mapping
Алгоритм, который строит карту и одновременно определяет своё положение на ней, называется SLAM. Практически все современные роботы используют либо классический 2D SLAM, либо вариации (например, Cartographer от Google, GMapping, HectorSLAM).
Простая последовательность:
1. Сканирование: Робот получает "кольцо" точек вокруг себя (точки препятствий).
2. Оценка перемещения: Сравнивает текущее сканирование с предыдущим, чтобы понять, как он сдвинулся (обычно через ICP — Iterative Closest Point).
3. Оценка по одометру: Использует данные с колес (если есть) для уточнения перемещения.
4. Построение карты: Накапливает "облака точек" на сетке (обычно Occupancy Grid Map, где каждая клетка — свободна/занята/неизвестна).
5. Коррекция ошибок: Со временем использует методы "закрытия циклов" - если робот приехал в уже изученное место, корректирует свою карту и положение.
Итог: Получается карта квартиры в виде 2D-сетки (grid map), где видно стены, проходы, мебель.
👾 Как ездит робот по построенной карте
1. Локализация
В реальном времени робот продолжает использовать LIDAR, чтобы:
Сверять текущий круг LIDAR с картой (amcl - adaptive Monte Carlo localization, или particle filter).
Всегда знать, где он находится на карте (даже если его подвинуть руками).
2. Навигация и планирование маршрута
Два уровня:
1. Глобальный путь (Global Path Planning):
Алгоритмы типа A* или Dijkstra строят кратчайший путь по “чистой” карте (без учета динамических препятствий).
2. Локальный путь (Local Path Planning):
Робот смотрит ближайшее окружение (например, 1-2 метра) и строит траекторию с учетом новых препятствий (стул, ноги и т.д.), используя данные LIDAR в реальном времени (алгоритмы типа DWA — Dynamic Window Approach, или TEB — Timed Elastic Band).
Процесс:
Выбирается следующая “цель” (точка, участок для уборки).
Глобальный планировщик строит маршрут.
Локальный планировщик корректирует траекторию по свежим данным с LIDAR.
Робот двигается, всё время уточняя своё положение.
👾 Как работает в куче
1. LIDAR рисует "кольцо" вокруг робота
2. SLAM “сшивает” кольца друг с другом → карта
3. Робот узнает своё место на карте
4. Планирует путь с учётом карты
5. Едет, реагирует на изменения по LIDAR в реальном времени
👾 Примерная структура используемых алгоритмов
LIDAR scan → Preprocessing → SLAM (карта + позиция)
Карта + позиция + цели → Path Planning (A*, DWA и т.п.)
Движение → новые LIDAR данные → корректировка
👉 Подпишитесь что бы не пропустить интересное
👾 Как работает LIDAR
LIDAR (Light Detection And Ranging) - это вращающийся лазерный дальномер, который несколько раз в секунду обходит всю комнату по кругу и замеряет расстояние до ближайших препятствий в каждой точке по углу.
Выход: массив пар (угол, расстояние) для каждого сканирования.
👾 Преобразование LIDAR-данных в карту квартиры
SLAM - Simultaneous Localization And Mapping
Алгоритм, который строит карту и одновременно определяет своё положение на ней, называется SLAM. Практически все современные роботы используют либо классический 2D SLAM, либо вариации (например, Cartographer от Google, GMapping, HectorSLAM).
Простая последовательность:
1. Сканирование: Робот получает "кольцо" точек вокруг себя (точки препятствий).
2. Оценка перемещения: Сравнивает текущее сканирование с предыдущим, чтобы понять, как он сдвинулся (обычно через ICP — Iterative Closest Point).
3. Оценка по одометру: Использует данные с колес (если есть) для уточнения перемещения.
4. Построение карты: Накапливает "облака точек" на сетке (обычно Occupancy Grid Map, где каждая клетка — свободна/занята/неизвестна).
5. Коррекция ошибок: Со временем использует методы "закрытия циклов" - если робот приехал в уже изученное место, корректирует свою карту и положение.
Итог: Получается карта квартиры в виде 2D-сетки (grid map), где видно стены, проходы, мебель.
👾 Как ездит робот по построенной карте
1. Локализация
В реальном времени робот продолжает использовать LIDAR, чтобы:
Сверять текущий круг LIDAR с картой (amcl - adaptive Monte Carlo localization, или particle filter).
Всегда знать, где он находится на карте (даже если его подвинуть руками).
2. Навигация и планирование маршрута
Два уровня:
1. Глобальный путь (Global Path Planning):
Алгоритмы типа A* или Dijkstra строят кратчайший путь по “чистой” карте (без учета динамических препятствий).
2. Локальный путь (Local Path Planning):
Робот смотрит ближайшее окружение (например, 1-2 метра) и строит траекторию с учетом новых препятствий (стул, ноги и т.д.), используя данные LIDAR в реальном времени (алгоритмы типа DWA — Dynamic Window Approach, или TEB — Timed Elastic Band).
Процесс:
Выбирается следующая “цель” (точка, участок для уборки).
Глобальный планировщик строит маршрут.
Локальный планировщик корректирует траекторию по свежим данным с LIDAR.
Робот двигается, всё время уточняя своё положение.
👾 Как работает в куче
1. LIDAR рисует "кольцо" вокруг робота
2. SLAM “сшивает” кольца друг с другом → карта
3. Робот узнает своё место на карте
4. Планирует путь с учётом карты
5. Едет, реагирует на изменения по LIDAR в реальном времени
👾 Примерная структура используемых алгоритмов
LIDAR scan → Preprocessing → SLAM (карта + позиция)
Карта + позиция + цели → Path Planning (A*, DWA и т.п.)
Движение → новые LIDAR данные → корректировка
👉 Подпишитесь что бы не пропустить интересное
👍3❤1
Поиграться можно с таким в Gazebo или Webots симуляторах.
Особо мощные товарищи могут написать свой симулятор)
Особо мощные товарищи могут написать свой симулятор)
Приятно когда большую часть твоего подхода используют в Netflix.
Хотя добавив ИИ агенти с индексацией документации + сделав DaaC(Doca as a Code)
можно сделать еще лучше
https://share.google/I5oNDFDDqMELlkUzf
Хотя добавив ИИ агенти с индексацией документации + сделав DaaC(Doca as a Code)
можно сделать еще лучше
https://share.google/I5oNDFDDqMELlkUzf
DEV Community
Documentation That Developers Actually Read: The Netflix Approach
"Our documentation is our product's UI for developers." - Netflix Engineering Team. Let's be...
Ставим плюсики в коментах если хотим гайд
https://www.linkedin.com/posts/creotiv_softwarearchitect-activity-7346122096294453249-B9q2?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAPl0X4BWZSqccqAVcirdBAwe5jWKVOQ9fI
https://www.linkedin.com/posts/creotiv_softwarearchitect-activity-7346122096294453249-B9q2?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAPl0X4BWZSqccqAVcirdBAwe5jWKVOQ9fI
Linkedin
🏆 Чи було би вам цікаво отримати чіткий Software Architect Learning Path? | Andrew Nikishaev UA
🏆 Чи було би вам цікаво отримати чіткий Software Architect Learning Path?
На минулій неділі я проводив низку тестових співбесід на позицію #SoftwareArchitect і більшість людей цікавилися якимось гайдом як правильно качатися.
То ж маю питання чи робити на…
На минулій неділі я проводив низку тестових співбесід на позицію #SoftwareArchitect і більшість людей цікавилися якимось гайдом як правильно качатися.
То ж маю питання чи робити на…
👍5🤡1
Десь так виглядає наш притулок зараз коли котики їдять.
Нажаль через відсутність коштів довелося закрити другий притулок.
Тому друзі дуже прошу, допомагати нам бо 200+ тварин, і зрізати кошти нам більше немає як(
Треба 10к грн на ліки, забрати 8 тварин з кіліні і разні дрібниці
https://send.monobank.ua/jar/2gZtoPjyMR
Збори на оплату лікарні і їжі. Треба 150к грн
https://uah.fund/donate
Нажаль через відсутність коштів довелося закрити другий притулок.
Тому друзі дуже прошу, допомагати нам бо 200+ тварин, і зрізати кошти нам більше немає як(
Треба 10к грн на ліки, забрати 8 тварин з кіліні і разні дрібниці
https://send.monobank.ua/jar/2gZtoPjyMR
Збори на оплату лікарні і їжі. Треба 150к грн
https://uah.fund/donate
💔4❤1
😢3❤2
Нарешті доробив апку для менеджменту тварин. Зараз тест і потім перший реліз.
Скажу так Flutter прикольна штука, але деякі ліби топові працюють неадекватно. + Андроид теж іноді додає лимонів.
https://www.linkedin.com/posts/creotiv_%D0%BD%D1%83-%D1%89%D0%BE-%D0%BF%D0%B5%D1%80%D1%88%D0%B8%D0%B9-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D0%B8%D0%B9-%D1%80%D0%B5%D0%BB%D1%96%D0%B7-%D0%BC%D0%BE%D1%94%D1%97-%D0%B0%D0%BF%D0%BA%D0%B8-activity-7349150381832056834-nTTB?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAPl0X4BWZSqccqAVcirdBAwe5jWKVOQ9fI
Скажу так Flutter прикольна штука, але деякі ліби топові працюють неадекватно. + Андроид теж іноді додає лимонів.
https://www.linkedin.com/posts/creotiv_%D0%BD%D1%83-%D1%89%D0%BE-%D0%BF%D0%B5%D1%80%D1%88%D0%B8%D0%B9-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D0%B8%D0%B9-%D1%80%D0%B5%D0%BB%D1%96%D0%B7-%D0%BC%D0%BE%D1%94%D1%97-%D0%B0%D0%BF%D0%BA%D0%B8-activity-7349150381832056834-nTTB?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAPl0X4BWZSqccqAVcirdBAwe5jWKVOQ9fI
Приклад того як використання тулів в яких ви не розумієтеся та ще й без перевірки може призвести жо суттєвих проблем в бізнесі.
Ось приклад тексту що я написав для минулого поста, своїми руками без ШІ.
Перевіркана багатьох сервісах, що наче заявляють що вони можуть відрізняти ШІ контент, показав що текст сгенерований.
А тепер уявіть що ви використали подібний сервіс для фільтраціх кандидатів, чи контрагентів? Уявили?
Як людина що не один рік працював в Machine Learning, можу вас запевнити, що майже будьякий контент, шо не написаний дуже погано буде роспізнаний як ШІ. Саме тому що завдання ШІ писати якісно. А тому подібні тули не більше ніж кидок на бабки.
Ось приклад тексту що я написав для минулого поста, своїми руками без ШІ.
Перевіркана багатьох сервісах, що наче заявляють що вони можуть відрізняти ШІ контент, показав що текст сгенерований.
А тепер уявіть що ви використали подібний сервіс для фільтраціх кандидатів, чи контрагентів? Уявили?
Як людина що не один рік працював в Machine Learning, можу вас запевнити, що майже будьякий контент, шо не написаний дуже погано буде роспізнаний як ШІ. Саме тому що завдання ШІ писати якісно. А тому подібні тули не більше ніж кидок на бабки.
Forwarded from Andrey Nikishaev
Нажаль завтра тварини будуть без їжі( Зібрали лише 5к грн з необхідних 20к.
Прошу закрийте збір, життя тварин залежать від цих зброві
https://send.monobank.ua/jar/6NekQ6ChYd
Прошу закрийте збір, життя тварин залежать від цих зброві
https://send.monobank.ua/jar/6NekQ6ChYd
🚀 As i always say - every business steals.
Here is a typical example of "innovation". The company used the design of Mig-21, to build new 155mm shells. Nothing new, nothing created from scratch. Just old technologies that worked put together and tested.
Also SpaceX rockets were developed in the same way, they just couldn't be built because at the time of when they were created there were no computers capable of such computation.
Almost all things that you think are NEW, were created ~50years ago
Here is a typical example of "innovation". The company used the design of Mig-21, to build new 155mm shells. Nothing new, nothing created from scratch. Just old technologies that worked put together and tested.
Also SpaceX rockets were developed in the same way, they just couldn't be built because at the time of when they were created there were no computers capable of such computation.
Almost all things that you think are NEW, were created ~50years ago
❤3