Archive for the ‘Embedded Systems’ Category

I came across a very cool video today morning and that gives this post its name. Before I get into that, I think it would be much desirable to give an introduction to Ornithopters in general and talk about some robotic ornithopters. For those interested solely in the video, well it is at the end of the post (second last video).



An Ornithopter basically means an aircraft (even a robot) that can fly by flapping its wings. Though the word might sound complicated initially (Although the prefix Ornith- is well known). All of us at some point in time (whether as a childhood fantasy or as a serious hobby or professional work) have wanted Ornithopters. Ornithopters have been a fantasy since very ancient times, and it is obvious to have been as birds have always fascinated and amazed humans. There have been many reported Ornithopters in Hindu mythology. Also the legend of Daedalus and Icarus is well known, in which Daedalus designed feathered wings to fly out of the island of Crete on to which he was imprisoned.

The legendary Leonardo Da Vinci – A genius  imprisoned in a time where his ideas just could not have been realized, made some designs of Ornithopters and other glider type flying machines (but let’s avoid machines that do not have any moving wings in this post, though some are very cool). Some of which were very good engineering designs.


Click to Enlarge

Though we tend to regard the idea of wing powered machines as failed because of the success of modern day style aircraft there have been many successful flights. The first reported to have flown successfully was made in 1929 by Alexander Lippisch, it flew about 300 meters before the flight was terminated due to the obvious limitations of human muscle power. A number of motorized ornithopters have been made since then. A number of people take  Ornithopters as a serious hobby.


Modern Ornithopters

These days though, the interest has been more in ornithopters that resemble insects, such as bees, both as toys and sophisticated autonomous flying spy robots. The size of such Miniature Aerial Vehicles would ensure they are impossible to detect and hence are perfect for spying missions. Especially in the case of urban warfare when the opposing party might be holed up in a building. Thus, needless to say these can be very helpful in counter-terror operations. The aim in making such bots would be to make them very low cost with flight times as high as 5-6 hours. Let me cite some examples of some cool miniature aerial vehicles of the ornithopter category.

After some early feasibility studies done at the Lincoln laboratories at the MIT, DARPA in 1997 began a multi-million dollar program to make some sophisticated Miniature Aerial Vehicles (MAVs), some of the designs and projects also included ornithopters.

One such ornithopter was the MicroBat ornithopter developed at the California Institute of Technology along with AeroVironment and UCLA.


[The MicroBat Ornithopter, Image Source]

This paper reports the making  of the MicroBat Ornithopter. The excerpt to the paper:

This paper reports the successful development of “Microbat,” the first electrically powered palm-sized ornithopter. This first prototype was flown for 9 seconds in October 1998. It was powered by two 1-farad super capacitors. Due to the rapid discharge of the capacitor power source, the flight duration was limited. To achieve a longer flight, a rechargeable battery as a power source is preferred. The second prototype houses a small 3-gram rechargeable Ni-Cad battery. The best flight performance for this prototype lasted 22 seconds. The latest and current prototype is radio-controlled and is capable of turning left or right, pitching up or down. It weighs approximately 12.5 grams. So far, the best flight duration achieved is 42 seconds. The paper also discusses the study of flapping-wing flight in the wind tunnel using wings developed by MEMS technology. This enables a better understanding the key elements in developing efficient wings to achieve aerodynamic advantage in flapping-wing flight.

Another research group led by Robert C. Michelson made another Ornithopter called the Entomopter. This went one step ahead and can be called a milestone in MAV ornithopter development. The aim was to closely mimick the flight of birds and thus totally eliminate the usage of gears and motors. The entomopter is driven by wings that are driven by a reciprocating chemical muscle.


Click to Enlarge


Ornithopter Toys

There are now a number of companies that offer ornithopter toys. One of the most well known probably is the FlyTech Dragonfly from WowWee, It is a remote controlled wireless ornithopter. It seems like a pretty fun toy. You can see a video on this toy here >>

800px-flytech_dragonfly_blue_1200px [FlyTech DragonFly Ornithopter]

A number of people take making ornithopters as a very serious hobby. If you wish to make one, then I would direct you to this page.


Butterfly Ornithopter

Finally I come to the part that gave this blog post its title. ;-)

In a paper at IROS 2008, researchers from the Shimoyama – Matsumoto Lab at the university of Tokyo presented their work on an extremely light butterfly ornithopter.


[Butterfly Ornithopter: Image Source]

The artificial butterfly wing consists of a thin polymer membrane which is supported by viens of plastic having rectangular cross section. The purpose of this paper was to study the effect of veins on the performance of flight. The parameters for this “butterfly” are more or less comparable to that of an actual butterfly.The weight of the ornithopter including the wings is just about 0.39 gms and the flapping frequency 10 Hz.

Here is a fantastic video of the Ornithopter depicted in the figure above:


Some more work on Ornithopters at Shimoyama – Matsumoto Lab:

Since I have just mentioned the work on the Butterfly Ornithopter, there is some cool work going at the Shimoyama – Matsumoto Lab on ornithopters.

>> Dragonfly Type of Ornithopters

>> Butterfly Type of Ornithopters

>> Hovering Flight of Ornithopters


[Hovering Type Ornithopter: Image Source]


Bio-Inspired Flying Robots

Finally before ending, I would like to post a bonus video ;-)

This video was the winner at the AAAI – 08 video contest. Like the video on Morphogenesis (Swarm Intelligence) which I posted about 10 months back, which was also a winner in the same contest, this video too is excellent.


Quick Links:

1. MAVSTAR – Micro Aerial Vehicles for Search Tracking and Reconnaissance.

2. A Reciprocating Chemical Muscle for Micro Air Vehicle “Entomopter” Flight – GTRI

3. Nano Air Vehicle – DARPA

4. Ornithopter Zone – Excellent site for the hobbyist.

5.  Project Ornithopter – Project on making Ornithopters on a much larger scale than those discussed in this post.


Onionesque Reality Home >>

Read Full Post »

Motivation: About a couple of months back i was wondering on designing a speaker dependent speech recognizer on the 8051 micro-controller or any of its derivatives for simple machine control. We would of course need an isolated word (or digit) recognizer.

Problem: Speech recognizers can be implemented using Hidden Markov Models or Artificial Neural Networks. There are plenty of such systems in place. However the problem with these algorithms is that they are computationally pretty intensive, and thus can not be implemented on a simple 8 bit fixed point micro-processor, and that is what we need for simple machine control applications. So there is a need for a simpler algorithm.

All these algorithms also employ a short term feature vector to take care of the non-stationary nature of speech. Generally the vector length is so chosen that the nature of the signal in this band is quasi-stationary. Feature vectors are an area of active research. Generally however at the university level, Mel Frequency Cepstrum Coefficients (MFCC) or Linear Predictive Coefficients are taken as features. These too require computations that are beyond the scope of a simple processor/ micro controller like the 8051.

Solution: I was thinking what could be done to reduce this burden and choose a simpler feature so that it could be implemented on 8051. While researching on this i came across a paper[1]. This papers deals with this problem exactly!

The researchers have used only zero crossings of the speech signal to determine the feature vector. Since this novel feature extraction method is based on zero crossings only, it just needs a one bit A to D conversion[2]. This feature extraction is computationally very simple and does not require the speech signal to be pre-processed.

This feature vector is basically the histogram of the time interval between successive zero-crossings of the utterance in a short time window[1]. These feature vectors for each window are then combined together to form a feature matrix. Since we are dealing with only small time series (isolated words), we can employ Dynamic Time Warping to compare the input matrix with the reference matrix’ stored. I will discuss this in another post sometime.

To obtain this vector the following steps need to be followed.

1. The speech signal x(t) is band-pass filtered to give s(t).

2. s(t) is then subjected to infinite amplitude clipping with the help of a ZCD to give u(t).

3. u(t) is then sampled at say 8Khz to give u[n]. The feature extraction is carried out on u[n].

4. u[n] is divided in a number of short time windows for every one of the calculated W samples.

5. The histogram for each of this short time window is found. The histogram(or vector) is found as follows: The number of times ONLY ONE sample is recorded between successive zero crossings will constitute the element number 1 of the vector. The number of times ONLY TWO samples are recorded between successive zero crossings will constitute the element number two of the feature vector and so on. In this way we construct an histogram which is an appropriate feature vector.

These vectors then can be combined for all windows to get the feature matrix. These as i said earlier can be compared using DTW/DDTW/Fast DTW or some other algorithm.

As an example take an utterance for the number three in Hindi which is spoken as “teen”. The first plot below gives the waveform for the utterance. The second plot gives the end-point detected version of the same, end point detection reduces computations (and hence the memory required) by removing the “useless” portions of the utterance which do not contain any intelligence.

The surface plot for the above utterance by me for the matrix (where, as i have mentioned implicitly the rows represent the windows and the columns represent the histogram terms) prepared is as:


[1] A Microprocessor based Speech Recognizer for Isolated Hindi Digits, Ashutosh Saxena and Abhishek Singh, IEEE ACE.

[2] Zero-Crossing-Based Linear Prediction for Speech Recognition, Lipovac, Electronics Letters, pages 90-92, vol. 25 Issue 2,19 Jan 1989.

Onionesque Reality Home >>

Read Full Post »