RepositoryC++USUnited States
vatsl

vatsl/ParticleFilter

An implementation of the Particle Filter using C++ for the purposes of localization.

105stars
28forks
0issues
0views

🚗 Particle Filter định vị robot bằng C++

Bộ lọc hạt 2D trong C++, dùng bản đồ và dữ liệu cảm biến nhiễu để định vị robot chính xác.

Dự án ParticleFilter cài đặt bộ lọc hạt (particle filter) hai chiều bằng C++ nhằm giải quyết bài toán định vị robot. Tình huống giả đề: robot bị bỏ ở một vị trí mới, nhưng nó có bản đồ của khu vực, một ước lượng vị trí ban đầu tương tự GPS (có nhiễu), cùng với dữ liệu cảm biến và điều khiển (cũng nhiễu). Bộ lọc sẽ dự đoán vị trí thực của robot qua từng thời bước dựa trên các dữ liệu này.

✨ Điểm nổi bật

  • Bộ lọc hạt 2D bằng C++: triển khai hoàn chỉnh thuật toán particle filter để định vị trên mặt phẳng.
  • Dữ liệu đầu vào đa dạng: bao gồm bản đồ landmark, dữ liệu GPS nhiễu ban đầu, dữ liệu điều khiển (tốc độ và yaw rate), và dữ liệu quan sát từ cảm biến.
  • Hỗ trợ bản đồ landmark: đọc từ map_data.txt chứa tọa độ và ID của các điểm đánh dấu.
  • Xử lý dữ liệu cảm biến nhiễu: xử lý quan sát từ khoảng 2000 tệp trong thư mục observation, mỗi file tương ứng với một thời bước.
  • Biến đổi hệ tọa độ: tự động chuyển đổi quan sát từ hệ tọa độ xe sang hệ tọa độ bản đồ.
  • Dễ chạy với script: chỉ cần chạy ./clean.sh, ./build.sh, ./run.sh để biên dịch và thực thi.

💡 Vì sao đáng chú ý

Khác với các phương pháp định vị truyền thống chỉ dựa trên ước lượng duy nhất, bộ lọc hạt duy trì nhiều giả thuyết (hạt) đồng thời, cập nhật trọng số dựa trên xác suất quan sát. Điều này giúp bộ lọc vượt khỏng nhiễu từ GPS và cảm biến, cho kết quả định vị ổn định ngay cả khi môi trường có nhiễu lớn. Dự án phù hợp cho các hệ thống robot tự hành, đặc biệt trong môi trường gồm bóng đêm hoặc thiếu thông tin định vị chính xác.


#ParticleFilter #Robotics #Localization #Cplusplus #TiniX

Similar Projects

Discover other similar projects and AI models.

RepositoryC++
robotology/bayes-filters-lib

A flexible, modern, C++ recursive Bayesian estimation library.

77
Oct 8, 2025
RepositoryC++
tbrown122387/pf

PF: a header only template library for fast particle filtering!

61
Oct 14, 2026
RepositoryPython
nansencenter/DAPPER

Data Assimilation with Python: a Package for Experimental Research

416
Oct 12, 2026
RepositoryJulia
baggepinnen/LowLevelParticleFilters.jl

State estimation, smoothing and parameter estimation using Kalman and particle filters.

159
Oct 20, 2026
RepositoryPython
jfrascon/SLAM_AND_PATH_PLANNING_ALGORITHMS

This repository contains the solutions to all the exercises for the MOOC about SLAM and PATH-PLANNING algorithms given by professor Claus Brenner at Leibniz University. This repository also contains my personal notes, most of them in PDF format, and many vector graphics created by myself to illustrate the theoretical concepts. Hope you enjoy it! :)

156
Feb 4, 2019
RepositoryPython
leimao/Particle-Filter

Robot Localization in Maze Using Particle Filter

130
Jul 20, 2018
RepositoryR
kingaa/pomp

R package for statistical inference using partially observed Markov processes

123
Sep 20, 2026
RepositoryGo
milosgajdos/go-estimate

State estimation and filtering algorithms in Go

123
Mar 30, 2026
RepositoryMATLAB
sglvladi/TrackingX

An Object Oriented MATLAB toolkit for (Multi) Target Tracking.

111
Oct 6, 2020