| Home | Undergraduate Course Work | Graduate School Pursuits | Internship Experiences | Service | Leadership Roles and Affiliations | Resume | Contact |

*To prevent academic fraud, I have not posted entire projects or reports. For employers or professors desiring the full report or project, please email me privately. Thank you.

Robotics

----------Senior Design Project: American Sign Language (ASL) Robot----------

The goal is to design, build, and program a robot to perform sign language based on user input. The ultimate aim is to create a robot that can potentially fill the role of an ASL instructor.

Sign Language

- Requirements: Vocabulary based on 100 survival words - avoid self-collisions - adult size - 100% speed and 85% dexterity of an ASL speaker
- The robot will be designed using AutoCAD Inventor. Then using a CAM program, the parts will be cut out of sheets of aluminum and assembled.

Robot

- "Smart" Dynamixel servos will be used at the joints to feedback position and velocity data.
- ASL gesture data will be extracted using a Microsoft Kinect camera and software.
- A raspberry pi microcomputer will be used for motion path planning and maintaining an internal model of the robot.
- A MSP430 microcontroller will be used to communicate motion commands between the raspberry pi and servos.

Dynamixel kinect Raspberry Pi MSP430

----------ECE 590: Robot Implementation and Design----------

Assignments

Linux Virtual Macine Set-up, and Introduction to AUTOCAD & 3D Printing
Networking, Command packets, Frame streaming, and Computer Vision
Control of Dynamixel XL-320 Servos
Color Tracking using PID control and Computer Vision

Projects

Remotely Monitored & Controlled Car
Remotely Monitored & Controlled Crane
Robotic Collaboration Ft. Walking Hexapod and Autonomous Crane
Autonmous Basketball Playing Robot

----------ECE 450: Introduction to Robotics----------

Labs 1-4 were geared towards assembling and configuring the electrical system, motor controller, communication, and Beaglebone microcomputer.

450 robot

**Lab demonstrations available by clicking on the lab**
Lab 5: Robot Mobility - Use the motor controllers to have the robot navigate in a cross pattern.
Lab 6: Moth-Bot - Use light detective resistors (LDR) to have the robot navigate towards light.
Lab 7: Line Follower - Use red-bot line sensors to have the robot navigate a black track using bang bang control.
Lab 8: Wall Follower - Use infrared sensors to have the robot follow a wall using PID control.
Lab 9: Subsumption - Mimic subsumption behavior where the highest priority to lowest priority behavior was avoiding obstacles, following a light, and if neither were detected then navigate randomly, similar to a roomba. (Unfortunately I did not videotape the demo of this lab).
Lab 10: Dead-Reckoning Navigation - Use wheel encoders to have the robot travel outside the classroom and return to its intitial position using dead reckoning navigation.

Key Takeaways

CPU: Beablebone Black microcomputer, Debian Linux OS, Programs written in Python
Electronics: Integration of digital and analog electronics (IR sensors, LDR's, Line following sensors, motor control)
Power: Monitoring and stepping down voltages to appropriate values to avoid damaging parts
Communication: SPI, Analog inputs
Controls: Bang-Bang, Subsumption, PID, Dead-Reckoning

Control Systems

----------ECE 521: Modern Control Theory----------

Key Concepts Covered: Vector and Linear Spaces - Laplace and Z transforms - State Space Systems - Stability Theory - Controllability and Observability - State Feedback Control - Observer Design

Project: Find state equations for a state space system in observable, controllable, and quasi-diagonal form. Manipulate the different forms using modal decomposition. Solve the state equations given intial conditions and input.

----------ECE 429: Control Systems Lab----------

System Design for Time Domain Specifications
Design of Lead and Lag Compensators to Satisfy Time Domain Specifications
Design of Lead and Lag Compensators to Satisfy Frequency Domain Specifications
Implementing PD Control using Simulink
Compensator Design and Evaluation for Ship Heading Angle
Compensator Design and Evaluation for Depth Rate Control
Position Control for a Servo Motor: System Identification
Position Control for a Servo Motor: Designing Controller
Ball and Beam Experiment: Design and Test Controller
Ball and Beam Experiment: Implement Controller using Simulink and QUARC
Inverted Pendulum: Controller Design and Implementation

----------ECE 421: Classical Control Theory----------

Key Concepts Covered: Open-loop and Closed loop systems - 2nd and 3rd order systems - System design for requirements for steady-state error, settling time, and percent overshoot - System responses to step and ramp inputs - Relative Stability - Gain Margin - Phase Margin.

Project 1: Analysis of Second Order Systems - This project was designed to familiarize the student with 2nd order and 3rd order (open and closed loop) systems, in particular their response to step and ramp inputs. This entailed designing systems to satisfy percent overshoot and rise time requirements and simulating the system responses and their root locus in MATLAB.

Analytical results MATLAB code for RAMP response Step Response Comparison Ramp Response Comparison MATLAB code for root locus 2nd order root locus 3rd order root locus

Project 2: Control of a computer disk drive - This purpose of this project was to design a control system to emulate that of a computer disk drive, using lead compensators to satisfy percent overshoot and settling time requirements and using lag compensators to satisy steady-state error requirements.

Root Locus Analytical work for lead compensator Lead compensator results Analytical work for lag compensator Steady-state Error

Signal Processing

----------ECE 320: Discrete Signals and Systems----------

Key Concepts Covered: (Everything is discrete time based) Convolution - Fourier Series - Fourier Transform - Z-Transform - Frequency Response and LTI System Analysis - Sampling and Reconstruction - Discrete-time Filters

Project 1: Convolutional Reverb - This project was broken down into two parts. The first part was geared towards using the MATLAB conv() function to find the output of several discrete-time systems given an input and an impulse response. The second part of the project utilized convolutional reverb to simulate the sound a noise would make in a room given information about the room (room size, location of source, reflection/absorption of walls, etc). In order to do this, an instructor provided function RIR() (Room Impulse Response) was used. Then using an input sound, the impulse response, and convolution, the sound was able to be simulated as if it were played in the room.

Analytical results pt 1 Analytical results pt 2 Analytical results pt 3 Matlab Code Matlab results Convolutional Reverb

Project 2: Dual-tone Multi-frequency (DTMF) Signals - This project had the student represent telephone digits using DTMF sinusoids. Then using Fourier transforms, decipher the telephone number given.

Analytics Matlab Code Matlab Results

Project 3: FIR filter design using the windowing method - This project introduces FIR filter design by generating and truncating the impulse response of an ideal discrete-time lowpass filter. Additionally the effects of filter length and type of window on the frequency response will be observed. Finally these filters will be used to remove noise from an audio signal.

Analytical 1 Analytical 2 Analytical 3 Matlab Code pt.1 Matlab Results pt.1 Matlab Results pt.2 Matlab Code pt.2 Matlab Results pt.3 Matlab Code pt.3 Matlab Results pt.4

----------ECE 220: Continuous Signals and Systems----------

Key Concepts Covered: Basic Signals and Operations - LTI Systems - Convolution - Laplace & Inverse Laplace Transform - Eigenfunctions - Pole-Zero Plots - Frequency Response - Bode plots - Fourier Series - Fourier Transform - Ideal and Practical Filters

Lab 5: Filtering using Frequency Response - This lab introduces two filters, the notch filter and the comb filter. The pole-zero plots, frequency response, impulse response, of these filters will be obtained. The filters will be given input signals and the system output will be simulated. Finally, the comb filter will be used to filter out unwanted harmonics.

Pole-Zero Plots Frequency Response Simulation Matlab Code

Lab 6: Butter and Buttord Filter - This lab introduces two filters, the Butter filter and the buttord filter. The pole-zero plots and frequency response of these filters will be obtained. The filters will be given input signals and the system output will be simulated.

Pole-Zero Plot Calculations Pole-Zero Plots Frequency Response Filtered Output