Miscellaneous - FAQ
Can't find what you're looking for?
This QTrobot FAQ is a summary of the issues from our Github repo. You can always open a new issue/feature request for any interfaces and we do our best to fix/implement them.
1. Can I do a backup of QTrobot?
QTrobot has two computational components:
- RPI (Ubuntu 16.04 LTS)
- Intel NUC PC (Ubuntu 16.04 LTS)
Except Nuitrack ROS interface (qt_nuitrack_app) all other qt software are running on RPI. qt_nuitrack_app and other demo apps are all available on our github and you can recover/update it whenever you want.
You can backup the config files of RPI for your own recovery. All QTrobot startup scripts, gestures, emotions, etc. are located under ~/robot folder in RPI.
In case of emergency recovery, we can send you the SD card image. we can prepare this image somehow you can flash it to a USB stick, plug it into QTrobot (USB) to recover the image.
2. Can I use C# to program QTrobot?
QTrobot APIs are based on the most popular software framework in robotic, ROS – a publish/subscribe middleware. ROS by default supports C++ and Python but other languages are covered via different open-source and well-maintained client libraries.
Indeed you can use C# to program QTrobot. You can refer to ros-sharp open-source library which leverages
websockets for underlying communication and cover all QTrobot APIs. It has good integration with Unity3D too.
We have also developed different Android apps using
Jscript and using native
Java APIs for our robot.
3. How to connect Bluetooth mouse/keyboard to QTrobot?
This tutorial explain how to pair and connect a Bluetooth mouse/keyboard to QTrobot NUC pc via terminal/ssh. The same procedure works also for RPI.
Notice: for RPI you may need to run the
Step 1: ssh to QTPC
connect to the QTrobot wifi and ssh into QTPC:
$ ssh email@example.com
Step 2: launch bluetoothctl
qtrobot@QTPC:~$ bluetoothctl [NEW] Controller F8:63:3F:40:61:B2 QTPC [default]
Step 3: turn bluetooth power on and register the agent
[bluetooth]# power on Changing power on succeeded [bluetooth]# agent on Agent registered [bluetooth]# default-agent Default agent request successful
Step 4: scan and pair the bluetooth device
to scan the bluettoth devices:
[bluetooth]# scan on Discovery started [CHG] Controller F8:63:3F:40:61:B2 Discovering: yes [CHG] Device 17:13:00:00:8A:04 Name: Bluetooth 3.0 Keyboard ...
Device 17:13:00:00:8A:04 Name: Bluetooth 3.0 Keyboardis what I am looking for. Now to pair the bluetooth device:
[bluetooth]# pair 17:13:00:00:8A:04 Attempting to pair with 17:13:00:00:8A:04 [CHG] Device 17:13:00:00:8A:04 Connected: yes [agent] PIN code: xxxx ... [CHG] Device 17:13:00:00:8A:04 Paired: yes Pairing successful
Step 5: trust and connect to the device:
trust the device:
[bluetooth]# trust 17:13:00:00:8A:04 [CHG] Device 17:13:00:00:8A:04 Trusted: yes
[bluetooth]# connect 17:13:00:00:8A:04 Attempting to connect to 17:13:00:00:8A:04 [CHG] Device 17:13:00:00:8A:04 Connected: yes Connection successful
4. Is QTrobot SDK open source?
QTrobot SDK software is not licensed as ope source. For the time being, we do not have any plan to make them open source. But these are just few software components which implement the required basic ROS interfaces such as motor control, gesture, speech, emotion. The main components (implemented as ROS node) are:
gesture_controllerplugins implement robot motor joints control and robot gesture record/play functionalities.
qt_robot_interfaceimplements speech, audio, basic behavior and setting functionalities.
You can always open a new issue/feature request for those interfaces and we do our best to fix/implement them.
The rest of the codes including all demo application are open source and you are more than welcome to contribute to those. :)