1
國立聯合大學電機資訊學院
2018 年全國金腦獎專題競賽
計畫書
專題競賽題目:
基於藍芽實現載具自動追隨
報名編號:
14
指導教授:蔡明峰
就讀系所:資訊工程所
參賽隊員:李智盛
___________(隊長)
林育正
___________
_____________
_____________
_____________
中
華
民
國
年
月
日
i
摘 要
在本專題中,本研究提出基於相對位置判斷演算法,為移動載具提供一個自 動追隨技術。此技術基於 MEMS (Micro Electro Mechanical System) Sensors 判斷 相對位置,為移動載具提供可靠位置資訊並實現自動追隨的服務與應用。此技術 有以下特點: (1)利用市場現有的 MEMS Sensors 能減少特殊感測器開發時間與 成本;(2)使用相對位置完成自動追隨的創新應用系統,能夠讓原先需固定軌道 的運輸工具免除固定路線、可承載之移動載具能免除操作自動追隨。在物聯網中, 系統可以即時將量測之相對位置發送給系統使用者,讓使用者與移動載具互動。 其相對位置的判斷是透過載具之間的藍牙裝置,擷取 RSSI 強度來計算與目 標物之間的直線距離。 關鍵詞:MEMS、物聯網、藍牙、RSSI
ii
目 錄
摘 要... ii 圖 目 錄... iii 表 目 錄... iv 第一章、緒論... 1 1.1 研究背景與動機... 1 1.2 研究目的... 2 1.3 研究流程... 2 第二章、相關文獻... 3 2.1 藍牙低功耗... 3 2.2 移動載具... 4 第三章、移動載具之硬體架構... 5 3.1 Arduino ... 5 3.2 Raspberry Pi ... 7 3.3 超音波距離感測器 (避障用) ... 9 3.4 三軸磁力感測器... 10 第四章、研究內容... 12 4.1 資料處理流程... 12 4.2 感測器資料擷取與計算... 13 4.3 無線接收信號強度指標... 16 4.4 相對位置判斷演算法... 16 4.5 自動追隨流程... 20 4.6 結論與探討... 21 參考文獻... 22iii
圖 目 錄
圖 3.1.1 Arduino 正視圖 ... 5 圖 3.2.1 Raspberry Pi 正視圖 ... 7 圖 3.2.2 Raspberry Pi 反視圖 ... 8 圖 3.3.1 超音波距離感測模組正視圖... 9 圖 3.4.1 三軸磁力感測器... 錯誤! 尚未定義書籤。 圖 4.1.1 資料處理流程... 12 圖 4.2.1 地球磁場示意圖... 13 圖 4.2.2 磁偏角及磁傾角示意圖... 14 圖 4.2.3 磁場方向和電流方向的夾角... 15 圖 4.2.4 超音波量測距離示意圖... 15 圖 4.4.1 相對位置示意圖... 17 圖 4.4.2 相對位置初始圖... 18 圖 4.4.3 平行線最短距離示意圖... 18 圖 4.4.4 載具與人相對位置關係圖... 19 圖 4.6.1 自動追隨程序流程圖... 20iv
表 目 錄
表 3.1.1 Arduino Specifications ... 6 表 3.3.1 超音波距離感測器規格... 9 表 3.4.1 三軸磁力感測器規格... 9
1
第一章、 緒論
1.1 研究背景與動機
由於半導體製程的進步與行動通訊網路的普及,智慧型手機這類的消 費性產品功能也不斷的增加,已成為人們取代傳統個人電腦不可或缺的產品。 透過智慧型手機內部的無線通訊模組如行動網路 3G/4G、Wi-Fi、BLE 等, 可以使搭載相同通訊模組的設備進行即時連線並分享資訊,實現各種物聯網 的應用。 在科技進步下,如工業 4.0、物聯網等,還存在著許多非自動化操作的 狀況。例如貨品搬運雖有 AGV(Automatic Guided Vehicle),但其造價昂貴且 須使用磁條作為導引,使用上較無彈性。作者為了解決這個問題並達成真正 的自動追隨來增加貨品搬運與消費者購物的方便性,因此以這個目的為設計 基礎,設計「基於藍芽實現載具自動追隨的方法」,此一方法可透過智慧型 手機上的 APP 分享即時資訊給移動載具,使移動載具判斷其相對位置後主 動追隨使用者。
2
1.2 研究目的
本研究之主要目的為實現移動載具的自動追隨技術,並作為消費性產 品自動跟隨技術之重要參考方法,研究重點為: 1. 以消費性產品當移動載具自動追隨的目標 2. 建立基於相對位置演算法來實現移動載具自動追隨技術 3. 以自走車模擬移動載具實現自動追隨
1.3 研究流程
3
第二章、相關文獻
本章節內容包含二大部分,藍牙低功耗及移動載具之相關應用。
2.1 藍牙低功耗
隨著藍牙技術由手機、耳機、電腦和汽車等傳統應用領域往物聯網、 醫療等新領域擴展,對低功耗的要求會越來越高。BLE (Bluetooth Low Energy)強化了藍牙在數據傳輸時的功耗,並應用於智能家居、可穿戴設備、 醫療保健類智能儀器上。
藍牙技術聯盟 (Bluetooth SIG)2010 年 7 月 7 日宣布,正式採納藍牙 4.0 核心規範(Bluetooth Core Specification Version 4.0),並啟動對應的認證計劃。 BLE 有以下特點: 1. 功耗:極低的運行和待機功耗 2. 速度:支持 1Mbps 數據傳輸率下的超短數據包 (最少 8 個八組位,最多 27 個) 3. 跳頻:2.4GHz 頻段內,使用所有藍牙規範版本通用的自適應 跳頻 4. 延遲:最短可在 3 毫秒內完成連接設置並開始傳輸數據 5. 距離:最大範圍可超過 100 米 6. 安全:使用 AES-128 CCM 加密演算法 7. 拓撲:每個數據都使用 32 位尋址,理論上可連接數十億設備 BLE 雖擁有上述特點,但是在 BLE 無線訊號傳遞中會因為環境中的因 素干擾或不同訊號源的干擾。因此,要在排除不同訊號源干擾的條件下,如 調整傳輸週期方式[5, 6],來提升 BLE 訊號傳輸時的穩定性。而在多數 BLE 應用中,如定位、資訊的推播、導航等,其測量距離的方式多採用 RSSI[7-10] 換算取得
。
4
2.2 移動載具
移動載具針對環境之環境障礙物檢測的感測器,一般常見的有:(一) 影像式感測器[11]、(二)超音波感測器[12]、(三)雷射測距感測器[13]。超音 波感測器在使用上會有檢測距離上的限制與較低的分辨率,而雷射測距感測 器則會遇到感測物吸收光譜導致無法反射訊號的問題。因此在研究移動載具 的定位及障礙物的檢測上,大多選擇影像感測器為主要檢測工具,但影像式 感測器主要缺點在於資料運算的處理量龐大,易造成運算效能無法即時更新 移動載具與目標物間的位置狀況。 在分析了各種應用於避障的感測器與其策略之後,本研究的自動追隨方 法上不採用上述的方式作為其自動追隨演算法的核心感測器,而是將上述的 感測器作為避障的輔助功用,提供移動載具在突發狀況路時路線修正的資訊 依據。
5
第三章、移動載具之硬體架構
3.1 Arduino
Arduino 是義大利一個團隊研發的 SoC (System-on-a-Chip) 晶片板,官 方網站如下:https://www.arduino.cc/。如圖 3.1.1,Arduino 係基於開放原始 碼的晶片開發板,提供多組 GPIO 腳位介接,並提供 java 與 C 語言等程式 語言的開發環境。Arduino 亦可透過其他介面如 SPI、I2C、TTL 等來與各種 電子設備溝通,MCU ATmega 328P 亦內建 PWM 可用於控制 LED、Buzzer 等。
圖 3.1.1
Arduino 正視圖
6 Arduino 不僅支援數位的輸出/輸入,亦支援類比的輸出/輸入,表 3.1.1 為 Arduino 的硬體規格表。
表 3.1.1 Arduino Specifications
Microcontroller
ATmega328P
Operating Voltage
5V
Input Voltage
(recommended)
7-12V
Input Voltage (limit)
6-20V
Digital I/O Pins
14 (of which 6 provide PWM
output)
PWM Digital I/O Pins
6
Analog Input Pins
6
DC Current per I/O Pin
20 mA
DC Current for 3.3V Pin
50 mA
Flash Memory
32 KB (ATmega328P) of which 0.5
KB used by bootloader
SRAM
2 KB (ATmega328P)
EEPROM
1 KB (ATmega328P)
Clock Speed
16 MHz
LED_BUILTIN
13
Length
68.6 mm
Width
53.4 mm
Weight
25 g
7
3.2 Raspberry Pi
Raspberry Pi 是一款基於 Embedded Linux 的晶片板,由英國的 Raspberry Pi Foundation 所開發,其目的是以低價硬體及自由軟體來促進教育,官方網 站如下:https://www.raspberrypi.org/。如圖 3.2.1、圖 3.2.2,Raspberry Pi 係基於 ARM 架構的晶片板,提供 Debian、Arch Linux 與 Fedora 等的 OS, 並提供 Python、BBC BASIC、Perl 與 C 語言等程式的開發環境,並將其 Python 作為其主要程式語言。Raspberry Pi 亦擁有如 GPIO、Ethernet、Camera Serial Interface (CSI)、Display Serial Interface (DSI)、SPI 等等介面。
8
圖 3.2.2
Raspberry Pi 反視圖
3.2.1 Raspberry Pi 的規格
Raspberry Pi 僅支援數位的輸出/輸入,並不支援類比的輸出/輸入, 以下為 Raspberry Pi 的硬體規格。
Quad Core 1.2GHz Broadcom BCM2837 64bit CPU
1GB RAM
BCM43438 wireless LAN and Bluetooth Low Energy (BLE) on board
40-pin extended GPIO
4 USB 2 ports
4 Pole stereo output and composite video port
Full size HDMI
CSI camera port for connecting a Raspberry Pi camera
DSI display port for connecting a Raspberry Pi touchscreen display
Micro SD port for loading your operating system and storing data
Upgraded switched Micro USB power source up to 2.5A
9
3.3 超音波距離感測器 (避障用)
測距/避障有很多方法如紅外線、雷射、超音波、影像等,本研究係採 用超音波感測距離模組如圖 3.3.1 所示,當移動載具追隨時作避障使用。圖 3.3.1 超音波距離感測模組正視圖
3.3.1 超音波距離感測器的規格
超音波距離感測器為模組設計共有一發送端、一接收端的設計,其 硬體規格表,如表 3.3.1 所示。表 3.3.1 超音波距離感測器規格
Parameter Technical data
Working Voltage DC 5 V Working Current 15mA Working Frequency 40kHz
10
Min Range 2cm
Measuring Angle 15 degree Trigger Input Signal 10uS TTL pulse
Echo Output Signal Input TTL lever signal and the range in proportion Dimension 45*20*15mm
3.4 三軸磁力感測計
磁力感測計之功用是測量環境磁力(Magnetic)大小的元件,如圖 3.4.1, 常以高斯(Gauss)或特斯拉(Tesla)來表示磁場大小。3-axis 磁力感測計為了感 測地磁的磁場之外,還包含了環境的 Hard iron、Soft iron 磁場干擾,因此需 透過磁力計分辨出小於 1m Gauss 的磁場變化量,來準確測量出約 200m 至 300m Gauss 的地磁磁場強度。
11
3.4.1 三軸磁力感測計的規格
本研究採用 MEMS 3-axis 磁力感測計,其硬體規格表,如表 3.4.1 所示。
表 3.4.1 磁力感測計規格
Parameter Technical data
Package
CSWLP- (12 pin) 1.56×1.56×0.6 mm³ 0.4 mm diagonal ball pitch Temperature range -40°C ~ +85°C
Digital interfaces I²C and SPI (2 interrupt pins) Resolution 0.3μT Supply voltage VDD: 1.62V to 3.6V VDDIO: 1.2V to 3.6V Zero-B offset ±50μT Non-linearity <1% FS Magnetic range typ. ±1300μT (x,y-axis)
±2500μT (z-axis) Average current consumption 170 μA (low power preset)
500 μA (normal mode)
12
第四章、研究內容
本章節將敘述一個基於相對位置來實現追隨的方法,從感測器如何擷取資 訊到移動載具自動追隨的流程與相關技術原理。
4.1 資料處理流程
要設計一個基於相對位置來實現追隨的方法,其重點在於獲取目標的 相對位置。因此,資料即時的流程處理非常重要,其處理流程如圖 4.1.1: (1) 感測器資料擷取 (2) 異常數值過濾 (3) 數值計算 (4) 相對位置計算
圖 4.1.1 資料處理流程
13
4.2 感測器資料擷取與計算
本節內容將敘述各種感測器資料的擷取與數值處理方法。4.2.1 磁力感測計
磁力感測計是用於量測磁場的元件,本研究係以磁力計量測地球 磁場如圖 4.2.2,透過地磁北極與地理北極的關係如圖 4.2.3,因地磁北 極與地理北極有 11 度的夾角,經量測換算後可得知物體指向的絕對方 向。
圖 4.2.1 地球磁場示意圖
14
圖 4.2.2 磁偏角及磁傾角示意圖
磁力感測計的工作原理
磁力感測計採用 AMR (Anisotropic Magnetoresistance) 材料來檢測 空間中的磁場强度。這種晶體結構的合金材料對外界磁場反應很敏感, 磁場些微的强弱變化即會導致 AMR 自身阻值發生變化。當有外界磁場 Ha 時,AMR 上方的磁場方向會產生變化,磁場方向和電流方向的夾角 θ隨著變化,如圖 4.2.4 所示。θ角變化與 AMR 自身阻值變化的關係, 呈線性關係。
15
圖 4.2.3 磁場方向和電流方向的夾角
4.2.2 超音波距離感測器
超音波感測器 (Supersonic Sensor) 的頻率為 40 kHz,當啟動時會 持續發送聲波,從最接近的物體反射聲波後接收回音。其感測器模組是 由超音波發射器、接收器與控制電路所組成。
超音波的工作原理
其測距原理示意圖如圖 4.2.5 所示,從感測器模組連續發送 40 kHz 聲波,當聲波遇到最接近的物體時將聲波反射回模組的接收端,最後根 據聲波在空氣中傳遞的時間換算出感測器模組與物體之間的距離。
圖 4.2.4 超音波量測距離示意圖
16
4.3 無線接收信號強度指標
本研究之自走車與追隨目標間係透過藍牙無線通訊來達成即時資料傳 遞,其藍牙無線訊號為非指向性訊號,因此在發送端與接收端之間並無特定 設置條件。透過無線訊號傳遞與接收的無線訊號接收強度指標 (RSSI),可 利用其特性與傳統 RSSI 與距離計算的公式如下所示,推算出發送端與接收 端的距離:𝐝 = 𝟏𝟎
[ 𝐏𝟎−𝐅𝐦−𝐏𝐫−𝟏𝟎×𝐧×𝐥𝐨𝐠𝟏𝟎(𝐟)+𝟑𝟎×𝐧−𝟑𝟐.𝟒𝟒 𝟏𝟎 ×𝐧](4-9)
Fm = Fade MarginN = Path-Loss Exponent, ranges from 2.7 to 4.3
Po
= Signal power (dBm) at zero distance - Get this value by testing
Pr = Signal power (dBm) at distance - Get this value by testing
F = Signal frequency in MHz - 2.400~2.4835 MHz for BLE
4.4 相對位置判斷演算法
判斷相對位置方式可分為手動判斷與自動偵測判斷兩種,手動判斷方式 如圖 4.4.1 所示,使用者(人)將智慧型裝置的方向指向移動載具,利用磁力
計取得當下方向與地理北極夾角θ,再透過藍牙通訊 RSSI 換算出相對距離
17
圖 4.4.1 相對位置示意圖
假設人的座標為 ( x0 , y0 ),移動載具的座標為 ( x , y ) 𝐱 = 𝐱𝟎+ 𝐃 × 𝐬𝐢𝐧 𝛉 (4-10) 𝐲 = 𝐲𝟎+ 𝐃 × 𝐜𝐨𝐬 𝛉 (4-11) D = 使用者與移動載具的直線距離 θ = 使用者指向移動載具的方向與地理北極的夾角 自動偵測判斷相對位置則必須透過移動載具上的感應器與動態偵測來 判斷相對位置,初始時透過使用者與移動載具之間藍牙的 RSSI 換算取得相 對距離,如圖 4.4.2 所示,並假設載具為圓心,根據相對距離 R 得知使用者 可能為圓上的任何一點。18
圖 4.4.2 相對位置初始圖
假設有兩條平行於 y 軸的平行線分別通過載具與人,如圖 4.4.3 所示,根據 兩平行線間最短距離為垂直於平行線的直線距離,因此,一直線通過人且垂 直於平行線交於 P 點的交點連線即為載具與人之間的最短距離。依照上述原 理,載具將沿著平行線前後移動,根據 RSSI 與距離成反比的特性,持續偵 測並記錄 RSSI 與位置,最後 RSSI 最大值的位置,即為 P 點。圖 4.4.3 平行線最短距離示意圖
取得 P 點後,載具與人的相對位置關係僅兩種如圖 4.4.4 所示,人可能在載 具的左方或右方。因此,載具從 P 點往 x 軸的方向移動時,人如果在載具的19
右方,其載具與人1的距離縮短與人2的距離增加;反之,人如果在載具的
左方,其載具與人1的距離增加與人2的距離縮短。
20
4.5 自動追隨流程
程序流程圖如圖 4.6.1 所示,從使用者開始搜尋移動載具到移動載具自 動追隨使用者的完整流程。
21
4.6 結論與探討
本研究分析消費性產品當追隨目標的可行性與感測器資料準確性,並 建立演算法,以自走車來模擬移動載具自動追隨。其研究價值在於消費性產 品能連接移動載具當追隨目標,評估移動載具自動追隨應用的範圍與可行性。 本研究當中所使用的演算法與追隨目標可供人們開發使用,增加自動追隨的 技術與降低自動追隨系統建置的成本。
22
參考文獻
[1] F. Goldenberg, "Geomagnetic Navigation beyond the Magnetic Compass," in
2006 IEEE/ION Position, Location, And Navigation Symposium, April 2006,
pp. 684-694.
[2] S. J. Yang, T. K. Kim, T. Y. Kuc, and J. K. Park, "Geomagnetic localization of mobile robot," in 2017 IEEE International Conference on Mechatronics (ICM), Feb. 2017, pp. 123-127.
[3] F. Y. Sung, S. H. Fang, and Y. R. Chien, "An experimental study of MEMS-based magnetometers on Android mobile phones," in 2014 IEEE
International Conference on Consumer Electronics - Taiwan, May 2014, pp.
227-228.
[4] L. Han, Y. Li, S. Mi, and H. Liu, "Research on compass error compensation of certain UAS," in 2013 IEEE International Conference on Information and
Automation (ICIA), Aug. 2013, pp. 811-815.
[5] A. Yousefi, K. Somaratne, and F. J. Dian, "Analysis of time synchronization based on current measurement for Bluetooth Low Energy (BLE)," in 2017 8th
IEEE Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON), Oct. 2017, pp. 602-607.
[6] B. Soewito, A. Y. H. Ritonga, and F. E. Gunawan, "Increasing accuracy of bluetooth low energy for distance measurement applications," in 2016 11th
International Conference on Knowledge, Information and Creativity Support Systems (KICSS), Nov. 2016, pp. 1-5.
23
Localization Correction Algorithm Based on RSSI," in 2014 Seventh
International Symposium on Computational Intelligence and Design, Dec.
2014, pp. 276-278.
[8] T. Türkoral, T. Ö , S. Yetiş, E. İnanç, and L. Çetin, "Indoor distance estimation with using received signal strength indicator (RSSI) metric," in 2016 National
Conference on Electrical, Electronics and Biomedical Engineering (ELECO),
Dec. 2016, pp. 397-401.
[9] D. Gualda, J. Ureña, J. C. García, E. García, and D. Ruiz, "RSSI distance estimation based on Genetic Programming," in International Conference on
Indoor Positioning and Indoor Navigation, Oct. 2013, pp. 1-8.
[10] V. Daiya, J. Ebenezer, S. A. V. S. Murty, and B. Raj, "Experimental analysis of RSSI for distance and position estimation," in 2011 International Conference
on Recent Trends in Information Technology (ICRTIT), June 2011, pp.
1093-1098.
[11] A. H. Adiwahono, V. B. Saputra, K. P. Ng, W. Gao, Q. Ren, B. H. Tan, et al., "Human tracking and following in dynamic environment for service robots," in TENCON 2017 - 2017 IEEE Region 10 Conference, Nov. 2017, pp. 3068-3073.
[12] H. C. Chu, M. F. Chien, T. H. Lin, and Z. J. Zhang, "Design and
implementation of an auto-following robot-car system for the elderly," in 2016
International Conference on System Science and Engineering (ICSSE), July
2016, pp. 1-4.
[13] P. Amaradi, N. Sriramoju, D. Li, G. S. Tewolde, and J. Kwon, "Lane following and obstacle detection techniques in autonomous driving vehicles," in 2016
24
IEEE International Conference on Electro Information Technology (EIT), May