Prototyping with Robotics, AI and Micro:bit
Over the past couple weeks I’ve been testing new prototypes for computational tinkering demonstrations using micro:bit, servo motors and everyday materials. And although it’s still early in the process, I’m interested to see how some of the concepts can contain building blocks for exploring artificial intelligence. This round of experimentation started during my residency at the National Taiwan Science Education Center (NTSEC) and have continued as we prepare workshops for a festival in Kuwait in the beginning of February.
After the creative coding professional development workshop with the staff at NTSEC, I stayed for a few more days to work on physical examples for some of the topics that we started exploring over the three days of tinkering together.
Some of these prototypes ended up looking a bit like a diagram with physical materials, definitions and explanations of the components and a breakdown of the code.
Others directly related to the idea of computational chain reaction. One project showed multiple servo motors as a ball release mechanism for a Rube Goldberg machine. As well, I started thinking of ways to elucidate the radio bluetooth function of the Micro:bit, a powerful element that most of the workshop participants didn’t find an entry point to explore.
I took advantage of the workshop materials collection and developed a prototype with ten different boards communicating with each other. For the initial iteration I used the LED screen as a output which makes testing the code a bit easier.
The program created a loop where one micro:bit sends out a random number with the radio function to activate another board with the corresponding number, in turn triggering another micro:bit thus creating a weird loop.
As I worked on the code, I discovered that changing the parameters had a big effect on the system. I wanted a randomized system that continued blinking for a long time but I noticed that the boards often stopped after 20-30 seconds.
I realized that this was due to the times when a board would choose it’s own number but not be able to start again because it was already in the program. There are probably many ways to fix this bug but I decided to have each board send out two numbers, reducing the frequency of “self-triggers”.
Once the code functioned as desired, I decided to add motors for the output by reusing the stands from our servo garden activity. With a quick change in the code, each micro:bit triggered a servo to move to a random angle before sending out the two random numbers.
For the “story” I decided to go with a tree design and have each servo be a branch with a couple of paper leaves. It was really satisfying to see the loop get started and observe the randomized, but almost natural patterns.
These experiments got me thinking about the connections between “creative coding” and AI experiments. I had already signed on to present activities at a AI and Robotics festival in Kuwait in February and I was curious connect these prototypes and possible workshops to test at the event.
Recently I’ve been interested in ways that learning about AI could be more tinkerable. I’ve been inspired by the work of Stefania Druga and the cognimates team to make these concepts more accessible. In one of her medium posts, she writes “providing kids with the tools and access to AI education will create a generation who are not simply passive consumers of this technology but, rather, active creators and shapers of its future.”
While I wouldn’t yet label this exploratory installation “artificial intelligence”, I think that some of the aspects of the project - randomization, networked systems, emergent patterns and feedback loops might be good starting points to explore AI in a tinkering environment.
For the workshop in Kuwait, I’m planning to have a demonstration with a similar system of micro:bits communicating over the radio function, but instead of the branches of a tree, each one will be it’s own art machine. This way learners engaging with this quick drop-in experience can adjust the pattern of the art maker and then add it to a larger system of drawing bots.
I’m looking forward to testing this next experiment at the festival and having conversations with kids and adults about the connections between tinkering, robotics and artificial intelligence. And hopefully we can continue exploring these ideas in future workshops and events.