24

Прошу совета

Приветствую! Необходим совет людей, имеющих опыт работы с Arduino и pi. Для сварки трубы из ленты решил изобрести устройство, позволяющее с помощью машинного зрения корректировать схождения- расхождение роликов для настройки четкого схождения кромок. Сейчас эти ролики приводятся в движение с помощью рук , ключей и на глаз и ощупь настраивается стан. Движение в устройстве предполагаю делать с помощью шаговых двигателей, которые будут регулировать схождение роликов . Хотя бы чисто в теории какая платформа подойдёт больше? Ту и начну глубоко копать и изучать) Жду вашего мнения!

Прошу совета Arduino, Raspberry pi, Совет

Дубликаты не найдены

+9

Овер инжиниринг, решать проблему надо механически. Щупы, индикаторы и тд

раскрыть ветку 1
+3
Поддержу. Глаз не надо, надо датчики. Думаю 2 или 4 на каждый конец трубы.
+8

маш зрение на ардуине не поднимешь, не для того оно... оно хорошо ногами дрыгать - исполнительные механизмы... 

раскрыть ветку 9
-2

Ардуина слишком помехочувствительна. Её в производстве опасно использовать. Только ради баловства, или разработки прототипа, а потом переносить на STM.

раскрыть ветку 8
+3

Чевой та она помехочувствительна? Не более чем остальные микроконтроллеры.

раскрыть ветку 7
+3

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

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

раскрыть ветку 4
0

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

раскрыть ветку 1
+1

Просто в живую проката/ сварки/формовки/калибровки не видели. Я как раз ничего другого к сожалению пока не видел.

0
В этом то и проблема, что индикации нет никакой)
раскрыть ветку 1
0

Так может лучше к механикам обратиться? Хотя, где их взять нормальных?

+3

ардуино подойдет.

в трубку светишь , с той стороны где её сворачиваешь .

над щелью фоторезистор.

шаговым двигателем поддерживаешь единообразную щель.

+2

Зачем ты тянешь сюде машинное зрение? Можно обойтись простым многооборотным энкодером...

+2

Подсказываю... теж надо закрутить в роликах и выключить двигатель ? делай отсечку по импульсу тока в остановленном двигателе ( как только до конца докрутит ) и усе !... И нафиг ардуино...

раскрыть ветку 1
0
Ему надо регулировать сжатие роликов на лету чтобы небыло зазора кромок и небыло нахлеста кромок.
+1

Компьютерное зрение?

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

Она будет меняться с изменением щели.

Частоту для измерения подобрать такую, на которой фон от работающего оборудования низкий.

+2
Иллюстрация к комментарию
+2

Чисто в теории - сначала надо рассчитать датчики и исполнительные механизмы так, чтобы обеспечивать требуемую точность. Это 99% затрат в таких проектах. А крутить шаговыми двигателями много ума не надо - достаточно любого микроконтроллера.

0

Для машинного зрения как по мне лучше всего подходит Jetson, но я бы рекомендовал использовать механические решения если опыта работы с CV нет.

0

Если руки чешутся обрабатывать изображения, то я взял бы какой-нибудь старый писюк, поставил бы на него ебунту и гонял бы обработку там, ибо OPENCV по части ресурсов прожорлив. А чтоб шаговиками управлять, я бы взял с алишки комбо из ардуино UNO и тушканчика GRBL shield. Дальше - просто. Софт на письке обрабатывает картинки с видеокамеры и генерирует G-код, пересылаемый на тушканчика GRBL shield по USB кабелю. Ну собственно и всё, остальное - механика.

0
Что поможет что курить:

система linux на уровне пользователя.

Debian Ubuntu хотябы в виртуалке поставить на десктоп чтобы привыкнуть..

Попробовать терминал.

Малина работает на debian и называют ее raspbian. Но можно и другие ос ставить но начинать с raspbian.

Далее покурить OpenCV для машинного зрения.
Для программирования Python.
малина под питон изначально делалась.
но можно и другое и js php с++ java c#

Для прототипа должно хватить.
0
Если не хочется делать на датчиках, а именно побаловаться с техническим зрением, то надо растберри и opencv на него. Ардуина тут совсем не подходит.
0
Для маш. Зрения ардуино слабо. Лучше малинку либо механически
0

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

раскрыть ветку 1
+3

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

-4

Ардуино нельзя использовать к реальном производстве, слишком низкая надежность.

раскрыть ветку 37
+5

Делали источники питания и преобразователи частоты (до 100 кВт) на ATmega32U4. Каких-то проблем не было выявлено. Такой же МК стоит в Arduino Leonardo. Arduino - просто плата, с разводкой, не более и не менее.
Не вижу никаких проблем в том, чтобы использовать готовую плату там, где не требуется обеспечение высоких УПБ.

+2

нельзя использовать эти ваши микроконтроллеры в реальном производстве, слишком низкая надежность. только механика!

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

раскрыть ветку 4
+1
Вот производители Диск 250 М из Челябинск теплоприбор не в курсе, засунули в него атмегу 128 и все работает норм. Голую ардуину конечно не стоит. А лучше stm32.
раскрыть ветку 2
0
Да, предполагаю что технология схожая с иглами.
0

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

раскрыть ветку 24
0

отсутствием защиты платы от влаги/вибрации и внешних факторов вообще. Есть же нормативная документация на эти устройства. Эти платы часто даже не имеют штатных монтажных средств(отверстий, мест крепления и т.д.). 

Можно и на lego mind storm построить робота. Но это же все игрушки.

раскрыть ветку 19
0

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

раскрыть ветку 3
0
Опирался скорее на то, что это якобы простые системы, которые легко изучить, так как в таком деле пока знания около нуля. Что-нибудь более подходящее подскажете?
раскрыть ветку 1
0

если упорешься со сложными алгоритмами то малина куда без нее...

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

-1

Можно подробнее о надёжности Ардуино?

раскрыть ветку 3
+1

поялом пройтись, дабы китайские рукожопства нивелировать. и вполне себе...

раскрыть ветку 2
-1
Не видал автоматической подстройки на лету. Обычно ставят микрометрические винты и камеру на место сварки с выводом изображения на экран.
Посмотри системы taymer, может предложат что подходящее.

Что за трубки? Геофизика, оптика?
раскрыть ветку 1
0

Смотри olimpia80.com, там есть

-1
Лично мне кажется пару датчиков расстояния подойдёт для точной регулировки.
Похожие посты
170

Самоуправляемый ГАЗ66 Monster Truck 1/16

Пикабу, привет!


Хочу рассказать вам о том, как я делал и сделал самоуправляему машинку)

Я мог бы рассказать сразу, как делать, сухо прикрепив схемы и bash команды, но так будет скучно. Предлагаю вам интересную (я надеюсь) историю о том, как лично я прошел этот путь, и куда пришел.


Те места, где было что фоткать, с фотками. Там, где про софт — скорее всего без фото)


Это будет действительно история в формате повествования, как я рассказывал бы вам за чашкой кофе) Это не про bash команды, python скрипты, и вот это вот всё)


Начнём с фотки и видео того, что получилось, и дальше вся история под катом

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

История пройдет по такому сценарию


Почему я этого захотел

Как устроена самоуправляемая машина (взгляд сверху)

Эпоха 1 — Gelendwagen из детского мира + Raspberry Pi Zero W + камера

Эпоха 2 — ГАЗ66 + NVIDIA Jetson Nano + Камера для RaspberryPi

Эпоха 3 — Remo Hobby SMAX

Эпоха 4 — Соединение SMAX и ГАЗ66

Эпоха 5 — Монтирование компонентов на монстр траке

Эпоха 6 — Установка Donkey Car и окружения

Эпоха 7 — Сборка трассы, поездки

Эпоха 8 — Поездки с джойстика

Эпоха 9 — Обучение нейронки

Эпоха 9 — Всё работает, наконец-то!

Что дальше?

Вызов на батл

Сообщество

Образ sd карты моей машинки


Наливайте кофе, мы выезжаем!


Почему я этого захотел


Всё началось с того, что я фрустрировал с того, что в одной большой IT компании России делают очень классные беспилотники, это невероятно круто, а я не у дел)

Не, ну правда, это же так круто — самоуправляемые тачки) Отличный сплав из механики и алгоритмов)

Фрустрация продолжалась до тех пора, пока я не соединил у себя в голове разные факты о себе, а именно:


- я умею писать на питоне

- я (примерно) понимаю как работает машинное обучение

- я знаю, как работать с линуксом в консольке

- я провел детство с паяльником

- у меня есть целая коробка с diy компонентами (raspberry pi, arduino, сенсоры, и т.д.)


Когда всё в голове сложилось, я решил — self drirving car (sdc) быть!

Для начала, решил я, стоит вообще разобраться, как устроена sdc, и об этом будет следующий раздел.


Как устроена самоуправляемая машина (взгляд сверху)


Для того, чтобы машина поехала сама, ей нужно четыре компонента — тележка, сенсоры, компьютер, алгоритм.


Давайте разберемся:

Тележка

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

Здесь есть две условных когорты машинок, которые я назвал для себя так — машинки из детского мира, и машинки для хобби.

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

Машинки из мира хобби — то, что вам нужно. У них мощные двигатели, хорошие батареи, сервоприводы на передних колесах для поворотов. Считайте, что это порог входа. Самое дешевое и нормальное, что мне удалось найти — Remo Hobby SMAX.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Сенсоры

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

Базово, джентельменский набор для SDC такой:

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

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

— Лидар. Одновременно и простая и сложная штука, которая стреляет лазером вокруг себя, измеряет время возвращения луча, и понимает расстояние до границы пространства. Лидары бывают дорогими, как в настоящих SDC, и довольно дешевыми, как в вашем роботе пылесосе. Для сравнения, лидар из пылесоса стоит 75$, тогда как лидар для большой SDC от Velodyne нагуглился мне за 4K$. Такая разница в цене объясняется тем, что дорогие лидары строят 3D картинку, тогда как пылесосный лидар находит просто границы комнаты в 2D.

— GPS. Не используется в маленьких машинках, так как слишком большая погрешность измерения на маленьких расстояниях, но о нем стоит сказать, так как в больших SDC активно используется.

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

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Компьютер

То, что получает значения от сенсоров, анализирует ситуацию, передаем команды управления тележке.

В мире компьютеров для встраиваемой электроники правят бал энергоэффективные ARM процессоры (как в вашем телефоне), и одноплатные компьютеры на их основе.

На сегодня есть два самых популярных варианта одноплатников — RaspberryPi и NVIDIA Jetson.

RaspberryPi отличается меньшей ценой, бОльшим количеством разнообразных проектов, бОльшим сообществом.

NVIDIA отличается бОльшей ценой, меньшим количество проектов, но при этом бОльшей производительностью в задачах машинного обучению. Имеет на борту 128 CUDA ядер (как в вашей большей NVIDIA видеокарте), которые используются для ускорения алгоритмов машинного обучения.

В моей коллекции есть три штуки Raspberry Pi (ZeroW, 3, 4) и NVIDIA Jetson Nano. Машинку я решил собирать, конечно же, на Jetson.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Алгоритм

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

Если вы хотите освежить, как работает нейросеть, то предлагаю вам посмотреть вот такое видео — www.youtube.com/watch?v=RJCIYBAAiEI

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


Если очень высокоуровнено, то это всё.

Остается только:

— собрать тележку

— повесить сенсоры

— подключить компьютер

— нарисовать разметку

— поездить по ней

— обучить нейросеть

— поехать


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


Эпоха 1 — Gelendwagen из детского мира + Raspberry Pi Zero W + камера


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

Окей, подумал я, гелик есть, теперь нужен компьютер и сенсор. Подумано — сделано. Заказал RPi Zero W и камеру для неё. Пока ждал компьютер и камеру, зашел, купил для этого дела пауэрбанк.

Итак, всё на месте, пора собирать. Нашел вот такой проект, решил идти по нему - https://becominghuman.ai/building-self-driving-rc-car-series...
Разобрал гелик, вытащил его родные мозги, перекинул их на контроллер двигателя, его, в свою очередь, перекинул на RPi, к ней подключил камеру, запитал всё это дело пауэрбанком, остался доволен.


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

Тут-то меня и ждала пара провалов.

Первый — Raspberry Pi Zero W очень слабая в плане производительности.

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

Уже сейчас стало понятно, что проект мертворожденный, но ради интереса я попробовал собрать для Raspberry Pi Zero компьютерное зрение (OpenCV) прямо на ней же. Это заняло, без шуток, больше суток, и стало последним гвоздем в крышку гроба этой реализации SDC.

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


Получилось довольно смешно

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 2 — ГАЗ66 + NVIDIA Jetson Nano + Камера для RaspberryPi


Итак, на этом моменте стало понятно, что нужно какая-то более проходимая машина, и желательно, грузовик, чтобы положить в кузов все компоненты. После штудирования одного сервиса по подбору товаров, стало понятно, что мне подходит модель нашего родного ГАЗ66, он же шишига в народе. Окей, заказал, жду, пора думать про компьютер. К этому моменту NVIDIA как раз готовила старт продаж своих Jetson Nano, и я оформил заказ в первый день продаж.

Приехал грузовик, я продолжал ждать Jetson, в нетерпении катался на шишиге по дому, катал котят, которых родила кошка, упомянутая выше. Не сказать, что котятам нравилось — пришлось перестать.

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

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

Пора собирать! Но сначала, надо разобрать, лол. Разобрал шишигу, выкинул ее родные мозги, смазал механизмы, начал собирать уже на базе компьютера.

Подключил камеру, контроллер двигателя, поворотный двигатель, двигатель газ/тормоз, завел питоновские скрипты для теста — снова облом!

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

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

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 3 — Remo Hobby SMAX


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

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

Приехал домой, достал шишигу, скинул всё с неё, сел подключать к SMAX. И что, как вы думаете? Правильно — снова неудача!

Базово, RC машинки устроены так, что двигатель подключается к контроллеру двигателя, а тот, в свою очередь, подключается к радио модулю, который общается с пультом. И вот именно SMAX устроен так, что там контроллер двигателя и радио модуль были объединены — у меня буквально не было возможности подключиться к контроллеру двигателя вместо радио модуля.

Окей, надо что-то снова делать. Возвращаюсь на сайт RC машинок, лезу в комплектующие. Ковыряюсь там, и ура, нахожу такой контроллер двигателя, у которого есть отдельный провод до радио модуля.

Заказываю, привозят, собираю всё заново — работает, но только повороты. А газ и реверс нет! Да что, блин, такое, думая я, но продолжаю ковыряться.

В этот раз не работало то, что, оказывается, для того, чтобы двигатель SMAX проснулся, пульт должен прислать ему определенное значение (360) через радиомодуль. Но я об этом не знал, и вводил значения непосредственно для газа тормоза. А двигатель не реагировал, исходя из логики, что никто его не просил просыпаться.

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

Сначала я перебирал по 100 — мимо. Потом по 50 — мимо. И вот когда дошел до перебора по 10, на 360 услышал какой-то приветственный писк — ура! Работает!

Потестил из консоли газ/реверс/лево/право, все работает. Вот это огонь, вот это я программист =)

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

В этот момент я решил поискать, а как, собственно, это делают другие.

Нашел проект donkey car, в котором есть всё под ключ, чтобы собрать свою SDC — и Hardware примеры, и Software фреймворк. Казалось бы, круто, бери и пользуйся, но, есть нюансы:

— они печатают верх машины на 3D принтере, и машину оно потом напоминает очень отдаленно. некрасиво, короче, не эстетично

— их 3D модели совместимы с такими машинами, которые у нас не продаются

Окей, запомним Donkey Car, возьмем потом их Software фреймворк, но пока надоо думать про hardware.

В какой-то день, крутя в своей кваритре головой, я посмотрел на разобранную шишигу, на SMAX без верхней части, и подумал — хммм, а они, кажется, одного масштаба (1/16). Взял шишигу, взял SMAX, просто на глазок приложил одно к другому — и правда, подходит! И выглядит круто! Штош, надо делать! Переходим к следующей эпохе.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 4 — Соединение SMAX и ГАЗ66


Итак, на старте этой эпохи у меня есть внутренний таргет — соединить верх от одной машины с низом от другой. Так как мы с коллегами скинулись на 3D принтер, и я являюсь его совладельцем (серьезный инвестор), то было решено нарисовать соединение в CAD программе, распечатать, и таким образом их соединить.

С этой идеей я ходил около 2 месяцев, думая, что вот-вот сяду разбираться в CAD системах. Лол, нет. Признавшись себе в том, что я не хочу разбираться в CAD системах, я стал думать, какие еще есть варианты.

Зашел снова в десткий мир, решил посмотреть конструкторы, вдруг они мне как-то помогут. Купил классический металлический конструктор, который был у меня, когда я учился в школе (аш олдскулы свело).

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

Начал делать. Провел не один день с детским гаечным ключом, гайками, и пространственным мышлением.

Пока соединял, научился сверлить пластик отверткой, аккауртно отрывать лишние части так, чтобы не повредить корпус, контрить гайки другими гайками (но без шайб все равно так себе). В общем, мой трудовик бы мной гордился.

Спустя примерно три переделки и три дня я увидел перед собой этот монстр трак — ГАЗ66 SMAX Edition by Beslan.

Итак, кажется, hardware база готова, переходим к следующей эпохе.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 5 — Монтирование компонентов на монстр траке


Наконец-то:

— у меня есть тележка с хорошими компонентами

— у меня эстетичный и вместительный верх

— на этой тележке нормально работают газ/тормоз/повороты

— верх и низ даже соединены вместе =)


Пора монтировать на этой красоте компоненты.

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


Сделал на кабине крепление для камеры, которое позволяет регулировать угол наклона камеры. Кинул от камеры длинный шлей до Jetson, который, в свою очередь, поселился в кузове.

Помимо Jetson, в кузове поселились:

— пауэрбанк для питания компьютера (пожертвовал свой основной, классный, с usb power delivery, чтобы jetson не проваливался по питанию)

— PCA9685 (ШИМ контроллер) для управления двигателями

— батарея для питания двигателя машины


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

По приколу подключил родные фары от ГАЗ66, чтобы было красивее и увереннее в темноте.


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

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 6 — Установка Donkey Car и окружения


Благо, на прошлых этапах я нашел проект Donkey Car, и он очень упростил мне жизнь, избавим меня от написания всего самостоятельно. Говоря по простому, DonkeyCar, это фреймворк, в котором уже есть все, что нужно для SDC. И у них даже есть гайды по тому, как ставить софт. Но, как это обычно бывает с OpenSource — гайды устарели, и моментами противоречят друг другу.

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

— OpenCV

— tensorflow-gpu (gpu именно для jetson, ибо есть cuda ядра. для rpi там tensorflow-lite)

— tensorrt (библиотека для ускорения инференса нейронок)

— и все то, что ставится автоматически исходя из списка окружения


Начнем с OpenCV.

В гайде DonkeyCar сказано, что его нужно собрать самом из исходников, ибо для ARM нет OpenCV в pip-е. Я это даже проделал, скомпилял OpenСV, но перед установкой решил проверить, вдруг в системе есть старая версия OpenCV, и ее надо снести. Позвал питон, заимпортил cv2, спросил версию, а она бац, и актуально. Быстренько поискал, и узнал, что оказывается, в последние версии linux4tegra (который в jetson) ребята из NVIDIA стали класть OpenCV. Круто, мне меньше дел. Молодец, что смог сам скомпилять)


Дальше, tensorflow-gpu.

В гайде DonkeyCar указана, во первых, устаревшая ветка версий (1.xx), во вторых, даже не последняя версия из устаревших. Я решил их не слушать, и поставить последнюю актуальную версию (2.0).


Следующий шаг — tensorrt

Гайд по установке tensrort на jetson написан отдельной вики страницей, и по ней понятно, что автор не читал основной гайд =) Ибо в гайде по tensorrt переназначаются переменные окружения, и перестает работать OpenCV. Я покрутил это и так и этак, откатил всё назад, и решил забить на окружения и переменные окружения — вкатил прямо в основное окружение.


Довольный собой открыл питон, по очереди позвал cv2, tensorflow, tensorrt, и потом спросил у питона их версии — они все заимпортились, все показали актуальные версии. Круто!

Процесс установки самого donkey car довольно простой, не буду описывать, предлагаю почитать их гайд. Единственное, что отмечу сейчас — в конфиге donkey car можно повысить разрешение картинки с 86х86 для RPi до 224х224 для Jetson (ибо больше производительности и так будет выше точность).


Итак, все готово, время запускать и тестировать!


Моя машинка действительно включается, на ней стартует веб сервер на том IP, которой машинке выдал роутер. И туда реально можно зайти, и из браузера поездить джойстиком, смотря на картинку с камеры.


Еще пришлось откалибровал значения, подаваемые на ШИМ (PCA9685), чтобы найти полный ход вперед, полный назад, максимальные повороты в стороны.

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


Круто, пора переходить к подготовке трассы!


Эпоха 7 — Сборка трассы, поездки


Алгоритм Donkey Car так устроен, что там нейронка, обучаемая учителем. А это значит, что трекается картинка с камеры, и рядоом с каждой картинкой появляется json файл, в которой пишется имя картинки, ускорение, поворот, timestamp. И для того, чтобы обучить нейронку, таких пар «картинка + json» нужно минимум 5К.

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

Окей, решил собирать в одной комнате. Купил 4 рулона малярного скотча, и наклеил им по полу трассу.

Поставил машинку, запустил, поехал, и снова провал — оказывается, одна комната слишком маленькая, и моя машинка банально не входит в поворорты. Точнее входит, но на такой скорости, что будет стыдно потом =)


Штош, надо делать вторую итерацию, и нужно большое помещение. Выбор пал на офис — места много, полы однотонные, открыто 24Х7. Проблема только в том, что ночью работают уборщики, и трассу нужно будет убрать. То есть, надо сделать все в один заход — поездить руками, чтобы быть учителем, обучить модель, закинуть обратно в машинку, и поехать уже без управления руками.


Окей, день Х, после ивента про А/Б эксперименты решено остаться в офисе, и делать трассу.

Место выбрано, скотч готов, команда строителей трассы в игре. Буквально час, и в коридоре офиса появляется отличная трасса.

Ставлю машинку, включаю, пробую ездить — ура, в повороты входит, и скорость пришлось ограничить всего до 80%.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 8 — Поездки с джойстика


Итак, у меня есть трасса, есть машина, и мне нужно 5К пар картника+json.

Опытным путем я выяснил, что один круг моей трассы, это 250 пар фотка+json, а это значит, что мне нужно отъездить минимум 20 кругов.

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


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

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


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

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

Хм, значит нужно как-то объединить телефон и джойстик. Окей, у меня есть читалка, она достаточно большая, на ней поместится и телефон и джойстик — подойдет. Взял скотч, и примотал скотчем к читалке телефон, а чуть ниже джойстик. Смотрел на это чудо, и думал — что ты такое, вообще)

Но, сработало) С этой штукой мне удалось отъездить 20 кругов. А на саомм деле, даже 25, ибо я вошел во вкус где-то к 15 кругу))

Такс, готово, у меня есть датасет для обучения нейронки, пора обучать!


Эпоха 9 — Обучение нейронки


В этот момент у меня есть машинка, трасса, датасет — да я в одном шаге от результата!

Дома крутился PC на холостом ходу, с NVIDIA RTX 2070, на котором я и планировал обучаться. Благо, для умного дома у меня есть внешний IP, и нужно было всего лишь прокинуть 22 порт из интернета на PC. Хорошо, что нашлись помощники, которые сделали это для меня, пока я был в офисе.

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

Файлы на компе, tensorflow-gpu установлен, софт от DonkeyCar установлен, пора обучать.

Зову скрипт от DonkeyCar для обучения нейронки, указываю ему на папки с датасетом — побежало.

Пока нейронка бегает, nvtop (монитор загрузки видеокарты) показывает 1406% утилизации, обычный htop показывает 100% загрузки cpu по всем 16 ядрам, дело идет)

Спустя каких-то 20 минут у меня есть обученная модель для управления тачкой. Казалось бы, бери, пользуйся. Но нет)

Помните, я выше писал про tensorrt, который оптимизирует инференс нейронок и запускает их на cuda ядрах? Конечно-же, я хочу выполняться через него.

А это значит, что мне нужно:

— зафризить модель (упаковать всё нужно для модели в один файл)

— сконвертировать результат фриза в пригодный для tensorrt формат


Пытаюсь зафризить модель, зову скрипт от DonkeyCar, неудача. А тем временем, дело к ночи, скоро уборщики демонтируют мою трассу, мне нужно быстро.

Родилась гипотеза, что это потому, что я взял не тот tensorflow, что был у DonkeyCar. Окей, сношу tensorflow 2.0, ставлю 1.15, пробую еще раз — успех, ура!


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

Зову скрипт из того места, и правда отзывается. Но, говорит, никаких тебе третьих питонов, давай второй.

Окей, зову второй питон. Он мне говорит — у меня нет tensorflow. Хорошо, прошу его поставить tensorflow-gpu 1.15, а он мне говорит, что такой версии нет, есть только 1.14. Ладно, соглашаюсь я, давай рискнем, и поставим разные версии в разные питон окружения. Поставил tensorflow во второй питон, позвал конвертацию — ура, сработало!


Штош, у меня есть модели для tensorrt и для обычного tensorflow-gpu, закидываю в машинку.


Запускаю машинку с моделью для tensorrt, огромный трейсбек ошибки, время давит — окей, попробую обычную модель.

Запускаю обычную, снова ошибка, но на этот раз довольно четкая — ваш размер картинки 224X224, тогда как ожидается 86X86. Помните, где-то сильно выше я писал о том, что правил конфиг, менял разрешение картинки с камеры?

Так вот, на машинке я поправил, а на хост компьютере нет.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

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

Запускаю машинку с моделью для tensorrt, и…


Эпоха 10 — Всё работает, наконец-то!


Ура! Моя машинка поехала! Сама, без меня. Очень круто. Я невероятно рад)

Почти год я всё это делал, и вот)


Что дальше?


На дальнейшее развитие есть ряд планов, пойду от простого к сложному

— Добавить в модель IMU сенсор, чтобы, возможно, повысить точность. Например, что при движении в горку нужно больше усилия двигателю.

— Перевести логику на поездки не по трассе, а просто ездить, объезжая препятствия

— Добавить лидар и учитывать показания с него


Вызов на батл


Если вы сам, или с компанией друзей, чувствуете, что хотите гонок, то пишите мне, давайте устроим соревнования =)


Сообщество


Еще я собрал чатик по интересам, и готовлю канал. Я не уверен, что по правилам пикабу так можно, так что пришлю в личку по запросу


Образ sd карты моей машинки


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

Показать полностью 11 1
112

Подключение PIR(датчика движения) к RaspberryPi.

В одном из своих постов я описывал как сделать умное зеркало. В комментариях поступило предложение подключить датчик движения. Опишу процесс подключения датчика,может быть кому-то будет полезна эта информация

Контакты на датчике:

Подключение PIR(датчика движения) к RaspberryPi. Зеркало, Raspberry pi, Arduino, Датчик, Датчик движения, Умный дом, Linux, Длиннопост

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

Подключение датчика к GPIO:
GND-2 пин GPIO
OUT-11 пин GPIO
+5V-6 пин GPIO

Подключение PIR(датчика движения) к RaspberryPi. Зеркало, Raspberry pi, Arduino, Датчик, Датчик движения, Умный дом, Linux, Длиннопост

Создание скрипта на питоне:

Теперь мы делаем скрипт python.
Создаем файл в каталоге MagicMirror с расширением .py(я назвал pir.py). Открываем этот файл любым текстовым редактором и прописываем туда следующие строки :

#!/usr/bin/env python

import sys
import time
import RPi.GPIO as io 
import subprocess

io.setmode(io.BOARD)
SHUTOFF_DELAY = 600 # секунды
PIR_PIN=11

def main():
    io.setup(PIR_PIN, io.IN)
    turned_off = False
    last_motion_time = time.time()
    while True:
        if io.input(PIR_PIN):
            last_motion_time = time.time()
            sys.stdout.flush()
            if turned_off:
                turned_off = False
                turn_on()
        else:
if not turned_off and time.time() > (last_motion_time + SHUTOFF_DELAY):
                turned_off = True
                turn_off()
            if not turned_off and time.time() > (last_motion_time + 1):
        time.sleep(.1)
def turn_on():
    subprocess.call("sh /home/pi/MagicMirror/monitor_on.sh", shell=True)

def turn_off():
    subprocess.call("sh /home/pi/MagicMirror/monitor_off.sh", shell=True)

if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        io.cleanup()
Проверяем скрипт. Если датчик не улавливает движения в течение 600с(10мин), то монитор выключается. Всё работает
Теперь сделаем так, чтобы скрипт запускался автоматическое при запуске системы. Для этого Переходим по этому адресу ~/.config/lxsession /, открываем LXDE-pi в текстовом редакторе и добавляем эту строку :
@sudo / usr / bin / python /home/pi/MagicMirror/pir.py
Сохраняем изменения, выходим и перезагружаем raspberry pi.
Мои посты:

Умное зеркало на Raspberry pi 4

Процесс создания умного зеркала на raspberry pi.

Показать полностью 1
857

Процесс создания умного зеркала на raspberry pi.

Что нам потребуется :
-raspberry pi 2-4(в моем случае raspberry pi 4)
-Карта памяти не меньше 8гб
-блок питания 5В
-монитор, чем больше тем лучше (я использовал 24-х дюймовый монитор)
-зеркало гизелла или стекло с наклеенной зеркальной плёнкой
-рамка для зеркала
-hdmi провод
-провод питания для raspberry pi и для монитора

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

6)Дожидаемся окончания установки операционной системы.
7)После перезагрузки видим установленный Raspbian

Установка MagicMirror:
Здесь все предельно просто.
открываем окно терминала и вводим эту команду

bash -c "$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/maste...)"

Началась установка MagicMirror.

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

После установки запустится окно умного зеркала,чтобы его свернуть нажимаем Ctrl+M.

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

Включение русского языка:
1)Переходим по адресу /home/pi/MagicMirror/config и открываем config.js(далее просто конфиг) в текстовом редакторе. В строке language заменяем значение "en" на "ru". Сохраняем файл config.js.

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

2)Разворачиваем окно MagicMirror и перезапускаем его сочетанием клавиш Ctrl+R. Теперь все модули, кроме комплиментов и новостей, переведены на русский язык.

Настройка погоды:
1)По этой ссылке скачиваем архив городов, распаковываем его и находим свой город.
2)Регистрируемся на Openweathermap.org по этой ссылке и получаем api_key
3)Открываем конфиг, ищем модули "currentweather", "weatherforecast". В поле location указываем ваш город. В поле locationID указываем ID города из скачанного архива. В поле appid указываем api_key, который мы получили на openweathermap.org.

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

Сохраняем все изменения и перезагружаем MagicMirror. Теперь модуль погоды показывает погоду вашего города

Настройка календаря :
Открываем конфиг и ищем модуль "calendar". В поле header указываем название календаря, оно будет отображаться в зеркале . В поле URL вы можете указать URL своего календаря Google, Icloud или любого другого календаря.

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

Сохраняем конфиг и перезапускаем приложение MagicMirror.

Настройка новостей :
В конфиге находим модуль "newsfeed". В поле title изменяем название источника новостей, а в поле URL указываем ссылку на источник новостей rss.

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

Сохраняем конфиг и перезапускаем приложение MagicMirror. Теперь модуль новостей показывает новости из источника, который вы указали.

Модуль комплиментов :
Лично я отключил этот модуль(удалил в конфиге). Кому-то понравится этот модуль, поэтому опишу процесс изменения английских комплиментов на русские.
Переходим по адресу home/pi/MagicMirror /modules/default/compliments/ и Открываем файл compliments.js в текстовом редакторе. Находим строку compliments, ниже указаны комплименты на английском, заменяем на свои и сохраняем файл. Перезапускаем приложение MagicMirror. Теперь текст в модуле комплименты отображается на русском языке.

Добавление других модулей:
1)Переходим по ссылке, выбираем интересующий вас модуль и скачиваем его.
2)скачанный модуль перемещаем по адресу :home/pi/MagicMirror /modules/
3)Изучаем файл Readme и редактииуем конфиг согласно инструкции.
4)Сохраняем все изменения и перезапускаем MagicMirror.

Автозапуск MagicMirror при перезагрузке raspberry pi:
1)Открываем окно терминала и вводим эти команды:

sudo npm install -g pm2

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

sudopm2 startup

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

cd ~
nano mm.sh

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

Откроется редактор текста, добавляем следующие строки:

cd ~/MagicMirror
DISPLAY=:0 npm start

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

Сохраняем изменения и закрываем, используя сочетания клавиш CTRL+O и CTRL+X.

Далее поочерёдно вводим эти команды :

chmod +x mm.sh

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

pm2 start mm.sh

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

pm2 save

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

Закрываем окно терминала и перезагружаем RaspbianOS. Теперь при перезагрузке MagicMirror запускается автоматически

Отключение сна :
Открываем окно термина и вводим команду:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

Добавляем строки в конец файла
@xset s noblank
@xset s off
@xset -dpms

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

Выходим, сохраняя изменения и вводим новую команду:

sudo nano /etc/lightdm/lightdm.conf

В текстовом редакторе прокручиваем вниз до раздела  [SeatDefaults] и находим xserver-command. Измените строку, чтобы она выглядела так:
xserver-command=X -s 0 -dpms
Нажимаем CTRL+X затем Y.

Процесс создания умного зеркала на raspberry pi. Умный дом, Raspberry pi, Arduino, Зеркало, Инструкция, Как?, Linux, Длиннопост

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

Спасибо всем кто дочитал этот пост до конца попытался описать все наиболее подробно и понятно.

Показать полностью 15
574

Умное зеркало на Raspberry pi 4

Всех приветствую.
Несколько месяцев назад наткнулся на очень интересный проект на базе raspberry pi "MagicMirror", решил сделать себе такое зеркало. Мне кажется, что получилось достаточно неплохо. Может кто-то подскажет как ещё можно использовать raspberry pi 4 параллельно с зеркалом чтобы максимально использовать ресурсы компьютера?

Умное зеркало на Raspberry pi 4 Raspberry pi, Своими руками, Зеркало, Самоделки, Arduino, Умный дом

На просторах русскоязычного интернета не нашёл информации по созданию такого зеркала, если кому-то интересно опишу все действия.

143

Журнал «Amperkot.ru». Выпуск №2(12/2018)

Журнал «Amperkot.ru». Выпуск №2(12/2018) Журнал, Arduino, Raspberry pi, Эксклюзив, Робот, Технологии, Электроника, Длиннопост

Вышел декабрьский номер электронного и печатного журнала «Amperkot.ru». В этом выпуске вас ждет эксклюзивное интервью Эбена Аптона – создателя самого известного в мире одноплатного мини-компьютера Raspberry Pi. Статья также подкреплена видеоверсией.


Технологии дарят нам возможности! Попробуем создать свой прототип элемента умного дома с голосовым управлением на базе аппаратной платформы Arduino.


Узнаем как овощи и фрукты могут превратиться в батарейки! Удивительный мир робототехники приоткроет нам интересное направление – BEAM. А подборка фильмов «Гении технологий» поможет разнообразить ваш досуг и прожить вместе с героями их взлеты и падения.


Помимо этого, вас ждет ответ технического специалиста Amperkot.ru на вездесущий вопрос про 3.3 и 5


Приятного чтения!


https://amperkot.ru/static/3236/uploads/magazine/amperkot_ru...

Журнал «Amperkot.ru». Выпуск №2(12/2018) Журнал, Arduino, Raspberry pi, Эксклюзив, Робот, Технологии, Электроника, Длиннопост
Журнал «Amperkot.ru». Выпуск №2(12/2018) Журнал, Arduino, Raspberry pi, Эксклюзив, Робот, Технологии, Электроника, Длиннопост
Журнал «Amperkot.ru». Выпуск №2(12/2018) Журнал, Arduino, Raspberry pi, Эксклюзив, Робот, Технологии, Электроника, Длиннопост
Показать полностью 3
535

Журнал «Amperkot.ru». Выпуск №1(11/2018)

Журнал «Amperkot.ru». Выпуск №1(11/2018) Arduino, Raspberry pi, Своими руками, Техника, Журнал, Длиннопост

Вышел дебютный ноябрьский номер бесплатного электронного и печатного журнала «Amperkot.ru». В этом выпуске вас ждет ряд эксклюзивных статей: Интервью с Alex Gyver'ом, одним из самых известных и уважаемых блогеров в Российском YouTube по тематике Arduino, DIY и др. Мы не прошли стороной и таких мировых гигантов, как Google, с их аппаратными платформами для обучения искусственных нейронных сетей. Разберем причину ссоры разработчиков Arduino и разницу между платами Arduino или Genuino. Узнаем, чем чревато запускать коптер в ненастную погоду и что с ним будет, если в него ударила молния. А статья о "творчестве" роботов позволит не судить однобоко о бездушных железках.


Помимо этого, вас ждет часть статьи от наших друзей из журнала «Хакер» про ESP32 и IoT. А так же, ответы технического специалиста Amperkot.ru на вопросы о проблемах в работе Wi-Fi модулей ESP8266 в среде Arduino IDE и непонимании наших клиентов, как запустить Arduino MKR тысячной серии.


Приятного чтения!

Журнал «Amperkot.ru». Выпуск №1(11/2018) Arduino, Raspberry pi, Своими руками, Техника, Журнал, Длиннопост
Журнал «Amperkot.ru». Выпуск №1(11/2018) Arduino, Raspberry pi, Своими руками, Техника, Журнал, Длиннопост
Журнал «Amperkot.ru». Выпуск №1(11/2018) Arduino, Raspberry pi, Своими руками, Техника, Журнал, Длиннопост
Журнал «Amperkot.ru». Выпуск №1(11/2018) Arduino, Raspberry pi, Своими руками, Техника, Журнал, Длиннопост

https://amperkot.ru/static/3236/uploads/magazine/amperkot_ru...

Показать полностью 4
111

Новая интеллектуальная плата расширяет функционал роботов на Arduino и Raspberry Pi

Компания Charmed Labs выпустила следующее поколение своего смарт-датчика под названием Pixy.

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


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

Новая интеллектуальная плата расширяет функционал роботов на Arduino и Raspberry Pi Raspberry pi, Raspbian, Rasperberypi, Arduino, Робототехника

Оригинальный Pixy был запущен с помощью Kickstarter в 2013 году в рамках сотрудничества с Институтом робототехники Университета Карнеги-Меллона.


Плата поддерживает: Arduino, Raspberry Pi, BeagleBone Black и др. карманные компьютеры.


Плата Pixy2 доступна через Amazon и других дистрибьюторов.

Видео демонстрации работы:

https://youtu.be/EcCbEWiyiQY

Источник: globalspec.com


ARMLab - Канал про мини компьютеры размером с кредитную карту

151

Petoi - кошки киборги на базе RPi

Робот - мечта многих детей, а благодаря фильмам "K9", "Доктор Кто" и тамагочи,  это желание стало кошмаром родителей во всем мире. Но перечисленное мелькнет в сравнении с Petoi - электронной кошкой, которая работает на базе Raspberry Pi. Ей характерны повадки живых котов: ходьба и мяуканье. Разработали её в компании Rongzhong Li. Заинтересовали? Смотрите обзор:


https://youtu.be/iGEdF5QsDB8


Petoi такой же как живой домашний кот: он ходит, играет, его грудная клетка удваивается как цифровой ксилофон - но то, что делает Petoi таким особенным, так это использованием автором проекта в качестве платформы для изучения(имеется ввиду изучение RPi и программирование ,- прим.пер.).


Я купил свой первый малиновый компьютер в июне 2016 года, чтобы изучить программирование под железо. Этот робот Petoi служил игровой площадкой для изучения всех компонентов в обычном наборе "малинки". Я начал с кофейных палочек, затем переключился на 3D печать каркаса и деталей для оптимизации производительности и схожести с котом.

Petoi - кошки киборги на базе RPi Raspberry pi, Raspberry, Raspbian, Raspberry PI 2, Rasperberypi, Raspberry pi zero w, Raspberry Pi 3, Arduino, Длиннопост
В разных версиях Petoi размещены разные компоненты деталей и программного обеспечения, поэтому, невозможно указать точные детали, которые нужны для разработки собственной версии Petoi, но некоторые из них не изменяются.
Petoi - кошки киборги на базе RPi Raspberry pi, Raspberry, Raspbian, Raspberry PI 2, Rasperberypi, Raspberry pi zero w, Raspberry Pi 3, Arduino, Длиннопост

Raspberry Pi работает как мозг устройства кошки, передавая команды на Arduino, который контролирует движения робота. Ли объясняет:


Pi не несет ответственности за контроль движений конечностей. Он фокусируется на более серьезных вопросах, таких как «Кто я? Откуда я родом? Куда я иду?» Он генерирует ум и отправляет команды и передает их Arduino.

Теперь Ли работает над двумя функциональными прототипами: мини-версией для образования в STEM и большую версию для использования в области исследований ИИ.

Petoi - кошки киборги на базе RPi Raspberry pi, Raspberry, Raspbian, Raspberry PI 2, Rasperberypi, Raspberry pi zero w, Raspberry Pi 3, Arduino, Длиннопост

Вы можете больше узнать о проекте на странице проекта сайта hackster.io.


Источник: www.raspberrypi.org


ARMLab - Канал про мини компьютеры размером с кредитную карту


http://t.me/armlab

Показать полностью 2
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: