成功移植语音识别功能到rovio

将rbx1_speech从hydro 迁移到miniPC上的groovy版本。

miniPC上调试基本步骤:

1. pocketsphinx_continuous成功运行。必须以源码形式安装base和其他工具包。

2. roslaunch rbx1_speech voice_robot.launch 成功运行。能够在ros里面识别出语音指令。

3.rosrun rbx1_speech voice_nav.py 成功运行。能够识别语音然后根据语音指令内容来发布出不同的cmd_vel消息。此为ros公共接口。

4. roslaunch rovio_ctrl rovio_ctrl.launch 成功运行。此为rovio机器人的cmd_vel消息处理接口。

遇到的问题:

2.1 真实调用的语音参数使用了默认的wsj等,而不是自研hmm目录。

解决办法: 修改pocketsphinx/nodes/recognizer.py里面的

self.launch_config+=" ! audioconvert !audioresample " \

+ ' ! vader name=vad auto-threshold=true '\

+ '! pocketsphinx name=asr ! fakesink '

----->' ! pocketsphinx hmm=tdt_sc_8kadapt lm=robot.lm.dmp dict=robot.dic name =asr ! fakesink'


2.2 中文语音不识别,ignored。

解决办法:将/usr/local/share/pocketsphinx/model/hmm  /lm下面的目录内容替换为自研语音库。

3.1 找不到sound_play package。

解决办法:sudo apt-get install ros-groovy-audio-common 更新安装。或者是源码方式直接下载audio_common,然后catkin_make编译。

4.1  找不到rovio_ctrl package的rovio_move  rovio_head节点。

定位过程: 查找rovio目录,看是否有此可执行文件。最后在ros_workspace/install/lib目录下面找到该文件。

解决办法:将其共享到install/share/rovio_ctrl目录下即可。路径问题。

4.2 找不到librovio*.so包。 

ros_workspace/install/share/rovio_ctrl/rovio_move: error while loading shared libraries: librovio_shared.so: cannot open shared object file: No such file or directory

解决办法:定位到包的路径,然后将其添加到LD_LIBRARY_PATH环境变量中即可。

4.3 rovio_base软件包缺少manDrv.h等三个头文件,无法编译成功,故弃用。而rovio由WPI-RAIL组织开发,可直接使用。还有一个iheart-ros-pkg中的包,没做尝试。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值