Hi, arnaud:
as likely the thread:
I have developed the system asset track system based on the tdoa mode, but I don't use the EKF, rather than hyperbola location algorithm. so I need everyone tag and near anchor's distance diff, but I find that maybe someone anchor don't work. for example:
we have six anchors, previous anchor is anchor1, but crazyflie2 don't receive the anchor2's packet, so the current anchor change the anchor3, so we get the anchor1 and anchor3 distance diff, rather than anchor1 and anchor2 distance diff, EKF don't care if must anchor1 and anchor2 ? only care the distance diff two anchors ? maybe next frame, anchor2 work normally. so we still get the anchor1 and anchor2's distance diff.
if lack someone anchor, EKF also work?
-
- Expert
- Posts: 186
- Joined: Mon Dec 28, 2015 5:07 am
Re: if lack someone anchor, EKF also work?
This is correct, the EKF does not make any assumption about what difference of distance it will get, it uses the position of two anchors and the distance measured between them: https://github.com/bitcraze/crazyflie-f ... man.c#L925.
-
- Expert
- Posts: 186
- Joined: Mon Dec 28, 2015 5:07 am
Re: if lack someone anchor, EKF also work?
Hi, arnaud:
Got it, thanks! so powerful.
Got it, thanks! so powerful.
-
- Expert
- Posts: 186
- Joined: Mon Dec 28, 2015 5:07 am
Re: if lack someone anchor, EKF also work?
Hi, arnaud:
another question, why the anchorPostion is commented ? when range, every anchor will report their position?
another question, why the anchorPostion is commented ? when range, every anchor will report their position?
Code: Select all
static lpsAlgoOptions_t algoOptions = {
.tagAddress = 0xbccf000000000008,
.anchorAddress = {
0xbccf000000000001,
0xbccf000000000002,
0xbccf000000000003,
0xbccf000000000004,
0xbccf000000000005,
0xbccf000000000006
},
.antennaDelay = (ANTENNA_OFFSET*499.2e6*128)/299792458.0, // In radio tick
.rangingFailedThreshold = 6,
.combinedAnchorPositionOk = false,
// To set a static anchor position from startup, uncomment and modify the
// following code:
// .anchorPosition = {
// {timestamp: 1, x: 0.99, y: 1.49, z: 1.80},
// {timestamp: 1, x: 0.99, y: 3.29, z: 1.80},
// {timestamp: 1, x: 4.67, y: 2.54, z: 1.80},
// {timestamp: 1, x: 0.59, y: 2.27, z: 0.20},
// {timestamp: 1, x: 4.70, y: 3.38, z: 0.20},
// {timestamp: 1, x: 4.70, y: 1.14, z: 0.20},
// },
//
// .combinedAnchorPositionOk = true,
};
Re: if lack someone anchor, EKF also work?
With TWR yes the anchor can now send there position. For TDoA and TWR the position of the anchor can be set using the parameter subsystem. This is implemented in ROS and in some autonomous flight python example.