In this project your phone will be used to fully stabilize a self balance robot. For controlling the position of the robot you need information about the bot’s movement. This information is normally aquired by having motors which are equipped with encoders or using stepper-motors. In this project your phone‘s camera is providing this information via visual odometry – something also used by the mars rover(s).
The performance is strongly depending on the sensors used in your phone, some just delivier better results than others. Addtionally the enviorment needs to be structured, so small movements can be detected between successive images.
For specifically this application latency is everything. You already have a ton of delays until you get the latest data from the internal sensors. Espcially the camera of various phones I've seen 40-100ms latency. So you are already on the edge, since the system is unstable. Therefore you cannot allow additonally high latency, which I would expect the data transmission via screen blinking would introduce. Do you have some numbers here?
If this could be done in Javascript on a web page in the phone (access to the camera is possible, I'm just not sure it can process the data fast enough) then it would work with this system for interfacing with any smartphone: https://hackaday.io/project/184720-web-smart-phone-screen-blink-bot
For specifically this application latency is everything. You already have a ton of delays until you get the latest data from the internal sensors. Espcially the camera of various phones I've seen 40-100ms latency. So you are already on the edge, since the system is unstable. Therefore you cannot allow additonally high latency, which I would expect the data transmission via screen blinking would introduce.
Do you have some numbers here?