SapoBot is a robot that wonders through spaces avoiding obstacles detects holes on the ground, follow walls and follow lines, to change between behaviors you only need to press the shell, and when he detects a collision gives a frog sound. This project was comissioned by Sapo, means frog in portuguese.
This bots were made with a Farrusco chassis and Motoruino and once again with the great IDMind hardware and electronics skills, all the credits for the eyes mechanics and all the rest of the hardware upgrade goes to them.
This is a Farrusco on steroids!! Only the pins 0 and 1 for serial communication are free, all the other pins are taken for a considerable amount of sensors and actuators: 3 infrared sensors to measure distances on the front, 3 infra red sensors facing the ground, a speaker, 1 RGB LED, 1 servo motor, 2 dc motors and 2 bumper micro-switches to detect collisions.
The eyes are meant to give some human expression to the bot, they turn organically to both sides according the direction that the robot takes.
We coded an application in Processing to check all the sensors and actuators, allowing to save settings on the microcontroller EEPROM. This code will be available on Artica’s github soon.
Last Wednesday Artica lectured a Motoruino workshop at AltLab.
Beside all the participants there were more than a hundred watching a live stream on Ustream, people from Viseu, Guimarães, Porto, Évora, Madrid and many more places I believe.
The central theme was Motoruino and motors such as Servos, DC motors, Steppers and Linear actuators.
In the end we had Farrusco working in Obstacle Avoidance and Following Light mode.
ICU has been sleeping for a while but was awaken suddenly because I was invited to an exhibition at Flausina, a new born association in Lisbon.
Complexity is always a welcome thing around here and the bot was presented with two more servo motors and all the software has been re-written. And because I needed to simulate its movements I coded an application in Processing in a way that I could test all the non-dangerous angles. Inverse kinematics is way to advanced for my taste and I think I can call this a “forward kinematics simulator”. This simulator gives also the possibility to generate individual sine waves for each motor, minimum and maximum range of motion, an interpolator for smoothness and frequency for speed.
Unfortunately I don’t have any decent video of photos of the Flausina exhibition, I leave you with a video of the bot in the office with the processing application.
– capability to save presets
– timeline with keyframes, play and stop buttons
– upgrade this servos to more powerful and digital servos
– upgrade all the structure to enhance weight distribution
– create a mask in silicon/rubber and give this bot a crazy new look
– everytime a face is detected it will say something on Twitter and upload the picture in an online gallery
Since the first SWARS experience, I knew this could go A LOT further, but having Farrusco on a remote terrace where you could only have access by climbing an outside ladder.. I must confess, I never thought of such a thing, until… my friend Fernando Mendes (Cowork_LX) came to me with this crazy idea!
I loved the challenge, and wanted since the first moment to create a cool and easy to use physical interface and it came out a nice piece IMHO.
Then Farrusco with the wireless cam already built in for the first “Driving Farrusco” experience, I used two packs of batteries to enhance the play time (one battery pack is missing in the photo). This small wireless camera needs a lot of juice, and a little 9v batteries doesn’t feed it for to long, besides that it gives a very weak transmission with lots of interference, but with this 9.6v racing pack, it worked out really good!
And finally the video:
Some bits around the controller:
At the beginning I wanted to have four joysticks, one for each motor, one for pan and the other for tilt the camera.
It ended a bit complicated to operate and a learning curve was needed to get used to it, because this was going to manipulated by many people it needed to be simple and fast to learn.
[ FOTO MISSING showing the end result with two joysticks, a motoruino only with the necessary components and the xbee mount ]
Four wheel drive vehicles have always excited my imagination, and this time I joined two Farrusco’s chassis in front to front as you can see in the picture below:
This way both chassis are fixed on each other (is this correct to say in english??) and I thought it would be cool to have them articulated in some way, so I started to design a ball link and this is the first output (oh, did I mention I have a 3D printer in the office? :D
It still need a bit of work because the link needs some kind of lock to prevent the vehicle to bend itself and touch the ground (gosh!! what a crappy english!!)
I used OpenSCAD to design the piece, it is a great tool to use because everything is made with simple commands and you can design pretty much everything!! You can download the OpenSCAD files in Thingiverse.
This time I not just wanted to see what a robot sees, but I also wanted to give the robot the ability to understand that there is a person in the room, and stare at the person.
To detect faces I used the OPENCV library for Processing, wich turns out to be very fun to work with and is very sensitive to human faces.. and sometimes it detect faces where there aren’t any.. maybe it is a ghost face detector algorythm!!
I didn’t have time to work with the four motors, I am only working with the two servo motors on the top. Next step will be to apply inverse kinematics and have a better level of interactivity.
Unfortunately I had to pick the computer that was being used in this installation, I will need it in the next weeks, but this bot will be available to the public very soon I promise!!