로봇과학교육_활용

Download Report

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초 이상 화면 표시)