In early November I joined the Robots For Good project started by Wevolver staff. They had an almost fully printed InMoov Robot (designed by Gael Langevin). However it happened so that they needed to have it moving in some way (at least pre-scripted movements) in 2 weeks time for the Unbound tech exhibition event in London. It was their side project as their main work is the Wevolver website and community.
I was confident enough by that time to agree on the offer to help them with InMoov. And so it began.
I have faced a few challenges. The main one being a close deadline and a few others involved poor quality prints of some essential moving parts such as gearboxes for shoulders.
I spent a lot of time filing the gears and reprinting some parts on a handy Ultimaker 2 we had at London Hackspace at the time.
I also had to take out almost every single servomotor, take it apart, take out the potentiometers and put it back together. It was required by the InMoov design, but has not been done before. It was needed because the shoulder gearboxes had worm gears and we needed the have those potentiometers to be the feedback of the actual angle the arm has turned, not how much the worm gear has turned. My soldering skills have really improved after this project.
Another problem I faced was the fact that gearboxes would have too much friction. Yes, the quality of Ultimaker 2 is fairly good but still the gears would need a lot of filing before they could be used in the gearboxes. After hours of filing and packing the gearboxes with automotive grease – I could see the arms moving.
The last bit of the task was to make it possible to control the robot and move it. We threw out the idea of moving the fingers for now (as later we’d install different hands on InMoov), so I only had to move the arms, head and the torso.
I had a spare Pololu Mini Maestro servo controller for 24 servos, and so I knew what to do. I have extended all the wires on the motors and connected them all to the Mini Maestro.
Next thing, I needed to write Python scripts to be able to move the joints according to pre-scripted scenarios such as “wave hand”, “nod” etc. We previously agreed with the Wevolver guys that given we have so little time this will be our minimum plan.
Scripting was rather easy as I had some Python experience before and there existed a Pololu Mini Maestro interfacing library. I threw together some simple movement scripts, but faced a new problem. Serial communication seemed not to work at all from my computer to the Mini Maestro.
It turned out to be just a settings problem later on but at that time I have fixed the problem by hooking a Raspberry Pi using RX and TX channels and controlling the Robot via Raspberry Pi, running the same Python scripts I would on my computer. That solved the problem and after an all-nighter I went home to have some sleep before the event.
We had almost no problems during the first day of the event. Everything worked well. On the second day during a harsh “wave hand” movement one of the gears in gearbox failed as well as one of the “duck feet” joint on the arm. Again, it was due to poor quality (lack of fill and thin walls) of the prints. And I did not reprint those parts as they seemed to perform ok during tests. It was the end of the day so there were no problems. We packed our InMoov away with a plan to later reprint all the essential parts with good quality and re-assemble it.
Skills learned/improved: soldering, mechanical, 3D printing, working under stress, finding quick solutions to unexpected problems.