Let's Make Robots!

Remote controlled Rover 5 Robot Chasis

Drives around controlled by a remote.

I have a rover 5 chassis (4 motors, 4 encoders). My goal to use this chasis to create a robot that drives around and is controlled by a remote. I am new to robotics and I am unsure about how to assemble my robot chassis / what to do next. After discussion I have decided to use an Arduino Uno with a remote, possibly along the lines of this.

I already have the board pictured here as well as the Arduino Uno.

I recieved the following parts, along with the chassis itself and a battery holder capable of holding 6 batteries.

I am now in the process of finding out how to connect up the motors with the motor driver and the Arduino Uno

In regards to the remote, will the remote mentioned above work, and if so, how (e.g. how will it affect the Arduino Uno sketch)?

Thanks in advance!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I see you added an IR remote to your list of parts you plan to use.

IR has the advantage of being relatively inexpensive, particularly since we generally have so many extra remotes around. While SparkFun's remote looks fine, you could probably use one you have already.

You'll need a way of receiving the IR signals. It looks like this part would do the trick.

One of the things that can cause you trouble with an IR remote is having the correct code to recognize the data from the remote. Different brands of remotes have different protocols. The Sony protocol seems to be a popular one with robotics.

Another possible problem with an IR remote is they don't work well outside or where there's a lot of light. Apparently sunlight has a lot of IR in it which can swamp the IR receiver.

As Duane Degn mentioned, the Sony Protocol is commonly used in robotics because it is easy to generate and decode plus Sony is a fairly common brand so lots of old TV, DVD or Stereo remotes lying around. Alternatively a cheap universal remote can be bought and set to imitate a Sony remote.

If you do intend to use the Sony protocol then I have a nice small external Interrupt Service Routine (ISR) to decode it here:
http://letsmakerobots.com/node/39384

If you go to that link you will also find links to more information on IR remote control and a library that can work with any IR protocol. The disadvantage of the library is it uses a lot more memory and a timer interrupt which can affect some of your PWM pins.

Hello OrionBot, My goal is to control the robot with a remote control to drive around. Eventually I will add more features, but this is my goal for now. Thankyou for your helpful comments, Joccer
I am very new to this and I am not sure what oddbot meant about the wiring connections. Please could you clarify exactly what I need to do to wire up the robot - please use what is written on the board so that I know which one it is. I was wondering whether the uno and the motor driver are the only boards that I need. If I need to purchase another one, please clarify. Also, apart from what came in the rover 5 box and the arduino uno, what other materials do I need to purchase (e.g wires, motor shield) Thank you for your helpful comments, Joccer

Hi Joccer-

Looks like you have a healthy learning curve ahead of you. That's an exciting part of this hobby so take your time with it. I have a lot still to learn myself. Everytime I get into a new robot project I start by searching LMR, and the internet in general, for similar projects that others have done. You may not find one exactly like what you are doing, but you may get close. For example, a few weeks ago I posted a schematic of wiring up the Rover 5 and the 4 Channel Controller but I was using the Spider as the brains. You can find it here: http://letsmakerobots.com/node/40103  From that Schematic you extract what may help you but of course the Uno is different than the Spider. I can tell you that you'll need a lot of jumper wires too. By looking at the Rover 5, 4 channel controller and UNO you be able to determine the kind (Male-Male, Male-Female or Female-Female) and about how many you need.  I would also recommend taking the time to draw some sort of schematic based on what you find in the searches before wiring anything up. It will help you in the near term with lowering the potential for frying anything and help you in the long run with troubleshooting. Maybe I missed it in this post, but what is the goal of your robot? Object Ovoidance? Remote Control? Writing down what you want the robot to do will help in selecting controllers and sensors.

PWM=pulse width modulation.

DIR=direction.

CUR=current.

GND=ground.

Vcc=+5V.

I think you need to learn how to program the Arduino first. Then read the manual again. It is not rocket science.

PWM controls speed. Dir controls direction. Cur goes to your analog inputs so you can measure how much current the motor is drawing.

Hello Joccer! I mounted my rover "Acerola01", do not know if you saw but has details, software, bill of materials and some tips mounting. Hope that helps and that you enjoy: http://letsmakerobots.com/node/39969

 

The Arduino motor driver is no help, it cannot handle the current draw of the motors.

Use the Uno, make sure it's 5V output is connected to the 4ch motor drivers 5V logic input and use a single power switch to control everything to ensure motor power is not applied without logic power.

the simplest setup with the 4 motor chassis is to slave the back wheels to the front so that the left PWM and DIR pins go to both the left front and left rear motor channels. Right PWM and DIR go to both the right front and right rear motor channels.

Remove the treads when you first test this to make sure both left motor and both right motors are running in the same direction otherwise they will fight eachother when the treads are on.

DO NOT connect front and rear motors to a single channel as a single channel cannot supply enough current for 2 motors if they are under heavy load or stall. You will damage the motor controller.

The simplest way to read the signals from your RC receiver is with the pulseIn() command. Have a look at the Wild Thumper sample code to see how.

The Arduino Uno should be able to control the motors of the Rover 5. I don't think the motor shield has much to offer in this situation since the Rover 5 motor controller already has 4 h-bridge circuits.

If you already know how to use the Arduino, you should probably start with it.

I'm using the QuickStart board on my Rover 5 projects but I chose the QuickStart since it was the least expensive Propeller board at the time. Now the Propeller Project board is the least expensive Propeller board. If you wanted to use the Propeller, I'd suggest the Project board.

The joystick you linked to would require a microcontroller to read the outputs and then you'd still need a way to transmit the commands to the robot. You'd basically use the joystick as part of a remote you'd build. AXORiON used four of those type of joysticks in his remote for his omni wheeled robot. If you build your own remote, don't buy the joystick from Phidgets. It's way over priced. There are many less expensive options.

A relatively easy way to add a remote is to use a TV/VCR remote. You'd need an IR receiver on the robot and code to read the signals from the IR. This Rover 5 project looks like it uses an IR remote.

RC radios for airplanes/helicopter and cars is another option. I'm using my helicopter remote to control my Rover 5. You can get these for about $25 from HobbyKing (get mode 2 if you live in North America).

There are also a variety of transceivers you could use. XBees are easy to use but kind of expensive (AXORiON's remote mentioned earlier use a XBee). Nordic nRF24L01+ transceiver cost a little more than $1 if you buy several at a time from ebay sellers. I like the nRF24L01+ since they're so inexpensive.

I think Bajdi uses the nRF24L01+ transceivers with his Rover 5. I'm building a remote using one of these transceivers myself.

One nice thing about using a transceiver is you can receive telemetry back from your robot.

Bluetooth is also commonly used to control robots.

I've also seen people use wireless PlayStation 2 controllers to control robots.