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


Гео и язык канала: Россия, Русский
Категория: Технологии


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

Связанные каналы

Гео и язык канала
Россия, Русский
Категория
Технологии
Статистика
Фильтр публикаций


#холивары

Тем временем в Твиттере очередная буза. DHH (это создатель рельсов, если кто не в курсе) задал своим ИИ-чным агентам написать код на четырех мейнстримовых языках обработки.

Результат - на табло, Руби уделали практически все. Эликсир ушел не сильно далеко, из-за чего "очень умные аналитики" (с лейбочкой CEO) уже сделали далеко идущие выводы.

Потом, правда, оказалось, что все запросы к БД делались через один процесс (за что из профессии на мороз выгоняют с волчим билетом), а автор развел руками, мол, ну вот такое мне понаписали, кто виноват. Но смешно.

Ссылка на пост, кому скучно - https://x.com/dhh/status/2106810173683851564


#роботы

Мало нам собачек и пауков, теперь еще и крабов подвезли:
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 (ноучно)

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


Видео недоступно для предпросмотра
Смотреть в 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 или пользовательские утилиты - без разницы). Может они и есть, но встречается только дичайший костылизм.


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


Репост из: 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.

Показано 20 последних публикаций.