BoB the Biped with his Arduino motor cortex
June 29, 2013
After a lot of reading and some minor language barriers I've finally gotten over my fear of Arduinos. Thank you, BoB. He was in need of some floating point math so it seemed like a good time to make the transition. I find what I write looks a lot like BASIC but I'm just glad it works.
I've had one of Ro-Bot-X's uBotino boards for some time and it has been serving yeoman duties talking to CYZ-RGB pixels. I dug that sucker out in order to test out some ramping options on servo motions in hopes to get a less bobbly BoBby. There are serveral easing libraries out there that can make it less difficult. I went with Andy's Easing Library. After getting it to speak in various waveforms to a single servo I set off about figuring out the walking gait.
I never claimed to be a programmer so this took some leggy code to get a semi-respectable gait out of BoB. I had problems with arrays in that when I called one it would shut down my servos. No time to deal with that. No patience to get fancy. I opted to hamfist the code into the chip using pretty much the same structure as my Hexaspider's code. After spending a full day of playing with the chassis and scribbling glyphs:
it came along one jagged chunk at a time. After a good round of debugging all the declared lefts that should be rights, ups that ought to be downs, etc., etc. it started to work. I went away from the quintic curve that I started with as servo resolution is too low to make such skinny ends measureable. I liked how wobble-free the quadratic funtion was but it didn't look smooth enough. I ended up with the good old sine in the end. I threw the head on and shot a video :)
I also believe I've gotten the final PCB design ready. It has some small changes but they're all worthwhile:
I think I've figured out a way to make the mouth light up as well. I would like the bot to respond to audio if there's room in memory but I'm just worried about having the room to add-on. Everything I can think of is covered.