open-navigation/opennav_coverage

Nav2 Compatible Complete Cover Task Server, Navigator, & BT Utils

What it solves

이 프로젝트는 로봇이 빈틈없이 전체 영역(예: 들판)을 효율적으로 커버할 수 있도록 하는 완전 커버리지 경로 계획 시스템을 제공합니다. 이는 잔디 깎기, 분무, 또는 수확과 같은 작업을 수행하기 위해 자율 주행 기계의 경로를 생성하는 문제를 해결하며, 개방형 들판 다각형과 사전 정의된 열(예: 과수원)을 모두 지원합니다.

How it works

이 시스템은 Fields2Cover 라이브러리를 Nav2 프레임워크에 Lifecycle-Component Task Server 세트로 통합합니다. 입력된 다각형 또는 주석이 달린 열을 처리하고 다단계 계획 프로세스를 실행합니다:

  1. Swath Generation: 로봇이 따라야 할 평행선(swaths)을 생성합니다.
  2. Headland Generation: 선택적으로 들판 주변의 경계 영역을 제거합니다.
  3. Route Generation: swaths를 방문하는 순서를 결정합니다(예: snake, spiral, 또는 사용자 정의 패턴).
  4. Path Planning: 이러한 swaths를 연결하기 위해 실제 실행 가능한 경로(Dubins 또는 Reeds-Shepp 곡선을 사용)를 계산합니다.

이 시스템은 GPS 및 Cartesian 좌표를 모두 지원하며, Nav2 action server 및 Behavior Tree (BT) 노드를 통해 이러한 기능을 제공합니다.

Who it’s for

자율 주행 농업용 차량, 산업용 청소 로봇, 또는 정의된 영역을 체계적으로 커버해야 하는 모든 기계와 작업하는 로봇 공학 개발자, 특히 이미 ROS 2 및 Nav2 생태계를 사용 중인 개발자들을 대상으로 합니다.

Highlights

  • Dual Coverage Modes: 개방형 들판 다각형 기반 계획과 불규칙하거나 사전 설정된 열 기반 계획을 모두 지원합니다.
  • Nav2 Integration: 해당 Behavior Tree 노드 및 Navigator plugin과 함께 Nav2 Task Server로 완전히 통합되었습니다.
  • Flexible Routing: Boustrophedon, Snake, 및 Spiral을 포함한 여러 라우팅 패턴을 제공합니다.
  • Coordinate Flexibility: 들판 정의를 위해 GPS 및 Cartesian 좌표를 모두 처리합니다.
  • Modular Design: 메시지, BT 노드, 메인 서버, 그리고 navigator plugin을 위한 5개의 전문화된 패키지로 나뉩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트