{"id":29626368,"url":"https://github.com/kajilabteam/palkia","last_synced_at":"2025-08-30T05:07:50.787Z","repository":{"id":280853037,"uuid":"871009432","full_name":"kajiLabTeam/palkia","owner":"kajiLabTeam","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-05T16:52:42.000Z","size":2032,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-21T07:12:45.828Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/kajiLabTeam.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-10-11T05:00:28.000Z","updated_at":"2025-03-05T16:52:46.000Z","dependencies_parsed_at":"2025-03-05T17:40:24.907Z","dependency_job_id":"72d92b48-b771-4ebb-86da-6275f94a8cd4","html_url":"https://github.com/kajiLabTeam/palkia","commit_stats":null,"previous_names":["kajilabteam/palkia"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kajiLabTeam/palkia","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kajiLabTeam%2Fpalkia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kajiLabTeam%2Fpalkia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kajiLabTeam%2Fpalkia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kajiLabTeam%2Fpalkia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kajiLabTeam","download_url":"https://codeload.github.com/kajiLabTeam/palkia/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kajiLabTeam%2Fpalkia/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272805572,"owners_count":24995916,"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-08-30T02:00:09.474Z","response_time":77,"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":[],"created_at":"2025-07-21T07:05:59.137Z","updated_at":"2025-08-30T05:07:50.756Z","avatar_url":"https://github.com/kajiLabTeam.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Palkia - 屋内位置推定ライブラリ\n\nPalkia は屋内位置推定を実現するためのPythonライブラリです。PDR（Pedestrian Dead Reckoning）をベースとしており、マップマッチング、BLEビーコンを用いた位置補正などが可能です。\n\n## 機能\n\n- 歩行者デッドレコニング（PDR）による位置推定\n- 3次元空間での位置推定（階層対応）\n- センサーデータの前処理と後処理\n- マップマッチングによる位置補正\n- BLEビーコンを用いた位置精度の向上\n- 気圧データを用いた階層変化の検出\n\n## 依存ライブラリ\n\n- Python ≥ 3.10\n- NumPy\n- SciPy\n- pandas\n- matplotlib\n- scikit-learn\n\n## インストール\n\nPoetry を使用してインストールできます:\n\n```bash\npip install palkia\n```\n\nあるいはリポジトリをクローンして直接インストールすることもできます:\n\n```bash\ngit clone https://github.com/kajiLabTeam/palkia.git\ncd palkia\nmake install\n```\n\n## 要件\n\n- Python 3.10以上\n- Poetry（依存関係管理）\n\n## 使用例\n\n### 基本的な使用方法\n\n```python\nfrom palkia.positioning.pdr.step_estimator import StepEstimator\nfrom palkia.positioning.pdr.orientation_estimator import OrientationEstimator\nfrom palkia.positioning.pdr.trajectory_calculator import TrajectoryCalculator\nfrom palkia.positioning.pdr.pdr_estimator import PDREstimator\nfrom palkia.utils.data_loader import load_sensor_data_from_log\nfrom palkia.utils.visualizer import plot_trajectory\n\n# センサーデータの読み込み\nacc_data, gyro_data, _, _, _, _ = load_sensor_data_from_log(\"path/to/log_file.txt\")\n\n# PDRコンポーネントの初期化\nstep_estimator = StepEstimator()\norientation_estimator = OrientationEstimator()\ntrajectory_calculator = TrajectoryCalculator(initial_point={\"x\": 0, \"y\": 0})\n\n# PDR推定器の初期化\npdr_estimator = PDREstimator(\n    step_estimator,\n    orientation_estimator,\n    trajectory_calculator\n)\n\n# 軌跡の推定\ntrajectory = pdr_estimator.estimate_trajectory(acc_data, gyro_data)\n\n# 推定軌跡の可視化\nplot_trajectory(trajectory)\n```\n\n### 3次元位置推定\n\n```python\nfrom palkia.positioning.pdr.three_dimensional_estimator import ThreeDimensionalEstimator\n\n# 3D位置推定器の初期化\nthree_d_estimator = ThreeDimensionalEstimator(pdr_estimator)\n\n# 3D軌跡の推定\ntrajectory_3d = three_d_estimator.estimate_3d_trajectory(acc_data, gyro_data, baro_data)\n```\n\n### 位置補正の適用\n\n```python\nfrom palkia.positioning.correction.map_matching import MapMatchingCorrector\nfrom palkia.utils.floor_map import FloorMap\n\n# フロアマップの読み込み\nfloor_map = FloorMap(\n    floor_name=\"1F\",\n    floor_map_path=\"path/to/floor_map.bmp\",\n    dx=0.01,\n    dy=0.01\n)\n\n# マップマッチング補正器の初期化\nmap_matching = MapMatchingCorrector(floor_map)\n\n# 軌跡の補正\ncorrected_trajectory = map_matching.correct_trajectory(trajectory)\n```\n\n## 開発\n\n### 依存関係のインストール\n\n```bash\nmake install\n```\n\n### テスト実行\n\n```bash\nmake test\n```\n\n### リンターと型チェック\n\n```bash\nmake ci  # 実行：lint, format-check, pyright\n```\n\n### フォーマット修正\n\n```bash\nmake format-fix\n```\n\n## ディレクトリ構造\n\n```\npalkia/\n├── .github/workflows/    # GitHub Actions CI設定\n├── dist/                 # ビルド済みパッケージ\n├── docs/                 # ドキュメント\n│   ├── api_reference.md  # API リファレンス\n│   └── user_guide.md     # ユーザーガイド\n├── examples/             # 使用例\n│\n│\n│\n├── src/                  # ソースコード\n   ├── main.py           # メインエントリーポイント\n   └── palkia/           # コアライブラリ\n       ├── __init__.py\n       ├── const/        # 定数定義\n       ├── positioning/  # 位置推定アルゴリズム\n       │   ├── correction/ # 位置補正アルゴリズム\n       │   └── pdr/      # PDR関連コンポーネント\n       └── utils/        # ユーティリティ関数\n```\n\n\n## ライセンス\n\n[MIT License](LICENSE)\n\n## 貢献\n\nバグを発見した場合や機能リクエストがある場合は、GitHubのIssueを作成してください。プルリクエストも歓迎します。\n\n\n## 開発者\n\n- [Kaji Lab Team](https://github.com/kajiLabTeam)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkajilabteam%2Fpalkia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkajilabteam%2Fpalkia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkajilabteam%2Fpalkia/lists"}