This is an archive site. Current senoir design projects are at https://projects.eng.uci.edu.
Tennis Ball Collecting Toy Car
Mentor:
Henry Lee
Members:
Yuxiang Zhao ( EE & CPE )
Miao Yu ( CPE )
Zunwen Li ( CPE )
Jiajun Hu ( EE )
Poster Link:
https://docs.google.com/presentation/d/1aJ4YCIUPNLvqophEApKR1I_dFcgQVNXFYaJ8pt0-r0g/edit?usp=sharing
Initial Proposal:
https://drive.google.com/file/d/0B1WqQGDXO49bTmtrRHZhQ3V0ZWFvZ194emU0dlA2aEY0Wl80/view?usp=sharing
Weekly Reports:
week1-2:
Summary: In this week, we successfully build a car that can move forward, backward.
However, Turn left and turn right are very rigid. We believe more powerful motors can solve
this problems.
We have taken a video about the movement of our car, and we will show you on the
meeting.
Personal Contributions:
Yuxiang Zhao:
1. put wheels on the cars and connect wheels
2. assembly the claw
Miao Yu:
1. code and set up the servo
2. assembly the claw
Zunwen Li:
1. code the movement of the car
Jiajun Hu:
1. improve the ball-detecting code
week3:
Summary:
This week, we changed one of our wheel to universal wheel, so we can turn much more smoothly.
We also mounted our camera on the car, and adjust our code, so the car can move toward tennis balls.
We also have our mechanical claw ready to install.
Next Goal:
Our next challenge is how to detect the distance of the ball, so that the claw can pick up the ball.
Individual Contribution:
(We broke our equipment last week because 1. We forgot to close the window during one of the rainy
day, the microprocessor is damaged, 2. Our base steel plate is conductive and therefore may cause a
short circuit. Therefore, we had some extra work)
Yuxiang Zhao:
1. Find out one of the possible reasons of board damage.
2. Tape metal base plate to prevent short circuit
3. Recode
Miao Yu:
1. Reinstall Raspbarry Pi
2. Install universal wheel
Zunwen Li:
1. Combine ball detecting code and movement code
Jiajun Hu:
1. Mount camera
2. Install mechanical claw, so we can install the claw next time
week4:
Summary: In this week, we successfully pick the tennis ball. Our next goal is making the
procedure faster and more accurate.
Yuxiang Zhao:
1. Adjust camera position, and adjust code and increase the successful rate
2. Create servo turning code
Zunwen Li:
1. Combine servo turning code and moving and detection code
Jiajun Hu:
1. Install the servos
Miao Yu:
1. Improve servo turning code
2. Install the servos
week4-5:
Work done:
1. Hiding wires
2. Install boxes
3. Relocate the control unit and batteries
4. Testing when there are more than one ball
5. Fixing the problem that servo will do several lifts operation for one ball
Problems
1. Servo shows weaker torque than last week
2. Collector will move towards wrong direction when there are more than one
ball, it will change direction constantly.
3. The existing metal pieces we have is not adaptable to our collector.
4. The turning speed of collector is too slow.
Solutions:
1. Since the servo is controlled by pulse with specific pulse width, we use
twenty pulses for one servo operation.
2. We modified the code. It only finds the maximum circle in the graph
before, which will cause problem when two balls are in same y location but
different x location. In this case, the will have same radius and the
collector will change target object constantly. In new code, we saved the
last position of target object, whenever the frame refreshes, it will go
through all the spherical objects in the frame and iterate all of them and
compare the distance to the last position we saved. Then it will choose the
nearest spherical object and rewrite its location to last position, and treat it
as target object. In new code, collector will guaranteed to move towards
the same object instead of changing constantly between objects with same
y location in the frame.
3. We cut the metals into the pieces we need
4. This problem is unsolved because we are trying to figure out whether we
should change the wheel motor. The speed is approaching to its limit.
Since we did it together, all group members contribute same amount of work
week6-7:
Work done:
1. BJT control signal of servo
2. Identify return box
3. Moving the car to return box
Problems
1. Sometimes the car can not do a perfect U-turn
2. Sometimes the car can not identify the return box dot appropriately
Solutions:
1. As we change the control signal of servo to BJT, the turbo of servo
performs much better than the past.
2. We may need another dot to justify the angle of the U-turn to make the car
prefect perpendicular to the return box. The plan is to add another different
color dot in front of the first dot to make the car adjust its angle after the U-
turn.
3. We need to upgrade the code to make a better identification range for the
dot of the return box, which will require a lot of testing.
Since we did it together, all group members contribute same amount of work