SoC 로봇워 참가자 교육.

Slides:



Advertisements
Similar presentations
YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
Advertisements

Understanding of Ubiquitous & Computers Plus
키보드 보안 순천향대학교 정보보호학과 임강빈 교수.
3 8051을 위한 C 언어 프로그래밍.
L A N DCT Serise W i r e l s Description
11 레지스터 (Register) IT CookBook, 디지털 논리회로.
마이크로프로세서설계 - 3 ATmega128 마이크로컨트롤러의 특징 LED 실습 1
Vision System Lab, Sang-Hun Han
제 3 장 변수와 자료형.
Project Goal..! Milestone Role Division Achievement Result
DISPLAY Block diagram BASE BOARD CPU BOARD DDR-3 1GB (256MB X 4) CPU
임베디드 프로그래밍 Lecture #
PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소.
Smart IoT 설계 시스템 Lecture 07. 센서와 액츄에이터 실습.
2015년 2학기 PULSE 4 전자물리실험 09 - Servo Motor 제어 - DSU 메카트로닉스 융합공학부 -
  사 용  설 명 서    (항온항습기) Ver. 09
Signal 자연계에 존재하는 모든 정보전달의 수단 신호의 공학적 표현 물소리, 바람소리, 새소리 짐승소리,불,연기,봉화…
암호화 기술(SSL, IPSec) 손재성 권기읍 안복선 최준혁
마이크로프로세서(Microprocessor,µP)
USER’S MANUAL 모델명: CCR-201 코드시스템(주)
2013 스마트 컨트롤러 중간 프로젝트 김성엽 진종영 조유진
(수) 실시 제7회 전국동시지방선거 정당 및 예비후보자를 위한 선거사무안내.
아두이노 프로그래밍 1일차 – Part2 아두이노 사양 강사: 김영준 목원대학교 겸임교수.
제어기술 소개 목표 : 제어기의 종류, 제어 방식 등을 살펴본다. 주요내용 제어기의 종류 제어방식 : 시퀀스, 피드백, 등.
10장 주변장치 (PIO) Slide 1 (of 28).
RnA DISPLAY 구동 Clcd 구동 Made by Bonobonobono.
3장 MPU 내부구조 Slide 1 (of 28).
임베디드 하드웨어 Lecture #6.
논리의 표현 진법과 숫자 표현 2진수와 10진수 문자의 표현
12. 아두이노와 센서를 이용한 제어 - 스마트 폰으로 제어하는 아두이노 -.
AFC-1500 FASTENING SYSTEM.
컴퓨터 구조.
PLC를 이용한 제어로직에 관한 연구 김 재 은.
RS-485 Protocal 설계 Overveiw
AVR - Chapter 6 황 지 연.
Z- 4M User’s Guide 메뉴얼 Maximum Print Area Width : 4.09”/104mm
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소 김태성 연구원
TCP/IP 통신망 특론 2장 Link Layer 컴퓨터 네트워크 실험실 이희규.
아두이노 프로그래밍 2일차 – Part2 PSD 거리센서 강사: 김영준 목원대학교 겸임교수.
아두이노 프로그래밍 2일차 – Part2 PSD 거리센서 강사: 김영준 목원대학교 겸임교수
9. 아두이노를 이용한 FND 제어 - 스마트 폰으로 제어하는 아두이노 -.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
Chapter 15 Transmission Control Protocol (TCP).
재해 및 미개척지 탐사를 위한 4족 보행 로봇 제어 허준영 교수님 연구실 2007 손승하 2006 우인식.
MA1356T ▶ 제품개요 *. 사용 스마트 카드 : ISO A Type And Mifair 호환 .
SYSMAC GATEWAY 간이 매뉴얼.
8051 IO-PORT 정보통신•컴퓨터 공학부 송명규
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
Transmission Control Protocol (TCP)
2015년 2학기 PULSE 4 전자물리실험 09-Servo Motor 제어 - DSU 메카트로닉스 융합공학부 -
마이크로소프트 박종호.
AVR - Chapter 14 황 지 연.
센서값 전송하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
LCD.
Introduction to Lab. Instruments
싼타페(DM)-배선 타입(운전석) 백색 : 운전석 도어핀 8.회색/흑색 : 상시전원(+12V ) 1.흑색 : 차량어스(GND)
생체계측 강의록 Medical instrucmentation#8
코딩체험교실 아두이노 로봇 코딩 4차산업기술 체험 (SW코딩/자율주행기술).
인코딩.
아두이노 프로그래밍 4일차 – Part1 모바일 로봇 강사: 김영준 목원대학교 겸임교수
6차시: 장애물을 회피하는 자율주행 미션 수행하기
아두이노 프로그래밍 Lecture #
교육 내용 OMRON SYSMAC Gateway(SGW) 설치 INDEX 제어 프로그램 설치
임베디드 하드웨어 Lecture #6.
Progress Seminar 양승만.
Lecture 7 7-Segment LED controller using u-controller
ADLAD System MANUAL [ ] SEM. Digital Appliance ADLAD System ?
임베디드 프로그래밍 Lecture #
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
Presentation transcript:

SoC 로봇워 참가자 교육

목차 1. DRS-0101 주요 레지스터 2. DRC-005T 주요 레지스터 3. DRS-0101 & DRC-005T 프로토콜 4. DR-Visual Logic 활용 5. 두뇌보드 프로그래밍 방안 6. Q&A

1. DRS-0101 주요 레지스터 비휘발성(EEPROM)과 휘발성(RAM) 메모리 비휘발성 : 전원이 꺼져도 유지. 설정 값 저장 휘발성 : 전원이 꺼지면 지워짐. 동작에 직접적 영향. 설정 값, 상태, 센 서 값 등 저장 비휘발성 메모리 중 설정 값 영역이 부팅 시 휘발성 메모리에 복사 RW(읽기/쓰기 가능)와 RO(읽기만 가능)로 나뉨 값을 바꿀 때 비휘발성 : 현재 동작에 영향 없음. 재부팅 이후 부터 영향 휘발성 : 현재 동작에 영향 있음. 재부팅 시 사라짐  설정 값을 변경 시 비휘발성 & 휘발성 모두 바꾸거나 비휘발성 바꾼 후 재부팅 시켜야. 레지스터와 프로토콜은 모두 Little Endian 하위 바이트가 더 메모리의 앞에 위치. 0x1234는 0x34, 0x12

1. DRS-0101 주요 레지스터 ID(RW, EEP 6/RAM 0) Ack Policy(RW, EEP 7/RAM 1) Torque Policy(RW, EEP 9/RAM 3) Position Kp(RW, EEP 30/RAM 24) Position Kd(RW, EEP 32/RAM 26) Position Ki(RW, EEP 34/RAM 28) Calibration Difference(RW, EEP 53/RAM 47) Status Error(RW, RAM 48) Status Detail(RW, RAM 49) Torque Control(RW, RAM 52) Calibrated Position(RO, RAM 58) Absolute Position(RO, RAM 60)

1. DRS-0101 주요 레지스터 ID(RW, EEP 6/RAM 0) Ack Policy(RW, EEP 7/RAM 1) Servo 식별 ID. 0x00~0xFD. 동일 ID가 같이 연결된 경우 오동작 Ack Policy(RW, EEP 7/RAM 1) 요청 패킷 수신 시 응답 패킷을 보낼지 여부에 대한 정책 0: 무응답 1: Read CMD(EEP_READ, RAM_READ)에만 응답 2: 모든 패킷에 응답 패킷의 pID가 254(broadcasting)일 경우 무응답 단 CMD가 STAT일 경우 무조건 응답(254일 경우도) Position Kp, Kd, Ki(RW, EEP 30, 32, 34/RAM 24, 26, 28) 위치 제어기의 PID 게인. 서보에서 덜덜 거리는 소리가 날 경우 Kd를 낮춰 보는 것을 추천

1. DRS-0101 주요 레지스터 Status Error(RW, RAM 48) Status Detail(RW, RAM 49) 서보의 에러 상태를 나타내는 레지스터 Status Detail(RW, RAM 49) 서보의 상태와 에러의 상세 내역을 나타내는 레지스터

1. DRS-0101 주요 레지스터 Torque Policy(RW, EEP 9/RAM 3) Status Error와 비교해서 1로 설정된 비트에 해당하는 에러가 발생 시 서보의 토크를 자동으로 해제 Status Error를 해제 후 다시 Torque Control 값을 수동으로 바꿔 주어야 복귀 Torque Control(RW, RAM 52) 토크의 인가 상태를 제어. 0x00 : Torque Off 0x40 : Break On(초기 상태) 0x60 : Torque On

1. DRS-0101 주요 레지스터 Calibration Difference(RW, EEP 53/RAM 47) 영점 조절 시 사용하는 -128~127의 값 Calibration Difference = Absolute Position – Calibrated Position Calibrated Position(RO, RAM 58) Calibration Difference가 적용된 현재 위치 + GPIO 입력 값 LSB 13비트(0~12번 비트) : 위치 값 그 위 2비트(13~14번 비트) : GPIO 입력 값(Active Low) 마지막 MSB 1비트(15번 비트) : reserved 모터 움직이는 명령은 모두 Calibrated Position이 기준 Absolute Position(RO, RAM 60) 보정되지 않은 현재 위치의 Raw Data 각도 = Raw Data * 0.325

2. DRC-005T 주요 레지스터 Special Function(RW, EEP 5) ID(RW, EEP 7/RAM 0) Ack Policy(RW, EEP 8/RAM 1) Torque Off Policy(RW, EEP 9/RAM 2) Status Check Policy(RW, EEP 11/RAM 4) Remocon Channel(RW, EEP 15/RAM 8) Status Error(RW, RAM 16) Status Detail[5](RW, RAM 17) Servo Count(RO, RAM 34) Servo ID[33](RO, RAM 35) Playing Motion(RO, RAM 68) Playing Task(RO, RAM 69) Remocon Length(RO, RAM 74) Remocon Data(RO, RAM 75) ADC Port 1 Sensor Type(RO, RAM 79) ADC Port 2 Sensor Type(RO, RAM 80) ADC Port 1 Sensor Value(RO, RAM 81) ADC Port 2 Sensor Value(RO, RAM 83) ACC/GYRO Connected(RO, RAM 85) ACC X/Y/Z Value (RO, RAM 86, 88, 90) GYRO X/Y/Z Value (RO, RAM 92, 94, 96) Servo Status Error & Detail[32](RO, RAM 106) Servo Position[32](RO, RAM 170)

2. DRC-005T 주요 레지스터 ID(RW, EEP 7/RAM 0) Ack Policy(RW, EEP 8/RAM 1) 제어기 식별 ID. 0x00~0xFD. 기본 값 0xFD Ack Policy(RW, EEP 8/RAM 1) 요청 패킷 수신 시 응답 패킷을 보낼지 여부에 대한 정책 0: 무응답 1: Read CMD와 CON_CHECK 등 몇몇 CMD에 대해서만 응답 2: 모든 패킷에 응답 패킷의 pID가 254(broadcasting)일 경우 무응답 단 CMD가 STAT일 경우 무조건 응답(254일 경우도) Torque Off Policy(RW, EEP 9/RAM 2) 상태 에러 발생 시 제어기에 연결된 서보 모터의 토크를 풀 것인지 여부 Status Error와 비교해서 1로 설정된 비트에 해당하는 에러가 발생 시 연결된 모든 서보의 토크를 자동으로 해제

2. DRC-005T 주요 레지스터 Status Error(RW, RAM 16) 제어기의 상태 오류 내역 Status Detail[5](RW, RAM 17) 제어기 상태 오류의 더 상세한 내역 코드(최근 5개)

2. DRC-005T 주요 레지스터 Servo Count(RO, RAM 34) Servo ID[33](RO, RAM 35) 연결된 서보의 총 수(최대 32개) Servo ID[33](RO, RAM 35) 연결된 서보의 ID가 오름차순으로 저장 연결된 수만큼 저장되며 나머지 공간은 0xFE(Broadcasting ID)

2. DRC-005T 주요 레지스터 Remocon Channel(RW, EEP 15/RAM 8) 리모컨의 채널 값(0x61~0x6A) 현재 사용하는 리모컨의 채널이 일치해야 리모컨 값을 인식할 수 있음 Remocon Length(RO, RAM 74) 리모컨 버튼이 눌린 길이. 리모컨 버튼 신호가 들어온 순간부터 125ms 마다 1 증가 Remocon Data(RO, RAM 75) 리모컨 키 값. 리모컨 신호가 안 들어올 때는 0xFE

2. DRC-005T 주요 레지스터 Playing Motion(RO, RAM 68) 저장된 모션이 실행 중인지 여부(실행 중:1, 아님: 0) 모션이 끝날 때까지 대기하려면 이 레지스터가 0이 될 때까지 기다리면 됨 Playing Task(RO, RAM 69) 저장된 Task가 실행 중인지 여부(실행 중:1, 아님: 0)

2. DRC-005T 주요 레지스터 Status Check Policy(RW, EEP 11/RAM 4) 연결된 서보의 현재 위치와 상태를 지속적으로 읽어올지 여부를 설정 1로 설정되어 있을 때, Servo Status Error & Detail과 Servo Position을 지속적으로 업데이트 Servo Status Error & Detail[32](RO, RAM 106) 연결된 서보의 Status Error와 Status Detail값이 저장(2바이트) Status Check Policy가 1일 때 지속적으로 업데이트 단선이 되어 통신이 안되는 경우 0x80, 0x00으로 변경 Servo Position[32](RO, RAM 170) 연결된 서보의 Calibrated Position 값이 저장(2바이트) Calibrated Position = 위치(13비트) + GPIO(2비트)임을 주의

2. DRC-005T 주요 레지스터 ACC/GYRO Connected(RO, RAM 85) 가속도/자이로 센서 모듈 연결 여부 I2C 통신이 정상적으로 이루어지면 1, 아니면 0 ACC X/Y/Z Value(RO, RAM 86, 88, 90) -4096~+4095(-16g~+16g) 정지 상태에서는 바닥 방향으로 -1g(약 -256) 작용 서있는 경우 ACC X, Y, Z = 0, -256, 0 엎드린 경우 ACC X, Y, Z = 0, 0, 256 누운 경우 ACC X, Y, Z = 0, 0, -256 GYRO X/Y/Z Value(RO, RAM 92, 94, 96) -32768~32767(-2000dps~+2000dps) 축의 +방향에서 보았을 때 반시계면 + 100dps로 회전 중일 때 레지스터 값은 약 1600

2. DRC-005T 주요 레지스터 ADC Port 1 Sensor Type(RO, RAM 79) 0 : 센서가 연결되지 않음 1 : PSD 센서가 연결 되었음 2 : 디지털 거리 센서가 연결 되었음 3 : DRX-0001M이 연결 되었음(Genie) ADC Port 1 Sensor Value(RO, RAM 81) ADC Port 2 Sensor Value(RO, RAM 83) ADC Port 1(좌측), 2(우측)으로 연결된 센서 값 Sensor Type 0일 경우 : 0 Sensor Type 1일 경우 : 3~40(cm단위) Sensor Type 2일 경우 : 0~1(10cm 이상:1, 이내:0) Sensor Type 3일 경우 : 0

2. DRC-005T 주요 레지스터 Special Function(RW, EEP 5) 사용자 센서 모드 0 : 센서 포트에 PSD 혹은 디지털 거리 센서 1개를 사용(총 2개) 1 : 임의의 아날로그 센서 1개와 디지털 센서 1개를 달 수 있음(총 4개) TTL 통신 모드 Zigbee Serial Interface(TTL 3.3V)로 통신 가능 기본 제공 센서 사용하실 분은 0x02, 직접 제작 센서 사용하실 분은 0x03으로 세팅하세요.

2. DRC-005T 주요 레지스터 사용자 센서 모드 GND, 5V로 센서에 전원 공급 Analog 출력을 3번에 연결 Digital 출력을 4번에 연결 아날로그 센서 값은 ADC Port 1/2 Sensor Value에 10비트 0~1023 ADC Raw Data로 저장 변환 식 : Raw Data / 1024 * 5V = Analog 출력(V) 디지털 센서 값은 ADC Port 1/2 Sensor Type에 0~1로 저장

3. 프로토콜 – 패킷 구조 Header : 0xFF 0xFF Packet Size : 총 바이트 수 pID : 제어할 서보/제어기 ID. 0xFE(254)일 경우 Broadcasting CMD : 명령 요청 패킷 : 서보 0x01~0x09, 제어기 0x11~0x1E 응답 패킷 : 서보 0x41~0x49, 제어기 0x51~0x5E Check Sum1 : (Packet Size ^ pID ^ CMD ^ Data[0] ^ … ^ Data[n-1]) & 0xFE Check Sum2 : (~(Packet Size ^ pID ^ CMD ^ Data[0] ^ … ^ Data[n-1])) & 0xFE Optional Data : CMD 종류에 따라 다름

3. 프로토콜 – CMD 종류(서보)

3. 프로토콜 – CMD 종류(서보)

3. 프로토콜 – CMD 종류(제어기)

3. 프로토콜 – CMD 종류(제어기)

3. 프로토콜 – 자주 쓰는 CMD RAM_WRITE(서보) Address 부터 Length 바이트만큼 RAM Data로 쓴다. 예시 – 모든 서보의 Torque ON(52번 주소, 1바이트, 0x60) 구분 Header Packet Size pID CMD CheckSum Data[0] Data[1] Value 0xFF 7+(2+Length) 0~0xFE 0x03 CS1 CS2 Address Length 구분 Data[2] … Data[Length+1] Value RAM Data[0] RAM Data[Length-1] 구분 Header Packet Size pID CMD CheckSum Data[0] Data[1] Data[2] Value 0xFF 0x0A 0xFE 0x03 0xA2 0x5C 0x34 0x01 0x60

3. 프로토콜 – 자주 쓰는 CMD RAM_READ(서보) – 요청 패킷 Address 부터 Length 바이트만큼 읽는다. 예시 – 0번 서보 Calibrated Position 읽기(58번 주소, 2바이트) 구분 Header Packet Size pID CMD CheckSum Data[0] Data[1] Value 0xFF 7+2 0~0xFD 0x04 CS1 CS2 Address Length 구분 Header Packet Size pID CMD CheckSum Data[0] Data[1] Value 0xFF 0x09 0x00 0x04 0x34 0xCA 0x3A 0x02

3. 프로토콜 – 자주 쓰는 CMD RAM_READ(서보) – 응답 패킷 Address 부터 Length 개 값을 RAM Data와 상태를 넣어 응답한다. 예시 – 0번 서보 Calibrated Position 응답(58번 주소, 2바이트) 구분 Header Packet Size pID CMD CheckSum Data[0] Data[1] Value 0xFF 7+(2+Length)+2 0~0xFD 0x44 CS1 CS2 Address Length 구분 Data[2] … Data[Length+1] Data[Length+2] Data[Length+3] Value RAM Data[0] RAM Data[Length-1] Status Error Status Detail 구분 Header Packet Size pID CMD CheckSum Data[0] Data[1] Value 0xFF 0x0D 0x00 0x44 0xFA 0x04 0x3A 0x02 구분 Data[2] Data[3] Data[4] Data[5] Value 0xE8 0x63 0x00

3. 프로토콜 – 자주 쓰는 CMD 서보와 제어기의 WRITE/READ CMD 요청 패킷 CMD 응답 패킷 CMD EEP_WRITE(서보) 0x01 0x41 EEP_READ(서보) 0x02 0x42 RAM_WRITE(서보) 0x03 0x43 RAM_READ(서보) 0x04 0x44 EEP_WRITE(제어기) 0x11 0x51 EEP_READ(제어기) 0x12 0x52 RAM_WRITE(제어기) 0x13 0x53 RAM_READ(제어기) 0x14 0x54

3. 프로토콜 – 자주 쓰는 CMD S_JOG(서보) N 개의 서보를 Play Time 동안 동시에 움직인다. 구분 Header Packet Size pID CMD CheckSum Data[0] Value 0xFF 7+(1+4*N) 0xFE 0x06 CS1 CS2 Play Time 구분 Data[1]~Data[4] … Data[4*N-3]~Data[4*N] Value SJOG Data[0] SJOG Data[N-1]

3. 프로토콜 – 자주 쓰는 CMD S_JOG(서보) Play Time JOG SET ID N 개의 서보를 Play Time 동안 동시에 움직인다. Play Time 목표/속도에 도달하는 데 걸리는 시간 값 * 11.2ms = 시간. 예)50 = 560ms JOG 목표 위치/속도 속도 제어 시 14번 비트=역회전 SET Stop Flag -> 모터 즉시 정지 Mode -> 0: 위치, 1: 속도 LED -> LED 점등 여부 Invalid -> JOG 명령 무시 ID 제어할 ID

3. 프로토콜 – 자주 쓰는 CMD S_JOG(서보) 예시 – 0번 서보, 1번 서보 동시 제어 실행 시간 : 100(1.12ms) 0번 서보 : 위치 제어, 512, Green LED 점등 1번 서보 : 위치 제어, 400, Blue LED 점등 구분 Header Packet Size pID CMD CheckSum Data[0] Value 0xFF 0x10 0xFE 0x06 0x12 0xEC 0x64 구분 Data[1] Data[2] Data[3] Data[4] Data[5] Data[6] Data[7] Data[8] Value 0x00 0x02 0x04 0x90 0x01 0x08

3. 프로토콜 – 자주 쓰는 CMD PLAY_MOTION(제어기) 예시 – ID 253인 DRC에서 모션 1번 실행 Motion No번 모션을 실행한다. Motion No : 모션 번호 0~127. (254이면 현재 모션 정지) Motion Ready : 모션 준비자세 여부(1이면 모션의 첫 프레임만 느리게) 예시 – ID 253인 DRC에서 모션 1번 실행 예시 – ID 253인 DRC에서 모션 2번 첫 프레임만 실행 구분 Header Packet Size pID CMD CheckSum Data[0] Data[1] Value 0xFF 7+2 0~0xFE 0x16 CS1 CS2 Motion No. Motion Ready 구분 Header Packet Size pID CMD CheckSum Data[0] Data[1] Value 0xFF 0x09 0xFD 0x16 0xE2 0x1C 0x01 0x00 구분 Header Packet Size pID CMD CheckSum Data[0] Data[1] Value 0xFF 0x09 0xFD 0x16 0xE0 0x1E 0x02 0x01

3. 프로토콜 – 자주 쓰는 CMD PLAY_TASK(제어기) 예시 – ID 253인 DRC에서 Task 실행 Instruction 0일 때 : 일반 모드로 Task 실행 254일 때 : Task 정지 1일 때 : 디버깅 모드로 Task 실행 2일 때 : 디버깅 모드일 때, Task를 한 스텝만 진행 후 멈춤 예시 – ID 253인 DRC에서 Task 실행 구분 Header Packet Size pID CMD CheckSum Data[0] Value 0xFF 7+1 0~0xFE 0x17 CS1 CS2 Instruction 구분 Header Packet Size pID CMD CheckSum Data[0] Value 0xFF 0x08 0xFD 0x17 0xE2 0x1C 0x00

3. 프로토콜 – 자주 쓰는 CMD REMOCON(제어기) 제어기에 리모컨을 쏜다.(IR 리모컨을 쏜 것과 동일한 효과) Channel : 리모컨의 채널(0x61~0x6A) Length : 리모컨 버튼이 눌린 시간(0~240, 1당 125ms) Data : 리모컨 버튼 키 예시 – 모든 DRC에 0x61의 채널로 1초 동안 버튼 0x21이 눌림 구분 Header Packet Size pID CMD CheckSum Data[0] Data[1] Data[2] Value 0xFF 7+3 0~0xFE 0x1C CS1 CS2 Channel Length Data 구분 Header Packet Size pID CMD CheckSum Data[0] Data[1] Data[2] Value 0xFF 0x0A 0xFE 0x1D 0xA0 0x5E 0x61 0x08 0x21

4. DR-Visual Logic 로봇 Task 프로그래밍 툴 모듈 배치와 Input/Output 핀 연결로 프로그램 작성 프로그램 -> C-like script -> 로봇에 다운로드 실시간 디버깅 기능(스텝 진행, 중단점까지 진행)

4. DR-Visual Logic Motion Move : 모션 실행 Motor : 모터 제어 LED : 제어기 & 머리 LED 제어 Sound : 버저 음계, 멜로디 재생 로봇의 행동을 제어

4. DR-Visual Logic Sensor Sound Sensor : 소리 방향 센서 Touch Sensor : 머리 터치 센서 Light Sensor : 빛 밝기 센서 Distance Sensor : 거리 센서(PSD, 디지털) Dynamics Sensor : 가속도/자이로 센서 Hand Touch Sensor : 손바닥 터치 센서 센서의 감지 여부나 기준값 과의 비교 결과를 True/False로 출력

4. DR-Visual Logic Communication IR Receive : IR 리모컨 수신 Button : Button 모듈에 설정된 IR 리모컨 Key나 Button 입력이 들어왔는지 여부를 True/False로 출력

4. DR-Visual Logic Data Operator : 연산자(산술, 논리, 비교, 비트, 증감) Variable : 제어기/서보 RAM Data, 사용자 변수, 상수 제어기/서보의 RAM Data, 사용자가 선언한 변수, 상수 등과 연산자를 사용해 계산을 하는 모듈

4. DR-Visual Logic Flow Loop : 무한 반복 / for문 While : while문 Switch : If-else문 Wait : 내용 없는 while문 Delay : 지정한 시간 대기 Continue : 반복문 처음부터 시작 Break : 반복문 빠져 나가기 프로그램의 흐름을 제어하는 모듈

4. DR-Visual Logic My Module 기존에 저장되어 있는 dts 파일을 불러와서 함수처럼 사용 파라미터 없는 void function

4. DR-Visual Logic 커넥터 모듈의 Input과 Output을 서로 이어 한 모듈의 Output이 다른 모듈의 Input으로 들어가도록 프로그래밍

4. DR-Visual Logic Task 예제 거리 센서 사용 예제 넘어짐 감지 예제 리모컨 모션 예제 양산 기본 Task

5. 두뇌보드 프로그래밍 방안 순수 두뇌보드 프로그래밍 두뇌보드 – DRC 분담 프로그래밍 두뇌보드에서 프로토콜로 모든 제어를 하는 프로그래밍 두뇌보드 – DRC 분담 프로그래밍 DRC에 Task를 작성해 무한 반복으로 돌려 놓고 두뇌보드에서는 REMOCON 패킷을 사용해 제어하는 프로그래밍 두뇌보드의 연산과 통신라인의 부담이 줄음 예) 1번 키를 보내면 좌회전 3회, 직진 3회 두뇌보드 : PLAY_MOTION->RAM_READ로 Playing Motion Register 감시->완료 후 다시 PLAY_MOTION을 6번 반복 두뇌보드+DRC : REMOCON

6. Q&A 문의사항 : jgahn@dongbu.com Soc관련 자료 : www.dongburobot.com 서비스로봇 자료실 오늘 PPT 자료, 펌웨어, 예제 자료 업로드

감사합니다.