M2M Trac – 3rd Quarter Report 2015 Team members: PI: Prof. Yu-Chee Tseng, National Chiao Tung University Co-PI: Prof. Pai H. Chou, National Tsing Hua University Champion: Dr. Sharon Xue Yang Co-Champion: Dr. Shao-wen, Yang Ph.D. Student: Jun-Wei Qiu Master Student: Li-min Lin, Yi-lin Chen, Kai-yi Ou, Chia-hsun Wu Progress between last quarter and this quarter: Demo Set Up • We build the localization system on Intel Edison. • Several users carrying smart-phones(HTC Nexus 9) requesting for locations • One sweeping machine carrying Edison board Intel Edison Hardware Sight • The Intel Edison is a 12 × 7 cm2 IoT develop board that can carry on people or sweeping machine. LCD to display information (position & standard deviation) Arduino Base Shield • • EcoMini for 6-Dof value (Accelerometer + Gyroscope) Grove 3-axis Compass (Magnetometer) The display of map and particles will use WIFI to transmit position information from Intel Edison to Smart phone. We use built-in Bluetooth service (blueZ) with python library to handle encounter event. Intel Edison Software Implementation We implement our system on the Intel Edison with Python language. There are some key module which implement Particle filter algorithm: • BLE module • IMU module • Particle filter module 1. 2. 3. IMU module: We get 6-Dof value via UART with EcoMini and compass value via I2C with Grove compass sensor. So we can fuse these values to implement particle shift with Dead reckoning technique. Particle filter module: There are four steps to run particle filter, so we implement each of them to be a function: • initParticle function(sampling) : add a number of particle into map • ShiftParticle function : calculate IMU dead reckoning value to shift particle position • WeightParticle function : give new weight for alive particle • ResampleParticle function : add new particles to achieve maximum number of particles BLE module: We use the BLE which is integrated in Edison to send and receive packages recursively. • • Advertise (0.1 s) i. Broadcast the positioning information package. Scan (0.9 s) i. Receive the package from other devices. ii. Unpack the package to get positioning information. iii. Use information to encountering or calculating new position. Multi-floor positioning We use IMU pattern and pressure change to determine whether the device has change in altitude, and divide into two states: vertical or horizontal. 1. State detection: We recorded the pressure and set tags when walking in the EC building. We found that the pressure increase or decrease rapidly when taking the stairs. 2. Encounter algorithm: • Encounter at horizontal moving state i. Update floor information according to whose has the smallest update time ii. Calibrate the offset of reference point. iii. Update update time • Encounter at vertical moving state i. Calibrate the offset of reference point. ii. Update update time Discussion with Champion In August, prof. Tseng and prof. Chou went to the US and prepared for F2F meeting. We have prepared a demo video, a slide and presentations for our progress recently. The next scheduled meeting will be on 09/17. And the final sync-up meeting will be on 11/6. Plan for next month Currently, we have finished the encountering mechanism and integrated into the Intel Edison Kit, the plan for next month will be the polishing of the floor detection algorithm, the fine tuning of the particle filter sampling mechanism, and make ready for the demonstration. Research by-product None but in preparation.