Introduction: [JI] Naval Battle Robot of Team Penta-Lambda
Hello everyone, we are team Penta-λ (figure 2) from UM-SJTU Joint Institute (figure 1), which is an excellent institute jointly established by Shanghai Jiao Tong University (SJTU) and the University of Michigan (UM) in 2006, Shanghai, China.
We are enrolled in VG 100, Introduction to Engineering in 2017 fall semester. Our first project is to make a naval battle robot which can get balls to the enemy’s territory. VG 100 is a required course in JI whose goal is to give students a basic understanding of engineering.
- Instructors: Shane Johnson, Ph.D, Irene Wei, Ph.D.
- Teach assistants: Ma Zhixian, Li Jiaqi, Liu Xinyi, Zhou Xiaochen.
- Team leader: Zhang Zhenyuan.
- Team Members: Gan Dingzhe, Kuang Yue, Sun yan, Zhao Yiqing.
Rules of the naval battle*
In the naval battle, each team is required to use their own naval battle robots to get the cannon balls, represented by Ping-Pong balls (d = 40 mm) and wooden balls (d = 70 mm), to the enemy’s territory. The total competition time is 3 minutes and who gets the higher score in the end wins.
The requirement of the robot is listed as following:
- The size of the robot is limited. The robot should be fitted in a 350 mm * 350 mm * 200 mm cube.
- Only motors provided by the teacher assistants can be used.
- Servo motors are not limited.
* The detailed rules are shown in the PDF uploaded.
Step 1: Design Overview
Our Naval Battle robot contains a large Paper Box to save the balls. It can turn over and drop all the balls inside to the opponent's territory at the end of match. Mechanical Arm with a good control system is an easy and efficient way to catch balls. To make the room of the Box larger, and considering that there are 50 mm of remaining space (in height) beneath the body board, we put all our electronic components under the board. We calculate and arrange everything so that nothing will get stuck.
For the control system, we use a wireless PS2 remote controller to control the robot. We solve a set of constraint equations of the arm so that it can be controlled intuitively with the joystick. Our control system allows you to pick the ball and put it into the box automatically. Moreover, we install a Red Dot Laser Indicator on the Claw to indicate the picking position. The laser will be turned off as long as it is not towards the ground to prevent eye hurt.
We use SANYO 18650 lithium battery to be the robot's power supply because of its stability. To prevent the batteries from over-discharging and make it easy to recharge, we develop a battery managing system including a Three-pole Double-throw Switch and a Battery Voltage Monitor, which will beep if voltage of each battery is lower than 3.3 V to warn the users to turn off the power and recharge batteries.
To make the wiring easy to do, we design a Pin Board and then wires can be connected cleanly and tidily.
All components we need cost about ￥650 ($100). All the links of required components are listed in the appendix.
Watch the video uploaded to see how the system works!
Step 2: Preparations
- Carve up the baseboard whose thickness is 4.8 mm according to the baseboard design drawing.
- Make the box supports according to their design drawings (figure).
- Set all the servo motors to their middle position.
- Assemble the mechanical arm until the fourth servo motor has been assembled via the way shown in the video*.
- Make a paper box whose size is 230 mm * 150 mm * 140 mm.
* Available: http://pan.baidu.com/s/1kVGH0CR
Step 3: Make the Pin Board
Here is the circuit diagram and photos of the pin board.
- The diode (D1) is to prevent the damage caused by possible inversely connection of the batteries.
- The voltage on servo 5 (MG996R) should not be higher than 6.5 V, so we use a diode (D2) to draw down its working voltage from 7 V to 6.3 V.
- Pay attention to the direction of the laser diode.
We strongly recommend you to design it yourself.
Step 4: Setup the Laser
Attach the laser to one side of the mechanical claw with a screw.
- Note: The laser is used to locate the ball, so please treat its position carefully.
Step 5: Assemble the Wheels
Attach each wheel to a DC motor (figure 2, 3).
Step 6: Assemble Remaining Components
- Fix the MG996R servo motor to the right box supporters.
- Fix the switch, monitor, Arduino, PS2 receiver and L298N to the baseboard as the figure shows.
- Connect the wires of the Battery Manager based on the circuit diagram.
Now all the components have been well prepared.
Step 7: Install the Arm and Wheels
- Fix the mechanical claw to the arm.
- Note: During the moving of the arm, the claw is always facing the ground. So to make sure that the claw have enough space to move, its initial position has a 45 degrees' offset (figure 1).
- Install the mechanical arm and the battery box to the baseboard.
- Install the wheels and the universal wheels to the baseboard.
- Pull the wires of the mechanical arm’s servo motors through the hole (shown in figure 2.4) to the back side.
- Note: Be careful not to get the mechanical arm hindered by the wires.
Step 8: Install the Box
Fix the box supporters (figure 2, 3, 4) to the baseboard, then install the box spindle and the box (figure 5, 6, 7).
- Note: Do not forget the washers. The washers at the joint of the box spindle and the box can help to prevent the box from being damaged when overturning.
Step 9: Complete the Circuit
- Connect the wires of PS2 receiver directly to the Arduino board.
- Connect the wires of servo motors and L298N to the pin board based on the circuit diagram and insert the pin board to the corresponding position of the Arduino board.
Note: The servo motors in the mechanical arm are sequentially labeled from bottom to up as servo 0 (platform, LD-3015MG), servo 1 (platform & lower arm, LDX-218), servo 2 (lower arm & upper arm, TS8815R), servo 3 (upper arm & claw, TS8815R) and servo 4 (claw). The box servo (MG996R) is labeled as servo 5.
- Clear up all the wires.
Step 10: Programming
Connect the Arduino to computer and upload the program via Arduino IDE.
We strongly encourage you to program yourself. Thus, the code is not shown here. If you have any problems with coding, please contact us.
Step 11: Control the Robot With Your PS2 Controller
Congratulations! All the steps have been done.
Before you turn on the switch, remember:
- Put the arm in the right position (figure 1). It should be fitted into a 350 mm * 350 mm * 200 mm cube.
- Check the wires. DO NOT to get the mechanical arm hindered by the wires!
- Turn on the PS2 remote controller.
- Turn on the power switch of the robot.
Now you can control your robot with your PS2 controller now. How to control the robot with your PS2 controller is up to your code. We encourage you to try it yourself and improve it by yourself.
Now, the Naval Battle Robot is ready to go!
Step 12: Appendix
- The arm get stuck after starting. This is caused by the wrong initial position.
- Turn off the power.
- Put the arm to the right initial position.
- Wait for the servos cooling down.
- Turn on the power again.
- Voltage Monitor Alarm. To protect the batteries, you should:
- Turn off the power.
- Recharge the batteries or replace backup batteries.
- Turn on the power. If there is not alarm again, you can continue the game.
- PS2 Remote Controller cannot connect to the robot.
- There may be another PS2 Controller around you, so you should turn off your robot first.
- Turn off the PS2 Controller.
- Turn on the PS2 Controller and the robot at the same time. Usually, connection will be built between your PS2 Controller and the robot.
- If the LED indicator on the PS2 Controller is not on, maybe your controller has entered the sleep mode. Then you should press the 'START' button on the controller to wake it up.
- If this doesn't work, replace the PS2 Controller's batteries.
- Arduino Uno R3 https://item.taobao.com/item.htm?spm=a230r.1.14.4...
- PS2 Handle https://item.taobao.com/item.htm?spm=a230r.1.14.5...
- Acrylic Plate https://item.taobao.com/item.htm?spm=a230r.1.14.5...
- Universal Wheels https://detail.tmall.com/item.htm?spm=a1z10.5-b.w4...
- Servo Motor LD-3015MG https://item.taobao.com/item.htm?spm=a1z10.3-c-s....
- Servo Motor LDX-218 https://item.taobao.com/item.htm?spm=a1z10.3-c-s....
- Servo Motor MG996R https://item.taobao.com/item.htm?spm=a230r.1.14.1...
- Servo Motor TS8815R https://item.taobao.com/item.htm?spm=a230r.1.14.2...
- Servo Plate https://item.taobao.com/item.htm?spm=a230r.1.14.6...
- Batteries SANYO 18650 https://item.taobao.com/item.htm?spm=a230r.1.14.1...
- Battery Voltage Monitor https://detail.tmall.com/item.htm?spm=a230r.1.14.8...
- Power Switch https://item.taobao.com/item.htm?spm=a230r.1.14.16...
- Mechanical Claw https://item.taobao.com/item.htm?spm=a1z10.3-c-s....
- Mechanical Arm https://item.taobao.com/item.htm?spm=a1z10.3-c-s....
- Copper Pillar https://detail.tmall.com/item.htm?id=526408734762...
- Pin Header https://detail.tmall.com/item.htm?id=41276497815&...
- Battery Holder https://detail.tmall.com/item.htm?spm=a230r.1.14....
- Red Dot Laser https://item.taobao.com/item.htm?spm=a230r.1.14.7....