Simulink에서의 ROS 2 네트워크 액세스
Simulink®를 사용해 ROS 2 네트워크와 메시지에 액세스
ROS Toolbox를 사용하면 Simulink에서 ROS 및 ROS 2에 연결할 수 있으며 네트워크를 통해 메시지를 보낼 수 있습니다. Get Started with ROS 2 in Simulink 항목을 참조하십시오.
타깃 시스템에 코드를 생성하고 배포할 수도 있습니다. 독립형 ROS 2 노드 생성에 대한 고급 예제는 Generate a Standalone ROS 2 Node from Simulink 항목을 참조하십시오.
ROS 2 장치에 배포되어 사용할 수 있는 ROS 2 노드를 실행하거나 중지하거나 노드의 상태를 확인하려면 아래에 나와 있는 MATLAB® 함수를 사용합니다. ros2device
를 사용하여 ROS 장치에 대한 연결을 만듭니다.
참고
ROS 2 블록은 서브시스템 참조 내에서 사용할 수 없습니다. ROS Toolbox는 데이터 사전을 사용하여 모델 정보를 저장하는데, 서브시스템 참조에서는 모델에 연결된 데이터 사전의 이식을 지원하지 않기 때문입니다. 서브시스템 참조 사용에 대한 자세한 내용은 Considerations When Using a Library Dictionary (Simulink) 항목을 참조하십시오.
ROS 2 블록은 SIL(Software-in-the-Loop) 시뮬레이션과 PIL(Processor-in-the-Loop) 시뮬레이션에서 지원되지 않습니다.
함수
블록
Apply Transform | Transform input ROS or ROS 2 message to target frame (R2023b 이후) |
Blank Message | 지정된 메시지 유형을 사용해 빈 ROS 2 메시지 생성 |
Call Service | Call service in ROS 2 network (R2021b 이후) |
Cancel Action Goal | Cancel active action goal in ROS 2 network (R2024a 이후) |
Current Time | 현재 ROS 2 시간 또는 시스템 시간 가져오기 (R2022b 이후) |
Get Parameter | Get ROS 2 parameter value (R2022b 이후) |
Get Transform | Get transformation between source and target frame from ROS 2 network (R2023b 이후) |
Header Assignment | Update fields of ROS 2 message header (R2023a 이후) |
Monitor Action Goal | Monitor action goal in ROS 2 network (R2024a 이후) |
Publish | Send messages to ROS 2 network |
Receive Service Request | Receive service request from ROS 2 network (R2024a 이후) |
Read Data | Play back data from ROS 2 log file (R2021b 이후) |
Read Image | Extract image from ROS 2 Image message (R2021b 이후) |
Read Scan | Extract scan data from ROS or ROS 2 laser scan message (R2022a 이후) |
Read Point Cloud | Extract point cloud from ROS 2 PointCloud2 message (R2021b 이후) |
Send Action Goal | Send action goal messages to ROS 2 network (R2024a 이후) |
Send Service Response | Send service response to ROS 2 service client (R2024a 이후) |
Subscribe | Receive messages from ROS 2 network |
Write Image | Write image data to a ROS or ROS 2 message (R2022a 이후) |
ROS Write Point Cloud, ROS 2 Write Point Cloud | Write point cloud data to a ROS or ROS 2 message (R2022a 이후) |
도움말 항목
ROS 2 네트워크
- Get Started with ROS 2 in Simulink
Use Simulink blocks for ROS 2 to send and receive messages from a local ROS 2 network. - Simulink에서 ROS 2 메시지를 퍼블리시하고 서브스크라이브하기
Simulink를 사용하여 ROS 2 토픽을 퍼블리시하고 서브스크라이브합니다. - Connect to a ROS-Enabled Robot from Simulink over ROS 2
Configure a Simulink model to send and receive information from a separate ROS-based simulator such as Gazebo over ROS 2.
ROS 2 메시지
- Work with ROS 2 Messages in Simulink
Work with complex ROS 2 messages inSimulink, such as messages with nested sub-messages and variable-length arrays. - Manage Array Sizes for ROS Messages in Simulink
Description of dialog box for managing array sizes in Simulink ROS - Log ROS 2 Messages from Simulink to ROS 2 Bag File
Save ROS 2 message data from Simulink to a ros2bag file. - Use ROS 2 Logger App to Save ROS 2 Messages from Simulink
Use ROS 2 Logger app to record ROS 2 messages during Simulink simulation.
ROS 2 애플리케이션
- Generate a Standalone ROS 2 Node from Simulink
Generate and build a standalone ROS 2 node from a Simulink model. - Feedback Control of a ROS-Enabled Robot Over ROS 2
Use Simulink to control a simulated robot running in a Gazebo robot simulator over ROS 2 network. - Sign-Following Robot with ROS 2 in Simulink
Use Simulink to control a simulated robot running on a separate ROS-based simulator over ROS 2 network. - Automated Parking Valet with ROS 2 in Simulink
Distribute an automated parking valet application among various nodes in a ROS 2 network in Simulink. - Generate Code to Manually Deploy a ROS 2 Node from Simulink
Generate C++ code from a Simulink model to deploy as a standalone ROS 2 node.
모델 실행
- Enable ROS 2 Time Model Stepping for Deployed Nodes
You can enable a deployed ROS 2 node to execute based on the time published on the/clock
topic on a ROS 2 network.