The Scout is an important step in making the experience of LEGO MINDSTORMS accessible to a younger audience, but it also plays a significant role in taking the technology of MINDSTORMS into the future.
The Scout's LCD programming interface represents only a small part of what the Scout can do. Hidden beneath this interface is an operating system that has many of the programming features provided by the RCX's standard firmware, plus several new capabilities that the present RCX firmware does not offer, at least not yet...
The new features developed for the Scout include:
This new operating system reflects some of our latest innovations in robotic programming, including features we would like to extend to the RCX in the future.
To let more people get their hands on the power of the Scout, the LEGO Group has officially released a Software Developers Kit for the Scout. The SDK includes:
(Click pic to enlarge)
Our goal in releasing the Scout SDK is to continue to stimulate experimentation and invention within the MINDSTORMS community. Or in other words, let you play with the same toys we get to play with.
We also are looking for feedback on the commands and capabilities of the Scout's firmware. We will use this feedback to finalize the design for the next update of the RCX's firmware.
The SDK is available for download here.
This release is free for non-commercial use. The Scout Programming Tool requires the LEGO MINDSTORMS Infrared Transmitter and Serial Cable, along with a Win 95 or Win 98 PC with a working 9-pin serial port.
(The IR Transmitter and cable are available in the Robotics Invention System. For those who don't own the Robotics Invention System, the IR Transmitter can be purchased separately from Pitsco LEGO Dacta at 1-800-362-4308. The product is listed as the Infrared Transmitter and Cable Pack, Product Number W979713.)
More Technical Stuff
The Scout firmware language consists of over 70 different assembler commands, with the majority adapted from RCX assembler commands.
The Scout runs on a Toshiba microprocessor with 32k of ROM and 1k of RAM. About 400 bytes of RAM are available to hold one user program, accessible through Power Mode. To optimize the use of the limited RAM, a library of system sounds and over 30 command subroutines are built-into ROM, along with the capacity to handle three user-defined subroutines in RAM.
Programs can be downloaded into the RAM via the IR port. The IR communication protocol is nearly identical to the RCX, with only minor command differences.
Once downloaded, a user program can run up to 6 tasks in parallel. The Scout can manage multitasking similar to how the RCX does it, however the Scout has the additional feature of access control commands. Access control commands let the user set rules of priority when different tasks attempt to control common resources, such as the motor outputs.
For example, if a touch event triggers a sequence involving the motors while a sequence running in the main task is also using the motors, control will go the task with the greatest priority. If the main task is overridden by a task with higher priority, it will regain control when the other task has completed, with the program resuming at a point specified by the user. Tasks can have multiple access control regions of different priorities.
In English, this means you can get the Scout to watch out for a lot of stuff, but still focus on doing one thing at the time based on what you think is most important.
The Scout's input/output configuration differs from the RCX. The Scout follows a 2+1 by 2+1 format rather than 3 by 3. There are two connectors for external sensors, plus one built-in light sensor. The Scout does not support active sensors like the RCX (meaning sensors that require power from the p-brick.) It does support passive sensors and can read resistance values like the RCX.
For output it has two ports which work the same as the RCX's output ports. The red light in the front of the Scout is designed to work as a third output control. It can send commands through a protocol called Visible Light Link (VLL.) This lets the Scout talk to other LEGO control products, which include the Micro Scout and the Code Pilot. (The Micro Scout is currently sold as part of the Droid Developer Kit, #9747.)
By connecting the Scout's emitter to the Micro Scout's light sensor with a fiber optic cable (see note below), the Scout can send direct commands to use the Micro Scout as a third motor. It can also download a small program into the Micro Scout and run it. To receive commands and programs, the Micro Scout's display should be set to the "P" program. (The VLL protocol also works with the Code Pilot from LEGO Technic, available as part of the Bar Code Multi Set, #8479.)
For more detail on the Scout's capabilities, please refer to the Scout SDK.
(Note -- Anything that lets enough light pass through will work, such as the fiber optic system (FOS) elements used in the Extreme Creatures Expansion Set. We are investigating a standard piece for next year's assortment that provides a tighter fit and longer length. Placing the Scout's emitter near the Micro Scout's light sensor with low background light will also allow communication.)
Now aren't you glad you kept reading?
(Click pic to enlarge)