Sмарт-Пауза
153 subscribers
256 photos
63 videos
12 files
42 links
Привет,
DIY здесь.

Текущий проект: робо-телега

Темы: 3Д-печать, ИИ, роботы, гаджеты, метаоптика, программирование.
Download Telegram
Aнонс и планы 📋

👋 Привет. Так как канал уже вышел за рамки личных технических заметок, хочу поделиться, чем вообще дальше планирую заниматься с этим роботом

. После мелких технических доработка его hardware части дальше основной упор будет будет на реализацию различных вариантов управления.
➡️. Для начала будут развлечения для управления через джойстик 🕹. На Xbox джойстике. Это для тестов его время работы и чтобы все объездить и протестировать крайние положения.
3. Дальше поднять пакеты управления для реализации дерева поведения, на основе того что сделано уже у ребят из t.me/robossembler_ru. Чтобы управлять, например голосом.
4. Запустить офлайн версию LLM от DeepSeek или модели от Alibaba и посмотреть, как получится поуправлять роботом через них.
5. Хочу что-нибудь захватом сломать...он вроде мощный получился 😆

UPD: 1, 2 и 5 выполнены, 3 и 4 ресурсозатратны
👍4🔥2
Мягкий захват
Сам по себе пластик tpu A95 довольно жесткий. Но главная его особенность, что его ни сломать, ни разорвать. Поэтому если делать ему однослойные структуры, то получаются мягкие детали.

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

#захват #печать #tpu #робот
👍53
This media is not supported in your browser
VIEW IN TELEGRAM
Какой ты сегодня нежный или жесткий? 🍌

Хотел бы я написать, что при подготовке видео, ни один банан не пострадал, но это не так.

А теперь по фичам:

1️⃣Комбинированное управление угол + усилие
2️⃣Калибровка при подаче питания. Ищет крайнее открытое положение.
3️⃣Закрытие по усилию в диапазоне от еле дотронулся, до «ты мне все там раздавил»
4️⃣Быстрое открытие по координате, которую он записал по калибровке.

#захват #печать #робот
👍42🔥2👏1😁1
Вот в этих машинках интересные BLDC движки должны стоять.
Интересно управление также на SimpleFOC и по CAN линии 🤔
👍32🔥1
Хотел я значит порекомендовать BLDC мотор, который использовал в захвате. Шикарный, даже магнит для энкодера встроенный есть, как я выяснил случайно...Перемагнитив его поле своим и почти убив мотор 😂 Но вот стоит на алике он как оказалось в 3 раза дороже цены для Китая.

В общем за 1100 рублей (100 юаней) просто огненный 🔥
Но вот за 3800 рублей , уже не на столько огненный. В любом случае дешевле брендовых моделей, которые внутри с тем же статором и ротором.

Если соберетесь делать робо-собаку, не игрушечные робо-руки или робо-гуманоида, то рекомендую эти движки (у них есть много типоразмеров), чем брать совсем безкорпусные ротор и статор, как делал я.

Ссылка вот на 4310 размер:
https://sl.aliexpress.ru/p?key=7F0K3PO

#комплектующие
👍7👏1🍾1
This media is not supported in your browser
VIEW IN TELEGRAM
А это было давно и не правда.

Без обряда - «на всей скорости до крайнего положения положения и еще чуть-чуть 🤏🏻» дальнейшая разработка не возможна.

Сейчас собираю пакеты Robotic Operating System 2 (Ros2)

Думаю это еще 1-2 недели займет.

И пожалуй, сделаю посты про архитектуру управления, которая у меня будет реализована на ROS2. Может помогу кому-то лучше ее понять, кто пытался и не смог, а кто-то узнает как вообще выглядит принцип управления роботами.

#робот
👍3🔥322🍌1
Архитектура управления роботом.

Начинаем с того, что создаем просто папки в своей файловой системе вложенные вдруг в друга .
Каждая папка - это будущий пакет ROS2, который будет выполнять свою глобальную задачу. Название многих пакетов закреплены договоренностями. Почти все папки можно называть как угодно, но будет не понятно, что они делают

1️⃣ Все папки вложены в "src". Такие вещи как части обязательной договоренности в архитектуре.
2️⃣ Формировать эти пакеты и наполнять их можно работая через Windows.
3️⃣ А вот скомпилировать их и проверить работоспособность из под Windows 11 уже не получится.
4️⃣ Понадобится Linux система, либо хотя бы Windows 10 на которые нужно установить ROS2, инструкция по установке которого очень подробна на их сайте https://docs.ros.org/en/jazzy/Installation.html
5️⃣ На WSL2 (windows for linux) ROS2 устанавливается без проблем. Но ROS2 использует GUI (интерфейсные окна) для отладок и управления, а их нет из "коробки" на WSL2. Поэтому не стоит. Еще есть возможность поставить на Windows 10 через Visual Studio 2019. Нужно настроить зависимости по инструкции на сайте. Этот вариант не пробовал. Но я выбираю поставить полноценный Linux рядом с Windows.
6️⃣ У ROS2 очень много версий. Сейчас они выходят каждый год в мае. Есть версии с долгой поддержкой и с короткой. Я буду использовать последнюю долгосрочную Jazzy Jalisco
7️⃣ Версии не сильно отличаются друг от друга, но иногда меняются названия функций или добавляются переменные. Код с прошлой версии может легко не собраться без рефакторинга. (Самый значительный переход был при ROS -> ROS2)
8️⃣ Каждая сборка ROS2 указывает какая Linux ей нужна. Они поддерживают несколько Linux систем. В первую очередь они нацелены на Ubuntu. Я ставлю Ubuntu Noble (24.04)

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

#робот #ros2 #опыт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍431🔥1💯1
Sмарт-Пауза
Архитектура управления роботом. Начинаем с того, что создаем просто папки в своей файловой системе вложенные вдруг в друга . Каждая папка - это будущий пакет ROS2, который будет выполнять свою глобальную задачу. Название многих пакетов закреплены договоренностями.…
1️⃣Пакет: description

Он нужен как входная точка связи 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👍21💯1
Sмарт-Пауза
Архитектура управления роботом. Начинаем с того, что создаем просто папки в своей файловой системе вложенные вдруг в друга . Каждая папка - это будущий пакет ROS2, который будет выполнять свою глобальную задачу. Название многих пакетов закреплены договоренностями.…
2️⃣ Пакет: hardware

Задача этого пакета быть входной точкой взаимодействия всей архитектуры ROS2 с реальными физическими объектами - например, моторами

И самое сердце этого всего - плагин написанный на С++. В моем случае bldc_driver.cpp. Там описано примерно следующее:

как принять сообщения по CAN линии, и как их сохранять.
как отправлять рассчитанные значения планировщиком в CAN
как интерпретировать эти сообщения, что к какому узлу, описанному в description относится.
что делать при старте робота. В моем случае телеметрия не шлется без первичного запроса. Именно этот запрос рассылается на старте
любая низкоуровневая логика на С++. У меня идет "прозвон" всех движков. Если от кого-то нет ответа, он исключается из рассылки.

👋 Про нейронки
В среднем этот файл на 200 строчек кода. И после отладок и проверок LLM модели справляются, чтобы реализовать всю желаемую логику. Достаточно верхнеуровнево понимать как все работает в рамках этого плагина.

😱
А вот дальше...на следующих пакетах бесплатные LLM нещадно галлюционируют и не справляются с согласованием такого большого количества структурных элементов. В первую очередь это из-за проблемы разрозненной документации ROS2. Которая содержит в себе и куски из ROS1, и пересечения из разных выпусков. И огромное количество способов построить все связи...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍21
Сделал новую итерацию в прошивке движков.

Посылки стали чаще и содержат больше полезной информации
📥📤

Вот такая информация теперь в каждой посылке, не считая ключа:
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% от пропускной способности линии.

Факты:
поднял скорость рассылки каждого движка о своем состоянии на линию до 20Гц.
расширил посылки и теперь по CAN передается одновременно и позиция двигателя и его скорость. Раньше была только позиция. Точность сообщений 0.0001 радиана. В то время как точность энкодера всего 0.0015 радиан. Даже сейчас точность сообщений избыточна.
итоговая длина полезного сообщения DLC = 7. Длина не расширенной CAN посылки DLC = 8. Это значит, что у меня еще есть один байт на какую-нибудь информацию.
перевел аварийную блокировку с угла на скорость. Производная величина выглядит более надежной.
на скорость сразу добавил фильтр сглаживания, а то прямые сообщения скорости от энкодера не юзабельны.

Не вдаваясь в остальные подробности, в конечном итоге линия будет загружена где-то на 10%.
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍31🔥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
55👍3
Кто бы мог подумать, что все статьи там по материаловедению.

Тем временем надеюсь через пару дней робот будет готов для создания контента =)
4👍2🔥1🍾1
Мем для знатоков. Который рассказывает о текущем статусе дел по высокочастотному управлению робота через CAN линию.
😁5💯2👍1
💡

Не знаю законно ли так делать, но зато 120 Ом для CAN и ждать доставки не надо.

И нет это не временное решение 🫠

Если это конечно поможет.

Ниже для тех кто не понимает, что тут вообще происходит.
👇👇👇

———
В общем чтобы линия по протоколу CAN (как например Ethernet тоже один из видов протокола обмена информацией) работала, нужно чтобы в начале и в конце было сопротивление, причем строго согласованное, потому что без этого может происходить дичь на линии. Представьте, что вы отправляете запрос поиска в Интернете «заказать раскладу таро» а в ответ получаете сайт с тестом на IQ. Вот у меня сейчас также. Просишь двигатель приехать в одну точку, а он приезжает туда снова и снова и больше слушать ничего не хочет.
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2