{
  "id": 326764,
  "title": "[placeholder] experimental results on deep learning based GNSS localization.",
  "url": "/competitions/smartphone-decimeter-2022/discussion/326764",
  "author_name": "",
  "post_date": "2022-05-24T07:31:54.798303200Z",
  "votes": 20,
  "comment_count": 14,
  "views": 0,
  "content": "<p>this blog is to report my experiment results for using deep learning methods to solved GNSS-based localization problem in this challenge. </p>\n<p>It will be updated as i progress.</p>\n<p>it would take some time as this is my first attempt to use GPS data.</p>\n<p>[reference] paper:</p>\n<ul>\n<li>Improving GNSS Positioning using Neural Network-based Corrections<br>\n<a href=\"https://arxiv.org/pdf/2110.09581.pdf\" target=\"_blank\">https://arxiv.org/pdf/2110.09581.pdf</a></li>\n<li>Deep Learning-Based GNSS Network-Based Real-Time Kinematic Improvement for Autonomous Ground Vehicle Navigation</li>\n<li>Optimizing the Use of RTKLIB for Smartphone-Based GNSS Measurements<br>\n<a href=\"https://www.mdpi.com/1424-8220/22/10/3825\" target=\"_blank\">https://www.mdpi.com/1424-8220/22/10/3825</a></li>\n</ul>\n<p>my plan:</p>\n<hr>\n<p>week 1 (22-may): </p>\n<ul>\n<li><p>baseline approach (only interpolation based on  earth-centered, earth-fixed (ECEF) model<br>\n(you can see public notebook by <a href=\"https://www.kaggle.com/saitodevel01\" target=\"_blank\">@saitodevel01</a> <a href=\"https://www.kaggle.com/code/saitodevel01/gsdc2-baseline-submission\" target=\"_blank\">https://www.kaggle.com/code/saitodevel01/gsdc2-baseline-submission</a>, lb score 4.870)</p></li>\n<li><p>read and study about GPS system (e.g. from youtube lesson, blogs, etc)</p></li>\n<li><p>read and study IMU system</p></li>\n</ul>\n<p>week 2 (30-may): </p>\n<ul>\n<li><p>traditional filtering e.g. kalman filtering, WLS</p>\n<ul>\n<li>kalman filter (GNSS ony): lbscore 4.514/4.485 (<a href=\"https://www.kaggle.com/code/dienhoa/where-is-my-phone-kalman-filter-optuna\" target=\"_blank\">https://www.kaggle.com/code/dienhoa/where-is-my-phone-kalman-filter-optuna</a> by <a href=\"https://www.kaggle.com/dienhoa\" target=\"_blank\">@dienhoa</a>)</li>\n<li>this is the tutorial I follow for in depth understanding (it uses GPS and IMU): <br>\nOptimal State Estimator | Understanding Kalman Filters, Part 3 <br>\n<a href=\"https://www.youtube.com/watch?v=ul3u2yLPwU0\" target=\"_blank\">https://www.youtube.com/watch?v=ul3u2yLPwU0</a><br>\nOptimal State Estimator Algorithm | Understanding Kalman Filters, Part 4<br>\n<a href=\"https://www.youtube.com/watch?v=VFXf1lIZ3p8\" target=\"_blank\">https://www.youtube.com/watch?v=VFXf1lIZ3p8</a></li></ul></li>\n<li><p>learned bout python libs like RTKLIB (e.g. process delay, …, RINEX files.) </p>\n<ul>\n<li>using rtklib-py: local cv on valid sample is ~3.00. This no lb-score because for some train sample (about 5%), the estimation exhibit very high error.</li></ul></li>\n<li><p>read and study about kalman filtering</p></li>\n</ul>\n<p>week 3 (7-june): </p>\n<ul>\n<li>apply 2021 top solutions to this competition</li>\n</ul>\n<p>week 4 (14-june): </p>\n<ul>\n<li>the fun begins! design deep learning algorithm</li>\n</ul>",
  "messages": [
    {
      "id": "1799677",
      "postDate": "05/24/2022 07:31:54",
      "content": "<p>this blog is to report my experiment results for using deep learning methods to solved GNSS-based localization problem in this challenge. </p>\n<p>It will be updated as i progress.</p>\n<p>it would take some time as this is my first attempt to use GPS data.</p>\n<p>[reference] paper:</p>\n<ul>\n<li>Improving GNSS Positioning using Neural Network-based Corrections<br>\n<a href=\"https://arxiv.org/pdf/2110.09581.pdf\" target=\"_blank\">https://arxiv.org/pdf/2110.09581.pdf</a></li>\n<li>Deep Learning-Based GNSS Network-Based Real-Time Kinematic Improvement for Autonomous Ground Vehicle Navigation</li>\n<li>Optimizing the Use of RTKLIB for Smartphone-Based GNSS Measurements<br>\n<a href=\"https://www.mdpi.com/1424-8220/22/10/3825\" target=\"_blank\">https://www.mdpi.com/1424-8220/22/10/3825</a></li>\n</ul>\n<p>my plan:</p>\n<hr>\n<p>week 1 (22-may): </p>\n<ul>\n<li><p>baseline approach (only interpolation based on  earth-centered, earth-fixed (ECEF) model<br>\n(you can see public notebook by <a href=\"https://www.kaggle.com/saitodevel01\" target=\"_blank\">@saitodevel01</a> <a href=\"https://www.kaggle.com/code/saitodevel01/gsdc2-baseline-submission\" target=\"_blank\">https://www.kaggle.com/code/saitodevel01/gsdc2-baseline-submission</a>, lb score 4.870)</p></li>\n<li><p>read and study about GPS system (e.g. from youtube lesson, blogs, etc)</p></li>\n<li><p>read and study IMU system</p></li>\n</ul>\n<p>week 2 (30-may): </p>\n<ul>\n<li><p>traditional filtering e.g. kalman filtering, WLS</p>\n<ul>\n<li>kalman filter (GNSS ony): lbscore 4.514/4.485 (<a href=\"https://www.kaggle.com/code/dienhoa/where-is-my-phone-kalman-filter-optuna\" target=\"_blank\">https://www.kaggle.com/code/dienhoa/where-is-my-phone-kalman-filter-optuna</a> by <a href=\"https://www.kaggle.com/dienhoa\" target=\"_blank\">@dienhoa</a>)</li>\n<li>this is the tutorial I follow for in depth understanding (it uses GPS and IMU): <br>\nOptimal State Estimator | Understanding Kalman Filters, Part 3 <br>\n<a href=\"https://www.youtube.com/watch?v=ul3u2yLPwU0\" target=\"_blank\">https://www.youtube.com/watch?v=ul3u2yLPwU0</a><br>\nOptimal State Estimator Algorithm | Understanding Kalman Filters, Part 4<br>\n<a href=\"https://www.youtube.com/watch?v=VFXf1lIZ3p8\" target=\"_blank\">https://www.youtube.com/watch?v=VFXf1lIZ3p8</a></li></ul></li>\n<li><p>learned bout python libs like RTKLIB (e.g. process delay, …, RINEX files.) </p>\n<ul>\n<li>using rtklib-py: local cv on valid sample is ~3.00. This no lb-score because for some train sample (about 5%), the estimation exhibit very high error.</li></ul></li>\n<li><p>read and study about kalman filtering</p></li>\n</ul>\n<p>week 3 (7-june): </p>\n<ul>\n<li>apply 2021 top solutions to this competition</li>\n</ul>\n<p>week 4 (14-june): </p>\n<ul>\n<li>the fun begins! design deep learning algorithm</li>\n</ul>",
      "rawMarkdown": "this blog is to report my experiment results for using deep learning methods to solved GNSS-based localization problem in this challenge. \n\nIt will be updated as i progress.\n\nit would take some time as this is my first attempt to use GPS data.\n\n[reference] paper:\n- Improving GNSS Positioning using Neural Network-based Corrections\nhttps://arxiv.org/pdf/2110.09581.pdf\n- Deep Learning-Based GNSS Network-Based Real-Time Kinematic Improvement for Autonomous Ground Vehicle Navigation\n- Optimizing the Use of RTKLIB for Smartphone-Based GNSS Measurements\n https://www.mdpi.com/1424-8220/22/10/3825\n\nmy plan:\n\n---\n\nweek 1 (22-may): \n- baseline approach (only interpolation based on  earth-centered, earth-fixed (ECEF) model\n(you can see public notebook by @saitodevel01 https://www.kaggle.com/code/saitodevel01/gsdc2-baseline-submission, lb score 4.870)\n\n- read and study about GPS system (e.g. from youtube lesson, blogs, etc)\n- read and study IMU system\n\nweek 2 (30-may): \n- traditional filtering e.g. kalman filtering, WLS\n\n  - kalman filter (GNSS ony): lbscore 4.514/4.485 (https://www.kaggle.com/code/dienhoa/where-is-my-phone-kalman-filter-optuna by @dienhoa)\n  - this is the tutorial I follow for in depth understanding (it uses GPS and IMU): \nOptimal State Estimator | Understanding Kalman Filters, Part 3 \nhttps://www.youtube.com/watch?v=ul3u2yLPwU0\nOptimal State Estimator Algorithm | Understanding Kalman Filters, Part 4\nhttps://www.youtube.com/watch?v=VFXf1lIZ3p8\n\n- learned bout python libs like RTKLIB (e.g. process delay, ..., RINEX files.) \n  - using rtklib-py: local cv on valid sample is ~3.00. This no lb-score because for some train sample (about 5%), the estimation exhibit very high error.\n\n- read and study about kalman filtering\n\n\nweek 3 (7-june): \n- apply 2021 top solutions to this competition\n\nweek 4 (14-june): \n- the fun begins! design deep learning algorithm",
      "votes": null
    },
    {
      "id": "1800579",
      "postDate": "05/25/2022 04:05:08",
      "content": "<p>An Extendable Sensor Fusion Algorithm for Consumer Drone Positioning<br>\n<a href=\"https://www.youtube.com/watch?v=m7BPbx05Vro\" target=\"_blank\">https://www.youtube.com/watch?v=m7BPbx05Vro</a><br>\n<a href=\"https://github.com/betaBison/gnss-sensor-fusion\" target=\"_blank\">https://github.com/betaBison/gnss-sensor-fusion</a></p>\n<p>Extended Kalman Filter (EKF) for position estimation using raw GNSS signals, IMU data, and barometer. The provided raw GNSS data is from a Pixel 3 XL and the provided IMU &amp; barometer data is from a consumer drone flight log.</p>\n<p><img src=\"https://i.ibb.co/dmTy3nY/Selection-175.png\" alt=\"https://i.ibb.co/dmTy3nY/Selection-175.png\"></p>\n<hr>\n<p>these are open source that use sensor fusion (gyroscope, accelerator, magnetometer) to improve gnss localisation</p>\n<p>other: <br>\n<a href=\"https://github.com/maddevsio/mad-location-manager\" target=\"_blank\">https://github.com/maddevsio/mad-location-manager</a><br>\n<a href=\"https://github.com/sugbuv/EKF_IMU_GPS\" target=\"_blank\">https://github.com/sugbuv/EKF_IMU_GPS</a><br>\n<a href=\"https://maddevs.io/blog/reduce-gps-data-error-on-android-with-kalman-filter-and-accelerometer/\" target=\"_blank\">https://maddevs.io/blog/reduce-gps-data-error-on-android-with-kalman-filter-and-accelerometer/</a><br>\n<a href=\"https://github.com/yyccR/Location\" target=\"_blank\">https://github.com/yyccR/Location</a></p>",
      "rawMarkdown": "An Extendable Sensor Fusion Algorithm for Consumer Drone Positioning\nhttps://www.youtube.com/watch?v=m7BPbx05Vro\nhttps://github.com/betaBison/gnss-sensor-fusion\n\nExtended Kalman Filter (EKF) for position estimation using raw GNSS signals, IMU data, and barometer. The provided raw GNSS data is from a Pixel 3 XL and the provided IMU & barometer data is from a consumer drone flight log.\n\n![https://i.ibb.co/dmTy3nY/Selection-175.png](https://i.ibb.co/dmTy3nY/Selection-175.png)\n\n---\nthese are open source that use sensor fusion (gyroscope, accelerator, magnetometer) to improve gnss localisation\n\nother: \nhttps://github.com/maddevsio/mad-location-manager\nhttps://github.com/sugbuv/EKF_IMU_GPS\nhttps://maddevs.io/blog/reduce-gps-data-error-on-android-with-kalman-filter-and-accelerometer/\nhttps://github.com/yyccR/Location",
      "votes": null
    },
    {
      "id": "1800625",
      "postDate": "05/25/2022 05:18:13",
      "content": "<p>senor information: <br>\n<a href=\"https://developer.android.com/guide/topics/sensors/gnss\" target=\"_blank\">https://developer.android.com/guide/topics/sensors/gnss</a></p>\n<p>How to get one-meter location-accuracy from Android devices (Google I/O '18)<br>\n<a href=\"https://www.youtube.com/watch?v=vywGgSrGODU\" target=\"_blank\">https://www.youtube.com/watch?v=vywGgSrGODU</a></p>",
      "rawMarkdown": "senor information: \nhttps://developer.android.com/guide/topics/sensors/gnss\n\nHow to get one-meter location-accuracy from Android devices (Google I/O '18)\nhttps://www.youtube.com/watch?v=vywGgSrGODU",
      "votes": null
    },
    {
      "id": "1801003",
      "postDate": "05/25/2022 10:57:01",
      "content": "<p>noise level in test could be higher than that in train. hence optimum parameters learned from train may not be robost</p>",
      "rawMarkdown": "noise level in test could be higher than that in train. hence optimum parameters learned from train may not be robost",
      "votes": null
    },
    {
      "id": "1802467",
      "postDate": "05/26/2022 18:43:37",
      "content": "<p><a href=\"https://github.com/commaai/laika\" target=\"_blank\">https://github.com/commaai/laika</a></p>\n<p>this seems to be a good alternative to rtklib</p>",
      "rawMarkdown": "https://github.com/commaai/laika\n\nthis seems to be a good alternative to rtklib",
      "votes": null
    },
    {
      "id": "1802659",
      "postDate": "05/27/2022 02:31:38",
      "content": "<p>i have been learning about GNSS and processing from sratch. I have been going in circle for days and finally managed to  become clear. Here are some definitions that would be useful for beginner:</p>\n<ul>\n<li>Real Time Kinematic (RTK)</li>\n<li>Post Processed Kinematic (PPK)</li>\n<li>Precise point positioning (PPP)</li>\n</ul>\n<hr>\n<p>RINEX format</p>\n<ol>\n<li><p>Observation Data File (ext .o/.d)</p>\n<ul>\n<li>TIME of the measurement</li>\n<li>PSEUDO‐RANGE</li>\n<li>PHASE </li>\n<li>DOPPLER</li></ul></li>\n<li><p>Navigation Message File (ext .n)</p>\n<ul>\n<li>Predicted satellite ephemeris</li>\n<li>Predicted satellite clock correction model coefficients</li>\n<li>GPS system status information</li>\n<li>The GPS system ionospheric model</li></ul></li>\n</ol>\n<hr>\n<p>crx = Hatanaka Compressed RINEX<br>\nrnx = RINEX</p>\n<p>_GO = GPS Obs.<br>\n_MN = Nav. (All GNSS Constellations)</p>\n<hr>\n<p>example: </p>\n<ul>\n<li>nav file: AC0300USA_R_20201420000_01D_MN.rnx</li>\n<li>obs file: slac1420.20o</li>\n</ul>\n<p>you can use rtkplot_qt from rtklib to view the content of these file</p>",
      "rawMarkdown": "i have been learning about GNSS and processing from sratch. I have been going in circle for days and finally managed to  become clear. Here are some definitions that would be useful for beginner:\n\n- Real Time Kinematic (RTK)\n- Post Processed Kinematic (PPK)\n- Precise point positioning (PPP)\n\n---\n\nRINEX format\n1. Observation Data File (ext .o/.d)\n  - TIME of the measurement\n  - PSEUDO‐RANGE\n  - PHASE \n  - DOPPLER\n\n\n2. Navigation Message File (ext .n)\n  - Predicted satellite ephemeris\n  - Predicted satellite clock correction model coefficients\n  - GPS system status information\n  - The GPS system ionospheric model\n\n---\ncrx = Hatanaka Compressed RINEX\nrnx = RINEX\n\n_GO = GPS Obs.\n_MN = Nav. (All GNSS Constellations)\n\n\n---\nexample: \n- nav file: AC0300USA_R_20201420000_01D_MN.rnx\n- obs file: slac1420.20o\n\nyou can use rtkplot_qt from rtklib to view the content of these file",
      "votes": null
    },
    {
      "id": "1803995",
      "postDate": "05/28/2022 12:14:41",
      "content": "<p>external dataset?<br>\nseem to be  the competition data</p>\n<p>Fu, Guoyu (Michael), Khider, Mohammed, van Diggelen, Frank, \"Android Raw GNSS Measurement Datasets for Precise Positioning,\" Proceedings of the 33rd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2020), September 2020, pp. 1925-1937.</p>\n<p><a href=\"https://www.kaggle.com/datasets/google/android-smartphones-high-accuracy-datasets\" target=\"_blank\">https://www.kaggle.com/datasets/google/android-smartphones-high-accuracy-datasets</a></p>\n<p><a href=\"https://ibb.co/t3CJfQR\"><img src=\"https://i.ibb.co/25Kk2WJ/Selection-091.png\" alt=\"Selection-091\"></a></p>\n<p><a href=\"https://ibb.co/DrBFXT6\"><img src=\"https://i.ibb.co/Z2Qrs7w/Selection-092.png\" alt=\"Selection-092\"></a></p>\n<hr>\n<p>papers that cited this paper:<br>\n<a href=\"https://scholar.google.com/scholar?start=10&amp;hl=en&amp;as_sdt=2005&amp;sciodt=0,5&amp;cites=9456885048841387353&amp;scipsc=\" target=\"_blank\">https://scholar.google.com/scholar?start=10&amp;hl=en&amp;as_sdt=2005&amp;sciodt=0,5&amp;cites=9456885048841387353&amp;scipsc=</a></p>\n<p>unfortunately, the ION papers cannot be downloaded free</p>",
      "rawMarkdown": "external dataset?\nseem to be  the competition data\n\nFu, Guoyu (Michael), Khider, Mohammed, van Diggelen, Frank, \"Android Raw GNSS Measurement Datasets for Precise Positioning,\" Proceedings of the 33rd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2020), September 2020, pp. 1925-1937.\n\nhttps://www.kaggle.com/datasets/google/android-smartphones-high-accuracy-datasets\n\n<a href=\"https://ibb.co/t3CJfQR\"><img src=\"https://i.ibb.co/25Kk2WJ/Selection-091.png\" alt=\"Selection-091\" border=\"0\"></a>\n\n<a href=\"https://ibb.co/DrBFXT6\"><img src=\"https://i.ibb.co/Z2Qrs7w/Selection-092.png\" alt=\"Selection-092\" border=\"0\"></a>\n\n---\n\npapers that cited this paper:\nhttps://scholar.google.com/scholar?start=10&hl=en&as_sdt=2005&sciodt=0,5&cites=9456885048841387353&scipsc=\n\n\nunfortunately, the ION papers cannot be downloaded free",
      "votes": null
    },
    {
      "id": "1804137",
      "postDate": "05/28/2022 15:00:23",
      "content": "<p>It seems difficult for me to change the  format of the data in this competion to RTKlib.😲😲😲</p>",
      "rawMarkdown": "It seems difficult for me to change the  format of the data in this competion to RTKlib.😲😲😲",
      "votes": null
    },
    {
      "id": "1804274",
      "postDate": "05/28/2022 18:14:22",
      "content": "<p>where the ground truth come from?</p>\n<p>\"The measurement data we share in this paper, including sensor data and ground truth data, is collected from Google owned phones and truth-reference systems, by Google employed operators, in public areas. OSR and SSR correction data are collected by Verizon Inc., and SwiftNav Inc., respectively.\"</p>\n<p>definition of OSR and SSR :<br>\n<a href=\"https://www.geopp.de/ssr-vs-osr/\" target=\"_blank\">https://www.geopp.de/ssr-vs-osr/</a><br>\n<a href=\"https://rtklibexplorer.wordpress.com/2018/05/08/using-ssr-corrections-with-rtklib-for-ppp-solutions/\" target=\"_blank\">https://rtklibexplorer.wordpress.com/2018/05/08/using-ssr-corrections-with-rtklib-for-ppp-solutions/</a></p>\n<hr>\n<p>!!!!</p>\n<p><a href=\"https://www.swiftnav.com/google-smartphone-decimeter-challenge\" target=\"_blank\">https://www.swiftnav.com/google-smartphone-decimeter-challenge</a><br>\n<a href=\"https://github.com/swift-nav/google-sdc-corrections\" target=\"_blank\">https://github.com/swift-nav/google-sdc-corrections</a></p>",
      "rawMarkdown": "where the ground truth come from?\n\n\"The measurement data we share in this paper, including sensor data and ground truth data, is collected from Google owned phones and truth-reference systems, by Google employed operators, in public areas. OSR and SSR correction data are collected by Verizon Inc., and SwiftNav Inc., respectively.\"\n\ndefinition of OSR and SSR :\nhttps://www.geopp.de/ssr-vs-osr/\nhttps://rtklibexplorer.wordpress.com/2018/05/08/using-ssr-corrections-with-rtklib-for-ppp-solutions/\n\n---\n\n!!!!\n\nhttps://www.swiftnav.com/google-smartphone-decimeter-challenge\nhttps://github.com/swift-nav/google-sdc-corrections",
      "votes": null
    },
    {
      "id": "1804290",
      "postDate": "05/28/2022 18:27:37",
      "content": "<p><a href=\"https://ibb.co/3kqzKjJ\"><img src=\"https://i.ibb.co/vDGY9Tt/Selection-094.png\" alt=\"Selection-094\"></a><br>\n<a href=\"https://ibb.co/kxL23kC\"><img src=\"https://i.ibb.co/VtFYHr4/Selection-093.png\" alt=\"Selection-093\"></a></p>",
      "rawMarkdown": "<a href=\"https://ibb.co/3kqzKjJ\"><img src=\"https://i.ibb.co/vDGY9Tt/Selection-094.png\" alt=\"Selection-094\" border=\"0\"></a>\n<a href=\"https://ibb.co/kxL23kC\"><img src=\"https://i.ibb.co/VtFYHr4/Selection-093.png\" alt=\"Selection-093\" border=\"0\"></a>",
      "votes": null
    },
    {
      "id": "1804305",
      "postDate": "05/28/2022 18:37:23",
      "content": "<p>Machine-Learning Corrections for Improved Position Accuracy<br>\n<a href=\"https://insidegnss.com/deus-in-the-machina-machine-learning-corrections-for-improved-position-accuracy/\" target=\"_blank\">https://insidegnss.com/deus-in-the-machina-machine-learning-corrections-for-improved-position-accuracy/</a></p>",
      "rawMarkdown": "Machine-Learning Corrections for Improved Position Accuracy\nhttps://insidegnss.com/deus-in-the-machina-machine-learning-corrections-for-improved-position-accuracy/",
      "votes": null
    },
    {
      "id": "1804416",
      "postDate": "05/28/2022 23:39:00",
      "content": "<p>These resources were for last year's competition :) so yes! They could be relevant for this year as well.</p>",
      "rawMarkdown": "These resources were for last year's competition :) so yes! They could be relevant for this year as well.",
      "votes": null
    },
    {
      "id": "1804422",
      "postDate": "05/29/2022 00:01:45",
      "content": "<p>How to Merge Accelerometer with GPS to Accurately Predict Position and Velocity<br>\n<a href=\"https://www.youtube.com/watch?v=6M6wSLD-8M8\" target=\"_blank\">https://www.youtube.com/watch?v=6M6wSLD-8M8</a></p>",
      "rawMarkdown": "How to Merge Accelerometer with GPS to Accurately Predict Position and Velocity\nhttps://www.youtube.com/watch?v=6M6wSLD-8M8",
      "votes": null
    },
    {
      "id": "1804643",
      "postDate": "05/29/2022 09:55:24",
      "content": "<p>Deep Kalman filter: Simultaneous multi-sensor integration and modelling; A GNSS/IMU case study<br>\n<a href=\"https://www.researchgate.net/publication/324755115_Deep_Kalman_filter_Simultaneous_multi-sensor_integration_and_modelling_A_GNSSIMU_case_study\" target=\"_blank\">https://www.researchgate.net/publication/324755115_Deep_Kalman_filter_Simultaneous_multi-sensor_integration_and_modelling_A_GNSSIMU_case_study</a></p>",
      "rawMarkdown": "Deep Kalman filter: Simultaneous multi-sensor integration and modelling; A GNSS/IMU case study\nhttps://www.researchgate.net/publication/324755115_Deep_Kalman_filter_Simultaneous_multi-sensor_integration_and_modelling_A_GNSSIMU_case_study",
      "votes": null
    },
    {
      "id": "1804798",
      "postDate": "05/29/2022 13:16:44",
      "content": "<p>A Comparison of Net_Diff and RTKLIB.pdf<br>\n<a href=\"https://github.com/YizeZhang/Net_Diff\" target=\"_blank\">https://github.com/YizeZhang/Net_Diff</a></p>",
      "rawMarkdown": "A Comparison of Net_Diff and RTKLIB.pdf\nhttps://github.com/YizeZhang/Net_Diff",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1800579,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "05/25/2022 04:05:08",
      "content": "<p>An Extendable Sensor Fusion Algorithm for Consumer Drone Positioning<br>\n<a href=\"https://www.youtube.com/watch?v=m7BPbx05Vro\" target=\"_blank\">https://www.youtube.com/watch?v=m7BPbx05Vro</a><br>\n<a href=\"https://github.com/betaBison/gnss-sensor-fusion\" target=\"_blank\">https://github.com/betaBison/gnss-sensor-fusion</a></p>\n<p>Extended Kalman Filter (EKF) for position estimation using raw GNSS signals, IMU data, and barometer. The provided raw GNSS data is from a Pixel 3 XL and the provided IMU &amp; barometer data is from a consumer drone flight log.</p>\n<p><img src=\"https://i.ibb.co/dmTy3nY/Selection-175.png\" alt=\"https://i.ibb.co/dmTy3nY/Selection-175.png\"></p>\n<hr>\n<p>these are open source that use sensor fusion (gyroscope, accelerator, magnetometer) to improve gnss localisation</p>\n<p>other: <br>\n<a href=\"https://github.com/maddevsio/mad-location-manager\" target=\"_blank\">https://github.com/maddevsio/mad-location-manager</a><br>\n<a href=\"https://github.com/sugbuv/EKF_IMU_GPS\" target=\"_blank\">https://github.com/sugbuv/EKF_IMU_GPS</a><br>\n<a href=\"https://maddevs.io/blog/reduce-gps-data-error-on-android-with-kalman-filter-and-accelerometer/\" target=\"_blank\">https://maddevs.io/blog/reduce-gps-data-error-on-android-with-kalman-filter-and-accelerometer/</a><br>\n<a href=\"https://github.com/yyccR/Location\" target=\"_blank\">https://github.com/yyccR/Location</a></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1800625,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "05/25/2022 05:18:13",
      "content": "<p>senor information: <br>\n<a href=\"https://developer.android.com/guide/topics/sensors/gnss\" target=\"_blank\">https://developer.android.com/guide/topics/sensors/gnss</a></p>\n<p>How to get one-meter location-accuracy from Android devices (Google I/O '18)<br>\n<a href=\"https://www.youtube.com/watch?v=vywGgSrGODU\" target=\"_blank\">https://www.youtube.com/watch?v=vywGgSrGODU</a></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1801003,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "05/25/2022 10:57:01",
      "content": "<p>noise level in test could be higher than that in train. hence optimum parameters learned from train may not be robost</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1802467,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "05/26/2022 18:43:37",
      "content": "<p><a href=\"https://github.com/commaai/laika\" target=\"_blank\">https://github.com/commaai/laika</a></p>\n<p>this seems to be a good alternative to rtklib</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1802659,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "05/27/2022 02:31:38",
      "content": "<p>i have been learning about GNSS and processing from sratch. I have been going in circle for days and finally managed to  become clear. Here are some definitions that would be useful for beginner:</p>\n<ul>\n<li>Real Time Kinematic (RTK)</li>\n<li>Post Processed Kinematic (PPK)</li>\n<li>Precise point positioning (PPP)</li>\n</ul>\n<hr>\n<p>RINEX format</p>\n<ol>\n<li><p>Observation Data File (ext .o/.d)</p>\n<ul>\n<li>TIME of the measurement</li>\n<li>PSEUDO‐RANGE</li>\n<li>PHASE </li>\n<li>DOPPLER</li></ul></li>\n<li><p>Navigation Message File (ext .n)</p>\n<ul>\n<li>Predicted satellite ephemeris</li>\n<li>Predicted satellite clock correction model coefficients</li>\n<li>GPS system status information</li>\n<li>The GPS system ionospheric model</li></ul></li>\n</ol>\n<hr>\n<p>crx = Hatanaka Compressed RINEX<br>\nrnx = RINEX</p>\n<p>_GO = GPS Obs.<br>\n_MN = Nav. (All GNSS Constellations)</p>\n<hr>\n<p>example: </p>\n<ul>\n<li>nav file: AC0300USA_R_20201420000_01D_MN.rnx</li>\n<li>obs file: slac1420.20o</li>\n</ul>\n<p>you can use rtkplot_qt from rtklib to view the content of these file</p>",
      "votes": null,
      "replies": [
        {
          "id": 1804137,
          "author_name": "zekunn",
          "author_url": "",
          "post_date": "05/28/2022 15:00:23",
          "content": "<p>It seems difficult for me to change the  format of the data in this competion to RTKlib.😲😲😲</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1803995,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "05/28/2022 12:14:41",
      "content": "<p>external dataset?<br>\nseem to be  the competition data</p>\n<p>Fu, Guoyu (Michael), Khider, Mohammed, van Diggelen, Frank, \"Android Raw GNSS Measurement Datasets for Precise Positioning,\" Proceedings of the 33rd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2020), September 2020, pp. 1925-1937.</p>\n<p><a href=\"https://www.kaggle.com/datasets/google/android-smartphones-high-accuracy-datasets\" target=\"_blank\">https://www.kaggle.com/datasets/google/android-smartphones-high-accuracy-datasets</a></p>\n<p><a href=\"https://ibb.co/t3CJfQR\"><img src=\"https://i.ibb.co/25Kk2WJ/Selection-091.png\" alt=\"Selection-091\"></a></p>\n<p><a href=\"https://ibb.co/DrBFXT6\"><img src=\"https://i.ibb.co/Z2Qrs7w/Selection-092.png\" alt=\"Selection-092\"></a></p>\n<hr>\n<p>papers that cited this paper:<br>\n<a href=\"https://scholar.google.com/scholar?start=10&amp;hl=en&amp;as_sdt=2005&amp;sciodt=0,5&amp;cites=9456885048841387353&amp;scipsc=\" target=\"_blank\">https://scholar.google.com/scholar?start=10&amp;hl=en&amp;as_sdt=2005&amp;sciodt=0,5&amp;cites=9456885048841387353&amp;scipsc=</a></p>\n<p>unfortunately, the ION papers cannot be downloaded free</p>",
      "votes": null,
      "replies": [
        {
          "id": 1804274,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "05/28/2022 18:14:22",
          "content": "<p>where the ground truth come from?</p>\n<p>\"The measurement data we share in this paper, including sensor data and ground truth data, is collected from Google owned phones and truth-reference systems, by Google employed operators, in public areas. OSR and SSR correction data are collected by Verizon Inc., and SwiftNav Inc., respectively.\"</p>\n<p>definition of OSR and SSR :<br>\n<a href=\"https://www.geopp.de/ssr-vs-osr/\" target=\"_blank\">https://www.geopp.de/ssr-vs-osr/</a><br>\n<a href=\"https://rtklibexplorer.wordpress.com/2018/05/08/using-ssr-corrections-with-rtklib-for-ppp-solutions/\" target=\"_blank\">https://rtklibexplorer.wordpress.com/2018/05/08/using-ssr-corrections-with-rtklib-for-ppp-solutions/</a></p>\n<hr>\n<p>!!!!</p>\n<p><a href=\"https://www.swiftnav.com/google-smartphone-decimeter-challenge\" target=\"_blank\">https://www.swiftnav.com/google-smartphone-decimeter-challenge</a><br>\n<a href=\"https://github.com/swift-nav/google-sdc-corrections\" target=\"_blank\">https://github.com/swift-nav/google-sdc-corrections</a></p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1804290,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "05/28/2022 18:27:37",
          "content": "<p><a href=\"https://ibb.co/3kqzKjJ\"><img src=\"https://i.ibb.co/vDGY9Tt/Selection-094.png\" alt=\"Selection-094\"></a><br>\n<a href=\"https://ibb.co/kxL23kC\"><img src=\"https://i.ibb.co/VtFYHr4/Selection-093.png\" alt=\"Selection-093\"></a></p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1804416,
          "author_name": "chris62",
          "author_url": "",
          "post_date": "05/28/2022 23:39:00",
          "content": "<p>These resources were for last year's competition :) so yes! They could be relevant for this year as well.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1804305,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "05/28/2022 18:37:23",
      "content": "<p>Machine-Learning Corrections for Improved Position Accuracy<br>\n<a href=\"https://insidegnss.com/deus-in-the-machina-machine-learning-corrections-for-improved-position-accuracy/\" target=\"_blank\">https://insidegnss.com/deus-in-the-machina-machine-learning-corrections-for-improved-position-accuracy/</a></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1804422,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "05/29/2022 00:01:45",
      "content": "<p>How to Merge Accelerometer with GPS to Accurately Predict Position and Velocity<br>\n<a href=\"https://www.youtube.com/watch?v=6M6wSLD-8M8\" target=\"_blank\">https://www.youtube.com/watch?v=6M6wSLD-8M8</a></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1804643,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "05/29/2022 09:55:24",
      "content": "<p>Deep Kalman filter: Simultaneous multi-sensor integration and modelling; A GNSS/IMU case study<br>\n<a href=\"https://www.researchgate.net/publication/324755115_Deep_Kalman_filter_Simultaneous_multi-sensor_integration_and_modelling_A_GNSSIMU_case_study\" target=\"_blank\">https://www.researchgate.net/publication/324755115_Deep_Kalman_filter_Simultaneous_multi-sensor_integration_and_modelling_A_GNSSIMU_case_study</a></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1804798,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "05/29/2022 13:16:44",
      "content": "<p>A Comparison of Net_Diff and RTKLIB.pdf<br>\n<a href=\"https://github.com/YizeZhang/Net_Diff\" target=\"_blank\">https://github.com/YizeZhang/Net_Diff</a></p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1799677": "this blog is to report my experiment results for using deep learning methods to solved GNSS-based localization problem in this challenge. \n\nIt will be updated as i progress.\n\nit would take some time as this is my first attempt to use GPS data.\n\n[reference] paper:\n- Improving GNSS Positioning using Neural Network-based Corrections\nhttps://arxiv.org/pdf/2110.09581.pdf\n- Deep Learning-Based GNSS Network-Based Real-Time Kinematic Improvement for Autonomous Ground Vehicle Navigation\n- Optimizing the Use of RTKLIB for Smartphone-Based GNSS Measurements\n https://www.mdpi.com/1424-8220/22/10/3825\n\nmy plan:\n\n---\n\nweek 1 (22-may): \n- baseline approach (only interpolation based on  earth-centered, earth-fixed (ECEF) model\n(you can see public notebook by @saitodevel01 https://www.kaggle.com/code/saitodevel01/gsdc2-baseline-submission, lb score 4.870)\n\n- read and study about GPS system (e.g. from youtube lesson, blogs, etc)\n- read and study IMU system\n\nweek 2 (30-may): \n- traditional filtering e.g. kalman filtering, WLS\n\n  - kalman filter (GNSS ony): lbscore 4.514/4.485 (https://www.kaggle.com/code/dienhoa/where-is-my-phone-kalman-filter-optuna by @dienhoa)\n  - this is the tutorial I follow for in depth understanding (it uses GPS and IMU): \nOptimal State Estimator | Understanding Kalman Filters, Part 3 \nhttps://www.youtube.com/watch?v=ul3u2yLPwU0\nOptimal State Estimator Algorithm | Understanding Kalman Filters, Part 4\nhttps://www.youtube.com/watch?v=VFXf1lIZ3p8\n\n- learned bout python libs like RTKLIB (e.g. process delay, ..., RINEX files.) \n  - using rtklib-py: local cv on valid sample is ~3.00. This no lb-score because for some train sample (about 5%), the estimation exhibit very high error.\n\n- read and study about kalman filtering\n\n\nweek 3 (7-june): \n- apply 2021 top solutions to this competition\n\nweek 4 (14-june): \n- the fun begins! design deep learning algorithm",
    "1800579": "An Extendable Sensor Fusion Algorithm for Consumer Drone Positioning\nhttps://www.youtube.com/watch?v=m7BPbx05Vro\nhttps://github.com/betaBison/gnss-sensor-fusion\n\nExtended Kalman Filter (EKF) for position estimation using raw GNSS signals, IMU data, and barometer. The provided raw GNSS data is from a Pixel 3 XL and the provided IMU & barometer data is from a consumer drone flight log.\n\n![https://i.ibb.co/dmTy3nY/Selection-175.png](https://i.ibb.co/dmTy3nY/Selection-175.png)\n\n---\nthese are open source that use sensor fusion (gyroscope, accelerator, magnetometer) to improve gnss localisation\n\nother: \nhttps://github.com/maddevsio/mad-location-manager\nhttps://github.com/sugbuv/EKF_IMU_GPS\nhttps://maddevs.io/blog/reduce-gps-data-error-on-android-with-kalman-filter-and-accelerometer/\nhttps://github.com/yyccR/Location",
    "1800625": "senor information: \nhttps://developer.android.com/guide/topics/sensors/gnss\n\nHow to get one-meter location-accuracy from Android devices (Google I/O '18)\nhttps://www.youtube.com/watch?v=vywGgSrGODU",
    "1801003": "noise level in test could be higher than that in train. hence optimum parameters learned from train may not be robost",
    "1802467": "https://github.com/commaai/laika\n\nthis seems to be a good alternative to rtklib",
    "1802659": "i have been learning about GNSS and processing from sratch. I have been going in circle for days and finally managed to  become clear. Here are some definitions that would be useful for beginner:\n\n- Real Time Kinematic (RTK)\n- Post Processed Kinematic (PPK)\n- Precise point positioning (PPP)\n\n---\n\nRINEX format\n1. Observation Data File (ext .o/.d)\n  - TIME of the measurement\n  - PSEUDO‐RANGE\n  - PHASE \n  - DOPPLER\n\n\n2. Navigation Message File (ext .n)\n  - Predicted satellite ephemeris\n  - Predicted satellite clock correction model coefficients\n  - GPS system status information\n  - The GPS system ionospheric model\n\n---\ncrx = Hatanaka Compressed RINEX\nrnx = RINEX\n\n_GO = GPS Obs.\n_MN = Nav. (All GNSS Constellations)\n\n\n---\nexample: \n- nav file: AC0300USA_R_20201420000_01D_MN.rnx\n- obs file: slac1420.20o\n\nyou can use rtkplot_qt from rtklib to view the content of these file",
    "1803995": "external dataset?\nseem to be  the competition data\n\nFu, Guoyu (Michael), Khider, Mohammed, van Diggelen, Frank, \"Android Raw GNSS Measurement Datasets for Precise Positioning,\" Proceedings of the 33rd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2020), September 2020, pp. 1925-1937.\n\nhttps://www.kaggle.com/datasets/google/android-smartphones-high-accuracy-datasets\n\n<a href=\"https://ibb.co/t3CJfQR\"><img src=\"https://i.ibb.co/25Kk2WJ/Selection-091.png\" alt=\"Selection-091\" border=\"0\"></a>\n\n<a href=\"https://ibb.co/DrBFXT6\"><img src=\"https://i.ibb.co/Z2Qrs7w/Selection-092.png\" alt=\"Selection-092\" border=\"0\"></a>\n\n---\n\npapers that cited this paper:\nhttps://scholar.google.com/scholar?start=10&hl=en&as_sdt=2005&sciodt=0,5&cites=9456885048841387353&scipsc=\n\n\nunfortunately, the ION papers cannot be downloaded free",
    "1804137": "It seems difficult for me to change the  format of the data in this competion to RTKlib.😲😲😲",
    "1804274": "where the ground truth come from?\n\n\"The measurement data we share in this paper, including sensor data and ground truth data, is collected from Google owned phones and truth-reference systems, by Google employed operators, in public areas. OSR and SSR correction data are collected by Verizon Inc., and SwiftNav Inc., respectively.\"\n\ndefinition of OSR and SSR :\nhttps://www.geopp.de/ssr-vs-osr/\nhttps://rtklibexplorer.wordpress.com/2018/05/08/using-ssr-corrections-with-rtklib-for-ppp-solutions/\n\n---\n\n!!!!\n\nhttps://www.swiftnav.com/google-smartphone-decimeter-challenge\nhttps://github.com/swift-nav/google-sdc-corrections",
    "1804290": "<a href=\"https://ibb.co/3kqzKjJ\"><img src=\"https://i.ibb.co/vDGY9Tt/Selection-094.png\" alt=\"Selection-094\" border=\"0\"></a>\n<a href=\"https://ibb.co/kxL23kC\"><img src=\"https://i.ibb.co/VtFYHr4/Selection-093.png\" alt=\"Selection-093\" border=\"0\"></a>",
    "1804305": "Machine-Learning Corrections for Improved Position Accuracy\nhttps://insidegnss.com/deus-in-the-machina-machine-learning-corrections-for-improved-position-accuracy/",
    "1804416": "These resources were for last year's competition :) so yes! They could be relevant for this year as well.",
    "1804422": "How to Merge Accelerometer with GPS to Accurately Predict Position and Velocity\nhttps://www.youtube.com/watch?v=6M6wSLD-8M8",
    "1804643": "Deep Kalman filter: Simultaneous multi-sensor integration and modelling; A GNSS/IMU case study\nhttps://www.researchgate.net/publication/324755115_Deep_Kalman_filter_Simultaneous_multi-sensor_integration_and_modelling_A_GNSSIMU_case_study",
    "1804798": "A Comparison of Net_Diff and RTKLIB.pdf\nhttps://github.com/YizeZhang/Net_Diff"
  },
  "source": "meta"
}