Projects

Projects in Measurements Lab

Frequency Response Experiment

I have worked on many myriad hardware to acquire data from, this was very simple to acquire data from. I just had to acquire data from a LVDT, which is pretty simple. Voltage out is proportional to distance. The challenge was in fitting the LVDT to the existing setup. A few hours in the machine shop sorted all of that out!

Also, this was probably the first time I was paying detailed attention to the user interface of the VI. I wanted it to acquire data and save it automatically, ONLY IF there was motion detected. Though this might sound easy, it was actually not very easy. This problem was solved after hitting a few statistics books. Phew!

Software Used: Labview

Hardware Used: Dataq USB device, National Instrument USB Device, LVDT

Air Drag Force Experiment

Getting this experiment to work was pretty easy, after I found that there is indeed a Labview driver for the Agilent device which we possessed. I particularly did not want to mess with the configuration which was already setup. If it ain’t broke, don’t fix it. So, basically i wrote my labview code to acquire data from the agilent device, and the agilent device acquired the data from the test setup!

Software Used: Labview

Hardware Used: Agilent data acquisition device, strain gage setup

Projects in MARS Lab

Visual Servoing in MEMS

Visual servoing is a feedback control technique in which in addition to conventional sensors, cameras are used to control the system to provide a higher level of feedback.

A dual-axis servomotor with the servo controller was salvaged from ARRI.Since the system to be controlled was already interfaced with LABVIEW, it made sense to do the image processing in LABVIEW itself. This was surprisingly easy in LABVIEW, and the initial development turned out to be easier than I initially expected.

Unfortunately, we ran into a few problems. We were trying to get force-amplication with motion reduction using Pantograph Mechanisms, but it was a fundamentally flawed 🙁 . Well, if it can’t fail, it’s not research.

Software Used: Labview

Hardware Used: Servo Motors by National Aperture

Control of Inverted Pendulum

After my courses in classical and digital control, I thought it would be interesting to see this control in action. I had solved the inverted pendulum problem in both my classes, and hence had the requisite theory in place already. I had used the root-locus method and state-space methods for solving this in class, and even had an automated the process for doing the simulation in MATLAB, to give the location of the pole and zero of the compensator (accurate results were obtained only for first order compensators).

Using the QUANSER system, I implemented the control system using SIMULINK.

Software Used: Matlab, Simulink

Hardware Used: Quanser Control System

Inverse Kinematics of GMF-S110

As an additional project to my robotics class, I analyzed the inverse kinematics of the GMF-S110 in the MARS lab. I developed an analytical solution and verified the results with a numerical solution (iterative in nature) (my starting off in control systems). The code was developed using MATLAB.

* Software Used: Matlab

__Fire Extinguishing Robot__

The goal of this project is to design a behavior-based fire detection robot that is able to move from an unknown position in an in-door environment to look for a fire and raise an alarm.
The robot uses a purely reactive approach. The approach is…

1. Find a wall, Move along the wall
2. Move along the wall
3. Scan for the lit candle
4. If found candle, move towards candle

Even though this is relatively simple, what was difficult was trying to get it to work in all situations. Also, there was a challenge in the mechanical design to get the robot to orient along the rollers when it hit the wall, so that it could follow the wall easily.

This can also be achieved without using the light sensors by carefully timing the turns required.We had an excess of light sensors, and ended up using them, just to make motion faster!!

* Software Used: C on legOS
* Hardware Used: Lego robot

__Robot Path Planning__

The objective of this assignment is to navigate a mobile robot through an obstacle course to a goal location.

This assignment was not so much as exercise in path planning, as much as it was in control. We were using the LEGO MINDSTORMS kit (a must have for every robot enthusiast), and it was an amazing experience. It opened my eyes to the difficulty involving in even simple robot tasks like, ‘Move Straight’, ‘Turn Left by 45 degrees’ because the robot will simply not do that!

It was an opportunity to use my background in control systems, but this time it was relatively low level in nature considering that we were coding in C. We were using legOS, an OS written for the LEGO RCX.

* Software Used: C on legOS
* Hardware Used: Lego robot

__LegOS Driver Library__

This is a ‘hobby’ project, an offshoot from the above project.

I realized that it was not possible to implement high level control in the legOS system, so I thought it would be interesting to implement a low level library. Fortunately, I found a webpage with the same list of features I wanted at Mark Crosbie’s Site . The original authors code is incomplete, I am trying to fill in the rest of the features. Since the code is GPLed, I am studying and modifying the code to suit my interests.

Support for multiple motors.

A layered design, with the lowest layer providing direct motor control, and each higher layer building upon the lower layers.

Wheel speed measurement.

Wheel RPM measurement.

Stall detection with a callback function for your code to react to a wheel stall.

Distance computation given the wheel circumference.

Constant velocity control of a motor using a feedback loop.

A high-level API for direction and turning of a motor.

* Software Used: C on BrickOS
* Hardware Used: Lego robot

Undergraduate Projects

RF based remote control for Air-Conditioner

This was my final year project at R&D Electronics BPL Engineering Limited-Bangalore. During this project, I as a part of a team , designed from ground up a remote control for an a airconditioner using PIC 16C62. Our prototype was accepted by BPL to be used in their subsequent products.

Our design not only allowed BPL to incorporate it into their upcoming projects, but also made it feasible, and cost-effective to add to older air-conditioners.

With a couple of my friends, we designed and prototyped a Instantaneous Mileage Meter that calculates the amount of fuel consumed at a particular instance, and provides a digital output of the rate of fuel consumed. We developed this device with the intention of implementing it on vehicles, so that drivers could mainain the optimum speed. (This is really not easy to decipher from the rpm count.)

The device used a capacitive sensor to measure the amount of fluid in the ‘measurement’ tank, and then a analog circuit was implemented to find out the rate of flow. A tachometer provided the speed of the vehicle. From this, we obtain the Instantaneous Mileage, which is the mileage at a particular instant of time.

Team: Ankur Tangirala, Sairam Samavedam,Venkat Raghavan

Mechdiag: Mechanical Analysis Software

Mechdiag is an mechanical engineering analysis software, which lets the users to visualize the shear force and bending moment diagrams for various input load configurations.

The software is written in C, and was compiled using Borland C++ (version 3.0). Please feel free to get the source and port it to Linux. (or maybe, I will do it when I have more time.).