Hands On With Nvidia’s JetBot AI-Powered DIY Robot

Hands On With Nvidia’s JetBot AI-Powered DIY Robot

The Nvidia JetBot is a well-specified DIY robot design based on the company’s tiny Jetson Nano computer. Once built, the JetBot is a completely standalone system that runs Linux with a full AI development environment included. We’ve already covered the Jetson Nano, but suffice it to say it packs quite a punch for a $100 computer you can hold in your palm. After being impressed by the demo units running around at Nvidia’s GTC this spring, of course, we had to see for ourselves just what the JetBot could do.

Assembling a JetBot Takes Some Legwork

The soldering needed to build your JetBot isn’t too tricky, but it does require some precision.
The soldering needed to build your JetBot isn’t too tricky, but it does require some precision.

JetBot Includes a Complete AI Development Environment

Once you have your JetBot assembled, you’ll need to connect a keyboard, mouse, and display to connect it to your Wi-Fi network. After that, you can use it remotely. Once you’ve booted into Ubuntu using the pre-built system image, Nvidia provides an excellent set of Jupyter IPython notebooks to lead you through driving, programming, and teaching your JetBot. Helpfully, the system image already includes a running Jupyter server, so you can simply connect to it on port 8888 and get started. For the most part, my other computers found the JetBot by name (which defaults to jetbot), but conveniently the IP address is also displayed on the unit’s picoLED.

The Notebook directory on the JetBot includes a few well-documented demonstration projects. They include notebooks for programming your robot to move, reading and using images from the camera, autonomous collision avoidance, and object following. You can follow along by simply executing notebook cells as instructed, or dive deeper by tweaking the provided code or adding some of your own. You can also experiment by using different AI engines and models besides the defaults in the notebooks. The JetBot really is an entire AI-ready computer in a tiny package.

Training Your JetBot to Avoid Obstacles

You can train your collision avoidance model either on the JetBot itself or on a desktop or cloud GPU. The training process makes use of a pre-trained copy of AlexNet, which is why you can get away with only a couple hundred additional test images instead of needing millions. Training involves labeling frames from the JetBot’s camera either “Free” or “Blocked” using a widget in the iPython notebook. This process is best done either with a mobile device you can hold while you position the robot or with a willing friend or family member. Nvidia recommends at least 100 each of Free and Blocked examples to have a fairly robust program. I started with 60 of each in a fairly well-defined area, which was enough to make the robot quite successful, as shown in this video:

For this video, I used the pre-trained AlexNet model aided by an additional 120 images (60 blocked and 60 free) that I captured with the JetBot. In the 90 seconds of the clip, it deals well with almost all the variations in lighting and obstacles, although a shadow fools it once. The labeled images taught it that it was okay to move onto the thin blue floormat, but not the thicker red carpet. Later on (not shown) it eventually did have trouble when approaching the window blinds at an odd angle while on the blue mat. I’m fairly sure that some additional training images would address that.

How the JetBot Compares With DJI’s RoboMaster S1 Battling Robot

While Nvidia’s JetBot and DJI’s RoboMaster S1 are similarly priced and both aim to help you learn AI and robotics, the two products are very different. For starters, the RoboMaster S1 is closer to turnkey, as all the pieces are included along with assembly instructions. For the JetBot, you need to do your own sourcing and spend about $200 plus shipping in addition to $100 for a Nano, and assembly is a little trickier, but the wiki for the project is well-constructed and puts it within reach of even modest DIYers. So it is less expensive than the $500 RoboMaster S1, but not dramatically so.

In a shooting war, I’d have to go with the RoboMaster S1, but the JetBot has a more powerful environment for learning and programming neural network solutions.
In a shooting war, I’d have to go with the RoboMaster S1, but the JetBot has a more powerful environment for learning and programming neural network solutions.

Is the JetBot for You?

There are plenty of programmable robots on the market, including some that can make use of pre-trained neural networks. For me, the biggest feature that sets the JetBot apart is that it is capable of being fully self-contained. You can log in to it, load or program a neural network model (or for that matter run just about any kind of code), train your model, and see it in action — all without a host computer, cross-compiling, or dealing with an embedded programming environment.

On the flip side, if you are more interested in battle scenarios, or simply fiddling with PID-based control systems, the RoboMaster S1 is a great choice. It may also be a better gift option, since everything comes in the box, instead of needing to source a long list of components on your own.

Continue reading

Protect Your Online Privacy With the 5 Best VPNs
Protect Your Online Privacy With the 5 Best VPNs

Investing in a VPN is a smart choice right now, but the options are vast. To help narrow things down a bit, we've rounded up five of our very favorite consumer services.

RISC-V Tiptoes Towards Mainstream With SiFive Dev Board, High-Performance CPU
RISC-V Tiptoes Towards Mainstream With SiFive Dev Board, High-Performance CPU

RISC V continues to make inroads across the market, this time with a cheaper and more fully-featured test motherboard.

The PlayStation 5 Will Only Be Available Online for Launch Day
The PlayStation 5 Will Only Be Available Online for Launch Day

The PlayStation 5 isn't going to be available in stores on launch day, and if you want to pick up an M.2 SSD to expand its storage, you'll have some time to figure out that purchase.

ARMing for War: New Cortex-A78C Will Challenge x86 in the Laptop Market
ARMing for War: New Cortex-A78C Will Challenge x86 in the Laptop Market

ARM took another step towards challenging x86 in its own right with the debut of the Cortex-A78C this week. The new chip packs up to eight "big" CPU cores and up to an 8MB L3 cache.