{"id":29953692,"url":"https://github.com/mint-lab/bridge_local_mapper","last_synced_at":"2025-10-04T23:34:53.653Z","repository":{"id":303824306,"uuid":"845870613","full_name":"mint-lab/bridge_local_mapper","owner":"mint-lab","description":"A collection of local mappers for NRF-Bridge project","archived":false,"fork":false,"pushed_at":"2025-07-16T14:12:32.000Z","size":26076,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-03T15:17:57.413Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mint-lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-08-22T04:56:01.000Z","updated_at":"2025-04-09T07:39:07.000Z","dependencies_parsed_at":"2025-07-09T16:55:03.173Z","dependency_job_id":null,"html_url":"https://github.com/mint-lab/bridge_local_mapper","commit_stats":null,"previous_names":["mint-lab/bridge_local_mapper"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mint-lab/bridge_local_mapper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mint-lab%2Fbridge_local_mapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mint-lab%2Fbridge_local_mapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mint-lab%2Fbridge_local_mapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mint-lab%2Fbridge_local_mapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mint-lab","download_url":"https://codeload.github.com/mint-lab/bridge_local_mapper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mint-lab%2Fbridge_local_mapper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270579613,"owners_count":24610044,"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-15T02:00:12.559Z","response_time":110,"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-08-03T15:10:21.202Z","updated_at":"2025-10-04T23:34:48.571Z","avatar_url":"https://github.com/mint-lab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## bridge_local_planner\n\n_bridge\\_local\\_planner_는 NRF-Bridge 프로젝트에서 **지역 지도 작성 (local mapping)** 및 **지역 경로 생성 (local path planning; LPP)**을 위한 소프트웨어이다.\n\n\n\n### 1. 주요 기술 소개\n#### 1.1. Local Mappers\n* `o3d_mapper.py`: **Local mapper using Open3D plane detection**\n  * 지면 검출에 Open3D의 RANSAC 기반 plane detection을 이용한 local mapping 알고리즘\n  * Parameters\n    * `ransac_num_iters`: RANSAC 기반 plane detection의 (최대) 반복 횟수 (기본값: 1000)\n    * `ransac_num_samples`: Plane fitting에 사용될 점의 개수 (기본값: 3)\n    * `ransac_threshold`: Plane fitting 결과와 점 사이의 거리 임계값 (기본값: 0.05, 단위: [m])\n* `gconst_mapper.py`: **Local mapper with ground plane constraints**\n  * 지면의 제약조건과 RANSAC의 adaptive termination을 적용한 local mapping 알고리즘\n  * Additional parameters\n    * `ransac_min_iters`: RANSAC의 최소 반복 횟수 (기본값: 10)\n    * `ransac_confidence`: RANSAC의 반복 횟수를 계산하기 위한 신뢰도 값 (기본값: 0.99)\n    * `ransac_refinement`: RANSAC 후에 inlier 점들을 이용한 plane fitting 재수행 여부 (기본값: True)\n    * `plane_norm_threshold`: Plane fitting의 cross product의 크기 (plane fitting의 stability) (기본값: 1e-6)\n    * `plane_z_threshold`: Plane fitting 결과의 법선 벡터의 Z축 값 (기본값: 0.5)\n    * `plane_max_height`: Plane fitting 결과와 로봇좌표계 사이의 최대 직선거리 (기본값: 1.5, 단위: [m])\n* `gmsac_mapper.py`: **Local mapper with ground plane constraints and MSAC**\n  * 지면의 제약조건과 MSAC을 적용한 local mapping 알고리즘\n* `gtrack_mapper.py`: **Local mapper with ground plane constraints, asymmetric MSAC, and plane tracking** (사용 추천)\n  * 지면의 제약조건과 비대칭 MSAC, 그리고 평면 추적을 모두 이용한 지면 검출과 장애물 분리를 이용한 local mapping 알고리즘\n\n\n\n#### 1.2. Local Path Planners\n  * `straight_planner.py`\n\n\n\n### 2. 설치 방법\n[INSTALL.md](INSTALL.md) 참고\n\n\n\n### 3. 사용 방법\n#### 3.1. Pure Python 환경에서 사용법\n* **Local mapper 기본 예제**\n\n  ```python\n  from gtrack_mapper import GTrackMapper, generate_pointcloud\n  \n  # Instantiate the local mapper and configure it\n  mapper = GTrackMapper()\n  mapper.set_params({'pts_sampling_step': 2, 'debug_info': True})\n  \n  # Generate an example point cloud\n  pts = generate_pointcloud()\n  \n  # Apply the point cloud\n  success = mapper.apply_pointcloud(pts)\n  \n  # Access the updated map data\n  r, c = mapper.conv_xy2rc(3, 2) # Convert (3, 2) meters to its corresponding index\n  is_object = mapper.map_data['obstacles'][r, c] == 0\n  elevation = mapper.map_data['elevation'][r, c]\n  histogram = mapper.map_data['histogram'][r, c]\n  ```\n  \n* **PLY point cloud 파일을 이용한 local mapper 데모**\n  [bridge_local_planner/gtrack_mapper.py](https://github.com/mint-lab/bridge_local_planner/blob/master/bridge_local_planner/test_from_zed.py)의 `test_pointcloud()` 함수 참고\n\n* **ZED 카메라 또는 SVO 동영상 파일을 이용한 local mapper 데모**\n  [bridge_local_planner/test_from_zed.py](https://github.com/mint-lab/bridge_local_planner/blob/master/bridge_local_planner/test_from_zed.py)의 `test_from_zed()` 함수 참고\n\n\n\n#### 3.2. ROS 2 환경에서 사용법\n[ROS2.md](ROS2.md) 참고\n\n\n\n### 사사\n본 소프트웨어는 과학기술정보통신부 및 한국연구재단의 ‘BRIDGE융합연구개발’사업의 지원으로 작성되었습니다. (과제명: AI기반 3차원 곡면에서의 위치 인식 및 이동 경로 생성 기술, 과제번호: 2021M3C1C3096810)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmint-lab%2Fbridge_local_mapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmint-lab%2Fbridge_local_mapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmint-lab%2Fbridge_local_mapper/lists"}