PDA

View Full Version : [Project] Power Scooter to Lawnbot



Sid723
09-01-2009, 01:29 AM
I need some advice on my project. I am building a lawnbot out of a used power scooter. So far I have shortened the chair by cutting off the front steering deck and removed the seat. I have 2 large caster wheels attached to the front, as I will be steering the bot by using the drive wheels. The drive wheels have differential drive, so both receive power from the drive motor. The way I intend to turn the bot is by turning on and off the brakes located at each wheel. When the bot needs to turn right, the right brake will be applied. This will cause the power from the main motor to be delivered to the left wheel, causing it to turn to the right. The opposite will happen when turning left.

At the bottom of the bot, I installed a guard all around the bottom to prevent anyone from getting cut from the cutting blade. The cutting blade is made out of plexiglass shaped in a wheel with blades attached to the edge. The motor is driven by the 24volts at 6000rpm. I may put a speed control on the blade, because I think it turns way too fast. I will also install a safety mechanism that will detect when the bot is turned sideways so that it can turn off the blade motor.

Later on, I will decide what controller to use. I thought perhaps a PIC 16F877a with sensors for a burried line detector to keep it in my yard.

My problem is that I need an idea on how to install brakes at each wheel. The bot uses 24 volts for the drive motor, so this is what I have to work with. I thought of using pinball coils to energize and bring in the brake at each wheel. I don't know if the coil will be strong enough to provide enough braking power, but perhaps using a lever will increase the pressure the brake will apply. I tried the coils and they do get hot after a few seconds, so I will have to work out a circuit that will apply the full 24volts at first, then reduce it to say 12 volts to hold the coil in.

Does anyone have experience with this type of build? Any ideas would be greatly appreciated.

Adrenalynn
09-01-2009, 02:10 AM
>> The drive wheels have differential drive, so both receive power from the drive motor.

Sounds to me like the drive wheels are not differential drive. Sounds like a gearbox. Both wheels turn the same speed without independent control. So it has a differential gearbox. If it was differential drive, then you would just pulse one side or the other and it never would have had a steering mechanism, right?

Generally those things have a limited slip differential. Are you concerned with overheating the LSD and blowing it up?

Sid723
09-01-2009, 08:59 AM
I checked and the unit doesn't have a limited slip differential. Sorry for the wrong terminology, it is a differential gearbox drive for the back wheels. I did try stopping the left wheel and the bot did turn left with no problems to the driver board. By the way, I am using the driver board that came with the scooter and it works fine. My only hangup now is the braking method. Any ideas?

bigderhak
09-01-2009, 11:50 PM
Maybe bike disc brakes http://www.cambriabike.com/shopexd.asp?id=15815&page=HAYES+MX-2+XC+MECHANICAL+DISC+BRAKE this is the first thing that came my mind. These are $20 bucks a piece just need a motor to pull the cable, and a mount to the wheel. I don't know if they would give enough stopping power or if this is even what you were thinking about.
Also I have been seriously thinking about making a mower myself. I really hate to mow :(. Keep us posted !

Adrenalynn
09-02-2009, 01:04 AM
Bicycle disc brakes are an excellent idea. I've trusted my life to them to bring a 350lb tandem to a stop from 70+mph faster than a car can, and to maintain speed on gnarly descents. A servo would probably be a better bet for gently actuating them, and hydraulic is a must-have.

Good suggestion!

Sid723
09-02-2009, 01:59 AM
I will have pictures tomorrow for everyone to see my progress so far. I forgot to mention that I will have prox switches at each wheel that will receive 5 signals per rotation. Eventually, the CPU controlling the bot will monitor the wheel movement and adjust the braking to each wheel thus keeping them in sync and going straight when that is what it needs to do.

I don't see how bicycle brakes will work since the wheels are much thicker than bicycle tires.

I have attached a power point to show how the braking will work to allow the bot to turn. I just need ideas whether to do it this way. If anyone has a better idea please let me know.

Adrenalynn
09-02-2009, 02:13 AM
Hydraulic disc brakes do not fit around the wheel. They function the same concept that stops cars, trucks, airplanes, and space shuttles - I think they'll do fine for a lawnmower. ;)

RevBryce
09-02-2009, 03:59 AM
You could try pocket bike wheels.
They have the disk brake bolted on already and a sprocket if needed
also about the same size as you scooter wheels.
most use a cable to make them work.
Saves a bit of hasle mateing the disk to your wheels.
If you have a importer near you they can be picked up for about the
same as the bicycle ones but you also get the cooler looking wheels and
tyres.
Next on pimp my lawnmower:veryhappy:
If your scooter is chain drive its real easy to do.
Still need something to pull the cable.

RevBryce
09-02-2009, 04:10 AM
The solinoids from car starter motors have some serious grunt and are used to beening hot.
Just watch your fingers as they bite so they should work to pull a cable.
Might be to much load but worth a try.

lnxfergy
09-02-2009, 07:55 AM
I forgot to mention that I will have prox switches at each wheel that will receive 5 signals per rotation. Eventually, the CPU controlling the bot will monitor the wheel movement and adjust the braking to each wheel thus keeping them in sync and going straight when that is what it needs to do.

How big are your wheels? (Diameter-wise). Generally, you want a fairly high encoder count in order to do speed regulation, otherwise you won't have the necessary resolution in your count in order to compare speeds. Just something to think about, in case you haven't dealt with feedback loops before.

-Fergs

Sid723
09-02-2009, 10:34 AM
As promised, here are the photos of my lawnbot so far:

1460
1461
1462
1464

The blade design: I actually modeled it after a method I saw on other lawnbots sold comercially.


How big are your wheels? (Diameter-wise).The wheels are 10.5 inches in diameter. If you look closely at the side view of the wheels, you will see 5 circles. This is what the prox switch will sense as the wheel rotates.
1463

I would like to put the braking mechanism on the main deck where the motor is located. As you can see, I don't have a lot of room for hydraulics. Besides, it doesn't take much to stop the wheels from moving. The brake I showed ( in the previous power point) will have a rubber pad that will slow or stop each wheel. Remember, only one wheel will brake at any one time. This is only to steer the bot left/right. Also for stopping both wheels at the same time, the power scooter already has dynamic braking that is incorporated in the motor controller.

The last picture shows the cover on the bot. This is actually the same cover that came with the power chair/scooter. It looks very nice when all put together.

RevBryce
09-02-2009, 02:33 PM
To easy:veryhappy:
Those five circles are the perfect place to mount the disk brake disks, just drill
and tap might have to pack out for clearance then a couple of brackets for
the calipers, done.
And if your lawn is like mine (read jungle) you might want to get bigger casters for the front .
Oh and put a fake weapon on the front just to freak the neighbors out:D
Looks good so far.
also most disk brakes have holes in them for cooling around the work surface so you can
get a better resolution for the encoder than the five points you want to use now.

Adrenalynn
09-02-2009, 02:49 PM
Five points for a wheel encoder? I suspect that's an impractical application if you want to keep it in the same county and not spinning in circles half the globe away. In a perfect world that never has any wheel-slip, that might almost be adequate. In the real world, I think you're a _few thousand_ short per wheel.

bigderhak
09-02-2009, 03:25 PM
PRE-QUALIFIER: I am a nub.
If you are going to use the wheel breaks for steering will that not mess with trying to encode the wheels to turn at the same rate (speed)? If you purposely stop a wheel will the motor not try to turn that wheel faster or make the other wheel stop to stay in the same location??
I like your idea of pushing against the tire I just know that it is practical or good for the tire ;)
Are the drive shafts keyed? I can't tell from the pics. If so than RevBryce's comment regarding mini bike brakes might be a cheaper route than mountain bike disk breaks.

Adrenalynn
09-02-2009, 04:10 PM
+Rep for the Noob. :) That can be addressed to some extent in software, but if the wheel doesn't pivot perfectly in place (and how could it on uneven terrain) you are absolutely correct in your concern.

RevBryce
09-02-2009, 06:17 PM
If you look at the link on the first page it shows a disk with 30 holes in it.
A long way from perfect but getting better for the encoder.
Realy encoder wheels ar`nt that hard to make with enough slots to make it
work ,i`ve seen somwhere how to print them so thats easy.
as another thought could the insides of a stepper motor be used with a
hall effect sensor,hmmm mounting it on the shaft could be a problem,but
it should work . maybe a bit slow to read.

Sid723
09-03-2009, 11:08 AM
OK :eek:, I see the light about the encoder. Problem is being outside in the dirt and grass, I cannot use a photo encoder. I would like to stay with the prox sensor I have, which is about 1/4" in diameter itself. The wheel diameter is 10.5 inches and I can make a plexiglass encoder wheel to attach to the side of the wheel that will have metal sensor points that the prox can detect. I just can't make the sensor wheel too large where it will interfere with the braking mechanism. With that, I have come up with these calculations:

With an encoder wheel of 6" and sensor points spaced 1/2" apart around the wheel I will have:
6 * 3.1415 approximately 19 " circumference around the disk.
19" / 0.5 inch (per sensor point) = 38 sensor points

Which comes out to : 360 deg / 38 = 9.5 degrees per sensor input or
(10 " wheel * 3.1415 = 32 inches per revolution)
32 inches / 38 (signals) = 0.84 inches per sensor input.

That to me doesn't seem all that bad.


If you are going to use the wheel breaks for steering will that not mess with trying to encode the wheels to turn at the same rate (speed)? If you purposely stop a wheel will the motor not try to turn that wheel faster or make the other wheel stop to stay in the same location??The CPU on board will help to correct the drift if it needs to go straight. When it needs to turn, the CPU will apply the brake to one of the wheels (depending on which way it wants to turn) and count the appropriate amount of sensor inputs on the other wheel before turning the brake off. This is also good for alerting me when there is a problem.
For instance, the CPU can turn a brake on at say the left wheel, then if it detects too many sensor inputs for that same wheel, it should stop and alert me that something went wrong. This would indicate a brake failure. Good for troubleshooting.:veryhappy:

lnxfergy
09-03-2009, 01:11 PM
0.84 Inches is fine for stopping at a certain distance traveled, but you mentioned trying to drive in a straight line. The problem with keeping two motors going the same speed is that you'll need a fairly high update rate on your feedback controller, and you need a fairly high density of pulses to be able to determine error of speed.

Not sure how fast your mower will be driving, but lets make our example easy and guess 1ft/sec (12"/sec). That's 14 counts per second. If you want to have a 10hz feedback loop, you only get 1 or 2 counts per iteration of the loop, that's not nearly enough: if you read 2 you're going too fast and so you slow down, then you see 1 count, you speed up, etc, etc, and the bot drives all over the place except straight. Even with a 1hz feedback loop (and that low of a rate will probably veer and drift all over the place and oscillate like crazy), you'd only get 14 counts per iteration of the loop, which isn't a whole lot of data. Anything less than a 1hz update rate on your feedback loop is almost certain to drift off course...

-Fergs

Adrenalynn
09-03-2009, 01:48 PM
^^^ Practical Robotics Defined right there.

RevBryce
09-03-2009, 02:41 PM
Again not perfect but how about multiple sensors?

CogswellCogs
09-03-2009, 04:24 PM
I think, as always, multiple types of sensors are the key. No matter mow many wheel encoders you have and how perfect they are, they cannot account for wheel slippage. This seems like a particular concern for a vehicle designed to run outside in the mud and wet grass.

What about an electronic compass to make sure you always know in what direction your mower is pointing ? They come in a variety of interfaces and prices, and most seem to have a .5-2 degree resolution. Better then nothing. With this device and a little algebra you could tell if your mower wandered a little.

A GPS might also be handy, but they aren't especially accurate. It would DO no good on a tiny lawn like mine. On the other hand, it might stop an automated lawn mower just before it drove into my neighbor's living room.

Adrenalynn
09-03-2009, 05:24 PM
Depends on the GPS and correction service. You can get sub-centimeter accuracy - if you want to pay for it.

RevBryce
09-03-2009, 06:04 PM
How about .
Get the brake disk and a angle grinder cut notches in the outside of it to
match the sensor(1/4" i think you said) then mount maybe 3 sensors per disk
around the edge all a bit out of phase to each other, then use graycode bits
in your software to get it to work. (i think i`ve got the terms wrong)
that should get you more resolution.
Also will tell you which way its rotating.

Sid723
09-03-2009, 07:54 PM
Sorry I haven't been able to get back to you all right away. I work evenings (oops, hope my boss doesn't catch me typing this.. :confused:)


0.84 Inches is fine for stopping at a certain distance traveled, but you mentioned trying to drive in a straight line. The problem with keeping two motors going the same speed is that you'll need a fairly high update rate on your feedback controller, and you need a fairly high density of pulses to be able to determine error of speed.

Not sure how fast your mower will be driving, but lets make our example easy and guess 1ft/sec (12"/sec). That's 14 counts per second. If you want to have a 10hz feedback loop, you only get 1 or 2 counts per iteration of the loop, that's not nearly enough: if you read 2 you're going too fast and so you slow down, then you see 1 count, you speed up, etc, etc, and the bot drives all over the place except straight. Even with a 1hz feedback loop (and that low of a rate will probably veer and drift all over the place and oscillate like crazy), you'd only get 14 counts per iteration of the loop, which isn't a whole lot of data.

I am a nooby when it comes to robotics stuff, since I just recently had time to delve into this stuff. But, I have been involved in electronics for more than 20 years now. This is how I plan to deal with the wheel timing problem:

If we use 1 foot/sec as you did in your example, then we will have a signal of about 14 pulses per second. With that signal coming from each wheel, I can set the CPU to time each pulse to see when it needs to expect the next pulse. At 14 pulses per second, that works out to 1 pulse every 71 milliseconds.

Example: The CPU will then monitor a pulse from the left wheel, then expect the next pulse to be there at 71 milliseconds. If the pulse is late, by say, more than 5 milliseconds, the CPU will then send a braking signal to the right wheel for either 5 milliseconds (I will have to work out the actual timing for the brake). This will slow down the right wheel, while also delivering more power to the left wheel (thus speeding it up). Until finally, the pulse from the left wheel has caught up and synced with the pulses at the right wheel. (I don't know if I explained it correctly. If not, I will try to make a power point for this later)

If it all works out the way I plan, the pulses at each wheel should stay in sync with the other wheel. Worse case scenario is where the wheels drift by 10 milliseconds. This equates to about 0.14 inches.

This is why I would like to use the pinball coil and a lever combination with a bicycle pad brake to slow down each wheel. The pinball coil is fast and is designed for repeated use. It will be sorta like applying a pulse width modified signal to the coil to allow it to precisely brake the wheel and keep them in sync.

(Uh oh... boss coming.... see ya all later)

Sid723
09-03-2009, 08:00 PM
A GPS might also be handy, but they aren't especially accurate. It would DO no good on a tiny lawn like mine. On the other hand, it might stop an automated lawn mower just before it drove into my neighbor's living room.

Right away, I was planning to tether the bot, until I get the controls working. After that, I will make it autonomous.
I was planning to use a "burried wire" sensing circuit to detect when the bot goes outside of my property boundaries.

CogswellCogs
09-03-2009, 10:26 PM
Depends on the GPS and correction service. You can get sub-centimeter accuracy - if you want to pay for it.

How much does a system like that typically cost ?

Adrenalynn
09-03-2009, 11:37 PM
It's really more the subscription payment that gets ya. But realistically, you should be able to get into something like the ProMark3 for around $4000. Optioning it out will nearly double the price if you go crazy.

I haven't priced the subscription services lately, but just using the parallel channel receiver you should be able to get down to like 0.01m

Sid723
09-04-2009, 01:06 PM
I had my first experimental trial with the bot as it is right now. So far, the cutter works great, so long as the grass is not very long. Which is the way most of these bots are designed to work. They are usually designed to go out every couple of days and trim the grass. This also keeps the lawn from looking like a mess with long cut grass since the bot is not designed to gather the clippings in any sort of container.

The problem is the drive wheels. One wheel will get stuck and the other will free wheel, which is what I expected. This is what the controlled braking should take care of. The other problem is the wheels do not grip the grass very good. I can probably modify the wheels somehow to allow for spikes or something to help grip the grass better. The wheels are not inflatable, so this might work.


Depends on the GPS and correction service. You can get sub-centimeter accuracy - if you want to pay for it.

Believe me, I don't want to spend a whole lot on this hobby. My boss (wife):genmad: almost went ballistic when I had to purchase the two 12 volt batteries for this hobby. Which I shelled out only $87. The cheapest and simplest solution is my goal.

RevBryce
09-04-2009, 06:02 PM
Try to find a second hand one of these.
http://www.ezpower.com.au/index.php?main_page=product_info&cPath=1_11&products_id=140&zenid=8f5cd3b5a502b08a8f90e1d248f0d041
You get wheels, brakes, mudguards and other bits and pieces .
Motors usaley blow up easily but you dont need that bit anyway:D

robologist
09-07-2009, 01:40 PM
Sorry on a late reply here, but the added casters look a bit small, like something that will dig in and get stuck in a lawn. Wheels for dirt should be taller, and wider. Have the old casters left somewhere?

Sid723
09-07-2009, 01:50 PM
During my trial run of the bot, the front wheels did seem like they were sticking in the nooks and crevices of my lawn. The lay-out of the original scooter has the batteries positioned right over where the casters are. I think this added weight is helping to entrench the casters. I have since then moved the batteries to the center and closer to the drive gearbox, and away from the casters. I am hoping this shift in weight will help the casters to move more freely without the added weight forcing them down into my lawn. We will see.

Adrenalynn
09-07-2009, 02:19 PM
Harbor freight has some awesome off-road casters. I have a couple sets.


Let me see.. Like these: http://www.harborfreight.com/cpi/ctaf/displayitem.taf?Itemnumber=42485 only 12" and with knobbier tires. I didn't see them online, but they had a bunch in the store.

Sid723
09-07-2009, 04:31 PM
Thanks Lynn, I like those. I will still try to make the ones I have work. If not, I have a pair of these I purchased from Home Depot. I believe they are around 4 inches in diameter.

1476

I like the built in springs.:veryhappy:

RevBryce
09-08-2009, 02:45 PM
G`day sid
would this do to pull your brakes?
https://www.surpluscenter.com/item.asp?UID=2009090814385140&item=5-1581-R&catname=electric

Sid723
09-09-2009, 01:22 PM
Thanks for the help Rev. I still want to try my plan for the brakes. I had to work through the holiday (extra $$), so I will probably have time to work on my bot again next weekend.

Sid723
09-28-2009, 12:57 AM
Sorry for being gone for so long. You know, life gets in the way. :happy:

Anyway, I have the brakes installed. I will send pictures in the next few days. I have everything ready to go so far, only I am trying to get the bot to work on a remote control that I purchased online.

I really need your help on this one. I purchased this (http://cgi.ebay.com/12-CH-Channel-Wireless-Radio-RF-Remote-Control-System_W0QQitemZ110438984362QQcmdZViewItemQQptZAU_ Lighting_Fans?hash=item19b6ad2aaa&_trksid=p3286.c0.m14) 12 channel remote control online and I am having trouble getting the receiver to "learn" to receive signals from the remote. I think I followed the instructions to the letter, but still not working. I also wrote the seller to let him know I am having trouble getting it to work. Anyone out there have any experience with one of these? Can you tell me exactly what I need to do to get this thing to "learn"? Thanks in advance for any help you can give.

Adrenalynn
09-28-2009, 01:33 AM
Throw it on the ground and stomp on it repeatedly?

These are glorified garage door openers without the security or the channel selectivity - literally. Tempting though they are, if you want to keep from running over things you care about, I'd advise getting a real R/C device.

ooops
09-28-2009, 07:23 AM
Throw it on the ground and stomp on it repeatedly?


Seems harsh, but probably good advice, when operating anything with a blade, it's all about control! Pinching pennies is a big part of the hobby, but control is not a place to skimp. If you invest in a good RC radio (not expensive - just good) it should last for many years and many projects! I still use my old Futaba 4ch that I bought in the '80s and for the record the receiver and servos have survived many plane crashes.

Sid723
10-11-2009, 06:00 PM
OK, for your viewing (and laughing) pleasure. I present to you my lawnbot, so far. The first video shows the function of the remote in turning on power to the wheels, reverse and the left and right brakes (for turning). The second video shows the remote turning on/off the cutting blade.

YouTube - Scooter-to-Lawnbot demo1

YouTube - Scooter-to-lawnbot demo2

Several lessons learned:
1. Need to make the cutting blade higher. It causes drag on the bot when it goes through the lawn. Not to mention, my lawn is too high to begin with.
2. I used the motor control as it came with the power scooter/chair, and turned the speed down to it's lowest. This is still too fast. I will need to work on getting the speed just a little slower, because this is also causing the blade to stall out when it hits the grass head on.
3. The wheels need some sort of tread or spikes to keep from slipping in the grass (even when the grass is not wet). Since the wheel is a solid rubber material, I thought of perhaps drilling holes around the wheel and gluing some rubber tips into the holes. This I will try this week and see how it works. If it doesn't work so well, I can always cut them off and no harm done.

Note: The remote is just a temporary step until I work on controlling the functions of the bot (So, please be nice Lynn:veryhappy:). Once I have the controls...uh..under control, then I will work on sensors and the ground wire detection circuits.

All for now....

ooops
10-12-2009, 07:20 AM
Great to see progress:)



3. The wheels need some sort of tread or spikes to keep from slipping in the grass (even when the grass is not wet). Since the wheel is a solid rubber material, I thought of perhaps drilling holes around the wheel and gluing some rubber tips into the holes. This I will try this week and see how it works. If it doesn't work so well, I can always cut them off and no harm done.




One thought here, if any of the local tire dealers in your area offer re-grooving service, they can add all kinds of traction to those tires.
Re-grooving is when a worn out tire has the tread voids cut deeper to add additional miles to the tire. Normally only done to truck tires so bear that in mind when calling around.

Sid723
08-23-2010, 12:51 AM
Re-grooving is when a worn out tire has the tread voids cut deeper to add additional miles to the tire.

:veryhappy: Sorry to take so long to get back to you Oops. Actually, the tires need to be slightly bigger as well as needing the deeper treads. I actually found some belting material to put on the tires that gave it a bigger diameter as well as better traction.

I am looking into designing and building a decent micro-controller board to control the Lawn-bot. I like the Orangutan and other controller boards out there, but I just want the fun of designing and building it myself from the ground up. I will be using a PIC16F877 and have several board designs created along with a combination keypad and LCD board for the user interface. Work is still in progress, so don't give up on me yet.

ellyka112
11-27-2010, 02:15 AM
The solinoids from car starter motors have some serious grunt and are used to beening hot.
Just watch your fingers as they bite so they should work to pull a cable.
Might be to much load but worth a try.
How big are your wheels? (Diameter-wise). Generally, you want a fairly high encoder count in order to do speed regulation, otherwise you won't have the necessary resolution in your count in order to compare speeds. Just something to think about, in case you haven't dealt with feedback loops before.



______________________
How to copy wii games (http://www.youtube.com/watch?v=E5kujARjswI)
Wii Game downloads (http://www.youtube.com/watch?v=E5kujARjswI)

obama5493
03-05-2011, 10:51 PM
Bicycle disc brakes are an excellent idea. I've trusted my life to them to bring a 350lb tandem to a stop from 70+mph faster than a car can, and to maintain speed on gnarly descents. A servo would probably be a better bet for gently actuating them, and hydraulic is a must-have.

Good suggestion!
I will have pictures tomorrow for everyone to see my progress so far. I forgot to mention that I will have prox switches at each wheel that will receive 5 signals per rotation. Eventually, the CPU controlling the bot will monitor the wheel movement and adjust the braking to each wheel thus keeping them in sync and going straight when that is what it needs to do.

I don't see how bicycle brakes will work since the wheels are much thicker than bicycle tires.

I have attached a power point to show how the braking will work to allow the bot to turn. I just need ideas whether to do it this way. If anyone has a better idea please let me know.
_____________
Watch TV Online (http://www.tvonlinewatch.com/)

Sid723
03-09-2011, 07:10 PM
It has been a long winter. Sorry it is taking a long time for me to update with a post. Anyway, I have been rethinking the whole project and I am now thinking of using separated motors to drive each wheel (the normal way). The only reason I wanted to do this project in the first place was because I came into posession of a used power chair. I have have been working on the design for the controller board which has the PIC16F877.

The controller board design currently has separate connectors for a keyboard and LCD that I will have on the cover of the bot. It also has connectors that go to each of the sensors for front, left, right, left_motor_prox, right_motor_prox. It also has connectors for each of the outputs such as left_brake, right_brake, cutter_motor, and motor speed/direction controller.

I am still working on the burried fence circuit, but have some designs on the drawing board. I will try to get the board designs posted as soon as I can.

Also, just wondering.....who is this Obama5493