Thursday, July 14, 2016

2016-07-14: Autonomy Incubator Bids Farewell to Intern Kevin French

After two consecutive internships with the Autonomy Incubator (Ai), Kevin French gave his final exit presentation today. He leaves on Saturday to begin his epic travels across the USA, where he will hike and camp with his brother and by himself before heading to Ann Arbor, Michigan, to begin his PhD in Robotics at University of Michigan. His presentation was titled, "Algorithms for Flocking Gliders."

Ai head Danette Allen gave a warm introduction to the assembled crowd of Ai team members and guests, citing Kevin's lengthy stay in the Ai and how much he's contributed to our mission. 

Kevin began his presentation with a recap of the work he did with computer vision and object tracking in the spring, which concluded with his software being uploaded to the Ai's in-house network, AEON. 

Kevin stands in front of a live demo of his lidar object tracking system, mounted on Herbie.

"It was a very rewarding experience having my software become a permanent part of this lab's capabilities," he said.

This summer, his goal was to come up with a solution for having large flocks of gliders operate autonomously and cooperatively. 

"Nowadays, you can get simple, cheap gliders," he explained. "I wanted to see what we could do with a high quantity of low complexity gliders."

Gliders, although simple, pose unique challenges in autonomy because they're so limited in how they can change direction. To explore this problem and its possible solutions, Kevin decided to simplify a three-dimensional problem down to a 2D analog. He made a "grid world," generated "gliders" of six pixels each (each holding a value for a state: momentum, pitch, etc.) and then set about creating sets of rules to see how the gliders behaved. You remember this from the blog post about his cellular automata, right?

Kevin walks the audience through one of his 2D models.

Simple as it may look, creating his grid world was incredibly complex. His first iteration had 322 billion states and more possible configurations than the number of atoms in the universe.

"We need to simplify," Kevin said in front of a projection of a number so long, the exponent in its scientific notation was still too long to represent in a PowerPoint slide.

By adding physics, he was able to get his software simpler and more agile. Then he could start trying ways of generating the best sets of rules. He could do it by hand, of course, but that would have left him with a process that was time-intensive and inefficient— two things that do not mix with robotics. 

His first attempt, a "sequential floating forward selection" (SFFS) algorithm that he created from scratch, worked by taking his original hand-entered set of rules, removing one or more, and then testing to see what happened. Although it brought him some success, it too proved to be not efficient enough for his needs.

"I let it run all weekend one time and it still didn't finish. Actually, it short-circuited it," he said.

Building on the results he managed to get from the SSFS, Kevin next implemented a genetic algorithm, a kind of software that mimics evolution and natural selection. His genetic algorithm "bred" two sets of rules together to produce "children," the most successful of which would then be bred, and so on until someone hit the stop button. It was this genetic algorithm that finally brought him the agility and the accuracy he needed, and served as the capstone of his research here.

As he wrapped up, Kevin called his two terms in the Ai "the best of my life," and thanked Danette, the Ai, the NIFS program, and "all the robots who have helped me out."

No comments:

Post a Comment