The AIML ROS package

In this section, we are going to create a simple package to load the AIML files to memory using ROS nodes. The following is the block diagram of the working AIML ROS package:

Figure 5: Working of the AIML ROS package

Here's the explanation for the nodes shown in the diagram:

  • aiml_server: This ROS node loads AIML files from the database and saves them into brain files. It subscribes to a topic called /chatter (std_msgs/String). The string data from the /chatter topic is the input of the AIML interpreter. The response from the AIML interpreter is published through the /response (std_msgs/String) topic.
  • aiml_client: This ROS node waits for user input, and once it gets the input, it will publish it to the /chatter topic.
  • aiml_tts_client: The AIML server publishes the response to the /response topic. The tts client node will subscribe to this topic and convert it to speech.
  • aiml_speech_recognition_client: This node will subscribe to the output from the speech recognition system and publish it to the /chatter topic.

The user can interact with AIML either by text chatting or speech. The speech recognition node will not do speech recognition; instead, it will receive the converted text from a speech recognition system and input it to the AIML server.

To create or install the ros-aiml package, you may need to install some dependency packages.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.141.6