Технический форум по робототехнике.
Hamulus » 23 июн 2016, 10:01
Планирую построить робота в котором мощный девайс будет выполнять роль "мозга", а Arduino - "спинного мозга".
Изначально планировал использовать как мозг недорогой телефон на андроиде, но чтобы подсоединить его к Arduino нужно либо использовать Bluetooth, что приводит к необходимости во-первых подключать лишний девайс к Arduino и во-вторых в принципе криво как-то это - оба устройства на борту, а работают через Bluetooth. Либо использовать OTG кабель, но телефоны с поддержкой OTG уже не так бюджетны.
К тому же лишними будут аккумулятор телефона и его экран.
В итоге остановился на одноплатнике Odroid C2 как на лучшем балансе цена/возможности/производительность.
Туда есть возможность поставить либо Android либо Ubuntu. Так вот вопрос: что лучше? Я с Linux сталкивался только на серверах и на уровне запустить/остановить сервис, найти/удалить файлы. И никогда под него не программировал.
Отсюда вопросы:
Будет ли Ubuntu производительнее? Если да, то насколько?
Есть ли в Ubuntu возможность дистанционной автоматической установки и отладки программ (как на Android через ADB). То есть чтобы я в компиляторе на Windows запустил, а программа обновилась на устройстве и её можно было бы дебагить?
Если поставить KDE или Gnome - насколько это затормозит систему?
Какой язык использовать в случае с Ubuntu? C++ или Java? C обоими знаком достаточно поверхностно, а потому хочется понять где больше возможностей (прежде всего библиотек). То есть например OpenCV имеет интерфейсы и для С++ и для Java. А как обстоят дела с другими?
И есть ли какие-то готовые библиотеки для построения нейросетей?
metric » 23 июн 2016, 10:36
Odroid и OpenCV это не совсем производительность, тут лучше смотреть на Jetson tx1 и платы на этой платформе. в розницу от $180, разных производителей с кучей вариантов доп разъемов и прочего. Linux удобнее в поддержке и сопровождении + куча готовых програм и либ. андроид хоть и линукс, но заточен немножко на другое. кросс-компиляция есть почти подо все, копайте gdb. на ubuntu своя оболочка Unity/Gnome, вполне рабочая. при желании можно отключить или не устанавливать. с++ или java это холивар, поэтому начните например с python
![Smile :)](http://roboforum.ru/images/smilies/smile.gif)
библиотек для нейросетей в достатке на всех языках, вопрос скорее в том что в результате хотите получить и за какую цену.
elmot » 23 июн 2016, 15:21
odroid c2 должен быть не так уж плох, хотя на распознании образов явно будут проблемы со скоростью. Советую Debian(но можно и убунту, но лучше более легкие lubuntu или xubuntu) и C/с++, конечно.
Установку и обновление/отладку можно, но требует некой ручной работы.
linvinus » 25 июн 2016, 23:32
полагаю вам в этот раздел нужно заглянуть
forum111/не изобретайте велосипед.
ГУИ на роботе вообще не нужно
Hamulus » 26 июн 2016, 13:32
ГУИ на роботе вообще не нужно
гуи нужен для отладки
например я хочу подвигать ногой, повертеть камерой и посмотреть что робот видит и т.д.
то есть готовая программа может быть без ГУИ, но отладочная версия без гуи не обойдется
linvinus » 26 июн 2016, 14:03
я вам советую не изобретать велосипед а освоить ROS
изучите, а потом расскажете мне какой гуи для отладки вам нужен.
elmot » 26 июн 2016, 17:40
в целом соглашусь
не говоря уже о том, ч то снандарный x-windows нативно работает через сеть.
linvinus » 26 июн 2016, 19:46
я как собрал робота и поставил ось больше ни разу его не подключал к монитору, всё только по ssh.
даже прошивку в низкоуровневый контроллер загружаю по сети а дебаггер запускаю на ноуте и опять же по сети отлаживаю если нужно.
что то я компилирую непосредственно на самом роботе, при этом,для удобства, монтирую ФС робота на нотбуке и редактирую код в любимом графическом редакторе, а потом запускаю компиляцию по ssh.
при этом,например, ПИД регуляторы я настраивал через гуи, который предоставляет ROS, но он запущен на компе и опять же всё работает по сети.
робот у меня ROS мастер.
Hamulus » 27 июн 2016, 18:45
а я правильно же понимаю, что ROS - это все-таки не ОС как таковая, а по сути набор библиотек, который можно поставить в том числе на ubuntu?
то есть если я запускаю ububntu на компе или на Odroid - могу спокойно туда поставить ROS, так?
linvinus » 27 июн 2016, 19:58
Так. причём ubuntu желательно, но не любая версия.
SemLeik » 22 авг 2018, 15:50
Лучше всего ставить резаные Linux системы, вам правильно сказали lubuntu или xubuntu. Так как меньше будут тупить со своим лишним функционалом. А производительнее UNIX системы я ещё не находил. Android будет тупить.
setar » 24 авг 2018, 08:34
а почему тогда не пойти дальше и не поставить gentoo
![Wink ;)](http://roboforum.ru/images/smilies/wink.gif)
она всегда будет "строго по месту", поскольку собрана из исходников под конкретный девайс.
Я Вам как человек плотно занимавшийся разработкой Embedded ОС скажу - пофигу какой дистрибутив (кстати Android "Основана на ядре Linux[7] и собственной реализации виртуальной машины Java от Google.")
Все дело "в волшебных пузырьках" - опыте того кто настраивает
Andrey-versin » 11 май 2019, 19:58
Я тоже советую ставить Linux , уж на много меньше будет тупить чем Android
PavellabIND » 22 окт 2019, 16:13
Android система оптимизированая под сенсорные устройства, Linux куда больше подходит для десктопных устройств
Из лучших дистрибьютивов Линукса я считаю Debian
setar » 23 окт 2019, 14:24
лучшим дистрибутивом для чего ?
![Smile :)](http://roboforum.ru/images/smilies/smile.gif)
P.S. Как человек работающий на линуксе более 20 лет, я бы поостерег давать такие рекомендации.
Нет "лучших", иначе эволюция оставила бы единственный вариант.
Есть задачи, исходя из них нужно подбирать дистрибутив, особенно это важно в разнообразных программно аппаратных решениях и всяческих SDK.
Еще есть личные навыки и привычки, но они не относятся к задаче, если это не задача построения комфортного рабочего места.