GPS + Inertial Sensor Fusion

Slides:



Advertisements
Similar presentations
What is Arduino?  Arduino is a ATMEL 168 micro-controller kit designed specially for small projects  User friendly IDE(Integrated Development Environment)
Advertisements

Swish Sleeve Software Design Narrative Team 7: Stephen MacNeil, Michael Kobit, Sriharsh Achukola, Augustus Hong 1Team 7 - Swish Sleeve.
ROBOT LOCALISATION & MAPPING: MAPPING & LIDAR By James Mead.
© Copyright 2011 MicroStrain Inc. High Performance Miniature Inertial Measurement Systems MicroStrain Inc Mike Robinson
Seismic Octave Programming for Analog/Digital Converters Michael W. Siekman Electrical and Computer Engineering Senior Capstone Design Project 2007 Advisor:
Autonomous Helicopter: James Lyden Harris Okazaki EE 496 A project to create a system that would allow a remote- controlled helicopter to fly without user.
Luis Mejias, Srikanth Saripalli, Pascual Campoy and Gaurav Sukhatme.
SD-May1014 Team: Michael Peat, Kollin Moore, Matt Rich, Alex Reifert Advisors: Dr. Nicola Elia and Dr. Phillip Jones.
Prof. Kristofer S.J. Pister’s team Berkeley Sensor and Actuator Center University of California, Berkeley.
Electrical and Computer Engineering SMART GOGGLES To Chong Ryan Offir Matt Ferrante James Kestyn Advisor: Dr. Tilman Wolf Preliminary Design Review.
Initial Position Orientation Tracking System (IPOTS) Group Members: Keiichi McGuireHenry Pham Marc TakamoriScott Spiro.
Final Demonstration: Dead Reckoning System for Mobile Robots Lee FithianSteven Parkinson Ajay JosephSaba Rizvi.
Tracking Migratory Birds Around Large Structures Presented by: Arik Brooks and Nicholas Patrick Advisors: Dr. Huggins, Dr. Schertz, and Dr. Stewart Senior.
ME 224 Experimental Engineering: Professor Espinosa 2005 TEAM : Jamie Charles Carlo Niko Javier.
Wireless Data Acquisition for SAE Car Project by: J.P. Haberkorn & Jon Trainor Advised by: Mr. Steven Gutschlag.
Virtual Imaging Peripheral for Enhanced Reality Aaron Garrett, Ryan Hannah, Justin Huffaker, Brendon McCool.
Design and Development of an Accelerometer based Personal Trainer System By Emer Bussmann B.E. Electronic Engineering April 2008.
Formal Report #2 – Special Sensor Matthew Thompson EEL5666.
An INS/GPS Navigation System with MEMS Inertial Sensors for Small Unmanned Aerial Vehicles Masaru Naruoka The University of Tokyo 1.Introduction.
IMU 1 MicroElectroMechanical Systems (MEMS) Inertial Measurement Unit (IMU) Attitude relative to gravity vector Magnetic heading Rotational velocity Translational.
Team Spot A Cooperative Robotics Problem A Robotics Academy Project: Laurel Hesch Emily Mower Addie Sutphen.
Acceleration Based Pedometer
Accuracy Evaluation of Stereo Vision Aided Inertial Navigation for Indoor Environments D. Grießbach, D. Baumbach, A. Börner, S. Zuev German Aerospace Center.
Methee Srisupundit Final Defense.  Intelligent Vehicle  Localization  Observer (Estimator) Kalman Filter Particle Filter  Methodology Control Input.
Sérgio Ronaldo Barros dos Santos (ITA-Brazil)
Autonomous Helicopter James LydenEE 496Harris Okazaki.
IMPROVE THE INNOVATION Today: High Performance Inertial Measurement Systems LI.COM.
HARDWARE INTERFACE FOR A 3-DOF SURGICAL ROBOT ARM Ahmet Atasoy 1, Mehmed Ozkan 2, Duygun Erol Barkana 3 1 Institute of Biomedical Engineering, Bogazici.
INS: Inertial Navigation Systems An overview of 4 sensors.
Inertial Navigation System Overview – Mechanization Equation
Small, Lightweight Speed and Distance Sensor for Skiers and Snowboarders Michael Bekkala Michael Blair Michael Carpenter Matthew Guibord Abhinav Parvataneni.
FUFO project Final report.
Midterm Presentation Music Alarm Clock. Craig Bilberry Team Leader Electrical Engineering Layout and Design Atomic Clock Signal Will Kalish Electrical.
Current Works Corrected unit conversions in code Found an error in calculating offset (to zero sensors) – Fixed error, but still not accurately integrating.
Current Works Determined drift during constant velocity test caused by slight rotation which results in gravity affecting accelerometers Analyzed data.
GPS Computer Program Performed by: Moti Peretz Neta Galil Supervised by: Mony Orbach Spring 2009 Part A Presentation High Speed Digital Systems Lab Electrical.
Quadcopters A CEV Talk. Agenda Flight PreliminariesWhy Quadcopters The Quadcopter SystemStability: The NotionSensors and FusionControl AlgorithmsThe Way.
Digital Logic & Design Instructor: Aneel Ahmed Lecture #1.
Magic Wand Battle Game Team 53 Shanoon Martin, Jialin Sun, Manfei Wu.
Amphibious Spherical Explorer Kaiwen Chen, Zhong Tan, Junhao Su ECE 445 Spring 2016, Project 30 TA: Luke Wendt May 1, 2016.
KNU RTLAB A Real-Time Linux System For Autonomous Navigation And Flight Attitude Control Of An Uninhabited Aerial Vehicle Charles E. Hall, Jr. Mechanical.
The Equations of Motion Euler angle rate equations:
Timothy Kritzler and Joseph Mintun Sponsor: Martin Engineering, Illinois Advisors: Dr. Malinowski and Dr. Ahn Bradley University Electrical and Computer.
Localization Life in the Atacama 2004 Science & Technology Workshop January 6-7, 2005 Daniel Villa Carnegie Mellon Matthew Deans QSS/NASA Ames.
Chip Config & Drivers – Required Drivers:
By Sonia Thakur James M.Conrad Presenter: Bin Huang
Voice Manipulator Department of Electrical & Computer Engineering
Using Sensor Data Effectively
Graduate School of Electrical Engineering
Personal Heads-Up Display
Vision for Robotic Applications
Signal conditioning.
SDP16 SigninGlove Abstract System Overview Block Diagram Results
Comprehensive Design Review
GPS + Inertial Sensor Fusion (GISF) Fall 2013 Presentation
Dead Reckoning, a location tracking app for Android™ smartphones Nisarg Patel Mentored by Adam Schofield and Michael Caporellie Introduction Results (cont.)
Critical Design Review
This chapter provides a series of applications.
SigninGlove SDP 2016 February 29, 2016 Cumulative Design Review
Autonomous Cyber-Physical Systems: Sensing
A Comparison of Field Programmable Gate
Inertial Measurement Unit (IMU) Basics
Self-Contained Analytical Skating Form Tracker
Using inertial navigation systems (INS) to navigate
Inertial Measurement Units
Joe Trefilek Jeff Kubascik Paul Scheffler Matt Rockey
In the land of the blind, the one eyed man is king
Image Acquisition and Processing of Remotely Sensed Data
MEMS wheel sensor for vehicle navigation, ESC and adaptive suspension systems | Oleg Mezentsev | “iSense-SK” LLC | | September, 2015 |
ECE 445 Spring Head Orientation Tracking Module for Headphones
Presentation transcript:

GPS + Inertial Sensor Fusion Aleksey Lykov, William Tarpley, Anton Volkov May 6, 2014 1

Presentation Overview Introduction Theory Project Work Results Conclusion Questions 2

Introduction Project Overview Applications Low Cost Navigation Survivable when GPS is intermittent Applications Low Cost inertial navigation system based on the Raspberry Pi with attached Accel/Gyro/Magnetometer and Barometer to work with or without GPS signal... 3

System Hardware Block Diagram I2C I2C Serial/UART Connections via I2C, Serial Notes: Larger labels on bus protocols System Hardware Block Diagram 4

System Hardware Block Diagram I2C I2C Serial/UART Connections via I2C, Serial Notes: Larger labels on bus protocols System Hardware Block Diagram 5

System Hardware Block Diagram I2C I2C Serial/UART Connections via I2C, Serial Notes: Larger labels on bus protocols System Hardware Block Diagram 6

System Hardware Block Diagram I2C I2C Serial/UART Connections via I2C, Serial Notes: Larger labels on bus protocols System Hardware Block Diagram 7

System Hardware Block Diagram I2C I2C Serial/UART Connections via I2C, Serial Notes: Larger labels on bus protocols System Hardware Block Diagram 8

System Photo GPS Receiver Barometer Raspberry Pi IMU PB and LED GPS Antenna GPS Receiver IMU Barometer PB and LED Raspberry Pi All sensors and overall system are compact in size and simple to connect System Photo 9

Introduction Project Overview Applications 10 Applications: Indoor Navigation Mapping/Navigating Terrain Underground Improving GPS Accuracy Notes: change pictures? 10

Theory How the System Works Sensor Fusion Kalman Filtering 11

Original System Signal Diagram Accel/Gyro values come in Accel X/Y/Z rotated to World Reference Frame via the MPU-9150’s DMP based on Gyro (Questions: Quaternions, how to rotate Accel XYZ) World Reference Frame accelerations are integrated to determine velocity and position data GPS and Barometer data is used to correct calculated velocity and position through a sensor fusion algorithm (such as a Kalman Filter) Original System Signal Diagram 12

Theory How the System Works Sensor Fusion Kalman Filtering 13 Gyro/Mag relationship - possible to Kalman filter (talk about later) Accel/GPS relationship - Accel values are good in the very short term, GPS are good in long term (no cumulative error) Barometer provides Z-axis data in situations when GPS altitude reading is unavailable Source: Ruhr University 13

Theory How the System Works Sensor Fusion Kalman Filtering [1] 14 Application for this project: Gyro/Mag Kalman filtering <- good for pose data GPS/Accel Kalman filtering <- unavailable indoors Source: University of North Carolina 14

System Requirements Specifications: After 60 seconds without GPS, error within 5% or 1 meter of true distance With GPS, less than 5% error from true distance traveled Acceleration data taken at a minimum of 100 Hz GPS data taken at a minimum of 1 Hz when GPS signal present Operate without lapses in data for a minimum of 2 hours on battery Implement an onboard Kalman filter for acceleration correction Correct INS measurements with GPS Save all Accel and GPS data to file Start data acquisition within 30 s Accel FS: ±2g, ±4g, ±8g, or ±16g Alert user to GPS loss Gyro FS: ±250°/s Reacquire GPS signal within 30 s in unobstructed environment Implement real-time display of displacement on LCD System Requirements 15

Project Work Interfacing External Sensors Multithreaded Programming MATLAB Post-Processing Source: Bit-Tech.net 16

InvenSense MPU-9150 9-DOF IMU Source: Sparkfun InvenSense MPU-9150 9-DOF IMU 17

Velocity and Position via Direct Integration 18

Bosch Sensortec BMP 180 Barometer Source: Adafruit Bosch Sensortec BMP 180 Barometer 19

SkyTraq Venus638FLPx GPS receiver Source: Sparkfun SkyTraq Venus638FLPx GPS receiver 20

Project Work Interfacing External Sensors Multithreaded Programming MATLAB Post-Processing 21

Multithreaded Software Block Diagram Main Thread Main commands all threads to start/stop and records start time INS Thread GPS Thread BAR Thread Sensor threads save timestamped data for PROC Thread Shared Memory The data is read, processed, and saved to a buffer PROC Thread Once user stops data acquisition the string buffer is written to file Output File Multithreaded Software Block Diagram 22

Output from Concurrent Data Acquisition Screen Shot of Output File INS GPS X-Y Displacement GPS BAR Output from Concurrent Data Acquisition 23

Project Work Interfacing External Sensors Multithreaded Programming MATLAB Post-Processing 24

MATLAB Post-Processing Diagram and Results Main Function Parse Text File(s) Manipulate Data (Filtering, Unit Conversions) Perform Integration + Sensor Fusion Plot Data MATLAB Post-Processing Diagram and Results 25

Project Timeline (Original Plan in Darker Blue) 26

Desired System Specifications After 60 seconds without GPS, error within 5% or 1 meter of true distance With GPS, less than 5% error from true distance traveled Acceleration data taken at a minimum of 100 Hz GPS data taken at a minimum of 1 Hz when GPS signal present Operate without lapses in data for a minimum of 2 hours on battery Implement an onboard Kalman filter for acceleration correction Correct INS measurements with GPS Save all Accel and GPS data to file Start data acquisition within 30 s Accel FS: ±2g, ±4g, ±8g, or ±16g Alert user to GPS loss Gyro FS: ±250°/s Reacquire GPS signal within 30 s in an unobstructed environment Implement real-time display of displacement on LCD Desired System Specifications 27

Results Testing and Data Acquisition Current System Specifications 28

Result of Accel data fused with GPS data

Simulated 30 second loss of GPS signal 29b

1 Foot Square Displacement Test (Repeated) 30

Y-Axis Acceleration, 0.84m Displacement Test 0.04 m/s2 Y offset when stationary X expected to be 0 m/s2 entire run Y-Axis Acceleration, 0.84m Displacement Test 31

Acceleration Kalman filtering possible when GPS is available Attitude Kalman filtering possible at all times (Compass correcting Gyro) Tested code[5] on Raspberry Pi, <20% CPU usage Accurate heading ⇒ accurate acceleration rotation Acceleration Kalman filtering possible when GPS is available However, when GPS is unavailable: No way to correct the X and Y inertial measurements System relies on MEMS acceleration readings alone Kalman Filtering Discussion 32

Results Testing and Data Acquisition Current System Specifications 33

Final System Specifications Final Result Accelerometer/Gyroscope Rate 100 Hz (scalable up to 1 kHz) [3] GPS Rate 1 Hz (scalable up to 20 Hz) [2] Barometer Rate 1 Hz (scalable up to 100 Hz) [4] Time to Acquire GPS Lock 3-4 Minutes from Cold Start 30 Seconds to Reacquire Lock Program Structure C++, 5 Threads (Main, 3 Sensor Threads, Post-Processing) Data Log Storage Text file on SD card. Fill rate: ~539 kB/min Post-Processing GPS displacement/velocity: onboard (<17% CPU usage) Sensor fusion/integration: MATLAB Final System Specifications 34

Final System Signal Diagram System Timestamps Accelerometer and Gyroscope Navigation Computer Velocity Integration Position Integration GPS Displacement Calculation Sensor Fusion Algorithm Velocity Calculation Currently Done Onboard Currently Done Offboard Final System Signal Diagram 35

Conclusion Project Outcomes Future Project Potential Acknowledgements Reliable data acquisition platform for navigation Inertial MEMS sensors found to be unsuitable for indoor navigation via double integration of accel data Raspberry Pi confirmed to support both data acquisition and onboard post-processing Future Project Potential Acknowledgements Some outcomes of this project included: Familiarization with Linux environment Experience with multithreaded programming Experience interfacing external sensors with single-board computer Determined strengths and shortcomings of current-gen MEMS sensors A fully-functional data acquisition platform for any future development 36

Conclusion Project Outcomes Future Project Potential Acknowledgements Future project work in this project area could include further investigation into: Improving MEMS accelerometer accuracy via hardware or software changes Adding an additional sensor to give positioning data indoors Setting up a Differential GPS antenna to provide accurate GPS positioning indoors 37

A few possibilities for indoor positioning: Pedometer algorithm (pedestrian application) Rotary Encoder (for wheeled robot application) 3D Camera Pseudolite / Differential GPS antenna (indoor GPS) Data acquisition program has been ported to Python and tested on the BeagleBone Black The BeagleBone Black is similar but more versatile Passing on Python code may be easier Enables direct interfacing of analog accelerometers via several analog-to-digital converter inputs Future Project Potential 38

Conclusion Project Outcomes Future Project Potential Acknowledgements 39

Questions? References… [1] D. H. Titterton, and J. L. Weston. Strapdown Inertial Navigation Technology. Stevenage: Institution of Electrical Engineers, 2004. [2] GPS Datasheet: https://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/GPS/Venus/638/doc/Venus638FLPx_DS_v07.pdf [3] MPU-9150 Datasheet: http://www.invensense.com/mems/gyro/documents/PS-MPU-9150A-00v4_3.pdf [4] BMP180 Datasheet: http://www.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf [5] RTIMULib (Kalman-filtered quaternion code): https://github.com/richards-tech/RTIMULib 40

Testing Rigor Two additional MPU-9150 units tested MPU-9150 tested at 100, 50, 25, and 20 Hz Over 60 data samples taken across 24 major code revisions q1

Cost Comparision Source: “A Comparative Evaluation of Low-Cost IMUs for Unmanned Autonomous Systems” MPU9150 Datasheet

Kalman Filter Specifics “RTIMULib” code from richards-tech 4 Kalman filter states (4-D quaternion) Corrected by pose data from accelerometer and magnetometer Output is Kalman-filtered Euler pose or quaternion q2

Rotation of Acceleration Data Quaternion: Attitude representation Determined by Gyroscope yaw, pitch, and roll Can be used to quickly rotate a vector in 3D space Rotation of Accel vector using a Quaternion: Pout = Q * Pin * conj(Q) Where Pin = [ 0 , AX , AY , AZ ] Q = [QW, QX, QY, QZ] q3

Post-Processing Methods Filter Noise Take idle period and find min/max for each axis Remove any value +/- this sum Remove Stationary Bias Find shifted noise floor (mean stationary accel) Subtract average value from shift Remove Bias during Motion All points between shifted noise floors are slopes Assuming slope is linear, subtract sloped value. q4

Post Processing Filtering q5

Post Processing Filtering q6

Post Processing Filtering q7

Differential GPS Coverage Source: United States Coast Guard Navigation Center q8