ROS Toolbox는 MATLAB 및 Simulink를 로봇 운영 체제(ROS 및 ROS 2)에 연결하는 인터페이스를 제공합니다. 이 툴박스를 사용하면 ROS 노드로 구성된 네트워크를 설계하고 MATLAB 또는 Simulink에서 생성한 ROS 노드를 기존 ROS 네트워크와 결합할 수 있습니다.
ROS Toolbox에는 rosbag 파일을 기록하고 가져오고 재생하여 ROS 데이터를 시각화하고 분석하는 MATLAB 함수와 Simulink 블록이 포함됩니다. 또한, 실시간 ROS 네트워크에 연결하여 ROS 메시지에 액세스할 수 있습니다.
이 툴박스를 사용하면 Gazebo와 같은 외부 로봇 시뮬레이터 또는 하드웨어에 연결하여 데스크탑 시뮬레이션을 통해 ROS 노드를 검증할 수 있습니다. ROS Toolbox는 MATLAB Coder, Simulink Coder, GPU Coder를 이용한 C++ 및 CUDA® 코드 생성을 지원하므로 MATLAB 스크립트나 Simulink 모델로부터 자동으로 ROS 노드를 생성하여 시뮬레이션된 하드웨어나 물리적 하드웨어에 배포할 수 있습니다. Simulink 외부 모드 지원을 통해 모델이 하드웨어에서 실행되는 동안 메시지를 보고 파라미터를 변경할 수 있습니다.
통신 및 메시징
퍼블리시-구독 구문을 사용하여 ROS 메시지를 송수신할 수 있습니다. 클라이언트-서버 아키텍처를 사용하여 요청을 전송하고, 작업을 수행하며, 피드백을 수신할 수 있습니다. ROS 파라미터 서버를 사용하여 ROS 노드를 동적으로 구성할 수 있습니다.
사용자 지정 메시지
사용자 지정 메시지 정의를 만들고 이 정의를 사용하여 정보를 송신할 수 있습니다. 사용자 지정 메시지를 publisher, subscriber, 액션 및 서비스와 함께 사용할 수 있습니다. MATLAB에서 직접 사용자 지정 메시지의 내용을 보고, 플로팅하고, 기록할 수 있습니다. ROS 특화 메시지를 사용하여 특정 ROS 및 ROS 2 메시지 유형을 사용하는 센서와 데이터형을 만들고 액세스할 수 있습니다.
Rosbag 시각화
ROS Bag 뷰어 앱을 사용하여 MATLAB에서 rosbag 파일에 있는 여러 메시지를 동시에 재생하고 시각화할 수 있습니다. rosbag 명령줄 인터페이스를 사용하여 로그를 기록하거나 기록된 데이터를 액세스, 필터링, 시각화, 분석할 수 있습니다. MATLAB 및 Simulink에서의 시뮬레이션을 위해 rosbag 파일을 사용할 수 있습니다.
노드 배포
-C++ 코드를 생성하고 로컬 또는 원격 기기 타겟에 독립형 ROS 및 ROS 2 노드로 배포할 수 있습니다. ROS 기반 AI 응용 프로그램을 가속화하기 위해 CUDA 호환 ROS 노드 생성을 사용할 수 있습니다. Simulink에서 설계된 제어기에서 실시간 ros_control 플러그인용 C++ 코드를 생성할 수 있습니다.
응용 예제
지상 로봇, 로봇 매니퓰레이터, UAV 및 자율주행 차량에 대한 참조 응용 예제를 사용하여 ROS 기반 시스템의 설계, 시뮬레이션, 배포를 빠르게 시작할 수 있습니다.