Simulink에서 ROS 2 메시지를 퍼블리시하고 서브스크라이브하기
이 모델은 Simulink®를 사용하여 ROS 2 토픽을 퍼블리시하고 서브스크라이브하는 방법을 보여줍니다.
선행 조건: Get Started with ROS 2 in Simulink®
open_system('simulinkPubSubROS2Example');
Blank Message 블록과 Bus Assignment 블록을 사용하여 'geometry_msgs/Point'
메시지 유형의 x 값과 y 값을 지정합니다. Blank Message 블록 마스크를 열어 메시지 유형을 지정합니다. 샘플 시간을 0.01로 설정합니다. Bus Assignment 블록 마스크를 열어 할당하려는 신호를 선택합니다. 오른쪽 열에서 '???'
가 있는 값은 모두 제거합니다. Bus Assignment 블록에 x와 y에 대한 관련 값을 제공합니다.
Bus
출력을 Publish 블록에 전달합니다. 블록 마스크를 열고 토픽 소스로 Specify your own
을 선택합니다. 토픽 '/location'
과 메시지 유형 'geoemetry_msgs/Point'
를 지정합니다. 샘플 시간을 0.01로 설정합니다.
Subscribe 블록을 추가하고 토픽과 메시지 유형을 지정합니다. 출력 Msg
를 Bus Selector에 전달하고 블록 마스크에서 선택한 신호를 지정합니다. x 값과 y 값을 표시합니다.
시뮬레이션 중지 시간을 Inf
로 설정하고 모델을 실행합니다. xPosition_Out
디스플레이와 yPosition_Out
디스플레이에 ROS 2 네트워크에 퍼블리시된 해당 값이 표시되는 것을 확인할 수 있습니다.