🤖 А вы задумывались когда-то как работает ваш робот-пылесос? Сегодня немного об этом расскажу.
👾 Как работает 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