I am interested in building robots and related systems that are cost-effective in today's marketplace. It is clear that sensing and cognition have a long way to go before an autonomous system can match the ability of even a small child. Yet, it is also clear that autonomous systems have a place in our world now if they can compete with humans because they are better, faster, cheaper, safer or even more entertaining. Some recent areas of interest include:

Off-Road Mobility

The goal of this work is to improve the performance and reliability of vehicles that drive themselves "in the rough" - outdoors, off the road. I am interested in the systems aspects of constructing a high-performance autonomous vehicle and particularly in the perception, planning, and control software. Ideally, I'd like to build a software system that runs on a single processor that automates any vehicle when appropriate control systems are added. In particular, I am now working on fast stereo algorithms that exploit the constraints of most off-road environments in order to generate near frame-rate stereo vision on a standard personal computer platform.

Position Estimation for Structured Environments

It has long been the practice in industrial automation to make up for lack of intelligence with repeatable positioning and/or knowledge of environmental structure. While such teach-playback techniques have become standard for manipulators, the lack of repeatability of mobile robot positioning systems has made it difficult to simply teach a vehicle a trajectory and have it follow that trajectory repeatably enough to function effectively.

I am working on a system to compute repeatable vehicle positions from image mosaics constructed from factory floors. The basic idea is that the markings on the floor over a sufficiently large area are or can be made unique enough to unambiguously locate the vehicle. This approach is superior to competitive landmark based systems and all dead reckoning systems because the repeatability is bounded by the footprint area of a single image pixel - which can be made arbitrarily small. Coincidentally, the image processing involved is a 2D analog of the Global Positioning Satellite navigation system (GPS).

Visual Servoing of Implements on Moving Vehicles

A baseball player who catches a ball while running solves a complex problem of coordinated perception and control. Based on a 2D image and only rough position feedback, the player simultaneously tracks the 3D position of a moving object relative to a moving observer and coordinates many degrees of freedom of manipulation to execute a capture trajectory.

I am working on a vision and control system to enable a fork truck to autonomously unload trailers and rail cars in the auto industry. The challenge is to robustly identify the containers to be loaded, compute their 3D positions, and servo both the vehicle and forks to acquire one load at a time - all while moving at high speed.

Additional Interests

My research centers around all aspects of mobile robots including the areas of perception, planning, control, and state estimation. I am also interested in problems that arise in sensing and calibration, and in visualization, modelling, and human interfaces for mobile robots.