• Control the LEGO Mindstorms EV3 robot from the first person. Remote control of Lego Mindstorms robot via JMX and IP Video

    1.1 What is LEGO® MINDSTORMS®?

    LEGO MINDSTORMS is a programmable robotics building kit that lets you create and control your own LEGO robots. The new LEGO MINDSTORMS EV3 kit contains everything you need to create any of 17 robots that walk, talk, move and do everything you want. EV3 kit includes software and free apps that let you build, program, and control robots using your PC, Mac, tablet, or smartphone.

    1.3 What is the EV3 Smart Brick?

    The EV3 Brick is a programmable intelligent module that, being the brain of the robot, controls the motors and sensors to make it move, walk, talk, and also provides wireless communication via Wi-Fi and Bluetooth.

    2.1 What's included in the LEGO® MINDSTORMS® EV3 set?

    Instructions for building your first robot, TRACK3R
    Connecting cables
    1 USB cable
    LEGO Technic parts: 594 pieces
    1 EV3 module
    2 large interactive servos
    1 medium interactive servo motor
    1 touch sensor
    1 color sensor
    1 infrared sensor
    1 infrared beacon

    2.2 Are assembly instructions available in PDF format?

    2.3 How many robots can you build with LEGO MINDSTORMS EV3 (31313)?

    Five models can be assembled at once - assembly instructions along with accompanying programs are contained in the EV3 software. In addition, there are 12 additional fan-made robots available through the EV3 Software Lobby menu or website - all 12 models can be built using parts from the LEGO® MINDSTORMS® EV3 set (31313).

    3.1 Can LEGO® MINDSTORMS® EV3 Home Edition software be used on both Macintosh and PC?

    Yes. The EV3 software can be used on both the Macintosh and PC platforms to program LEGO MINDSTORMS EV3 Bricks.

    3.3 What languages ​​is the LEGO® MINDSTORMS® EV3 Home Edition software available in?

    You can download the EV3 User Software for free from /mindstorms in the following languages:

    • Chinese (Simplified)
    • Danish
    • Dutch
    • English (USA)
    • French
    • German
    • Japanese
    • Korean
    • Russian
    • Spanish (ESSA)

    3.4 Is there a user manual for the EV3 software?

    Yes. User manual available for download at pdf format'from site/mindstorms

    3.5 What languages ​​is the EV3 Software User Guide available in?

    You can download the EV3 User Manual from website/mindstorms in the following languages:

    • Czech
    • Chinese (simplified)
    • Danish
    • Dutch
    • English (USA)
    • Estonian
    • Finnish
    • French
    • German
    • Hungarian
    • Italian
    • Japanese
    • Korean
    • Latvian
    • Lithuanian
    • Norwegian
    • Polish
    • Portuguese
    • Romanian
    • Russian
    • Slovak
    • Spanish (ESSA)
    • Swedish
    • Ukrainian

    3.6 Is it possible to program on the EV3 Brick itself?

    Yes. We continued our work and improved software application module for the LEGO® MINDSTORMS® EV3 module. You can easily program basic tasks on the EV3 Brick. All EV3 Brick programs can be loaded into the LEGO MINDSTORMS EV3 Home Edition software for further advanced programming.

    3.7 Are there tools to create my own programmable blocks for LEGO® MINDSTORMS® EV3 Home Edition software?

    Yes. For most users, this tool is called MyBlocks, and it is already built into the standard EV3 software. A software development kit is provided for people building their own hardware.

    3.8 Can I program the LEGO® MINDSTORMS® EV3 Brick using NXT software?

    No. The NXT software does not have the ability to program the EV3 Brick.

    3.9 Will there be pdf help available showing how to program the EV3 Brick and use the LEGO® MINDSTORMS® EV3 Home Edition software?

    There is a user manual in pdf format which contains brief information about the EV3 Brick Direct Programming Application and how to create a program. To help you get started with programming your EV3, there are two quick start videos in the software section.

    3.10 Is LEGO® MINDSTORMS® EV3 Home Edition software compatible with legacy NXT hardware?

    Yes. You can program the NXT Smart Brick using the new LEGO MINDSTORMS EV3 Home Edition software. The NXT module does not support all software features.

    3.11 Will LEGO® MINDSTORMS® EV3 software work on a tablet?

    Yes and no. Free app EV3 Programmer, which can be downloaded via App Store And Google Play, allows you to program robots using a tablet via Bluetooth. Compared to PC and Mac software, this application much easier to use and does not involve more complex software functions, data blocks and calculations. The EV3 Programmer app is recommended for those new to LEGO MINDSTORMS or for those who want to be able to program their robots even if they don't have a desktop PC or Mac handy. To complete the EV3 software installation, you must install the LEGO MINDSTORMS EV3 software on your PC or Mac. Currently this version software not available for tablets.

    3.12 Besides EV3 Software, what programming platforms can be used to program LEGO® MINDSTORMS® EV3 Bricks?

    Besides EV3 software, you can also use LabVIEW and RobotC. EV3 Software is an open platform and we expect the MINDSTORMS community to embrace additional languages ​​such as JAVA.

    3.13 What new features have been added to the LEGO® MINDSTORMS® EV3 Home Edition software compared to NXT?

    The EV3 software has many new features and improvements over the NXT software. Here are the most notable ones: Home page

    • New design for easy navigation through content, including access to project files for five EV3 robot heroes: TRACK3R, SPIK3R, R3PTAR, GRIPP3R and EV3RSTORM, as well as direct links to 12 bonus fan-made robots.
    Content Editor
    • Content can be edited directly within the software, allowing you to customize existing projects or create new projects from scratch.
    Closer connection between the EV3 Brick and the programming environment
    • The hardware page allows you to monitor their status and values.
    • Hardware items are automatically recognized thanks to automatic identification support.
    • Bluetooth setup is made easy with USB to Bluetooth adapters.
    Debugging tools are now part of the programming environment.
    • Important information about running the program
    • Software blocks will display a warning sign if the detected hardware is different from what is required.
    • Probes allow you to see the passage of numerical values ​​along data buses.
    New features of program blocks’:
    • Simple linear programming by joining blocks (no need to use beam anymore).
    • Block parameters are configured directly on the blocks.
    • Read the programmed sequence directly onto the blocks.
    • Enhanced sequence buses make it easier to display program structure and create parallel execution.
    • “The Wait for change function has been added, which allows you to easily create robots that act depending on the environment and do not wait for a change in the threshold value, realized by comparing measured values.
    • Data buses have been improved and a data casting function has been added to simplify data type conversion.
    • Arrays are integrated into building blocks.
    • Loop interruption is now possible, allowing for advanced state management mechanisms.

    3.14 What is the content editor in EV3 software?

    The content editor allows you to edit, adapt and customize &mdash projects - or create your own new ones from scratch. You can use the content editor to modify your projects by inserting text, images, videos, and audio.

    3.15 Will the content editor support .MOV and .AVI files?

    Content editor supports following formats files except .AVI:
    Image: JPG, PNG
    Video: MP4, ASF, WMV, MOV
    Sound: MP3, WMA

    3.16 How do I update the EV3 software?

    From "Help" to top line In the EV3 Software menu, you can enable the EV3 Software to automatically check for updates. Once you select the Check for Software Updates option, a checkbox will appear and the EV3 Software will check for updates regularly. (This requires an Internet connection.) If there is an update available, the EV3 software will notify you. Once downloaded, you can install the update.

    4.1 What can Bluetooth connectivity be used for in the LEGO® MINDSTORMS® EV3 Brick?

    Bluetooth technology enables communication with EV3 software or communication between EV3 Bricks. For the EV3 Programmer and EV3 Commander applications to work, you must connect the tablet to the robot via Bluetooth.

    4.2 Why use a USB cable to connect the LEGO® MINDSTORMS® EV3 Brick to your computer when Bluetooth connectivity is available?

    USB connection is faster and also on some computers bluetooth module absent.

    4.3 Can LEGO® MINDSTORMS® EV3 Bricks be daisy-chained via Bluetooth?

    4.4 What is the difference between Wi-Fi and Bluetooth?

    Wi-Fi and Bluetooth serve different purposes. Bluetooth is a short-range connection between two devices. Wi-Fi is a wider range network connection, requires a Wi-Fi access point, a router, and consumes more battery power than Bluetooth.

    4.5 What does “made for iPod, iPhone and iPad” mean?

    Bluetooth communication on the EV3 Brick supports the same protocol that iOS devices use - for example, you can communicate with iPod, iPhone and iPad. (The NXT module does not have this feature.)

    5.1 What can Wi-Fi be used for with the LEGO® MINDSTORMS® EV3 Brick?

    The Wi-Fi feature can be used to communicate between the EV3 Brick and the EV3 Software. Wi-Fi adapter must be connected to the EV3 Brick's USB port. (Wi-Fi adapter is not included with the product.)

    Yes. It is recommended to use the EV3 Smart Brick as a Wi-Fi adapter wireless adapter NETGEAR N150 (WNA1100) and EDIMAX EW-7811UN adapter.

    5.3 Why use a USB cable to connect the LEGO® MINDSTORMS® EV3 Brick to your computer when Wi-Fi is available?

    USB connection is faster. The battery will last longer if the Wi-Fi connection is disabled.

    5.4 Can LEGO® MINDSTORMS® EV3 Bricks be daisy-chained via Bluetooth?

    No. When connected via a daisy chain, a USB cable is used to connect EV3 modules.

    5.5 Do I need a router?

    Yes. If you want to use Wi-Fi, you will need a router.

    5.6 Wi-Fi better than Bluetooth?

    Wi-Fi and Bluetooth serve different purposes. Bluetooth is a short-range connection between two devices. Wi-Fi is a wider range network connection and uses more battery power than Bluetooth.

    6.1 What LEGO sensors are there for LEGO® MINDSTORMS® EV3?

    LEGO MINDSTORMS EV3 (31313) includes the following sensors:

    • 1 Touch sensor
    • 1 Color sensor
    • 1 IR sensor
    • 1 IR beacon
    The sensors listed below can be additionally purchased from the online store website:
    • Gyro sensor
    • Ultrasonic sensor, as well as other third party sensors.

    6.2 How are LEGO® MINDSTORMS® EV3 sensors different from NXT sensors?

    LEGO MINDSTORMS EV3 sensors are all-new sensors that feature improved interface, performance, and greater accuracy than NXT sensors.

    • The EV3 color sensor can detect 7 colors (and no color), while the NXT color sensor can only detect 6 colors
    • The EV3 Color Sensor has an indirect light mode that removes background lighting.
    • EV3 sensors can return new values ​​1000 times per second, while NXT sensors only return new values ​​333 times per second.

    6.3 Will LEGO® MINDSTORMS® EV3 sensors work with the NXT Smart Brick?

    No. LEGO MINDSTORMS EV3 sensors are digital and therefore will not work with the NXT Smart Brick.

    6.4 Will new connecting cables be required?

    No. LEGO® MINDSTORMS® EV3 uses the same RJ12 connection cables as LEGO MINDSTORMS NXT.

    6.5 Can LEGO® MINDSTORMS® EV3 sensors be used with NXT sensors?

    Yes. The LEGO MINDSTORMS EV3 Brick uses the same RJ12 connection cables as the LEGO MINDSTORMS NXT Brick.

    6.6 Can NXT sensors be used with the LEGO® MINDSTORMS® EV3 Brick?

    Yes. LEGO MINDSTORMS EV3 uses the same LEGO Technic elements and RJ12 connection cables.

    7.1 What motors are included in the LEGO® MINDSTORMS® EV3 set?

    Two large servomotors and one medium servomotor.

    7.2 How are LEGO® MINDSTORMS® EV3 Interactive Servos different from NXT Interactive Servos?

    The EV3 Large Motor features the same as the NXT, but the interface has been optimized to provide more quick assembly with more possibilities.
    The Medium Interactive Servo Motor is a completely new motor that provides new capabilities.

    7.3 Are LEGO® MINDSTORMS® EV3 servomotors and NXT servomotors interchangeable?

    Technically yes, but the large LEGO MINDSTORMS EV3 motors and NXT servo motors are designed differently. LEGO MINDSTORMS EV3's large motors provide more interesting experience design.

    7.4 Can LEGO® MINDSTORMS® EV3 and NXT motors be used together?

    7.5 Can LEGO® MINDSTORMS® EV3 servo motors be used with the NXT Brick?

    Yes. You can use both large servo motors and a medium servo motor with the NXT module.

    7.6 Can crank motors be used with the LEGO® MINDSTORMS® EV3 Brick?

    No. The connectors do not match.

    7.7 What does “daisy chain connection” mean?

    Daisy chaining is the ability to connect up to four LEGO® MINDSTORMS® EV3 Bricks using a USB cable, giving your robot 16 output ports and 16 input ports, controlled from the main LEGO MINDSTORMS EV3 Brick.

    7.8 What is needed to connect with a cable?

    Multiple LEGO® MINDSTORMS® EV3 Bricks, sensors and motors, plus an additional regular LEGO MINDSTORMS EV3 USB cable.

    What is the most famous designer in the world? Lego of course! What is the most famous platform for teaching robotics? Lego Mindstorms of course! Let's figure out why.

    Lego: from carpenter to toy leader

    Company Lego founded in 1932. Its founder is Danish Ole Kirk Christiansen. Being a carpenter, he first founded a company producing household products, and later also began producing wooden blocks for children. The company was named Lego by combining Danish words leg - play And godt - good.

    In 1947, the Lego company began producing plastic toys and already in 1949 the famous Lego snap bricks appeared.

    Lego's core ideas are modularity and compatibility. Although the bricks have changed design and shape over the 65 years of their existence, they are absolutely compatible with each other. Modern elements can easily be added to elements from 40 years ago.

    Today, Lego's scope of activity is, of course, much broader than the production of toys. The company creates clothes, films, games, and organizes competitions, including robotics. Lego museums and theme amusement parks - Legolands - are open all over the world, which are almost entirely built from Lego bricks.

    From Lego you can build models of cars, planes, ships, buildings, and, of course, robots. Since the end of the last century, Lego has been producing a special robotic construction set, which today has become a leader in educational robotics.

    Lego Mindstorms: Robotics for Everyone

    The idea of ​​adding an electronic programmable unit, sensors and electric motors to standard Lego parts, making programming simple and understandable for children, and developing a special construction kit for creating robots revitalized not only Lego structures, but the entire company. Since 1991, the company has suffered losses for 11 consecutive years. And it was the robotics direction that saved the situation.

    For the first time a robotic constructor Lego Mindstorms was introduced in 1998. In 2006, the second version of the designer was released - NXT, and at the beginning of 2013 appeared EV3(short for Evolution 3).

    From left to right, boxed versions of Lego Minstorms 1998, 2006, 2013

    The heart of the designer is a microcomputer (microcontroller), also known as P-brick, or P-brick (from Programmable brick- programmable brick). Standard Lego parts (beams, gears, axles, wheels) change little with the development of the designer; it is the microcomputer that undergoes the greatest changes.

    The first version of the designer was equipped with a microcomputer RCX, second - NXT, and in the composition modern versionEV3.

    From left to right, Lego microcomputers: RCX (1998), NXT (2006), EV3 (2013)

    With the development of the designer, the manufacturer adheres to a policy of backward compatibility, i.e. parts from older versions can be used in conjunction with the new designer. For example, sensors from the NXT version can be used with EV3. The development of the designer in step with the times is, first of all, the development of the microcomputer and the programming environment. An important difference modern block EV3 is that it runs on the freely available Linux operating system.

    Technical characteristics of the Lego EV3 microcomputer:

    • Processor - ARM9 (ARM7 was used in the NXT 2.0 designer);
    • RAM - 64 megabytes;
    • FLASH memory - 16 megabytes;
    • SD expansion slot;
    • USB 2.0 with Wi-Fi connection support;
    • Bluetooth 2.1;
    • monochrome screen with a resolution of 178×128 pixels;
    • four input ports;
    • four output ports;
    • six-button control interface;
    • high quality integrated speaker;
    • Autonomous power supply from six AA batteries, or using a battery DC EV3 2050 mAh;
    • Linux operating system.

    Video review of the Lego EV3 microcomputer:

    Composition of Lego Mindstorms EV3

    Lego Mindstorms is a set of standard Lego parts, a microcomputer and sensors.

    Lego Mindstorms EV3 components

    The constructor was designed for two target audiences: For home use (children and lovers) and for use in educational institutions(students and teachers). A basic set has been created for each group - accordingly boxed version of Lego EV3 And educational version of Lego EV3.

    Several additional sets are also produced for each group. For example, an add-on resource set is simply a collection of additional standard Lego pieces that enhance the builder's capabilities. There is no clear boundary between the boxed and educational versions - these are the same construction kit with slightly different components.

    Today, this set is being quite actively introduced in Russia into educational robotics for preschoolers and primary schoolchildren.

    Such a constructor allows you to assemble and program many basic models using a computer according to instructions, as well as invent your own. Contains pieces compatible with standard Lego bricks.

    Lego Education WeDo set contents:

    • 158 building elements;
    • USB Lego switch;
    • motor;
    • tilt sensor;
    • distance sensor.

    The switch controls sensors and motors using WeDo software. Through the switch connectors, power is supplied to the motors and data is exchanged between the sensors and the computer.

    Video presentation of the Lego WeDo set:

    Lego Education WeDo is not only a construction set, but also complete methodological support, ready for implementation in educational process. This is a great start to robotics.

    You can find robotics clubs that use Lego WeDo in our.

    LEGO Education WeDo 2.0

    Upd. 4.12.2017: LEGO Education at the beginning of 2016 new version educational robotics kit for children WeDo 2.0 (art. 45300).

    The Lego WeDo 2.0 base set includes new versions of the switch, tilt and motion sensors, and motor. Unfortunately, new constructor not compatible with Lego WeDo motors and sensors previous version, because its microprocessor (SmartHub) has different connection connectors. SmartHub WeDo 2.0 connects to a computer or tablet using the Bluetooth 4.0 protocol.

    Is there an alternative to Lego in educational robotics?

    Today, the Lego platform is the undisputed leader in educational robotics. Robotics clubs in many countries around the world are equipped with Lego Mindstorms sets. Lego Mindstorms also holds leading positions in Russian ones.

    What are the reasons for this leadership? There are several of them.

    Firstly, this is certainly the quality of the platform, its training capabilities, on the one hand, and its design capabilities, on the other. From this construction set you can build not only toy robots, but also prototypes of such serious structures as, for example, etc. Moreover, children can invent and implement all this. And from Mindstorms you can make a robot that !

    Robotic vehicle at WRO-2014 in Kazan

    Are there functional alternatives? In general, yes. This is, for example, Korean, German, domestic TRICK and others. The listed platforms are similar in price to Lego. There are also more expensive designers.

    Secondly, it is a powerful Olympic robotics movement based on Lego. World-class competitions such as and, as well as many regional events and festivals, require the use of Lego in their regulations.

    Manufacturers of alternative Lego construction sets are also promoting competitions based on their platforms, such as youth robotics competitions based entirely on HUNA construction sets. Multi-platform competitions are also gaining popularity. In Russia this is the just announced IKaR.

    Third, Lego Mindstorms continuity. Before it there may be the one described above WeDo, after - TETRIX And MATRIX. The latter two use NXT and EV3 controllers, but offer significant mechanical and design expansion. Considering that modern children are introduced to Lego before the age of one, it seems natural and easier to continue working with it.

    Fourthly, the time factor also plays into Lego’s popularity - it was simply the first in this area and conquered the market. There are established communities in different countries, there are many developments, and there is significant experience in using it in education.

    This section presents various Lego robots. Starting with Mindstorms - a robot for advanced users and even professionals, ending with the characters of legends: Hero Factory, Ninjago, Chima, etc.


    Let's start our story with an unusual Lego toy - an electronic interactive robot based on the NXT 2.0 processor! Even a 10-12 year old child can assemble it with the help of instructions! LEGO Robots mindstorms will appeal not only to children, but also to their parents, as it is very functional and its programming possibilities are truly limitless! You can design your own programmable models!

    Programming the robot is very convenient through the user-friendly interface of the program, which can be installed from disk! If desired, you can select a set of functions using a key combination on the central control unit. Robot has very good functionality, which is achieved through interactive servomotors and special sensors that respond to light, sound, mechanical influences and other external stimuli!

    Mindstorms can move in different directions, play sounds, distinguish colors, solve a Rubik's cube, pick up light objects, guard a room, control a Lego train or car from a distance and much more! In addition to the usual sensors that are supplied in the initial kit, you can purchase various other accessories: various sensors, adapters, motors, batteries and much more, which will significantly expand the capabilities of your Lego robot!

    The instructions, which are on the software disk, offer several initial, easy-to-assemble mindstorms models: Robogator, Colored Ball Sorter, Room Watchman and some others.

    Your child will never be bored, and learning design and programming skills in a playful way is also a very educational activity!

    Another series is Hero Factory. The heroes from the Hero Factory series are very colorful creatures, they are a hybrid of a human and a robot and their name is cyborgs! The robot figures have movable arms and legs, they hold various weapons that help them fight the hordes of mutants who serve the Fire Lord.

    This Hero Factory series is an analogue of Bionicles, so fans of cartoons about robots will happily accept it.

    Among the characters there are both good ones: Stormer, Furno, Breeze and others, and negative heroes: Drilldozer, Jetbug, Vaughn Nebula, who obey the powerful and evil Fire Lord. Try to collect the entire collection of LEGO Robot Hero Factory figures and arrange your own battle for the triumph of goodness and justice!

    The article describes the experience of using the Lego Mindstorms EV3 constructor to create a prototype of a robot with its subsequent software and manual control using Robot Control Meta Language (RCML).

    • Assembling a robot prototype based on Lego Mindstorms EV3
    • Quick installation and configuration of RCML for Windows
    • Software control of the robot based on the EV3 controller
    • Manual control of robot peripherals using a keyboard and gamepad
    Looking ahead a little, I’ll add that to implement control of a Lego robot using a keyboard, you need to create a program containing only 3 lines of program code. More details on how to do this are written under the cut.

    1. To begin with, a robot prototype was created from the Lego Mindstorms EV3 constructor, which will be used for programming and manual piloting.

    Description of the robot prototype

    The robot has a design similar to a car chassis. Two motors mounted on the frame have one common axis of rotation, which is connected to the rear wheels through a gearbox. The gearbox converts torque by increasing the angular velocity of the rear axle. The steering is assembled on the basis of a bevel gear.



    2. The next step is to prepare RCML for working with the Lego Mindstorms EV3 constructor.

    You should download the archives from executable files and library files and .

    The downloaded archives must be extracted to a directory with an arbitrary name, but you should avoid Russian letters in the title.

    Contents of the directory after unpacking the archives into it



    Next, you need to create a configuration file config.ini, which must be located in the same directory. To implement the ability to control the EV3 controller using a keyboard and gamepad, you must connect the lego_ev3, keyboard and gamepad modules.

    Listing configuration file config.ini for RCML

    Module = lego_ev3 module = keyboard module = gamepad


    Next, you need to pair the EV3 controller and adapter.

    Instructions for pairing the EV3 controller and Bluetooth adapter

    The instructions contain an example of pairing a Lego Ev3 controller and a PC running an operating system Windows systems 7.

    1. You need to go to the settings section of the Ev3 controller, then to the “Bluetooth” menu item.

    2. Make sure that the configuration parameters are set correctly. The “Visibility”, “Bluetooth” checkboxes must be checked.

    3. You need to go to “Control Panel”, then “Devices and Printers”, then “ Bluetooth devices».

    4. You must click the “Add device” button. A window will open to select available Bluetooth devices.

    5. Select the “EV3” device and click the “Next” button.

    6. The EV3 Controller displays the “Connect?” dialog box. You need to select the checkbox option and confirm your choice by pressing the center key.

    7. Next, the “PASSKEY” dialog box will be displayed, the numbers “1234” should be indicated in the input line, then you should confirm key phrase to pair devices by pressing the center key on the position with a check mark.

    8. In the device pairing wizard, a form will appear for entering the key for pairing devices. You need to enter the code “1234” and press the “Next” button.

    10. On the PC, you need to return to the “Control Panel”, then “Devices and Printers”, then “Bluetooth Devices”. On the list available devices The device that was paired will be displayed.

    11. Should double click go to the “EV3” connection properties.

    14. The COM port index specified in the properties should be used in the config.ini configuration file of the lego_ev3 module. The example shows the Bluetooth connection properties of a Lego EV3 controller using a standard serial port COM14.


    Further configuration of the module comes down to the fact that it is necessary to write in the configuration file of the lego_ev3 module the address of the COM port through which communication with Lego robot.

    Listing of the config.ini configuration file for the lego_ev3 module

    Connection = COM14 dynamic_connection = 0


    Now you need to configure the keyboard module. The module is located in the control_modules directory, then keyboard. You should create a configuration file config.ini next to the keyboard_module.dll file. Before you create a configuration file, you need to determine what actions should be performed when pressing keys.

    The keyboard module allows you to use keys that have a specific numeric code. You can view the table of virtual key codes.

    As an example, I will use the following keystrokes:

    • The up/down arrows are used to rotate the rear wheel motor forward/backward
    • Left/right arrows turn wheels left/right
    The keyboard module configuration file describes which axes are available to the programmer to interact with the robot in manual control. Thus, in the example there are two control groups - these are the keyboard axes. To add a new axis, you must adhere to the following rules for describing axes.

    Rules for describing axes for the keyboard module

    1. When adding a new axis, it is necessary in the section add a property whose name is the axis name and assign it the value of the keyboard button in HEX format, and a similar record is created for each button, i.e. an axis name can be used multiple times. In general, writing to a section will look like this:

    Axis_name = keyboard_button_value_in_HEX_format
    2. It is necessary to set the maximum and minimum value that can be plotted along this axis. To do this, you need to add a section in the configuration file on a new line config.ini, the same as the axis name, and set the properties upper_value And lower_value, which correspond to the maximum and minimum of the axis, respectively. In general, this section looks like this:

    [axis_name] upper_value = maximum_axis_value lower_value = minimum_axis_value
    3. Next, you need to determine what value the axis will have if you press a button on the keyboard that was previously attached to it. The values ​​are determined by creating a section, the name of which consists of the axis name and the value of the keyboard button in HEX format, separated by an underscore. To set the default (unpressed) and pressed state, use the properties unpressed_value And pressed_value respectively, into which the values ​​are transferred. The general view of the section in this case looks like this:

    [axis-name_keyboard-key-value] pressed_value = axis_value when_key_pressed unpressed_value = axis_value_when_key_pressed
    The spoiler text is copied from the RCML documentation for ease of viewing.


    To implement control of the robot prototype, a configuration file for the keyboard module was created, which includes the go and rotate axes. The go axis is used to set the direction of movement of the robot. When you press the “up arrow” key, the axis will receive a value of 100; when you press the “down arrow” key, the axis will receive a value of -50. The rotate axis is used to set the steering angle of the front wheels. When you press the left arrow key, the axis value will be -5, when you press the right arrow key, the axis value will be 5.

    Listing of the config.ini configuration file for the keyboard module

    ;Required section ;axis_name = key_code (in HEX format) ;go axis receives values ​​from up_arrow go = 0x26 ;go axis receives values ​​from go_down_arrow = 0x28 ;rotate axis receives values ​​from left_arrow rotate = 0x25 ;rotate axis receives values ​​from right_arrow rotate = 0x27 ;Description of the go axis, must always have both keys ;Upper limit of go axis values ​​upper_value = -100 ;Lower limit of go axis values ​​lower_value = 100 ;Description of the rotate axis, must always have both keys;Upper limit of rotate axis values ​​upper_value = - 100 ;Lower limit of axis values ​​rotate lower_value = 100 ;Description of the behavior of the go axis for the *up_arrow* key (0x26) ;When pressing the *up_arrow* key, set the axis value to 50 pressed_value = 100 ;When releasing the *up_arrow* key, set the axis value to 0 unpressed_value = 0 ;Description of the behavior of the go axis for the *down_arrow* key (0x28) ;When pressing the *down_arrow* key, set the axis value to -50 pressed_value = -50 ;When releasing the *down_arrow* key, set the axis value to 0 unpressed_value = 0 ;Description behavior of the rotate axis for the *left_arrow* key (0x25) ;When pressing the *left_arrow* key, set the axis value to -5 pressed_value = -5 ;When releasing the *left_arrow* key, set the axis value to 0 unpressed_value = 0 ;Description of the behavior of the rotate axis for the key *right_arrow* (0x27) ;When pressing the *right_arrow* key, set the axis value to 5 pressed_value = 5 ;When releasing the *right_arrow* key, set the axis value to 0 unpressed_value = 0


    Next, to implement control using a gamepad, you need to configure the gamepad module. Configuring the module involves creating a configuration file config.ini next to gamepad_module.dll, located in the control_modules directory, then gamepad.

    Universal module configuration file for interacting with a gamepad

    ;Required section describing the axes used ;Axis to end manual control mode Exit = 9 ; 11 binary axes corresponding to the gamepad buttons B1 = 1 B2 = 2 B3 = 3 B4 = 4 L1 = 7 L2 = 5 R1 = 8 R2 = 6 start = 10 T1 = 11 T2 = 12 ; 4 axes of sticks; Right stick movement up/down RTUD = 13 ; Right stick movement left/right RTLR = 16 ; Left stick movement up/down LTUD = 15 ; Left stick movement left/right LTLR = 14 ; 2 axes of the cross;Movement of the cross up/down arrowsUD = 17 ;Movement of the cross left/right arrowsLR = 18 ;Description of the behavior of the B1 axis;When pressing the B1 button, set the axis value to 1 upper_value = 1;When releasing the B1 button, set the axis value to 0 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 ;Description of the behavior of the right stick axis up/down movement ;Axis value when moving to the maximum possible upper position upper_value = 0 ;Axis value when moving to the maximum possible lower position lower_value = 65535 upper_value = 0 lower_value = 65535 upper_value = 0 lower_value = 65535 upper_value = 0 lower_value = 65535 ;Description of the behavior of the D-pad axis up/down movement ;Axis value when pressing the up arrow upper_value = 1 ;Axis value when pressing the down arrow lower_value = -1 upper_value = 1 lower_value = -1


    Additional information about the specifics of setting up the gamepad module is displayed in the RCML reference manual.

    3. The next step is to write a program in RCML.

    In the root of the created directory, you need to create a program file. The name of the program file and its extension can be anything, but you should avoid Russian letters in the name. The file name used in the example is hello.rcml.

    For lego_ev3 module program code robot reservation has the following form:

    @tr = robot_lego_ev3;

    The lego_ev3 module connection page describes most of the functions supported by the controller. As a test example, a program was created to automatically enter the robot into a skid.

    The program algorithm is as follows:

    After reserving the first free robot, a connection is established between the two motors for subsequent work with them as if they were one. Then the robot begins to perform drifts. Program description robot actions allows you to accurately set the angles of rotation of the front wheels and the speed of rotation of the rear wheels. Using this technique allows you to achieve results that are difficult to replicate during manual piloting with a keyboard or gamepad.

    Program listing for Lego robot in RCML language

    function main() ( @tr = robot_lego_ev3; //Reserve the robot @tr->setTrackVehicle("B","C",0,0); //Setting motor synchronization @tr->motorMoveTo("D",100, 0,0); system.sleep(500); @tr->trackVehicleForward(-100); system.sleep(1000); @tr->motorMoveTo("D",50,-50,0); (4000); @tr->motorMoveTo("D",50,50,0); system.sleep(4000); @tr->trackVehicleOff();


    To compile the program, you must use the window command line. First, you should move to the created directory with the executable files rcml_compiler.exe and rcml_intepreter.exe. Next you need to enter the following commands.

    Command to compile hello.rcml file:

    Rcml_compiler.exe hello.rcml hello.rcml.pc
    As a result of compilation, in the created directory there will be new file hello.rcml.pc.

    Screenshot of the command line after successful compilation



    Now you need to make sure that the EV3 controller is turned on, paired with Bluetooth adapter. The gamepad must be connected to the PC. After this, you need to execute the command to execute the program file:

    Rcml_intepreter.exe hello.rcml

    Appearance command line during program execution



    A video demonstrating the robot's movement program is located at the bottom of the article.

    4. The next step is to control the robot in manual mode using the keyboard.

    Using the keyboard, you can control any robot motor. The example implements control of the following mechanisms:

    • Front wheel steering angle
    • Direction of rotation of the rear wheels

    Listing of the program for interaction between the keyboard and the Lego robot based on the EV3 controller

    function main() ( @tr = robot_lego_ev3; //Reserve the robot @tr->setTrackVehicle("B","C",0,0); //Setting motor synchronization system.hand_control(@tr,"keyboard", " straight","go", "speedMotorD","rotate"); )


    Next, you need to compile the program and run it. The result of manually controlling a Lego robot using a keyboard is shown in the video at the bottom of the page.

    5. In addition to the keyboard, a gamepad module is available that allows you to manipulate the robot using a gamepad. To implement robot control using a gamepad, it is necessary to describe at the program level which axes of the robot will take the values ​​of the gamepad axes.

    Listing of the program for interaction between the gamepad and the Lego robot

    function main() ( @tr = robot_lego_ev3; //Reserve the robot @tr->setTrackVehicle("B","C",0,0); //Setting motor synchronization system.hand_control(@tr,"gamepad", " straight","RTUD", "speedMotorD","RTLR"); )


    Next, you should repeat the process of compiling the program and then execute it. The following shows the result of manually controlling a Lego robot using a gamepad, and all previously connected methods:

    This article briefly demonstrates just some of the capabilities of RCML. Most detailed description located in the reference manual.

    Tags:

    • lego mindstorms
    • robotics
    • programming
    Add tags

    Robot construction kits are an ideal opportunity to combine play and learning basic programming skills. That is why they are so popular in the world.

    They differ not only in manufacturers, but also in programming methods and capabilities, types of fasteners, and materials.

    Most simplified (for beginners) and robots come with special software that allows you to easily set commands to your creation. In more advanced models, you will first have to learn C-based languages.

    LEGO Mindstorms

    The designer is available in two types:

    • children's;
    • advanced.

    The children's kit contains only a few motors, light bulbs, and instructions with possible assembly options. But with LEGO, instructions are often no longer needed after the first assembly, and imagination comes into play.

    It is worth noting that although programming of these robots is possible, there are no control units in this set, which means that the robot will always be connected to the computer using a USB cable.

    An advanced set opens up much more scope for imagination. It exists in several variants and generations (on at the moment three generations). They differ in the number of parts, the presence of additional microcomputers, as well as various sensors and other devices. Microcomputers in this series are equipped with the Linux operating system. These schemes support not only special programming languages, but also C++, C and even Python.

    To make reprogramming the robot easier, you can use official program from LEGO, which allows you to customize elements using an intuitive interface.

    Lego has been the leader in robot construction for more than ten years. Competitions are organized to create, where the main prize is most often a budget place at a prestigious university.

    LEGO Mindstorms - one of 17 build options

    HUNA

    This is a relatively new brand, originally from south korea, which is gradually gaining popularity in the circles of young cybernetics. There are two types of HUNA kits. Their fundamental difference lies in the fact that, in one case, the parts are made of plastic, and in the other, of metal. But at the same time, they can be combined, since they have a common principle of connecting parts.

    You can learn more about exciting metal construction kits for boys.

    HUNA plastic kits are intended for children aged six years and older, as they do not require knowledge of even the basics of programming.

    The Arduino controller, which already has special firmware, acts as the “brain” of the hardware kits. The programming environment here is the usual C-shaped language for Arduino, but for greater convenience it has been visualized.

    Due to Arduino, as well as more advanced systems, these kits specialize in audiences over fifteen years of age. That is, those who have already outgrown Mindstorms.

    Makeblock

    The next designer on our list is the Chinese Makeblock. As in the previous case, Arduino electronics are used here. The number of sets sold on the official website is simply huge. You can find both cheap sets of regular machines and quite serious sets that allow you to create a 3D printer yourself.

    All Makeblock parts are made of aluminum, onto which paint is applied electrostatically (much like cars). Thus, the likelihood that over time the details will look unsightly tends to zero.

    From interesting models It should be noted those that perform drawings, among them:

    • mScara– a robotic arm on which you can put a laser instead of a marker;
    • mSpider– he draws in vertical planes, moving on strings like a spider;
    • mCar- a machine that draws with a marker where it goes.

    There is also special software for these robots that allows you to create a drawing of any complexity. To do this, just download it to graphic editor programs.

    #Structor

    This construction set is produced in Russia and differs from others in that its parts are made of foamed PVC. Their thickness is five millimeters, which allows you to create small but quite durable structures.

    And the fact that PVC is a soft material makes it possible to solve eternal problem designers - the details are not what you want to see. IN in this case everything can be solved with an ordinary stationery knife or scalpel.

    Advantages of PVC:

    • low cost;
    • ease of processing - you just need to arm yourself with a knife, pencil and ruler;
    • high strength;
    • moisture resistance;
    • fire safety – the ignition temperature of PVC sheet exceeds 400 degrees Celsius.

    Manufacturers offer to solve low structural strength in two ways. The first is to simply glue the parts together. The special glue “Cosmofen” is best suited for such purposes. The second way is to combine #Struktor with a Soviet (or similar) iron constructor.

    #Structor from “Amperka”

    Although the parts will not last long from such treatment, you can always buy a sheet of plastic and cut new ones. Drawings of the parts are freely available, and no one ruled out imagination.

    #Structor elements are controlled using Arduino. And thanks to the versatility of the material from which the design elements are made, any sensor, servo drive or motor can be easily integrated into the design.

    Vex

    The company is known mainly for its vibration robots. But few people know that it also produces kits for creating full-fledged robots. The kits are intended for children aged ten years and older. But thanks to the wide range of products, they can also be used in schools or universities.

    If any element is missing, you can always purchase it separately. The manufacturer's website has a lot of various sensors, motors and other design elements. In addition, by purchasing additional parts, you can increase the complexity of the products.

    Only the sets of the Korean company Vex contain Elon gearboxes or wheels.

    Programming takes place in one of several environments. There are three Wednesdays in total. The first is a screen where, instead of writing commands, blocks are simply dragged and dropped. The second is classic flowcharts, like in computer science lessons. The third environment is very similar to LEGO software - the same drag and drop of blocks with commands and values.

    A notable feature is also the presence of VEX Assembler software. This is a 3D editor in which you can design and test your robot before you start building it in real life.

    VEX Robotics by HEXBUG

    FischerTechnik

    The construction kits are produced by a German company. The ROBOTICS line, which opens up the world of robots for children, has six sets. They all propose to create several robots that perform certain functions. As with all construction kits, the fun begins when all the instructions have already been tried.

    So that there is no shortage of details and electronic components Expansion kits can be purchased separately, remote control and much more.

    The controllers, sold separately, deserve special attention. Although their cost is comparable to the cost of a whole set, the boundaries they open easily outweigh this fact.

    There are two types of controllers on sale:

    • Robo TX;
    • Robo TXT.

    The high price for them is due to the fact that these are not just controllers, but real microcomputers with support for Wi-Fi, Bluetooth and quite powerful hardware for their small size. To improve performance, these controllers can be combined into one network.

    Programming takes place using the free Robo Pro program. All commands are set using logical blocks, which allows you to teach your child the basics of programming in a playful way.

    TRICK

    The designer was “born” in Russia. Its manufacturers decided to help robotics enthusiasts who use Soviet metal construction kits. Therefore, all parts have holes with the same ten millimeters as the iron constructors.
    This construction set is new to the market, but has already proven itself to be universal and very convenient.

    There are currently four types of kits:

    • starting;
    • educational;
    • school;
    • competitive.

    Their difference is in the number of parts and electronics. In all kits you will find a microcontroller, microphone and video camera or sensors, LEDs and wheels.

    The TRIC microcontroller runs on Linux and has an onboard processor with 24 megahertz and as much as 256 MB RAM. It can also be expanded with a Flash card.

    TRIX assembly kit

    Creators of this constructor decided not to tie the controller to one programming environment. Therefore, it supports C, C++, Python and even Java. For those who are just learning programming, there is a special programming environment designed for the TRIC controller.

    Since the controller supports many commands, for ease of control there is an application for smartphones under Android control. Commands are transmitted using Wi-Fi.

    MOSS


    The American company that invented MOSS took an unconventional path - it abandoned wires.
    Instead, cubic-shaped parts are used that have colored edges. Their purpose is as follows:

    1. Green – transfer of electricity from the battery.
    2. Red – data input.
    3. Brown edges – data output.
    4. Blue - these edges transmit both electricity and data. They are needed to connect parts using a flexible element.

    Yes, the design is quite complex, but if you understand it, your imagination in creating robots will be unstoppable. And even an 8-year-old child, for whom the designer is designed, can understand the essence of it. The modules are connected to each other using metal balls attached to magnets. These magnets are located on the corners of the modules.

    Robo Wunderkind by MOSS

    Microcontroller programming can be done using two programs. The first is a visualizer with additional parameters. It is suitable for those who are not very well versed in C code.

    The second program is aimed at those who are well versed in it. It compiles your code and transfers it to the controller. Both of these programs work on Windows and Mac OS, but are not supported on Linux.

    To remotely control the MOSS robot, there are several programs for mobile devices. This includes control panels, exporting data from sensors, drawing graphs and much more. All programs are available for iOS, and some for Android.

    For children preschool age you can choose an assembly kit without an electrical component, for example, .

    It is worth noting that the review did not take into account constructors costing over one hundred thousand rubles, as well as those that require some kind of soldering.

    MECCANO robot controlled by smartphone or tablet

    Video

    This video will tell you in detail about programmable robots: what they are like and which one is better to choose.

    To choose a designer, you need to decide who it is for:

    • LEGO Mindstorms is best for a child who is into robots. And since most children have an extensive LEGO collection, the child's imagination will be truly limitless.
    • If you are looking for a construction set for yourself, then you should pay attention to TRIC or #Struktor, since they are both compatible with the Soviet iron construction set, and the second one is also made of PVC.
    • But, one way or another, these construction toys will greatly improve your child’s logical thinking abilities, and will also prepare him for what will await him at school or college.

    It would not be amiss, before purchasing, to study in detail each assembly kit you like. And also think about sending your child to a radio amateur club if he likes this topic.