PDA

View Full Version : Position calculation



vikas
08-30-2004, 01:21 AM
Well I was thinking of building a small home Robot using ITX that ICE recommended . If you know about ITX you know about what the platform is .

So here is my problem ...

The robot is the type shown in movies ... something which moved around in the house doing small stuff ( simple Voice REc and Synth etc ) goes from room to room and gives company etc ( i think u get my point ) . Now the problem . For the robot to move around easily in the house it has to have a mental map of the envoirnemnt ( simple XY map ) Now the robot can move in some valid XY points only . Now for the robot to go from point A to B it should know its current location is for that i can use Stepper motors , shaft encoders , some form of becons whatever . So if i stay on the gound and my Wheels dont slip i know my exact pos relative to my start ( can be some place on the map ) . Now suppose Wheels slip , I pick and place the bot some place else Now i want to know the robots pos on the map . So what do you think the best alternative ? . Remember it my house so i cant put some stupid beacons / lines /calibrating markers etc anywhere i like .

I require some Idea :idea:

rao
08-30-2004, 01:26 AM
what you can do in case your wheels slip is pick the bot up put it at the origin place on your map... and press reset...which will sent the robo tracking pointer back to the origin...

I am sorry I am too sleepy... will reply something better tomorrow..

Rao

vikas
08-30-2004, 01:20 PM
REmember i want my robot to be completely autonomus . Not some one who follows line :) . So i can touch thing one its switched on . It should take care of everything itself .

ice
08-30-2004, 05:10 PM
I've 2 beautiful solutions for u.:

Hack an optical mouse.Theres' still research to be done on it[i mean use it for robotics].The plus point is ,u just hover it above the ground and get ticks[NO SLIPPAGE PROBLEM!!]

the second is a bit far fetched and expensive,...GPS
But u need 2 have a good reference point if ur movin short distances.
check this thread:
http://www.talkroot.com/showthread.php?threadid=5803

some modules:
http://www.totalrobots.com/access_files/gps.htm....expensive
http://www.commlinx.com.au/UV40.htm

hope this helps.
-ice
//gerry

vikas
08-30-2004, 06:23 PM
I thought of both solutions .

Optical mouse - It need to be very close to groud --- I need some good ground clearance or it will just get stuct with simplest of bumps !!! Optical mouse dont work when even 2-3 cm off the ground

GPS - The GPS gives a resolution is about 100 M :) which can be improved to about 15 meters if you use authorised Precision Positioning Service (PPS) . But still both are too big dimensions :)

ice
08-30-2004, 06:47 PM
DAMN!!!

will think still
How abt vision...with maybe landmarks on walls to guage its relative position
-ice
//gerry

vikas
08-30-2004, 10:38 PM
If you did image processing ever ... Its really difiicult ... finding landmarks :) That will be difficult as hell .... So much processing and code will have to be written .. And it not easy !!! Well the robot will have to be good at image processing but still its very difficult !!! And i mean DifficulT :!:

08-31-2004, 06:53 PM
http://www.phanderson.com/printer/compass/compass.html

GPS is a costly alternative.... An electronic compass coupled with a little feedback from the encoders in the wheels can give you pretty good RELATIVE position....

Position location is one of the most interesting problems in robotics.... Triangulation is one of the methods that is pretty well documented on the net... Google away!

Also, let me remind you that every entry in the DARPA Grand Challenge failed - and they were all using GPS - REASON ?

ice
08-31-2004, 07:52 PM
That was a beautiful link,Guest[ what's ur name?]

I think it will go into my christmas wishlist.

Just one thing to point out....
The vehicles in DARPA did use GPS ...true ,But u can't blame it.
There were a number of other things too like obstacle avoidance problems.

I have to read on triangulation though.
Nice link once again.

-ice
//gerry

vikas
08-31-2004, 11:17 PM
I was also thinking on some similar line ...

Using a Dipsmore compass to generate the oreintation of the robot and generating a rough map of the place using Sonar .. Then somehow compare that map to the one stored in memoryfor a beter location sensing . But its still a thought :) right now .

Naveenoid
09-01-2004, 12:39 AM
Buddy,
You guys are too low down.(I mean in the functioning hierarchy). The problems Vikas is facing are in each one of the core research areas in current day robotics, I shall summarise:
1. Self Localisation: There are numerous ways and techniques but I personally feel this is one fiendishly difficult proble not to be taken lightly.The problem mentioned about robot misplacing itself due to being carried and replaced is called kidnapped robot problem. The other problem is as mentioned is Poor control action(slippages). The techniques are complicated athematically and plenty of study is necessary before going in for implementation.
2.Autnomous Map Building: Map Building must be done completely autonomously despite being provided with a spatial occupancy grid as prior knowledge. A simple example is that humans , keep moving about and cannot be taken into account as a fixture of the map.
3. Behaviours: Behaviours are small decision making units serving to partition the proble. Behaviours must be identified and proper Arbitration strategies and Fusion must be accomplished. The 2 basic behaviours are Reactive and Goal-Oriented behaviours.
4. Planning: Planning is another difficult problem since it must be sufficiently reactive. While offering a good plan for minimising criteria such as power consumed it must also accomplish multiple criteria at the same time.

Based on the kind of problem, the situation is not simply that of usage of the right kind of sensors. All and any sensor data is erroneous. The design (control Architecture) must take into account the inherent vagueness possible in sensor data. The current research (check out the Robots MORIA and SRI International Flakey<I forgot the link and am too lazy to search in Google for you>) approcahes the problem probabilistically(Bayesian Inference or Programing) and by using a multitude of other techniques (For eg.Refer to the work done by Alessandro Saffiotti<Head of the Sewdish Team> for the Robocup:go through the resources and papers on the main page).
If the problem you have proposed involves any other interacting intelligent behaviour, refer to the project Alice and Ginger (Multiple Interacting Autonomous Mobile Robots for Cooperant task Execution)

Bayesian Probabilistic techniques for image processing offer a nice alternative to localisation by sirectly yielding the probability of the current neighbourhood being some point in the prior map.

Be warned: Plenty of Dabling in matematics during the design phase and Floating Point operations in the implementation phase ahead

shiraztk
09-07-2004, 09:21 AM
hi..
interesting problem..
actually this is something that worked out long back in some hospitals in usa for locating the exact position of the gadgets in the building.

It works by employing few transmitters at distinct position in the building. The robot will capture these signals and can say the exact location with in the building.

This can be done also by employing some sonar transmitters, say three transmitters A,B and C in the buidling. But I think this is not practical since your problem requires it to be in a house, so obstacles can be a problem.

I will post the exact details regarding the implementation once I get it.

Regards

vikas
09-07-2004, 09:41 AM
I had thought of somthing similar ( using sonar and then caluclatin XY from the time of flight required by sound emitted by sensors ) But it will require many sensors and and simply does not look good :( .

Still waiting for a good and simple approach

Pulkit_gaur
09-07-2004, 02:39 PM
Hi friends,
I think here is a simple solution ... its how we human do ...
Well i think vikaas u should try wheel encoder with independent microcontrollers to calculate the slippage and position decoding of each and every wheel transferring their data to position calculator which will keep track of the displacement ( not distance ) from referrence point or land mark.
robot should have a switch " learn this co-ordinate" by which u can enter curent position once u want to reset the position .

I think i put my point

Thanx and reagrds
-
Pulkit

vikas
09-07-2004, 02:49 PM
I had already thought of so - but it does not solve the problem ( please read the orignal post ) . Also i dont like the accuracy of these encoders .

Pulkit_gaur
09-07-2004, 03:00 PM
Well than go for image preocessing thing its quite simple to identify a
landmark thing using a webcam and a comp. until unless u have complex affine changes in view related to your landmark.
-
Pulkit

vikas
09-07-2004, 10:02 PM
I think this technique

http://www.jonh.net/%7Ejonh/robots/mapping/submitted-paper.html

would work fine for me ...

But pulkit if you can enlighten me on landmark identification then thatll be great too ( just give the overall idea ) . I had tought of it too but its quite complicated . Can you give me an example for robot navigatiing from living room to bed room using ur technique ? ( remember relative positioning system )

Pulkit_gaur
09-07-2004, 10:21 PM
HI vikas,
Well i 'll soon post an application for recognising a particular pattern set
using a web-cam which can be installed on a robot.
these patterns can be used as various landmarks in your home.
After identifying a particular landmark the robot will upgrade its Map memory current co-ordinates.
After that a back propagational NN can recall the perspective variation in the MAP and can generate a new relational coherent co-ordinate position
which will enable robot to upgrade "NOW_WHERE" macro and also
"WHERE_I_AM" macro.

I think this will help u

Thanx and regards.
-
Pulkit

vikas
09-08-2004, 07:02 AM
That will real nice to have ( no more stupid sonars and laser scanners ) ... Then i can use a webcam with an onboard ITX :) . Well what if i provide provide a steroscopic image for the robot ( dual webcam arrangement ) Can then i calculate the depth ? .

Well my aim is to develop a GPL software routines for a small home robot :) so using easy to get things like webcam will always be good .

Pulkit_gaur
09-08-2004, 10:46 AM
HI vikas,
well regarding depth calculation its a quite tedious task to do with
webcams. due to inherent noise present in image data ( u need realtime filter for both channels) secondary being as far as i know till win98 and Visual studio 6 its not possible to initiate two webcams at a time , in linux its possible release 4.3.01.

Depth calculation form stereo image disparity approach will help some how but main problem will be the calibration of your system( but u can always use a calibration algo for that ) actually the succeess rate is low with these systems.
You can go for triangulation approach , this is not a good approach but faster than image disparity algo.I've tested both aproaches and found that a hybrid of both will work faster and accurately.
Image disparity approach is very lethargic ( but hey if u want a real imitation of biological system than its the closest ..) it takes a lot of time to calibrate.

I'll try my best to help u develop that system. I too am building a biologically inspired robot vision platform with Artificial Intelligence
( inspired from asimo ) with NLP interface, so we will be interacting a lot , i hope

Thanks and regards
-
Pulkit

vikas
09-08-2004, 01:03 PM
dual camera system is pretty easy in java



di = CaptureDeviceManager.getDevice("vfw:Microsoft WDM Image Capture (Win32):0");

di1 = CaptureDeviceManager.getDevice("vfw:Microsoft WDM Image Capture (Win32):1");


Simply uses two wdm webcams ...

Any way ...

I was thinking of a webcam + ( laser / sonar ) hybrid .... . Also what kind of filters are you talking about ? I was thinking of passing the image tough a grayscale - > edge detect - > hough (then try to bring the lines together and find the depth - just an idea ( im not much into image:( )) .

If im getting right ur planning for an Neuro-Linguistic Programming (NLP ) based system ... but dosent the term encompass the whole system ( more like every thing ) so what kind of interface ?

Pulkit_gaur
09-08-2004, 10:19 PM
Well that may be a good thing to do , but to get depth u will have to make
use of image disparity maps just comparing lines won't lead u anywhere.
Secondly i was talking of image filtering to remove the inherent camera
electronics noise and other impulse noises , u know that they take up 20-25 % procesing time and resources of the whole preocess.So , they have to be very efficient and tight coding too , mostly ASM routines or embedded.
by NLP i meant Natural language Processing , which will be the medium for information interchange btween robot and world like we human do.
Its a field of ongoing research.I too am working on it.

Tnaks and regards
-
Pulkit

vikas
09-09-2004, 08:02 AM
Too much robotics :lol: Well I am accostomed to your NLP being called NLI ( so the mixup ) . well when the prcessors are ruinning at ITX onboard 800 Mhz + then the sytem should not have any prodessing problems .

vikas
09-10-2004, 10:01 PM
A vision system for rodney

http://www.fuzzgun.btinternet.co.uk/rodney/vision.htm

pretty nice ... a nice robot which has source under GPL

subot_robot
11-22-2004, 11:12 PM
Hi guys,
there is a good digital magnetic compass available at acroname.com
it costs $49. i think it will be pretty helpful for dead reckoning of robot as it has got a resolution of .1 degree. they have built it using a pic and 2 kmz51 magneto resistive sensor from philips. i am trying to get kmz51 and kmz52. has anybody got it. or is it available in ur city.
check out this link to find more about this digital magntic compass.
http://www.acroname.com/robotics/parts/R117-COMPASS.html

subot_robot

boya
01-20-2005, 08:42 PM
well guys i got weird idea about position calculation which i suppose might work.

well i suppose vikas there might be some heat emitting object in ur room like TV, fridge,etc which usually hav some peculiar thermal image when its on, why not make an imprint of the usual thermal image of ny fixed object and than using them as reference and usings sonars one can possibly determine its position. Also u can use it to detect humans moving in the room.

well vikas frankly i havn't given much thought about how to go about it , but probably u might be able to if it works...
would surely like to hear ur comments on this.

-boya

akb1980
03-20-2005, 09:37 PM
well localising (precisely) without vision , gps or such fancy stuff is a challenge!

one simple solution could be to use passive wheels with encoders! to make things better u can add springs on these wheels so that they are always forced into the ground even if it is uneven! this way these wheels will only rotate when the vehicle moves... regardless if the motor wheels slip or not!

if ur robot is a moderately slow moving (10 to 60 cm/s) then this will definitely work ... for fast moving robots u need to go a bit higher in technology!

06-15-2005, 02:54 PM
dual camera system is pretty easy in java



di = CaptureDeviceManager.getDevice("vfw:Microsoft WDM Image Capture (Win32):0");

di1 = CaptureDeviceManager.getDevice("vfw:Microsoft WDM Image Capture (Win32):1");


Simply uses two wdm webcams ...

Any way ...

I was thinking of a webcam + ( laser / sonar ) hybrid .... . Also what kind of filters are you talking about ? I was thinking of passing the image tough a grayscale - > edge detect - > hough (then try to bring the lines together and find the depth - just an idea ( im not much into image:( )) .

If im getting right ur planning for an Neuro-Linguistic Programming (NLP ) based system ... but dosent the term encompass the whole system ( more like every thing ) so what kind of interface ?

devpriya
08-03-2005, 01:02 AM
Have you heard of Gyro-Mouse? Well they dont need any surface under-neath them to calculate the displacement in X and Y axis.

I have been working on Gyro-Mouse control of robots, and I think its pretty easy to implement.

So why dont u put one gyro mouse at the base of the robot and once you fix the starting point and reset it from there, it will automatically give you the correct position from the starting point till the time you dont switch it off.

While switching off the robot save the current coordinates to use them from there itself.

I think its of help to you. For gyro mouse search on google, its made by one company called Gyration Ultra.

devpriya
08-03-2005, 01:05 AM
Have you heard of Gyro-Mouse? Well they dont need any surface under-neath them to calculate the displacement in X and Y axis.

I have been working on Gyro-Mouse control of robots, and I think its pretty easy to implement.

So why dont u put one gyro mouse at the base of the robot and once you fix the starting point and reset it from there, it will automatically give you the correct position from the starting point till the time you dont switch it off.

While switching off the robot save the current coordinates to use them from there itself.

I think its of help to you. For gyro mouse search on google, its made by one company called Gyration Ultra.

ranjit_k_barai
08-08-2005, 07:47 AM
Take one stereovision camera (or build it with two identical IEEE1394 compatible webcam , you will get the requisite software from Carneige Mellon University repository) and apply SLAM (Simultaneous Localization and Mapping) technique. You will find out plenty of research material on the internet. Australian Centre of Field Robotics, are doing research in this area. Using SLAM adapt some behavior based robot navigation methodology ......I think this is enough (easiest way) for making a robot autonomous.

If you like I can give you plenty of research papers on this, because my area of doctoral research is also autonomous walking robot. At Chiba University, Japan, I am working on six legged robot (for land mine detection and removal) COMET-III. Presently we are working on development of fully autonomous walking robot (new one, under fabrication) COMET-IV. I am the key person having responsibility of developing it's brain (by artificial intelligence) and vision (stereovision based SLAM, also by AI principles). I have designed it's computer and instrumentation architecture.