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
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.
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
Introducing TRACBench, a New AI-Powered Transcoding Benchmark
Three of the fastest workstation CPUs on Earth slug it out in an AI-powered transcoding benchmark we designed to scale from dual-core to 64-core systems.
AI-Powered Electronic Design Automation Tools Could Redefine Chipmaking
Samsung has announced it's using AI EDA tools to build its Exynos processors. Expect more announcements in the future, but geared more towards gradual adoption than a sudden surge.
IBM Builds an AI-Powered Electronic Tongue
The tongue, called Hypertaste, can detect and analyze a liquid's chemical composition.
Google Is Testing Its Latest AI-Powered Robot In a Kitchen
Using a 540-billion parameter language network, this wheeled robot can assess its own capabilities, its environment, and the task at hand, then break that task into smaller sub-tasks to achieve the desired goal.