Andrew Drenner
Research
In general, I am presently interested in two main areas within the realm of AI. The primary focus of my research interest is in the development and application of teams of miniature robotic systems. Originally I worked on using them for the detection and neutralization of biological and chemical agents. This has applications both in counter terrorism and homeland defense as well as the fields of inspection, maintenance, and hazardous material cleanup. This is a very important area of research as these situations are prohibitive and dangerous for human intervention. However, this work has recently taken a turn to collaborative locomotion, collaborative manipulation, and building systems capable of autonomous deployment and recovery with the goals of establishing pervasive coverage and rapid coverage of areas of interest. This in turn has led to the development of several new robotic platforms that can work together to be active in the field for extended periods of time.
My secondary research interest is the application of artificial intelligence to improve non-human players in video games. Through the use of both supervised and unsupervised learning along with intelligent search, planning, and data mining techniques virtual players can learn not only to play a game effectively, but function as an indistinguishable member of a team comprised of both humans and AI players.
The following are some of the research projects that I've been working on during my study at the University of Minnesota.
Multi-Hierarchial Robot Control
This is what I was basing my thesis around. I'm working to develop algorithms that make use of a new robotic device (shown here) that autonomously integrates itself with our existing robots and is capable of autonomously deploying and retrieving a large number of smaller robotic platforms. This requires a control scheme to opimize certain criteria for particular aspects of the present mission.
However, the scope of the endeavor I was setting out to accomplish encompassed a bit more than what would be feasible for a single Ph.D. thesis. So I'm presently focusing on the specifics of multi-robot docking for this project. This work involves the development of algorithms for the optimal placement of the docking station(s) in order to conserve the energy expended while the smaller deployed robots are seeking home. The goal of this work is to extend the operational lifetime of the robots by manipulating where their source of power is. This work is done in collaboration with several others, in particular, Casey Carlson, who is doing the mechanical design of the system and Michael Janssen who is building a full featured extension in Player/Stage in order to simulate more complex environments and to test the scalability of the approach.
Player/Stage Everywhere!
Player/Stage is a nifty environment for development of hardware independent robotic control algorithms. I'm presently working on updating all of our commercial robotic platforms to take advantage of the Player/Stage system. Then I plan on working on porting Player to our MegaScout platform and building a proxy that can control our Scout robotsI haven't had enough time to implement as much as I would like to in this environment, however I have had the opportunity to work with it on one of our ATRV-JR robots. Here, Rob Bodor, Mike Janssen, and I built a system using Player to place a camera for optimal observability of a scene.
SMuRC
The SMuRC (Simple Multi-Robot Controller) interface shown to the right is a project worked on by myself, Mike Janssen, and Ben Miller. The purpose to develop a system capable of generating trajectory and displaying a variety of information from multiple heterogenous robots. The interface was developed using the QT toolset for linux.
UMN Scout Robots
I came to the University of Minnesota specifically to work with the Scout robot. The Distributed Robotics project was initially a DARPA funded program to develop a miniature robotic platform capable of deployment by a M203 gernade launcher. It has expanded through other funding agencies (NSF, INEEL, Microsoft) to include a variety of projects from robotics in education to the development of enhanced communication, sensing, and locomotion capabilities.
Enhancing Oddbot
One of the things I really enjoy is playing video games. This combined with my interest in AI led to a project in my Agents class (with Brian Chapeau) and extended to my AI2 classes. I'm currently working to enhance a non-human player (or "bot") in a First Person Shooter with the goal of creating a player that plays like a member of a team. This means focusing on having the bot learn to recognize when it needs backup, when and what to communicate, and perform analysis of others playing to build "experience". So far this has been accomplished using a series of neural networks and an elementary communication scheme. I am interestested in extending the "learning" that takes place to incorporate map-specific strategies that can develop over the long term through analysis of games played by both humans and bots.
This bot is built to interact with the game Front Line Force, the best team based multiplayer first person shooter that I think I've ever seen. The game requires teamwork and strategy. In a good match, a single excellent player may dominate, but a team of average players with good teamwork can do some amazing things as well. Unfortunately, the community for this mod has died down a quite a bit, but hopefully I will have time to port the bot to Half-Life 2 or some other engine.