07/28/2019 at 14:57 •
05/31/2019 at 10:40 •
1. From experience, I believe the key to a successful project are the first few wins. If you can't get there fast, it is rather hard to sustain the motivation and figure out the details that are crucial for a functioning project. The adaptive ultrasonic phased array project can nicely accommodate this requirement: I would start with 2 ultrasonic transducers and ramp up the numbers when things are going my way.
For the 2 transducer case, I would keep things simple, as a small scale proof for the adaptive control part of this project:
I have not looked into the specifics of dispursive nature of ultrasound in air, and the clock rate of Jetson Nano. Suppose I can generate a 40K (which is the resonance frequency of this particular transducer I purchased) sine wave and that wave can travel in air 5m. Then it is gonna be a matter of making one transducer fixed, while the other one adjust its phase until the receiver can consistently receive a max value. The adjustment would be done with Q-learning algorithm on that GPU present on Jetson Nano.
This would be a test case, since Q-learning algorithm is not really needed there. waves synthesized with 2 ultrasonic transducers can easily be simulated and the parameters are not all that complicated. Therefore, we can compare the result of Q-learning algorithm with that of simulation to validate this path.
2. If the 2 transducer case turns out to be a win, we can start on the adaptive part of this project. When an obstacle is placed between the transducers and receiver, the original parameters would not work, now the apparatus should be able to re-computer appropriate parameters to adapt to the new environment.
3. the next step would be the small scale proof of concept for the distributed edge computing part of this project. Instead of controlling everything with one Jetson Nano, I would control the two transducers with their own Jetson Nano. The receiver signal would be sent to a Raspberry Pi, which would also be the master of the edge cluster.
there are few issues:
a) three different device means three different clocks. But since the only thing really matters is that the two waves are added up at the receiver, even if there are timing differences, it would not bother the algorithm.
b) controlling of edge cluster. I have not looked into this issue deeply, but now there is a company that adapter Kubernetes(k8s) for edge devices called k3s. It potentially can be used as orchestrater, or maybe Docker Swarm. This is an area definitely more information would be required.
4. After the two small scale proof of concepts, now it is just matter of adding more transducers:
5. Final Product: