lego nxt programming (line tracer)
Post on 19-Mar-2016
945 Views
Preview:
DESCRIPTION
TRANSCRIPT
LEGO NXT Programming(Line Tracer)
라인트레이서 로봇
• 라인트레이서는 센서를 이용하여 정해진 트랙을 주행하는 로봇을 뜻한다 .
• 로보틱스 기초 실습에 많이 활용된다 .
빛 센서
3
빛을 감지
발광다이오드 : 붉은 빛을 출력
컬러인식 못하고 밝기만로 인식
빛 센서
4
• 액티브 모드 ( 발광다이오드에서 빛이 나오는 경우 ) : 빛센서 자체에서 발생한 빛이 바닥이나 면에 반사되어 들어오는 양을 측정할 수 있음
• 인액티브 모드 : 빛센서 자체가 발광하지 않는 일반상태에서의 빛 (주변광 ) 의 량을 측정할 수 있음
바닥의 명암 (액티브모드 )
주변광 ( 인액티브모드 ) 센서측정값의 변화
검정 칠흙 같은 어둠 0 으로 접근
진회색 어둠
회색 약간 어두움
흰색 밝음 100 으로 접근
빛센서의 기준값 설정
기준 : 최소치와 최대치의 중간값 ( 평균 )
1. 메뉴에서 View 선택2. Reflected Light 선택3. 라이트센서가 연결된
포트를 선택4. 라이트센서에 적색불이
들어온 것을 확인하고 LCD 에 출력된 % 값을 기록
5. 기준값 계산
어둡다
밝다
전류의 흐름
LOW
전류의 흐름
HIGH
빛센서의 기준값 설정 원리
기준 : 최소치와 최대치의 중간값 ( 평균 )
4446485052
43~45
51~53
오차
오차범위에서독립된 구역
문턱값 (Threshold)
어두운 영역 밝은 영역
특정 위치를 기준으로 어두운 영역과 밝은 영역으로 나눈다 .문턱은 방과 방의 경계로 문턱을 경계로 방의 구역이 바뀐다 . 이런 문턱처럼 디지털로 입력되는 범위를 가지는 센서 값을 사용하여 로봇을 작동하기 위해서는 기준이 되는 문턱 값 (threshold value) 을 지정해 주어야한다 .
일반적인 문턱 값
문턱 값 = ( 흰색에서 읽어 들인 값 + 검정색에서 읽어 들인
값 )/2
1 센서 라인트레이서
좌회전 코스( 라인우측인식 )
우회전 코스( 라인좌측인식 )
1 센서 주행법 (1)
출발도착
1 센서 흐름도 (1)프로그램 시작
현재위치는 ?
백색( 라인밖 )
흑색( 라인위 )
우회전
좌회전
1 센서 프로그래밍 (1)
프로그램 시작
현재위치 ?
백색( 라인밖 )
흑색( 라인위 )
우회전
좌회전
따라하기 1-2 (Fork)
NXT Light Sensor Fork
NXT 의 빛센서의 값이 정해준 문턱 값보다 크면 위쪽의 명령을 , 작거나 같으면 아래쪽의 명령을 수행
3 번 포트에 연결된 빛센서의 반사 값이 48 보다 크면 좌회전 , 48 이하면 우회전
따라하기 1-2 (Fork)
NXT Light Sensor Equal Fork
빛센서의 값이 지정한 값과 같으면 위쪽 , 다르면 아래쪽 명령 수행
3 번 포트에 연결된 빛센서의 값 (Ambient mode) 이 60 이 아니면 무한루프를 돌고 60 이면 ‘ buzz' 소리를 낸 후 다음 명령으로 넘어간다 .
1 센서 지그재그 프로그래밍 (1)Structures-Jumps
Structures-ForksModifiers
NXT Command
1 센서 주행법 (2)
출발도착
1 센서 흐름도 (2)
프로그램 시작
우회전검정까지
좌회전백색까지
우회전백색까지
좌회전검정까지
1 센서 프로그래밍 (2)
프로그램 시작
우회전검정까지
좌회전백색까지
우회전백색까지
좌회전검정까지
LineTracer250 40
50 40
따라하기 1-1 (Wait
For)
NXT Wait for Light NXT Wait for Dark
빛센서의 값이 정해준 문턱 값보다클 때까지 기다리기
빛센서의 값이 정해준 문턱 값보다 작아질 때까지 기다리기
3 번 포트에 연결된 빛센서의 값이 문턱 값 45 보다 커질 때까지 로봇을전진시키며 그 이후에 로봇을 정지
3 번 포트에 연결된 빛센서의 값이 45 보다 작아지면 로봇이 정지
따라하기 1-1 (Wait
For)
NXT Wait for Brighter
정해준 값만큼 더 밝아질 때까지 기다리기
3 번 포트에 연결된 빛센서의 현재 값이40 이라면 이 로봇은 빛센서의 반사 값이 50 이 될 때까지 전진한 후에 정지
NXT Wait for darker
정해준 만큼 더 작아질 때까지 기다리기
3 번 포트에 연결된 빛센서의 현재 값이50 이라면 이 로봇은 빛센서의 반사 값이 50 보다 10 만큼 작아질 때까지 기다린 후 ‘띠리리’소리내기
1 센서 지그재그 프로그래밍 (2)
LineTracer250 40
50 40
따라하기 1-3 (Loop)
Loop While NXT Light Sensor Is Less Than
빛의 값이 정해진 값보다 작은 동안 Loop 안의 명령을 실행
3 번 포트에 연결된 빛센서의 값이 50 보다 작은 동안 전진하고 빛센서의 값이 50 이상이면 정지
따라하기 1-4 (Container)
NXT Light Container
빛센서의 값을 컨테이너에 담기
3 번 포트에 연결된 빛센서의 값을 노란색 컨테이너에 담는다
따라하기 1-5 (Reset)
NXT Zero Light Sensor
빛센서를 초기화하기 . 빛센서의 값을 0 으로 만들 때와 빛센서를 사용하기로 정의할 때 사용
3 번 포트에 연결된 빛센서의 값을 빨간색 컨테이너에 넣는다 .
따라하기 2-1
• 빛센서 값에 따라 속도가 변하는 로봇
빛센서 값에 따라 속도가 변하는 로봇
라인트레이서의고급프로그램
2 센서 라인트레이서
좌회전 코스( 좌측센서인식 )
우회전 코스( 우측센서인식 )
2 센서 주행법
출발
도착
1
3
2 센서 주행법 2
1
3
1
3
1
3
전진 좌회
우회 기타
우측
좌측
2 센서 흐름도 1
전진A C
좌회-C
우회A-
기타--
1
3
1
3
프로그램 시작
3번
백색
흑색
우측전진(C)
우측정지(C)
1번
백색
흑색
좌측전진(A)
좌측정지(A)
2 센서 프로그래밍 1-1프로그램 시작
3번
백색
흑색
우측전진(C)
우측정지(C)
1번
백색
흑색
좌측전진(A)
좌측정지(A)
2 센서 프로그래밍 1-2
Modifiers Structures-Forks
Structures-Jumps
Structures
LineTracer3
45
45
2 센서 흐름도 2
1
3
1
3
전진 좌회
우회 기타
프로그램 시작
1 번백색
흑색
기타
3 번백색
흑색
3 번백색
흑색
좌회우회전진
2 센서 프로그래밍 2-1
프로그램 시작
1번
백색
흑색
기타
3번
백색
흑색
3번
백색
흑색 좌회
우회전진
2 센서 프로그래밍 2-2
Modifiers
Structures-Forks
Structures-Jumps
LineTracer445
45
45
2 센서 흐름도 3프로그램 시작
백색
흑색
카운터증가백색
흑색
좌회우회
3 번
1 번백색
흑색3 번
전진
횟수3 미만
3 이상
돌파
정지
프로그램 끝
2 센서 프로그래밍 3-1프로그램 시작
백색
흑색
카운터증가백색
흑색
좌회우회
3번
1번
백색
흑색3번
전진
횟수
2 미만
2 이상
돌파
정지
프로그램 끝
교차형 트랙예제
0 111
2
끝
11
교차점 컨 1 번째 12 번째 23 번째 2
2 센서 프로그래밍 3-2
Reset
Modifiers
Structures-Forks Container
LineTracer4 45
45
45
1
1 0.5
음악
• NXT 의 음악을 연주할 수 있는 명령 아이콘이다 .
1/16 1/8 1/4 1/2 1
디폴트는 ¼로 연주
옥타브올림 내림
Task Split Command• 모터 B,C 를 2 초간 전진후 2 초간 후진을
반복하면서• 음악 C, G, G, E, C, A 를 반복하면서
연주
• 힌트 :
Task Split Command
도전과제
• 도전과제– 교차형 라인
• N 개 구성
– 장애물 감지• Fast Rising Sweep 사운드 발생
– 최종목적지 도착• C, G, G, E, C, A 사운드 발생
LineTracer4
60
60
60
3
1 0.5
30
Fast rising sweep
top related