I’m slowly working on reshuffling my blog, so for the next while things will likely change and/or break randomly. The biggest change is that I’m switching to a new gallery plugin (NextGen Gallery) which gives better control for posting images and galleries. I’ve been using it since this summer on my dive blog. This change will be mostly transparent, but involves a lot of background migration work.
As for my robots, once again I don’t have too much to post in the way of pictures at the moment, but am hoping to have more to add in the coming months. I’m working on a plan to get my quadruped up and running hopefully sometime next year, but a lot of machining and electronics work has to go into it. One of the biggest challenges being the control methodology I’ll be using, and how to distribute the control signals effectively to the motor controllers. I think I have that generally figured out, and I’m working on some more PCBs that handle the battery charging, power regulation, control and sensor signal, as well as carrying the Gumstix “brain” I plan on using.
I’ve finally gotten around to starting up a new blog for my diving, to keep it separate from the Robotics/Hobby portion of Roko.ca.
Check it out at http://dive.roko.ca/
I’ll be uploading diving photos and articles there from now on.
It’s been a long time since I’ve updated, and to those following my project I apologize, I know how annoying it is to see an interesting project on the net stall for years. (well, at least I hope my project the info I’m putting is useful/interesting/inspiring to others)
Long story short, I left my old job last December, moved cities and started a new job in a different industry. Needless to say, life has been busy, and I haven’t had as much time for my projects as I’d like, which may or may not be a good thing depending how you view it. Moving 1,154 km away from my Dad’s basement workshop hasn’t helped either. No more driving to my parents place to do machine work in my spare time. I’m left to slowly acquire my own tools now.
I haven’t forgotten about the quadruped, and have even managed to get some work done on it. I’ve powered up the motor drivers and haven’t found any major design errors yet, which is a good sign. Motors are spinning, and potentiometers are being sensed properly. I still need to do a bit of work to tap the 0-80 holes to mount the angle sensors, and machine the drive shafts a little bit to engage said angle sensors properly, before I can get the PID controller working properly to move the joint to the appropriate angle.
I’m also considering moving to brass gears, at least on the motor. I’m not overly concerned about the Delrin gears stripping, as there shouldn’t be a massive loads on them that cause outright concern, but I am having trouble mounting them securely to the motor shafts. As it ends up, Delrin is a bit flexible, enough so that it won’t hold a set screw securely, and even with a set screw the motor shafts end up spinning inside the gear. Moving to a brass screw should solve this problem, and is likely the easiest solution, albeit a little bit expensive.
On that note, you may have noticed I’ve put up ads. For the longest time I’ve been against ads on my personal website, but web hosting and robotics as a hobby does cost money. I haven’t really settled on whether or not I’ll keep the ads yet…
It’s been a busy summer (and then winter), involving getting a new job and moving to a new city, so I haven’t had much time to work on my robots much recently, let alone update my blog! So, instead of posting any updates on my robots (those will come later on when I get more work done), I’ve dug up some information on one of my older Sumo Robots, aptly named:
Chomp! was my first sumo robot, and first robot beyond BEAM robotics. Built in my High School years, it competed for the first time in the 2000 Western Canadian Robot Games, and placed first in the 5kg Autonomous Sumo competition. Although slow and lumbering, this robot had a good (for the time) vision system and protective skirt system that deployed on startup.
The brains of the Sumo was the rustic Basic Stamp II, powering an L298 H-bridge that controlled 4 motors, one per wheel. An aluminum frame held the robot together, and a custom made decals gave the robot a nice fierce personality
Back before the days of commonly available Sharp IR Rangefinders, I used a solution involving Modulated IR sensors (40 kHz) and modulated IR LEDs. By toggling the LEDs on or off, from a single sensor I could determine if the robot was to the left, right or front of me. A far cry from ‘1.21 GW‘, my current mini sumo, but it worked, and helped get the robot first place!
Chomp! went on to compete in the 200 WCRG for the next year or two, but other robots rapidly improved over the years, and Chomp! became too slow and the protective flaps too weak for stronger robots.
Chomp! actually had a sister (brother?) robot, named “Fatal Discharge”, which never ended up working right. Unfortunately, this was before I figured out enough about motor controllers to know that the L298 wasn’t quite up to the task.
After Chomp!, I went on to build “Event Horizon”, which was a moderately successful robot, and one of the first in Canada to have a vacuum system for increased traction. But more on that later…..
It’s been a while since my last update on the Quadruped’s build progress, but I finally got my PCBs back for the motor controllers. Since the robot has twelve motors, I need six motor controllers in total (Each of my controllers controls two motors). They’re an updated version of the h-bridge I prototyped last fall, and used in my mini sumo robot. Although definately more than is really required, the motor controllers boast ultra-low RDSon Direct FETs, and HC9S12C32 micro-controller to handle the control and monitoring of the h-bridges. The black soldermask really enhances the look of the PCBs mounted in the robot.
Each leg has it’s own motor controller to manage the two motors in each leg, and another two motor controllers will manage the four motors in the core. The leg motor controllers are shaped specifically to fit within the frame on one side. The other side of the upper leg frame will hold another PCB with some sensors (I’m planning on e-field and/or pressure sensors in the robot’s feet and on the leg itself.)
Each joint requires angular feedback for the motor controller’s closed loop system. This is accomplished by using special potentiometers through which the joint shaft will pass. The potentiometer is wired as a simple voltage divider, and as the angle of the shaft changes, the potentiometer will give a different voltage output. This voltage will in turn be read by the motor controller and turned into useful data. The special potentiometers used here were a bit of an obscure find, but luckily they are a stock item at Digikey.
In order to ease the routing of all the connections on a 2 layer PCB, I decided to offload the large BDM header onto a separate board, which can be screwed onto the leg frame when I load the motor controller firmware. Several pogo pins then make the programming connections to the test points on the controller PCB. I decided to get creative with the shape, and it turned out pretty neat.
I’m toying with the idea of putting a customized boot loader in the 9s12 controller, and giving the main processor (the Gumstix) programming control over all motor drivers. This way, instead of individually updating firmware on the motor controllers as I continue development down the road, I can instead just load one hex file into the Gumstix’ file system, and it will automatically update the firmware on all six motor controllers.
I also recently ordered the batteries I will be using to power the robot, 4x 2000 mAh LiPo batteries. I will be running then in a 2-series 2-parallel configuration to get 4000 mAh at 7.2 volts to run the entire robot. I still need to design and build a board that will fit underneath the batteries in the core of the robot, which will be responsible for battery protection/charging as well as power and control signal distribution to the four legs.
Still a lot of work to go, but it’s getting closer to walking…
I made the decision to forgo edge sensors for this competition, and instead chose to make the robot as aggressive as possible, the theory being that if I push the opposing robot off the edge before my robot gets to the edge, I won’t need edge sensors. In the end, I managed to get a working robot, measuring 98mm wide by 97mm long, and weighing in at only 331 grams!.After I finish the actual controller board I intend to use on this robot, I’ll have to make some weights to bring it closer to the 500 gram limit.
In the end, I placed first in the advanced mini sumo category, though I had some good competition! For more videos, check out the WCRS website. I will try to post my own pictures and videos when I get a chance.
You’ll also notice on the silk screen that I have given this robot a more creative name than Mini Sumo Version 6. I now call it “1.21Gw,” pronounced, of course, much as Doc Brown pronounced it in the timeless classic (no pun intended) “Back to the Future”
Now to finish it up and write some basic code for the robot games this weekend.
So, if you hear the angry sparrows a calling from your drive shaft, and lubricating does not help, replace those u-joints!
If you’re looking for a write-up on how to do this, I recommend Stu Offroad’s writeup: http://www.stu-offroad.com/axle/driveshaft/driveshaft-1.htm