I want Pepper robot to understand any human input in the chat.
I know that the correct QiChat syntax is '*' and it requires Internet access. (Robot is connected via Wi-fi)
This is my topic file, where I tell the robot my name, he tells it and assigns qiChat variable to my name.
u:(My name {is} _*)
Nice to see you, $1 $name=$1
This is how I define the chat.
conversationalContents = Arrays.asList(
new NavigationControlConversationalContent(), new GestureControlConversationalContent(), new VolumeControlConversationalContent(),
new DateTimeConversationalContent(), new GreetingsConversationalContent(), new FarewellConversationalContent(),
new RepeatConversationalContent()
);
topic = TopicBuilder.with(qiContext).withResource(R.raw.talks).build(); // build topic
chatbot = QiChatbotBuilder.with(qiContext).withTopic(topic).build(); // build chatbot
chat = ConversationalContentChatBuilder.with(qiContext).withChatbot(chatbot).withConversationalContents(conversationalContents).build(); // build chat
chat.async().run();
And I do have this in the manifest
<uses-permission android:name="android.permission.INTERNET" />
When I tell the robot my name, on the action bar (where robot writes what it understands -> it shows "My name <...>") So it doesn't understand and thus won't answer nor assign $name variable, which it should.
You'll probably want to contact Softbank Customer care and give them your robot serial number, because this feature requires a special licence that they need to activate (if your contract allows that of course!).
Jonas