Stepan Burmistrov Robotics @burmistrov_robotics Channel on Telegram

Stepan Burmistrov Robotics

@burmistrov_robotics


Для связи: @stepan_burmistrov

Степан Бурмистров Робототехника (Russian)

Вы когда-нибудь задумывались о мире робототехники и его потенциале? Если да, то канал "Степан Бурмистров Робототехника" - это именно то, что вам нужно! Здесь вы найдете увлекательные исследования, увлекательные проекты, и последние новости из мира робототехники. nnКанал создан специалистом в области робототехники и технологий - Степаном Бурмистровым. Степан - опытный инженер и исследователь, который делится своими знаниями и опытом с широкой аудиторией. Его цель - показать, какая важная и интересная может быть робототехника для нашей жизни

Что вы найдете на канале? Видеоуроки, обзоры технологий, интервью с экспертами, и многое другое! Вы сможете узнать о том, как создавать собственных роботов, какие технологии используются в современных автоматизированных системах, и какие перспективы открывает перед нами робототехника

Не упустите возможность быть в курсе всех новостей и тенденций робототехники! Присоединяйтесь к каналу "Степан Бурмистров Робототехника" прямо сейчас и расширьте свои знания в увлекательной области робототехники. Для связи с Степаном Бурмистровым просто напишите ему на Telegram по адресу @stepan_burmistrov.

Stepan Burmistrov Robotics

20 Nov, 07:33


Создаем свой видеорегистратор с распознаванием объектов! 🚗🎥

Привет, друзья! 👋 Хотите создать свой собственный интеллектуальный видеорегистратор, который не только записывает видео, но и умеет распознавать объекты в реальном времени? С помощью Python, OpenCV и MediaPipe это проще, чем вы думаете! 🐍

Проект, исходный код которого открыт для вас! 📹
➡️Постоянная запись видео: непрерывно записывает все происходящее, разбивая видео на удобные части.
➡️Запись по событию: начинает отдельную запись при обнаружении определенных объектов (например, людей или автомобилей).
➡️Детекция объектов в реальном времени: использует модель EfficientDet для распознавания на каждом кадре.
➡️Буферизация кадров: сохраняет кадры до обнаружения события, чтобы ничего не упустить.
➡️Управление хранилищем: автоматически удаляет старые записи, когда заканчивается место.
➡️Логирование событий: записывает все важные события для последующего анализа.

Как начать? 🚀
Клонируйте репозиторий с кодом проекта на GitHub: Интеллектуальный видеорегистратор на Python

Установите необходимые библиотеки,
запустите скрипт и
наслаждайтесь результатом! 🎉

Хотите узнать больше? 🎓
Если вам интересно глубже погрузиться в мир компьютерного зрения и научиться создавать такие проекты с нуля, у нас есть для вас полный курс по компьютерному зрению! 📚

👉 Записаться

Что вы узнаете:

Основы обработки изображений и видео.
Как использовать OpenCV для различных задач.
Работа с базовыми методами и нейронными сетями.
Применение MediaPipe и других современных инструментов.
Выполнение практических проектов и задач по программированию с автопроверкой для закрепления знаний.
Файлы Google Colab для многих уроков для вашего удобства!

Присоединяйтесь к нам по ссылке:
👉 Записаться

Кстати, в описании репозитория спрятан промокод! Найдите его и получите приятный бонус! 🕵️‍♂️🔍

Давайте творить вместе! 🤗

Stepan Burmistrov Robotics

15 Nov, 07:04


🎉 Хочу пропиарить канал Степана Жданова — моего бывшего ученика, который сейчас активно занимается исследованиями в области робототехники и машинного обучения.
Степан делится своими уникальными проектами и экспериментами, которые будут интересны как новичкам, так и опытным специалистам.

Подписывайтесь: https://t.me/step_zhdanov

На его канале вы найдете:
🧩 Комплексирование различных технологий: Объединение модулей в общую систему и решение возникающих при этом задач.

🚀 Детекция объектов на высокой скорости: Узнайте, как достичь более 150 FPS на процессоре Intel, сравнивая PicoDet и Yolo.

📊 Обзоры производительности инференса: Интересные результаты бенчмарков.

🛠 Разметка датасетов с помощью инструментов вроде Smart Polygon в Roboflow.

🖥 Практические проекты с Luckfox Pico Mini: Статьи, гайды, репозитории и многое другое для тех, кто хочет погрузиться в мир одноплатных компьютеров и нейронных сетей.

📡 Эксперименты с беспроводной связью: Использование LoRa модулей и портирование библиотек для Linux.

Степан постоянно обновляет свой канал новыми исследованиями и проектами, поэтому подписывайтесь, чтобы не пропустить самое интересное! 🔔

Stepan Burmistrov Robotics

14 Nov, 05:57


Чего больше - НЕ птиц или НЕ голубей?

Продвинутые рассуждения от ChatGPT!

А вы как считает, чего же больше на самом деле? Напишите в комментарий!

Stepan Burmistrov Robotics

13 Nov, 08:53


О том, как управлять двигателями с помощью Arduino и не только!

➡️Читать статью

Примеры проектов в TinkerCad:

H-мост

Arduino - драйвер - двигатели

ШИМ

Stepan Burmistrov Robotics

05 Nov, 10:18


Как связать микроконтроллер (например Arduino) с скриптом на Python, зачем это нужно и что из этого может получиться:

Синхронизация реальных и виртуальных кнопок:
Статья: https://vc.ru/u/4094177-stepan-burmistrov/1635577-dvustoronnii-obmen-dannymi-mezhdu-kompyuterom-i-arduino-po-uart
Проект (код): https://github.com/stepanburmistrov/arduino_python_sync

Обработка дребезга:
Статья: https://dzen.ru/a/ZQ1mTsQZ6GkuxrH4
Проект: https://www.tinkercad.com/things/eFYKEbV4XB0

Обработка множества кнопок (с разными режимами):
Статья: https://vc.ru/dev/1619929-razrabotka-universalnogo-klassa-dlya-obrabotki-knopok-v-mikrokontrollerah-arduino
Проект: https://www.tinkercad.com/things/jFbTzzTbZCM-arduinobuttonclass

Курс по электронике (бесплатный):
https://stepik.org/course/109078

Курс по основам Python (бесплатный):
https://stepik.org/course/105240

Курс по компьютерному зрению (промокод OPENCV20 на скидку 20% до 11 ноября):
https://stepik.org/a/109816/pay?promo=7f50be72eb712d4d

Stepan Burmistrov Robotics

04 Nov, 16:02


Выходные-выходными, а у нас начался курс по компьютерному зрению!

Уже на первом занятии стартовый состав группы сделал множество интересного:

Освоили основы работы с изображениями при помощи библиотеки OpenCV на языке Python:
➡️ Бесплатный курс по основам Python

Разобрали основу алгоритма определения контура объекта на изображении, и с пониманием процесса воспользовались сервисом для удаления фона:
➡️ https://remove-bg.ai/ru

Сгенерировали изображения и даже небольшое видео при помощи нейросети Кандинский от СБЕР:
➡️ https://fusionbrain.ai/

Оформили все полученные знания и навыки в презентацию с помощью сервиса:
➡️ https://gamma.app/

🎚Дальше - больше и интереснее!

Ну а тем, кто не может быть с нами оффлайн рекомендую курс на Stepik (и дарю промокод на 20% скидку до 11 ноября):

https://stepik.org/a/109816/pay?promo=afe00496a02ad7e6

Stepan Burmistrov Robotics

04 Nov, 06:26


ArUco маркеры - теперь с практикой! 🎉
ArUco маркеры представляют собой квадратные изображения, состоящие из черных и белых клеток, которые кодируют уникальный идентификатор. Размер маркера определяется количеством ячеек в его бинарной матрице и может варьироваться от 4x4 до 7x7, обеспечивая разные уровни уникальности и устойчивости к ошибкам. 🖤🤍

Происхождение названия "ArUco": "Ar" — сокращение от Augmented Reality (дополненная реальность).
"UCo" — аббревиатура от University of Cordoba (Университет Кордовы) в Испании, где была разработана эта библиотека.

В мире компьютерного зрения ArUco маркеры занимают особое место благодаря своей способности эффективно распознавать и отслеживать объекты. Эти специальные двумерные бинарные маркеры находят применение в различных задачах, таких как дополненная реальность, калибровка камер и навигация роботов. 🤖

Но как именно они работают?

4x4: Простые в обнаружении, но ограничены в количестве уникальных идентификаторов.
5x5: Увеличенная устойчивость к шуму и больше уникальных идентификаторов.
6x6 и 7x7: Предоставляют наибольшее количество уникальных идентификаторов и наивысшую устойчивость, но требуют больше вычислительных ресурсов.
При генерации кодов необходимо проверить каждую матрицу на уникальность и устойчивость к поворотам и отражениям, чтобы гарантировать, что идентификаторы не будут путаться в процессе распознавания, а также обеспечить уникальность расположения точек для определения поворота! 🔄

Для обеспечения таких свойств используется следующий подход:

Генерация всех возможных комбинаций бинарных матриц для заданного размера.
Проверка каждой матрицы на уникальность с учетом всех ее поворотов и отражений.
Генерация всех поворотов (0°, 90°, 180°, 270°) и зеркальных отражений матрицы.
Исключение совпадающих матриц.
Выбор матриц с достаточным расстоянием Хэмминга до других матриц (об этом подробнее далее).
Формирование словаря из оставшихся уникальных матриц и присвоение им идентификаторов.
Если вы хотите узнать больше о том, как работают ArUco маркеры, я рекомендую вам пройти бесплатный урок на курсе по компьютерному зрению на Stepik. 📚💡 В этом курсе вы не только изучите теоретические основы, но и сможете поработать с практическими заданиями, которые помогут закрепить знания.

👉 Начните изучение курса по компьютерному зрению здесь!
https://stepik.org/a/109816

В этом курсе вы найдете много полезной информации о применении компьютерного зрения в робототехнике и других областях. Присоединяйтесь к сообществу изучающих и развивайтесь вместе с нами! 🚀

Stepan Burmistrov Robotics

28 Oct, 15:51


💡 Сложно о простом! 💡

Вновь сегодня пойдет речь об обработке кнопок с помощью микроконтроллеров!
Когда-то я уже писал о методе, который позволяет эффективно обрабатывать нажатие кнопки:

🔗 https://t.me/burmistrov_robotics/28

Однако метод описанный там не позволяет эффективно взаимодействовать с множеством кнопок, поэтому предлагаю вам метод, который легко интегрировать в код на Arduino с любым количеством кнопок, увеличенным функционалом - теперь удобно контролировать не только момент нажатия, но и удержание, а также отпускание кнопки.

📦 Всё это собрано в удобном классе!

🔗 Статья на VC.ru

🔗 Проект в TinkerCad, где можно сразу опробовать

Если у вас будут затруднения с входом в TinkerCad, метод входа описан в одном из уроков БЕСПЛАТНОГО курса по электронике!
В том курсе также подробно разбирается (в прямом смысле этого слова) устройство кнопок и выключателей


Учитесь с радостью и удовольствием!

Stepan Burmistrov Robotics

24 Oct, 08:56


Друзья, предлагаем вам подборку  каналов по роботизации, по ссылке можно подписаться сразу на все каналы.

P.S. для администраторов других каналов по роботизации, если есть желание подключиться, пишите в личку @zimichev

Stepan Burmistrov Robotics

17 Oct, 04:58


О том, как передавать массивы между микроконтроллерами!

Статья: Ссылка

Пример для тестов тут:
https://www.tinkercad.com/things/3o7CkwflXpb-bytes

Stepan Burmistrov Robotics

08 Oct, 09:30


Ошибки — Двигатель прогресса программиста

Ошибки — это неотъемлемая часть программирования, и без них невозможно стать настоящим мастером.
Важно понять: каждая ошибка — это возможность стать лучше и глубже погрузиться в логику вашего кода.

Давайте посмотрим на примерах, как ошибки помогают двигаться вперед.

Ошибки синтаксиса — первый шаг к пониманию структуры
Представьте, что вы написали код:
name = Ivan
age = 25
print(My name is name and I am age years old!)


При попытке запустить его, вы увидите ошибку:

NameError: name 'Ivan' is not defined

Эта ошибка сообщает вам, что переменная Ivan не определена, потому что вы забыли заключить её в кавычки — ведь это строка, а не переменная.
Внося исправления, вы учитесь грамотно работать с типами данных и следить за правильным синтаксисом.

И в этом, несомненно поможет абсолютно бесплатный курс по основам Python:
https://stepik.org/course/105240

По завершении курса (на который уже записалось более 1800 учеников), вы получите сертификат!

После исправления программа будет выглядеть так:
name = "Ivan"
age = 25
print("My name is " + name + " and I am " + str(age) + " years old!")

Ошибки синтаксиса не дают вам даже запустить код, но они помогают улучшать навыки структурирования программ.

Логические ошибки — учимся думать на шаг вперёд
Предположим, что программа запускается, но не выдает ожидаемый результат. Это уже не ошибка синтаксиса, а логическая ошибка. Пример:
name = "Ivan"
age = "25"
print("My name is " + name + " and I am " + age + " years old!")

Программа вроде бы работает, но что будет, если вам нужно математически обработать возраст? При попытке выполнить арифметическую операцию с переменной age программа выдаст ошибку, потому что это строка, а не число. Такое развитие событий научит вас внимательнее относиться к типам данных.

Traceback — ваш лучший друг
Когда программа выдаёт ошибку, она также выводит так называемый "traceback" — сообщение об ошибке, которое указывает на место, где что-то пошло не так. Изучая эти сообщения, вы начинаете лучше понимать, как работает ваша программа, что улучшает ваше мастерство в отладке.

Пример ошибки:

Traceback (most recent call last):
File "example.py", line 3, in <module>
print("My name is " + name + " and I am " + age + " years old!")
TypeError: can only concatenate str (not "int") to str


Видя эту ошибку, вы учитесь, что нужно привести age к строке, чтобы программа корректно работала. Решение:

print("My name is " + name + " and I am " + str(age) + " years old!")


Не бойтесь ошибок — они ведут к мастерству
Каждая ошибка — это шаг на пути к лучшему пониманию и совершенствованию ваших навыков. Работа с ними развивает внимательность, заставляет вас думать на шаг вперёд и понимать, как работают все части программы. Чем больше ошибок вы исправляете, тем ближе вы к созданию стабильного и надёжного кода.

Главное — не бояться ошибок, а учиться на них. Ведь даже самые опытные программисты сталкиваются с ними ежедневно и именно через ошибки они становятся мастерами своего дела.

Делайте ошибки, разбирайте их и исправляйте. Со временем вы начнете писать код, который с первого взгляда будет казаться простым, но за ним будет стоять ваше глубокое понимание и большой опыт.

Любите ошибки — они ваши лучшие учителя!

Stepan Burmistrov Robotics

07 Oct, 06:48


🔍 Что такое ArUco-маркеры?

ArUco-маркеры — это специализированные двоичные квадратные метки, предназначенные для надежного обнаружения и идентификации объектов в пространстве с помощью методов компьютерного зрения. Они широко применяются в робототехнике, дополненной и виртуальной реальности, навигационных системах и других областях, где требуется точное определение положения и ориентации объектов.

Технически, каждый ArUco-маркер представляет собой уникальную двоичную матрицу определенного размера, например, 4x4, 5x5 и т.д. Эти размеры определяют количество бит информации, содержащейся в маркере, что влияет на количество уникальных идентификаторов и устойчивость к шуму. Благодаря своей уникальной структуре и ориентации, ArUco-маркеры позволяют не только идентифицировать объект, но и точно определить его положение и ориентацию относительно камеры.

📚 Необходимые библиотеки

Для работы с ArUco-маркерами в Python необходимо установить следующие библиотеки:

opencv-contrib-python: Расширенная версия OpenCV, включающая дополнительные модули, такие как cv2.aruco, необходимый для работы с ArUco-маркерами. Стандартный пакет opencv-python не содержит этих модулей.
pip install opencv-contrib-python


fpdf: Библиотека для создания PDF-файлов, используемая при генерации маркеров для печати, при помощи прилагаемого скрипта вы сможете быстро сгенерировать ArUco маркеры нужного размера и распечатать их.

pip install fpdf

👐 Репозиторий с кодом: GitHub - https://github.com/stepanburmistrov/aruco_create_and_detect

🔧 Обнаружение маркеров

В файле Aruco_detect.py представлен пример функции, которая выполняет обнаружение ArUco-маркеров на изображении. Основные шаги функции:

Загрузка и предварительная обработка изображения: Изображение конвертируется в градации серого для улучшения производительности алгоритма обнаружения.

Настройка параметров обнаружения: Используется конкретный словарь маркеров (например, DICT_5X5_1000) и параметры обнаружения из cv2.aruco.DetectorParameters_create().

Обнаружение маркеров: Функция aruco.detectMarkers() ищет маркеры на изображении и возвращает координаты их углов и идентификаторы.

Отображение результатов: Обнаруженные маркеры визуализируются с помощью aruco.drawDetectedMarkers(), позволяя проверить корректность работы алгоритма.

🔧 Создание маркеров

Файл Aruco_PDF.py содержит код для генерации и сохранения ArUco-маркеров в виде изображений и подготовки PDF-документа для печати. Основные возможности:

Генерация индивидуальных маркеров: Используя функцию aruco.drawMarker(), можно создавать маркеры с заданным идентификатором и размером.

Сохранение маркеров: Сгенерированные маркеры сохраняются в формате JPG для последующего использования.

Создание PDF для печати: С помощью библиотеки fpdf маркеры размещаются на странице формата A4 с указанными размерами, что упрощает процесс печати и подготовки к использованию.

📢 Скоро в курсе по компьютерному зрению!

Рад сообщить, что в ближайшее время в курсе по компьютерному зрению выйдет новый модуль, посвященный работе с ArUco-маркерами.
В этом модуле вы узнаете:
Структура, принципы работы и математический аппарат, лежащий в основе их обнаружения и декодирования.
Реализация проектов с использованием ArUco-маркеров, включая управление роботами, дополненную реальность и трекинг объектов.

https://stepik.org/a/109816

Не упустите возможность расширить свои знания и навыки в области компьютерного зрения! Следите за обновлениями и присоединяйтесь к нашему курсу.

Успехов в ваших проектах с ArUco-маркерами!

Stepan Burmistrov Robotics

04 Oct, 10:21


🎉 Деньрожденное! 🎉

8 лет назад произошло важное событие в моей жизни — прошло первое занятие в школе RobotX! 🎂

С тех пор у нас собралась команда из замечательных людей: и речь не только о преподавателях! 👨‍🏫👩‍🏫 Это еще и ученики, родители, партнёры, друзья, менеджеры, и даже наши хейтеры! 😄

Спасибо вам всем, мои дорогие! 💖 Без вас школа не была бы такой, какая она есть сейчас!

На сегодняшний день у нас уже:

Более 220 учеников оффлайн 👩‍💻👨‍💻,
Почти 5000 учеников на наших онлайн-курсах на Stepik 🌍,
И множество подписчиков во всех соцсетях! 📱🎥
8 лет — это значит, что многие из наших учеников ещё не родились, когда состоялось первое занятие! 👶 А многие из них уже стали студентами и профессионалами не только в робототехнике, но и в других сферах! 🎓🚀

Ещё одно важное событие — платформа Stepik, где размещены наши курсы, тоже отмечает День Рождения! 🎂 В честь этого они выпустили сборный курс — Универсальный квиз (https://stepik.org/course/1100), один из уроков которого посвящен компьютерному зрению и создан мной и школой RobotX! 🤖📷

Присоединяйтесь и вы! 💥

С днём рождения, школа! 🎉🎉

Stepan Burmistrov Robotics

01 Oct, 09:41


Привет, друзья! 👋

Сегодня поговорим об одном из ключевых элементов современной электроники — транзисторах! 🌟

Транзистор - это такой электронный "выключатель", они бывают разных типов, сегодня об одном из самых популярных - биполярный транзистор!

Он состоит из трех выводов - коллектор, база и эмиттер:

Коллектор - вывод, через который основной ток поступает в транзистор.
База - сюда подключается управление транзистором.
Эмиттер - вывод, через который основной ток выходит из транзистора.

Вся идея в том, что транзистор при помощи слабого сигнала, например от микроконтроллера, может управлять значительно большей нагрузкой! Это позволяет контролировать мощные устройства, используя маломощные сигналы управления.

🔌 Транзисторы NPN и PNP: в чем разница?

NPN-транзисторы ☝️ управляются подачей положительного напряжения на базу. При этом транзистор "открывается", и ток течет между коллектором и эмиттером.

PNP-транзисторы ✌️ управляются подачей "земли" на базу. Это также "открывает" транзистор, позволяя току течь между коллектором и эмиттером.

⚠️ Важно: всегда используйте резистор при подключении базы транзистора, чтобы ограничить ток базы и предотвратить повреждение компонента!

💡 Хотите узнать больше об электронике и создавать свои собственные проекты?

Присоединяйтесь к бесплатному курсу по электронике, который уже приближается к отметке в 3500 учеников! 🚀

https://stepik.org/course/109078

По завершении курса вы получите сертификат. Не упустите шанс стать частью нашего сообщества и погрузиться в увлекательный мир электроники! 🎓

Stepan Burmistrov Robotics

28 Sep, 09:53


Друзья, уже сегодня, через несколько часов будет презентация нового регламента Eurobot 2025!

На французском (начало в 15:00):
https://www.youtube.com/watch?v=_rYArfj6Pe8

На английском (начало в 16:00):
https://www.youtube.com/watch?v=YqtDsiVH8gY

Stepan Burmistrov Robotics

26 Sep, 08:00


🤖 Академия STEAM для преподавателей робототехники — ваш ключ к успешной подготовке команд к соревнованиям!

Преподаете робототехнику или ведете кружки? Хотите не только улучшить занятия, но и готовить команды к соревнованиям по проектной деятельности и робототехнике? Тогда Академия STEAM — это то, что вам нужно! 💡

На Академии вы:

Научитесь готовить сильные команды к любым соревнованиям по робототехнике и проектной деятельности;
Освоите лучшие STEAM-методики для вовлечения учеников и успешного решения инженерных задач;
Получите навыки эксперта, чтобы участвовать в чемпионатах в роли судьи и оценивать команды на высшем уровне.

Важно! Подробную информацию о датах и месте проведения мероприятия вы найдете по этой ссылке

Не упустите шанс — переходите прямо сейчас

🚀 Прокачайте свои знания и откройте новые горизонты в преподавании робототехники!

Stepan Burmistrov Robotics

25 Sep, 12:38


Мы рады объявить, что универсальный квиз готов и откроется с 1 по 31 октября. Поскольку в этом году Stepik исполняется 11 лет, мы выбрали уроки 11 авторов 🤩

Огромное спасибо каждому из вас за участие в этом новом формате! Если у вас остались вопросы, пожалуйста, напишите нам в службу поддержки.

Stepan Burmistrov Robotics

25 Sep, 06:05


Параметрические детали в SolidWorks: Создаем уникальные, но повторяемые конструкции! 🎉

Сегодня мы поговорим о параметрических деталях в SolidWorks, используя простой пример — кубик для резки из фанеры. 🪵 С помощью параметрического моделирования вы можете легко изменять размеры и формы ваших деталей, а это открывает огромные возможности для творчества!

На нашем примере кубика все соединения шип-паз взаимозависимы, что позволяет создать целую серию похожих деталей разного размера! 📏📐 Это значит, что вы можете адаптировать ваш проект под любые требования, просто изменив параметры. Удобно, правда?
В этом примере параметры определены на уровне сборки, что позволяет менять сразу несколько деталей!

🔗 Скачать детали кубика вы можете по этой ссылке: https://t.me/burmistrov_robotics/381

Параметрическое моделирование — это не только удобство, но и экономия времени! 💡 Вы создаете модель один раз, а затем просто меняете параметры для получения новых вариантов. Попробуйте сами — результаты вас удивят! 😍

Поделитесь своими примерами параметрического моделирования в комментариях! 👇💬

Stepan Burmistrov Robotics

25 Sep, 06:05


Кубик параметрический

Stepan Burmistrov Robotics

18 Sep, 10:02


Дорогие друзья!

Отличная новость!
Уже на следующей неделе, с 23 сентября RobotX начнет работу в ГДКиС "Мир" в г.Домодедово.

Занятия по понедельникам с 16 до 18 часов. По мере наполнения откроем дополнительные группы.
В программу занятий включено:
— Электроника
— Программирование
— Механика и работа с ручным инструментом
— 3D-моделирование
— Сборка проектов, которые можно забрать с собой!

Запись по телефону: +7 985 099-16-40
Сайт: https://robotx.su
VK: https://vk.com/robotx_su
TG: https://t.me/robot_x_school

Стоимость: 6800 р/мес
Приглашаем детей от 7 до 17 лет
Занятия проходят в небольших группах.