Что, если не Арудино?

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Что, если не Арудино?

Сообщение Belg2001 » 31 май 2018, 02:18

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

Машинка увидела красный кубик - должна свалить от него подальше.
Увидела жёлтую пирамиду - подъехала к ней.

Это очень, даже чрезмерно упрощённая схема, в финале процу будет поступать ещё куча данных, начиная от "дальномера", заканчивая тепловизором. Хотел всё это делать на Ардуино, но умные люди сказали, что не вытянет даже близко. Так что ищу совета здесь, на базе чего строить эту дичь?

Если что, я новичок в теме и заранее спасибо.
Belg2001
 
Сообщения: 6
Зарегистрирован: 12 май 2018, 17:37

Re: Что, если не Арудино?

Сообщение Nesenin » 31 май 2018, 10:12

Nvidia Xavier SoC (система-на-чипе) http://www.nvidia.ru/object/xavier-the- ... ip-ru.html

Добавлено спустя 11 минут 38 секунд:
см.продукты для автономных машин https://www.nvidia.ru/autonomous-machines/
Модуль Jetson TX2
Модуль Jetson TX1
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Что, если не Арудино?

Сообщение Scorpio » 31 май 2018, 16:38

Смартфон для видео и нейронки, дуинка для датчиков.
Аватара пользователя
Scorpio
 
Сообщения: 2681
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

Re: Что, если не Арудино?

Сообщение Виктор Казаринов » 31 май 2018, 16:46

Я к Arduino Nano подключал камеру OV7670. Правда, разрешение было маловатым из-за слабого контроллера: 80х80 пикселов. Обрабатывалось до 15 кадров в сек. В Arduino хватило места для кадрового буфера и оставались ресурсы на простенькую нейросеть или другие чудеса кибернетики. Естественно, тогда существенно понизится скорость обработки кадров.
Аватара пользователя
Виктор Казаринов
 
Сообщения: 1387
Зарегистрирован: 21 июн 2006, 11:22
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич

Re: Что, если не Арудино?

Сообщение Belg2001 » 31 май 2018, 17:13

Вычитал про BEAGLEBONE с 512 МБ оперативки на борту. По идее, довольно мощный чип... Что думаете?
Belg2001
 
Сообщения: 6
Зарегистрирован: 12 май 2018, 17:37

Re: Что, если не Арудино?

Сообщение Madf » 31 май 2018, 17:38

Ну тады до кучи почитай про Панду: https://www.lattepanda.com/
Это хоть более доступное чем выше описанное решение от НВидиа.)
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: Что, если не Арудино?

Сообщение Angel71 » 31 май 2018, 17:43

уже не в моде сначала на компьютере, смартфоне, планшете,... или ещё на чём, что уже есть, начать делать и поняв, какие и сколько ресурсов нужно, уже осознано подбирать железо?
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Что, если не Арудино?

Сообщение Belg2001 » 31 май 2018, 18:01

Angel71 писал(а):уже не в моде сначала на компьютере, смартфоне, планшете,... или ещё на чём, что уже есть, начать делать и поняв, какие и сколько ресурсов нужно, уже осознано подбирать железо?

Я бы так, наверное, и поступил, если бы ранее собрал в своей жизни что-то помимо ЛЕГО)) Я прикинул, вроде beaglebone должен справиться, осталось понять, что к этой гадине можно подключить, ибо тот же дальномер звуковой довольно экзотичная штуковина. Да и потоковое видео - тоже не хухры-мухры.

Добавлено спустя 1 минуту 52 секунды:
Angel71 писал(а):уже не в моде сначала на компьютере, смартфоне, планшете,... или ещё на чём, что уже есть, начать делать и поняв, какие и сколько ресурсов нужно, уже осознано подбирать железо?

А идея как-то эмулировать работу робота была, только вот я не представляю как :roll:
Belg2001
 
Сообщения: 6
Зарегистрирован: 12 май 2018, 17:37

Re: Что, если не Арудино?

Сообщение Angel71 » 31 май 2018, 18:26

простенькие реализации распознования цветастых кубиков, шариков и много чего ещё, в том числе и простенькое потоковое видео, спокойно делаются на слабеньких процессорах, допустим младших армах с примерно 200-400мгц. от куда ты знаешь, сколько ресурсов потребуется под твою задачу? ну возьмёшь биглебон, потом и узнаешь, это железо потянет (с поправками на ветер в виде твоих способностей в программировании, наличия готовых библиотек, исходников и прочего) твою задачу или нет.
накука что-то эмулировать? хотя бы кубик сначала распознай, потом уже и об расспозновании в движении думай. если взять смартфон, ну так по блютузу или вайфай с дуней общение - в одну сторону даныне с датчиков, в другую как моторчиками или севами крутить. и ещё полно вариантов, как можно реализовать.
не, если шило в опе, беги и покупай. чуть позже может и ещё об одном моменте подумаешь - глубоко фиолетово на мегогерцы, мегобайты и прочее штуки, если нет нужных драйверов железа, библиотек, сдк, исходников, примеров, сред разработки, нужной операционки под этот чип/плату и ещё много чего софтового. есть, хорошо. нет, ну так или самому пилить или хоть гвоздями это бесполезное железо прибить к стенке можно.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Что, если не Арудино?

Сообщение Belg2001 » 31 май 2018, 18:51

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

Вообще, дело говоришь. Я разве что, уточню, что мой пример с кубиками крайне сильно упрощён, в идеале устройство должно отличить, например, собаку от табурета в условиях плохой видимости) Да и на самом деле я тут фигнёй страдаю: одной рукой рисую чертёж устройства (не очень получается, кстати), другой рукой гуглю разные платы и материалы, а ногами ищу фотки кубиков для обучения нейронки, желательно с инструкцией как её, заразу, написать.
Прибавить ко всему эту слабый опыт программирования, нулевой опыт роботостроения и высокие амбиции - становится понятно, что всё сложно :D Так что покупать никакие платы я пока не собираюсь, а так, чисто интересуюсь, список компонентов составляю, так сказать.
А вот про библиотеки я прям и не подумал, надо прошерстить этот момент.
Belg2001
 
Сообщения: 6
Зарегистрирован: 12 май 2018, 17:37

Re: Что, если не Арудино?

Сообщение Madf » 31 май 2018, 19:15

Angel71 писал(а):как моторчиками или севами крутить

Там опыта надо ещё поболее, а то может смешно выйти, купил железку зв $89, а потом коротнул где или уровни не соблюл и всё, дымок и в ведро... :D
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: Что, если не Арудино?

Сообщение Angel71 » 31 май 2018, 23:33

когда надумаешь покупать, тогда и подбирай - к тому времени в продаже выбранного сейчас, давно может и не быть. вместо какой нафантазированной сейчас фигни с арм ядром, каким сопроцессором хоть в виде дсп, фпга, видюшки (у которых ещё есть всякие мелкие нюансы на подобии поддержки каких матюков на подобии opencl, каких сдк и прочего) или ещё чего, более подходящим что-то другое будет,...
а за списком деталюшек приходи лет так через тцать, когда хоть немного наберёшся приктического опыта, в нейронках и других направлениях чуть лучше разбираться будешь, сможешь внятно формулировать задачу, осозновать ограничения и т.д. и т.п. а пока фантазии такие (тыкаем пальцем в небо, гадаем по погоде на марсе,...), что тебе и пачки энвидий из второго сообщения, кластера топовых компов и видюх легко может не хватить. а пока ты даже не в курсе, что сферическая нейронка непонятно как обученная на каких-то фотках, легко может обучиться немного не тому, что ты хочешь. допустим выцепит какие параметры камеры, шумы, яркость, освещённость, особенности картинко при сжатии и хз что ещё, а ты ей потом попытаешся подсунуть картинко со своей камеры, а оно твой шарик в упор не захочет распозновать. или обучишь в пасмурную погоду или на вечерних картинко со своей камеры, а днём в ясную погоду она в упор ничего не будет распозновать.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Что, если не Арудино?

Сообщение Dmitry__ » 01 июн 2018, 00:54

Belg2001 писал(а):Прибавить ко всему эту слабый опыт программирования, нулевой опыт роботостроения и высокие амбиции - становится понятно, что всё сложно

Это хорошая черта характера - самокритичность. Можно горы свернуть :)

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

Нереально сложно. Вот на арм с 75 мгц., кое как распознать трек - красная изолента, остановки - синие куски изоленты. При этом используется вся мощь аппаратных средств - dma, прерывания и.т.д. :)

Изображение
Ссылка из:
http://roboforum.ru/forum107/topic15929-1425.html#p384109

Belg2001 писал(а):Вычитал про BEAGLEBONE

С ними все хорошо, кроме одного - ОС сьест все ресурсы, надо железо программировать на уровне BareMetal.
Вот тут хвастался mjpeg-ом "на лету" на крутом контроллере - Blackfin, он выполняет несколько операций за один такт. По нынешним временам уже довольно старый контроллер.
http://roboforum.ru/forum107/topic15929-1365.html#p376293
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Что, если не Арудино?

Сообщение Angel71 » 01 июн 2018, 01:14

не мудри, ось потребляет 0 целых хрен десятых, а плюшек даёт более чем.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Что, если не Арудино?

Сообщение Dmitry__ » 01 июн 2018, 01:24

Angel71 писал(а):не мудри, ось потребляет 0 целых хрен десятых,

Вот на Blackfin в проекте SRV1 и не смогли получить mjpeg под линуксом, как не старались, а в железе - легко. :P

Изображение

Добавлено спустя 7 минут 12 секунд:
BEAGLEBONE еле ворочает легкий линух. :pardon:
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 6