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

Is there something like a node supervisor "class" available?

asked 2015-07-30 04:46:03 -0500

updated 2015-08-03 07:47:31 -0500

I want a process to control my nodes, starting pausing, restarting, checking if it still is operational etc. Like a library you add to the node doing that with services and is able to set a value to disable the node from doing processing(by class::running() / class::paused()).

Is there something standardized like that already out there?

Regards,

Christian


I am going to implement something on my own, thanks everybody for your answer.

edit retag flag offensive close merge delete

Comments

1

I asked something similar ( http://answers.ros.org/question/21350... ) and got so far no answer. So I guess there is nothing like that. To get an overview over your nodes, you could have a look at http://wiki.ros.org/node_manager_fkie

NEngelhard gravatar image NEngelhard  ( 2015-07-30 05:04:32 -0500 )edit

Thanks, the software is awesome, not directly what I need but goes into the direction.

cyborg-x1 gravatar image cyborg-x1  ( 2015-07-30 05:16:34 -0500 )edit

See also #q360115, the answer there is to use ros1_lifecycle https://github.com/boschresearch/ros1... (or my heavily modified version https://github.com/lucasw/ros1_lifecycle)

lucasw gravatar image lucasw  ( 2022-01-06 17:01:38 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
3

answered 2015-07-30 07:37:37 -0500

Adolfo Rodriguez T gravatar image

This is probably not the answer you're looking for, but in ROS 2 (think long term), it's very likely that nodes will have an (optional) standard lifecycle. See the proposed node lifecycle design document for more details. I believe the proposal addresses what you're asking for.

For ROS 1, i.e. now, there is no general out-of-the-box solution that I know of. I know some projects like ros_control implement project-specific solutions. You might want to implement a custom solution.

edit flag offensive delete link more

Comments

Yep currently not, ROS 2.0 is, not there yet. But the ros control is something I want to take a closer look at, but I guess it is not the thing I want right now. Currently its about getting status information and starting, pausing, restarting for all nodes not just hardware.Or I don't get the point?

cyborg-x1 gravatar image cyborg-x1  ( 2015-07-30 08:02:57 -0500 )edit
1

answered 2015-07-30 06:59:30 -0500

Airuno2L gravatar image

Are you trying to do this management through code? Or are you looking for some kind of GUI? If you're looking for a GUI, have you seen rqt_top?

edit flag offensive delete link more

Comments

I am not looking for a GUI, I am looking for something which actually can start node and maybe add some stuff like services which are able to pause and resume node operation (not necessarily terminating it, but with that possibility), also being able to query its state and so on,Goal:Enduser product

cyborg-x1 gravatar image cyborg-x1  ( 2015-07-30 07:26:13 -0500 )edit

On the "other end" there is a manager process checking states, pausing nodes when not needed to safe computation time.

cyborg-x1 gravatar image cyborg-x1  ( 2015-07-30 07:30:17 -0500 )edit

I guess the source for rqt_top can come in handy when looking for active nodes, thanks.

cyborg-x1 gravatar image cyborg-x1  ( 2015-07-30 08:04:16 -0500 )edit

Also another option, you can use the regular command line tools from your code, like rosnode kill and rosrun. With python it would be like import os os.system('rosnode kill nodename')

Airuno2L gravatar image Airuno2L  ( 2015-07-30 09:37:08 -0500 )edit

Well I am not sure but I probably need it for CPP.

cyborg-x1 gravatar image cyborg-x1  ( 2015-07-30 09:42:33 -0500 )edit

@Airuno2L I think the OP wants to pause/stop the activity of a node without actually killing it. I can imagine usecases in which node setup and teardown are expensive in terms of time and computational resources. Navigation, motion planning or complex perception pipelines would be good exampels.

Adolfo Rodriguez T gravatar image Adolfo Rodriguez T  ( 2015-07-30 11:20:59 -0500 )edit
1

Correct. You got it. But also being able to stop and restart ;-)

cyborg-x1 gravatar image cyborg-x1  ( 2015-07-30 11:25:22 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2015-07-30 04:46:03 -0500

Seen: 539 times

Last updated: Aug 03 '15