[myLV.net 집필진 강좌 – Goodmaner]
이번 강좌에서는 LabVIEW와 LEGO Mindstorms EV3를 이용한 로봇 프로그램 만들기에 대한 마지막 시간으로 로봇 프로그램 동작 확인하기에 대해서 소개해 드리겠습니다.
Stand alone으로 구현한 이미지를 실행하여 동작하도록 운영하려고 할때 원하는 동작을 하지 않을 경우 디버깅을 해야 합니다.
로봇 운영 프로그램의 SW 구조를 표준 상태머신 구조로 운영할 수 있는데, 이런 경우 내가 원하는 상태머신 구조로 동작하는지, 상태 천이 시 다양한 센서로부터 취득한 정보를 이용하면 디버깅을 위해 현재 상태 및 취득한 센서 정보를 모니터링할 수 있어야 합니다.
이를 위해 가장 손쉽게 확인하는 방법은 LEGO Mindstorms EV3의 LCD 화면에 모니터링하고자 하는 정보들을 표시해 줄 수 있습니다.
아래 그림은 LEGO Mindstorms Toolkit에서 제공하는 "Align Text Left" API로 LEGO Mindstorms EV3의 LCD 화면의 원하는 위치에 텍스트를 표시할 수 있습니다.
아래 그림은 LEGO Mindstorms EV3의 LCD 화면의 4번째 행에 "Hello World"라는 문자열을 2초동안 표시해주는 코드입니다. 관련 코드를 활용하여 현재 상태를 모니터링할 수 있습니다.
아래 그림은 3.14라는 실수 값을 LCD 화면의 4번째 행에 2초동안 표시해주는 코드입니다. 이를 참고하여 현재 센서로부터 취득한 값들을 LEGO Mindstorms EV3의 LCD 화면에 표시하여 디버깅할 수 있습니다.
뿐만 아니라 디버깅 시 LCD 화면을 모니터링하지 않고 특정 조건을 만족할 때 소리가 나도록 할 수 있습니다. 아래 그림은 "Detected.rsf"라는 오디오 파일을 읽어와서 볼륨 크기를 25%로 출력하는 코드입니다.
아래 그림은 "Wait for Time (msec)" API로 ms 단위로 시간 지연을 설정할 수 있습니다.
아래 그림은 1초 지연 이후에 "Detected.rsf" 오디오 파일이 실행되고, 1초 후에 다시 "Detected.rsf" 오디오 파일이 실행되는 코드입니다.
로봇 프로그램 동작 확인 중 이상동작 현상이 발생했을 경우 프로그램적인 문제인지 물리적인 문제인지를 구분하고자 할 경우가 있습니다. 이런 경우는 지난 "1.2. 로봇 프로젝트 생성 및 운영하기" 강좌에서 언급했었던 "Schematic Editor"를 활용할 수 있습니다. 자세한 내용은 아래 링크된 강좌 내용을 참고하시길 바랍니다.
지금까지 LabVIEW와 LEGO MINDSTORMS EV3로 로봇 프로그램 동작 확인하기에 대해서 살펴보았습니다.
LabVIEW와 LEGO Mindstorms EV3를 이용한 로봇 프로그램 만들기에 관심 있으신 분들에게 조금이나마 도움이 되었길 바랍니다.
다음 강좌에서는 아마존 웹 서비스와 관련하여 NI에서 제공하는 NI Cloud Toolkit for AWS(Amazon Web Service)를 소개하도록 하겠습니다.