What is QTrobot?

QTrobot, is a commercial available toddler-like humanoid robot built by LuxAI S.A.. It is a socially engaging and interactive robot with a wide areas of application. QTrobot is currently being used for emotional training of children with autism, post-stroke rehabilitation and elderly cognitive and physical rehabilitation.

Develop engaging applications effortlessly

QTrobot is a powerful and developer-friendly humanoid robot for research on human-robot interaction and robotics. With exceptional processing capabilities, standard development environment and direct connections to the robot’s display, Lan/Wifi, Mouse and Keyboard, QTrobot is a stand-alone social robot platform to save your time in R&D and teaching. (No need for cross compilation!) N|Solid

Graphical Interface for even easier programming

Using its graphical interface, you can easily script new applications for your QTrobot according to your experiment’s setup. Just by drag and drop, put different components together and build interactive applications to integrate QTrobot in your research. N|Solid

QTrobot ROS standard interfaces

The QTrobot ROS interface aims to facilitate accessing basic robot functionalities leveraging a set of user-friendly ROS interfaces. Each robot’s functionality can be accessed in blocking and non-blocking mode using ROS publish/subscribe and Service/Client interfaces. For the time being, the following interfaces have been implemented:

  • Robot Emotion : implements robot facial emotion
  • Robot Speech : implements robot text to speech functionality
  • Robot Audio : implement a simple player to play standard audio files
  • Robot Gesture : implements robot gesture control
  • Robot Behavior : implements more complex behaviors by combining the robot basic functionality

Please visit QTrobot Wiki page for detailed information on how to use QTrobot in ROS.

Example: Accessing QT Robot interface from a python script

[Non-blocking mode] The following example shows how to access QT Robot Speech functionality using ROS publish/subscribe method from python:

import rospy
from std_msgs.msg import String

# create a publisher
speechSay_pub = rospy.Publisher('/qt_robot/speech/say', String, queue_size=10)
# publish a text message to TTS (non-blocking)
speechSay_pub.publish("Hello! I am QT!")

[blocking mode] And the following example, re-implements the previous one using ROS Service/Client method from python:

import rospy
from std_msgs.msg import String
from qt_robot_interface.srv import *

# create a service clients
speechSay = rospy.ServiceProxy('/qt_robot/speech/say', speech_say)
# call the service (blocking)
resp = speechSay("Hello! I am QT.")