Shiva’s Status Update for 04/19

This week, I collected more experimental data for Udit and Rhea to use in tuning the multilateration algorithm. I implemented a time-sync algorithm in the Decawave chips that uses a master chip which periodically broadcast its own timestamp, which the slave anchors adjust their own clocks in response to, before transmitting pulse reception timestamps to the Raspberry Pi.

Details of time-sync algorithm, created by Udit and implemented in the Decawave chips by me

I also assembled an experimental setup to test the algorithm, setting up the tags and anchors in a 1×1 meter square. I set up two slave anchors that broadcast the time of pulse reception to the Raspberry Pi server, a masterĀ  that only broadcasts a timestamp, and a stationary tag that broadcasts its ID. The setup was meant to keep both anchors 1 meter away from both the tag and the master simultaneously.

Clockwise from top left: White slave anchor, red master anchor, magenta slave anchor, stationary black tag.

Our progress is on schedule for a demo this Wednesday. Udit and Rhea have been making substantial progress towards an effective multilateration algorithm with imperfect data, and I have established a consistent workflow for graphing and collecting timestamp data from multiple anchors and multiple tags simultaneously.

This graph depicts the difference in corresponding deltas between pulses — that is, the differences (in the time gap between pulse receptions) between corresponding pulse receptions of the two anchors.
This graph depicts the direct difference between corresponding pulse reception timestamps of the two ostensibly time-synched anchors. Possible sources of error include imprecise measurements when arranging the anchors in the 1-meter test space and the imprecision of the anchors time counters themselves.

This week I will perform any final tests that Udit and Rhea need to fine-tune the multilateration algorithm, and then we will demo on Wednesday.

Leave a Reply

Your email address will not be published. Required fields are marked *