The House Bot
Here is my current project and first post:
Originally conceived with 4 wheels, half way through the build process I thought it would be cool to balance, so no casters yet. After a few weeks of fiddling with the IMU and Kalman filters, it outputs a good angle, but takes way to long to settle at the correct number. There is no way it will balance until a correct angle can be generated without a settling time. A dual omni wheel suspension system is in the works so that progress can be made on navigation and docking if the balancing ends up to be more trouble than its worth.
Short term to do list:
Balance or add casters
Fix up the PID
Hookup and mount the IR and Ultrasonics
Make a base charger
Eventually, I would like to add a camera or small laptop with webcam to do some image processing for nav and docking, maybe telepresence.
More Details:
Base decks: 1/8" Aluminum sheet, 1/4" angl, thread rod
Electronics: Technological Arts Adapt9S12DP256, Sparkfun Bluesmirf serial port connection to PC, Sparfun 5 Axis IMU, protoboard motor driver with LMD18200's.
Locomotion: 24v gearhead motors with encoders, 5.5" electric scooter wheels with integrated toothed pulley, belt drive to gain a bit more torque and reduce wear on the gearheads
I added some pictures to a blog entry, which I thought would show up on this page, but didn't: https://www.robotshop.com/letsmakerobots/node/1735
September 28 Update:
I ditched the balancing idea after weeks if fiddling with the Kalman filter. I came fairly close, but I just could not get the correction to update fast enough. The Kalman filter produced an accurate angle, it just took too long to get it. By the time the correct angle refreshed, the robot was falling to far. I picked my motors and belt ratios for raw torque, not speed unfortunately.
I added a 4 inch ball caster to the front, and two 3 inch omnis to the back. Both omnis share an axle which is mounted on bearings. This axle is connected to the drive wheel axle through 2 aluminum angle arms and 2 more bearings. Right now suspension is accomplished by bungie cords until I find some shocks at a good price.
Omni wheel with lock tab adapter I made.
Underside showing the Omniwheels and suspension.
I mounted the VFD display and some 10 turn pots in a plastic case on the back and neatened up the wiring a bit. Next up is a pan/tilt head with a bunch of sensors. I am planning on using GP2D12s, SRF04s, and a couple of Polaroid rangers. I coded up servo control via PWM since there was a free timer in that module, saving the general purpose timer for other things. Fortunately both sonar modules use nearly the same code, so not much work had to be done there. The biggest issue I ran into was I overlooked a pull up resistor required for the Polaroids(Doh!).
Display and Potentiometers
Messy(but improved!) wiring.
The two videos are of dead reckoning maneuvers using the encoders.
http://www.youtube.com/watch?v=Lo7m98Tu870
http://www.youtube.com/watch?v=n7hITTz9W4k
Will navigate around house, self dock with charger, map, fetch beers
- Actuators / output devices: 2 24v gearhead motors, VFD display
- Control method: autonomous, bluesmirf for programming and debug
- CPU: MC9S12DP256B
- Power source: 12v SLA
- Programming language: C
- Sensors / input devices: Sparkfun 5 axis IMU, 2 rotary encoders, 5 Sharp IR GP2D12, 3 SRF04, 2 Polaroid 6000, 4 pots for tweaking parameters
- Target environment: indoor