챕터 5
시뮬레이션 및 구현
이전 챕터에서는 이동 로봇에 자율성을 부여하는 알고리즘을 살펴보았습니다. 파라미터 조정을 위해 실제 이동 플랫폼에서 이러한 알고리즘을 테스트하면 위험할 수 있고 시간과 자원을 낭비할 수도 있습니다. 시뮬레이션 테스트 벤치를 이용하면 하드웨어 플랫폼에 배포하기 전에 경계 조건에 대해 알고리즘을 테스트하고 최적화할 수 있습니다. AMR(자율 이동 로봇)을 위한 시뮬레이션 테스트 벤치에는 환경 모델, 로봇 모델, 센서 모델 등 세 부분으로 구성되어 있습니다.
MATLAB 및 Simulink에서 그러한 시뮬레이션 모델을 만들거나 Gazebo 같은 외부 3차원 시뮬레이터와 MATLAB을 연결할 수 있습니다. Robotics System Toolbox는 Gazebo와 연동 시뮬레이션을 수행할 수 있는 방법을 제공합니다. 연동 시뮬레이션을 통해 MATLAB에서 알고리즘을 테스트하고 시간 동기화로 Gazebo에서 알고리즘의 거동을 분석할 수 있습니다. Gazebo에서 다양한 센서 모델과 주변 환경 모델을 사용하여 MATLAB에서 AMR 운영을 검증할 수 있습니다.

Simulink와 Gazebo를 사용한 연동 시뮬레이션.
검증
시뮬레이션 모델을 테스트하고 검증하여 성능을 확인할 수 있습니다. Simulink Test™에 제공되는 검증 방법으로 개발 공정 초기에 설계를 테스트할 수 있습니다. Simulink Test를 사용하면 테스트 환경을 주 설계에서 분리하는 테스트 하네스를 생성할 수 있습니다. 모델과 테스트 하네스 간의 설계 변경 사항을 동기화하면서 모델이나 서브시스템에 대한 테스트 특정 시뮬레이션을 실행할 수 있습니다. 또한 Test Manager를 사용하여 테스트 케이스들을 관리, 실행, 비교할 수 있습니다. 이로써 테스트를 중앙에서 관리하고 테스트를 요구사항까지 추적할 수 있습니다. (Requirements Toolbox™ 사용)

Test Manager를 사용한 테스트 케이스 관리.

실제 자율 이동 로봇 구현의 개요.
ROS 및 ROS2 노드 생성하기
ROS, 즉 로봇 운영 체제는 로봇을 위한 분산 병렬 처리 기능을 갖는 미들웨어 패키지입니다. ROS는 로봇 시스템의 서로 다른 부분들끼리 서로를 발견하고 데이터를 주고받는 통신 인터페이스 역할을 합니다. ROS 네트워크는 ROS를 통해 통신하는 로봇 시스템의 부분(플래너 또는 카메라 인터페이스 등)으로 구성됩니다. 이 네트워크는 다양한 머신에 걸쳐 분산될 수 있습니다.
ROS는 복잡한 시스템에서 사용하기 편리할 수 있으나 실시간 운영 기능이 제한적입니다. ROS는 시각화 툴을 제공하지만 제품 개발 공정에 필요한 모든 구축 요소를 포함하지는 않습니다. 그와 대조적으로 차세대 ROS 2는 다중 플랫폼과 실시간 운영을 지원합니다.
ROS Toolbox를 사용하면 MATLAB 및 Simulink를 ROS 및 ROS 2와의 강력한 통합이 가능합니다. Simulink 모델로부터 ROS 및 ROS 2 노드를 생성하여 MATLAB 및 Simulink에서 알고리즘을 설계, 시뮬레이션, 테스트하고 AMR의 온보드 컴퓨터에서 실행할 수 있는 독립된 노드를 배포할 수 있습니다. Simulink 모델의 몇몇 블록을 교체하면 간단히 ROS에서 ROS 2로 마이그레이션할 수도 있습니다.

Simulink로 ROS 사용하기.
MATLAB Coder 및 GPU Coder를 사용한 객체 검출
MATLAB Coder™ 및 GPU Coder™를 사용하여 영상 처리나 딥러닝 응용 사례와 같이 병렬성이 요구되는 처리를 수행할 수 있습니다. MATLAB Coder는 빠른 딥러닝 신경망을 위해 Intel® MKL-DNN 및 ARM® Cortex® CPU를 지원합니다. GPU Coder는 NVIDIA® TensorRT™ 및 cuDNN 같은 가속 라이브러리도 지원합니다. 타겟에 최적화된 라이브러리를 사용하면 빠른 속도로 학습 알고리즘을 실행할 수 있습니다.

딥러닝 신경망의 구현.
실시간 하드웨어 통합
제어 모델을 실제 머신 테스트 환경으로 빠르게 마이그레이션하는 방법을 RCP (신속 제어 프로토타이핑)이라고 합니다. RCP를 개발 접근법으로 활용하면 수작업으로 코딩하고 실제 머신 테스트를 수행하지 않고도 범용 하드웨어에 Simulink 모델을 신속하게 구현할 수 있습니다. 이러한 접근법은 시뮬레이션 모델을 하드웨어 플랫폼에서 빠르게 테스트하고 검증함으로써 제품 개발 공정 및 제품 품질을 개선할 수 있습니다.
RCP 환경을 생성하는 하나의 방법은 Simulink Real-Time™을 사용하는 것입니다. Simulink Real-Time을 사용하여 알고리즘을 RCP 하드웨어에 신속하게 구현하고 테스트 중에 파라미터를 조정하며 신호를 기록 또는 모니터링할 수 있습니다. Simulink Real-Time과 Speedgoat를 함께 사용하여 로우 레벨 실시간 제어를 달성할 수도 있습니다. Simulink 모델로부터 실시간 응용 프로그램을 만들고 이들을 로봇 하드웨어와 연결된 Speedgoat 타겟 컴퓨터 하드웨어에서 실행할 수 있습니다.

Simulink Real-Time과 Speedgoat를 사용한 신속 제어 프로토타이핑.
- 실시간 시뮬레이션 및 테스트 - 개요
- 검증, 확인 및 테스트 - 개요
- 평가판 소프트웨어 받기 - 무료 평가판
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)