Saturday, June 17, 2006

Sea-going Robots

I was causally readig up on robots and found a set of nice links:

http://www.sciencedaily.com/releases/2005/03/050308134723.htm
does not talk in any detail about sea going robots, but has interesting news about MIT’s work on robotics.

http://news.bbc.co.uk/1/hi/sci/tech/286345.stm
reports work in Japan and talks about how much more energy efficient fish are compared to boats in regard to swimming.

http://peswiki.com/index.php/Directory:Wave_buoysdescribes how electricity can be generated using wave motion. However, they talk of big boys, oops big buoys, which can generate 250 KW of energy, when a shaft is moored to the ocean floor.

It is widely believed that life originated in water and then migrated to land. Similarly, I believe that significant robots would first succeed in the oceans. I do believe that water-borne robots with some limited form of “artificial intelligence” would soon be built. These are the grounds for my belief:

Navigation is easier, if you assume that your robot is too small to damage other craft in the ocean.

· Movement is easier.

· Autonomy and long life in the wild are made possible by three natural energy sources: wind, wave action, and sunlight.

· It is easy to set useful goals for ocean-going robots: get to such and such location, stay there and report weather information, oceanic measurements like wave activity. This justifies building them well.

Questions and Suggestions:

1. What prior work can you locate? What can you learn from it? Read up on digital buoys.

2. Who could you team up with?

3. Can you get academic credit for having fun building up this craft?

4. Read up about the basic theory of sailing. Can you visualize how the robot could deploy sails as necessary and be able to move?

5. Plan a secondary battery, which would have adequate working life. Plan a solar panel to provide electrical power to run a microprocessor onboard to give autonomous control, subject to a pre-loaded “script” which defines the purpose of the robot for the trip.

6. Can you design a way of generating electrical energy on board a small boat, utilizing wave action, to provide auxiliary power?

7. What should the craft look like? How stable would it be? Would it be sunk quickly in rough weather? Would you need to bail out water for preventing the craft sinking in such weather?

8. What materials would you use? What would be the design life of the craft? What are the challenges in keeping the craft intact and functioning?

9. What type of navigational instruments would you give it? GPS?

10. What type of communication capability would you build into the craft?

Separate the craft into sub-systems:

* The essential equipment to ensure autonomous behavior,
navigation & communication and measurements.

* The energy sources and secondary battery.

* The body that would enable floatation, waterproofing and structural rigidity.
Based on this, can you estimate the range of possible size and weight for this craft?

I will have more to say in the coming months on all this. Do contribute your comments and suggestions by posting them on this web page.

Srinivasan Ramani

Sunday, May 28, 2006

(IN)HUMAN MACHINE INTERFACES

What you say to another human does not have to be perfect. There is a lot of redundancy in face-to-face communication. This helps the listener to check what you are saying for consistency and to ask for clarifications when necessary. But this comfort is not there when a website talks to millions of customers a year. I will describe a recent (bad) experience below. My focus will not be on the hassles I encountered except to illustrate what goes wrong. I feel that a good body of literature is available for helping us to design good websites and to test existing ones. I suggest that a good project could focus on what is wrong with a few heavily used websites, and provide suggestions to the companies concerned to improve them. A dissertation could cover the principles and techniques involved in evaluating websites and illustrate them with examples of existing problems with well-known websites.

Now to my experience. I recently flew a certain airline, which encourages passengers to do online check-in over the Internet. The biggest incentive offered is that you can save almost an hour of waiting in a long queue by doing your own check-in and printing of your own boarding card. But after the experience, I doubt the value of this incentive. I spent more time on the Internet than I would have spent in the queue. The hassles I faced are:

a) The rules were not clear. Failures were not explained properly. After three hours of trying and several phone calls they finally revealed to me that I could not do online check-in on my return journey though I had done it on the forward journey. I will discuss the reason later in the following paragraphs.
b) The website repeatedly told me “Our servers are not responding; please try later”, while it should have said, “You are not eligible for online check-in as you do not have an electronic ticket”. Online check-in is permitted by this airline to “cattle class” customers like me only within 24 hours of the departure. So to be told to try later causes great frustration with the deadline for check-in getting closer and closer.
c) I could have normally asked for an aisle seat over the phone. I tried to do this after waiting till online check-in was thrown open (24 hours before the flight) and then failing to succeed in this for an unknown reason. But the person on the toll-free number told me that a “general seat request” was not possible within 24 hours of the flight. Well, that is what they call a Catch-22! Neither could I select my own seat, nor could I ask any other human being.
Now to the hidden reason why the airline’s website tortured me for hours. The people I reached by calling the given toll-free number merely kept telling me to “try later”. Finally, I demanded to speak to the supervisor. The lady asked, “How would it help you? He would tell you the same thing as I am telling you. Bu I insisted, and she said, “Well, it might waste waiting for 10 minutes to speak to him”. I persisted and listened to some unwanted music for about 5 minutes, at the end of which got to speak to the supervisor. He now found out that I was not eligible for online check-in because they had converted my electronic ticket mid-way on the way forward to a printed ticket. Yes, they had done that. But why was every one ignorant of this rule, except the supervisor? And, why did the website not tell me this?
Let me go on a flash back now. On the way out from Bangalore, the flight was late in reaching the destination and I had to miss the connecting flight. They re-routed me to my destination to send me through some available flight. That is why I was downgraded from an electronic ticket holder to a mere mortal.
To close this part of the story, let me suggest that a few people should read literature on the subject. I will list a couple of them below.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsiteplan/html/improvingsiteusa.asp

http://www.library.yale.edu/~prowns/nebic/nebictalk.html

Now to the second part of my travails. After all this, I got on the flight home and again the flight was delayed due to some electrical fault that took time to fix. There was the risk of missing the connecting flight to Bangalore again. I talked to the staff at the counter who said that staff at the connecting location would take care of me. Again I demanded to see the manager, and I told him that the “staff at the connecting location had not done a thing to help me on the outward trip. I suggested that he should send a message ahead to ask that arriving passengers should be met on arrival by staff, who should help in negotiating the one-hour foot-and-bus journey between the arriving terminal and the departing terminal at the connecting location. He said that if there were a chance that I could make it to the connecting flight, the staff would inform me what to do. Well, what if there was no chance of my making it to the connecting flight? He did not say anything. I knew the answer from my experience. I would then do the one-hour trip to the “departing terminal”, find the flight gone and do the return one-hour trip to find some other flight going somewhere. Meanwhile my checked in baggage would travel as per its own free will!

What is the moral? It is not that we merely run lousy websites. We have lousy practices even without the Internet! When you deal with millions of people a year, it requires some good technology and a number of good design principles to ensure that they are not treated like cattle!

Ramani

Tuesday, March 28, 2006

Language Learning Games

Learning a foreign language can be fun. Even if you do not have a chance to travel abroad now, you can play a learning game on a computer, a personal digital assistant (PDA) or even on a cell phone. If you search for “language learning” & game, you find a number of commercial offerings. A few examples are:

http://www.transparent.com/games/

http://www.literacyconnections.com/0_052127737X.html

http://www.teflgames.com/why.html

However, there is always room for new games that help people learn a language. Developing such a game could be a great experience and offer you many benefits:

* Help you learn the language you are trying to teach. The teacher always learns more
than the taught!
* The experience can teach you about computer programming, particularly in
handling multi-media material and game development.
* The work can make you famous.
* The work might earn you credit in a computer programming course or in a foreign-
language course.

Many games use “fill up the blanks”, unscramble a word, and other similar techniques, to teach vocabulary. Very few exploit the multi-media capabilities of a computer or even that of a cell phone.

Imagine playing a game in which you meet “virtual people” who talk to you using displays of text or even “speaking out” recorded phrases. You can record short audio files containing one or two sentences, or even a short paragraph, in spoken form. A simple multi-media program can play these short audio files when showing relevant images – cartoons or photographs. The learner can view them, listen to the spoken words and respond in a suitable manner: answering a yes or no question, or typing in a word or number. He or she can even type in phrases that mean “you are welcome”, “thank you” or something like that. Talking to virtual people can be real fun, when you add a story line. Imagine you get off the plane, convert some money, get into a taxi, check into a hotel or meet grandparents or friends. You could create characters like a helpful taxi driver, a tough-talking policeman manning the taxi boarding area, a loving grandma and so on. Throw in a pretty girl, if you like! They can all be given suitable voices, by having a number of friends act out the scenarios.

Another mode of teaching could be top show images of objects (food, water, coffee, fruits, airports, post offices, a bus, a taxi, etc.) and have the learner type in the corresponding word. You should not forget the verbs. You can use images referring to run, sit, stand, go, come etc. You could play an audio file giving the spoken word with or without such image display, and expect the learner to type in the text form of the word. There is hardly any limit to ideas that such games can use.

The good thing about programming such games for use on cell phones is that people on a plane headed to a foreign country could use their time to learn the 30 essential phrases that could make a huge difference to their trip. Cell phone manufacturers offer software development kits (SDKs) on their websites to enable programming. This work is much easier than one expects at first sight.
Further it requires little equipment beyond a PC.

You might want to read about the Open Content movement (search the web for references), which creates resources for public use and puts them out on the Internet for free.

You could do a project in this area as an assignment for a foreign language course, or as a project for a science fair. Who knows? You may even sell such a game to a cell phone company!

Learn a bit about copyrights. You cannot merely lift images from other people’s websites and sell them off as a part of your game. You cannot put your creation out for free and then try to sell it.

Profit or no profit, you might end up teaching a few thousand people the elements of a language you love. It might be your mother tongue, or even Latin or Greek. Old myths and historical stories give you very interesting story lines for Latin and Greek.

A few relevant sources of information
--------------------------------------
http://en.wikipedia.org/wiki/Speech_recognition
http://www.speech.cs.cmu.edu/
http://www.faqs.org/docs/Linux-HOWTO/Speech-Recognition-HOWTO.html
http://support.microsoft.com/kb/306901/EN-US/
http://www.computertelephony.org/blog/


Have fun!

Srinivasan Ramani

Sunday, March 19, 2006

Building an Intelligent Sailplane

The Intelligent Sailplane
March 19, 2006

This week, I read a very interesting item on detecting thermals on the website:

http://f4bscale.worldonline.co.uk/hand.htm

It talks about hand-launched model gliders and how to detect pockets of rising warm air into which you wish to launch your glider. It looks like young glider-builders get up to 60 seconds afloat for their model aircraft using these techniques. An interesting statement I read was that in the Northern Hemisphere, if you look up and see some evidence of a thermal, you will notice that the thermal is swirling clockwise! I have seen birds such as kites flying in lazy circles for half an hour or more at a stretch. I assume that they are riding a thermal, and fly along with the swirling wind and not against it! Stick your head out of the window and find out if they do clockwise circles.

The challenge

The question I wish to pose is this: Can we build a model sailplane controlled by a microprocessor on board, programmed to exploit any available thermals and stay up as long as possible?

This raises questions about identifying thermals. I will visualize one way of doing this and describe it. You may be able to think of better ones, or who knows, you may decide to build something like the sailplane I describe.

Detecting Thermals:

This could involve random exploration of airspace around the model craft while it is gliding. It should have sensors to detect increase in temperature as it flies into a warm column or bubble of air. This might mean a raise of 1 degree C over 5 to 10 meters of travel. Assuming that the glide speed is about 15 meters/second,
This would mean detecting 1 degree C change over about half a second.

Secondly, the craft should ideally have some sensor to give it information of its own altitude, and signs of any leftward acceleration. I assume that a glider being carried in a clockwise direction (as seen from the ground) will sense a constant leftward acceleration. The altitude sensor should tell the craft when it is going down fast and when it is being carried up by a thermal.

Can you use an altimeter, which works by sensing air pressure, for this purpose? I don’t know. Can we get inexpensive accelerometers to sense the leftward acceleration reliably? Again, I don’t know.

Assume that the craft is in a swirling column of air, being carried round in a circle of about 100 meters diameter, and that is gliding at a speed of about 15 Meters/second. What would be the leftward acceleration? How many “g”? It is best I leave this to you to calculate! The accelerometer you look for should be capable of sensing this reasonably well.

With all this gadgetry, I guess you might be able to build a computer-controlled sailplane that will exploit thermals.


Learning from Kite-like birds

I assume that they use a little bit of effort from their muscles to get the most out of the thermal. Understanding how they do this might help you use limited amounts of engine power (electrical drive, powered by solar cells on the wings?) to help your glider stay afloat longer. In any case, you have to develop techniques that will use input from the sensors to identify what should be done: Use the ailerons and rudder to make a gentle turn? Use the elevators to get the most of being carried around by the thermals? The secrets of the birds could tell us something about this.

Simulation:

Before you rush off to buy the parts for your project, I would suggest that you consult a physics teacher or a meteorologist. At least, do an Internet search to see if you can get information about the frequency and strength of thermals and when & where they occur. Then perhaps you could make a computer simulation of a cubic KM of air showing roughly the structure and statistical properties of your atmospheric model.

The next step would be to create a simulation of the controlling program you want to fly. Combined with the simulated atmospheric model, this simulated craft will let you figure out many issues, unrelated to your model-aircraft building skills! It may also teach a bit of atmospheric physics! The simulation itself might be a science fair project, or a research assignment.

I did an Internet search for “gliding simulators” and found two relevant sites:

http://shop.glidingshop.com and

http://www.answers.com/topic/glider

The first one describes a glider simulator which runs on a PC and the second one gives useful information.

Cheating

You might find a shortcut to the objective, by building a radio controlled model sailplane equipped with sensors that help you on the ground to use your head and steer the craft. It might be wise to do this first. This may be an alternative to simulation and hunting for atmospheric models. In fact it might help you earn a degree by doing research to create suitable atmospheric models. I suspect that useful atmospheric models for this purpose may not be available ready-made.

Have fun!

I dream of an autonomous model sailplane which would keep circling overhead my city and help us watch the traffic jams below! And, we do have plenty of the traffic jams!

Srinivasan Ramani

Saturday, March 11, 2006

Is handwriting really accurate in identifying people?

There was a well-known article in a law journal in 1989, debunking the notion that a handwritten signature uniquely identifies the person who signs the document (Risinger, Denbeaux and Saks, 1989)

http://law.shu.edu/faculty/fulltime_faculty/risingmi/137UPaLRev731.pdf

A valuable introduction to this topic written much later can be found in

http://www2.warwick.ac.uk/fac/arts/ren/publications/lima/handwriting/forensic/

This latter article describes the safeguards prescribed by the US Supreme Court while evaluating the evidence given by Handwriting Experts. It also refers to a paper which gives the results of one study showing 7% errors in the case of experts and thirty eight percent in the case of non-experts. Note that people can be sent to jail ( or worse!) on the basis of testimony from "handwriting experts", or that your parents' property can go to someone else because of a disputed signature on a Will. I find 7% error rate among the experts very shocking. That is why we need to do more research and discuss this issue more in public.

But there is a widespread "conspiracy" to act as if this assumption need not be questioned. A lot of crime takes place in the world because this assumption is not correct. However, there are very few scientific publications that have tested this assumption. Can you think of a short research proposal saying how you can test this assumption? It would be excellent if you plan to do this research systematically and publish the result in a journal (printed journal or an online one). You might credit in school or college for doing this research. Further a teacher/advisor can guide you into planning the work to avoid weaknesses (experimental design).

The article I mentioned above says that handwriting verification of an individual is about as accurate as reading tea leaves to tell the future.

P. S. Please note there are two questions either of which you can address:

1. If a given signature is that of a known person whose sample signature is available? Yes or no?
This is relevant for instance when a bank verifies your signature on a check (cheque) to see
if it matches a "specimen signature" which you gave them while opening the account.

2. Given a signature is that of one of 30 people in a group, and given their sample signatures,
can you find out who the signatory is?
This is relevant for instance when the police try to identify a person out of a set of
suspects on the basis of a handwritten signature on a letter.
An additional question is if the identification works better when a whole handwritten letter
is available for comparison with handwriting on the supect's diary.

Suggestions:

a) Three relevant ideas are:

i) False positives: Cases in which the process being used identifies a signature as the one we
are looking for, while in fact it is not. This happens when the bank recognizes a forged
check as the real one!

ii) False negatives: Occurs for instnace when the bank refuses to pay against your
check saying the signature does not match the speciiimen signature.

iii) When you use comparison of handwriting to identify a criminal, how sure are you of the
result? 90%, OR 99%? or only 70%?

a) Avoid violating the law by forging someone else's signature as a part of the experiment. Think out how you can do something lawful, which allows you to test the hypothesis.

b) An experiment like this should involve at least 30 individuals to ensure that the result you get can be verified by someone else who repeats your published experiment with another group of volunteers.

c) It is not only the first publication that gets credit. A few following ones which test the repeatability of the finding will also be widely cited in future.

Have fun trying this out, and become the author of a research paper. As you know, they respect such things when they consider you for admission in college. Who knows, you might land up in Law School because of this work.

I hope teachers of statistics and experiment design would encourage their students to
try out these ideas.

Srinivasan Ramani