46
LEGO NXT Programming (Line Tracer)

LEGO NXT Programming (Line Tracer)

  • Upload
    loman

  • View
    945

  • Download
    8

Embed Size (px)

DESCRIPTION

LEGO NXT Programming (Line Tracer). 라인트레이서 로봇. 라인트레이서는 센서를 이용하여 정해진 트랙을 주행하는 로봇을 뜻한다 . 로보틱스 기초 실습에 많이 활용된다. 빛 센서. 발광다이오드 : 붉은 빛을 출력. 빛을 감지. 컬러인식 못하고 밝기만로 인식. 빛 센서. 액티브 모드 ( 발광다이오드에서 빛이 나오는 경우 ) : 빛센서 자체에서 발생한 빛이 바닥이나 면에 반사되어 들어오는 양을 측정할 수 있음 - PowerPoint PPT Presentation

Citation preview

Page 1: LEGO NXT Programming (Line Tracer)

LEGO NXT Programming(Line Tracer)

Page 2: LEGO NXT Programming (Line Tracer)

라인트레이서 로봇

• 라인트레이서는 센서를 이용하여 정해진 트랙을 주행하는 로봇을 뜻한다 .

• 로보틱스 기초 실습에 많이 활용된다 .

Page 3: LEGO NXT Programming (Line Tracer)

빛 센서

3

빛을 감지

발광다이오드 : 붉은 빛을 출력

컬러인식 못하고 밝기만로 인식

Page 4: LEGO NXT Programming (Line Tracer)

빛 센서

4

• 액티브 모드 ( 발광다이오드에서 빛이 나오는 경우 ) : 빛센서 자체에서 발생한 빛이 바닥이나 면에 반사되어 들어오는 양을 측정할 수 있음

• 인액티브 모드 : 빛센서 자체가 발광하지 않는 일반상태에서의 빛 (주변광 ) 의 량을 측정할 수 있음

바닥의 명암 (액티브모드 )

주변광 ( 인액티브모드 ) 센서측정값의 변화

검정 칠흙 같은 어둠 0 으로 접근

진회색 어둠

회색 약간 어두움

흰색 밝음 100 으로 접근

Page 5: LEGO NXT Programming (Line Tracer)

빛센서의 기준값 설정

기준 : 최소치와 최대치의 중간값 ( 평균 )

1. 메뉴에서 View 선택2. Reflected Light 선택3. 라이트센서가 연결된

포트를 선택4. 라이트센서에 적색불이

들어온 것을 확인하고 LCD 에 출력된 % 값을 기록

5. 기준값 계산

어둡다

밝다

전류의 흐름

LOW

전류의 흐름

HIGH

Page 6: LEGO NXT Programming (Line Tracer)

빛센서의 기준값 설정 원리

기준 : 최소치와 최대치의 중간값 ( 평균 )

4446485052

43~45

51~53

오차

오차범위에서독립된 구역

Page 7: LEGO NXT Programming (Line Tracer)

문턱값 (Threshold)

어두운 영역 밝은 영역

특정 위치를 기준으로 어두운 영역과 밝은 영역으로 나눈다 .문턱은 방과 방의 경계로 문턱을 경계로 방의 구역이 바뀐다 . 이런 문턱처럼 디지털로 입력되는 범위를 가지는 센서 값을 사용하여 로봇을 작동하기 위해서는 기준이 되는 문턱 값 (threshold value) 을 지정해 주어야한다 .

일반적인 문턱 값

문턱 값 = ( 흰색에서 읽어 들인 값 + 검정색에서 읽어 들인

값 )/2

Page 8: LEGO NXT Programming (Line Tracer)

1 센서 라인트레이서

좌회전 코스( 라인우측인식 )

우회전 코스( 라인좌측인식 )

Page 9: LEGO NXT Programming (Line Tracer)

1 센서 주행법 (1)

출발도착

Page 10: LEGO NXT Programming (Line Tracer)

1 센서 흐름도 (1)프로그램 시작

현재위치는 ?

백색( 라인밖 )

흑색( 라인위 )

우회전

좌회전

Page 11: LEGO NXT Programming (Line Tracer)

1 센서 프로그래밍 (1)

프로그램 시작

현재위치 ?

백색( 라인밖 )

흑색( 라인위 )

우회전

좌회전

Page 12: LEGO NXT Programming (Line Tracer)

따라하기 1-2 (Fork)

NXT Light Sensor Fork

NXT 의 빛센서의 값이 정해준 문턱 값보다 크면 위쪽의 명령을 , 작거나 같으면 아래쪽의 명령을 수행

3 번 포트에 연결된 빛센서의 반사 값이 48 보다 크면 좌회전 , 48 이하면 우회전

Page 13: LEGO NXT Programming (Line Tracer)

따라하기 1-2 (Fork)

NXT Light Sensor Equal Fork

빛센서의 값이 지정한 값과 같으면 위쪽 , 다르면 아래쪽 명령 수행

3 번 포트에 연결된 빛센서의 값 (Ambient mode) 이 60 이 아니면 무한루프를 돌고 60 이면 ‘ buzz' 소리를 낸 후 다음 명령으로 넘어간다 .

Page 14: LEGO NXT Programming (Line Tracer)

1 센서 지그재그 프로그래밍 (1)Structures-Jumps

Structures-ForksModifiers

NXT Command

Page 15: LEGO NXT Programming (Line Tracer)

1 센서 주행법 (2)

출발도착

Page 16: LEGO NXT Programming (Line Tracer)

1 센서 흐름도 (2)

프로그램 시작

우회전검정까지

좌회전백색까지

우회전백색까지

좌회전검정까지

Page 17: LEGO NXT Programming (Line Tracer)

1 센서 프로그래밍 (2)

프로그램 시작

우회전검정까지

좌회전백색까지

우회전백색까지

좌회전검정까지

LineTracer250 40

50 40

Page 18: LEGO NXT Programming (Line Tracer)

따라하기 1-1 (Wait

For)

NXT Wait for Light NXT Wait for Dark

빛센서의 값이 정해준 문턱 값보다클 때까지 기다리기

빛센서의 값이 정해준 문턱 값보다 작아질 때까지 기다리기

3 번 포트에 연결된 빛센서의 값이 문턱 값 45 보다 커질 때까지 로봇을전진시키며 그 이후에 로봇을 정지

3 번 포트에 연결된 빛센서의 값이 45 보다 작아지면 로봇이 정지

Page 19: LEGO NXT Programming (Line Tracer)

따라하기 1-1 (Wait

For)

NXT Wait for Brighter

정해준 값만큼 더 밝아질 때까지 기다리기

3 번 포트에 연결된 빛센서의 현재 값이40 이라면 이 로봇은 빛센서의 반사 값이 50 이 될 때까지 전진한 후에 정지

NXT Wait for darker

정해준 만큼 더 작아질 때까지 기다리기

3 번 포트에 연결된 빛센서의 현재 값이50 이라면 이 로봇은 빛센서의 반사 값이 50 보다 10 만큼 작아질 때까지 기다린 후 ‘띠리리’소리내기

Page 20: LEGO NXT Programming (Line Tracer)

1 센서 지그재그 프로그래밍 (2)

LineTracer250 40

50 40

Page 21: LEGO NXT Programming (Line Tracer)

따라하기 1-3 (Loop)

Loop While NXT Light Sensor Is Less Than

빛의 값이 정해진 값보다 작은 동안 Loop 안의 명령을 실행

3 번 포트에 연결된 빛센서의 값이 50 보다 작은 동안 전진하고 빛센서의 값이 50 이상이면 정지

Page 22: LEGO NXT Programming (Line Tracer)

따라하기 1-4 (Container)

NXT Light Container

빛센서의 값을 컨테이너에 담기

3 번 포트에 연결된 빛센서의 값을 노란색 컨테이너에 담는다

Page 23: LEGO NXT Programming (Line Tracer)

따라하기 1-5 (Reset)

NXT Zero Light Sensor

빛센서를 초기화하기 . 빛센서의 값을 0 으로 만들 때와 빛센서를 사용하기로 정의할 때 사용

3 번 포트에 연결된 빛센서의 값을 빨간색 컨테이너에 넣는다 .

Page 24: LEGO NXT Programming (Line Tracer)

따라하기 2-1

• 빛센서 값에 따라 속도가 변하는 로봇

빛센서 값에 따라 속도가 변하는 로봇

Page 25: LEGO NXT Programming (Line Tracer)

라인트레이서의고급프로그램

Page 26: LEGO NXT Programming (Line Tracer)

2 센서 라인트레이서

좌회전 코스( 좌측센서인식 )

우회전 코스( 우측센서인식 )

Page 27: LEGO NXT Programming (Line Tracer)

2 센서 주행법

출발

도착

1

3

Page 28: LEGO NXT Programming (Line Tracer)

2 센서 주행법 2

1

3

1

3

1

3

전진 좌회

우회 기타

우측

좌측

Page 29: LEGO NXT Programming (Line Tracer)

2 센서 흐름도 1

전진A C

좌회-C

우회A-

기타--

1

3

1

3

프로그램 시작

3번

백색

흑색

우측전진(C)

우측정지(C)

1번

백색

흑색

좌측전진(A)

좌측정지(A)

Page 30: LEGO NXT Programming (Line Tracer)

2 센서 프로그래밍 1-1프로그램 시작

3번

백색

흑색

우측전진(C)

우측정지(C)

1번

백색

흑색

좌측전진(A)

좌측정지(A)

Page 31: LEGO NXT Programming (Line Tracer)

2 센서 프로그래밍 1-2

Modifiers Structures-Forks

Structures-Jumps

Structures

Page 32: LEGO NXT Programming (Line Tracer)

LineTracer3

45

45

Page 33: LEGO NXT Programming (Line Tracer)

2 센서 흐름도 2

1

3

1

3

전진 좌회

우회 기타

프로그램 시작

1 번백색

흑색

기타

3 번백색

흑색

3 번백색

흑색

좌회우회전진

Page 34: LEGO NXT Programming (Line Tracer)

2 센서 프로그래밍 2-1

프로그램 시작

1번

백색

흑색

기타

3번

백색

흑색

3번

백색

흑색 좌회

우회전진

Page 35: LEGO NXT Programming (Line Tracer)

2 센서 프로그래밍 2-2

Modifiers

Structures-Forks

Structures-Jumps

Page 36: LEGO NXT Programming (Line Tracer)

LineTracer445

45

45

Page 37: LEGO NXT Programming (Line Tracer)

2 센서 흐름도 3프로그램 시작

백색

흑색

카운터증가백색

흑색

좌회우회

3 번

1 번백색

흑색3 번

전진

횟수3 미만

3 이상

돌파

정지

프로그램 끝

Page 38: LEGO NXT Programming (Line Tracer)

2 센서 프로그래밍 3-1프로그램 시작

백색

흑색

카운터증가백색

흑색

좌회우회

3번

1번

백색

흑색3번

전진

횟수

2 미만

2 이상

돌파

정지

프로그램 끝

Page 39: LEGO NXT Programming (Line Tracer)

교차형 트랙예제

0 111

2

11

교차점 컨 1 번째 12 번째 23 번째 2

Page 40: LEGO NXT Programming (Line Tracer)

2 센서 프로그래밍 3-2

Reset

Modifiers

Structures-Forks Container

Page 41: LEGO NXT Programming (Line Tracer)

LineTracer4 45

45

45

1

1 0.5

Page 42: LEGO NXT Programming (Line Tracer)

음악

• NXT 의 음악을 연주할 수 있는 명령 아이콘이다 .  

1/16 1/8 1/4 1/2 1

디폴트는 ¼로 연주

옥타브올림 내림

Page 43: LEGO NXT Programming (Line Tracer)

Task Split Command• 모터 B,C 를 2 초간 전진후 2 초간 후진을

반복하면서• 음악 C, G, G, E, C, A 를 반복하면서

연주

• 힌트 :

Page 44: LEGO NXT Programming (Line Tracer)

Task Split Command

Page 45: LEGO NXT Programming (Line Tracer)

도전과제

• 도전과제– 교차형 라인

• N 개 구성

– 장애물 감지• Fast Rising Sweep 사운드 발생

– 최종목적지 도착• C, G, G, E, C, A 사운드 발생

Page 46: LEGO NXT Programming (Line Tracer)

LineTracer4

60

60

60

3

1 0.5

30

Fast rising sweep