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.
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
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.
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.
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
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:
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.
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.
I am an experienced technical writer with a Master's degree in computer science from BZU Multan University. I have written for various industries, mainly home automation, and engineering. I have a clear and simple writing style and am skilled in using infographics and diagrams. I am a great researcher and is able to present information in a well-organized and logical manner.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.