View
64
Download
7
Category
Preview:
DESCRIPTION
LEGO Mindstorms NXT Programming. 다양한 프로그램 언어와 인터페이스 가능. LabVIEW. C 언어. JAVA. Visual Basic. MS Robot Studio. Robolab. NXT-G. About Bluetooth. Bluetooth 는 근거리 통신 규약으로 약 10m 정도의 거리까지 통신이 가능하다 . 장비별 식별 코드를 사용하므로 장비간 인증 , 데이터 보안 등의 특징과 네트워크 , 시리얼 , 오디오 등 다양한 서비스를 제공한다. - PowerPoint PPT Presentation
Citation preview
LEGO Mindstorms NXT
Programming
다양한 프로그램 언어와 인터페이스 가능
C 언어
JAVA
LabVIEW
Visual Basic
MSRobot 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
• NXT-G– National Instruments
사에서 개발한 그래픽 인터페이스를 가진 프로그램툴
– 이것을 사용해 플로우차트를 그리듯이 프로그램할 수 있으며 , 모터를 제어하거나 딜레이를 주거나 소리를 만드는 등의 일을 할수 있음
– 센서입력과 타이머를 이용한 프로그램이 가능하다 .
– NXT-G 는 프로그램이 매우 쉽다 .
LabVIEW ROBOLAB
=
Robolab 은 LabVIEW 기반으로 만들어 짐 ( 같은 구성 )현재 많은 대학교에서 프로그램의 기초 실습과목으로 LEGO 의 소프트웨어인 Robolab 을 배우고 있음
LabVIEW 기반의 ROBOLAB
ROBOLAB• ROBOLAB
– Tufts University 에서 개발된 것으로 Lego RCX 를 위해 처음 개발
– 현재 보강된 프로그램이 NXT에서 사용가능
– 또 다른 그래픽 환경을 가진 프로그램툴이다 . NXT-G 보다 더 정교한 프로그램이 가능
– 그래픽 환경의 프로그램툴– ROBOLAB 은 National
Instruments 의 LabVIEW 를 사용해 만들어 짐
• LabVIEW 는 NXT-G 와 함께 ROBOLAB 의 기반
– integer 와 floating 변수를 사용한 계산이 가능하다
ROBOTC• ROBOTC
– NXT 에 C 언어를 사용– Carnegie Mellon
University 의 Robotics Academy 에서 만들어짐
– 다운로드 : www.robotc.net
– 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
• PBLUA – Lua 는 교육분야에서
주목받고 있는 텍스트 기반의 언어
– pbLua 는 NXT 를 위한 Lua 의 모든 특성을 갖춘 프로그램
– pbLua 를 사용한 프로그램은 ROBOTC 와 NXC 와 유사
NXJ
• 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
• http://www.teamhassenplug.org/NXT/NXTSoftware.html
기타 개발 환경• Microsoft Robot Studio : 마이크로소프트 (MS) 가 로봇산업 확대를 위해 선보인 상용 로봇 운영체계 , 윈도우 기반 소프트웨어 플랫폼으로서 실제 또는 가상의 로봇 프로그램을 비교적 간단히 수행하며 아이로봇의 룸바 (Roomba), 레고 마인드스톰즈 NXT(LEGO Mindstorms NXT) 등의 여러 로봇에서 호환된다 . 영리 목적이 아닌 경우 무료 공개
• JAVA on NXT : LeJOS 라는 이름으로 불리우는 LEGO 용 JAVA 는 JDK 1.5 이상과 LeJOS 프로그램을 통해 구현할 수 있다 .
Recommended