Shop OBEX P1 Docs P2 Docs Learn Events
Rover 5 Projects and Information — Parallax Forums

Rover 5 Projects and Information

Duane DegnDuane Degn Posts: 10,588
edited 2014-04-15 10:00 in Robotics
First post reserved from thread index.

Post #2 Rover 5 Project Videos
Post #3 Rover 5 Project Photos
Post #4 Rover 5 Software
Post #5 Other Rover 5 Stuff
Post #6 Rover 5 Questions and information

This thread will mainly be about my Rover 5 with treads. I also have a thread about my Vex Mecanum wheeled Rover 5.

Edit (April 15, 2014): There's a lot of discussion about how to keep the treads from coming off in this thread. While I ended up modifying the wheels on my Rover 5, I did test the Rover 5 with unmodified wheels. With the treads at the correct tension and with the gearboxes in proper alignment, I wasn't able to throw a tread no matter how aggressively I drive the Rover 5 with either type of wheel. While I think the modified wheel looks cool and the modified wheel does work better in some conditions than the unmodified wheel, it is certainly not necessary to modify the wheels of the Rover 5 to achieve very good performance from the chassis.
«13

Comments

  • Duane DegnDuane Degn Posts: 10,588
    edited 2017-03-11 00:11
    Reserved for videos.

    Rover 5 in the snow (same video as in post #55).




    Below is a figure 8 video (as seen in post #43).



    There are additional videos in post #23 (extended rim failure) and post #44 (failed figure 8 on hard floor).
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-01-10 13:26
    Reserved for photos.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-01-10 13:27
    Reserved for software.

    Update: 2/25/13

    I've attached two versions of the same motor driver with demo. The version ending in "130225a" uses four motors the version ending in "130225ax" has the pin assignments of two of the four motors set to "-1". The "x" version should work with two motor robots.

    The driver's frequency period is set in the CON section of "FourMotors130223a".
    CON
     
      MAXSPEED = 1_600_000  
    

    The frequency can be computed by dividing the clock frequency by "MAXSPEED".

    In this case, the frequency is 50Hz.

    The demo uses data in the DAT section to determine how fast to drive the motors and for how long.
    DAT
    outputScript  long 600, 600, 600, 600, 500
                  long 1000, 1000, 1000, 1000, 500
                  long 600, 600, 600, 600, 500
                  long 0, 0, 0, 0, 1000
                  long -600, -600, -600, -600, 500
                  long -1000, -1000, -1000, -1000, 500
                  long -600, -600, -600, -600, 500
                  long 0, 0, 0, 0, 1000
                  long 0, 0, 0, 0, 0   ' zero speed ends program
                  long 1000, 1000, 1000, 1000, 500    ' data just to make sure program ended
    

    The above data starts by setting all four motors to 60% duty cycle (600 of 1000) for 500ms. The last number of each group of five is the amount of time to drive the motor at the particular speed.

    The above code sets all motors to 60% duty for half a second and then sets the motors to full power (1000) for another half second. The motors are then reduced in speed and set to turn in reverse.

    The line:
    long 0, 0, 0, 0, 1000
    

    Sets the speed to zero for one second. A zero value for time is an indication to stop the program. I added an extra line of data to make sure the program really did stop.

    I'm working on additional code that provide encoder feedback to aid in speed control. I should be posting this additional code soon.

    Edit(3/11/15): Warning, the code attached is an old version. There are likely better options available.
    I plan to upload this program or an improved version to my GitHub account
    If there isn't code similar to what is attached here on my on GitHub, send me a message and I'll make and check for any improved versions of the code.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-01-10 13:27
    Reserved for other stuff.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-01-10 13:28
    I plan to use this thread to hold information I've learned about the Rover 5 robotic platform.

    I've recently been asked in a PM about the Rover 5 and I prefer to answer these questions here in the forum so I'll be able to refer other here with similar questions.

    I purchased my original Rover 5 (I have two) from SparkFun Electronics. My second Rover 5 was purchased from a fellow forum member Ravenkallen.

    While I have some information about the Rover 5 in my Mecanum wheeled robot thread, I thought I'd use this thread for general information about the Rover 5 platform.

    I'm still undecided about how much to recommend the Rover 5 platform. I far as I have seen, I think it's the least expensive way of aquiring a robot with four motors and four encoders.

    I'm often hesitant to quote from private messages in the forum but I really don't think rwgast will mind if I quote him here.
    ... I was wondering if you could enlighten me on the encoders. Its says 333 ticks per rev, i assumed that meant per channel, then i saw a picture of the disc and it had a very low wedge count. So are the encoders 333 ticks including rising and falling edges on both chanels, ie 83 rising edges per channel?! It wouldnt be that bad except I read they went to hall effect in the sparkfun comments (btw, way to plug the prop) so you cant just reprint new stickers on the disk. This seems kind of low for super hi accuracy odometry.

    The second post in my Mecanum thread describes the encoders in detail. You are correct about he 83(.33) rising edges per channel. And yes, I'm not sure if this will cause odometry trouble or not but it does make speed control difficult.

    The "printing new stickers" for the disks doesn't work with the earlier encoders (I tried). I haven't seen the newer magnetic encoder version.

    While it may be possible to replace the motors in the Rover 5, I have no idea where one would find replacement motors to fit in the motor housing. I'm pretty sure back when I attempted to use different encoder stickers, I also measured the motors. I could probably find the information in my notes if someone was interested.

    The Rover 5's motors can be positioned at a variety of angles. In order to move the motor housing the metal bracket on the inside of the chassis needs to be removed in order to pull the motor housing out from the chassis. The screwdriver that came with my Rover 5 was useless for this task.
  • ercoerco Posts: 20,244
    edited 2013-01-10 13:36
    I just had to post to break up Duane's postal monopoly.

    Or fillibuster, depending on how you look at it.

    I'm the plain jane bane of insane Duane Degn's vain chain!
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-01-10 13:59
    In another thread I had mentioned to rwgast, I had worked on a four motor PWM object.

    Attached is the most recent version of this object. I'm sorry to say, I'm not sure it works. I don't know if this is one I've tested or not.

    I hope to test this soon to find out for sure.

    Be aware that the child object uses a serial object to output data to a debug window. You'll want to remove the debug portion before incorporating it into a project.

    My Mecanum thread has an program that reads the Rover 5 four quadrature encoders.

    My attempt at modifying the Mecamun wheeled robot's program with this four PWM object has not been successful so far.

    I have not used the Rover 5 with the original treads much. I found the treads came of the wheel hubs rather easily during the brief time have spent using the platform with the treads.

    To answer a question about the resolution of the Propeller's PWM signals:

    There's a trade off between resolution and frequency that occurs in most PWM techniques. The higher the frequency of the PWM signal the less resolution will be possible. Using counters, one could easily have PWM frequencies in the kHz and still have a resolution of several thousand (I haven't done the math to figure out the exact limits.)

    If you're not using counters, the resolution/frequency trade off will depend on fast your PASM loop is for reading the desired PWM level, how many levels need to be read and much overhead there is to setting up the loop and setting the pin states.

    Edit(3/11/15): Warning, the code attached is an old version. There are likely better options available.
    I plan to upload this program or an improved version to my GitHub account
    If there isn't code similar to what is attached here on my on GitHub, send me a message and I'll make and check for any improved versions of the code.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-01-10 14:03
    erco wrote: »
    I'm the plain jane bane of insane Duane Degn's vain chain!

    I suppose that makes more sense than my little sisters' "Duane Degn the choo choo train had a broken candycane."

    (Yes, Degn is pronounced (by us non-Danish speakers) as "Dane".) (Who would name their kid Duane Dane?)
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-01-10 14:23
    As I mentioned in the Mecanum wheeled robot thread, I'm using L298N chips to control my Rover 5s so far.

    erco has found several great deals on L298N boards. Two of these could be used to control the Rover 5.
  • rwgast_logicdesignrwgast_logicdesign Posts: 1,464
    edited 2013-01-10 14:58
    So if I happen to get a rover with optical encoders, what exactly is the problem with printing a new encoder pattern.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-01-10 15:14
    So if I happen to get a rover with optical encoders, what exactly is the problem with printing a new encoder pattern.

    The higher resolution pattern didn't produce the desired pulses at top speeds. They worked at low speed.

    After trying several different patterns, I decided the designers of the robot had probably already determined the finest pattern the encoders could accurately read.

    IIRC There were a limited number of patterns that would produce the desired quadrature output based on the sensor positions.
  • Martin_HMartin_H Posts: 4,051
    edited 2013-01-10 18:48
    I'm looking forward to seeing your code. My PropTank uses the RP5 chassis which is a predecessor to the Rover 5. So I should be able to borrow ideas.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-01-10 20:03
    I found some photos of some of my Rover 5 experiments.

    This next photo shows my attempt at tripling the resolution of the encoder with a twelve striped disk instead of the four striped disk.

    attachment.php?attachmentid=98582&d=1357876152

    This next photo shows my attempt at pulling the gear boxes toward each other. With the rubber treads on the Rover 5, the gear boxes are pulled outward. I tried using some nylon standoffs to pull the gearboxes back together.



    I had to change the standoff farthest away from the camera to a metal one in order for the threads to hold up to the strain caused by the rubber treads.
    attachment.php?attachmentid=98583&d=1357876167
    I believe one reason for this attempt at pulling the gearboxes back together was in an effort to keep the treads from coming off the hubs. If the motor mounts were positioned so the hubs were close together, the gear boxes weren't pulled away from each other as much. While the gearboxes weren't being stressed there wasn't enough tension in the treads to keep them from coming off the hubs.

    My plan was to stretch the treads tight in order to keep them on the hubs. I got very tired of taking these gearboxes apart and when Ravenkallen sold me his Rover 5 I used it with the then newly available Vex Mecanum wheels. I haven't revisited finding ways to keep the treads from coming off the hubs.

    I do recall gradual turns were less likely to cause trouble with the treads than sharp turns or turning in place.

    The problem with the treads is one of the reasons I don't wholeheartedly endorse the Rover 5.
    912 x 684 - 226K
    1024 x 569 - 59K
  • ercoerco Posts: 20,244
    edited 2013-01-10 20:04
    Martin_H wrote: »
    So I should be able to borrow ideas.

    "Good Designers Copy, Great Designers Steal"

    http://www.sitepoint.com/copy-great-designers-steal/
  • rwgast_logicdesignrwgast_logicdesign Posts: 1,464
    edited 2013-01-12 17:13
    One other thing, I dont recall Duane mentioning as far as the rover 5's quality. From what I have read the roves arms are set in the box to the setting which would give the chassis the least amount of clearance. This causes the arms to bow a bit and in some cases the tank wont roll straight any more the arm has bowed so bad!

    From what ive read the rover is an awesome platform but it really needs wheels instead of treads, the tread slippage and arm bowing is just unacceptable. When considering the rover I had planned to put RC wheels on it, as there is a blurb in the rovers description which says it is possible to buy adapters to fit standard RC wheels. From all the research Ive done I think in order to get the RC compatible shaft hubs you have to purchase dagu wheels for the wild thumper.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-01-12 21:36
    I dont recall Duane mentioning as far as the rover 5's quality. From what I have read the roves arms are set in the box to the setting which would give the chassis the least amount of clearance. This causes the arms to bow a bit and in some cases the tank wont roll straight any more the arm has bowed so bad!
    Duane Degn wrote: »
    This next photo shows my attempt at pulling the gear boxes toward each other. With the rubber treads on the Rover 5, the gear boxes are pulled outward. I tried using some nylon standoffs to pull the gearboxes back together.

    I think a lot of Vex wheels could be made to work with the Rover 5. Obviously the Vex Mecanum wheels work.

    Ravenkallen made a video of his Rover 5 (it's strange to think the robot in his video is the same robot seen in my Mecanum wheeled videos).

    I'll try to add some more info about possible Rover 5 wheels tomorrow.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-01-13 02:25
    Some thoughts about Rover 5 Wheels.

    As I mentioned earlier, I think there are a variety of Vex wheels that would work with the Rover 5.

    Of course my first choice of Vex wheels is their 4" Mecanum wheels. I also think their 2.75" wheels and thier 4" wheels would work well with the Rover 5.

    I'm sure you're aware of some of the wheel options available from SparkFun. It sounds like you're thinking of getting their Off-Road Wheels? It looks like those should be easy to mount since they come with an adapters for the Rover 5's 4mm axles.

    Do NOT get the FingerTech Mecanum wheels. I have a set of the FingerTech wheels and they are not nearly as good as the Vex version. The FingerTech wheels are easier to mount than the Vex and the FigerTech are probably a more appropriate size for the Rover 5, but these two positive features don't make up for how poorly they work (when compared against the Vex wheels).

    The Vex wheels I mentioned could be mounted using the technique I used to mount the Vex Mecanum wheels as shown in post #29 of my project thread. You'd want to remove the rubber tire portion of the wheel in order to drill into the plastic wheel. If you're adding a set screw to a wheel with a tire, you'll probably need to use the improved method of installing a set screw Cliff came up with. Once the set screw is installed and the wheel is secured to the axle, the tires could be replaced.

    I think using a counter sunk set screw similar to Cliff's, most of the Vex wheels could be modified for use with the Rover 5.

    You could even use Vex tracks on the Rover 5 by using the same set screw technique on the drive sprockets. You'd probably need to add some support structure for the idler wheels. (I don't seriously suggest doing this. I just thought using Vex tread on the Rover 5 would be a kind of ironic.)

    I'm sure there are many other wheels that would work with the Rover 5. Depending on which wheels you use, it may be helpful to get some mounting hubs to use on the 4mm axles.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-02-06 13:13
    I'm attaching a couple of drivers to this post.

    There is both a four motor driver (uses one cog) and a four quadrature encoder driver (uses one cog).

    The archive "DemoFourMotorsAndEncoders" use both these drivers. The motors are controlled by input from a terminal window (see comments for instructions). This demo uses a total of four cogs.

    The archive "DemoFourMotorsSimple" is a very simple demo of just the motor driver. There is a loop that sets all four motors to forward speed, stops, sets to reverse speed, stops and then repeats this cycle.

    The pin assignments are in a header file. These will need to be changed to match your robot's settings. IIRC, some of the pins are set to "-1" in the demo since I only had two H-bridges connected when I was testing the demo. I'm pretty such I've tested the driver with four motors so it should work.

    The driver assumes the H-bridge is controlled with three lines as L298N and MC339926 drivers require. Once I wire up some inverters to reduce the pin count, I'll update the code to use only two control lines (direction and PWM).

    After reading about rwgast's concern of being able to use CR servo type inputs, I added a "Set" method to the driver. This allows a motor to be controlled as if it were a CR servo. I haven't tested this method yet. I should get a chance to test this in the next day or two.

    As the demo exists now, the feedback from the encoders do not affect the motors' PWM values. I'm still working on the feedback portion of the code.

    Any comments and questions about these drivers and demos are welcome.

    Edit: ****** Warning ****** The "FourMotorsAndEncoders" software has a serious bug. I'm pretty sure I'm got a glitch with a waintcnt some where in the code. Motor #1 has a tendency to turn on to full power and stay at full speed for about a minute (hence my suspicion of a waitcnt problem).

    If any of you spot the problem before I find it, I hope you'll let me know.

    I haven't tested the "Simple" demo, so I don't know if it has problems. My guess is it will also have the same bug.

    I'll update this thread once I find the problem.

    Edit(2/25/13): See post #4 for my new four motor driver. Just a simple demo is available for now.

    Edit(3/11/15): Warning, the code attached is an old version. There are likely better options available.
    I plan to upload this program or an improved version to my GitHub account
    If there isn't code similar to what is attached here on my on GitHub, send me a message and I'll make and check for any improved versions of the code.
  • rwgast_logicdesignrwgast_logicdesign Posts: 1,464
    edited 2013-02-06 13:31
    Hey thank Duane, I appreciate the modification to your code! Anyways I just downloaded both files and will test them out later with my Roomba base. Im using an l6295 H bridge on it set up with an enable pin, and then a + and - pin which I send a PWM signal too, depending on weather I want forward or reverse. This is obviously a three wheel bot but im sure it shouldn't be any issue to get working. Ill let you know how it goes, i definately plan to test the CR stuff out.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-02-08 20:25
    I've been working on trying to get the encoder feed back to work with these drivers. I kept having a problem with motor #1 turning on to full speed. I'm guessing I have a waitcnt bug somewhere.

    Sorry for the inconvenience. I'll try to get this fixed asap.
  • rwgast_logicdesignrwgast_logicdesign Posts: 1,464
    edited 2013-02-15 12:10
    Hey Ive seen this bot before, it was on hack a day too, if you look to the left they also have a version using off road wheels

    http://veterobot.com/index.html
  • Duane DegnDuane Degn Posts: 10,588
    edited 2017-03-11 00:11
    Here's a failed attempt at keeping the treads from coming off the Rover 5.



    I still have a couple other ideas to keep the treads in place. I'll likely give these other methods an attempt in the near future. I still have hopes of seeing this robot do a figure 8 with its threads intact.
  • rwgast_logicdesignrwgast_logicdesign Posts: 1,464
    edited 2013-02-16 13:17
    Duane is this the 4wd model? From what I understand this tread issue really only happens on 4 motor models. Notice you will never see a real machine, with treads, i.e. bobcats whatever that have 4 independent motors. If you plan to use treads take two motors out, if that is possible. There is NO reason, with tread those extra motors are doing nothing for you, except draining power. The only thing that the 4 motors will give you is the ability to carry more a heavier load.

    You should at least see if removing the motors works, im very curious, I see alot of rovers whos treads don't fall off, the only place everyone is complaining about the tread slippage is sparkfun, where they carry the 4 motor model.
  • ercoerco Posts: 20,244
    edited 2013-02-16 14:15
    Just ignore him, Duane. 4WD is fine. As I see it, you have 2 issues. Those bowing bogies are getting your driveline misaligned and driving the treads right off. Second, with treads, how you keep them on is counterintuitive. Currently you have cylindrical spools for drive wheels. As your test showed, threads will climb up any edge. You actually want barrel-shaped rollers. Yes I'm serious. No edges. You could even use balls.

    Wiki belt (mechanical) and read under flat belt and how a crowned pulley self-centers.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-02-16 14:25
    If you plan to use treads take two motors out, if that is possible.

    Disconnecting two of the motors has crossed my mind several times but I haven't ever tried it yet. The motor can't be removed easily but I could take out the drive gears between the motor and the wheel.

    I disagree that the extra two motor only drain power. Two motors working together to move one thread don't have to work as hard as a single motor. I'm pretty sure the extra motors do come at a power cost but I don't think they double the power used (not that you claimed they did).

    I use the Rover 5's encoders to match the speed of paired motors so they shouldn't be fighting against each other (much).

    I was about to open up a couple of the gearboxes anyway on the Rover 5 so I think I'll try your idea and remove the gears from two of the gearboxes. I'll leave the motors installed but disconnect their power.

    One of the contributing factors to the treads coming off is the way the gearboxes bow outward. I had some success at keeping the treads on the Rover 5 when I positioned the gearboxes so the threads were pulled tight and the gearboxes where pulled back the their proper position with standoffs extending from one gearbox to the other. You can see these standoffs in post #14 above.

    I was about to try something like the standoffs again but I think I'll give your idea a try first. Thanks.

    If I use the standoff approach again, I'll need to modify the technique since the plastic standoffs weren't strong enough to hold up to the stresses caused by the pull of the tread (the metal nuts would be pulled off the plastic standoff threads). I didn't have the enough of the correct size of metal standoffs at the time so I used plastic standoff with my earlier experiments. If I try to pull the gearboxes back in alignment again, I'll use some other (hopefully stronger) materials.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-02-16 14:39
    erco, I hadn't seen your post when I made my last post.
    erco wrote: »
    Those bowing bogies are getting your driveline misaligned and driving the treads right off.

    Yes, as I've noted, if the bowing can be eleminated, the treads do stay on better.
    erco wrote: »
    Second, with treads, how you keep them on is counterintuitive. Currently you have cylindrical spools for drive wheels. As your test showed, threads will climb up any edge. You actually want barrel-shaped rollers. Yes I'm serious. No edges. You could even use balls.

    Oh yeah? This is counterintuitive. The treads have an inward pointing "V" shaped spike on the inside center of each tread segment. The "V" shaped spike fits in a groove in the spool/wheel. I'm not sure how much this would get in the way of a modified roller.

    I actually have a spare set of rollers since the other Rover 5 I have has Mecanum wheels. I could take a pair of the roller to my belt sander and get rid of the rims and even round off the edges a bit? Do you think something like that would work?

    I'm not real keen on modifying the rollers but heck, you don't really own something until you void the warranty anyway. Now I'm really curious if that would work. Any ideas on the shape?
  • rwgast_logicdesignrwgast_logicdesign Posts: 1,464
    edited 2013-02-16 17:59
    All I was saying is 4wd treads draw a lot of power. Test your current on the rover with mecanums... then with treads. Yes 4 motors has more torque, but is it needed here? Look at how treaded construction vehicles are designed, most if not all use two motors.

    Barrel shaped wheels may indeed work better. Maybe some elborately designed system with idler pullys will help out. Im sure there are all kinds of ways this COULD be done but i dont think it would be worth the effort.

    In my fits of OCD and lusting for a 4wd dessert ready rover, i looked at just about every single user built rover 5 out there, and all the options from different sellers. The only people having tread problems are 4 wheel owners. Yes im sure the way the chassis bowes does not help at all. But people with 2 motor rovers that bowe only complain there bot wont go straight encoders or not. Youtube shows many rover5s making turns with there treads staying on and there also bowed, but there 2wd. I dont own this chassis and did not buy it for this reason...

    As i said there are probably solutions to get the 4wd model working, but none are as practical as removing two motors and doing your best to straighten the body.

    Im sorry if this sounded a little hostile, i just feel a little burned right now, and not buy you. I just thought i would share what i learned from the hours of studying the problems with this thing and reading about tons of other users experinces.
  • ercoerco Posts: 20,244
    edited 2013-02-16 19:33
    Duane Degn wrote: »
    The treads have an inward pointing "V" shaped spike on the inside center of each tread segment. The "V" shaped spike fits in a groove in the spool/

    That's a dealbreaker. Dunno if it's a option to radically mod the inside of the tread by cutting off with end nippers, plus making custom barrel rollers. Likely more trouble than it's worth, since the bowing chassis is still the weak link. It sounds like the Rover 5 chassis is ill-prepared for robotics, especially treads. :(

    Flat belt on barrel rollers, no "lip". You can start to see how the belt self-centers, despite oscillation:
  • rwgast_logicdesignrwgast_logicdesign Posts: 1,464
    edited 2013-02-16 20:26
    The one thing I really dont understand about the Rover 5, is it would be very nice if it didnt come bowed. The reason it comes bowed is that they tension the tracks as tight as they can so it sits there like that in the box till its shipped. Everyone complains about this!!! This is also a Dagu bot and I know oddbot from LMR works for them, very involved in the community, im sure he has seen all the problems people have with bowed chassis. I would think they would A, require the buyes to attach the treads, or B angle the gear boxes to take the tension off of them, and let the user adjust them accordingly.

    BTW a 2WD Rover5 without encoders can be had for 27 bucks on hobby king, obviously this thing costs peanuts whole sale, not surprising the it has quality issues.
  • NWCCTVNWCCTV Posts: 3,629
    edited 2013-02-16 20:58
    Everyone calm down, count to ten in binary and play nice!!!!!
Sign In or Register to comment.