This is a temporary page dedicated to some of my college projects. If you have any questions please contact me at Colin@DigitalLiquids.com.

 

Project: Autonomous IR Beacon Locator

University: SUNY Plattsburgh

Course: CSC 416 - Real-Time Embedded Systems (Spring 2001)

Professor: Dr. Stephen Linder

Description: This robot was built as a final project for the Real-Time Embedded Systems course. It was programmed in C for a Motorola microprocessor. It used IR distance sensors and obstacle avoidance software to navigate and an IR sensor mounted on a servo motor to locate the IR emitting beacon.

Files:


Project: Autonomous Maze Mapper

University: SUNY Plattsburgh

Course: CSC 419 - Senior Design Project (Fall 2001)

Professor: Dr. Stephen Linder

Description: This robot was constructed by a team of 7 to map a maze of 90 degree intersections and corridors.

    Graphics by Colin O'Brien

The robot, server and client were named after people from the Greek myth Theseus and the Minotaur. In the story Theseus (the robot) was placed in the labyrinth with the deadly minotaur. The labyrinth's architect Daedalus (the server) aided princess Ariadne (the client) in guiding Theseus safely out of the labyrinth. On this project Daedalus does not know the maze before hand but rather builds a virtual maze from the information relayed from Theseus. Daedalus uses this virtual representation of the maze to give directions to Theseus such that the entire maze is traversed. Ariadne plots the maze data processed by Daedalus.

The robot employed a PC-104 single board computer mounted on a RC tank chassis. Seven IR distance sensors were mounted around the tank and interfaced to the computers A/D converters. An optical mouse was mounted on the bottom of the robot and was used to track distance traveled. Software was written to obtain the data from the sensors and the optical mouse and convert both sets of data to centimeters. The RC motor controller's rudder and throttle input wires were interfaced to the computer's counter/timer outputs. Software was developed to generate pulses to the rudder and throttle inputs to control motor functions. An obstacle avoidance system was built to pilot the robot down corridors and through intersections without collisions. Communication between the robot and a server was provided wirelessly over 802.11b through a UDP connection. Communication between the server and client was provided over standard Ethernet through a UDP connection. The server software was developed to construct a virtual image of the maze and use it to assist the robot in finding unexplored coordors and find the shortest path between intersections. The client software was developed to plot graphical maze data processed by the server.

The final demonstration was covered and aired by Burlington, VT and Plattsburgh, NY television news.

GUI Photos (click to enlarge)

The client GUI showing sensor blips. The client GUI showing a maze being mapped. The client GUI showing sensor data graphs.

Files:


Project: Autonomous Golf Ball Collector

University: SUNY Plattsburgh

Course: CSC 402 - Software Engineering (Spring 2002)

Professor: Dr. Stephen Linder

Description: This robot was a modified version of the Autonomous Maze Mapping Robot. Its objective was to autonomously locate and collect golf balls that lay on a 10'x15' section of green carpet. The optical mouse and IR sensors were removed. A servo-controlled gimbal was constructed around a modified USB webcam and mounted on the front of the tank. The camera transmitted live video (2 frames per second) over 802.11b to a desktop. Software was developed to analyze each frame of video to detect golf balls and the edge of the carpet. Based on the video analysis, the server would send commands back to the robot. A ball collection mechanism (not shown in the picture above) was constructed to collect golf balls. Two DC motors connected to rubber wheels were used to spin the balls into the collector. The motors were interfaced to the robots computer so that the computer could turn them on when it approached a ball.

Files:


 

Project: 3D Graphics Engine

University: SUNY Plattsburgh

Course: CSC495 - Undergraduate Research (Fall 2002)

Professor: Dr. Stephen Linder

 

Description: This application was built on Windows using MS Visual C++ and OpenGL. The application loads 3D files exported from 3D Studio Max and Maya. Texture mapping and lighting are fully supported. Hawkins Hall at SUNY Plattsburgh was used as the model. More information on this project will be posted soon.

Some renderings and actual photographs of Hawkins Hall. Click to enlarge.