{"id":33045778,"url":"https://github.com/taroz/gsdc2023","last_synced_at":"2026-01-21T01:37:33.457Z","repository":{"id":265695584,"uuid":"827121895","full_name":"taroz/gsdc2023","owner":"taroz","description":"Google Smartphone Decimeter Challenge 2023","archived":false,"fork":false,"pushed_at":"2025-01-15T07:36:19.000Z","size":338,"stargazers_count":64,"open_issues_count":1,"forks_count":15,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-01-15T09:31:40.525Z","etag":null,"topics":["fgo","gnss","imu","kaggle","localization","smarthome"],"latest_commit_sha":null,"homepage":"","language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/taroz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-11T04:08:26.000Z","updated_at":"2025-01-15T07:36:20.000Z","dependencies_parsed_at":"2024-11-30T15:42:29.024Z","dependency_job_id":null,"html_url":"https://github.com/taroz/gsdc2023","commit_stats":null,"previous_names":["taroz/gsdc2023"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/taroz/gsdc2023","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taroz%2Fgsdc2023","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taroz%2Fgsdc2023/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taroz%2Fgsdc2023/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taroz%2Fgsdc2023/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/taroz","download_url":"https://codeload.github.com/taroz/gsdc2023/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taroz%2Fgsdc2023/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28621915,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T23:49:58.628Z","status":"ssl_error","status_checked_at":"2026-01-20T23:47:29.996Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fgo","gnss","imu","kaggle","localization","smarthome"],"created_at":"2025-11-14T00:00:45.047Z","updated_at":"2026-01-21T01:37:33.452Z","avatar_url":"https://github.com/taroz.png","language":"MATLAB","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# Update\n- **Sep 24, 2024**: First public version, using GTSAM 4.0.3 in Ubuntu 20.04, pre-built binary gtsam_gnss distributed.\n- **Nov 30, 2024**: Upgraded to GTSAM 4.3a in Ubuntu 22.04, [gtsam_gnss](https://github.com/taroz/gtsam_gnss) was released in a separate repository, and Windows environment support added.\n\n# Overview\n- This repository provides the source code to reproduce the results of the [Google Smartphone Decimeter Challenge 2023](https://www.kaggle.com/competitions/smartphone-decimeter-2023) on Kaggle\n- Decimeter accurate position estimation was achieved using smartphone GNSS and IMU\n  - Public score: 0.789 m (1st)\n  - Private score:  0.928 m (2nd)\n- Factor Graph Optimization of GNSS and IMU for Smartphones\n- For details of the method, please refer to the following papers, presentations, and source code\n\n# Paper/Presentation\n```\nTaro Suzuki, \"An Open-Source Factor Graph Optimization Package for GNSS and IMU Integration in Smartphones,\" in Proceedings of the 37th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2024), 2024.\n```\n- [Paper](http://www.taroz.net/paper/IONGNSS2024_GSDC.pdf)\n- [Presentation](http://www.taroz.net/paper/IONGNSS2024_GSDC_ppt.pdf)\n\n# Test environments\n- Ubuntu 22.04 / Windows 11\n- MATLAB R2024a\n  - (Optional) Parallel Computing Toolbox\n\n# Requirements\n- [GTSAM](https://github.com/borglab/gtsam):\nFactor graph optimization library. Due to a problem with the MATLAB wrapper, please clone [GTSAM from my repository](https://github.com/taroz/gtsam-4.3a) instead of the original GTSAM and build it using the following procedure. For Windows, please refer to [this](https://github.com/taroz/gtsam_gnss/blob/main/BUILD_WINDOWS.md) build procedure.\n```shell\nsudo apt-get install -y git build-essential cmake libboost-all-dev libtbb-dev python3-pip\npip install pyparsing\ngit clone https://github.com/taroz/gtsam-4.3a.git\ncd gtsam-4.3a\nmkdir build \u0026\u0026 cd build\ncmake .. -DGTSAM_BUILD_UNSTABLE=OFF -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF -DGTSAM_BUILD_TESTS=OFF -DGTSAM_INSTALL_MATLAB_TOOLBOX=ON\nmake -j$(nproc)\nsudo make install\n```\n\n- [gtsam-gnss](https://github.com/taroz/gtsam_gnss): A small set of custom factors and MATLAB wrappers that use GTSAM for GNSS processing. For Windows, please refer to [this](https://github.com/taroz/gtsam_gnss/blob/main/BUILD_WINDOWS.md) build procedure.\n```shell\ngit clone https://github.com/taroz/gtsam_gnss.git\ncd gtsam_gnss\nmkdir build \u0026\u0026 cd build\ncmake ..\nmake\nsudo make install\nsudo ldconfig\n```\n\n- [MatRTKLIB](https://github.com/taroz/MatRTKLIB):\nMATLAB wrapper for RTKLIB.\n```shell\ngit clone https://github.com/taroz/MatRTKLIB.git\n```\nAdd the MatRTKLIB installation directory to the MATLAB search path.\n- [MatlabProgressBar](https://github.com/JAAdrian/MatlabProgressBar):\ntqdm like MATLAB progress bar.\n```shell\ngit clone https://github.com/JAAdrian/MatlabProgressBar.git\n```\nAdd the MatlabProgressBar installation directory to the MATLAB search path.\n\n# How to run\n1. Build and install all of the above dependent packages.\n2. Clone this repository.\n```shell\ngit clone https://github.com/taroz/gsdc2023.git\n```\n3. Download the pre-processed GSDC2023 data set (2.7GB).\n```shell\ncd gsdc2023\nwget http://www.taroz.net/data/dataset_2023.zip\nunzip dataset_2023.zip\n```\n4. In the case of Linux, due to the linker issue shown [here](https://github.com/borglab/gtsam/blob/develop/matlab/README.md), you need to run the following shell line before starting MATLAB from the same shell.\n```shell\nexport LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6\nmatlab\n```\n5. Before running MATLAB script, please check that the following two paths have been added to the MATLAB search path.\n```shell\n/path/to/MatRTKLIB\n/path/to/MatlabProgressBar\n```\n6. Run `run_fgo.m` in MATLAB.\n7. The submission file for Kaggle is generated in `results` directory. If you have Kaggle account, let's submit the estimation result to the [Google Smartphone Decimeter Challenge 2023](https://www.kaggle.com/competitions/smartphone-decimeter-2023) and evaluate the accuracy. You should get the following results.\n![](https://github.com/taroz/Misc/blob/master/data/kaggle/gsdc2023_score.jpg?raw=true)\n\n# Citation\n- Google Smartphone Decimeter Challenge 2023\n```\nTaro Suzuki, \"An Open-Source Factor Graph Optimization Package for GNSS and IMU Integration in Smartphones,\" in Proceedings of the 37th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2024), 2024.\n```\n- Google Smartphone Decimeter Challenge 2022\n```\nTaro Suzuki, \"Precise Position Estimation Using Smartphone Raw GNSS Data Based on Two-Step Optimization,\" Sensors 23, no. 3: 1205, 2023. doi.org/10.3390/s23031205\n```\n- [gtsam-gnss](https://github.com/taroz/gtsam_gnss)\n```\nTaro Suzuki, \"Open-Source Factor Graph Optimization Package for GNSS: Examples and Applications,\" 2025 IEEE/ION Position, Location and Navigation Symposium (PLANS), (accepted)\n```\n- [MatRTKLIB](https://github.com/taroz/MatRTKLIB)\n```\nUnder review\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaroz%2Fgsdc2023","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftaroz%2Fgsdc2023","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaroz%2Fgsdc2023/lists"}