Inspiration

I developed a protocol to leverage Google Maps to determine when school busses would arrive at pre-established stops. While the phone app worked, it required the bus (or bus driver (phone)) to have a sim card license to track location. I looked to establish a low-power parallel network which IOTG devices could use for such purposes and not requiring a sim card license. As I investigated radio transmission techniques, I discovered that 5G while much higher bw and lower latency also may suffer from obstructed transmission paths. Pico transmitters I understand is an approach to address. I thought another interesting method would be to leverage the phones themselves to establish an ad-hoc network to address "getting around" a building to gain access to an access point. The issue with this, is the power required via the hops. So, I developed an ML learning approach to provide a very low power (vs Batman as example) ad-hoc network - only when the 5G transmission requires. In other words, use direct 5G when possible, use ML-5G when obstructed and capability exists, default to lower G elsewise.

Full Disclosure:
I developed a "programmable landscape" simulator, which generates training data based on signal deadzones created by obstructions. I developed optimized ML based algorithms to "prune" recursive paths to establish the lowest power path, using the least number of community transmitters to respond, preserving their "hop" power to only being used when absolutely necessary.

I am including a video to demonstrate these two developments, however, while I have on-boarded multiple ML models to Acumos, the current acumos facilities are challenged for me to deliver the landscape simulator which generates custom "best" path training data to my custom designed deep (layer dependent on obstruction complexity - using an adaptive neural network technique) learning neural network. As a result for this entry I do not yet have micro-services operating on acumos. That said, I thought this effort would be very interesting to ATT and should be considered.

What it does

There are three distinct elements to this project: 1) the landscape simulator - this is where the user describes a landscape (city) which has known locations of a destination "access points" or "wired transmitters". The user then describes the obstructions within the landscape which the access points have as transmission obstacles. The user then specifies the population density of the landscape of potential mobile devices. The simulator then generates thousands of "images" of best paths to obstructed access points given random locations of senders and mobile potential "hop" devices. This the "training" data - the output of the simulator. 2) The adaptable deep learning neural network. Based on populations and obstructions, I establish a complexity metric which I then use to "tune" the depth and node count of my neural network. I then apply the training data to this network from the landscape simulator. The output of this dnn is a trained network. 3) An app - for instance running on a 5G phone which when 5G signal strength is low and getting lower, seeks the best neighbor via inference to talk with, in order to gain an indirect path to the 5G access point.

How I built it

I employed python to develop the landscape simulator and optimized path generator. I used python and tensorflow to develop my adaptable DNN. And initially used python to develop the "user" app. My plan was to translate this from python to android after I established the microservice on acumos. While I have multiple android apps, I have not developed this one yet.

Challenges I ran into

There were many developing the landscape simulator - determining the key performance metrics (hop count? overall mesh power consumed? Number of mobile elements responding to new entry into mesh? Combinations...). Then developing an effective landscape environment for adaptation by users - (couple with google maps, couple with local IOTG landscapes, etc) My initial landscape simulator was 3D based to capture vector obstructions from height based obstructions, I employed ray-tracing techniques to map paths and optimizations, however, the performance of generating thousands of training data was too lengthy, so, I moved to a 2D simulator. I plan on going back to the 3D once I complete the 2D project.

While I could detail many issues in the development phase, they pale to the issues trying to turn this into an Acumos micro-service which would really make deployment an interesting option. At this point acumos is not established for users to develop training data, apply it to a DNN, then leverage the new network for inference.

I look forward to when this is possible...

Accomplishments that I'm proud of

I think I developed an innovative low power ad-hoc network technique leveraging ML - which is novel and valuable, and someone like ATT would find useful.

What I learned

DNNs and beyond...

What's next for Machine Learning based Mobile Ad-Hoc mesh network

Work with Acumos developers to see if they can establish a framework which can host my ML based low power Ad-hoc networking technique.

Built With

Share this project:

Updates