{"id":13717003,"url":"https://github.com/iris-ua/iris_lama","last_synced_at":"2025-05-07T06:31:50.934Z","repository":{"id":46526267,"uuid":"212095179","full_name":"iris-ua/iris_lama","owner":"iris-ua","description":"LaMa - A Localization and Mapping library","archived":false,"fork":false,"pushed_at":"2024-03-11T19:28:20.000Z","size":987,"stargazers_count":336,"open_issues_count":7,"forks_count":72,"subscribers_count":22,"default_branch":"master","last_synced_at":"2024-11-14T05:33:46.507Z","etag":null,"topics":["localization","mapping","robotics","slam"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iris-ua.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE.txt","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":"2019-10-01T12:52:04.000Z","updated_at":"2024-11-10T07:36:54.000Z","dependencies_parsed_at":"2024-01-05T23:54:20.105Z","dependency_job_id":"be0a5acb-34e1-42fc-a4c9-d6cba780d118","html_url":"https://github.com/iris-ua/iris_lama","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iris-ua%2Firis_lama","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iris-ua%2Firis_lama/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iris-ua%2Firis_lama/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iris-ua%2Firis_lama/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iris-ua","download_url":"https://codeload.github.com/iris-ua/iris_lama/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252826892,"owners_count":21810200,"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","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":["localization","mapping","robotics","slam"],"created_at":"2024-08-03T00:01:16.600Z","updated_at":"2025-05-07T06:31:49.743Z","avatar_url":"https://github.com/iris-ua.png","language":"C++","funding_links":[],"categories":["Simultaneous Localization and Mapping","Libraries and Frameworks"],"sub_categories":["Lidar","SLAM"],"readme":"LaMa - A Localization and Mapping library.\n==========================================\nhttps://github.com/iris-ua/iris_lama\n\n![Build](https://github.com/iris-ua/iris_lama/workflows/Build/badge.svg)\n\nDeveloped and maintained by Eurico Pedrosa, University of Aveiro (C) 2019.\n\nOverview\n--------\nLaMa is a C++11 software library for robotic localization and mapping developed at the **Intelligent Robotics and Systems** (IRIS) Laboratory from the University of Aveiro - Portugal. It includes a framework for 3D volumetric grids (for mapping), a localization algorithm based on scan matching and two SLAM solution (an *Online SLAM* and a *Particle Filter SLAM*).\n\nThe main feature is *efficiency*. Low computational effort and low memory usage whenever possible. The minimum viable computer to run our localization and SLAM solutions is a [Raspberry Pi 3 Model B+](https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/).\n\n#### Build\n\nTo build LaMa, clone it from GitHub and use CMake to build.\n```\n$ git clone https://github.com/iris-ua/iris_lama\n$ cd iris_lama\n$ mkdir build\n$ cd build\n$ cmake ..\n```\nIts only dependency is [Eigen3](http://eigen.tuxfamily.org).\n**Note**: LaMa does not provide any executable. For an example on how to use it, please take a look at our integration with ROS.\n\n#### Integration with ROS \n\nThe source code contains `package.xml` so that it can be used as a library from external ros packages.\nWe provide ROS nodes to run the localization and the two SLAM solutions. Please go to [iris_lama_ros](https://github.com/iris-ua/iris_lama_ros) for more information.\n\n\nSparse-Dense Mapping (SDM)\n--------------------------\nSparse-Dense Mapping (SDM) is a framework for efficient implementation of 3D volumetric grids. Its divides space into small dense *patches* addressable by a sparse data-structure. To improve memory usage each individual *patch* can be compressed during live operations using lossless data compression (currently [lz4](https://github.com/lz4/lz4) and [Zstandard](https://github.com/facebook/zstd)) with *low overhead*.\nIt can be a replacement for [OctoMap](https://octomap.github.io/).\n\nCurrently it has the following grid maps implemented:\n* **Distance Map**: It provides the distance to the closest occupied cells in the map. We provide the `DynamicDistanceMap` which is an implementation of the dynamic Euclidean map proposed by:\n    \u003e B. Lau, C. Sprunk, and W. Burgard \n    \u003e **Efficient Grid-Based Spatial Representations for Robot Navigation in Dynamic Environments**\n    \u003e Robotics and Autonomous Systems, 61 (10), 2013, pp. 1116-1130, Elsevier\n\n* **Occupancy Map**: The most common representation of the environment used in robotics. Three (3) variants of the occupancy map are provided: a `SimpleOccupancyMap` where each cell has a tri-state: *free*, *occupied* or *unknown*: a `ProbabilisticOccupancyMap` that encodes the occupancy probability of each cell with logods; and a `FrequencyOccupancyMap` that tracks the number of times a beam hits or traverses (miss) a cell and calculates a hit/miss ratio.\n\n\nFor more information about **SDM** please read\n\u003e Eurico Pedrosa, Artur Pereira, Nuno Lau\\\n\u003e **A Sparse-Dense Approach for Efficient Grid Mapping**\\\n\u003e 2018 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC)\n\nLocalization based on Scan Matching\n-----------------------------------\nWe provide a **fast** scan matching approach to mobile robot localization supported by a continuous likelihood field. It can be used to provide accurate localization for robots equipped with a laser and a *not so good* odometry. Nevertheless, a good odometry is always recommended.\n\n\u003e Eurico Pedrosa, Artur Pereira, Nuno Lau\\\n\u003e **Efficient Localization Based on Scan Matching with a Continuous Likelihood Field**\\\n\u003e 2017 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC)\n\nOnline SLAM\n-----------\n\nFor environments without considerable loops this solution can be accurate and very efficient. It can run in *real time* even on a low-spec computer (we have it running on a turtlebot with a raspberry pi 3B+). It uses our localization algorithm combined with a dynamic likelihood field to incrementally build an occupancy map.\n\nFor more information please read\n\u003e Eurico Pedrosa, Artur Pereira, Nuno Lau\\\n\u003e **A Non-Linear Least Squares Approach to SLAM using a Dynamic Likelihood Field**\\\n\u003e Journal of Intelligent \u0026 Robotic Systems 93 (3-4), 519-532\n\nMulti-threaded Particle Filter SLAM\n--------------------\n\nThis Particle Filter SLAM is a RBPF SLAM like [GMapping](https://openslam-org.github.io/) and it is the extension of the Online SLAM solution to multiple particles with multi-thread support. Our solution is capable of parallelizing both the localization and mapping processes. It uses a thread-pool to manage the number of working threads.\n\nEven without multi-threading, our solutions is a lightweight competitor against the heavyweight [GMapping](https://openslam-org.github.io/).\n\nFor more information please read\n\u003eEurico Pedrosa, Artur Pereira, Nuno Lau\\\n\u003e **Fast Grid SLAM Based on Particle Filter with Scan Matching and Multithreading**\\\n\u003e 2020 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC), Ponta Delgada, Portugal, 2020, pp. 194-199, doi: 10.1109/ICARSC49921.2020.9096191.\n\nGraph SLAM\n----------\n\nA really **fast** graph based solution.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firis-ua%2Firis_lama","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Firis-ua%2Firis_lama","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firis-ua%2Firis_lama/lists"}