로봇과학의 실제 2011.11.23(수) 경기북과학고 교사 정웅열
LEGO MINDSTORMS NXT란 무엇인가? RCX에 이은 LEGO사의 차세대 로봇 컨트롤러 32bit ARM7 Processor 800MHz 64KB RAM / 256KB Flash Memory 입력포트 4 / 출력포트 3 USB / Bluetooth 통신 지원 100*64 Graphic LCD / 스피커 충전식 배터리(7.6v) 지원 서보모터(엔코더 내장) 초음파 / 사운드 / 터치 / 라이트 센서
NXT의 Sensor와 Actuator 1. LEGO MINDSTORMS NXT 기존 LEGO RCX용 디바이스 호환 충전식 리튬폴리머 배터리 터치 센서 사운드 센서 라이트 센서 초음파 센서 엔코더 내장형 서보 모터 그래픽 LCD 및 블루투스 무선통신 내장 USB 2.0 지원 기존 LEGO RCX용 디바이스 호환
NXT Controller의 외형 1. LEGO MINDSTORMS NXT Output Input LCD USB Speaker 꺼진 상태 : 전원 켜기 켜진 상태 : 가운데 메뉴 실행 좌측의 메뉴로 넘어감 우측의 메뉴로 넘어감 취소 / 최상위 메뉴에서 끄기
1. LEGO MINDSTORMS NXT NXT 메뉴 설명
1. LEGO MINDSTORMS NXT NXT 프로그래밍 1
1. LEGO MINDSTORMS NXT NXT 프로그래밍 1
1. LEGO MINDSTORMS NXT NXT 프로그래밍 2
1. LEGO MINDSTORMS NXT NXT 프로그래밍 2
1. LEGO MINDSTORMS NXT NXT-G 화면구성
1. LEGO MINDSTORMS NXT NXT-G 화면구성
1. LEGO MINDSTORMS NXT 기본(Common) 팔레트
1. LEGO MINDSTORMS NXT 블록 명령어와 옵션 팔레트
1. LEGO MINDSTORMS NXT Wait for 블록
1. LEGO MINDSTORMS NXT 전체(Complete) 팔레트
1. LEGO MINDSTORMS NXT 도구(Tool) Palette
1. LEGO MINDSTORMS NXT 펌웨어(Firmware) 다운로드
1. LEGO MINDSTORMS NXT 제어판(Control Panel)
1. LEGO MINDSTORMS NXT 연결 및 데이터 관리
1. LEGO MINDSTORMS NXT 메모리 관리
1. LEGO MINDSTORMS NXT 최초의 프로그램
2. 터치센서 터치 센서 (Touch Sensor) 안눌림 눌림 회로 개방 대기상태 전류의 흐름 전압 측정 회로 폐쇄
보기(View) 메뉴를 통한 센서의 반응 확인 2. 터치센서 터치 센서의 동작 로봇이 주변 장애물에 반응할 수 있게 함 보기(View) 메뉴를 통한 센서의 반응 확인 3가지 인식 형태
보기(View) 메뉴를 통한 센서의 반응 확인 2. 터치센서 터치 센서의 동작 로봇이 주변 장애물에 반응할 수 있게 함 보기(View) 메뉴를 통한 센서의 반응 확인 3가지 인식 형태 1 - 누르고 있는 경우 0 - 해제한 경우
터치 센서를 이용해 전진하다가 물체에 닿으면 정지하는 프로그램을 작성해 보자. 2. 터치센서 장애물 인식 프로그램 터치 센서를 이용해 전진하다가 물체에 닿으면 정지하는 프로그램을 작성해 보자.
터치 센서를 이용해 전진하다가 물체에 닿으면 정지하는 프로그램을 작성해 보자. 2. 터치센서 장애물 인식 프로그램 터치 센서를 이용해 전진하다가 물체에 닿으면 정지하는 프로그램을 작성해 보자.
터치 센서를 누를 때마다 전진과 후진을 반복하는 프로 그램을 작성해 보자. 2. 터치센서 장애물 인식 프로그램 2 터치 센서를 누를 때마다 전진과 후진을 반복하는 프로 그램을 작성해 보자.
터치 센서를 누를 때마다 전진과 후진을 반복하는 프로 그램을 작성해 보자. 2. 터치센서 장애물 인식 프로그램 2 터치 센서를 누를 때마다 전진과 후진을 반복하는 프로 그램을 작성해 보자.
터치 센서를 누를 때마다 전진과 후진을 반복하는 프로 그램을 작성해 보자. 2. 터치센서 장애물 인식 프로그램 2 터치 센서를 누를 때마다 전진과 후진을 반복하는 프로 그램을 작성해 보자.
사운드 센서 (Sound Sensor) 3. 사운드센서 사운드 센서는 데시벨 레벨 즉, 소리의 크기 또는 강도를 감지한다. dB : 모든 실제 소리. 즉, 인간이 듣기에 너무 높거나 낮은 소리 포함 dBA : 사람의 귀가 실제로 들을 수 있는 소리 <음원이 센서에서 1m거리에 있다고 가정할 때> 음향 백분율(%) 소리의 크기 4~5% 조용한 거실 5~10% 멀리서 이야기하는 소리 10~13% 대화, 잔잔한 음악 30~100% 소리를 지르거나 시끄러운 음악소리
보기(View) 메뉴를 통한 센서의 반응 확인 3. 사운드센서 사운드 센서의 동작 로봇이 주변 소리에 반응할 수 있게 함 소리의 크기나 강도를 감지 dB(모든 실제 소리)와 dBA(인간이 감지가능한 소리)모두 감지 90dB까지 측정 가능/센서가 읽을 수 있는 음향의 백분율(%)로 표 시 보기(View) 메뉴를 통한 센서의 반응 확인
10초 동안만, 사운드 센서의 센싱 값을 실시간으로 LCD 창에 표시해보자. 3. 사운드센서 사운드 센서 View 프로그램 10초 동안만, 사운드 센서의 센싱 값을 실시간으로 LCD 창에 표시해보자.
10초 동안만, 사운드 센서의 센싱 값을 실시간으로 LCD 창에 표시해보자. 3. 사운드센서 사운드 센서 View 프로그램 10초 동안만, 사운드 센서의 센싱 값을 실시간으로 LCD 창에 표시해보자.
사운드 센서를 이용해 박수 소리가 나면 앞으로 전진하 는 프로그램을 작성해 보자. 단, 정지는 터치 센서를 이용한다. 3. 사운드센서 사운드 인식 프로그램 사운드 센서를 이용해 박수 소리가 나면 앞으로 전진하 는 프로그램을 작성해 보자. 단, 정지는 터치 센서를 이용한다.
사운드 센서를 이용해 박수 소리가 나면 앞으로 전진하 는 프로그램을 작성해 보자. 단, 정지는 터치 센서를 이용한다. 3. 사운드센서 사운드 인식 프로그램 사운드 센서를 이용해 박수 소리가 나면 앞으로 전진하 는 프로그램을 작성해 보자. 단, 정지는 터치 센서를 이용한다.
박수 소리가 날 때마다, 전진과 후진을 반복하는 프로그 램을 작성해보자. 3. 사운드센서 사운드 인식 프로그램 2 박수 소리가 날 때마다, 전진과 후진을 반복하는 프로그 램을 작성해보자.
박수 소리가 날 때마다, 전진과 후진을 반복하는 프로그 램을 작성해보자. 3. 사운드센서 사운드 인식 프로그램 2 박수 소리가 날 때마다, 전진과 후진을 반복하는 프로그 램을 작성해보자.
박수 소리가 날 때마다, 전진과 후진을 반복하는 프로그 램을 작성해보자. 3. 사운드센서 사운드 인식 프로그램 2 박수 소리가 날 때마다, 전진과 후진을 반복하는 프로그 램을 작성해보자.
4. 빛 센서 빛 센서 (Light Sensor) 전방에 간접조명용 붉은LED와 Photo Transistor가 내장되어 있으며, 명암을 구분 지면과 수직 방향, 5mm가 가장 적합 조명의 켜짐 유무에 따라 액티브 모드/인액티브 모드를 가지고 있다. 측정 값은 0~100%으로 표현
로봇이 명암을 구분하고, 실내에서의 광도 감지 및 채색 된 표면의 광도 감지하게 함 4. 빛 센서 빛 센서의 동작 로봇이 명암을 구분하고, 실내에서의 광도 감지 및 채색 된 표면의 광도 감지하게 함 보기(View) 메뉴를 통한 센서의 반응 확인 반사광(Reflected light)을 통한 색채 감지 사람의 눈을 통한 인식 로봇의 빛 센서를 통한 인식
경계값 (문턱값, Threshold, Cutoff, Trigger Value) 4. 빛 센서 경계값 (문턱값, Threshold, Cutoff, Trigger Value) 어두운 영역과 밝은 영역을 어떻게 구분할 것인가?
전진하던 로봇이 낭떠러지를 만나면 멈추는 로봇 프로그 램을 작성해보자. 4. 빛 센서 빛 센서 인식 프로그램 전진하던 로봇이 낭떠러지를 만나면 멈추는 로봇 프로그 램을 작성해보자. 단, 정지한 후 총 주행시간을 LCD 창에 표시해보자.
전진하던 로봇이 낭떠러지를 만나면 멈추는 로봇 프로그 램을 작성해보자. 4. 빛 센서 빛 센서 인식 프로그램 전진하던 로봇이 낭떠러지를 만나면 멈추는 로봇 프로그 램을 작성해보자.
전진하던 로봇이 낭떠러지를 만나면 멈추는 로봇 프로그 램을 작성해보자. 단, 정지한 후 총 주행시간을 LCD 창에 표시해보자. 4. 빛 센서 빛 센서 인식 프로그램 전진하던 로봇이 낭떠러지를 만나면 멈추는 로봇 프로그 램을 작성해보자. 단, 정지한 후 총 주행시간을 LCD 창에 표시해보자.
첫 번째 검정라인 통과 - 두 번째 검정라인 인식 하면 정지 4. 빛 센서 빛 센서 인식 프로그램 첫 번째 검정라인 통과 - 두 번째 검정라인 인식 하면 정지
첫 번째 검정라인 통과 - 두 번째 검정라인 인식 하면 정지 4. 빛 센서 빛 센서 인식 프로그램 첫 번째 검정라인 통과 - 두 번째 검정라인 인식 하면 정지
첫 번째 검정라인 통과 - 두 번째 검정라인 인식 하면 정지 4. 빛 센서 빛 센서 인식 프로그램 첫 번째 검정라인 통과 - 두 번째 검정라인 인식 하면 정지
첫 번째 검정라인 통과 - 두 번째 검정라인 인식 하면 정지 4. 빛 센서 빛 센서 인식 프로그램 첫 번째 검정라인 통과 - 두 번째 검정라인 인식 하면 정지
첫 번째 검정라인 통과 - 두 번째 검정라인 인식 하면 정지 4. 빛 센서 빛 센서 인식 프로그램 첫 번째 검정라인 통과 - 두 번째 검정라인 인식 하면 정지
첫 번째 검정라인 통과 - 두 번째 검정라인 인식 하면 정지 4. 빛 센서 빛 센서 인식 프로그램 첫 번째 검정라인 통과 - 두 번째 검정라인 인식 하면 정지
4. 빛 센서 빛 센서 – 1센서 라인트레이싱 알고리즘 도착 출발
Swing Turn Point Turn Curve Turn 로봇의 회전 방식의 이해 4. 빛 센서 모터 파워 좌측 우측 50 좌측 우측 50 -50 좌측 우측 50 10 Swing Turn Point Turn Curve Turn
4. 빛 센서 빛 센서 – 1센서 라인트레이싱 알고리즘 도착 출발
4. 빛 센서 빛 센서 – 1센서 라인트레이싱 알고리즘
4. 빛 센서 빛 센서 – 1센서 라인트레이싱 알고리즘
4. 빛 센서 빛 센서 – 1센서 라인트레이싱 알고리즘
4. 빛 센서 빛 센서 – 2센서 라인트레이싱 알고리즘 1 도착 3 출발
4. 빛 센서 빛 센서 – 2센서 라인트레이싱 알고리즘
4. 빛 센서 빛 센서 – 2센서 라인트레이싱 알고리즘
4. 빛 센서 빛 센서 – 2센서 라인트레이싱 알고리즘
4. 빛 센서 빛 센서 – 씨름로봇의 주행
3개의 색이 포함된 다음의 경기장에서 로봇이 원판 밖으로 떨어지지 않게 할 경우, 문턱값은 어떻게 해야하는가? 4. 빛 센서 빛 센서 – 씨름로봇의 주행 3개의 색이 포함된 다음의 경기장에서 로봇이 원판 밖으로 떨어지지 않게 할 경우, 문턱값은 어떻게 해야하는가? 빛 값 측정 결과 검정색(20), 파란색(40), 흰색(60) 가장 중요한 것은 흰색 문턱값 = (40 + 60) / 2 파란색과 흰색을 구분하면 검정색과 흰색은 당연히 구별됨
4. 빛 센서 빛 센서 – 씨름로봇의 주행
4. 빛 센서 빛 센서 – 씨름로봇의 주행
초음파 센서 (Sonar Sensor) 5. 초음파 센서 물체를 감지하고 거리를 측정하는 센서 cm(센티미터)와 inch(인치) 단위로 측정 이 가능 측정값은 0~250cm까지 거리를 측정하며 오차는 ±3 cm이다.
로봇이 물체를 감지하고 장애물을 피하며 거리를 측정하 고 움직임을 감지할 수 있도록 함 5. 초음파 센서 초음파 센서의 동작 로봇이 물체를 감지하고 장애물을 피하며 거리를 측정하 고 움직임을 감지할 수 있도록 함 음파가 어떠한 물체에 부딪쳐서 되돌아오는 시간 통해 거리 계산 센티미터(cm)와 인치(inch) 단위로 측정 0 ~ 2.5m 까지 거리 측정 가능(오차범위 ±3cm) 보기(View) 메뉴를 통한 센서의 반응 확인
초음파 센서의 특징 5. 초음파 센서 초음파 센서는 그림과 같은 Corn 형태의 파형을 가진다. 옆 또는 위, 아래에 있는 장애물도 인식하기 때문에 사용하기에 쉽지 않다. 크고 표면이 단단한 물체는 정확히 측정되나, 수건처럼 부드러운 천이나 공처럼 표면이 굽은 물체는 센서가 감지하기 어렵다.
초음파 센서를 이용해 전진하다가 물체를 인식하면 정지 하는 프로그램을 작성해보자. 5. 초음파 센서 장애물 감지 프로그램 초음파 센서를 이용해 전진하다가 물체를 인식하면 정지 하는 프로그램을 작성해보자. 30cm
초음파 센서를 이용해 전진하다가 물체를 인식하면 정지 하는 프로그램을 작성해보자. 5. 초음파 센서 장애물 감지 프로그램 초음파 센서를 이용해 전진하다가 물체를 인식하면 정지 하는 프로그램을 작성해보자.
교실이나 복도 등을 자유롭게(랜덤) 탐사하는 로봇 프로 그램을 작성해보자. 5. 초음파 센서 장애물 감지 프로그램 2 교실이나 복도 등을 자유롭게(랜덤) 탐사하는 로봇 프로 그램을 작성해보자. 단, 터치센서와 초음파센서를 함께 사용한다.
5. 초음파 센서 장애물 감지 프로그램 2
5. 초음파 센서 장애물 감지 프로그램 2
NXT 서보 모터 (Servo Motor) 6. 서보 모터 NXT 서보 모터는 회전 속도계가 내장되 어 있어 모터의 회전 속도나 회전 각도 를 측정 정 방향 제어, 역 방향 제어, 감속, 가속 등의 미세한 제어가 가능 서보 모터의 출력 범위는 -100 ~ +100 까지 이며, 0은 모터의 정지를 의미 엔코더(회전 센서)의 분해능은 1도
서보 모터의 동작 모터를 A번에 연결 NXT를 켜고 View 를 선택 ( ) 모터를 정 / 역회전 시키며 값을 확인한다. 6. 서보 모터 서보 모터의 동작 모터를 A번에 연결 NXT를 켜고 View 를 선택 ( ) 모터를 정 / 역회전 시키며 값을 확인한다.
6. 서보 모터 서보모터 활용 로봇의 정확한 주행이 가능하다. 바퀴의 지름(긴쪽) 바퀴의 폭
서보모터의 엔코더(모터센서)만을 이용하여 1m 전진 후 에 정지하는 프로그램을 작성해 보자. 6. 서보 모터 서보모터를 이용한 정밀 주행 서보모터의 엔코더(모터센서)만을 이용하여 1m 전진 후 에 정지하는 프로그램을 작성해 보자. 1m
서보모터의 엔코더(모터센서)만을 이용하여 1m 전진 후 에 정지하는 프로그램을 작성해 보자. 6. 서보 모터 서보모터를 이용한 정밀 주행 서보모터의 엔코더(모터센서)만을 이용하여 1m 전진 후 에 정지하는 프로그램을 작성해 보자.
Bluetooth 는 근거리 통신 규약으로 약 10m 정도의 거 리까지 통신이 가능하다. 7. 블루투스 통신 블루투스 (Bluetooth) 통신 Bluetooth 는 근거리 통신 규약으로 약 10m 정도의 거 리까지 통신이 가능하다. 장비별 식별 코드를 사용하므로 장비간 인증, 데이터 보 안 등의 특징과 네트워크, 시리얼, 오디오 등 다양한 서 비스를 제공한다. NXT 에서는 PC to NXT, NXT to NXT 의 통신을 지원한다.
Master와 Slave 사이의 10m 내외의 무선 통신이 가능, 한 번에 총 세 개까지의 장치와 연결상태를 유지 7. 블루투스 통신 블루투스 통신의 특징 Master와 Slave 사이의 10m 내외의 무선 통신이 가능, 한 번에 총 세 개까지의 장치와 연결상태를 유지 한 번에 총 세 개의 장치와 단방향으로 통신할 수 있음 장치 탐색 기능 및 이전 접속 장치 기억 기능 제공 장치 검색의 허용/불허를 선택할 수 있으며, 연결 중인 블루투스 장치의 전원을 on/off 할 수 있음
7. 블루투스 통신 블루투스 메뉴 아이콘
Bluetooth 연결 상황은 LCD 좌측 상단에서 볼 수 있음 B 표시의 여부는 Bluetooth 기능 의 활성화 상태 표시 7. 블루투스 통신 블루투스 On/Off Bluetooth 연결 상황은 LCD 좌측 상단에서 볼 수 있음 B 표시의 여부는 Bluetooth 기능 의 활성화 상태 표시 < 표시는 외부에서의 검색이 가능 하다는 의미 <> 표시는 외부와 연결이 되었다 는 의미
Search 기능을 이용하면 주변 Bluetooth 기기들을 탐색한다. 7. 블루투스 통신 Search & Select Search 기능을 이용하면 주변 Bluetooth 기기들을 탐색한다. PC, NXT, 기타 블루투스 장치 등을 검 색할 수 있다. NXT는 각 NXT의 이름으로 검색되므 로, 미리 이름을 바꿔 놓는 것이 좋다.
NXT Bluetooth 는 총 4개의 통신채널 보유 (자체 채널1개, 외부채널 3개) 7. 블루투스 통신 페어링(Pairing) NXT Bluetooth 는 총 4개의 통신채널 보유 (자체 채널1개, 외부채널 3개) 다른 기기와 연결할 때는 이 슬롯 번호로 메 시지를 전송 장치 연결을 시도하면 최초 연결시도 시 PIN-Code를 설정 PIN-Code는 장치간 식별을 위한 번호로 연결하는 장치와 연결되는 장치가 같은 키를 입력해 주어야 연결이 성립
연결슬롯 (slot) 과 핀 코드 (PIN-Code) 7. 블루투스 통신 연결슬롯 (slot) 과 핀 코드 (PIN-Code) NXT Bluetooth 는 총 4개의 통신채널 보유 (자체 채널1개, 외부채널 3개) 다른 기기와 연결할 때는 이 슬롯 번호로 메 시지를 전송 장치 연결을 시도하면 최초 연결시도 시 PIN-Code를 설정 PIN-Code는 장치간 식별을 위한 번호로 연결하는 장치와 연결되는 장치가 같은 키를 입력해 주어야 연결이 성립
블루투스 통신을 이용해 전진하다가 로봇에 닿으면 정지 하고, 두 번째 로봇이 출발하는 프로그램을 작성해 보자. 7. 블루투스 통신 릴레이 로봇 블루투스 통신을 이용해 전진하다가 로봇에 닿으면 정지 하고, 두 번째 로봇이 출발하는 프로그램을 작성해 보자.
블루투스 통신을 이용해 전진하다가 로봇에 닿으면 정지 하고, 두 번째 로봇이 출발하는 프로그램을 작성해 보자. 7. 블루투스 통신 릴레이 로봇 블루투스 통신을 이용해 전진하다가 로봇에 닿으면 정지 하고, 두 번째 로봇이 출발하는 프로그램을 작성해 보자.
서보모터의 엔코더(모터센서)만을 이용하여 1m 전진 후 에 출발 지점으로 돌아오는 프로그램을 작성해 보자. 8. 도전과제(Challenge) 도전과제-1 서보모터의 엔코더(모터센서)만을 이용하여 1m 전진 후 에 출발 지점으로 돌아오는 프로그램을 작성해 보자. 단, 공을 건드리되 쳐내면 실패 1m 순위 : 미션 완성 순서에 따라 산출
벽 도전과제-2 터치 센서가 눌리기 전까지 전진을 하다가 눌러지면 후진, 우회전하여 캔 사이를 지나 공을 쳐내는 프로그램 작성 8. 도전과제(Challenge) 도전과제-2 터치 센서가 눌리기 전까지 전진을 하다가 눌러지면 후진, 우회전하여 캔 사이를 지나 공을 쳐내는 프로그램 작성 초음파 센서와 터치센서 이용 필수 벽 순위 : 미션 완성 순서에 따라 산출
2센서 라인트레이싱 후 캔을 돌아서 출발 지점으로 다시 돌아오면 정지하는 로봇 프 로그램 작성 8. 도전과제(Challenge) 도전과제-3 2센서 라인트레이싱 후 캔을 돌아서 출발 지점으로 다시 돌아오면 정지하는 로봇 프 로그램 작성 캔 우회 : 사운드 센서를 활용 순위 : 경주 시간이 가장 짧은 팀이 1위 (경주 시간을 NXT 화면에 5초 이상 표시할 것)
START 지점에서 출발하여 END 지 점까지 돌아오되, 중간에 빨간색 공 을 목표지점으로 이동시키는 로봇 프로그램 작성. 8. 도전과제(Challenge) 도전과제-4 START 지점에서 출발하여 END 지 점까지 돌아오되, 중간에 빨간색 공 을 목표지점으로 이동시키는 로봇 프로그램 작성. 로봇은 목표 지점에 닿지 않아도 됨 전체 주행 시간 5초 이상 표시 순위 : 경주 시간이 가장 짧은 팀이 1위(경주 시간을 NXT 화면에 5초 이상 표시할 것)
순위 : 경주 시간이 가장 짧은 팀이 1위(5초 이상 화면 표시) 8. 도전과제(Challenge) 도전과제-5 Start Finish 순위 : 경주 시간이 가장 짧은 팀이 1위(5초 이상 화면 표시)
Thank you~!! Any Question?