Skip to content

Anomalous distances #35

@Vorstok

Description

@Vorstok

Hello, has anyone encountered any abnormal measurements? I was trying to track down their cause and it turns out that the TOF is not being measured correctly. The computeRangeAsymmetric function in DW1000Ranging.cpp calculates myToF using four timestamps

void DW1000RangingClass::computeRangeAsymmetric(DW1000Device* myDistantDevice, DW1000Time* myTOF) {
    // asymmetric two-way ranging (more computation intense, less error prone)
    DW1000Time round1 = (myDistantDevice->timePollAckReceived - myDistantDevice->timePollSent).wrap();
    DW1000Time reply1 = (myDistantDevice->timePollAckSent - myDistantDevice->timePollReceived).wrap();
    DW1000Time round2 = (myDistantDevice->timeRangeReceived - myDistantDevice->timePollAckSent).wrap();
    DW1000Time reply2 = (myDistantDevice->timeRangeSent - myDistantDevice->timePollAckReceived).wrap();
    myTOF->setTimestamp((round1 * round2 - reply1 * reply2) / (round1 + round2 + reply1 + reply2));
}

The error occurs mainly due to incorrect measurement of round1

I know that anchors are polled sequentially. But I don't understand what to do next. Can you please advise me who has faced this problem and how to solve it. Below I attach two screenshots with measuring distance of 4 anchors in motion and in static position.

Image
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions