this time it took really long to make more progress on trashbot but i had the feeling that there were many little improvements that made the bot better and somehow it felt like none of them were big enough to be worth a post.
now in the end i learn that quite a lot happened during the last 8 or so weeks and over easter i invested some time also into the cleanup of the software.
first of all, i added shins to the legs so that he wouldn’t swing too much when shifting his weight from one foot to the other. i used some screw / hooks that you use to hang wired lamps and have a tension on the wires:
next i couldn’t resist to add a head. i had this nice old bike lamp that i wanted to use and i wanted to have a neck that can move in three axes. so the problem really was to design a neck minimally built from three small servos that is rather straight and can fit into the chest without looking too clunky and without making the neck too long.
the first angle was to stack the roll-servo and the pitch-servo in a way that positions them above each other nicely:
next, i could attach the lamp:
finally, i wanted to move the battery away from the butt to give the bot more “natural” hips and i had the feeling that the gimbal-like chest would benefit from gainig some weigth for the inverse pendulum. for reasons of symmetry i added a second battery:
finally, i found some unused kitchen item that we bought for cooking vegetables (i think). and i had to upcycle it:
into a nice chest:
you can also see that i finally added the UBEC to the electronics so that all the servos would get a constant 5V. i burnt one of the servos during the fine tuning of the PID recently and that was a lesson in re-thinking maintainability of the mechanical design and safety in electric design…
btw: here is the updated “PCB” / motherboard that allows for having two power sources and adds more servos slots:
it looks rather messy as the design evolved when adding more functionalities so that’s another part of rethinking in the future. most likely, i would also position the servo slots in different parts of the board so that they point towards to position of the corresponding servo. also the plugs would then not get squeezed all in one place (see pic above).
finally, i couldn’t resist to give trashbot a face and so i worked on one of these PCBs to fit the lamp and added an ultra sound sensor and a PIR. i plan to look at the way before the trashbot while walking so that he wouldn’t fall over a doorstep or bump into a wall.
so here’s the face in the head:
and finally, the fully assembled trashbot 4:
certainly, the head sensors are not wired to the motherboard yet and this is for a reason: i found out that the head would easily house a second arduino nano… and i’m running out of digital outs on the first nano. right now, i can controll all servos as well as the ultrasound but that’s it. so adding arms would definetly require some electronic upgrade.
i have a teesny 3.1 here, an arduino due or a second nano. the teensy would be cool as it has quite a lot of processing power and memory but isn’t easy to wire, the due is easy to wire and has more processing power than the nano. but it’s bulky… the second nano would be easy and i could connect the two via i2c using analog pins, i.e. not sacrificing digitals. but the computing power is low. especially if you want to do some audio processing or some kind of stripped down SLAM algorithm. so right now it’s not clear what to do.
finally, there was the problem to reposition the gyro to yield some movement space for the neck. together with the increased weight of the chest i now saw brutal overshoots in the PID so that trashbot four right now qualifies again for reddit’s shitty robot genre…
so fine tuning is one of the first things. and i noticed that the head servo’s electronics is destroyed and the servo is jittering massively. maintainance problems again…