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]