How to steer a cart along a line?
December 22, 2009 4:26 PM   Subscribe

Automaton question. I am building a small sculpture that will steer along a pre-determined line when pushed along the floor. I need some advice on designing the main steering cam.

The sculpture consists of a three-wheeled cart, the rear wheels roll along the floor, and they drive a large circular cam, this cam is linked to a follower that causes the front wheels to steer left or right, tracing the line encoded in the cam. At least that’s the theory.

I have the line it needs to follow in some CAD software, and it is divided into a number of fixed length segments. I can then export the points to Excel and calculate the angle of change between each segment.

What I need to know is how to convert these change angles into the proper steering sequence so the cart follows the line relatively closely. I know the wheelbase is going to be a factor, and I am going to have to work out when to turn the steering and when to straighten it out. Is there a formula for this? Or does anyone have a link to related info?
posted by Pink Fuzzy Bunny to Media & Arts (7 answers total)
 
could you build the thing, but leave the follower disconnected, sitting on the face of the cam, and then manually steer the cart around it's path while tracing the path of the follower on the cam? and then cut the cam?
posted by duckstab at 4:59 PM on December 22, 2009 [1 favorite]


Can you trace the line on the floor? If so, "line followers" are really easy as in "this is my first robot" easy.

If not, you'll want stepper motors. Those are just motors which advance by "steps" (how many degrees per step depends on the motor). So to turn 90 degrees, you'd tell the left motor "go forward int(90/degrees-per-step) steps" while not telling the right motor to move.

Stepper motors are pretty simple to use. If I was new to the world of robotics, I'd pick an Arduino with a motor shield from Adafruit to control the stepper motors. Should cost about $50 all together, and is programmable from most computers via USB. The motors should run you about $5-10 from eBay.

It is *not* going to be doable from Excel. Bleah. Sorry. It is going to be a simple version of C.
posted by Invoke at 5:05 PM on December 22, 2009


Best answer: Unless you're building this with a lot of precision, I'd suggest getting the mechanism working first, because a lot of things are going to factor into the steering sensitivity (it sounds like you have a mechanical linkage tracing a path engraved in the cam wheel, and that linkage turns the steering wheel?), in which case trying to make calculations at this point is probably wasted time.

Once the cart is working, some experimentation will show you not only the kind of angles needed to get the results with the actual steering mechanism - including it's quirks and slack - but also the kind of angles that get aesthetically pleasing, graceful steering results.

I'd suggest that instead you put the time and energy into a means by which temporary test-paths can be put on a camwheel quickly, easily, and removably. I think that this would lead to better end results than trying to pre-calculate a path for a mechanism of as-yet unknown precision and reliability.
posted by -harlequin- at 5:20 PM on December 22, 2009


Response by poster: Thanks for the tips so far, -harlequin-: yup, its going to be a mechanical linkage.
As for accuracy, I want it to be higher, but as long as it looks rightish in the end I am happy.
I've got a contact with a local trade school, so I can probably get the cam cut on a CNC mill.
I agree tests would be good, but I like to get it really thought through on the front end.

Hypothetically though, if I knew the wheel base, and I could get the front wheel turned to an accurate degree, how do I figure out the sequence of movements needed for steering along a line?
posted by Pink Fuzzy Bunny at 7:57 PM on December 22, 2009


Best answer: I don't have a really clear notion of what the sculpture looks like, but: Unless I'm totally misinterpreting things, the path it follows won't be a series of straight lines joining at angles, it'll be a sseries of straight lines joines by circular arcs (almost). The radius of the arc is determined by how far over you move the steering.

You'll need to figure out a couple of things: When the cart is turning (not going straight), how fast does the cam advance? This will depend on what kind of differential you have on the wheels that drive the cam. (Possibilities: Are they on the same axle, and therefore skidding on the floor? Does only one wheel drive the cam? Do you have some more complex mechanism, like a car would have?)

Secondly, what radius of turn do you get for a given position on the cam? This should be relatively easy to figure out from your linkages.

Then, sketch out the path you want, with circular arcs connecting each straight segment. Figure out the radius of each arc and how much the cam will advance during that arc. That wil give you pretty directly the shape of the cam.

I agree with duckstab and harlequin that you'll want to make the final setup after you've built the rest of the beast, but calculating things in advance will at least get you in the right ballpark to start with.

(Also, as Invoke says, this is pretty straightforward to do with a microcontroller and some motors these days. But I assume part of the point of the sculpture is that the guidance is mechanical?)
posted by hattifattener at 12:41 AM on December 23, 2009


Best answer: Does the mechanical guidance have to be a traced-path cam?

If an alternate mechanism would be acceptable, you could do this using a something roughly akin to the old mechanical music boxes (rotating cylinder or ring with pegs, which actuate an array of linkages as the pegs move past). This avoids having a complex variable follower linkage, in favor of having simpler individual links which each merely kick the drive into a specific direction and angle; the peg-cylinder simply acts as a timer & sequencer.

It's broadly the same idea (inasmuch as the path is encoded on a cylindrical/circular object), but it strikes me as being easier to implement. Granted, you have far more individual mechanisms, but each one is simpler.

It's roughly the same mechanism used by DaVinci's programmable cart.

Alternate possibility 2: the cam mechanisms used by Edo-period "karakuri" robots.

Alternate possibility 3: the "string logic" seemingly used by Hero of Alexandria for his programmable cart.
posted by aramaic at 7:55 AM on December 23, 2009


Response by poster: Thanks for the suggestions all. There are some good points to consider.
I think I am going to break down and build a small test version to work out the steering dynamics.
Oh and that string logic thing is awesome, never heard of that before.
posted by Pink Fuzzy Bunny at 10:54 PM on December 23, 2009


« Older Will my hair ever be the same?   |   Short-term, low-cost volunteer opportunities Newer »
This thread is closed to new comments.