Showing posts with label opengl. Show all posts
Showing posts with label opengl. Show all posts

Sunday, August 1, 2010

Work History Part 7: RIT Electrical Engineering Dept.

Location: Rochester, NY
Position: Software / Firmware Engineer
Period: June 2010 - December 2010

Ever since I began my thesis work I've had a growing interest in applying my skills to the field of medicine and medical research. I find devices that interact with the underlying biomechanical processes of the human body fascinating. I enjoy learning about how the human body functions and technological advances ranging from neural modification to gene manipulation and artificial limb development.

Through the recommendation of a certain kindhearted software engineering professor, I was put in contact with the up-and-coming RIT Biomedical Engineering Dept. Within a matter of days I was hired by the RIT Electrical Engineering Dept. (which forms the backbone of the new biomedical engineering dept.) to begin working on the body area sensor network (BASN) project.

The BASN consists of multiple wireless nodes strapped to a user's body. Each node is about the size of a watch and the band is similar to a watchband. Each node collects biometric information, such as body temperature and limb orientation and acceleration, based on where it is positioned on the user's body. Each collector node wirelessly sends data back to a central access point. In turn the access point aggregates all of the data and wirelessly sends it to a USB dongle attached to a host machine where it is processed by a host-side application.

Each node consists of custom-designed PCB architecture and firmware API. A complementary API allows host-side applications to communicate with the nodes using the USB dongle. The centerpiece of each node is the Texas Instruments CC430 microcontroller. Wireless communication leverages the Texas Instruments SimpliciTI protocol.

The goal of the project is to implement a development platform that will allow future developers to create custom applications such as:
  • Seizure / muscle tremor detection and patient caretaker alert system.
  • Local positioning system using dead reckoning from a known starting location. Can be used to track firefighters as they enter a burning building.
  • Wireless electrocardiograph (ECG). Current ECG models use 10 wired electrodes and are cumbersome.
  • Soldier injury detection system. In a battle scenario, the command center can track the physical condition and stress levels of soldiers in the field.
Responsibilities and accomplishments:
  • Developed 3D proof-of-concept applications demonstrating the ability to capture and process biometric data.
  • Leveraged existing firmware to set up a low-power RF communication network between wireless nodes and a host-side USB dongle.
  • Implemented a device driver in Linux to provide an API for interacting with the RF network through the host-side USB dongle.

Thursday, May 15, 2008

Computer Graphics II Projects

During my last year as a software engineering undergrad I took a graduate-level course in advanced computer graphics using OpenGL. Each student was required to implement a ray tracer from scratch in order to render a scene similar to Turner Whitted's classic example of transmissive and reflective spheres. A record of my progress is posted on the LiveJournal (tag: raytracer) I kept for the class. The image to the right was the final product.

My personal research project during the class was to implement a particle system from scratch to animate realistic looking fire. I applied a texture map to each particle to give it shape and definition detail. Also, the texture map was necessary to provide the alpha channel used for alpha blending. Various system parameters can be modified in real time to give the particle system the appearance of a lava lamp or even multi-colored fireworks.



The project details are posted on my LiveJournal (tag: openfire). I named the project OpenFire because the source code is available free of charge to the open source community. If modified, all I ask is that I be credited in the source code comments.

Resources:

I also dabbled in a little bit of Pixar's Renderman technology. There was a student competition to see who could create the most interesting image. I won second place for my abstract rendition of a woman's head and brain! Check it out on my LiveJournal (tag: renderman).