Я хочу реализовать алгоритм компьютерного зрения, закодированный в MATLAB на аппаратном обеспечении. Я знаю, что я могу использовать последовательную связь для взаимодействия с MATLAB и Arduino через ПК. Но я хочу создать автономное аппаратное устройство. Можно ли выполнить задачу с помощью платы Raspberry Pi. Смогу ли я записать на него свой код и использовать его исключительно для управления другим оборудованием (например, реле и т. Д.), Которое мне нужно?Можно ли вставить код MATLAB на малиновый pi, чтобы сделать автономное аппаратное устройство?
ответ
Существует два решения, которые вы можете использовать.
Raspberyy Pi Support Package from Simulink предназначен для написания автономных приложений, которые работают на малиновой пи. Для этого вам нужно перейти от Matlab к Simulink. Используя блок MatlabFunction в Simulink, вы должны иметь возможность повторно использовать большие части вашего кода, требуя только повторного подключения к IO.
Вторая альтернатива - использовать matlab coder для генерации C++ из вашего кода.
Прежде чем читать любую страницу документации об этих параметрах, проверьте ценовые метки на нужные панели инструментов. Я думаю, что кодер Simulink необходим для пакета поддержки Simulink, но я не могу найти эту информацию.
Как исследователь, я много использовал Matlab. И моя любимая картина работа была
- Использование Matlab для анализа много различных алгоритмов
- Найти лучший алгоритм (самый быстрый, самый точный, ... Вы можете определить «лучший» по-разному)
- После определения наилучшего алгоритма переносите его на C++/C#/python (это зависит от конечного приложения)
Причина? Код Matlab - это slooooooooooooooooow и очень плохо переносимый, но у него уже много функций. Поэтому, когда вам нужно переключаться между алгоритмами, это хороший выбор, но как только вы решите лучший алгоритм, лучше переключиться на лучшие языки.
Для вашего случая, если приложение уже находится в фазе «поиска наилучшего алгоритма», вам не нужно перемещать его в малину. Если вы уже нашли его, поместите его на C/C++ и скомпилируйте его на малине или поместите на python и выполните его.
Это будет дешевле, и на самом деле может быть проще, попробуйте перенести свой код на Python. 'numpy' был разработан так, чтобы быть очень похож на MATLAB ... – Dan
[Octave] (https://www.gnu.org/software/octave/) может быть опцией – Steve
Matlab - не лучшее решение для такой системы. Он хорош для быстрого программирования, но имеет несколько проблем для вашей задачи. Вы могли бы попытаться создать исполняемый файл, но Matlab не может перекрестно скомпилировать. Поэтому вам нужно запустить Matlab на малиновый pi и создать его там. Лично я бы этого не сделал. Не могли бы вы поменять свой основной код на библиотеку java/C? Тогда вы все равно можете использовать его в Matlab и python/Java-программе на pasp. – Mo3bius