# Indoor positioning with variable number of distance measurements in tensorflow

Currently I have a setup where I'm determining the position of a transmitter using the RSSI of 4 receivers. Its a simple feed-forward network with some hidden layers, where the input is the RSSI values, and the output is a 2d coordinate.

Now, if I decide to add/remove receivers, I have to train the network again, since the input size changes. This is not ideal, since the receivers can move around, dissapear, etc. I have looked at some alternatives, but being pretty new to machine learning, it's difficult to pick which direction to go.

I have looked at a potential solution (stolen from another question), but I'm lost at how to implement it using tensorflow: Any help is appreciated.

The solution mentioned seems feasible but you'd probably encounter a lot of problems, such as -

1. Since you're outputting coordinates, each one of the input networks must be trained differently. Considering $$N$$ should ideally be a variable, how many input networks do you train?

2. You'd use an intermediate encoding of sorts as co-ordinate representation which would be averaged and then passed through the output network. - Interpolation properties of the encoding might not be too great, meaning a linear change in the representation might not lead to a linear change in the co-ordinate, causing an averaging function to give skewed results.

Just a suggestion but I think it would be better if instead of learning multiple estimates of co-ordinate representations and then averaging them it might be better if you tried to learn some sort of distance function.

Essentially, each receiver would have a fixed position (Assumption) and the input network (or two input networks preferably) would output the distance ($$r$$) of the transmitter from that receiver and the angle ($$\theta$$) it makes with a common axis. The problem with this approach is you wouldn't be leveraging multiple receivers as they would not be learning together, and the advantage being that whatever $$N$$ is, the RSSI readings pass through the same network always.

Once an $$N$$ number of $$(r, \theta)$$ values are obtained - a robust algorithm $$f(r_1, r_2,..., \theta_1, \theta_2, ...) = (x_t, y_t)$$ could be found to output the transmitter co-ordinates.

I'm not too confident if it would work too well but just a suggested direction I could think of! Hope this helped!