이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
인터페이스 및 요구 사항 링크를 사용하여 아키텍처 모델 생성
이 주제에서는 System Composer™를 사용하여 로봇 팔의 아키텍처 모델을 만드는 방법, 포트에 인터페이스를 정의하는 방법, 컴포넌트에 요구 사항 링크를 추가하는 방법을 알아봅니다.
다음 방법을 배우게 됩니다:
System Composer를 시작합니다.
로봇 팔 센서, 궤적 계획 및 동작을 나타내는 아키텍처 컴포넌트를 추가합니다.
데이터 교환을 표현하기 위해 포트와 연결을 생성합니다.
데이터 구조를 나타내기 위해 데이터 인터페이스를 정의합니다.
모델 요소에서 요구 사항에 대한 연결을 나타내기 위해 요구 사항 링크를 관리합니다.
System Composer의 요구 사항을 연결, 추적, 관리하려면 Requirements Toolbox™ 라이선스가 필요합니다.
System Composer의 모델 기반 시스템 엔지니어링 워크플로에 대한 자세한 내용은 아키텍처 모델을 사용하여 시스템 구성 및 분석를 참조하십시오.
시각적으로 표현된 시스템
아키텍처 설계를 구현하는 것은 컴포넌트와 그 연결을 사용하여 시스템을 시각적으로 표현하는 것부터 시작됩니다. 아키텍처 모델을 만들고, 시스템 컴포넌트를 표현하고, 컴포넌트 간의 연결을 그립니다.
아키텍처 모델 생성
이 명령을 MATLAB® 명령 창에 입력하십시오.
systemcomposer
Simulink® 시작 페이지가 System Composer로 열립니다.
Architecture Model를 클릭하십시오.
System Composer는 시스템 엔지니어링과 소프트웨어 아키텍처 모델링의 다양한 도메인을 다루는 템플릿 아키텍처 모델을 제공합니다: Architecture Model와 Software Architecture Model. 모든 아키텍처 모델은 일부 도메인 및 플랫폼별 제약 조건을 제외하면 동일한 구조적 기능을 제공합니다. 아키텍처 템플릿에 대한 자세한 내용은 Choose Architecture Template for System Design를 참조하십시오.
새롭고 빈 아키텍처 모델 캔버스가 열립니다. 아키텍처 모델은 왼쪽 하단 모서리의 배지와 왼쪽의 컴포넌트 팔레트로 식별할 수 있습니다.
아키텍처 모델 헤더를 더블 클릭하고
untitled
를 설명적인 모델 이름(예:RobotDesign
)으로 변경합니다. 모델 이름은 일반적으로 구축하고 있는 아키텍처의 시스템을 반영합니다.모델을 저장합니다.
컴포넌트 그리기
센서가 위치를 감지하고 궤적 계획이 로봇이 동작을 사용하여 도달해야 하는 위치까지의 경로를 계산하는 모바일 로봇 팔을 설계합니다. 이러한 시스템의 아키텍처 모델은 Sensors
, Trajectory Planning
, Motion
의 세 가지 주요 컴포넌트로 구성될 수 있습니다. 세 개의 Component 블록을 사용하여 이러한 컴포넌트를 System Composer로 표현할 수 있습니다.
왼쪽 팔레트에서 Component 블록
를 클릭하고 드래그합니다.
컴포넌트의 이름을
Sensors
로 변경합니다.다음 단계에 따라
Trajectory Planning
및Motion
컴포넌트를 생성하십시오.
포트 및 연결 생성
전력, 에너지, 데이터 또는 기타 대표적인 정보의 흐름을 설명하여 컴포넌트 간의 연결을 생성할 수 있습니다. 정보를 제공하거나 사용하는 컴포넌트에 포트를 만들고, 두 컴포넌트 포트를 연결하여 정보의 흐름을 나타내는 커넥터를 만듭니다.
어느 쪽에든 컴포넌트에 포트를 추가할 수 있으며, 포트는 입력 또는 출력 방향을 가질 수 있습니다. 포트를 생성하려면 컴포넌트의 변 위에 커서를 놓습니다. 클릭 후 놓으면 포트 옵션을 볼 수 있습니다. 포트를 생성하려면 Input
, Output
, 또는 Physical
를 선택하십시오. 포트를 통해 흐르는 정보를 나타내는 이름을 사용하여 포트 이름을 바꾸십시오.
센서 컴포넌트의 아래쪽에 출력 포트를 만듭니다. 이름을 SensorData로 바꾸십시오.
SensorData 출력 포트에서
Motion
컴포넌트로 선을 클릭하여 드래그합니다. 컴포넌트의 변에 입력 포트가 생성되면 포인터를 놓습니다. 기본적으로 이 새로운 포트의 이름은 소스 포트와 같습니다.SensorData 선의 코너에서 잠시 멈춰서
가지 아이콘을 찾으십시오. 마우스 오른쪽 버튼을 클릭하고 분기선을
Trajectory Planning
컴포넌트로 드래그합니다.이 그림과 같이 연결을 완료하십시오.
아키텍처 모델의 루트 레벨에는 시스템과 환경 간의 상호 작용을 설명하는 포트가 있을 수도 있습니다. 이 예에서 로봇의 목표 위치는 로봇 자체 외부의 컴퓨터에 의해 제공됩니다. 이 관계를 입력 포트로 표현해 보십시오.
아키텍처 모델의 왼쪽 가장자리를 클릭하고 포트 이름 TargetPosition를 입력합니다.
TargetPosition 입력 포트에서
Trajectory Planning
컴포넌트로 선을 끌어 아키텍처 포트를 컴포넌트에 연결합니다. 아키텍처 포트와의 연결은 태그로 표시됩니다.
데이터 인터페이스 편집
연결과 관련 포트를 완전히 지정하기 위해 데이터 인터페이스를 정의할 수 있습니다. 데이터 인터페이스는 다양한 차원, 단위, 데이터 유형을 갖춘 여러 데이터 요소로 구성될 수 있습니다. 포트를 연결할 때 일관성을 확인하려면 컴포넌트를 설계하는 동안 인터페이스를 연결되지 않은 포트와 연결할 수도 있습니다.
속성을 사용하여 데이터 인터페이스를 구성하여 컴포넌트 간 포트를 통한 정보 흐름을 지정합니다. 데이터 인터페이스는 정수 값을 전송하는 것처럼 간단할 수 있지만 숫자 집합, 열거형, 숫자와 문자열의 조합 또는 기타 미리 정의된 인터페이스의 묶음이 될 수도 있습니다.
Sensors
와 Motion
컴포넌트 간의 데이터 인터페이스를 생각해 보십시오. 센서 데이터는 다음으로 구성됩니다.
두 모터의 위치 데이터
두 개의 센서로부터 장애물 근접 데이터
데이터의 최신성을 포착하기 위한 타임스탬프
Interface Editor를 열려면 Modeling > Interface Editor로 이동하십시오.
버튼을 클릭하여 데이터 인터페이스를 추가하십시오. 인터페이스 이름을
sensordata
로 지정합니다.데이터 인터페이스는 컴포넌트 포트와 별도로 명명되고 정의된 다음 포트에 할당됩니다.
Sensors
컴포넌트의 SensorData 출력 포트를 클릭합니다. Interface Editor에서sensordata
를 마우스 오른쪽 버튼으로 클릭하고 Assign to Selected Port(s)를 선택합니다.sensordata
를 다시 클릭하면 세 개의 SensorData 포트가 강조 표시되어 연결된 포트가 해당 인터페이스와 연관되어 있음을 나타냅니다.선택한 데이터 인터페이스에 데이터 요소를 추가합니다.
버튼을 클릭하여 데이터 요소를 추가하고 이름을
timestamp
로 지정합니다.데이터 요소 추가 버튼을 클릭하여 지정된 대로 데이터 인터페이스에 데이터 요소를 계속 추가합니다.
이름 유형 단위 timestamp
double
seconds
direction1
double
degrees
direction2
double
degrees
distance1
double
meters
distance2
double
meters
position1
double
degrees
position2
double
degrees
Interface Editor에서 데이터 요소의 속성을 편집합니다. 표의 데이터 요소에 해당하는 셀을 클릭하고 사양에 표시된 대로 단위를 추가합니다.
버튼 옆에 있는 드롭다운 목록을 클릭하여 데이터 인터페이스를 데이터 사전에 저장합니다. 데이터 사전을 사용하면 모델 간의 인터페이스 세트를 공동으로 관리하고 공유할 수 있습니다. 예를 들어, 설계 후반부에서 외부 컴퓨터를 별도의 아키텍처 모델로 모델링하기로 선택한 경우 이 모델과
Robot
모델은 동일한 데이터 사전을 공유할 수 있습니다. 여기서 사전은RobotDD
라는 이름으로 저장됩니다.
컴포넌트 분해
각 컴포넌트는 고유한 아키텍처를 가질 수 있습니다. 컴포넌트를 더블 클릭하면 해당 컴포넌트를 하위 컴포넌트로 분해할 수 있습니다.
Trajectory Planning
컴포넌트를 더블 클릭합니다. 탐색기 막대와 Model Browser는 모델 계층 구조에서 컴포넌트의 위치를 나타냅니다.이 컴포넌트는 먼저
sensordata
인터페이스의 일부인 모터 위치 데이터를 사용하여 이상적인 위치 및 속도 명령을 계산합니다. 그런 다음 동일한 인터페이스에서 장애물 거리 정보를 처리하여 일부 안전 규칙에 따라 이 동작 명령을 조절합니다.Trajectory Planning
아키텍처의 일부로Motion Control
및Safety Rules
컴포넌트를 추가합니다.TargetPosition 포트를
Motion Control
컴포넌트로 드래그합니다.Motion Control
에 Command 출력 포트를 추가한 다음,Safety Rules
컴포넌트로 선을 끌어다 놓습니다. SensorData 포트에서Motion Control
및Safety Rules
컴포넌트로 선을 끌어다 놓습니다.
로봇 팔 구조 모델
센서, 모션 액추에이터, 계획 알고리즘으로 구성된 로봇 팔의 아키텍처 모델을 엽니다. System Composer를 사용하면 이 모델에 대한 인터페이스를 보고 요구 사항을 관리할 수 있습니다.
요구 사항 링크 관리
요구 사항은 시스템 엔지니어링 프로세스에 필수적입니다. 일부 요구 사항은 전체 시스템의 기능과 관련이 있고, 일부는 전력, 크기, 무게와 같은 성능 측면과 관련이 있습니다. 상위 수준 요구 사항을 하위 수준 요구 사항으로 분해하고 추가 요구 사항을 도출하는 것은 전체 시스템의 아키텍처를 정의하는 데 중요합니다. 예를 들어, 로봇의 전체 전력 소비량은 로봇 컨트롤러의 전력 소비량에 대한 요구 사항을 결정합니다.
시스템 요소에 대한 요구 사항을 할당하고 추적하기 위해 System Composer는 Requirements Toolbox와 완벽하게 통합됩니다. 적절한 요구 사항을 도출하려면 때로는 컴포넌트, 포트, 커넥터 등 시스템 요소에 대한 속성(예: 전원)을 분석하고 지정해야 합니다. 예를 들어, 시스템의 총 비용이 문제인 경우 unitPrice
속성이 필요합니다.
Requirements Toolbox를 사용하여 System Composer의 요구 사항 관점에서 요구 사항을 관리합니다. Apps > Requirements Manager로 이동합니다. 자세한 내용은 View and Link Requirements in Simulink (Requirements Toolbox) 항목을 참조하십시오.
요구 사항의 추적성을 향상시키려면 요구 사항을 아키텍처 컴포넌트와 포트에 연결합니다. 요구 사항 관점에서 컴포넌트를 클릭하면 연결된 요구 사항이 강조 표시됩니다. 반대로, 요구 사항을 클릭하면 연결된 컴포넌트가 표시됩니다. 링크를 직접 생성하려면 요구 사항을 컴포넌트나 포트로 끌어다 놓으십시오.