Difference between revisions of "Introduction to Autonomous Vehicles"

From MAE/ECE 148 - Introduction to Autonomous Vehicles
Jump to: navigation, search
(Team's Pages)
 
(78 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Class Overview ==
+
== Overview ==
  
This is a project based class in which students from all fields of Engineering interested in Robotics Competition can develop their skills in:
+
Autonomous vehicles, such as the ones being developed by Google, Uber, and Apple, as well as semi-autonomous cars on the market by Tesla, are generating exciting engineering challenges and catching significant public attention. As one of the goals of the Jacobs School of Engineering at the University of California San Diego is to provide students with up-to-date relevant knowledge, MAE/ECE 148 (Introduction to Autonomous Vehicles) will incorporate engineering theory and good practices, industry relevant lectures, and practical application with the development of 1/10 scale autonomous cars that must perform on a simulated city track.
  
* Project management
+
{{#evu:https://www.youtube.com/watch?v=gTW3_uxxj80?rel=0
* Concept development and problem solving
+
|alignment=center
* Multidisciplinary engineering design
+
}}
* Software and programming for robotics competitions
 
  
This wiki will be used to collect information on the class and projects.
+
''' Thank you for your interest in this class. The Winter 2020 section is currently at capacity, but stay tuned because we plan to offer it again in future quarters. See the upcoming [[#Spring 2020|Spring 2020 Session]].'''
  
== Structure of the class ==
+
== Instructors ==
  
=== Instructors ===
+
* [http://control.ucsd.edu/mauricio Mauricio de Oliveira]
 +
* [https://www.linkedin.com/in/jacksilberman Jack Silberman]
  
* [http://control.ucsd.edu/mauricio|Mauricio de Oliveira]
+
== Winter 2020 ==
* [http://control.ucsd.edu/mauricio|Jack Silberman]
+
 
 +
We are currently at capacity for the Winter 2020 session. Please apply for the Spring 2020 session.
  
 
=== Meetings ===
 
=== Meetings ===
  
* Monday from 17:00-18:50, location TBA
+
* Tuesday from 17:30-19:50,  
 +
* Thursday from 18:00-19:20
 +
 
 +
At ECE Makerspace.
 +
 
 +
=== Team's Pages ===
 +
 
 +
Access the [[2020WinterTeams|Winter 2020 Team's]].
 +
 
 +
Check out our [[Projects|projects page]].
 +
 
 +
Access the [[2019FallTeams|Fall 2019 Team's]].
 +
 
 +
Access the [[2019SpringTeams|Spring 2019 Team's]].
 +
 
 +
Access the [[2019WinterTeams|Winter 2019 Team's]].
 +
 
 +
== Spring 2020 ==
 +
 
 +
Please apply by filling [https://forms.gle/uYh3edmQuJUbPBV3A this form].
  
=== Expectations ===
+
== Curriculum ==
  
This course requires students to create projects for the development of a functional robotic system with the goal of performing in robotics competitions.
+
This course will introduce students to the fundamentals of Autonomous Vehicles using an accelerated and engaging engineering curriculum that leverages the educational benefits of robotics competitions. Students will work in small diverse teams, learning the best engineering methods and practices similar to what they will see in their professional career. Skills to be learned include project management, adhering to a budget and business planning, working within time constraints, designing to specifications, demonstrating performance, and delivering a well documented project that others can build on.
  
Students are encouraged to work in small multidisciplinary teams but have to produce an individual plan for development during the quarter. Projects can cover engineering theory, design and hands-on experience.
+
More specifically, students will be introduced and do development in the following areas:
 +
 
 +
* Computer Vision
 +
* Algorithms for Navigation
 +
* On-vehicle vs. off-vehicle computation
 +
* Computer learning systems such as Neural Networks 
 +
* Locomotion Systems
 +
* Vehicle Steering and Traction Control
 +
* Dead Reckoning
 +
* Odometry
 +
* Sensor Fusion
 +
* Global Positioning Based (GPS) Auto-Pilot limitations
 +
* Simulation
 +
* Power Management
 +
 
 +
Teams of students will be required to build an autonomous car using 1/10 scale R/C based cars that must meet a minimum pre-stabilized performance during a competition on an outdoor scaled track simulating city streets. Through this process of preparing for robotics competitions, students working in small diverse teams will experience a multidisciplinary engineering course that integrates theory and hands-on experience.
 +
 
 +
Enrollment is based upon instructor approval and limited to 28 students.
 +
 
 +
Students are encouraged to send an email the instructors with a short introduction and summarizing the reasons why they are interested in the course.
 +
 
 +
Detailed description on the topics covered will be made available here:
  
Students will work in small diverse teams in which they will learn about best engineering methods and practices. Management skills to be learned include project management, adhering to a budget and business planning, working within time constraints, designing to specifications, demonstrating performance, and delivering a well documented project that others can build on.
+
* [[Curriculum]]
  
Teams are expected to report and present their findings and progress throughout the quarter and produce a final report. The final report shall contain enough detail to provide future students with the knowledge and insights developed throughout the quarter.
+
Instruction will be complemented by the following tutorial sections:
  
In addition to the team report, each student is expected to turn in an individual self reflection detailing his or her participation and providing a personal perspective on the work of the team.
+
* [[Tutorial]]
  
Students will have a chance to actively participate in a fast paced environment where teams are working towards performing well in the following robotics competitions held at the UC San Diego Campus and elsewhere:
+
== Projects ==
  
* [[Micromouse]]
+
Integral to the class is a team project in which the class is divided in groups of 4 students. Each group has to develop a project that incorporates a new feature to the car, for example a new sensor, new algorithm, new motor, etc, develop the project and present it at the end of the class. Past class projects and ideas for new projects can be found in our project's page:
* [[Grand PrIEEE]]
 
* [[Project Drive]]
 
* [[RoboSub]]
 
  
 +
* [[Projects]]
  
The Project: Micromouse
+
== Expectations ==
The Competition: CAMM @ UCSD
 
The California Micromouse competition (CAMM) has been around since its introduction by IEEE in 1977. The original competition featured a 10x10 grid maze and was led by a wall-following mouse.
 
Applicants are put in teams of five and go through the process of designing, fabricating, testing and competing with their mouse. The IEEE UC San Diego Micromouse Project founded in Fall 2006 is consistently our largest and most celebrated project. To meet popular demand, we’ve established and hosted our own competition since 2011 called the California Micromouse Competition (CAMM). Every year we receive more than 200 applications and are able to sponsor 40 UC San Diego students to participate in the Micromouse Project, we also attract multiple schools from the west coast to attend CAMM. The Micromouse Project challenges student-led teams to create autonomous robotic ‘mice’ programmed to solve a 16x16 cell maze. Robots must travel from a predetermined starting cell to the center of the maze with no outside assistance or human control. To do this, mice are designed to explore, remember, and navigate the maze. During competition teams have 10 attempts to clock the fastest time to the maze center. Skills applied during this project include:
 
EagleCAD
 
PCB circuit design doubles as the vehicle chassis
 
V-Regs and H-Bridges properly power embedded controllers and high current motors
 
Digital Signal Processing
 
Regression modeling for different types of sensors like infrared transistors, motor encoders, accelerators, and gyroscopes
 
Programming
 
Microcontrollers like the Teensy and Arduino
 
Sometimes embedded programming for ARM processors and IC's such as STM32F, LPC24x, PIC, and MBED. Students are provided toolchain suggestions but mostly compile their code on their own.
 
Navigation and vehicle control most commonly implemented with PID and flood fill algorithms.
 
  
Along the way, participants will learn collaboration and research skills that come with team-based projects while being able to apply their academic knowledge in a competitive environment.
+
This course requires students to create projects for the development of autonomous vehicles.
  
+
Students are encouraged to work in small multidisciplinary teams but have to produce an individual plan for development during the quarter. Projects can cover engineering theory, design and hands-on experience.
 
  
 +
Students will work in small diverse teams in which they will learn about best engineering methods and practices. Management skills to be learned include project management, adhering to a budget and business planning, working within time constraints, designing to specifications, demonstrating performance, and delivering a well documented project that others can build on.
  
 +
Teams are expected to report and present their findings and progress throughout the quarter and produce a final report. The final report shall contain enough detail to provide future students with the knowledge and insights developed throughout the quarter.
  
 +
In addition to the team report, each student is expected to turn in an individual self reflection detailing his or her participation and providing a personal perspective on the work of the team.
  
 +
== Acknowledgements ==
  
The Project: Grand PrIEEE
+
* [http://maeweb.ucsd.edu Mechanical and Aerospace Engineering Dept]
The Competition: Grand PrIEEE @ UCSD
+
* [http://www.ece.ucsd.edu Electrical and Computer Engineering Dept]
  
+
=== Spring 2019 ===
 
  
Since 2010, IEEE at UC San Diego has hosted a Grand PrIEEE competition, inspired by the Natcar competition originally created at UC Davis. The project challenges student teams to design, build, and race autonomous vehicles to follow a ~250ft long track of white tape over a wire on a carpet carrying a 100mA RMS @ 75kHz sinusoidal signal. The fastest lap time wins. During this project, students must learn to design analog circuitry for high currents and fine tune control algorithms to optimize track navigation at significant speeds of about 10 ft/s. Skills applied during this project include:
+
* [http://www.ece.ucsd.edu/makerspace ECE Makerspace]
  
Electrical Design
+
=== Winter 2019 ===
PCB layout using EAGLE software or similar
 
H-Bridge motor driver circuit to pull proper current for the brushed DC motor
 
Voltage regulation from NiMh or LiPo battery to provide various voltages to circuits
 
Programming
 
Microcontrollers like the Teensy and Arduino
 
Control an electromechanical system featuring motor, servo, sensors, and other external components (e.g. bluetooth modules)
 
Motor and steering control using PID or geometric modeling
 
Interfacing with linescan camera and implementing filtering algorithms
 
Digital Signal Processing
 
In recent years, every team has started using a linescan camera to detect the white line. Image processing techniques and filtering algorithms are essential for proper detection of the line.
 
Originally, teams opted to use RLC resonance circuits to detect the changing magnetic field due to the current being passed through the wire underneath the line.
 
Mechanical Design
 
  
3D modeling using Autodesk Inventor, Solidworks, or similar software to design camera/circuit mounts to place on 1/10 or 1/12 scale vehicles. These designs are realized through 3D printing
+
* [http://www.occipital.com/ Occipital]
 +
* [http://jacobsschool.ucsd.edu/envision Envision]
  
Along the way, participants will learn collaboration and research skills that come with team-based projects while being able to apply their academic knowledge in a competitive environment. Additionally, participants will learn how to properly design a functional, intelligent robotic system.
+
=== Fall 2018 ===
  
The Project: Quadcopter
+
[[File:Occipital-Logo.png|400px|link=http://www.occipital.com/]]
The Competition: The IARC American Venue
+
* [http://www.ece.ucsd.edu/makerspace ECE Makerspace]
IEEE at UC San Diego strives to provide accessible hands-on engineering opportunities to students with initiative. The Quadcopter is one of our two advanced annual projects that provides a robotics challenge to a small team of experienced students.
 
The IEEE at UC San Diego Quadcopter Project began in 2014 and competes in the International Aerial Robotics Competition (IARC). The IARC was founded in 1991 with the goal of advancing aerial robotics technology by challenging teams to solve previously unsolvable missions; the competition is currently on its Mission 7 which requires a competing UAV to not only be fully automated but also be able to navigate itself without GPS but computer vision inside a sport arena. 20 by 20 grid is printed on the floor of the sport arena and Roombas are running randomly over the grid; UAVs need to “capture” as many Roombas as they could within limited time. Our Quadcopter Project prepares for the IARC competition by crafting a research paper, integrating multiple robotic systems, advanced control, tracking, and navigation algorithms to build a quadcopter. This project also serves as a learning experience for members to become familiar with team functionality, research, and advanced robotics systems. Skills applied during this project include:
 
Physical design with CAD
 
Advanced programming and high level software design
 
Signal processing with an IMU
 
Machine vision using openCV
 
Control, navigation, and tracking methods
 
  
Learn more at our project team website: http://ieee.ucsd.edu/project/iarc-quad/
+
=== Spring 2018 ===
IARC website: http://www.aerialroboticscompetition.org/
 

 
  
The Project: Project Drive
+
* [http://www.ece.ucsd.edu/makerspace ECE Makerspace]
The Competition: Sparkfun AVC Speed Demon Class
 
IEEE at UC San Diego strives to provide accessible hands-on engineering opportunities to students with initiative. Project Drive is one of our two advanced annual projects that provides a robotics challenge to a small team of experienced students.
 
The team is challenged to design a small autonomous ground vehicle that can quickly navigate through an outdoor terrain course at the annual Sparkfun Autonomous Vehicle Competition in Niwot, CO on October 14-15th. The Speed Demon competition is described online:
 
  
“Competing vehicles will be expected to complete a course littered with obstacles within a set time frame without human interaction. The track is a figure-8 layout with a major axis length of approximately 178 feet and a minor axis of approximately 78 feet.”
+
=== Winter 2018 ===
  
Those course obstacles test the team's ability to integrate robotics systems into the vehicle. Since 2006, IEEE at UC San Diego has sponsored Project Drive (as it is currently referred) to create a multidisciplinary engineering experience common in industry. The team of students must learn and apply techniques for hardware and software design, research skills, as well as project leadership. Technical skills applied during this project include:
+
[[File:Mg.jpg|600px|link=http://www.magcanica.com/]]
Physical design with CAD
 
Analog circuit design for power regulation
 
Signal processing with sensors such as GPS, LIDAR, ultrasonic, motor encoders, accelerator, gyroscope
 
Control theory with PID
 
Localization/navigation methods using ROS
 
Machine vision using openCV
 
  
The entire experience of the IEEE project takes place during one academic year. By Week 5 of Fall quarter the team of 8 students was formed. The remaining weeks of Fall quarter were spent designing a vehicle block diagram, custom LIDAR block diagram, and researching how to work with ROS. WInter quarter was spent ordering and receiving components, assembling electronics onto the vehicle chassis, designing the power system, and fabricating a custom LIDAR system. Spring quarter has been spent tweaking ROS and integrating the controls and localization systems together to create reliable navigation. The team documents the development process every three weeks and plans to showcase the final product on the IEEE at UC San Diego website to inspire robotics in the community.
+
=== Fall 2017 ===

 
  
+
[[File:cri.png|200px|link=http://jacobsschool.ucsd.edu/contextualrobotics/]]
  
 +
[[File:ige.png|400px|link=http://jacobsschool.ucsd.edu/ige]]
  
The Project: RoboSub
+
[[File:ng.png|500px|link=http://www.northropgrumman.com/]]
The Competition: Robonation’s International RoboSub @ San Diego
 
  
IEEE at UC San Diego strives to provide accessible hands-on engineering opportunities to students with initiative and hopes to include RoboSub in the available repertoire of advanced annual projects. But first, a long term plan that describes the formation and management of such a Robosub program is necessary. If it is possible, IEEE would like to suggest that one of the deliverables for the MAE198 course is to structure the long term robosub program. Students in the course would likely have to start by joining the idea with IEEE’s current projects, estimating the timeline and cost of a competition team, find appropriate sponsors, and establishing a process for an IEEE competition team formation. In future offerings of the course, student work might include research and designing of individual components for the competition team vehicle.
+
[[File:keysight.png|200px|link=http://www.keysight.com/]]
The benefits to students of Robosub are much like those of the Quadcopter and Project Drive; the RoboSub project would offer a small team of prepared students a multidisciplinary engineering experience as they design an underwater autonomous vehicle. They would need to apply both hardware and software design skills while demonstrating research and documentation as well as gaining project leadership experience. What’s more, unlike any of our other projects, the RoboSub project provides the opportunity to learn about the unique possibilities and restrictions of underwater operation. Hopefully, this project can also open up new opportunities to partner with the multitude of underwater research here at UCSD.
 
 

Latest revision as of 18:12, 16 January 2020

Overview

Autonomous vehicles, such as the ones being developed by Google, Uber, and Apple, as well as semi-autonomous cars on the market by Tesla, are generating exciting engineering challenges and catching significant public attention. As one of the goals of the Jacobs School of Engineering at the University of California San Diego is to provide students with up-to-date relevant knowledge, MAE/ECE 148 (Introduction to Autonomous Vehicles) will incorporate engineering theory and good practices, industry relevant lectures, and practical application with the development of 1/10 scale autonomous cars that must perform on a simulated city track.

Thank you for your interest in this class. The Winter 2020 section is currently at capacity, but stay tuned because we plan to offer it again in future quarters. See the upcoming Spring 2020 Session.

Instructors

Winter 2020

We are currently at capacity for the Winter 2020 session. Please apply for the Spring 2020 session.

Meetings

  • Tuesday from 17:30-19:50,
  • Thursday from 18:00-19:20

At ECE Makerspace.

Team's Pages

Access the Winter 2020 Team's.

Check out our projects page.

Access the Fall 2019 Team's.

Access the Spring 2019 Team's.

Access the Winter 2019 Team's.

Spring 2020

Please apply by filling this form.

Curriculum

This course will introduce students to the fundamentals of Autonomous Vehicles using an accelerated and engaging engineering curriculum that leverages the educational benefits of robotics competitions. Students will work in small diverse teams, learning the best engineering methods and practices similar to what they will see in their professional career. Skills to be learned include project management, adhering to a budget and business planning, working within time constraints, designing to specifications, demonstrating performance, and delivering a well documented project that others can build on.

More specifically, students will be introduced and do development in the following areas:

  • Computer Vision
  • Algorithms for Navigation
  • On-vehicle vs. off-vehicle computation
  • Computer learning systems such as Neural Networks
  • Locomotion Systems
  • Vehicle Steering and Traction Control
  • Dead Reckoning
  • Odometry
  • Sensor Fusion
  • Global Positioning Based (GPS) Auto-Pilot limitations
  • Simulation
  • Power Management

Teams of students will be required to build an autonomous car using 1/10 scale R/C based cars that must meet a minimum pre-stabilized performance during a competition on an outdoor scaled track simulating city streets. Through this process of preparing for robotics competitions, students working in small diverse teams will experience a multidisciplinary engineering course that integrates theory and hands-on experience.

Enrollment is based upon instructor approval and limited to 28 students.

Students are encouraged to send an email the instructors with a short introduction and summarizing the reasons why they are interested in the course.

Detailed description on the topics covered will be made available here:

Instruction will be complemented by the following tutorial sections:

Projects

Integral to the class is a team project in which the class is divided in groups of 4 students. Each group has to develop a project that incorporates a new feature to the car, for example a new sensor, new algorithm, new motor, etc, develop the project and present it at the end of the class. Past class projects and ideas for new projects can be found in our project's page:

Expectations

This course requires students to create projects for the development of autonomous vehicles.

Students are encouraged to work in small multidisciplinary teams but have to produce an individual plan for development during the quarter. Projects can cover engineering theory, design and hands-on experience.

Students will work in small diverse teams in which they will learn about best engineering methods and practices. Management skills to be learned include project management, adhering to a budget and business planning, working within time constraints, designing to specifications, demonstrating performance, and delivering a well documented project that others can build on.

Teams are expected to report and present their findings and progress throughout the quarter and produce a final report. The final report shall contain enough detail to provide future students with the knowledge and insights developed throughout the quarter.

In addition to the team report, each student is expected to turn in an individual self reflection detailing his or her participation and providing a personal perspective on the work of the team.

Acknowledgements

Spring 2019

Winter 2019

Fall 2018

Occipital-Logo.png

Spring 2018

Winter 2018

Mg.jpg

Fall 2017

Cri.png

Ige.png

Error creating thumbnail: Unable to save thumbnail to destination

Keysight.png