Skip to content

UCSD-ECEMAE-148/spring-2023-final-project-team-13

Repository files navigation

UCSD ECE/MAE 148 Spring 2023 Team 13
Team Members

Colin Szeto(MAE), Martin Flores Leon(CSE), Yusuf Morsi(ECE), Dominic Quinonez(MAE)

Final Project Overview:
For our final project we decided to have our car drive from one point to another point and at each point take images and stitch them together into a panorama that will be saved and view later. 

Car Design:

For our car design we decided to have a front hood type feature where underneath the hood we have our battery, wiring, and servo motors. On top of our hood we have our jetson nano mounted in the center of the car as it is the most important part. To the front of the car we have our camera mounted high on a gimbal to allow us to take images from different angles without having to move the car every single time. Having the camera in front was optimal for better images and also for optimal line following. In the rear we have mounted our lidar and our GNSS system.

Electrical Schematic: 

This is the schematic that we followed to successfully wire our vehicle and all of its components.

Hardware: 

Link to Full Robot CAD https://a360.co/43xDl2F

V1: objective to utilize gears for compact packaging. The green gears would help the gimbal yaw while the red gears allow the gimbal to pitch. 

V2: simply the assembly by utilizing servo blocks, these servo blocks can be leveraged as structural and mounting components and allow the servo to resist shear moments that may break the shaft

V3 gimbal. Objective was to get rid of the large moment arm and reduce the range of travel of the camera. Utilizing a linkage we can keep the camera in a similar position to the pivot point and reducing the length the camera is away from the pivot point (pitch)

Servo moving:

https://youtube.com/shorts/_F_l6TSckRs?feature=share

Video Submissions
ROS inner lane: 

https://youtu.be/m73O68-RbmQ

ROS laps: 

https://youtu.be/hEesrSbDkLY

Human behavior cloning: 

https://youtu.be/lcpqX9XBoYo

3 laps gps following

https://youtu.be/PLP2RACh3PU

Final Project
Overview: 

Initially our project had a different scope. Our original goal was to have the car drive around an object on the ground and using the OAK-D lite render a 3D mesh/mapping of the object. We were able to make significant progress on this first plan with generating point clouds and capturing them into files but it was the 3d rendering that was deemed overscoped with the time we had. So with one week till the deadline we decided to rethink our project and came up with our plan B. Plan B was to have our car drive to a couple of different GPS waypoints, stop and captured multiple images using the gimbal and then stitch them together to form a panorama. The gimbal would swivel a total of 180 degrees and in that span take around 18 images that would then be processed using OpenCV into a final panorama. 

Algorithm Design: 

Gimbal Movement & Image processing – Created a python script that handled the movement of the gimbal making it swivel 10 degrees at a time. With each swivel we included for the camera to save an image using openCV’s library. Once the gimbal movement and raw images were taken, we then use another python program called stitcND.py that utilizes the openCV library as well as numpy to correctly stitch the images and remove overlapping objects within the images. Thus our final product being a panorama consisting of 18 images stitched together. 

Replication:

Main functionality for demo can be found in process.py

DEMO: 

https://youtu.be/wOdJzO9YFwA

Results: 

Indoors Run

Outdoor Run 

About

spring-2023-final-project-team-13 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •