I'm an art student currently studying sculpture. I've attached two images of a maquette I made for an idea for my end of course exhibition I'd like to make.
I'm about to embark on making some buildings made from timber(250mm x 250mm), lace curtains and all this Arduino stuff!
I want the buildings to slowly waltz in a space, very slowly! and to avoid each other when they get to approx 40cm near each other using ultrasound sensors and using omni wheels.
The buildings range from 2.5 metres high down to 1.5 metres. They are just rectangles really....weigh in the region of 5kg to 10kg with all the motors, Arduino, batteries, motors etc.
One of the most important aspects of the aesthetic I'm looking for is - that they glide....as if waltzing, spinning etc, but even slower than two dancers waltzing, and, gently move around a space and avoiding each other for about 2 to 3 hours.
The Mecanum wheels are expensive. Cheapest I could find is about $60/set. Omni wheels are a little better at $12 each but those are only 48mm in diameter (about 2 inches). You might get a similar effect with two plain wheels and two casters. You'd be able to run forward and back in straight lines and smooth arcs, just not crab sideways.
For motors you will probably want to buy surplus. Something running on 12V or less and geared way down.
I'd look out for some skid steer (cheap) RC Tanks (not cars with front wheel steering) this gives you the chassis, the wheels, motors, drive electronics and a few other bits and then start hacking. Skid steer bodys are much more controllable then front wheels steer cars.
Thank you, John and Holmes for your replies and suggestions.
Holmes - I think the Tanks might be something I could look into at a later date and when I've finally got these things up and running, I'm also an absolute beginner on this stuff so hacking one of the electronics on those tanks might be beyond me at the moment.
I think I'll stick to downloading code for Arduino's etc for sensors. But interesting all the same and something I'll go to the local model shop to look at.
John - When you say the omni wheels are only 48mm, do you not think they'd take the weight of 8/10kg for that size wheel? considering that the base board they would be attached to is simple ply and would have 4 omni wheels I envisage?
Also, John, when you tell me that the motors have to be 'geared way down' is that done via the motor controller or, do I look for a certain gear ratio when buying a motor. And what do I have to look for when purchasing a 'geared down' motor, exactly?
The motors and controllers are kind of what I'm stuck on when looking to buy the components for this piece. The Arduinos and sensors etc are all readily available but motors and controllers, I'm a little lost to say the least.
I'm wondering if you could support almost all of the weight on free-wheeling, free-rotating castors and then have a pair of drive wheels (I don't think one would give enough control - but it might) that could rotate through 360deg to move the houses in any direction.
I'm also wondering if you could drive the houses with regular model aircraft servo motor adapted to give constant rotation (an easy adaptation and plenty of web advice) and with wheels fixed to the output shaft. Those motors have a lot of torque at low speed and aren't expensive. What's really nice is that you can control speed and fwd/reverse directly from an arduino.
Edit to add...
The Arduino couldn't supply enough power for the drive servos but you would just have to use a simple transistor circuit to boost the power.
/Edit
You could also use servos to steer the drive wheels - so you would need 4 servos per house.
I presume your houses will be waltzing on a very smooth floor.
When you say castors and a drive wheel, do you mean two wheels (that being the drive wheels) motorised with the servos?
Would the transistor circuit be easy to buy and is it a standard item to buy. I'm presuming it plugs straight into a breadboard for the Arduino?
Aslo, Robin, when you say 4 servos per house, would those 4 servos be driving '2 drive wheels' as you mentioned 'with' castor wheels or, are you telling me I would need 4 drive wheels for the servos to be attached to and I'd do away with the castors?
Thanks for your reply and suggestions they sound feasible!
Don't want to come round and give me a simple electronics lesson at all do you? This can scramble your brain somewhat if you've never embarked upon something like this before.
I'm really really excited by how this piece of work might develop for me but just need to iron out certain elements of it.
I haven't thought this all the way through - that's your job!
I imagine having a castor at each corner of a rectangle and there would be no drive to the castor wheels. The two drive wheels would be spaced apart on a centre line. It would look like this ...
c c
d d
c c
Each drive wheel would be driven by a continuous rotation servo to make the board move and would be mounted so it could be rotated (for direction control) by another servo. I'm not sure but I suspect 180degree rotation would be enough (which a standard servo gives) coupled with Fwd and Rev.
I suppose you could get an off-the-shelf transistor circuit but it would be very easy (and cheap) to build from a few parts you can in Maplin (in the UK) or equivalent. While those more expert than I (most of them) may shudder I suspect all you would need would be a transistor for each servo. The transistor behaves like a electronic switch using the low power from the arduino to switch a larger current for the servo.
It might be worth building a test platform for the cost of 4 cheap servos (about £5 each) and some castors to see if it works. Without any weight on the platform the Arduino should be able to drive it directly for test purposes. The problem is that if it doesn't, the alternative will almost certainly be a lot more complex and expensive.
Thanks....I have thought about the layout of the wheels etc on the base plate you'll be pleased to know...over and over, many times. The aesthetic and the build 'layout' I think I'm fine with concerning the structural elements and electronics.
It's just testing it, like you say, and...the details of the electronic set-up and weight/power needed. I just wanted to sound out what this forums thoughts were on what would be the best components to achieve a 'glide' for the buildings, with me just ending up pushing a switch and watching them gently avoid each other, and in the cheapest way possible, really.
This was originally what I thought might work after speaking to someone who knows a little about Arduino -
4 omni wheels for each building
Arduino and 'bread board'
Motors with a gearbox and encoder?
H Bridge
Batteries
Jumper leads for the Arduino and bread board
SRF 05 ultrasound sensors
The idea of cost scares me more than anything truth be told.
But what you have suggested is a great alternative I'll look into tomorrow.
If he keeps the servo controller in there, but apply the mod for continuous rotation, he doesn't need any special consideration of power beyond supplying 6V to the power leads for the servo. The control line would still be TTL compatible. Those work by sending 1ms pulses for one direction and 2ms pulses for the opposite direction (really you just use the servo library and send 0 and 180 and 90 for stop.
Instead of using 3 motor servos, you could go down to 2. Like a tank, to go left, you just turn the left servo faster than the right. Just note that there will be more friction if you were to turn on a dime rather than on a wider arc.
I was working on a really cheap proximity sensor that has about a 2 foot range that costs only $2-$5 per sensor group. It uses IR. However, for your application, each building may have to use a different pulse frequency to keep from interfering with each other. Which BTW, may still be a problem with your setup. If not a separate pulse frequency, multiple random proximity sampling would have to be done which would compare return values against each other to filter out unwanted spikes, otherwise the transmitters of one building could interfere with the receivers of another.
I had overlooked this bit. The Arduino only needs to send a signal to the servo. Provided the servo and the Arduino share a common ground the servo positive can connect directly to the power battery (assuming correct voltage) rather than taking its power from the Arduino board - so there is no need for a transistor booster circuit.
In fact this has nothing to do with continuous rotation - it's true for unmodified servos also.
Isn't it wonderful when things get simpler
...R
Retroplayer:
If he keeps the servo controller in there, but apply the mod for continuous rotation, he doesn't need any special consideration of power beyond supplying 6V to the power leads for the servo. The control line would still be TTL compatible. Those work by sending 1ms pulses for one direction and 2ms pulses for the opposite direction (really you just use the servo library and send 0 and 180 and 90 for stop.
Also, while it may be a bit more complex to build, but much cheaper than mecanum wheels or omniwheels, you could consider a 'reverse mouse' type drive system.
Basically you would have four ball casters in the corners and a captive ball in the center of the platform. You would drive its X and Y axis with 2 motors.
You create a cage around the ball to keep it captive and use friction wheels on the four cartesian points. Two perpendicular are driven and the opposite two are just free-running.
A raquette ball might be right for this. It is stiff, but flexible enough to deform at the bottom for more grip. The ball casters on the corners would take the majority of the load, you would just need to position the center ball just low enough to slightly deform it.
As far as I can figure a single drive will not allow the house to rotate about its own axis - which would be essential for dancing.
...R
Retroplayer:
Basically you would have four ball casters in the corners and a captive ball in the center of the platform. You would drive its X and Y axis with 2 motors.
Sure it could. You just drive drive both axis at the same time, the same way an omniwheel does it. A mouse can travel around it's own axis, correct?
Perhaps it wouldn't work with right angles to the chassis, perhaps diagonal to the chassis (driven wheels point towards the corners?) Of course with a system like that moving forward and back and right left would require driving both motors at the same time.
Unfortunately I don't have access to a ball at the moment to test it. I could be wrong. But it should be easy to test. I think it would work with the correct control.
The way I think of your system, the ball has a single point of contact with the ground. If you drive the ball about its vertical (z) axis it will not be able to resist the force - which is what is needed to make the table rotate rather than the ball.
In any case, your motors would (I believe) be oriented to rotate the ball about horizontal (x and y) axes so as to make the table move in the x or y directions and therefore couldn't cause a rotation about the z axis even if that would be useful.
Put a ball on the floor and rotate it around the z-axis with your hand. The ball will rotate without resisting your hand and neither you nor it will be displaced. Rotate it around the x-axis with your hand and the ball will move along the floor, and your hand with it.
I think ...
...R
Retroplayer:
Sure it could. You just drive drive both axis at the same time, the same way an omniwheel does it. A mouse can travel around it's own axis, correct?
Perhaps it wouldn't work with right angles to the chassis, perhaps diagonal to the chassis (driven wheels point towards the corners?) Of course with a system like that moving forward and back and right left would require driving both motors at the same time.
Unfortunately I don't have access to a ball at the moment to test it. I could be wrong. But it should be easy to test. I think it would work with the correct control.
Retroplayer:
Also, while it may be a bit more complex to build, but much cheaper than mecanum wheels or omniwheels, you could consider a 'reverse mouse' type drive system.
Basically you would have four ball casters in the corners and a captive ball in the center of the platform. You would drive its X and Y axis with 2 motors.
You create a cage around the ball to keep it captive and use friction wheels on the four cartesian points. Two perpendicular are driven and the opposite two are just free-running.
A raquette ball might be right for this. It is stiff, but flexible enough to deform at the bottom for more grip. The ball casters on the corners would take the majority of the load, you would just need to position the center ball just low enough to slightly deform it.
The cage could be easily made out of shapelock.
Interesting idea, but due to weight and friction, this doesn't sound that practical. You'd be better off using the two motors on two separate wheels on the floor and drive it like a tank.