Akipaki the robot (Rakipaki)
Rakipaki is my first robotic project. The goal is to build a balanching 2-wheeled robot, mostly inspired by David P. Anderson's nBot.
The poor thing's brain as of now is a PIC16F873A, which I grew to hate with passion. This board needs to be redone, the next version is going to be AVR-based.
Akipaki has no sensors except for the dual-axis accelerometer (MMA6260Q from Freescale). There are plenty of unused I/O lines, but which sensors will make it there is yet unknown. So far I like it deaf, dumb and blind and the inclinometer can provide a lot of information.
The motors/gears are "standard" RC servos after full lobotomy. Here's the story:
At first I was hoping that it would make sense to do only a mechanical modification for continuous rotation. It seemed like a good idea and probably it still is for stable robots. But unfortunately, pulse time control that the servo brain provides is not very good for speed control. You have full forward, full backward and stop. Yes, it's possible to get something between full forward and full stop, but still it would be a very crude method of control.
Here's the video of Akipaki after first test assembly. The motors are still using their default brains. You can see all good stuff it gives, such as heavy overshooting, slow reaction time. This version also has serious power issues, the controller resets or hangs up often.
After some experimenting with firmware, I decided to extend servos'
lobotomy from rectal to full frontal. I
ripped out unsoldered the control boards
and assembled a dual h-bridge with interface logic. Using the benefit
of having another board, I also added a better power circuit there.
Pictures of everything that's been there about Akipaki until now, 8 September 2005, are here: Akipaki gallery.
October 24, 2005
October 19, 2005
It's been a long period of stagnation. I was ill for a week and frustrated with my motors before that and not really sure which direction to take now. However I've been working on integrating shaft encoders into the former servo motors to be able to sense prolonged rolling in one direction. I hope that will help me to avoid long unwanted cruise runs that happen when the bot doesn't feel like standing up.
October 4, 2005
Made new wheels. Here's the picture. Advanced Security Technologies surely look cool.
Akipaki is now lesser an inverted pendulum, but rather is a self-leveling platform on 2 wheels. It makes it really hard to make it do predictable moves. I'm trying to figure what can be done about that without using other motors. It is next to impossible to find gearhead motors here.
September 30, 2005
New revision can balance now. I had to tweak PID implementation a lot. Now it can stand up, keep the balance even when being poked. It is still fed power by wire, I'm not sure it has enough power to balance batteries properly, further experiments will show.
Take a look for yourself. I have tuned differential term a little better since then so it doesn't jitter as much as on this video.
September 23, 2005
Spent nearly entire night with my electronics guru friend trying to make the ATmega32-based board tick. And with success, now it ticks like mad!
Here's the portrait of my new logic board and the little ISP-programmer I made to program it. Next time I'll put the LPT connector directly on board (most part of the night was lost to miswirings on different sides of my ad-hoc cable).
September 19, 2005
After unsuccessful attempts of implementing PID control loop in PIC16 assembly and another unsuccessful event of doing Something Wrong with the power, my original logic board for Akipaki got burned. I can't say that I'm lamenting it. Hell, I say - good riddance. Burn in Hell, Microchip!
I already designed the new board using ATmega32. Today I'm going to make the PCB. Can't wait to play with my new design and program it in C.
Oh, and just to make sure this is not overlooked - burn in Hell, Microchip! You make great documentation and application notes though.Back to svo's
Page last updated: Sat Oct 28 20:14:22 MSD 2006