본문 바로 가기

로고

국내 최대 기계 및 로봇 연구정보
통합검색 화살표
  • Dimension 1200es (3D프린터)
  • 생활속의 공학이야기

    1410 12 0

    • [로봇노트] 로봇 제어를 위한 매트랩(Matlab)

      박경원(KAIST 기계공학부) / 2021-03-10 오후 12:53:22







    Matlab은 Mathworks에서 개발한 공학용 어플리케이션 소프트웨어 패키지이다[Fig 1].
    Matlab은 공학을 전공하는 사람이라면 한 번은 사용해보았을 정도로 이미 우리와 친숙한 프로그램이다. 매트랩에서 공학에서 사용되는 수많은 패키지들을 제공하는데 주요한 목록은 다음과 같이 정리할 수 있다.

    수학 및 최적화 (Curve fitting toolbox, optimization toolbox, symbolic math toolbox, mapping toolbox, etc.)

    AI, 데이터 과학 및 통계학 (Statistics and machine learning toolbox, deep learning toolbox, reinforcement learning toolbox, predictive maintenance toolbox, etc.)

    신호 처리 (Signal processing toolbox, phased array system toolbox, audio toolbox, wavelet toolbox, etc.)

    영상 처리 및 컴퓨터 비전 (Image processing toolbox, computer vision toolbox, lidar toolbox, vision HDL toolbox, etc.)

    제어 시스템 (Control system toolbox, system identification toolbox, robust control toolbox, model predictive control toolbox, fuzzy logic toolbox, etc.)

    이 중에서도 제어 시스템에 관련된 toolbox는 시스템 모델과 전달함수를 계산하고 시간/주파수 응답을 분석하는 등 제어 알고리즘 작성에 있어 유용하게 사용될 것들을 포함하고 있다.


    Matlab이 활용 용도는 무궁무진하고, 적용하고자 하는 엔지니어링 시스템이나 목적에 따라 사용되는 toolbox 또한 서로 다르다. 그 중에서도 로봇 제어에 있어서 주요하게 활용되는 예시들을 언급해보고자 한다.
    첫 번째로, Matlab은 s-domain에서의 전달함수 작성 기능을 지원한다. 이를 통해 시스템 모델을 정의하고, 주파수특성을 분석하기 위해 보드 선도(Bode Plot)을 그리거나 안정성 판별을 위해 나이키스트 선도(Nyquist Plot)을 그리는 등 우리가 이론으로 접해왔던 기능을 손쉽게 함수로 구현할 수 있도록 정의되어 있다.




    [Fig 2]은 전달함수를 삼차원 공간에 그려낸 것이다. 시스템의 영점과 극점의 위치 뿐만 아니라, 주파수에 따른 시스템의 응답 또한 동시에 확인할 수 있다.





    [Fig 3]는 Matlab toolbox를 이용해 그려낸 시스템의 나이키스트 선도를 나타낸다. 이 시스템의 안정성(Stability)뿐만 아니라 이득 여유(Gain margin), 위상 여유(Phase margin) 등의 안정도 여유까지 확인할 수가 있다.





    또한, Matlab은 시뮬링크 (Simulink)라고 하는 그래픽 기반의 코드를 제공하기도 한다 [Fig 4]. 시뮬링크는 내장된 다양한 블록(block)을 사용하여 모델(model)을 만들어 문제를 해결하는 프로그램이다. 다중 도메인 모델링 및 시뮬레이션 환경에 특화된 이 내장 프로그램은 [Fig 4]에 나타난 PID 제어기와 같이, 로봇 시스템 제어 알고리즘을 작성하는 데에도 유용하게 사용되고 있다.


    본 글에는 로봇 시스템 제어에 활용되는 주요한 프로그램인 Labview와 Matlab에 대해 소개하는 내용이 담겨졌다. 다음 내용에는 제어 이론을 소개하면서 두가지 프로그램으로 예제 코드를 함께 작성해볼 예정이다. 이론을 컴퓨터 시뮬레이션 환경으로 옮겨서 직접 구현해보는 과정을 통해 개념의 본질에 용이하게 접근할 수 있을 것이다. 특히 두 프로그램은 모두 강력한 내장 함수와 시스템 호환성을 자랑하기 때문에, 사용에 익숙해진다면 어떤 알고리즘을 작성하던 유용하게 활용할 수 있을 것으로 예상된다.

     


    • 페이스북아이콘
    • 트위터 아이콘

    전체댓글 0

    [로그인]

    댓글 입력란
    프로필 이미지
    0/500자

    서브 사이드

    서브 우측상단1