Voice commands is the future and integrating voice into all smart devices is need of the day. We have noticed our son watching videos of domino's tumbling to reveal amazing patterns but as a small kid not having patience and dexterity to lay domino's in neat rows. So we decide to build a robot that can perform this task. Our project aims to simplify the task of laying domino's.
We have a created a robot that harnesses the power of AI via Voice User Interface - VUI of Alexa and a popular Robotics platform ie LEGO Mind storms to build a Domino laying robot that installs Domino's in neat lines.Problem
Laying large quantities of Domino's is a tough and skillful task that is difficult to master and very few people in the world are able create the amazing layouts of domino's tumbling.Solution
Lego robotics kits ability to use various pieces to create a contraption that can be used to create machines/ robots as per once wish is amazing. And to couple it with the power of AI in Alexa adds an additional useful dimension. We have tried to solve the problem of laying Domino's in lines by creating a Lego robot that can be commanded by Alexa to lay Domino's as per your wish to create intricate designs.Layout
The layout includes a basic LEGO robot assembly known as the education robot to which we have attached the domino laying contraption.The education robot is powered by the EV3 brick and attached two large motors power the two wheels. This contraption is powered by one medium motor that pushes the domino's one by one. It also has one colour sensor to detect empty hopper and stop the movement of the robot.
The LEGO robot needs to be powered on connected to the ALEXA.Solution Build
Step 1 - Build the Educator robot
We have build the base bot as per the most commonly used base design for the Lego education kit and is commonly known as the Educator robot. This design has two large motor attached to the EV3 kit to power the two large wheels. The third wheel is a castor to allow smooth turns. The manual to build this base robot is available in the attachments section
Step 2 - Create a Domino laying contraption
We decided to keep the layout simple for the domino's laying and created a medium motor powered rocking mechanism that pushes the domino's out of the hopper in a sequence. A large size gear is attached to the medium motor to which a beam is attached to create a reciprocating mechanism which slides the domino's out of the holding hopper. The contraption is attached to the base robot.
Step 3 - Writing the code for the robot
For achieving the control over the movement of the robot in straight lines and curved lines we had to create blocks/ threads which could execute the different movements seamlessly. We have used Python programming language to control the robot. The commands to move the robot are simple and are available on ev3dev.org
Step 3 - Writing the code for Alexa
For control of the robot by voice we used the demo codes ie Mission 2 and Mission 3 as per the links HERE to modify the code and add specific commands to allow us to control the robot to go straight, take slight turn, stop etc. We also made it stop when the domino's in the hopper were exhausted, prompting refill of the hopper.
Domino holding hopper:
We used Lego Technic panels to hold a set of domino's to be laid. The domino's were placed in the hopper that are in touch with the surface below. This contact makes them slide backwards due to friction when the robot moves forward. We used a small brick pieces block to hold the domino's from falling down on the rear side
The rocking mechanism consists of a medium motor that is attached to a 40 groove Technic gear (part no:3649). We attached two Technic connectors, one to the 40 groove Technic gear and the second one to the slider to achieve a reciprocating action due to the circulatory movement of the medium motor.
The Robot performs the job of laying domino's in neat rows and the robot stops when it detects that the hopper is empty.