Introduction: Battle Shovel Car

Hi, friends. Here is a manual on how to design a robot which can move balls under wireless control and we will provide step-by-step production procedures for you. You are not required to have any background knowledge on engineering.

1、Introduction of us and the project

We are Mr CLN, a group coming from UMJI, a joint institute founded by Shanghai Jiao Tong University and University of Michigan, which aims at cultivating generation gearing to international conventions.

Studying in JI is really a wonderful experience. Every morning, the warm sun shines on the red tiles of the JI building, just as beautiful as the paradise. In JI, we are taught to have not only professional knowledge, but most importantly, happiness in study. Designing a robot on our own actually gives us such kind of happiness, and that is what I am going to share with you.

This manual is made for our all 22 groups’ first VG100 (the Intro to Engineering) project, named Naval Battle. But more than this given setting, the instructions we offered can be generally applied to the design of nearly all kinds of remoted operated robots.
The project demands each group to design a robot independently, which will play on the field with the size of 2000mm*1500mm. There will be 4 small balls and 8 large balls for the competition on each side. The small balls can go through the middle wall directly from the ground, while the large balls can only be taken above the wall. Move one small ball, you get 1 point while a large ball counts 4. The purpose for each group is to get higher scores by optimizing the design and moving more balls to the other side of the field. Each group will first complete the match without an opponent. The eight groups with the highest scores will play against each other.

Here are rules for the game, fit for both two parts of the game.

• Time limit will be three minutes

• The robot must be smaller than 350mm×350mm×200mm at the beginning, but it is allowed to unfold during

the game time

• No deliberate damage on other robots or the site.

• Do not leave any part of the robot at the opposite site.

•Don’t throw the balls out of the site (Otherwise the grade must be deducted by 5 points for each ball out of the site.)

The following rules are especially for the competitive part:

• Players are able to throw the ball back to their opponents.

• The ranking will be graded firstly by Total scores and if they are the same, The number of large balls on opponents’ territory will be counted.

• If the rankings of two teams are also the same, an additional 1-minute match will be held between them.

It was so thrilling on game day. First, we came through the separate presentation without opponents. Due to our team member’s consummate operation of the robot, we carried 4 large balls and 7 small balls to the opposite site out of 4 large balls and 8 small balls within 3 minutes. We even successfully carry 7 small balls at one time, receiving a lot of applause. And we got the 7th place and entered the 1v1 knockout stage. According to the rules same as NBA playoffs, we met the team which got the 2nd place as our opponents. As their robot is more flexible than ours, we lost this round finally but we were still satisfied with our performance because we had tried our best. You can watched the video of our performance by clicking the link below.

part 1

part 2

Step 1: Design Philosophy

Above is the concept diagram of our design. Starting from the bottom, we fix two wires with gear motors and two casters to the baseplate. At first, we used only one caster put in the middle of the car and it lost its balance when it tried to shovel a ball. And we use L298N motor driving board to drive two gear motors and let the robot go straight by controlling two motors rotate in the same direction and make a turn when they rotate in opposite directions. Then you can see that placed on the middle of the baseplate is the core of our robot car—Arduino Uno R3, by which we could send signals to two servos and motor driving board and thus control two gear motors. Because we can’t touch our robot during the game time, we use PlayStation 2 joystick for wireless control. Before the game begins, we need to pair the joystick with its accepter, which is on the baseplate connected to the Arduino. In order to get the balls to our opponent’s field, we design a special shovel. The width of the shovel must be a little larger than the width of the robot car body to ensure that it could shovel the ball in the corner. As for the connection part, we cut acrylic board into specific shapes, making it able to carry two servos and combine the car with the shovel. The servos are also controlled by signals sent by Arduino and two servos make our shovel a two-degree of freedom machine. To shovel the ball, we make use of the wall——first we let the shovel touch the ground and use it to push the ball to the wall and then control the lower servo turn up using the counterforce of the wall to get the ball into the shovel. Next move the robot to the wall in the middle of the field and carefully lifting the ball up by controlling the upper servo turn up while the lower servo turn down. Now stretch the shovel through the wall and pour the ball down. The shovel we design enables the robot to get four big balls or eight small balls at a time. The last part of our robot is two clump weights on the rear, which balance the car and prevent it from getting upside down.

Step 2: Material

Motor driving board



Motor Bracket




Acrylic board


Metal piece

Screws & nuts


RC battery

Battery Box


PlayStation 2 joystick

Bread Board

Dupont line

Step 3: Circuit Diagram

In this diagram, green lines stand for signal controlling wires, red lines stand for power supply, black lines represent the ground wires. Also, I use four light blue lines to connect the input port of motor diving board with the output ports of Arduino and two purple lines for PWM controlling wires between motor driving board and Arduino. Four dark blue lines connects link the output ports of the motor driving board and two motors.

You need a motor driving board, which we use here is L298N motor driving board, to drive two gear motors and control their speed. First, link two motors with the four output ports of L298N using Dupont threads. Each motor takes up two ports, which enable L298N drive two motors simultaneously. Four corresponding input ports linked with Arduino provide signal to control the motions of motors and the rotate speed is determined by PWM signals provided by Arduino through the enable ports.

After finishing the motor part, go on with the most important part——connecting ps2 accepter and Arduino, which will lead communication between ps2 joystick and Arduino to failure if you get one single wire wrong. The power of the accepter is provided by Arduino. As for the signal lines, we make a little change——we link CS port of the accepter with pin A0 of Arduino instead of pin 10,which is occupied by servo and thus we change the code accordingly.

Now connect the signal lines (which are yellow on your servos) of two servos with pin9 and pin10.

Finally, deal with the power supply. We use a 9V battery to supply power for Arduino, a 7.4V battery for two servos and a 12V RC battery for two gear motors through the motor driving board. Remember that you need to link all the ground wires together with the GND port of Arduino using a bread board and several Dupont threads.

Step 4: Step by Step 1:Customize Baseplate and Shovel

1) Follow the AutoCAD diagram (using mm as unit) of the baseplate and the structure of the shovel of robot above to Cut a 3mm-thick acrylic board. Then dig holes that are labeled in the diagram.

Step 5: Step by Step 2: Make the Shovel

1) Cut a 5mm-thick acrylic board into 4.5cm*29cm rectangle.

2) Cut a 5mm-thick acrylic board into 6cm*29cm rectangle.

3) Cut a 5mm-thick acrylic board into 5cm*6cm rectangle and then cut it into two right triangles along the

diagonal line.

4) Drill holes according to the holes on the metal pieces.

5) Use several metal pieces to assemble them into a 5cm*6cm*29cm shovel as shown below.

Step 6: Step by Step 3: Assemble the Wheels and Casters

1) Assemble the wheels and casters as it shown in the figure.

Step 7: Step by Step 4: Stick the Items Together

1) Stick Arduino and motor driving board to the baseplate using screws and nuts.

2) Stick batteries, Ps2 accepter and the bread board to the baseplate using double-faced adhesive tape.

Step 8: Step by Step 5: Complete the Shovel

1) Assemble the shovel and two servo motors into a complete movable "arm".

Step 9: Step by Step 6: Combine the Car and the Shovel

1) Follow the picture to combine both parts together.

2) Use Dupont threads to connect all the electrical components according to circuit diagram.

Step 10: Step by Step 7: Add the Balanced Weight

1) Stick the balanced wight you choose to the rear of the car.


Hope you guys enjoy it and happy to see you again!!

You can always find me through :