This week, I was primarily focused on the ethics assignment. I came up with some ethical concerns for our project that I hadn’t thought of before. Mainly, I realized that the most dangerous parts of our project were the collimator and circuitry. The circuitry is high power and could shock someone and the collimator focuses the sound waves in a potentially dangerous manner if you held your head to it. I looked at methods to indicate this danger, and came up with a few ideas, such as the color of the cone (i.e. red for danger) and stickers. Using visual markers can help the most at-risk (children) from using this improperly.
I also did some research into a controls loop, particularly with Python multithreading and thread communication. I made some playground tasks to undersatnd how it works. I did some testing of inference, and found it to be a little slower than I had hoped. This led me to believe that I would need to either
a) multithread (so we don’t pin the CPU on inference, and can do controls in the meantime)
b) offload via network sockets to a laptop (or similar device), that has stronger dedicated hardware for inference (this can cut down the inference time to <80ms, vs. the 2-3 seconds of the RPI)
c) Look into model quantization/parallel frameworks to accelerate on-device.
d) Upgrade the hardware to a Jetson
This week, I will be assisting the rest of the team with integration (powering via LiPos and robot) and then looking further into sorting the small inference issue.