LabVIEW Interfaces for LEGO SPIKE Prime
Summer 2020

Apart from making AI activity demos, another part of my work during my internship in Summer 2020 was to explore possible ways to visualize data to facilitate robot education for K-12 students. Suggested by my supervisor Chris Rogers, who has always been a passionate LabVIEW advocate and a LabVIEW guru, I decided to give the software a try. By the end of the summer, I came up with a couple of interesting interfaces that helped visualizes sensor data, machine learning training progress, and various other information regarding LEGO SPIKE Prime. My finest (and therefore the proudest) creation among them is the SPIKE x Scikit-learn interface.

Most of the LabVIEW VIs consist of various python nodes and event structures which listens to user's action on the front panel.

SPIKE Prime Communication Dashboard

This is a simple dashboard made to test out communication between the LEGO SPIKE hub and my computer over Bluetooth/USB serial.

SPIKE Prime Sensor Dashboard

The next interface I built helps me to visualize almost all the information that a LEGO SPIKE hub handles in one single dashboard - from sensor data, components information, internal IMU readings, battery level, and many more.

SPIKE Prime Digit Recognition

This is a software rework from my digit recognition demo. Compared to python outputs in the command prompt, LabVIEW can easily display more information that are useful for anyone to understand the machine learning algorithm visually.

SPIKE Prime x Scikit-learn Interface for Conducting Baton

One of our goals this summer is to push SPIKE beyond its capability to perform advanced machine learning tasks, before trying to figure out how to teach those concepts to students. In particular, I was exploring ways to integrate Scikit-learn into the SPIKE environment. To do that, I made a user interface in LabVIEW and spent some time making it intuitive and user-friendly, especially for those who are new to machine learning.

As shown in the video below, I'm using the interface to train a smart baton to recognize gestures. The interface will direct users to connect to the SPIKE hub via Bluetooth serial, prompt users to record training instances, and train the model using the support vector machines function available in sklearn. The model information and learning curve will also be available to teach users the concept of Support Vector Machines.

This hides the actual code in the back stage, so that students without much prior experience wouldn’t feel intimidated, and can get to learn the general concepts of all the algorithms, which is always more fun and less scary then the actual code.