
diff --git a/docs/en/assemble_4_2_ws.md b/docs/en/assemble_4_2_ws.md
new file mode 100644
index 00000000..7eb43e5f
--- /dev/null
+++ b/docs/en/assemble_4_2_ws.md
@@ -0,0 +1,352 @@
+# Clover 4 assembly
+
+## Fasteners size
+
+> **Hint** During assembly, screws and racks of various sizes are used, using fasteners of the wrong size can damage the copter.
+
+
+
+  |
+ Screw M3x10 |
+  |
+ Aluminium rack 40mm |
+
+
+  |
+ Screw M3x8 |
+  |
+ Aluminium rack 15mm |
+
+
+  |
+ Screw M3x5 |
+  |
+ Nylon rack 40mm |
+
+
+  |
+ Screw M2x5 |
+  |
+ Nylon rack 30mm |
+
+
+  |
+ Nut M3 (self-locking) |
+  |
+ Nylon rack 20mm |
+
+
+  |
+ Nut M3 (nylon) |
+  |
+ Nylon rack 15mm |
+
+
+  |
+ Damper rack |
+  |
+ Nylon rack 6mm |
+
+
+
+## Frame Assembly
+
+1. Align the 4 beams with the center deck, fix them with the M3x8 screws and self-locking nuts.
+
+
+

+

+
+
+2. Install 2 15mm posts on the center holes in the main deck and fix them with the M3x8 screws.
+
+

+
+3. Install the stiffener hook into the groove in the beam.
+
+

+
+4. Hold the stiffeners tight to the main deck.
+
+

+
+5. Tighten the stiffeners with a small carbon deck.
+
+

+
+6. Install 4 6mm nylon posts and fix them with the M3x5 screws.
+
+

+
+## Installing of motors
+
+1. When installing motors, pay attention to the rotation scheme of the motors. The rotation mark on the motors must match the rotation scheme.
+
+

+
+2. Mount the motor on the corresponding holes in the beam using **M3x5 screws**.
+
+
+

+

+
+
+> **Caution** Make sure that the motors are secured with M3x5 screws, otherwise a short circuit between the windings may occur.
+
+## Installing ESC and PDB
+
+1. Install the Power Distribution Board (PDB) on the pre-mounted stands, it must be installed with the power cable pointing towards the rear of the aircraft.
+
+
+

+

+
+
+2. Install the speed controllers (ESC) to the appropriate positions on the beam.
+
+
+

+

+
+
+3. Tighten the speed controllers (ESC) with cable ties.
+
+

+
+4. Measure out the required amount of ESC power wire, and cut off the excess.
+
+5. Strip and tin the cut wires
+
+6. Tin the contact pads on the power distribution board.
+
+7. Solder the ESC power wires to the power distribution board.
+
+
+

+

+
+
+ > **Caution** Be careful with the pin signatures on the board. The red wire should go to the site with the signature *+*, and the black one to the signature *-*.
+
+8. Cut off the excess phase cable coming from the motors.
+
+9. Strip and tin the phase cables.
+
+10. Tin the contact pads of the governors.
+
+11. Solder the phase cables to the contact pads of the regulators in any order.
+
+
+

+

+
+
+12. Solder 3 female JST connectors to *5V* pads and *bat+* pad
+
+
+

+

+
+
+## Installing the flight controller
+
+The *Clover 4* set allows you to install various flight controllers, for example *COEX Pix* and *Pixracer*.
+
+> **Caution** When installing the flight controller, pay attention to the arrow located on the board, when installing it must be directed towards the nose of the aircraft.
+
+### COEX Pix
+
+> **Hint** Before installing the damper struts, screw in 2 layers of nylon nuts for a stronger hold or bite off excess threads with side cutters.
+
+1. Secure the power distribution board with nylon nuts and mount the damper posts on top.
+
+2. Install the flight controller and secure with nylon nuts.
+
+

+
+3. Insert the flash card for logging into the flight controller.
+
+

+
+### Pixracer
+
+1. Secure the power distribution board with 6mm nylon struts.
+
+2. Install the small mounting deck and secure with nylon nuts.
+
+

+
+3. Glue 3-4 layers of double-sided tape, glue it in the center of the small deck and place the *Pixracer* on top.
+
+

+
+4. Insert the MicroSD card into the flight controller.
+
+

+
+## Connecting a flight controller
+
+1. Connect the ESCs to the flight controller according to the scheme.
+
+

+
+2. Connect the power cable to the power distribution board (PDB) and the corresponding connector on the flight controller.
+
+
+

+

+
+
+3. Install the 40mm aluminum posts onto the M3x12 screws.
+
+
+

+

+
+
+## Installing Raspberry Pi
+
+1. Place the 20 mm and 40 mm posts on the mounting deck, fix them with M3x8 screws.
+
+

+
+2. Use an M3x12 bolt to cut M3 carving in the Raspberry Pi mounting holes.
+
+3. Screw the 6mm racks into the Raspberry Pi board, secure them with nylon nuts if necessary.
+
+
+

+

+
+
+4. Mount the Raspberry Pi onto the mounting deck using M3x6 screws.
+
+

+
+5. Install the assembled module into the corresponding slots on the main deck of the drone.
+
+

+
+6. Plug the 5V JST into the corresponding power pins on the Raspberry Pi.
+
+

+
+7. Take 4 Dupont wires, cut 5β7 cm of cable and solder to the corresponding pins of the rangefinder.
+
+
+

+

+
+
+ | Wire | Rangefinder pin |
+ |------|-----------------|
+ |
Red | 5v |
+ |
Black | GND |
+ |
Yellow | SDA |
+ |
Green | SCL |
+
+
+

+

+
+
+8. Install the rangefinder on the grip deck and glue the radio to the 3M tape.
+
+ > **Caution** Install the rangefinder so that the nuts do not rest directly on the board. With this installation, if there is a high probability of damaging the board elements.
+
+

+
+9. Install 4 20mm nylon posts and fix them with M3x8 bolts.
+
+

+
+10. Place the camera on the small mounting deck and secure it with two short self-tapping screws.
+
+ > **Caution** If you attach the camera to the upper right corner and the screw head touches the element on the camera, the camera will not work.
+
+

+
+11. Place the small mounting deck with the camera on the stands and secure with the M3x8 bolts.
+
+

+
+12. Place the assembled module over the Raspberry Pi module and fix it with M3x8 bolts.
+
+

+
+13. Connect the camera and Raspberry Pi with a ribbon cable.
+
+

+
+14. Connect the rangefinder to the Raspberry Pi into the appropriate pins.
+
+

+
+15. Connect the radio and the flight controller with a 4-pin cable.
+
+

+
+## Installing LED strip and legs
+
+1. Assemble the hoop for the LED strip by locking the ends together.
+
+

+
+2. Solder the JST male to the power pad and the Dupont-female to the signal pad.
+
+

+
+3. Stick the LED strip to the hoop, for greater strength, tighten it with 3-4 clamps.
+
+

+
+4. Install the feet on the stiffener plate with self-locking nuts and M3x8 screws only using the outermost mounting holes. From below, between the plates of the legs, install a damper silicone ring.
+
+

+
+5. Bend the legs back and install the hoop with the LED strip in the special groove on them, so that the connection cables exit from the tail side of the copter.
+
+

+
+6. Secure the legs with self-locking nuts and M3x8 screws.
+
+

+
+7. Connect the LED strip power to the JST 5V connector on the power distribution board.
+
+

+
+8. Connect the signal output of the LED strip in the Raspberry Ri to pin *GPIO21*.
+
+

+
+9. Install the mounting deck and secure it with M3x8 screws.
+
+

+
+## Setting protection
+
+1. Assemble the lower level of protection using 40mm posts and M3x12 screws.
+
+

+
+2. Assemble the upper layer of protection using the M3x12 screws.
+
+

+
+3. Install the protection and fix it to the beams with self-locking nuts and M3x8 screws.
+
+

+
+4. Connect the flight controller to your Raspberry Pi using the USB cable.
+
+
+

+

+
+
+5. Install the battery strap.
+
+

+
+> **Success** The drone is assembled, next perform the ["setup"](setup.md) step.
diff --git a/docs/en/assembly.md b/docs/en/assembly.md
index ae6b7c4a..bfbebc5b 100644
--- a/docs/en/assembly.md
+++ b/docs/en/assembly.md
@@ -5,13 +5,12 @@ This section contains articles describing the assembly of each version of Clover
| Version | Image |
- | Clover 4.2 |
-  |
+
+ Clover 4.2
+
+ |
+  |
-
| Clover 4 |
 |
diff --git a/docs/en/blocks.md b/docs/en/blocks.md
index 5d32d883..19699453 100644
--- a/docs/en/blocks.md
+++ b/docs/en/blocks.md
@@ -108,3 +108,14 @@ The block allows to set animations to LED strip, similarly to [`set_effect`](led
Example of using the block with a random color (colors-related blocks are located in *Colour* category):
+
+### Work with GPIO {#GPIO}
+
+GPIO category contains blocks for working with GPIO. Note, that for correct work of these blocks, `pigpiod` daemon should be running:
+
+```bash
+sudo systemctl enable pigpiod.service
+sudo systemctl start pigpiod.service
+```
+
+See details on GPIO in the [appropriate article](gpio.md).
diff --git a/docs/en/coex_pix.md b/docs/en/coex_pix.md
index 552eb8e6..305b2ac3 100644
--- a/docs/en/coex_pix.md
+++ b/docs/en/coex_pix.md
@@ -58,3 +58,18 @@ The FCU has power passthrough from the *PWR* input to the servo rail. Supplying
### Board specifics
The board utilizes low-noise DC-DC converters, voltage inputs have LC and ferrite filters.
+
+## Revision 1.2
+
+### Innovations
+
+* Replaced USB Micro-B connector with USB Type-C connector.
+* Changed the slot for microSD cards to a deeper one.
+* Changed pin assignments on the I2C connector.
+* Added ferrite filters in the power circuit.
+
+### Port pinouts
+
+
+
+
diff --git a/docs/en/ir_sensors.md b/docs/en/ir_sensors.md
index fb0dae01..9bed19d0 100644
--- a/docs/en/ir_sensors.md
+++ b/docs/en/ir_sensors.md
@@ -8,7 +8,7 @@ Infrared sensors are a convenient tool for transmitting any commands to the copt
Most IR receivers operate and are connected the same way. Such receivers have 3 pins for connecting: G/GND β ground V/VCC β 5V power, S/OUT β signal.
-
+
> **Hint** The signal port doesn't have to be connected to port GPIO 17; this pin may be changed during the [in/out port settings](#in/out).
diff --git a/docs/en/jetson_nano.md b/docs/en/jetson_nano.md
index 5e4af94b..90988dc2 100644
--- a/docs/en/jetson_nano.md
+++ b/docs/en/jetson_nano.md
@@ -137,7 +137,7 @@ Jetson Nano currently does not support older Raspberry Pi v1 cameras (that are b
Fortunately, these cameras are available using GStreamer. You can try using the [`gscam`](http://wiki.ros.org/gscam) ROS package or our [`jetson_camera`](https://github.com/sfalexrog/jetson_camera) node. The latter requires you to build OpenCV 3.4 from source with GStreamer support.
-The GStreamer pipelines are available at [JetsonHacksNano CSI camera reposotory](https://github.com/JetsonHacksNano/CSI-Camera).
+The GStreamer pipelines are available at [JetsonHacksNano CSI camera repository](https://github.com/JetsonHacksNano/CSI-Camera).
You may also notice that the camera image has a red tint that is more pronounced near the edges. This can be fixed by image signal processor tuning. Generally this should be done by your camera manufacturer; [here is a sample ISP configuration](https://www.arducam.com/docs/camera-for-jetson-nano/fix-red-tint-with-isp-tuning/) from Adrucam
diff --git a/docs/en/leds.md b/docs/en/leds.md
index 2a8ba9bc..7ee6fff6 100644
--- a/docs/en/leds.md
+++ b/docs/en/leds.md
@@ -12,7 +12,7 @@ Our [Raspberry Pi image](image.md) contains preinstalled modules for interfacing
* control individual LED colors (low-level control);
* configure the strip to display flight events.
-> **Caution** LED strip can consume a lot of power! Powering it from a Raspyerry Pi may overload the computer's power circuitry. Consider using a separate BEC as a power source.
+> **Caution** LED strip can consume a lot of power! Powering it from a Raspberry Pi may overload the computer's power circuitry. Consider using a separate BEC as a power source.
## High-level control
diff --git a/docs/en/leds_old.md b/docs/en/leds_old.md
index f6aac0fd..b163cc74 100644
--- a/docs/en/leds_old.md
+++ b/docs/en/leds_old.md
@@ -8,7 +8,7 @@ Connect the +5v and GND leads of your LED to a power source and the DIN (data in
-> **Caution** LED strip can consume a lot of power! Powering it from a Raspyerry Pi may overload the computer's power circuitry. Consider using a separate BEC as a power source.
+> **Caution** LED strip can consume a lot of power! Powering it from a Raspberry Pi may overload the computer's power circuitry. Consider using a separate BEC as a power source.
diff --git a/docs/en/lesson1.md b/docs/en/lesson1.md
index a2e04d32..2b69d6f5 100644
--- a/docs/en/lesson1.md
+++ b/docs/en/lesson1.md
@@ -60,7 +60,7 @@ An Unmanned Aerial Vehicle (UAV) is an aircraft flying without a pilot (crew) on
Types and configuration
-------------------
-There are many engines configurations: a tricopter, a hexacopter, or an octocopter, but the simplest one in terms of assembly and operation is a quadcopter, i. e., a multi-rotor platform with four engines. In turn, a quadcopter may have + and Ρ
configuration. In copters with a "+" configuration, one of the beams faces forward, while in platforms with the "x" configuration, the main direction of movement is between two adjacent beams.
+There are many engines configurations: a tricopter, a hexacopter, or an octocopter, but the simplest one in terms of assembly and operation is a quadcopter, i. e., a multi-rotor platform with four engines. In turn, a quadcopter may have + and x configuration. In copters with a "+" configuration, one of the beams faces forward, while in platforms with the "x" configuration, the main direction of movement is between two adjacent beams.

diff --git a/docs/en/lesson2.md b/docs/en/lesson2.md
index 7eed0b17..48b8405a 100644
--- a/docs/en/lesson2.md
+++ b/docs/en/lesson2.md
@@ -117,12 +117,11 @@ In a closed electric circuit, the sum of all the EMF is equal to the sum of the
In making equations, the direction of circuit traversal is chosen and arbitrarily specified directions of currents are specified.
-If an electric circuit contains two power sources, the directions of electromotive forces of which coincide, i.Π΅., connected according to Fig. 1, the EMF across the entire circuit shall be equal to the sum of the EMFs of the sources,
-Ρ. i.Π΅.,
+If an electric circuit contains two power sources, the directions of electromotive forces of which coincide, i.e., connected according to Fig. 1, the EMF across the entire circuit shall be equal to the sum of the EMFs of the sources, i.e.,
**E = E1+E2.**
-If a circuit contains two sources of EDS with opposite directions, i.Π΅., connected according to Fig. 2, the total EMF of the circuit will be equal to the difference of EMFs of these sources
+If a circuit contains two sources of EDS with opposite directions, i.e., connected according to Fig. 2, the total EMF of the circuit will be equal to the difference of EMFs of these sources
**Π = Π1βΠ2.**
diff --git a/docs/en/migrate20.md b/docs/en/migrate20.md
index d159fc21..2da6aed9 100644
--- a/docs/en/migrate20.md
+++ b/docs/en/migrate20.md
@@ -46,7 +46,7 @@ set_attitude = rospy.ServiceProxy('set_attitude', srv.SetAttitude)
set_rates = rospy.ServiceProxy('set_rates', srv.SetRates)
land = rospy.ServiceProxy('land', Trigger)
-# Take off 1 ΠΌ
+# Take off 1 m
navigate(x=0, y=0, z=1, frame_id='body', auto_arm=True)
```
diff --git a/docs/en/optical_flow.md b/docs/en/optical_flow.md
index dcb0f121..450a28f5 100644
--- a/docs/en/optical_flow.md
+++ b/docs/en/optical_flow.md
@@ -44,7 +44,7 @@ When using **LPE** (parameter `SYS_MC_EST_GROUP` = `local_position_estimator, at
* `SENS_FLOW_ROT` β No rotation.
* `SENS_FLOW_MAXHGT` β 4.0 (for the rangefinder VL53L1X)
* `SENS_FLOW_MINHGT` β 0.01 (for the rangefinder VL53L1X)
-* Optional: `LPE_FUSION` βΒ falg 'pub agl as lpos down' is on (Ρf. [rangefinder setup](laser.md).
+* Optional: `LPE_FUSION` βΒ falg 'pub agl as lpos down' is on (see [rangefinder setup](laser.md).
[The `selfcheck.py` utility](selfcheck.md) will help you verify that all settings are correctly set.
@@ -97,7 +97,7 @@ When using Optical Flow, the maximal horizontal speed is further limited. This i
## Errors
-If errors of `EKF INTERNAL CHECKS` occur, try to restart EKF2. To do so, enter in the MAVLink-console : Π² MAVLink-ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ:
+If errors like `EKF INTERNAL CHECKS` occur, try to restart EKF2. To do so, enter in the MAVLink-console:
```nsh
ekf2 stop
diff --git a/docs/en/programming.md b/docs/en/programming.md
index f85d3465..a55e802c 100644
--- a/docs/en/programming.md
+++ b/docs/en/programming.md
@@ -92,6 +92,8 @@ Read more in the [coordinate systems](frames.md) article.
You can also use the ["Autonomous flight"](simple_offboard.md) article as an API reference.
+> **Hint** Clover supports [blocks-based programming](blocks.md) as well.
+
## Additional periphery
The Clover platform also exposes APIs for interacting with other peripherals. Read more in the following articles:
diff --git a/docs/en/px4_parameters.md b/docs/en/px4_parameters.md
index 5bd1e7ee..d05c7690 100644
--- a/docs/en/px4_parameters.md
+++ b/docs/en/px4_parameters.md
@@ -20,7 +20,7 @@ This is a group of modules that calculates the current state of the copter using
* Copter orientation (in the local coordinate system) β pitch, roll, yaw (one of presentations);
* Copter position (in the local coordinate system) β x, y, z;
* Copter speed (in the local coordinate system) β vx, vy, vz;
-* Global coordinates of the copter β lattitude, longitude, altitude;
+* Global coordinates of the copter β latitude, longitude, altitude;
* Altitude above the surface;
* Other parameters (the drift of gyroscopes, wind speed, etc.).
@@ -39,15 +39,15 @@ This is a group of modules that calculates the current state of the copter using
Variant 2 is the most accurate; however, it is correct to use it only if the surface the copter flies over is flat. Otherwise, the Z axis origin will move up and down with the altitude of the surface.
-## Multicopter Control Position (flying by position)
+## Multicopter Position Control
These parameters adjust the flight of the copter by position (POSCTL, OFFBOARD, AUTO modes).
`MPC_THR_HOVER` β hovering throttle. This option is to set to the approximate percentage of throttle needed to make the copter maintain its altitude. If copter has a tendency to gain or lose altitude during the hovering mode, reduce or increase this value.
-`MPC_XY_P` β position factor *P* of the ESC. This parameter affects how sharply the copter will react to the position commands. A too high value may cause {ΠΏΠ΅ΡΠ΅ΡΡΡΠ΅Π»Ρ}.
+`MPC_XY_P` β position factor *P* of the ESC. This parameter affects how sharply the copter will react to the position commands. A too high value may cause overshoots.
-`MPC_XY_VEL_P` β speed factor *P* of the ESC. This parameter also affects the accuracy and sharpness of copter execution of the given position. A too high value may cause {ΠΏΠ΅ΡΠ΅ΡΡΡΠ΅Π»Ρ}.
+`MPC_XY_VEL_P` β speed factor *P* of the ESC. This parameter also affects the accuracy and sharpness of copter execution of the given position. A too high value may cause overshoots.
`MPC_XY_VEL_MAX` β the maximum horizontal speed in POSCTL, OFFBOARD, AUTO modes.
diff --git a/docs/en/ros-install.md b/docs/en/ros-install.md
index b2632048..1895c331 100644
--- a/docs/en/ros-install.md
+++ b/docs/en/ros-install.md
@@ -41,21 +41,21 @@ Now you can install the ROS package itself.
```
After the package has installed, initialize `rosdep`.
-Package `rosdep` will allow to easily install dependecies for the source files that you whish to compile. Running some essential components of ROS will as well require this package.
+Package `rosdep` will allow to easily install dependencies for the source files that you whish to compile. Running some essential components of ROS will as well require this package.
```bash
sudo rosdep init
rosdep update
```
-If you are not confortable with entering environment variables manually each time, you may configure it in a way that it add itself in your bash session on every new shell startup:
+If you are not comfortable with entering environment variables manually each time, you may configure it in a way that it add itself in your bash session on every new shell startup:
```bash
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
```
-If you whish to install any additionnal packages for yout ROS Melodic simply use:
+If you whish to install any additional packages for your ROS Melodic simply use:
```bash
sudo apt-get install ros-melodic-PACKAGE
diff --git a/docs/en/rviz.md b/docs/en/rviz.md
index 287bfc39..0573e70b 100644
--- a/docs/en/rviz.md
+++ b/docs/en/rviz.md
@@ -14,7 +14,7 @@ Install package `ros-melodic-desktop-full` or `ros-melodic-desktop` using the [i
Start rviz
---
-To start Π΅ΡΡ visualization of the state of Clover in real time, connect to it via Wi-Fi (`clover-xxx`) and run rviz, specifying an appropriate ROS_MASTER_URI:
+To start the Clover state visualization in real time, connect to it via Wi-Fi (`clover-xxx`) and run rviz, specifying an appropriate ROS_MASTER_URI:
```(bash)
ROS_MASTER_URI=http://192.168.11.1:11311 rviz
diff --git a/docs/en/setup.md b/docs/en/setup.md
index 7aa1c29a..29b543c1 100644
--- a/docs/en/setup.md
+++ b/docs/en/setup.md
@@ -14,7 +14,7 @@ Consult the [official QGroundControl user guide](https://docs.qgroundcontrol.com
Prepare the MicroSD card for your flight controller.
-
+
* Put the card into your computer (use an adapter if necessary).
* Format the card to FAT32 filesystem. Right click on the SD card icon in Windows Explorer and select "Format". Use the Disk Utility in macOS.
@@ -114,7 +114,7 @@ Press the *Save* button to save the changed value to the flight controller. Chan
> **Hint** Note that you should fine-tune the PID parameters for each drone individually.
-#### Cicruit breaker parameters
+#### Circuit breaker parameters
1. Set `CBRK_USB_CHK` to 197848 to allow flights with the USB cable connected.
2. Disable safety switch check: `CBRK_IO_SAFETY` = 22027.
diff --git a/docs/en/simple_offboard.md b/docs/en/simple_offboard.md
index fd372eb8..f0f71823 100644
--- a/docs/en/simple_offboard.md
+++ b/docs/en/simple_offboard.md
@@ -13,7 +13,7 @@ The `simple_offboard` module of the `clover` package is intended for simplified
Main services are [`get_telemetry`](#gettelemetry) (receive telemetry data), [`navigate`](#navigate) (fly to a given point along a straight line), [`navigate_global`](#navigateglobal) (fly to a point specified as latitude and longitude along a straight line), [`land`](#land) (switch to landing mode).
-Python samples
+Python examples
---
You need to create proxies for services before calling them. Use the following template for your programs:
diff --git a/docs/en/simulation_vm.md b/docs/en/simulation_vm.md
index 2dd3f889..0cd499f9 100644
--- a/docs/en/simulation_vm.md
+++ b/docs/en/simulation_vm.md
@@ -8,17 +8,21 @@ In addition to [native installation instructions](simulation_native.md), we prov
* preconfigured Gazebo simulation environment;
* Visual Studio Code with C++ and Python plugins.
+> **Info** The default username on the VM is `clover`, with password `clover`.
+
The VM is an easy way to set up a simulation environment, but can be used as a development environment for a real drone as well.
+## Downloading
+
You can download the latest VM image [in the VM releases repository](https://github.com/CopterExpress/clover_vm/releases).
> **Note** The virtual machine should be used when native installation is not feasible or possible. You may experience reduced performance in programs that use 3D rendering, like rviz and Gazebo.
## Setting up the VM
-You need to use a VM manager that supports OVF format, like [Virtualbox](https://www.virtualbox.org/wiki/Downloads), [VMware Player](https://www.vmware.com/products/workstation-player.html) or [VMware Workstation](https://www.vmware.com/products/workstation-pro.html).
+You need to use a VM manager that supports OVF format, like [VirtualBox](https://www.virtualbox.org/wiki/Downloads), [VMware Player](https://www.vmware.com/products/workstation-player.html) or [VMware Workstation](https://www.vmware.com/products/workstation-pro.html).
-> **Note** At the time of writing Virtualbox had issues running the VM, particularly with 3D applications. We recommend using VMware Player or VMware Workstation if possible. The following steps assume you're using VMware Player.
+> **Note** At the time of writing VirtualBox had issues running the VM, particularly with 3D applications. We recommend using VMware Player or VMware Workstation if possible. The following steps assume you're using VMware Player.
Make sure that you have hardware virtualization enabled in your BIOS/UEFI (it may be supported by your hardware but turned off by default). The steps to enable virtualization differ from manufacturer to manufacturer, but should be described in your system manual. Consult your system's manufacturer if you're having trouble turning virtualization on.
@@ -33,7 +37,7 @@ Make sure that you have hardware virtualization enabled in your BIOS/UEFI (it ma
2. Right-click on the VM name and select **Virtual Machine Settings**. In the new window, set the following parameters:
* increase the amount of memory available to the virtual machine (a good rule of thumb is 2048 MB per CPU core, but no less than 4 GB):
- 
+ 
* increase the amount available CPU cores:

* enable 3D acceleration:
diff --git a/docs/en/snippets.md b/docs/en/snippets.md
index b2cf1128..ce52b430 100644
--- a/docs/en/snippets.md
+++ b/docs/en/snippets.md
@@ -103,7 +103,7 @@ arming = rospy.ServiceProxy('mavros/cmd/arming', CommandBool)
# ...
-arming(False) # Π΄ΠΈΠ·Π°ΡΠΌ
+arming(False) # disarm
```
### # {#transform}
diff --git a/docs/en/sonar.md b/docs/en/sonar.md
index 53c42a1a..aa8cc118 100644
--- a/docs/en/sonar.md
+++ b/docs/en/sonar.md
@@ -89,7 +89,7 @@ while True:
### Filtering the data
-To filter (smooth out) the data and delete [emission](https://ru.wikipedia.org/wiki/Outbreak_%28statistics%29) [Kalman filter] (https://ru.wikipedia.org/wiki/Π€ΠΈΠ»ΡΡΡ_ΠΠ°Π»ΠΌΠ°Π½Π°) or a simple [median filter](https://ru.wikipedia.org/wiki/Median_filter) can be used. An example of median filtering implementation:
+To filter (smooth out) the data and delete [outliers](https://en.wikipedia.org/wiki/Outlier), [Kalman filter](https://en.wikipedia.org/wiki/Kalman_filter) or a simple [median filter](https://ru.wikipedia.org/wiki/Median_filter) can be used. An example of median filtering implementation:
```python
import collections
@@ -97,7 +97,7 @@ import numpy
# ...
-history = collections.deque(maxlen=10) # 10 - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΌΠΏΠ»ΠΎΠ² Π΄Π»Ρ ΡΡΡΠ΅Π΄Π½Π΅Π½ΠΈΡ
+history = collections.deque(maxlen=10) # 10 - number of samples for averaging
def read_distance_filtered():
history.append(read_distance())
diff --git a/docs/en/uart.md b/docs/en/uart.md
index 4e799d87..a1b8904a 100644
--- a/docs/en/uart.md
+++ b/docs/en/uart.md
@@ -12,7 +12,7 @@ Read more about the interface and the Protocol in [this article](https://habr.co
## Linux TTY
-In Linux, there is the concept of Posix Terminal Interface (read more [here](https://ru.wikipedia.org/wiki/TTY-Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ)). It is an abstraction over the serial or virtual interface that allows several agents to work with the device simultaneously.
+In Linux, there is the concept of POSIX Terminal Interface (read more [here](https://en.wikipedia.org/wiki/POSIX_terminal_interface). It is an abstraction over the serial or virtual interface that allows several agents to work with the device simultaneously.
An example of such abstraction in Raspbian may be `/dev/tty1` β the device for text output to the screen connected via HDMI.
@@ -37,7 +37,7 @@ By default, Raspberry Pi 3 PL011 is connected to the Bluetooth module. And Mini
For the sake of convenience of working with these outputs, aliases exist in Raspbian:
* `/dev/serial0` β always points to the TTY device that is connected to the GPIO ports.
-* `/dev/serial1` β always points to the TTY device that is connected to the Bluetooh module.
+* `/dev/serial1` β always points to the TTY device that is connected to the Bluetooth module.
### Configuration of UART on Raspberry Pi 3
diff --git a/docs/ru/4g.md b/docs/ru/4g.md
index 4c68ebef..d66dc1a9 100644
--- a/docs/ru/4g.md
+++ b/docs/ru/4g.md
@@ -18,15 +18,15 @@
Π‘ΡΠΎΡΠΌΠΈΡΡΠΉΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠ»ΡΡΠΈ VPN ΡΠ΅ΡΠΈ, Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Raspberry Pi ΠΈ Π½Π°Π·Π΅ΠΌΠ½ΠΎΠΉ ΡΡΠ°Π½ΡΠΈΠΈ.
-ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Raspberry Pi ΠΊ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ *openvpn*:
+ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Raspberry Pi ΠΊ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ `openvpn`:
```bash
sudo apt-get install openvpn
```
-ΠΠ΅ΡΠ΅Π½Π΅ΡΠΈΡΠ΅ Π²Π°ΡΠΈ ΠΊΠ»ΡΡΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ */etc/openvpn/client*. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ SFTP ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ: WinSCP, FileZilla ΠΈ Ρ.Π΄.
+ΠΠ΅ΡΠ΅Π½Π΅ΡΠΈΡΠ΅ Π²Π°ΡΠΈ ΠΊΠ»ΡΡΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ `/etc/openvpn/client`. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ SFTP ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ: WinSCP, FileZilla ΠΈ Ρ.Π΄.
-ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π²Π°ΠΌΠΈ ΠΊΠ»ΡΡΠΈ. ΠΠ»ΡΡΠΈ ΠΌΠΎΠ³Ρ Π±ΡΡΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Ρ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΎΡΠΌΠ°ΡΠ°Ρ
, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ: *.ovpn*, *.conf*. ΠΠ»ΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΏΡΠ΅ΡΠ΅, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΡΠΎΠ³ΠΎ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ *.conf*.
+ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π²Π°ΠΌΠΈ ΠΊΠ»ΡΡΠΈ. ΠΠ»ΡΡΠΈ ΠΌΠΎΠ³Ρ Π±ΡΡΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Ρ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΎΡΠΌΠ°ΡΠ°Ρ
, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ: `.ovpn`, `.conf`. ΠΠ»ΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΏΡΠ΅ΡΠ΅, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΡΠΎΠ³ΠΎ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ `.conf`.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΠΈΠΉ Π²Π°ΡΠΈ ΠΊΠ»ΡΡΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°:
@@ -34,7 +34,7 @@ sudo apt-get install openvpn
sudo systemctl enable openvpn-client@config-name
```
-Π³Π΄Π΅ *config-name* - Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
+Π³Π΄Π΅ `config-name` - Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΡΠ»ΠΈ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ΅ΡΠ²ΠΈΡ-ΠΊΠ»ΠΈΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ.
@@ -65,7 +65,7 @@ sudo systemctl enable openvpn-client@config-name
> **Info** ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ Π΄ΠΆΠΎΠΉΡΡΠΈΠΊΠ°, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΠΈΡ
ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈ Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π΅Π³ΠΎ, Π² QGroundControl(SDL2). ΠΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΠΏΡΠ»ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ 4 ΠΊΠ°Π½Π°Π»Π°, ΡΡΠΎ Π½Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
-ΠΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠΈΠΊΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΠΎΠΊΠ½Π΅ QGgroundControl, Π²Π°ΠΌ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ, ΡΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΏΡΠ΅ΡΠΎΠΌ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΆΠΎΠΉΡΡΠΈΠΊΠ°, Π° Π½Π΅ ΡΠ°Π΄ΠΈΠΎΠ°ΠΏΠΏΠ°ΡΠ°ΡΡΡΡ:
+ΠΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠΈΠΊΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΠΎΠΊΠ½Π΅ QGroundControl, Π²Π°ΠΌ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ, ΡΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΏΡΠ΅ΡΠΎΠΌ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΆΠΎΠΉΡΡΠΈΠΊΠ°, Π° Π½Π΅ ΡΠ°Π΄ΠΈΠΎΠ°ΠΏΠΏΠ°ΡΠ°ΡΡΡΡ:
`COM_RC_IN_MODE` - Joystick/No RC Checks
diff --git a/docs/ru/SUMMARY.md b/docs/ru/SUMMARY.md
index cdbc59d2..8ed598a1 100644
--- a/docs/ru/SUMMARY.md
+++ b/docs/ru/SUMMARY.md
@@ -80,6 +80,7 @@
* [ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ GPS](gps.md)
* [Π Π°Π±ΠΎΡΠ° Ρ ΠΠ Π΄Π°ΡΡΠΈΠΊΠ°ΠΌΠΈ](ir_sensors.md)
* [Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° FPV](fpv.md)
+ * [Π‘Π±ΠΎΡΠΊΠ° ΡΠ°ΡΠΎΠ²ΠΎΠΉ Π·Π°ΡΠΈΡΡ](sphere_guard.md)
* [Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ΅Π½Π΅ΡΠ°](trainer_mode.md)
* [Π’Π΅Ρ
Π½ΠΈΠΊΠ° Π»ΡΠΆΠ΅Π½ΠΈΡ](tinning.md)
* [ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ PX4FLOW](px4flow.md)
diff --git a/docs/ru/assemble_4_2_ws.md b/docs/ru/assemble_4_2_ws.md
index e3b0aad2..de4c4ccb 100644
--- a/docs/ru/assemble_4_2_ws.md
+++ b/docs/ru/assemble_4_2_ws.md
@@ -51,7 +51,7 @@
## Π‘Π±ΠΎΡΠΊΠ° ΡΠ°ΠΌΡ
-1. Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΠ΅ 4 Π»ΡΡΠ° Ρ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π΅ΠΊΠΎΠΉ, Π·Π°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΈΡ
ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΠΈΠ½ΡΠΎΠ² Π3Ρ
8 ΠΈ Π³Π°Π΅ΠΊ Ρ Π½Π΅ΠΉΠ»ΠΎΠ½ΠΎΠ²ΠΎΠΉ Π²ΡΡΠ°Π²ΠΊΠΎΠΉ.
+1. Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΠ΅ 4 Π»ΡΡΠ° Ρ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π΅ΠΊΠΎΠΉ, Π·Π°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΈΡ
ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΠΈΠ½ΡΠΎΠ² Π3Ρ
8 ΠΈ ΡΠ°ΠΌΠΎΠΊΠΎΠ½ΡΡΡΡΠΈΡ
ΡΡ Π³Π°Π΅ΠΊ.

@@ -102,46 +102,50 @@
-2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠΎΡΡ ΠΎΠ±ΠΎΡΠΎΡΠΎΠ² (ESC) Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΡΠ° Π½Π° Π»ΡΡΠ΅ ΠΈ ΠΏΡΠΈΡΡΠ½ΠΈΡΠ΅ Ρ
ΠΎΠΌΡΡΠ°ΠΌΠΈ.
+2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠΎΡΡ ΠΎΠ±ΠΎΡΠΎΡΠΎΠ² (ESC) Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΡΠ° Π½Π° Π»ΡΡΠ΅.
-3. ΠΡΠΌΠ΅ΡΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄Π° ΡΠ΅Π³ΡΠ»ΡΡΠΎΡΠΎΠ² ΠΎΠ±ΠΎΡΠΎΡΠΎΠ²(ESC), ΠΈ ΠΎΠ±ΡΠ΅ΠΆΡΡΠ΅ Π»ΠΈΡΠ½Π΅Π΅.
+3. ΠΡΠΈΡΡΠ½ΠΈΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠΎΡΡ ΠΎΠ±ΠΎΡΠΎΡΠΎΠ² (ESC) Ρ
ΠΎΠΌΡΡΠ°ΠΌΠΈ.
-4. ΠΠ°ΡΠΈΡΡΠΈΡΠ΅ ΠΈ Π·Π°Π»ΡΠ΄ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π·Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄Π°
+
-5. ΠΠ°Π»ΡΠ΄ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠΈ Π½Π° ΠΏΠ»Π°ΡΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ.
+4. ΠΡΠΌΠ΅ΡΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄Π° ΡΠ΅Π³ΡΠ»ΡΡΠΎΡΠΎΠ² ΠΎΠ±ΠΎΡΠΎΡΠΎΠ²(ESC), ΠΈ ΠΎΠ±ΡΠ΅ΠΆΡΡΠ΅ Π»ΠΈΡΠ½Π΅Π΅.
-6. ΠΡΠΈΠΏΠ°ΡΠΉΡΠ΅ ΡΠΈΠ»ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄Π° ΡΠ΅Π³ΡΠ»ΡΡΠΎΡΠΎΠ² ΠΎΠ±ΠΎΡΠΎΡΠΎΠ² ΠΊ ΠΏΠ»Π°ΡΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ.
+5. ΠΠ°ΡΠΈΡΡΠΈΡΠ΅ ΠΈ Π·Π°Π»ΡΠ΄ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π·Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄Π°.
+
+6. ΠΠ°Π»ΡΠ΄ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠΈ Π½Π° ΠΏΠ»Π°ΡΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ.
+
+7. ΠΡΠΈΠΏΠ°ΡΠΉΡΠ΅ ΡΠΈΠ»ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄Π° ΡΠ΅Π³ΡΠ»ΡΡΠΎΡΠΎΠ² ΠΎΠ±ΠΎΡΠΎΡΠΎΠ² ΠΊ ΠΏΠ»Π°ΡΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ.
> **Caution** ΠΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ ΠΊ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π½Π° ΠΏΠ»Π°ΡΠ΅. ΠΡΠ°ΡΠ½ΡΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ΄ΡΠΈ ΠΊ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ΅ Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡΡ *+*, Π° ΡΠ΅ΡΠ½ΡΠΉ ΠΊ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ *-*.
-7. ΠΠ±ΡΠ΅ΠΆΡΡΠ΅ Π»ΠΈΡΠ½ΠΈΠΉ ΡΠ°Π·Π½ΡΠΉ ΠΊΠ°Π±Π΅Π»Ρ ΠΈΠ΄ΡΡΠΈΠΉ ΠΎΡ ΠΌΠΎΡΠΎΡΠΎΠ².
+8. ΠΠ±ΡΠ΅ΠΆΡΡΠ΅ Π»ΠΈΡΠ½ΠΈΠΉ ΡΠ°Π·Π½ΡΠΉ ΠΊΠ°Π±Π΅Π»Ρ ΠΈΠ΄ΡΡΠΈΠΉ ΠΎΡ ΠΌΠΎΡΠΎΡΠΎΠ².
-8. ΠΠ°ΡΠΈΡΡΠΈΡΠ΅ ΠΈ Π·Π°Π»ΡΠ΄ΠΈΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠ°Π±Π΅Π»ΠΈ.
+9. ΠΠ°ΡΠΈΡΡΠΈΡΠ΅ ΠΈ Π·Π°Π»ΡΠ΄ΠΈΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠ°Π±Π΅Π»ΠΈ.
-9. ΠΠ°Π»ΡΠ΄ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠΎΡΠΎΠ² ΠΎΠ±ΠΎΡΠΎΡΠΎΠ².
+10. ΠΠ°Π»ΡΠ΄ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠΎΡΠΎΠ² ΠΎΠ±ΠΎΡΠΎΡΠΎΠ².
-10. ΠΡΠΈΠΏΠ°ΡΠΉΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠ°Π±Π΅Π»ΠΈ ΠΊ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠΌ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ°ΠΌ ΡΠ΅Π³ΡΠ»ΡΡΠΎΡΠΎΠ² Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
+11. ΠΡΠΈΠΏΠ°ΡΠΉΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠ°Π±Π΅Π»ΠΈ ΠΊ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠΌ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ°ΠΌ ΡΠ΅Π³ΡΠ»ΡΡΠΎΡΠΎΠ² Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
-11. ΠΡΠΈΠΏΠ°ΡΠΉΡΠ΅ 3 ΡΠ°Π·ΡΠ΅ΠΌΠ° JST ΠΌΠ°ΠΌΠ° ΠΊ 2ΡΠΌ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ°ΠΌ *5V* ΠΈ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ΅ *bat+*
+12. ΠΡΠΈΠΏΠ°ΡΠΉΡΠ΅ 3 ΡΠ°Π·ΡΠ΅ΠΌΠ° JST ΠΌΠ°ΠΌΠ° ΠΊ 2ΡΠΌ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ°ΠΌ *5V* ΠΈ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ΅ *bat+*.
## Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠΎΠ»Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°
@@ -215,7 +219,7 @@
-4. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Raspberry Pi Π½Π° ΠΌΠΎΠ½ΡΠ°ΠΆΠ½ΡΡ Π΄Π΅ΠΊΡ Π·Π°ΠΊΡΠ΅ΠΏΠΈΠ² Π΅Π΅ Π±ΠΎΠ»ΡΠ°ΠΌΠΈ Π3Ρ
6.
+4. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Raspberry Pi Π½Π° ΠΌΠΎΠ½ΡΠ°ΠΆΠ½ΡΡ Π΄Π΅ΠΊΡ, Π·Π°ΠΊΡΠ΅ΠΏΠΈΠ² Π΅Π΅ Π±ΠΎΠ»ΡΠ°ΠΌΠΈ Π3Ρ
6.
@@ -256,7 +260,7 @@
-10. ΠΠ° ΠΌΠ°Π»ΡΡ ΠΌΠΎΠ½ΡΠ°ΠΆΠ½ΡΡ Π΄Π΅ΠΊΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ Π΅Π΅ Π΄Π²ΡΠΌΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌΠΈ ΡΠ°ΠΌΠΎΡΠ΅Π·Π°ΠΌΠΈ, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅.
+10. ΠΠ° ΠΌΠ°Π»ΡΡ ΠΌΠΎΠ½ΡΠ°ΠΆΠ½ΡΡ Π΄Π΅ΠΊΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ Π΅Π΅ Π΄Π²ΡΠΌΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌΠΈ ΡΠ°ΠΌΠΎΡΠ΅Π·Π°ΠΌΠΈ.
> **Caution** ΠΡΠ»ΠΈ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ Π² Π²Π΅ΡΡ
Π½Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΌ ΡΠ³Π»Ρ ΠΈ ΡΠ»ΡΠΏΠΊΠ° ΡΠ°ΠΌΠΎΡΠ΅Π·Π° Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΡΠ°ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠ΅, ΠΊΠ°ΠΌΠ΅ΡΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
@@ -266,7 +270,7 @@
-12. Π‘ΠΎΠ±ΡΠ°Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π° Π½Π°Π΄ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ Raspberry Pi ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ Π±ΠΎΠ»ΡΠ°ΠΌΠΈ Π3Ρ
8.
+12. Π‘ΠΎΠ±ΡΠ°Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π°Π΄ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ Raspberry Pi ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ Π±ΠΎΠ»ΡΠ°ΠΌΠΈ Π3Ρ
8.
@@ -278,7 +282,7 @@
-15. Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ Ρ ΡΠ°Π΄ΠΈΠΎΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΠΈ ΠΏΠΎΠ»Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠ°Π±Π΅Π»Ρ.
+15. Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΡΠ°Π΄ΠΈΠΎΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΠΈ ΠΏΠΎΠ»Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ 4-Ρ
ΠΏΠΈΠ½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°Π±Π΅Π»Ρ.
@@ -334,4 +338,15 @@
+4. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΠΎΠ»Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ ΠΊ Raspberry Pi Ρ ΠΏΠΎΠΌΠΎΡΡΡ USB ΠΊ ΠΊΠ°Π±Π΅Π»Ρ.
+
+
+

+

+
+
+5. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ΠΌΠ΅ΡΠΎΠΊ Π΄Π»Ρ ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ ΠΠΠ.
+
+
+
> **Success** ΠΡΠΎΠ½ ΡΠΎΠ±ΡΠ°Π½, Π΄Π°Π»Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄ΠΈΡΠ΅ [Π½Π°ΡΡΡΠΎΠΉΠΊΡ](setup.md).
diff --git a/docs/ru/assembly.md b/docs/ru/assembly.md
index 9e91cdf2..c041f075 100644
--- a/docs/ru/assembly.md
+++ b/docs/ru/assembly.md
@@ -9,11 +9,11 @@
ΠΠ»Π΅Π²Π΅Ρ 4.2
-  |
+  |
| ΠΠ»Π΅Π²Π΅Ρ 4.1 |
-  |
+  |
| ΠΠ»Π΅Π²Π΅Ρ 4 |
diff --git a/docs/ru/blocks.md b/docs/ru/blocks.md
index 14e0cdcd..5e503185 100644
--- a/docs/ru/blocks.md
+++ b/docs/ru/blocks.md
@@ -108,3 +108,14 @@
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° (Π±Π»ΠΎΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ²Π΅ΡΠ°ΠΌΠΈ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ *Colour*):
+
+### Π Π°Π±ΠΎΡΠ° Ρ GPIO {#GPIO}
+
+ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ GPIO ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±Π»ΠΎΠΊΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ GPIO. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΡΠΈΡ
Π±Π»ΠΎΠΊΠΎΠ² Π΄Π΅ΠΌΠΎΠ½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ GPIO `pigpiod` Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½:
+
+```bash
+sudo systemctl enable pigpiod.service
+sudo systemctl start pigpiod.service
+```
+
+ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ GPIO ΡΠΈΡΠ°ΠΉΡΠ΅ Π² [ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅](gpio.md).
diff --git a/docs/ru/coex_pix.md b/docs/ru/coex_pix.md
index 8d6d7110..1326b2e5 100644
--- a/docs/ru/coex_pix.md
+++ b/docs/ru/coex_pix.md
@@ -35,9 +35,9 @@
### Π‘Ρ
Π΅ΠΌΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ²
-
+
-
+
> **Note** ΠΠ° ΠΏΠ»Π°ΡΠ΅ ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ 1.0 RC IN ΡΠ°Π·ΡΠ΅ΠΌ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π»ΡΡ Π½Π° ΠΌΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ΅ΠΌΠ° Micro SD. Π Π°ΡΠΏΠΈΠ½ΠΎΠ²ΠΊΠ° ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΠΌΠ° ΠΎΡΡΠ°Π»Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅.
@@ -58,3 +58,18 @@
### ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΠ»Π°ΡΡ
ΠΠ»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ, ΠΏΠ»Π°ΡΠ° ΠΎΡΠ½Π°ΡΠ΅Π½Π° Π½ΠΈΠ·ΠΊΠΎΡΡΠΌΡΡΠΈΠΌΠΈ ΠΏΠΎΠ½ΠΈΠΆΠ°ΡΡΠΈΠΌΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ. Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ LC ΡΠΈΠ»ΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ Π² ΡΠ΅ΠΏΡΡ
ΠΏΠΈΡΠ°Π½ΠΈΡ.
+
+## Π Π΅Π²ΠΈΠ·ΠΈΡ 1.2
+
+### ΠΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΡ
+
+* ΠΠ°ΠΌΠ΅Π½Π΅Π½ ΡΠ°Π·ΡΠ΅ΠΌ USB Micro-B Π½Π° ΡΠ°Π°Π·ΡΠ΅ΠΌ USB Type-C.
+* ΠΠ·ΠΌΠ΅Π½Π΅Π½ ΡΠ»ΠΎΡ Π΄Π»Ρ MicroSD ΠΊΠ°ΡΡ, Π½Π° Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΈΠΉ.
+* ΠΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΈΠ½ΠΎΠ² Π½Π° ΡΠ°Π·ΡΠ΅ΠΌΠ΅ I2C.
+* ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ Π² ΡΠ΅ΠΏΠΈ ΠΏΠΈΡΠ°Π½ΠΈΡ.
+
+### Π‘Ρ
Π΅ΠΌΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ²
+
+
+
+
diff --git a/docs/ru/programming.md b/docs/ru/programming.md
index 3777f2a8..3acb253c 100644
--- a/docs/ru/programming.md
+++ b/docs/ru/programming.md
@@ -92,6 +92,8 @@ land()
ΠΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ API ΠΠ»Π΅Π²Π΅ΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² ΡΡΠ°ΡΡΠ΅ ["ΠΠ²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΉ ΠΏΠΎΠ»Π΅Ρ"](simple_offboard.md).
+> **Hint** Π ΠΠ»Π΅Π²Π΅ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° [Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ](blocks.md) Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ
ΠΏΠΎΠ»Π΅ΡΠΎΠ².
+
## ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΠ»Π΅Π²Π΅ΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ API Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠ΅ΠΉ. Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ°ΡΡΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ:
diff --git a/docs/ru/projects.md b/docs/ru/projects.md
index fdfc7bf7..d0d165ea 100644
--- a/docs/ru/projects.md
+++ b/docs/ru/projects.md
@@ -36,5 +36,6 @@
|ΠΠΎΠ»Π΅Ρ ΠΊΠΎΠΏΡΠ΅ΡΠ° Π½Π° ΡΠΎΡΠΊΡ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Ρ ΠΊΠ°ΠΌΠ΅ΡΡ, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ Π²Π½ΠΈΠ·||
|ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ΄Π°ΡΠ° ([RPLIDAR](https://www.slamtec.com/en/Lidar)) Π² ΠΠ»Π΅Π²Π΅Ρ||
|ΠΠ°ΡΡΠ΄Π½Π°Ρ ΡΡΠ°Π½ΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΠΏΡΠ΅ΡΠ° Π½Π° ΡΠΎΠ»Π½Π΅ΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°ΡΠΎΡΠ΅||
+|Π‘ΡΠ΅Π½Π΄ Π΄Π»Ρ ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² PID Π½Π° ΠΠ»Π΅Π²Π΅ΡΠ΅||
ΠΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΊΠΎΠ½ΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² [Copter Hack](https://ru.coex.tech/copterhack). ΠΡ ΠΏΡΠΈΠ³Π»Π°ΡΠ°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ
ΡΠΎΡΠΌΠ°ΡΠ°Ρ
.
diff --git a/docs/ru/simulation_vm.md b/docs/ru/simulation_vm.md
index 9e6c67fe..366e473c 100644
--- a/docs/ru/simulation_vm.md
+++ b/docs/ru/simulation_vm.md
@@ -10,9 +10,13 @@
* ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠΈΠΌΡΠ»ΡΡΠΎΡ Gazebo;
* ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Visual Studio Code Ρ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Python ΠΈ C++.
+> **Info** ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ - `clover`, ΠΏΠ°ΡΠΎΠ»Ρ - `clover`.
+
ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠΎΠ², ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π°ΡΡΠΎΡΡΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ.
-Π‘ΠΊΠ°ΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΡΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΌΠΎΠΆΠ½ΠΎ [Π² ΡΠ΅Π»ΠΈΠ·Π°Ρ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ](https://github.com/CopterExpress/clover_vm/releases)
+## Π‘ΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅
+
+Π‘ΠΊΠ°ΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΡΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΌΠΎΠΆΠ½ΠΎ [Π² ΡΠ΅Π»ΠΈΠ·Π°Ρ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ](https://github.com/CopterExpress/clover_vm/releases).
> **Warning** ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅Ρ
ΡΠ»ΡΡΠ°ΡΡ
, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ubuntu 18.04 Π½Π°ΠΏΡΡΠΌΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΡΠ΅Ρ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ΅Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ 3D-Π³ΡΠ°ΡΠΈΠΊΡ - jMAVSim, Gazebo, rviz - Π±ΡΠ΄Π΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π½ΠΈΠΆΠ΅; ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΡΠ΄Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π±ΡΠ΄ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠ΅ ΠΊ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ Π½Π΅ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
diff --git a/docs/ru/sphere_guard.md b/docs/ru/sphere_guard.md
new file mode 100644
index 00000000..4c50c68f
--- /dev/null
+++ b/docs/ru/sphere_guard.md
@@ -0,0 +1,88 @@
+# Π‘Π±ΠΎΡΠΊΠ° ΡΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΡΠΈΡΡ
+
+
+
+## Π‘Π±ΠΎΡΠΊΠ° ΠΏΠΎΡΡΠ° ΡΡΠ΅ΡΡ
+
+1. Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π½ΠΈΠ΅ ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ ΠΊΠΎΠΏΡΠ΅ΡΠ°.
+
+
+
+2. Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ Π·Π°Π΄Π½ΠΈΠ΅ ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ ΠΊΠΎΠΏΡΠ΅ΡΠ°.
+
+
+
+3. Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π½ΡΡ ΡΠ°ΡΡΡ ΠΏΠΎΡΡΠ°.
+
+
+
+4. Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ Π·Π°Π΄Π½ΡΡ ΡΠ°ΡΡΡ ΠΏΠΎΡΡΠ°.
+
+
+
+5. Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ°Π²ΡΡ ΠΈ Π»Π΅Π²ΡΡ ΡΠ°ΡΡΠΈ ΠΏΠΎΡΡΠ°.
+
+
+

+

+
+
+6. Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠΎΡΡ ΡΡΠ΅ΡΡ (Π²ΠΈΠ΄Ρ ΡΠ²Π΅ΡΡ
Ρ ΠΈ ΡΠ±ΠΎΠΊΡ).
+
+
+

+

+
+
+7. ΠΠΎΡΡ ΡΡΠ΅ΡΡ Π² ΡΠ±ΠΎΡΠ΅.
+
+
+

+

+
+
+8. ΠΠ°ΠΊΡΠ΅ΠΏΠΈΡΠ΅ ΠΊΠΎΠΏΡΠ΅Ρ Π²Π½ΡΡΡΠΈ ΠΏΠΎΡΡΠ°.
+
+
+

+

+
+
+## Π‘Π±ΠΎΡΠΊΠ° Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΡΠ΅ΡΡ
+
+1. Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ Π²Π΅ΡΡ
Π½ΡΡ ΡΠ°ΡΡΡ ΡΡΠ΅ΡΡ.
+
+
+
+### Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° GPS ΠΌΠΎΠ΄ΡΠ»Ρ
+
+1. Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ GPS.
+
+
+
+2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ GPS Π½Π° Π²Π΅ΡΡ
Π½ΡΡ ΡΠ°ΡΡΡ ΡΡΠ΅ΡΡ.
+
+
+

+

+
+
+### Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΡΠ·ΠΈΠ½ΠΊΠΈ
+
+1. ΠΡΠΎΠ΄Π΅Π½ΡΡΠ΅ ΠΏΡΡΡΠΊΠΈ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ°Π·Ρ Π² ΠΊΠΎΡΠ·ΠΈΠ½ΠΊΠ΅ ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΠΈΡ
ΠΊΠΎΠ½Π½Π΅ΠΊΡΠΎΡΠ°ΠΌΠΈ.
+
+
+
+2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΡΠ·ΠΈΠ½ΠΊΡ Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΡΠ΅ΡΡ.
+
+
+
+## Π‘Π±ΠΎΡΠΊΠ° Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΡΠ΅ΡΡ
+
+1. Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ Π½ΠΈΠΆΠ½ΡΡ ΡΠ°ΡΡΡ ΡΡΠ΅ΡΡ.
+
+
+
+2. Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ ΡΠ°ΡΠΎΠ²ΡΡ Π·Π°ΡΠΈΡΡ ΠΈΠ· 3-Ρ
ΡΠ°ΡΡΠ΅ΠΉ.
+
+