How to structure project - Cmd vel Mux vs State machine?
I'm making an autonomous mobile robot which will have various features which can be activated with different buttons. For example, one button should trigger wall following whilst another button will trigger person following.
What is the standard approach used in ROS to achieve something like this? Should I use a cmd vel mux node which receives messages from a wall following node and person following node and outputs commands according to the button pressed? Or should I use a state machine which tells the robot when this button is pressed go into the "wall following" state?