Skip to content
sdevin edited this page Aug 23, 2017 · 1 revision

Dialogue Node

Overview

The Dialogue Node is a basic module meant to deal with the lack of a more serious one to manage dialogue. It allows to verbalize basic information.

Information which can be verbalized

This node allows to:

  • Give information on:
    • A fact: the robot can verbalize the fact that a fact is true or false (e.g. "The cube is on the table" or "I can not reach the bottle")
    • An action: the robot can communicate about the state of an action (DONE: "I picked the cube", FAILED: "I failed to pick the cube", NOT_PERFORMED: "I did not pick the cube", WILL: "I will pick the cube" or SHOULD: "You should pick the cube").
    • A plan: the robot can either share a plan (for now just inform that the plan is displayed on a screen), inform that the plan is DONE or that the plan FAILED.
    • A goal: the robot can inform about the goal it is currently performing
  • Ask about:
    • A fact: the robot can ask if a fact is true or false
    • An action:
      • CAN: the robot can ask to a human to perform an action (e.g. "Can you pick the cube please?")
      • WANT: the robot can ask to a human if he wants to perform an action (e.g. "Do you want to pick the cube?")
  • Verbalize a given sentence

Services and topics

Provided services

Published topics

Parameters

  • shouldSpeak: true if the robot should verbalized what it says (bool)
  • acapelaVoice: name of the voice to use for acapela (string)
  • acapelaVoiceFrench: name of the french voice to use for acapela (string)
  • timeWaitAnswer: time to wait an answer from the human in sec (double)
  • french: true if the robot should speak french, false for english (bool)
  • entitiesTranslation/"entity": how to verbalize the name of an entity (string)
  • entitiesTranslationFrench/"entity": how to verbalize in french the name of an entity (string)
  • properties/translationTrue/"property": how to verbalize the fact that a property is true (string)
  • properties/translationTrueFrench/"property": how to verbalize in french the fact that a property is true (string)
  • properties/translationFalse/"property": how to verbalize the fact that a property is false (string)
  • properties/translationFalseFrench/"property": how to verbalize in french the fact that a property is false (string)
  • properties/translationAsk/"property": how to verbalize a property in a question (string)
  • properties/translationAskFrench/"property": how to verbalize in french a property in a question (string)
  • properties/isReverse/"property": if true, the subject and the target should be inverse when the robot verbalize a fact with this property (bool)

Acapela dependency

To verbalize sentences in the robot, the Dialogue node is dependent of Acapela. However, as acapela can not be installed in simulation, it is possible to remove this dependency by commenting this line at the end of the CMakeList.txt:

add_definitions("-DACAPELA")