Как стать автором
Обновить
8
0
Ярослав Савельев @fraPP

Робототехника

Отправить сообщение

Введение в k3s: познакомимся с младшим братом k8s

Время на прочтение 12 мин
Количество просмотров 48K


Вводная часть


Kubernetes, также известный как k8s — это портативная расширяемая платформа с открытым исходным кодом для управления контейнеризованными рабочими нагрузками и сервисами, которая облегчает как декларативную настройку, так и автоматизацию. Kubernetes можно настроить как в локальной, так и в облачной инфраструктуре. Однако, кластер Kubernetes немного сложен в настройке и требует значительных ресурсов, что затрудняет развертывание на локальной машине для обучения или разработки. Это приводит к тому, что не для каждого бизнеса перейти на полноценный k8s представляется возможным. К счастью, на этот случай есть более легкое решение в виде k3s.

Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Комментарии 6

Технический долг захватил глобальную экономику

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 44K
Технический долг стал проблемой для всей экономики

Термином «технический долг» обычно называют сокращённые или субоптимальные подходы в процессе разработки ПО. Проявляется он в виде неудачно спроектированного кода, устаревших компонентов и отсутствия документации. В то время, как правильно написанные код и документация служат бессрочно, компоненты и используемые подходы – нет. Программное обеспечение и его составляющие со временем могут становиться техническим долгом. Расцвет индустрии ПО пришёлся на далёкие 80-е годы, поэтому то, что мы сегодня начинаем сталкиваться с полностью устаревшими концепциями, процессами и системами, является относительно новым явлением.
Читать дальше →
Всего голосов 97: ↑84 и ↓13 +71
Комментарии 327

Порождающие грамматики Хомского

Время на прочтение 12 мин
Количество просмотров 120K

Небольшое предисловие


Этот текст является продолжением поста , в котором автор попытался как можно более просто и без сложных математических выкладок описать понятия формального языка и грамматики. На этот текст пришло достаточно много откликов и автор счел себя обязанным написать продолжение.

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

Читать дальше →
Всего голосов 58: ↑53 и ↓5 +48
Комментарии 13

Определение местоположения в Беспилотных автомобилиях (localization)

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 2.7K

Всем привет, меня зовут Максим Гусев!

Я руководитель проекта в компании по разработке автономного транспорта, а так же студент ATU, Ирландия по Автономным ТС (магистерская степень). Хочу рассказать Вам, как роботы, беспилотники и любой автономный транспорт определяет где именно он находится в текущий момент времени.

Что внутри статьи?

Раздел I - введение и что сейчас происходит на рынке?

Раздел II - локализации на основе GNSS/GPS + Dead Reckoning.

Раздел III - локализация на основе среды (HD карты и 3 основных паттерна связанных с компьютерным зрением)

Разделе IV - современные концепции локализации.

Раздел V - итоги текущего состояния локализации.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 19

Bash-скрипты, часть 7: sed и обработка текстов

Время на прочтение 9 мин
Количество просмотров 584K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

В прошлый раз мы говорили о функциях в bash-скриптах, в частности, о том, как вызывать их из командной строки. Наша сегодняшняя тема — весьма полезный инструмент для обработки строковых данных — утилита Linux, которая называется sed. Её часто используют для работы с текстами, имеющими вид лог-файлов, конфигурационных и других файлов.


Читать дальше →
Всего голосов 22: ↑18 и ↓4 +14
Комментарии 34

Всё про USB-C: паяльник Pinecil

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 26K

Как многие правильно заметили, в случае с USB-C важен не просто сам стандарт, а то, как он реализован. В конце концов, мы имеем дело с реализациями, и именно на этой почве обычно возникает большинство проблем. Отчасти, конечно, вина лежит и на стандарте, например, в плане отсутствия маркировки кабелей. Хотя, на мой взгляд, он продуман намного лучше, чем некоторым кажется.

Я хочу познакомить вас с несколькими реализациями USB-C в некоторых интересных опенсорсных продуктах. Все они в том или ином смысле не идеальны – иначе и быть не может, поскольку им приходится иметь дело с беспорядочным реальным миром, где совершенство является редкостью.

Сегодня мы поговорим о Pinecil – недорогом и качественном паяльнике от Pine64, выпущенном пару лет назад. Для питания в нём предусмотрен и круглый разъём, и порт USB-C. Это стало долгожданным отступлением от стратегии компании Miniware, которая не применяла такое решение ни в оснащённой исключительно круглым разъёмом модели TS100, ни в маломощных паяльниках TS80. Кроме того, поскольку Pinecil разработан под использование жал T12 от модели TS100, он заслуженно завоевал популярность в мире электронщиков-любителей.
Читать дальше →
Всего голосов 77: ↑77 и ↓0 +77
Комментарии 18

Как научиться делать роботов и внедрять их там, где никто не решался

Время на прочтение 7 мин
Количество просмотров 3.2K

Главный инженер по робототехнике компании «Криптонит» Олег Зобов рассказал о том, как он осваивал создание роботов, получил за это Президентскую премию и победил в престижном международном конкурсе. Олег поделился своим подходом к обучению, рекомендовал отечественные и зарубежные курсы, а также дал ряд экспертных советов. Сейчас он руководит проектом, который позволит одновременно использовать роботов разных типов, делать их «умнее» и внедрять в те отрасли производства, где до сих пор большую часть манипуляций выполняют люди.

Читать далее
Всего голосов 17: ↑14 и ↓3 +11
Комментарии 5

Размышления на тему развития робототехники в России

Время на прочтение 14 мин
Количество просмотров 7.7K

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

Читать предложения по развитию робототехни
Всего голосов 18: ↑10 и ↓8 +2
Комментарии 47

Как Reinforcement Learning помогает ритейлерам

Время на прочтение 14 мин
Количество просмотров 5.7K

Введение


Привет! Наша команда Glowbyte Advanced Analytics разрабатывает ML-решения для прикладных индустрий (ритейл, банки, телеком и др). Многие задачи требуют нестандартных решений. Одно из них — оптимизация цепочек коммуникаций с клиентом с помощью Reinforcement Learning (RL), которому мы решили посвятить данную статью.

Мы разбили статью на три блока: введение в задачу оптимизации цепочек коммуникаций; введение в RL; а в третьем блоке мы объединяем 1 и 2 вместе.

image
Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Обучение с подкреплением на Python: Пример не из «качалки»

Время на прочтение 10 мин
Количество просмотров 20K

Обучение с подкреплением молодая и бурно растущая дисциплина. Это обстоятельство привело к тому что информации об этом на русском языке почти нет. Особенно, если дело касается объектно-ориентированного подхода, и практических задач не из арсенала "качалки".

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

Жги
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 8

Полное руководство по модулю asyncio в Python. Часть 1

Время на прочтение 11 мин
Количество просмотров 105K

Python-модуль asyncio позволяет заниматься асинхронным программированием с применением конкурентного выполнения кода, основанного на корутинах. Хотя этот модуль имеется в Python уже много лет, он остаётся одним из самых интересных механизмов языка. Но asyncio, при этом, можно назвать ещё и одним из модулей, которые вызывают больше всего недоразумений. Дело в том, что начинающим разработчикам бывает трудно приступить к использованию asyncio.

Перед вами — подробное и всестороннее руководство по использованию модуля asyncio в Python. В частности, здесь будут рассмотрены следующие основные вопросы:

Читать далее
Всего голосов 31: ↑29 и ↓2 +27
Комментарии 8

Обучение с подкреплением: практические рекомендации по обучению сетей Deep Q

Время на прочтение 5 мин
Количество просмотров 4.2K

В предыдущем материале из этой серии мы рассказали о сетях Deep Q (Deep Q Network, DQN) и написали алгоритм их обучения на псевдокоде. Хотя такие сети, в принципе, работоспособны, практическая реализация алгоритмов обучения с подкреплением (Reinforcement Learning, RL), выполняемая без понимания их ограничений, может вести к нестабильности создаваемых систем и к плохим результатам обучения. В этом материале мы обсудим два важных ограничения, две проблемы, способных привести к нестабильности Q-обучения. Мы поговорим и о том, как, на практике, решать эти проблемы. Вспомните о том, что уравнение Беллмана связывает, с помощью рекурсии, Q-функции для текущего и следующего временных шагов.

Читать далее
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 2

Использование рекуррентных нейронных сетей в Reinforcement Learning

Время на прочтение 12 мин
Количество просмотров 9.1K
В задачах машинного обучения для обучения модели может использоваться известная целевая переменная (задачи такого типа называются «обучение с учителем»), либо модель самостоятельно учится находить закономерности с имеющихся данных, не имея заранее известные правильные результаты (такой тип задач называется «обучение без учителя»). Обучение с подкреплением (Reinforcement Learning, RL) не относится ни к первому типу, ни ко второму, однако обладает свойствами и того, и другого. Этот вид машинного обучения в настоящее время бурно развивается, разрабатывается множество теоретических алгоритмов RL [1], однако основная причина всплеска интереса заключается в множестве практических задач, в которых применяется RL, прежде всего в автоматизации, оптимизации и робототехнике. Обучение с подкреплением эффективно прежде всего там, где системе требуется анализировать окружающую среду и выбирать политику поведения с учетом получаемого отклика.
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 4

Интуитивный RL (Reinforcement Learning): введение в Advantage-Actor-Critic (A2C)

Время на прочтение 6 мин
Количество просмотров 14K

Привет, Хабр! Предлагаю вашему вниманию перевод статьи Rudy Gilman и Katherine Wang Intuitive RL: Intro to Advantage-Actor-Critic (A2C).

Специалисты по обучению с подкреплением (RL) подготовили множество отличных учебных пособий. Большинство, однако, описывают RL в терминах математических уравнений и абстрактных диаграмм. Нам нравится думать о предмете с другой точки зрения. Сама RL вдохновлена ​​тем, как учатся животные, так почему бы не перевести лежащий в основе этого механизм RL обратно в природные явления, которые он призван имитировать? Люди учатся лучше всего через истории.


Это история о модели Actor Advantage Critic (A2C). Модель «Субъект-критик» — это популярная форма модели Policy Gradient, которая сама по себе является традиционным алгоритмом RL. Если вы понимаете A2C, вы понимаете глубокий RL.


Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 0

19 команд ffmpeg для любых нужд

Время на прочтение 3 мин
Количество просмотров 562K
От переводчика:
Многие знают, что ffmpeg — это сила, но не все знают, какая именно. Он многогранен и безграничен, а его man объёмен и местами малопонятен, лишь немногие постигли дао профессиональной работы с ним. И тем не менее, этот инструмент может быть полезен почти всем, кто хоть иногда работает с видео и звуком, даже на бытовом уровне. О некоторых полезных консольных командах ffmpeg и пойдёт речь в статье. В некоторых местах я взял на себя смелость вставить ссылки на поясняющие статьи.


ffmpeg — это кроссплатформенная open-source библиотека для обработки видео- и аудиофайлов. Я собрал 19 полезных и удивительных команд, покрывающих почти все нужды: конвертация видео, извлечение звуковой дорожки, конвертирование для iPod или PSP, и многое другое.

1. Получение информации о видеофайле

ffmpeg -i video.avi

2. Превратить набор картинок в видео

ffmpeg -f image2 -i image%d.jpg video.mpg

Эта команда преобразует все картинки из текущей директории (названные image1.jpg, image2.jpg и т.д.) в видеофайл video.mpg

(примечание переводчика: мне больше нравится такой формат:
ffmpeg -r 12 -y -i "image_%010d.png" output.mpg

здесь задаётся frame rate (12) для видео, формат «image_%010d.png» означает, что картинки будут искаться в виде image_0000000001.png, image_0000000002.png и тд, то есть, в формате printf)
Читать дальше →
Всего голосов 222: ↑214 и ↓8 +206
Комментарии 107

След в туалете

Время на прочтение 6 мин
Количество просмотров 77K

Очень давно я занимался проектами внедрения ЕРП-систем, в роли техлида (тогда это называлось «технический руководитель проекта»). В Челябинской области много производственных предприятий, и часто приходилось ездить на переговоры в сопровождении очень опытной женщины-менеджера.

Однажды она сказала: приходя на предприятие, надо первым делом идти в туалет. Именно по туалету можно очень многое понять о руководстве и его отношении к бизнесу. В первую очередь – о том, мыслит ли оно долгосрочными перспективами, видит ли себя тут надолго, или просто рубит бабло по-быстрому. В те, ещё немножко бешеные годы, пожалуй, доля истины в «туалетном знакомстве» была.

Ритуал соблюдался строго. Менеджер приезжала на встречу и говорила, что сначала надо «припудрить носик». Посещала туалет, осматривала, формировала первичное мнение и шла на переговоры.

Недавно, совершенно случайно, я вспомнил об этой традиции. Старый друг пригласил меня посетить IT-компанию, в которой работает. Заявленная цель – помочь понять, что у них не так с развитием и стратегией. Перед выездом к нему я полез долить омывайки, и чутка изгваздался. Приехав, сначала посетил туалет.

И он меня поразил.

Читать далее
Всего голосов 239: ↑226 и ↓13 +213
Комментарии 93

О первоклашках, дистанционке и асинхронном программировании

Время на прочтение 15 мин
Количество просмотров 5K
image

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

Пока я увлеченно занимался веб разработкой, где-то на фоне жена периодически жаловалась на проблемы выбора школы для ребёнка. И тут (вдруг) ребёнок подрос и школьный вопрос встал ребром. Ладно, значит, время пришло. Давайте вместе разберёмся, что же все-таки не так с системой образования в бывшей 1/6 части суши, и что мы с вами можем с этим сделать?
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 23

Встречаем ровер третьего поколения: история создания робота-курьера Яндекса

Время на прочтение 18 мин
Количество просмотров 67K


Встречайте! Мы выпустили на улицу роботов третьего поколения — модель R3 уже можно встретить в Москве, Иннополисе и США. До конца года мы планируем произвести больше сотни таких роботов, и в дальнейшем будем расширять флот за счёт них.

Меня зовут Алексей, я работаю в Yandex Self-Driving Group: несу ответственность за разработку железа трёх (с половиной) поколений роботов Яндекса. В этой статье я не только коротко расскажу про новое поколение, но и поделюсь историей создания роботов-курьеров. Вы сможете взглянуть их глазами на велосипедиста, узнаете, как собрать прототип из фанеры и трёх гироскутеров, а также почему мы выбрали менее дальнобойные лидары. Всё это я дополню роликами и фотографиями разных этапов разработки. Поехали!
Читать дальше →
Всего голосов 212: ↑211 и ↓1 +210
Комментарии 266

Анализируем речь с помощью Python: Как и о чем говорят на YouTube-канале «вДудь»?

Время на прочтение 8 мин
Количество просмотров 21K

Выход практически каждого ролика на канале «вДудь» считается событием, а некоторые из этих релизов даже сопровождаются скандалами из-за неосторожных высказываний его гостей.

Сегодня при помощи статистических подходов и алгоритмов ML мы будем анализировать прямую речь. В качестве данных используем интервью, которые журналист Юрий Дудь (признан иностранным агентом на территории РФ) берет для своего YouTube-канала. Посмотрим с помощью Python, о чем таком интересном говорили в интервью на канале «вДудь».

Читать далее
Всего голосов 39: ↑30 и ↓9 +21
Комментарии 55

PyOpenGL для начинающих и немного новогоднего настроения

Время на прочтение 8 мин
Количество просмотров 119K
image

Благодаря своей гибкости и простоте, язык Python позволяет легко и быстро писать целый ряд приложений и утилит. Мною данный язык, в основном, используется для написания небольших скриптов, облегчающих выполнение различных задач, связанных с системным администрированием. Как оказалось, Python можно использовать и для не совсем «традиционных» задач, например, для вывода 3D графики. Об этом и будет мой небольшой предновогодний пост.
Читать дальше →
Всего голосов 39: ↑35 и ↓4 +31
Комментарии 11

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность