2022SummerTeam7
Team Members
Andrew Schade (Math—CS)
Samuel Scott (MAE)
Yue Zhuo (ECE)
Zachary Hooker(MAE)
Team Members
Andrew SchadeMajor: Math and Computer Science |
Samuel ScottMajor: Mechanical Engineering |
Yue ZhuoMajor: Electrical Engineering |
Zachary HookerMajor: Mechanical Engineering (spec. Controls and Robotics) |
Acknowledgements
We would like to give a special thank you to our advisors for providing us with the tools for success:
|
Professor: Jack Silberman |
Lead TA: Dominic Nightingale |
TA: Ivan Ferrier |
Also a special thank you to UCSD ECE Makerspace for their helpful guidance.
Project Overview
For our Final Project, we aimed to design and build of an autonomous vehicle operating under lane guidance with a second auxiliary panning Oak D camera powered by a servo and Adafruit enabling panoramic views. To achieve this goal, we implemented code that enables the robot's auxiliary panning camera to track animals using Computer Vision utilizing P.I.D. control codes to keep it in sight, and then play the noise of the sighted animal.
If allotted more time for this project, we would have added the ability for the auxiliary camera to tilt, as well as the ability for the entire robot to drive towards and follow the tracked object(animal in this case). We intended to utilize a YOLO ( You Only Look Once) v.5 algorithm for animal detection using the Oak D camera.
Hardware & Robot Design
{{#widget:YouTube|id=KosKn3mE--w}}
Here is a short video of our Robocar utilizing the Panning Camera : "https://youtube.com/shorts/KosKn3mE--w"
All of our protective casings were designed and 3D printed using Fusion 360 and Solidworks. Our baseplate template was laser cut and is made from yellow "3/16" thick acrylic. The material used for all of our 3D printed parts are PLA and ABS. We used the TAZ Lulzbot for 3D printing Please see the following components we created for this project: VESC Case, Lidar Case, Speaker, Case, Camera Case, Servo Case and base plate mount.
VESC mount
Lidar mount
Speaker mount
Front camera mount
Servo mount
Swivel camera mount
Software
Linux
GitLab
Docker Images
Python
Open CV
UCSD Robocar2 ROS - Autonomous Laps
{{#widget:YouTube|id=LFoWoTk_cZo}}
Here is a short video of our Robocar completing Autonomous Laps using ROS2 code : "https://youtu.be/LFoWoTk_cZo"
DonkeyCar Autonomous Laps
{{#widget:YouTube|id=ShYABfXelQs}}
Here is a short video of our Robocar completing Autonomous Laps in DonkeyCar environment : "https://youtu.be/ShYABfXelQs"
Challenges faced
- Software Updates
-Since the Oak D camera was a new addition to the class curriculum and had not been completely configured to communicate properly with our designated software packages, we were often getting the updated software just before the deadlines were expected to be met which in turn led to many late nights reconfiguring and attempting to debug fresh code. We ultimately switched to a webcam for navigation purposes, presenting a slightly difficult problem in navigating a 2D printed track to practice and complete training on due to the heavy glare from any source of light.
- Faulty VESC
-Since the newer VESC we were provided was having issues with power distribution to the servos as well as the Oak D camera, we ended up swapping out the VESC for an older version that worked well.
- Faulty Jetson NANO
-The Jetson we were initially provided was having Wi-Fi connection issues as well as an irregular powering off problem occurring as soon as we ran any programs requiring video feed. As soon as we swapped out the Jetson for a different one, the power issue was solved and we were able to continue experimenting.
- Compatibility issues between supplied VESC and servo motors
-the main cause of this issue stemmed from inadequate servos being supplied too much voltage and current when steering was to aggressively modified, or was at the extremes. After diagnosing, we installed a new servo with more capabilities in handling torque, as well as decreased the max and min of the steering bounds and the sensitivity to turn less rapidly. This seemed to correct the issue and enabled us to complete our ROS2 autonomous laps.
- Fractured baseplate
-Upon inspection, our baseplate experiences cracking close to the mounting points to the chassis of the car, and particularly on the outside edge where there was a sharp (90deg) change in direction of the surface. In future designs on should ensure that these corners are filleted with smooth round curves instead of sharp corners to help with the dissipation of stress at these areas of stress concentrations.