[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
How does a robot know where it is?
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /diy/ - Do It yourself

Thread replies: 14
Thread images: 3
File: dart1.jpg (119 KB, 800x600) Image search: [Google]
dart1.jpg
119 KB, 800x600
I want to build an autonomous robot - really imaginative, i know.
I bought a broken down rc car and and will replace most electronics and add some sensors and other fun stuff to it.
In theory i should be able to do most of this, but i'm currently struggeling with a system to read the current position - as i don't want to control it myself with a controller.
My first thought was gps, which turned out to be too inaccurate. I just learned about differential gps which might just do the trick, but i'd need some more setup and i don't want any other electronics laying arround here for this project - everything should be on the car.
My third idea was measuring the phase difference of some wifi-signal with 3 antennas and calculating the current position, but aperrently this would either need analog circuits or to be done extremely fast.
Making pictures with a camera would be possible aswell, but as mentioned before i don't want to change the surrounding, adding brightly colored markers is out aswell. (And i heard the use of digital pictures is extremely difficult, so the lack of markers would not exactly make this easier.)

TLDR; How does the missle know where it is?
https://www.youtube.com/watch?v=bZe5J8SVCYQ
>>
>phase difference
Nigger just use the strength. And you'd need four for three dimensional "triangulation". You also need a reference value, like the distance between known wifi points. Linear algebra, have fun.

Same with the GPS, you don't use the GPS, you would use the average for an individual GPS across many measurements, and use those for "triangulation".

If you ask around the arduino or raspberry pi programming/hardware forums, you could probably find someone who knows how to get raw wifi signal strength. a dB measurement would only get you a very, very small range of values. There has to be a more direct way to access the strength.

http://www.cyberciti.biz/tips/linux-find-out-wireless-network-speed-signal-strength.html

iwconfig has some method of getting the decibels. If you dig into the source code, you could probably find what commands/library it uses.
>>
>>1009624
>just use the strength
That might be a good idea outside but even if i'd measure accurate enought i'd expect heavy fluctuations of fieldstrength due to multipath fading and random shit that stands everywhere.
Considering the raspi stuff - i tried to avoid using this, but if i end up using graphical interpretation i'll probably use one anyways.
>>
>>1009621

SLAM, typically with a scanning laser range finder. A kinect will do.

If you really want to do wifi localization you need a special wifi chip that supports channel strength information at a high rate. See more here:
http://dhalperi.github.io/linux-80211n-csitool/

SLAM using lidar performs better though

The missile knows where it is because it has really fucking accurate laser ring gyros. Some missiles also figure out where they are by look at pictures of the ground and comparing them with a maps database.
>>
The robot knows where it is at all times. It knows this because it knows where it isn't. By subtracting where it is from where it isn't or where it isn't from where it is, whichever is greater, it obtains a difference or deviation. The guidance subsystem uses deviations to generate corrective commands to drive the robot from a position where it is to a position where it isn't and arriving at a position it wasn't, it now is. Consequently, the position where it is, is now the position that it wasn't, and it follows that the position it was is now the position that it isn't. In the event that the position that it is in is not the position it wasn't the system has acquired a variation. The variation being the difference between where the robot is and where it wasn't. If variation consider to be a significant factor it too may be be corrected by the GEA. However, the robot must also know where it was.

The robot guidance computer scenario works as follows... Because of variation has modified some of the information the robot has obtained, it is not sure just where it is. However, it is sure where it isn't, within reason, and it knows where it was. It now subtracts where it should be from where it wasn't, or vice versa, and by differentiating this from the algebraic sum of where it shouldn't be and where it was, it is able to obtain the deviation and it's variation, which is called error.
>>
>>1009621
at ~2GHz (wifi) wavelength is what 1m? so if you did have all signals phase locked you could determine position within a 50cm square
>>
What's wrong with a laser scanner like the neeto vacuums use? Just need to map the surroundings as it runs around.

Also, what is your goal? Following you? Chase the cat? Robot rc pet? Doing it because you can?
>>
File: rotary01.jpg (32 KB, 370x288) Image search: [Google]
rotary01.jpg
32 KB, 370x288
>>1009621
I have used this trick before in autononous robot competitions: instead of something convoluted, keep your robot simple and low to the ground. Determine the robot's position using rotary encoders on the wheels and use some basic math to get the robot's position. I guarantee you it will work better than gps.
>>
>>1009621

Most missiles don't know where they are. They just know in what direction they're supposed to be going.

It would help if you tell us what exactly you're trying to achieve, very few applications have any need for precise absolute positioning. It appears to be a time-of-flight camera, a LIDAR system, or ultrasonic distance sensors should do the trick.
>>
File: 1434522039762.jpg (1 MB, 3277x2181) Image search: [Google]
1434522039762.jpg
1 MB, 3277x2181
>>1009638
will look into this
>>1009653
wavelength is speed of light / frequency
= ((3*10^8m/s)/(2,45*10^9Hz))=12,2cm
>>1009657
>laser scanner
Will look into this.
>Also, what is your goal?
Learning robot stuff in order to get better to building robots. I also may have watched too many science fiction movies featuring robots.
>>1009658
Oh yea,i 'll read the movement of the wheels with hall sensors - mostly for motor regulation, but this will be analyzed aswell. I just don't want it to be my main source of info. Will also measure the current thowards the motor to detect blocked or floating wheels.
>>1009699
I want to put the robot in a random room, have it check it out by itself without destroying itself (yes, ultrasonic sound sensors will come in handy) and have it 'remember' maps it made before.

https://www.youtube.com/watch?v=IKBJxZf-Dgs
>>
>>1009658

This only works for a short time, depending on how precise your traction system is. Cumulative error is a bitch; given enough time (anywhere from seconds to minutes), you WILL completely lose track of your position without some sort of external reference.

Dead reckoning has its niches, but, if you want to keep track of something performing any significant number of maneuvers in the real world, you're going to need another positioning system to at least periodically reference to.
>>
Yeah OP, you've discovered that small scale localization is actually a really hard problem. There is no easy and accurate solution. SLAM or motion capture are feasible but not easy.
>>
>>1009638
>>1009699

these explanations are a bit outdated, though inertial guidance is still very common and accurate when coupled with other-methods, such as phased array radar topography and GPS.

alternatively, other missiles use TOW or Tagging to nominate targets, and everything from there is visual feedback loop, which is how a surprising number of "autonomous" robots you've seen on youtube actually work.

>>1009621


if you want to make a truly autonomous robot, you'll need a combination of high resolution GPS, a local method such as sonar, which is cheaper and easier to implement on a hobbyist scale vs. Lidar, a SLAM algorithm, and a pathing/guidance algorithm.

none of these things are trivial, but there are many open-source soultions for each. the GPS is arguable the easiest - getting the sonar to work is medium easy, SLAM can be notoriously difficult to do quickly, and pathing varies, depends on what you find in terms of exisitng firmware.

alternatively, you can give the thing a few touch senosrs and have it ram into stuff around your house, while using dead reckoning to slowly generate environmental map, after which you robot will be able to roughly navigate, say, your house, while using a middle-path approach.
>>
>>1009621
>need analog circuits

why is this an issue. phase detector/comparator analog circuitry is like analog 101. even with 3 or 4 attenas, the circuit is simple. hell, they even sell chips that will do it for you and spit out a DC analog signal that you can tie directly to a uC to detect phase difference.

all you have to do is get a chip that operates at the carrier frequency of your source, buy a prefab receiver, normalize output, feed into phase comparators, go nuts. there's a little more to it than that, obviously, but nothing that's not contained in mfg. documentation.

why do the hobbyists not learn this kind of shit?
Thread replies: 14
Thread images: 3

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.