2019WinterTeam7
Introduction
Welcome to the wiki page of Team 7! Our autonomous project consists of 4 parts which are indoor autonomous driving, outdoor autonomous driving, parallel parking and stop sign recognition. In this wiki page we are going to walk you through our autonomous vehicle designing process.
Our GitHub repository can be found here: [1]
Team Members
(Jerry) Yihui Yang
Chris Jensen
Jessica Yang
Alan Kuo
Vehicle Design
Schematics
OE - Output enable. Can be used to quickly disable all outputs. When this pin is low all pins are enabled. When the pin is high the outputs are disabled. Pulled low by default. The 12.4V Lipo battery supplies power to the Electrical Speed Controller (ESC), The relay and the Raspbberry Pi.To power a raspberry Pi, a 12V to 5V step down is needed and the output will be from a USB port so that it can power the Raspberry Pi directly. The battery power goes to a switch and then goes to the RF controlled relay, which serves as an emergency stop switch of the entire system. The COM pin of the relay is connected to the 3.3V pin on the Raspberry Pi which provides the “high logic”. The NO pin stands for the “normally open” which controls logic level for the red LED. The NC pin stands for “normally closed” which controls logic level for the blue LED and it is connected to the output enable “OE” pin on the Pulse Width Modulation (PWM) module which disables the PWM pins on logic high. With this circuit built, we are able to shut down the steering and throttle control using a remote control. OE - Output enable. Disables all output pins on logic high Battery powers RPi thru a “step-down” converter Battery powers ESC, which controls DC motor Battery powers RF relay, which is a part of the emergency stop button Red LED is on when PWM is disabled, blue LED is on when PWM enabled PWM module controls servo motor Problem encountered: Broken RF Relay :( Partial power failure :(
Calibration Values After assembling the vehicle, the circuit and installed Donkey. We were able to calibrate the steering and throttle with PWM values as follow:
Steering:
Neutral 330
Left 240
Right 420
Throttle:
Neutral 360
Forward Min 370
Forward max 450
Backward min 290
Indoor Autonomous Driving
We were able to build a decent model for our vehicle to drive autonomously on the indoor track for 5 laps after collecting 16k data, a short demo can be found here:
{{#evu:https://www.youtube.com/watch?v=HXKzBH-yZyQ&t=20s |alignment=center }}
Outdoor Autonomous Driving
The outdoor driving model took us much more effort to build. The first successful model we built was able to ran 3 laps autonomously, however, it only supplied a very limited throttle therefore the vehicle ran out of juice at the sharp uphill turns. This was due to the way we drove the vehicle during the training. We tried driving to slowly in the beginning so that it was able to have enough time to recognize the corners. For the following models, we supplied more constant throttles in fortunately we were able to ran our vehicle autonomously for 6 laps after training it for hundreds of laps!
Lessons learned:
• Driving with constant throttle helps
• Driving closer to the red lines helps because the cracks on the track are also black and they might confuse the models with the actuall black tapes
• Drive with consistent throttle and turning angles
• The outdoor track needs taller camera mounts with a wider angle because the track is wider than the indoor track
• The best training time is from 10am to 2pm with clear sky
• EBU2 courtyard is really cold, bring gloves;)
{{#evu:https://www.youtube.com/watch?v=nAYo9gsQZ9E&t=14s |alignment=center }}
Parallel parking
Parking without break {{#evu:https://www.youtube.com/watch?v=zFrD8Qqie0I |alignment=center }}
Parking with break {{#evu:https://www.youtube.com/watch?v=l8N4FTa2AsY |alignment=center }}
Stop Sign Recognition
References and Resources Used
Team 7 would like to give special thanks to:
• Parallel parking inspiration from [2018 fall team 2]
• OpenCV tutorial
• Professor Jack Silberman and professor Mauricio de Oliveira
• The amazing tutors
for making this project happen!