When we created Q.bo One, our immediate priority is to allow anyone to use and work with it, whether they come with or without programming skills. The thinking behind this is not “what can the robot do for me” or rather “what I can make the robot do”. That is why we create Q.bo One with “interactive mode” that works with a simple instructional interface from Google that will allow anyone to pick up and exploit Q.bo One to its full potential and work with all its different features.
When you first connect up the robot, very much like what you would do to a new computer (i.e. attaching the monitor and keyboard to the mother board), you can setup with your router and connect it to internet. Thereafter, you can select either "Scratch mode" or "Interactive mode". Scratch is developed by MIT that comes with many online tutorials that run through its application, modules and related features. Alternatively, you can chose interactive mode that is created by our development team where we connect Q.bo One with speech and natural language recognition system powered by Dialogflow (Part of Google) so that it can interact with its environment using touch sensors, LED matrix at the mouth, microphones, loud speaker, motors and webcams, among others.
Interactive mode has been developed entirely in Python by our team so that users is able to access and work with different hardware components of the robot, regardless of the level of their proficiency with programming language. They can put their creativity to work and create new applications for the Q.bo family of robots and devices.
HOW DOES IT WORK?
An interactive robot means that communication with the robot is bidirectional. Other systems in the market need to be called again and again by their names to receive and answer to a question. It is similar in characterization to the notion of saying “Hello Friend” every time we start a sentence and speak to him or ask him a question during the conversation. With Q.bo One, this does not happen and Q.bo One works like this during a conversation:
- Q.bo One is continually looking for a face. Q.bo will not hear you during this process.
- When Q.bo One finds a face, it puts its nose in green and if the face is confirmed after a second, it will put its nose in blue. When the nose is in blue, Q.bo One is ready to listen to you and waits for your question while looking at you.
- If the blue light at the nose disappears, it will mean that Q.bo One has lost track of the face and we wait for a new face before taking more questions.
- Touch sensors are activated when Q.bo is trying to find a face. Therefore, if we touch his ears, he will turn to the direction of the touch and try to find the person who touch him. Once the face is tracked, his nose will turn blue and will start to wait for a question.
A typical question and answer with Q.bo One will go like this:-
Person: Hello
Qbo One: Howdy
Person: How are you?
Qbo One: Fine
Person: Good Bye
Qbo One: Bye
As you can see from the above example, it is not necessary to say “Hi Q.bo” every time you ask him something. All you need is for him to focus on to you with the blue LED light on its nose.
"Clearly, this protocol is developed by our team which it can be modified and improved by you. What works for us may not work for you and you are at full liberty to make changes to it. That is the advantage and magic of an open-source platform."
BUT...WHAT IS DIALOGFLOW?
DialogFlow is a service that allows developers build conversational applications using natural language processing techniques. Systems built with Dialogflow provide the knowledge base on which artificial intelligence systems can operate on. It also provides a voice assistant that allows you to create your own voice assistants using the SDKs for Linux, Android, IOS and even has libraries for programming languages like Java Script, Java, Python.
You will need to register with Dialogflow using your Google Account. Alternatively, you can enter the data from Scratch. After signing up, you can access the interface directly where you can create your own virtual AI assistant called an “Agent”. You can add new skills to your assistant and each specific skills, also is called “Agent”.
To find your agent’s token and export to ConfigQbo, you need click on the gear icon next to your Agent’s name. On the page, look for a field labelled “Client Access Token” and input the alpha numeric code onto Q.bo’s configuration window labelled “APIai token”. You can find more information from the following link: https://dialogflow.com/docs/reference/agent/
Upon input of the token, Q.bo One will be connected to the DialogFlow agent called “Small Talk”. Alternatively, you can connect it to one that you create on your own. Small talk is used to provide answers to causal conversation. This functionality can improve in a great deal user experience when talking to your agent. DialogFlow allows you to add intuitive questions, answers and train the Agent for very fluid conversation. Once the system is trained Qbo will answer the questions that his interlocutor without having to update anything. All updates can be done from your DialogFlow account and there is no need to update physically the software on the robot. In addition, DialogFlow has a range of pre-built databases called "Domains" that provide complete knowledge base for your conversational applications.
Examples:
Disclaimer: Before using these domains or any other third-party systems, each user must, in particular, register, read, understand and accept the policies and terms of service that each platform imposes for its use and will be responsible for its use.
I have hooked up with qbo in dialogflow and it responds to the ears both right and left but does not look up or down and cannot find a face allowing a conversation.
Can you help me connect to Dialogflow? API keys there are two of them, which one to use? Client Access Token or Developer Access Token? Or Should Q.Bo work on it own already? because I turn it on and it say ready, but no respond to question or hi.
The factory come with Dialogflow token already in the ConfigQBO. I see there are GAssistant Token as well.
From my understanding, it should be already ready to use out of the box? Just connect to the internet but nothing so far. I am link with the raspberry via VNC.
I have try instruction from the setup but I believe it is missing step or explaining.
Thank you very much.
Vin
Can you help me connect to Dialogflow? API keys there are two of them, which one to use? Client Access Token or Developer Access Token? Or Should Q.Bo work on it own already? because I turn it on and it say ready, but no respond to question or hi.
The factory come with Dialogflow token already in the ConfigQBO. I see there are GAssistant Token as well.
From my understanding, it should be already ready to use out of the box? Just connect to the internet but nothing so far. I am link with the raspberry via VNC.
I have try instruction from the setup but I believe it is missing step or explaining.
Thank you very much.
Vin
Hi Vingo, you can use both. Client API is for personal use and Developer API is if you want to share your project with another people.
Kind Regards,
Thank for the fast reply, Qbo is still not responding to hi or any question. I am not sure but so far, when I move the touch sensor cables, it LED nose light(blue) up for a bit and response, but it still idle after... . I am lost at the moment.
*Is there a check list that I could use to check off for all component working correctly?
*Or where do I go to monitor activity of Qbo action?
Sorry, I am total new to this robot industry.
Thank you very much,
Vincent
Thank for the fast reply, Qbo is still not responding to hi or any question. I am not sure but so far, when I move the touch sensor cables, it LED nose light(blue) up for a bit and response, but it still idle after... . I am lost at the moment.
*Is there a check list that I could use to check off for all component working correctly?
*Or where do I go to monitor activity of Qbo action?
Sorry, I am total new to this robot industry.
Thank you very much,
Vincent
Hi Vingo, dont worry, we are here to help you!
In order to know if Q.bo is working fine we recommend you to use Scratch instead DialogFlow. If Q.bo react well to Scratch ( follow the instructions provide in our blog ), something is wrong in DialogFlow. In this case, please send us a video ste by step in order our engineers try to find whats happening. But, by your post Q.bo is working fine to trace your face and touch sensors.