smach_ros.MonitorState callback receives empty userdata
For our AMIGO robot, I'm building a very simple state machine in smach for asking questions and asking for confirmation of the answers.
After posing the question via text-to-speech, the statemachine waits for the answer from speech-to-text with a MonitorState called WAIT_ANSWER. The callback for the MonitorState simply checks if there are any options given (Yes, the robot reads mentions them when asking the question), and then if the answer given is one of the options.
Sounds simple, but somehow the userdata in the callback only contains an empty instance of smach.Remapper. The msg-parameter of the callback does get the correct value.
When running, the state machine containing the state _does_ have the userdata 'question_senstence' and 'options'. In Smach Viewer, it also looks fine.
The fact that there are no tutorials on MonitorState doesn't help, so my implementation is based on my interpretation of the source code.
Does anyone have any experience with MonitorStates?