- Bioloid Robot Kit
- Ubuntu Laptop
- Urbi Scripting
For the final project of the Creative Robotics Workshops course of the MA in Computational Arts I studied at Goldsmiths, we were asked to work in groups to develop a piece of robotic art.
Ipek Koprulu and I worked together on our final project and, after a brainstorming session, decided to build and program a robot spider, which we nicknamed “Spiderbot”. We divided the work according to our skill set and I took care of the software development while Ipek was more involved with the hardware and documenting side of the project.
When approaching this piece we were automatically attracted to the idea of producing a creature we could bring to life. The idea of creating a spider seduced us because spiders are full of symbolisms and have been present in popular culture, mythology and art since ancient times.
Perhaps, the most well known legend about the origin of the spider is the story about the weaving competition between the Greek goddess Athena and princess Arachne. Arachne was very skilled at the art of weaving. She was so good that she considered herself better than the goddess Athena and challenged her to a weaving competition. Athena wove the scene of her victory over Poseidon, while Arachne wove twenty one episodes of infidelity amongst the gods of the Olympus. Infuriated by Arachne’s pride Athena destroyed the tapestry and cursed her to live with guilt, which led to Arachne’s suicide soon after. Taking pity on her, Athena brought her back to life in the form of a spider and conversed her weaving abilities.
In addition to be attributes of the origination of weaving, spinning and net making, spiders have also symbolized patience due to its hunting technique of setting webs and waiting for their prey, as well as evil for its poison and slow death causes. Its venom is often seen as a curse.
If we had the opportunity to show our robot within a gallery space we would’ve liked to play with the feeling of fear that many people associate to spiders.
Our installation would be set up in a dark room which visitors would be able access and explore with the aid of a torch. Immersed in total darkness, visitors would only be able to hear the sound produced by movements of the spider, but not see it. The spider would be programmed to avoid obstacles as well as light, so if it were pointed with a torch, it would run away before more than a glimpse could be caught on it. Visitors would therefore feel a presence in the dark, but would not be able to identify what that is.
For the development of this project we were supplied with an Ubuntu laptop and a Bioloid Robot Kit per group. The programming was written Urbi scripting language.
We were attracted to the idea of creating a fragile but deadly eight-legged female monster with sleek movements, but after working on our Spiderbot for a few weeks we had to give up on some of our initial aims.
For a start, our spider has only six legs and their movements are not as sleek as we imagined. In fact, we have struggled to coordinate those six legs and make it walk properly. The whole project was a constant process of trial and error that forced us to downgrade some of our initial features.
Originally we built a much bigger prototype that had 3 servo motors per leg following the King Spider example provided by Bioloid. This is an advanced level robot as it uses all the servos included in the kit and it’s quite complex to coordinate their movements through programming. After accidentally burning some of the motors of this prototype, we decided to simplify it and re-building a smaller version with only one or two servos per leg. Keeping it simple has given us the ability to take this project to completion.
The final protype has six legs, two at the front and back and two on the sides. The side legs are the most complex ones as they have two servos against the front and back ones, which only have one.
To approach the programming we divided the legs in the following blocks:
- Right front and back legs
- Left front and back legs
- Right side leg
- Left side leg
The front and back legs of each side carry out the same type of movement simultaneously (when right front is up, right back is also up), meanwhile the side legs move alternatively (when right side is up, left side is down). In addition, the movements of front and back legs should alternate with respect of that of the side legs (when right front and back are up, right side leg is down) and the front and back legs of the opposite side (when right front and back are up, left front and back are down).
Please see code for further explanation.
Evaluation of the Work
Taking into account this was a very first contact with robotics and we had a little longer than a month to finalise the project, we can say we are pleased with the results. Programming robots is a challenging and many times frustrating process, but it also allows you to toy with idea of man playing god.
We have definitely enjoyed playing Frankenstein for a few weeks and fantasizing about our creature becoming a deadly killer.
I would love to talk to you about any ideas or projects that you might have coming up.
Please feel free to contact me with whatever your design, illustration, art direction, or website needs may be.