1. 임베디드 시스템(Embedded System)
** embed : 끼워 넣다, 새겨넣다, 파묻다
** Embedded : 내장
임베디드 시스템(영어: embedded system, 내장형 시스템)은 특정 기능을 수행하는 규모가 있는 전자적 시스템으로 구성되는 컴퓨터 시스템 이며, 실시간(real-time computing) 능력의 제한을 갖는다. 전자기기 하드웨어와 기계 부분을 포함하는 전체 장치의 일부로 내장되는 의미의 임베디드이다, 임베디드 시스템은 오늘날 일상 생활에서 쓰이는 많은 장치들을 제어하고 있다.
임베디드 시스템 개발은 하드웨어와 소프트웨어가 조합되어 특정한 목적을 수행하는 시스템 개발을 목적으로 마이크로 프로세서, 입출력장치 등의 임베디드 하드웨어와 이를 제어하는 프로그램이나 기반 응용 프로그램 등의 임베디드 소프트웨어를 적절히 사용하여 시스템 제작하는 업무이다.
임베디드 SW를 학습하기 위하여 EV3 프로그램을 사용하여 다양한 센서를 사용하여 동작 블록, 플로우 블록, 센서 블록, 데이터 블록, 고급 블록을 통하여 모바일 로봇을 제작한 플랫폼에 다양한 프로그램을 포팅하고 검증을 수행할 수 있다.
** 임베디드 시스템의 예
- 스마트폰, 홈네트워크, 디지털TV, 네비게이션, 디지털 카메라, 전기밥솥, USB 저장장치, 냉장고, MP3 플레이어, DMB, 게임기, 로봇의 제어부, 자동차 엔진 제어 장치
2. LME 소프트웨어 ( EV3 소프트웨어 )
LEGO MINDSTORMS Education Software 의 약자로 보통 EV3 소프트웨어라고 부른다.
EV3 Software는 LEGO 홈페이지에서 다운로드 받을수 있다.
http://www.lego.com/en-us/mindstorms/downloads/software/ddsoftwaredownload
** EV3 소프트웨어 종류
- 가정용 소프트웨어 : 무료
- EV3 교육용 소프트웨어 1개 라이센스 : 198,000원(핸즈온러닝에서 교사회원만 구매 가능)
- EV3 교육용 소프트웨어 Site License : 825,000원(같은 학교 내에서 무제한)
3. ROBOLAB
- NXT-G 제품이 나오기전 제품으로 LEGO 사와 NI사가 협력하여 만든 제품
- RCX 제품을 지원하다가 NXT 출시로 NXT도 지원
- NXT-G 제품이 나오기전까지는 이 제품으로 프로그램 개발
- 지금은 현재 제품 버전업이 안됨. 현재 버전 2.9가 최종.
4. RobotC
- 카네기멜론 대학(Carnegie Mellon University Robotics Academy)에서 만든 Robot 전용 프로그래밍 언어
- LEGO Mindstorms NXT, EV3를 지원
- C기반의 강력한 프로그래밍 언어
- C언어의 문법적인 체계를 대부분 따라 일반적인 제어 구문, 변수의 선언 및 호출, 매크로 함수, 배열을 지원
- 기존의 C언어 사용자들이 접근하기 쉬움
- C 프로그램을 처음 접하는 사용자들에게도 프로그램의 결과를 로봇의 동작을 통해 직접 눈으로 보면서 확인 가능
- 디버깅 기능을 지원하기 때문에 쉽고 재미있게 배울 수 있다는 이점이 있음.
- 미국에서는 이 제품을 이용하여 다양한 분야에 적용하고 있음.
- EV3, NXT, VEX, TETRIX, MATRIX, 아두이노 등 다양한 곳에서 사용.
- 2015. 2월 최신버전 : 4.30 제품
- 다운로드 사이트 : http://www.robotc.net
- 10일간 무료로 사용. 이후 유료 지불.
** 국내에서 구입할 수 있는 사이트 : 핸즈온테놀러지
http://handsontech.co.kr/goods/view?no=215
- 1user : 99,000원
- 6user : 363,000원
- Classroom License : 770,000원
현재 지원 가능한 함수 및 기능
• EV3 모터 제어 함수 (unregulated movements)
• PID 제어 (regulated movements)
• 엔코더 제어 (엔코더 값 측정 + 지정된 엔코더 값만큼 이동)
• EV3 센서 지원 (all)
• NXT 장치 지원 (NXT 센서, 모터)
• EV3 LED 제어 지원
• RobotC 3.x에서 가져온 기능 - 디버거, 멀티테스팅, 변수, 디버그 스트림.
• LCD 제어 지원 (drawing/printing text)
• EV3 특정 기능 (버튼, 사운드)
• Bluetooth 연결을 통한 다운로드 / 디버그
• I2C 함수 / Sensor Drivers
• EV3 센서 특정 명령
• NXT 외부 컨트롤러 (TETRIX, MATRIX) 지원
• NXT 조이스틱 제어 기능
개발 중인 함수 및 기능
• EV3 외부 컨트롤러 (TETRIX, MATRIX) 지원
• EV3 데이지 체인
• Wifi를 이용한 다운로드 및 디버깅
• 모터 동기화 기능
• EV3 조이스틱 제어 기능
• 파일 시스템 명령(읽기 / RobotC 프로그램에서 파일 쓰기)
5. LabVIEW
- EV3 Software, NXT-G, Robolab 과 같이 LEGO사와 NI사 가 협력하여 만든 제품
- 이 제품들의 모체가 LabVIEW
- 그래픽언어 프로그래밍 방식의 제품. NI사의 핵심 언어.
LEGO 사의 MINDSTROMS 제품 프로그램을 하려면 NI LabVIEW 제품으로 사용하려면 2가지 방법이 있다.
1. NI LabVIEW for LEGO MINDSTROMS 제품이 있다. 교육용으로 별도로 만든 제품이다.
2. NI LabVIEW 2013 제품이 있다. 이 제품은 NI 사에서 기업용으로 사용하는 제품이다. 이 제품에 각 제품에 맞는 NXT Module 이나 Toolket for NXT 를 추가 설치하여 사용한다.
** 1번의 제품을 먼저 사용하고, LabVIEW에 익숙해지면 2번의 기업용 제품을 사용.
- http://sine.ni.com/nips/cds/view/p/lang/en/nid/210666
- 위의 사이트에 방문하면 자세한 정보를 받으실수 있다. 또한 저렴하게 구입도 가능.