Heffalump project

Very professional robot information Matvey and Alexander'

Nice work!

Some question which you may explain more in detail.
In big conferences there is possibility for listener ask questions.

1 How you have made a conical mirror?

2 The position sensing is the most dificult task.

Please explain more how you are going to solve position of the robot in stange enviroment.

The robot competition is not in your room, but in the new place which is known only short time before.
I know that you have some ideas and you are not making your robot for our competition.

Measuring distance with odometer is ok if you know where you are.

Measuring the obstacles is ok, if you know how to keep track of the position of the robot.

The camera sensor needs 2D or 3D position output.
The expencive laser scanners give similar data, but data is not information. It is merely numbers.

Markus showed his solution in Jami Robot conference in spring 2009.
It is based on this solutuion. Markus add his page later in this weekend.

Green is robot position. Black square is obstacle
Data is got by radio to PC ,which works as remote position master.


His robot is moving in the floor with obstacles
obstacles can be droped to floor.Here Teemu takes a photo. Right two wheel robot form Henkka


Markus left , Henkka right

Pekka OH3GDO 24.1.2009

Thank you, Pekka!

  1. Mirror. Not very interesting. I've got beer can, cutted top and bottom off - got square piece of aluminium foil, cutted circle, polished its outer surface (with paint but without plastic cover) till shiny, cutted one sector off, folded it as a cone and then stitched. The result is very rough and the cone is not the best shape for the mirror. Any ideas about getting mirror will be appreciated.
  2. Yes, localization is the primary and hard task of any mobile robot.

At first, about my goals. In the long view I aim at multirobot research. The goals of Heffalump project actually are inferred from this main goal. Complex collective behavior is possible without localization. But I decided that such unnecessary limitation is too strong, and I need basic mobile robot with localization capability. But no more: I don't need nor simple Mapping nor SLAM (Simultaneous Mapping And Localization), I need only Localization. At least, now. So I assume that robot has given map of its environment. Local low-level behaviors (Avoid Obstacle and Dodge) cope with unexpected and dynamic obstacles, which are always small (I assume that if somebody build new wall the robot's map will be updated accordingly externally) and don't affect global path planner.

Now, about Localization itself. I decided to use probabilistic technique - Monte-Carlo localization. It is simple for implementation, it can perform under conditions of constrained computational power, it is time-tested and mainstream solution. In a nutshell it has three parts:

  • the particle filter - localization algorithm itself
  • motion model - proposal information about robot position - calculated from odometry
  • measurement model - information from sensor that should improve position evaluation

The Measurement model returns weights of evaluated positions. It doesn't matter for the whole algorithm how it gets these weights. Measurement model can be substituted by any other model whenever you want.

Next, about the Measurement model. Do you remember that I allow modification of environment? In this case it appears that using video sensor (specifically, omnidirectional camera) is the most cost-effective solution. The number of salient colored landmarks is placed into environment, corresponding information is integrated into map. During localization with the help of some geometric operations it is possible to compare position of sensed landmarks (by the way, they should not be unique) with proposal position calculated from odometry. The result of this comparison is desired position weight.

At last, this conception does not require very complicated video processing algorithms: just basic color extracting, areas extraction and well-known transformations for panoramic shots. CMUCam3 is quite enough for these algorithms.

A number of assumptions given above (especially environment modification) prevent Heffalump from taking part in competitions. But I am not going to compete, I am building framework for multirobot research.
After all, some ideas above are only my speculation and may be very arguable.

Very interesting. Looking forward for Markus's page. But it is not about localization (except odometry). It is obstacle avoidance and path planning (in one wavefront algorithm) with mapping.


Conical mirror

Well, you have found how to do a conical mirror in reality, even if it is not the best of the wolrd.
That is good. Some mayt just think how to make the ideal conical mirror and newer start.
You can improve using a very thin brass sheet. It is quite easy polish it with car wax polishing tool.
I have used brass for the cones of the wind speed meters.

The square plastic material can be used with lathe to make an inverted cone as shown in the picture below.
Note the camera is below the plastic mirror. Polishing the surface is a slow operation even with machines. In year 1972 I made a polishing machine for high voltage fiber optics ends. Later I also made fiber optics links to 25MW MHD generator, which was located in Moscow.


Ready-made solutions are conical car mirror, bicycle bells, and barber’s shop's mirrors. They are not conical, but some kind of substitution.


Some historical conical mirrors for photgraphy [3]


Making a mirror is more difficult. I believe that it is possible using liquid tin (the temperature 350C) in rotating container. A centrifugal force will modify the bottom, makes the bottom to parabolic form. Pouring liquid glass (the temperature about 1400 C) onto tin makes an ideal form of the glass. This is just glass, making a mirror is other thing. This seems to be to complicated for amateurs.

Amateur astronomies use by polishing equipment for making their own mirrors.

The Internet is full of material about conical mirrors. Sometimes it is wasting time to read everything.

Bellow is some resource:

[1] The prices of the conical robotic mirrors:
[2]How to make a conical mirror:
[3] Historical conical mirror design
[4] Sati instrument
[5] Optical information
[6] Computer vision


I am not sure how the robot knows if information is sometimes reliable and sometimes not.
If the are many information about surroundings, there is problem of too much information. It is like too much rumors, how anybody know which rumor is reliable if any.
In real life applications there are only one piece of information, which is the reliable. CNC-machine relies only to one piece of information for its the movement. If the information is missing even a slightest moment CNC machine can't move.

I made once a 45MVAR 20kV static compensator for Zambia, Africa. The English supervisor required that if the the control system makes a mistake the backup system takes over. I said that it is impossible. Which system is working right? We discussed about this problem and decided to build three sets of compleate control systems. They continously vote which systems were working right.

In our robot completion last year, there was one task where the location information was stopped for 10 seconds. The robots behave different ways for information loss. Some robots succeeded to find back to right position every time after loss of location information.

The knowing the right position is difficult. I am sure you will find that when you start testing the real tests.
Hopefully you will tell me that I was wrong.
What is purpose of the your robot movements? Just randomly to run or moveing from one place to other or maybe make a map of surrounds.
You have surely told that before, but please tell once more.

Matvei, you asked about how to make a good parabolic reflector for camera.
I took normal H4 headlamp, broke the glass and added a microphone.
With the first expeiements it is very accureate for sounds .
I tested signal with oscilloscope and PC sound generator .
I found it find the sound one degree accurate.

How the sond behave in outdoor?
I do not know, but I have built a test generator PIC12F508, which I connect portable radio for testing.
The measuring circuit is not yet build.


Pekka OH3GDO

Thank you. Great experiment. Very interesting. Food for thought.
Never thought that mirror could be concave, not convex.
Convex parabolic mirror does not satisfy single view point constraint for conventional cameras (however, cone does not satisfy it either). It means that either parabolic or cone mirror are not ideal for catadioptric cameras. Cone is simpler for calculations. But lamp reflector has perfect mirror.


Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License