Knoy Hall earned an unusual title Wednesday night (December 14): racing venue.
Students in ECET 58100 (Robot Programming with ROS, Robotics Operating System), staged a race of 1:10-scale autonomous vehicles, competing to determine which team’s vehicle could complete a lap of the first floor’s zigzag hallways in the least amount of time using pre-programmed instructions to navigate the course.
“We started with off-the-shelf RC (remote control) racing cars. We stripped off the body and built custom platforms which have two computers, including one of our own design called the RecoNode, or reconfigurable node,” said Richard Voyles, professor of robotics engineering technology and head of the Collaborative Robotics Lab. "The RecoNode performs low-level control and runs the students' own autonomy programs on the car itself."
To prepare for the race, students had to teach their cars the layout of the course and to process data from onboard LIDARs (laser-based sensors) to avoid objects such as walls, trash cans and chairs.
“In our lab, students use Linux workstations to program and control robots remotely. They developed code there and then downloaded it onto the small CPU on the car. That’s what gives each car autonomy,” Voyles said.
"We had to figure out how to make every part of the car work together to complete the race, from hardware and software to sensors and batteries," said Sangjun Eom, an undergraduate research assistant in the School of Engineering Technology. "My team faced unexpected problems, and we had to spend extra time debugging after the competition was over."
During the race, student teams had only the ability to start the vehicle and stop it in case of emergency. For this inaugural run of the race, students focused their code development on navigation and static obstacle avoidance, and each vehicle ran the course on its own. In future semesters, students will also program their cars for dynamic obstacle avoidance, Voyles said, toward a goal of allowing multiple cars to race simultaneously.
"It seems like a simple task to drive a car down a hallway. But during test runs, our car would turn a corner nicely, proceed straight down the hall for a while, and then randomly decide to steer off course," said Daniel McArthur, a mechanical engineering graduate student. "We weren't sure if it was a bug in our code, a hardware problem with battery voltage, or bad readings from our laser distance sensor, for example. Fortunately, we were able to locate the source of all the critical errors and correct them in time."
"On an S curve, our car's wall-following algorithm was only looking to the left, and it would hit the second wall in the curve," said Kirby Neihouser, a graduate teaching assistant in Engineering Technology. "To compensate, we had to modify our algorithm to look forward and at both walls. I came into this course without any robotic or Python programming language experience, and it has given me confidence to solve complex problems."
“In our research, we want to capture the human element of problem solving, to allow systems to self-adapt to problems they’ve not been programmed to address,” Voyles said. “There are two basic genres of robots: manipulation and locomotion. To make our programming class exciting, I wanted to bring both of those in. We have the Baxter robot, a pure manipulator like you’d use in a factory for moving things around. The rally car is a pure locomotor.”
The autonomous vehicle race is part of a larger effort to revamp robotics and mechatronics curricula for the college’s academic transformation. “Drivers as young as 16 can learn how to react while driving on slippery roads, especially where there’s snow. We want to leverage that ability, to translate it into an understanding of complex mathematics and programming for autonomous driving in difficult and hazardous conditions,” Voyles said. “First-year students would start working with sensors and simple programming, and by senior year they’d be working with sophisticated tools to do some really neat things — maybe even autonomous Hollywood-style stunt driving or high speed parallel parking. That’s how I see this evolving.”
"Dr. Voyles pushed us to design code that can work well on actual robots in non-ideal real-world conditions rather than just in simulations," McArthur said. "I believe our familiarity with ROS will give us an advantage when seeking employment in the field of robotics."