Todo lo que necesitas saber sobre Jetson Nano de NVIDIA

Publicado por en Robótica el 21/06/2019
Comentarios:

La NVIDIA Jetson Nano abre todo un mundo de posibilidades nuevas a los Makers y permite el desarrollo de nuevos sistemas de IA (Inteligencia Artificial) de pequeño tamaño, económicos y con un bajo consumo de energía. Abre nuevos frentes para crear todo tipo de aplicaciones IoT integradas, entre las que se incluyen grabadores de vídeo de red (NVR) básicos, pequeños robots y gateways inteligentes con capacidades de análisis de datos muy potente. Hoy te hemos preparado una completa guía sobre la NVIDIA Jetson Nano para que conozcas más en detalle qué es la Jetson Nano, cómo funciona y sobre todo qué es lo que puedes hacer con ella.

Qué es la Jetson Nano?

Hasta hace muy poco, trabajar con procesamiento de voz, traducción instantánea, manipulación de vídeos o reconocimiento de imágenes era cosa de expertos con recursos suficientes para poder disponer de una fuerza de computación lo suficientemente potente para poder crear proyectos. La compañía NVIDIA quiere poner fin a todo eso y ofrecer una solución más asequible a los desarrolladores independientes o pequeñas empresas y viene con el nombre de NVIDIA Jetson Nano.

Imagen: NVIDIA

NVIDIA tiene una línea de productos específica con grandes capacidades de computación para IA y Machine Learning como la Jetson AGX XAVIER o Jetson TX2, pero su precio se dispara enormemente para aquellos que solo quieren hacer algún proyecto puntual o probar la tecnología. La Jetson Nano ofrece una solución mucho más económica. Además, en sí misma tiene el tamaño de un módulo de RAM SO-DIMM de tan solo 69,6 x 45 milímetros y eso lo hace especialmente interesante para insertarlo fácilmente en un producto final con tan solo incluir un conector tipo zócalo del mismo tipo junto con su circuitería necesaria para su funcionamiento.

Pero no te dejes engañar por su pequeño tamaño ya que esconde en su interior una potente CPU ARM Cortex-A57 MPCore de 4 núcleos (capaz de proporcionarnos 472 gigaflops de potencia), una GPU Nvidia Maxwell con 128 núcleos CUDA (capaz de ejecutar la librería de procesado de datos CUDA-X AI), 4 Gb de RAM, 16 GB de almacenamiento y 4 puertos USB 3.0. Además consume muy poco ya que según NVIDIA, el consumo de la Jetson Nano oscila entre 5 y 10W.

Características de la NVIDIA Jetson Nano

GPU Arquitectura NVIDIA Maxwell con 128 núcleos NVIDIA CUDA®
CPU Procesador ARM® Cortex®-A57 MPCore de cuatro núcleos
Memoria 16 GB de almacenamiento Flash eMMC 5.1
Codificación de vídeo 4K a 30 cuadros (H.264/H.265)
Descodificación de vídeo 4K a 60 cuadros (H.264/H.265)
Conexión cámara 12 vías (3 x 4 o 4 x 2) MIPI CSI-2 DPHY 1.1 (18 Gbps)
Conectividad Gigabit Ethernet
Salidas de vídeo: HDMI 2.0 o DP 1.2 | eDP 1.4 | DSI (1 x 2) 2 simultáneos
UPHY 1 SDIO / 2 SPI / 4 I2C / 2 I2S / GPIO
Tamaño 69,6 mm x 45 mm
GPIO Conector de 260 pines
Consumo 5 - 10W

NVIDIA Jetson Nano VS Raspberry Pi

Como suele pasar cuando sale una nueva placa de pequeño tamaño y precio asequible, es inevitable hacer una comparativa entre Jetson Nano y Raspberry Pi. Qué es mejor una Raspberry Pi o una Jetson Nano?

Raspberry Pi VS NVIDIA Jetson Nano

Imagen basada en fotos de Sparkfun

Personalmente, creo que que no se trata de que una sea mejor que la otra sino que son plataformas diferentes y que cada una tiene sus ventajas e inconvenientes. Digamos que la Raspberry Pi es un mini ordenador compacto y asequible que te permite crear todo tipo de proyectos de computación, así como emuladores, centros multimedia y por supuesto una excelentísima plataforma para aprender a programar con todo tipo de lenguajes.

Por otro lado, la NVIDIA Jetson Nano busca más orientarse a la potencia de computación para tareas más pesadas donde probablemente una Raspberry Pi no pueda llegar. Como por ejemplo, aplicaciones de Machine Learning, Deep Learning, redes neuronales etc. Si lo que buscas es un ordenador compacto, barato, multipropósito y sin muchas pretensiones, es mejor comprar una Raspberry Pi 3. Si por el contrario te interesan las redes neuronales, los coches autónomos, reconocimiento facial o de objetos y los diferentes algoritmos y modelos de IA, mejor comprar una NVIDIA Jetson Nano. Aún así la Jetson Nano dispone de pines GPIO para conectarse al mundo exterior como por ejemplo sensores y actuadores, así que tampoco la descartes para ese tipo de aplicaciones. Además con su gran capacidad de cálculo, podrás analizar los datos que sensores de una forma muy rápida.

Si ya tienes una Jetson pero te sientes perdido, te dejo a continuación unos enlaces a la documentación de la Jetson Nano que te ayudarán a entender mejor cómo funciona y cómo sacarle el máximo partido:

Y si te sientes un poco vago y por el momento no quieres leer o no tienes tiempo, en éste vídeo te explican como comenzar a utilizar la placa:

NVIDiA Jetson Nano VS Google Coral

Como dice el refrán, "Éramos pocos, y parió la abuela" y pocas semanas antes de la salida de la NVIDIA Jetson Nano, Google presenta su plataforma para AI y Machine Learning llamada Google Coral. Y por supuesto surge otra vez la necesidad de una comparativa entre NVIDIA Jetson Nano y Google Coral.

Comparativa entre NVIDIA Jetson Nano y Google Coral

Imagen basada en fotos de Sparkfun

Google Coral es un poco la misma salsa y aunque tiene un parecido razonable con la Raspberry Pi en cuanto tamaño y disposición de los conectores, no carece de funcionalidades interesantes. Google Coral está basada en un potente procesador NXP i.MX 8M SoC (quad Cortex-A53, Cortex-M4F) con 1GB de memoria RAM, junto con un coprocesador matemático llamado Google Edge TPU que permite aumentar bastante la potencia de cálculo. Obviamente es muy potente y capaz de procesar todo tipo de modelos de Deep Learning a una tasa de 4 trillones de operaciones por segundo. Que, seamos realistas, no está nada mal pero comparado con los 128 nucleos CUDA y 4GB de RAM de la Jetson Nano (1GB en el Coral), no tiene nada que hacer. Por lo tanto, la pequeña Jetson Nano sigue siendo la ganadora por goleada, por lo menos en cuanto a potencia bruta y memoria RAM.

Cómo empezar con NVIDIA Jetson Nano

La Jetson Nano es desde luego muy interesante, pero poco se puede hacer con una placa de tipo SO-DIMM y po reso NDIVIA la presenta en forma de Kit de desarrollo para Jetson Nano añadiendo una pequeña placa base. 

Imagen: Sparkfun

La placa base dispone de todas las conexiones necesarias para ponerte a trabajar rápidamente. En la placa encontrarás 4 puertos full USB (3x 2.0 + 1x 3.0), HDMI, DisplayPort y Gigabit Ethernet, y también puertos y buses interesantes como SDIO, I2C, SPI, pines GPIO y conectores UART. Por si fuera poco, también dispone de un conector M.2 para una interfaz Wifi y otro conector MIPI-CSI para cámara (compatible con la cámara de Raspberry Pi

En cuanto al software, la Jetson Nano es compatible con los frameworks de IA más populares del mercado: TensorFlow, PyTorch, Caffe, Keras y MXNet. Además, la suite de simulación Isaac Sim tiene el objetivo de proporcionar un entorno de entrenamiento para máquinas autónomas, que según el vicepresidente de NVIDIA Deepu Tallar, permitirá a la comunidad Maker introducirse en proyectos de IA y Machine Learning.

Robótica con IA: Coche autónomo con NVIDIA Jetson Nano

Si has llegado hasta aquí, es que eres un Maker que busca "más chica" para ésta placa y la mejor forma es mostrando qué se puede hacer con ella (más allá de meterle un Mame o reproducir películas, ¡que os veo! :D). Pues bien, ¿qué te parece crear tu propio coche autónomo? NVIDIA ha documentado tanto en su web como en Github un completo tutorial que te explica cómo montar un coche autónomo con Jetson Nano llamado Jetbot. Su estructura es muy sencilla y consta de un chasis impreso en 3D que soporta una placa Jetson con su interfaz y una cámara de vídeo de Raspberry Pi. Mediante códigos de ejemplo podrás jugar a reconocer carriles, señales de tráfico, peatones y hacer que navegue solo de forma inteligente. Es como tener tu pequeño coche Tesla en miniatura pero sin gastar varios miles de Euros ;)

 

El repositorio de Jetbot está en Github y contiene una Wiki donde puedes seguir paso a paso los diferentes ejemplos, comenzando con cosas simples como evitar obstáculos hasta llegar a que tu robot pueda navegar solo por una pequeña cuidad hecha con LEGO. El código de ejemplo está escrito en Python para que sea muy sencillo comenzar.

Imagen: robotstart

Además, no tienes por que limitarte a utilizar los códigos de ejemplo, sino que dado que la Jetson Nano tiene una gran capacidad de cálculo, podrás entrenar un modelo de inteligencia artificial para que reconozca los objetos que tu le digas. O mostrarle mediante la cámara, qué es un obstáculo y qué no, para que aprenda poco a poco en base a los datos acumulados. Esto va mucho más allá de la programación convencional orientada a objetos o basada en procedimientos, sino que le decimos a la máquina cómo y qué aprender para que lo calcule en tiempo real. Y así te lo muestran en éste vídeo:

El mismo sistema podría aplicarse a reconocimiento de caras por ejemplo. Imagínate crear tu propio portero automático que reconozca la persona que está delante de la puerta. O crear un robot clasificador que sepa diferenciar varios objetos y que además tenga capacidad de mejorar la detección con el tiempo en base a los datos que va acumulando... Las posibilidades son casi infinitas.

Donde comprar NVIDIA Jetson Nano Deleveloper Kit

Actualmente la Jetson Nano se puede comprar en la propia página de NVIDIA, en Arrow y la tendremos disponible en nuestra tienda donde podrás comprar el Kit de desarrollo Jetson Nano. Creemos que es una plataforma con mucho potencial y que potenciará a los ingenieros del futuro. Además ofrece un enfoque nuevo en cuando a programación de pequeños robots que no solo funcionen con mandos a distancia o sensores simples, sino que realmente sean robots con capacidad de análisis profundo como coches autónomos que circulen solos o dispositivos capaces de tomar decisiones en función de lo que capturen diferentes sensores basándose en un modelo. Todo apunta que la programación de sistemas embebidos será claramente necesaria, pero quizás no como la conocemos hoy en día, sino basándose en modelos y análisis de datos.

¿Qué te parece la Jetson Nano? ¿Qué crees que puede aportar o qué proyectos se te ocurren para hacer con ella? ¿Nos hemos olvidado de algo? No dudes en dejar tu comentario y si éste artículo te ha parecido interesante, no dudes en compartirlo con tus amigos y redes sociales!

 

Si te ha gustado, compártelo con tus amigos!