Почему оно такое?


Channel's geo and language: Russia, Russian
Category: Technologies


Проблемы людей, железок, людей с железками и железок с людьми.

Related channels

Channel's geo and language
Russia, Russian
Statistics
Posts filter


#роботы

Мало нам собачек и пауков, теперь еще и крабов подвезли:
https://kingkong.tech/en/jumper

Даже есть что-то открытое - https://github.com/KingKongRobotics/jumper
Видимо, модельки тренировать.




Вторая статья от этого же автора - про гуманоидов.

https://habr.com/ru/articles/1086542/

Тоже достойна внимания. И без лишнего оптимизма, что радует.


#роботы

Очень интересный материал https://habr.com/ru/articles/1086470/ , из которого мы узнаем, что:
— типовой ровер стоит как автомобиль;
— как и многие китайские изделия, которые "готовы к использованию прямо из коробки", имеет ряд "особенностей" и требует доработки напильником;
— большой азиатский брат следит (и делает выводы);
— получить пароль и не подложить свой SSH-ключ недальновидно;
— если используете железо, то в проекте нужен железячник и не один (фраза "Монитор и клавиатуру к этому экземпляру подключить было нельзя." выглядит забавно).






Прочитал название статьи How We Served 8 Gbps of Video on a Single Go CPU Core (And Survived the Thundering Herd) и подумал "Ну вот, ребята опять врубили sendfile вместо рукопашного вычитывания с дисков и получили профит (никогда такого не было)". И - ошибся. Тут, оказывается, вспомнили другой прием - чтобы получить прирост в производительности, надо свести к минимуму операции копирования и будет счастье.

Причем сравнивают они не с MediaMTX или еще каким go/си++-поделием (коих уже достаточно, некоторым по нескольку лет), а с ffmpeg, что забавно, потому что ffmpeg - утилита конвейерная с претензией на универсальность, там без промежуточных буферов сложно, как и в любой модульной системе. А то, что на языке высокого уровня перепаковка потока h.26x может вполне себе шустрить - так то уже доказано неоднократно тем же Erlyvideo/Flussonic-ом. Но это, разумеется, не значит, что не надо пробовать еще, молодцы, конечно же.

В общем, добавляем в копилку https://ruseon.tech/ru/


#роботехника

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

Электромотор - это очень важная часть актуатора. Обычно для роботехники используют бесколлекторные двигатели постоянного тока (BLDC), примерно такие же ставят в квадрокоптеры, чтобы они летали. Нам же скорость вращения ротора обычно не сильно критична (мы же не делаем роботов, способных рукой просверлить человека? Или делаем?), а вот крутящий момент - очень даже, потому что тушка робота тяжелая, а еще надо и мешки ворочать. В этом мотору помогает редуктор, коих тоже много (циклоидальные, планетарные, ременные, планетарные с промежуточными телами качения), тут тоже тонны нюансов, вопросов, специфики, но про них уже немного было.

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

Однако и они - не апофеоз инженерного гения. Тут пришли двигатели с осевым магнитным потоком (axial flux motor) и попросили подвинутся. По сути, это те же BLDC, но у которых обмотки статора развернуты не вдоль оси вращения, а поперек. В результате оказалось, что это еще лучше и тоньше, и характеристики не самые поганые, и заморачиваться с намоткой медной проволоки на статор уже не очень надо, что, конечно, изрядно всех подбешивало.

Ноучные хитроученые пошли еще дальше. "Ну, раз у нас только медь - то че мы будем напрягаться, давайте сразу сделаем статор из печатных плат стопочкой, а еще лучше - бутерброд ротор-статор-ротор-статор!" И у них таки вроде даже получилось. Это явление назвали PCB Motor (PCB - печатная плата по-буржуйски).

Известный популяризатор этого явления среди рукоблудов-дуитёсельщиков - это Карл Бугея (Carl Bugeja), про него все давно известно и с ним всё ясно. Полистайте его канал - https://www.youtube.com/@CarlBugeja - там много приключений на этот счет. Но и серьезные дядьки на сложных щщах тоже не хотят быть самыми лысыми:
— https://goinfinitum.com/technology-overview/ (более бизнесово)
— https://ietresearch.onlinelibrary.wiley.com/doi/10.1049/iet-epa.2020.0141 (ноучно)

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


Video is unavailable for watching
Show in Telegram
Утащил из чата 'https://t.me/ProEsp8266/370925/447537' rel='nofollow'>https://t.me/ProEsp8266/370925/447537
Автор - Валентин Соколов (@Valentiy75)

Сорок лет ожидания того стоили, да))


#роботехника

Немного базы про механические приводы актуаторов - редукторы, моторы, вот это вот всё
https://www.youtube.com/playlist?list=PL1KVSZBJtW0rHjU7qthPjwXhjSQ31a6zL

Ну и чтобы два раза не вставать - https://www.youtube.com/watch?v=MwIBTbumd1Q


Примерно столько боли каждый раз возникает, когда есть желание поскрещивать какой-нибудь SoC с нестандартным сенсором:

https://habr.com/ru/articles/1080626/
(поставьте, пожалуйста, плюсик, кому не жалко)

Проблемы ровно такие же, как и были 15 лет назад (привет, Виртурилка):
— драйверов сенсора в ванильном ядре нет, только в вендорских
— вендорские драйвера опираются на свои подсистемы (порой, очень далеко отбежавшие от ванильных ядер), причем так, что иногда проще забрать драйвер вместе с подсистемой
— на целевой платформе тоже "своя атмосфера" - как физические ограничения, так и специфические требования со стороны SDK. Copy-paste не работает, очень сильно обработать напильником.

Несмотря на всю стандартизацию и унификацию как по физике, так и по логике, пока еще не получается взять любой произвольный SoC и подружить его с любым произвольным сенсором. С одной стороны, это очень редкое событие, которое оправдывает попитую кровушку (и, вообще, берите уже готовое и не выпендривайтесь), с другой - я еще не видел ни одного SDK под SoC, где все строго в рамках ванильного ядра, а все аппаратные пружины подключаются через традиционные механизмы (будь то mediactl или пользовательские утилиты - без разницы). Может они и есть, но встречается только дичайший костылизм.


#инженерышутят


Forward from: linkmeup
Про STP красиво и наглядно. Причём именно что красиво и наглядно. Очень душевно сделано, так что посмотреть всем и каждому.

https://vincent.bernat.ch/en/blog/2026-spanning-tree


Первый закон Ашманова о роботах: Робот не может не причинить вред человеку.

🙃


#роботы

Те, у кого нет лишних 20к юаней на промышленную робособаку, можно приложить очумелые руки к самосбору.
Минус в том, что там на борту Jetson, его можно поменять на что попроще, типа Orange Pi 5 или LuckFox Core3576.

https://github.com/AshishA26/Orion-Quadruped


#роботехника

Изучаю тут ROS2 по книжке, и не отпускает чувство дежавю. У них реально получилась копия Эрланга.

Во-первых, вся функциональность разбита по пакетам (драйвер камеры - пакет, сервис навигации - пакет, управление механикой - пакет). Они их называют нодами. Каждая нода - это запускаемый файл (+ обвязка), который имеет некоторый набор интерфейсов для обмена сообщениями. В Эрланге такое называется приложениями (applications), а ноды - это просто экземпляры запущенной виртуальной машины. Т.е. похоже, хотя и непонятно, кто на ком стоял.

Во-вторых, на сообщения надо подписываться по строке темы. Это, конечно, ближе к MQTT, но я не помню ни одного своего проекта без gproc, который делает тоже самое. Ну и в штатной поставке OTP есть pg, который позволяет делать похожее.

В-третьих, базовых типов интерфейсов взаимодействия три:
— тема (.msg) - прямой аналог gen_server:cast, односторонняя отправка сообщения;
— служба (.srv) - аналог gen_server:call, механизм "запрос-ответ";
— действие (.action) - выполнение чего-то длительного с обратной связью по статусу выполнения. Аналога в Эрланге нет, потому что длительное выполнение в активно взаимодействующем процессе не приветствуется, но всегда можно сделать через порождение временного процесса (это дешево) с периодической отправкой состояния действия основному, чтобы он уже дальше передал вопрошающим.

Поскольку в ROS2 основные языки С++ и Python, то все эти интерфейсы надо описывать статично, а потом еще по описанию генерировать код, который будет использоваться при программировании ноды. Это, конечно, вызывает вьетнамские флешбеки (CORBA! IDL!!!), но тут иначе никак — если в Python и завезли pattern matching, то в плюсах он, скорее всего, будет доступен через адские костыли, чем сведет к нулю безопасность статической типизации. В Эрланге с его динамической типизацией и сопоставлением с образцами всё много проще. С другой стороны — строгое описание включено в пакет и его можно подглядеть через стандартные механизмы ROS2, динамическая типизация же требует погружения в исходный код и написания дополнительной документации.

Разумеется, встает вопрос, а чего изначально-то не сделать всё на Эрланге, раз по факту получилась его костыльная копия.

Причин тому несколько:
— ROS и ROS2 тянутся с 2003-2005 года (отсюда и такие концепции распределенного взаимодействия, актуальные в научной среде для того времени), реставрация Эрланга началась, ЕМНИП, в 2010 и только 2-3 года назад получились релизы с JIT (для основных платформ amd64 и arm64), которые делают его пригодным для батарейного питания и всяческого эмбида;
— уже наработано огромное легаси для кучи устройств, сенсоров, конструкций и прочего, перелопатить подобное без шансов, разве что поглотить;
— в ROS2 через сообщения могут пролетать довольно большие объемы данных (например, несжатые кадры с камеры), которые серьезно нагрузят виртуальную машину Эрланга, даже если не будут копироваться туда-сюда. Этот принцип мне кажется сомнительным с точки зрения архитектуры, но оно вроде работает. В случае применения Эрланга проще перевести тяжелые потоки на цепочки gstreamer-а с добавлением функциональности на C/Rust, оставив Эрлангу контроль обработки и формирование управляющих событий.

В общем, переделывать никто не будет, поэтому основной вопрос - как сделать сразу хорошо и не потерять накопленное годами.




#роботехника

Другая новость гораздо интереснее - потихоньку вылазят на свет альтернативы NVidia Jectson для использования в качестве бортовых компьютеров. И это не может не радовать, потому что это поле сильно непаханное, особенно когда речь идет о соотношении "производительность / потребляемая мощность".

https://www.cnx-software.com/2026/08/31/d-robotics-rdk-s100p-a-128-tops-alternative-to-nvidia-jetson-orin-nx-16gb-with-cortex-a78ae-r52-cores/


#роботы

Веселых мини-роботов (https://www.youtube.com/watch?v=ky-XGYOej8A) теперь торгуют по цене 5.5к долларов.
Дорого, но подкупает, что якобы все будет open source и не надо переплачивать за EDU версию два ценника, как у Unitree.


Video is unavailable for watching
Show in Telegram
#роботы

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

20 last posts shown.