专栏首页机器人课程与技术ROS机器人项目开发11例-ROS Robotics Projects(2)语音部分

ROS机器人项目开发11例-ROS Robotics Projects(2)语音部分

ROS Robotics Projects(2)语音部分

第三章主要是语音部分,和ROS by examples类似;

这里还是要注意路径问题,还有.py和.launch文件的权限问题;

不需要用sudo,直接用下面语句加权限即可:

chmod +x *.py

chmod +x *.launch

路径配置参考:

<launch>



	<param name="aiml_path" value="/home/relaybot/books_ws/src/ROS_Robotics_Projects_master/Chapter03/codes/ros_aiml/data" />

	<node name="aiml_server" pkg="ros_aiml" type="aiml_server.py" output="screen">
	</node>


	<include file="$(find sound_play)/soundplay_node.launch"></include>
	<node name="aiml_tts" pkg="ros_aiml" type="aiml_tts_client.py" output="screen">
	</node>

	<node name="aiml_client" pkg="ros_aiml" type="aiml_client.py" output="screen">
	</node>



</launch>

----

命令运行结果:

relaybot@exbot-ThinkPad-T420s:~/books_ws$ roslaunch ros_aiml start_tts_chat.launch 
... logging to /home/relaybot/.ros/log/31b69cf6-174d-11e7-85a6-0811968dc4b0/roslaunch-exbot-ThinkPad-T420s-22991.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://exbot-ThinkPad-T420s:41234/

SUMMARY
========

PARAMETERS
 * /aiml_path: /home/relaybot/bo...
 * /rosdistro: indigo
 * /rosversion: 1.11.21

NODES
  /
    aiml_client (ros_aiml/aiml_client.py)
    aiml_server (ros_aiml/aiml_server.py)
    aiml_tts (ros_aiml/aiml_tts_client.py)
    soundplay_node (sound_play/soundplay_node.py)

auto-starting new master
process[master]: started with pid [23003]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 31b69cf6-174d-11e7-85a6-0811968dc4b0
process[rosout-1]: started with pid [23016]
started core service [/rosout]
process[aiml_server-2]: started with pid [23023]
process[soundplay_node-3]: started with pid [23027]
process[aiml_tts-4]: started with pid [23034]
process[aiml_client-5]: started with pid [23036]

(gst-plugin-scanner:23045): GStreamer-WARNING **: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgsteglglessink.so': /usr/lib/x86_64-linux-gnu/libgstegl-1.0.so.0: undefined symbol: eglDestroyImageKHR
/home/relaybot/books_ws/src/ROS_Robotics_Projects_master/Chapter03/codes/ros_aiml/data

Enter your text :> Starting TTS
[INFO] [WallTime: 1491100599.275978] Starting listening to response
Loading brain from standard.brn... done (98290 categories in 1.79 seconds)
Kernel bootstrap completed in 1.79 seconds
[INFO] [WallTime: 1491100600.147541] Starting ROS AIML Server
hi

Enter your text :> [INFO] [WallTime: 1491100605.857921] I heard:: hi
[INFO] [WallTime: 1491100605.858716] I spoke:: Hi there!
[INFO] [WallTime: 1491100605.859830] Response ::Hi there!
ji

Enter your text :> [INFO] [WallTime: 1491100611.535482] I heard:: ji
[INFO] [WallTime: 1491100611.536626] I spoke:: Where are you located?
[INFO] [WallTime: 1491100611.538437] Response ::Where are you located?


Enter your text :> [INFO] [WallTime: 1491100615.331469] I heard:: 
[INFO] [WallTime: 1491100615.332579] I spoke:: 
[INFO] [WallTime: 1491100615.334038] Response ::


Enter your text :> [INFO] [WallTime: 1491100620.908207] I heard:: 
[INFO] [WallTime: 1491100620.909390] I spoke:: 
[INFO] [WallTime: 1491100620.910688] Response ::
what is your name

Enter your text :> [INFO] [WallTime: 1491100628.790155] I heard:: what is your name
[INFO] [WallTime: 1491100628.791255] I spoke:: My name is Nameless.
[INFO] [WallTime: 1491100628.792728] Response ::My name is Nameless.
Do you love ros

Enter your text :> [INFO] [WallTime: 1491100640.447431] I heard:: Do you love ros
[INFO] [WallTime: 1491100640.448486] I spoke:: Yes  Nameless loves everyone and everything.
[INFO] [WallTime: 1491100640.449860] Response ::Yes  Nameless loves everyone and everything

文件组织如下,所需文件也配置完成:

relaybot@exbot-ThinkPad-T420s:~/books_ws/src/ROS_Robotics_Projects_master/Chapter03/codes$ tree
.
├── audio_common
│   ├── audio_capture
│   │   ├── CHANGELOG.rst
│   │   ├── CMakeLists.txt
│   │   ├── launch
│   │   │   ├── capture.launch
│   │   │   ├── capture_to_file.launch
│   │   │   └── capture_wave.launch
│   │   ├── mainpage.dox
│   │   ├── package.xml
│   │   └── src
│   │       └── audio_capture.cpp
│   ├── audio_common
│   │   ├── CHANGELOG.rst
│   │   ├── CMakeLists.txt
│   │   └── package.xml
│   ├── audio_common_msgs
│   │   ├── CHANGELOG.rst
│   │   ├── CMakeLists.txt
│   │   ├── mainpage.dox
│   │   ├── msg
│   │   │   └── AudioData.msg
│   │   └── package.xml
│   ├── audio_play
│   │   ├── CHANGELOG.rst
│   │   ├── CMakeLists.txt
│   │   ├── launch
│   │   │   └── play.launch
│   │   ├── mainpage.dox
│   │   ├── package.xml
│   │   └── src
│   │       └── audio_play.cpp
│   └── sound_play
│       ├── action
│       │   └── SoundRequest.action
│       ├── CHANGELOG.rst
│       ├── CMakeLists.txt
│       ├── include
│       │   └── sound_play
│       │       └── sound_play.h
│       ├── mainpage.dox
│       ├── msg
│       │   └── SoundRequest.msg
│       ├── package.xml
│       ├── README
│       ├── scripts
│       │   ├── playbuiltin.py
│       │   ├── playpackage.py
│       │   ├── play.py
│       │   ├── say.py
│       │   ├── shutup.py
│       │   ├── soundclient_example.py
│       │   ├── soundplay_node.py
│       │   ├── test
│       │   │   └── test_sound_client.py
│       │   ├── test_actionlib_client.py
│       │   └── test.py
│       ├── setup.py
│       ├── soundplay_node.launch
│       ├── sounds
│       │   ├── BACKINGUP.ogg
│       │   ├── NEEDS_PLUGGING_BADLY.ogg
│       │   ├── NEEDS_PLUGGING.ogg
│       │   ├── NEEDS_UNPLUGGING_BADLY.ogg
│       │   ├── NEEDS_UNPLUGGING.ogg
│       │   └── say-beep.wav
│       ├── src
│       │   └── sound_play
│       │       ├── __init__.py
│       │       ├── libsoundplay.py
│       │       └── libsoundplay.pyc
│       ├── test
│       │   ├── CMakeLists.txt
│       │   └── test.cpp
│       └── test.launch
└── ros_aiml
    ├── CMakeLists.txt
    ├── data
    │   ├── ai.aiml
    │   ├── alice.aiml
    │   ├── astrology.aiml
    │   ├── atomic.aiml
    │   ├── badanswer.aiml
    │   ├── biography.aiml
    │   ├── bot.aiml
    │   ├── bot_profile.aiml
    │   ├── client.aiml
    │   ├── client_profile.aiml
    │   ├── computers.aiml
    │   ├── continuation.aiml
    │   ├── date.aiml
    │   ├── default.aiml
    │   ├── drugs.aiml
    │   ├── emotion.aiml
    │   ├── food.aiml
    │   ├── geography.aiml
    │   ├── gossip.aiml
    │   ├── history.aiml
    │   ├── humor.aiml
    │   ├── imponderables.aiml
    │   ├── inquiry.aiml
    │   ├── interjection.aiml
    │   ├── iu.aiml
    │   ├── junktest.text
    │   ├── knowledge.aiml
    │   ├── literature.aiml
    │   ├── loebner10.aiml
    │   ├── money.aiml
    │   ├── movies.aiml
    │   ├── mp0.aiml
    │   ├── mp1.aiml
    │   ├── mp2.aiml
    │   ├── mp3.aiml
    │   ├── mp4.aiml
    │   ├── mp5.aiml
    │   ├── mp6.aiml
    │   ├── music.aiml
    │   ├── numbers.aiml
    │   ├── personality.aiml
    │   ├── phone.aiml
    │   ├── pickup.aiml
    │   ├── politics.aiml
    │   ├── primeminister.aiml
    │   ├── primitive-math.aiml
    │   ├── psychology.aiml
    │   ├── pyschology.aiml
    │   ├── reduction0.safe.aiml
    │   ├── reduction1.safe.aiml
    │   ├── reduction2.safe.aiml
    │   ├── reduction3.safe.aiml
    │   ├── reduction4.safe.aiml
    │   ├── reduction.names.aiml
    │   ├── reductions-update.aiml
    │   ├── religion.aiml
    │   ├── salutations.aiml
    │   ├── science.aiml
    │   ├── sex.aiml
    │   ├── sports.aiml
    │   ├── stack.aiml
    │   ├── standard.brn
    │   ├── startup.xml
    │   ├── stories.aiml
    │   ├── that.aiml
    │   ├── update1.aiml
    │   ├── update_mccormick.aiml
    │   ├── wallace.aiml
    │   └── xfind.aiml
    ├── launch
    │   ├── start_chat.launch
    │   ├── start_chat.launch~
    │   ├── start_speech_chat.launch
    │   ├── start_speech_chat.launch~
    │   ├── start_tts_chat.launch
    │   └── start_tts_chat.launch~
    ├── package.xml
    └── scripts
        ├── aiml_client.py
        ├── aiml_server.py
        ├── aiml_speech_recog_client.py
        └── aiml_tts_client.py

25 directories, 135 files

--End--

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 利用Python网络爬虫采集天气网的实时信息—BeautifulSoup选择器

    相信小伙伴们都知道今冬以来范围最广、持续时间最长、影响最重的一场低温雨雪冰冻天气过程正在进行中。预计,今天安徽、江苏、浙江、湖北、湖南等地有暴雪...

    Python进阶者
  • 20个堪称神器的Linux命令行软件

    3.mycli:mysql客户端,支持语法高亮和命令补全,效果类似ipython,可以替代mysql命令。

    昱良
  • 0473-如何使用Python3访问Kerberos环境的Hive和Impala

    随着Hadoop平台的流行,越来越多的开发语言访问Hadoop平台的组件,比较常见的Java、Scala、Python、R等。在前面的多篇文章中Fayson介绍...

    Fayson
  • 如何在交互式环境中执行Python程序

    相信接触过Python的小伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行、命令行窗口运行、开发工具上运行等,...

    Python进阶者
  • Python堆排序之heapq

    heapq模块实现了Python中的堆排序,并提供了有关方法。让用Python实现排序算法有了简单快捷的方式。

    小歪
  • 4种更快更简单实现Python数据可视化的方法

    数据可视化是数据科学或机器学习项目中十分重要的一环。通常,你需要在项目初期进行探索性的数据分析(EDA),从而对数据有一定的了解,而且创建可视化确实可以使分析的...

    机器之心
  • Python带我飞:50个有趣而又鲜为人知的Python特性

    Python, 是一个设计优美的解释型高级语言, 它提供了很多能让程序员感到舒适的功能特性。但有的时候, Python 的一些输出结果对于初学者来说似乎并不是那...

    新智元
  • 一篇文章助你理解Python2中字符串编码问题

    前几天给大家介绍了unicode编码和utf-8编码的理论知识,没来得及上车的小伙伴们可以戳这篇文章:浅谈unicode编码和utf-8编码的关系。下面...

    Python进阶者
  • JavaScript获取本机浏览器UA助力Python爬取糗事百科首页

    使用Python编写爬虫时,经常会遇到反爬机制,例如网站要求必须使用浏览器访问。就像下面的403错误:

    Python小屋屋主
  • Python与机器学习算法频道,文章和精华资料一键get

    以上,公众号后台,回复对应关键词,即可获取资料。希望能方便大家查阅,更多资料和原创好文,敬请期待。

    double

扫码关注云+社区

领取腾讯云代金券