I have implemented a python program that use SVO algorithm (https://github.com/uzh-rpg/rpg_svo_example/) for doing the visual odometry of a video registered using a drone. I currently use ROS for publishing from the pc the video and other informations (IMU, GPS, speed,...) used by different modules inside the program. In particular the SVO node reads that informations from their ROS topics and return to me the odometry pose.
Now I want to do the same but in an Android application that read the video stream from the drone's camera in real time. The application is already capable of receiving the video stream but I don't know how to import and use SVO with ROS inside Android. I'm rewriting my python code as a Java function of the android application, but now i'm stucked at the point where I need to compute the odometry pose. How I can correctly import and use the SVO code (C++ files with .so libraries and use of ROS) inside my application?
Otherwise, there is the possibility to use SVO without ROS? I think that now is no more motivated the use of ROS, but if I can publish the live video on the right ROS topic I don't need to change all the code.
As a last option, if I can not use SVO in any way, there are other algorithm for the visual odometry that are already setted for work in Android?
Thanks in advance