Over the past few years I was an intern and Research Programmer at NREC on a John Deere project, and then on a robotic paint stripping project. I developed a static person detector for infrared images for use on a robotic tractor operating in orange groves. I worked on many aspects of infrastructure software including data visualization and control using QT GUIs, shared-memory based inter-process communication library, and various hardware interfaces.
Currently, I am conducting research with Jim Rehg in the Computational Perception Lab at Georgia Tech. I design and manage the software infrastructure and project repository on the MURI project. The goal of this project is to create a robotic vehicle capable of challenging professional rally drivers in rally races. Our current platform is a 1/5 scale RC trophy truck with added computing and sensing.
Airborne orientation control
During high-speed off-road driving, vehicles often lose traction with the ground they are traversing and even make mandatory jumps. Among rally drivers, jumping is considered one of the most difficult and dangerous skills to master. By modeling the vehicle dynamics while airborne, we can use feedback from the on-board sensors to track actuator trajectories for the throttle, brakes, and steering to control to achieve a desired orientation upon landing.
Automatic rally stage note generation
Perception systems on robots, especially vision-based perception, are often the computational bottleneck in the data pipelines. I want to investigate the automatic generation of a world model that can be directly used by control algorithms. In the context of the high-speed off-road autonomous driving, my inspiration comes from stage notes used by rally drivers during their races. The systems, developed over decades of real-world racing, provides all the information a human driver and co-driver need to successfully navigate roads as fast as possible after seeing the road only once. Further, these notes can be decomposed into a hierarchy of importance including curvatures and distances all the way down to small details such as rocks on the side of the road and uneven surfaces. The hierarchy is also a great structure when operating on a road for the first time. Even with only the highest level surface information from the model, the vehicle could travel at a reasonable speed down a road the first time the road is encountered, and improve performance with additional passes on the road and more analysis time.