From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

[Archive] 강좌게시판

취소
다음에 대한 결과 표시 
다음에 대한 검색 
다음을 의미합니까? 

[myLV.net 집필진 강좌] LabVIEW와 LEGO Mindstorms EV3를 이용한 로봇 프로그램 만들기 - 로봇 프로젝트 생성 및 운영하기

 [myLV.net 집필진 강좌 – Goodmaner]

 

이번 강좌에서는 LabVIEW와 LEGO Mindstorms EV3를 이용한 로봇 프로그램 만들기에 대한 두번째 시간으로 LabVIEW S/W Add-On Toolkit인 LEGO Mindostorms Toolkit을 이용하여 로봇 프로젝트 생성 및 운영하는 방법에 대해서 소개해 드리겠습니다.

 

기존 LabVIEW에서도 다른 사람들에게 개발한 프로그램을 공유하기 위해서는 프로젝트 파일을 생성하여 실행파일을 만든 후 배포파일을 생성합니다. 이와 마찬가지로 LabVIEW로 구현한 프로그램을 LEGO Mindstorms에서 실행하기 위해서는 로봇 프로젝트 파일을 생성해야 합니다. 아래 그림은 로봇 프로젝트 생성하는 방법에 대한 것으로, "파일>>새 NXT/EV3>>로봇 프로젝트..."를 선택한 후 "Robot Project(.lvrbt)>>Blank Robot"을 선택하고 "Create" 버튼을 클릭합니다. 그런다음 "Specify Robot Project Path"에 원하는 Robot Project Name과 경로를 설정한 후 "Create" 버튼을 클릭하면 Robot Project 파일이 생성되고, Robot Project 다이얼로그 창(Robot Project Center)이 활성화됩니다. 참고로 Robot Project Name에 해당하는 폴더가 자동으로 생성되고, 자동 생성된 폴더에 프로젝트 파일이 생성됩니다. 이후에는 LEGO Mindstorms EV3과 연결을 설정하기 위하여 "Choose NXT/EV3" 메뉴를 클릭해서 "EV3[USB]"를 선택합니다. PC 또는 노트북과 LEGO Mindstorms EV3를 연결하는 방법은 가장 기본적으로는 USB로 연결할 수 있고, Bluetooth를 지원하면 Bluetooth로도 연결할 수 있습니다. 아무래도 물리적으로 연결시키는 USB 방식보다 무선으로 연결하는 Bluetooth 방법이 File Read/Write나 이미지 다운로드할 때 편리합니다. 

 

[그림1]1.png

 

 

이렇게 PC와 LEGO Mindstorms EV3가 연결이 된 이후에는 EV3 모듈(Programmable Brick)에 모터 및 센서들을 연결시킬 수 있습니다. 이전 강좌에서 모터와 다양한 센서들을 연결하는 포트들에 대해서 알려드렸으며 관련 정보를 이용하여 물리적으로 연결시켜준 다음 "Open Schematic Editor" 버튼을 클릭합니다. 이때 "Schematic Editor"라는 새로운 다이얼로그 창이 활성되는데, 초기 화면은 EV3 모듈이 선택되어져 있으며 왼쪽 화면에는 EV3 모듈의 현재 상태 정보들을 표시해줍니다. 아래 그림2에서 보는 바와 같이 EV3 모듈의 Battery 사용량을 막대 그래프로 표시하고, Connection/Free Space(KB)/Firmware Ver. 정보들을 표시해줍니다. "Play Tone"의 "Go" 버튼을 클릭하면 Beep음이 한번 울려서 PC나 노트북을 통하여 EV3 모듈이 제어가 이뤄지고 있다는 걸 알려줍니다.

 

[그림2]2.png

 

 

 다음으로는 EV3 모듈에 모터 및 센서들을 원하는 포트에 지정하여 동작시키는 방법에 대해서 살펴보겠습니다. 이를 수행하기 위해서는 "Schematic Editor" 다이얼로그 창을 띄운 상태에서 아래 그림3에서처럼 원하는 포트(여기에서는 Sensor Port1 선택)의 화살표 모양을 클릭하면 연결 가능한 센서들에 대한 리스트를 아이콘 모양 형태로 표시해줍니다. 그림3을 보면 알 수 있듯이, LEGO에서 제공하는 다양한 센서들 뿐만 아니라 EV3 모듈과의 연결이 가능한 다양한 업체들의 센서 정보들도 표시됩니다. 

 

[그림3]

3.png

 

 

각각의 포트들에 원하는 센서들을 아래 그림과 같이 선택하고, 실제로 물리적으로도 연결시켜줍니다. 지난 강좌에서도 언급했듯이, 모터를 연결하는 포트와 센서를 연결하는 포트가 분리되어 있고 "Schematic Editor"에서는 모터를 연결할 수 있는 포트에서만 모터를 선택하고, 센서를 연결할 수 있는 포트에서만 센서들 중 하나를 선택하도록 UI가 지원되기 때문에 잘못 설정할 일은 없지만 물리적으로 연결할 때 실수로 센서를 모터 포트에 연결할 수 있습니다. 이런 경우 센서에 물리적은 데미지를 줄 수 있기 때문에 EV3 모듈에 모터와 센서를 연결할 때는 각별한 주의를 해주어야 합니다. "Schematic Editor" 다이얼로그에서 왼쪽 상단의 "Save" 버튼을 클릭하면 "robo_schema.bin" 파일이 생성됩니다. LabVIEW에서 기본적으로 제공하는 NI MAX(Measurement & Automation Explorer)의 경우 하드웨어 정상동작 여부를 확인하는 목적으로 사용할 수 있듯이, "Schematic Editor"를 이용하여 EV3 모듈에 연결시킨 센서들과 모터들에 대한 정상동작 여부를 확인할 수 있습니다. 아래 그림에서는 Sensor Port1에 연결된 Touch Sensor에 대한 동작을 확인할 수 있는 메뉴로 "Schematic Editor" 다이얼로그 창의 왼쪽 화면에 표시됩니다. 

 

[그림4]4.png

 

 

아래 그림은 Color/Infrared(적외선)/Large Motor1/Large Motor2를 테스트할 수 있는 화면을 표시하고 있습니다. 실시간으로 동작여부를 확인할 수 있기 때문에 운영상 문제 발생 시 하드웨어 이상 유무를 체크할 때 사용할 수 있습니다.

 

[그림5]5.png

 

 

지금부터는 EV3 모듈에서 동작시킬 LabVIEW 프로그램 파일을 생성하는 방법에 대해서 살펴보겠습니다. 파일 생성방법은 두 가지가 있는데, 하나는 PC나 노트북에서 EV3 모듈을 제어하기 위한 프로그램을 실행하고자 하는 경우에는
"New VI>>VI for Computer Target"을 선택하여 VI 파일을 생성합니다. 다른 하나는 EV3 모듈에서 stand alone으로 실행하고자 하는 경우에는 "New VI>>VI for NXT/EV3 Target"을 선택합니다. 두 VI간 구별할 수 있는 방법은 아래 그림에서처럼 VI 창의 왼쪽 하단에 오렌지 색으로 "EV3[USB]"라고 표시가 되어 있으면 EV3 모듈에서 stand alone으로 실행하기 위한 것이고, 없으면 PC나 노트북에서 실행하는 VI입니다. 
 

[그림6]6.png

 

"VI for NXT/EV3 Target"으로 생성한 VI로 프로그램을 구현한 후 EV3 모듈에서 실행할 이미지를 배포하는 방법은 아래 그림과 같이 "배포" 버튼을 클릭하면 됩니다. 배포가 정상적으로 실행되는 경우에는 별도의 다이얼로그 창이 활성화되면서 배포되는 상황을 표시해주고 배포가 완료되면 특정 음이 발생하면서 배포가 완료되었음을 알려줍니다. EV3 모듈을 살펴보면 배포한 VI 파일과 동일한 이름의 실행파일이 다운로드되어져 있는 것을 확인할 수 있습니다. 이 실행파일을 클릭하면 프로그램이 실행됩니다.

 

[그림7]7.png

 

지금까지 LabVIEW Module for LEGO MINDSTORMS Toolkit을 이용하여 로봇 프로젝트 생성 및 운영하는 방법에 대해서 자세히 살펴보았습니다. 다음 강좌에서는 EV3 모듈에 다양한 센서들을 연결시켜서 사용하는 방법에 대해서 살펴보겠습니다.

기여자