Armbrain. Робототехника, технологии, программирование
191 subscribers
18 photos
8 videos
2 files
13 links
Робототехника, DIY-проекты, 3D-печать, электроника и программирование. Простым языком о сложном!

Служба заботы и тех.поддержки:
@armbrain_care
Download Telegram
Оцените, пожалуйста, подачу материала из поста выше. Тема по системам координат очень объёмная, но хочется, чтобы было интересно и понятно.
Anonymous Poll
66%
Доступно
21%
50/50
14%
Многое не понятно
Системы координат. Обзор популярных стандартов.

За последнюю неделю пришлось немало повозиться с системами координат. Узнал для себя немало нового.
Из грустного: каждая область робототехники использует свою систему координат. Нет какой-то одной универсальной "пилюли". Оказалось, что каждая область живёт в своей “геометрической реальности”: у промышленных роботов — одна система координат, у дронов — другая, а у камер вообще всё перевёрнуто.

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

⚙️ ISO 9787:2013 / ГОСТ Р 60.0.0.3—2016

Стандарт индустриальных роботов (ABB, KUKA, Fanuc, UR и тд).
Используется на производстве, чтобы все манипуляторы и программные интерфейсы имели одинаковую геометрию.

Правая система координат: X — вперёд, Y — влево, Z — вверх
Вращения — по правилу правого буравчика.
Сам документ стандарта, пожалуй, самый информативный по сравнению с другими документами.

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

ГОСТ Р 60.0.0.3—2016 является полной копией (переводом) стандарта ISO 9787:2013

🤖 ROS REP 103 / REP 105

Стандарты Robot Operating System (ROS) — открытой платформы для академических и коммерческих роботов.

Определяют, как описывать позиции всех фреймов: map, odom, base_link, camera_link и др.

Та же ориентация, что и ISO: X — вперёд, Y — влево, Z — вверх

REP 103 — общие правила для всех роботов.
REP 105 — отдельные фреймы для мобильных платформ (навигация, SLAM, карты).

Почему удобна:
Единая конвенция позволяет легко совмещать данные от датчиков, симуляций и реальных устройств.
ROS — «универсальный язык» для робототехники.

Кстати, есть очень большое российское комьюнити ROS @rosrussia

✈️ Aerospace NED (North–East–Down)

Применяется в авиации, дронах, GPS и инерциальных системах (INS).

Это левая система координат, где: X — на север, Y — на восток, Z — вниз

Почему удобна:
Повторяет естественные направления на Земле — север, восток и гравитацию вниз.
Такая логика упрощает навигационные расчёты и совместимость с GPS-данными.
Используется в PX4, ArduPilot и других автопилотах.

🎥 OpenCV Convention

Применяется в компьютерном зрении, машинном обучении и распознавании изображений.

2D изображение: X — вправо, Y — вниз (начало в левом верхнем углу)
3D координаты камеры: X — вправо, Y — вниз, Z — вперёд (вдоль оптической оси)

Почему удобна:
Совпадает с порядком пикселей на изображении (строки и столбцы).
Это делает вычисления и проекции проще — особенно при обработке кадров и работе с CNN.

------

Универсальной системы координат нет — каждая создавалась под свою задачу. А какую систему координат применить - это уже дело знаний, опыта и насмотренности.

Опрос в предыдущем посте показал, что есть вещи, которые непонятны. Самое простое, чтобы разобраться - спрашивать. Ничего страшного в этом нет, «истина рождается в споре».

Продолжение следует...
👍3
Повышаем ставки — поиграем немного с перемещением AirPods!

После прошлой “усыпляющей” статьи про системы координат 😴 — самое время для чего-то поинтереснее.

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

На быструю руку был собран самодельный вакуумный захват: помпа, соленоид и немного инженерной магии. Для управления помпой и соленоидом используется драйвер L9110S - это простой, но проверенный драйвер, которым можно управлять через сигналы HIGH/LOW.

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


# Инициализация пинов.
# В таком состоянии и помпа, и соленоид выключены
# pin16 и pin17 отвечают за работу помпы
# pin18 и pin19 отвечают за работу соленоида
go pin16=0 pin17=0 pin18=0 pin19=0;
# Перемещаем в сторону предмета
go x=100 y=-50 z=50; delay 1000;
# Опускаем захват к предмету и включаем мотор через pin17=1
go z=10 pin17=1; delay 1000;
# Поднимаем захваченный предмет
go z=50; delay 1000;
# Перемещаем на новое место
go x=100 y=50; delay 1000;
# Опускаем предмет
go z=15; delay 300;
# Отпускаем захват путём сброса воздуха через соленоид через pin19=1
go pin19=1; delay 1000;
# Убираем захват от предмета и выключаем помпу через pin17=0
go z=50 pin17=0; delay 200;
go y=0;


Внимание!
Скрипт выше написан под новую прошивку, релиз которой запланирован на этой неделе. Её главное отличие - новая система координат, которая теперь соответствует стандарту ISO 9787:2013 / ГОСТ Р 60.0.0.3—2016.
Так что предыдущий пост был не просто так 😉
Для запуска данного скрипта в прошивке 1.3.x нужно подправить координаты x, y и z под себя.

#RoboArmR1 #эксперимент
👍5🔥3
Новая прошивка RoboArm-R1 Firmware v2.0.2

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

Представляю прошивку RoboArm-R1 v2.0.2. Главные изменения затронули систему координат робота, которая теперь соответствует стандарту ISO 9787:2013 (ГОСТ Р 60.0.0.3).

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

Что нового

1. Система координат по стандарту ISO 9787:2013 (ГОСТ Р 60.0.0.3)

Переход на промышленный стандарт позволил решить сразу несколько задач:
- синхронизировать работу разных подсистем робота;
- дать возможность изучить основы распространённого международного стандарта на практике с нашим роботом — без взаимодействия с промышленными манипуляторами;
- использовать документированную, понятную и общеотраслевую систему координат вместо внутренних соглашений;
- упростить возможную интеграцию RoboArm-R1 с внешними системами и инструментами.

2. Конфигурирование инструмента

Инструмент — сменный модуль на конце манипулятора (клешня, маркер, вакуумный захват и т.д.).
Мы добавили возможность задавать параметры инструмента.
Здесь также используется ISO/ГОСТ, что обеспечивает совместимость и предсказуемость поведения робота с разными инструментами.

3. Калибровка сервоприводов

Теперь можно задавать корректирующие значения для сервоприводов. Это улучшает точность позиционирования: координаты, указанные в команде go, стали заметно ближе к фактическому положению робота.

4. Оптимизация энергопотребления

Это сложная комплексная задача и работа над ней будет продолжаться. На текущем этапе:
- выявлены сценарии, вызывающие повышенное потребление и возможные перезагрузки контроллера;
- добавлена возможность управлять мощностью точки доступа Wi-Fi и полностью отключать её;
- за счёт калибровки сервоприводов можно снижать ненужное напряжение в приводах (например, в закрытой клешне, когда она создаёт шум).
Эти меры позволяют сгладить пиковые нагрузки и повысить стабильность работы.


Исправления и улучшения

1. Устранена утечка памяти, которая приводила к остановке работы робота и последующей перезагрузке контроллера. Чаще всего проблема проявлялась при управлении по Wi-Fi — робот переставал реагировать на команды с пульта, хотя сама Wi-Fi сеть оставалась доступной.
2. Улучшен алгоритм позиционирования в крайних точках. Устранены хаотичные и нестабильные движения в областях, за пределы которых робот физически не должен выходить.
3. Улучшена работа алгоритма обработки команд.

---

Новая прошивка RoboArm-R1 v2.0.2 доступна по тем же ссылкам, которые вы получили при покупке или при обращении в техническую поддержку.

Прошивки серии 1.3.x переведены в статус устаревших (deprecated) и не рекомендуются к эксплуатации из-за выявленных проблем со стабильностью.

По всем вопросам — пишите в @armbrain_care.
👍7
Ниже — набор комментариев к предыдущему посту. Последняя прошивка содержит важные концептуальные обновления, поэтому хочу кратко обозначить ключевые моменты. Подробного разбора не обещаю, но буду рад ответить на все вопросы в комментариях. Если что-то окажется непонятным — тем более спрашивайте, это помогает делать проект лучше.

По поводу более детального описания: в ближайшие 1–2 недели сосредоточусь на создании сайта, где уже будет удобнее собирать и хранить всю полезную информацию.
👍2👌1
ГОСТ Р 60.0.0.3—2016.pdf
1.2 MB
Начну с ГОСТ Р 60.0.0.3-2016, потому что именно на его основе были внесены изменения в систему координат проекта.

Здесь я не буду подробно разбирать этот стандарт — просто рекомендую хотя бы бегло с ним ознакомиться, чтобы сформировать общее представление. На первый взгляд документ может показаться сложным, но цель сейчас не в том, чтобы выучить его досконально. Достаточно получить лёгкое, поверхностное понимание, чтобы дальше было проще ориентироваться в теме.
👍4
Система координат по стандарту ISO 9787:2013 (ГОСТ Р 60.0.0.3)

RoboArm-R1 — это модель робота-паллетайзера. У него есть одна важная особенность: благодаря системе рычагов «кисть» (Wrist) сохраняет своё положение и ориентацию при движении.

Выделю две ключевые точки:

Точка O1 — начало базовой системы координат робота.
Ось X направлена вперёд, ось Y — влево, ось Z — вверх.

Точка Om — начало системы координат механического интерфейса (фланца).
Эта точка расположена в месте крепления инструмента. Здесь ось Z направлена вниз, ось X — вперёд, а ось Y определяется по правилу правой руки (или правилу буравчика; см. ГОСТ).
В этой системе координат описывается положение инструмента относительно робота.
👍3🔥2
Конфигурирование инструмента

Для этого была добавлена команда config tool.
Важно: На текущий момент можно описать инструмент только в плоскости XZ. Ось Y пока не поддерживается, нужно немного переработать мат.модель робота.

Формат команды выглядит так:

config tool x=10 z=20

где X и Z - это координаты "рабочей" точки инструмента

Также добавлена система профилей инструментов, чтобы было можно проще их конфигурировать. На текущий момент есть только один профиль - claw.

config tool profile=claw angle=90

где profile - это название профиля, а дальше идут соответствующие профилю параменты. В случае с claw, есть параметр angle - это угол между координатой Z и плоскостью, в которой двигаются "пальцы" клешни.

Чтобы сбросить конфигурацию инструмента, можно использовать такую команду:

config reset


После такой настройки, координаты в команде go будут соответствовать "рабочей" точке инструмента.
👍2🔥2
Оптимизация энергопотребления

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

Недостаток энергии чаще всего проявляется в виде перезагрузки контроллера с последующим возвратом робота в исходное положение. В такие моменты в Serial-консоли можно увидеть сообщение:
Brownout detector was triggered.

На текущем этапе можно управлять двумя параметрами, которые заметно влияют на энергопотребление.

1. Точка доступа WiFi (WiFi Access Point)

Сейчас подключение к роботу возможно только через точку доступа, которую создаёт контроллер. Эта схема была выбрана, т.к. с ней легче работать. Но с другой стороны такой режим работы WIFi очень "прожорливый". В связи с этим была добавлена возможность оключения WiFi и возможность регулировки мощности передатчика

# Команда включает точку доступа WiFi
config wifi-ap enable

# Команда выключает точку доступа WiFi
config wifi-ap disable

# Команда устанавливает мощность передатчика точки доступа WiFi
# допустимые уровни мощности (dBm):
# 19.5, 19, 18.5, 17, 15, 13, 11, 8.5, 7, 5, 2
# по умолчанию: 8.5.
config wifi-ap tx-power=8.5


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

2. Снятие "напряжения" в сервоприводах.

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

Чаще "жужжит" сервопривод клешни (из-за особенностей и рекомендаций по сборке). Чтобы снять это напряжение, нужно конфигурировать сервопривод #4 (servo4). Для конфигураци рекомендуется использовать такой однострочный скрипт:

config servo4 trim=-15; go claw=20; delay 200; go claw=0;

Параметр trim нужно подбирать так, чтобы после выполнения скрипта пальцы «мягко» соприкасались — например, чтобы между ними проходил лист бумаги.

Подробнее о программной калибровке сервоприводов расскажу чуть позже.
👍3❤2🔥1👏1🙏1💯1
Обновление прошивки: RoboArm-R1 Firmware v2.0.5

Эта незапланированная версия, но, по стечению некоторых обстоятельств, необходимая и включает полезные изменения.

1. Расширенная конфигурация точки доступа Wi-Fi

Теперь можно задавать название сети Wi-Fi, устанавливать пароль для доступа и выбирать канал Wi-Fi.

Этот функционал появился под один интересный заказ: роботы планируется использовать на соревнованиях, и для удобства организации требовалась более гибкая настройка беспроводной сети.

Конфигурировать эти настройки можно с помощью таких команд:


# Название точки доступа
config wifi-ap ssid=Team1

# Можно задать пароль (но не обязательно)
config wifi-ap password=12345678

# Можно задать вручную канал WiFi
config wifi-ap channel=3

# Можно все параметры менять сразу
config wifi-ap ssid=RoboChallenge1 password=12345678 channel=3


2. Оптимизация старта

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

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

Сейчас отправка сигналов стала разделённой:
если требуется изменить только позицию, то сигнал отправляется только на сервоприводы передвижения (сервоприводы 1–3), а на сервопривод клешни сигнал не отправляется. Такой подход позволяет на старте организовать последовательную инициализацию позиций сервоприводов.
👍10🔥1
В преддверии праздников! 🌲

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

Этот год выдался интересным и богатым на события. Где-то было непросто, но именно в этом и появился новый опыт.

Проект Armbrain — не исключение.
На данный момент основным продуктом проекта стал робототехнический конструктор RoboArm-R1 с уклоном в образование и прототипирование. Признаюсь, планов было гораздо больше, но не всем из них, как оказалось, суждено было сбыться.

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

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

И в знак признательности я хочу сделать небольшой подарок 🎁
Подробности расскажу совсем скоро.

С уважением,
Александр Леуцкий
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾5👍3😍1🎄1
Впереди длииинные выходные, поэтому хочу вас пригласить на

Мастер-класс: управление роботом с помощью ИИ

Будем решать практические задачи, создавать промпты, получать управляющие скрипты от ИИ и запускать их на реальном роботе.

Формат — несколько дней практики и несколько реальных задач. Подход лёгкий и непринуждённый: без домашних заданий и обязательных упражнений — можно просто смотреть, повторять и экспериментировать в своём темпе.

Мастер-класс ориентирован на практику, без профессионального хардкора.

Начало — 2 или 3 января. Полную программу опубликую чуть позже.

Сейчас же хочется понять, сколько людей готово присоединиться.
🆒7👏1
Если идея откликается — отметь вариант ниже 👇
Anonymous Poll
35%
Точно пойду
50%
Может быть
15%
Не пойду
❤4😍2🔥1
🤖 ИИ-челлендж: управление роботом

Практический мастер-класс, где мы используем искусственный интеллект для управления реальным роботом. Формулируем задачи обычным языком, получаем код от ИИ и сразу проверяем его в работе.
Без лишней теории — только практика и живой эксперимент с ИИ.

📅 Даты проведения: 3–5 января

3 января — День 0. Подготовка
Настройка инструментов и роботов, первый тест управления.

4 января — День 1. Простые движения
Генерация скриптов с помощью ИИ и управление базовыми движениями робота.

5 января — День 2. Реальные задачи
Решение простых практических задач и проверка решений на реальном роботе.

💬 Формат проведения:
Онлайн, в группе Telegram. Не требуется постоянное присутствие — задания и обсуждения доступны в удобное время.

🧠 Нейросети (предварительный список):
• DeepSeek
• Алиса AI

Рекомендуется пройти бесплатный курс Нейросеть Алиса для начинающих - займёт примерно 2-3 часа, курс позволит ознакомиться с базовыми терминами и подходами работы с нейросетью (подойдёт для работы с другими нейросетями)

🧰 Что понадобится:

1. Компьютер или ноутбук
2. Дополнительное питание для робота — подойдёт USB-зарядка от телефона
3. Линейка, карандаш, бумага A4 или миллиметровка
4. Сахар-рафинад (крупные одинаковые кусочки) и пакетики чая

👥 Для кого:
Для обладателей роботов и их друзей.

📝 Регистрация:
Напишите в техподдержку @armbrain_care сообщение мк2026.
2 января мы добавим вас в группу.
Если вы хотите привести друзей, пожалуйста, укажите их Telegram-аккаунты.
👍5
Завершился второй день ИИ-челленджа 🎆 🎆 🎆

Задачки дня для ИИ:

Задача 1: "Точка А, Точка Б"
Это простой вид задач, но самый популярный: перемещаемся в точку А, а затем в точку Б. Такие перемещения являются основой для большинства движений.

Задача 2: "Точка А, Точка Б, Действие"
Продолжение предыдущей задачи, но с конкретным действием в точках. В точке А что-то берём, а в точке Б отпускаем.
Особенность таких задач в том, что нужно разделять действия и движения.
Альтернативное действие: включать и выключать светодиод на контроллере

Задача 3: "Многоугольник"
Этот вид задач про обход нескольких точек с возвратом в исходную точку.

Задача 4: "Круг"
Знакомимся с движением по сложной, неестественной для робота, траектории.

Задача 5: "Буква П"
Это также самый популярный вид задач с захватами. Три участка движения, захват и отпускание в крайних точках. Каждая такая операция напоминает движение в виде буквы П, при этом не всегда все участки находятся в одной плоскости.

Задача 6: "Восьмёрка" ⭐️
Сложное движения по траектории в одной плоскости. Траектория длвижения напоминает цифру 8.

Задача 7: "Спираль" ⭐️
Сложное движение в трёхмерном пространстве по спирали.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2😍1
Благодаря мастер-классу появился новый инструмент: веб-консоль для роботы с SerialPort

Она доступна по этой ссылке https://armbrain.ru/go/r1-terminal

Основная цель данной веб-консоли: удобство отправки списка команд в контроллер. Можно вводить скрипт из нескольких команд и отправлять его за один раз. Например, в SerialMonitor в Arduino IDE можно отправлять только одну строку.

Данная страница адаптирована под работу с Google Chrome, в других браузерах работа не гарантируется.

Для подключения к роботу нужно нажать на кнопку "Подключиться" (в правом верхнем угле)
Затем в открывшемся окне выбрать СОМ-порт, к которому подключен робот и нажать на кнопку подключения.
При удачном подключении в правом верхнем углу будет зелёная кнопка "Отключиться"
👍4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Финальный результат мастер-класса: робот готовит чай по запросу «чай и два сахара» - готовый прототип, с которым можно и инвестора поискать 😄

А если в деталях: то был подготовлен промпт для нейросети, который позволяет трансформировать простые человеческие запросы типа «чай с сахаром» в скрипт для робота, затем загружаем этот скрипт в робота и робот уже готовит нам чай 👨‍🍳

Самое замечательное в этой истории - не пришлось писать код и программы. Можно за счёт нейросетей генерировать готовые скрипты для робота 🧑‍🎓
🔥5👍2🙏1😍1