Difference between revisions of "Projects"

From MAE/ECE 148 - Introduction to Autonomous Vehicles
Jump to: navigation, search
m (Added City Driving Suite Project)
(GPS Navigation)
 
(13 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
Code is collected on the class [https://github.com/MAE-ECE-148 github repository].
 
Code is collected on the class [https://github.com/MAE-ECE-148 github repository].
 +
 +
== Stay between the lines ==
 +
 +
Use computer vision to localize the vehicle and drive within the track's lane boundaries.
 +
 +
See [[2018FallTeam1]] for details.
  
 
== Playing Fetch ==
 
== Playing Fetch ==
Line 13: Line 19:
 
Equip the car with GPS and use it to perform navigation tasks.
 
Equip the car with GPS and use it to perform navigation tasks.
  
See [[project gps]] for details.
+
See [[project gps]], [[2018SpringTeam3]], [[2018FallTeam5]], and [[2020WinterTeam1]] for details.
  
 
== Stereo Vision ==
 
== Stereo Vision ==
Line 25: Line 31:
 
Incorporate encoders on the wheels of the car and use the new measurement to improve the performance of the controller.
 
Incorporate encoders on the wheels of the car and use the new measurement to improve the performance of the controller.
  
See [[project encoders]] for details.
+
See [[project encoders]] and [[2018FallTeam4]] for details.
  
 
== ROS ==
 
== ROS ==
Line 31: Line 37:
 
Develop ROS nodes for the current setup of the car and demonstrate its capability.
 
Develop ROS nodes for the current setup of the car and demonstrate its capability.
  
See [[project ROS]] for details.
+
See [[project ROS]] and [[2019WinterTeam2]] for details.
  
 
== City Driving Suite ==
 
== City Driving Suite ==
Line 37: Line 43:
 
Equip the car with an additional camera and a suite of ultrasonic sensors so the car can evaluate and respond to common stimuli found in city driving.  
 
Equip the car with an additional camera and a suite of ultrasonic sensors so the car can evaluate and respond to common stimuli found in city driving.  
  
See [[project City]] for details.  
+
See [[project City]], [[2018SpringTeam7]],and [[2019WinterTeam4]] for details.
  
== 3D Camera Intel RealSense ==
+
== 3D Vision ==
  
 
Equip the car with a camera that can sense depth, design a new controller that can take advantage of the stereo vision and evaluate its performance.
 
Equip the car with a camera that can sense depth, design a new controller that can take advantage of the stereo vision and evaluate its performance.
 +
 +
See [[2018FallTeam3]] for details.
  
 
== Parallel Parking ==
 
== Parallel Parking ==
  
 
Equip the car with ultrasonic sensor, design and train a controller that can park the car autonomously.
 
Equip the car with ultrasonic sensor, design and train a controller that can park the car autonomously.
 +
 +
See [[2018FallTeam2]], [[2019WinterTeam6]], and [[2019WinterTeam7]] for details.
  
 
== Convoy ==
 
== Convoy ==
  
 
Follow the car in front of you keeping distance. Control first car by remote control, then all autonomous.
 
Follow the car in front of you keeping distance. Control first car by remote control, then all autonomous.
 +
 +
See [[2018FallTeam6]] and [[2019WinterTeam10]] for details.
  
 
== Enhanced Image Processing ==
 
== Enhanced Image Processing ==
  
 
Incorporate image processing filters that can enhance the performance of the car. Ideas include: split field of view, line detection and following.
 
Incorporate image processing filters that can enhance the performance of the car. Ideas include: split field of view, line detection and following.
 +
 +
== Obstacle Avoidance with Lidar ==
 +
 +
Our project focuses on improving the safety of autonomous driving. For a human driver, there are many scenarios where obstacles must be detected and avoided, such as a slow moving vehicle or debris in the road; the safest thing to do in such situations may be to change lanes. We focused on this type of situation and attempted to develop our autonomous vehicle to mimic this behavior. Our goal is to have the vehicle detect an obstacle in its path and change lanes to avoid a collision and continue driving autonomously.
 +
 +
See [[2018SpringTeam1]] for details.
 +
 +
== Follow Me ==
 +
 +
Identify and follow a person, given two people in the field of view. Tiny YOLO was fed into OpenCV to identify targets in a live feed.
 +
 +
See [[2018SpringTeam2]] for details.
 +
 +
== Traffic ==
 +
 +
The goal of our project was to train the robocar to recognize common traffic signs, such as a stop sign and speed limits.
 +
 +
See [[2018SpringTeam4]] and [[2019WinterTeam8]] for details.
 +
 +
== Vehicle-to-Vehicle Communication ==
 +
 +
The aim of this project is to improve upon the existing DonkeyCar autonomous control framework by implementing situational awareness through inter-car communication of data collected by on-board sensors. To achieve this end, two cars were equipped with infrared and ultrasound sensors which were able to receive data from the track environment. The track environment was demarcated into two zones, and the entry point to a specific zone was fitted with an infrared signal emitter. This was done so that a car would know which zone it was in when its infrared sensor picked up a signal from an infrared emitter set up at a zone entry point. Zone and sensor information were then broadcasted to both cars in order to take action according to a given situation. For instance, if a car enters a zone that the other car is already in, the car that entered the zone last will slow down until the lead car exits the zone.
 +
 +
See [[2018SpringTeam5]] for details.
 +
 +
== Voice Control ==
 +
 +
The objective of this project is to add an voice control over the original car model. This voice feature will allow users to talk to the car to perform things like emergency stop as well as switching back and forth from autonomous-mode and joystick-mode.
 +
 +
See [[2018SpringTeam6]] and [[2019WinterTeam1]] for details.
 +
 +
== Car plus drone ==
 +
 +
Can a DJI tello drone autonomously land on a moving car?
 +
 +
See [[2018FallTeam7]] for details.
 +
 +
== Pick and place ==
 +
 +
We decided to build a delivery robot. The ultimate goal of this project is to pick up objects at a desired location and deliver them to a different location.
 +
 +
See [[2019WinterTeam9]] for details.
 +
 +
== OpenCV Priors to Increase Robustness ==
 +
 +
We used OpenCV to pre-process images from the camera to detect edges/lanes and train using those. The goal was to perform better than the default donkeycar model.
 +
 +
See [[2019FallTeam6]] for details.

Latest revision as of 15:33, 20 March 2020

These are some ideas for possible projects to be develop in the class.

Code is collected on the class github repository.

Stay between the lines

Use computer vision to localize the vehicle and drive within the track's lane boundaries.

See 2018FallTeam1 for details.

Playing Fetch

Using image recognition to localize, track and fetch a tennis ball.

See project fetch for details.

GPS Navigation

Equip the car with GPS and use it to perform navigation tasks.

See project gps, 2018SpringTeam3, 2018FallTeam5, and 2020WinterTeam1 for details.

Stereo Vision

Equip the car with two cameras, design a new controller that can take advantage of the stereo vision and evaluate its performance.

See project stereo for details.

Encoders for Odometry

Incorporate encoders on the wheels of the car and use the new measurement to improve the performance of the controller.

See project encoders and 2018FallTeam4 for details.

ROS

Develop ROS nodes for the current setup of the car and demonstrate its capability.

See project ROS and 2019WinterTeam2 for details.

City Driving Suite

Equip the car with an additional camera and a suite of ultrasonic sensors so the car can evaluate and respond to common stimuli found in city driving.

See project City, 2018SpringTeam7,and 2019WinterTeam4 for details.

3D Vision

Equip the car with a camera that can sense depth, design a new controller that can take advantage of the stereo vision and evaluate its performance.

See 2018FallTeam3 for details.

Parallel Parking

Equip the car with ultrasonic sensor, design and train a controller that can park the car autonomously.

See 2018FallTeam2, 2019WinterTeam6, and 2019WinterTeam7 for details.

Convoy

Follow the car in front of you keeping distance. Control first car by remote control, then all autonomous.

See 2018FallTeam6 and 2019WinterTeam10 for details.

Enhanced Image Processing

Incorporate image processing filters that can enhance the performance of the car. Ideas include: split field of view, line detection and following.

Obstacle Avoidance with Lidar

Our project focuses on improving the safety of autonomous driving. For a human driver, there are many scenarios where obstacles must be detected and avoided, such as a slow moving vehicle or debris in the road; the safest thing to do in such situations may be to change lanes. We focused on this type of situation and attempted to develop our autonomous vehicle to mimic this behavior. Our goal is to have the vehicle detect an obstacle in its path and change lanes to avoid a collision and continue driving autonomously.

See 2018SpringTeam1 for details.

Follow Me

Identify and follow a person, given two people in the field of view. Tiny YOLO was fed into OpenCV to identify targets in a live feed.

See 2018SpringTeam2 for details.

Traffic

The goal of our project was to train the robocar to recognize common traffic signs, such as a stop sign and speed limits.

See 2018SpringTeam4 and 2019WinterTeam8 for details.

Vehicle-to-Vehicle Communication

The aim of this project is to improve upon the existing DonkeyCar autonomous control framework by implementing situational awareness through inter-car communication of data collected by on-board sensors. To achieve this end, two cars were equipped with infrared and ultrasound sensors which were able to receive data from the track environment. The track environment was demarcated into two zones, and the entry point to a specific zone was fitted with an infrared signal emitter. This was done so that a car would know which zone it was in when its infrared sensor picked up a signal from an infrared emitter set up at a zone entry point. Zone and sensor information were then broadcasted to both cars in order to take action according to a given situation. For instance, if a car enters a zone that the other car is already in, the car that entered the zone last will slow down until the lead car exits the zone.

See 2018SpringTeam5 for details.

Voice Control

The objective of this project is to add an voice control over the original car model. This voice feature will allow users to talk to the car to perform things like emergency stop as well as switching back and forth from autonomous-mode and joystick-mode.

See 2018SpringTeam6 and 2019WinterTeam1 for details.

Car plus drone

Can a DJI tello drone autonomously land on a moving car?

See 2018FallTeam7 for details.

Pick and place

We decided to build a delivery robot. The ultimate goal of this project is to pick up objects at a desired location and deliver them to a different location.

See 2019WinterTeam9 for details.

OpenCV Priors to Increase Robustness

We used OpenCV to pre-process images from the camera to detect edges/lanes and train using those. The goal was to perform better than the default donkeycar model.

See 2019FallTeam6 for details.