{"id":26151956,"url":"https://github.com/abougouffa/ndtpso_slam","last_synced_at":"2026-03-01T15:01:56.708Z","repository":{"id":77740032,"uuid":"221673541","full_name":"abougouffa/ndtpso_slam","owner":"abougouffa","description":"ROS package for NDT-PSO, a 2D Laser scan matching algorithm for SLAM","archived":false,"fork":false,"pushed_at":"2026-02-11T22:23:57.000Z","size":197,"stargazers_count":65,"open_issues_count":2,"forks_count":19,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-12T07:17:59.529Z","etag":null,"topics":["alignement","lidar","ndt","ndt-pso","ndtpso-slam","normal-distribution","scan-matching","slam","slam-algorithms"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abougouffa.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}},"created_at":"2019-11-14T10:43:02.000Z","updated_at":"2026-02-11T22:24:01.000Z","dependencies_parsed_at":"2025-04-14T05:33:35.968Z","dependency_job_id":"cb9ad3ad-a86b-4116-a2c3-d823ccdbaac9","html_url":"https://github.com/abougouffa/ndtpso_slam","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/abougouffa/ndtpso_slam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abougouffa%2Fndtpso_slam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abougouffa%2Fndtpso_slam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abougouffa%2Fndtpso_slam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abougouffa%2Fndtpso_slam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abougouffa","download_url":"https://codeload.github.com/abougouffa/ndtpso_slam/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abougouffa%2Fndtpso_slam/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29973105,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T14:44:57.896Z","status":"ssl_error","status_checked_at":"2026-03-01T14:43:27.662Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["alignement","lidar","ndt","ndt-pso","ndtpso-slam","normal-distribution","scan-matching","slam","slam-algorithms"],"created_at":"2025-03-11T06:55:15.401Z","updated_at":"2026-03-01T15:01:56.688Z","avatar_url":"https://github.com/abougouffa.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"NDTPSO-SLAM\n===========\n\nNDTPSO-SLAM is a ROS package which provides an enhanced implementation of the scan matching algorithm proposed in [^art] and [^conf].\nIt uses NDT (Normal Distribution Transform) to model the environment and PSO (Particle Swarm Optimisation) to perform the scan matching optimization and solve the pose problem.\n\nThis package has been tested with ROS Melodic on Ubuntu 18.04, however; it should work with newer ROS1 versions.\n\nThis project is devided to two parts, the `libndtpso_slam` which is a C++ library that implements the proposed scan matching method, and in the other part, the ROS node `ndtpso_slam_node` which provides the ROS interface to this library.\n\nAbdelhak BOUGOUFFA\n\u003c`abdelhak [dot] bougouffa [at] murena [dot] io`\u003e\n\n### If you used this work, please cite:\n- **Sara BOURAINE**, **Abdelhak BOUGOUFFA** and **Ouahiba AZOUAOUI**, _Particle Swarm Optimization for Solving a Scan-Matching Problem Based on the Normal Distributions Transform_, [`10.1007/s12065-020-00545-y`](https://doi.org/10.1007/s12065-020-00545-y), Evolutionary Intelligence, Jan 2021. [Download PDF ⏬](https://abougouffa.github.io/pdf/2021-PSO-Scan-Matching.pdf)\n- **Sara BOURAINE**, **Abdelhak BOUGOUFFA** and **Ouahiba AZOUAOUI**, _NDT-PSO, a New NDT based SLAM Approach using Particle Swarm Optimization_, [`10.1109/ICARCV50220.2020.9305519`](https://doi.org/10.1109/ICARCV50220.2020.9305519), 16th International Conference on Control, Automation, Robotics and Vision (ICARCV 2020), Dec 2020. [Download PDF ⏬](https://abougouffa.github.io/pdf/2020-NDT-PSO.pdf)\n\n# Build NDTPSO-SLAM\nThis package has been tested on ROS Melodic and ROS Noetic\n\n## Dependencies\n1. Eigen3 (can be installed from package manager)\n2. OpenCV3+ (OPTIONAL: used to export map image)\n\nTo build NDTPSO-SLAM, clone it to your ROS Catkin workspace.\n\n```shell\ncd path/to/catkin_ws/src\ngit clone https://github.com/abougouffa/ndtpso_slam.git\ncd ..\ncatkin_make --pkg ndtpso_slam\n```\n\n# Using the provided node\nYou can edit the provided launch files to fit your LiDAR topic name and run:\n\n```shell\nroslaunch ndtpso_slam scan.launch\n```\n\n[^art]: **Sara BOURAINE**, **Abdelhak BOUGOUFFA** and **Ouahiba AZOUAOUI**, _Particle Swarm Optimization for Solving a Scan-Matching Problem Based on the Normal Distributions Transform_, [`10.1007/s12065-020-00545-y`](https://doi.org/10.1007/s12065-020-00545-y), Evolutionary Intelligence, Jan 2021. [Download PDF](https://abougouffa.github.io/pdf/2021-PSO-Scan-Matching.pdf)\n\n[^conf]: **Sara BOURAINE**, **Abdelhak BOUGOUFFA** and **Ouahiba AZOUAOUI**, _NDT-PSO, a New NDT based SLAM Approach using Particle Swarm Optimization_, [`10.1109/ICARCV50220.2020.9305519`](https://doi.org/10.1109/ICARCV50220.2020.9305519), 16th International Conference on Control, Automation, Robotics and Vision (ICARCV 2020), Dec 2020. [Download PDF](https://abougouffa.github.io/pdf/2020-NDT-PSO.pdf)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabougouffa%2Fndtpso_slam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabougouffa%2Fndtpso_slam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabougouffa%2Fndtpso_slam/lists"}