You may not realize it but you’re living your life on the edge, or at least your digital life. Edge computing is the idea of pushing computing and data closer to where they are used. For the web this means distributing media like video and images across the network where your phone or laptop can reach it fast.
For AI it means putting more power in small embedded computers that are directly connected to cameras, sensors, motors, and output devices. That might mean a factory floor or a hospital or your home. This is the aim of devices like Google Coral AI Dev Board as well as Nvidia’s line of Jetson boards. With their Jetson Xavier NX, Nvidia has pushed a lot of power to the edge.
While the Xavier NX is significantly more expensive at $399 than the $59 Jetson Nano 2GB Nvidia released earlier this fall, that cost comes with a major performance increase — even compared to the Nvidia Jetson TX2 that blew everyone away when it came out just three years ago. Where other devices may allow you to handle one AI task at the time, the Xavier is powerful enough to run multiple such tasks at a time. This might make it a great device for a robotics project that needs to navigate around a room while also identifying humans and responding to their commands.
While the cost might be a barrier for someone just starting off with these devices, the setup should not be. Once you have imaged the OS on an SD and booted for the first time, you can connect via attached keyboard and screen. Alternatively you can run the board headless via a USB-C cable. Nvidia provides thorough instructions for setting up the board and example code to test out its features. You will also have to agree to Nvidia’s software agreement before finishing setup.
Nvidia describes their approach to development as “Cloud native.” The heart of this approach is using Docker containers to hold projects. If you haven’t used containers before you can think of them as simplified versions of virtual machines. They “contain” a project’s code and dependencies from other tasks and containers running on the device. This makes transporting your code (via the Cloud) to other devices easier.
Nvidia has designed their development tools, JetPack, to take advantage of Docker container’s modular approach. A beginner could start a project on the less expensive original Jetson Nano or Nano 2GB board and later move to the more powerful Xavier NX. This also means you can run other’s Jetson code without too much trouble. Just download their container and run on your device. Nvidia provides pre-configured containers via their online NGC Catalog. Also on their website, Nvidia highlights Jetson users’ projects, a great way to learn how to use this powerful technology.
The container approach is also particularly beneficial on a board like the Xavier. For the robot example you might run one container for each of the AI tasks. Nvidia’s demo project does just this running four containers: three analyzing video and one recognizing speech simultaneously without much fuss. Having separate containers means you can troubleshoot one task at a time.
The Xavier has a 40-pin GPIO similar to the Raspberry Pi. Nvidia has also released a Python library that should be an easy transition for Pi users who have used the Pi GPIO library. The pin layout on the Xavier is pin compatible with the Jetson Nano boards making transition between the systems easy.
There are two CSI camera ports for connecting Raspberry Pi-style cameras, and Jetson boards have support for a variety of USB imaging tools like depth sensing cameras as well. Users who are more interested in video and photography than AI might still want to consider this board for their projects. Nvidia has not just focused on optimizing the AI features of the Jetson boards but all the video and imaging processing that leads into AI models. You could use it to build your own custom 360 camera or 3D scanner.
The Xavier NX is a powerful board but Nvidia has done a good job of providing examples and documentation to make it manageable. If you have an idea for an ambitious project that other boards might not be able to handle, this might be the edge you need.