Can rosnodejs be used for mobile ROS applications?

asked 2021-04-14 05:38:18 -0500

rosmax gravatar image

updated 2021-04-14 05:38:59 -0500

Hi there,

I am planning on developing a mobile app using React Native so that I can use a single codebase for both iOS and Android platforms. The app will only run in ad-hoc wifi networks and will have no connection to the internet. It also won't connect to any database or backend service. It should simply be able to communicate with the ROS network. Since React Native runs with JavaScript, I thought rosnodejs seems to be a good choice.

Unfortunately, I am very new to JavaScript, React Native and Node.js but I do have worked with ROS before (with roscpp, rospy and rosjava). The rosnodejs doc says that this library is supposed to be used on a server-side which leaves me a little puzzled as to whether I can also use rosnodejs in a mobile app. Further, it says that ROS and node.js must be installed on the user's workstation:

For rosnodejs to function, it depends on both ROS and Nodejs to be installed on a users workstation. ROS is required for Javascript message generation, and Nodejs to install and execute rosnodejs scripts.

Obviously this won't be possible on mobile platforms. Though I wonder if the work station is the same device that will run the code eventually. Has anyone every developed a mobile app with rosnodejs? Is that even possible? Or should I go with roslibjs which works with rosbridge? I heard rosbridge comes with other difficulties and less performance than a client library like rosnodejs.

Thanks for your help, rosmax

edit retag flag offensive close merge delete