From MAE/ECE 148 - Introduction to Autonomous Vehicles
Jump to navigation Jump to search

Team Members

  • Andrew Liang (ECE)
  • Jiansong Wang (MAE)
  • Shane Benetz (ECE)
  • Kevin Kruse (Extension/BIS)

Project Overview/Proposal

The goal of this project is to enhance the existing Framework of the ROS Navigation system with the integration of a Lidar in order to avoid obstacles while navigating and return to the correct route. In a short amount of words, our upgraded ROS navigation package integrated onto the Jetson Nano powered autonomous car allows it to detect objects in its path and correct its steering while still following a lane detection/guidance model based on onboard camera imaging.

Mechanics (Robot schematics and pictures)

Lap videos

Project Schedule / Gantt Chart

Software Development

Calibrating the existing ROS framework

One especially important thing for our project is a properly calibrated framework.

To achieve this, you can either adjust the controls to make it fit. However, an alternative and more precise solution is to apply a specific color filter. To do this, we first started a live transfer of the current image.


Once we had the image, we opened a color tweezer using Microsoft Word and detected the color of the yellow center track.


The program now gives us the color in RGB color space. Using a converter, e.g. https://www.peko-step.com/en/tool/hsvrgb_en.html we can now convert this color code into the HSV color code used by our OpenCV module. Finally we just have to configure this filter correctly and add some tolerances, because especially in twilight the colors vary. Once this process is complete, we get a perfectly calibrated system, as shown in the image below. We have to remark, that in this picture even the red line on the left is not detected at all (which is what we aimed for). Lastly, we have to mention that this scales of the HSV color space very by application: The website uses scales up 100 or 360, while our robot uses a scale up to 180. Thus, we used the scale of 360 and devided the resulting numbers by 2 to get the desired configuration.


Software Subsystems


Links to additional resources (presentations/source code/GitHub/videos)


  • Jack Silberman (Professor)
  • Dominic Nightingale (TA)
  • Haoru Xue (TA)