The Gigabots Go to School

On Monday, July 21st, The Gigabots made a small trip to North Kansas City to visit the First Robotics team at Staley High School. The group of twenty five students—from freshmen to seniors—first had the opportunity to play with with our bots, Prime and Hans, using tablets. Camilla, however, had been disassembled since her trip to New York. The students separated into a few groups, divided up tasks, and quickly rebuilt her.

Introducing Staley High School First Robotics to The Gigabots

Students Learning about The Gigabots

After successful bot reconstruction, Jonathan presented a Super Awesome Guide to Programming to the students, in order to teach some basic principles to the majority of the students who had little to no coding experience. He also covered some basics of the JavaScript language, which lead the way directly into programming the Gigabots.

Within minutes, the students, having learned some basic JavaScript, were able to program the connected Gigabots remotely by using the console-based text editor of our Gigabots Dashboard. They started with simple API calls to make the bots beep, buzz, and even sing “Bicycle Built for Two” (the first song ever sung by a computer, in 1961), which quickly became a bit too popular…Other commands moved the bot motors in a similar manner, all remotely and in realtime.

Students then learned how to implement the touch sensor into programming robot behaviors. When the touch sensor button was pressed on the specified bot, for example, the bot would beep, or it would sing, or certain motors would move. They were able to easily create any combinations of responses they could think of and then test them out.

Programming The Gigabots

Programming The Gigabots Remotely in Realtime

Special thanks to the Staley High School Engineering department and engineering teacher Aaron Dalton for helping to arrange this pilot as well as the students of the Staley First Robotics team for joining us!

 

Introducing The Gigabots Dashboard

We have been connecting Gigabots to the Internet for a few weeks now. While the robots are overjoyed to send and receive raw data, humans demand more.  As a result, we have created The Gigabots Dashboard, a user interface for controlling Gigabots and receiving realtime telemetry.

We’ve developed the Dashboard with an excellent JavaScript framework named Phaser. Phaser is typically used to create 2D games, but we felt it would be an excellent fit for this project.  One of the benefits of Phaser is our ability to write the application entirely in JavaScript, which allows us to iterate quickly.

Phaser is pretty sweet.

Phaser is pretty sweet.

Phaser is also widely used on mobile devices, tablets, and desktops. This gives us confidence it will “just work” everywhere, leaving us more time to add features and change batteries.

Our first attempt at the dashboard was a bit rough,  but it contained most of the core remote-control and telemetry functionality.  After adding a few lines of code to connect the Dashboard to Big Bang, we fired up Gigabot Prime, our first LEGO Mindstorms EV3 robot,  and we were connected.

Dashboard v1

Dashboard v1

As expected, we quickly found many areas to improve on for a second version of The Gigabots Dashboard. To more easily control a wheeled Gigabot, there is now a feature to group multiple motors together and control them as a single unit. The Dashboard is also more device-friendly, with keymaps for desktops, and touch controls for mobile devices and tablets.

Dashboard v2

Dashboard v2

The team has enjoyed developing the Dashboard and the custom firmware.  We even got to experience a rare moment of “it-just-worked-the-first-time” when connecting the V1 dashboard to the V1 firmware.  We probably should have saved this luck for later.

This week we will start working on APIs that allow Gigabots to be programmed directly in browser.  This will hopefully bring a lot of fun and instant feedback to robotics programming.