레고 브레인스토밍 정보
RCX 는 1.0 (1 세대 1998), 1.5 (소판 1999) 의 세 가지 버전으로 나뉩니다 1.0 과 1.5 의 차이점은 1.0 버전은 외부 전원을 켜고 변압기를 통해 전원을 공급하는 반면 1.5 버전은 배터리로만 전원을 공급할 수 있다는 것입니다 2.0 과 2.0 의 차이점은 컴퓨터를 연결하는 적외선 장치가 USB 로 바뀌었다는 것입니다. 이전에는 직렬 포트를 사용했습니다. 가장 중요한 차이점은 2.0 버전의 펌웨어와 프로그램 개발 도구가 몇 가지 새로운 기능을 제공한다는 것입니다. RCX 펌웨어의 주요 목적은 바이트 코드 프로그램을 프로세서가 이해할 수 있는 기계 코드로 변환하는 것입니다. 다행스럽게도 RCX 의 펌웨어는 컴퓨터의 BIOS 와 마찬가지로 교체가 가능하므로 버전마다 큰 차이가 없습니다. RCX 의 펌웨어는 SRAM (static access memory) 에 저장되므로 실제로 RCX 전원이 꺼지면 펌웨어가 사라집니다. 컴퓨터는 프로그램을 보낼 때 펌웨어를 RCX 로 보냅니다.
전통적인 방법으로 로봇을 만든다면, 먼저 컴퓨터의 기본 입문을 배우고 전자 회로, 디지털 논리, 마이크로프로세서를 알아야 기본적인 마이크로컴퓨터 제어 회로를 만들 수 있다. 그리고 어셈블리 언어나 C 언어를 배우고 마이크로프로세서를 쓰는 프로그램도 배워야 한다 ... 참, 아마도 가장 번거로운 것은 기계 구조일 것이다. 우리는 스테퍼 모터와 일반 DC 모터 중 어느 것을 사용할지 결정해야 한다. 구동 형태에 따라 신호 구동 및 피드백 처리 방식이 다릅니다. 또한 가장 간단한 타이어나 무한궤도가 걷기 방식인 경우에도 토크와 속도를 조절하기 위해 다양한 기어를 일치시켜야 할 수 있습니다. 공부와 DIY 가 이렇게 많은 것을 생각하면 자제로봇을 갈망하는 많은 아마추어 게이머들이 피가 끓고 온몸이 오한.
레고 mindstorms 조합에는 RCX, 모터 2 개, 터치 센서 2 개, 적외선 센서 1 개, 다양한 크기의 타이어와 레일, 여러 규격의 기어와 도르래가 포함되어 있으며, 물론 전자 회로 및 기계 구조 문제를 해결하는 데 도움이 되는 다양한 블록이 포함되어 있습니다. 나머지 프로그래밍 부분에서는 레고 (또는 MIT 연구원) 도 RCX 코드라는 시각화 프로그래밍 도구를 개발했습니다. 나무를 쌓는 것과 마찬가지로, RCX 코드 사용자는 화면에 다양한 프로그램 논리를 나타내는 다양한 "빌딩 블록" 을 쌓아 RCX 프로그램을 완성할 수 있다. 프로그램 작성이 완료되면 키트에서 제공하는 적외선 장치를 통해 RCX 로 프로그램을 전송할 수 있습니다. 정말 멋져요!
하지만' 쿨' 에 대한 정의는 사람마다 다르다. 레고가 제공하는 시각화 프로그래밍 도구는 초보자나 프로그램에 익숙하지 않은 플레이어에게 적합합니다. 어떤 사람들은 이 인터페이스로 프로그램을 쓰는 것이 사실상 장애물이라고 생각한다. 예를 들어, RCX 코드에 의해 "작성" 된 복잡한 프로그램은 비효율적일 수 있으며 "시각화" 프로그램 코드는 읽기와 유지 관리가 쉽지 않을 수 있습니다. 따라서 많은 레고 mindstorms 애호가와 프로그래밍 전문가들이 다양한 "일반" 프로그래밍 언어를 개발했습니다.
이들 플레이어 중 가장 유명한 (아마도 가장 큰 공헌) Kekoa Proudfoot 교수는 RCX 의 내부 구조와 I/O 프로토콜을 자세히 분석하고 RCX 내부 웹 사이트에 많은 문서를 게재했다. 또 다른 유명 게이머는 데이비드 바움 (David Baum) 으로, C 언어와 비슷한 프로그램인 NQC (완전히 C 가 아님) 를 개발하여 프로그래머를 시각화 개발 도구의 속박에서 해방시켰다. NQC 는 RCX 최초의' 비공식' 프로그래밍 언어는 아니지만 가장 널리 사용되는 언어일 수 있습니다. NQC 자체는 텍스트 인터페이스를 통해 작동합니다. 그래픽 인터페이스의 통합 개발 환경 (IDE) 을 사용하려면 brixcc(Windows 버전) 또는 MacNQC(Mac 버전) 또는 nqc for wince (포켓 PC PDA) 를 설치할 수 있습니다.
또한 레고의 RCX 코드 시각화 도구 프로그램은 Windows 버전만 있으며 Mac 및 Linux 시스템에서는 비공식적인 프로그램 도구만 사용할 수 있습니다. 모든 플레이어가 C 언어를 좋아하거나 잘 아는 것은 아니다. 호세 솔로사노는 RCX 가 Java 프로그램을 실행할 수 있도록 leJOS Java 운영 체제라는 JVM (Java Virtual Machine) 을 개발했습니다. 랄프 헨펠이 개발한 Pb Forth (programmable brickforth) 도 일부 선수들의 사랑을 받고 있다. Forth 언어의 첫 번째 구현 프로젝트는 천문대를 제어하는 큰 망원경입니다 (본 페이지의 소개 참조). 그것의 문법과 다른 일반적인 컴퓨터 언어의 가장 큰 차이점은 소위' Polishnotation (RPN)' 을 사용한다는 것이다. 예를 들어 표현식 3 * (4+7) 은 3 4 7+* 로 작성해야 하고 다른 표현식은 Markus Noga 에서 개발한 것입니다. LegOS 를 사용하면 프로그래머가 RCX 하드웨어의 성능을 최대한 활용할 수 있지만 NQC 와 달리 사용자는 C 언어에 익숙해야 하며 개발 도구는 설치하기가 쉽지 않으므로 사용자가 적습니다.
레고 MINDSTORMS 외에도 레고는 교육 기관에 압력, 볼륨 및 온도 감지와 같은 더 많은 센서, 카메라 링크 (레고 자체의 시각적 명령 제품에 국한되지 않음) 및 시각적 인식을 제공하는 ROBOLAB 이라는 키트를 판매합니다. 보다 구체적으로, 이 소프트웨어는 데이터 분석, 비교 및 차트 작성 기능도 갖추고 있습니다. 또한 RoboLab 소프트웨어는 인터넷을 통해 ROBOLAB 서버 (이 제품의 소프트웨어에 포함) 에 연결하고 수집된 데이터를 웹 페이지에 표시할 수 있습니다. ROBOLAB 의 내장 소프트웨어는 Windows 와 Mac 두 가지 버전으로 제공됩니다.
레고는 Lego mindstorms NXT 라는 차세대 레고 Mindstorms 를 출시했다. 이 새로운 레고 mindstorms 는 32 비트 마이크로프로세서와 내장 USB 및 Bluetooth (프로그램 전송 속도와 안정성을 크게 높임) 를 사용하여 사용자가 PDA 나 휴대폰과 같은 Bluetooth 장치로 제어되는 로봇을 만들 수 있도록 합니다. NXT 에 포함된 프로그램 편집 도구는 PC 와 Mac 을 모두 지원합니다. 더 많은 플레이어를 NXT 의 확장 개조에 끌어들이기 위해 레고는 오픈 소스 펌웨어와 개발 도구를 특별히 발표했다. 마이크로소프트 맏형조차도 로봇 개발 소프트웨어 대열에 동참하는 것을 참지 못하고 마이크로소프트 로보틱 스튜디오 소프트웨어를 선보였다. 호스트 기능이 크게 향상되었을 뿐만 아니라, NXT 의 모터도 서보 제어로 변경되어 프로그램이 속도를 정확하게 조절할 수 있게 해 주며 이번에는 세 개의 모터가 첨부되어 있습니다. 센서도 다양해지고 기능이 강화되었습니다. 초음파 센서 (장애물을 감지하는 데 많이 사용됨), 색상과 밝기를 구분하는 광 센서 ... 등등. 레고 플레이어가 NXT 로 어떤 놀라움을 가져올지 모르겠어요?