LEGO Mindstorms NXT Programming. 다양한 프로그램 언어와 인터페 이스 가능 C 언어 JAVA LabVIEW Visual Basic MS Robot Studio Robolab NXT-G.

Slides:



Advertisements
Similar presentations
Help your book choice Kim Seoyul Kim Jinho Kim Doyoung Go Sungmin.
Advertisements

영어의미론 단원 7 직시와 한정성 복습 발화 / 문장은 특정한 시간 및 장소와 관련되어 있는가 ? “A/The man from Dundee stole my wallet.” 라는 발화에서 화자는 청자가 그 사람을 아는 것으로 가정하는가 ? 담화세계는 부분적으로 허구일.
English at your school Korean - English. English at your school 수고했다 Well done. I was very impressed!
Classroom English How do you say _________ in Korean? _________ 는 한국어로 뭐예요 ?
Lesson 2 A Caring Friend. Making true friends is hard. Keeping them is even harder. To keep a good friendship, you need to care about others. Then, how.
Lesson 7 Science! It’s Cool! 과학 ! 멋져요 !. Can You Sink an Orange? 오렌지를 가라앉게 할 수 있나요 ? Tom: Look! The orange is floating. Tom: 봐 ! 오렌지가 떠 있어. Sora: Let’s.
ROBOTC 활용하기 ROBOTC 활용하기 EASYTECH R & D. - Index - - Index - 제 1장 NXT 및 ROBOTC 소개 제 2장 ROBOTC 기초 프로그래밍 제 3장 범퍼로봇(Bumper Robot) 제 4장 라인로봇(Line Robot) 제.
SD Biosensor, Inc. 体外快速诊断行业产品领先者 致力于提供高质量的体外快速诊断设备,包括血糖监测系统和血脂检测系统。
의문사 + to 부정사 주어 To study hard is important.
1-1. How to Make a Strong First Impression vocabulary
FREE ONLINE WHITEBOARD TOOLS
관계대명사 that The people whom/that they hired had high school diplomas.
Fifth theme : Writing Class Superhero powers
English Communication R/W
Sources of the Magnetic Field
Chapter 7 ARP and RARP.
Introduction to Django
MIND STORM 창의적 공학 설계 FORKLIFT All in One!! 윤 호, 전유기, 이헌중, 주준성.
IT Application Development Dept. Financial Team May 24, 2005
축산 인식개선을 위한 농협의 추진 사례 ( ) 농협중앙회 축산지원단장 박인희.
LISTEN AND UNDERSTAND LISTEN AND SING
7장 : 캐시와 메모리.
외국인과 대화를~~ 대학에서 교환학생을~~
특수조명 Program Manual M.D.I Solution
Fifth theme Superhero powers
고등용 LED를 이용한 재미있는 표현.
LEGO Mindstorms NXT Programming
영어 퀴즈대회(예선) 총 10문제입니다.
Student A Say “I’m going to ask you some questions about The Internet and Technology.” Are you ready?
Open Class Lesson- L2B3 Greeting (5’ 00”) Word Like Daddy, Like Mommy
듣기 퀴즈.
진대제 장관이 말하는 '100점짜리 인생의 조건' ▲ 진대제 정보통신부 장관    `인생을 100점짜리로 만들기 위한 조건은 무엇일까요`  진대제 정보통신부 장관이 대한상의 초청 조찬 간담회를 시작하며 참석자 들에게 던진 `조크성` 질문이다. 진 장관은 "제가 재미있는 얘기하나 하겠습니다"고 말하고, 
조동사 must can will would may should.
제5장 조동사 must can will would may should.
PCA Lecture 9 주성분 분석 (PCA)
7. Korea in the World One more step, DIY reading 영어 8-b단계
40쪽 6번 목적격 보어 분사 목적어와 목적격보어의 관계가 능동, 진행이면 ________, 수동, 완료이면 ________
9. Do you have a scientific mind?
Talk and talk Could you…? 영어 7-b
Introduction to Programming Language
9. Do You Have a Scientific Mind?
9. Do You Have a Scientific Mind?
Read and Think 영어 8-a단계 A Story of Two Seeds(3/8) [제작의도] [활용방법]
: 부정(negative)의 의미를 나타내는 접두사
강변 교회 유초등부 설교. 강변 교회 유초등부 설교 강변 교회 유초등부 설교 이에 말씀하시되 내 마음이 매우 고민하여 죽게 되었으니 너희는 여기 머물러 나와 함께 깨어 있으라 하시고(마태복음 26:38) 이에 말씀하시되 내 마음이 매우 고민하여 죽게 되었으니.
시스템 분석 및 설계 글로컬 IT 학과 김정기.
Speaking -두 번째 강의 (Part 1 실전테스트 1,2) RACHEL 선생님
Operating System Multiple Access Chatting Program using Multithread
9. Do You Have a Scientific Mind?
『중소•벤처기업의 인적자원관리』 이 규 환 서울특별시 강남구 삼성동 현대빌딩 506호 전화 : (02) , Fax : (02)
이산수학(Discrete Mathematics)
평생 간직할 멋진 말 Excellent thought applicable through our whole life
The World of English by George E.K. Whitehead.
PLEASE ENTER THE MAIN TITLE
Web based Presentation & Controller Service
What’s on TV? Read and Find out
Presentation by Timothy Kane
Hongik Univ. Software Engineering Laboratory Jin Hyub Lee
Speaking -첫 번째 강의 ( Part 1 유형별분석) RACHEL 선생님
A SMALL TRUTH TO MAKE LIFE 100%
A SMALL TRUTH TO MAKE LIFE 100%
Level editing techniques
USB Drivers install Manual
Moral Decision-Making
Fifth theme Superhero powers
NERVES OF THE ARM.
K1-L2 Lecture Notes 대학교 캠퍼스 [The University Campus]
Ⓒ Copyright CARROT Global. All Rights Reserved.
Speaking -여섯 번째 강의 (Review ) RACHEL 선생님
Sawasdee ka.
Presentation transcript:

LEGO Mindstorms NXT Programming

다양한 프로그램 언어와 인터페 이스 가능 C 언어 JAVA LabVIEW Visual Basic MS Robot Studio Robolab NXT-G

About Bluetooth Bluetooth 는 근거리 통신 규약으로 약 10m 정도 의 거리까지 통신이 가능하다. 장비별 식별 코드를 사용하므로 장비간 인증, 데 이터 보안 등의 특징과 네트워크, 시리얼, 오디오 등 다양한 서비스를 제공한다. NXT 에서는 PC to NXT, NXT to NXT 의 통신을 지원한다.

About Bluetooth 한 번에 한 개의 Bluetooth 장치와 통신이 가능하다. 한 번에 총 3 개 까지의 장치와 연결상태를 유지할 수 있 다. 자체 블루투스 장치 탐색 및 이전 접속된 장치 기억 기능 이 있다. 다른 블루투스 장치에 검색되도록 하거나 혹은 검색을 피 하도록 숨길 수 있다. 블루투스 장치만 개별적으로 전원 on/off 할 수 있다.

센서 종류와 모터 충전식 리튬폴리머 배터리 터치 센서 사운드 센서 라이트 센서 초음파 센서 엔코더 내장형 서보 모터 그래픽 LCD 및 블루투스 무선통신 내장 USB 2.0 지원 기존 LEGO RCX 용 디바이스 호환

Programming Languages NXT-G code NXC (and NBC) Robot C pbLua Java and others

NXT-G code LEGO ’ s development environment Graphical programming Based on National Instruments ’ LabView Great for quick programs Wonderful for kids to use … but a real pain for old geezers like me who grew up with text programming languages

NXT-G –National Instruments 사에서 개발한 그래픽 인터페이스를 가진 프로그램툴 – 이것을 사용해 플로우차트를 그리듯이 프로그램할 수 있 으며, 모터를 제어하거나 딜 레이를 주거나 소리를 만드 는 등의 일을 할수 있음 – 센서입력과 타이머를 이용한 프로그램이 가능하다. –NXT-G 는 프로그램이 매우 쉽다.

LabVIEWROBOLAB = Robolab 은 LabVIEW 기반으로 만들어 짐 ( 같은 구성 ) 현재 많은 대학교에서 프로그램의 기초 실습과목으로 LEGO 의 소프트웨어인 Robolab 을 배우고 있음 LabVIEW 기반의 ROBOLAB

ROBOLAB –Tufts University 에서 개발된 것으 로 Lego RCX 를 위해 처음 개발 – 현재 보강된 프로그램이 NXT 에서 사용가능 – 또 다른 그래픽 환경을 가진 프로 그램툴이다. NXT-G 보다 더 정교 한 프로그램이 가능 – 그래픽 환경의 프로그램툴 –ROBOLAB 은 National Instruments 의 LabVIEW 를 사용 해 만들어 짐 LabVIEW 는 NXT-G 와 함께 ROBOLAB 의 기반 –integer 와 floating 변수를 사용한 계산이 가능하다

ROBOTC –NXT 에 C 언어를 사용 –Carnegie Mellon University 의 Robotics Academy 에서 만들어짐 – 다운로드 : –ROBOTC 는 강력한 실시간 디버거를 가지고 있으며 프 로그램과 디버깅에 효과적인 프로그램툴 –Not free (free trial, $30 download)

NXC... NOT EXACTLY C NXC(Not eXactly C) –C 언어와 비슷한 NXT 를 위한 프로 그램툴 (Free) C 언어와 유사, C 언어는 아님 –RCX 에 NQC 가 있다면, NXT 에는 NXC 가 있음 –NXC 는 NXT-G 와 동일한 펌웨어를 사용 사용자가 NXC 로 프로그램하거나 NXT-G 의 그래픽 환경에서 프로그 램하는 것 모두 가능 –interger 타입의 변수가 사용가능하 며 floating 타입의 변수는 쓸 수 없 음 –LCD 에 글자를 쓰기 적절하지 않음 –NXC 와 ROBOTC 는 실시간 디버 거를 가진 유일한 프로그램툴임

C base Programming(NXC) NXT 용 C 기반 환경인 NXC 와 유사한 형태로 C 언어 기반의 프로그램을 구현하 기 위한 개발 환경. 좌측의 예제는 삼각함수를 이용한 기하 학적 디스플레이로, 일반 C 어플리케이션 의 알고리즘도 얼마든지 구현할 수 있음

PBLUA –Lua 는 교육분야에서 주목받 고 있는 텍스트 기반의 언어 –pbLua 는 NXT 를 위한 Lua 의 모든 특성을 갖춘 프로그 램 –pbLua 를 사용한 프로그램은 ROBOTC 와 NXC 와 유사

NXJ – 자바기반의 NXT 프로 그램툴 –JAVA 표준을 따르지만 Class 라이브러리는 훨 씬 작음

Other languages Java and several other languages are reportedly in the works as well MS Robotic Studio also supports the NXT –Download a small client program to NXT –Actual control is on a PC Software.htmlhttp:// Software.html

기타 개발 환경 Microsoft Robot Studio : 마이크로소프트 (MS) 가 로봇산업 확대를 위 해 선보인 상용 로봇 운영체계, 윈도우 기반 소프트웨어 플랫폼으로서 실제 또는 가상의 로봇 프로그램을 비교적 간단히 수행하며 아이로봇의 룸바 (Roomba), 레고 마인드스톰즈 NXT(LEGO Mindstorms NXT) 등의 여러 로봇에서 호환된다. 영리 목적이 아닌 경우 무료 공개 JAVA on NXT : LeJOS 라는 이름으로 불리우는 LEGO 용 JAVA 는 JDK 1.5 이상과 LeJOS 프로그램을 통해 구현할 수 있다.

로보랩 S/W 의 구성과 기본활용

ROBOLAB 의 실행

펌웨어 다운로드 화살표를 클릭해서 자신의 NXT 이름이 나오면 V 표시 클릭

펌웨어 다운로드 펌웨어 다운로드 (PC 의 운영체제 설치의 개념 ) 약 20 여초 소요됨 펌웨어가 설치된 후 사용자는 자신 의 프로그램 입력 가능

로보랩 프로그래밍

로보랩 프로그램 창 패널 창 다이어그램 창 VI 함수 팔레트

RoboLab Work Space Remember to use Context Sensitive Help!

Programming Levels Pilot Level –Uses basic interface where programs are built using a click-and-choose interface Inventor Level –Provides a more open-ended, icon-based environment Investigator Level –Uses Pilot and Inventor programming to incorporate data collection into projects

Storyboarding Advantages of using a storyboard: –Makes it easier for younger students –Gives students a concrete plan to use at the computer –Checks individual understanding –Comes in handy when there is a lack of computers –Forces students to plan ahead and think objectively

Elements of a Program Beginning and end of program Motion Duration Speed Sensing the environment

Programming Always start an Inventor program with this command. (Change BeginNXT icon) Always end an Inventor program with this command.

Motion Choosing the correct icon: –Look at the arrows –Look at the port the motor is connected to on the RCX Motor A Forward Motor A Reverse Motor B Forward Motor B Reverse Motor C Forward Motor C Reverse

Duration The icons used to assign duration are called Wait Fors. Wait Fors: Wait for 1 second Wait for 2 seconds Wait for 4 seconds Wait for 6 seconds

Checkpoint

Stop Icons Because we want to stop both A and C motors, we will choose the stop A, B, C icon and place it at the end of our program. Stop AStop BStop CStop A, B, C

A Complete Program Congratulations! –You have now storyboarded your first robotics program.

From Storyboard to Computer Let’s go back to our computer.

Writing a new program Click on the Programmer button. You should then see the Inventor login screen.

ROBOLAB Environment Set up your screen in Inventor 4 so that it looks like the screen to the right.

ROBOLAB Environment There are two major pallets that contain most of the icons and commands you need to build a program. If you cannot see these pallets, you can find them under the Show drop down list. Tools Functions

WaitFor Palette

ROBOLAB Environment Click and drag the icons from the Function pallets to the blue screen space.

Tool Pallet 로보랩 사용법 ( 커서 ) VI 선택, 배치, 드래그 등에 사용 (Space Key 누르면 호출됨 ) VI 와 VI 간 와이어링에 사용 (Space Key 누르면 호출됨 ) 텍스트 입력에 사용 (Tab Key 누르면 호출됨 )

ROBOLAB Environment On the tools pallet, find the button that looks like a spool of wire.

Downloading the Program Click the white arrow on the ROBOLAB screen.

Testing the Program Put your NXT on the floor and press the Orange Button.

Troubleshooting Question: Why won’t this program work?

Troubleshooting Answer: The wiring is not correct. Always check for bad wires or missing wires. Bad WireMissing Wire

Troubleshooting Question: This program is supposed to turn on Motor A for four seconds, then turn off the motor. What’s wrong?

Troubleshooting Answer: There was no Stop Motor icon.

RoboLab Class Mission 1: To drive using a Timer “ With power level 3, Go straight for 2.5 seconds and stop ” 엔진출력 3 으로 2.5 초간 직진 후 멈춤 Broken arrow  Just right button click  Select (Error list) Ctrl+B  Delete Broken arrows

VI (Visible Item) Visible Item  Terminal – 분홍색 : 프로그램 흐름 – 청색 : 정수값 – 황색 : 실수값 – 갈색 : 컨테이너 ( 변수 ) – 녹색 : 입출력 포트

로보랩 사용법 (VI) 분홍 : 프로그램의 흐름 녹색 : 입 / 출력 포트 청색 : 수치값 ( 정수 ) 황색 : 수치값 ( 유리수 ) 갈색 : 컨테이너 ( 변수 )

Modifiers Palette

Modifiers – Select Command – Click in Diagram Window to Place Command – Wire Command Connections Forward Motor A Power Level 5

Context Help Just point an icon in question

Touch sensors

RoboLab Mission 2: Bumper Car Storyboard –Goes straight and stops when the bumper is hit Program –Turn motors B and C –Turn off motors B and C, when a touch sensor (Input 1) is pressed NXT 의 입력포트 (1,2,3) 를 선택한다 Wait for push Wait for Let’s Go NXT Click Fork (default: 10 번 ) NXT Touch and Release Fork

Answer

Example 모터 B, C 를 전진하다 터치센서가 눌리면 2 초간 후진하여 정지시킴

Light Sensors Low light level = low voltage level Bright light level = high voltage level The photo-transistor acts like a valve for electricity. The more light energy it senses, the more electricity flows. Photo-transistor

Light Sensors Light sensors are found under the “Wait For” icon in the Functions Palette Wait for light default: 55 이상 range: 1~100 Wait for dark default: 55 이하 range: 1~100 Wait for lighter (Default: 5% increase) Wait for darker (Default: 5% decrease) Light Sensor Fork Default: 55

RoboLab Mission 3: Board Edge Detection Robot must stop when it detects the edge of the white board Testing Light Sensors Use Black ‘ View ’ Button to read data from the light sensor –Measures the level of light as a number between 0% (total darkness) and 100% (very bright)

Answer Darker than 30 Brighter than 60

Sound Sensor Robot must stop when it detects the volume to in crease by the cutoff value –Wait for Louder –Default value : an increase of 30% –Wait for Quieter –Default value : an decrease of 30% –Wait for Loud –Default value : 70db 이상 –Wait for Quiet –Default value : 70db 이하 Sound Sensor Fork Default: 55 Range: 1(quiet)~100(loud)

Sound Sensor Example 직진을 하다 소리가 현재소리보다 40% 이 상 커지면 멈춤

Ultrasonic Sensor Robot must stop when it detects the distance that is less than a start value –Forward Distance x –Default: 20cm 이상 (1cm~200cm) –Reverse Distance x –Default: 20cm 이하 (1cm~200cm) – Distance Sensor Fork (default: 20cm)

Ultrasonic Sensor Example 직진을 하다 앞에 장애물이 30cm 이하가 되면 멈춤

RoboLab Mission 4: Making Turns Storyboard –Go straight for 1 seconds and turn right 90 degrees and go straight for 2 seconds and stop Program ?? –Is it easy to make 90 degree turns? –Mark the stop location and rerun –Does it stop at the same point? –Why not? –How do we make our robots go straight? –Very important for many missions

Tips: Making Right Turns stop Method 1: Left motorRight motor Method 2: Left motorRight motor

Making Turns Turn left: Spin left: (point turn) Face left: Left wheel Right wheel Left wheelRight wheel stop

Answer??

Ex 4-1: Go forward 1.5 seconds and come back by spinning left Spinning 180 degrees? Is it accurate?

Advanced Bumper Car NXT 포트 B, C 의 모터를 이용해 Bumper Car 를 전진 시키다. Bumper 에 의해 입력포 트 1 에 연결된 터치센서가 눌러지면 모터 B, C 의 방향을 1 초간 반전시켜 Bumper Car 가 후진하였다가 오른쪽으로 회전하게 한 다 음 다시 전진.

Reference – programs/robotics/robolab-tutorial/ programs/robotics/robolab-tutorial/ – – wnloads.htmlhttp://inside.catlin.edu/site/msrobotics/html/do wnloads.html