Pull to refresh
23
0
Andrei Odue @androude

C/C++/automotive-infotainment

Send message

Нейрореволюция в головах и сёлах

Reading time8 min
Views94K
В последнее время всё чаще и чаще слышишь мнение, что сейчас происходит технологическая революция. Бытует мнение, что мир стремительно меняется.



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

Я работаю в области связанной с анализом изображений. Это одна из областей которую новые идеи затронули сильнее всего. Одна из таких идей — свёрточные нейронные сети. Четыре года назад с их помощью впервые начали выигрывать конкурсы по обработке изображений. Победы не остались незамеченными. Нейронными сетями, до тех пор стоящими на вторых ролях, стали заниматься и пользоваться десятки тысяч последователей. В результате, полтора-два года назад начался бум, породивший множество идей, алгоритмов, статей.

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

Кто лишится в ближайшие лет десять работы, а у кого будут новые перспективные вакансии.
Читать дальше →
Total votes 78: ↑76 and ↓2+74
Comments124

Электродвигатели: какие они бывают

Reading time23 min
Views337K


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

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

Каждый электродвигатель обладает некоторыми отличительными свойствами, которые обуславливают его область применения, в которой он наиболее выгоден. Синхронные, асинхронные, постоянного тока, коллекторные, бесколлекторные, вентильно-индукторные, шаговые… Почему бы, как в случае с двигателями внутреннего сгорания, не изобрести пару типов, довести их до совершенства и ставить их и только их во все применения? Давайте пройдемся по всем типам электродвигателей, а в конце обсудим, зачем же их столько и какой двигатель «самый лучший».
Читать дальше →
Total votes 101: ↑101 and ↓0+101
Comments179

Необычные материалы в DIY. Стоматология + электроника =? Часть 1

Reading time8 min
Views202K
Нет ничего прекраснее, чем сидеть в лаборатории и гладить толстую плешивую крысу в поисках вдохновения.



Итак, сегодня у нас будет немного необычный DIY-пост. Делать руками мы ничего не будем. Arduino и прошивок в 30 строк на Brainfuck тоже не будет. Мы попробуем взглянуть на привычные вещи под необычным углом.
Все мы привыкли к классическим для этой области материалам вроде текстолита, оловянного припоя и прочих радостей любителей повыпиливать лобзиком потравить платы. В этой статье мы попробуем найти интересные альтернативы привычным техпроцессам в несколько непривычной области — стоматологии. Зубные техники и стоматологи работают с целой кучей полимеров, композитов и много с чем еще. Я не буду давать конкретных рецептов применения, а просто дам общее направление для самостоятельных экспериментов.

В сегодняшней программе:
Материалы
  • Силиконы. Как кремний, только интереснее.
  • Супергипс. Гипсее всех гипсов.
  • Пластмассы. Отличный розовый цвет.


В следующей части:
Материалы
  • Фотокомпозиты. Сам себе 3D принтер.
  • Ортофосфорная кислота для травления

Оборудование и инструменты
  • Алмазные и твердосплавные боры
  • Портативные микромоторы. Замена дремеля
  • Обратные пинцеты, зонды и другая мелочь

Читать дальше →
Total votes 197: ↑191 and ↓6+185
Comments171

STM32: SPI: LCD — Вы всё делаете не так [восклицательный знак]

Reading time8 min
Views85K
Надеюсь сообщество простит меня за такой заголовок, просто в последнее время все чаще и чаще сталкиваюсь с программами в которых к микроконтроллерам STM32 подключают различные дисплеи с интерфейсом SPI и очень часто передачу данных при этом делают не правильно.
Как следствие — либо код не работает совсем и тогда в него внедряют различные задержки, или пишут код таким образом что он гарантированно будет работать медленно (по сравнению с возможной скоростью). А кто то, не разобравшись просто копирует чужой «с костылями» код, и потом такие «произведения» ходят по интернету из примера в пример…
Блок SPI описанный в данной статье точно есть у контроллеров семейств: STM32F1, STM32F2, STM32F4. По другим смотрите Reference Manual.

Откуда растут такие проблемы и каким образом они решаются под катом.
Читать дальше →
Total votes 50: ↑45 and ↓5+40
Comments44

Машинное обучение от Octave\Matlab к Python

Reading time3 min
Views21K
Решил я познакомится с такой интересной для меня областью, как Machine learning. После непродолжительных поисков я обнаружил достаточно популярный курс Стэнфордского университета Machine learning. В нем рассказываются основы и дается широкое представление о machine learning, datamining, and statistical pattern recognition. Был для меня в этом курсе небольшой минус как Python программиста- домашние задания надо было выполнять на Octave\Matlab. В итоге я не пожалел, что получил представления о новом языке программирования, но как учебный пример для более тесного знакомства с соответствующими библиотеками решил переписать домашние задания на Python. То что получилось лежит на GitHub тут.

Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments17

STM32F103C8T6 — первые шаги. Продолжаем делать осциллограф

Reading time5 min
Views69K
Продолжение статьи. На этот раз попробуем подключить USB без падения частоты измерений и соберём одноканальную аналоговую часть.

Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments25

Опыт переезда для работы программистом в Берлин (часть 2)

Reading time7 min
Views46K
Добрый день! В первой части я рассказывал о том, как получал визу и искал жилье, а в этой расскажу, как найти работу в Германии и как это делал я. Забегая вперед, скажу, что в Берлине мне потребовалась 10 дней, чтобы получить первый оффер, который я в итоге и принял. Но приготовления были, конечно, более длительными.
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments108

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

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

Эволюция домашнего 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. Далее список можно продолжить, но там будут уже относительно небольшие недостатки принтера...

Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments25

Советы и рекомендации по развёртыванию процесса автоматизация тестирования с нуля

Reading time23 min
Views88K

Предисловие


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

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

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

P.S.: И последнее — данный текст бы никогда не сформировался, если бы не полезные лекции Алексея Баранцева и Натальи Руколь, а также пропасть информации, написанная добрыми людьми за последние годы по данной теме.

Вот теперь всё, вы предупреждены — можно начинать рассказ.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments11

Как правильно внести свою лепту в Open Source проект: простые подсказки

Reading time6 min
Views69K
Open Source проекты с каждым днём набирают всё большие обороты, появляются новые, активно развиваются популярные.
Такие проекты как Bootstrap, Angular.js, Elasticsearch, Symfony Framework, Swift и многие другие привлекают новых разработчиков, их сообщество растёт. Всё это даёт огромный рост проектам, а самим разработчикам интересно поучаствовать в разработке чего-то, чем пользуется весь мир.

Я, как и многие другие программисты, не устоял и также время от времени участвую в разработке Open Source проектов, в основном на PHP. Но когда я начинал, я столкнулся с проблемой — я не знал, как правильно организовать процесс «контрибьютинга», с чего начать, как сделать так, чтобы мой Pull Request рассмотрели и т.д.

Всем начинающим «контрибьютерам», которые столкнулись с похожим проблемами, добро пожаловать под кат.


Читать дальше →
Total votes 80: ↑69 and ↓11+58
Comments41

Постановка задачи компьютерного зрения

Reading time13 min
Views72K

Последние лет восемь я активно занимаюсь задачами, связанными с распознаванием образов, компьютерным зрением, машинным обучением. Получилось накопить достаточно большой багаж опыта и проектов (что-то своё, что-то в ранге штатного программиста, что-то под заказ). К тому же, с тех пор, как я написал пару статей на Хабре, со мной часто связываются читатели, просят помочь с их задачей, посоветовать что-то. Так что достаточно часто натыкаюсь на совершенно непредсказуемые применения CV алгоритмов.
Но, чёрт подери, в 90% случаев я вижу одну и ту же системную ошибку. Раз за разом. За последние лет 5 я её объяснял уже десяткам людей. Да что там, периодически и сам её совершаю…

В 99% задач компьютерного зрения то представление о задаче, которое вы сформулировали у себя в голове, а тем более тот путь решения, который вы наметили, не имеет с реальностью ничего общего. Всегда будут возникать ситуации, про которые вы даже не могли подумать. Единственный способ сформулировать задачу — набрать базу примеров и работать с ней, учитывая как идеальные, так и самые плохие ситуации. Чем шире база-тем точнее поставлена задача. Без базы говорить о задаче нельзя.

Тривиальная мысль. Но все ошибаются. Абсолютно все. В статье я приведу несколько примеров таких ситуаций. Когда задача поставлена плохо, когда хорошо. И какие подводные камни вас ждут в формировании ТЗ для систем компьютерного зрения.
Читать дальше →
Total votes 72: ↑72 and ↓0+72
Comments54

DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

Reading time11 min
Views125K


Внимание! В рецепте с отбеливателем обнаружилась опасность коррозии металла! Не рекомендуется в стандартном применении!

Обзор экспериментов год спустя:
DIY порошок для посудомойки: как не растворить посуду и не повторить моих ошибок. Год экспериментов

В прошлой публикации мы создавали дешевый порошок для посудомойки из желудей и спичек кальцинированной соды и стирального порошка. В этой я расскажу о том, как можно его улучшить с помощью кислородного отбеливателя и где можно купить компоненты для более продвинутой версии. Будем делать упор на эффективности мойки, но даже при этом цена не выйдет за 100 рублей/килограмм. А еще будет рецепт ополаскивателя с себестоимостью в районе 1 рубля за литр. Как справедливо заметил amarao, занятие не для всех и многим проще использовать готовые таблетки. Но в подобных экспериментах с бытовой химией есть что-то от детства, первых опытов по смешиванию соды с уксусом и газировки с мятными конфетами. Так что ощутимая экономия здесь все-таки вторична. Будем развлекаться) Если кому-то лень читать весь текст — в конце поста будут подробные рецепты с рекомендациями.
Читать дальше →
Total votes 123: ↑123 and ↓0+123
Comments351

Расчет трансформатора для обратноходового импульсного источника питания (Flyback)

Reading time18 min
Views131K
Популярность обратноходовых источников питания (ОИП, Flyback) последнее время сильно возросла в связи с простотой и дешевизной этого схемного решения – на рынке можно часто встретить интегральные схемы, включающие в себя практически всю высоковольтную часть такого источника, пользователю остается только подключить трансформатор и собрать низковольтную часть по стандартным схемам. Для расчета трансформаторов также имеется большое количество программного обеспечения – начиная от универсальных программ и заканчивая специализированным ПО производителей интегральных схем.

Сегодня же я хочу поговорить о ручном расчете импульсного трансформатора. «Зачем это нужно?», может спросить читатель. Во-первых, ручной расчет трансформатора подразумевает полное понимание процессов, происходящих в источнике питания, чего зачастую не происходит, если начинающий радиолюбитель рассчитывает трансформатор в специальном ПО. Во-вторых, ручной расчет позволяет выбирать оптимальные параметры функционирования источника (и иметь представление, какой параметр в какую сторону надо изменить для достижения заданного результата) еще на этапе разработки.
Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments21

Зрение для робота на Raspberry Pi: карта глубин

Reading time11 min
Views36K
image

Нынче все технологии «дроностроительства» активно дешевеют. Кроме одной: получение карты окружающего пространства. Тут есть две крайности: либо дорогие лидары (тысячи долларов) и оптические решения для построения карты глубин (много сотен долларов), либо совсем копеечные решения типа ультразвуковых дальномеров.
Поэтому возникла идея на базе недорогой Raspberry Pi с одной камерой сделать решение, которое окажется в пустующей нише и позволит получать карту глубин «за недорого». Причем сделать это на простом языке программирования типа Python, чтобы это было доступно новичкам для экспериментов. Собственно, о своих результатах я и хотел рассказать. Получившиеся скрипты с примерами фоток можно запускать и на десктопе.

Читать дальше
Total votes 43: ↑42 and ↓1+41
Comments23

Сказ о том как перфекционизм мне контроллер сбрасывал

Reading time6 min
Views16K
image

Задумал я как-то купить йогуртницу. Да такую, чтобы йогурт делала хороший и всегда одного качества. Что для этого нужно? Во-первых, сырье, во-вторых, точная и стабильная температура, в-третьих, настройка времени приготовления. Стал я выбирать и столкнулся со следующей засадой: дешевые йогуртницы оказались нерегулируемые. То есть внутри нагревательный провод, и этот провод, по сути, подключается к сети. Какая температура будет при этом внутри йогуртницы, зависит от рук сборщика, температуры окружающей среды, фаз луны и глубины сна Ктулху (Ктулху фхтагн, кстати).

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

Это была предыстория. А теперь история.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments34

DIY-осциллограф из звуковой карты за $1

Reading time2 min
Views51K


Проектов по созданию осциллографов из разного рода аудиокарт немало. Выполнить модификацию карты с тем, чтобы превратить ее в полезный для электронщика инструмент, не так сложно, но зачастую встает вопрос цены. И здесь приходит на помощь интересный вариант с ценой вопроса около 1 доллара США.

Именно столько стоит внешняя звуковая карта, которая изображена на анонсной фотографии. Купить это чудо техники можно на электронной барахолке (во многих городах такие есть), или же на интернет-аукционе, где всегда есть, из чего выбрать. Маркировка текущего девайса — HX2010-0705, выпущен он в конце 2013 года.
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments6

Шпаргалка для кандидата: какие вопросы задать потенциальному работодателю на собеседовании

Reading time6 min
Views393K
У каждого кандидата в конце собеседованию рекрутер обычно спрашивает, есть ли вопросы. Часто люди теряются и не находят, что спросить. И лишь по прошествии некоторого времени (часто, когда человек уже работает в компании) сами собой всплывают вопросы, о которых нужно было поинтересоваться заранее, а не брать кота в мешке и удивляться «Как я сюда попал? Куда я смотрел? Почему я об этом не подумал?». Это так называемый «эффект лестницы». Я подготовил шпаргалку, что ты, %habrauser%, не растерялся.

Общее


1. Рабочий график и можно ли его двигать?
Я люблю поспать. Но на моей прошлой работе «рабочее утро» начиналось в 7:30. Мало того, что я довольно часто не мог прийти к этому времени, я еще пол дня занимался тем, что пытался привести себя в рабочую форму. Где то до 10:00. С 10:30 до 11:30 я усердно работал. Потом был обед. А потом мне хотелось спать, а не работать, т.к. я не высыпался еще с утра. Надо ли говорить, что вместо 8 часов, на которые меня нанял работодатель, я работал в «потоке» только часа 3-4. Так что для себя нужно решить вопрос – когда я наиболее трудоспособен? И обговорить рабочий график с руководством. И еще один нюанс. Попробуйте закрепить обговоренный график в трудовом договоре или контракте (далее ТД), если работодатель идет на персональный рабочий график для Вас. Никаких устных договоренностей. Иначе Вам начнут крутить руки уже в процессе работы (как это было со мной).
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments30

STM32 + linux

Reading time15 min
Views161K
Для разработки системы управления одной железякой после длительных поисков мною был выбран ARM-микроконтроллер семейства STM32 — STM32F103 (в «стоножечном» исполнении). А в качестве макетки для разработки и отладки — STM32P103 (там ножек хоть и меньше, но ядро то же самое). «Истории успеха» я понемногу выкладывал в своей ЖЖшке, но вот решил собрать все воедино и рассказать о том, каково же оно — программировать микроконтроллеры в линуксе. Сам проект лежит на sourceforge.

Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments21

STM32 и USB-HID — это просто

Reading time14 min
Views372K
На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?

Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.

У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее

Заставим ее работать
Total votes 103: ↑101 and ↓2+99
Comments105

Information

Rating
Does not participate
Location
Karlsruhe, Baden-Württemberg, Германия
Date of birth
Registered
Activity