Alexa + LEGO Mindstorms EV3 + ...DOS?
- Rockets and Robots

- Jan 27, 2021
- 4 min read
https://rocketsrobots.wixsite.com/blog/post/erudite-talking-robots Amazon and Lego announced a new public challenge today with some tempting prizes . The challenge is to use Alexa to control and interact with a LEGO EV3 Mindstorms (AlexLego?). Here's their teaser video:
I have been involved with FIRST for years and am in my 4th year coaching a FIRST LEGO League (FLL) team. I have taught EV3 programming for even longer. Check on that part.
I've created a simple Alexa skill for work, so have at least a basis of creating intents and coding Lambda for responses. Check on that part.
I have an Alexa sitting around, and have plenty of LEGO parts to build with. (It is the middle of the FLL season and my brick is tied up in the team's rover, so I'll have to work around that.) The hardware part won't cost me anything (fingers crossed).
I just need to come up with an interesting project...
They had a dancing elephant that (was supposed to) react to music. I'm not sure how dynamic that really was... (The knee pop was on the beat, but the motor had to start moving before that.) Perhaps a full LEGO bot band to play a tune? That requires a lot more EV3 bricks than I have, and part of the judging criteria is about guide instructions to let other people rebuild it. Most other people don't have 4 EV3 bricks either, and Alexa is limited to 3 bluetooth devices? Probably not that.
Let's refine our guidelines.
Use one EV3 brick, and LEGO parts most people will have.
Focus on the voice interactions.
Replicability: detailed guides, from start to finish.
Be fun, especially for kids (FIRST teams), and encourage repeated engagement.
One of the first challenges I had kids work on, before starting with FLL, was navigating a maze. Here's a video of it.
The maze is a fun project. Sure my kids have dismantled all those Star Wars figures since then, but most people wouldn't have that collection, and based on our rules, we'll need to be flexible. Programming even a known maze layout for basic navigation is challenging for kids new to the EV3. I have a design for a contest around mazes, (its in my head, the people there say it's great), with increasing difficulty for beginners to advanced students.
Basic navigation: teams build core My Blocks (EV3 terminology for functions), to drive straight and turn. They do not know the maze layout until it is revealed on game day. They have limited time to program, with their My Blocks, to get through the maze. Perhaps they have x-minutes of programming time and get points for different maze layouts... Anyway
Variable navigation: similar to the basic navigation challenge, but the target spot has a color square to scan, which will be randomized each run. They bot has to do different things based on which color is detected (e.g., go to a different exit, retrieve a different colored block, etc.)
Unknown and unseen maze: In this advanced level, teams don't get to see the maze. They must use the rover to map out the maze. I used to call it Stargate, with fiction about people sending a bot through a portal to determine what was on the other side. They would have to use the ultrasonic sensor to determine whether or not they could drive forward (obstacle detection), scan the floor to determine whether there is a hazard or the path is safe. Save all the data to a log file (the bot can't send data through the portal), and remember how to get back to the exit. If they get stuck, a ref retrieves the bot. Teams could then review the log files, and draw a map of the maze. They would get points for correctly mapping each feature, and getting back to the exit autonomously.
These are great challenges, and I hope to implement them into a robot contest that happens in the physical world. (I want to body-slam sumo challenges out of the EV3 world; there isn't enough variety of programming strategies in sumo to advanced kids' coding abilities very much. Weight, friction, and motors will win the tug-of-war).
Can we use the maze for an AlexLego challenge?
Maze
One of the sticking points on the level 3 maze is the single autonomous run part. A ref sets the bot, the team, who can't see the maze, starts the bot, and doesn't see the logs until they, or the ref, have returned. The fiction has to bend to fit the capabilities of the bot.
With Alexa at play, that's not the case. We can take sensor readings at any point, based on the user questions, and send data back to them via Alexa. We can allow the user to continuously control the bot through their decisions rather than having to start programming rudimentary AI on the EV3. We still won't let the user see the maze; they'll have to navigate it blind, relying only on Alexa's voice for clues. Like the good ol' days, of green text on a black screen. Go North...
We're not going to get a lot of user engagement by reporting "the ultrasonic sensor reading is 10 inches". We'll spruce it up with a story, like in the Stargate example above. We'll make it a game, a dungeon crawler. Yes! We'll navigate through a dungeon, write a story around it, treat it as a giant board game. The player(s), blind to the maze, navigate via Alexa while an audience watches as they march to their doom... err... near escape. Can we make it entertaining enough to run as a TV game show? Let's not overshoot (but TV land, if you're reading this...)
People are already programming virtual voice-only games for Alexa. We can build on that, but give it the physical, robot component of the EV3. That will allow us to extend whatever we build to be dual-purpose: a virtual, voice-only feature anyone can play (perhaps tie in a DonorsChoose sort of fundraising bit to help launch EV3 programs in schools?); and the physical, EV3 robot version that almost anyone with a Mindstorms can build and play.
Change the maze, and you get a completely (mostly) different experience. Like Mansions of Madness second edition, there's only so much variability you can build into a single story, so we'll build the Alexa skill to be expandable to new stories.
Now that sounds like a fun project that will get people's attention. LEGO HQ in Denmark, here I come! (alright, that's just what the voices in my head are telling me. I have to get this into the real world and see what real people say first).


Comments