ROSOnWindows icon indicating copy to clipboard operation
ROSOnWindows copied to clipboard

[Feature Request] Support Process Priority in launch files

Open ooeygui opened this issue 5 years ago • 3 comments

Some ROS nodes need to have higher priority execution - either generating data or maintaining a heartbeat on hardware. While it is possible to do this today from 'within' the node using OS features, it becomes problematic when tuning the whole system.

Wouldn't it be cool if we can declare a relative priority from within a launch file? This way the implementer of the solution can determine the overall priority of the solution.

(Adding to ROSOnWindows github in order to link to a doc where this is mentioned).

Upvote if you find this interesting.

ooeygui avatar Feb 19 '20 19:02 ooeygui

Are you thinking of doing something with the launch-prefix attribute?

gavanderhoorn avatar Feb 19 '20 19:02 gavanderhoorn

Oooh! - that's a good solution. It doesn't require changing infrastructure.

Sean mentioned that there's a process priority conversation in the ROS2 TSC.

ooeygui avatar Feb 19 '20 21:02 ooeygui

Doing it in a platform agnostic way -- without needing to change anything else -- could probably be done by using an intermediate executable or script which checks which OS it is being executed on and then delegates to whatever tool could be used to run processes with required priorities (and other configuration).

If you don't care about being OS agnostic you could just use start with /AboveNormal or something. I believe you'd want to make sure roslaunch can still track the child spawned that way, otherwise it could decide that start has vanished so the node "died".

gavanderhoorn avatar Feb 20 '20 10:02 gavanderhoorn

this is a ROS feature

IoTDan avatar Oct 11 '22 21:10 IoTDan