Hide ros environment to the user

asked 2020-07-03 09:50:34 -0600

joang gravatar image

Hello, I was wandering if it is possible to run ROS1 or ROS2 in a non-noticeable way for the user in Windows and Ubuntu. For example, I'd like to hide the ROS installation, forbid the user to subscribe/publish on my topics or interact with my nodes, etc. And of course, if this is possible, how could it be done? Thanks

edit retag flag offensive close merge delete


Could you clarify what you mean by "hide" exactly?

Would it be acceptable for someone to see ROS nodes in output of ps, top or the Task Manager?

As to this:

forbid the user to subscribe/publish on my topics or interact with my nodes

in ROS 2, look at SROS 2. It allows you to setup ACLs which make it completely impossible for anyone without the required secrets (ie: keys) to connect to your application.

gvdhoorn gravatar image gvdhoorn  ( 2020-07-03 11:34:22 -0600 )edit

Thanks for your answer. By "hide" I mean to keep ROS "in secret", that is, the user has no clue that ROS is being used on the computer, even if trying to find its files or nodes. Sorry if my question sounds stupid, but I don't have too much experience in developing software.

joang gravatar image joang  ( 2020-07-06 09:01:18 -0600 )edit

You may be able to do this using container technology or in a VM, but a savvy user will most likely still be able to figure it out. And VMs typically introduce some overhead, so it would have to be worth it.

Perhaps it would help if you could describe what you actually want to do or achieve.

These types of questions often come up when trying to actually achieve something else, and it might help to have that information.

Simply hiding for the sake of hiding seems like a lot of effort without much gain.

gvdhoorn gravatar image gvdhoorn  ( 2020-07-07 02:34:51 -0600 )edit

thanks gvdhoorn, the ACLs solution is fine

joang gravatar image joang  ( 2020-07-10 11:15:25 -0600 )edit