Showing posts with label chassis. Show all posts
Showing posts with label chassis. Show all posts

Monday, July 5, 2010

The third axis

Well, I've added another axis as well as a (hopefully) descriptive picture to accompany the video.

(Click on the image to make it legible)

More details and videos once I am sure it will actually work...

Sunday, January 24, 2010

Little walking robots

After seeing this robot by Pololu I suddenly found myself inspired to try and make a small walking robot. This post doesn't result in a finished robot, but it (hopefully) will act as a overview of starting points for small walking robots.

Initial idea
I wanted to make a 6 leg robot (for stability) using the smallest motors/gearboxes I could find. I was thinking of a design similar to this one where the middle pair of legs pivoted around an axis between the back and the front of the robot. I was thinking of using a cam mounted on the end of a pager motor to rock the tilt the leg back and forward - this was my starting point.

(Yes, this is my first model in SketchUp)

First effort
Soldering some paper-clips together led to the creation of the following disaster (AA battery for scale):


This initial prototype suffered from two major problems; it was almost impossible to tune the legs accuratly and the page motor had nowhere near enough torque to lift the leg.

The cam
The problem with the cam was that it was too abrupt in its transition from low to high for the low-torque motor to rotate. I set about fixing this with a small file with the following result.

The lower half of the cam is the original size, the top-half is the smaller profile.

The modified cam mounted on the pager motor

The chassis
The chassis was redesigned to be simpler, stronger and more accurate - this time using a stripboard as the base. This is the result:

Under construction

Posing for the camera

Results
Well, the modification to the chassis certainly worked. The legs were significantly easier to tune. On the other hand the same problem still exists for the motor. The cam is too large and generates too much friction where it connects with the top of the leg.

The next step will be to increase the motor size and to add gearing - probably with one of these from Solarbotics. This should allow me to up-size the cam to allow greater leg movement. From here I can work on the forward and backwards movement of the legs.

Conclusion
Whilst hardly a stunning success, this mini project was a great chance to learn how to fabricate on a small scale and I will try to keep posting about it as it progresses.

Tuesday, October 27, 2009

My first vibrobot


This is a small vibrobot (based on the awesome bristlebot over at evil mad scientist) that I started work on a couple of months ago but never finished. My initial aim was to make a simple vibrobot that was self-sufficient (BEAM-style) and photo-tropic. This required some sort of directional-control for the bot, a solar engine and light sensors.

I settled on a solar engine from Solarbotics, two Colgate "micro sonic power" toothbrushes and two LDRs that I had laying around. After wiring up the solar engine I wired up the vibrating motor capsules (from the toothbrushes) , the LDRs and a pair of IN4004 diodes as shown below.


The directional-control of the vibrobot is controlled by the two LDRs connected across their respective motors. When the LDR is exposed to sunlight it conducts more current than when it is in the dark. This increased conduction causes the voltage across the motor to drop, slowing down the motor on that side and turning the robot towards the light. The diodes allow the two motor/LDR circuits to act independently.

Now, the important part, does it work? Yes, fantastically well, in fact! Its initial movement is very vigorous and erratic but as the solar engine discharges the bot clearly starts to steer towards the sun. It orientates itself so well at the end of its movement that I will be shortly tilting the solar panel towards the front to speed up the charging time.

Finally, the design of the circuit has resulted in a few interesting benefits that I hadn't realised before which I thought I would list:
  • The initial vigorous and erratic behaviour gets the bot out of tight situations, whilst the phototropic behaviour is more evident at the end of the solar-engine's discharge. This gives the bot an "obstacle-avoiding" behaviour that I hadn't planned for.
  • The brighter the light, the slower the bot moves and the less distance it covers (due to the LDRs stealing some of the solar-engine's discharge). This has the unexpected benefit of keeping the robot relatively stationary within an area of bright light, whilst making it more active when it is in the dark.
  • Finally, as mentioned above, the bot aims its front at the sun almost faultlessly. This will allow me to tilt the solar panel toward the front of the bot (and therefore the sun), increasing its efficiency and reducing the charge time.
I will upload a video in my next post, I am waiting on both consistent sunshine and a full camera battery...

Wednesday, July 2, 2008

Wiring updates


While I am busy polishing up the new thread and class based python code, here is a pic of the Motor controller to H-Bridge wiring (yes, that is a USB to motherboard lead). The Li-Poly battery runs the motors and the 6xAA batteries run the electronics. This may seem counter-intuitive but I wanted to have a rechargeable battery for the motors, and I will be running most of the electronics off the 6xAA batteries. I will upgrade the motor battery pack when the MicroClient is installed, as the weight increase will obviously hurt the runtime between charges.

Friday, June 20, 2008

Glamour Shots

This is the robot's current set-up, including the new rs232 motor controller (not wired in yet).

This is the view from the back, showing the MicroClient's ports and the motor controller. I will post more when I have wired it all in.

Tuesday, June 10, 2008

Progress (Finally!)

Finally, (in the middle of my exams, of course) I have some proper progress to report on my robot.

I have determined the first feature/ability benchmark for the robot, and I have made some significant progress towards that benchmark.

Before the first benchmark, I had a number of goals, outlined below:
  • Fabrication of basic frame, motors, camera hardware etc (90% complete)
  • IO board for PC-based motor control (70% complete)
  • Battery systems (50% complete)
Some of these will have to be further completed before the first benchmark can be complete, the rest are good enough for proof-of-concept development.

The first benchmark is based on creating some simple vision based navigation software and is defined as such:
  • Provide and act upon locational information on coloured target (100% complete)
    • This is the detection of a red target (as seen in the image on the right), and the reporting of commands to rotate the camera (robot) to centre the target horizontally. This has now been completed, with the robot able to locate and centre on the target autonomously, even if the target is not initially in the frame.
  • Applying commands (50% complete)
    • Finish attaching the camera to the robot, connecting the camera to the MicroClient Jr, and debugging and movement command problems.
  • Path Planning (10% complete)
    • This is the determination and actioning of a path towards the target, including the avoidance of obstacles (Conveniently placed shoes...) along the way.
Now, obviously, I don't expect to create a perfect vision-based navigation program in the next two weeks! As you will notice, the floor is a rather conveniently white and the obstacles are rather conveniently contrasting black/purple. If the code under development for the path-planning works, the robot should be able to navigate a simple situation like this with just the single camera. It should also be noted that the CMUCam does the majority of the actual target tracking and most of the work described in this article was in the development of a robust RS232 command suite for the camera and a system for converting the target's locational information into movement commands.

Speaking of the camera, the image shown above is an actual still from the CMUCam. When recorded, the image has a resolution of 80x143 pixels. I have doubled the horizontal resolution of to repair the perspective. Before the alteration, the image looked like this (on left).

Finally, I will post some code for the tracking and centre-ing as soon as it is debugged in my damn-small-linux build.

Tuesday, April 1, 2008

current state


Here it is in its current state (click to enlarge).

The height extension was courtesy of 450mm lengths of hollow aluminium tube, with 5mm bolts tapped into the ends.

This is the 75% completed motor controller system. This will interface via the white (USB) lead to the mini PC. More info on the USB IO interface to follow (the purple plug should give it away).

All that is needed for completion is creation of the "high-level" motor control - currently the PC can only turn on or off the left or right motor. The goal is to have the PC output one of six discrete commands

-left-on-spot
-left-around-right-wheel
-forward
-reverse
-right-on-spot,
-right-around-left-wheel.

This will be accomplished with a mass of diodes heading into the H-Bridge :D