Responding to a challenge from their professor, Jim Freudenberg, students in EECS 461 (Embedded Control Systems), entered a contest called the Freescale Cup that was brand new to U.S. students, thinking it might be fun.
From Cars to Embedded Control Systems
Prof. Freudenberg developed EECS 461 after being approached by engineers at Ford Motor Company, who were having difficulty finding employees with the skill set needed to work in embedded control software development.
“Embedded control software is different than the software that runs on a normal computer,” explains Freudenberg, “because it actually has to control the functioning of your car, including the engine and braking, etc, and the software has to execute at the same time as the time constants of your car, which can be pretty fast. The auto industry uses billions of embedded microcontrollers.”
“We took the challenge of preparing a class that would take students primarily with a background in electrical and computer engineering, but also with a background in mechanical engineering and other departments, and give them the skills required to at least get their feet wet in embedded control software development.”
“I enjoyed 461 because I have an interest in control,” said Doug. “The best part about the class was the hands on aspect. We got to implement what we learned in theory in other classes. It prepared me well for the real world, It’s given me experience in straight c-coding as well as model based design. I will be using those in a future career in embedded controls.”
The success of the course has led it to be taught in Switzerland as well as the U.S., and to expand the number of labs offered. Currently, the course is taught by Prof. Freudenberg in the Fall, and by Jeff Cook, formerly of Ford research labs, in the Winter term.
But not just for cars
Though the final project in EECS 461 is in adaptive cruise control, using a haptic wheel developed by Prof. Gillespie in Mechanical Engineering, Prof. Freudenberg is quick to explain that the skills developed in the course are not just relevant to the auto industry.
“Embedded control systems are used in all your household appliances these days – I actually have one in my toaster,” says Freudenberg. “They’re used in airplanes, in the defense industry. We’ve had students that have been offered jobs at Xerox with the understanding that they would take 461 before they showed up on the job. We’ve had students sent here from Hewlett-Packard to get a master’s degree with the understanding that they would take the class because embedded control systems are used on printers and other kinds of computer equipment. We have students at Raytheon and Whirlpool Research Center. In Switzerland, those students will be working in the medical instrumentation industry, which uses a lot of embedded microprocessors. Hospital beds have a number of embedded microprocessors that are networked together.”
“As a professor, teaching a course that students want to take is very satisfying,” said Freudenberg. “I’m glad I have the opportunity to work with students like Josh and Doug.”
EECS 461 and the Freescale Cup
“I probably learned more in the 6 months that I was preparing for the Freescale Cup than I have in 3 years here at the University,” said Josh Miyamoto, one of the team members. “It was one of those projects where not only do you learn how to do it the right way, but you learn many different wrong ways to do something. You go through the entire process from the ground up. That made it a lot of fun, and an experience that demanded that you learn a lot. It was very much a sink or swim project.”
Josh spent the past summer interning at Ford in software powertrain controls. He added that the project was very relevant to the ‘real world,’ and especially to the automotive industry because they had to solve real time problems. “With this project we had about 16 milliseconds of time, and of that, we had to allocate milliseconds of time to different processes,” stated Miyamoto. “If you don’t meet the deadlines, the car goes completely out of control.”
Students participating in the Freescale Cup build a model car that will race around a track following a black line. The students program a microcontroller to interface with either IR sensors or a camera to race around the track autonomously, without wireless communication.
What’s the link between EECS 461 and the Freescale Cup?
Freescale makes the microprocessors used in EECS 461, and the company is very familiar with the course. In fact, Prof. Freudenberg says they were very helpful as the class was being developed, and they often hire summer interns who have taken EECS 461.
The company contacted Prof. Freudenberg in late 2010 to invite students in EECS 461 to participate in the Freescale Cup. They sent car kits and a microprocessor board in early 2011, leaving the vision system and control algorithms for the students to perfect in time for a June competition.
This was the first time Freescale opened up the competition to U.S. students, and even then only to selected schools in SE Michigan as well as a few academic institutions outside of Michigan. It was already established as a popular contest in China and Mexico, where thousands of students regularly compete.
Josh, Doug McEwan, and Ethan Stark, all undergraduate students enrolled in EECS 461 at the time, took the challenge. Ethan had to withdraw early on in order to leave the area for a summer internship.
Three teams from the United States, U-M, U-M Dearborn, and Penn State, competed in San Antonio against 3 teams from Mexico and 3 from China. From among the U.S teams, only the U-M team had a working car at the start of the contest. They were commended for their efforts as a first year team.
Course Overview: EECS 461, Embedded Control Systems
Mathworks Article: Embedded Control Systems Education at the University of Michigan
Mathworks Webinar: Teaching Embedded Control Systems at the University of Michigan