Triangulation with 3 DWM1000 modules

Hello. I have three DWM1000 sensors, two anchors and one tag. To know the position of the person, I only have to obtain the distance from the person to the two anchors, but the direction is unknown, that is, it can be forward or backward. How do I know if the person is in case 1 or case 2?

Does the DWM1000 module say the address? Otherwise I think I will have to use an extra sensor. What dou you recommend?

case

You will need a third anchor or some other sensor(s), unless you can infer, from other information, which intersection the tag is at.

For example, if the tag starting location is known, then with two or more of the latest positions, you can predict where the next location should be. The only problem is if it stops near the line through the two anchors. Then, when it starts moving again, you don't know which side of the line it is on. Depending on your use case, that may or may not be a problem.

I thought so, but what other sensor? With a gyroscope I can do it?

The location of the tag is unknown, I only have the distance of the two anchors. I can place another sensor on the anchor or tag, but which one?

Not sure what you mean by "...place another sensor on the anchor or tag..."

A third anchor will give the information you seek.

Why don't you know the starting location of the tag? Is this a theoretical exercise, homework problem, or real life situation?

I'm going to explain myself better.

I have 2 anchors and 1 tag in total. I'm making a person follow robot like this: Follow me - part 4 | Details | Hackaday.io

The two anchors are inside the robot:

I have to follow the person who is the one with the tag. How do I know which of the following two points the person is on? Should I place another sensor on the robot or where?
case copy

As you can see on that person's page: Follow me - part 4 | Details | Hackaday.io

It says that by default the location of the label will be programmed in front of the two anchors and that is what it takes, but, in my robot, the person can be in front or behind. How can I find out the correct address?

Because the robot thinks that in theory the person is in CASE 1 and in CASE 2. What is the person in reality? Let's say the person is CASE 1, how do I say that to the robot?

Oh. Well that certainly would have been a good first post.

Anyway, do the math, and pick the solution that has the tag "in front" of the rover...as explained on that person's page.

Since the beacon is initially set up to be in front of the robot and is expected to stay there, only this one solution is taken.

The problem is that the beacon/person can be in the back or in front of the robot.

That is, if he is behind and presses the button to follow him, what will happen? The robot will start to move forward, not backward.

I was trying to keep it simple, excuse me.

As has been stated, you need a third beacon or another reference point to resolve the ambiguity.

I see that the DW1000 beacons are getting to be pretty cheap -- a very promising product!

You say a third beacon inside the robot?
That is, 3 sensors inside the robot as an anchor and 1 with the person, right?

No, I didn't say.

What are the results of your experiments in evaluating the reliability and accuracy of the distance measurements, using those beacons?

My sensors have not yet arrived, they are sent, I want to have everything ready for when they arrive, if I have to buy a 4th sensor I will buy it.

But explain what you said, please.

So far I have thought of 2 inside the robot and one with the person. You say put 3 on the robot and 1 with the person?

Because if there are 3 sensors in the robot, the 3 diameters would only collide at one point. Or am I wrong?

I don't understand the need to explain anything. Mathematically, it is impossible to solve the location problem without at least three independent distance measurements. And since none of the measurements will be exact, the solution is only approximate.

My sensors have not yet arrived, they are sent, I want to have everything ready for when they arrive, if I have to buy a 4th sensor I will buy it.

You are getting way, way ahead of yourself. It will take you a long time to learn how this equipment works, and there will be plenty of experimentation and revisions, plus chances to buy new sensors along the way.

While you are waiting for your parts to arrive, you can be studying this paper, which describes how to implement a least squares solution to the linearized trilateration problem:

There are plenty of other reference materials on line!

Write your software so that one quick press of "the button" starts and stops the rover, and a long press of "the button" tells the rover that it has started moving in the wrong direction.

Thank you so much for your answer. It is a new technology for me, but, I am learning. Excuse me if I sound like a rookie, I'm just a rookie.

In relation to my last image, what do you think? It's possible?

I will use the code from this page: Interfacing DWM1000 Positioning Module with Arduino

3 anchors and 1 tag. It's possible?

According to the manufacturer it is a very precise sensor, 290m at 10cm.
https://www.decawave.com/product/dwm1000-module/

I would take that +./- 10 cm with a grain of salt, but even if you believe it, it is important to understand what that means for distances from a person to the two sensors, separated for example by 20 cm on the rover.

To see what I mean, calculate some distance values to the two sensors, for different assumed orientations of the rover and a person about 5 m from the robot.

Compare the difference in estimated distances to the uncertainty of the two measurements (if the rover is pointing straight at the person, the difference is zero).

The effect of the errors can be seen in the video linked at the bottom of this page: Follow me - part 4 | Details | Hackaday.io

I want to be optimistic and think that the navigation can be optimized from the code.

By the way, you did not answer me, what do you think of placing 3 anchors at 30 CM each and 1 label on the person, that is a simple solution to know the exact address, right?

Not sure who you are "talking" to. If you want to address a question to a specific responder, click "reply" in the bottom right of the reply, not the "reply" at the bottom of the entire thread.

Anyway, as mentioned several times, yes, three anchors should resolve the question about whether the tag is in front of or behind the rover (and of course, the farther apart the anchor are, the better), but no, it won't be "exact." You could easily do the math to prove that, and the effect of errors in the measured distances, to yourself.

Alternatively, you could use the approach mentioned in post #14.

Hello.
U may use three sensors in 2D and 4 in 3D
The problem is solved trigonometrically,m preferrably by putting the sensorns in a line.
To know if P is behind or in front place the sensors at perimiter and out-law the soulution that does not match the perimiter.

I mean, u get two possibles. For that u use the 4 sensor to out-law the faulty one.
:slight_smile:

                          (P) Person

SX 1 SX 2 SX3

By measuring different time of arrival at each sensor, u use trigonometry to solve for angles.
That takes up less space and effort than least square method and can basically be done with 32 kb mem. Stydy this img REALLY carfully and u get the picture.

image
image