How is better to run the robot / multiple node on one machine
I am creating a mobile robot. There are several nodes such as SLAM, move_base, LIDAR, RGBD, and some other sensors. I have a couple of ways to run the system. The first one is just to create a single launch file that runs everything. The second way is to create my own node that starts other nodes, checks their working (by checking messages from nodes or just checking node list), and reboots any node if there is a problem (for example, some problem of the camera launch or some node crash). The last way seems more reliable, however, I don't know - is there any common and good way to do it?
Would you like to help me with this question or share your experience?