python dialogflow_dialogflow_ros

Overview

This package uses the Google Text-To-Speech (TTS) API to send results to Dialogflow, Google's NLP platform.

Installation

There is an install.sh script available in git directory if you wish to use it, however, I will go over the steps one-by-one here. Installing this package requires 3 main steps: cloning the dialogflow repo, setting up your Google cloud project, and setting up Dialogflow. However, we need to install PortAudio so we can use PyAudio to get mic data.sudo apt-get install portaudio19-dev

Cloning The Repo

Install all the requirements using pip by cloning the Github repo and installing all the packages in requirements.txt.cd ~/catkin_ws/src

git clone https://github.com/piraka9011/dialogflow_ros.git

cd dialogflow_ros

pip install -r requirements.txt

Google Cloud Setup

Follow the instructions here for configuring your Google Cloud project and installing the SDK for authentication. You will need a google/gmail account.

Usage of the Google Cloud SDK requires authentication. This means you require an API key and an activated service account to utilize the APIs.Download the service account key as a JSON.

Check you have GOOGLE_APPLICATION_CREDENTIALS in your environment. This should be the path to the keys.

export GOOGLE_APPLICATION_CREDENTIALS='/path/to/key'Run the authentication command:

gcloud auth activate-service-account --key-file GOOGLE_APPLICATION_CREDENTIALS

Dialogflow Setup

Follow the steps here to setup authentication with Dialogflow. Note the name of your project-id and make sure to change that in config/params.yaml.

Usage

Follow the steps below to run the package properly.

Configure topics

Go into the config directory and change the following parameters in the params.yaml file:results_topic: (Optional) The topic where your results will be published.

project_id: The name of your project for the Google Speech node. This is the name of your Google Cloud project when going through the Google Cloud setup.

Launching nodes

To start the Dialogflow nodes, run the following command:roslaunch dialogflow_ros dialogflow.launch

ROS Nodes

mic_client

ROS node receives text from the Google Cloud Speech API and publishes it onto text_topic (see config/params.yaml). This is used by the dialogflow_client node.

Published Topics

text_topic (std_msgs/String) Acquired text from the Google Cloud Speech API.

dialogflow_client

ROS node that takes text from the mic_client node and sends it to Dialogflow for parsing.

Published Topics

results_topic (dialogflow_msgs/DialogflowResult) Publishes a message with the actions, parameters (python dictionary), and fulfillment text associated with the detected intent as a std_msgs/String.

Troubleshooting

If you get an OpenSSL error/InsecurePlatformWarning, run sudo pip install 'requests[security]'. Otherwise make sure you are running Python version 2.7.9+.

If you get any ALSA lib pcm.c ... errors, see this thread.

Any underrun errors means we need to change chunk size.

If you get a bt_audio_service_open error, run sudo apt-get remove bluez-alsa

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值