Roboy has three major show moments which concern roboy_dialog/ravestate!
Roboy has to react to a Telegram message which summons his rickshaw to a predetermined pickup point.
Roboy has to react to a verbal "start driving" command.
Roboy has to react to a signal from autonomous driving upon which he says we have arrived.
Roboy has to recognize Lennart; offer him a handshake and conduct small talk.
Implementation:
We create a new ravestate module called ravestate_roboy_ad_demo. The module contains the following states:
pickup_requested → reads nlp:triples, recognises trigger phrase, signals "go!" to AD
arrived_at_pickup_point → processes respective signal from AD, voices ~"Hop on!"
start_driving → reads nlp:triples, recognises trigger phrase, signals "go!" to AD
arrived_at_drop_off_point → processes respective signal from AD, voices ~"We have arrived!"
lennart_recognized → reacts to stalker:recognized_faces:changed` with high weight (superseding generic reaction. If lennart is the recognized person, voices custom greeting and triggers handshake to ReplayTrajectory which takes a string as a name.)
For the signals from AD, we have to create respective Ros2SubProperties or Pipes. Note: Bidirectional comms. needed (AD → Dialog | Dialog → AD)! To trigger the handshake, we have to create a respective Ros2CallProperty to trigger the pre-recorded motion.
Roboy has three major show moments which concern roboy_dialog/ravestate!
Implementation: We create a new ravestate module called ravestate_roboy_ad_demo. The module contains the following states:
pickup_requested
→ reads nlp:triples, recognises trigger phrase, signals "go!" to ADarrived_at_pickup_point
→ processes respective signal from AD, voices ~"Hop on!"start_driving
→ reads nlp:triples, recognises trigger phrase, signals "go!" to ADarrived_at_drop_off_point
→ processes respective signal from AD, voices ~"We have arrived!"lennart_recognized
→ reacts to stalker:recognized_faces:changed` with high weight (superseding generic reaction. If lennart is the recognized person, voices custom greeting and triggers handshake to ReplayTrajectory which takes a string as a name.)For the signals from AD, we have to create respective Ros2SubProperties or Pipes. Note: Bidirectional comms. needed (AD → Dialog | Dialog → AD)! To trigger the handshake, we have to create a respective
Ros2CallProperty
to trigger the pre-recorded motion.