ROS实验课(三)

write in advance

此次实验课给我的生活来了沉重的一击,不单单是因为没有做出来,还因为我卡在了 插件 缺失 而无法解决。之前对待实验课,能在操作流程之外有暇思考具体的实现,此次只能记录简单的操作流程部分。

老规矩,基于同样的《ROS机器人开发技术基础》教材。

以下是实验内容,要求:

内容一 

解法一:PocketSphinx功能包的踩坑记录

简单的语句识别,有两种方法:一是使用书上的教学包,编译、安装PocketSphinx功能包。

功能包可以通过git clone指令下载,老师也在教学平台提取放置了pocketsphinx的压缩包。书上对这部分内容的讲解很乱,我已记不清当时的操作,我在网上看到了这样的一步一步教下载功能包的教程,此处给出链接,不再赘述。

ROS语音识别-pocketsphinx库的安装和使用_gstreamer0.10-pocketsphinx-CSDN博客

我并不是照着这篇博客做的,你也并不需要完整地输入它所有的指令,可以对照着你有什么,缺什么,选择性地看。

在安装完功能包后,该功能包的目录下输入指令,查看该功能包下载是否正确,是否出现失误, 

tree -L 3

解释一下这条指令:tree表示以树形结构显示文件层次, L  推测是 layer 的缩写,3表示三层,你可以把3改为4,比照看看有什么不同。 

当你到达PocketSphinx功能包显示为类似的结构时,说明你正确安装了功能包——但是,你有可能会遇到 无组件 的问题。

上边的 trackback error 说明在哪些文件中出现了问题。我们能看到,问题出现在recoginze.py 文件的多个地方。一个小技巧,出现traceback error的错误,我们一般看最后一处报错,逐个往回解决。这是我们解决这种报错的一个通用方法。因为文件内部是 调用的关系,你在主函数中调用了一个函数,调用函数的语句报错,在确定该语句没有语法错误后,你很自然地定位到该函数中,想看看内部究竟出现了什么问题。

这是pyhton文件中的recognizer类,在其初始化函数部分,通过 if-elif-else 的条件判断,能够看出当我们没有给出source初值时,会跳转到 使用组件 gconfaudiosrc。

网上有博客通过在launch文件中增加以下指令解决问题:

<param name="source" value="alsarc"/>

这条语句的意思是将组件的值改为 alsarc。当然,如果你没有 alsarc组件,那么你一样会报错。

当我希望通过指令

 sudo apt-get install aslarc

下载该组件时,它显示无法定位软件包。后续的解决方法很简单:换国内的镜像源,重新下载,确保 aslarc 正确安装,再运行这个launch文件。你可以期待它如期运行。当然它可能存在其他的问题。

参考文章

 最后,关于我缺少组件的报错,给出三个参考链接,可能对你有用。

【踩坑记录】no element “gconfaudiosrc“_no element "gconfaudiosrc" (1)-CSDN博客

ROS中PocketSphinx缺少组件gconfaudiosrc解决方案_no element "gconfaudiosrc" (1)-CSDN博客

此处的第一条参考,我同样缺少组件alsarc,且软件源有问题,折腾许久放置一边。

第二条参考对我没有作用,我实际上有组件 gconfaudiosrc,使用 apt-get 指令也显示是最新版本。

我又找到第三篇文章,它解决的是明明有组件,但launch文件报错无组件的问题。作者的方法是卸载又重装 gstreamer。或许对你有帮助。

gstreamer 无组件问题修复_gstreamer卸载-CSDN博客

解法二:科大讯飞SDK

科大讯飞的解法很简单,在科大讯飞的网站下注册、登录,照着书上的操作下载API,将压缩包解压,在指定目录下运行脚本,对源文件编译、生成可执行文件。然后在终端运行可执行文件。

此处给出两个例子:

./filename
python filename.py

第一条指令用于执行当前目录下名为 filename的可执行文件。对于C语言编译链接生成的可执行文件而言,它是你Ubuntu当前目录下的菱形的文件,不存在后缀名。./是当前目录的意思

第二条指令用于执行python 文件。第二条指令的意思  是指用python 方式执行 文件名为 filename.py的python文件。

顺利的话,你对着电脑说话,它能将你说话的内容显示在终端上。

内容二:

内容二挖一个坑。可能我明天会了,就记录下来,可能我一直不会,不得已删去。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/31430.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小米手机怎么用代理换ip:步骤详解与实用指南

在数字化时代&#xff0c;网络安全与隐私保护日益受到重视。对于小米手机用户而言&#xff0c;使用代理换IP已成为提升网络安全性、访问特定网站或绕过地域限制的有效手段。本文将详细介绍如何在小米手机上设置代理以更换IP地址&#xff0c;帮助用户更好地保护个人信息和享受更…

文化保护与数字化时代:Facebook的文化责任

随着数字化时代的到来&#xff0c;全球各地的文化遗产和传统面临着前所未有的挑战和机遇。作为全球最大的社交网络平台之一&#xff0c;Facebook在连接亿万用户的同时&#xff0c;也肩负着重要的文化责任。本文将深入探讨Facebook在文化保护和传承方面的作用和责任&#xff0c;…

入门Rabbitmq

1、什么是消息队列 消息队列&#xff1a;应用之间传递消息的方式&#xff0c;允许应用程序异步发送和接收消息&#xff0c;不需要连接对方 消息&#xff1a;文本字符串&#xff0c;对象.... 队列&#xff1a;存储数据。先进先出 2、应用场景 ①库存系统挂掉之后 MQ会等待&…

修改vscode的主题颜色

1、首选项--主题--颜色主题 2、选择一个喜欢的颜色主题 这样就可以了。

推动产业数字化转型,六个方面引领变革

从工业经济时代走向数字经济时代&#xff0c;世界经济发生着全方位、革命性的变化&#xff0c;产业数字化便是最显著的表现之一。当前&#xff0c;产业数字化不断深入发展&#xff0c;平台经济、工业互联网、智能制造等新业态、新模式不断涌现&#xff0c;成为了数字经济的重要…

php上传zip压缩包到服务器并解压,解析压缩包内excel表格数据导入到数据库

需求: 1.需要管理后台将excel表格中的每条单词数据导入到数据库中. 2.每条单词数据对应的图片和音频文件需要上传到服务器中. 为了让客户上传数据方便,考虑了一下决定通过后台上传压缩包的方式实现 测试压缩包: 压缩包的目录结构 管理后台导入教材 public function upload…

深度学习算法informer(时序预测)(五)(informer整体模型)

整体架构如图 代码如下 lass Informer(nn.Module):def __init__(self, enc_in, dec_in, c_out, seq_len, label_len, out_len, factor5, d_model512, n_heads8, e_layers3, d_layers2, d_ff512, dropout0.0, attnprob, embedfixed, freqh, activationgelu, output_attention …

鸿蒙开发通信与连接:【@ohos.wifi (WLAN)】

WLAN 说明&#xff1a; 本模块首批接口从API version 6开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import wifi from ohos.wifi;wifi.isWifiActive isWifiActive(): boolean 查询WLAN是否已激活。 需要权限&#xff1a; ohos.p…

stable diffusion 模型和lora融合

炜哥的AI学习笔记——SuperMerger插件学习 - 哔哩哔哩接下来学习的插件名字叫做 SuperMerger,它的作用正如其名,可以融合大模型或者 LoRA,一般来说会结合之前的插件 LoRA Block Weight 使用,在调整完成 LoRA 模型的权重后使用改插件进行重新打包。除了 LoRA ,Checkpoint 也…

PCL 拟合二维椭圆(迭代法)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 一般情况,我们会用椭圆拟合二维点,用椭球拟合三维点。在n维中,这些对象被称为超椭球体,由二次方程隐式定义 超椭球的中心是n1向量C,nn矩阵S是正定的,n1向量X是超椭球上的任意点。矩阵S可以用特征分解,S = R…

ATFX Connect四度加冕!荣膺2024最佳机构业务经纪商奖

近期&#xff0c;知名经纪商ATFX凭借在公益、科技、教育及媒体领域的一系列创新营销举措&#xff0c;掀起一波营销热潮&#xff0c;品牌联动效应显著。日前&#xff0c;ATFX又以实力而赢得一项新荣誉。全球知名媒体Holiston Media举办的2024环球金融大奖 (Global Forex Awards …

网站安全防护怎么做?

引言&#xff1a;在当今数字化的时代&#xff0c;网络安全已经成为个人、企业乃至整个社会的一项关键挑战。随着互联网的普及和信息技术的迅猛发展&#xff0c;我们的生活和工作方式日益依赖于各种互联网服务和数据交换。然而&#xff0c;这种依赖也带来了越来越多的安全威胁和…

分层Agent

分层Teams 分层Agent创建tool研究团队工具文档编写团队工具 通用能力定义Agent团队研究团队文档编写团队 添加图层 分层Agent 在前面的示例&#xff08;Agent管理&#xff09;中&#xff0c;我们引入了单个管理节点的概念&#xff0c;用于在不同工作节点之间路由工作。 但是&a…

Java学习笔记(一)Java内容介绍、程序举例、DOS命令、Java跨平台特性的本质

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍Java内容介绍、程序举例、DOS命令、Java跨平台特性的本质详细介绍以及部分理论知识 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主收将持续更新学习记录获,友友们有任何问题可以在评论区留言 目录 1、内容介绍…

STM32学习和实践笔记(37):DMA实验

1.DMA简介 DMA&#xff0c;全称是Direct Memory Access&#xff0c;中文意思为直接存储器访问。DMA可用于实现外设与存储器之间或者存储器与存储器之间数据传输的高效性。 之所以高效&#xff0c;是因为DMA传输数据移动过程无需CPU直接操作&#xff0c;这样节省的 CPU 资源就可…

小程序使用接口wx.getLocation配置

开通时需详细描述业务&#xff0c;否则可能审核不通过 可能需要绑定腾讯位置服务&#xff0c;新建应该&#xff0c;绑定到小程序 配置 权限声明&#xff1a;在使用wx.getLocation前&#xff0c;需要在app.json的permission字段中声明对用户位置信息的使用权限&#xff0c;并提…

大数据学习-大数据介绍

意义 从海量的数据中分析出海量数据背后的价值 需要分析海量的数据&#xff0c;就需要存储、计算和分析 那就需要分布式多台计算机合适的工具来处理数据 工具 特点 大数据的核心工作&#xff1a;从海量的、高增长的、多类别的、信息密度低的数据中挖掘出高质量的结果 数据存储…

【CS.AI】决策树算法介绍: 原理与案例实现

文章目录 1. 简介1.1 决策树的基本原理核心概念: 2. 决策树的应用案例2.1 金融行业中的信用评分2.2 医疗诊断中的应用2.3 零售行业中的市场营销 3. 决策树的优缺点优点:缺点: 4. Python代码示例5 结论 [toc] ![在这里插入图片描述 1. 简介 决策树是一种常见且强大的机器学习算…

基坑监测的内容及其重要性概述

随着城市建设的不断深入&#xff0c;基坑工程作为基础建设的重要组成部分&#xff0c;其安全性和稳定性成为了关注的重点。为了确保基坑施工过程中的安全&#xff0c;基坑监测显得尤为重要。本文将围绕基坑监测的内容展开&#xff0c;旨在帮助读者更好地理解其重要性及实施方法…

卫星导航与gazebo仿真

全球卫星导航系统(Global Navigation Satelite System,GNSS)&#xff0c;简称卫星导航&#xff0c;是室外机器人定位的一个主要信息来源。 卫星导航能给机器人提供什么信息&#xff1f; 正常工作时&#xff0c;实际上可以提供机器人所需的所有定位信息&#xff0c;包括&#x…