Как стать автором
Обновить
20
0.2
Павел @Prokop1977

Разработчик навигационных систем

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

Памятка по классам скорости Wi-Fi

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

Покупая новый Wi-Fi роутер, я столкнулся со множеством их характеристик и как следствие классов скорости Wi-Fi: N300, AC2600, AX1800 и другие. По мере изучения параметров я решил написать эту статью, которую можно рассмотреть как памятку по основам Wi-FI. Главная цель этой статьи - рассмотреть основные характеристики и на что они влияют.

Читать далее
Всего голосов 35: ↑33 и ↓2+37
Комментарии48

Запускаем Yolo на пятирублёвой монете или Luckfox Pico Mini

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

В данной статье речь пойдет про использование очень маленькой Luckfox Pico Mini. Я расскажу про особенности платы, её настройку, а также о том как запускать на ней нейронные сети для детекции объектов с камеры.

Мне удалось добиться скорости детекции в 15 FPS (или даже 50!), результат, который по силам далеко не каждому одноплатнику.

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

Операционная система реального времени Xenomai 4

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

В данной статье подробно рассмотрим, как собрать ядро, поддерживающее EVL core, и библиотеку, реализующую пользовательский API для этого ядра. А также разберем некоторые аспекты реализации драйвера устройства и приложения под Xenomai 4.

Xenomai — Фреймворк для разработки приложений реального времени на базе ядра Linux. Проект Xenomai был запущен в 2001 году с целью эмуляции традиционной ОСРВ и облегчения ее переноса на GNU/Linux с сохранением гарантий работы в режиме реального времени. Изначально Xenomai был связан с RTAI (интерфейсом приложений реального времени), но на данный момент он независим.

Мы будем работать с Xenomai версии 4. Xenomai 4 имеет архитектуру с двумя ядрами. Первое ядро Linux: для задач, отличных от реального времени, и ядро Xenomai: для задач реального времени. Ядро Linux и ядро реального времени работают практически асинхронно, оба выполняют свой собственный набор задач, всегда отдавая последнему приоритет над первым. Для осуществления доступа к основным сервисам реального времени в проекте Xenomai предусмотрена библиотека С, известная как libevl.

Xenomai поддерживает множество архитектур, таких как PowerPC, Blackfin, ARM, x86, x86_64 др. В данной статье мы используем компьютер c архитектурой x86_64 (Процессор: 12th Gen Intel® Core™ i5-12400 × 12, память: 32,0 ГиБ), операционной системой Debian GNU/Linux 12 (bookworm).

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

Самая сложная задача в Computer Vision

Время на прочтение13 мин
Количество просмотров71K
Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить.
У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинговать, переобучать, или судорожно копаться в куче матриц и дебрях логики.

Статья о том как делать трекинг. Где он используется, какие есть разновидности. Как сделать стабильное решение.
Всего голосов 127: ↑127 и ↓0+127
Комментарии42

История одного блокчейна

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

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

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

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

Компьютерное зрение на C++: пишем приложение для поиска объектов под Android

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

Привет, Хабр! Меня зовут Кирилл Колодяжный, я пишу код на С++ для систем хранения данных в YADRO. Помимо основной работы, интересуюсь машинным обучением и его возможностями, в том числе на «плюсах». Недавно мне стало интересно разобраться, как развернуть модель компьютерного зрения на мобильном устройстве с операционной системой Android.

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

Расскажу, как реализовать обнаружение объектов в реальном времени с помощью камеры на мобильной платформе Android с использованием библиотек PyTorch и NCNN и моделей компьютерного зрения YOLOv5 и YOLOv4. Шаблон моего приложения пригодится тем, кто хочет проверить прототип функциональности для компьютерного зрения на С++, использующий OpenCV на Android, но не хочет глубоко погружаться в программирование под Android. 

В первой части цикла мы:

• создадим проект в IDE Android Studio,

• реализуем сессию непрерывного захвата изображений камеры,

• преобразуем изображения в матрицу OpenCV, чтобы сделать дальнейшую работу удобной.

Читать далее
Всего голосов 27: ↑26 и ↓1+30
Комментарии6

Как написать свой первый модуль ядра Linux

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

Linux Kernel — это, пожалуй, один из самых распространённых (и, возможно, до сих пор недооценённых) программных продуктов в мире. Он является основой всех дистрибутивов Linux (что очевидно), но на этом его роль не заканчивается. Ядро также работает на множестве встроенных устройств практически повсюду. У вас есть микроволновка? Скорее всего, она работает на ядре Linux. Посудомоечная машина? Тоже. Если у вас достаточно средств на автомобиль Tesla, вы даже сможете найти несколько багов, исправить их и отправить патч в код Model S или Model X на GitHub. А что насчёт схем, которые не позволяют Международной космической станции сойти с орбиты и врезаться в Землю? Конечно, и там тоже Linux. Ядро легковесное — значит, отлично работает даже в условиях невесомости.

В этой статье напишем свой первый модуль ядра под Linux

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

Home Lab мечты в Kubernetes

Уровень сложностиСложный
Время на прочтение34 мин
Количество просмотров9.6K

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

В этой статье я расскажу про свой путь в построении такой лаборатории с помощью Kubernetes и облачных технологий. Здесь вас ждут полностью воспроизводимые k8s‑кластеры, бекапы с авто‑восстановлением, хитрые VPN‑ретрансляторы, хорошо защищенные приватные и публичные приложения, а также много‑много автоматизации и красивых инженерных решений.

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

OpenCV: компьютерное зрение на Python

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

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

В этой статье мы рассмотрим несколько примеров работы с компьютерным зрением с помощью бесплатной библиотеки OpenCV.

Читать далее
Всего голосов 10: ↑9 и ↓1+11
Комментарии5

ГОСТ Р 71207–2024 глазами разработчика статических анализаторов кода

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

PVS\-Studio, ГОСТ Р 71207\–2024


1 апреля 2024 года введён в действие новый ГОСТ "Статический анализ программного обеспечения". Если в ГОСТ Р 56939–2016 говорится о необходимости использования статического анализа при разработке безопасного программного обеспечения (РБПО), то ГОСТ Р 71207–2024 уточняет, что именно это означает.


В стандарте:


  • перечислены требования к инструментам статического анализа;
  • указано, какие ошибки они должны находить;
  • какие технологии использовать;
  • описан порядок внедрения в процесс разработки;
  • описан процесс регулярного использования;
  • и так далее.

Информация в ГОСТ очень плотная, и её тяжело сразу воспринять, если вы ранее не имели дело со статическим анализом кода и РБПО. Поэтому я подготовил и провёл цикл из 5 вебинаров, где разобрал различные аспекты ГОСТ и примерами пояснил некоторых термины.


Вебинары вытекают один из другого, но в принципе они достаточно независимые, и вы можете начать знакомиться с новым ГОСТ с просмотра любого из них. Но обо всём по порядку.

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

ROS: стань контрибьютором самого большого Open Source проекта в робототехнике

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

ROS - самая популярная открытая робототехническая платформа в настоящий момент. Я и мои коллеги в Samsung Research - основные контрибьюторы Navigation2 Stack, важнейшего компонента ROS, который отвечает за движение роботов.

В этой статье я расскажу в целом о ROS, о разрабатываемом нами стеке и о том, как организована коллективная работа над проектом. В заключение - о нашем треке в школе разработчика COMMoN, которую мы со Стивом Масенски из Samsung Research America, лидером проекта ROS2 Navigation Stack, проведем в августе-сентябре этого года в рамках конференции Samsung Open Source Conference Russia. Участники школы получат шанс внести вклад в репозиторий стека и сделать свой коммит в известный проект.

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

PINN или нейросети, знающие физику

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

Что такое PINN и какова область их применения?

PINN появились сравнительно недавно (в 2019 году была опубликована работа Raissi), но уже активно применяются для некоторых задач физики. Отличительная особенность данных нейросетей состоит в том, что в Loss‑функцию включены невязки от уравнений, которые описывают рассматриваемый физический процесс. Вход такой нейросети — это координаты (пространственные или временные, в зависимости от задачи). И еще одна особенность — для обучения не требуется таргетов, так как, повторюсь, в Loss минимизируется отклонение предсказанных значений от уравнений.

Можно сказать, что PINN — это замена численному моделированию и тогда, возникает вопрос: «А нужны ли нейросети там, где хорошо работают численные методы». Но не все так просто. Представьте, что Вы или Ваш коллега провел эксперимент, например, измерил скорости частиц в потоке жидкости, или получил точечные измерения температуры. Если Вы действительно имеете опыт проведения эксперимента, наверняка знаете, что экспериментальные данные далеко не идеальны и могут принести много головной боли при обработке. А теперь представим, что все же Вы эту обработку провели, получили датасет из эксперимента, и теперь хотите эти данные использовать в уравнениях, чтобы получить другие параметры течения. Например, измерили скорость, а из уравнений гидродинамики, хотите получить давление. Или другими словами, провести ассимиляцию данных, говоря на современном околонаучным языком. Численное моделирование в таком случае можно дать сбой, потому что даже тщательно отфильтрованные данные могут быть шумными (особенно если от них требуется брать производные, а если еще и вторые, то совсем, шляпа). Или их может быть мало (например, температуру измеряли термопарой в нескольких точках). В данном случае, вроде, эксперимент есть и потенциально восстанавливать одни величины по другим можно, решая уравнения. И тут на помощь могут прийти PINN. Потому что они работают иначе, чем численные методы. Они не используют схем переноса, а параметры нейросети минимизируются в выбранных точках.

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

Как работает интернет

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

Если вы полный ноль в интернет-технологиях, и хотите получить общее понимание Интернета, прочитав всего одну статью, то эта статья - для вас.

Здесь вы узнаете о 4 уровнях модели TCP/IP. О том, что такое MAC-адрес и IP-адрес, и зачем нам 2 типа цифровых адресов. Как работает DNS. Зачем нужны коммутаторы и роутеры. Как работает NAT. Как устанавливается защищённое соединение. Что такое инфраструктура открытых ключей, и зачем нужны TLS-сертификаты. Чем отличаются три версии протокола HTTP. Как происходит HTTP-аутентификация. И в конце будет несколько слов о VPN.

Читать далее
Всего голосов 106: ↑99 и ↓7+112
Комментарии61

Квантовая теория поля для гуманитариев. Зоопарк частиц Стандартной модели

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

Зачем гуманитарию знать Стандартную модель квантовой теории поля? Затем, что это научная база, которая важнее, чем таблица умножения или периодическая таблица Менделеева. Она является самой успешной, проверенной и перепроверенной физической теорией, дающей предсказания с невероятной точностью. В таблице Стандартной модели всего 17 элементов, из которых для нашей жизни имеют значение не более десяти. Мы сами и всё, что нас окружает, состоит из трёх фермионов первого поколения – верхнего и нижнего кварков и электрона, а все физические процессы сводятся к четырём фундаментальным взаимодействиям, переносимым фотоном, глюонами и тяжёлыми калибровочными бозонами. Ну и конечно знаменитый бозон Хиггса – без него у нас бы не было массы. С непривычки названия и функции этих частиц запомнить трудно, но если постараться – задача вполне посильная без необходимости получать техническое образование. Наградой за ваш умственный труд будет исчерпывающее понимание глубинной сути вещей и стойкий иммунитет к разного рода псевдонаучным мифам.

Читать далее
Всего голосов 27: ↑24 и ↓3+30
Комментарии54

Обзор сервисов для бесплатного доступа к ChatGPT-4

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

ChatGPT-4 — модель от OpenAI, которая умеет генерировать тексты, отвечать на вопросы, решать задачи, писать код и даже анализировать изображения. Но, чтобы получить к ней доступ, нужно оформить подписку на сайте OpenAI за 20$ в месяц. Для жителей России задача усложняется необходимостью обхода ограничений. Нужно не только найти иностранную карту, чтобы оплатить подписку, но и воспользоваться VPN.

Мы собрали топ-4 сервиса, с помощью которых можно попробовать ChatGPT-4 абсолютно бесплатно. В этой статье рассмотрим преимущества и ограничения каждого сервиса и сравним их друг с другом.

Читать далее
Всего голосов 15: ↑12 и ↓3+15
Комментарии18

Измерение расстояния до объекта и его скорости

Время на прочтение9 мин
Количество просмотров59K
Технологию, которую я собираюсь Вам представить, я не встречал в найденных мной методах определения расстояния до объекта на изображении. Она не является ни универсальной, ни сложной, суть её заключается в том, что видимое поле (будем считать, что мы используем видеокамеру) калибруется линейкой и затем сопоставляется координата объекта на изображении с отметкой на линейке. То есть измерение ведётся по одной линии или оси. Но нам не нужно хранить отметку на линейке для каждого пикселя, алгоритму для калибровки нужно только знать размер линейки в пикселях и в метрах, а также координату пикселя, который является фактической серединой линейки. Очевидное ограничение — работает только на плоских поверхностях.

Кроме самого метода в статье рассмотрена его реализация на языке Python с использованием библиотеки OpenCV, а также рассмотрены особенности получения изображений с вебкамер в Linux, используя video4linux2 API.


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

3D-печать для чайников. Часть 1: Подготовка

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


Добрый день, дорогие хабражители и мимокрокодилы! Так вышло, что в моем распоряжении оказался 3D-принтер (вернее, оказался еще полгода назад), и я получила возможность самолично проверить свои навыки подготовки моделей к печати. Да, я уже несколько лет подрабатываю тем, что делаю на заказ фигурки под печать и адаптирую уже существующие модельки, о чем упоминала иногда в цикле статей "Анатомия игры" и некоторых статьях о 3D без цикла. И сейчас хочу поделиться опытом с точки зрения человека, который без преувеличения почти полный ноль в плане электротехники и программирования.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+36
Комментарии15

Список из 100 полезных фраз для IT на английском языке с примерами употребления

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

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

Чтобы иметь обоснованное представление об этом, предлагаю воспользоваться гайдом из 100 слов наиболее часто встречающихся в теме IT. Этот список наработан мною за 2 года работы с видео и статьями из таких изданий, как MIT, TechLife News, Bloomberg, Science Today, Harvard Business Review. 

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

Можно ли выучить английский по списку слов? Нет, конечно. Но по нему можно оценить в процентном соотношении, сколько из 100 вам уже известно. 

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

Читать далее
Всего голосов 27: ↑23 и ↓4+26
Комментарии25

Туда и обратно: навигация роботов, вдохновленная муравьями

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


Одним из самых важных аспектов робототехники является навигация. Какой толк от робота, если он не в состоянии дойти от точки А в точку Б. Для эффективной и успешной навигации любой автономный робот должен считывать информацию об окружающей среде, чтобы рассчитывать оптимальный маршрут и огибать препятствия. Для это могут быть использованы самые разные датчики, но самыми экономными и эффективными являются обычные камеры. Проблема в том, что обработка визуальных данных и их хранение требует большого объема вычислительной мощности и памяти, чем маленькие роботы не обладают. Ученые из Делфтского технического университета (Делфте, Нидерланды), вдохновленные поведением муравьев, создали систему навигации, основанную на компиляции траектории робота в виде набора сильно сжатых панорамных изображений вместе с их пространственными отношениями, измеренными с помощью одометрии. Как именно работает данная система, насколько она эффективна, и что показали практические испытания? Ответы на эти вопросы мы найдем в докладе ученых.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+21
Комментарии2

Летнее чтение на английском: список книг по уровням и советы методистов

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

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

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

Читать далее
Всего голосов 23: ↑21 и ↓2+21
Комментарии26

Информация

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