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