本發(fā)明涉及一種基于機器學(xué)習(xí)的咖啡機萃取壓力的控制方法及設(shè)備。
背景技術(shù):
1、咖啡機是將加壓后的熱水通過磨好的咖啡粉來獲得咖啡液的一種設(shè)備,其中,萃取咖啡液時的水壓是決定咖啡口味的關(guān)鍵因素。在國內(nèi)外的高端咖啡機設(shè)備中,普遍采用的是pid算法來調(diào)節(jié)水泵電機的轉(zhuǎn)速,從而達到調(diào)整萃取壓力的目的。pid算法中用到的參數(shù)是由工程技術(shù)人員進行大量的測試后確定的。
2、咖啡機系統(tǒng)一般由水泵、管路、鍋爐、等組成,包含大量的非標(biāo)零件,管路壓力的來源是水泵的持續(xù)轉(zhuǎn)動將水泵入管路入口,即系統(tǒng)前端,而提取萃取壓力信號的位置,即沖泡頭,則位于整個系統(tǒng)的末端,屬于大慣量非線性系統(tǒng);而且用戶的使用環(huán)境往往也會發(fā)生變化,如不同城市市政供水壓力差異、季節(jié)變化;更為實際的是,隨著機器不斷的使用,存在零件老化、性能下降等問題。而標(biāo)定好的pid設(shè)定參數(shù)并不能根據(jù)這些變化來及時調(diào)整,從而導(dǎo)致萃取壓力的控制與實際的用戶需求存在差異。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于提供一種基于機器學(xué)習(xí)的咖啡機萃取壓力的控制方法及設(shè)備。
2、為解決上述問題,本發(fā)明提供一種基于機器學(xué)習(xí)的咖啡機萃取壓力的控制方法,包括:
3、咖啡機控制器的pid計算模塊基于當(dāng)前pid設(shè)定參數(shù),根據(jù)預(yù)設(shè)的目標(biāo)壓力值與咖啡機的管路內(nèi)的當(dāng)前實際壓力值的差值,計算得到控制咖啡機的驅(qū)動電機轉(zhuǎn)動的控制轉(zhuǎn)速信號,以通過調(diào)節(jié)所述驅(qū)動電機的轉(zhuǎn)速來調(diào)節(jié)水泵泵入管路的水量,從而改變咖啡機的管路內(nèi)的當(dāng)前實際壓力值;
4、手持無線終端的機器學(xué)習(xí)模塊獲取目標(biāo)壓力值pset、驅(qū)動電機轉(zhuǎn)速調(diào)節(jié)后的當(dāng)前實際壓力值p和對應(yīng)的壓力偏差pd;機器學(xué)習(xí)模塊基于所述目標(biāo)壓力值pset、驅(qū)動電機轉(zhuǎn)速調(diào)節(jié)后的當(dāng)前實際壓力值p和對應(yīng)的壓力偏差pd,得到優(yōu)化后的pid設(shè)定參數(shù),其中,所述機器學(xué)習(xí)模塊,集成了在高性能計算機上已經(jīng)預(yù)先訓(xùn)練好的、并且經(jīng)過優(yōu)化的前饋神經(jīng)網(wǎng)絡(luò)模型;
5、咖啡機控制器的pid計算模塊,基于優(yōu)化后的當(dāng)前pid設(shè)定參數(shù),根據(jù)預(yù)設(shè)的目標(biāo)壓力值與咖啡機的管路內(nèi)的當(dāng)前實際壓力值的差值,計算得到控制咖啡機的驅(qū)動電機轉(zhuǎn)動的控制轉(zhuǎn)速信號,以通過調(diào)節(jié)所述驅(qū)動電機的轉(zhuǎn)速來調(diào)節(jié)水泵泵入管路的水量,從而改變咖啡機的管路內(nèi)的當(dāng)前的實際壓力值。
6、進一步的,在上述方法中,手持無線終端的機器學(xué)習(xí)模塊獲取目標(biāo)壓力值pset、驅(qū)動電機轉(zhuǎn)速調(diào)節(jié)后的當(dāng)前實際壓力值p和對應(yīng)的壓力偏差pd,包括:
7、手持無線終端的人機交互模塊獲取用戶基于驅(qū)動電機轉(zhuǎn)速調(diào)節(jié)后的各個時間點的當(dāng)前實際壓力值p、流速值和總流量值,輸入的評價結(jié)果,所述評價結(jié)果包括:確定當(dāng)前pid設(shè)定參數(shù)需要調(diào)整或確定當(dāng)前pid設(shè)定參數(shù)不需要調(diào)整;
8、手持無線終端的機器學(xué)習(xí)模塊基于目標(biāo)壓力值pset、驅(qū)動電機轉(zhuǎn)速調(diào)節(jié)后的各個時間點的當(dāng)前實際壓力值p和對應(yīng)的壓力偏差pd,計算得到升壓速度、超壓數(shù)值和達到目標(biāo)壓力值后的壓力波動程度;
9、若所述評價結(jié)果為確定當(dāng)前pid設(shè)定參數(shù)需要調(diào)整,或/且升壓速度、超壓數(shù)值和達到目標(biāo)壓力值后的壓力波動程度中有其中一個指標(biāo)沒有達標(biāo),則手持無線終端的機器學(xué)習(xí)模塊基于所述目標(biāo)壓力值pset、驅(qū)動電機轉(zhuǎn)速調(diào)節(jié)后的當(dāng)前實際壓力值p和對應(yīng)的壓力偏差pd,得到優(yōu)化后的pid設(shè)定參數(shù)。
10、進一步的,在上述方法中,若所述評價結(jié)果為確定當(dāng)前pid設(shè)定參數(shù)需要調(diào)整,或/且升壓速度、超壓數(shù)值和達到目標(biāo)壓力值后的壓力波動程度中有其中一個指標(biāo)沒有達標(biāo),則手持無線終端的機器學(xué)習(xí)模塊基于所述目標(biāo)壓力值pset、驅(qū)動電機轉(zhuǎn)速調(diào)節(jié)后的當(dāng)前實際壓力值p和對應(yīng)的壓力偏差pd,得到優(yōu)化后的pid設(shè)定參數(shù),包括:
11、基于升壓速度的對應(yīng)評分、超壓數(shù)值的對應(yīng)評分、達到目標(biāo)壓力值后的壓力波動程度的對應(yīng)評分和確定當(dāng)前pid設(shè)定參數(shù)需要調(diào)整的對應(yīng)評分,計算學(xué)習(xí)率調(diào)整的權(quán)重q;
12、將前饋神經(jīng)網(wǎng)絡(luò)模型的原始學(xué)習(xí)率α乘以權(quán)重q,得到新的學(xué)習(xí)率α,其中,當(dāng)新的學(xué)習(xí)率α大于0.1時,使新的學(xué)習(xí)率α等于0.1;
13、所述機器學(xué)習(xí)模塊將本次循環(huán)的目標(biāo)壓力值、當(dāng)前實際壓力值和對應(yīng)的壓力偏差作為前饋神經(jīng)網(wǎng)絡(luò)模型的輸入,并基于新的學(xué)習(xí)率α,調(diào)用所述前饋神經(jīng)網(wǎng)絡(luò)模型進行計算,得到優(yōu)化后的pid設(shè)定參數(shù)。
14、進一步的,在上述方法中,基于升壓速度的對應(yīng)評分、超壓數(shù)值的對應(yīng)評分、達到目標(biāo)壓力值后的壓力波動程度的對應(yīng)評分和確定當(dāng)前pid設(shè)定參數(shù)需要調(diào)整的對應(yīng)評分,計算學(xué)習(xí)率調(diào)整的權(quán)重q之前,包括:
15、手持無線終端的人機交互模塊,將咖啡萃取數(shù)據(jù)包括:當(dāng)前pid設(shè)定參數(shù)、目標(biāo)壓力值pset、驅(qū)動電機轉(zhuǎn)速調(diào)節(jié)后的各個時間點的當(dāng)前實際壓力值p和對應(yīng)的壓力偏差pd、流速值和總流量值,呈現(xiàn)在用戶界面上,提示用戶本次咖啡萃取的數(shù)據(jù)是否有效,在有效時,還會提醒用戶對顯示的數(shù)據(jù)進行評分,記為用戶評分為s0,即,確定當(dāng)前pid設(shè)定參數(shù)需要調(diào)整的對應(yīng)評分,表示用戶是否仍然希望壓力控制的效果更好,用戶評分s0分可以為11個分數(shù)值:10分表示已不需要調(diào)整;0分表示對當(dāng)前壓力的控制非常不滿意;從9分到0分依次表示壓力優(yōu)化調(diào)整的力度從小到大,其中,9分表示可用但希望有小幅度的優(yōu)化;用戶評分s0由無線手持終端的上位機數(shù)據(jù)處理模塊送入機器學(xué)習(xí)模塊;
16、升壓速度的對應(yīng)評分s1為:設(shè)定好某一目標(biāo)壓力值后當(dāng)前實際壓力值p到達目標(biāo)壓力值pset所用的時間,若該時間小于預(yù)設(shè)的升壓設(shè)定值為達標(biāo),即升壓速度的評分s1為10分;若大于所述升壓設(shè)定值或者一直未達到目標(biāo)壓力值,則升壓速度的評分s1為0分;
17、超壓數(shù)值的對應(yīng)評分s2為:到達目標(biāo)壓力值pset后,并在預(yù)設(shè)第一時間段t內(nèi),當(dāng)前實際壓力值p減去目標(biāo)壓力值pset后得到的數(shù)據(jù)組,將其中的最大值取出,若最大值的絕對值小于預(yù)設(shè)超壓設(shè)定值為達標(biāo),即10分,若最大值的絕對值大于設(shè)定值為0分;
18、達到目標(biāo)壓力值后的壓力波動程度的對應(yīng)評分s3為:達到目標(biāo)壓力值pset后,在預(yù)設(shè)第二時間段內(nèi),取20個當(dāng)前實際壓力值p1至p20的方差,即((m-p1)2+(m-p2)2……(m-p20)2)/20,其中,p1至p20的平均數(shù)為m,若方差小于預(yù)設(shè)方差設(shè)定值為達標(biāo),即10分;若大于設(shè)定值則分數(shù)為0分。
19、進一步的,在上述方法中,計算學(xué)習(xí)率調(diào)整的權(quán)重q,包括:
20、根據(jù)當(dāng)前的總評分s=s0+s1+s2+s3來計算學(xué)習(xí)率調(diào)整的權(quán)重q:
21、若總評分s等于0,則權(quán)重q=1.1
22、總評分s等于1~30,則權(quán)重q=1+s/1000;
23、總評分s等于31~39,則權(quán)重q=1+(s-30)/1000;
24、總評分s等于40,則權(quán)重q=1。
25、進一步的,在上述方法中,機器學(xué)習(xí)模塊基于所述目標(biāo)壓力值pset、驅(qū)動電機轉(zhuǎn)速調(diào)節(jié)后的當(dāng)前實際壓力值p和對應(yīng)的壓力偏差pd,得到優(yōu)化后的pid設(shè)定參數(shù)之前,包括:
26、利用已有的歷史經(jīng)驗數(shù)據(jù),包括:歷史pid設(shè)定參數(shù)和歷史實際壓力值,使用歷史pid設(shè)定參數(shù)作為輸入,歷史實際壓力值作為輸出,擬合出數(shù)學(xué)函數(shù),作為咖啡機對應(yīng)在高性能計算機中的數(shù)學(xué)模型,其中,歷史經(jīng)驗數(shù)據(jù)越多,則數(shù)學(xué)模型越精確。歷史經(jīng)驗數(shù)據(jù)包含多組真實的咖啡制作的數(shù)據(jù),每組數(shù)據(jù)包含歷史pid設(shè)定參數(shù)、歷史實際壓力值p;
27、隨機生成一組pid設(shè)定參數(shù)作為初始值,提供給咖啡機對應(yīng)在高性能計算機中的數(shù)學(xué)模型,得到目標(biāo)壓力值pset、實際壓力值p和壓力偏差pd,將得到目標(biāo)壓力值pset、實際壓力值p和壓力偏差pd,作為在高性能計算機上前饋神經(jīng)網(wǎng)絡(luò)模型的輸入,在前饋神經(jīng)網(wǎng)絡(luò)模型上計算后輸出新的一組pid設(shè)定參數(shù),作為提供給咖啡機對應(yīng)在高性能計算機中的數(shù)學(xué)模型的下一組輸入;以此循環(huán),直到達到設(shè)定的目標(biāo)值,即壓力偏差pd小于0.02;
28、在前饋神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練好后,對前饋神經(jīng)網(wǎng)絡(luò)模型進行量化和壓縮,并且針對手持無線終端特定的硬件平臺調(diào)整前饋神經(jīng)網(wǎng)絡(luò)模型的相應(yīng)的數(shù)據(jù)類型、存儲方式,其中,將前饋神經(jīng)網(wǎng)絡(luò)模型的原始學(xué)習(xí)率α改為0.01,以得到優(yōu)化的前饋神經(jīng)網(wǎng)絡(luò)模型;將高性能計算機上已經(jīng)預(yù)先訓(xùn)練好的、并且經(jīng)過優(yōu)化的前饋神經(jīng)網(wǎng)絡(luò)模型,集成至所述機器學(xué)習(xí)模塊上。
29、進一步的,在上述方法中,所述機器學(xué)習(xí)模塊,集成了在高性能計算機上已經(jīng)預(yù)先訓(xùn)練好的、并且經(jīng)過優(yōu)化的前饋神經(jīng)網(wǎng)絡(luò)模型之前,還包括:
30、設(shè)定所述前饋神經(jīng)網(wǎng)絡(luò)模型的輸入層神經(jīng)元的個數(shù),分別對應(yīng)目標(biāo)壓力值pset、實際壓力值p和壓力偏差pd;
31、設(shè)定隱含層神經(jīng)元,設(shè)定輸出層神經(jīng)元,分別對應(yīng)pid設(shè)定參數(shù);
32、使用隨機數(shù)生成,初始的權(quán)值矩陣w和偏向b;
33、設(shè)定梯度下降的學(xué)習(xí)率α,使用損失函數(shù)和激活函數(shù);
34、設(shè)定在壓力偏差pd小于等于預(yù)設(shè)壓力偏差時結(jié)束訓(xùn)練。
35、進一步的,在上述方法中,提示用戶本次咖啡萃取的數(shù)據(jù)是否有效之前,還可以包括:
36、在上位機數(shù)據(jù)處理模塊接收到咖啡萃取的數(shù)據(jù)后,對咖啡萃取的數(shù)據(jù)判斷是否有效,
37、若此次咖啡萃取的時間未超過預(yù)設(shè)第一規(guī)定值,則視為無效數(shù)據(jù);
38、若此次總流量值之未超過預(yù)設(shè)第二規(guī)定值,則視為無效數(shù)據(jù);
39、若此次實際壓力值超過預(yù)設(shè)第三規(guī)定值,則視為無效數(shù)據(jù);
40、若此次流速值在預(yù)設(shè)時間內(nèi)超過預(yù)設(shè)第四規(guī)定值,則視為無效數(shù)據(jù);
41、持續(xù)接收預(yù)設(shè)次數(shù)的咖啡萃取的數(shù)據(jù)組,將數(shù)據(jù)偏離平均值大于預(yù)設(shè)第五規(guī)定值的數(shù)據(jù)組視為無效數(shù)據(jù)。
42、進一步的,在上述方法中,手持無線終端的機器學(xué)習(xí)模塊獲取目標(biāo)壓力值pset、驅(qū)動電機轉(zhuǎn)速調(diào)節(jié)后的當(dāng)前實際壓力值p和對應(yīng)的壓力偏差pd中,
43、手持無線終端的機器學(xué)習(xí)模塊可以獲取由上位機數(shù)據(jù)處理模塊判斷有效的咖啡萃取的數(shù)據(jù),所對應(yīng)的目標(biāo)壓力值pset、驅(qū)動電機轉(zhuǎn)速調(diào)節(jié)后的當(dāng)前實際壓力值p和對應(yīng)的壓力偏差pd。
44、根據(jù)本發(fā)明的另一方面,還提供一種計算機可讀存儲介質(zhì),其上存儲有計算機可執(zhí)行指令,其中,該計算機可執(zhí)行指令被處理器執(zhí)行時使得該處理器:執(zhí)行如上述任一項所述的方法。
45、與現(xiàn)有技術(shù)相比,本發(fā)明通過咖啡機控制器的pid計算模塊基于當(dāng)前pid設(shè)定參數(shù),根據(jù)預(yù)設(shè)的目標(biāo)壓力值與咖啡機的管路內(nèi)的當(dāng)前實際壓力值的差值,計算得到控制咖啡機的驅(qū)動電機轉(zhuǎn)動的控制轉(zhuǎn)速信號,以通過調(diào)節(jié)所述驅(qū)動電機的轉(zhuǎn)速來調(diào)節(jié)水泵泵入管路的水量,從而改變咖啡機的管路內(nèi)的當(dāng)前實際壓力值;手持無線終端的機器學(xué)習(xí)模塊獲取目標(biāo)壓力值pset、驅(qū)動電機轉(zhuǎn)速調(diào)節(jié)后的當(dāng)前實際壓力值p和對應(yīng)的壓力偏差pd;機器學(xué)習(xí)模塊基于所述目標(biāo)壓力值pset、驅(qū)動電機轉(zhuǎn)速調(diào)節(jié)后的當(dāng)前實際壓力值p和對應(yīng)的壓力偏差pd,得到優(yōu)化后的pid設(shè)定參數(shù),其中,所述機器學(xué)習(xí)模塊,集成了在高性能計算機上已經(jīng)預(yù)先訓(xùn)練好的、并且經(jīng)過優(yōu)化的前饋神經(jīng)網(wǎng)絡(luò)模型;咖啡機控制器的pid計算模塊,基于優(yōu)化后的當(dāng)前pid設(shè)定參數(shù),根據(jù)預(yù)設(shè)的目標(biāo)壓力值與咖啡機的管路內(nèi)的當(dāng)前實際壓力值的差值,計算得到控制咖啡機的驅(qū)動電機轉(zhuǎn)動的控制轉(zhuǎn)速信號,以通過調(diào)節(jié)所述驅(qū)動電機的轉(zhuǎn)速來調(diào)節(jié)水泵泵入管路的水量,從而改變咖啡機的管路內(nèi)的當(dāng)前的實際壓力值,可以收集咖啡機的萃取壓力的相關(guān)參數(shù),并周期性的將其發(fā)給手持無線終端中的機器學(xué)習(xí)模塊,通過不斷地學(xué)習(xí)和調(diào)整優(yōu)化pid設(shè)定參數(shù),從而適應(yīng)實際的使用場景,達到咖啡機最優(yōu)的萃取壓力控制效果。
46、本發(fā)明既可以使用機器學(xué)習(xí)的技術(shù),持續(xù)地調(diào)整pid設(shè)定參數(shù),來使咖啡機適應(yīng)環(huán)境的變化以及用戶的喜好,也能夠減輕工程技術(shù)人員的測試工作;同時可以兼顧咖啡機本身計算性能的局限性,來滿足實際的需求。