Está en la página 1de 5

Aplicaciones de Matlab en ingeniería

Programación y desarrollo de Raspberry pi utilizando lenguajes de alto nivel como


Matlab y complementos como Simulink
Juan Lopa Lazo

RESUMEN
Información del artículo:
La programación en la Raspberry Pi suele implicar el trabajo con imágenes, vídeos, audio y
otros datos de sensores. MATLAB y Simulink ayudan a los usuarios a analizar y visualizar con
Historia del artículo: rapidez estos datos, así como a programar su Raspberry Pi para que responda en consecuencia.
El paquete de soporte de MATLAB para la Raspberry Pi permite escribir programas de
Publicado el 7 de diciembre MATLAB que se comuniquen con la Raspberry Pi y adquieran datos de los pines GPIO
del 2017. (General Purpose Input/Output) de la placa, cámaras y otros dispositivos conectados. Dado que
MATLAB es un lenguaje interpretado de alto nivel, resulta fácil prototipar y ajustar los
algoritmos para los proyectos de la Raspberry Pi. MATLAB incluye miles de funciones
Palabras Clave: matemáticas y de representación gráfica integradas que se pueden utilizar para la programación
en la Raspberry Pi y que abarcan dominios tales como procesado de imágenes y vídeo,
Matlab, Simulink, Raspberry optimización, estadísticas y procesado de señales. El paquete de soporte de Simulink para
pi, sensors, GPIO, hardware, Raspberry PI le permite desarrollar algoritmos que se ejecutan independientemente en su
software, programación, Raspberry PI. El paquete de soporte extiende Simulink con bloques para impulsar la I/O digital
información. Raspberry PI y leer y escribir datos de ellos. Después de crear su modelo Simulink, puede
simularlo y descargar el algoritmo completado para la ejecución independiente en el
dispositivo. Una capacidad particularmente útil (y única) ofrecida por Simulink es la capacidad
Keywords: de sintonizar los parámetros en vivo desde su modelo Simulink mientras el algoritmo se ejecuta
en el hardware.
Matlab, Simulink, Raspberry
pi, sensors; GPIO, ABSTRACT
programming, data.

Raspberry Pi™ programming usually involves working with images, videos, audio, and other
sensor data. MATLAB and Simulink help users quickly analyze and visualize this data and
program their Raspberry Pi to respond accordingly.
MATLAB support package for Raspberry Pi lets you write MATLAB programs that
communicate with your Raspberry Pi and acquire data from the board’s GPIO pins, cameras,
and other connected devices. Because MATLAB is a high-level interpreted language, it is easy
to prototype and refine algorithms for your Raspberry Pi projects. MATLAB includes
thousands of built-in math and plotting functions that you can use for Raspberry Pi
programming, covering domains such as image and video processing, optimization, statistics,
and signal processing. Simulink ® Support Package for Raspberry Pi lets you develop algorithms
that run standalone on your Raspberry Pi. The support package extends Simulink with blocks to
drive Raspberry Pi digital I/O and read and write data from them. After creating your Simulink
model, you can simulate it and download the completed algorithm for standalone execution on
the device. One particularly useful (and unique) capability offered by Simulink is the ability to
tune parameters live from your Simulink model while the algorithm runs on the hardware.

1. Introducción implicados elevados cálculos matemáticos y la visualización gráfica de los


mismos. MATLAB integra análisis numérico, cálculo matricial, proceso de
Matlab es un entorno de desarrollo y computación de aplicaciones, señal y visualización gráfica en un entorno completo donde los problemas y
totalmente orientado a llevar a cabo propósitos en donde se encuentren sus soluciones son expresados del mismo modo en que se escribirían
Aplicaciones de Matlab en ingeniería

racionalmente, sin necesidad de hacer uso de la programación tradicional. Simulink es una aplicación que permite construir y simular modelos de
sistemas físicos y sistemas de control mediante diagramas de bloques. El
MATLAB (MATrix LABoratory) es un programa orientado al cálculo con comportamiento de dichos sistemas se define mediante funciones de
matrices, al que se reducen muchos de los algoritmos que resuelven transferencia, operaciones matemáticas, elementos de Matlab y señales
problemas de Matemática Aplicada e Ingeniería. MATLAB ofrece un entorno predefinidas de todo tipo.
interactivo sencillo mediante una ventana en la que podemos introducir
órdenes en modo texto y en la que aparecen los resultados. Dispone de una serie de utilidades que facilitan la visualización, análisis y
guardado de los resultados de simulación. Simulink se emplea profundamente
Los gráficos se muestran en ventanas independientes. Cada ventana dispone en ingeniería de control.
de una barra de menús que controla su funcionalidad. Aprenderemos a
asignar, borrar, guardar y recuperar variables, utilizar las funciones Es una herramienta para modelado, simulación y análisis de sistemas dinámicos.
incorporadas y, más adelante, a definir funciones nuevas. MATLAB opera Soporta tanto sistemas lineales como no lineales:
directamente con números complejos y con números reales como caso
particular. Lo que distingue a MATLAB de otros sistemas de cálculo es su  En tiempo continuo,
facilidad para trabajar con vectores y matrices. Las operaciones ordinarias,  Muestreados
suma, producto, potencia, operan por defecto sobre matrices, sin más  Híbridos
restricción que la compatibilidad de tamaños en cada caso.  Sistemas multi-frecuencia (contienen sistemas muestreados a
diferente frecuencia).
Entes matemáticos como los polinomios son tratados por MATLAB como
vectores, gracias al hecho de que se suman y multiplican por escalares de la Además, es un entorno de programación visual, que funciona sobre el
misma forma que estos. La multiplicación y división entera de polinomios se entorno de programación Matlab. Es un entorno de programación de más alto
afectan mediante órdenes específicas, así como la evaluación o derivación de nivel de abstracción que el lenguaje interpretado Matlab (archivos con extensión
un polinomio. Una de las características más destacables de MATLAB es su .m). Simulink genera archivos con extensión .mdl (de "model").
capacidad gráfica. Explicaremos algunos comandos gráficos para
representación de funciones de una o dos variables en distintos sistemas de En la imagen (Ilustración 1), se puede apreciar el diagrama en bloques de un
coordenadas. Radar, en el cuál se muestra que uno de sus bloques de procesamiento de señal,
es un filtro Kalman realizado en un script de Matlab.
MATLAB dispone de mandatos propios de un lenguaje de programación para
efectuar bucles y bifurcaciones condicionales y puede ejecutar las órdenes
contenidas en ficheros grabados en ASCII mediante un editor como el bloc de
notas o el editor de ficheros de órdenes incorporado. Al escribir, por ejemplo,
la suma de dos matrices como A+B obtenemos un código más claro y conciso
que en otro lenguaje de programación, sin bucles innecesarios y de ejecución
mucho más rápida.

Desde ahora y en adelante, destacaremos en Courier las órdenes que pueden


introducirse en MATLAB tal y como aparecen o incorporarse a un fichero de
órdenes. En Courier cursiva indicamos parámetros de algunas órdenes, que
deben sustituirse por un dato apropiado en cada caso. Se debe interpretar el
inductor como una invitación a escribir en MATLAB lo que aparece a
continuación del mismo.

1. Este es el chip Broadcom utilizado en los modelos Raspberry Pi A, B, B +,


Compute Module y Raspberry Pi Zero

2. La práctica conocida como overclocking (antiguamente conocido


como undertiming) pretende alcanzar una mayor velocidad de reloj para un
componente electrónico (por encima de las especificaciones del fabricante).

Ilustración 1-Diagrama de bloques de un radar-sistema


de control automático

Luego, se puede apreciar un sistema de control automático, junto a su


modelización y finalmente un sistema de un automóvil, vinculando la
simulación a un entorno de realidad virtual.

Simulink viene a ser una herramienta de simulación de modelos o sistemas,


con cierto grado de abstracción de los fenómenos físicos involucrados en los
mismos. Se hace hincapié en el análisis de sucesos, a través de la concepción de
sistemas (cajas negras que realizan alguna operación).
Es ampliamente usado en Ingeniería Electrónica en temas relacionados con
el procesamiento digital de señales (DSP), involucrando temas específicos de
ingeniería biomédica, telecomunicaciones, entre otros. También es muy
utilizado en Ingeniería de Control y Robótica.

Para modelar, SIMULINK proporciona una interfaz de usuario gráfica


(GUI) para construir los modelos como diagramas de bloques, utilizando
operaciones con el ratón del tipo pulsar y arrastrar. Con esta interfaz, puede
Aplicaciones de Matlab en ingeniería

dibujar los modelos de la misma forma que lo haría con lápiz y papel (o como conecta a su televisor y un teclado».
lo representan la mayoría de los libros de texto). Esto es un cambio radical Es una placa que soporta varios componentes necesarios en un ordenador
respecto a los paquetes de simulación previos que requieren que formule las común. «Es un pequeño ordenador capaz, que puede ser utilizado por muchas de
ecuaciones diferenciales y las ecuaciones en diferencia en un lenguaje o las cosas que su PC de escritorio hace, como hojas de cálculo, procesadores de
programa. SIMULINK incluye una amplia biblioteca de bloques de texto y juegos. También reproduce vídeo de alta definición», apuntan en la
sumideros, fuentes, componentes lineales y no lineales y conectores. Puede página web del producto.
también personalizar y crear sus propios bloques.
Los modelos son jerárquicos, es decir, puede construir modelos utilizando una Este proyecto fue ideado en 2006 pero no fue lanzado al mercado hasta
metodología descendente y ascendente. Puede visualizar el sistema en un febrero de 2012. Ha sido desarrollado por un grupo de la Universidad de
nivel superior, desde donde mediante un doble clic sobre los bloques puede ir Cambridge y su misión es fomentar la enseñanza de las ciencias de la
descendiendo a través de los niveles para ver con más detalle el modelo. Esto computación los niños. De hecho, en enero de este año Google donó más de
le proporciona una comprensión de cómo se organiza un modelo y cómo 15.000 Raspberry Pi para colegios en Reino Unido.
interactúan sus partes.
La placa, que antes era más pequeña que una tarjeta de crédito tiene varios
Después de definir un modelo, puede simularlo utilizando cualquiera de puertos y entradas, dos USD, uno de Ethernet y salida HDMI. Estos puertos
los métodos de integración que tiene a su disposición o bien desde el menú permiten conectar el miniordenador a otros dispositivos, teclados, ratones y
de SIMULINK o introduciendo órdenes desde la ventana de órdenes pantallas.
de MATLAB. Los menús son apropiados para un trabajo interactivo; mientras
que el enfoque de línea de orden es muy útil para ejecutar un lote de Raspberry pi es un ordenador de placa reducida o (placa reducida) (SBC) de
simulación (por ejemplo, si está haciendo simulaciones de Monte Carlo o bajo costo, desarrollado en Reino Unido por la Fundación Raspberry Pi, con el
necesita barrer un parámetro a través de un rango de valores). Utilizando objetivo de estimular la enseñanza de ciencias de la computación en las
bloques Scopes y otros bloques de visualización, puede ver los resultados de escuelas.
la simulación mientras se está ejecutando. Además, puede cambiar los
parámetros y ver de forma inmediata lo que sucede en exploraciones del tipo El diseño incluye un System on a chip Broadcom BCM2835 1 (Anexo1), que
"que sucede si". Los resultados de la simulación se pueden transferir al contiene un procesador central (CPU) ARM1176JZF-S a 700 MHz
espacio de trabajo de MATLAB para su posterior post-procesamiento y (el firmware incluye unos modos “Turbo” para que el usuario pueda hacerle
visualización. overclock2 de hasta 1 GHz sin perder la garantía), un procesador gráfico (GPU)
VideoCore IV, y 512 MiB de memoria RAM (aunque originalmente al ser
Las herramientas de análisis de modelo que incluyen linealización y lanzado eran 256 MiB). El diseño no incluye un disco duro ni unidad de estado
determinación de estados estacionarios pueden ser accedidas desde la línea de sólido, ya que usa una tarjeta SD para el almacenamiento permanente; tampoco
orden de MATLAB, así como las muchas utilidades que MA TLAB y sus incluye fuente de alimentación ni carcasa. El 29 de febrero de 2012 la fundación
toolboxes de aplicación poseen. y como MATLAB y SIMULINK están empezó a aceptar órdenes de compra del modelo B, y el 4 de febrero de 2013
integrados, pueden simular, analizar y revisar sus modelos en uno u otro del modelo A.
entorno en cualquier momento.
Para poder funcionar la board necesita ciertos complementos como una
memoria SD de 8Gb, un monitor, un teclado e incluso un mouse, además un
Con Simulink, se puede mover más allá de los modelos linealizados y cable de red Ethernet.
idealizados para explorar modelos no lineales que describen fenómenos más
reales. Simulink transforma el PC en un laboratorio para modelar y analizar La idea de este proyecto surge de la necesidad de realizar algo con la
sistemas que simplemente no podría ser posible o práctico de otra manera. "Raspberry Pi" sin ni siquiera saber qué era eso, en el momento de ese
Simulink tiene numerosos demos que modelan una gran cantidad de pensamiento se estaba realizando un trabajo en MATLAB, y surgió una
fenómenos de la vida real. pregunta al tener esa necesidad. ¿Sera que se puede trabajar con la Raspberry PI
y MATLAB? Y se procede a buscar en la web y precisamente se encontró con
Para modelar, Simulink entrega una Interfaz Gráfica para el Usuario lo que se estaba buscando, poder trabajar en conjunto la Raspberry Pi y
(GUI) para construir los modelos como diagramas de bloques, usando MATLAB.
operaciones de clic-and-drag del mouse. Con la ayuda de esta interfaz, se
pueden dibujar los modelos como si se realizaran con lápiz y papel. Simulink MATLAB en el año 2013 implemento en su software un toolbox que le permite
incluye una extensa librería de bloques para fuentes, resultados, componentes interactuar con hardware libre, es decir (Arduino, Panda Board, Lego, Raspberry
lineales y no lineales y conectores, además de poder crear nuestros propios Pi, entre otros), ellos esto lo han llamado Programación gráfica de
bloques (Escribir funciones-S). Los modelos creados son jerárquicos, con lo Simulink. Aquí pueden encontrar mucha más información acerca de esto.
cual se pueden crear modelos usando varias ventanas. Se puede ver el sistema Obviamente todo esto se hace desde Simulink.
desde el nivel más alto, para luego mediante un doble clic revisar los diversos
subsistemas insertos en el modelo general. Esta forma de presentación MATLAB en la actualidad tiene compatibilidad con un gran número de
presenta la ventaja de analizar cómo se encuentra organizado el modelo y dispositivos tales como, Arduino con algunos de sus modelos, con Lego NXT,
cómo sus partes interactúan. Raspberry Pi, PandaBoard, Beableboard XM y BeagleBone, INTEL Galileo,
entre otras tarjetas y dispositovos. 
Hace algunos días se dio a conocer que un entusiasta de la tecnología
decidió utilizar las bondades de un Raspberry Pi y hackear un microondas. La facilidad de la programación mediante bloques de Simulink, nos permite el
Sin embargo, ¿Qué es Raspberry PI y para qué sirve? ahorro de tiempo que puede ser invertido en la optimización del diseño
Raspberry Pi, es un «es un ordenador de tamaño de tarjeta de crédito que se
que puede ser el C++ x64 y el C++ x84, para que pueda instalarse bien, es
necesario que se eliminen estos compiladores.
2. Procedimiento Ahora nos vamos a nuestro MATLAB y abrimos el Tool strip: Add-Ons y Get
Hardware Support Packages, esto también se puede hacer desde la linea de
Comenzando con programación de raspberry pi en Simulink: comando así: targetinstaller.(Ilustración 2)

Primeramente es necesario que se instale el compilador de Windows SDK


7.1, que este permite poder compilar y ejecutar todas las aplicaciones que se
hagan.

Los problemas que se pueden presentar a la hora de instalar el Windows


SDK es que en nuestro ordenador debemos tener instalado otro compilador
Aplicaciones de Matlab en ingeniería

Ilustración 2-Matlab Tool strip

Para el proceso de instalación el Support Package Installer le guiará a través


del proceso de instalación e instalar todo el software que necesita para
ejecutarse en un Raspberry Pi de Simulink. (Ilustración 3; 4; 5)

Ilustración 5-Support Package Installer

Uno de los problemas que se pueden presentar a la hora de instalar el paquete de


Raspberry Pi, es que el antivirus que tenga nuestro computador, puede bloquear la
descarga, entonces lo que se debe hacer es desactivar por un tiempo el antivirus
para asi poder descargar el instalador.

Para poder descargar todo esto, es necesario tener una cuente en Mathworks, es
fácil crear una, simplemente nos registramos con nuestro correo personal y listo.
Ilustración 3-Support Package Installer
Después de instalado todo el paquete viene la instalación del firmware
(Ilustración 6), que es el sistema operativo que lleva la memoria SD, es decir la
Rasberry Pi.

Ilustración 4-Support Package Installer

Ilustración 6-Instalación de el firmware

Seleccionamos Raspberry Pi y se le da Next (Ilustración 7):


Aplicaciones de Matlab en ingeniería

Ilustración 7-Raspberry pi

También podría gustarte