Introduction: Naval Battle Robot VG100 @UMJI

. Introduction:

We are Group 1, Team YOLO for the Vg100 Course of the UM-Shanghai Jiao Tong University Joint Institute. This manual is made for our project1 in the VG100 course, a “battleship” robot controlled by Arduino.

1)Shanghai Jiao Tong University (SJTU) is one of the top engineering universities in China, and Joint Institute (JI) is a leading engineering school in SJTU. JI locates in Shanghai Minhang district with excellent instructors from SJTU and University of Michigan.

2)Our team name is the acronyms of the motto “you only live once” , which indicates our determination to try our best to get into engineering well.

3)Team member:

Dong Chenyu: manual, design

Xu Pengyu: assembling, cutting,drilling

Zhao Muhan: programming, purchasing

Lu Hongru: programming, design

Hu Huinan: leader, assembling,purchasing

4)Instructor: Shane Johnson, Ph.D, Irene Wei, Ph.D

Teaching Assistants: Li Jiaqi, Zhou Xiaochen, Liu Xinyi, Ma Zhixian

Ⅱ. Game rules

1)In the game called Naval Battle, we are provided with a field divided into two parts by a barrier. Our robot is supposed to be able to convey balls to the other side of the field. (field diagram is shown below.)

2)There are two kinds of balls, 8 small balls and 4 big balls. Small balls can go through the gap below the barrier and equal to 1 point each while big balls can not and count 4 points each.

3)The time limit is 3 minutes.

4)There are two rounds of the game. Each group need to first complete the match without an opponent. Eight groups with higher scores will be admitted to fight against each other in round 2.

5)Our robot is limited in size 350mm*350mm*200mm.

6)Only offered motors can be used(no limit for servo motors).

The details are given below.

Step 1: Brief Concept

The movement system is composed of 2 casters and 2 wheels. The two gear motors are under the control of Arduino such that the robot can move forward, backward, and turn left or right in place.

The loading system: our robot use the elevator tied by a rope to lift the big balls[1].a C-shape frame is put in front of the robot and use three aluminum bars as tracks to guide the box containing balls. To make the ball roll down automatically, then, a slope is designed inside the box.

The core controller is an Arduino UNO R3 and PlayStation2 joystick. We just need to do programming to connect them with each other and to achieve the goal.

Step 2: Material List

*more details and websites to purchase are giving in the appendix 3 at the end

Step 3: Assembling Steps 1. Programming

Programming for motor and ps2 controlled by Arduino.

Step 4: Assembling Steps 2. Circuit Connecting

The servo motors, respectively works as the propeller of the dam-board and the fixed pulley, take PWM signal from the Arduino board to adjust their speed and direction of rotation. Note that each servo motor is powered by a 7.4V lithium battery, each of which has common ground with the Arduino on a breadboard.

The PS2 wireless gamepad talks with the Arduino board through the signal receiver attached to the gamepad. So just make sure you connect the pins of the receiver to the same pins on the Arduino board according to your code respectively, then you can talk to your Arduino with your gamepad in hand. Convenient, isn’t it? After been powered up, the signal receiver will detect the PWM signal from the gamepad and send it to the Arduino, which then directs the rotation of your motors.

The motors are driven by L298N motor driver. An L298N has 6 ports in total, 3 for each motor. You need to pin them onto Arduino according to you code. 2 of them can only receive digital signals and serve as positive and negative poles. You can input analog signals to the left one to control the speed of the motor.

We use a 12V lithium battery to power L298N. If you pin the 5V port on Arduino and make them have the same ground, then you can power your Arduino without a step-down module.

Step 5: Assembling Steps 3. Preparation

First, we use the laser cutter to cut four rectangle acrylic plates based on our CAD graphs to be the frame of the robot. And prepare a lot of screws and screw caps.

Step 6: Assembling Steps 4. Constructing the Base

(1) Take a 3 mm-thick acrylic board for a 150mm×180mm rectangle for the baseboard.

(2) Drill three 4mm round holes on the edge of the acrylic platform to connect with another board by using 3 turn angles.

(3) Drill two 3mm round holes on the base to fix the servo motor firmly on the board.

(4) Fix the Arduino board, motor board and batteries on the base by glue.

(5) Drill four 3mm round holes each side to fix two motors on the base.

(6) Using screws to connect the wheels with motor.

Step 7: Assembling Steps 5. Constructing the Elevator-platform

(1) Drill three 3mm round holes on the top and bottom of the C-shape frame oppositely.

(2) Drill three 3mm round holes on the slope of the box and three 3mm round hole on the bottom of the box.

(3) Thread the three aluminum bars into the holes of the box and C-shape frame. Use screws to block the both ends of the aluminum bars

(4) Drill a 1*2cm square hole on the top of the C-shape frame and two 3mm round holes besides.

(5) Put the axle as well as bearing in the square hole and use cable ties to fix the axle on the top broad.

(6) Connect the nylon rope with the wooden cylinder and the box through the bearing.

(7) Drill three 2mm round holes and fix the servo bracket with screws.

(8) Fixed the mechanical hand which consists of a servo motor and an acrylic board on the bracket.

(9) Drill four 3mm round holes both on the vertical walls of the robot and the C-shape frame. Connect the two parts by screws and nuts.

(10) And then connect the baseboard with the elevator-platform

Step 8: Getting Ready and Test

Our battleship can convey both big balls and small balls smoothly to the other side of the battle ground.

Our Robot's behavior on game day

Step 9: Appendix

Appendix 1 Citation

[1] Wikipedia of the theory of the elevator

[2] Chen Lvzhou, Arduino VFP, p30-31, the selection of configuration.

Appendix 2 Thanks to

Express thanks to professor Shane and professor Irene,who instruct us the course VG100 for the guidance. Also give thinks to TAs for doing us a favor.Most importantly, thanks to our group members for all of the hard work.

Appendix 3 Websites to purchase materials


purchasing website



Universal wheel

Lubricating oil

Nylon rope


Servo motor


Sheet iron with holes

Aluminum bar

Acrylic box

Corner connector

Acrylic board

7.4V lithium battery

Servo motor stand