프로그램 - RobotC - ies

Download Report

Transcript 프로그램 - RobotC - ies

www.ezlab.com
전문 대학 로봇 경진 대회
[ 농구 로봇 대회 ]
농구 로봇 대회란?
로봇이 해당 팀의 공을 농구골대에 넣는 게임
총 2분 30초의 경기 시간
- 30 초 : 자동주행모드
- 로봇의 팔에 공을 올려놓고 실행 시키면
로봇이 자동으로 골대에 공을 넣는 모드 ( 30점)
- 2분 : 조이스틱 조종 모드
- 조이스틱으로 로봇을 조종하여 골을 넣는 모드 (개당6점)
[ 농구 로봇 대회 ]
농구 로봇은 무엇으로 만드나?
LEGO Mindstorms
Tetrix
[ 농구 로봇 대회 ]
농구 로봇 대회를 하기 위해 알아야 되는 기본적인 요소
하드웨어 : 구성 및 연결개념
프로그램 : RobotC 프로그래밍
하드웨어[Legomindstorm]
A
1 2
3 4
B C
하드웨어 [ Tetrix ] –DC 모터
AB C
12 3 4
하드웨어 [ Tetrix ] –서보 모터
AB C
12 3 4
하드웨어 [ Tetrix ] –DC + 서보 모터
AB C
12 3 4
하드웨어 [ Tetrix + Legomindstorm ] 하드웨어 구성
A
1
B C
2 3
4
프로그램 - RobotC
• RobotC 프로그램 구하기
• ROBOTC 용 Firmware NXT 에 다운로드 방법 소개
• NXT 명칭 변경법 소개
• 모터 및 센서 설정법 소개
프로그램 - RobotC
RobotC 프로그램 구하기
http://www.robotc.net/ftc/
①
1. 위의 URL 주소에 접속하여
FTC 를 위한 RobotC 소개 홈페이지
접속을 합니다.
2. ① 번에 표시된
Download ROBOTC for MINDSTORMS
링크를 클릭하시면 RobotC 프로그램
을 다운로드 받을 수 있습니다.
(단, 30일간 테스트용이므로 계속적으로
사용하시길 원하시면 라이센스를
구입하시기 바랍니다.)
프로그램 - RobotC
RobotC 용 Firmware NXT 에 다운로드 방법 소개(1/4)
1. 왼쪽의 그림과 같이
① 번에 표시된 주황색 버튼은
NXT 전원 버튼입니다.
NXT 전원 버튼을 눌러 NXT 전원을 켭니다.
이때 LEGO 로고와 NXT 로고가 보이면서
경쾌한 소리가 나며 왼쪽의 그림 화면 처럼
NXT 메뉴가 보입니다.
①
컴퓨터와 NXT 를 USB 케이블로 연결할
준비가 되었습니다.
프로그램 - RobotC
RobotC 용 Firmware NXT 에 다운로드 방법 소개(2/4)
유형 A 타입
유형 B 타입
1. 왼쪽의 그림과 같이 USB 케이블의
유형 A 타입은 컴퓨터의 USB 포트에
연결하고 유형 B 타입은 NXT USB 포트에
연결을 합니다.
RobotC 프로그램 설치시 NXT 용 드라이버
가 같이 설치가 되므로 컴퓨터와 NXT 연결
시 자동적으로 NXT 드라이버가 설치됩니다.
프로그램 - RobotC
RobotC 용 Firmware NXT 에 다운로드 방법 소개(3/4)
①
1. ① 의 바탕화면에 RobotC
바로가기 아이콘을 클릭하여
RobotC 프로그램을 실행합니다.
2. 주메뉴에서 Robot 메뉴를
클릭하고 서브메뉴에서
Download Firmware 메뉴를 선택하면
② 와 같이 표시됩니다.
이때 Standard File(NXT_0955.rfw) 를 선택
합니다. 이때 NXT_xxxx.rfw 는 RobotC 버전
에 따라 다르게 표시될 수 있습니다.
최신의 RobotC 프로그램을 사용하세요.
②
프로그램 - RobotC
RobotC 용 Firmware NXT 에 다운로드 방법 소개(4/4)
①
1. ① 의 F/W Download 버튼을
클릭합니다.
이때 ② 와 같이 RobotC 용
Firmware 를 NXT 로 전송이 진행되며
진행과정은 메시지 로그에 표시됩니다.
이때, NXT 화면이 잠시 꺼졌다가
다시금 NXT 전원이 들어오면서
NXT 가 켜집니다.
②
프로그램 - RobotC
NXT 명칭 변경법 소개
①
1. ① 의 Rename NXT 버튼을
클릭합니다.
이때 ② 와 같이 NXT 명칭을 변경하는
하는 화면이 나옵니다.
②
FTC Team 번호 4자리를 입력 후
OK 버튼을 클릭하면 NXT 명칭이
변경됩니다. NXT 화면 상단에
변경된 NXT 명칭을 확인 하실 수
있습니다.
프로그램 - RobotC
모터 및 센서 설정법 소개
새로운 프로그램 생성
Platform Type 설정
프로그램 - RobotC
모터 및 센서 설정법 소개
외부 컨트롤러
모터
서보모터
센서
프로그램 - RobotC
모터 및 센서 설정법 소개 – External Controllers
AB C
12 3 4
프로그램 - RobotC
모터 및 센서 설정법 소개 - Motor
AB C
Port
Port Name
12 3 4
프로그램 - RobotC
모터 및 센서 설정법 소개 - Servo
AB C
12 3 4
프로그램 - RobotC
모터 및 센서 설정법 소개 - Sensor
www.ezlab.com
목차
1. 샘플 프로그램 소개
2. 농구 로봇 대회 규칙 및 운영
3. 농구로봇 경진대회 전체 시스템 구성
1) Program download to NXT
2) Samantha module
3) FCS(Field Control System)
www.ezlab.com
1. 샘플 프로그램 소개
목차
1) DC 모터
2) Servo 모터
3) 초음파 센서
4) 빛 센서
5) 터치 센서
[ 1. 샘플 프로그램 소개 –
1) DC모터[1/6]
]
하드웨어 연결
Left
Right
위의 그림은 TETRIX Robot의 DC motor 배선 연결도 이다.
NXT의 S1의 입력에 첫 번째 디바이스로 TETRIX 모터 컨트롤러가 연결되고 컨트롤러의
Motor1 포트에는 좌측 모터가 Motor2 포트에는 우측 모터가 연결되어 있다.
[ 1. 샘플 프로그램 소개 –
1) DC모터[2/6]
]
Robot C 설정
‘File-New-New File’을 선택하여 신규 프로그램 창을 연다.
신규 프로그램 창을 열지 않으면 Motors and Sensors Setup 설정작업을 하실 수 없다.
ROBOTC 주 메뉴 ‘Robot-Motors and Sensors Setup’ 메뉴를 클릭한다.
이 곳에서 모터와 센서를 설정할 수 있다.
[ 1. 샘플 프로그램 소개 –
1) DC모터[3/6]
]
Robot C 설정
다음은 외부컨트롤러 설정하는 창이다.
두 번째 탭에 ‘External Controller’를 선택하고 ‘Controller Configuration Type’에서 ‘Custom’을 선택한다.
그리고 ‘First Device’로 위의 배선도와 같이 ‘TETRIX Motor Controller’를 선택하고 ‘Second Device’는 아무것도
연결되어 있지 않기 때문에 ‘None’을 선택한다.
이와 같이 컨트롤러의 선택이 끝나면 세 번째 탭에 ‘Motors’를 선택한다.
[ 1. 샘플 프로그램 소개 –
1) DC모터[4/6]
]
Robot C 설정
‘Motors’ 탭을 클릭하면 Port 부분이 있으며 이 부분은 RobotC에서 미리 정의된 Port 명칭이다.
이 곳에서 사용하는 모터를 설정 할 수 있다
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
1) DC모터[5/6]
]
예제
모터와 센서 부분의 설정을 작업을 마치면
다음과 같은 소스 코드가 자동적으로 프로그램 소스 상단에 입력이 됩니다.
이 작업 이후에 프로그램에서 모터와 센서 부분에서 설정한 Name 명칭을
가지고 프로그램 작업 시 이용하시면 됩니다.
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
1) DC모터[6/6]
]
예제
①
②
바라보는 방향
1. 위의 오른쪽 프로그램 소스는 ① 처럼 DC 모터가 시계방향으로 회전하다가
2초 후에 DC 모터가 정지 하는 예제이다.
2. 위의 왼쪽 프로그램 소스는 ② 처럼 DC 모터가 반 시계방향으로 회전하다
가 2초 후에 DC 모터가 정지 하는 예제이다.
3. 입력 값 범위는 시계방향: 0~100, 반 시계방향: -100 ~ 0 이다.
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
2) Servo motor[1/6]
]
하드웨어 연결
위의 그림은 TETRIX Robot의 Servo motor 배선 연결도 이다.
NXT의 S1의 입력에 첫 번째 디바이스로 TETRIX DC모터 컨트롤러가 연결되고, 두 번째
디바이스로 TETRIX Servo모터 컨트롤러가 연결되어있다. Servo모터 컨트롤러의 Chan.1에는
Servo 모터가 연결되어 있다.
[ 1. 샘플 프로그램 소개 –
2) Servo motor[2/6]
]
Robot C 설정
‘File-New-New File’을 선택하여 신규 프로그램 창을 연다.
신규 프로그램 창을 열지 않으면 Motors and Sensors Setup 설정작업을 할 수 없다.
ROBOTC 주 메뉴 ‘Robot-Motors and Sensors Setup’ 메뉴를 클릭한다.
이 곳에서 모터와 센서를 설정할 수 있다.
[ 1. 샘플 프로그램 소개 –
2) Servo motor[3/6]
]
Robot C 설정
다음은 외부컨트롤러 설정하는 창이다.
두 번째 탭에 ‘External Controller’를 선택하고 ‘Controller Configuration Type’에서 ‘Custom’을 선택한다.
그리고 ‘First Device’로 위의 배선도와 같이 ‘TETRIX Motor Controller’를 선택하고 ‘Second Device’는 “TETRIX
Servo Controller를 선택한다.
이와 같이 컨트롤러의 선택이 끝나면 네 번째 탭에 ‘Servos’를 선택한다.
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
2) Servo motor[4/6]
]
Robot C 설정
‘Servo’ 탭을 클릭하면 Port 부분이 있으며 이 부분은 RobotC에서 미리 정의된 Port 명칭이다.
사용할 Port의 Name을 입력하고 사용하지 않을 것들의 Name은 지운다.
Type은 Standard Servo로 설정한다.
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
예제
2) Servo motor[5/6]
]
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
2) Servo motor[6/6]
]
예제
1. 서보는 그림 처럼 180도 만큼 회전할 수 있는 모터이다.
0~255 값을 입력하여 서보 모터의 회전 각도를 산정한다.
0은 0도, 128은 90도, 255는 180도에 가깝게 서보 모터가 회전한다.
2. 위의 프로그램 소스는 0도, 90도, 180도 각각 1초 대기하며 회전하는 예제입니다.
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
3) 초음파 센서[1/5]
]
하드웨어 연결
Input2
S4 S3 S2 S1
위의 그림은 TETRIX Robot의 초음파 센서 배선 연결도 이다.
NXT의 S2의 입력에 초음파 센서가 연결 되어 있다.
[ 1. 샘플 프로그램 소개 –
3) 초음파 센서[2/5]
]
Robot C 설정
‘File-New-New File’을 선택하여 신규 프로그램 창을 연다.
신규 프로그램 창을 열지 않으면 Motors and Sensors Setup 설정작업을 하실 수 없다.
ROBOTC 주 메뉴 ‘Robot-Motors and Sensors Setup’ 메뉴를 클릭한다.
이 곳에서 모터와 센서를 설정할 수 있다.
[ 1. 샘플 프로그램 소개 –
3) 초음파 센서[3/5]
]
Robot C 설정
‘Sensor’ 탭을 클릭하면 Port 부분이 있으며 이 부분은 RobotC에서 미리 정의된 Port 명칭이다.
사용할 Port의 Name을 입력한다.
Type에서 Sonar을 선택한다.
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
3) 초음파 센서[4/5]
]
예제
1. 초음파 센서는 한쪽은 음파를 발생하고 다른 쪽은 음파를 인식하는 하는 두 개
의 눈이 있다. 이 것을 이용하여 음파를 발생시키고 장애물에 반사되어 들어오는
음파를 인식하여 거리를 측정 할 수 있다.
0~255cm 까지 측정하며 오차는 +-3cm 이다.
2. 위의 프로그램 소스는 초음파 센서 값이 20이상이면 DC모터가 작동하다가 그 이
하이면 DC 모터를 멈추게 하는 예제이다.
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
예제
3) 초음파 센서[5/5]]
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
4) 빛 센서[1/5]
]
하드웨어 연결
Input3
S4 S3 S2 S1
위의 그림은 TETRIX Robot의 빛 센서 배선 연결도 이다.
NXT의 S3의 입력에 빛 센서가 연결 되어 있다.
[ 1. 샘플 프로그램 소개 –
4) 빛 센서[2/5]
]
Robot C 설정
‘File-New-New File’을 선택하여 신규 프로그램 창을 연다.
신규 프로그램 창을 열지 않으면 Motors and Sensors Setup 설정작업을 하실 수 없다.
ROBOTC 주 메뉴 ‘Robot-Motors and Sensors Setup’ 메뉴를 클릭한다.
이 곳에서 모터와 센서를 설정할 수 있다.
[ 3. 샘플 프로그램 소개 –
4) 빛 센서[3/5]
]
Robot C 설정
‘Sensor’ 탭을 클릭하면 Port 부분이 있으며 이 부분은 RobotC에서 미리 정의된 Port 명칭이다.
사용할 Port의 Name을 입력한다.
Type에서 Light Sensor -> Reflected Light(Active)를 선택한다
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
4) 빛 센서[4/5]
]
예제
1. 빛 센서는 감지하는 모든 빛에 대하여 그 밝기만을 측정하는 센서이다.
위의 프로그램 소스는 빛 센서 모드를 액티브 모드로 설정하여 작업을 하였다.
액티브 모드는 검정으로 갈수로 0 값에 근접하고 흰색으로 갈수록 100 값에 근접한다.
2. 위의 프로그램 소스는 빛 센서 값이 45이상이면 DC모터가 작동하다가 그 이
하이면 DC 모터를 멈추게 하는 예제이다.
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
예제
4) 빛 센서[5/5]
]
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
5) 터치 센서[1/5]
]
하드웨어 연결
Input4
위의 그림은 TETRIX Robot의 터치 센서 배선 연결도 이다.
NXT의 S4의 입력에 터치 센서가 연결 되어 있다.
[ 1. 샘플 프로그램 소개 –
5) 터치 센서[2/5]
]
Robot C 설정
‘File-New-New File’을 선택하여 신규 프로그램 창을 연다.
신규 프로그램 창을 열지 않으면 Motors and Sensors Setup 설정작업을 하실 수 없다.
ROBOTC 주 메뉴 ‘Robot-Motors and Sensors Setup’ 메뉴를 클릭한다.
이 곳에서 모터와 센서를 설정할 수 있다.
[ 1. 샘플 프로그램 소개 –
5) 터치 센서[3/5]
]
Robot C 설정
‘Sensor’ 탭을 클릭하면 Port 부분이 있으며 이 부분은 RobotC에서 미리 정의된 Port 명칭이다.
사용할 Port의 Name을 입력한다.
Type에서 Touch를 선택한다
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
5) 터치 센서[4/5]
]
예제
1. 터치 센서는 그림 처럼 터치가 눌리지 않는 기본 상태 값이 0이다. 만약 터치 부분을 누르
면 값이 1로 출력이 된다.
2. 위의 프로그램 소스는 터치 부분을 누르지 않을 때 모터가 회전하다가 터치가 눌렸을 때
모터가 멈추는 소스이다.
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
예제
5) 터치 센서[5/5]
]
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
6) 엔코더[1/6]
]
엔코더 조립
허브디스크를 밀어 넣기위해
사용하는 툴이다. 사용 후 제거
뒤쪽의 스티커 제거
엔코더 모듈을 엔코더 마운트에 붙일 때 정확히 붙이기
위해 사용하는 툴이다. 사용 후 제거.
[ 1. 샘플 프로그램 소개 –
6) 엔코더[2/6]
]
하드웨어 연결
Encoder
Encoder
Left
Right
위의 그림은 TETRIX Robot의 DC motor에 연결된 엔코더의 배선 연결도 이다.
DC Motor Controller의 Enc.1 포트와 엔코더를 연결하였다.
[ 1. 샘플 프로그램 소개 –
6) 엔코더[3/6]
]
Robot C 설정
‘File-New-New File’을 선택하여 신규 프로그램 창을 연다.
신규 프로그램 창을 열지 않으면 Motors and Sensors Setup 설정작업을 하실 수 없다.
ROBOTC 주 메뉴 ‘Robot-Motors and Sensors Setup’ 메뉴를 클릭한다.
이 곳에서 모터와 센서를 설정할 수 있다.
[ 1. 샘플 프로그램 소개 –
6) 엔코더[4/6]
]
Robot C 설정
Motors 탭을 클릭한 후 엔코더를 단 모터의 Encoder란에 체크 표시를 한다.
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
6) 엔코더[5/6]
]
예제
①
1. 위의 프로그램 소스는 엔코더의 값이 0이하 일때는 전진,
1440이하가 되었을 때 정지하는 소스이다.
2. 엔코더 값을 초기화 시키기 위해 ①처럼 0의 값을 입력하였다.
www.ezlab.com
[ 1. 샘플 프로그램 소개 –
예제
6) 엔코더[6/6]
]
www.ezlab.com
[ 1. 샘플 프로그램 소개 ]
총 하드웨어 배선도
S4 S3 S2 S1
www.ezlab.com
2. 농구 로봇 대회 규칙 및 운영
목차
1) 대회 개요
2) 경기 방식
3) 점수 규정
4) 대회 일정 및 시상식 일정
www.ezlab.com
[ 1. 농구 로봇 대회 규칙 및 운영 [1/6] ]
대회개요
3.7m
대회개요
로봇으로 바스켓에 해당 색의 공을 집어 넣는
경기 – 농구 로봇
가로 3.7m, 세로 3.7m 크기의 경기장에 2개의 팀으
로 구성된 두 동맹이 경기에 임하며 30초의 자동
주행모드, 2분의 드라이버 주행모드를 통해 총 2
분 30초 동안 경기를 치르게 된다.
로봇크기 : 45 X 45 X 45 cm
팀당 30개의 공인라켓볼 ( 서로 다른 색상의
라켓볼 )
공이 담겨 있는 바구니는 교육시에 팀별로 1개씩
대여한다.
3.7m
농구골대
www.ezlab.com
[ 1. 농구 로봇 대회 규칙 및 운영 [2/6] ]
경기방식
경기 방식(16팀 기준)
( 3번의 예선 + 결선토너먼트 )
1. 3번의 예선 : 총 16팀이 2팀씩 한 개의 팀을 만들어 3번의 예선을 치른다. 이 때, 3번의 경기마다 같은
팀과 상대팀들은 달라진다.
1팀의 경기
같은 팀
상대 팀
1경기
5팀
4+7팀
2경기
3팀
9+13팀
3경기
12팀
6+14팀
예시)1팀의 예선 3번의 경기
2. 결선 토너먼트 : 예선을 통해 1등부터 16등까지를 선출 후, 팀을 1~8등까지는 상위 팀,
9~16등까지는 하위팀 으로 나눈 후 1~8등까지의 팀이 9~16등까지의 팀 중에 한 팀을 골라
결선토너먼트를 함께 하게 된다.
3. 상위팀의 하위팀 선택결정권 순서는 1등부터 있고, 하위팀은 1~8등까지 팀 중 하나에서 팀을
이루자는 요청이 들어왔을 때, 거절 할 수 있다.
(요청이 거절 되었을 시 다음순서로 선택권이 넘어가고, 팀이 다 이루어질때까지 선택권이 반복 된다.)
www.ezlab.com
[ 1. 농구 로봇 대회 규칙 및 운영 [3/6] ]
경기방식
A
B
D
C
E
F
H
G
I
J
예
상위 8개팀
M
L
N
O
선
2
3
4
5
6
7
8
10
11
12
13
14
15
16
1
9
K
1
2
3
4
5
6
7
8
10
12
16
11
9
13
14
15
2팀이 하나의 팀을 이뤄
총 8개의 연합 팀 구성
하위 8개팀
P
www.ezlab.com
[ 1. 농구 로봇 대회 규칙 및 운영 [4/6] ]
경기방식
1
2
3
4
5
6
7
8
10
12
16
11
9
13
14
15
결선
토너먼트
결승
?
?
?
?
?
?
?
?
?
?
?
?
1
3
2
4
6
7
5
8
10
16
12
11
13
14
9
15
www.ezlab.com
[ 1. 농구 로봇 대회 규칙 및 운영 [5/6] ]
점수규정
점수 규정
- 자동 주행 모드 30초 동안에 초록색의 라켓볼이 각각의 로봇에게 주어지고 링에 넣으면 30점의
점수가 주어진다. 공을 가지고 우리 편의 벽에 붙었다가 출발한다.
- 이후 드라이브 모드2분에서는 바구니에 담긴 우리 편의 공을 바닥에 쏟아 경기를 진행한다.
- 드라이브모드에서는 우리 팀 색의 공을 링에 넣으면 개당 5점 상대팀 색의 공을 넣으면 -2점의
점수가 주어진다.
- 전체 2분 30초의 시합이 종료되면 각자의 링에 담긴 점수를 합산하여 채점하게 된다.
www.ezlab.com
[ 1. 농구 로봇 대회 규칙 및 운영 [6/6] ]
대회 일정 및 시상식 일정
www.ezlab.com
3. 농구로봇 경진대회 전체 시스템 구성
목차
1) Match Program download to NXT
2) Samantha module
3) FCS(Field Control System
www.ezlab.com
[ 2. 농구로봇 경진대회 전체 시스템 구성 ]
다음은 농구로봇경진 대회를 어떤 시스템 구조로
진행하는지 나타내어주는 표이다.
대회에서 로봇을 구동시키기 위해서는 총 3가지의 조치가 필요하다.
첫째, NXT brick에 자동주행모드 프로그램과 조이스틱 컨트롤 프로그램을 다운로드 해줘야 한다(ROBOTC 필요)
둘째, Samantha Module 에 제어 컴퓨터의 Wi-Fi정보를 넣어줘야 한다(Samantha Field Control System 필요)
셋째, Field Control System(FCS) 프로그램으로 컴퓨터 – 조이스틱, 컴퓨터 – Samanta module 간의 연결을 해줘야 한다.
(Samantha Field Control System 필요)
www.ezlab.com
( 1) Program download to NXT [1/8] )
농구로봇 경진 대회의 진행은 자동주행모드 30초, 조이스틱주행모드
2분을 기준으로 한다. 그래서 자동주행모드와 조이스틱주행모드 총
2개의 프로그램을 NXT Brick에 다운로드 해 줘야 한다.
자동 주행모드
조이스틱 주행모드
download
www.ezlab.com
( 1) Program download to NXT [2/8] )
자동주행모드 프로그램 다운로드
- 자동주행모드 프로그램 예제소스를 오픈 한다.
다음의 경로를 따라 프로그램 예제를
열어보면 다음과 같은 source code가
생성된다.
이 source code 틀에 자신이 원하는
동작이 되게끔 code를 추가한다.
미션
1초 전진, 1초 멈추기 프로그램을 짜보자
www.ezlab.com
( 1) Program download to NXT [3/8] )
자동주행모드 프로그램 다운로드
– 주행을 하기 위해 필요한 DC모터 2개를 설정해준다.
www.ezlab.com
( 1) Program download to NXT [4/8] )
자동주행모드 프로그램 다운로드
– while문 안에 1초 전진, 1초 멈추기 프로그램을 추가한다.
이제 만들어진 프로그램을 NXT에
다운로드 하면 된다.
www.ezlab.com
( 1) Program download to NXT [5/8] )
조이스틱 주행모드 프로그램 다운로드
- 조이스틱 예제 소스를 오픈 한다.
대회의 경기 시간 2분 30초 동안 30초는
자동 주행모드, 2분 동안 조이스틱
컨트롤로 로봇을 제어해야 한다.
30초 자동주행모드 이후에 조이스틱
주행모드로 바로 넘어가기 위해 조이스틱
source code를 바로 다운로드 하면
안되고, 조이스틱 source code에 TeleOp
source code를 넣어 줘야 한다.
TeleOp은 30초의 자동주행모드가
끝나면, 이후에 TeleOp source code가
포함된 프로그램이 실행되도록 해주는
기능이 있다.
그래서 TeleOp 프로그램에 응용해
조이스틱 컨트롤 프로그램을 넣어주면,
30초의 자동주행 완료 후에 바로 조이스틱
컨트롤로 넘어 갈 수 있는 것이다.
www.ezlab.com
( 1) Program download to NXT [6/8] )
조이스틱 주행모드 프로그램 다운로드
- TeleOp 예제소스를 연다.
www.ezlab.com
( 1) Program download to NXT [7/8] )
조이스틱 주행모드 프로그램 다운로드
- 조이스틱 sourece code 와 TeloOp
source code 합치기
대체
조이스틱 소스
TeleOp 소스
추가
TeleOp +
조이스틱 소스
이제 만들어진 프로그램을 NXT에
다운로드 하면 된다.
www.ezlab.com
( 1) Program download to NXT [8/8] )
자동 주행모드, 조이스틱 주행모드를
다운로드 한 후에 Joystick Control 패널에서
조이스틱 주행모드 source를 선택해 줘야
한다.
좌측의 경로를 통해 Joystic control
패널에 가면 다음과 같이 현재 NXT에
다운로드된 프로그램들이 나열되어
있다. 이중에 자동주행모드
프로그램을 선택 후 프로그램을 클릭
후 닫아 줘야 한다. (닫으면 자동
저장된다)
이런 세팅을 하는 이유는 NXT에서는
자동조종모드가 끝난 후 조이스틱
주행모드를 실행해야 하는데, NXT는
NXT에 다운로드 된 프로그램중 어떤
프로그램을 조이스틱 주행모드
프로그램으로 사용할지 알지 못한다.
이것을 알려주기 위해 다음과 같은
세팅을 하는 것이다.
www.ezlab.com
( 2) Samantha module [1/9] )
대회 때는 다음과 같이 무선으로 로봇을 제어해야 한다.
농구로봇대회에서는 Samantha module을 이용하여 무선제어를 한다.
Samantha module에 컴퓨터의 Wi-Fi 정보를 입력해 주면, 컴퓨터 –
Samantha module 간의 무선통신이 가능해진다.
www.ezlab.com
( 2) Samantha module [2/9] )
Samantha module 하드웨어 연결
②
①
1. ①과 같이 사만다 모듈의 케이블을 Servo Controller의 Battery+, Battery-에 연결한다.
2. ②와 같이 사만다 모듈의 USB를 NXT USB port에 연결한다.
www.ezlab.com
( 2) Samantha module [3/9] )
Samantha module 관련 프로그램 구하기 FCS(Field Control System Resources) Download
Samantha module – 컴퓨터간 무선통신을 위해서는
FCS프로그램을 다운로드 해야 한다.
2
1
http://www.usfirst.org/roboticsprograms/ftc
접속
3
4
FCS 검색
www.ezlab.com
( 2) Samantha module [4/9] )
Samantha module 관련 프로그램 구하기 FCS(Field Control System Resources) Download
5
setup
6
www.ezlab.com
( 2) Samantha module [5/9] )
Samantha module Firmware 업그레이드 방법 소개
①
②
1.
USB 드라이브를 준비한다.(4GB 이하 인 것을 이용해야 함)
2.
FCS 프로그램이 설치된 경로에 Samantha Firmware 파일이 저장된 ① 의 경로에서 ② 와
같이 Samantha.hex 파일을 USB 드라이브로 복사한다.
www.ezlab.com
( 2) Samantha module [6/9] )
Samantha module Firmware 업그레이드 방법 소개
빨간색 버튼 누른 상태에서 전원 스위치 ON
USB 삽입
LED 불이 순차적으로 켜진 후에 버튼을 놓는다
1.
USB 드라이브를 Samantha 모듈 USB 포트에 삽입하고 전원 케이블을 연결한다. 이 때 전원 스위치는
OFF 상태이다.
2.
Samantha 모듈 상단에 있는 빨간색 버튼을 누르고 있으면서 전원 스위치를 ON 한다. 이때 맨 아래 빨간
색 LED가 켜져 있는 상태에서 중간에 있는 Wi-Fi LED 가 깜빡인다. 이 상태로 계속 기다리다 보면 LED가
1번 왕복(Power(빨) –> Wi-Fi(흰) -> NXT(파) -> Wi-Fi(흰) -> Power(빨) ) 한 후에 빨간 LED만 켜져있는
데 이때 Firmware 업그레이드가 된 것이다.
www.ezlab.com
( 2) Samantha module [7/9] )
Samantha module 네트워크 설정 방법 소개
①
②
1.
USB 드라이브를 준비하여(4GB 이하 인 것을 이용해야 함) 컴퓨터 USB 포트에 삽입합니다.
2.
설치된 FCS 프로그램 중 Samantha Competition Network Config 프로그램을 실행합니다.이 프로그램
은 경기용 네트워크를 설정할 때 사용하는 프로그램입니다. 위와 같이 무선공유기 접속 보안정보를 입
력후 저장 버튼을 클릭하면 ② 와 같이 폴더가 생기며 접속정보가 저장이 됩니다.
현재 자신이
사용하고 있는
Wi-Fi 정보를 볼
수 있다.
www.ezlab.com
( 2) Samantha module [8/9] )
Samantha module 네트워크 설정 방법 소개
①
②
1.
USB 드라이브를 준비하여(4GB 이하 인 것을 이용해야 함) 컴퓨터 USB 포트에 삽입합니다.
2.
설치된 FCS 프로그램 중 Samantha Network Config 프로그램을 실행합니다.이 프로그램은 연습용 네트워
크를 설정할 때 사용하는 프로그램입니다. 위와 같이 연습용 무선공유기 접속 보안정보를 입력 후 저장 버
튼을 클릭하면 ② 와 같이 폴더가 생기며 접속정보가 저장이 됩니다.
www.ezlab.com
( 2) Samantha module [9/9] )
Samantha module 네트워크 설정 방법 소개
1.
USB 드라이브를 Samantha 모듈 USB 포트에 삽입하고 전원 케이블을 연결합니다. 이 때 전원 스위치
는 OFF 상태입니다.
2.
Samantha 모듈 의 전원 스위치를 ON 합니다. 이때 LED가 Power -> Wi-Fi -> NXT -> Wi-Fi ->
Power 상태로 들어 온후에 Power만 on되어 있을 것이다. 이때 조금 기다리면 다시 Power –> Wi-Fi > NXT -> Wi-Fi -> Power 순서로 LED가 깜빡인 후에 Power에 불이 들어와져 있는 상태로 Wi-Fi에
불이 깜빡이는데 이때 Wi-Fi정보를 사만다 모듈에 담은 것이다.
www.ezlab.com
( 3) FCS(Field Control System [1/6] )
FCS(Field Control System 프로그램 구성
경기 진행 시간 표시 전광판
경기 시간 세팅
팀 별 조이스틱 set up
1. FTC 경기 설정을 하는 화면이다.
2. 각 팀의 NXT 장치를 연결 작업을 한다.
3. FTC 경기 진행을 제어한다.
Wi-Fi를 이용한 Samantha module 과
컴퓨터간의 연결
www.ezlab.com
( 3) FCS(Field Control System [2/6] )
Setup joystics
①
1.
②
USB포트에 조이스틱을 연결시킨 후, ①의 Driver1을 누르면 물음표 표시가 날 것이다. 이때, 조이스틱
버튼(어떤버튼이든 상관없음)을 눌러주면 ② 처럼 숫자 1이 뜨면서 Red Team Driver 1에 현재의 조이
스틱이 지정 될 것이다.
2.
대회 때는 컴퓨터에 달린 USB 허브에 8개의 조이스틱이 물려 각 팀 별로 설정이 될 것이다.
www.ezlab.com
( 3) FCS(Field Control System [3/6] )
Timer Display
경기 진행 시간 표시와 각 팀의 조이스틱 및 NXT 전원, Wi-Fi 연결 상태를 확인 할 수 있는 전광판 화면이다.
www.ezlab.com
( 3) FCS(Field Control System [4/6] )
Configuration
1. 자동주행모드, 조이스틱주행모드의 시간을 세팅해 준다.
2. 대회 때의 자동주행모드는 30초, 조이스틱주행모드는 2분 이다.
www.ezlab.com
( 3) FCS(Field Control System [5/6] )
컴퓨터 - Samantha Module과 통신하기
통신 성공
1. 컴퓨터의 Wi-Fi 정보가 들어 있는 Samantha Module과 NXT 전원을 킨다.
2. Choose를 선택하고 해당 Wi-Fi 주소를 선택 후 OK 버튼을 누른다.
www.ezlab.com
( 3) FCS(Field Control System [6/6] )
FCS로 대회 경기 진행 하기
①
②
자동주행모드
조이스틱주행모드
1. NXT의 자동주행모드의 프로그램을 실행한 상태에서 ①의 Start Match를 누
른다. 그러면 자동주행모드가 실행된다.
2. 자동주행모드의 시간이 끝나면 ②의 있는 Start Match를 누른다. 그러면 2분
동안 조이스틱주행모드가 실행된다.