Saturday, October 16, 2010

PS... I love you

Its been a really long time since I wrote my last post. Then suddenly last week I received my PS-1 Grade sheet and i thought i could write about my PS.. So here I am..

For all those outside the BITS community, PS-1 stands for Practice School-1. This is the summer internship completed by all BITSians in the summer term after our second year. This internship is really a milestone in a BITSian's life, and helps many of us to gain an insight into what kind of work we will like to do in the future.

My PS-1 was at CEERI, Pilani (Central Electronics Engineering Research Institute, Pilani) which is one of the topmost Central Government Research Labs in India. I had the privilege to work with the Agri - Electronics Group (AEG) at CEERI, under the guidance of two highly inspirational and approachable guides, Dr. Shashikant Sadistap (Scientist E2, Head, AEG) and Dr. B. A. Botre (Scientist C). I was interested in working in the field of Embedded Systems, and the AEG carries out research about the design of embedded systems for agricultural applications. I worked there for 2 months with my friend and colleague Smarjeet Sharma. Our project was an extension of something I had been working on for almost a semester before that with my neighbour, Abhinav Gupta in college.

The project was titled "Design and Interfacing of a Farm Robot for Green House Monitoring". The main aim here was to build a mobile robotic system, that can navigate its way in a green house and monitor all the parameters like temperature, humidity, soil pH, etc. related to plant health. Building something like this in two months was definitely not easy, so we took a chassis with 2 motors to drive the wheels available in the market. We also had an ARM9 based micro-controller, the Samsung S3C2440 available with us. (Actually we had a development board for this micro-controller(mu-c) called the Friendly ARM). This micro-controller has runs with Linux 2.6.29 onwards.

Our task was to interface analog sensors and DC motors with our mu-c. For this we had to figure out how to use the General Purpose Input Output (GPIO) port on the Friendly Arm board. It turns out that this port provides pins for using 4 ADC lines, the SPI bus and about 20 other general purpose lines. I must thank here the Friendly ARM forum (www.friendlyarm.net/forum) for their awesome spot-on help for this. The forum gave me the configure file necessary to include the GPIO drivers in my Linux kernel. It also told me how to build my own ADC drivers for all four ADC lines. We also designed the circuit using a programmable gain amplifier, and L298 motor driver chips to drive the entire system. The only part left was the coding.. 2 nights with the C compiler.. and yes the robot was functional!!

This was at the time of our "Mid-semester feedback" in PS-1. The question in front of us was how to enrich the robot during the remaining month. In a discussion woth my guides, we thought that giving the robot vision capabilities will make it capable of many more tasks. We figured out that the OpenCV libraries by Intel are compatible with the ARM9 architecture. So we took a Logitech webcam, and hooked it to the USB port of the Friendly ARM. We wrote another decently lengthy C code using OpenCV libraries and by the end of the internship, our robot can detect anomalies in the color distribution over a plant leaf.

This was all for PS-1, but the farm robot was just a start. What I really see here is a platform for building mobile robotic applications, based on sensory and vision feedback. I am currently working on computational modeling of robotic systems, that will help us to check robotic hardware, and algorithm design before it is implemented on field.. especially for safety critical applications. I am planning to use the Robot Schema (RS) model and Hybrid Automata Theory.

But all this was possible only because of the kick start from PS-1. Seriously.. PS I love you