Followers

Monday, June 6, 2011

Project Impossible

It all began at the beginning of our 2nd Semester mid of March. 'The Project' was to replace one full course work worth 7 credits and hence meant serious business. 10 of us had to pick among 2 options and so was not really much of a choice. Relying on a better sales pitch from this Prof and hoping to do something 'real' after a semester dominated by theory, I decided on it. And so did 5 others.

The project is titled - Documentation, Testing and Enhancement of an OSEK compliant Realtime Operating System and Porting a Quadrocopter Software onto it. Translated to English, it aims to get a Windows like system working and to install a Skype like software on it. Just to avoid misconceptions, clicking on a .exe, then a series of 'next's and finally the 'finish' is not what I am talking about! Besides, the software is 'expected to' fly a 'Quadrocopter', which is a small helicopter with 4 motors, you probably saw Amir Khan flying in '3 Idiots'.

The first hurdle in our way was to settle on 'who does what???'. Everyone was keen on playing the 'pivotal role'. Past experience, area of expertise and future plans were stated to acquire responsibility for the 'IN' portion. 'Software Development' was aspired, while 'documentation and testing' were looked down upon! I claimed it was too little work for 6 and the Prof finally suggested we split us into 2 teams of 3 each, working parallely towards the same target.

It took less than a couple of weeks into the project, for me to be proved wrong. Working with an already developed, poorly documented and horribly structured system was turning out to be a nightmare! Outdated documents, missing functions, failed tests and undocumented assumptions greeted us at every corner! Keeping up with the goal post, that our Prof kept moving during every project meeting and getting required clarification and information from his assistant turned out to be our greatest challenges. Among other tasks, I was also responsible for getting the Copter to fly. But I was soon left with no doubt whatsoever that the bulky german pigs would fly well before the Copter would consider moving on its own! Further, the limited knowledge, work experience and communication skills of our team left enough to be done by 6 at least, if not more and the Prof decided to reunite us. Once we finally put all that actually remained to be done on the table (which was quite a heap!), we split the burden. The tasks being disjoint in nature, it was every man/woman more or less to him/herself  (Gender is a pain in literature, isn't it?!).

Documentation of 2 functionalities required me to take a dive into the technical details. The complex entwine of functions, headers and pointers left me seeing a matrix of 1s and 0s, reloaded again and again! Although over a period of time I got a hang of the system, working with the enigma of a documentation tool that our Prof religiously insisted upon, required a generous usage of the 4 lettered word! It was the development of an illustration project to support my documentation that really got me interested in the project. For a change, I could see the result of my work, even if as trivial as some leds blinking and beeper beeping on a development board, appearing real. With the new-found inspiration, I began putting the Copter software in place. You really know I am excited about this thing, if you saw me working on it after dinner till late into  the night, which seldom happens! File after file, one line of code after the other fell in place. Chanced discoveries, things adding up and decrease in compilation errors kept my spirits high as I struggled on. And on one fine Saturday morning, IT COMPILED!!! A burst of joy and sense of accomplishment forced my limbs into a unique display of unsynchronized art form evolved from an assortment of west african tribal dances, thankfully within the confines of my room!!!

The subsequent project meeting saw me wearing my nose on the peak of my head as I proudly presented the outcome of my toil. The Prof's pat on the back was a bonus, I was genuinely pleased with my performance. Frankly, still quite a bit remains undone in our project, some code still doesn't compile, some tests still don't successfully run and some documents remain to be updated. Whether the Copter will really fly is to be tested out and there is a good chance it never will! However, I am pretty confident, for the Copter, having come so far, sky is the only limit!

1 comment:

  1. Nice maga.
    This reminds me of my course on Embedded Real Time Systems.
    Nice blogs n keep them coming.

    I too had to fly a QuadRotor and which we successfully managed to pull it off in a quarter :)
    You can find the video here.
    http://www.megavideo.com/?v=77NMVVFS


    Hope you enjoyed the video :) Good luck ahead.

    ReplyDelete