Bringing affordable robots and accessible coding software to disadvantaged children
Coding and robotics are becoming a more and more common courses in curricula. As society advances, so does the need for a tech-savvy workforce. However, the tools to teach robotics come at a cost and it can be one that disadvantaged schools may not be able to overcome. Additionally, many block-based coding programs geared towards children can be overwhelming for colorblind and ADHD users, creating an additional barrier to them building an interest and knowledge.
I am working with Georgia Tech's Institute for Robotics and Intelligent Machines (IRIM) to investigate affordable robotics and design an accessible coding platform to empower marginalized school children to enter the world of coding.
In this role, I am performing the tasks of a UI, UX, and Industrial Designer.
When I joined IRIM, I was tasked with assessing the OTTO DIY kit for ease of assembly and code uploading.
The kit that we received directly from the OTTO DIY site had numerous problems. The most noticeable was that the "head" of the 3D-printed shell was warped, preventing the electronics from fitting in at Step 1. The kit also came with excess parts that were not listed, different colored feet than advertised, and was missing screws and a screwdriver. The tolerances for servos were insufficient as well.
Quality control aside, the robot took longer than the promised "1 hour" to assemble and required a high degree of patience and fine motor skills that younger ages or harried educators may not possess.
What it Offers
To reassess the construction, I downloaded the open-source template for the OTTO DIY+ model, a slightly larger shell, and printed the design at Georgia Tech. The online promotion boasted a <9 hour production process, but gave no indication of what settings or machine was used to achieve those times. Using standard layer definition and support structures, it took our Ultimaker 3 printer just over 23 hours to print.
This file provided more structure for electronics to fit in to and provided better tolerances for placement, however it was still tight once all of the wires were connected. Additionally, the production required $25 in plastics for one robot. This would be impractical for educators that want to provide multiple units for their classes.
To cut down production costs and time, I turned to alternative materials. I sourced a template in the OTTO community that formed the shell through a series of interlocking jigsaw pieces. This afforded the use of a laser cutter for production. Flat pieces also enable the possibility for lower cost shipping if necessary.
Balsa Wood (version 1)
I first experimented with 1/8" balsa wood that can be easily sourced from most art supply stores. The total material cost used in the cut was $2.50, 1/10 the cost of the 3D model. It took a laser cutter roughly 20 minutes to create the pieces and another 1.5 hours to assemble with wood glue, reducing the total production time by 90%. A wooden shell is also decently robust and affords the ability to paint or draw on the body, something children are likely to be excited about.
Next, I cut the same pattern out on 1/8" chipboard. This model cost $2.50 in materials as well. Total production time added up to 1 hours 20 minutes with the laser cutter and rubber cement bonding. Chipboard shells are lighter than wooden ones and can also be drawn on, but are more susceptible to water damage and stains that may occur in a classroom setting. Points of tension where servos touch are also more likely to wear over use.
Acrylic (version 1)
The third material used was 1/8" acrylic plexiglass. This comes in at $10 a shell, but with key features others do not. Plexiglass cuts much quicker and with a lower kerf than combustible materials like wood and chipboard so you can get much sharper fidelity. This attempt took 6 minutes to cut and 1.5 hours to assemble using Plastruct bondene. The acrylic shell is very robust and can withstand impact, water, and cuts. It is also useful as an educational material as students would be able to view the servos in action and see how they interact with the inner system. It should be noted, however, that bondene can be harmful if it comes into contact with the eyes or swallowed so it is not recommended for use by children.
Balsa Wood (version 2)
Wanting to explore the possibilities of balsa wood more, I found a plan that promoted adhesive-free assembly. If it worked, this method should provide a safe and efficient assembly process for children. To do this, the tabs on pieces must fit very tightly to hold in place by tension. However, balsa wood has a hard to predict kerf value (material lost to the laser) and the laser makes conical cuts, making the fittings deviate. Ultimately, I bonded the model with wood glue.
Acrylic (version 2)
For comparison, I modified the file to match the appropriate kerf values needed to fit acrylic pieces together. Acrylic burns much less material than balsa wood and requires fewer passes with the laser, resulting in a more accurate cut. I was successfully able to assemble an adhesive-free shell, but the bond is still tenuous. Should a child drop the robot, it is likely that it would collapse. Another quality of acrylic is that it is more brittle than wood and is apt to snap when pieces are being snapped together.
I am currently awaiting the arrival of additional electronics to test installation in each shell for a more rounded evaluation. I will also want to explore etching labels into each piece to facilitate the creation of an assembly guide for others to follow.
One of the methods developed to introduce code to early education is the use of block coding. MIT and Google developed open-source platforms such as Scratch and Blockly that turn code into visual puzzle pieces. These blocks do not require any knowledge of a language and make the interface generally more fun. Lego Mindstorms and MakeBot have adopted this method to code their products.
There are actually numerous platforms for teaching coding to children through block-based programming. However, there appears to be a hole in their uses. Many programs such as Scratch, ScratchJR, Kittenblock, Snap!, etc are primarily used to teach coding through playing 2D games. These platforms are incapable of transferring the code outside of their platforms and therefore cannot export the code to a robot. Platforms that do support robot coding often only support the company's own brand such as mBot and Lego. This would not be a problem if the robots ran $100+ each.
Although many of these platforms are geared directly towards children, they can have busy interfaces, complicated wording, and hard to discern colors that could be distracting or unintelligible for many children, particularly those with certain cognitive or visual impairments.
I am conducting heuristic and functional analyses on the currently available platforms and will develop benchmarks necessary for the platforms to be used at a disadvantaged program. These include: free of cost, flexible compatibility, accessibility features, and ability to operate without internet. Additional benchmarks will be created and added upon continued research with schoolchildren and educators.