Sмарт-Пауза
Архитектура управления роботом. Начинаем с того, что создаем просто папки в своей файловой системе вложенные вдруг в друга . Каждая папка - это будущий пакет ROS2, который будет выполнять свою глобальную задачу. Название многих пакетов закреплены договоренностями.…
Он нужен как входная точка связи ros2 с реальным миром.
Я бы обозначил задачи этого пакета таким образом:
Именно здесь создаются связи, которые позволяют другим пакетами знать, чем именно они управляют. И визуализация далеко не основное, для чего нужен этот пакет. Meshes модели с визуальным отображение робота, совсем не являются обязательной частью как может показаться с начала. Так как структура робота в первую очередь описывается кодом и все сочленения численно определены в пространстве. И только потом на этот скелет крепятся файлы визуализации.
На скринах среда rviz2 и моделька робота в ней. Пока что здесь у меня больше ничего не происходит Только покрутить оси модели и проверить, что все правильно описано.
#ros2 #робот #опыт
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡4👍2✍1💯1
Sмарт-Пауза
Архитектура управления роботом. Начинаем с того, что создаем просто папки в своей файловой системе вложенные вдруг в друга . Каждая папка - это будущий пакет ROS2, который будет выполнять свою глобальную задачу. Название многих пакетов закреплены договоренностями.…
Задача этого пакета быть входной точкой взаимодействия всей архитектуры ROS2 с реальными физическими объектами - например, моторами
И самое сердце этого всего - плагин написанный на С++. В моем случае bldc_driver.cpp. Там описано примерно следующее:
В среднем этот файл на 200 строчек кода. И после отладок и проверок LLM модели справляются, чтобы реализовать всю желаемую логику. Достаточно верхнеуровнево понимать как все работает в рамках этого плагина.
А вот дальше...на следующих пакетах бесплатные LLM нещадно галлюционируют и не справляются с согласованием такого большого количества структурных элементов. В первую очередь это из-за проблемы разрозненной документации ROS2. Которая содержит в себе и куски из ROS1, и пересечения из разных выпусков. И огромное количество способов построить все связи...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2👍2⚡1
Сделал новую итерацию в прошивке движков.
Посылки стали чаще и содержат больше полезной информации
📥 📤
Предыстория:
После проверки моей прошивки, при работе с управлением по ROS2 через ros2_control. Решил прокачать низкий уровень. И так все работало. Но прошлая версия работала в максимально экономном режиме, нагружая линию на 2% от пропускной способности линии.
Факты:
⭐ поднял скорость рассылки каждого движка о своем состоянии на линию до 20Гц.
⭐ расширил посылки и теперь по CAN передается одновременно и позиция двигателя и его скорость. Раньше была только позиция. Точность сообщений 0.0001 радиана. В то время как точность энкодера всего 0.0015 радиан. Даже сейчас точность сообщений избыточна.
итоговая длина полезного сообщения DLC = 7. Длина не расширенной CAN посылки DLC = 8. Это значит, что у меня еще есть один байт на какую-нибудь информацию.
⭐ перевел аварийную блокировку с угла на скорость. Производная величина выглядит более надежной.
⭐ на скорость сразу добавил фильтр сглаживания, а то прямые сообщения скорости от энкодера не юзабельны.
Не вдаваясь в остальные подробности, в конечном итоге линия будет загружена где-то на 10%.
Посылки стали чаще и содержат больше полезной информации
Вот такая информация теперь в каждой посылке, не считая ключа:
ID=5 ANGLE=1.7278, SPEED=0.0374
ID=5 ANGLE=1.7278, SPEED=0.0371
ID=5 ANGLE=1.7278, SPEED=0.0366
Предыстория:
После проверки моей прошивки, при работе с управлением по ROS2 через ros2_control. Решил прокачать низкий уровень. И так все работало. Но прошлая версия работала в максимально экономном режиме, нагружая линию на 2% от пропускной способности линии.
Факты:
итоговая длина полезного сообщения DLC = 7. Длина не расширенной CAN посылки DLC = 8. Это значит, что у меня еще есть один байт на какую-нибудь информацию.
Не вдаваясь в остальные подробности, в конечном итоге линия будет загружена где-то на 10%.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡3👍3✍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Полная сборка ROS2
Возможно для кого-то из подписчиков дойти до такого состояния обыденность. Но
меня лично впечатляет такая визуализация.
В обратную сторону от планировщика к двигателю пока не получается хорошо. Надо как-то все согласовать, а то движок в защиту уходит от дискретных команд с рывками, которые направляет планировщик.
P.S. Визуализируется реальное выходное звено, как оно будет после редуктора.
#робот #тесты
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡5❤5👍3
Не знаю законно ли так делать, но зато 120 Ом для CAN и ждать доставки не надо.
И нет это не временное решение
Если это конечно поможет.
Ниже для тех кто не понимает, что тут вообще происходит.
👇👇👇
———
В общем чтобы линия по протоколу CAN (как например Ethernet тоже один из видов протокола обмена информацией) работала, нужно чтобы в начале и в конце было сопротивление, причем строго согласованное, потому что без этого может происходить дичь на линии. Представьте, что вы отправляете запрос поиска в Интернете «заказать раскладу таро» а в ответ получаете сайт с тестом на IQ. Вот у меня сейчас также. Просишь двигатель приехать в одну точку, а он приезжает туда снова и снова и больше слушать ничего не хочет.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡2👍2
Линия связи не для DIY
Чтобы настроить линию CAN на стабильную работу пришлось полностью с ней разобраться.
Переписал все на HAL, чтобы точно исключить проблемы с таймингами, которые могут быть из-за оберточной библиотеки STM_CAN.
Основным решением проблемы оказалось понижение sample-point с 87.5% до 50%. Это помогло убрать несостыковки в тактирование, которые вероятно уже идут от не идеальной линии. И которые уводили всю линию в ошибку, потому что приемник не мог расшифровать данные.
По итогу:
1️⃣ . CAN завелся на всех 6 моторах;
2️⃣ . ROS2 управление полностью работает;
💔 . Один движок при сборке был перезатянут, и потерял соосность опять из-за перегрева при тестировании (программные защиты от заклинивания удалил когда перенастраивал CAN). Заказал вместо него металлический 6010. От того же производителя, что и маленький мотор для захвата. Еще один локальный вывод: делать пластиковые BLDC моторы для робота, когда есть типовые заводские, нет ни экономического смысла ни технического (только учебный, но для этого достаточно одного мотора).
#can #робот
Чтобы настроить линию CAN на стабильную работу пришлось полностью с ней разобраться.
Переписал все на HAL, чтобы точно исключить проблемы с таймингами, которые могут быть из-за оберточной библиотеки STM_CAN.
HAL (Hardware Abstraction Layer) — это библиотека для создания приложений на stm32, разработанная компанией ST в 2014 году. HAL пришёл на смену SPL
Основным решением проблемы оказалось понижение sample-point с 87.5% до 50%. Это помогло убрать несостыковки в тактирование, которые вероятно уже идут от не идеальной линии. И которые уводили всю линию в ошибку, потому что приемник не мог расшифровать данные.
По итогу:
#can #робот
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾3🔥2👍1
👍4🔥2❤1🍾1
Записал тесты робота.
Я доволен как он работает.
MVP, которое уже не стыдно показать, и которое стабильно работает - ГОТОВО!💃
https://youtu.be/vO5clDt3MOg?si=C9Pj8pYqdxbha_cx
Я доволен как он работает.
MVP, которое уже не стыдно показать, и которое стабильно работает - ГОТОВО!
https://youtu.be/vO5clDt3MOg?si=C9Pj8pYqdxbha_cx
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Робот 6DOF на BLDC моторах
Тестирую 6и осевой робот и проверяю работоспособность всей архитектуры управления через Moveit2.
В своем Telegram‑канале я публикую подробности по его разработке.
t.me/smartpause
Аппаратная часть
Приводы: 6 бесколлекторных (BLDC) моторов.
5 мотора в пластиковых…
В своем Telegram‑канале я публикую подробности по его разработке.
t.me/smartpause
Аппаратная часть
Приводы: 6 бесколлекторных (BLDC) моторов.
5 мотора в пластиковых…
🔥11⚡1❤1✍1🍾1
Что у других 🤨
Наткнулся на такой полу-DIY полу-промышленный манипулятор. Позиционируют себя как манипулятор для извлечения деталей из принтера, и для обучающих курсов по робототехнике.
Выглядит как готовое решение, но мне кажется чтобы долго пользоваться таким нужно неплохо понимать в его железе, чтобы периодически чинить.
И цена 2000-2500 евро. Это стоимость уже заводских китайских коботов, которые прослужат дольше и будут точнее. Но их безболезненно не разберешь, и детали запасные легко не купишь. Поэтому в целом стоимость оправдана, когда ожидания правильные.
https://www.crea3d.com/en/robotics/1524-2892-primo-robotic-arm.html#/215-options-fully_assembled
#новости #мысли
Наткнулся на такой полу-DIY полу-промышленный манипулятор. Позиционируют себя как манипулятор для извлечения деталей из принтера, и для обучающих курсов по робототехнике.
Выглядит как готовое решение, но мне кажется чтобы долго пользоваться таким нужно неплохо понимать в его железе, чтобы периодически чинить.
И цена 2000-2500 евро. Это стоимость уже заводских китайских коботов, которые прослужат дольше и будут точнее. Но их безболезненно не разберешь, и детали запасные легко не купишь. Поэтому в целом стоимость оправдана, когда ожидания правильные.
https://www.crea3d.com/en/robotics/1524-2892-primo-robotic-arm.html#/215-options-fully_assembled
#новости #мысли
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻3🔥2🤯1
Что по коммерческим роботам из Китая 🤪
💴 Цены в юанях💴
Курс:
💸 1 юань - 10.8 рублей
💸 1 юань - 0.12 евро
Или 20000 юаней = 2400 евро
На скринах в цене заложена доставка по Китаю.
🚗 Красненькие роботы “Borunte” ведут довольно агрессивную рекламу и пытаются откусить международный рынок своей очень низкой ценой.
🪙 9888 юаней многим известный AR3 под ключ с пультом управления в алюминиевом исполнении. Думаю его можно считать как робот который возможно применить в промышленности.
💬 Это варианты из первой 20-ки поиска, далеко не все что есть в ценовой категории около 2500 евро.
Поиском по картинкам можно выйти на них.
Если кому очень надо, попросите, кину на Таобао ссылку.
#рисерч #новости
Курс:
Или 20000 юаней = 2400 евро
На скринах в цене заложена доставка по Китаю.
Поиском по картинкам можно выйти на них.
Если кому очень надо, попросите, кину на Таобао ссылку.
#рисерч #новости
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1✍1⚡1