Skip to main content
Version: QTrobot V2

QTrobot JavaScript API Reference

The qtrobot.js library is JavaScript SDK for QTrobot. It is a wrapper over roslibjs which facilitate stablishing connection with QTrobot rosbridge and expose simple APIs to interact with the robot's ROS interfaces such as playing gestures, configuring the text-to-speech interface, showing emotion, etc. It also offers some generic functions to call any ROS service (call_service), publish (publish) and subscribe (subscribe) to a generic topic.

Please read QTrobot Interface documentation for the details description of available ROS interfaces for QTrobot.

constructor​

QTrobot constructor method this function will automatically call the connect method with the given 'url' to the constructor

Parameters:

  • params object an object with the following fields
    • url: the rosbridge websocket url (e.g. ws://127.0.0.1:9090)
    • reconnect_time: an optional delay (in ms) before traying to reconnect
    • callback.connection: an optional callback to be called upon connection
    • callback.close: an optional callback to be called on closing/disconnection
    • callback.error: an optional callback to be called upon any error on connection

call_service​

Call a ros service

Parameters:

  • _name string service name (e.g. /qt_robot/speech/say)
  • _type string service type (e.g. qt_robot_interface/speech_say)
  • _params object an object specifying the service’s params
  • callback function a callback to get the result (optional, default null)

publish​

Publish to a ros topic

Parameters:

  • _name string topic name (e.g. /qt_robot/speech/say)
  • _type string topic message type (e.g. std_msgs/String)
  • _params object object specifying the message fields (e.g. {data: 'hello'})

subscribe​

Subscribe to a ros topic

Parameters:

  • _name string topic name (e.g. /qt_robot/joints/state)
  • _type string topic message type (e.g. sensor_msgs/JointState)
  • callback function a callback to receive the published message (optional, default null)

show_emotion​

Show a facial emotion on QTrobot display

Parameters:

  • emotion string name of the emotion (e.g. QT/happy)
  • callback function a callback to be called after playing the emotion file (optional, default null)

play_gesture​

Play a QTrobot recorded gesture

Parameters:

  • gesture string name of a gesture (e.g. QT/happy)
  • callback function a callback to be called after playing the gesture (optional, default null)

set_volume​

Set QTrobot speaker volume

Parameters:

  • volume number level in percentage (0-100)
  • callback function a callback to check the result (optional, default null)

home_motors​

Move all QTrobot motors to home position

Parameters:

  • callback function a callback to be called after homing all motors (optional, default null)

say_text​

Speak a text using QTrobot TTS

Parameters:

  • message string text message
  • callback function a callback to be called after speaking out the message (optional, default null)

configure_tts​

Configure QTrobot TTS engine

Parameters:

  • language string speech language (e.g. en_US) (optional, default 'default')
  • pitch number speech pitch value (it may not supported for all voices) (optional, default 0)
  • speed number speech talking speed (100 is the normal speed.) (optional, default 0)
  • callback function a callback to check the result (optional, default null)

play_audio​

Play a mp3 or wav audio file

Parameters:

  • name string the name of the audio file without extension (e.g. QT/5LittleBunnies)
  • path string an optional path (leave it empty '' for QTrobot default audio path) (optional, default '')
  • callback function a callback to be called after playing the audio file (optional, default null)

talk_text​

Speak a text using QTrobot TTS with facial emotion (moving mouth)

Parameters:

  • message string text message
  • callback function a callback to be called after speaking out the message (optional, default null)

talk_audio​

Play a mp3 or wav audio file with facial emotion (moving mouth) This is useful when you want to play a recorded audio speech.

Parameters:

  • name string the name of the audio file without extension
  • path string an optional path (leave it empty '' for QTrobot default audio path) (optional, default '')
  • callback function a callback to be called after playing the audio file (optional, default null)