- What did you personally accomplish this week on the project?
Last week, I worked on optimizing localization algorithm and distance measuring methods to reduce the lagging.
First of all, I tested on raspberry pi to check the performance. However, I found out that even though the algorithms are much faster, the lagging on Raspberry Pi was still very obvious. I found that the more important problem that cause the lagging is that the tag itself will enable a stationary detection, which even block the measurements when walking in a normal speed. I changed the threshold of the detection and now it worked smoothly on raspberry pi. Another optimization I did was related to PySerial. I found that the input buffer of PySerial module is consuming too slow on Raspberry Pi. I changed the code such that Raspberry Pi will only read the last input line instead of reading the first line in the buffer like a FIFO queue.
I also contributed to the Final Presentation slides and related testing. After I did the general testing listed on the slides with my teammates, I tested the whole system in a larger scale (The whole Roberts floor B). And I found that when the tag getting closer to the network switching area, it will get unstable.
Github Repo: https://github.com/weelieguo/18500-dw1001
- Is your progress on schedule or behind?
Based on the schedule, I should still working on optimizing and testing the localization system. It is on schedule.
- What deliverables do you hope to complete in the next week?
This week, we found that the localization system will get unstable when it goes to areas that needs to switch between multiple anchors. I will try to resolve this problem over the next week.
- What did I learn during the process?
I learned how to use Embedded Studio to write code and debug the DWM1001. I learned to look at the forum and the user manual (development kit) to get useful information. In the forum, I can see others’ posts regarding to different areas. In our case, Qorvo is the forum that I can gain information from, such as multithreading with DWM1001.