Monday, September 22, 2008

Robot Capable of Balancing a Ball

The following video which I found in the internet, shows a robot bouncing a ball on a plate. This apparently extraordinary feat was achieved by Francesco Prosperi at the Sant'Anna School for Advanced Studies of Pisa, Italy. The tray on which the board is being balanced is nothing but a FLEX board which is equipped with micro controllers and sensors to track the position of the ball and feed it to the CPU underneath.

I guess if robots are capable of balancing balls now, their reflexes will soon be fast enough for mimicking human walking and gestures. Lets wait for that now. Personally I have shown this around to a lot of my fellow students who are either working in or are interested in robotics. While almost all of them agreed that this was quite possible theoretically, but none had so far seen something this accurate.

Friday, September 12, 2008

Microsoft Student Partner Lead

I got this email on Thursday, September 11th from Microsoft stating that I have been made the new Microsoft Student Partner (MSP) Lead from Kolkata. I am proud to receive this honour. Along with me, 5 others MSPs also got selected for MSP Leads:

  1. Kaushal Bhavsar (Ahmedabad)

  2. Lakshman Srikant (Bangalore)

  3. Mayur Tendulkar (Pune)

  4. Raveesh Maaya (Bangalore)

  5. Urjit Singh Bhatia (Baroda)

I do not know what is it, that I exactly did to be a MSP Lead, but I will surely try my best to live up to it. Thank you MS Academic India team :)

The other good news in the mail:

  • A new monthly newsletter have been introduced from this month.
  • The credit point system for the MSPs have also been improved with the introduction of new monthly awards.
  • From now on, the MSP selection procedure will have a formal written examination.

Saturday, September 06, 2008

Getting Started with Prolog

It was on the very first day of Artificial Intelligence class that our professor introduced us to the Prolog programming language. Prolog, which means PROgramming in LOGic is one of the standard languages that are used for AI related work. Being used to traditional languages like C and C++, Prolog's approach felt quite a bit odd to me. Prolog is a declarative non-procedural language which takes quite some time to get used to, more so if you are used to programming in usual procedure oriented languages.

Well, I am facing a lot of obstacles to learn Prolog. I cannot clear them all through one blog post. But I guess I can help out everybody with the basics.

Study Materials

I am not at all a knowledgeable person on prolog, but I liked the book "Prolog programming for AI" by Ivan Bratko. Having read no other book on this subject, I cannot possibly compare it, but the book is quite easy to understand.


There are a lot of compilers available for prolog on the market. If you already have not got one, I would recommend GProlog which is the GNU implementation of Prolog, available both under Win32 and Linux environments. It supports the ISO standards of Prolog and is completely free. Being a GNU software, it has all the open source advantages too. Download GProlog from the site and install it. The installation is straight forward and intuitive.

First Prolog Program

I am not sure whether prolog has a Hello World program, but I started with a simple parent relationship program as given in Chapter 1 of Bratko's book. You can download the source file that I wrote from Bigyan_Prolog, (password: bigyan). To load the file, start GProlog and go to Files>Consult and select the prolog file (extension .pro). Then in the command line you should see a compiled message after which you can try writing goals in the GProlog window.

In Future

I have just began with prolog. I am getting to learn new things regularly. So in future watch out this space for more stuff on Prolog, especially my own programs that I will upload from time to time in the Bigyan_Prolog web space. I have always wanted to distribute the simple programs of mine to everyone who needs them, but for languages like C and C++, I have lost most of them. So this time I plan to methodically upload them to Internet.