ROB3, my third robot started out using my ROB1 base, as I wanted to play around with the gyro again using a 2 wheeled robot, but alas, one of the servos died. So what’s a robot builder to do? Use a Rover 5 base of course! I have the 4 motor / 4 encoder version. I wired up everything except the encoders to my Arduino. That’ll be one of my next steps.
So now this turned into an experiment to learn to use encoders to maintain a constant speed and relearn the gyro to maintain a rotation rate. As well as flesh out my communication code using 2 way communication. I am once again making use of my ICE2 controller.
I also have a gyro, xbee and oled display wired up. I’m using Xbee’s again since it lets me have 2 way communication. Not only does the remote tell the robot what to do, the robot can also tell the controller to display things about itself. For example, the robot knows how much current each motor is drawing, and sends that information to the controller, which in turn displays it on the OLED for me to see. I can also have sonar readings, battery voltage etc.
The video is showing him in an early stage. Basically has drive and 2 way communications working. I had the gyro code hooked up and was able to drive with the joysticks, but there was a bug I needed to ferret out so I dumbed the code down and didn't’ have a chance to re implement it before posting to LMR.
The Rover 5 is a popular rover development platform. In particular the version featuring 4 motors with 4 encoders. I question the necessity for 4 encoders on a tracked vehicle? I could understand if the wheels were independently driven. However, for a tracked vehicle it would seem to me that 2 motors with encoders and 2 idler wheels would be more efficient. Thoughts?
My choise for 4 motors was soly based on what sparkfun had at the time. I’m glad to have the 4 though, since it allows a more even spread of power on the tracks, which may or may not really effect anything. I like to think it helps extend the life of those rubber tracks. But I do also plan to mount four mecanum wheels at a later date. After playing with ROB2 using omni directional wheels, controlling a robot with anything else just feels combersome.
We built a similar project. However, we installed an Android device onto a RC car and used an IOIO board instead to control it autonomously. Here is the preliminary result:
Your bot is sweet. My nerdy side really enjoyed the little screens!
I’ve been trying to use the Rover 5 motor driver board for a uROV. Works perfectly under Arduino control, but I see that motor outputs 1 and 4 are reversed by comparison to outputs 2 and 3. Did you notice this behaviour? I’m 100% confident in my code and wiring: I’ve checked it with a scope. If I set all direction pins high and all PWM pins to 25% PWM, motors 2 and 3 go backwards.
I was thinking it sort of makes sense to have two outputs reversed: So, if you had motors 2 and 3 on the same side of your vehicle and 1 and 4 on the other side and you set the motors all forward, then the veh. would go forward. I just don’t see anything to thta effect in the documentation.