PickNikRobotics/generate_parameter_library
Declarative ROS 2 Parameters
해결하는 문제
ROS 2 파라미터를 수동으로 관리하려면 선언, 검색, 검증을 위한 반복적인 코드가 필요합니다. 이 프로젝트는 개발자가 선언적인 YAML 파일에 파라미터를 정의할 수 있게 하여, 해당 YAML 파일을 기반으로 C++ 또는 Python 코드를 자동 생성함으로써 이 과정을 자동화합니다.
작동 방식
개발자는 파라미터 이름, 타입, 기본값, 검증 규칙을 지정하는 YAML 파일을 만듭니다. generate_parameter_library 도구가 빌드 프로세스 중에 이 YAML 파일을 처리하여 C++ 구조체 또는 Python 모듈을 생성합니다. 생성된 라이브러리는 ROS 2 시스템에 파라미터를 선언하고, 값을 가져오며, 응용 프로그램이 사용하기 전에 검증 제약(예: 범위 검사 또는 고유성 검사)을 강제하는 반복 코드를 처리합니다.
대상 사용자
ROS 2를 사용하는 로봇 개발자로서, 반복 코드를 줄이고 노드 파라미터를 엄격하게 검증하며 잘 문서화하고자 하는 분들입니다.
주요 특징
- 선언적 구성: 수동으로 C++ 또는 Python 설정 코드를 작성하는 대신 YAML로 파라미터를 정의할 수 있습니다.
- 자동 검증: 범위, 문자열 길이, 배열 고유성, 하위 집합 검사용 내장 검증기 제공, 사용자 정의 C++ 검증 함수 지원.
- 타입 안전성: 파라미터용 C++ 구조체를 생성하여 컴파일 시 타입 안전성을 제공하고 중첩 구조를 통해 간편한 접근을 가능하게 합니다.
- 동적 파라미터 지원: 콜백 또는 풀링을 통해 런타임 시 파라미터를 간편하게 업데이트할 수 있습니다.
- 매핑된 파라미터: 키가 다른 문자열 배열 파라미터에서 유도되는 맵을 지원합니다.
- 자동 문서화: YAML 설명을 기반으로 파라미터에 대한 문서를 자동 생성할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트