月度归档: 2015年11月

[ROS] 安装 sound_play 驱动及播放、合成声音

相关简介: audio_common 是一个第三方音频开发包,它实现了音频驱动以及相关的 ROS 消息机制。它包含如下几个库: 1)audio_capture: 从麦克风采集声音 2)audio_play: 从 audio_capture 收集声音并通过声卡播放 3)audio_common_msgs: 声音传输的消息定义 4)sound_play: 播放声音和语音合成 我们这里主要使用的是最后这个 sound_play,它的主要的功能包括: 1)声卡驱动; 2)播放声音(wav、ogg); 3)语音合成(仅限英文) 同时它支持 C++ 以及 python 接口,使得开发者可以不用关心底层的驱动和算法。 0、安装环境: Ubuntu 14.04 ROS indigo audio_common 0.2.8 1、下载源码: sound_play 源码地址如下,它是 audio_common 的一个组件,我们这里将整个 audio_common 库下载: https://github.com/ros-drivers/audio_common 我这里使用的是 0.2.8 版,您可以在以上地址下载更新版本,或者直接使用我这里的源码包: audio_common-master.zip 2、编译源码: 1)在你的...

Windows 下安装和启用 Apache 服务器

0、安装环境: Windows 7 64bits Apache 2.4 1、下载 Apache: 1)访问 http://httpd.apache.org/ 选择合适的版本下载,我们这里选择 2.4.17: 2)点击 Files for Microsoft Windows: 3)点击 ApacheHaus: 4)选择合适的版本下载即可: * 如果您不方便从官网下载可以直接使用我的版本: http://pan.baidu.com/s/1i3FDlFB 2、安装 Apache: 1)解压下载的文件包 httpd-2.4.17-x64.zip,将其中的 Apache24 文件夹拷贝到 C 盘根目录,例如 C:/Apache24 下面。 2)打开命令行程序进入 Apache24\bin 目录,然后运行如下命令进行安装: Shell httpd -k...

[ROS] [笔记(3)] 第三个例子:Hello & Check Robot(launch文件)

本教程将把前面两个例子综合,同时包含基本的 launch 启动文件。 0、Hello & Check Robot 的场景: 我们想要完成这样一个场景: 1)有一系列 robot 排成一排(publisher)向管理员(subscriber)报道,每个人都发一个消息(robotID),包含 name 和 id 类似: name=robot id=0 name=robot id=1 name=robot id=2 2)有一个管理员订阅了这个消息(robotID),然后读取消息内容并且和每个机器人打招呼: Hello Robot 0 Hello Robot 1 Hello Robot 2 3)因为机器人有好有坏,因此有一个服务 checkRobotSrv ,这一服务就是你告诉它 Robot...

[ROS] [笔记(2)] 第二个例子:Check Robot(服务、服务器与客户端)

本例程包含如下内容: 1)自定义服务; 2)服务器与客户端; 3)launch 文件。 0、Check Robot 的场景: 我们想要完成这样一个场景: 1)因为机器人有好有坏,因此有一个服务 checkRobotSrv ,这一服务就是你告诉它 Robot 的 name 和 id 它会告诉你这个 robot 是好是坏。 2)该管理员调用 checkRobotSrv 服务来检查 Robot 是好(Good Robot)还是坏(Bad Robot)并且输出。 可以看到上面的1)和2)都是我们在 Hello Robot 教程 里面完成的工作。 要完成以上的功能,我们需要创建消息(robotID)、发送消息的发送者(publisher)、接收消息的订阅者(subscriber),这些工作我们在 Hello...

[ROS] [笔记(1)] 一个最简单的例子:Hello Robot(消息、发布者与订阅者)

本例程包含如下内容: 1)创建编译 Package; 2)自定义消息; 3)发布者与订阅者。 0、Hello Robot 的场景: 我们想要完成这样一个场景: 1)有一系列 robot 排成一排(publisher)向管理员(subscriber)报道,每个人都发一个消息(robotID),包含 name 和 id 类似: name=robot id=0 name=robot id=1 name=robot id=2 2)有一个管理员订阅了这个消息(robotID),然后读取消息内容并且和每个机器人打招呼: hello robot 0 hello robot 1 hello robot 2 要完成以上的功能,我们需要创建消息(robotID)、发送消息的发送者(publisher)、接收消息的订阅者(subscriber)。他们之间的关系是这样的: 1、创建 ros 目录: 先我们为所有的 ROS 工程创建如下路径: Shell mkdir ~/ROS 1 mkdir ~/ROS ...