自动自吸泵频繁启动怎么解决 (自动自吸泵频繁启动啥原因 全自动无人驾驶汽车)
全自动无人驾驶汽车,自动自吸泵频繁启动啥原因?
1、由于输送的距离远、高度较高所需的压力较大,压力控制器上设置的压力达不到使用要求所致,可以先打开控制器罩用然后平口螺丝刀把中间的调节旋钮顺时针向上旋以获得更高的断开压力就能解决。
2、全自动自吸泵频繁启动的原因还有可能是由于自吸泵上面的压力罐里面没有气体了的原因,可以把压力罐上面的加气螺母拧开用打气筒给里面加入气体使其气压罐能起到稳压的作用,加气孔位置可以参考全自动自吸泵结构图。需要注意的是不是每种全自动自吸泵都有可以为稳压罐加气的功能,例如普通的家用自吸泵就没有加气孔,如果需要使用可以为气压罐加气的自吸泵建议选用:HM型自来水家用自吸泵
3、由于用户安装自吸泵时进出口没有安装止回阀导致停泵之后水迅速返回,出口压力下降之后所以低于预设的压力之后全自动自吸泵就会再次启动。这种全自动自吸泵频繁启动的解决办法就是自吸泵在出口安装一个止回阀就能解决问题
4、由于水龙头没有关好,或者其他地方有水流出导致出口压力下降之后自吸泵也会自动启动,检查水龙头关闭状态、找到哪里有漏水现象就是全自动自吸泵频繁启动的解决办法,漏水不严重使用HM型自来水家用自吸泵不会出现启停频繁的现象。
5、如果是使用一段时间的全自动自吸泵之前完好,突然出现频繁启停的现象那么有可能是自动开关坏了,可以更换一个自动开关看是否还有该故障。
拼多多智能手表靠谱吗?
拼多多智能手表是比较靠谱的。
拼多多商城APP购物软件平台的智能手表是非常靠谱的,因为拼多多商城APP的所有产品都支持全场保价保障服务,支持假一赔三,而且智能手表属于电子产品,可以享有30天之类的免费维护和退换货的消费者承诺,,并且是送货上门和货到付款
哪个好用更智能质量好?
超级干货,智能音箱哪个好,各种需求选哪个,这一篇足够了。
智能音箱各种需求不同,哪个最好也都不一样。 目前国内音箱的三巨头:小度,米的小爱同学,还有天猫精灵。他们都有自己针对不同需求的产品。从品牌的属性来讲: 天猫精灵依托的是阿里生态,天然自带电商基因。小度依托的是百度生态,天然自带的海量百度问答资源。小爱同学依托小米米家生态,在智能家居这方面表现非常棒。三个品牌虽然针对不同需求都做了音箱,但是一定有一个做的比较好的: 我还是那句话,没有完美的音箱,只有适合你的音箱。 那如何判断一款音箱好坏,哪方面比较突出呢?先简单普及一下:针对不同需求有不同的产品值得推荐的:
有屏幕系列的小度,在看家,陪娃,陪老人是最棒的, 原因有二: 1,回家看看功能、可以把音箱当做摄像头,随时在手机上查看家里情况。 2,用录制好声音讲故事,可以用来陪小孩,也可以用来陪父母。 (1)小度在家X8:旗舰款功能强大性价比高。 (2)三个品牌里面最适合教育小孩使用的,没有之一:小度智能教育屏 免费同步的幼小学教育资源和名师同步就不止这个价钱了。更何况还有智慧眼识别外面的课本点读。其他配置都是X8一样。很耐操 (3)小度带屏幕音箱里面性价比最高的,就是屏幕比X8小了一寸,分辨率低了一点点。其他内容资源一样。小度智能屏1S 看家,送老人,陪娃。 (4)无屏幕里面性价比最高的,也是小度里面音质最好的,同时又带红外,又带蓝牙mesh网关:小度大金刚: 对于这种,音质又好,又可以控制传统家居家电,又可以多控制一些智能家居家电的设备。一个字:牛掰 小度就这些吧!!!接下来是 小爱同学 (1)小米也有一款和小度大金刚类似的,但是音质更好一些有很多音质加持。也同样带红外,带蓝牙网关可以两个组合成立体声音箱,这也是小米无屏幕性价比最高的:小米小爱音箱Pro 价格虽然贵了点,但是音质更棒一些,无论是从扬声器功率,尺寸还是其他音质音效的加持。而且有6个麦克风收音,反映更加灵敏。 (2)如果你想要音质一样,不需要带红外控制传统家电,可以选:小米小爱音箱 没错,就是少了一个红外,有了纯白色可以选。其他一样。价格便宜了几十块 (3)小米是做音质这块音箱做的最多的,也是做的最好的。这一款是三个品牌音质最好的智能音箱,没有之一:小米小爱音箱HD看那30w的杨声吓人不,除了这款其他最好的也就是12w
看这个参数,30w大尺寸杨声器,最牛掰,没有之一,收音也用了6个麦克风,还有其他音质音效加持。 (4)全品牌音质第二好的,仅次于HD的:小爱音箱ART 和 art 电池板没电池的版本就是缺了电池不可移动
这两款主要是12w2.5寸的杨声器,还有专业调音加持。 差了100块,看自己的预算喽 (5)带屏幕的小爱音箱比较,这款屏幕大,分辨率高,性价比高还有电池板可以选择,屏幕可以和智能家居中的门锁,门铃联动预售就卖了15w的那款:redmi小爱智能音箱Pro8电池和废电池就是能不能移动的区别,内容一样
这个链接里面两款都有,价格相差150块自己决定就很好 天猫精灵 (1)天猫精灵音质最好的,颜值最高的一款:天猫精灵X5,德国红点设计大奖 音质好,12w杨声,还有各种其他黑科技音质音效参数加持。 (2)100元以下超级有个性,适合入门的音箱,也是全网第一台有情绪变化展示的音响:天猫精灵IN糖 这个就是屏幕有情绪变化,开心不开心都写在脸上。看在个性和价钱非常低的份上,不吐槽他的硬件参数了 (3)个性升级,对,就是那个IN糖的升级版:叫天猫精灵in糖2在扬声器和点阵屏幕上做了升级
扬声器变成了5w,屏幕变成了像素屏幕,点阵序列多了5列,可以做更多鬼脸了。 (4)有屏幕的,大家自己选吧,cc,ccl,cc10内容没区别,就是cc带电池,ccl不带电池,cc10是十寸屏幕看剧更爽。尺寸,分辨率都高一些
这连接还可以买cc10带电池版的就是7寸不带电池的
带电池的7寸
希望对大家有帮助,点个赞收藏下,智能音箱和智能家居的问题,关注我,随时帮你解答怎么学习深度学习?
深度学习,就是深层神经网络,仅此而已罢了,直接给你个基于深度学习的心音信号分类的例子。心音信号(PCG)是人体重要的生理信号,携带大量生理特征,但这些微弱信号的提取极易受到外界的干扰,关于心音信号处理相关的文章,可参考下面几篇博士论文,讲的非常详细,因此,不再赘述。
[1]陈尧. 心音心电信号处理的神经网络方法[D].四川大学,2021.
[2]李婷. 基于循环平稳信号理论的心音信号处理方法研究[D].大连理工大学,2015.
[3]韩威. 小样本心音分类方法研究[D].广东工业大学,2020.
首先进行心音信号2分类,即正常与异常分类,首先看一下本次试验用的GoogLeNet网络结构信息
看一下Layers结构
看下输入层信息
看一下两类PCG样本的时域波形
然后定义连续小波变换的滤波器组
fb = cwtfilterbank('SignalLength',signalLength,'VoicesPerOctave',12)
将生成的时频图像导入数据文件夹中
allImages = imageDatastore(fullfile(tempdir,dataDir),... 'IncludeSubfolders',true,'LabelSource','foldernames');
80%的样本用于训练,20%的样本用于测试
rng default [imgsTrain,imgsValidation] = splitEachLabel(allImages,0.8,'randomized'); disp(['Number of training images: ',num2str(numel(imgsTrain.Files))]); disp(['Number of validation images: ',num2str(numel(imgsValidation.Files))]);
Number of training images: 1673
Number of validation images: 419
看一下PCG信号CWT时频谱图的样子,首先看一下异常样本
再看一下正常常样本
设置GoogleNet网络的训练参数,采用sgdm优化算法,小批量尺寸MiniBatchSize=15,最大迭代次数MaxEpochs=20,初始学习率InitialLearnRate=1e-4。
options = trainingOptions('sgdm',... 'MiniBatchSize',15,... 'MaxEpochs',20,... 'InitialLearnRate',1e-4,... 'ValidationData',imgsValidation,... 'ValidationFrequency',10,... 'Verbose',false,... 'ExecutionEnvironment','gpu',... 'Plots','training-progress');
开始训练网络
trainedGN = trainNetwork(imgsTrain,lgraph_2,options);
进行网络测试
[YPred,probs] = classify(trainedGN,imgsValidation); accuracy = mean(YPred==imgsValidation.Labels); display(['GoogLeNet Accuracy: ',num2str(accuracy)])
GoogLeNet Accuracy: 0.89948,GoogLeNet的准确率达到了90%左右,不是很高,因为样本并不是很多。
看一下混淆矩阵
计算一下各个类别的分类指标
%"异常”类别分类指标 RecallAbnormal = Matrice_confusione.NormalizedValues(1,1)/sum(Matrice_confusione.NormalizedValues(1,:)); PrecisionAbnormal = Matrice_confusione.NormalizedValues(1,1)/sum(Matrice_confusione.NormalizedValues(:,1)); F1Abnormal = harmmean([RecallAbnormal PrecisionAbnormal]); fprintf('RecallAbnormal = %2.3f\nPrecisionAbnormal = %2.3f\nF1Abnormal = %2.3f\n',100*RecallAbnormal,100*PrecisionAbnormal,100*F1Abnormal); %"正常"类别分类指标 RecallNormal = Matrice_confusione.NormalizedValues(2,2)/sum(Matrice_confusione.NormalizedValues(2,:)); PrecisionNormal = Matrice_confusione.NormalizedValues(2,2)/sum(Matrice_confusione.NormalizedValues(:,2)); F1Normal = harmmean([RecallNormal PrecisionNormal]); fprintf('RecallNormal = %2.3f\nPrecisionNormal = %2.3f\nF1Normal = %2.3f\n',100*RecallNormal,100*PrecisionNormal,100*F1Normal);
RecallAbnormal = 82.470 PrecisionAbnormal = 86.250 F1Abnormal = 84.318 RecallNormal = 93.592 PrecisionNormal = 91.635 F1Normal = 92.603
因为本例只是个示范,所用的样本相对于GoogleNet结构并不多,所以分类准确率并不高。
下面进行心音信号5分类,即正常normal,主动脉瓣反流 AR,主动脉瓣狭窄AS,二尖瓣反流MR,二尖瓣狭窄MS五类,同样本例只是个示范,所用的样本较少,所以分类准确率并不高。看一下5类PCG样本的时域波形
然后定义连续小波变换的滤波器组
fb = cwtfilterbank('SignalLength',signalLength,'VoicesPerOctave',12)
看一下生成的CWT时频谱图
将生成的时频图像导入数据文件夹中
allImages = imageDatastore(fullfile(tempdir,dataDir),... 'IncludeSubfolders',true,'LabelSource','foldernames');
70%的样本用于训练,30%的样本用于测试
rng default [imgsTrain,imgsValidation] = splitEachLabel(allImages,0.7,'randomized'); disp(['Number of training images: ',num2str(numel(imgsTrain.Files))]); disp(['Number of validation images: ',num2str(numel(imgsValidation.Files))]);
设置GoogleNet网络的训练参数
options = trainingOptions('sgdm',... 'MiniBatchSize',15,... 'MaxEpochs',20,... 'InitialLearnRate',1e-4,... 'ValidationData',imgsValidation,... 'ValidationFrequency',10,... 'Verbose',false,... 'ExecutionEnvironment','gpu',... 'Plots','training-progress');
开始训练
trainedGN = trainNetwork(imgsTrain,lgraph_2,options);
进行图像样本分类
[YPred,probs] = classify(trainedGN,imgsValidation); accuracy = mean(YPred==imgsValidation.Labels); display(['GoogLeNet Accuracy: ',num2str(accuracy)])
GoogLeNet Accuracy: 0.9
看一下各类别的分类指标
%"normal" 类别分类指标 RecallNormal = Matrice_confusione.NormalizedValues(5,5)/sum(Matrice_confusione.NormalizedValues(5,:)); PrecisionNormal = Matrice_confusione.NormalizedValues(5,5)/sum(Matrice_confusione.NormalizedValues(:,5)); F1Normal = harmmean([RecallNormal PrecisionNormal]); fprintf('RecallNormal = %2.3f\nPrecisionNormal = %2.3f\nF1Normal = %2.3f\n',100*RecallNormal,100*PrecisionNormal,100*F1Normal); %"AR"类别分类指标 RecallAR = Matrice_confusione.NormalizedValues(1,1)/sum(Matrice_confusione.NormalizedValues(1,:)); PrecisionAR = Matrice_confusione.NormalizedValues(1,1)/sum(Matrice_confusione.NormalizedValues(:,1)); F1AR = harmmean([RecallAR PrecisionAR]); fprintf('RecallAR = %2.3f\nPrecisionAR = %2.3f\nF1AR = %2.3f\n',100*RecallAR,100*PrecisionAR,100*F1AR); % "AS"类别分类指标 RecallAS = Matrice_confusione.NormalizedValues(2,2)/sum(Matrice_confusione.NormalizedValues(2,:)); PrecisionAS = Matrice_confusione.NormalizedValues(2,2)/sum(Matrice_confusione.NormalizedValues(:,2)); F1AS = harmmean([RecallAS PrecisionAS]); fprintf('RecallAS = %2.3f\nPrecisionAS = %2.3f\nF1AS = %2.3f\n',100*RecallAS,100*PrecisionAS,100*F1AS); %"MR"类别分类指标 RecallMR = Matrice_confusione.NormalizedValues(3,3)/sum(Matrice_confusione.NormalizedValues(3,:)); PrecisionMR = Matrice_confusione.NormalizedValues(3,3)/sum(Matrice_confusione.NormalizedValues(:,3)); F1MR = harmmean([RecallMR PrecisionMR]); fprintf('RecallMR = %2.3f\nPrecisionMR = %2.3f\nF1MR = %2.3f\n',100*RecallMR,100*PrecisionMR,100*F1MR); %"MS"类别分类指标 RecallMS = Matrice_confusione.NormalizedValues(4,4)/sum(Matrice_confusione.NormalizedValues(4,:)); PrecisionMS = Matrice_confusione.NormalizedValues(4,4)/sum(Matrice_confusione.NormalizedValues(:,4)); F1MS = harmmean([RecallMS PrecisionMS]); fprintf('RecallMS = %2.3f\nPrecisionMS = %2.3f\nF1MS = %2.3f\n',100*RecallMS,100*PrecisionMS,100*F1MS);
RecallNormal = 100.000 PrecisionNormal = 100.000 F1Normal = 100.000 RecallAR = 100.000 PrecisionAR = 75.000 F1AR = 85.714 RecallAS = 83.333 PrecisionAS = 100.000 F1AS = 90.909 RecallMR = 80.000 PrecisionMR = 100.000 F1MR = 88.889 RecallMS = 83.333 PrecisionMS = 83.333 F1MS = 83.333
由于小样本原因,准确率不是很高。重点来了,更重要的是看看如何进行改进
改进方向:信号前处理
1.可以使用合适的信号降噪方法,移不变小波去噪方法对于PCG,ECG等信号来说还是不错的
基于Cycle Spinning的移不变小波去噪 - 哥廷根数学学派的文章 - 知乎 https://zhuanlan.zhihu.com/p/539089086
2.根据PCG信号的波形,可以自适应的构造更合适的小波
利用机器学习模型设计正交小波滤波器 - 哥廷根数学学派的文章 - 知乎 https://zhuanlan.zhihu.com/p/537254014
为连续小波变换CWT构造新小波 - 哥廷根数学学派的文章 - 知乎 https://zhuanlan.zhihu.com/p/534682868
3.使用时频谱图更加集中的同步压缩变换
同步压缩变换初探 - 哥廷根数学学派的文章 - 知乎 https://zhuanlan.zhihu.com/p/543569766
高阶同步压缩变换--占坑 - 哥廷根数学学派的文章 - 知乎 https://zhuanlan.zhihu.com/p/544716722
在网络选取方面
GoogLeNet相对于本文样本来说太大了,同时我并不推荐迁移学习和样本生成方法,不要问我为什么
基于小波时间散射网络的ECG 信号分类 - 哥廷根数学学派的文章 - 知乎 https://zhuanlan.zhihu.com/p/539001673
基于小波散射算法的空气压缩机异常噪声诊断 - 哥廷根数学学派的文章 - 知乎 https://zhuanlan.zhihu.com/p/531077421
码字不易,且行且珍惜
现在民航客机飞行包括起飞降落阶段都是自动驾驶?
自动驾驶技术其实早在二战时期就已经开始投入到航空飞行器控制中了,为了实现自动驾驶飞机按照设定的航向进行飞行,就需要为飞机装载上各种传感器,比如气压高度计、无线电高度仪、陀螺仪(航向、加速度、角速度、姿态)、计时器等等,在飞行过程中飞控仪就可以实时的解算出当前飞机的空中位置和飞行姿态,从而在能够向液压或者电动驱动机构施加命令,实现对飞机发动机、舵面的控制,完成自动飞行。
不过,由于各种传感器的测量并不精确,存在着不同程度的误差,因此单纯性的依靠飞控机来进行自动驾驶,对于飞行安全存在较大的隐患。因此,在二战时期飞控驾驶技术的应用主要是在巡航阶段,是一种辅助飞行员驾驶方法,从而让飞行员在飞行过程中降低工作强度。况且,在巡航自动驾驶状态,飞行员一旦发现问题就可以立即关闭自动驾驶仪,进入到人工控制中。而在起飞和降落阶段,全程都是人工驾驶的,不可能让自动驾驶仪来工作。
进入到喷气式时代,随着电子技术的进步,航空计算机的计算能力和分析能力都有了大幅提高,控制程序也得到完善,现在民航领域的自动驾驶仪已经从理论上具备了全程自动驾驶操作的能力,包括从跑道起飞、爬升,调整航向进入指定航线,抵达目的地附近下降开始进近过程,降落都是可以自动化完成。
但是目前为止,没有一家飞机制造商在操作手册中允许飞行员进行全程自动化操作,也没有民航管理部门在规范中允许飞行员进行全程自动化操作,也没有一家航空公司允许旗下员工按照全自动化方式操作,主要的原因还是为了安全。
自动化操作的好处看上去比较简单,甚至可以把人工取消了,但是本身具有一个很大的安全隐患——计算机只能按照设定的程序去执行,面对突发事件时,就无法进行判断,并采取积极措施。说得通俗点,计算机只能教条的执行,不能随机应变,但是人却可以。
最典型的案例就是,萨利机长那次遇到的情况,刚起飞就双发停车,这时计算机就懵逼了,只能依靠飞行员,尤其是机长的经验来处理了。
所以,截至目前,在民航飞机的起飞和降落过程中,基本上以飞行员人工操作为主,只有完成起飞,进入到预定高度之后,可以切换到巡航自动模式,这样飞行员可以轻松一点,到了降落阶段还是需要转成人工操作。当然,在巡航飞行过程中一旦发现问题,还是要切换到人工操作的。
OK,问题就说到这了,如果感兴趣,不妨来关注老鹰航空。
本文地址: http://www.baiduxiaoshuo.com/article/81470649d0bff664bf9f.html