Search
Write a publication
Pull to refresh
0
0
Светлов Александр @Mehalich

Пользователь

Send message

Разработка «браузерки» — физический форк

Reading time16 min
Views20K
Желание выйти на новые рынки с нашим проектом уже долгое время не дает нам покоя – и идеи в наличии, и потенциал неплохой, но, как говорится, все руки не доходили до нормальной реализации.

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

Браузерная игра Пернатск
Читать дальше →

Компьютерное зрение и мобильные роботы. Часть 1 — V-REP, Python, OpenCV

Reading time6 min
Views47K


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

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

Так и возникла идея серии статей, про решение простейшей задачи ориентации робота в пространстве — от виртуальной симуляции, до воплощения в реальном мобильном роботе:

Часть 1. Настройка виртуальной среды, интеграция с python и OpenCV для распознавания образов из виртуального мира.
Часть 2. Создание виртуального мобильного робота, алгоритм автономного перемещения (поиск объекта)
Часть 3. Создание реального робота, перенос логики на него.

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

Мозгом робота будет микрокомпьютер RaspberryPi2 — на котором без проблем работает и python, и OpenCV. Таким образом необходимо состыковать систему виртуальной робототехники V-REP — с Python и OpenCV. Вот про это и будет первая часть — данная публикация.

Видео, что получилось (поиск зеленого объекта)

На верхнем окне — прямое изображение с видео-камеры в 3д виртуальном мире, на нижнем окне — результат выполнения python скрипта, что получает изображение передаёт её OpenCV и рисует маркер, вокруг найденного объекта.

Нарисуем архитектуру нашего мобильного робота.
Читать дальше →

Снова об Electron или рисуем музыку ВК

Reading time7 min
Views28K
image

Добра всем!
Electron — эта такая забавная штука, про которую мало статей на хабре(сходу нашел только habrahabr.ru/post/272075 и habrahabr.ru/post/278951). Давно хотел написать что-нибудь такое-эдакое, вот руки и дошли — заодно и одним велосипедом в мире станет больше.

Итак, если вкратце: electron — это такой гибрид node.js и chromium'а. Зачем? Очень разнообразный диапазон применений — мощное GUI(html/js/css), нехилая расширяемость(в том числе с возможностью использования других языков вроде C++ или C#), всякие приятности вроде jQuery и т.д. В-общем, удобная штука для разработки и дистрибуции standalone кроссплатформенных приложений.
Теперь о приложении. Оно реализует базовый пример расширения функционала стороннего сайта, базовые принципы работы с Raphael.js(графическая библиотека для отрисовки/анимации svg), Dancer.js(библиотека для визуализации звука, в данном случае — получения audio waveform).

Читать дальше →

WebGL на Unity3d — двенадцать проблем при сборке проекта

Reading time6 min
Views47K
Не так давно в Unity вышла из беты возможность создания проектов для WebGL. Делюсь своим опытом сборки под эту платформу большого игрового проекта.

Disclaimer: Статья только для тех, кто сам собирается сделать что-то подобное — она очень техническая и использует специфическую для Unity терминологию.
Я хочу собрать Unity проект под WebGL!

Лазерный гравировщик на основе деталей CD-ROM приводов и Arduino mega

Reading time2 min
Views44K


Пользователь YouTube с ником NeumiElektronik использовал старые CD-ROM приводы (сервоприводы и некоторые другие детали), лазерный диод на 150 мВт и 405 нм и Arduino mega для создания лазерного гравировщика. Центральная платформа движется под управлением Arduino, а лазер выжигает на поверхности детали схемы и узоры, заданные мастером. При этом самым интересным вариантом использования такого механизма является создание печатных плат с фоторезистом.

Лазер убирает участки пленки, и схема затем протравливается в обычном растворе. Результат — почти идеальная печатная плата небольшого размера. Автор проекта сообщает, что он потратил на все про все около $61 доллара. Все остальные детали он взял из своих запасников или просто нашел. Гравировщик работает с такими материалами, как бумага, кожа, пластик, дерево, поролон. Для работы с каждым типом материала необходимо установить время экспозиции для лазера.
Читать дальше →

Прототипы как предчувствие продукта

Reading time17 min
Views12K
Представьте себе: ваш ребенок умирает от редкой и неизлечимой болезни. Его бьют посторонние люди, и он страдает от жуткой боли. В самом конце он усыхает до размера кошки, становится совсем серым и, наконец, умирает. А потом случается хеппи-энд: вы узнаете, что в роддоме произошла ошибка… Ф-ф-фу, напугал, дур-рак!

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

Привет, друзья! Прототипы — это становой хребет продуктового дизайна. Я расскажу, почему мы в команде используем только hi-fi прототипы и отказались от всех прочих.

Ранее мы уже говорили про структуру приложений и определение принципов навигации. Кул. Но что со всем этим делать дальше? Не вопрос! Конечно, нужно разработать прототип. Прототип нужен для раннего тестирования MVP, для снижения рисков проектирования, для проверки пригодности предлагаемых решений, для показа акционерам, для краудфандинга и для экономии времени при общении с разработчиками. Отовсюду мы слышим стоны. Всем нужен прототип. Мы должны протянуть руку помощи, и мы ее протянем.
И тут у меня для вас 2 новости. Сначала хорошая: плохая новость могла бы быть намного хуже…

10 min read

Локализация мобильных игр для азиатского рынка

Reading time6 min
Views10K
Выход на азиатский рынок для европейского разработчика сродни выходу в открытый космос, только на 30 мегабайт тяжелее. Локализация на японский, китайский и корейский – это титанический труд. Он требует учета особых технических требований, скрупулезных исследований рынка и менталитета целевой аудитории. Но если именно об этом вы мечтаете, читайте дальше – вам пригодится наш опыт.


Читать дальше →

Unity и «Помогаторы» для редактора

Reading time5 min
Views38K


В этой статье опишу несколько полезных возможностей и реализаций, которые мне помогли в разработке. Unity уже имеет множество методов чтобы не только «дебажить логами», но и расширять, дорисовывать необходимые данные в окне редактора. Если вы новичок в Unity или вам захотелось освежить знания – «Нужно брать!».
Читать дальше →

Тестирование GUI приложений с помощью оптического распознавания текстов

Reading time4 min
Views14K
Функциональное тестирование интерфейса (GUI) приложений — задача очень важная, нужная, но не всегда тривиальная. Основной вопрос тут: как сэмулировать работу пользователя? Простого, рядового пользователя, которому придется непосредственно изо дня в день работать с вашим софтом.

Казалось бы, причем здесь распознавание текстов?
Читать дальше →

Как мы забили на асинхронность при походах на бэкенды

Reading time6 min
Views27K
threads

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

IL2CPP: экскурсия по генерируемому коду

Reading time11 min
Views10K
Перед вами вторая статья из серии по IL2CPP. В этот раз мы поговорим о коде C++, генерируемом утилитой il2cpp.exe, а также рассмотрим представление управляемых типов в машинном коде, проверки во время выполнения, которые используются для поддержки виртуальной машины .NET, генерацию циклов и многое другое.


Читать дальше →

Беспроводной адаптер для программирования Arduino или AVR с загрузчиком на базе ESP8266

Reading time3 min
Views21K
Небольшая заметка о самодельном адаптере на базе ESP8266, позволяющем загрузить прошивку в микроконтроллер с установленным UART загрузчиком или Arduino.
Последнее время при проектировании устройств на микроконтроллерах AVR, для программирования вывожу только один 6-пиновый разъем (не ISP) для FTDI адаптера. Он позволяет и загрузить прошивку, и отладиться по UART после прошивки. Именно так сделано в Arduino, идея позаимствована оттуда. Это удобно.
Тем временем, не раз приходилось сталкиваться с ситуацией, когда нужно загрузить прошивку в микроконтроллер, но он уже в корпусе который не помещается на рабочем месте/лежит на антресоли/в другом городе/замурован в стену. В таких случаях адаптер FTDI не применим из-за короткого USB шнурка и приходилось изворачиваться с ноутбуком. Задумался о беспроводном программаторе. Тут как нельзя лучше подойдет ESP8266, ведь он обладает UART и в любом исполнении имеет хотя бы один GPIO, пригодный для перезагрузки контроллера и входа в режим программирования.
Читать дальше →

Поддержание положения в сервоприводе: подчинённое регулирование vs шаговый режим

Reading time22 min
Views82K

После выхода предыдущих статьей о векторном управлении электродвигателями поступило много вопросов о позиционном приводе – как приводом отрабатывать заданное положение? Как работает сервопривод в современных станках, как использовать сигнал с датчика положения, чем отличается шаговый привод от сервопривода с подчиненным регулированием? Давайте всё покажу в виде картинок и видео.
Читать дальше →

Восставший из гаража

Reading time6 min
Views45K
Весной 1984 года в лаборатории — «Программное обеспечение персональных ЭВМ» ВЦ АН СССР прошел апгрейд (конечно, это слово тогда в русском языке отсутствовало) закупленных еще в конце 1981 года компьютеров IBM PC. Да, да, IBM PC появились в СССР одновременно с их появлением на Западе. Начальник лаборатории, Виктор Михайлович Брябрин, осчастливил меня двумя 5-дюймовыми флоппи дисководами на 160 кБайт каждый и платой контроллера флоппи дисков на шину ISA-8.
Сразу появилась мечта – собрать свой клон IBM PC. Мечта в то время оказалась недостижимой. В основном, конечно, из-за недоступности элементной базы, хотя информация об архитектуре, схемотехнике и BIOS уже была известна.


Читать дальше →

Конструктор 3D-принтера от SUNHOKEY в процессе эксплуатации (часть вторая)

Reading time9 min
Views12K
Прошлый мой пост про Сборку и наладку принтера тут канул в лету (хотя его остатки есть в блоге Dronk.ru), там я описал процесс сборки 3D-принтера из китайского конструктора. Теперь же хочу поделиться информацией о его почти годовом использовании, что было заменено, на что обратить внимание, какие апгрейды можно сделать?

Но вначале хотел бы описать процесс самой покупки. На тот момент, когда я заказывал принтер, количество положительных отзывов в магазине было около 250 штук. К моменту, как он приехал, их стало уже под 1000 и появилось несколько отрицательных. На данный момент там уже 1800 отзывов. Набор, за счет хорошего соотношения цены и качества, стал настолько популярный, что было время, я даже находил несколько фейковых аккаунтов с ним на али, которые обещали за полцены доставить товар за 3 дня. Так что будьте осторожны. В принципе все дешевые наборы для принтеров на али можно разделить на 2 или 3 категории. У одних ставят директ экструдеры, блок питания с пассивным охлаждением и множеством напечатанных на таком же принтере деталей, у других печатных деталей нет. Так же различаются они и платами управления. Времени ардуины и Ramps уже прошли, сейчас популярны заводские решения «всё в одном».

Читать дальше →

Недорогой конструктор 3D-принтера Аврора. Будет ли революция?

Reading time6 min
Views31K
3D принтеры JGAURORA уже давно известны на рынке у печатников, эта компания производит как недорогие принтеры для дома и офиса, так и профессиональные. Сегодня к нам на обзор попал младший брат из семейства JGAURORA — модель 605S DIY в виде комплекта для сборки на акриловой раме. Вот из этого набора деталей и предстоит создать нечто, что будет воплощать нематериальное в осязаемое.

image

Итак встречайте – набор для сборки 3D-принтера от JGAurora.
Читать дальше →

Небольшое сравнение производительности UWP/WinRT API языковых проекций

Reading time3 min
Views13K
WinRT Language projections

На мой взгляд, в разработке UWP/WinRT приложений сложилась необычная ситуация: компания продвигает использование нативного SDK из управляемой среды. Мне стало интересно, насколько эффективен данный подход. И для ответа, я решил написать несколько приложений, решающих одну и туже задачу, полагаясь на средства предоставляемые UWP/WinRT API.
За результатами моего небольшого теста добра пожаловать под кат.
Читать дальше →

RING буфер — 2D cлучай

Reading time7 min
Views13K
RING (кольцевой) буфер — 2D cлучай.
!NEW полнофункциональный модуль с гайдом, ссылка на на github в конце статьи!

Давно собирался написать на Хабр несколько алгоритмических трюков, почерпнутых из увлечений демосценой, из экспериментов с алгоритмами. Надеюсь, получится в олдскульном духе необычного использования интересных алгоритмов потому, что для меня Хабр являет интерес именно такими статьями.

Структура данных RING буфер (кольцевой буфер) чаще всего встречается в реализации сетевых протоколов, и в Concurrency структурах (синхронизация данных между потоками).

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

Начнем с того, что же такое кольцевой буфер, и что он дает как абстрактный алгоритм:
Читать дальше →

Эволюция домашнего 3d принтеростроения

Reading time4 min
Views21K
На написание публикации меня подтолкнула переписка с одним товарищем из моего города. Суть ее заключается в следующем: он советует другому собрать принтер по его схеме, а не так давно я разобрал свой первый 3d принтер Mendel 90.

image

Это был мой первый принтер, и он познакомил меня с удивительным миром 3d-печати. Прошло уже больше года с того момента, но я нисколько не жалею о своем выборе, хоть и было достаточно неприятных моментов, истрачено много нервов от непонимания происходящего процесса и возникающих проблем. Данный принтер я купил у человека в моем городе за 43 тысячи рублей, по сравнению с тем, что предлагали на рынке официальные представители (на данный момент цены только ползут вверх) за 100 тысяч, а такую сумму я явно не собирался тратить на неизвестную игрушку, то данный принтер выглядел вполне себе нормально: имелся подогрев стола, печать с SD-карты, сопла разного калибра, простота конструкции… Но были и недостатки, из-за которых я спустя год его и разобрал. Со временем я стал понимать ущербность данной компоновки:

  1. Жестко закрепленный стол без возможности тонкой калибровки в виде пружинок и болтов, все было скручено жестко;
  2. Из предыдущего пункта вылазит следующий — требуется строго соблюдать горизонтальность оси Z, если будет разница в 200-300 микрон по высоте в разных углах всё, печать бесполезна, первый слой просто не ляжет нормально;
  3. Сама конструкция, которая подразумевает одновременное движения столика взад/вперед по оси Y и самой оси X, которая двигается в это же время перпендикулярно оси Y, со стороны выглядит волшебно, но на практике это приводит к ненужным колебаниям модели на столе, а если вы делаете что-то высокое и небольшое по размеру в основании, то велик риск того, что модель просто упадет (что иногда происходило);
  4. Медленная печать, нет смысла разгонять тяжелую каретку с экструдером и мотором свыше 60 мм/сек — будут артефакты и прочие прелести;
  5. Большие размеры при стандартной области печати 20х20х20 см, все размещено крайне не компактно;
  6. Далее список можно продолжить, но там будут уже относительно небольшие недостатки принтера...

Читать дальше →

3d принтер на рельсах за «25 тысяч рублей» своими руками.Основные комплектующие

Reading time2 min
Views34K
После публикации поста меня попросили написать о комплектующих, что-же, пожалуйста :)
В кавычках, потому что курс рубля слабо поддается прогнозу, но я уложился в такую сумму с курсом доллара 55-60 рублей.
Все запчасти относятся только к данному корпусу, который можно заказать написав этому человеку или если вы решите собирать в другой корпус, то могут быть незначительные изменения, но в целом комплектующие совпадают.
Читать дальше →

Information

Rating
Does not participate
Location
Таллин, Эстония, Эстония
Date of birth
Registered
Activity