Currently, we rely on exceptions to catch invalid configurations robot configurations (e.g., wrong combination of tools and cameras, no specialized URDFs, etc.). That is non-ideal, because the screen session terminates when the launchfile terminates, which means users can't read what went wrong. The only way to read what went wrong is to launch the ROS launchfile in isolation (e.g., ros2 launch stretch_web_teleop web_interface.launch.py).
We should find a better way to notify users of errors in their configuration. Maybe we also pipe the screen session output to a logfile, so they can check that. Maybe we keep the screen session open beyond code termination. etc.
Currently, we rely on exceptions to catch invalid configurations robot configurations (e.g., wrong combination of tools and cameras, no specialized URDFs, etc.). That is non-ideal, because the screen session terminates when the launchfile terminates, which means users can't read what went wrong. The only way to read what went wrong is to launch the ROS launchfile in isolation (e.g.,
ros2 launch stretch_web_teleop web_interface.launch.py
).We should find a better way to notify users of errors in their configuration. Maybe we also pipe the screen session output to a logfile, so they can check that. Maybe we keep the screen session open beyond code termination. etc.