4WD Security Robot

The main goal of this project was to build a security mobile robot capable of moving and collect video data in rough terrain. Such a robot could be used to patrol the surroundings around your house or hard to reach and hazardous places. The robot can be used for night patrols and inspections because it has been equipped with a powerful reflector which illuminates the area around it. It is equipped with 2 cameras and remote control with a range over 400 meters. It gives you great opportunities to protect your property while sitting comfortably at home.

Robot Parameters

External dimensions (LxWxH): 266x260x235 mm

Total weight 3.0 kg

Ground clearance: 40 mm

Step 1: The List of Parts and Materials

I decided that I will use ready-made chassis modifying it slightly by adding additional components. The chassis of the robot is made entirely from steel painted black.

Step 2: Assembling the Robot Chassis

Assembling of robot chassis is quite easy. All steps are shown in the photos above. The order of the main operations is as follows:

Screw the DC motors to the side steel profiles

Screw the side aluminium profiles with DC motors to the base

Screw the front and rear profile to the base

Install the necessary power switches and other electronic component (see in the next section)

Step 3: Connection of Electronic Parts

The main controller in this electronic system is Arduino Mega 2560. To be able to control four motors I used two BTS7960B Motor Drivers (H-Bridges). Two motors on each side are connected to one motor driver. Each of the Motor Driver can be loaded by the current up to 43A that gives a sufficient margin of power even for the mobile robot moving over rough terrain. The electronic system is equipped with two power sources. One for supplying the DC motors and servos (LiPo battery 11.1V, 5200 mAh) and the other to supply Arduino, fpv camera, led reflector and sensors (LiPo battery 7.4V, 5000 mAh). The batteries have been placed in the upper part of the robot so that you can quickly replace them at any time

The connections of electronic modules are the following:

BTS7960 -> Arduino Mega 2560

MotorRight_R_EN - 22

MotorRight_L_EN - 23

MotorLeft_R_EN - 26

MotorLeft_L_EN - 27

Rpwm1 - 2

Lpwm1 - 3

Rpwm2 - 4

Lpwm2 - 5

VCC - 5V

GND - GND

R12DS 2.4GHz Receiver -> Arduino Mega 2560

ch2 - 7 // Aileron

ch3 - 8 // Elevator

VCC - 5V

GND - GND

Before starting the robot's control from the RadioLink AT10 2.4GHz transmitter you should previously bind the transmitter with the R12DS receiver. The binding procedure is described in detail in my video.

Step 4: Arduino Mega Code

The first program "RC 2.4GHz Receiver Test" will allow you to easily start and check the 2.4 GHz receiver connected to Arduino, the second "RadioLinkAT10" allows to control the robot's movement. Before compiling and uploading the sample program, make sure that you have chosen "Arduino Mega 2560" as the target platform as shown above (Arduino IDE -> Tools -> Board -> Arduino Mega or Mega 2560). The commands from RadioLink AT10 2.4 GHz transmitter are sent to the receiver. Channels 2 and 3 of the receiver are connected to the Arduino digital pins 7 and 8 respectively. In the Arduino standard library we can find function "pulseIn()" that returns the length of the pulse in microseconds.We will use it to read the PWM (Pulse Width Modulation) signal from the receiver which is proportional to the tilt of the transmitter's control stick. The pulseIn() function takes three arguments (pin, value and timeout):

pin (int) - the number of the pin on which you want to read the pulse

value (int) - type of pulse to read: either HIGH or LOW

timeout (int) - optional number of microseconds to wait for the pulse to be completed

The read pulse length value is then mapped to a value between -255 and 255 that representing forward/backward ("moveValue") or turn right/left ("turnValue") speed. So, for example if we push the control stick fully forward we should get the "moveValue" = 255 and pushing fully back get "moveValue" = -255. Thanks to this type of control, we can regulate the speed of the robot's movement in the full range.

Attachments

Step 5: Testing of Security Robot

These videos show tests of mobile robot based on program from the previous section (Arduino Mega Code). The first video shows tests of 4WD robot on snow at night. The robot is controlled by the operator remotely from a safe distance based on the view from fpv google. It can move quite fast in difficult terrain what you can see in the second video. At the beginning of this instruction you can also see how well it cope in rough terrain.

This is a great idea, thanks. It got me thinking, this is what I would want:

1. Autonomous robot, moves slowly.2. Onboard GPS so that it stays within a virtual fence.3. Either roams randomly or with a preset route.4. Usual autonomous features like object avoidance, tip-over sensor, etc. Periodically sends location and status via wifi back to a server.5. Moves to a location then stops and checks its surroundings looking for movement. If movement is detected it snaps a photo and sends that by wifi back to a server.6. Monitors its own battery and returns for a charge when low.

I guess its kinda like a Roomba or a Mars Rover.

Not sure yet how it detects movement in its environment. Infrared like a motion sensing security light? Pauses to take two pictures in a direction and compares the difference between both photos? Or maybe it just uploads the two photos to a server and lets the server do the number crunching. The server could be local to the location that the robot is patrolling.

Yeah, I know, there's a ton of software development involved in my wish list. Gotta start with the dream.

Hi, nice project, you got thje wheels in my head spinning! What is the range of the wireless devices? This would be neat to use around my ranch but I would have to control it over 20 acres. How long do the batteries last?Thanks, Paul

Hi, Thanks. For the Radiolink AT10 with the included receiver R12DS you can expect 900m max range on the ground or 1500m in the air (environment dependant). When it comes to 5.8 Ghz video transmission it's about 400m, but if you have a good antenna, it's even more. The battery lasts for about 2 hours, however, you can increase this time even several times. For you, a good solution would be a robot or a drone automatically returning to the base/home when it loses communication with the operator - it is not too difficult to make ;)

Nice work. I just wish I had the time to put one together. Best would be a remotely controlled 4-wheeler. Drive to the blind, send it to park well away from there and bring it back when it's time to leave.