본문 바로가기

메이커활동/즐거운공작

LEGO Mindstorms NXT 를 위한 몇가지 프로그램 방법들

사용자 삽입 이미지

LEGO Mindstorms

NXT 를 위한

몇가지 프로그램

방법들


LEGO Mindstorms NXT 프로그램에는 크게 세가지 방법이 있다. NXT-G, ROBOLAB 그리고 ROBOTC가 있다. 이 외에도 open source 로 나온 몇가지 방법이 더 있다.


NXT-G

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

사용자 삽입 이미지



ROBOLAB

ROBOLAB 은 Tufts University에서 개발된 것으로 Lego RCX를 위해 처음 개발되었다. 현재 보강된 프로그램이 NXT에서 사용가능하다.
ROBOLAB 은 또 다른 그래픽 환경을 가진 프로그램툴이다. NXT-G 보다 더 정교한 프로그램이 가능하다. 그래픽 환경의 프로그램툴을 원한다면 ROBOLAB 은 매우 좋은 프로그램툴이다.

ROBOLAB 은 National Instruments 의 LabVIEW 를 사용해 만들어졌다. LabVIEW 는 NXT-G 와 함께 ROBOLAB 의 기반이 되었다. integer 와 floating 변수를 사용한 계산이 가능하다.
사용자 삽입 이미지



ROBOTC

NXT에 C 언어를 사용하기 원한다면 ROBOTC는 무척 좋은 선택이다. Carnegie Mellon University 의 Robotics Academy 에서 만들어졌으며 www.robotc.net 에서 다운받을 수 있다.
ROBOTC 는 강녁한 실시간 디버거를 가지고 있으며 프로그램과 디버깅에 효과적인 프로그램툴이다.
사용자 삽입 이미지



NXC ... NOT EXACTLY C

NXC(Not eXactly C)는 C언어와 비슷한 NXT를 위한 프로그램툴이다. RCX 에 NQC가 있다면, NXT에는 NXC가 있다. C언어와 유사하지만 C언어는 아니다. NXC는 NXT-G와 동일한 펌웨어를 사용한다. 동일한 펌웨어를 사용하므로 사용자가 NXC로 프로그램하거나 NXT-G의 그래픽 환경에서 프로그램하는 것 모두 가능하다. 또한 두 종류의 프로그램툴을 사용한 프로그램을 같은 브릭에 넣을 수 있다. interger 타입의 변수가 사용가능하며 floating 타입의 변수는 쓸수 없다. LCD 에 글자를 쓰기 적절한 프로그램툴은 아니다.
NXC 와 ROBOTC 는 실시간 디버거를 가진 유일한 프로그램툴이다.
사용자 삽입 이미지



PBLUA

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



NXJ

NXJ 는 자바기반의 NXT 프로그램툴이다. JAVA 표준을 따르지만 Class 라이브러리는 훨씬 작다.
사용자 삽입 이미지
VIA[botmag]

LEGO Mindstorms NXT 를 위한 몇가지 프로그램 방법들
http://electoy.tistory.com/47
JelicleLim(2007.12.21.)