How to set up smartphones and PCs. Informational portal
  • home
  • Reviews
  • Programs for programming robots. V-REP - Free Simulator for Programming Robots

Programs for programming robots. V-REP - Free Simulator for Programming Robots

LEGO constructors are familiar to everyone. For several decades, sets of multi-colored plastic parts have become truly iconic: children are happy to assemble castles, cars and spaceships from them, and adults - whole real cities.

Today LEGO not only develops fine motor skills and imagination. The new LEGO Boost set offers literally animate the assembled constructor using a smartphone or tablet.

That is, the assembled cyber-cat will really purr, the robot will talk and ride, and the guitar will give out mad "solyags".

What does it look like? I assembled my robot and now I'll tell you everything.

What is LEGO Boost

Lego Boost is an educational construction set consisting of 847 parts. one of 5 models can be assembled from them:

1. Robot Vernie
2. Frankie the cat
3. Guitar 4000
4. Factory of robots
5. All Terrain Vehicle (M.T.R.4)

The main elements of each model are 3 parts: a main mechanical unit, a color and distance detection sensor and an interactive motor.

The main mechanical block is the "heart" of LEGO Boost, which sets the assembled construction set in motion. It is to it that you can connect your iPhone or iPad in order to program the assembled model to execute various commands and even communicate with the owner.

Two others are connected to the mechanical unit: the color and distance sensor reacts to external stimuli, helping the toy to go around obstacles or follow its own behavior scenario when it sees a certain color, and the interactive engine animates the constructor by rotating the tracks or wheels (depending on what you assemble).

You will need the LEGO Boost Creative Toolbox application [download from the App Store] to program the constructor. You will have to download it without fail, because there are no paper instructions in the box with the designer - all stages of the assembly of each of the 5 models are clearly shown in the application.

You can write a separate review about each model, but I will briefly tell you about the capabilities of each LEGO Boost robot:

1. Robot Vernie. Great conversationalist and friend

Vernie's robot can drive and rotate on its axis, talk, distinguish colors and avoid obstacles. You can assemble a cannon to the robot and shoot at a target.

With the help of additional accessories, the robot can be turned into a dancer, DJ, police officer or hockey player. It will take more than one hour to figure out and try all the possibilities of Vernie.

Verni knows how to express emotions with the help of movable eyebrows: surprise, anger and joy. You just need to see it in order to appreciate how surprisingly accurately the toy manages to be happy or sad with just a few moving parts.

Here is a short video in which Vernie's robot behaves indecently:

The robot cannot move its arms by itself, but it can squeeze small objects in its “fingers” and take them from one point to another.

No, he won't bring pizza. Maybe this will be fixed in the next generation of LEGO Boost :)

2. Frankie's cybercut. Perfect pet without hair and unpleasant odors

A cybercat named Frankie cannot move on its own, but it can stand on its hind legs, move its ears and wag its tail. You can stroke Frankie, and he will respond with a satisfied purr, or you can make him play the harmonica, and the melody depends on the color that you want to show the cybercat.

Frankie also has facial expressions, although he needs to move his eyebrows with his hands. Interactive elements are engaged in the processes of tail wagging and standing on their hind legs described above.

Yes, we're still talking about LEGO.

3. Guitar 4000. Plays like a real one

Guitar 4000 is almost real musical instrument with which you can play music. It is not necessary to clamp the chords, instead it is suggested to move the “slider” along the guitar neck. The motion sensor monitors the position of the "slider" and gives commands to play different sounds.

The second hand is also needed to simulate striking invisible strings using a special lever. There's even a dedicated controller for getting the "tremolo" sound during solo drills.

By the way, this model can play not only guitar sounds, but also any others. So why not use it as a sample machine to feel like a real DJ?

4. Factory of robots. To create your army of Terminators

This is the hardest model of the five, but also the coolest. Once assembled, the factory can assemble small robots from LEGO bricks by itself.

Naturally, the whole process is automatic. It looks mesmerizing, but it can best convey video.

A short guide to creating an army of robots:

I'm sorry I assembled the Vernie robot first. It was necessary to assemble this factory in order to fill up with videos, what a cool LEGO Boost constructor, the entire instagram.

5. Off-road vehicle (M.T.R. 4). Will ride on any carpet

A heavy tracked vehicle with large wheels can easily travel along a given route, avoiding obstacles. Additional accessories can be assembled on the all-terrain vehicle: a cannon, a bucket, a catapult and even construction cones, which the toy will neatly go around.

The distance sensor here acts as an object detector: if an all-terrain vehicle with a bucket drives up to a small "load", the sensor will command the toy to raise the bucket and put the object in the body.

It's best to see how it happens once:

Other accessories work in a similar way together with a motion sensor. If you don't trust the sensors, you can switch to manual control mode: virtual joysticks will appear on the iPhone or iPad screen, with which you can control the movement of the all-terrain vehicle and the operation of the bucket, catapult or cannon.

How do I program a constructor?

The LEGO Boost app is like a game, where each level helps you learn new skills in interacting with the construction set. At the very beginning, you can see all the robots and choose the one you want to collect.

To program a finished robot, you don't even need to be able to read and write: all commands look like multi-colored blocks that you just need to drag onto the timeline in the desired order.

All command blocks are divided by type and color. In some cases, you can set the execution time of a particular command yourself, and some blocks perform random actions, which makes the robot more "lively" and independent.

The LEGO Boost constructor is also capable of perceiving interactive commands: you can wave your hand in front of the robot, say a code word or touch to start a predetermined algorithm. When compiling action algorithms, whole cycles are available, which already brings the control of the toy closer to real programming.

Is it difficult to assemble your robot?

For an adult, assembling any LEGO Boost model will take 2-3 hours. For a child, the whole process will take several days, especially if the child is not yet 10 years old.

This article provides a brief overview of the currently existing constructors for the assembly of programmable robots, their features and differences.

LEGO Education WeDo

Let's start with perhaps the most famous Danish brand LEGO. The company produces two types of construction kits with the ability to program for educational purposes for different ages. For children aged 7 and over, LEGO releases the LEGO Education WeDo series. Here you can buy the PervoRobot starter kit and the resource kit if you didn’t have enough parts. You can also additionally purchase motion and tilt sensors, multiplexers, motors and bulbs. A set of training projects is available separately on CD-ROM.

Software LEGO Education WeDo for programming robots of this line with a set of tasks is purchased separately. The programming here is visual. You simply connect the required action blocks to each other and thus compose the program.


Of course, all the products created with the help of this constructor can hardly be called robots, rather simple mechanisms, but, believe me, children aged 7–8 years old do not need it any more. Please note: for the assembled mechanism to function, it must be connected to the computer via a USB cable.

LEGO Education WeDo 2.0

This is the second version of LEGO Education WeDo, which was first introduced at CES 2016. The construction set is adapted for children from the age of 7 years. This version of the constructor (unlike the first one) allows you to assemble autonomous robots. The finished robot runs on two AAA batteries, and interacts with a PC via Bluetooth.


It can be used to assemble the following models: "Milo (scientific rover)", "Tractor", "Race car", "Earthquake", "Frog", "Flower", "Gateway", "Helicopter" and "Garbage Truck".

The kit includes: Smarthub, medium motor, motion sensor, tilt sensor and 280 different parts. If you are missing any electronic components, you can purchase them separately. An optional rechargeable battery can be purchased to provide longer runtime. Also note that the adapter for charging the battery is sold separately (the adapter is used the same as for the LEGO MINDSTORMS Education EV3 and NXT, see below).

You can also purchase a set of educational materials with which you can implement 17 projects in physics, biology, geography, space exploration and engineering design, the work on which in total will take more than 40 academic hours. There is no microcomputer here as such. Instead, there is a Smarthub, which acts as a link between the PC / tablet and the robot's electronics. That is, all programs you write will run on a PC or tablet. The Smarthub has two ports for connecting sensors and motors, one indicator and only one button - the power button. The electronics and software of the first and second versions of the constructor are incompatible.

Of the advantages, it can also be noted that up to three Smarthubs can be connected to one PC or tablet at the same time. This will allow you to use six ports at once, that is, you can assemble a rather complex device, which may have six motors or six sensors.

The starter kit already includes free basic software, which includes starter projects. Russian language is supported. The software runs on Windows (7, 8.1 and RT), macOS, iPad, Android tablets and interacts with a microcomputer via Bluetooth 4.0. Visual programming, similar to the first version of the constructor. You can download the software. In addition, it is possible to program using Scratch 2. And for those especially interested, there is an open source SDK that allows you to interact with the Smarthub via Bluetooth.

LEGO Mindstorms Education EV3

This robot construction set is suitable for children from 10 years old, although adults use it quite actively. For beginners, you can buy a starter educational kit from which you can assemble a balancing robot, a puppy, a step walker, a color sorter, and much more, whatever your fantasy tells you.

The starter set includes: 541 parts LEGO Technic and two storage trays, an EV3 microcomputer with Wi-Fi and Bluetooth support, a battery, three servos (2 large and one medium), an ultrasonic sensor, a color sensor, a gyro sensor and two touch sensors. This set does not include LEGO Mindstorms EV3 Software and Battery Charger.

I would also like to note that EV3- this is the third version of the constructor. Previous versions were called NXT(second) and RCX(first).

Hidden inside the EV3 microcomputer is an ARM 9 processor operating system Linux. There are 4 input ports and 4 output ports. You have 16 MB of flash memory and 64 MB of RAM at your disposal. For memory expansion, there is a slot for Mini SDHC cards up to 32 GB. The unit has a six-button interface with three colors backlit and black and white display resolution 178x128. The speaker is also located here. To interact with the robot, the microcomputer supports Wi-Fi (there is no built-in Wi-Fi, it is recommended to use the NETGEAR Wi-Fi dongle WNA1100 Wireless-N150 adapter) and Bluetooth (built-in Bluetooth). It is powered by six AA AA batteries or a 2050 mAh lithium battery. The robot will work longer on battery power than on batteries. The battery is charged for 3-4 hours.

If you wish, you can buy an additional resource kit, which includes 853 additional parts LEGO Technic... With this set, you can build an elephant robot, a tank bot, a toy factory and much more.

There is also additional educational set "Space projects"... To use it, you need the starter and resource kits, which are described above. In addition to this set, you can additionally purchase a set of tasks, which includes thematic and training missions, as well as research projects.

In addition to the kits listed here, you can find on sale home version of the LEGO Mindstorms EV3 set... From it you can collect 5 basic robots and 12 bonus models. Unlike the LEGO Mindstorms Education EV3 Starter Set, this set contains a slightly different set of parts and sensors. There is a control panel here, and instead of an ultrasonic sensor, there is an infrared one (which, in addition to changing the distances, receives a signal from the remote control) and there is no gyroscope.

Be careful: there is no battery in the kit, and you will have to use 6 AA batteries or buy a battery separately, which is not cheap. By the way, for the remote control you also need 2 little finger batteries (AAA).


There are fields for robot competitions on sale. Also, you can always separately purchase microcomputers, batteries, IR sensor, IR beacon, ultrasonic and gyroscopic sensors, color, touch, temperature and sound sensors and servomotors. By the way, sensors from old version NXT constructors are fine too.

Each EV3 Microcomputer has four input ports for sensors and four output ports for servos, lights, and more. If that's not enough, you can daisy-chain up to 4 microcomputers using additional USB cables. In this case, the control falls on the shoulders of the main microcomputer, and you get up to 16 input ports and up to 16 output ports.

Robots in this series are programmed using software LEGO Mindstorms EV3... For a home set, the software is downloaded free of charge. For educational kits, the software became free from January 1, 2016. Programming here is visual block, based on the graphical programming language LabVIEW, which allows you to create both simple and super-complex programs. You can create your own blocks using the MyBlocks tool. The maximum program size is 16 blocks, excluding the program start block and cycle. The software runs on Microsoft Windows or Apple Macintosh... Russian language is supported.

LEGO Mindstorms EV3 Educational Software in addition to programming, it allows you to collect statistical data from sensors and write them into the memory of a microcomputer or transmit them in real time via a USB cable, Wi-Fi or Bluetooth. The collected data can be analyzed and charts based on them. To help students and teachers There are multimedia lessons here.

If you are interested in an alternative programming environment, then, in addition to LEGO Mindstorms EV3, you can program using the LabVIEW development environments (requires the LabVIEW LEGO MINDSTORMS add-on module) and RobotC (C programming language, RobotC version 4x supports the EV3 and NXT series). Both programming environments are paid. In RobotC, you can even test the robot with your program in the virtual world (see the figure below). Virtual worlds can be downloaded.


Very advanced inventors can purchase sensors from third-party companies such as HiTechnic and Vernier. For example, you can additionally purchase an infrared sensor for detecting people and animals, a compass, a barometer, a force sensor, an object detection sensor on short distance, angle sensor (measures angles and rate of rotation) and others. Company HiTechnic offers sensors directly adapted for EV3 and NXT, and each sensor can be downloaded with programming blocks for LEGO Mindstorms EV3 Software. Company Vernier offers to purchase an adapter that allows you to use their sensors in the construction set, and additionally gives you a download of a programming block for LEGO Mindstorms EV3 software.

TETRIX


MATRIX


Robotis OLLO

The Korean company Robotis, founded in 1999, offers a designer OLLO for self-assembly of robots. It is sold in sets for different ages. From the set Figure (7+) you can create animal figurines, but there are no motors, no sensors, no controllers. From sets Action (8+) and Starter (8+) it is already possible to create movable non-programmable models. There is a motor here, but there are no sensors or controllers. And here are the sets Explorer (10+), Inventor (10+) and Bug (10+) will already allow the design and programming of robots. Expansion set for Explorer set Inventor Expansion Set which transforms Explorer set in Inventor.

From the set Explorer you can make 12 models, and from the set Inventor- 24 models according to the instructions, but nothing will stop you from constructing your own robot models. Maximum set Inventor contains a controller, two motors, two servomotors, two IR sensors, an IR transceiver, tactile sensors, an LED module. The controller has four ports for connecting drives, two multifunction ports for connecting sensors, drives, and a port for remote control and program download.
From the set Bug you can collect 4 robot beetles, which can be controlled with a controller, they can walk along the lines (cards for creating a route included) and detect objects. There is no USB Downloader LN-101 adapter for connecting to a computer in the kit, but it is needed if you are going to program.


Robots are programmed Robotis OLLO like all other robots of the company, using proprietary software RoboPlus... A C-like language is used for programming. The software includes RoboPlus Task, RoboPlus Manager (hardware setup), RoboPlus Motion (programming complex robot movements), RoboPlus Terminal (terminal), and Dynamixel Wizard (servo setup and calibration).


After writing your program, you need to load it into the controller by connecting it to the computer, and after turning on the robot, your program will start executing. You can download the program, read the instructions. Advanced programmers can write their own own firmware for Robotis OLLO robots on Embedded C.


For robots from Robotis, you can also write programs directly on your smartphone or tablet under Android 2.3 and up using the R + m.Task app.

Robotis bioloid

With this series of the same Korean company Robotis using kits Premium Kityou can collect humanoid robots. Also there are other sets in the series: STEM Standard (10+), STEM Expansion (10+), Beginner.

From the set STEM Standard can be done 16 various robots according to the schemes, and with a set STEM Expansion 9 more models can be made. The set also includes 48 tasks. This set consists in part of the accessories of the series Robotis OLLO, and partly from accessories Robotis bioloid... That is, with this set you can use the sets of both series that you already have. This is the only set compatible with the series OLLO and Bioloid... The set includes a CM-530 microcontroller, a matrix of IR sensors (allow the robot to run along the line), 3 IR sensors (obstacle detection) and an RC-100A control panel.

Kit Beginner allows you to create robots of 14 different designs. The set includes a CM-5 microcontroller, 4 DYNAMIXEL AX-12A servomotors and an AX-S1 sensor module.


With a set Premium Kit you can assemble a humanoid robot in one of three modifications or 26 simple robots. The humanoid robot from this set has a body stabilization system thanks to a biaxial gyroscope, which allows it to deftly stay on its feet while walking.

The set includes a controller CM-530(32-bit ARM Cortex, 6 buttons, microphone, temperature sensor, voltage sensor, 6 input / output OLLO-compatible ports, 5 connectors for servo motors AX / MX Series DYNAMIXEL), 18 servomotors, two-axis gyroscope, 2 IR sensors, control panel RC-100A.


Robot programming series Robotis bioloid carried out in the same way in the software environment RoboPlus.

Hovis Lite

Apart from a humanoid robot, this constructor can be used to assemble about 26 different models of robots and mechanisms. Hovis Lite Is the brainchild of the Korean company DST Robot (until March 2015, the company was called Dongbu Robot). The plastic elements of the construction set can be one of the following colors: green, red, yellow or blue. There is nice bonus- parts can be printed on a 3D printer. The designer page is located, and all the documentation and 3D models.


The set includes a microcontroller ( ATmega128 MCU, sound and light sensors are built into the microcontroller), a distance sensor, an IR remote control and an IR receiver for it. Gyroscope / accelerometer and Bluetooth model need to be purchased separately.

The following software is available for programming: DR-SIM(proprietary free program for editing, testing and recording movements), DR-Visual Logic(proprietary free graphical development environment with the ability to view finished code as a C-like language), Microsoft Robotics Developer Studio, DR-C, Microsoft Visual studio and AVR Studio.

VEX EDR

Series constructors VEX EDR, or simply VEX, produced by the company VEX Robotics... They are intended for ages from 10 years. The series is suitable for both schools, institutes and advanced robot builders. In this series you will find both kits and separately sold parts, objects and competition fields. Programmable kits (with a microcontroller included) are divided into starter kits ( Programming Control Starter Kit and Dual Control Starter Kit) and competition kits ( Classroom and Competition Mechatronics Kit, Classroom and Competition Programming Kit and Classroom and Competition Super Kit). The kits can be viewed on the manufacturer's website. From each set you can assemble a robot on wheels with a claw (see the picture below). You can come up with the rest of the models yourself, relying on your imagination.


In series VEX EDR a very wide range of components. You can always purchase separately sensors for following the line, sensors for detecting obstacles and measuring the distance to obstacles, light sensors, optical sensors for the position of the axes (measuring angular displacement, direction of rotation of the axis, distance traveled, etc.), potentiometers (determining the location and direction when rotation), gyroscopes, touch sensors, motion limiters, accelerometers (acceleration measurement), LED flashlights.

From mechanics, you need to pay attention to the possibility of acquiring gear transmissions (including worm gears), tracks, Omni-wheels, Elon wheels.

Robots of this series can be programmed using RobotC, easyC (C programming using drag and drop blocks), Flowol (programming using block diagrams) or Modkit ( visual programming using blocks). All development environments are paid.


VEX IQ

This series is also produced by the company VEX Robotics and it also allows you to create programmable robots, but is designed for ages from 8 years. In total, there are 3 basic sets in the series ( Starter Kit with Controller, Starter Kit with Sensors, Super kit), expanding sets, objects and fields for competitions, as well as accessories separately. All positions are well described on the manufacturer's website. In sets Starter Kit with Sensors and Super kit includes a color sensor, gyroscope and distance sensor. Remote control is possible in sets Starter Kit with Controller and Super kit... All kits include touch sensors. I would like to note that in the competition sets you will receive, in addition to additional parts, Omni wheels and tracks. Microcontroller VEX IQ equipped with 12 universal ports for connecting sensors and motors.


Robots series programmed VEX IQ using Modkit (visual programming with blocks), and Flowol and RobotC.


There is also a virtual design environment for the design of your robot. VEX Assembler... With this software, you can virtually manufacture and test your design at the design stage. More than 110 construction kit parts have already been loaded into the program VEX IQ, objects for competitions and even an entire robot Clawbot IQ(a robot with a claw). The program is available for free download (fill out the form first and receive a download link by email).


VEX PRO

Under this product line, the company VEX Robotics only offers accessories. There are no kits here. Everything is sold individually or in sets. All components can be viewed.

Technolab

This trademark hides all the same sets from companies Robotis and VEX Robotics, which was written above. Sets (modules) are localized and assembled for those wishing to engage in robotics, depending on the age and degree of preparedness. There are seven modules in total. These are modules of preliminary, initial, basic, basic competitive, professional, research and expert levels. Details about the complete set for all modules are presented on the website LLC "Exam-Technolab"... Robot programming is available in all modules except the pre-level module.


Arduino

Trademark Arduino- these are tools for creating not only robots, but also many different gadgets. For robotics, there are microcontrollers, all kinds of sensors, motors, servomotors, expansion boards, LCD displays, LEDs. But this trademark does not produce body or frame elements for assembling robots. There are also no installation elements here. The only exception is Arduino Robot.

Platform Arduino supported by big amount third party manufacturers, so you can find components for assembling robots. Also can be found on sale and Arduino -compatible microcontrollers and kits for self-assembly of robots based on this platform. All products offered directly from the manufacturer can be viewed .

You can program Arduino microcontrollers using free environment open source Arduino IDE development (see first picture below). Written by Arduino IDE in Java and runs on computers running Windows control, Mac OS X and Linux. The Arduino IDE uses the Processing programming language (a Java-based language). In addition, some Arduino microcontrollers can be programmed using RobotC, Flowol, Minibloq (graphical programming language, free, see the second picture below), Ardublock (graphical programming language, built into the Arduino IDE, there is a translation of the instruction into Russian, free), Physical Etoys (free open source graphical programming language for Windows and Linux, no Russification) and Modkit.

Also for programming some Arduino controllers you can use the Visual Micro plug-in (paid), which is embedded in Microsoft Visual Studio 2008–2013 or Atmel Studio 6.1–6.2.

Constructor

The Amperka store offers its own solution for assembling Arduino-compatible robots - these are panels, rails and mounts for boards, sensors and motors called Constructor... Parts are made by milling from 5 mm thick white foamed PVC sheets. Due to the use of such material, you have the opportunity to paint parts with paints. The strength of the elements is sufficient to create small structures. At the same time, the material is malleable, and you can easily drill holes in parts, screw in screws or change the geometry of parts with a clerical knife.


All elements are easily connected to each other, and if for dynamic structures you do not have enough strength of connections, "Amperka" offers to glue the elements to each other. In addition, for even greater durability, you can use the "spliced" parts. constructor ", because the holes in the panels Constructor are located with the same pitch of 10 mm. Unfortunately, in the softness of the material from which the parts of the designer are created, there is also a small minus - they are short-lived. Over time, the material in the place of attachments is deformed, and the parts are not held tightly.

It should be noted separately that the drawings for the manufacture of parts are publicly available, and you can independently make the elements of the designer.

There are no ready-made construction sets. All items are sold in dies. Each of them may have several large parts or many small ones. All options for dies can be viewed on the store's website. Nylon screws, nuts and stands can be purchased to connect parts. You can learn more about the constructor.

Multiplo

Multiplo Is an Arduino-compatible constructor created by an Argentine company RobotGroup... The constructor is completely open, that is, both software sources and drawings of structural elements are available (parts can be printed on a 3D printer or cut on a CNC laser machine). The main parts are plastic, corners and some other elements are aluminum, screws, nuts, washers and axles are metal. The same company has developed a program for graphical programming Minibloq, which has already been written above (one of the directors of the company, Julian da Silva, is the author of this program). The official page of the designer, and all instructions, drawings and software can be downloaded.

The constructor is represented by sets Starter kit, Building Kit and Monster kit... In the set Starter kit controller DuinoBot, battery compartment (for three AA batteries), two infrared sensors, two motors, a control panel and a signal receiver from it, wires and mechanical parts to build a simple cart. The set contains a screwdriver and keys, so additional tool you don't need it. In the set Building Kit additionally, an ultrasonic sensor, 2 servomotors, 2 light sensors, 2 led light bulbs, as well as additional parts, including those for assembling the claws.

Kit Monster kit the largest. In this set there are as many as two microcontrollers (you can make two robots from one set at once), as well as 4 ordinary motors, 6 sermotors, battery compartments, one ultrasonic sensor, 4 infrared sensor, two sets of remote control (remote control and a sensor for receiving a signal from it), many mechanical parts, including for assembling two claws.

Also in official store there is a set Mechanical Kit containing only mechanical parts, no electronic part. Also available separately for microcontroller DuinoBot with battery compartment, various sensors and mechanical parts. And you can download files for printing the competition fields for free. The Multiplo store is located.

Since the constructor is Arduino-compatible, you can program using similar development tools: Arduino IDE, Minibloq, Ardublock, Physical Etoys and Modkit.

Makeblock

The advantages of this Chinese designer are that it uses Arduino electronics and all parts are made of durable stamped aluminum. Especially interesting here are the beams, along which there is a groove with a threaded perforation, into which you can screw screws at any distance from each other, and the rails.


Beginners here will love modules with color coded unified connectors for easy and intuitive connection of electronic components. That is, for the correct connection, you just need to make sure that the color of the labels matches.

The number of both self-sufficient and resource kits in the store for official website huge. Separately, here you can buy sensors, boards, structural elements, etc. From the thematic sets I would like to highlight the sets for assembly 3D Printer (kit Makeblock Constructor I 3D Printer Kit), plotter (XY-Plotter Robot Kit v2.0), xylophone robot (kit Music robot kit), constructor for assembly robot artist of various modifications, drawing with felt-tip pens or burning with a laser (set mDrawBot with Bluetooth and Laser Kit - Blue) and a robot cart mBot with a large set of sensors, the chassis of which is compatible with LEGO parts and Makeblock(Bluetooth, Bluetooth and Wi-Fi).

Using the set mDrawBot you can assemble one of 4 robot artists:

mScara Is a robotic hand that draws with a pen or felt-tip pen, and with complementary set Laser kit the pen can be replaced with a laser that will burn the drawing, for example, on plywood.

mSpider Is an artist spider that hangs on two strings and paints on vertical surfaces.

mEggBot- a robot drawing on eggs or ping-pong balls.

mCar- a three-wheeled robot car that draws on a sheet of paper on which it drives.

But that's not all. Specifically for the setmDrawBotthe Makeblock company has developed a program with which you can import vector drawing in SVG format, convert BMP to SVG and scale the drawing. Different shades are supported when drawing with a laser.

General purpose construction kits are as follows: Starter Robot Kit(Bleutooth and IR versions) and Ultimate Robot Kit... There are similar kits without electronics.

For remote control of the robot, there is a free application for Android and iOS - Makeblock. Some kits come with remote controls, for example the IR version of the Starter Robot Kit.

Makeblock robots are programmed using a proprietary program mBlock based on editor Scratch 2.0, by using Arduino IDE or ArduBlock... To work in Arduino IDE or ArduBlock, you need to additionally install the library Makeblock... Examples, instructions, drivers and software can be found.

HUNA-MRT

Under the korean brand HUNA-MRT hiding kits for constructing mechanisms and robots. Sets FUN & BOT (MyRobotTime) and KICKY (MRT2)- These are starter kits (ages 6-8) made of plastic parts, and there is no programming here. But in the sets of the series CLASS (MRT3)(for ages 7-11) and TOP(for ages 9-11) there is already a programmable board and it is possible to program robots using a simple graphical programming environment. The difference between the last two series is that in the series CLASS (MRT3) plastic parts, and in series TOP- metal. In all other respects, these are fully compatible sets. Parts from one series can be used in conjunction with parts from other series of this brand. There is also a more advanced set HUNITRONIC(for the age of 12-18 years), which is equipped with an analogue of the microcontroller Arduino UNO and pay Extension IO Shield for connecting sensors. All kits are supplied with a graphical programming environment. You can get more information about constructors on the website LLC "Brain Development"... Official page of the series MRT3 .

RoboRobo

Korean company RoboRobo offers 5 educational kits for building programmable robots. They are so straightforward and numbered: Robo Kit # 1, Robo Kit # 2, Robo Kit # 3, Robo Kit # 4, Robo Kit # 5... They differ in the number of parts, the number of possible modifications of the robots that you can assemble from them according to the instructions, and the complexity. The larger the number, the more details and the more complex. Be sure to note that set 2 contains set 1, set 3 contains set 2, and so on. Therefore, if you already have a set Robo Kit # 1 then you can extend it with the set Robo kit No. 1-2 before recruiting Robo Kit # 2 and thereby save money. There are 4 expansion sets in total: Robo kit No. 1-2, Robo kit No. 2-3, Robo kit No. 3-4 and Robo kit No. 4-5... Official page of the constructor.

In the maximum set you will find an IR sensor, an IR remote control, a sound sensor, and touch sensors.

The robots of this company are programmed using graphical interface in a programme Rogic Program.

More company RoboRobo offers sets for very young children (5-7 years old): Robo Kids No. 1 and Robo Kids No. 2... The second set is additional to the first. From the first set, 16 robots can be assembled, and from the second, 16 more robots. In these sets, the manufacturer offers an interesting approach to controlling robots. Little programmers have at their disposal a set of cards, which are passed through a scanner, which in turn gives commands to the robot.

Fischertechnik

Constructors fischertechnik produced by a German company. Plastic parts of the constructor. Different construction sets are designed for different ages. Kits series JUNIOR (5+) do not have motors or batteries, they are just constructors for kids. With kits series BASIC (7+) and ADVANCED (7+), PROFI (8+) you can assemble various machines and mechanisms, they can already be completed with motors, solar panels, power supplies, etc. But the assembly of robots and their programming begins in the sets of the series ROBOTICS (8+).

In series ROBOTICS six sets: ROBOTICS LT Beginner Set (ROBOTICS LT Starter set)(starter kit for creating 8 automatic devices), ROBOTICS TXT Discovery Set(to create 11 mechanisms and autonomous robots), ROBO TX Automation Robots(to create realistic industrial robots), ROBO TX ElectroPneumatic (ROBO TX ElectroPneumatic)(for the assembly of 4 pneumatic structures), ROBO TX Explorer (ROBO TX Explorer)(to create a crawler robot in six modifications) and ROBO TX Training Lab (ROBO TX Training laboratory)(for the construction of automatic devices and mobile robots). Separately, you can purchase a rechargeable set, a set for remote control, a set of light and sound (for creating light and sound effects), sets with additional motors, a resource set and storage boxes. By combining sets with each other, you can significantly expand the possibilities in creating robots.

Part of the sets of the series ROBOTICS equipped with a controller ROBO TX(except for the starter kit, which is completed with the controller ROBO LT), part - by the controller ROBOTICS TXT... From the sensors in the kits, you can find the following: photo sensor, temperature sensor, color sensor, ultrasonic distance sensor, IR line follow sensor.

Controller characteristics ROBO TX the following: 32-bit processor ARM9, monochrome display with a resolution of 128x64, 8 MB RAM, 2 MB Flash. Controller size - 90x90x15 mm, weight - 90 g. There are 4 outputs for connecting motors, 8 universal inputs, 2 expansion connectors I2C, RS485 for combining with other controllers, 4 inputs and USB for connecting to a computer. There is also built-in Bluetooth here. Optional microcontroller available ROBO TX.

A more advanced controller can be purchased separately ROBOTICS TXT... Here are its specs: Linux OS, dual processors ARM Cortex A8(32bit / 600MHz) + Cortex M3, memory 128 MB DDR3 RAM, 64 MB Flash, slot for Micro cards SD, 2.4 "320 x 240 color touchscreen display, 8 universal inputs, 4 high-speed digital inputs, 4 motor outputs, combined Bluetooth / Wi-Fi module, IR receiver (for receiving a signal from the remote control), USB 2.0 for connecting to a PC, USB Host (USB A for connecting a fischertechnik USB camera or USB whistles), 10 -pin connector for input or output via I2C interface, built-in speaker, built-in clock with its own battery. Controller size - 90x90x25 mm. Controllers can be paired. All the details about the microcontroller.

All kits include programming software ROBO Pro(you will find a light version of this software in the starter kit). The latest software version and Russification can always be downloaded from the manufacturer's website.

Controller ROBOTICS TXT programmed with ROBO Pro, C-Compiler, PC-Library, ... Currently, this robotic platform is represented by only one set.ROBOTICS PRO 1.0from which you can collect 6 models. The set is designed for pupils of the school (7+) and students.

The set includes a microcomputer, software (for private and educational use), wires, 3 motors, 3 LEDs, 2 infrared sensors, 1 touch sensor and miscellaneous parts.

And here is the ERP microcomputer specification:

  • 32-bit ARM microcontroller CORTEX-M2;
  • 256 KB FLASH, 64 KB RAM;
  • USB port 12 Mbit / s;
  • 3 ports for motors and 4 for sensors (LEDs can be connected to any ports);
  • built-in buzzer;
  • powered by 6 AA batteries;
  • built-in Wi-Fi module.

The assembled models can be programmed directly on the unit itself or using software ENGINO ERP... Remote control of robots is possible using the app Engino ERP Remote Control which is available on Google Play and Apple store. All details about the constructor can be found.

TRICK

Cybernetic constructor TRICK- this is a Russian designer, whose metal parts are compatible with the "combined designer" (the same perforation M4 with a pitch of 10 mm).

The TRIK constructor offers several solutions: starter set, educational, school, competitive, training pair. The difference between the kits is in the number of sensors and parts, but each kit has a controller TRICK , video camera and microphone. All kits (except the starter one) are completed with a plastic box with compartments for storing parts. The maximum set contains the following sensors: 2 light sensors, 2 distance sensors, 2 touch sensors. In addition, there are Omni-wheels, LED strips, batteries, a charger.

Technical characteristics of the TRIK controller:

  • operating system: Linux;
  • Central Processing Unit: OMAP-L138 C6-Integra ™ DSP + ARM® SoC, 375 MHz, Texas Instruments;
  • core central processing unit: ARM926EJ-S ™ RISC MPU;
  • RAM: 256 MB, 6 MB FLASH;
  • peripheral processor: MSP430F5510, 24 MHz, Texas Instruments;
  • user interfaces: USB 2.0, WiFi b / g / n, BlueTooth, 2xUART, 2xI2C, Micro-SD, Mic in (stereo), Line out (mono);
  • engine interfaces direct current: 4 ports of 6-12V DC motors, with individual hardware overcurrent protection (up to 2A per motor);
  • peripheral device interfaces: 19 general purpose signal ports (6 single-channel and 13 dual-channel) with 3.3-5V power supply, 6 of them can operate in analog input mode;
  • video sensor interfaces: 2 BT.656 VGA 640 * 480 inputs, support for stereo mode;
  • built-in color touch LCD monitor 2.4 "TFT with a resolution of 320x240 pixels;
  • built-in speaker with nominal power 1 W, peak 3 W;
  • 2-color, software-controlled LED indicator;
  • expansion slots: two 26-pin "slot" connectors for expansion modules;
  • additional equipment (included in the controller): 3-axis accelerometer, 3-axis gyroscope, audio codec, amplifier, converters and power management circuits, input protection circuits against overvoltage and current;
  • power supply 6-12V DC, external network adapter or LiPo battery RC 3P (11.1V) / 2P (7.4V).

Programming is possible in C, C ++ / Qt, J avaScript, C # / F # (.NET), Python and Java. There is also its own development environment - TRIK Studio which works on Windows and Linux. An application has been developed for remote control TRIK gamepad for Android. The connection to the controller is via Wi-Fi. Details about the constructor on the official website .

MOSS

Constructor MOSS created by an American company Modular robotics, Is the most unusual constructor listed here. There are no wires here, nor the usual ways of connecting parts. The whole constructor consists of cubic modules with faces different colors and various connecting elements such as brackets and corners. All of them are attached to each other using balls-magnets, which allow you to create rigid or hinged joints.

Different colors of the edges of the modules are made not only for beauty, they also indicate characteristics. Green lines conduct electricity. The battery module has all green edges and the main purpose of this module is to supply energy to all other modules. For example, to power a module with a motor, you must connect one of its green edges to the green edge of the battery. The red and brown edges mark the data: red - data output, brown - data input. For example, if you want the distance sensor to control the speed of the motor, you need to connect the red edge of the distance sensor module to the brown edge of the motor module. The blue edges are transmitting, through which energy and / or data is transmitted. For example, if you need to power a module that is at a distance from the battery, you can use the blue edges of the flexible module or some simple modules.

Robo wunderkind

Here's another LEGO-compatible cube construction set. Constructor Robo wunderkind the same as the constructor MOSS, consists of modules in the form of a cube, with the exception of the microcontroller, which consists, as it were, of double cubes (in the photo, the microcontroller orange). The modules are connected to each other wirelessly using special connectors.

Now on service Kickstarter you can pre-order the following kits: starter (STARTER KIT), extended ( ADVANCED KIT) and professional (PROFESSIONAL KIT) ... The first deliveries will begin in July 2016. The sets are designed for children from 5 years old and adults.In the starter kitthere is a system module (microcontroller), a module with a distance sensor (red), a Bluetooth module ( blue), battery module ( Green colour), servomotor module ( yellow color), empty module, 2 motor modules ( of blue color), 2 wheels, 7 connectors, 2 LEGO adapters (for attaching standard LEGO pieces, such as the little people, as shown in the picture) and one passive wheel.In an extended set2 more empty modules are added, a module with an LED display, a module with a light sensor, a module with a weather sensor, 6 more connecting elements and 2 more LEGO adapters.Professional kit, in comparison with the extended one, one more battery module is added, one more servo-motor module, 3 more empty modules, a module with an infrared sensor, a module with a laser pointer, a module with a screen based on electronic ink, camera module, accelerometer module, 9 more connectors, 4 more LEGO adapters, and another passive wheel.

And here are the characteristics of the designer: Allwinner A13 SoC, operational RAM memory 256 MB DDR3, Storage eMMC Flash Memory 4 GB, WiFi 802.11 b / g / n, Bluetooth 2.1 / 3.0 / 4.0. The system module has a built-in microphone and speaker.

The finished robot can be programmed using a dedicated application available for iOS and Android. The developers plan to create an application for Windows, though only by September 2016. The programming here is graphical. In addition, Scratch is supported. Also, the creators of the constructor provide an API for developing, as they write, in any programming language.

(based on materials from the site http://www.proghouse.ru/article-box/26-robots)

Responsible for information: Methodist of the State Medical Center DogM Evgeniy Aleksandrovich Soluyanov.

Industrial robots programming in SprutCAM

Nikolay Konov,
Director of KROKK, d.o.o., Slovenia, Ljubljana (www.krokk.si)

Industrial robots in modern industry

World Robot Market

The use of industrial robots all over the world is increasing every year. By 2018, more than 1.3 million robots will be operational worldwide. The average density of use of robots in production, according to 2014, is 66 units per 10 thousand employees. In 21 countries this indicator is higher than the average (Fig. 1).

These include most of the industrialized fears of Europe, the United States, Canada and the Asian region (South Korea, Japan, Taiwan). Slovenia is not the last in this list, and with an indicator of 100 robots per 10 thousand people, it occupies a leading position in the automation of production. Robots are most widely used in the automotive industry, where there is a higher density of production robotization (Fig. 2).

Applications of robots

The most common area of ​​application for robots is performing repetitive operations on production lines, such as welding, moving parts, painting, assembling, etc. As a rule, robots on such lines operate in a cyclical program and perform the same operations, replacing routine human labor. This allows you to automate the production process as much as possible, reduce the human error factor and maximize productivity. But for modern robots simple handling operations are not the limit of their capabilities.

The robot, thanks to the presence of six degrees of freedom, can also make complex multi-axis movements along the required path, thus performing any processing that was previously only possible on specialized machines. This is becoming real primarily due to the long-term evolution of industrial robots and controllers. Industrial robots have become more precise and rigid - positioning of the robot is possible with an accuracy of a few hundredths of a millimeter. Robot controllers are also more advanced than steel - they allow you to control several robots at the same time, as well as interpolate the movements of the robot with additional linear and rotary axes. All this created the prerequisites for the use of robots in those industries where until now it was possible to use only specialized CNC machines.

The capabilities of industrial robots in material handling

The trend of using industrial robots for different types material handling is gaining popularity in the global industry. And there is an explanation for this: robots have a number of advantages over classical CNC machines, such as: six degrees of freedom; large processing area; using the same robot to grip the workpiece; more low cost; the use of additional axes for positioning the part.

Let us analyze these advantages and consider specific examples and areas of application of an industrial robot for processing materials. Of course, not all types of processing can be replaced with the help of robots, since there are limitations in accuracy and rigidity. Below we will consider examples of the use of robots in those areas where it is economically feasible and satisfies the required quality of the final products.

Affordable five-axis machining

CNC machines that can machine a part in five degrees of freedom are certainly more expensive than simple three-axis machines. And if such a machine is intended for processing large-sized parts, then its cost increases exponentially.

All industrial robots, as well as five-axis machines, initially have the ability to position the tool, but the cost of such a solution is sometimes several times less than a similar machine tool. As a result, sophisticated 5-axis machining of low-precision products becomes available even for small businesses. A striking example of this is the artistic processing of stone (Fig. 3).

Artistic processing of materials - not only stone, but also wood, plaster, plastic, etc. - is one of the most suitable areas for the use of robots. It does not require high accuracy, while, as a rule, workpieces are quite impressive in size and always have a surface of a complex shape. The use of a robot allows processing of any complexity and completely in multi-axis mode.

Large processing area

Very often the product to be processed requires large areas of movement from the equipment. Examples are boat hulls, trailer chassis, prototyping of large-sized products, preparation of molds for casting, etc. Processing such products requires specialized machines with large movement zones, the cost of which is commensurate with their size.

However, the robot can be placed on a movable platform, the length of which can be almost any. Modern controllers of industrial robots allow interpolation of robot movements and additionally up to three linear axes of movement of the robot itself. This makes it possible to use an industrial robot in an almost unlimited space. An example is a robotic cell for processing the hull of a boat (Fig. 4).

Machining the boat hull requires not only complex tool orientation, but also a large movement area. The use of a robot mounted on a mobile portal makes it easy to handle the entire hull of the boat. At the same time, the movements of the robot along the portal are fully synchronized with the movements of the joints and allow the instrument to move along the entire body, maintaining the correct orientation.

Multipurpose use of the robot

An industrial robot can, in the same technological process, be used both to grip the workpiece and to move it through the tool. The so-called “workpiece for tool” scheme allows realizing the whole technological chain of product processing, as well as moving the product to the required place for further operations on just one robot (Fig. 5).

After the chair seat has been formed in the injection molding machine, it is necessary to trim, grind the edges and polish the chair seat. All of these operations are performed sequentially with the robot gripping the seat while the tools are in fixed positions.

Additional degrees of freedom

Modern robot controllers can control not only additional linear movements of the robot itself, but also additional axes of rotation of the desktop with a workpiece attached to it. This solution gives an additional degree of freedom to the workpiece and allows a more compact robot to handle the workpiece from all sides. Naturally, the control of the additional axes is fully synchronized with the movements of the joints of the robot (Fig. 6).

For welding the tank from all sides, an additional rotary axis is used, which is controlled synchronously with the axes of the robot and allows you to perform the operation from all sides at once.

Thus, modern industrial robots can be used for many processing operations where it was previously impossible to imagine: milling (metal, stone, wood, rubber, plastic, etc.), grinding, polishing, trimming, deburring, cutting (plasma, water, laser). Such solutions are used in many industries and are available even for small businesses, which allows them to develop even with small investments.

SprutCAM for programming robots

Standard Programming Capabilities

All of the above examples require the programming of complex tool movements and, as a result, the robot axes. In the classic programming of robots, the movement is specified sequentially - from point to point. This approach is very difficult to apply for complex toolpaths that also involve tool orientation. Such programming will also require a lot of time, during which the robot will actually be busy and will not be involved in production process... Many manufacturers provide the ability to create programs for the robot in G-code or in a similar format, when the programmer takes into account only the coordinates of the center point of the tool and creates a program in ordinary Cartesian space, and the position of the actual axes of the robot is recalculated by the controller. In this case, an analogy can be drawn with CNC machines that have similar capabilities.

It is possible to program simple movements in this way, but when it comes to complex shaping or the use of additional axes, then completing a task in a reasonable period of time becomes problematic, while writing such a program by hand is a rather difficult task, and sometimes almost impossible.

Using the CAM system for programming

A logical way out of this situation, following the analogy with classical machine tools, in which CAM systems are used to create programs for processing complex shapes, is the use of CAM for programming the robot. Indeed, creating a tool path is no different from creating one for a machine tool. The only difference is that, subsequently, the tool movements must be converted into the movements of the robot's axes and additional axes. Not every CAM system has this capability.

In addition, the CAM system must understand the kinematics of the robot and take into account all its possibilities for positioning the tool, avoid singularities and collisions.

The SPRUT-Technology company has been developing SprutCAM software for over 20 years. One of the options for this product is the ability to create programs for industrial robots based on a downloadable 3D model of the product.

Using a variety of machining strategies, the programmer can define the required tool paths. SprutCAM, based on the real kinematics of the robot, will calculate the position and orientation of the tool at each point, calculate the coordinates of each of the axes of the robot. Detailed simulation will allow you to fully simulate the real behavior of the robot, avoid collisions and see the processing result. Optimization tools for the position of the joints of the robot make it possible to best determine the optimal coordinates of the axes for each point.

SprutCAM functions

Processing strategies

As a multifunctional CAM system, SprutCAM contains a large number of strategies for all types of machining: milling (roughing, finishing, multi-axis operations); cutting; welding (fig. 7).

In addition, SprutCAM has unique additive and knife-cut strategies. All of these strategies can be used when programming a robot.

Support

SprutCAM has already implemented support for most well-known robot manufacturers: kinematic models are known and post-processors are ready. Interaction with robots from leading manufacturers has already been completed and fully debugged for the user (Fig. 8). Implementation of a product for a specific task takes a minimum amount of time.

Benefits of using SprutCAM for programming robots

  • Offline programming of robots increases payload;
  • much more quick creation programs than point-to-point;
  • easy programming robots with additional axes;
  • automatic optimization and search for trouble-free movements;
  • realistic simulation and verification of programs;
  • ready-made post-processors for generating programs in the controller language;
  • creating programs is as easy as programming CNC machines.

Make a robot very simple Let's see what is required to create a robot at home in order to understand the basics of robotics.

Surely, after watching movies about robots, you more than once wanted to build your comrade in arms, but you did not know where to start. Of course, you will not be able to build a two-legged terminator, but we do not strive for this either. Anyone who knows how to properly hold a soldering iron in their hands can assemble a simple robot and this does not require deep knowledge, although they will not interfere. Amateur robotics is not much different from circuitry, only much more interesting, because areas such as mechanics and programming are also affected here. All components are readily available and not that expensive. So progress does not stand still, and we will use it to our advantage.

Introduction

So. What is a robot? In most cases it is automatic device that reacts to any action environment... Robots can be controlled by humans or perform pre-programmed actions. Typically, a robot is equipped with a variety of sensors (distance, angle of rotation, acceleration), video cameras, manipulators. The electronic part of the robot consists of a microcontroller (MC) - a microcircuit that contains a processor, a clock generator, various peripherals, random access and permanent memory. There is in the world great amount a variety of microcontrollers for different areas of application and on their basis you can assemble powerful robots. For amateur buildings, AVR microcontrollers are widely used. They are, today, the most accessible and on the Internet you can find many examples based on these MK. To work with microcontrollers, you need to be able to program in assembly or C and have initial knowledge in digital and analog electronics. We will use C in our project. Programming for MK is not much different from programming on a computer, the syntax of the language is the same, most of the functions are practically the same, and the new ones are quite easy to learn and convenient to use.

What we need

To begin with, our robot will be able to simply go around obstacles, that is, repeat the normal behavior of most animals in nature. All that we need to build such a robot can be found in radio stores. We will decide how our robot will move. The most successful, I think, are the tracks that are used in tanks, this is the most convenient solution, because the tracks have a greater cross-country ability than the wheels of the car and are more convenient to control (to turn, it is enough to rotate the tracks in different directions). Therefore, you will need any toy tank with tracks that rotate independently of each other, you can buy this at any toy store at a reasonable price. From this tank you only need a platform with tracks and motors with gearboxes, the rest you can safely unscrew and throw away. We also need a microcontroller, my choice fell on the ATmega16 - it has enough ports for connecting sensors and peripherals, and in general it is quite convenient. You also need to buy some radio components, a soldering iron, a multimeter.

Making a board with MK

In our case, the microcontroller will perform the functions of the brain, but we will not start with it, but with the power supply of the robot's brain. Proper nutrition is the key to health, so we will start with how to properly feed our robot, because this is usually the mistake novice robot builders make. And in order for our robot to work normally, you need to use a voltage stabilizer. I prefer the L7805 microcircuit - it is designed to provide a stable voltage of 5V at the output, which is what our microcontroller needs. But due to the fact that the voltage drop on this microcircuit is about 2.5V, at least 7.5V must be supplied to it. Together with this stabilizer, electrolytic capacitors are used to smooth out voltage ripples and a diode must be included in the circuit to protect against polarity reversal.

Now we can tackle our microcontroller. The case for MK is DIP (it is more convenient to solder this way) and has forty pins. On board there is an ADC, PWM, USART and much more that we will not use for now. Let's consider several important nodes. The RESET pin (9th leg of the MK) is pulled by the resistor R1 to the "plus" of the power supply - this must be done! Otherwise, your MK may be unintentionally reset or, in other words, buggy. Also a desirable measure, but not mandatory, is the RESET connection via ceramic capacitor C1 to ground. In the diagram, you can also see an electrolyte of 1000 uF, it saves from voltage dips when the motors are running, which will also have a beneficial effect on the operation of the microcontroller. Quartz crystal X1 and capacitors C2, C3 should be placed as close as possible to the XTAL1 and XTAL2 pins.

I will not talk about how to flash an MK, since you can read about it on the Internet. We will write the program in C; I chose CodeVisionAVR as the programming environment. This is a pretty convenient environment and useful for beginners, because it has a built-in wizard for creating a code.

Motor control

An equally important component in our robot is the motor driver, which makes it easier for us to control it. Never and under no circumstances should you connect motors directly to the MK! Generally powerful loads cannot be controlled from the microcontroller directly, otherwise it will burn out. Use key transistors. For our case, there is a special microcircuit - L293D. In such simple projects, always try to use this particular microcircuit with the "D" index, since it has built-in diodes for overload protection. This microcircuit is very easy to operate and can be easily obtained from radio stores. It is available in two DIP and SOIC packages. We will use a DIP package because of the ease of board mounting. L293D has separate power supply for motors and logic. Therefore, we will power the microcircuit itself from the stabilizer (VSS input), and the motors directly from the batteries (VS input). The L293D can withstand a load of 600 mA per channel, and it has two of these channels, that is, two motors can be connected to one microcircuit. But, to play it safe, we will combine the channels, and then we need one micron for each engine. It follows that the L293D will be able to withstand 1.2 A. To achieve this, you need to combine the legs of the micra, as shown in the diagram. The microcircuit works as follows: when a logical "0" is applied to IN1 and IN2, and a logical unit to IN3 and IN4, the motor rotates in one direction, and if the signals are inverted, a logical zero is applied, then the motor will start to rotate in the other direction. The EN1 and EN2 pins are responsible for turning on each channel. We connect them and connect them to the "plus" of the power supply from the stabilizer. Since the microcircuit heats up during operation, and the installation of radiators is problematic for this type of case, the heat dissipation is provided by the GND feet - it is better to solder them on a wide contact area. That's all you need to know about engine drivers for the first time.

Obstacle Sensors

So that our robot can navigate and not crash into everything, we will install two infrared sensors on it. The simplest sensor consists of an IR diode, which emits in the infrared spectrum, and a phototransistor, which will receive the signal from the IR diode. The principle is this: when there is no obstacle in front of the sensor, the IR rays do not hit the phototransistor and it does not open. If there is an obstacle in front of the sensor, then the rays from it are reflected and fall on the transistor - it opens and current begins to flow. The disadvantage of such sensors is that they can react differently to different surfaces and are not protected from interference - the sensor may accidentally be triggered from extraneous signals from other devices. Modulation of the signal can protect from interference, but for now we will not bother with this. For a start, that's enough.


Robot firmware

To revive the robot, you need to write a firmware for it, that is, a program that would take readings from sensors and control the motors. My program is the most simple, it does not contain complex structures and will be clear to everyone. The next two lines include header files for our microcontroller and commands for forming delays:

#include
#include

The following lines are conditional because the PORTC values ​​depend on how you connected the motor driver to your microcontroller:

PORTC.0 = 1; PORTC.1 = 0; PORTC.2 = 1; PORTC.3 = 0; The value 0xFF means that the output will be log. "1", and 0x00 - log. "0". With the following construction, we check if there is an obstacle in front of the robot and on which side it is: if (! (PINB & (1<

If light from an IR diode hits the phototransistor, then a log is set on the leg of the microcontroller. "0" and the robot starts moving backwards to drive away from the obstacle, then turns around so as not to collide with the obstacle again and then goes forward again. Since we have two sensors, we check for the presence of an obstacle two times - on the right and on the left, and therefore we can find out from which side the obstacle is. The command "delay_ms (1000)" indicates that it will take one second before the next command is executed.

Conclusion

I've covered most of the aspects that will help you build your first robot. But robotics doesn't end there. If you build this robot, then you will have a lot of opportunities for its expansion. You can improve the algorithm of the robot, such as what to do if the obstacle is not from some side, but directly in front of the robot. It also does not hurt to install an encoder - a simple device that will help you accurately position and know the location of your robot in space. For clarity, it is possible to install a color or monochrome display that can show useful information - battery charge level, distance to an obstacle, various debugging information. Improving the sensors will not hurt either - installing TSOP (these are IR receivers that perceive a signal only of a certain frequency) instead of conventional phototransistors. In addition to infrared sensors, there are ultrasonic ones, they are more expensive, and they are also not without drawbacks, but recently they are gaining popularity among robotics engineers. In order for the robot to be able to respond to sound, it would be nice to install amplified microphones. But the really interesting thing, I think, is the installation of the camera and the programming on the basis of machine vision. There is a set of special OpenCV libraries with which you can program face recognition, movement by colored beacons and a lot of other interesting things. It all depends only on your imagination and skills.

List of components:

    ATmega16 in DIP-40 package>

    L7805 in TO-220 package

    L293D in DIP-16 package х2 pcs.

    0.25 W resistors with nominal values: 10 kOhm x1 pcs., 220 Ohm x4 pcs.

    ceramic capacitors: 0.1 μF, 1 μF, 22 pF

    electrolytic capacitors: 1000 uF x 16 V, 220 uF x 16V x 2 pcs.

    diode 1N4001 or 1N4004

    crystal resonator at 16 MHz

    IR diodes: any two will do.

    phototransistors, also any, but reacting only to the wavelength of infrared rays

Firmware code:

/ *********************************************** **** Firmware for the robot MK type: ATmega16 Clock frequency: 16.000000 MHz If you have a different quartz frequency, you need to specify this in the environment settings: Project -> Configure -> Tab "C Compiler" ****** ********************************************** / #include #include void main (void) (// Set up ports for input // Through these ports we receive signals from sensors DDRB = 0x00; // Turn on pull-up resistors PORTB = 0xFF; // Set up ports for output // Through these ports we control DDRC motors = 0xFF; // The main loop of the program. Here we read the values ​​from the sensors // and control the motors while (1) (// Going forward PORTC.0 = 1; PORTC.1 = 0; PORTC.2 = 1; PORTC.3 = 0; if (! (PINB & (1<About my robot

At the moment, my robot is almost complete.


It has a wireless camera, a distance sensor (both the camera and this sensor are installed on the rotating tower), an obstacle sensor, an encoder, a receiver for signals from the remote control and an RS-232 interface for connecting to a computer. It works in two modes: autonomous and manual (receives control signals from the remote control), the camera can also be turned on / off remotely or by the robot itself to save battery power. I am writing a firmware for apartment security (image transfer to a computer, motion detection, detour of the room).

Top related articles