ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Can we start a ROS node without a Master URI or a Dummy URI and later provide the Master URi so that the node registers to it?

asked 2018-10-29 10:40:39 -0600

jithinreju@gmail.com gravatar image

Is it possible to run the ROS node without a master , i.e I run the rosnode without the master and then later tell the rosnode to which MASTER URI it has to register to ? This was required to reduce the start time of the node ,if i have the nodes already running then it would help me start the application asap when the master is available.

Can you please give me feedback ?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2018-10-29 11:01:17 -0600

mgruhler gravatar image

No.

The master is the integral part of any ROS system, orchestrating all connections (Pub/Sub, Service, Action), so this is required for a ROS node to run.

That being said, I don't understand your use case. How does "start-up time" increase when you have to start the master first? And if not, how would you benefit from first starting the nodes (then not being able to anything at all, at least from the ROS side) and then connecting to a master once it is available? This would just move any latency in connecting to the master from "when the node starts" to "when the master starts"...

edit flag offensive delete link more

Comments

I was trying for a car application, the master is running on the car ,so when the car comes in the vicinity of the edge server ,the node running on the server should register to it . Other way is start the node once the master in car is available(car come close to this server) ,but it delays start

jithinreju@gmail.com gravatar image jithinreju@gmail.com  ( 2018-10-29 11:27:52 -0600 )edit

the problem is there is no way to inform the edge server the master URI of the car ,until the car comes close enough and is connected to edge server

jithinreju@gmail.com gravatar image jithinreju@gmail.com  ( 2018-10-29 11:31:03 -0600 )edit

So the question was if there is anyway to change the ROS_MASTER_URI of a rosnode in runtime ?

jithinreju@gmail.com gravatar image jithinreju@gmail.com  ( 2018-10-29 11:35:06 -0600 )edit

Well, for regular ROS, the above answer holds. So this is a No!

However, for this use case, it could help to investigate multimaster approaches like e.g. multimaster_fkie and treat it like a multi-robot system.

mgruhler gravatar image mgruhler  ( 2018-10-30 01:53:16 -0600 )edit

okay thanks for the feedback , since its not possible to change the master URI ,Is there a way to unregister the node from a master and reregister to another master using the Master API ? ( http://wiki.ros.org/ROS/Master_API ) .

jithinreju@gmail.com gravatar image jithinreju@gmail.com  ( 2018-10-30 04:10:38 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2018-10-29 10:40:39 -0600

Seen: 450 times

Last updated: Oct 29 '18