{"id":17062682,"url":"https://github.com/stevemacenski/nonpersistent_voxel_layer","last_synced_at":"2025-10-18T14:41:53.109Z","repository":{"id":28253186,"uuid":"113785297","full_name":"SteveMacenski/nonpersistent_voxel_layer","owner":"SteveMacenski","description":"ROS drop in replacement to the voxel layer which does not persist readings through iterations when ray tracing or map maintenance is undesirable","archived":false,"fork":false,"pushed_at":"2025-02-04T23:43:59.000Z","size":60,"stargazers_count":45,"open_issues_count":0,"forks_count":16,"subscribers_count":6,"default_branch":"ros2","last_synced_at":"2025-03-24T09:45:29.693Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://wiki.ros.org/nonpersistent_voxel_grid","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/SteveMacenski.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":"2017-12-10T21:34:09.000Z","updated_at":"2025-02-07T00:39:01.000Z","dependencies_parsed_at":"2025-01-09T10:13:39.636Z","dependency_job_id":"fa77eb63-b59d-4649-a776-44c4bd8c8fc2","html_url":"https://github.com/SteveMacenski/nonpersistent_voxel_layer","commit_stats":{"total_commits":43,"total_committers":7,"mean_commits":6.142857142857143,"dds":"0.16279069767441856","last_synced_commit":"f791f75ff3fa6737b4d850e3c058333931c08273"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteveMacenski%2Fnonpersistent_voxel_layer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteveMacenski%2Fnonpersistent_voxel_layer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteveMacenski%2Fnonpersistent_voxel_layer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteveMacenski%2Fnonpersistent_voxel_layer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SteveMacenski","download_url":"https://codeload.github.com/SteveMacenski/nonpersistent_voxel_layer/tar.gz/refs/heads/ros2","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248662268,"owners_count":21141544,"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":[],"created_at":"2024-10-14T10:50:30.766Z","updated_at":"2025-10-18T14:41:48.068Z","avatar_url":"https://github.com/SteveMacenski.png","language":"C++","funding_links":["https://www.buymeacoffee.com/stevemacenski"],"categories":[],"sub_categories":[],"readme":"# nonpersistent_voxel_layer\n\n\u003ca href=\"https://www.buymeacoffee.com/stevemacenski\" target=\"_blank\"\u003e\u003cimg src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\" alt=\"Buy Me A Coffee\" style=\"height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;\" \u003e\u003c/a\u003e\n\nROS2 drop in replacement to the voxel layer which does not persist readings through iterations when ray tracing or map maintenance is undesirable.\n\nBloom released, install via \n\n```\nsudo apt-get update \u0026\u0026 sudo apt-get install ros-eloquent-nonpersistent-voxel-layer\n```\n\nCreated in response to need for a rolling local costmap layer to not persist readings due to a specific sensor being used. After looking through the community, it seems several people on ros answers have asked for a similar tool. This is to make that possible. This also helps with sensors like sonars, blob marking, radars, etc that aren't dense enough to clear effectively.  \n\nhttp://wiki.ros.org/nonpersistent_voxel_grid\n\n## Example Use\n\n### in costmap commons\n```\n    global_costmap:\n      global_costmap:\n        ros__parameters:\n          nonpersisting_obstacle_layer:\n            plugin: nav2_costmap_2d/NonPersistentVoxelLayer\n            enabled:              true\n            track_unknown_space:  true\n            max_obstacle_height:  1.8\n            unknown_threshold:    15\n            mark_threshold:       2\n            combination_method:   1\n            obstacle_range: 3.0\n            origin_z: 0.\n            z_resolution: 0.05\n            z_voxels: 16\n            publish_voxel_map: true\n            observation_sources: rgbd\n            rgbd:\n              data_type: PointCloud2\n              topic: camera/depth/points\n              marking: true\n              min_obstacle_height: 0.7\n              max_obstacle_height: 1.7\n```\n### in list of plugins for local/global\n```\n    global_costmap:\n      global_costmap:\n        ros__parameters:\n          use_sim_time: True\n          plugin_names: [\"static_layer\", \"nonpersisting_obstacle_layer\"]\n```\n\n## parameters \nParameters as the same as found in the voxel layer, except the clearing bits. See the Voxel Layer API. The above example is a good minimum working example\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevemacenski%2Fnonpersistent_voxel_layer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstevemacenski%2Fnonpersistent_voxel_layer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevemacenski%2Fnonpersistent_voxel_layer/lists"}