黃炎 曾培峰



摘 要: 本文設計了一種基于傳感器和無線傳輸的運動輔助系統,人員佩戴的單元模塊通過LoRa與上位機通信。接收上位機發出的心跳信號、采集運動和定位信息。肢體傳感器通過2.4 G無線通信與相應的單元模塊通信以及采集肢體運動數據。LoRa使得上位機可遠程獲取人員數據。單元模塊和肢體傳感器間采用2.4 G近距離通信,避免了各人員間數據干擾。
關鍵詞: 運動狀態; 傳輸協議; 傳感器; 數據采集
文章編號: 2095-2163(2021)07-0120-04中圖分類號:TP391.4文獻標志碼: A
Study on all-day intelligent motion assistant system
HUANG Yan, ZENG Peifeng
(School of Computer Science and Technology, Donghua University, Shanghai 201620, China)
【Abstract】A motion assistant system is designed based on sensors and wireless transmission. The unit module worn by personnel communicates with the host computer through LoRa, which receives the heartbeat signals from the host computer and collects the movement and positioning information. The limb sensor communicates with the corresponding unit module through 2.4 G wireless communication and collects the limb movement data. The host computer can obtain personnel data remotely through LoRa. A 2.4 G short-range communication is used between the unit module and its limb sensors, which avoids data interference among people.
【Key words】motion state; transmission protocol; sensor; data acquisition
0 引 言
體育鍛煉是青少年獲得德智體全面發展的重要環節。對于鍛煉運動量,常常依據生理方法進行檢查以及初步估算相應運動量[1]。但是,諸如球類比賽的劇烈運動項目具有時間長、對抗性強以及不能隨意中斷的特點。只能通過對運動員的跑動、跳躍、站立的活動時間以及次數進行統計[2]。隨著科學鍛煉方法的提高[3],對運動改善心肺機能有氧鍛煉強度控制進行研究。通過健康青年在運動跑臺上進行遞增負荷走跑進行攝氧量檢測。近年來,計算機在運動檢測和仿真方面起到了越來越大的作用[4]。針對不同的運動方式下計算機仿真結果進行了誤差分析。對比了不同的仿真模型的特點。
運動是人們維持身體健康的有效方式,通常進行適量的有氧運動和無氧運動,高強度間歇運動效果更佳,可以有效地降低體內血脂的含量,改善人體血脂環境[5],保持人體身體健康。形成長期良好的運動習慣,會對皮下脂肪進行干預,提高人體新陳代謝,起到改善內臟脂肪含量的作用[6],保持良好的身材。通過游泳、自行車等運動能夠鍛煉到人體身體機能,尤其是籃球、足球等運動更能鍛煉心肺功能[7]。
2010年微軟推出的Kinect為人體運動檢測提供了設備,廣泛運用于目前的運動檢測以及監控、醫療等領域。針對Kinect深度圖像[8],研發出改進的ViBe算法提高了人體輪廓提取的準確率。文獻[9]提出自適應的EWMA算法,提高了檢測的實時性和穩定性。文獻[10]提出Kinect深度圖像與信息熵結合的方法,通過計算運動熵值得出人體運動狀態。文獻[11]提出了使用WiFi傳遞狀態信息(CSI),在室內短距離實現了基于無線射頻的人體運動檢測。文獻[12]提出一種壓力陣列傳感器,可以檢測出細微運動狀態,但不具備無線傳輸模塊,無法滿足實際應用的需求。
上述方法主要通過圖像處理進行數據拾取并要求參與訓練人員在指定區域內進行活動,不能用于一般體能訓練中的行軍拉練,以及全天候野外訓練。本文提出一種基于加速度傳感器、高度傳感器和北斗定位的可擴展的無線訓練輔助系統。通過傳感器信息,對運動量進行計算統計。系統不依靠圖像處理,在各種氣象條件下均可正常工作。此外,結合高度傳感器,可以區分不同地形對訓練的結果進行修正。采用LoRa無線通信協議,使得功耗與通信距離得到較好的協調。出現異常情況時,通過LoRa進行定位呼救。
1 系統設計
本文系統采用無線通信進行數據傳輸。目前廣為使用的無線方案有工作在2.4 GHz頻率段的藍牙、ZigBee和WiFi。研究可知,各方案的工作頻率高,信號傳輸速度高,但是傳輸距離近,適合于室內或小范圍場合。針對室外或野外拉練的使用場合,本文采用工作頻率為433 MHz的LoRa通信協議。由于LoRa通過擴頻通信,提高了頻帶的使用率,因此通信距離得到很大提高,其通信范圍在數公里。
每個參加訓練的人員均佩戴一個單元模塊。筆記本電腦作為本系統的上位機,通過LoRa和各個單元模塊進行通信。上位機向各個單元模塊發出廣播信息,實現工作指令的下達以及系統時間的統一。佩戴于每個人員身上的單元模塊采集人員的運動數據、并對數據進行簡單處理及存儲。在與上位機聯網時將數據上傳至上位機。系統結構如圖1所示。
考慮實際使用場合,單元模塊由鋰電池供電。客觀上希望電池續航時間長。所以,本文選用低功耗ARM芯片。考慮到LoRa協議棧代碼量較大,需要ARM帶有較大的程序存儲區。因此本文采用STM32L031G6U6,該芯片帶有的32 K的Flash空間,滿足了LoRa協議棧的要求。單元模塊的結構如圖2所示。
圖2中,ARM通過SPI接口和LoRa模塊相連,接收上位機指令。高度傳感器和加速度傳感器通過I2C接口與ARM通信。北斗定位則通過UART進行通信。單元模塊和肢體傳感器通信是nRF24L01提供的2.4 GHz模塊,nRF24L01與ARM間通過SPI接口通信。
在警察和部隊訓練中常常包含臥姿、匍匐以及下蹲等動作,為了進一步提高數據采集的精度,系統中可以增加肢體傳感器。單元模塊一般佩戴在腰間,每個單元模塊可擴展最多2個肢體傳感器,并分別佩戴在肩部以及腳踝。肢體傳感器包含一個低功耗ARM芯片STM32L011F4U6、一個高度傳感器和一個加速度傳感器。肢體傳感器與單元模塊間通過2.4 GHz通信。肢體傳感器的結構如圖3所示。和單元模塊相同,加速度傳感器和高度傳感器通過I2C、nRF24L01(2.4 GHz通信)通過SPI和ARM相連。
2 工作原理
整個系統由上位機控制工作。上位機在固定時間間隔通過LoRa向各個單元模塊廣播心跳信號。單元模塊只需單向接受心跳信號的廣播信息,并不對此信息進行回答。該心跳信號格式如圖4所示。
LoRa通信是廣播信號,各個設備擁有唯一的地址。其中,上位機專用地址0x0000,單元模塊地址范圍是0x0001~0xfffe。此外,0xffff是廣播地址。所有設備都必須接收和處理發往廣播地址的數據。本文中,上位機發送心跳廣播信號時間間隔為10 s。上述心跳信號中:
(1)DestAddr為2字節,表示數據接收者地址。由于心跳信號為廣播信號,故DestAddr固定為0xffff。
(2)SrcAddr為2字節,表示數據發送者地址。上位機地址為0x0000。
(3)CurTime為4字節,表示系統統一時標。通過上位機的TimeTick取得,單位為ms。各個單元模塊接收到心跳信號中的時標信號,完成自身的機器時間與該時標信號時間同步。
(4)WKStatus為一字節,表示工作模式。全部的單元模塊工作模式通過心跳信號統一。有2種工作模式:運動(Working)和休息(Idle)。其中在Idle模式下,上位機忽略單元模塊發送的各種傳感器數據,所以,在此模式下,單元模塊可以關閉北斗定位以及相關傳感器以延長電池續航時間。
(5)CRC16為2字節無符號數,是DestAddr開始到WKStatus為止9字節的校驗值。本文中,無線通信均通過CRC16進行數據整合校驗,使用的多項式為x15+x13+1。
肢體傳感器和單元模塊配對使用。通過nRF24L01的2.4 GHz進行通信。設置nRF24L01協議層(Enhanced Shockburst)中發送方和接收方地址以避免不同單元模塊間信號串擾。只有在發送方和接收方地址一致時,單元模塊才能接收到肢體傳感器發送的信息。
本文中,肢體傳感器每0.5 s啟動一次高度傳感器工作并取得當前高度數據。設置加速度傳感器的數據轉換速率為10 Hz,即每0.5 s內可以取得4~5個三軸加速度數據、計算對應的加速度模值并記錄該時間段內加速度模值的最大值。加速度數據和高度數據以圖5的數據格式發送到單元模塊。
上述協議中:
(1)Addr為一字節地址。每個單元模塊包含2個肢體傳感器,相對應的地址分別是0x01和0x02。
(2)Acc為2字節無符號整數。對應為該0.5s時間段內加速度模值的最大值。
(3)AirPressure為2字節無符號整數。對應為當前大氣壓值。
(4)CRC16為2字節整數。是Addr開始到AirPressure為止5字節的校驗值。
單元模塊包括ARM芯片、加速度傳感器、大氣壓傳感器、北斗定位模塊、LoRa以及2.4 GHz無線模塊。合理分配各個模塊的工作,能夠在實現所需功能的前提下,節約電能、延長電池的續航時間。單元模塊有上電狀態、休閑狀態和工作狀態等3種工作狀態。對此可做闡釋分述如下。
(1)上電狀態。關閉所有模塊以省電,只打開LoRa模塊用以接收上位機的心跳信號。若1 s內接受心跳信號失敗,則關閉LoRa模塊一定時間,然后重新開啟LoRa接收上位機心跳信號。當接收到心跳信號后,實現時間同步,并根據心跳信號的指令,跳轉到工作或休閑狀態。
(2)休閑狀態。除LoRa模塊以外的所有模塊關閉。每10 s開啟LoRa模塊接收上位機心跳信號進行時間同步。當上位機命令開始工作,則打開加速度傳感器,跳轉至工作模式。
(3)工作模式。單元模塊定時采集加速度數據。根據加速度的變化規律,進行運動狀態的估算,判斷當前工作在靜止或是運動工作模式。此外,每一秒鐘打開一次高度傳感器,采集高度數據并進行高度變量的計算。根據加速度變化率以及高度變化量,進一步確定當前是屬于平地運動或是上、下坡訓練。
在工作模式中,根據加速度的變化規律以及高度變化狀況,確定安全狀態,包括3種情況:
(1)正常狀態:根據平地步行、跑步或攀登運動模式,計算運動量。
(2)跌落狀態:加速度數據出現異常變小后瞬間變大,表明出現跌落。跌落過程的自由落體使得加速度值異常變小;落地的沖擊使得加速度瞬時變大。同時,根據高度傳感器數據計算跌落高度。這種情況下,自主開啟北斗定位,取得當前位置信息。立即開啟LoRa,通過LoRa持續發送急救信號,直至接收到上位機應答。
(3)滾落狀態:根據加速度數據,計算當前加速度的方向,若出現加速度方向與傳感器間的夾角單向持續變化,同時,高度數據表明其高度值不斷下降,這表明人員出現滾落的可能性大。這種情況下,自主開啟北斗定位,取得當前位置信息,立即開啟LoRa,通過LoRa持續發送急救信號,直至接收到上位機應答。
在上位機發送心跳信號的間隔時間內,任取一個時間點,單元模塊將當前的運動數據上傳到上位機。同時該數據保存到ARM的Flash區域內,以備離線運動量統計。
工作模式接收到心跳信號的指令中WKStatus為休閑狀態,則跳轉至休閑狀態。
單元模塊向上位機上傳數據,格式如圖6所示。
在上述數據格式中:
(1)DestAddr為2字節的上位機地址。固定為0x0000。
(2)SrcAddr為2字節。每個單元模塊擁有唯一的非零地址。
(3)CType為一字節。值為0表示正常數據上傳。值為1表示模塊發出緊急呼救。
(4)Acc為2字節。當前時間段中加速度模值最大值。
(5)AirPressure為2字節,為當前時間段中大氣壓值。當上位機取得該大氣壓數據后,計算其當前海拔高度。
(6)GPS為8字節。為當前的北斗定位值。
(7)SubData為2字節。是根據肢體傳感器的數據計算得到的人體姿態數據。表示當前是否直立、下蹲、彎腰、下趴等人體姿態。
(8)CRC16為2字節。是DestAddr開始、SubData為止的19字節數據的校驗值。
3 結束語
本文著重分析基于圖像處理進行運動識別的局限性,研發了一種運動輔助系統,針對運動范圍廣、光線環境差的場景,提供了有效的運動識別系統。通過LoRa實現單元模塊與上位機通信,通過2.4 G無線通信完成單元模塊和肢體傳感系統的信息傳輸。在識別運動狀態的基礎上,針對危險狀態做出識別并發出警報信息。具有功耗低、功能性強、數據傳輸穩定、實時性好等特點,可滿足大范圍、長時間的戶外運動訓練的要求。
參考文獻
[1]李妙琴,劉潤波. 關于體育課運動量計算方法的探討[J]. 體育科學,1983(1):20-25.
[2]常慶, 陳體強. 籃,排,足球運動量計算機測試方法的研究[J]. 電腦學習, 1989(1):17-21.
[3]譚思潔,俞中濤,賈曉凱. 運動改善心肺機能有氧鍛煉強度控制方法研究—走跑速度推算攝氧量回歸方程的建立[J]. 天津體育學院學報,2020,35(3):310-315.
[4]穆雪蓮,李翰君,周興龍,等. 不同減小運動學和動力學數據誤差的方法對下蹲跳運動仿真結果的影響[J]. 科學技術與工程,2018,18(30):35-43.
[5]林鵬杰,藍道忠,翁錫全,等. 短期有氧運動與高強度間歇運動對男性青年血脂代謝指標的影響[J]. 體育學刊,2018,25(4):140-144.
[6]張勇,王典,葉衛兵. 高強度間歇運動與最大脂肪氧化強度持續運動對普通女大學生身體成分的影響[J]. 中國運動醫學雜志,2018,37(5):384-390.
[7]楊三軍. 間歇性練習對TRIMP計算與運動負荷評價的影響[J]. 首都體育學院學報,2016,28(2):152-155.
[8]孟明, 楊方波, 佘青山,等. 基于Kinect深度圖像信息的人體運動檢測[J]. 儀器儀表學報, 2015, 36(2):386-393.
[9]呂金澤,張元,韓燮. 改進的人體運動檢測方法[J]. 計算機工程與設計,2019,40(9):2460-2465.
[10]劉劍,龔志恒,高恩陽,等. 一種基于深度和信息熵的人體運動檢測方法[J]. 小型微型計算機系統,2014,35(2):388-392.
[11]史白,莊杰,龐宏. 基于信道狀態信息的非合作式室內人體運動檢測[J]. 計算機應用,2017,37(7):1843-1848.
[12]廖璐璐,高鯤鵬,楊漢嘉,等.? 面向人體運動檢測的紙基柔性壓力陣列傳感器[J]. 傳感器與微系統,2019,38(10):57-60.
[13]孫小華. 基于Softmax回歸分類分析的人體運動檢測研究[J]. 價值工程,2019,38(26):239-240.
作者簡介: 黃 炎(1997-),女,碩士研究生,主要研究方向:嵌入式; 曾培峰(1964-),男,博士,教授,主要研究方向:圖像處理、嵌入式、纖維的圖像識別等。
通訊作者: 黃 炎Email:416289692@qq.com
收稿日期: 2021-04-20