This page provides a summary of projects that I have worked on. For an ordered list of publications, see Publications.

I'm currently working in these areas:

Past projects include:

... and some Undergraduate Research projects while I was at MNSU, Mankato.

More information on these or other projects can be found on the RSN website.

Active Tracking

Radio Transmitter

I am interested in path-optimization algorithms which can provide a hard guarantee on the time required for robots to locate a target with sufficient accuracy. For example when tracking radio-tagged carp, biologists only require GPS-level accuracy in the estimate of the carp's position, but the fish should be localized as quickly as possible. The radio-tag used is pictured to the right.

Single Robot

First, we examine the case of using a single robot, equipped with a directional-sensitive radio antenna to locate a loitering (stationary) radio-tagged fish. This closely approximates the human efforts to locate an aggregation of radio-tagged fish during the winter months. There are three main difficulties:
  1. Constructing a bearing measurement from radio-signal strength requires many samples. Since the tags used in this domain transmit infrequently, measurements take significant time (1-2 minutes). Thus, the cost of taking measurements can dominate the total cost to localize.
  2. The antenna is symmetric, producing a bi-modal posterior pdf. An exponential number of terms are required to track the target pdf, even assuming Gaussian noise and priors.
  3. Bearing measurements built from diretional-sensitive antennas are typically very suseptible to outliers (i.e., they have high measurement noise).
Accuracy Increase

My work is on exploiting the mobility of the robot to deal with these problems directly. First, a mobile robot can move to informative locations while optimizing the trade off between information, travel cost, and measurement time. It is possible then, to show a closed-form bound on the cost to localize a target given system parameters like sensor noise, velocity, measurement time, etc.

Second, by carefully selecting measurement locations, we can ensure that the effects of sensor ambiguity are minimized. For example, in the figure on left, a simple EKF when used with our measurement selection algorithm performs as well as, or better than, other more computationally expensive filters. This shows the effect of correct measurement location choice on the complexity of the posterior pdf.

Finally, we show that no other algorithm can do significantly better than ours by providing a lower-bound on the optimal algorithm, which we show to be close to the performance of our algorithm.

See [2014 Journal of Field Robotics] for more information.

Multi-Robot Extensions

Final Expt Result

Second, it is possible to use multiple robots to speed up the localization process by combining their measurements. However, field robots have a limited communication range that must be considered when choosing measurement locations. On one hand it may be informative to travel to a wide baseline between measurements, but costly to rendesvous to communicate the results. Thus, the optimal algorithm must consider communication range in addition to travel time, measurement cost, sensor noise, and the required precision in the final estimate.

In my current work [Algorithms for Multi-Robot Collaborative Localization of Static Targets], we show lower-bounds on the cost of the optimal many-robot algorithm, and provide a field-tested algorithm for choosing measurement communication locations which is provably near-optimal.

An example of the robot paths from field trials is shown at right (two robots start at the top, and move along the solid and dashed lines respetively). The figure is a satellite image and covers 90 square kilometers. The robots located the tag by taking measurements at the white dots and communicating at the red dots. The final error in the estimate was only 10 meters.

Other work we have done involves developing a mobile, autonomous sensor network [2011 WREM, 2013 IRAM, Systems (below)] and work on scalable multi-target initialization [2013 STAR]. It is also possible to formulate the problem of tracking moving targets as a pursuit / evasion game.




Field Robotics Development

Husky A100 Josh and Two OceanScience QBoats Lavant

The Husky A100 was manufactured by Clearpath Robotics of Toronto Canada. We make use of the platform for various research projects. I spent part of my first semester implementing an autonomous navigation stack. We use an EKF to merge GPS, odometry, and either visual odometry or compass inputs, and closed loop control to navigate between waypoints. The robot is controlled by an onboard laptop which uses the Robot Operating System to abstract the hardware layers.

The husky is shown here with tracking equipment for monitoring invasive fish. This was taken during a field trial on a frozen lake near campus. Newer models, such as the A200 include a software implementation similar to our software.

During the summer months, the same tasks are accomplished using a QBoat by OceanScience. We use the boat to conduct tracking and coverage experiments. The boat has an onboard battery life of approximately 4 hours. During this time, we can cover nearly 4 kilometers and, by triangulating, locate transmitting reference tags to within a few meters.

ROS: The Robot Operating System

Most of our software is built on the Robot Operating System by Willow Garage. This software allows portable and system-independent development.


Pursuit Evasion

A pursuit-evasion game (wikipedia) is a mathemtatical game in which a pursuer tries to capture an evader. Previous work on P/E games often assumes perfect knowledge. For example, in the Lion and Man game, the players know each other's location perfectly and play inside a convex environment [Littlewood 1986]. It is well known that there exists a lion's strategy to capture the man regardless of the man's evasion strategy.

We study a unique formulation that deals with sensing uncertainty: When the pursuer has imperfect knowledge of the evader's location, can he still win the game?

As a first result, we analyze the case of a pursuer equipped with a noisy bearing sensor. P can sense the direction to E, but the direction measurement can be adjusted by the evader. We show that under this sensing modality, the evader can always escape given a large enough game environment.

We propose a two-stage evader strategy. The evader chooses a circle to act as the Home region. He waits until the pursuer enters this region then flees directly away from the pursuer. During this phase, he uses the bearing uncertainty to build up distance between itself and the pruser in a manner analagous to [Rote 2003]. We show that after reaching sufficient separation, the evader can use the bearing uncertainty to slip past the pursuer and return to the Home region, resetting the game.

Phase 1 Phase 2 Phase 3

Details are available in [Pursuit and Evasion with Uncertain Bearing Measurements].


CS 5304

Compuational Aspects of Matrix Theory

instructor: Yousef Saad
Fall 2011
Sensor Configuration

This course is concerned with the stability and efficiency of matrix factorizations and representations. The project was designed to give students experience with real-world applications of large-matrix algorithms.

For the course project I studied observability in mobile target tracking. Using the condition number of the observation matricies at every time step, I showed that it was possible to predict errors before they occur, and maneuver or switch sensors to compensate. I then showed a simple algorithm that used the Singular Value Decomposition to find the correct sensor configuration to reduce the predicted error.



CS 5561

Computer Vision

instructor: Volkan Isler
Spring 2010
Body outline Body part clustering

The purpose of this project was to replicate the functionality of the Microsoft Kinect using "pure vision." The Kinect is an impressive sensor that, in addition to color-per-pixel pictures, provides depth information. The Kinect enables robust person pose tracking, provided a calibration routine on startup. Our goal was to create a system using two or three cameras with greater functionality than a simple camera rig, but perhaps a little less than kinect.

We did this by using a wide-baseline camera setup, body part segmentation, and a few heuristics to keep the performance real-time.


CS 5552

Sensing and Estimation in Robotics

instructor: Stergios Roumeliotis
Fall 2011

In this course we study methods for estimating robot state (position and orientaiton in 2 and 3d), given noisy sensor measurements of both state and nearyby landmarks. That is, the classic Simultaneous Localization and Mapping problem.

We worked on the Husky A100, building an estimation framework for GPS-denied navigation. It consisted of 3 parts: Kinematic prediciton, Visual odometry, and track smoothing using Bundle Adjustment.


CS 5551

Introduction to Intelligent Robotic Systems

instructor: Stergios Roumeliotis
Fall 2010
Scan registration Person Detection using clustering

This course covered the mathematical background required to describe multiple coordinate frames, kinematics, and dynamics. The focus of the course project was on coordinate transformations and robotic systems programming.

For this course we implemented a person-following routine on a mobile robot. The emphasis was on responsiveness and robustness. We were not concerned with motion models, prediction, etc, and favored a simple but very efficient algorithm which could produce robust behavior.

We accomplished this using ICP for fast scan matching, a simple clustering algorithm to extract features from lidar scans, and a straightforward closed-loop controller.




Ugrad Myro

Undergraduate Research Project: Tethered Robotics System

advisor: Steven Case
Fall 2010

In this project I assisted with the development of a JAVA-based API for tethering the Scribbler+Myro system to a desktop PC. This allowed ROS-like functionality, before ROS was catching on.