金門地區第 61 屆中小學科學展覽會 作品說明
科 別 : 生活與應用科學(一)科 組 別 : 國小組
作品名稱: 「米」被騙了嗎?「步」能告訴你 關 鍵 字 : 小米手環、LEGO EV3、計算步數
編號:
目錄
摘要 ... 1
壹、 研究動機 ... 1
貳、 研究目的 ... 1
參、 研究設備與器材 ... 2
肆、 研究過程與方法 ... 3
伍、 研究結果與分析 ... 6
陸、 結論 ... 28
柒、 討論與後續研究 ... 28
捌、 參考文獻 ... 29
附件一 我的模組(My Block) ... 29
「米」被騙了嗎?「步」能告訴你
摘要
本研究主要目的是設計一套裝置可以進行小米手環計算步數,藉由 LEGO EV3 的組裝與 程式設計,來達到讓小米手環計算步數的目的。本設備的優點如下:1. 易上手的組裝零件,
藉由手將 LEGO 積木與插銷拼接,不需要透過其他工具即可完成。2. 直觀的程式設計,以圖 形化介面的方式將程式編譯完成,就像說一樣的寫出指令來控制機器人。3. 執行效果具有高 穩定度,本研究設計的步行模擬機器人,計算步數的數值幅度不大且穩定度高。
經由本實驗證實,透過分析走路人的移動、腳的踏步、手的擺動來了解小米手環計算步 數的條件,此外,本研究所設計出的步行模擬機器人可以達到高穩定的且具有足以讓小米手 環計算步數的功能,亦完成本研究「米」被騙了的目的。
壹、 研究動機
想賴在家不想出門,又希望可以有看得到健康的運動數值,所以就想說是不是有一種方 式可以不用認真的出門運動,也可以讓手環達到爸爸媽媽設定的目標。因此,結合藉由資訊 科技的設備,還有平時學習到 Scratch 圖形化介面的程式設計,來製作一個裝置就能在家讓小 米手環來計算步數,而且還可以達到設定步數的目標。
貳、 研究目的
一、探討小米手環與偵測走路之間的關係。
二、使用可編程積木套件進行模擬步數偵測實驗。
三、設計並製作步行模擬機器人。
參、 研究設備與器材 一、研究硬體設備
小米手環 3 *1 組 LEGO EV3 *1 套 桌上型電腦 *4 臺
筆記型電腦 *1 臺 行動裝置 *1 臺
二、研究材料
實驗紀錄表、計時器、捲尺、粉筆、辦公椅、皮尺、量角器 照片、數量、用途
名稱 數量 用途
實驗記錄表 若干張 記錄每次實驗數據
實驗記錄本 一本 記錄並整理每次實驗數據與結果 實驗記錄文具 若干套 記錄實驗數據
計時器 1 個 用於計算時間
捲尺 1 個 用於測量距離
粉筆 1 隻 用於標記長度
重物(1.5kg) 1 式 用於實驗過程
辦公椅 1 張 用於實驗過程
皮尺 1 個 用於測量長度
量角器 1 個 用於測量角度
肆、 研究過程與方法
一、小米手環[1]
1. 小米手環的功能與使用
本實驗使用小米手環第三代,續航時長數據由華米科技運動實驗室測 得:使用出廠預設的設定,按照每天接收並顯示約 50 條通知,一個鬧鐘震 動約 5 秒鐘,觸控按鍵顯示時間約 10 次、其他操作 2 分鐘、手動測量心 率約 3 次,每週運動約 1 小時(進入跑步功能檢測即時心率,關閉心率提 醒)、每天啓動小米運動 APP 同步一次數據的使用方式測試。
2. 小米手環規格
尺寸 手環主體 17.9 x 46.9 x 12mm、腕帶總長 247mm 規格 電池容量 110mAh、待機時長約 20 天、
螢幕尺寸 0.78 吋、顯示螢幕解析度 128 x 80、
感應器三軸加速度感應器、PPG 心率感應器、
無線連接藍牙 4.2 BLE 版…等等
功能 鬧鐘震動、勿擾模式、自動計步、心率偵測、運動里程、
天氣預報、目標設定、計時器、熱量消耗…等等 3. 小米手環軟體設定
二、LEGO MINDSTORMS EV3[2]
1. EV3 簡介
LEGO ® MINDSTORMS ® Education EV3 是集結了動手做、跨學科 STEM 的解決方案,使學生通過提供資源來設計,建造和同時幫助他們發展的基本技 能,如創造性、批判性思維,協作他們的作品進行程式設計。此系統包括 EV3 智能積木,這是一台功能強大的可編程計算機,可使用該套件使用直觀的基於 圖標的程式模塊來進行程式設計。EV3 有三個伺服馬達,五個傳感器(陀螺儀,
超音波,顏色和 2 顆觸碰感應器),一個 EV3 可充電直流電池(帶充電電線)
和連接電線。
2. 軟體介紹
軟體介面主要包含元件區、程式區、主機資訊區。元件區按照動作、流程、
感應器、運算、進階及我的模組分類,同一主題的類別會有相同的顏色區分。
在撰寫程式時,只要從元件區尋找需要的模組指令,再將其拖曳到程式區做拼 貼的動作,就可以進行寫程式的動作。並且可以透過主機資訊需讀取或存入相 關的資料,也包含可以檢視外接的感應器或馬達等裝置的狀態。
三、研究架構 1. 研究流程
(1) 觀察現象:發現小米手環可以偵測並計算人走路的步數。
(2) 提出問題:小米手環是如何去判斷人確實在走路的行為?
(3) 形成假設:可以透過模擬走路走路的行為,讓小米手環可以計算步數。
(4) 設計實驗:依據本研究的實驗設計,分成以人的操作與機器執行。
(5) 獲得結論:依據本研究的實驗結果。
2. 研究內容
主要分成兩大區塊,第一部分為探討小米手環偵測人走路行為的因素,並 且計算步數時會有的條件;第二部分為透過 LEGO EV3 機器人模擬走路行為的 狀態,這裡又分成兩個小節,一部分為模擬走路的行為,另一部份為製作步行 模擬機器人來讓小米手環可以達到計算步數的目的。
(1) 探討小米手環偵測人走路行為的因素:
透過實驗來了解小米手環偵測走路的行為及計算步數的條件,因此實 驗設計會著重在人走路的狀況。
(2) LEGO EV3 機器人模擬走路行為的狀態:
a. 模擬走路的行為:
藉由 LEGO EV3 製作一模擬人類走路的行為,並且加以驗證是否 因為特定原因會讓手環偵測並計算步數。
b. 製作步行模擬機器人:
設計並製作步行模擬機器人,藉由先前收集到的數據來調配本機 器人的參數組合,為了達到讓小米手環可以計算步數。
觀察現象 提出問題 形成假設 實驗設計 獲得結論
伍、 研究結果與分析
一、探討小米手環與偵測走路之間的關係。
1. 固定 20 公尺,紀錄行走的步數與時間。
實驗使用器材:實驗紀錄表、計時器、捲尺、粉筆
(a) (b)
圖片 1 (a)實驗場地 ;(b)學生進行實驗示意圖
本次實驗目的為針對小學生行走固定距離所需要的步數與時間進行探討,
因此實驗設計以固定 20 公尺的距離,並紀錄所走的步數與時間的實驗後進行分 析(圖片 1)。表格 1 的數據為個別行走三次所記錄下來的步數和時間,從表格 內的數據看得出來,每個人在相同的距離下,並不是每一次走的步數和時間都 是相同的。
表格 1 行走的步數與時間記錄表
甲 乙 丙
第一次 32 步,19.03 秒 28 步,15.71 秒 28 步,16.54 秒 第二次 32 步,17.75 秒 28 步,14.57 秒 28 步,18.14 秒 第三次 29 步,16.44 秒 29 步,15.88 秒 29 步,15.88 秒 接著是表格 2,將所有走路的步數和時間加總起來取平均值,同時也計算 出來每走一步的距離(步長)以及每秒走的距離(速度)。
表格 2 距離、時間與步數之間的關係表
距離(公分) 平均 單位距離
步數(步) 2,000 29.22 68.44(公分/步) 時間(秒) 2,000 16.67 119.98(公分/秒)
2. 小米手環最少可以偵測到的步數。
實驗使用器材:實驗紀錄表、小米手環
(a) (b)
圖片 2 (a)實驗場地 ;(b)學生進行實驗示意圖
本次實驗目的是對於小米手環可以偵測到的最少步數進行探討,因此實驗 設計為以兩步為一個單位增加進行步行偵測的實驗並進行分析,當執行到小米 手環偵測相對穩定可以計算步數之後就停止實驗。表格 3 是本次的實驗記錄,
並且從實驗數據中可以得知,當走路的步數大於 10 步,就會開始計算步數;若 大於 12 步之後手環能更準確地記錄到每次走路的步數,並且誤差也會比較小。
表格 3 進行小米手環最少偵測步數紀錄表
步數(步) 2 4 6 8 10 12 14 16
甲
0 0 0 0 10 13 15 17 0 0 0 0 11 12 14 17 0 0 0 0 11 12 14 19
乙
0 0 0 0 0 11 14 15 0 0 0 0 10 11 17 12 0 0 0 0 0 12 12 18
丙
0 0 0 0 10 13 15 16 0 0 0 0 10 13 14 16 0 0 0 0 11 13 19 19 平均 0 0 0 0 8.11 12.22 14.67 16.22 誤差(%) 100 100 100 100 11.90 1.83 4.79 1.38
3. 走路姿態對於小米手環的偵測影響。
實驗使用器材:實驗紀錄表、小米手環、重物(1.5 公斤)、辦公椅
本次實驗的目的是對於走路的狀況對於小米手環計算步數進行探討,因此 實驗設計以不同的走路姿態來針對小米手環進行實驗,以及走路的哪些原因可 以讓手環可以判斷並計算步數。我們觀察走路的姿態並利用簡單的繪圖來表示,
從圖片 3 顯示走路時一定會有踏步的行為。除此之外,人在走路的時候腳是向 前踏步移動的時候,手也會跟著擺動,並且是具有規律性的擺動。
圖片 3 走路的姿態分解示意圖
(a) (b)
(c) (d)
圖片 4 不同的走路姿態示意圖(a)~(d)
從走路姿態對於小米手環的偵測影響進行探討,透過觀察不同的走路姿態,
以走路會有踏步(走路要件)、人的移動(走路目的)及手部擺動(戴著手環)等行為 為主要的研究方向。並討論歸納出在有手有帶著小米手環進行平面走路時會有 的狀態,例如:1. 正常走路、2. 原地踏步、3. 看著手環、4. 提著重物、5. 推 著物品,等等的走路姿態,以這五種走路的姿態進行實驗,來探討不同姿態對 於小米手環的影響。走路的姿態示意圖以圖片 4 的(a) 原地踏步、(b) 看著手環、
(c) 提著重物、(d) 推著物品來表示。
固定行走 20 步為每次的實驗條件,並且將實驗記錄在表格 4,可以看的出 來進行不同走路姿態時,小米手環在正常走路、原地踏步(a)、看著手環(b)、提 著重物(c),可以偵測並且計算到步數,但是在推著椅子(d)的走路行為就無法偵 測到。在這裡我們猜測在進行走路的行為時,如果手環是依靠著有在走路(踏步) 的身體部位是可以偵測並計算步數;但是只要手環是依靠在其他物品上時,手 環就無法偵測並計算步數了。
表格 4 不同的走路姿態對於手環偵測紀錄表
步數(步) 正常走路 原地踏步 看著手環 提著重物 推著椅子
甲
21 20 20 20 0
21 21 20 20 0
20 21 19 20 0
乙
20 21 20 20 0
20 20 19 20 0
21 22 22 20 0
丙
20 22 20 20 0
20 20 20 18 0
20 22 21 20 0
平均 20.33 21 20.11 19.78 0 誤差(%) 1.65 0.55 5.00 1.10 100
4. 移動對於小米手環的偵測影響。
實驗使用器材:實驗紀錄表、小米手環、辦公椅
本次實驗的目的是小米手環依靠在其他物品上對於計算步數影響的探討,
因此實驗設計以上次實驗的「推著椅子」的情況進行更深入的研究。知道手環 是依靠著椅子進行移動,因此我們將分成人戴手環坐在椅子上移動(a)和手環放 在椅子上移動(b)等兩種移動狀況(圖片 5)。
(a) (b)
圖片 5 移動對於手環偵測並計算步數的影響(a)-(b) 表格 5 移動狀態對於小米手環的影響
步數(步) 人戴手環坐在椅子上移動 手環放在椅子上移動
甲
0 0
0 0
0 0
乙
0 0
0 0
0 0
丙
0 0
0 0
0 0
平均 0 0
誤差(%) 100 100
不同方式的移動對於小米手環影響的實驗記錄在表格 5,從數據中顯示,
在人戴手環坐在椅子上移動時,手環是不會偵測並計算步數;在手環放在椅子 上移動的實驗中,手環也是不會偵測並計算步數。因此我們得到一個結論,就 是根據我們的實驗設計與目的,如果小米手環依靠在其他物品上時,手環就無 法偵測並計算步數。
小結:
透過不同的走路姿態對於小米手環影響的實驗中,我們發現只要是依靠著 有在走路的身體部位時,手環是可以偵測並計算步數;但若是依靠或是擺放在 只有移動的其他物品時,是不太會偵測並計算步數。因為手臂擺動難以以單純 手臂擺動就能模擬到實際有走路時的手臂擺動狀況,因此我們將以 LEGO EV3 來進行模擬手臂擺動的實驗。
二、使用可編程積木套件進行模擬步數偵測實驗。
1. 走路對於手臂擺動的影響與數據收集與整理。
實驗使用器材:實驗紀錄表、小米手環、行動裝置、桌上型電腦、、量角器 本次實驗的目的是走路對於手臂擺動狀況的探討,因此實驗設計以表格 2 的數據及走路的狀況進行彙整。透過觀察發現手臂擺動的狀況和腳踏步時是有 規律的,如果人先向前踏出右腳的話,會是左手是向前擺動;相反的如果是先 向前踏出左腳的話,則是右手先向前擺動。單純看戴手環的那隻手的擺動狀況,
我們發現當手來會擺動一次的時候人會走兩步,計算我們想要的資訊並記錄在 表格 6,最後算出來的會是一步走幾秒、一秒走幾步的數據。根據我們的計算,
走一步的時間大約是 0.57 秒,一秒鐘大約可以走 1.75 步。
表格 6 時間與步數之間的關係表
目標 基值 結果
一步走幾秒 16.67 秒 29.22 步 0.57(秒/步) 一秒走幾步 29.22 步 16.67 秒 1.75(步/秒)
接著利用行動裝置錄影的功能,紀錄我們走路時人的移動與手臂擺動的狀 態,再利用電腦的螢幕截圖功能,截取手臂向前與向後擺動最高的擺動位置,
並用 Microsoft PowerPoint 進行編製,方便我們可以利用量角器來計算手臂擺動 的角度(圖片 6),手臂向前擺動最高角度大概是 40 度,向後擺動的最高角度大 概為 10 度,完整一次的手臂擺動約為 50 度,同時也走動了 2 步。
(a) (b)
圖片 6 (a)手臂向前擺動角度 ;(b)手臂向後擺動角度
2. 馬達轉速的數據收集。
實驗使用器材:LEGO EV3、桌上型電腦
本次實驗的目的是製作模擬手臂擺動的機器前的資料數據探討,因此實驗 設計以 LEGO EV3 設備進行研究。實驗的器材組裝只有主機連接馬達,並藉由 LEGO MINDSTORMS Education EV3 來編寫程式。在實驗的過程中,我們記錄 馬達馬力 0~100 不同轉速在一秒內會轉動幾度(轉速)。
程式設計,完整的程式在圖片 7。程式的一開始先刪除原本檔案資料,然 後進行迴圈,利用迴圈的執行次數當作馬達馬力的輸出,並且每次等待 1 秒讓 馬達穩定的轉動之後再去偵測馬達在 1 秒內轉動的角度,接著同時記錄馬達馬 力和轉動角度的數據,總共執行 101 次(0~100),最後再關閉檔案模組。
圖片 7 馬達轉速紀錄程式圖
共執行三次實驗,每一次實驗完成,會將 EV3 主機連接電腦主機,把紀錄 好的資料上傳到電腦上並使用 Excel 彙整將三次的實驗數據計算平均值表格 7,
同時也繪製圖片 8 折線圖,方便我們可以檢視不同馬達馬力在一秒內的轉動角 度是多少。
表格 7 不同馬達馬力在一秒內的轉動角度紀錄表
馬力 0 1 2 3 4 96 97 98 99 100 第一次(角度) 0 16 23 37 47 … 965 963 967 965 964 第二次(角度) 0 11 22 36 46 … 972 970 970 970 969 第三次(角度) 0 13 28 36 46 … 964 964 960 960 961 平均(角度) 0 13 24 36 46 … 967 966 966 965 965
從圖片 8 的馬達馬力在一秒內的轉動角度平均折線圖中,發現馬達馬力在 大概 0~90 之間會以線性的方式成長之後的 90~100 就固定在某一個數值附近,
並且成長的幅度相較於 0~90 要來的小,甚至是幾乎不變的狀態。
圖片 8 馬達馬力在一秒內的轉動角度平均折線圖
3. 機器手臂的製作與程式撰寫。
實驗使用器材:LEGO EV3、桌上型電腦
本次實驗的目的是製作機器手臂與撰寫程式來模擬手臂擺動的狀況,因此 實驗設計以 LEGO EV3 組裝與程式設計為主。為了模擬實際走路時手臂擺動的 狀況,因此我們設計的機器手臂會參考學生的手臂與手環配戴的位置(馬達軸心 到手環位置,約 44 公分),並利用 LEGO EV3 組裝出類似人類手臂(圖片 9)。
圖片 9 模擬手臂利用 EV3 製作的機器手臂
延續圖片 7 的程式進行修改,偵測機器手臂不同馬力的轉動角度分為馬達 轉動角度及陀螺儀偏移角度,所以加入馬達與陀螺儀感應器的數值偵測模組,
再觀察表格 7 的數據制定實驗所需要偵測的馬力大小的範圍。
程式(圖片 10)的一開始先刪除原本儲存在檔案裡面的資料,然後進行迴 圈,依據機器手臂的設計,迴圈的執行次數乘上負值當作馬達馬力的輸出,偵 測並記錄了馬達馬力、馬達轉動角度及陀螺儀偏移角度,總共執行 16 次(0~15),
最後再關閉檔案模組。
圖片 10 馬達轉動角度與陀螺儀偏移紀錄程式圖
我們執行實驗完成,會將 EV3 主機連接電腦主機,並且將負值轉換成正值,
紀錄資料上傳到電腦上並使用 Excel 彙整(表格 8),同時也繪製折線圖(圖片 11),方便我們可以檢視不同馬達馬力在一秒內的轉動角度是多少。
表格 8 不同馬達馬力在一秒內的轉動角度與偏移角度紀錄表 馬力 0 1 2 3 4 5 6 7 馬達轉動角度 0 5 14 18 18 21 28 32 陀螺儀偏移角度 0 1 9 15 18 18 24 27 馬力 8 9 10 11 12 13 14 15 馬達轉動角度 35 39 43 50 53 56 58 62 陀螺儀偏移角度 30 32 35 43 46 48 50 53
圖片 11 馬達馬力在一秒內的轉動角度與陀螺儀偏移折線圖
最後我們結合表格 6 的數據及走路時的姿態關係,推導出模擬手臂擺動時 需要的馬力大小。一秒走 1.75 步、手臂擺動前後共 50 度及手臂擺動一次會走 2 步,因此推導出一秒機器手臂擺動約 43.75 度,對應表格 8 的數據,因此有馬 力 10 時,馬達轉動角度 43 度;馬力 11 時,陀螺儀偏移角度 43 度,因此我們 依據這兩個數據來設定程式中的馬達馬力大小,並且執行機器手臂擺動是否會 影響小米手環計算步數的實驗。
模擬手臂擺動實驗的程式如圖片 12 顯示。程式一開始我們先設定手臂向 前擺動(Forward)、向後擺動的角度(Back),以及馬達馬力的大小(Power)、擺動 次數的初始值(Count),再來進入迴圈。迴圈中我們先以觸碰感應器是否有按下 且彈開的判斷條件為前提,如果還沒成立(還沒有按下觸碰感應器且彈開),我們 可以執行擺動次數的調整(向上鍵+10、向下鍵-10、向左鍵-1、向右鍵+1),並且 利用我的模組_顯示文字(TextDisplay)顯示在 EV3 主機螢幕上。如果成立(按下 觸碰感應器且彈開),就將擺動次數(Count)帶入我的模組_擺動(Shake)讓機器手 臂開始進行擺動。最後利用我的模組_重製擺動(ResetShake)使機器手臂回到原 本的位置,並且等待觸碰感應器下一次的指令觸發。
圖片 12 機器手臂模擬手臂擺動的程式圖
4. 機器手臂擺動狀況對於小米手環計算步數的影響。
實驗使用器材:實驗紀錄表、小米手環、LEGO EV3
圖片 13 進行機器手臂擺動對於小米手環計算步數影響實驗記錄
本次實驗的目的是針對機器手臂模擬手臂擺動狀況對於小米手環計算步數 的影響,因此實驗設計延續上述的機器手臂設計及程式進行實驗(圖片 13)。以 手臂前後擺動 50 度,接著使用馬力介於 8 至 11,固定擺次數 20 次。從表格 9 看出擺動的行為可以影響小米手環去計算步數,但是還是會有偵測不到的時候,
像是以馬力 11 擺動 50 度,10 次實驗中有 5 次沒有偵測到。
表格 9 機器手臂擺動狀況與小米手環計算步數
次數 1 2 3 4 5 6 7 8 9 10 平均 誤差 馬力 11 16 0 0 0 0 15 15 15 14 0 7.5 62.2%
馬力 10 19 16 17 18 19 16 23 22 22 20 19.2 4.0%
馬力 9 22 21 20 21 14 20 0 35 21 21 19.5 2.5%
馬力 8 21 21 22 20 20 14 20 22 21 21 20.2 1.0%
小結:
透過機器手臂擺動狀況對於小米手環計算步數的實驗中,我們發現擺動確 實是可以影響小米手環計算步數。因為這樣的機器設備過於龐大,並且不好展 示,因此我們要將機器手臂縮小,並且進行製作可以準確地讓小米手環的裝置,
用來執行「米」被騙了的實驗。
三、設計並製作步行模擬機器人。
1. 機器手臂長度簡化。
實驗使用器材:實驗紀錄表、小米手環、LEGO EV3
本次實驗的目的是了解是否縮短的機器手臂執行擺動實驗對小米手環計算 步數具有影響,因此實驗設計以縮小機器手臂的臂長為主要走向,並且使用圖 片 12 的程式進行實驗。將原先的機器手臂(44 公分),縮短至較短的臂長 12 公 分,如圖片 14 (a)顯示,並且進行實驗以驗證是否縮短之後的機器手臂尚可以 影響小米手環計算步數,如圖片 14(b)顯示。
(a) (b)
圖片 14 (a)簡化後的機器手臂 ; (b)實驗記錄過程
將實驗數據記錄在表格 10,由本次實驗結果可以得知,在縮短機器手臂的 狀況下,小米手環依舊可以偵測到步數並可以計算步數,因此我們將設計一個
「步行模擬機器人」可以進行小米手環計算步數的裝置。
表格 10 縮短的機器手臂(12cm)擺動對於小米手環影響紀錄表 次數 1 2 3 4 5 6 7 8 9 10 平均 誤差 馬力 11 17 0 0 0 12 17 0 12 10 0 6.8 66.0%
馬力 10 15 0 0 12 16 10 0 11 17 17 9.8 51.0%
馬力 9 0 0 19 16 17 0 16 0 0 19 8.7 56.5%
馬力 8 0 0 0 0 0 0 0 0 0 0 0 100%
2. 設計構思與程式設計。
實驗使用器材:實驗紀錄表、小米手環、LEGO EV3
本次實驗的目的是製作步行模擬機器人與撰寫其控制程式,因此實驗設計 以參考多項有關手臂擺動的裝置並且修改圖片 12 的程式。根據機器手臂擺動 的狀況,歸納出幾個裝置製作重點:1. 主機螢幕需斜面垂直於桌面,方便使用 者可以直接查看程式與資訊;2. 機器手臂需與裝置呈現在同一水平面,可直接 於單一平面即可進行實驗;3. 裝置需要具備底盤,並且大小得依循馬達與主機 進行延伸。綜合上述訊息以及參考多項相關裝置的製作資訊,最終以「招財貓」
為步行模擬機器人的基本設計架構,所以設計並製作出圖片 15 呈現的裝置。
圖片 15 步行模擬機器人
程式設計的部分從圖片 12 進行修改。由於步行模擬機器人主要的設計目 的在於可以影響小米手環計算步數與方便進行實驗,因此我們在程式的部分會 去除不必要的程式模組,並且簡化程式的結構,以更單一、簡易的方式來進行 實驗,當中手臂擺動角度從向前、向後兩個變數,簡化成單一變數角度(Angle),
馬達馬力的大小(Power)、擺動次數的初始值(Count)保持不變;再針對我的模組 _擺動(Shake)進行簡化;最後將我的模組_重製擺動(ResetShake)去除。
步行模擬機器人的程式如圖片 16 顯示。程式一開始我們先讓手臂騰空,避 免在擺動的過程中會受到影響;再者設定角度(Angle)、馬達馬力的大小(Power)、
擺動次數的初始值(Count),並進入迴圈。迴圈中我們先以觸碰感應器是否有按 下且彈開的判斷條件為前提,如果還沒成立(還沒有按下觸碰感應器且彈開),我 們可以執行擺動次數的調整(向上鍵+10、向下鍵-10、向左鍵-1、向右鍵+1),並 且利用我的模組_顯示文字(TextDisplay)顯示在 EV3 主機螢幕上。如果成立(按 下觸碰感應器且彈開),就將擺動次數(Count)帶入我的模組_擺動 2(Shake2)讓步 行模擬機器人執行實驗,實驗結束後等待觸碰感應器下一次的指令觸發。
圖片 16 步行模擬機器人的程圖
3. 執行效果與改良。
實驗使用器材:實驗紀錄表、小米手環、LEGO EV3
本次實驗的目的是將步行模擬機器人進行優化,因此實驗設計將以不同的 實驗參數進行測試。首先實驗延續上述的步行模擬機器人設計及程式,固定 20 次擺動次數與擺動角度 50 度,同時參考表格 8 的數值將以馬力 11 與 10 實驗。
如表格 11 所示,步行模擬機器人對於小米手環計算步數是具有影響,但是 還是會有部分計次的實驗無法讓手環偵測並且計算到步數;此外,也發現數值 的大小大約在於設地目標的一半,也就是說預計要有 20 下的步數計算,透過本 次實驗顯示的數據約只有一半的 10,因此我們將擺動程式調整為 2 倍。
表格 11 步行模擬機器人第一次測試實驗記錄表
次數 1 2 3 4 5 6 7 8 9 10 平均 誤差 馬力 11 0 0 10 11 14 14 11 11 11 0 8.2 59.0%
馬力 10 12 0 0 14 11 11 11 14 10 15 9.8 51.0%
將我的模組_擺動 2(Shake2)修改成我的模組_小米擺動(MiShake),並且延續 上述實驗進行。首先先以馬力 11 和 10 進行實驗,並且根據實驗狀況調整馬力 的大小,找出最穩定的實驗參數。從表格 12 的數據顯示,馬力 12 的實驗的數 據顯示狀況為本次實驗中五組數據最好的效果,因此後續實驗將以馬力 12、擺 動角度 50 度為基準,優化步行模擬機器人的參數。
表格 12 步行模擬機器人第二次測試實驗記錄表
次數 1 2 3 4 5 6 7 8 9 10 平均 誤差 SD 馬力 12 21 22 21 22 21 20 22 25 21 22 21.7 8.5% 2.12 馬力 11 24 0 22 20 0 21 0 0 0 21 10.8 46.0% 14.22 馬力 10 30 28 21 18 25 19 30 25 24 25 24.5 22.5% 6.01 馬力 9 21 18 32 16 0 21 20 20 32 0 18.0 10.0% 10.54 馬力 8 39 38 32 23 0 25 20 16 10 0 20.3 1.5% 13.34
以馬力 12 與擺動角度 50 度作為步行模擬機器人實驗的基準,並以每單位 10 的方式改變角度。表格 13 為實驗的數據,圖片 17 為實驗數據的折線圖。由 擺動角度 60 到 10 的數據顯示,並綜合誤差值與標準差(SD)的數值,以及折線 圖的線條起伏狀況,發現馬力 12 在擺動角度 40、30、20 之間的數據是相對其 他組數據還要來的穩定,因此之後的實驗我們會以擺動角度 40、30、20 作為實 驗依據,並進行不同馬力的實驗,檢視實驗輸出狀況且適當地做調整。
表格 13 步行模擬機器人馬力 12 實驗紀錄表
次數 1 2 3 4 5 6 7 8 9 10 平均 誤差 標準差 60 度 21 25 0 11 0 18 0 11 24 24 13.4 33.0% 11.93 50 度 21 22 21 22 21 20 22 25 21 22 21.7 8.5% 2.12 40 度 20 22 21 20 23 21 23 21 21 28 22.0 10.0% 3 30 度 19 21 20 26 21 22 22 22 21 21 21.5 7.5% 2.3 20 度 21 24 21 20 21 22 21 20 21 20 21.1 5.5% 1.58 10 度 16 20 20 16 19 19 18 19 13 19 17.9 10.5% 2.98
圖片 17 步行模擬機器人馬力 12 實驗折線圖
接著分別進行馬力 11 至 8,固定擺動角度在 40、30、20 度的實驗,由表格 14 至表格 18 顯示實驗數據。我們發現實驗中有些馬達與擺動角度參數的組合 多數達到我們預期的目標 20 步。但以角度方面,固定擺動角度 40 度為例,從 馬力 11 下降至 8 時,我們推測在較高角度下改變馬達馬力的狀態,實驗的數據 穩定程度會呈現類似於曲線的線性關係;以馬力方面,馬力在 11 至 8 的狀態 下,除了上述的角度 40 度會呈現曲線的線性關係原因之外,在角度 30 度與 20 度的時候數值變化不大,相對穩定。
表格 14 步行模擬機器人馬力 11 實驗紀錄表
次數 1 2 3 4 5 6 7 8 9 10 平均 誤差 SD 50 度 24 0 22 20 0 21 0 0 0 21 10.8 46.0% 14.22 40 度 21 23 21 23 23 20 21 22 14 24 21.2 6.0% 2.93 30 度 19 23 22 23 21 23 23 21 21 22 21.8 9.0% 2.19 20 度 21 23 24 19 25 22 21 21 23 23 22.2 11.0% 2.76
表格 15 步行模擬機器人馬力 10 實驗紀錄表
次數 1 2 3 4 5 6 7 8 9 10 平均 誤差 SD 50 度 30 28 21 18 25 19 30 25 24 25 24.5 22.5% 6.01 40 度 24 20 21 21 23 20 21 22 22 23 21.7 8.5% 2.12 30 度 21 20 21 22 21 21 21 21 21 21 21.0 5.0% 1.1 20 度 23 21 21 21 21 21 21 21 21 21 21.2 6.0% 1.34
表格 16 步行模擬機器人馬力 9 實驗紀錄表
次數 1 2 3 4 5 6 7 8 9 10 平均 誤差 SD 50 度 21 18 32 16 0 21 20 20 32 0 18.0 10.0% 10.54 40 度 22 27 22 23 24 22 26 21 23 22 23.2 16.0% 3.69 30 度 22 21 21 21 20 19 21 21 21 21 20.8 4.0% 1.1 20 度 23 22 22 21 20 22 23 20 21 21 21.5 7.5% 1.82
表格 17 步行模擬機器人馬力 8 實驗紀錄表
次數 1 2 3 4 5 6 7 8 9 10 平均 誤差 SD 50 度 39 38 32 23 0 25 20 16 10 0 20.3 1.5% 13.34 40 度 14 27 0 12 0 18 16 17 19 0 12.3 38.5% 11.74 30 度 21 20 22 22 19 21 21 21 20 20 20.7 3.5% 1.14 20 度 21 20 21 21 21 21 21 21 21 23 21.1 5.5% 1.3
表格 18 步行模擬機器人馬力 11~8 實驗折線圖彙整表(a)~(d)
(a)馬力 11 實驗折線圖 (b) 馬力 10 實驗折線圖
(c) 馬力 9 實驗折線圖 (d) 馬力 8 實驗折線圖
根據上述實驗再進行一次驗證,以固定馬達馬力 7,分別與擺動角度 40、
30、20、10 度進行實驗組合,並且由表格 19 與圖片 18 顯示這次的實驗數據。
由本次實驗可得知,確實角度 40 度時,在更小的馬力輸出的狀況下會更不穩定,
甚至是有可能會有偵測及計算步數的狀況;而在擺動角度 30 度與 20 度的效果 呈現也依舊保持相對穩定的狀態。
表格 19 步行模擬機器人馬力 7 實驗紀錄表
次數 1 2 3 4 5 6 7 8 9 10 平均 誤差 標準差 40 度 13 0 18 24 0 28 16 0 19 0 11.8 41.0% 13.23 30 度 20 22 18 22 20 23 20 22 0 17 18.4 8.0% 6.59 20 度 21 21 21 21 21 20 21 20 21 21 20.8 4.0% 0.89 10 度 24 21 21 20 24 21 21 24 21 24 22.1 10.5% 2.63
圖片 18 步行模擬機器人馬力 7 實驗折線圖
綜合上述的實驗數據,想再追求更接近設定目標值(20 步)的參數組合,因 此檢視之前的實驗數據,並且發現在擺動角度 30 度與 20 度的數值都算是各項 實驗中非常靠近設定目標值,因次我們想探討其中是否有更好的參數組合,所 以設計了在擺動角度 25 度並分別與馬力 10 至 7 進行實驗。
由表格 20 與圖片 19 所顯示,我們發現所有的實驗效果相對於之前的實驗 更加的接近設定目標值,並且浮動的狀況平均之下每組的實驗參數組合都小於 2,因此說明在擺動角度 25 度在馬力 10 至 7 的效果又更好。
表格 20 步行模擬機器人角度 25 度實驗紀錄表
次數 1 2 3 4 5 6 7 8 9 10 平均 誤差 標準差 馬力 10 21 21 21 21 23 21 21 22 21 21 21.3 6.5% 1.45
馬力 9 20 22 22 21 23 22 22 21 20 21 21.4 7.0% 1.67 馬力 8 22 21 21 21 21 22 20 23 21 22 21.4 7.0% 1.61 馬力 7 20 21 20 17 20 20 21 24 18 18 19.9 0.5% 1.87
圖片 19 步行模擬機器人角度 25 實驗折線圖
實驗的最後,固定擺動次數 100 次,並以固定角度 25 度分別與馬力 10 至 7 之間進行步行模擬機器人擺動穩定狀況的實驗。從表格 21、表格 22 與圖片 20 所顯示的數據與折線圖,最穩定的組合為擺動角度 25 度、馬達馬力 9,其輸 出的平均值在於 101.1、誤差值 1.1%及標準差 1.22。
表格 21 步行模擬機器人穩定狀態實驗紀錄表
次數 1 2 3 4 5 6 7 8 9 10 平均 馬力 10 101 101 101 101 101 100 103 102 100 102 101.2
馬力 9 101 101 101 101 101 102 101 100 101 102 101.1 馬力 8 100 102 101 103 101 104 102 102 101 102 101.8 馬力 7 103 103 101 103 103 102 102 102 102 102 102.3
表格 22 步行模擬機器人穩定狀態誤差值與標準差
馬力 10 馬力 9 馬力 8 馬力 7 誤差(%) 1.2 1.1 1.8 2.3
標準差 1.48 1.22 2.10 2.39
圖片 20 步行模擬機器人穩定狀態實驗折線圖
陸、 結論
一、探討小米手環與偵測走路之間的關係。
不同的走路姿勢會對小米手環會有不同的影響。我們發現小米手環具有最低的 計算步數,依靠著手路的身體部位時可以計算步數;倘若是依靠在單純其他物體時 是不會偵測並計算步數。所以得知單純移動的物體是無法讓手環偵測步數,可能會 和踏步所產生的震動及手臂擺動有關。
二、使用可編程積木套件進行模擬步數偵測實驗。
執行單一的擺動效果對小米手環的影響。透過 LEGO EV3 製作的機器手臂進行 擺動實驗,是可以讓小米手環計算到步數。
三、設計並製作步行模擬機器人。
設計一可以調整並且具有擺動功能的機器人。本研究設計的「步行模擬機器人」
可以讓小米手環偵測並計算步數,且準確度也相對的高,因此有達到「米」被騙了 的研究目的。
柒、 討論與後續研究
一、在「小米手環最少可以偵測到的步數」的實驗中,為了縮短實驗次數,所以將每 2 步 為一單位的增加,可能小米手環真正計算步數的最低步數是在沒有實驗到的參數中,
所以可能會造成實驗的一些誤差。
二、在「探討小米手環與偵測走路之間的關係。」的實驗中,會因為每個人的走路姿勢 跟手臂擺動狀態會有不同,也就是說人為因素太大,會造成實驗上的誤差。
三、在所有實驗結束後發現,實驗使用的馬達與原先的馬達對比較時,會有些許的不同,
包含使用過後的馬達在轉動時會有零件卡卡的聲音等等現象,也就是說在我們的實 驗過程,每次參數的調整都會因為零件的受損,而與最一開始的時候不同。
四、本次研究使用的是小米手環 3,同時也有測試小米手環 4、小米手環 5,測試結果離 實驗數據差距不大,也就說明本研究在進行「米」被騙了的實驗是不限於單一規格 的小米手環,往後希望可以再進行不同廠牌的智慧裝置來進行實驗。
捌、 參考文獻
[1] 小米手環 3 – 小米台灣官網 https://www.mi.com/tw/mi-band-3/
[2] MINDSTORMS EV3 | STEAM for High School | LEGO® Education
https://education.lego.com/en-us/products/lego-mindstorms-education-ev3-core- set/5003400#lego-mindstorms-education-ev3
附件一 我的模組(My Block)
a. 我的模組_顯示文字(TextDisplay)
b. 我的模組_擺動(Shake)
c. 我的模組_重製擺動(ResetShake)
d. 我的模組_擺動 2(Shake2)
e. 我的模組_小米擺動(MiShake)