{"id":31802044,"url":"https://github.com/levichen1126/gnss-dualrtk-heading","last_synced_at":"2026-05-15T01:35:13.649Z","repository":{"id":312682931,"uuid":"1048030056","full_name":"LeviChen1126/GNSS-DualRTK-Heading","owner":"LeviChen1126","description":"ROS package for dual RTK-GPS based heading estimation (with GNSS-Localizer integration), enabling accurate orientation for autonomous vehicle navigation.","archived":false,"fork":false,"pushed_at":"2025-09-01T09:48:00.000Z","size":86,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-01T11:50:54.692Z","etag":null,"topics":["autonomous-driving","gnss","heading","localization","ros","rtk-gps"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LeviChen1126.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-31T18:59:56.000Z","updated_at":"2025-09-01T10:01:55.000Z","dependencies_parsed_at":"2025-09-01T11:50:58.495Z","dependency_job_id":"442142cb-2c20-4f8e-a333-68a4888cea50","html_url":"https://github.com/LeviChen1126/GNSS-DualRTK-Heading","commit_stats":null,"previous_names":["levichen1126/gnss-dualrtk-heading"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/LeviChen1126/GNSS-DualRTK-Heading","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeviChen1126%2FGNSS-DualRTK-Heading","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeviChen1126%2FGNSS-DualRTK-Heading/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeviChen1126%2FGNSS-DualRTK-Heading/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeviChen1126%2FGNSS-DualRTK-Heading/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LeviChen1126","download_url":"https://codeload.github.com/LeviChen1126/GNSS-DualRTK-Heading/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeviChen1126%2FGNSS-DualRTK-Heading/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005657,"owners_count":26083941,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["autonomous-driving","gnss","heading","localization","ros","rtk-gps"],"created_at":"2025-10-11T00:16:19.015Z","updated_at":"2025-10-11T00:16:23.534Z","avatar_url":"https://github.com/LeviChen1126.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GNSS-DualRTK-Heading\n\n[中文版本](./README_zh-TW.md)  \n\nThis package uses **dual RTK-GPS antennas** to calculate heading, solving the problem where autonomous vehicles cannot automatically determine the facing direction at startup.  \n\n---\n\n## Features\n- Publishes `/heading`, `gnss_pose`, and related results for use with GNSS-Localizer, NDT-Matching, and other modules.  \n- Works together with GNSS-Localizer to form a complete localization system: *precise local coordinates + heading*.\n\n---\n\n## RQT Graph\n![](./images/rqt_graph.jpg)\n\n---\n\n## Development Environment\n- Ubuntu 18.04  \n- ROS (Melodic)  \n- C++17  \n- CMake 3.10+  \n- ROS packages: `roscpp`, `sensor_msgs`, `geometry_msgs`, `std_msgs`, `tf`  \n- Runtime dependency: `nmea_navsat_driver`  \n\n---\n\n## Installation / Usage Example\n```bash\ncd ~/catkin_ws/src\ngit clone https://github.com/LeviChen1126/GNSS-DualRTK-Heading.git\ncd ..\ncatkin_make\nsource devel/setup.bash\n```\n\n---\n\n## Run\n### 1. Start GPS drivers\n```bash\nroslaunch gnss_dualrtk_heading dual_gps_serial.launch port1:=/dev/ttyACM0 port2:=/dev/ttyACM1 baud:=19200\n```\n\nOr use rosbag / test mode:\n```bash\nroslaunch gnss_dualrtk_heading dual_gps_topic_test.launch\n```\n\n### 2. Start the Heading Node\n```bash\nroslaunch gnss_dualrtk_heading dualrtk_heading.launch\n``` \n\n---\n\n## Launch Files\n- **dual_gps_serial.launch**: Starts two serial RTK-GPS devices simultaneously → `/fix`, `/fix_2`  \n- **dual_gps_topic_test.launch**: Test mode without serial, runs only topic drivers  \n- **dualrtk_heading.launch**: Starts the heading node and loads `gnss_dualrtk.yaml`  \n\n---\n\n## Project Structure\n```\nGNSS-DualRTK-Heading/\n ├── launch/\n │    ├── dualrtk_heading.launch\n │    ├── dual_gps_serial.launch\n │    └── dual_gps_topic_test.launch\n ├── config/\n │    └── gnss_dualrtk.yaml\n ├── src/\n │    └── dualrtk_heading_node.cpp\n ├── images/\n │    └── rqt_graph.jpg\n ├── .gitattributes\n ├── .gitignore\n ├── CMakeLists.txt\n ├── package.xml\n ├── README.md\n └── LICENSE\n```\n\n---\n\n## License \u0026 Acknowledgment\n- [MIT License](./LICENSE)  \n- [Autoware](https://www.autoware.org/)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevichen1126%2Fgnss-dualrtk-heading","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flevichen1126%2Fgnss-dualrtk-heading","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevichen1126%2Fgnss-dualrtk-heading/lists"}