ros2genmsg
ROS 2 정의에서 사용자 지정 메시지 생성
설명
ros2genmsg(
는 지정된 폴더 경로에서 ROS 2 사용자 지정 메시지와 서비스 정의를 읽어 ROS 2 사용자 지정 메시지를 생성합니다. 이 함수 폴더에는 하나 이상의 ROS 2 패키지가 포함되어 있어야 합니다. 이러한 패키지는 folderpath
).msg
파일의 메시지 정의, .srv
파일의 서비스 정의, .action
파일의 액션 정의를 포함합니다.
사용자 지정 메시지를 생성하고 나면 지원되는 다른 모든 메시지처럼 MATLAB®에서 사용자 지정 메시지를 보내고 받을 수 있습니다. ros2message
를 사용하여 이러한 메시지를 생성하거나, MATLAB 명령 창에 ros2 msg list
를 입력하여 메시지 목록을 볼 수 있습니다.
참고
ROS 2 사용자 지정 메시지를 생성하려면 ROS 2 패키지를 빌드해야 합니다. 이 과정을 수행하려면 해당 플랫폼용 C++ 컴파일러가 필요합니다. 자세한 내용은 ROS Toolbox 시스템 요구 사항 항목을 참조하십시오.
ROS 2 정의의 사용자 지정 메시지는 MATLAB의 새 릴리스마다 매번 다시 생성해야 합니다.
MATLAB에서 생성하는 사용자 지정 메시지는 이제 eProsima Fast DDS 미들웨어와 Eclipse Cyclone DDS 미들웨어를 지원합니다. ROS 미들웨어 구현에 대한 자세한 내용은 Switching Between ROS Middleware Implementations 항목을 참조하십시오.
ros2genmsg(
는 하나 이상의 이름-값 인수를 사용하여 추가 옵션을 지정합니다.folderpath
,Name=Value
)
예제
입력 인수
이름-값 인수
제한 사항
노드 재시작
사용자 지정 메시지를 생성한 다음 기존 ROS 2 노드를 다시 시작합니다.
사용자 지정 메시지를 통한 코드 생성:
사용자 지정 메시지 및 서비스 유형을 ROS 2 기능과 함께 사용하여 독립형 ROS 2 노드에 대한 C++ 코드를 생성할 수 있습니다. 생성된 TGZ 아카이브는 사용자 지정 메시지에 대한 정의를 포함하지만 ROS 2 사용자 지정 메시지 패키지는 포함하지 않습니다. 함수가 대상에서 생성된 코드를 빌드할 때 colcon 작업 공간에서 사용자 지정 메시지 패키지를 사용할 수 있어야 합니다. 이 작업 공간을 현재 작업 디렉터리로 설정하십시오. 생성된 코드를 빌드하기 전에 사용자 지정 메시지 패키지를 시스템에 설치하거나 복사하십시오.
MATLAB Compiler
MATLAB Compiler™는 ROS 사용자 지정 메시지와
ros2genmsg
함수를 지원하지 않습니다.
팁
Microsoft® Visual Studio®를 설치할 때 Workload를 Desktop development with C++로 선택해야 합니다. 그러면 MSVC 컴파일러와 사용자 지정 메시지를 생성하는 데 필요한 모든 종속 항목이 설치됩니다.
사용자 지정 메시지 폴더의 경로가 64자를 초과하지 않도록 합니다.
Python 환경 구성이 올바른지 확인하십시오. 자세한 내용은 ROS Toolbox 시스템 요구 사항 항목을 참조하십시오.
ROS 2용으로 생성된 사용자 지정 메시지 라이브러리는 사용자가 만든 파일로, 내부 ROS 워크플로에 통합됩니다. 이러한 파일을 무단 액세스로부터 보호하고 시스템 무결성을 유지하려면 적절한 디렉터리 권한을 설정하여 의도된 사용자 계정만 액세스할 수 있도록 제한하십시오.