Web controlled rover

Building and playing with robots is my main guilty pleasure in life. Others play golf or ski, but I build robots (since I can't play golf or ski :-). I find it relaxing and fun! To make most of my bots, I use chassis kits. Using kits helps me do what I like doing more, the software and electronics and also makes for a better chassis for my all-thumbs self.web controlled rover

In this Instructable, we will look in what it takes to make a simple but robust Wifi/web controlled rover. The chassis used is the Actobotics Gooseneck. I chose it for it's size, expand-ability and cost but you can use any other chassis of your own choosing.

For a project like this, we will need a good solid single board computer and for this bot I chose to use the Raspberry Pi (RPI) a Linux based computer. The RPI (and Linux) gives us lots of coding options and Python will be used for the coding side. For the web interface I use Flask, a lightweight web framework for Python.

To drive the motors, I chose a RoboClaw 2x5a. It allows for simple serial communication for commanding it and works well with the RPI and the motors on the Gooseneck.

Finally, it has a webcam for POV type video feedback for driving it remotely. I will cover each topic in more detail later.

Step 1: Hardware needed

  • Actobotics Gooesneck chassis or a suitable replacement of your choice
  • Raspberry Pi of your choice (or clone) – An RPI model B is used on this bot, but any with at least two USB ports will work
  • Standard Servo Plate B x1
  • 90° Single Angle Channel Bracket x1
  • RoboClaw 2x5a motor driver
  • Small breadboard or Mini breadboard
  • Female to Female jumper wires
  • Male to Female jumper wires
  • Web cam (optional) – I use a Logitech C110, and here is a list of supported cams for the RPI
  • 5v-6v power source for servo power
  • 7.2v-11.1v battery for drive motor powering
  • 5v 2600mah (or higher) USB power bank for the RPI

On my bot, I use 4″ wheels to make it a little more All-Terrain-Indoor. For this option you will need:

Step 2: Assembling the chassis

First assemble the chassis following the instructions included with the chassis or video. After finishing you should have something like the image. NOTE: When assembling the Neck part, just leave the mounting bracket off.

https://www.youtube.com/watch?v=ntvPZCUmp_4

On my bot, I chose to replace the wheels that the chassis came with for 4″ heavy duty wheels. This is optional and not needed unless you want to do the same.

Step 3: Mounting the electronics

The Gooseneck has a lot of room and options for mounting your electronics. I give you these pictures as a guide line, but you can choose how you would like to lay it all out. You can use stand-offs, double-sided tape, Velcro or servo-tape to mount the board and batteries.

Step 4: Adding the Webcam

Take the 90 degree bracket, lightweight servo hub and four (4) of the .3125″ screws for this step:

  • Take the servo hub and place it on one side of the bracket and secure them together with the .2125″ screws like pictured
  • Next mount the servo into the servo bracket
  • Attach the 90 degree bracket with the servo horn to the servos spine and use the horn screw that came with the servo to connect them together
  • Now mount the Servo in bracket onto the top of the goose-neck with the remaining screws
  • Mount camera with zip-ties or double sided tape on to the 90 degree bracket

Use the pictures for guides if needed.

Step 5: Wiring it all up

The wiring is fairly strait forward for this robot.

The Motors:

  • Solder leads on both motors if you have not done so already

With the robots front (the end with the goose-neck) facing away from you:

  • Connect the motor wires on the left motor to the channel M1A and M1B
  • Connect the motor wires on the right motor to the channel M2A and M2B

Ground (GND) connections:

  • Connect one ground pin on the RoboClaw to the ground jumper board. The ground pin line on the RoboClaw is closest to the center (See pic)
  • Connect PIN 6 on the RPI to the jumper board. See the RPI header pic for pin assignments.
  • Connect the GND from the servo battery pack to one of the pins on the jumper board.
  • Run a jumper wire from the jumper board to the servos GND wire.

RPI to RoboClaw:

  • Connect the RPI GPIO14 TXD pin to RoboClaw S1 pin

Power:

  • Connect the POS wire from the servo battery to the servos POS lead
  • Connect the POS wire from the motor battery to POS (+) of the RoboClaw motor power input terminal. We will leave the GND terminal disconnected for now.

Step 6: Setting up the RPI

I assume the user here knows some about Linux and the RPI. I do not cover how to setup or connect to one. If you need help with that then use the pages below.

To get your RPI setup, have a look at the following pages:

For general jump-off pages, The RPI main page and the eLinux pages are great places to start.

If you plan on using some sort of camera or web cam on the bot, have a look at these pages to get the basic needed files.

Streaming video:

There are a few ways to get video streaming working on a RPI, but the method I prefer is using Motion.

To install it on your RPI run this: sudo apt-get install motion

This instrucatable goes over setting it up for streaming as well.schematic web controlled rover

Step 7: Configuring the RPI serial port

We will need to disable the Linux console mode for using the RX and TX as we want to talk to the RoboClaw motor controller from this port. To do this, you can use this method or this tool. The choice is yours on the method as they both do the same thing in the end.

For more detail: Web controlled rover


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top