6616 Dalzell Place
Pittsburgh, PA 15217
ram@ri.cmu.edu
412-445-8113 (cellphone)
412-521-0846 (home) http://www.cs.cmu.edu/~ram
Mission:
To develop innovative research systems that address meaningful
problems where a practical solution would lead to either a
beneficial technology or the advancement of science. My idea of
fun is to work on a problem that no one knows how to solve, a problem
where I can apply my broad knowledge, my intuition and my persistence.
Specialties:
Digital signal processing to extract useful data from noisy
signals:
digital filters, Kalman filters, object tracking and statistical
signal processing.
Navigation technology: inertial sensors, GPS, motion
estimation, 3D spatial/geometric
data processing.
Feedback control systems: controller software design and
tuning.
Analog and power electronics:
High-sensitivity/low-noise
signal
conditioning (microvolt/picoamp.) High accuracy and stability analog
signal
processing. Sensor and actuator interfacing for reliable operation in
the
presence of faults or interference such as transients, EMI and
short-circuits.
Sensors and actuators: I can select standard parts when
available and collaborate on novel designs when there are special
needs.
Proficiencies:
Matlab (simulink, control systems and signal processing
toolboxes),
electronic prototyping and troubleshooting, machine shop skills, Spice,
PC board CAD (P-CAD), Verilog FPGA
synthesis, Programming in C++, assembler, Java and
many other languages. Implementation of hardware and software for
embedded
microcontrollers (AVR, PIC.) Development of embedded PC software under
VXworks and Linux. I am also skilled at technical writing and
technical consensus-building in multi-institution projects where
collaborators have differing goals and incompatible favored approaches.
Education:
Carnegie Mellon University, Pittsburgh, Pennsylvania: B.S. in
Applied
Mathematics (Computer Science), 1987. Since graduation I have taken
courses
in sensor technology, control systems and analog IC design, and also
attended
the IEEE EMBS summer school for Biomedical Instrumentation in 2002.
Experience:
I have 22 years experience implementing research ideas as
high-quality software. I have also designed and constructed
entire
electronic systems,
including
assignment of
functions to hardware or software, hardware design, prototype
fabrication, and
development of software and control algorithms.
I have been on the technical staff at Carnegie Mellon University
for my entire
professional career (since 1983.) My title at CMU has been "project
supervisor" since 1993. My responsiblities have included technical
management of small project teams as well as technical
design/implementation.
Designed and built control electronics and software
for automation of the NAVLAB 11 autonomous jeep. This is a safety
critical
system which controls the steering, throttle and brake. Created three microcontroller subsystems with
associated analog and digital interface
electronics and power drivers. Participated in the electro-mechanical
aspects of
actuator design such as motor selection. Designed and constructed the
safety
subsystem which is responsible for safely returning the vehicle to
manual
control in event of a hardware fault or software malfunction. Developed
interface to acquire high-resolution 4-wheel odometry. Created software
to
determine the position and orientation of a vehicle using inputs from
inertial
sensors, odometry and GPS.
2003-2006:
Created tracking
software for the Bus Side Collision Warning System project that
uses laser scanner data to estimate the motion of vehicles and
pedestrians.
2003:
Developed hardware and software for multi-channel capacitive
proximity sensor with 10 atto-Farad sensitivity intended for use in
as
a low-cost people detector for collision warning systems on cars and
buses. I developed this sensor on my own time as a demonstration of
my hardware design skills.
Fall 2001:
Implemented a map-based navigation
module
using a Markov
Chain
Monte-Carlo approach (particle filter) which can determine the
position of a vehicle using road or elevation map data. This was
designed to run on a memory-limited VxWorks embedded target.
Created software to track targets in the extremely noisy
output of a
prototype automotive radar using a Kalman filter and statistical signal
detection.
Fall 1999-Fall 2001:
Carnegie Mellon University, Robotics Institute. Technical
staff for the
Tactical Mobile Robotics project. Contributed to the successful
development and
demonstration of a complete mobile robot system by developing mobile
robot
software and hardware. My main contributions were navigation, motion
planning
and software integration.
Summer 1997-Fall 1998:
Carnegie Mellon University, Computer Science Department.
Technical staff
for the Gwydion Project. A developer of the Sheets Hypercode
environment for
Java written in Java. Major contributions were the support for history
browsing, revision control and undo.
Summer 1993 - Spring 1997:
Developed the concept of Hypercode and designed frameworks
to
manipulate
it. Worked on proposals and gave presentations in support of Gwydion
project
funding. Co-designed and was an implementor for d2c, a Dylan-to-C
compiler
written in Dylan and compiled with itself.
1988-1993:
Carnegie Mellon University, Computer Science Department.
Senior Research
Programmer. Design and implementation of the Python compiler for CMU
Common
Lisp. Revision of the CMU CL runtime for portability, performance and
ANSI
compliance. Wrote several chapters in the User's manual, and was the
overall
editor.
1983-1987:
Carnegie Mellon University, Computer Science Department.
Research
Programmer for the Spice Lisp project. Primary developer of the Hemlock
editor
and Common Lisp programming environment. Contributed to the design and
standardization of Common Lisp, which was a collaboration between many
diverse
academic and industrial partners.
Prior to 1983:
Carnegie Mellon University, Computer Science Department.
Part
time
programmer for the Spice project.
Safe
Robot Driving C.
Thorpe, R.
Aufrere, J.D.
Carlson, D.
Duggins, T.W.
Fong, J.
Gowdy, J.
Kozar, R.
MacLachlan, C. McCabe, C. Mertz, A. Suppe, C. Wang,
and T. Yata Proceedings of the International Conference on Machine
Automation (ICMA 2002), September, 2002.