当前位置: 首页 > news >正文

Autoware播放提示音

播放提示音

1、修改sound_player.yaml

src/autoware/utilities/sound_player/scripts/sound_player.yaml

'start'        : ~/Autoware/install/sound_player/share/sound_player/start.wav
'stop'         : ~/Autoware/install/sound_player/share/sound_player/stop.wav
'red signal'   : ~/Autoware/install/sound_player/share/sound_player/red.wav
'green signal' : ~/Autoware/install/sound_player/share/sound_player/green.wav
'pedestrian'   : ~/Autoware/install/sound_player/share/sound_player/pede.wav
'ndt warning'   : ~/Autoware/install/sound_player/share/sound_player/ndt_warning.wav
'deceleration'   : ~/Autoware/install/sound_player/share/sound_player/deceleration.wav
'return to normal run'   : ~/Autoware/install/sound_player/share/sound_player/return_normal.wav

2、运行sound_player

$ rosrun sound_player sound_player.py
loading sound_player.yaml
[INFO] [1625024290.737267]: sound_play node is ready to play sound

 3、播放

rostopic pub -1 /sound_player std_msgs/String -- 'start'

$ rostopic pub -1 /sound_player std_msgs/String -- 'start'
publishing and latching message for 3.0 seconds

sound_player运行窗口可以看到如下提示,同时可以听到声音。

autoware@3890dae21c45:~/Autoware$ rosrun sound_player sound_player.py
loading sound_player.yaml
[INFO] [1625024290.737267]: sound_play node is ready to play sound
[INFO] [1625024457.877442]: Playing "/home/autoware/Autoware/install/sound_player/share/sound_player/start.wav".
[WARN] [1625024459.052261]: Inbound TCP/IP connection failed: connection from sender terminated before handshake header received. 0 bytes were received. Please check sender for additional details.

 遇到过的问题

 Autoware中的sound_player包,引用ROS中的sound_play包进行播放声音。sound_play的源码位于/opt/ros/melodic/lib/python2.7/dist-packages/sound_play。直接用sound_play进行播放声音测试,提示如下错误。

$ rosrun sound_play soundplay_node.py
[ERROR] [1625022115.086178]: Exception in callback: 'NoneType' object has no attribute 'set_property'
[INFO] [1625022115.089600]: Traceback (most recent call last):File "/opt/ros/melodic/lib/sound_play/soundplay_node.py", line 306, in callbacksound = self.select_sound(data)File "/opt/ros/melodic/lib/sound_play/soundplay_node.py", line 284, in select_soundself.builtinsounds[data.sound] = soundtype(params[0], self.device, volume)File "/opt/ros/melodic/lib/sound_play/soundplay_node.py", line 86, in __init__self.sink.set_property("device", device)
AttributeError: 'NoneType' object has no attribute 'set_property'[ERROR] [1625022115.092839]: Exception in dispose: soundtype instance has no attribute 'bus'

 播放声音时,提示上述错误,需要安装gstreamer1.0-alsa。

$ sudo apt-get install gstreamer1.0-alsa
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:gstreamer1.0-alsa
0 upgraded, 1 newly installed, 0 to remove and 423 not upgraded.
Need to get 35.5 kB of archives.
After this operation, 204 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 gstreamer1.0-alsa amd64 1.14.5-0ubuntu1~18.04.3 [35.5 kB]
Fetched 35.5 kB in 1s (39.8 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package gstreamer1.0-alsa:amd64.
(Reading database ... 154190 files and directories currently installed.)
Preparing to unpack .../gstreamer1.0-alsa_1.14.5-0ubuntu1~18.04.3_amd64.deb ...
Unpacking gstreamer1.0-alsa:amd64 (1.14.5-0ubuntu1~18.04.3) ...
Setting up gstreamer1.0-alsa:amd64 (1.14.5-0ubuntu1~18.04.3) ...

安装后可以成功播放声音,在外接喇叭可以听到声音。

python测试脚本

play.py

$ rosrun sound_play play.py  /home/autoware/Autoware/install/sound_player/share/sound_player/start.wav
[INFO] [1625023789.377876]: Playing "/home/autoware/Autoware/install/sound_player/share/sound_player/start.wav".

say.py

$ rosrun sound_play say.py autoware
[INFO] [1625026123.239788]: Saying: autoware
[INFO] [1625026123.243267]: Voice: voice_kal_diphone
[INFO] [1625026123.245115]: Volume: 1.0

playbuiltin.py

$ rosrun sound_play playbuiltin.py 2
[INFO] [1625026287.861512]: Playing sound 2.

test_actionlib_client.py

$ rosrun sound_play test_actionlib_client.py
[INFO] [1625026332.808348]: Need Unplugging
[INFO] [1625026336.831329]: End Need Unplugging
[INFO] [1625026336.834814]: Need Plugging
[INFO] [1625026338.862937]: End Need Plugging
[INFO] [1625026338.866100]: Say
[INFO] [1625026343.418829]: End Say
[INFO] [1625026343.421667]: Wav
[INFO] [1625026345.519853]: End wav

 test.py

$ rosrun sound_play test.py
[INFO] [1625026390.517195]: This script will run continuously until you hit CTRL+C, testing various sound_node sound types.
[INFO] [1625026390.520607]: wave
[INFO] [1625026392.556882]: quiet wave
[INFO] [1625026394.616173]: plugging
[INFO] [1625026396.622852]: quiet plugging
[INFO] [1625026398.629007]: unplugging
[INFO] [1625026400.634192]: plugging badly
[INFO] [1625026402.639162]: unplugging badly
[INFO] [1625026404.733889]: New API start voice
[INFO] [1625026407.738810]: New API start voice quiet
[INFO] [1625026410.745567]: New API wave
[INFO] [1625026412.750319]: New API wave quiet
[INFO] [1625026414.756173]: New API builtin
[INFO] [1625026416.762195]: New API builtin quiet
[INFO] [1625026418.767568]: New API stop

相关文章:

  • 基于Spring Boot + Vue的高校心理教育辅导系统
  • adb命令查询不到设备?
  • QTableWidget实现多级表头、表头冻结效果
  • 模型 启动效应
  • WPF之集合绑定深入
  • 配置高级相关
  • 深入理解卷积神经网络的输入层:数据的起点与预处理核心
  • SpringBoot项目容器化进行部署,meven的docker插件远程构建docker镜像
  • [杂谈随感-13]: 人的睡眠,如何布置床的位置比较有安全?感?
  • java命令行打包class为jar并运行
  • 基于人工智能的个性化 MySQL 学习路径推荐研究
  • Linux——Mysql索引和事务
  • 基于FPGA的PID控制器verilog实现,包含simulink对比模型
  • ffmpeg 写入avpacket时候,即av_interleaved_write_frame方法是如何不需要 业务层释放avpacket的 逻辑分析
  • 2003-2020年高铁线路信息数据
  • 第七章 数据库编程
  • 机器学习第四讲:无监督学习 → 给无标签积木自由组合,发现隐藏规律
  • redis sentinel和redis cluster的主从切换选举过程
  • 77.评论日记
  • Unity基础学习(十)Camera组件
  • 陈宝良 高寿仙 彭勇︱明清社会的皇权、商帮与市井百态
  • 【社论】职业上新,勇于“尝新”
  • 看展览|2025影像上海艺博会:市场与当代媒介中的摄影
  • 异域拾异|大脚怪的形状:一项神秘社会学研究
  • 毕赣新作《狂野时代》入围戛纳主竞赛单元,易烊千玺舒淇主演
  • 少年中国之少年的形塑