백서

MATLAB 및 Simulink를 사용한 로보틱스 교육

개요

의료, 농업, 제조업 등 다양한 산업 분야에 적용되는 로보틱스 및 자동화 기술에 대한 수요가 증가함에 따라 RAS(로보틱스 및 자율 시스템) 관련 역량의 개발 가속화를 지원하는 교육용 툴에 대한 수요가 전 세계의 대학생과 새로운 기술을 배우려는 전문가들 사이에서 늘고 있습니다.

로보틱스는 여러 학문 분야 중에서도 물리, 전자, 제어, 메카트로닉스, 프로그래밍 및 통신 관련 지식을 특히 요구하는 과학과 엔지니어링이 종합된 분야입니다. 또한 대학 수준의 교육을 진행하려면 수업 준비와 개발부터 기술 프로젝트의 평가 및 감독에 걸친 일련의 활동을 함께 진행해야 하는 난제를 마주하게 됩니다.

과연 하나의 툴 세트로 이처럼 다양한 과목의 교육적 요구를 충족할 수 있을까요?

이 백서에서 여러분은 로보틱스 교육에 MATLAB® 및 Simulink®를 활용하는 실용적인 예제, 자료 및 툴을 찾을 수 있습니다. 일반적인 학업 커리큘럼(아래 참조)을 첫 번째 교육과정부터 최종 프로젝트까지 분석하여 관련 지식의 교수법을 가속화할 방법과 다양한 교육 활동에서 일관된 학습 플랫폼을 사용하는 방법을 보여줍니다.

학문 분야별로 분류하고 학년별로 정렬한 로보틱스 엔지니어링 학사 학위 교육과정 표.

교육과정을 지식 분야별로 분류한 일반적인 로보틱스 커리큘럼.

학습 목표

  • 수업 준비: 수업을 설계하고 교육과정에 적절한 자료를 확보합니다.
  • 수업 진행: 학생의 수업 참여를 증진하고 수업 내용을 상호적, 실용적으로 구성합니다.
  • 자습: 학생이 독립적으로 학습할 수 있도록 동기 부여가 되는 자료를 제공합니다.
  • 실습: 가상 실습과 실제 실습을 설계합니다. 
  • 평가: 기존 평가를 개선하고 시간을 절약합니다.
  • 도전 과제: 이론을 실습 및 실제 응용 사례와 연결하여 학생들이 도전할 수 있는 과제를 제공합니다.
섹션

수업 준비

어떤 툴을 사용할 수 있나요? 어디서 찾을 수 있나요?

대학 제공 툴

이 백서에 나오는 모든 교육용 툴은 MATLAB 및 Simulink에 기반합니다. 전 세계의 많은 대학에서는 캠퍼스 전체에서 MATLAB, Simulink125개 이상의 툴박스이용할 수 있습니다.

MATLAB

MATLAB은 수백만 명의 엔지니어와 과학자들이 데이터 분석, 알고리즘 개발 및 모델 생성에 사용하는 프로그래밍 및 수치 계산 플랫폼입니다. 또한 MATLAB은 광범위한 프로그래밍 라이브러리를 토대로 대화형 방식의 테크니컬 컴퓨팅 콘텐츠를 개발 및 공유할 수 있는 플랫폼을 제공합니다.

Simulink

“MATLAB 및 Simulink를 사용한 모델 기반 설계는 고급 로봇 시스템 설계에 필요한 다양한 소프트웨어 영역을 다룹니다. 그 덕분에 복잡한 메카트로닉스 시스템과 제어기의 시뮬레이션, 실시간 HIL 테스트를 위한 코드 생성, 신호 및 영상 처리, 데이터 분석 및 시각화가 가능해집니다.”​

Simulink는 멀티도메인 모델로 시스템을 설계하고 하드웨어로 옮기기 전에 시뮬레이션하고 코드를 작성하지 않고 배포하는 데 사용되는 블록 다이어그램 환경입니다. Simulink를 사용한 모델 기반 설계를 구현하면 개발 시간을 단축하고 최종 제품의 결함을 줄일 수 있으며, 다중영역 시스템의 개발과 교육을 위한 통합 플랫폼도 제공할 수 있습니다.

Simulink를 사용한 모델 기반 설계의 다양한 단계를 보여주는 다이어그램. 모델 기반 설계 시스템 개발 워크플로에는 1. 연구, 2. 요구사항 및 사양, 3. 설계, 4. 구현, 5. 테스트 및 검증이 포함됩니다.

Simulink를 사용한 모델 기반 설계 워크플로.

로보틱스 응용 사례를 위한 툴박스

툴박스는 MATLAB 테크니컬 컴퓨팅 환경에 내장되는 함수의 모음입니다. 로보틱스 응용 사례와 특히 관련성이 높은 툴박스는 다음과 같습니다.

교육 자료

로보틱스에 맞춘 교육 자료를 사용하여 강의실 안팎에서 강의할 수 있습니다.

코스웨어

MATLAB 및 Simulink 프로젝트 기반 학습 코스웨어는 교수들이 콘텐츠를 재사용하거나 조정하여 자신들의 교육과정에 적용할 수 있도록 퍼블리시되었습니다. 다음과 같은 인기 교육과정이 있습니다.

코스웨어의 MATLAB Robotics Playground 앱 스크린샷. 이 화면에서는 예제, 수업, 문서 등에 대한 버튼을 볼 수 있습니다.

Robotics Playground MATLAB 앱.

GitHub 리포지토리

MathWorks의 GitHub® 리포지토리에는 MATLAB 및 Simulink를 사용하는 교육자를 위한 다양한 오픈 소스 로보틱스 프로젝트와 자료가 들어 있습니다.

섹션

수업 진행

어떻게 하면 학생의 수업 참여를 증진하고 수업 내용을 상호적, 실용적으로 구성할 수 있을까요?

동기 부여

전 세계의 엔지니어들이 어떻게 MATLAB 및 Simulink를 사용하여 로보틱스로 혁신을 가속화하고 있는지 학생들과 공유할 수 있습니다.

온라인 솔루션

MATLAB Online™Simulink Online™을 로보틱스 교육에 사용하면 학생들이 아래의 경로 계획 예제 같은 실시간 예제가 포함된 수업을 다운로드나 설치 없이 들을 수 있습니다. 이 클라우드 기반 자료를 통해 항상 최신 버전의 소프트웨어를 이용할 수 있습니다.

클라우드 저장공간

MATLAB Drive™는 MATLAB 파일에 대한 공통된 클라우드 기반 저장 위치를 제공합니다. 이 저장공간을 MATLAB Online과 함께 사용하면 학생들과 로보틱스 커리큘럼 자료를 공유하고 수업을 더 상호적으로 구성할 수 있습니다.

MathWorks의 클라우드 리소스를 보여주고 사용자가 MATLAB Drive를 사용하여 MATLAB Online, MATLAB Desktop, MATLAB Mobile 같은 다양한 플랫폼 간에 파일을 최대 20GB까지 공유 및 동기화하는 방법을 보여주는 다이어그램. MATLAB Drive Connector를 사용하여 동기화된 파일을 로컬에 저장하는 방법도 보여줍니다.

MATLAB Drive를 사용하면 데스크탑용 MATLAB, MATLAB Online, MATLAB Mobile에서 파일을 동기화할 수 있습니다.

앱 설계

MATLAB 앱 디자이너를 사용하면 전문 소프트웨어 개발자가 아니어도 훌륭한 로보틱스 앱을 만들 수 있습니다.

아래의 산업용 로보틱스 앱과 같은 응용 프로그램을 만들려면 단 두 단계만이 필요합니다.

  1. 드래그 앤 드롭 구성요소를 사용하여 사용자 인터페이스를 코드 작성 없이 설계합니다.
  2. 앱의 동작을 결정하는 코드를 작성합니다.

산업용 로보틱스 작업 공간 앱에 대한 MATLAB 앱 디자이너의 디자인 보기(왼쪽)와 코드 보기(오른쪽).

MATLAB 앱 갤러리File Exchange에서 로보틱스와 관련된 더 많은 예제를 살펴볼 수 있습니다.

대화형 방식 스크립트

라이브 편집기라고 하는 단일 환경에서 MATLAB 코드와 서식 지정된 텍스트, 수식, 영상이 결합된 대화형 방식의 문서를 만들 수 있습니다. 또한 라이브 스크립트는 코드와 해당 코드가 생성한 출력 결과를 함께 저장하고 표시합니다.

라이브 스크립트는 수업 중에 일련의 대화형 방식 온라인 튜토리얼과 연습문제로 제시할 수 있습니다. 예를 들면 라이브 스크립트로 로봇 운영 체제(ROSROS2)를 사용한 로봇 개발과 프로그래밍의 기본 사항을 교육할 수 있습니다.

ROS 라이브 스크립트를 PDF, Word, HTML 또는 LaTeX과 같은 다양한 파일 형식으로 내보내는 방법을 보여주는 다이어그램.

라이브 스크립트는 PDF, Word, HTML, LaTeX 형식으로 내보낼 수 있습니다.

라이브 스크립트 갤러리File Exchange에서 로보틱스와 관련된 더 많은 예제를 살펴볼 수 있습니다.

섹션

자습

어떻게 학생들의 자습을 장려할 수 있을까요? 학생들이 어떤 플랫폼을 사용할 수 있을까요?

대화형 방식의 온라인 교육과정

로보틱스 관련 연습문제를 통해 프로그래밍 방법을 배울 수 있습니다. MATLAB Academy에서는 단계별 지침 및 자동화된 피드백과 함께 실습 연습문제가 제공되는 대화형 방식의 유연한 자기 주도형 온라인 교육과정을 호스트하고 있습니다.

Onramp

Onramp 교육과정은 대화형 방식의 자기 주도형 무료 온라인 교육과정입니다. 영상 처리, 딥러닝 등 여러 분야의 로보틱스 관련 Onramp 교육과정을 살펴보시기 바랍니다.

기타 교육과정

다음과 같은 전체 교육과정을 통해 다양한 학문 분야에 대해 더 자세히 학습할 수 있습니다.

로보틱스 연습문제(왼쪽)와 로보틱스 프로젝트(오른쪽)를 보여주는 MATLAB Academy 인터페이스.

비디오

MATLAB, Simulink 및 기타 로보틱스 관련 제품과 서비스에 대한 비디오와 웨비나를 찾아볼 수 있습니다.

  • 비디오 및 웨비나: 400여 편의 로보틱스 관련 비디오를 시청할 수 있습니다.
  • MATLAB Tech Talk: 이러한 비디오 시리즈를 통해 과학의 기본 개념을 살펴볼 수 있습니다.
  • MATLAB YouTube 채널: 국제 채널과 스페인어, 한국어, 일본어 채널을 볼 수 있습니다.

도서 프로그램

MathWorks Book Program은 MATLAB 및 Simulink 관련 서적을 개발하는 전 세계의 저자와 출판사를 지원합니다. 이 라이브러리에는 30권 이상의 로보틱스 및 자율 시스템 관련 서적이 들어 있습니다.

MathWorks Book Program에 포함된 로보틱스 관련 도서.

MATLAB 및 Simulink 제품군을 사용한 로보틱스 활용 방법에 대한 도서를 저술하고 있거나 그럴 계획이 있나요? 그렇다면 MathWorks Book Program 회원이 될 자격이 있습니다.

섹션

실습

어떻게 학생들의 참여와 능동적 학습을 장려할 수 있도록 실습을 사용하거나 설계해야 할까요?

가상 실습

MATLAB 및 Simulink를 사용하여 모델링과 시뮬레이션을 통합하는 방식으로 대화형 방식의 가상 실습을 구축할 수 있습니다.

MATLAB: 프로그래밍 실습

MATLAB을 통해 학생들은 로보틱스 아이디어와 개념을 실제 환경에서 원활하게 작동하는 자율 시스템 모델로 변환할 수 있습니다.

응용 예제:

Simulink: 설계 및 시뮬레이션

Simulink는 모델링과 시뮬레이션을 위한 툴입니다. 특화된 타사 모델링 툴을 포함한 재사용 가능한 구성요소 및 라이브러리로 대규모 로봇 시스템 모델을 시뮬레이션할 수 있습니다.

Simulink 3D Animation, Gazebo, Quanser 가상 실습을 사용한 Simulink 시뮬레이션.

Simscape: 물리 시스템 모델링

Simscape™를 사용하면 Simulink 환경 내에서 로보틱스 시스템의 모델을 신속하게 생성할 수 있습니다. Simscape에서는 연립방정식을 수치적으로 풀기 위해 코드를 작성하지 않아도 됩니다. 단지 사용자 지정 블록을 구축해서 그래픽 방식으로 연결하고 솔버가 풀게 두면 됩니다.

Simscape 모델(왼쪽)과 배송 쿼드콥터의 시뮬레이션(오른쪽).

응용 예제:

Stateflow: 상태 머신 및 플로우 차트

Stateflow®는 상태 천이도, 플로우 차트, 상태 천이표 및 진리표를 포함하는 그래픽 언어를 제공합니다. Stateflow를 사용하면 입력 신호, 이벤트, 시간 기반 조건에 대한 MATLAB 알고리즘과 Simulink 모델의 반응을 설명할 수 있습니다.

픽앤플레이스 워크플로의 Stateflow 모델 및 시뮬레이션.

실제 실습

시스템을 설계하고 시뮬레이션하는 것은 새로운 개념을 시도하고 작동 방식을 시각화하는 데 중요합니다. 하드웨어에서 작업을 하는 것이 학생들에게는 실제 시스템으로 경험을 할 수 있다는 이점이 있습니다.

엔지니어와 과학자들은 MATLAB 및 Simulink를 실제 하드웨어에 연결하여 하드웨어 구성요소와 소프트웨어 알고리즘이 결합된 시스템을 설계, 테스트 및 검증할 수 있습니다.

MATLAB Mobile: 모바일 기기 및 센서

학생들은 로보틱스 및 자율 시스템 응용 사례에서 환경 인식에 흔히 쓰이는 센서 중에서도 가속도계, 속도계, 자력계, 방향 추적기, GPS, 카메라 등의 센서로 소규모 실습을 마음껏 진행해 볼 수 있습니다.

스마트폰과 태블릿 같은 모바일 기기를 사용하여 학생들은 다음 작업을 할 수 있습니다.

  • 기기 센서로부터 데이터를 획득하고 MATLAB에서 데이터를 분석할 수 있습니다.
  • 사진을 촬영하고 비디오를 녹화하여 추가적으로 처리하고 분석할 수 있습니다.

MATLAB Mobile™은 MathWorks Cloud에서 실행되는 MATLAB 세션에 연결하여 로보틱스 및 자율 시스템 관련 주제를 모바일 기기에서 곧바로 학습하고 교육할 수 있는 툴입니다.

 센서 설정, 예제, 라이브 스크립트, MATLAB Drive를 보여주는 4개의 MATLAB Mobile 스크린샷.

MATLAB Mobile로 센서를 사용하고 예제에 액세스하며 라이브 스크립트를 실행하고 MATLAB Drive로 공유할 수 있습니다.

실습 예제 (AI를 사용한 컴퓨터 비전):

MATLAB Mobile에서 이 스크립트를 실행하고 Deep Learning Toolbox™를 사용하여 모바일 기기에서 사진을 촬영하고 분류할 수 있습니다.

 >> m=mobiledev; %acquire data from the mobile device sensors

 >> c=camera(m); %connect to the camera

 >> c.Autofocus='on’; %activate autofocus

 >> im=snapshot(c,'manual’); %take a photo

 >> imshow(im) %review your photo

 >> net=alexnet; %use AlexNet pretrained neural network

 >> layer=net.Layers; 

 >> outlayer=layer(end); %last AlexNet layer is where the categories name are

 >> categorias=outlayer.ClassNames; 

 >> img=imresize(im,[227,227]); %resize your image to meet AlexNet requirements

 >> [pred,scores]=classify(net,img); %classify your photo

 >> highscores=scores>0.04; %define the highscores

 >> bar(scores(highscores)) %plot the results

 >> set(gca,'xtick',1:7); 

 >> xticklabels(categorias(highscores)) %add categories name to the plot

이어지는 예제: PC를 열고 심층 신경망 디자이너 앱과 심층 신경망 분석기 앱을 살펴본 후 이 사전 훈련된 신경망을 필요에 맞게 조정할 수 있습니다!

하드웨어 지원

모델이 만족스럽다면 알고리즘으로부터 C, HDL 또는 PLC 코드를 자동으로 생성하고 매니퓰레이터, 드론, 이동 로봇을 비롯하여 MATLAB 및 Simulink에서 지원하는 모든 로보틱스 하드웨어에서 실행할 수 있습니다.

자동화된 코드 생성을 사용하여 MATLAB, Simulink, Stateflow 모델로부터 C, HDL, PLC 또는 GPU 코드를 자동으로 생성하는 방법을 설명하는 다이어그램.

자동화된 코드 생성을 사용한 하드웨어 지원.

저비용 하드웨어

학생들은 MATLAB 및 Simulink와 함께 저비용 하드웨어를 사용한 실습 학습을 통해 귀중한 전문 지식을 쌓으면서 동기 부여가 되는 다양한 프로젝트에 참여할 수 있습니다.

실시간 응용 사례

또한 전문적인 하드웨어를 사용하여 로봇, 매니퓰레이터, 자율 시스템, 전기 모터 등의 제어 설계와 동역학을 시뮬레이션하고 테스트할 수도 있습니다.

실시간 타겟 컴퓨터인 Speedgoat® 컴퓨터는 Simulink 및 Simulink Real-Time™과 함께 작동하여 실시간 응용 사례를 생성, 제어 및 계측할 수 있도록 특별히 설계되었습니다.

섹션

평가

기존의 평가 방식을 어떻게 개선하고 간소화할 수 있을까요?

자동 평가

MATLAB Grader™를 사용하면 어떤 학습 환경이나 웹 브라우저에서도 평가를 확장하고 자동으로 MATLAB 코딩 과제를 채점할 수 있습니다.

과제 제출

문제 설명란에서 서식 있는 텍스트, 이미지, 하이퍼링크, LaTeX 수식을 사용할 수 있습니다. 합격/불합격 및 가중치 반영 채점 옵션 중에서 선택할 수 있습니다.

동일한 제어 공학 실습 연습문제를 보여주는 2개의 이미지. 첫 번째 그림은 PDF를 보여주고 두 번째 그림은 MATLAB Grader의 자체 평가 기능이 있는 연습문제를 보여줍니다.

제어 공학에 대한 PDF 형식 과제와 MATLAB Grader 과제.

즉각적인 피드백

MATLAB Grader를 사용하면 학생들이 어려워하는 개념에 대한 자세한 정보를 다음과 같이 파악할 수 있습니다.

  • 답안의 크기, 도달 시간 및 모범 답안과의 차이를 보여주는 솔루션 맵에 액세스할 수 있습니다.
  • 정답을 찾기 위해 학생들이 시도한 전체 내역을 볼 수 있습니다.
  • 학생 결과를 검토할 수 있습니다. (강사 및 권한을 갖는 조교가 이용 가능)
  • 학생 답안에 대한 실시간 상황별 피드백을 제공할 수 있습니다.

MATLAB Grader 피드백 그래프.

“복잡한 코드에 대해 즉각적인 피드백(또는 확인)을 받을 수 있다는 점이 정말 좋습니다. MATLAB Grader가 없었다면 내가 작성한 코드를 디버그하기가 정말 힘들었을 것입니다. 또한 모든 MATLAB 과제에서 100점을 받도록 동기 부여도 되었습니다.”

LMS 연동

MATLAB Grader는 학습 플랫폼에 곧바로 입력되는 자동 평가 결과를 제공하여 여러분이 교육과정 관리에 매일 쓰는 툴에 보고 기능을 제공할 수 있습니다.

Moodle에 통합된 MATLAB Grader 점수의 스크린샷.

Moodle LMS에 연동된 MATLAB Grader 점수.

문제은행

전기 회로, 동역학 등에 대한 MATLAB Grader 문제은행은 인증된 교수만 이용할 수 있습니다. 교수는 고객 지원팀에 액세스를 요청할 수 있습니다.

섹션

도전 과제

어떻게 학생들에게 도전할 수 있는 과제를 줄 수 있을까요? 관련 최종 프로젝트 주제는 어디서 찾을 수 있을까요?

학생경진대회

MathWorks는 로보틱스, 자동차, AI와 관련된 경진대회를 지원합니다.

European Rover Challenge(왼쪽), MathWorks 미니드론 경진대회(가운데), Formula Student 경진대회(오른쪽)의 시연 장면.

연구 프로젝트

RAS 연구 프로젝트에 대한 새로운 아이디어를 찾고, 작업물을 제출하고 MathWorks로부터 공식적인 인정을 받을 수 있습니다.

섹션

요약

수업 준비 수업 진행 자습
MATLAB 및 Simulink
툴박스
코스웨어
MATLAB 및 Simulink Online
MATLAB Drive
MATLAB 앱 디자이너
MATLAB 라이브 편집기
대화형 방식 교육과정
기타 자료
실습 평가 도전 과제
Simscape
Stateflow
MATLAB Mobile
하드웨어 지원
MATLAB Grader 경진대회
혁신 프로젝트