[Feature Request] Support Process Priority in launch files
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.
Are you thinking of doing something with the launch-prefix attribute?
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.
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".
this is a ROS feature