Have you ever had a larger robotic systems with many different launchfiles to startup? So you end up opening multiple shells and starting launchfiles or nodes in each of them instead of having the comfort of starting just one command.
This is where catmux jumps in. It helps you managing mutliple shells running different commands using tmux without the need of actually knowing too much about tmux. Just create a yaml-file that specifies which commands you want to run in which window and your robot-startup is just one call away.
The package is relatively new, but has been tested in production for two months now, which is why I decided to announce it here. You’ll find it on my github page:
If you think, this could be useful, please have a try and give feedback. Currently. I am especially interested in your opinion whether this package benefits from being a catkin package or if I should rather make it ROS independent and release it as pure python package. Currently the ROS dependency comes in only from being able to pass paths to files using the ‘package://…’ syntax.
If you say, that this package is completely useless, as one can also launch everything in one single launchfile, my daily workflow often requires to inspect output of single nodes separately or easily restart components of a whole systems. Yes, i know that this could all be achieved using the built-in logging helpers and using rosnode kill and so on, but in my opinion it has great benefit to be able to do all this at command line level.
I am also aware that I reimplemented many roslaunch-features such as argument passing, launching things on external machines and so on, which is why I am also very curious whether you think, this is an idiotic idea or if this actually makes sense in your opinion.
That all being said: I’m looking forward to any feedback, might it be here, a gitlab issue or a personal message.