These are some ideas for possible projects to be develop in the class.
Code is collected on the class github repository.
- 1 Stay between the lines
- 2 Playing Fetch
- 3 GPS Navigation
- 4 Stereo Vision
- 5 Encoders for Odometry
- 6 ROS
- 7 City Driving Suite
- 8 3D Vision
- 9 Parallel Parking
- 10 Convoy
- 11 Enhanced Image Processing
- 12 Obstacle Avoidance with Lidar
- 13 Follow Me
- 14 Traffic
- 15 Vehicle-to-Vehicle Communication
- 16 Voice Control
- 17 Car plus drone
- 18 Pick and place
- 19 OpenCV Priors to Increase Robustness
Stay between the lines
Use computer vision to localize the vehicle and drive within the track's lane boundaries.
See 2018FallTeam1 for details.
Using image recognition to localize, track and fetch a tennis ball.
See project fetch for details.
Equip the car with GPS and use it to perform navigation tasks.
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.
Develop ROS nodes for the current setup of the car and demonstrate its capability.
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.
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.
Equip the car with ultrasonic sensor, design and train a controller that can park the car autonomously.
Follow the car in front of you keeping distance. Control first car by remote control, then all autonomous.
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.
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.
The goal of our project was to train the robocar to recognize common traffic signs, such as a stop sign and speed limits.
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.
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.
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.