+
Clover is an open source [ROS](https://www.ros.org)-based framework, providing user-friendly tools to control [PX4](https://px4.io)-powered drones. Clover is available as a ROS package, but is shipped mainly as a preconfigured image for Raspberry Pi. Once you've installed Raspberry Pi on your drone and flashed the image to its microSD card, taking the drone up in the air is a matter of minutes.
diff --git a/aruco_pose/CHANGELOG.rst b/aruco_pose/CHANGELOG.rst
new file mode 100644
index 00000000..576224ce
--- /dev/null
+++ b/aruco_pose/CHANGELOG.rst
@@ -0,0 +1,8 @@
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Changelog for package aruco_pose
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+0.21.1 (2020-11-17)
+-------------------
+* First release of aruco_pose package to ROS
+* Contributors: Alamoris, Alexey Rogachevskiy, Arthur Golubtsov, Ilya Petrov, Oleg Kalachev
diff --git a/aruco_pose/cfg/DetectorParams.cfg b/aruco_pose/cfg/DetectorParams.cfg
index c96c942b..5788e9e9 100755
--- a/aruco_pose/cfg/DetectorParams.cfg
+++ b/aruco_pose/cfg/DetectorParams.cfg
@@ -8,6 +8,8 @@ p = cv2.aruco.DetectorParameters_create()
gen = ParameterGenerator()
+gen.add("enabled", bool_t, 0, "if detection enabled", True)
+
gen.add("adaptiveThreshConstant", double_t, 0,
"Constant for adaptive thresholding before finding contours",
p.adaptiveThreshConstant, 0, 100)
diff --git a/aruco_pose/package.xml b/aruco_pose/package.xml
index a525bc4d..43f08abe 100644
--- a/aruco_pose/package.xml
+++ b/aruco_pose/package.xml
@@ -1,7 +1,7 @@
+
**Clover** is an educational kit of a programmable quadcopter that consists of popular open source components, and a set of necessary documentation and libraries for working with it.
-The kit includes a Pixhawk/Pixracer flight controller with the PX4 flight stack, a [Raspberry Pi 4](raspberry.md) as a controlling onboard computer, and a [camera module](camera.md) for performing flights with the use of computer vision, as well as a set of various sensors and other peripherals.
+The kit includes a [COEX Pix](coex_pix.md) flight controller with the PX4 flight stack, a [Raspberry Pi 4](raspberry.md) as a controlling onboard computer, and a [camera module](camera.md) for performing flights with the use of computer vision, as well as a set of various sensors and other peripherals.
The Clover platform contains a [pre-configured image for Raspberry Pi](image.md) with the full set of required software for working with peripheral devices and [programming autonomous flights](simple_offboard.md). The source code of the platform and of the documentation is open and [available on GitHub](https://github.com/CopterExpress/clover).
diff --git a/docs/en/SUMMARY.md b/docs/en/SUMMARY.md
index 2d7466f9..124bd800 100644
--- a/docs/en/SUMMARY.md
+++ b/docs/en/SUMMARY.md
@@ -54,13 +54,17 @@
* [MAVROS](mavros.md)
* [Supplementary materials](supplementary.md)
* [COEX Pix](coex_pix.md)
+ * [COEX PDB](coex_pdb.md)
+ * [COEX GPS](coex_gps.md)
* [Guide on autonomous flight](auto_setup.md)
* [Hostname](hostname.md)
* [PX4 Simulation](sitl.md)
+ * [Navigation using vertical ArUco-markers](wall_aruco.md)
* [PID Setup](calibratePID.md)
* [Model files for parts](models.md)
* [ROS Melodic installation](ros-install.md)
* [Camera calibration](camera_calibration.md)
+ * [VPN ZeroTire Connection](zerotire_vpn.md)
* [Quadcopter control with 4G communication](4g.md)
* [Clover and Jetson Nano](jetson_nano.md)
* [Remote control app](rc.md)
@@ -76,7 +80,10 @@
* [Interfacing with Arduino](arduino.md)
* [Connecting GPS](gps.md)
* [Working with IR sensors](ir_sensors.md)
- * [FPV Setup](fpv.md)
+ * [FPV Setup](fpv_clover_4_2.md)
+ * [FPV Setup (Clover 3)](fpv.md)
+ * [Magnetic grip](magnetic_grip.md)
+ * [Mechanical grip](mechanical_grip.md)
* [Trainer mode](trainer_mode.md)
* [Tinning](tinning.md)
* [Types of power connectors](connectortypes.md)
@@ -86,7 +93,13 @@
* [Contribution Guidelines](contributing.md)
* [Migration to v0.20](migrate20.md)
* [Migration to v0.22](migrate22.md)
+* [Events](events.md)
+ * [CopterHack-2021](copterhack2021.md)
+ * [CopterHack-2019](copterhack2019.md)
+ * [CopterHack-2018](copterhack2018.md)
+ * [CopterHack-2017](copterhack2017.md)
* [Clover-based projects](projects.md)
+ * [Autonomous Multirotor Landing System (AMLS)](amls.md)
* [Drone show](clever-show.md)
* [Innopolis Open 2020 (L22_ΓRO)](innopolis_open_L22_AERO.md)
* [Copter spheric guard](shield.md)
@@ -94,8 +107,13 @@
* [Android RC app](android.md)
* [3D-scanning drone](3dscan.md)
* [Human pose estimation drone control](human_pose_estimation_drone_control.md)
- * [Copter Hack 2019](copterhack2019.md)
- * [Copter Hack 2018](copterhack2018.md)
- * [Copter Hack 2017](copterhack2017.md)
* [Robocross-2019](robocross2019.md)
* [Camera calibration (legacy)](camera_calib.md)
+ * [Recognition of crop types in agriculture](agriculture.md)
+ * [Drones to fight Coronavirus](anticorona_drones.md)
+ * [D-drone Copter Hack 2021 by AT Makers](ddrone.md)
+ * [3D-printed Generative Design Frame](generative_design_frame.md)
+ * [Retail Drone](bennie.md)
+ * [The Indoor Mapping Drone](dromap.md)
+ * [Seeding Drone](seeding_drone.md)
+ * [Blue Jay Eindhoven](blue_jay_eindhoven.md)
diff --git a/docs/en/agriculture.md b/docs/en/agriculture.md
new file mode 100644
index 00000000..43ea5dd1
--- /dev/null
+++ b/docs/en/agriculture.md
@@ -0,0 +1,147 @@
+# Recognition of crop types in mass agricultural production
+
+## Introduction
+
+Modern agriculture in many countries is becoming one of the shining examples of the rapid and successful introduction of new technologies. Unmanned aerial vehicles are capable of performing a wide range of tasks, among which monitoring of agricultural land has now become a common tool for increasing the efficiency of agriculture. The goal of my project is to write a code for recognizing crop types in mass agricultural production. In the future, from the recognition results, you can design a map of sown areas.
+
+## Monitoring
+
+In agriculture, monitoring is necessary to obtain information on the state of land and crops. Based on the monitoring results, farmers or specialists can understand whether crops are sprouting normally, whether there is a threat from weeds and/or insects - pests, what is the degree of moisture in individual areas or entire areas, etc.
+
+## Explanation of the code
+
+Import libraries:
+
+```python
+import rospy
+import cv2
+from sensor_msgs.msg import Image
+from cv_bridge import CvBridge
+import numpy as np
+```
+
+Create some variables:
+
+```python
+rospy.init_node('computer_vision_sample')
+
+bridge = CvBridge()
+
+color = 'undefined'
+shape = 'undefined'
+culture = ""
+```
+
+To implement computer vision algorithms, it is recommended to use the OpenCV library preinstalled on the Clover image.
+Create a subscriber for the topic with the image from the main camera for processing using OpenCV:
+
+```python
+def image_colback_color(data):
+ global color, shape
+
+ cv_image = bridge.imgmsg_to_cv2(data, 'bgr8') # OpenCV image
+ img_hsv = cv2.cvtColor(cv_image, cv2.COLOR_BGR2HSV) #[118:119,158:159]
+
+ #detected color
+ #print(img_hsv[0][0])
+```
+
+Each culture has its unique shade (wheat is golden, buckwheat is light brown).
+
+
+
+
+We describe color ranges for certain crops:
+
+```python
+#wheat
+yellow_orange_low = (38, 110, 150)
+yellow_orange_high= (52, 110, 150)
+
+#buckwheat
+brown_low = (23, 50, 50)
+brown_high= (37, 50, 50)
+
+yellow_orange_mask = cv2.inRange(img_hsv, yellow_orange_low, yellow_orange_high)
+brown_mask = cv2.inRange(img_hsv, brown_low, brown_high)
+
+if yellow_orange_mask[119][159] == 255:
+ shape = shape_recog(yellow_orange_mask)
+
+elif brown_mask[119][159] == 255:
+ shape = shape_recog(brown_mask)
+
+else:
+ shape = 'undefined'
+ color = 'undefined'
+
+if shape = 'brown':
+ culture = "greshiha"
+if shape = 'yellow_orange':
+ culture = "pshenitsa"
+
+image_sub = rospy.Subscriber('main_camera/image_raw', Image, image_colback_color)
+```
+
+The script will take up to 100% CPU capacity. To slow down the script artificially, you can use throttling of frames from the camera, for example, at 5 Hz (`main_camera.launch`):
+
+```xml
+
+
+The main advantage of such a system is that it distributes the impact between beams and effectively dissipates it. Engine mounts, however, are not impact-proof because they are specifically designed to break but save much more expensive and not-readily-available engines. This is why mounts are quickly-replaceable (only 3 screws) and made of cheap PLA plastic.
+
+The space inside the central rhombus is occupied by the on-board equipment: batteries, PX4 flight controller, Jetson Xavier NX / AGX, power electronics, sensory equipment.
+
+As it is shown on this picture, computers can be mounted on the bottom and completely protected by legs and the truss structure from any collision damage. Jetson AGX is marked with arrow. Almost invisible, isn't it?
+
+
+
+All sensory equipment, like cameras, rangefinder, etc can be easily mounted on the beams with special bracket connectors. This type of connection provides flexibility because you can fine-tune camera angle or position before tightening screws and fixing it firmly in place, which is especially relevant for tracker-cameras.
+
+We used one T-265 camera for visual odometry and one D-435 depth camera for both video input for neural net and for map-building (collision avoidance). T-265 suffers from "odometry drift" especially when engines are beat-up, which eventually happens after a number of crashes, so we have incorporated dampers to solve this problem.
+
+
+
+Finally, the drone with all equipment installed looks like this
+
+
+
+## Software
+
+Thus far we discussed things which are specific to our custom airframe. Things we are going to discuss next are applicable for Clover drone as well. Our software is containerized so it can be launched on every platform that supports Docker, be it Windows machine, Linux machine, Jetson or Raspberry Pi.
+
+We have split our drone software into two modules:
+
+* Pipeline, which manages communication with ROS.
+* Neural net module, which talks with the pipeline via sockets.
+
+The reason for this is simple - ROS supports only Python 2, and I do not feel like I'm building ROS with Python 3 because it is a bit troublesome. Our neural net, on the other hand, uses Pytorch which is Python 3 only, so the only way to run them both is to use inter-process communication of some sort.
+
+Apart from compatibility issue, such an arrangement allows us to run inference module anywhere we want, e.g. on more powerful desktop PC or even somewhere in the cloud (google collab? Why not!).
+
+This means that we can make our drone lighter by excluding heavy on-board computer and replacing it with something light like Raspberry Pi. Pipeline image is made as lightweight as possible, so it should be runnable even on really weak computers.
+
+More detailed instructions on how to build and run our software are available in our [Gitlab repo](https://gitlab.com/k0t1k/thegreateye/-/tree/master).
+
+## Neural net [^1]
+
+We use 3rd version of YoLo neural network, pretrained on custom dataset for 50 epochs.
+
+It runs 10-15 FPS on Jetson NX, which is enough for our task
+
+## Exploration and collision avoidance
+
+To make our drone useful and to operate it safely, we should somehow make the drone aware of its current position and surrounding objects. There are two ways we can solve this problem
+
+* Use pre-built map as a ground truth and then calculate the position with e.g. Particle Filter
+* Build map on-the-fly, while avoiding collisions and moving towards the goal
+
+The second approach is more robust, because it does not rely on any external map, which can be erroneous or just missing and hence we opted for it.
+
+We use a path planner, described in [^2]. In this paper Receding
+Horizon Next-Best-View Planner is presented, which uses Rapidly-exploring Random trees to navigate and explore the environment. It yields the following results, here is the occupancy map and the corresponding tunnel as it is seen by human being:
+
+
+
+
+
+But we want not only to detect them but to give him a mask as well, so, we have built this system that can give a mask to person.
+
+
+
+
+
+Drone lands on a landing platform with special hooks which will connect to four metallic contacts (highlighted) and charge the battery. In future we want to change battery, not just charge it, but the mechanism is very complex and requires making custom batteries and battery mounts, also, it constraints placement of cameras, payload and so on.
+
+For the general-purpose delivery drone, the working principle and hardware will remain the same, but software (neural net detector) will need an update.
+
+Stay safe folks!
+
+## References
+
+[^1]: MassaguΓ© Respall, Victor & Devitt, Dmitry & Fedorenko, Roman. (2020). Unmanned Aerial Vehicle Path Planning for Exploration Mapping. 1-6. 10.1109/NIR50484.2020.9290232.
+[^2]: Nisarg Pethani & Harshal Vora. (2020) https://github.com/NisargPethani/Face-Mask-Detection-using-YOLO-v3
diff --git a/docs/en/assemble_4_2.md b/docs/en/assemble_4_2.md
index c9249c68..0a91b102 100644
--- a/docs/en/assemble_4_2.md
+++ b/docs/en/assemble_4_2.md
@@ -1,5 +1,7 @@
# Clover 4.2 assembly
+Dimensional drawing βΒ [clover-4.2.pdf](https://github.com/CopterExpress/clover/raw/master/docs/assets/dimensional-drawing/clover-4.2.pdf).
+
## Fasteners size
> **Hint** During assembly, screws and racks of various sizes are used, using fasteners of the wrong size can damage the copter.
diff --git a/docs/en/assemble_4_2_ws.md b/docs/en/assemble_4_2_ws.md
index 7eb43e5f..9a2dd7b2 100644
--- a/docs/en/assemble_4_2_ws.md
+++ b/docs/en/assemble_4_2_ws.md
@@ -1,5 +1,7 @@
# Clover 4 assembly
+Dimensional drawing βΒ [clover-4.2-ws.pdf](https://github.com/CopterExpress/clover/raw/master/docs/assets/dimensional-drawing/clover-4.2-ws.pdf).
+
## Fasteners size
> **Hint** During assembly, screws and racks of various sizes are used, using fasteners of the wrong size can damage the copter.
diff --git a/docs/en/bennie.md b/docs/en/bennie.md
new file mode 100644
index 00000000..e51ab8be
--- /dev/null
+++ b/docs/en/bennie.md
@@ -0,0 +1,24 @@
+# Retail Drone - CopterHack 2021 article
+
+CopterHack-2021, team: Bennie and the Jetson TX2.
+
+My project is a drone that can scan a store shelf and determine if the representation of a specific brand is adequate for what the vendor paid for. In most retail stores, a brand will pay for space on a shelf in order to be more eye catching to the customer and eventually get more sales, which is why bigger brands are generally seen more. However because of either employee ineptitude or general non-compliance up to 15% of a brandβs space on a shelf that it paid for can be lost, which can lose the brand upwards of 5% loss in overall sales.
+
+Several apps have been released to fight this such as Clobotics, however they all require an employee to go around manually and take snapshots. I wanted to build a system where a shop owner could simply place the drone at a starting point, click a button and have their inventory done automatically within minutes.
+
+Since all inventory in a shop is usually on the shelves and I wanted to not have the drone rely on GPS I fitted the Cloverβs Pi camera in front for object detection and navigation. Rather than using map-based navigation since one canβt expect a shop owner to place markers perfectly on the ground, opencv2 has a built in ArUco marker detection method that identifies and draws a bounding box around all markers in frame. So once the drone takes off from the starting position, it identifies where the marker is in frame and uses the Cloverβs `navigate()` method to center the marker and its area to place the Clover approximately 1 metre from it.
+
+Whatβs expected is that the shop owner places markers at every different brandβs section in ascending order down an aisle. The drone has a specific marker ID itβs looking for and once itβs centered itself on the nearest marker, it determines its ID and moves either left or right depending if the identified marker is lower or higher than the target. This way the Clover moves down an aisle stopping at each marker until it reaches the target.
+
+In order to identify the number of items of each brand, Iβve trained a TensorFlow model and stored its metadata in a caffemodel file for the Python script to pull from. Every time the drone stops at a marker, a method is run that applies a convolutional neural net to the frame and determines how much of a specific item (right now the model is trained to recognize soda cans but can easily be taught other items) it at said marker (remember that each marker is to be placed at each brandβs individual section). In the video below, youβll see a POV video of my drone with two markers placed on the wall in my garage. What happens is that the drone takes off, centers itself on the first marker and as its ID is 140 and the target ID is 138, itβs driven left to the second marker which has a soda can hung next to it. It then identifies the soda can, conveying the number of cans of that brand to the shop owner before centering itself on the marker and landing due to it reaching the target marker.
+
+My main goal with this project was accessibility. I wanted to make a drone that could navigate purely based on its camera with computer vision tools that arenβt exclusive to MAVLink or ROS drones. By fitting the camera to the front not only would a user be able to get more functionality out if it than simply map-based navigation but would be able to make more useful applications such as shop keeping or security through facial recognition. With alterations to the left, right, front, back, up and down commands this script can be applied to any hackable drone and requires little to no prior experience to use.
+
+Check out the video below to see it in action:
+
+
+
+## Contact info
+
+* Email - [jadenbh12@gmail.com](mailto:jadenbh12@gmail.com)
+* Telegram - [@jadenbh12](tg://resolve?domain=jadenbh12)
diff --git a/docs/en/blocks.md b/docs/en/blocks.md
index 19699453..4078f9c7 100644
--- a/docs/en/blocks.md
+++ b/docs/en/blocks.md
@@ -14,7 +14,7 @@ For correct work of the blocks programming, `blocks` argument in the Clover laun
## Running
-To run Clover's blocks programming interface, [connect to Clover's Wi-Fi](wifi.md) and go to web-page http://192.168.11.1:8080/clover_blocks/ or click the link *Blocks programming* at the [main page](wifi.md#web-interface).
+To run Clover's blocks programming interface, [connect to Clover's Wi-Fi](wifi.md) and go to web-page http://192.168.11.1/clover_blocks/ or click the link *Blocks programming* at the [main page](wifi.md#web-interface).
The page looks as follows:
diff --git a/docs/en/blue_jay_eindhoven.md b/docs/en/blue_jay_eindhoven.md
new file mode 100644
index 00000000..ae7e76a3
--- /dev/null
+++ b/docs/en/blue_jay_eindhoven.md
@@ -0,0 +1,37 @@
+# Designing a drone and a path planning algorithm
+
+[CopterHack-2021](copterhack2021.md), team: **Blue Jay Eindhoven**.
+
+## Introduction
+
+We at Blue Jay Eindhoven are a student team of the Eindhoven University of Technology. We are doing research on drones that fly indoors, are interactive, autonomous, safe and helpful.
+
+We are participating in the Copterhack 2021, because COEX has a lot of knowledge about making a drone. With the help of COEX's expertise, we would be able to develop our drone further. However, the project with which we started the Copterhack turned out to be not that successful. We therefore also didn't get to have a more in depth discussion with COEX. The fact that we are not an open source company, added to this. We couldn't just share everything and when that one project failed, we first had to look at what we are going to share next. Because of these events, the collaboration part hasn't really lifted off.
+
+The information that you are going to find in this project summary is therefore not that specific developed for the Clover drone. It can however certainly be used to customize the Clover drone. In addition, it can also give a first overview for beginners on how to design a path planning algorithm and how the design process of a drone looks like.
+
+We are still planning on doing some research on the Clover drone itself. This will mainly be on the stability and movability of the our drone. But we are going to start with investigating it on the Clover drone. So there might be a nice further collaboration on this. In addition, we are also trying to implement the codes for the Clover drone onto our drones. By doing this, we will also be able to provide some feedback on it and develop it further.
+
+Now we will give you a short summary of our results on the Path Planning Algorithm and the Hardware Research that we have done. For the full reports, you can go to this google drive: https://drive.google.com/drive/folders/1vfWjWD5Qx38mDta0PvMFvAv6jC-mxF7U?usp=sharing.
+
+## Path Planning Algorithm
+
+It is investigated what the most optimal path planning algorithm is for the Clover drone. This is done since it was noted that this is not done in the base version of the drone. The path planning algorithm makes it possible that the drone flies autonomous in a much better way than without the algorithm.
+
+In the documentation, we have set up a plan to put this path planning algorithm to work on your drone. This is a low level algorithm, so everyone should be able to implement it. The algorithm does however need some sort of map from which it can get information on the possible paths. So that part, you still have to implement yourselves.
+
+## Hardware Research
+
+The report describes the internship project carried out at Blue Jay. As we focus on indoor drone application, we wishes to minimize the produced noise to improve user experiences. On the other hand, we also wish to improve the flying efficiency for benefiting flying time. As result, the project is about making the drone more efficient with less noise emitted during the operation. For producing design to approach the problem, design methodology has been applied. In the end the ducted fan design has been chosen through studied theory and experimenting. However, there are two additional requirements, an increase in amounts of sensors and an increase in propeller numbers to increase safety. These additional requirements result the drone has less flying time due to the increase in weight. However, the selected design still improved the efficiency of selected propeller.
+
+This hardware part is more of a general research that can be applied to all drones, including the Clover drone. If a group of high school or university students would like to do their own research on the Clover drone, they can use the research for ideas. They can for instance perform a project in which they design their own 3D printed ducted fans to use on the Clover drone. The research in the report would then be a good first read on how to design such a thing and what the performance results could be.
+
+In addition, the kind of propellers that are used on the Clover drone can also be adjusted. Maybe a group wants get a little smaller or larger propellers or even a different shape. The research done can then also help as a guide to decide what kind would be best for that specific use with respect to size and shape.
+
+It is also useful when one wants to use the code that the Clover drone uses, but also wants to develop their own drone. The hardware research can then be used as a guide on how you can do this. It states all kind of factors that should be taken into account and in what way you can do this.
+
+## Full Project Information
+
+To see what our project at Blue Jay is all about, you can watch the following video of our interim event: [https://www.youtube.com/watch?v=E\_8TTQN92pU&t=0s](https://www.youtube.com/watch?v=E_8TTQN92pU&t=0s). We state our user case, explain what we have achieved so far and what the plans are for the future.
+
+If you have questions or ideas, feel free to ask! You can contact us at [info@bluejayeindhoven.nl](mailto:info@bluejayeindhoven.nl).
diff --git a/docs/en/calibration.md b/docs/en/calibration.md
index 2b618a26..42d5e7fe 100644
--- a/docs/en/calibration.md
+++ b/docs/en/calibration.md
@@ -2,7 +2,7 @@
In order to perform the sensor calibration, select the *Vehicle Setup* tab and choose the *Sensors* menu.
-> **Caution** If you use the flight controller *COEX Pix*, all *Autopilot Orientation* columns must specify `ROTATION_ROLL_180_YAW_90`, otherwise the flight controller will not correctly perceive the tilt and rotation of the copter.
+> **Caution** If you use the flight controller [*COEX Pix*](coex_pix.md), all *Autopilot Orientation* columns must specify `ROTATION_ROLL_180_YAW_90`, otherwise the flight controller will not correctly perceive the tilt and rotation of the copter.
## Compass
diff --git a/docs/en/coex_gps.md b/docs/en/coex_gps.md
new file mode 100644
index 00000000..4b3876f9
--- /dev/null
+++ b/docs/en/coex_gps.md
@@ -0,0 +1,13 @@
+# COEX GPS
+
+The GNSS receiver **COEX GPS** is compatible with the [COEX Pix](coex_pix.md) flight controller. This receiver comes with a COEX Clover Drone Kit.
+
+## Port pinouts
+
+### Top view
+
+
+
+### Bottom view
+
+
diff --git a/docs/en/coex_pdb.md b/docs/en/coex_pdb.md
new file mode 100644
index 00000000..ab611a7d
--- /dev/null
+++ b/docs/en/coex_pdb.md
@@ -0,0 +1,15 @@
+# COEX PDB
+
+**COEX PDB** is the power distribution board used in [Clover 4 Drone kit](assemble_4_2.md).
+
+Board size: 35x35 mm.
+
+## Port pinouts
+
+### Top view
+
+
+
+### Bottom view
+
+
diff --git a/docs/en/coex_pix.md b/docs/en/coex_pix.md
index 305b2ac3..7516ca4f 100644
--- a/docs/en/coex_pix.md
+++ b/docs/en/coex_pix.md
@@ -35,9 +35,9 @@ The **COEX Pix** flight controller is a modified [Pixracer](https://docs.px4.io/
### Port pinouts
-
+
-
+
> **Note** On rev. 1.0 boards *RC IN* port and microSD slot are switched. Pinout for the *RC IN* port is the same on these boards.
@@ -70,6 +70,6 @@ The board utilizes low-noise DC-DC converters, voltage inputs have LC and ferrit
### Port pinouts
-
+
-
+
diff --git a/docs/en/contributing.md b/docs/en/contributing.md
index e51442d7..5f56437e 100644
--- a/docs/en/contributing.md
+++ b/docs/en/contributing.md
@@ -56,7 +56,7 @@ Prepare your article and send it as a pull request to the [Clover repository](ht
git checkout -b new-article
```
-4. Write a new article in the [Markdown](https://en.wikipedia.org/wiki/Markdown) format and save it in the `docs/ru` or `docs/en` folder (for example, `docs/en/new_article.md`).
+4. Write a new article in the [Markdown](https://en.wikipedia.org/wiki/Markdown) format and save it in the `docs/ru` or `docs/en` folder (for example, `docs/en/new_article.md`). Don't forget to give you contacts (e-mail / Telegram / ...) in articles on your projects.
5. Place additional visual assets in the `docs/assets` folder and add them to your article.
6. Add a link to your article to the appropriate section in the `SUMMARY.md` file (in the same folder as in the fourth step):
diff --git a/docs/en/copterhack2021.md b/docs/en/copterhack2021.md
new file mode 100644
index 00000000..136d455b
--- /dev/null
+++ b/docs/en/copterhack2021.md
@@ -0,0 +1,35 @@
+# CopterHack 2021
+
+CopterHack 2021 is a team competition for the development of open source projects for the Clover quadcopter platform.
+
+All information about the event can be found on the official website: https://coex.tech/copterhack.
+
+Full stream of the final: https://www.youtube.com/watch?v=Z06vxuAHmuE.
+
+
+
+
+
+## Intro
+
+People strive to teach artificial intelligence everything they can do themselves. We are taught to draw from childhood. And why not teach the drone to draw? At the moment, copters and graffiti are gaining popularity. So we decided to combine them.
+
+## Models and assembly
+
+
+
+
+
+To complete the project you need to have in stock:
+
+- spray paint
+- clover 4 kit
+- servo MG90S
+- 3D printer
+- spray can extension straw
+- velcro
+- 4 long screws and nuts M4 or M3
+- 2-4 short self-tapping screws M4 or M3.
+
+[Download](https://github.com/PerizatKurmanbaeva/D-drone/tree/master/details) and 3D-print details:
+
+- holder
+- screw
+- rack_holder_with_nut
+- rack x2
+- servo_holder.
+
+**Spray holder.** The spray holder is attached to the deck with 4 screws and nuts. To fasten the can to the holder, we used a tape with velcro. With 4 nuts and screws, we fix the drone's upper deck with spray holder.
+
+Holder weight: 90g.
+
+
+
+If the diameter of the can is less than the diameter of the holder, we use the part in the form of an arc, with the size of the difference between them. This helps us to fix the spray can firmly.
+
+**Pressing mechanism.** To push the valve, we will use a screw drive with a fixed nut. A bar with holes will be attached to the servo, which will include the racks attached to the nut. This helps the servo to move only on one axis, up and down. We also modeled the cap for the spray can button, since the surface of the nozzle is uneven.
+
+
+
+
+
+## Before launching
+
+### Configuring the servo scripts
+
+Before starting the copter, you need to download [servo.py](https://github.com/PerizatKurmanbaeva/D-drone/blob/master/examples/servo.py) and move it to RPi. You can simply copy and paste using the clipboard. Or copy it using the scp command. For instance:
+
+```bash
+scp servo.py pi@192.168.11.1:/home/pi
+```
+
+Then run the following commands remotely on the Raspberry Pi:
+
+```bash
+sudo pigpiod
+python servo.py
+```
+
+### Configuring the Web interface
+
+Download this [repository](https://github.com/PerizatKurmanbaeva/visual_ddrone) in .zip format. Copy to RPi and unpack using the following commands:
+
+```bash
+scp visual_ddrone-master.zip pi@192.168.11.1:/home/pi
+cd catkin_ws/src/clover/clover/www
+unzip /home/pi/visual_ddrone-master.zip .
+mv visual_ddrone-master ddrone
+```
+
+Now to open the web interface, click on the link [http://192.168.11.1/clover/drone](http://192.168.11.1/clover/drone).
+
+## Web interface
+
+Our drone is launched via [website](https://perizatkurmanbaeva.github.io/visual_ddrone). The web interface allows you to draw and encode what you draw in G-code. The coordinate data will be transmitted for further processing and execution by the copter.
+
+
+
+We pick the web interface to control the copter because it is easier for the user.
+
+
+
+## Flights
+
+
+
+## Special Thanks
+
+Project was created with financial support of International Ala-Too University.
+
+
diff --git a/docs/en/dromap.md b/docs/en/dromap.md
new file mode 100644
index 00000000..306d6653
--- /dev/null
+++ b/docs/en/dromap.md
@@ -0,0 +1,238 @@
+# DroMap: The Indoor Mapping Drone
+
+[CopterHack-2021](copterhack2021.md), team: **DroMap**. E-mail: [officialdromap@gmail.com](mailto:officialdromap@gmail.com).
+
+Team:
+
+* Shouq AlQahtani
+* Ameena AlMansouri
+* Noof AlMarri
+
+## Abstract
+
+In the modern era, the world is witnessing a magnificent development in the field of architecture and interior design. Due to architectural development, the current measuring tools such as metal tapes and leaser meters became insufficient for assisting both architects and interior designers in taking the measurements for buildings and facilities. Because the accuracy of obtained readings depends on the professionalism of the users and the nature of these tools is unidirectional, the measurement taking process becomes less efficient in terms of time and labor. Since drones have played an essential role in revolutionizing the world of science and automation due to their use in a huge number of daily life applications, an introduction of indoor drones in the field of mapping and architecture is indispensable. Hence, the DroMap project proposes an autonomous indoor drone that can navigate autonomously and create a map of the indoor environment along the way. For the aforementioned purpose, a LiDAR sensor is used to collect data of the indoor place which is sent to a host computer. Afterward, simultaneous localization and mapping algorithm utilizes these data to pave the way for creating a 2-dimensional map. This autonomous indoor mapping drone system is not prone to inefficiency and human errors like in manual mapping and has the potential to take indoor mapping to the next level in the near future.
+
+## Motivation
+
+### Problem Statement
+
+Architects lives are constantly in danger due to the nature of their work as they are supposed to enter buildings without knowing their structure, these dangers could potentially threaten their lives and can lead to many issues. According to [^1], there are 1.2 deaths per 100,000 architects and that job is ranked 19th among the most dangerous jobs in the United States. One example of a fatal accident is the accident of Bruno Travalja which happened in 2016, this architect fell from the 48th floor of a building while taking measurements. In addition to being dangerous, the process of mapping an indoor environment is time-consuming, especially in transferring the raw measurements into a 2-dimensional map [^2]. Therefore, the need for robot assistance in mapping and measurement taking processes reaches the peak. Autonomous indoor mapping using drones or robots is considered an important tool where the drone can reach different places which are inaccessible to humans due to space constraints or security reasons [^3].
+
+The use of robots has increased dramatically within the past decade due to their enormous potential in both civil and architectural applications. Specifically, in designing and building robots for mapping enclosed buildings. Even though most of the works were implemented on unmanned ground vehicles (UGV), the current experimental use of unmanned Ground vehicles for indoor mapping suffers from a few shortcomings. Particularly, most implementations suffer from low performance regarding time consumption and have difficulty accessing narrow places. Since UGVs have limitations in terms of time consumption and navigation rigidity, in the DroMap project we decided to use drones as a replacement for UGVs to map indoor sites. This is because drones are unique in their ability to traverse any 3D interior space without any restrictive concerns regarding space architecture. Additionally, since these vehicles are not required to remain on the ground, aerial vehicles can fully explore the extent of the indoor space, regardless of their interiors. Furthermore, unmanned aerial vehicles can access difficult to reach areas.
+
+A questionnaire was conducted for this project to study the need for an indoor mapping drone which involved 72 architects and interior designers. The following question was asked to have an estimate of the time taken by the targeted category for taking the measurements of a large building. According to the survey results, 61% of the sample consume more than 60 minutes to measure a large building. This shows that the measurement taking process is time-consuming.
+
+
+
+#### Technical Challenges
+
+* The positioning system calculates the odometry data based on the laser scanner poses. This might misestimate the droneβs position with respect to the surroundings.
+* The LiDAR readings could be infinite if the distance between the LiDAR and the surrounding walls exceeds the LiDAR range.
+* The communication between the Raspberry Pi and the PC relies heavily on Wi-Fi. Therefore, any loss in the Wi-Fi signal would terminate the communication between the drone and PC.
+
+#### Non-technical Challenges
+
+
+
+* The indoor environment could be full of obstacles, which impedes path planning process.
+* The mirrors, windows, and glass doors may affect the accuracy of the map as they are not detected correctly by the laser pulses.
+
+
+
+### Project Significance
+
+Measuring a room or a full building along with transforming the collected data to a full map is time-consuming and requires massive effort. DroMap helps architects and interior designers to measure and generate a fully constructed 2D map with less time and effort. To help us understand the problem better, we conducted a survey to assess the need for an indoor mapping drone. This project will provide a great advantage for architects and interior designers as it would save time and effort in the map construction process. In addition, it will assure great cooperation from both the computer and architecture fields.
+
+Generally, the process of mapping an indoor environment is composed of two phases; the first phase is the measurement taking phase and the second phase is the map drawing phase. However, the project introduces another way to create a map that is faster and requires less effort; as the measurements of the surroundings will be taken by the system once it is activated and processed by Simultaneous Localization and Mapping algorithms (SLAM) for building and updating maps as well as positions of an unknown environment in robotics in real-time. According to the survey, 94% of the sample agreed that it would be useful to have a robotic based measuring tool. Therefore, the proposed solution will successfully assist architects and interior designers in mapping indoor areas.
+
+
+
+Based on the conducted survey, accuracy is the most important characteristic to be satisfied with the project. The below figure demonstrates that 48 of the sample sizes care about having high accuracy. Moreover, the second most important feature to be reached is having a short scanning time, which highlights the importance of the project.
+
+
+
+Furthermore, since the project employs multiple concepts related to indoor robots and indoor data processing, it can be extended to assist other fields in Qatar rather than the architecture field only. For example, this project could be a great step towards training drones to handle different tasks related to search and rescue such as entering buildings on fire or finding a missing person in indoor places. This will serve to develop more technologies to process the indoor data in various environments and conditions, also to develop drones that are capable to operate in indoor areas with different functionalities.
+
+## Proposed solution
+
+DroMap project consists mainly of two major components: the drone and the drone add-on. The drone is responsible for the physical movement of the entire system. The drone add-ons consist of necessary sensors for mapping, path planning, and mounting equipment such as Raspberry Pi 4, RPLiDAR A1M8, Sonar, and range finder. The Raspberry Pi collects the data from the sensors. While the data is being collected by the Raspberry Pi, the Hector SLAM will process these data in real-time to formulate 2-dimensional maps. After that, the map will be sent wirelessly to a remote PC and visualized through RVIZ software tool.
+
+
+
+### Hardware/software to be used
+
+#### Hardware selection
+
+##### COEX Clover Drone kit
+
+Clover is a complete STEM educational programmable drone kit which includes unassembled quadcopter with four propellers and open-source software.
+
+* Limitless possibilities of a fully programmable drone (Open Source).
+* Drone can operate stably without GPS.
+* The Clover platform exploits the ROS framework.
+* Made especially for Indoor flights.
+
+##### Slamtec RPLiDAR A1M8
+
+LiDAR is low cost 2D 360Β° 12m scanning sensor.
+
+* Omnidirectional Laser Range Scanner 360Β°.
+* Compatible with ROS.
+* Very high sampling Rate 8k times, Considered as one of the Highest in the Current LiDAR industry.
+* Ideal for indoor Navigation and Localization using UAVS.
+
+##### Raspberry Pi 4 Model B
+
+Raspberry Pi is a single-board computer which is used as a companion computer.
+
+* Low energy consumption.
+* Connect the drone over Wi-Fi.
+* Responsible for flight autonomy.
+* Access and issue commands to peripherals.
+
+##### VL53L1X RangeFinder Sensor
+
+Laser Ranging Sensor Module Rangefinder. One of the smallest time-of-flight 940 nm laser VCSEL. Measuring absolute range up to 4 meters.
+
+* The Range Finder Optical Ranging sensor is an integrated sensor with embedded infrared, eye-safe laser, advanced filters and high-speed photon detection arrays.
+* Range finder Supports 400cm sensing range, suitable for many applications.
+
+#### Software selection
+
+##### Robot Operating System (ROS)
+
+A framework which runs on Linux operating system, and will be used as a firmware to control and monitor the system.
+
+##### COEX Virtual Machine
+
+A Linux operating system that has a pre-installed ROS along with some necessary dependencies and packages in addition to a pre-configured Gazebo environment.
+
+##### Gazebo
+
+The simulation tool that will be used to test and try different mapping and automation approaches.
+
+##### Visual Studio Code
+
+A text editor to write python scripts to program the drone.
+
+##### RVIZ
+
+A visualization tool to visualize the LiDAR readings.
+
+##### QGroundControl
+
+QGroundControl supports full flight control and mission planning for any MAVLink enabled drone.
+
+## Implementation
+
+The implementation divided into two parts. The first part is to work on the simulation software, and the second part is to work on the physical hardware components. The simulation software helped us to have an estimation of how the system will work in the physical world. Through the simulation software, we were able to identify some implementation challenges and finding solutions for them. In addition, the simulation software gave us the opportunity to process the sensors data and test the sensors before testing them physically, which speeded up the process of working on the physical components and testing them. Moreover, it was found that the results obtained from the simulated components and the physical components were close to each other. In this section, we demonstrate the progress that happened in both the physical and the virtual worlds.
+
+### The Simulation Software
+
+#### The Mapping algorithm
+
+The Hector SLAM algorithm was selected in this project due to its high efficiency in mapping indoor environments, its ability to work with drones efficiently, and its facility to be integrated with the selected LiDAR sensor. Moreover, it consumes less power in handling some cases where the indoor environment is dynamic, and the obstacles are moving [^4]. Hector SLAM is an algorithm that is used widely in mapping unknown indoor environments. The algorithm is LiDAR-based, and it uses the Gaussian Newton equation to construct accurate maps from the laser scanner data [^5]. Moreover, this algorithm does not use any odometry data to estimate the robotβs position with respect to its surroundings. Instead, the algorithm utilizes the difference in the laser scanner locations to calculate the odometry [^6]. This feature qualifies the Hector SLAM algorithm to work optimally with the unmanned aerial vehicles given that in most of the cases, the odometry data is calculated from processing the wheels motion and that is not the case with UAVs. In addition, the algorithm provides an accurate estimation of the robotβs position with respect to its surroundings.
+
+#### The Exploration Algorithm
+
+The method used in this project to explore the indoor sites is selected to be the wall following algorithm due to its effectiveness and simplicity. The implementation of that algorithm can be summarized into three main functions which are: `left_side()` , `move_forward()`, and `take_stop_action()` which are represented in a while loop as following:
+
+> **Note** The implementation of the wall following algorithm highly depends on the LiDAR used in the simulator which is Hokuyo laser scanner with 360 rotation angle and 720 readings per 32ms. However, the physical LiDAR used is RPLiDAR A1M8 which provides 360 readings per rotation.
+
+```python
+while(1):
+ left_side()
+ move_forward()
+ take_stop_action()
+```
+
+```python
+left_side()
+```
+
+This function uses the LiDAR readings that are pointing exactly to the west of the drone, it measures how far the drone is from the left wall, then adjust the drone to it such that the drone is approximately 0.7 m away from the left wall. The reason of using 0.7 meters is because the drone has higher error that expected. Therefore, a while loop is used to ensure that the drone is far enough from the wall.
+
+```python
+move_forward()
+```
+
+This function was implemented to safely move the drone forward without hitting a wall, or without skipping an outer corner. The logic behind this algorithm is that it uses the concept of the right angle, and multiple readings which correspond to different angles to measure the safe distances. The bellow flow chat demonstrates the logic of that algorithm in details.
+
+
+
+When the function ends, the drone will either stop after an inner corner, or an outer corner.
+
+```python
+take_stop_action()
+```
+
+This function handles two different situations:
+
+* The first situation is that the drone may stop when it faces an inner corner, this can be detected by measuring the distance from the front wall, then compare the current distance of the left LiDAR reading with the previously recorded one, if the comparison showed that there is a small difference between these two readings, then this means that the drone must rotate to the right and continue its path.
+* The second situation is that the drone may stop when it detects an outer corner, the logic is exactly like the first situation except, that the drone must be away from the front wall (with distance greater than 1.5 meter). In addition, the difference between the current left LiDAR reading, and the previously recorded reading must be greater than 0.5 m. If this is the case, then the drone has stopped because of an outer corner. Therefore, the drone must rotate to the left and continue its path.
+
+The following video illustrates a ROS Simulation test on Wall Following Algorithm:
+
+
+
+#### Testing
+
+
+
+The above figure demonstrates the drone exploring a maze autonomously while constructing a 2D map in real-time. The terminal shows the safe distances to move forward, these distancing where calculated using the aforementioned flowchart.
+
+The following figures show a constructed 2D map of different environments.
+
+
+
+
+
+The following video demonstrates an autonomous maze exploration with Hector SLAM responsible for constructing a 2D map:
+
+
+
+### The physical hardware
+
+This section illustrates the progress done regarding the hardware components. The first step done was to establish a Wi-Fi communication between the Raspberry Pi and the remote PC. The second step was to install the hector SLAM and robot Localization packages in the Raspberry Pi to visualize the maps remotely.
+
+#### Initial Setup
+
+The drone is assembled and configured correctly to accomplish the autonomous mapping mission. The RPliDAR A1M8 and all other necessary sensors are mounted on the drone as shown in the figure bellow.
+
+
+
+To set up the drone ready for mapping, the raspberry pi image created by COEX was installed on the micro-SD card. COEX Raspberry Pi image, COEX pixracer image and COEX virtual machine were selected as they contain all the necessary tools and packages to work efficiently with clover platform. The installed platform is based on Raspbian operating system and ROS. After flashing the image on the SD, the next step is to connect clover to Wi-Fi.
+
+#### Network Setup
+
+The drone produces a map of an unknown indoor environment by sending data received from the sensors to a remote pc. The transmission takes place over a wireless channel to get a map in real-time. One of the essentials for DroMap is to setup the connection between the drone and the remote PC. In DroMap Project ROS network must satisfy the listed below requirements:
+
+1. There must be a full bidirectional communication between all the nodes.
+2. Every component in the network must advertise its name.
+3. In ROS network one of the components must be declared as the ROS master. Specifically, the ROS master is the drone (Clover-6064).
+4. All ROS packages needed in the project, must use the ROS master.
+
+All these requirements are fulfilled in our design.
+
+#### Required packages
+
+After the installation of ROS, the drone was ready to install RPLidar ROS package and Hector SLAM. These packages are installed by cloning them in a catkin workspace src folder. Then build them by running catkin build. The following commands were entered in the terminal show the process of installing RPLidar package and hector SLAM in raspberry pi. The `rplidar_ros` package is responsible for retrieving the RPLidar data and hector SLAM package is responsible for building maps. `rplidar_ros` and `hector_slam` packages ware installed from GitHub.
+
+#### Testing
+
+The testing phase was divided into several stages in order to test the sensor and the SLAM algorithm in several closed places. This makes it possible to identify obstacles and risks that may face us in the future.
+
+We did several of the following elementary tests:
+
+* Firstly, we flew the drone to obtain maps using Hector Mapping with the remote control.
+* Secondly, we have moved to the automation stage of implementing the codes applied in the simulator.
+* Finally, From here we did some tests, for example, the drone flies to the wall, and then lands after getting a wall reading. And tests are still going on for a fully automatic flight.
+
+## References
+
+[^1]: βThe 20 deadliest jobs in America, ranked,β CBS News. https://www.cbsnews.com/pictures/the-20-deadliest-jobs-in-america-ranked/4/.
+[^2]: A. Kovalchenko, βHow To Carry Out a Survey and Site Measure,β 2012. https://essenziale-hd.com/2012/10/28/how-to-carry-out-a-survey-and-site-measure/.
+[^3]: D. HΓ€hnel, W. Burgard, and S. Thurn, βLearning compact 3D models of indoor and outdoor environments with a mobile robot,β Rob. Auton. Syst., vol. 44, no. 1, pp. 15β27, 2003, doi: 10.1016/S0921-8890(03)00007-1.
+[^4]: M. Eliwa, A. Adham, I. Sami, and M. Eldeeb, βA critical comparison between Fast and Hector SLAM algorithms,β / REST J. Emerg. trends Model. Manuf., vol. 3, no. 2, pp. 44β49, 2017, [Online]. Available: www.restpublisher.com/journals/jemm.
+[^5]: J. M. Santos, D. Portugal, and R. P. Rocha, βAn evaluation of 2D SLAM techniques available in Robot Operating System,β 2013 IEEE Int. Symp. Safety, Secur. Rescue Robot. SSRR 2013, 2013, doi: 10.1109/SSRR.2013.6719348.
+[^6]: H. Gossett, βBuilding an Autonomous Indoor Drone System,β University of Mississippi, 2018.
diff --git a/docs/en/events.md b/docs/en/events.md
new file mode 100644
index 00000000..220f6daa
--- /dev/null
+++ b/docs/en/events.md
@@ -0,0 +1,5 @@
+# Events
+
+Clover is being used in a lot of educational events and competitions, such as WorldSkills, NTI Olypics, Copter Hack, Innopolis Open Robotics, etc.
+
+This section contains articles written specifically for a particular event.
diff --git a/docs/en/fpv_clover_4_2.md b/docs/en/fpv_clover_4_2.md
new file mode 100644
index 00000000..339397e9
--- /dev/null
+++ b/docs/en/fpv_clover_4_2.md
@@ -0,0 +1,94 @@
+# Installing and configuring FPV equipment
+
+## Preparing and installing the FPV camera and transmitter
+
+1. Install the small mounting deck onto the main frame.
+
+
+
+
+
+
+
+
+
+5. Solder the JST-male connector to the power wires of the camera.
+
+
+
+
+
+
+
+
+
+ > **Caution** If voltage is applied to a transmitter without an antenna, there is a high probability that it will burn out.
+
+9. Place the receiver onto the mounting deck, securing it with ties.
+
+
+
+10. Place the mounting deck with the receiver on the bottom of the aircraft.
+
+
+
+11. Place the camera in the bracket and secure it with the 4 attached bolts. The camera should be at an angle of 15Β°-20Β° relative to the plane of the aircraft.
+
+
+
+
+
+
+
+13. Connect the camera's power cable to the power JST soldered to the *BAT+* and *GND* pads on the power distribution board.
+
+14. Connect the transmitter power cable to JST at 5V.
+
+
+
+## Setting up and connecting FPV goggles
+
+1. Install the two supplied antennas on the glasses.
+2. Turn on the glasses by holding the power button for 3-4 seconds.
+3. Turn on the aircraft and make sure the transmitter LED is blue.
+4. Press the *Auto Search* button on the glasses to automatically search for an available radio channel.
diff --git a/docs/en/generative_design_frame.md b/docs/en/generative_design_frame.md
new file mode 100644
index 00000000..161f83ad
--- /dev/null
+++ b/docs/en/generative_design_frame.md
@@ -0,0 +1,95 @@
+# 3D-printed Generative Design Frame
+
+## ADDI Copterhack 2021 Project
+
+
+
+### Contact
+
+[Website](https://www.aachen-drone.de),
+[Mail](mailto:daniel.honies@rwth-aachen.de),
+Telegram: @danielhonies.
+
+## Introduction
+
+At the Aachen Drone Development Initiative we aim to develop a new frame for the clover drone by implementing the latest state of the art CAD-Design techniques as well as advanced manufacturing methods.
+
+Three main goals have to be taken into consideration when designing a new frame:
+
+- Decreasing the Weight
+- Improving Durability
+- Increasing Safety
+
+For the first stage of the design we will focus on the first two points.
+
+## Software
+
+For designing our drone we use Autodesk Fusion 360. It comes with a generative design feature. This makes it possible to create rule-driven designs. First the preserved geometry is defined. Usually this includes all kinds of mounts like motor mounts, flight controller mounts, RPi mount etc. Then obstacle geometry is defined. This for example includes space for the propellers and the airflow. After that forces are defined. Then Fusion 360 will automatically calculate optimal connections for the aforementioned preserved geometry.
+
+
+
+
+
+
+
+
+
+
+
+
+
+The following is an example of assembling an electromagnetic capture circuit on a breadboard.
+
+> **Info** It is recommended to lay the wiring between the elements on the back side of the board (in the following images, the wiring is done over the diagram for illustrative purpose).
+
+1. Place the Schottky diode, 10K resistor, and transistor on the soldering board.
+
+
+
+2. Solder the contacts on the other side of the board and bite off the remaining element legs.
+3. Connect the pins of the resistor and the two outer legs of the transistor.
+
+
+
+4. Connect the center leg of the transistor and the leg of the Schottky diode (opposite to the gray marking strip).
+
+
+
+5. Cut the required amount of magnetic grab wire and solder it to the pins of the Schottky diode.
+
+
+
+6. Solder the *Dupont* - male wires to the transistor and diode leg (red, black wires), and the *Dupont* - fmale wire to the opposite transistor leg (white wire).
+
+
+
+## Checking the operation of the electromagnetic gripper
+
+In order to check the operation of the gripper, apply a voltage of 5V to the signal wire. You can use the *Dupont* dad-dad wire for that.
+
+
+
+After applying voltage, the magnet should turn on.
+
+## Connecting to Raspberry Pi
+
+Connect the magnetic gripper to a Raspberry Pi for software activation.
+
+
+
+An example of the code activating the magnetic gripper can be found [here](gpio.md#connecting-an-electromagnet).
+
+## Connecting to Arduino
+
+Connect the gripper to the Arduino Nano board in order to control it manually.
+
+It is convenient to place it on the same soldering board β insert it into the appropriate holes and solder it from the back to the board.
+
+
+
+Then connect the signal output of the circuit to the selected port and solder the *Dupont* female wire to the selected signal port on the board.
+
+
+
+## Installation of electromagnetic gripper
+
+1. Install an electromagnet into the center hole on the gripper deck.
+2. Use a zip tie to pull the assembled circuit to the back of the deck.
+3. Plug the Arduino *D11* signal pin into one of the *AUX* pins on the flight controller.
+4. Plug the power wire of the electromagnetic gripper to JST 5V.
diff --git a/docs/en/mechanical_grip.md b/docs/en/mechanical_grip.md
new file mode 100644
index 00000000..9b792c80
--- /dev/null
+++ b/docs/en/mechanical_grip.md
@@ -0,0 +1,69 @@
+# Assembling and setting up a mechanical gripper
+
+1. Combine the main gripper plates.
+
+
+
+2. Install the servo in the appropriate groove in the center of the plates with the axle gear in the middle.
+
+
+
+3. Hold down the gripper plates with the small spacers.
+
+
+
+
+
+5. Fix the gripper structure with self-tapping screws.
+
+
+
+6. Turn the servo gear to the end position.
+
+
+
+7. Install the cruciform mount onto the gear and secure it using the screw attached to the servo.
+
+
+
+8. Cut the cruciform mount.
+
+
+
+
+
+
+
+11. Fasten the grip claws with small self-tapping screws so that their angle is 25Β°β40Β°.
+
+
+
+12. Install the assembled grip onto the aircraft from below.
+
+
+
+
+
+14. Go to the *Radio* tab to control capture with the remote control.
+15. In the *AUX 1/2 Passthrough RC channel* parameter, select the desired channel.
+16. Now, when you switch the toggle switch of the corresponding channel, the capture will be closed or opened.
diff --git a/docs/en/models.md b/docs/en/models.md
index 17e42531..55ecd452 100644
--- a/docs/en/models.md
+++ b/docs/en/models.md
@@ -80,6 +80,24 @@ This page contains models and drawings of some of the drone parts. They can be u
+## Clover 4.2 WorldSkills
+
+### Milling
+
+| Preview | Part | File |
|---|---|---|
![]() |
+
+ Big leg. + Function: Extended footing element. + ΠΠ°ΡΠ΅ΡΠΈΠ°Π»: Monolithic polycarbonate 2mm. + Quantity: 2 ΡΡ. + |
+ big_leg.dxf |
+
diff --git a/docs/en/power.md b/docs/en/power.md
index ca1c1b82..85f26e2b 100644
--- a/docs/en/power.md
+++ b/docs/en/power.md
@@ -15,7 +15,7 @@ If there is no voltage indicator or manual calibration is not possible, set the
* Put the battery voltage into the prompt and click *Calculate*.
* Press *Close* to save the calculated value.
-
+
Further reading: https://docs.qgroundcontrol.com/en/SetupView/Power.html.
@@ -28,7 +28,7 @@ Further reading: https://docs.qgroundcontrol.com/en/SetupView/Power.html.
3. Connect the battery when prompted.
4. Wait for the *Calibration complete*.
-
+
Further reading: https://docs.px4.io/v1.9.0/en/advanced_config/esc_calibration.html.
diff --git a/docs/en/seeding_drone.md b/docs/en/seeding_drone.md
new file mode 100644
index 00000000..48fe0d5a
--- /dev/null
+++ b/docs/en/seeding_drone.md
@@ -0,0 +1,322 @@
+# Seed spreading quadcopter
+
+[CopterHack-2021](copterhack2021.md), team **MINIONS**.
+
+Have you ever wondered what a world without trees would look like? Close your eyes, and try to imagine a desolate Earth. There'd be no more paper, and everyone would have to resort to technological use - that is, if anyone was left. Trees are a crucial factor to our existence not only because they produce paper, lumber and chewing gum, but because they serve an important role in the carbon cycle.
+
+Ever since the industrial revolution between 1760 and 1840, the world has been in a never-ending carbon chaos. Trees and Plankton are our only saviours in terms of handling this problem, and we can only control one of them, trees.
+
+We need to save trees by protecting them from the destructive human activities like clearance of forests, deforestation for urbanization, etc. Trees are the lungs for the earth. It is an important part of natureβs ecosystem. They balance the soil composition and also act as the barrier for wind and storm. Thus, they provide various uses to the ecosystem. For these reasons, itβs imperative that we save trees.
+
+Since there are a lot of dangerous and difficult-to-reach landsides for humans to plant, the most viable alternative is to use drones for plantation in those regions.
+
+Seed-firing drones will, as the name suggests, fire seeds into fertile soil to allow millions of trees to grow back after being cut down for industrial use. If the rate of planting exceeds the rate of cutting, eventually we will restore the trees we once felled.
+
+
+
+## Our Aim
+
+We will make drones able to hold seeds onboard and drop them in an area which we drove in a special application. We can control the density of the seeds and the height of the drop. We also thought about protection of the seeds from insects, animals and dehydration. We choose the earth ball technique invented by Masanobu Fukuoka, aka Fukuoka Technique. This earth ball contains all needed elements to grow, plant seeds and earth for protection. When we drop it on the ground, the earth ball will hold seeds until it gets the needed amount of water and seeds will begin to grow.
+
+YouTube video link - [https://www.youtube.com/embed/Nz1w59v451U](https://www.youtube.com/embed/Nz1w59v451U).
+
+We achieved to do small seeding missions but we faced some problem about autonomous flying with GPS.
+
+We coated our battery to protect it from cold weather, seeding missions need to start in winter since apple seeds need to stay in a cold place for some time to break dormancy.
+
+- [Seed capsules](#seed-capsules)
+- [How to assemble seeding mechanism to clover 4.2 drone](#how-to-assemble-seeding-mechanism-to-clover-42-drone)
+- [How to control the seeding mechanism](#how-to-control-the-seeding-mechanism)
+- [Programming](#programming)
+
+## Files
+
+Link for the all files used in this project: [https://github.com/Sahinysf/TreeSeedQuad](https://github.com/Sahinysf/TreeSeedQuad).
+
+## Seed capsules
+
+### Fukuoka technique
+
+In southern Japan, the Japanese farmer and philosopher Masanobu Fukuoka invented a seed ball planting technique. The method is regarded as a natural farming technique that requires no machines, no chemicals and very little weeding. By the use of seed balls, land is cultivated without any soil preparation.
+
+
+
+Advantages of seed balls:
+
+- It is simple and easier to make seed balls without machines.
+- Easier for reforestation and plantation in difficult terrains.
+- Contribute to protect soil, environment and livelihood.
+- It is an organic technique and doesnβt use any chemicals.
+- It is a low-cost method compared to traditional afforestation/reforestation techniques.
+- It requires low maintenance.
+
+### Which Seeds can be used?
+
+Any seed which grows in your area (In our itβs apple seed).
+
+Size and weight of the seed capsule: size and Weight of seed capsules are very important for this project. After some experiments we decided that best size is 16-18mm diameter and maximum weight is 10 g.
+
+Required materials for making seed balls:
+
+1. 1 bucket of clay
+2. 1 bucket of organic dark soil / compost
+3. 1 bucket of water (amount of water may vary depending on the soil type)
+4. ΒΌ bucket of seeds
+
+Steps for making seed balls:
+
+1. Collect same quantity of both clay and organic soil. For example, if you use one bucket of clay, then you should mix with one bucket of organic soil.
+2. Make sure that clay and organic soil fine particles.
+3. The clay and organic soil texture should be wet but not sticky
+4. Take a bit of mixture and roll it into balls. Test the ball by throwing it on a flat surface. If the ball doesnβt break easily, it means it has got good bonding.
+5. Seed balls must be a perfectly round shape otherwise they will be stuck while throwing with the quadcopter
+6. Insert seeds (1 to 2 seeds per seed ball for permanent trees such as mahogany, sandalwood, orange, moringaβ¦) (Β± 5 seeds per seed ball for vegetables, flowers, grasses, cloversβ¦)
+7. Dry the seed balls for one to two days in a shaded area, if properly dry, the seed balls will be protected from external predators such as chickens, birds, ratsβ¦
+
+
+
+Second technique - paper seed capsules.
+
+This method was influenced by a Korean newspaper that contained seed that could be planted outside after reading it.
+ Paper seed capsules :
+
+Required materials:
+
+1. Any kind of paper
+2. Water
+3. Blender
+4. Seeds
+
+Steps for making paper seed balls:
+
+1. Shred all of your paper.
+2. Put paper in blender and add water, after 2 minutes blend.
+3. Squeeze all the water out with paper.
+4. Add seeds and give round shape.
+5. Let it dry overnight.
+
+
+
+Advantages of paper balls:
+
+- Easy to find materials.
+- Environmentally friendly.
+
+REREFENCES
+
+
+
+### GPS Module
+
+We installed the GPS Module to the top using 2 Nylon rack (40 mm):
+
+
+
+We coated the battery to protect it from the cold weather:
+
+
+
+## How to control the seeding mechanism
+
+Electronic part of seed dropping mechanism consists of:
+
+- Raspberry Pi 4 B of COEX Clover 4.
+- 2 Micro Servo Motors SG90.
+- PDB (Power Distribution Board) of COEX Clover 4.
+
+Servo motorβs signal pins are connected to Raspberry Piβs Hardware PWM pins 32 and 33, and power is taken from Power Distribution Board (5 V).
+
+
+
+### Explanation of code for controlling servo motors
+
+Servo motors are controlled using a PWM (Pulse-Width Modulation) signal from Raspberry Pi. PWM controls the amount of time when signal is HIGH or LOW within a certain period of time. Duty Cycle β percentage of time when signal is HIGH.
+
+In a table below it's presented the duty cycle of Servo Motor SG90 of each angle of servo motor. In order to use duty cycle in code we need to convert time to percentage by dividing duty cycle time by the total PWM period.
+
+What we get is:
+
+- -90Β° rotation angle or 2ms Duty Cycle => 1/20*100% = 5% Duty Cycle.
+- 90Β° rotation angle or 2ms Duty Cycle => 2/20*100% = 10% Duty Cycle.
+- 0Β° rotation angle or 1,5ms Duty Cycle => 1,5/20*100% = 7,5% Duty Cycle.
+
+
+
+Weβll do this by using the RPi.GPIO library and writing Python code on the Raspberry Pi.
+
+First, import the RPi.GPIO library and the sleep function:
+
+```python
+import RPi.GPIO as GPIO
+from time import sleep
+```
+
+Then, setup the GPIO mode as BOARD:
+
+```python
+servo = 33
+GPIO.setmode(GPIO.BOARD)
+GPIO.setup(servo, GPIO.OUT)
+```
+
+Next, create a variable for the servo, PWM. Then, send a 50 Hz PWM signal on that GPIO pin using the `GPIO.PWM` function. Start the signal at 0:
+
+```python
+pwm=GPIO.PWM(servo, 50)
+pwm.start(0)
+```
+
+Use the `ChangeDutyCycle` function to write duty cycle percentages to the servo motor.
+
+```python
+pwm.ChangeDutyCycle(5) # left -90 deg position
+sleep(1)
+pwm.ChangeDutyCycle(7.5) # neutral position
+sleep(1)
+pwm.ChangeDutyCycle(10) # right +90 deg position
+sleep(1)
+```
+
+## Programming
+
+In order for the mission to be achievable in the best way and within our reach, we were required to utilize the threading in Python.
+
+Simple mission code:
+
+```py
+import threading
+import time
+import rospy
+from clover import srv
+from std_srvs.srv import Trigger
+import RPi.GPIO as GPIO
+
+rospy.init_node('flight')
+
+get_telemetry = rospy.ServiceProxy('get_telemetry', srv.GetTelemetry)
+navigate = rospy.ServiceProxy('navigate', srv.Navigate)
+navigate_global = rospy.ServiceProxy('navigate_global', srv.NavigateGlobal)
+set_position = rospy.ServiceProxy('set_position', srv.SetPosition)
+set_velocity = rospy.ServiceProxy('set_velocity', srv.SetVelocity)
+set_attitude = rospy.ServiceProxy('set_attitude', srv.SetAttitude)
+set_rates = rospy.ServiceProxy('set_rates', srv.SetRates)
+land = rospy.ServiceProxy('land', Trigger)
+
+servo1 = 33 # PWM pins
+servo2 = 32
+
+GPIO.setmode(GPIO.BOARD) #set pin numbering system
+
+GPIO.setup(servo1,GPIO.OUT)
+GPIO.setup(servo2,GPIO.OUT)
+
+pwm1 = GPIO.PWM(servo1,50) #create PWM instance with frequency
+pwm2 = GPIO.PWM(servo2,50)
+
+pwm1.start(0) #start PWM of required Duty Cycle
+pwm2.start(0)
+
+
+def servo_drop(seconds): #function to drop seed capsules from 2 tanks
+ print("Dropping")
+
+ i = 1 #variable to choose which tank
+ for num in range(seconds/2):
+ if(i == 1): #first tank
+ pwm1.ChangeDutyCycle(10) # release one seed capsule
+ time.sleep(0.5)
+ pwm1.ChangeDutyCycle(5) # push then drop the capsule
+ time.sleep(0.5)
+ i = 2 #changing the variable for to use the second tank in next dropping
+
+ elif(i == 2): #first tank
+ pwm2.ChangeDutyCycle(10) # release one seed capsule
+ time.sleep(0.5)
+ pwm2.ChangeDutyCycle(5) # push then drop the capsule
+ time.sleep(0.5)
+ i = 1 #changing the variable for to use the first tank in next dropping
+
+ print(num)
+ time.sleep(2)
+
+
+if name == "main":
+ # Take off and drone 10m above the ground
+ navigate(x=0, y=0, z=10, frame_id='body', auto_arm=True)
+
+ # rospy waits for 10 seconds to take off
+ rospy.sleep(10)
+
+ # Dropping starts simultaneously with flying forwards 5 meters
+ d = threading.Thread(target=servo_drop, args=(18,)) # 18 is the sum of all the time that the drone hovers after take off
+ d.start()
+
+ navigate(x=5, y=0, z=0, frame_id='body')
+
+ #rospy waits for 8 seconds to fly forward
+ rospy.sleep(8)
+
+ # Fly right 1 m
+ navigate(x=0, y=1, z=0, frame_id='body')
+
+ #rospy waits for 2 seconds to fly right
+ rospy.sleep(2)
+
+ # Fly backward 5 m
+ navigate(x=-5, y=0, z=0, frame_id='body')
+
+ #rospy waits for 8 seconds to fly backward
+ rospy.sleep(8)
+
+ # Perform landing
+ land()
+
+pwm1.stop()
+pwm2.stop()
+GPIO.cleanup()
+```
+
+### References
+
+- https://www.nationalgeographic.com/environment/article/deforestation
+- http://www.fao.org/fileadmin/templates/rap/files/NRE/Forestry_Group/Landslide_PolicyBrief.pdf
+- https://earthenginepartners.appspot.com/
+
+## Developed by Team MINIONS
+
+Special thanks to International Ala-Too University for funding the Clover 4 kits.
+
+
diff --git a/docs/en/setup.md b/docs/en/setup.md
index 29b543c1..4d151cf2 100644
--- a/docs/en/setup.md
+++ b/docs/en/setup.md
@@ -29,6 +29,8 @@ Main article: https://docs.qgroundcontrol.com/en/SetupView/Firmware.html
We recommend using the modified version of PX4 by CopterExpress for the Clover drone, especially for autonomous flights. Download the latest stable version **from our GitHub**.
+> **Info** For Pixhawk-based quadcopters there is a separate firmware version. See details in "[Pixhawk / Pixracer firmware flashing](firmware.md)" article.
+
Flash the flight controller with this firmware:
@@ -68,12 +70,12 @@ This is how the main QGroundControl settings window will look like:
### Selecting the airframe
-
+
1. Open the *Vehicle Setup* tab.
2. Select the *Airframe* menu.
3. Select the *Quadrotor X* airframe type.
-4. Select the *Generic Quadrotor X* from the dropdown menu.
+4. For Clover 4 select *COEX Clover 4* from the dropdown menu. Otherwise select *Generic Quadrotor X*.
5. Return to the top of the list and press *Apply and Restart* button, confirm by pressing *Apply*.
6. Wait for the settings to be applied and for the flight controller to restart.
@@ -87,6 +89,8 @@ Press the *Save* button to save the changed value to the flight controller. Chan
#### Configuring PID regulators
+> **Info** Selecting *COEX Clover 4* frame subtype doesn't require setting PID coefficients.
+
##### Averaged PID coefficients for the Clover 4 drone
* `MC_PITCHRATE_P` = 0.087
diff --git a/docs/en/simple_offboard.md b/docs/en/simple_offboard.md
index f0f71823..b5f10066 100644
--- a/docs/en/simple_offboard.md
+++ b/docs/en/simple_offboard.md
@@ -295,6 +295,8 @@ Parameters:
* `thrust` β throttle level, ranges from 0 (no throttle, propellers are stopped) to 1 (full throttle).
* `auto_arm` β switch the drone to `OFFBOARD` and arm automatically (**the drone will take off**);
+The positive direction of `yaw_rate` rotation (when viewed from the top) is counterclockwise,`pitch_rate` rotation is forward, `roll_rate` rotation is to the left.
+
### land
Switch the drone to landing [mode](modes.md) (`AUTO.LAND` or similar).
diff --git a/docs/en/simulation.md b/docs/en/simulation.md
index 36362adb..733266b2 100644
--- a/docs/en/simulation.md
+++ b/docs/en/simulation.md
@@ -32,3 +32,9 @@ The simulation environment is based on the following components:
* ROS packages and Gazebo plugins.
+
+## Video
+
+Short video review of the simulator:
+
+
diff --git a/docs/en/sitl.md b/docs/en/sitl.md
index e3b91a5d..017dbefd 100644
--- a/docs/en/sitl.md
+++ b/docs/en/sitl.md
@@ -1,7 +1,7 @@
PX4 Simulation
===
-> **Hint** This article is about running a standalone PX4 simulation with a generic quadcopter. Consider using [our configuration](simulation.md) for a more Clover-like experience.
+> **Warning** This article is about running a standalone PX4 simulation with a generic quadcopter and **is outdated**. Consider using [our configuration](simulation.md) for a more Clover-like experience.
Main article: https://dev.px4.io/en/simulation/
diff --git a/docs/en/sonar.md b/docs/en/sonar.md
index aa8cc118..95ab5fb9 100644
--- a/docs/en/sonar.md
+++ b/docs/en/sonar.md
@@ -12,11 +12,11 @@ The distance gage is attached to the body using double-sided tape. For obtaining
### Connection
-Connect HC-SR04 to Raspberry Pi according to the connection diagram. Use 1.0 and 2.2 k⦠resistors and any free GPIO pins, e.g., 23 and 24:
+Connect HC-SR04 to Raspberry Pi according to the connection diagram. Use 1.0 and 2.2 kΞ© resistors and any free GPIO pins, e.g., 23 and 24:
-> **Hint** Instead of a 2.2 k⦠resistor, you can use two 1 k⦠resistors connected in series.
+> **Hint** Instead of a 2.2 kΞ© resistor, you can use two 1 kΞ© resistors connected in series.
@@ -54,8 +54,8 @@ import time
import threading
import pigpio
-TRIG = 23 is the No. of the pin connected to the Trig contact of the distance gage
-TRIG = 24 is the No. of the pin connected to the Echo contact of the distance gage
+TRIG = 23 # pin connected to the Trig pin of the sonar
+ECHO = 24 # pin connected to the Echo pin of the sonar
pi = pigpio.pi()
done = threading.Event()
diff --git a/docs/en/wall_aruco.md b/docs/en/wall_aruco.md
new file mode 100644
index 00000000..0fe2bc73
--- /dev/null
+++ b/docs/en/wall_aruco.md
@@ -0,0 +1,58 @@
+# Navigation using vertical ArUco-markers
+
+The algorithm of the navigation through visual ArUco-markers, that was implemented in the Clever image, supports the flexible configuration of the markers in area. It allows you to place them on any surface, at any angle.
+
+## Installing the vertical camera mount
+
+For a better recognition of the markers, you need to set the camera vertically so that the lens is pointed parallel to the horizon.
+
+> **Note** The configuration file allows you to configure the location of the camera in area relative to the copter in any way. For your convenience, we will review the option of installing the camera at an angle of 90 degrees to the horizon in the direction of the copter's nose.
+
+### Camera mount, 3D printing
+
+Print the [camera mount](models.md#clover-3).
+
+Install the mount in a convenient location, so that the camera has a minimum number of unnecessary objects (protection, legs, propellers, beams) β all of it will negatively affect the recognition of the markers.
+
+## Setting the camera transform
+
+To set the camera position at the desired angle, open the file `main_camera.launch`, located in `~/catkin_ws/src/clover/clover/launch/`.
+
+```bash
+nano ~/catkin_ws/src/clover/clover/launch/main_camera.launch
+```
+
+In the parameters `direction_x`, `direction_y`, set empty values manually or enter the following lines:
+
+```bash
+sed -i "/direction_z/s/default=\".*\"/default=\"\"/" /home/pi/catkin_ws/src/clover/clover/launch/main_camera.launch
+sed -i "/direction_y/s/default=\".*\"/default=\"\"/" /home/pi/catkin_ws/src/clover/clover/launch/main_camera.launch
+```
+
+Edit one of the configuration lines or add the line shown bellow:
+
+```xml
+
+
+2. Sign up on ZeroTire.
+
+
+
+3. Go to your account.
+
+4. Click on the *Create A Network*.
+
+
+
+5. After that, you will see the network you created, its ID and name. Click on the network to configure it.
+
+
+
+6. In the window that appears you can change the network name and connection privacy.
+
+
+
+7. Scroll down to the *Members* column. It will say that there are no users on the network.
+
+
+
+8. Devices connected to the network will be displayed in this column. To allow them to connect to the network, activate the *Auth?* checkbox. The connected device will automatically be given an internal IP address, which will then be used to communicate with this device.
+
+
+
+
+
+2. Click on the Windows icon.
+
+
+
+3. Download and run the `Zero Tare One.msi` file.
+
+
+
+
+
+4. In the window that appears, enter your network ID and click *Join*.
+
+
+
+5. Allow using the new network.
+
+## Setup on iOS
+
+### Installing the app
+
+1. Go to the ZeroTire website.
+
+
+
+2. Click on the iOS icon.
+
+
+
+3. Install the *ZeroTire One* app.
+
+### Network connection
+
+1. Run ZeroTire One app.
+
+2. Click on *+* to add a new connection.
+
+
+
+3. Confirm the privacy policy.
+
+
+
+4. Enter your network ID and click *Add Network*.
+
+
+
+5. Confirm adding the new VPN configuration.
+
+6. Connect to the VPN network by sliding the network activation slider.
+
+
+
+
+
+3. If the connection is successful, the corresponding message will be displayed in the console.
+
+## Installing and configuring on macOS
+
+### Installing the app
+
+1. Go to the ZeroTire website.
+
+
+
+2. Click on the macOS icon.
+
+
+
+3. Download and run `ZeroTire One.pkg` file.
+
+4. Install the ZeroTire One app.
+
+### Network connection
+
+1. Run ZeroTire One app.
+
+2. Click on the ZeroTire One icon in the taskbar .
+
+3. In the window that appears, click on *Join Network...*.
+
+
+
+4. In the *Enter Network ID* field, enter your network ID.
+
+
+
+## Connecting to the copter
+
+1. Make sure that ZeroTire is working and connected to the network on the drone and control device. To do this, make sure that these have an *Online* status.
+
+
+
+2. Make sure that all devices have local IP addresses - *Managed IPs*.
+
+3. Open GQC and in the *Comm Links* tab add a TCP connection specifying the IP of the drone. Read more about remote connection [here](gcs_bridge.md).
+
+
+
+
+
**Β«ΠΠ»Π΅Π²Π΅ΡΒ»** β ΡΡΠΎ ΡΡΠ΅Π±Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ°, ΡΠΎΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΈΠ· ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΠΎΡΠΊΡΡΡΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π±ΠΎΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌ.
-ΠΠ°Π±ΠΎΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΏΠΎΠ»Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Pixracer Ρ ΠΏΠΎΠ»Π΅ΡΠ½ΡΠΌ ΡΡΠ΅ΠΊΠΎΠΌ PX4, [Raspberry Pi 4](raspberry.md) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ Π±ΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, [ΠΌΠΎΠ΄ΡΠ»Ρ ΠΊΠ°ΠΌΠ΅ΡΡ](camera.md) Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»Π΅ΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·ΡΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π±ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Π΄Π°ΡΡΠΈΠΊΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΈ.
+ΠΠ°Π±ΠΎΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΏΠΎΠ»Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ [COEX Pix](coex_pix.md) Ρ ΠΏΠΎΠ»Π΅ΡΠ½ΡΠΌ ΡΡΠ΅ΠΊΠΎΠΌ PX4, [Raspberry Pi 4](raspberry.md) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ Π±ΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, [ΠΌΠΎΠ΄ΡΠ»Ρ ΠΊΠ°ΠΌΠ΅ΡΡ](camera.md) Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»Π΅ΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·ΡΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π±ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Π΄Π°ΡΡΠΈΠΊΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΈ.
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΠ»Π΅Π²Π΅ΡΠ° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΏΡΠ΅Π΄Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ [ΠΎΠ±ΡΠ°Π· Π΄Π»Ρ Raspberry Pi](image.md) Π² ΠΏΠΎΠ»Π½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΠ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ Π²ΡΠ΅ΠΉ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠ΅ΠΉ ΠΈ [ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ
ΠΏΠΎΠ»Π΅ΡΠΎΠ²](simple_offboard.md). ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΠ»Π΅Π²Π΅ΡΠ° ΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΎΡΠΊΡΡΡ ΠΈ [Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π° GitHub](https://github.com/CopterExpress/clover).
diff --git a/docs/ru/SUMMARY.md b/docs/ru/SUMMARY.md
index 8ed598a1..e53ce34a 100644
--- a/docs/ru/SUMMARY.md
+++ b/docs/ru/SUMMARY.md
@@ -54,6 +54,8 @@
* [MAVROS](mavros.md)
* [ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ](supplementary.md)
* [COEX Pix](coex_pix.md)
+ * [COEX PDB](coex_pdb.md)
+ * [COEX GPS](coex_gps.md)
* [ΠΠΈΠ΄ ΠΏΠΎ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌΡ ΠΏΠΎΠ»Π΅ΡΡ](auto_setup.md)
* [ΠΠΌΡ Ρ
ΠΎΡΡΠ°](hostname.md)
* [Π‘ΠΈΠΌΡΠ»ΡΡΠΎΡ](sitl.md)
@@ -63,6 +65,7 @@
* [Docker-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠΎΠΌ](sitl_docker.md)
* [Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ROS Melodic](ros-install.md)
* [ΠΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΠ° ΠΊΠ°ΠΌΠ΅ΡΡ](camera_calibration.md)
+ * [ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ VPN ZeroTire](zerotire_vpn.md)
* [ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ VPN Hamachi](hamachi_vpn.md)
* [Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΡΠ»ΡΡΠΈΠΊΠΎΠΏΡΠ΅ΡΠΎΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ 4G ΡΠ²ΡΠ·ΠΈ](4g.md)
* [ΠΠ°ΠΊΠ΅ΡΡ ΠΠ»Π΅Π²Π΅ΡΠ° Π½Π° Jetson Nano](jetson_nano.md)
@@ -79,7 +82,10 @@
* [ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Arduino](arduino.md)
* [ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ GPS](gps.md)
* [Π Π°Π±ΠΎΡΠ° Ρ ΠΠ Π΄Π°ΡΡΠΈΠΊΠ°ΠΌΠΈ](ir_sensors.md)
- * [Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° FPV](fpv.md)
+ * [Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° FPV](fpv_clover_4_2.md)
+ * [Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° FPV (ΠΠ»Π΅Π²Π΅Ρ 3)](fpv.md)
+ * [ΠΠ°Π³Π½ΠΈΡΠ½ΡΠΉ Π·Π°Ρ
Π²Π°Ρ](magnetic_grip.md)
+ * [ΠΠ΅Ρ
Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π·Π°Ρ
Π²Π°Ρ](mechanical_grip.md)
* [Π‘Π±ΠΎΡΠΊΠ° ΡΠ°ΡΠΎΠ²ΠΎΠΉ Π·Π°ΡΠΈΡΡ](sphere_guard.md)
* [Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ΅Π½Π΅ΡΠ°](trainer_mode.md)
* [Π’Π΅Ρ
Π½ΠΈΠΊΠ° Π»ΡΠΆΠ΅Π½ΠΈΡ](tinning.md)
@@ -92,6 +98,8 @@
* [ΠΠΊΠ»Π°Π΄ Π² ΠΠ»Π΅Π²Π΅Ρ](contributing.md)
* [ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Π½Π° Π²Π΅ΡΡΠΈΡ 0.20](migrate20.md)
* [ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Π½Π° Π²Π΅ΡΡΠΈΡ 0.22](migrate22.md)
+ * [COEX Duocam](duocam.md)
+ * [ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ MAVLink-ΠΊΠ°ΠΌΠ΅ΡΠ°](duocam_mavlink.md)
* [ΠΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΡ](events.md)
* [CopterHack-2021](copterhack2021.md)
* [CopterHack-2019](copterhack2019.md)
@@ -100,12 +108,15 @@
* [CopterHack-2018](copterhack2018.md)
* [CopterHack-2017](copterhack2017.md)
* [ΠΡΠΎΠ΅ΠΊΡΡ Π½Π° Π±Π°Π·Π΅ ΠΠ»Π΅Π²Π΅ΡΠ°](projects.md)
+ * [Π‘ΠΈΡΡΠ΅ΠΌΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΡΠ°Π΄ΠΊΠΈ (AMLS)](amls.md)
+ * [Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΠΠΠ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ](remote-control-with-oculusvr.md)
* [Π¨ΠΎΡ ΠΊΠΎΠΏΡΠ΅ΡΠΎΠ²](clever-show.md)
* [Innopolis Open 2020 (L22_ΓRO)](innopolis_open_L22_AERO.md)
* [ΠΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Π° ΠΠ’Π 2020 (P4DF2)](nti2020_p4df2.md)
* [ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ArUco ΠΊΠ°ΡΡ](arucogenmap.md)
* [ΠΠΎΠ΄Π΅Π»Ρ Π°ΡΡΠΎΡΠ°ΠΊΡΠΈ Π² Π³ΠΎΡΠΎΠ΄Π΅](bigchallenges.md)
* [Π¨Π°ΡΠΎΠ²Π°Ρ Π·Π°ΡΠΈΡΠ° ΠΊΠΎΠΏΡΠ΅ΡΠ°](shield.md)
+ * [Π‘ΠΈΡΡΠ΅ΠΌΠ° Π·Π°ΡΠ΅ΡΠΊΠΈ Π΄Π»Ρ Π΄ΡΠΎΠ½ΠΎΠ²](race_timing_sys_copterhack.md)
* [ΠΡΠΎΠ½ Π΄Π»Ρ 3D-ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°](3dscan.md)
* [Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ Π»ΠΈΡ](face_recognition.md)
* [Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΡΠΎΠ½ΠΎΠΌ ΡΠΈΠ»ΠΎΠΉ ΠΌΡΡΠ»ΠΈ](control_emotions.md)
@@ -114,6 +125,15 @@
* [ΠΠ»ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎΠ»Π΅ΡΠ°](clever_blocks.md)
* [ΠΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΠ° ΠΊΠ°ΠΌΠ΅ΡΡ (legacy)](camera_calib.md)
* [Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΡΠΎΠ½ΠΎΠΌ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΏΠΎΠ·Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°](human_pose_estimation_drone_control.md)
+ * [Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΎΠ² Π°Π³ΡΠΎΠΊΡΠ»ΡΡΡΡ](agriculture.md)
+ * [AdvancedClover](advanced_clover.md)
+ * [ΠΡΠΎΠ½ Π΄Π»Ρ Π²ΡΡΠ°ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΌΡΠ½](seeding_drone.md)
+ * [ΠΡΠ°ΡΡΠΈΡΠΈ ΠΊΠΎΠΏΡΠ΅Ρ D-drone](ddrone.md)
+ * [ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠΉ Π»Π΅ΡΠ°ΡΡΠΈΠΉ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ](zaural_viking.md)
+ * [ΠΡΠΎΠ½-ΠΠ³ΡΠΎΠ½ΠΎΠΌ](drone-agronom.md)
+ * [Easy To Fly](easytofly.md)
+ * [Π₯Π°ΡΠ΄Π°ΡΠΎΠ½ ΠΠ²ΠΈΠ΄Π΄ΠΈΡ](hardaton_quidditch.md)
+ * [ΠΠΊΡΠΎΠΊΠΎΠΏΡΠ΅Ρ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠΏΠ΅Π»Π»Π΅ΡΠΎΠ²](oktazodg.md)
## Π£ΡΠ΅Π±Π½ΠΈΠΊ
diff --git a/docs/ru/advanced_clover.md b/docs/ru/advanced_clover.md
new file mode 100644
index 00000000..fd2ecab6
--- /dev/null
+++ b/docs/ru/advanced_clover.md
@@ -0,0 +1,91 @@
+# Advanced Clover
+
+[CopterHack-2021](copterhack2021.md), team **FTL**. ΠΠΎΠ½ΡΠ°ΠΊΡΡ: @maximmasterr Π² Telegram.
+
+ΠΠ°ΠΊ-ΡΠΎ ΡΠ°Π· ΡΡΡΠ°Π² Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΠ»Π΅Π²Π΅ΡΠΎΠΌ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΈΡ
ΡΠΏΡΠΎΡΡΠΈΡΡ, ΠΈ ΡΠ°ΠΊ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ advancedClover, ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ:
+
+* IDE
+ * VSCode-like IDE Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅
+ * ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ
+ * ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»
+ * ΠΠ²ΡΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡ
+ * ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΠΏΠΈΠΊΠΎΠ²
+ * ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΠΏΠΈΠΊΠΎΠ² Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
+ * ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
+ * ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΡΠ°ΡΡΡΠ° ΠΊΠΎΠΏΡΠ΅ΡΠ°
+* ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Python
+ * Π£ΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠ΅ΠΉ
+ * Π£ΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ
+
+ΠΡΠΈΠΌΠ΅Ρ Π°Π²ΡΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡΠ°, ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°:
+
+
+
+ΠΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ROS ΠΈ Copter Status:
+
+
+
+ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ° ΠΏΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ advancedClover:
+
+
+
+ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ advancedClover ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ [Π·Π΄Π΅ΡΡ](https://ftl-team.github.io/cloverIDE).
+
+## Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ
+
+ΠΡΠ°ΠΊ, ΡΡΠΎ Ρ Π½Π°Ρ Π²Π½ΡΡΡΠΈ:
+
+* [Theia](https://theia-ide.org/) ΠΏΡΠΈΠΊΠΎΠ»ΡΠ½Π°Ρ web IDE ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ
ΠΎΠΆΠ° Π½Π° VSCode ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π΄Π°ΠΆΠ΅ Π»ΡΡΡΠ΅ Π΅Π³ΠΎ.
+* Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ vscode (ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π² theia), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ROS.
+* ΠΠΈΡΠΎΠ½ΠΎΠ²ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π²ΡΠ½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² ΠΊΠ»Π°ΡΡΡ.
+* ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° docsify (gitbook ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΠ»ΠΎΠΆΠ½ΡΠ½).
+* Π‘Π±ΠΎΡΠΊΠ° Π½Π° GitHub actions.
+
+ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ Π²ΡΠ΅Ρ
ΡΠ°ΡΡΡΡ
.
+
+### IDE
+
+ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ code-server, Π½ΠΎ ΠΎΠ½ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄ΠΎΠ»Π³ΠΎ ΡΠΎΠ±ΠΈΡΠ°Π»ΡΡ ΠΈ Π±ΡΠ» ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ Π½Π° theia ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠ΅Π½Π΅Π΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½Π° ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅Ρ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π΄ΠΎΠΏΠΈΠ»ΠΈΡΡ:
+
+1. Theia ΠΏΠΎ Π΄Π΅ΡΠΎΠ»ΡΡ ΡΡΠ½Π΅Ρ Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠΊΠΎΠ»ΠΎ 1Π³Π± `node_modules` ΡΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠΎΡΠΎ, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΠ±ΠΎΡΠΊΡ Π² ΠΎΠ΄ΠΈΠ½ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ pkg, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ°ΡΡΠΈΠΊ ΠΊΠΎΠ΄ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΏΡΠΈ build ΠΏΠ΅ΡΠ΅Π΄ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ Π² Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ [ΠΏΠ°ΡΡΠ°](https://raw.githubusercontent.com/FTL-team/cloverIDE/master/ide/src.patch).
+2. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ code-server ΡΠ±ΠΎΡΠΊΠ° Π·Π°Π½ΠΈΠΌΠ°Π»Π° ΡΠ°Π·Π° Π² ΡΡΠΈ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π΅Ρ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π΅ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΡΡ Π²ΡΠ½Π΅ΡΡ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²/ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ job Π½Π° GitHub actions.
+3. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠ°ΡΠ°Π½ΠΈΡΠΌ ΡΠ΅Ρ
Π»ΡΠ΄Π΅ΠΉ ΠΊΡΠΎ ΠΏΠΈΡΠ΅Ρ web-ΡΡΠ°Π½Π΄Π°ΡΡΡ theia Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈΠ±ΠΎ Π½Π° HTTPS, Π»ΠΈΠ±ΠΎ Π½Π° localhost, ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΊΡ Π½Π° golang ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π° Π»Π΅ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΠΊΠΎΡΠ½Π΅Π²ΡΠΌ (ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ), ΠΈ ΠΈΠΌ ΠΏΠΎ Π½Π΅ΠΌΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ HTTPS.
+
+### Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅
+
+ΠΠΎΡ Π·Π΄Π΅ΡΡ ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° TypeScript, ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ webpack ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ react, roslibjs ΠΈ OpenCV.
+
+#### ROSLIB.js
+
+ΠΠ»Ρ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ Ρ ROS ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° roslib.js, Ρ Π½Π΅Ρ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
+
+1. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΡΠΎΠ³ΠΎ (Π½Ρ ΠΏΠΎΡΡΠΈ) ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ TypeScript Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ROS, ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ Π΄Π΅ΡΠΎΠ»ΡΡ Π»Π΅ΠΆΠΈΡ Π² DefinitelyTyped, Π½ΠΎ ΠΎΠ½Π° ΡΠ°ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΡΠΈΠ²Π°Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π»ΡΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ [ΡΠ°ΠΉΠ»](https://github.com/FTL-team/cloverIDE/blob/master/cloverExtension/src/ros/roslib.d.ts) roslib.d.ts ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ roslibjs ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ Π΅Ρ.
+2. Roslib ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠ»Π±ΡΠΊΠΈ Π° ΠΎΠ½ΠΈ ΠΎΡΠ΅Π½Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΡΠΎΠΌΠΈΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ roslib. [ΠΠ΄Π΅ΡΡ](https://github.com/FTL-team/cloverIDE/blob/master/cloverExtension/src/ros/core.ts).
+3. ΠΠΎΡΠΎΠΌ Π±ΡΠ»Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΎΠ±ΡΡΡΠΊΠ° Π΄Π»Ρ roslib ΠΊΠΎΡΠΎΡΠ°Ρ Π΅ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠΎΡΡΠΈΠ»Π° ΡΠ°Π±ΠΎΡΡ Ρ [ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ](https://github.com/FTL-team/cloverIDE/blob/master/cloverExtension/src/ros/service.ts) ΠΈ [ΡΠΎΠΏΠΈΠΊΠ°ΠΌΠΈ](https://github.com/FTL-team/cloverIDE/blob/master/cloverExtension/src/ros/topic.ts).
+4. Π Π΅ΡΡ ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ [Ρ
ΡΠΊΠΈ](https://github.com/FTL-team/cloverIDE/tree/master/cloverExtension/src/ros/hooks) Π΄Π»Ρ ΡΠ΅Π°ΠΊΡΠ° ΡΡΠΎ Π±Ρ Π΅ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ.
+5. ROS ΡΠΌΠ΅Π΅Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² cbot ΠΈΠ»ΠΈ Π² json, json Π½Π΅ ΡΠΌΠ΅Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ 64-Π±ΠΈΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° (ΠΎΠ½ΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π½Π΅ΡΠΎΡΠ½ΡΠΌΠΈ) ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°, Π° cbor ΠΈΠ·-Π·Π° ΠΊΡΠΈΠ²ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π½ΠΎ Π·Π°ΡΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ ΡΠΌΠ΅Π΅Ρ Π² 64-bit.
+6. Π§ΡΠΎΠ±Ρ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ MAVLink Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 64 Π±ΠΈΡΠ½ΡΡ
ΡΠΈΡΠ΅Π», Π² js ΠΎΠ½ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ BigInt, ΠΎΠ΄Π½Π°ΠΊΠΎ roslib ΠΊΠΎΠ³Π΄Π° Π²ΠΈΠ΄ΠΈΡ 64 Π±ΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΠ±ΡΠ΅Π·Π°Π΅Ρ Π΅Π³ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ [Π·Π°ΠΌΠ΅Π½Ρ](https://github.com/FTL-team/cloverIDE/blob/master/cloverExtension/roslibCBOR.js) ΠΌΠΎΠ΄ΡΠ»Ρ roslib, Π·Π°ΠΌΠ΅Π½Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²Π΅Π±ΠΏΠ°ΠΊΠΎΠΌ.
+
+#### Π Π΅Π½Π΄Π΅ΡΠΈΠ½Π³ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ
+
+ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ web video server Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ»ΠΎΡ
ΠΎ ΡΠ°Π±ΠΎΡΠ°Π» ΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π»ΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ Π½Π° OpenCV, ΠΈ ΡΡΡ ΠΊΡΠΎΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Π²ΠΎΡ
ΠΎΠ²:
+
+1. ΠΠ°Π³ΡΡΠ·ΠΊΠ° OpenCV ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅Π»ΡΠ·Ρ, ΡΠ°ΠΌΡΠΌ ΠΏΡΠΎΡΡΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠΊΠΈ Π² webpack ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ top-level async, ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ [ΠΌΠΎΠ΄ΡΠ»Ρ](https://github.com/FTL-team/cloverIDE/blob/1e171e1709b1dfde0c11c3b2e00687d7e9091a9f/cloverExtension/src/opencv/index.ts) ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ OpenCV, ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ OpenCV ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Π² top-level Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ OpenCV.
+2. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π²Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ ΡΠ»Π°ΡΡ ΠΈΡ
Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π² base64 Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ CBOR
+3. Π ROS ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡ Π² ΡΠ°Π·Π½ΡΡ
ΡΠΎΡΠΌΠ°ΡΠ°Ρ
ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ [ΡΡΠ½ΠΊΡΠΈΡ](https://github.com/FTL-team/cloverIDE/blob/1e171e1709b1dfde0c11c3b2e00687d7e9091a9f/cloverExtension/src/ros/image.ts#L31) ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅Ρ ΠΈΡ
Π² RGB.
+Π ΠΎΠ±ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ [Π·Π΄Π΅ΡΡ](https://github.com/FTL-team/cloverIDE/blob/master/cloverExtension/src/components/ImageTopic.tsx).
+
+#### Π Π΅ΡΡ ΡΡΡΡ ΡΡΡΡ Π²Π΅ΡΠ΅Π»ΡΡ
+
+1. ΠΠ΅ Π²ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΎΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΡΡΡ Π² mavros ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°Π΄ΠΎ ΠΏΠ°ΡΡΠΈΡΡ MAVLink, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ·Π°Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ cbor ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΡΡΡΠ³ΠΈΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Π°Π½Π½ΡΡ
[ΠΎΡΡΡΠ΄Π°](https://mavlink.io/en/messages/common.html).
+2. TF2 Π² roslib Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π΅Π½, ΠΏΠΎ ΡΡΠΎΠΌΡ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΊΠΎΠΏΡΠ΅ΡΠ° Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΡΡΠΉΠΌ `map` ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΅Π³ΠΎ (Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΈΡ
ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ).
+
+### ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΏΠΈΡΠΎΠ½Π°
+
+Π―Π²Π»ΡΠ΅ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΎΡΡΠΎ ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
ΠΊΠΎΠ΄Π° ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΠ»Π΅Π²Π΅ΡΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΠΎΠ½ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ API ΠΏΠΎΡ
ΠΎΠΆΠΈΠΉ Π½Π° `VideoCapture`, Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ [Π·Π΄Π΅ΡΡ](https://github.com/FTL-team/cloverIDE/blob/master/pylib/image.py).
+
+### Π‘Π±ΠΎΡΠΊΠ° ΠΈ ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
+
+ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° markdown, ΡΠ΅Π½Π΄Π΅ΡΠΈΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ docsify (ΠΈΠ±ΠΎ gitbook ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΎΠΆΠ½ΡΠ½).
+
+ΠΡΠΎΠ΅ΠΊΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ Π½Π° GitHub actions, ΡΠ±ΠΎΡΠΊΠ° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π΅Π»Π΅Π½Π°.
diff --git a/docs/ru/agriculture.md b/docs/ru/agriculture.md
new file mode 100644
index 00000000..74f4f0f5
--- /dev/null
+++ b/docs/ru/agriculture.md
@@ -0,0 +1,147 @@
+# Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΎΠ² Π°Π³ΡΠΎΠΊΡΠ»ΡΡΡΡ Π² ΠΌΠ°ΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅
+
+## ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
+
+Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ Ρ
ΠΎΠ·ΡΠΉΡΡΠ²ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΡΡΡΠ°Π½Π°Ρ
ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠΊΠΈΡ
ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ
ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠΠ΅ΡΠΏΠΈΠ»ΠΎΡΠ½ΡΠ΅ Π»Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΈΡΠΎΠΊΠΈΠΉ ΠΊΡΡΠ³ Π·Π°Π΄Π°Ρ, ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅Π»ΡΡΠΊΠΎΡ
ΠΎΠ·ΡΠΉΡΡΠ²Π΅Π½Π½ΡΡ
ΡΠ³ΠΎΠ΄ΠΈΠΉ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΡΠ°Π» ΡΠΆΠ΅ ΠΏΠΎΡΡΠΈ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ΅Π»ΡΡΠΊΠΈΡ
Ρ
ΠΎΠ·ΡΠΉΡΡΠ². Π¦Π΅Π»ΡΡ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π²ΠΈΠ΄ΠΎΠ² Π°Π³ΡΠΎΠΊΡΠ»ΡΡΡΡ Π² ΠΌΠ°ΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΈΠ· ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΡΡΡ ΠΏΠΎΡΠ΅Π²Π½ΡΡ
ΠΏΠ»ΠΎΡΠ°Π΄Π΅ΠΉ.
+
+## ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
+
+Π ΡΠ΅Π»ΡΡΠΊΠΎΠΌ Ρ
ΠΎΠ·ΡΠΉΡΡΠ²Π΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠ³ΠΎΠ΄ΠΈΠΉ ΠΈ ΠΏΠΎΡΠ΅Π²ΠΎΠ². Π€Π΅ΡΠΌΠ΅ΡΡ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΠΎΠ½ΡΡΡ, Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π»ΠΈ Π²ΡΡ
ΠΎΠ΄ΡΡ ΠΊΡΠ»ΡΡΡΡΡ, Π΅ΡΡΡ Π»ΠΈ ΡΠ³ΡΠΎΠ·Π° ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΡΠΎΡΠ½ΡΠΊΠΎΠ² ΠΈ/ΠΈΠ»ΠΈ Π½Π°ΡΠ΅ΠΊΠΎΠΌΡΡ
β Π²ΡΠ΅Π΄ΠΈΡΠ΅Π»Π΅ΠΉ, ΠΊΠ°ΠΊΠΎΠ²Π° ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΠ²Π»Π°ΠΆΠ½Π΅Π½Π½ΠΎΡΡΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΡΠ°ΡΡΠΊΠΎΠ² ΠΈΠ»ΠΈ ΡΠ΅Π»ΡΡ
ΠΏΠ»ΠΎΡΠ°Π΄Π΅ΠΉ ΠΈ Ρ.Π΄.
+
+## ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
+
+ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
+
+```python
+import rospy
+import cv2
+from sensor_msgs.msg import Image
+from cv_bridge import CvBridge
+import numpy as np
+```
+
+Π‘ΠΎΠ·Π΄Π°ΡΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅:
+
+```python
+rospy.init_node('computer_vision_sample')
+
+bridge = CvBridge()
+
+color = 'undefined'
+shape = 'undefined'
+culture = ""
+```
+
+ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π½Π°Β ΠΎΠ±ΡΠ°Π· ΠΠ»Π΅Π²Π΅ΡΠ°Β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡΒ OpenCV.
+Β Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠ° Π½Π° ΡΠΎΠΏΠΈΠΊ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠ°ΠΌΠ΅ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ OpenCV:
+
+```python
+def image_colback_color(data):
+ global color, shape
+
+ cv_image = bridge.imgmsg_to_cv2(data, 'bgr8') # OpenCV image
+ img_hsv = cv2.cvtColor(cv_image, cv2.COLOR_BGR2HSV) #[118:119,158:159]
+
+ #detected color
+ #print(img_hsv[0][0])
+```
+
+ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΡΠ»ΡΡΡΡΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ Π½Π΅ΠΏΠΎΠ²ΡΠΎΡΠΈΠΌΡΠΉ ΠΎΡΡΠ΅Π½ΠΎΠΊ(ΠΏΡΠ΅Π½ΠΈΡΠ°- Π·ΠΎΠ»ΠΎΡΠΈΡΡΠ°Ρ, Π³ΡΠ΅ΡΠΈΡ
Π° - ΡΠ²Π΅ΡΠ»ΠΎ-ΠΊΠΎΡΠΈΡΠ½Π΅Π²Π°Ρ).
+
+
+
+
+ΠΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ ΡΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΠΊΡΠ»ΡΡΡΡ:
+
+```python
+#ΠΏΡΠ΅Π½ΠΈΡΠ°
+yellow_orange_low = (38, 110, 150)
+yellow_orange_high= (52, 110, 150)
+
+#Π³ΡΠ΅ΡΠΈΡ
Π°
+brown_low = (23, 50, 50)
+brown_high= (37, 50, 50)
+
+yellow_orange_mask = cv2.inRange(img_hsv, yellow_orange_low, yellow_orange_high)
+brown_mask = cv2.inRange(img_hsv, brown_low, brown_high)
+
+if yellow_orange_mask[119][159] == 255:
+ shape = shape_recog(yellow_orange_mask)
+
+elif brown_mask[119][159] == 255:
+ shape = shape_recog(brown_mask)
+
+else:
+ shape = 'undefined'
+ color = 'undefined'
+
+if shape = 'brown':
+ culture = "greshiha"
+if shape = 'yellow_orange':
+ culture = "pshenitsa"
+
+image_sub = rospy.Subscriber('main_camera/image_raw', Image, image_colback_color)
+```
+
+Π‘ΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ 100% ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. ΠΠ»Ρ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡΒ throttlingΒ ΠΊΠ°Π΄ΡΠΎΠ² Ρ ΠΊΠ°ΠΌΠ΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² 5 ΠΡ (`main_camera.launch`):
+
+```xml
+
+
+### ΠΠΈΠ΄ ΡΠ½ΠΈΠ·Ρ
+
+
diff --git a/docs/ru/coex_pdb.md b/docs/ru/coex_pdb.md
new file mode 100644
index 00000000..ad83bd81
--- /dev/null
+++ b/docs/ru/coex_pdb.md
@@ -0,0 +1,15 @@
+# COEX PDB
+
+**COEX PDB** (Power Distribution Board) β ΠΏΠ»Π°ΡΠ° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠΎΠ² ΠΠ»Π΅Π²Π΅Ρ 4.
+
+ΠΠ°Π±Π°ΡΠΈΡΠ½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΏΠ»Π°ΡΡ: 35x35 ΠΌΠΌ.
+
+## Π‘Ρ
Π΅ΠΌΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ²
+
+### ΠΠΈΠ΄ ΡΠ²Π΅ΡΡ
Ρ
+
+
+
+### ΠΠΈΠ΄ ΡΠ½ΠΈΠ·Ρ
+
+
diff --git a/docs/ru/coex_pix.md b/docs/ru/coex_pix.md
index 1326b2e5..4e7d667b 100644
--- a/docs/ru/coex_pix.md
+++ b/docs/ru/coex_pix.md
@@ -63,9 +63,9 @@
### ΠΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΡ
-* ΠΠ°ΠΌΠ΅Π½Π΅Π½ ΡΠ°Π·ΡΠ΅ΠΌ USB Micro-B Π½Π° ΡΠ°Π°Π·ΡΠ΅ΠΌ USB Type-C.
+* ΠΠ°ΠΌΠ΅Π½Π΅Π½ ΡΠ°Π·ΡΠ΅ΠΌ USB Micro-B Π½Π° ΡΠ°Π·ΡΠ΅ΠΌ USB Type-C.
* ΠΠ·ΠΌΠ΅Π½Π΅Π½ ΡΠ»ΠΎΡ Π΄Π»Ρ MicroSD ΠΊΠ°ΡΡ, Π½Π° Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΈΠΉ.
-* ΠΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΈΠ½ΠΎΠ² Π½Π° ΡΠ°Π·ΡΠ΅ΠΌΠ΅ I2C.
+* ΠΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΈΠ½ΠΎΠ² Π½Π° ΡΠ°Π·ΡΠ΅ΠΌΠ΅ I2C.
* ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ Π² ΡΠ΅ΠΏΠΈ ΠΏΠΈΡΠ°Π½ΠΈΡ.
### Π‘Ρ
Π΅ΠΌΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ²
diff --git a/docs/ru/contributing.md b/docs/ru/contributing.md
index f36fde13..a183b74e 100644
--- a/docs/ru/contributing.md
+++ b/docs/ru/contributing.md
@@ -56,7 +56,7 @@
git checkout -b new-article
```
-4. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π½ΠΎΠ²ΡΡ ΡΡΠ°ΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ `docs/ru` ΠΈΠ»ΠΈ `docs/en` Π² ΡΠΎΡΠΌΠ°ΡΠ΅ [Markdown](https://ru.wikipedia.org/wiki/Markdown) (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ `docs/ru/new_article.md`).
+4. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π½ΠΎΠ²ΡΡ ΡΡΠ°ΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ `docs/ru` ΠΈΠ»ΠΈ `docs/en` Π² ΡΠΎΡΠΌΠ°ΡΠ΅ [Markdown](https://ru.wikipedia.org/wiki/Markdown) (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ `docs/ru/new_article.md`). ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ (e-mail / Telegram /...) Π΄Π»Ρ Π°Π²ΡΠΎΡΡΠΊΠΈΡ
ΡΡΠ°ΡΠ΅ΠΉ.
5. ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π² ΠΏΠ°ΠΏΠΊΡ `docs/assets` ΠΈ ΠΎΡΠΎΡΠΌΠΈΡΠ΅ Π½Π° Π½ΠΈΡ
ΡΡΡΠ»ΠΊΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅.
6. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠ°ΡΡΡ Π² ΡΠ°ΠΉΠ» ΠΎΠ³Π»Π°Π²Π»Π΅Π½ΠΈΡ `SUMMARY.md` Π² ΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅, Π³Π΄Π΅ Π²Ρ Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² `docs/ru/SUMMARY.md`):
diff --git a/docs/ru/copterhack2021.md b/docs/ru/copterhack2021.md
index 2cd1a41b..ee0446bf 100644
--- a/docs/ru/copterhack2021.md
+++ b/docs/ru/copterhack2021.md
@@ -3,3 +3,33 @@
CopterHack 2021 β ΡΡΠΎΒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΊΠΎΠ½ΠΊΡΡΡ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ° "ΠΠ»Π΅Π²Π΅Ρ".
ΠΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΠΈ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅: https://ru.coex.tech/copterhack.
+
+ΠΠΎΠ»Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ ΡΠΈΠ½Π°Π»Π°: https://www.youtube.com/watch?v=Z06vxuAHmuE.
+
+
+
+
+
+## ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
+
+ΠΡΠ΄ΠΈ ΡΡΡΠ΅ΠΌΡΡΡΡ Π½Π°ΡΡΠΈΡΡ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎ ΠΌΠΎΠ³ΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠ°ΠΌΠΈ. Π ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Ρ ΡΡΠ°Ρ Ρ Π΄Π΅ΡΡΡΠ²Π°. Π ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ Π½Π°ΡΡΠΈΡΡ Π΄ΡΠΎΠ½Π° ΡΠΈΡΠΎΠ²Π°ΡΡ? ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠΎΠΏΡΠ΅ΡΡ ΠΈ Π³ΡΠ°ΡΡΠΈΡΠΈ Π½Π°Π±ΠΈΡΠ°ΡΡ ΡΠ²ΠΎΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ ΠΈΡ
.
+
+## ΠΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΡΠ±ΠΎΡΠΊΠ°
+
+
+
+
+
+ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π² Π½Π°Π»ΠΈΡΠΈΠΈ:
+
+- Π°ΡΡΠΎΠ·ΠΎΠ»ΡΠ½Π°Ρ ΠΊΡΠ°ΡΠΊΠ°
+- ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄ MG90S;
+- 3D-ΠΏΡΠΈΠ½ΡΠ΅Ρ;
+- ΡΠ΄Π»ΠΈΠ½ΠΈΡΠ΅Π»Ρ ΡΠ°ΡΠΏΡΠ»ΠΈΡΠ΅Π»Ρ;
+- Π»Π΅Π½ΡΠ° Ρ Π»ΠΈΠΏΡΡΠΊΠΎΠΉ (ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ);
+- 4 Π΄Π»ΠΈΠ½Π½ΡΡ
Π²ΠΈΠ½ΡΠ° M4 ΠΈΠ»ΠΈ;
+- 2-4 ΠΊΠΎΡΠΎΡΠΊΠΈΡ
ΡΠ°ΠΌΠΎΡΠ΅Π·Π° M4 ΠΈΠ»ΠΈ M3.
+
+[Π‘ΠΊΠ°ΡΠ°ΡΡ](https://github.com/PerizatKurmanbaeva/D-drone/tree/master/details) ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π΄Π΅ΡΠ°Π»ΠΈ:
+
+- Π΄Π΅ΡΠΆΠ°ΡΠ΅Π»Ρ;
+- Π²ΠΈΠ½Ρ;
+- Π΄Π΅ΡΠΆΠ°ΡΠ΅Π»Ρ ΡΡΠΎΠ΅ΠΊ Ρ Π³Π°ΠΉΠΊΠΎΠΉ;
+- ΡΡΠΎΠΉΠΊΠΈ (2 ΡΡ.);
+- Π΄Π΅ΡΠΆΠ°ΡΠ΅Π»Ρ Π΄Π»Ρ ΡΠ΅ΡΠ²ΠΎ.
+
+**ΠΠ΅ΡΠΆΠ°ΡΠ΅Π»Ρ Π±Π°Π»Π»ΠΎΠ½ΡΠΈΠΊΠ°.** ΠΠ΅ΡΠΆΠ°ΡΠ΅Π»Ρ Π±Π°Π»Π»ΠΎΠ½ΡΠΈΠΊΠ° ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΠ΅ΡΡΡ ΠΊ Π΄Π΅ΠΊΠ΅ 4 Π²ΠΈΠ½ΡΠ°ΠΌΠΈ ΠΈ Π³Π°ΠΉΠΊΠ°ΠΌΠΈ. Π§ΡΠΎΠ±Ρ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡ Π±Π°Π»Π»ΠΎΠ½ΡΠΈΠΊ ΠΊ Π΄Π΅ΡΠΆΠ°ΡΠ΅Π»Ρ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π»Π΅Π½ΡΡ Ρ Π»ΠΈΠΏΡΡΠΊΠΎΠΉ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ 4 Π³Π°Π΅ΠΊ ΠΈ Π²ΠΈΠ½ΡΠΎΠ² Π·Π°ΠΊΡΠ΅ΠΏΠ»ΡΠ΅ΠΌ Π΄Π΅ΠΊΡ Ρ Π΄Π΅ΡΠΆΠ°ΡΠ΅Π»Π΅ΠΌ ΡΠ²Π΅ΡΡ
Ρ Π΄ΡΠΎΠ½Π°.
+
+ΠΠ΅Ρ Π΄Π΅ΡΠΆΠ°ΡΠ΅Π»Ρ: 90 Π³.
+
+
+
+ΠΡΠ»ΠΈ Π΄ΠΈΠ°ΠΌΠ΅ΡΡ Π±Π°Π»Π»ΠΎΠ½ΡΠΈΠΊΠ° ΠΌΠ΅Π½ΡΡΠ΅ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠ° Π΄Π΅ΡΠΆΠ°ΡΠ΅Π»Ρ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄Π΅ΡΠ°Π»Ρ Π² Π²ΠΈΠ΄Π΅ Π΄ΡΠ³ΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΡΠ°Π·Π½ΠΈΡΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°ΠΌ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡ Π±Π°Π»Π»ΠΎΠ½ΡΠΈΠΊ.
+
+**Π‘Ρ
Π΅ΠΌΠ° Π½Π°ΠΆΠ°ΡΠΈΡ.** ΠΠ»Ρ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°ΠΏΠ°Π½Π° Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΈΠ½ΡΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Ρ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠΉ Π³Π°ΠΉΠΊΠΎΠΉ. Π ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Ρ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Π° ΠΏΠ»Π°Π½ΠΊΠ° Ρ ΠΎΡΠ²Π΅ΡΡΡΠΈΡΠΌΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ
Π±ΡΠ΄ΡΡ Π²Ρ
ΠΎΠ΄ΠΈΡΡ ΡΡΠΎΠΉΠΊΠΈ, Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠ΅ ΠΊ Π³Π°ΠΉΠΊΠ΅. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Ρ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠΈ, Π²Π²Π΅ΡΡ
Π²Π½ΠΈΠ·. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΊΡΡΡΠΊΡ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π±Π°Π»Π»ΠΎΠ½ΡΠΈΠΊΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ²Π΅ΡΡ
Π½ΠΎΡΡΡ Π½Π°ΡΠ°Π΄ΠΊΠΈ Π½Π΅ ΡΠΎΠ²Π½Π°Ρ.
+
+
+
+
+
+## ΠΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ
+
+### ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Π°
+
+ΠΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΊΠΎΠΏΡΠ΅ΡΠ° Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ [servo.py](https://github.com/PerizatKurmanbaeva/D-drone/blob/master/examples/servo.py) ΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π΅Π³ΠΎ Π½Π° RPi. ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠ»ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ scp. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ:
+
+```bash
+scp servo.py pi@192.168.11.1:/home/pi
+```
+
+ΠΠ°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ Π½Π° Raspberry Pi ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
+
+```bash
+sudo pigpiod
+python servo.py
+```
+
+### ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
+
+ΠΡΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ [ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ](https://github.com/PerizatKurmanbaeva/visual_ddrone) Π² ΡΠΎΡΠΌΠ°ΡΠ΅ .zip. ΠΠΎΠΏΠΈΡΡΠ΅ΠΌ Π½Π° RPi ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄:
+
+```bash
+scp visual_ddrone-master.zip pi@192.168.11.1:/home/pi
+cd catkin_ws/src/clover/clover/www
+unzip /home/pi/visual_ddrone-master.zip .
+mv visual_ddrone-master ddrone
+```
+
+Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ [http://192.168.11.1/clover/ddrone](http://192.168.11.1/clover/ddrone).
+
+## ΠΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
+
+ΠΠ°ΠΏΡΡΠΊ Π½Π°ΡΠ΅Π³ΠΎ Π΄ΡΠΎΠ½Π° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ [Π²Π΅Π±-ΡΠ°ΠΉΡΠ°](https://perizatkurmanbaeva.github.io/visual_ddrone). ΠΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² G-code. ΠΠ°Π½Π½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΏΡΠ΅ΡΠΎΠΌ.
+
+
+
+ΠΡ Π²ΡΠ±ΡΠ°Π»ΠΈ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΏΡΠ΅ΡΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Π»Π΅Π³ΡΠ΅ ΠΈ Π±Π»ΠΈΠΆΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
+
+
+
+## ΠΠΎΠ»Π΅ΡΡ
+
+
+
+## ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ
+
+Π₯ΠΎΡΠΈΠΌ Π²ΡΡΠ°Π·ΠΈΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ ΠΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΡ ΠΠ»Π°-Π’ΠΎΠΎ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π² ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
+
+
diff --git a/docs/ru/drone-agronom.md b/docs/ru/drone-agronom.md
new file mode 100644
index 00000000..bd0a98a7
--- /dev/null
+++ b/docs/ru/drone-agronom.md
@@ -0,0 +1,19 @@
+# ΠΡΠΎΠ½-ΠΠ³ΡΠΎΠ½ΠΎΠΌ
+
+ΠΡΠΎΠ΅ΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ **Quadrotor** Ρ [CopterHack-2021](copterhack2021.md).
+
+## Π‘ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
+
+Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΌΠΈΡΠ΅ ΡΠ΅ΡΠΌΠ΅ΡΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π½Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ ΠΏΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅ ΠΠΠ ΠΏΠΎΠ³ΠΈΠ±Π°Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 25% ΡΡΠΎΠΆΠ°Ρ.
+
+ΠΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ΅ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π²ΠΈΠ°ΡΠΈΠΈ, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΡΠΎΠ³ΠΎ ΠΈ Π½Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎ. ΠΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»Π° Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ΅Π²ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ - ΠΡΠΎΠ½-Π°Π³ΡΠΎΠ½ΠΎΠΌ. ΠΠ°Ρ ΠΏΡΠΎΠ΄ΡΠΊΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΠ»Π΅Π²Π΅Ρ 3 ΠΈ Π±Π°Π·Π΅ ΡΠ°ΠΌΡ Tarot Iron Man 650 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π²Π·Π»ΡΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠ΅ (Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ°ΠΌΠΈ) ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ, ΠΌΠ°Π½Π΅Π²ΡΠ΅Π½Π½ΠΎΡΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ»Π΅ΡΠ°. Π’Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΡΠΎΡΠ° Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΡΠ°ΡΠΏΡΠ»Π΅Π½ΠΈΡ (ΡΡΠΎ ΡΠΎ ΠΏΠΎΡ
ΠΎΠΆΠ΅Π΅ Π½Π° ΠΊΠ²Π°Π΄ΡΠ°Ρ 3x3 ΠΌΠ΅ΡΡΠ°). Π ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ½Π΅ΡΡΠΈ Π½Π΅ Π²ΡΡΠΎΠΊΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΈ ΡΠΈΡΠΎΠΊΠΈΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ.
+
+
+
+## ΠΡΠΎΡΠΎΡΠΈΠΏ
+
+ΠΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π±ΡΠ» ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° Π±Π°Π·Π΅ ΠΠ»Π΅Π²Π΅Ρ 3 Pro (Π² ΡΠΎΡΠΌ ΡΠ°ΠΊΡΠΎΡΠ΅ Π³Π΅ΠΊΡΠ°ΠΊΠΎΠΏΡΠ΅ΡΠ°). ΠΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΡΡ
ΡΠ΅ΡΡΠΎΠ² (ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ
: https://drive.google.com/file/d/1gwpZZ2ZTkYvmTbspskpW79i8WShVEiI0/view?usp=sharing), Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π²ΠΈΡΡ Π²ΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΡ Π½Π° ΠΌΠΎΡΠ½ΡΡ Π²ΠΈΠ½ΡΠΎΠΌΠΎΡΠΎΡΠ½ΡΡ Π³ΡΡΠΏΠΏΡ ΠΈ Π»Π΅Π³ΠΊΡΡ ΠΈ ΠΏΡΠΎΡΠ½ΡΡ ΡΠ°ΠΌΡ Tarot Iron Man 650.
+
+## ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+
+ΠΠ΅ΡΠ΅ΠΉΠ΄Ρ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅ (https://drive.google.com/drive/folders/1wCyUtMYOLiqYCBLC8aWpisBAH3ai9WNu?usp=sharing) Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ. Π’Π°ΠΌ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°, 3D ΠΌΠΎΠ΄Π΅Π»ΠΈ.
diff --git a/docs/ru/duocam.md b/docs/ru/duocam.md
new file mode 100644
index 00000000..d76699e2
--- /dev/null
+++ b/docs/ru/duocam.md
@@ -0,0 +1,197 @@
+# COEX DuoCam
+
+"COEX DuoCam" β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ-ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΈΠ·ΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
+
+
+
+Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ, ΠΈΠΌΠ΅ΡΡΡΡ CSI ΠΈΠ»ΠΈ HDMI-Π²ΡΡ
ΠΎΠ΄.
+
+Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΈΠ·ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΈΠ·ΠΎΡΡ Seek Compact ΠΈΠ»ΠΈ Seek Compact Pro.
+
+Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠ° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Raspberry Pi 4B.
+
+## ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²
+
+Π’Π΅ΠΏΠ»ΠΎΠ²ΠΈΠ·ΠΎΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΡΡΠΎΠ² USB 3.0 Π½Π° RPi4. ΠΠΎ Π²ΡΠΎΡΠΎΠΉ USB 3.0-ΠΏΠΎΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Wi-Fi Π°Π΄Π°ΠΏΡΠ΅Ρ Π΄Π»Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ²ΡΠ·ΠΈ Ρ Π½Π°Π·Π΅ΠΌΠ½ΠΎΠΉ ΡΡΠ°Π½ΡΠΈΠ΅ΠΉ.
+
+ΠΠΈΠ·ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠ°ΠΌΠ΅ΡΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² CSI ΠΏΠΎΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· HDMI-CSI-ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅Ρ.
+
+Π ΠΏΠΎΡΡ USB 2.0 ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ USB-flash ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΡΠ°ΠΉΠ»ΠΎΠ².
+
+## ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ
+
+ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΈΠ·ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π½Π° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Π² QGroundControl ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
+
+### ΠΡΠ±ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΈΠ·ΠΎΡΠ°
+
+ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π°Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡΡ, ΠΊΠ°ΠΊΠ°Ρ Ρ Π²Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΈΠ·ΠΎΡΠ° (ΠΏΡΠΎΡΡΠ°Ρ ΠΈΠ»ΠΈ Pro) ΠΈ Π²ΡΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³-ΡΠ°ΠΉΠ»Π΅ (`enable: yes` Ρ seek_thermal_pro ΠΈΠ»ΠΈ seek_thermal Π² ΡΠ°Π·Π΄Π΅Π»Π΅ thermal_camera_models. ΠΠ°ΠΆΠ½ΠΎ Π½Π΅ Π·Π°Π±ΡΡΡ Π²ΡΡΡΠ°Π²ΠΈΡΡ `enable: no` Ρ ΠΊΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ).
+
+### Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ
+
+ΠΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΌ (`show_visual: yes`) ΠΈ ΡΠ΅ΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌ (`show_thermal: yes`) ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΡ
, ΡΠ΅ΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π°Π»Π°Π³Π°ΡΡΡΡ Π½Π° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π² ΡΠ΅Π³ΠΈΠΎΠ½, Π·Π°Π΄Π°Π½Π½ΡΠΉ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ `overlay_thermal_on_visual` (Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ `(x_start, y_start)`, ΡΠΈΡΠΈΠ½Π° ΡΠ΅Π³ΠΈΠΎΠ½Π° - `thermal_region_width`, Π²ΡΡΠΎΡΠ° - `thermal_region_height`).
+
+ΠΡΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (`show_visual: no`), ΡΠΎ ΡΠ΅ΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°Π·Π²Π΅ΡΠ½Π΅ΡΡΡ Π½Π° Π²Π΅ΡΡ ΡΠΊΡΠ°Π½.
+
+ΠΡΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ (`show_thermal: no`), ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π½ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅.
+
+ΠΡΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΎΠ±Π° β ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ ΡΡΠ°Π½ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ.
+
+### Π¦Π΅Π½ΡΡΠΎΠ²ΠΊΠ°
+
+ΠΠ»Ρ ΡΠ΅Π½ΡΡΠΎΠ²ΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΠΈΠ·-Π·Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΄Π²ΠΈΠ³Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²ΠΎΠ² ΠΊΠ°ΠΌΠ΅Ρ ΡΠ΅ΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π²ΠΈΠ½ΡΡΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π½ΡΡΠ° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ) ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ°Π·Π΄Π΅Π»Π° `final_frame_cropping`. ΠΡΠΈΠ½ΡΠΈΠΏ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ ΡΠ°Π·Π΄Π΅Π»Ρ.
+
+### ΠΠ΅ΡΠ΅ΠΊΡΠΎΡΡ ΠΊΠΎΠ½ΡΡΡΠΎΠ² (edge detectors)
+
+ΠΠ»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ΅ΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π½Π΅Π³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΠΊΠΎΠ½ΡΡΡΠΎΠ² Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄Π²ΡΡ
Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π΄Π΅ΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΠΎΠ²: [Sobel](https://docs.opencv.org/3.4/d2/d2c/tutorial_sobel_derivatives.html) ΠΈ [Canny](https://docs.opencv.org/3.4/da/d5c/tutorial_canny_detector.html). Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΠ°Π·Π΄Π΅Π»Π°Ρ
ΠΊΠΎΠ½ΡΠΈΠ³Π° (`apply_sobel` ΠΈ `apply_canny`) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΠΎΠ².
+
+### ΠΠΎΠ»ΠΎΡΠΈΠ·Π°ΡΠΈΡ
+
+ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ, ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΈΠ·ΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ»ΠΎΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ `apply_colormap: yes`.
+
+ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΡ
Π΅ΠΌΡ ΠΊΠΎΠ»ΠΎΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ· [ΡΠΏΠΈΡΠΊΠ°](https://docs.opencv.org/2.4/modules/contrib/doc/facerec/colormaps.html), ΡΠΊΠ°Π·Π°Π² ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΡ
Π΅ΠΌΡ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ `colormap`.
+
+### Π‘Π²ΠΎΠΉΡΡΠ²Π° ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²
+
+Π‘Π²ΠΎΠΉΡΡΠ²Π° ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ `output_video`. ΠΠ΅Π»Π°ΡΡ ΡΡΠΎ ΡΡΠΎΠΈΡ Ρ ΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡ - Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ»ΠΎΠΌΠ°ΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ gstreamer'Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
+
+ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π½Π° ΡΠ»Π΅Ρ-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ Π²ΠΈΠ΄Π΅ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π³ΡΡΠΏΠΏΠΎΠΉ ΡΠ²ΠΎΠΉΡΡΠ² `encode_video`.
+
+ΠΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π΄Π»Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ
`path_to_save`.
+
+### ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
+
+Π‘ΠΊΡΡΠ²Π°ΡΡ\ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°ΡΡΠΎΡΡ ΠΊΠ°Π΄ΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΡΠ΅ΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° `show_fps`.
+
+ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ\ΡΠΊΡΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠΈΠ΅ Ρ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠΎΠΉ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΈΠΊΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° `draw_temp`.
+
+### ΠΠΎΠ΄ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ
+
+Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΈΠ·ΠΎΡΠ°, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. Π ΡΠ΅ΠΊΡΠΈΠΈ `temperature_calibration` ΠΠΎΡΡΡΠΏΠ½Ρ Π΄Π²Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
+
+* Π‘Π΄Π²ΠΈΠ³ (`offset`) - Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΡΠ΄Π²ΠΈΠ³ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
+* ΠΠ°ΡΡΡΠ°Π± (`scale`) - ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π»Ρ.
+
+### ΠΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ° ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ ΠΎΡ ΡΠ΅Π½ΡΡΠ° ΠΊ ΠΊΡΠ°ΡΠΌ
+
+ΠΡΠ»ΠΈ Π½Π° ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΈΠ·ΠΈΠΎΠ½Π½ΠΎΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ "ΡΠ°ΠΌΠΊΠ°", Π²ΡΠ·Π²Π°Π½Π½Π°Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ ΠΊ ΠΊΡΠ°ΡΠΌ, ΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠΈΠ»ΡΡΡ (Π²ΠΈΠ½ΡΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅). ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΡΠ΅ΠΊΡΠΈΠΈ `vignette`:
+
+* `enable` - Π²ΠΊΠ»ΡΡΠΈΡΡ-Π²ΡΠΊΠ»ΡΡΠΈΡΡ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠ»ΡΡΡΠ°.
+* `show_center` - ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΡΠΊΡ "ΡΠ΅Π½ΡΡΠ°" Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
+* `center_x` - X-ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° "ΡΠ΅Π½ΡΡΠ°".
+* `center_y` - Y-ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° "ΡΠ΅Π½ΡΡΠ°".
+* `max_decrement_relative` - ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ ΠΊ ΠΊΡΠ°ΡΠΌ.
+
+## ΠΠΈΠ΄ΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ Π΄Π»Ρ QGroundControl
+
+
+
+### ΠΠ΄Π΅ Π²Π·ΡΡΡ
+
+QGC c Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ "COEX DuoCam" ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π² Π½Π°ΡΠ΅ΠΌ [ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ](https://github.com/CopterExpress/qgroundcontrol/releases). Π‘ΠΊΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΡ ΡΠ΅Π»ΠΈΠ·, Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ»ΠΎΠ²ΠΎ `duocam` Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ.
+
+### ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
+
+ΠΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° QGC ΠΏΠΎΡΠ»Π΅Ρ MAVLink-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ Π·Π°ΠΏΡΠΎΡΠΎΠΌ ΡΠ΅ΠΊΡΡΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ²ΠΎΠΉΡΡΠ². ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΆΠ΄Π°ΡΡΡΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π²ΡΠ΅ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° Π·Π°Π³ΡΡΠ·ΡΡΡΡ. ΠΡΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΈΠ½ΡΡΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ "Refresh values".
+
+ΠΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ²ΠΎΠΉΡΡΠ² QGC ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ Ρ DuoCam ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° MAVLink, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ - Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ.
+
+[ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ DuoCam ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ `duocam-mavlink`](duocam_mavlink.md).
+
+## ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ»
+
+ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ DuoCam ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ».
+
+### ΠΠ°ΠΊ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ
+
+ΠΠ»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ microSD-ΠΊΠ°ΡΡΡ ΠΈΠ· RPi4, Π²ΡΡΠ°Π²ΠΈΡΡ Π² ΠΊΠ°ΡΠ΄-ΡΠΈΠ΄Π΅Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° (ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ext4), ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ `
+
+4. Π‘ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΈΠ· ΠΏΠ»Π°Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»Π΅ΠΏΠΈΠΏΠ΅Π΄.
+5. Π‘ΠΏΠ°ΡΡΡ Π²ΡΠ΅ ΠΏΠ»Π°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠΌ Π³ΡΡΠΏΠΏΠ°ΠΌ.
+6. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² ΠΏΠΈΠ½Ρ Π΄Π°ΡΡΠΈΠΊΠΈ ΠΈ Arduino nano.
+7. Π£Π±Π΅Π΄ΠΈΡΡΡΡ Π² ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ.
+
+### Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΠ Π½Π° Raspberry Pi
+
+Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π²Π°Ρ ΠΊΠΎΠΏΡΠ΅Ρ ΠΊ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΡ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ - [ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π΅Π³ΠΎ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°](network.md#ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅-Π°Π΄Π°ΠΏΡΠ΅ΡΠ°-Π²-ΡΠ΅ΠΆΠΈΠΌ-ΠΊΠ»ΠΈΠ΅Π½ΡΠ°) ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π² Wi-Fi, ΠΈΠΌΠ΅ΡΡΠ΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ.
+
+Π‘ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² `catkin_ws` ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π½Π΅Π³ΠΎ:
+
+```bash
+cd ~/catkin_ws/src
+git clone https://github.com/easy-to-fly/easy-to-fly
+cd easy-to-fly
+```
+
+Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
+
+```bash
+./install/ros_deps.sh
+./install/arduino_deps.sh # ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ· 4-Ρ
Π»Π°Π·Π΅ΡΠ½ΡΡ
Π΄Π°Π»ΡΠ½ΠΎΠΌΠ΅ΡΠΎΠ²
+```
+
+### ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ
+
+ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π»ΠΈΠ΄Π°ΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `CP_DIST` PX4. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ 0.5 ΠΌ.
+
+Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ»Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΎ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ Π²ΠΎΠΊΡΡΠ³ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ (ΡΠΈΡΠ°ΡΡ Π΄ΠΎΠΏ. [https://mavlink.io/en/messages/common.html#OBSTACLE_DISTANCE](https://mavlink.io/en/messages/common.html#OBSTACLE_DISTANCE)).
+
+Π’Π΅ΠΏΠ΅ΡΡ Π·Π°Π΄Π°ΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π½Π° ΠΏΠΎΠ»Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ.
+
+Π Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ MAVROS Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ ΡΡΠΈΡ
ΡΠ΅Π»Π΅ΠΉ: [https://github.com/mavlink/mavros/tree/master/mavros_extras#obstacle_distance](https://github.com/mavlink/mavros/tree/master/mavros_extras#obstacle_distance).
+
+Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΅Π΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² `
+
+
+
+
+
+
+
+5. Π ΡΠΈΠ»ΠΎΠ²ΡΠΌ ΠΏΡΠΎΠ²ΠΎΠ΄Π°ΠΌ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΏΡΠΈΠΏΠ°ΡΠΉΡΠ΅ ΡΠ°Π·ΡΠ΅ΠΌ JST-ΠΏΠ°ΠΏΠ°.
+
+
+
+
+
+
+
+
+
+ > **Caution** ΠΡΠ»ΠΈ Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΊ Π±Π΅Π· Π°Π½ΡΠ΅Π½Π½Ρ ΠΏΠΎΠ΄Π°ΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΠΎΠ½ ΡΠ³ΠΎΡΠΈΡ.
+
+9. ΠΠ° ΠΌΠΎΠ½ΡΠ°ΠΆΠ½ΡΡ Π΄Π΅ΠΊΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ, Π·Π°ΠΊΡΠ΅ΠΏΠΈΠ² Π΅Π³ΠΎ ΡΡΡΠΆΠΊΠ°ΠΌΠΈ.
+
+
+
+10. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠ½ΡΠ°ΠΆΠ½ΡΡ Π΄Π΅ΠΊΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠΌ ΡΠ½ΠΈΠ·Ρ ΠΊΠΎΠΏΡΠ΅ΡΠ°.
+
+
+
+11. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ Π² ΡΠΊΠΎΠ±Ρ ΠΈ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΠ΅ Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ 4-Ρ
ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ
Π±ΠΎΠ»ΡΠΎΠ². ΠΠ°ΠΌΠ΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΠΎΠ΄ ΡΠ³Π»ΠΎΠΌ 15Β°-20Β° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ ΠΊΠΎΠΏΡΠ΅ΡΠ°.
+
+
+
+
+
+
+
+13. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΊΠ°Π±Π΅Π»Ρ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΊ ΡΠΈΠ»ΠΎΠ²ΠΎΠΌΡ JST, ΠΏΡΠΈΠΏΠ°ΡΠ½Π½ΠΎΠΌΡ ΠΊ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ°ΠΌ *BAT+* ΠΈ *GND* Π½Π° ΠΏΠ»Π°ΡΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ.
+
+14. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΊΠ°Π±Π΅Π»Ρ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΊΠ° ΠΊ JST Π½Π° 5Π.
+
+
+
+## ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ FPV-ΠΎΡΠΊΠΎΠ²
+
+1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π° ΠΎΡΠΊΠΈ Π΄Π²Π΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΠ΅ Π°Π½ΡΠ΅Π½Π½Ρ.
+2. ΠΠΊΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΊΠΈ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΏΠΈΡΠ°Π½ΠΈΡ 3β4 ΡΠ΅ΠΊΡΠ½Π΄Ρ.
+3. ΠΠΊΠ»ΡΡΠΈΡΠ΅ ΠΊΠΎΠΏΡΠ΅Ρ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΊΠ° ΡΠ²Π΅ΡΠΈΡΡΡ ΡΠΈΠ½ΠΈΠΌ ΡΠ²Π΅ΡΠΎΠΌ.
+4. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΎΡΠΊΠ°Ρ
ΠΊΠ½ΠΎΠΏΠΊΡ *Auto Search*, Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΡΠ°Π΄ΠΈΠΎΠΊΠ°Π½Π°Π»Π°.
diff --git a/docs/ru/hardaton_quidditch.md b/docs/ru/hardaton_quidditch.md
new file mode 100644
index 00000000..159bdfa5
--- /dev/null
+++ b/docs/ru/hardaton_quidditch.md
@@ -0,0 +1,103 @@
+# Π₯Π°ΡΠ΄Π°ΡΠΎΠ½ ΠΠ²ΠΈΠ΄Π΄ΠΈΡ
+
+[CopterHack-2021](copterhack2021.md), ΠΊΠΎΠΌΠ°Π½Π΄Π° **Π₯Π°ΡΠ΄Π°ΡΠΎΠ½**.
+
+ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°: ΠΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ΅ ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΠ΅ - Ρ
Π°ΡΠ΄Π°ΡΠΎΠ½ Β«ΠΠ²ΠΈΠ΄Π΄ΠΈΡ Π½Π° ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ°Ρ
Β».
+
+
+
+## ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°
+
+
+
+* ΠΠΎΠΊΡΠ° ΠΠΊΡΠ°Π½Π° ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΠΎΠ²Π½Π° - Π»ΠΈΠ΄Π΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π¦Π΅Π½ΡΡΠ° ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΠ΄Π°ΡΡΠ½Π½ΡΠΌΠΈ Π΄Π΅ΡΡΠΌΠΈ ΠΠΠΠ£ Β«ΠΠΈΡΠ΅ΠΉ β 176Β» Π³.ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡΡΠΊΠ°.
+* Π¨ΡΠ½Π°Π΅Π² ΠΠΈΠΊΠΈΡΠ° ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΠΎΠ²ΠΈΡ β ΠΏΡΠΎΠ΅ΠΊΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ, ΠΊΡΡΠ°ΡΠΎΡ IT-Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
+* ΠΠ»Π΅ΠΊΠΎΠ² ΠΠ²Π°Π½ ΠΠ½Π°ΡΠΎΠ»ΡΠ΅Π²ΠΈΡ - ΡΠΊΡΠΏΠ΅ΡΡ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ ΡΠΏΠ΅ΡΠΊΡΡΡΠΎΠ² ΠΠΠΠ£ Β«ΠΠΈΡΠ΅ΠΉ β 176Β».
+* ΠΠ΄Π°Π½ΠΎΠ² ΠΠ»Π΅Π³ ΠΠ³ΠΎΡΠ΅Π²ΠΈΡ - ΡΠΊΡΠΏΠ΅ΡΡ ΠΏΠΎ 3D-ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ ΡΠΏΠ΅ΡΠΊΡΡΡΠΎΠ² ΠΠΠΠ£ Β«ΠΠΈΡΠ΅ΠΉ β 176Β».
+
+## Π¦Π΅Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°
+
+Π Π°Π·Π²ΠΈΡΠΈΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΡ
hard-ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΠΉ ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² 7-11 ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Β«ΠΠ΅ΡΠΏΠΈΠ»ΠΎΡΠ½ΡΠ΅ Π°Π²ΠΈΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡΒ» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Β«COEX ΠΠ»Π΅Π²Π΅Ρ 3, 4Β».
+
+## ΠΠ°Π΄Π°ΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°
+
+1. ΠΡΠΈΠ²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ, Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠΎΠ², ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ², ΠΏΠ°ΡΡΠ½ΡΡΠΎΠ² Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Β«ΠΠ΅ΡΠΏΠΈΠ»ΠΎΡΠ½ΡΠ΅ Π°Π²ΠΈΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡΒ», ΠΊ Π·Π°Π½ΡΡΠΈΡΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠΌ ΡΠ²ΠΎΡΡΠ΅ΡΡΠ²ΠΎΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Β«COEX ΠΠ»Π΅Π²Π΅Ρ 3,4Β».
+2. Π Π°Π·Π²ΠΈΡΠΈΠ΅ hard-ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΠΉ ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΈΠ»ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎ).
+3. Π Π°Π·Π²ΠΈΡΠΈΠ΅ soft-ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΠΉ (ΡΠΌΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΎΠ»ΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ ΠΌΡΡΠ»ΠΈΡΡ, ΠΏΡΠ΅Π·Π΅Π½ΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π΄Ρ.).
+4. ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠΌ ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΠΊΠΎΠ½ΠΊΡΡΡΠ°ΠΌ ΠΈ Π½Π°ΡΡΠ½ΠΎ-ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎ-ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΡΡΠΈ (ΠΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Π° ΠΠ’Π, WorldSkills ΠΈ Π΄Ρ.).
+5. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π΄Π»Ρ ΡΠ°Π½Π½Π΅Π³ΠΎ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ°Π»Π°Π½ΡΠΎΠ² ΠΠ’Π.
+6. Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅Π΄Ρ, ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΡΡΠ΅ΠΉ Π²ΠΎΠ²Π»Π΅ΡΠ΅Π½ΠΈΡ Π² ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ½ΡΡΠ·ΠΈΠ°ΡΡΠΎΠ², Π·Π°ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΊΡΡΠΆΠΊΠΎΠ² ΠΠ’Π ΠΏΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Β«ΠΠ΅ΡΠΏΠΈΠ»ΠΎΡΠ½ΡΠ΅ Π°Π²ΠΈΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡΒ».
+
+## ΠΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
+
+Π Π ΠΎΡΡΠΈΠΈ Ρ Π·Π°ΡΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Ρ ΡΠ°ΡΡΡΡ ΡΠΈΡΠ»ΠΎ ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ², Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠΎΠ², ΡΠ½ΡΡΠ·ΠΈΠ°ΡΡΠΎΠ², Π²ΠΎΠ²Π»Π΅ΡΡΠ½Π½ΡΡ
Π² ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ²ΠΎΡΡΠ΅ΡΡΠ²ΠΎ. Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊΠ°ΠΌ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΅ΠΌΠΏΠΈΠΎΠ½Π°ΡΡ, ΠΊΠΎΠ½ΠΊΡΡΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎ-ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΡΡΠΈ. ΠΠ°Π±ΠΈΡΠ°ΡΡ ΠΎΠ±ΠΎΡΠΎΡΡ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΠΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Π° ΠΠ’Π, ΡΠ΅ΠΌΠΏΠΈΠΎΠ½Π°Ρ WorldSkills ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. ΠΡΠΎΡΠΈΠ»Ρ ΠΠΠ’Π Β«ΠΠ΅ΡΠ°ΡΡΠ°Ρ ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ
Π½ΠΈΠΊΠ°Β», ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΡ WorldSkills Β«ΠΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ Π±Π΅ΡΠΏΠΈΠ»ΠΎΡΠ½ΡΡ
Π°Π²ΠΈΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΒ» ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΡΠΌΠ΅Π½ΠΈΡΡ
ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΡΠ±ΠΎΡΠΊΡ, Π΄Π΅ΡΠ΅ΠΊΡΠΎΠ²ΠΊΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠΎΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Β«COEX ΠΠ»Π΅Π²Π΅Ρ 3,4Β». ΠΠΎ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎ ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°ΡΡΠΈΡ
ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² ΠΊ ΡΡΠ°ΡΡΠΈΡ Π² ΡΠ°ΠΊΠΈΡ
ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΡ
ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Π°Ρ
ΠΈ ΠΊΠΎΠ½ΠΊΡΡΡΠ°Ρ
, Π²ΠΎΠ²Π»Π΅ΠΊΠ°ΡΡΠΈΡ
Π² ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ²ΠΎΡΡΠ΅ΡΡΠ²ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΡ
ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠΎΠ². ΠΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΡ - Ρ
Π°ΡΠ΄Π°ΡΠΎΠ½ Β«ΠΠ²ΠΈΠ΄Π΄ΠΈΡ Π½Π° ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ°Ρ
Β», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊ Ρ ΡΠ°Π·Π½ΡΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ (Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΉ, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΠΈΠΉ, ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ), ΡΠ°Π±ΠΎΡΠ°Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠ²ΠΈΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠ΅ ΠΌΡΡΠ»Π΅Π½ΠΈΠ΅, ΡΠΌΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ, ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠΎΠΌ. ΠΠΎΠ²Π»Π΅ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈΠ³ΡΠΎΠ²Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΌ ΡΠΈΠ»ΡΠΌΠ΅ Β«ΠΠ°ΡΡΠΈ ΠΠΎΡΡΠ΅ΡΒ» ΠΈ ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ (ΠΎΡΠ½ΡΠΉ ΠΈ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΡΠΉ).
+
+## ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
+
+Π₯Π°ΡΠ΄Π°ΡΠΎΠ½ Β«ΠΠ²ΠΈΠ΄Π΄ΠΈΡ Π½Π° ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ°Ρ
Β» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ΅ ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠ° (3 ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΠΎΠ»ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠΎ ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΡΠΌ - ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, ΠΏΠΈΠ»ΠΎΡ), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ²ΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠΌΠ΅Π½ΠΈΡ Π² ΠΈΡΠΏΡΡΠ°Π½ΠΈΡΡ
(ΠΊΠ°ΠΊ Π»ΠΈΡΠ½ΠΎΡΡΠ½ΡΡ
, ΡΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ
).
+
+Π‘ΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ.
+
+ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ° Β«COEX ΠΠ»Π΅Π²Π΅Ρ 3, 4Β» (Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΎΠΉ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π·Π°Ρ
Π²Π°ΡΠ° ΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ), ΡΠ΅ΡΡΡΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ Π΄Π»Ρ ΡΠ΅ΠΌΠΎΠ½ΡΠ° (ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ), ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ Π·Π°Ρ
Π²Π°ΡΠ° (ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ), ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π·Π°ΠΏΠ°ΡΠ½ΡΠ΅ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 3 ΡΡΡΠΊ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΠΎΠ΄Π·Π°ΡΡΠ΄ΠΊΠΈ, Π½ΠΎΡΡΠ±ΡΠΊ, ΡΠ»Π΅ΡΠΊΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
+
+ΠΠ»Ρ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ: ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ Π·Π°Ρ
Π²Π°ΡΠ° - ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ (3D-ΠΏΡΠΈΠ½ΡΠ΅Ρ, ΡΡΠ°Π½ΠΎΠΊ Ρ Π§ΠΠ£, ΡΡΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΈ Π΄Ρ.). ΠΠ»ΠΎΡΠ°Π΄ΠΊΠ° ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΠ½Π°Π»Π° - ΡΠΏΠΎΡΡΠΈΠ²Π½ΡΠΉ Π·Π°Π» (Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅), ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ Π½Π° Π·ΠΎΠ½Ρ (Π²Ρ
ΠΎΠ΄Π½Π°Ρ Π·ΠΎΠ½Π°, Π·ΠΎΠ½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π·ΠΎΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ½Π°Ρ Π·ΠΎΠ½Π°, ΠΊΠΎΠ²ΠΎΡΠΊΠΈΠ½Π³-Π·ΠΎΠ½Π° Ρ ΠΏΠ°Π½Π΅Π»ΡΡ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΉ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΈΠ»ΡΠΌΠΎΠ² ΠΎ ΠΠ°ΡΡΠΈ ΠΠΎΡΡΠ΅ΡΠ΅, Π·Π°ΡΠΈΡΠ½Π°Ρ ΡΠ΅ΡΠΊΠ°, ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ°, 6 ΠΊΠΎΠ»Π΅Ρ (ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΠ»Π΅Ρ 70-90), 10 ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΎΠΊ Π΄Π»Ρ ΠΌΡΡΠ΅ΠΉ, 2 ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ
ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ°-ΡΠ½ΠΈΡΠΈ, ΠΎΡΠΊΡΡΡΡΠ΅ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠΈΠΈ, ΡΠ΅ΠΌΠΎΠ½ΡΠ½Π°Ρ Π·ΠΎΠ½Π° (ΠΏΠ°ΡΠ»ΡΠ½ΠΈΠΊΠΈ, ΠΏΡΠΎΠ²ΠΎΠ΄Π°, Π·Π°ΠΏΠ°ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ), ΠΌΠ΅ΡΠΊΠΈ, Raspberry Pi, FPV, ΠΊΠ°ΠΌΠ΅ΡΠ°, 10 ΡΠ΅Π½Π½ΠΈΡΠ½ΡΡ
ΠΌΡΡΠ΅ΠΉ, Π½ΠΎΡΡΠ±ΡΠΊΠΈ, ΡΠ΄Π»ΠΈΠ½ΠΈΡΠ΅Π»ΠΈ, ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ.
+
+ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΠΈ Π·ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠΈ:
+
+
+
+
+
+
+ΠΠΈΠ·Π°ΠΉΠ½ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ, Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΡΡΠ°Π½ΠΈΠΉ ΡΡ
ΠΎΠΆΠΈ ΡΠΎ ΡΡΠ΅Π½Π°ΠΌΠΈ ΠΈΠ· Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΠΎΠ³ΠΎ ΡΠΈΠ»ΡΠΌΠ° Β«ΠΠ°ΡΡΠΈ ΠΠΎΡΡΠ΅ΡΒ». ΠΠ°Π΄Π°Π½ΠΈΡ ΠΏΠΎ ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΡΠΌ ΠΈΠΌΠ΅ΡΡ Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΠΎΠ²Π½Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² (Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΠΈΠΉ, ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ). ΠΠ»ΡΡΠ΅Π²ΡΠΌ ΠΈΡΠΏΡΡΠ°Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ²ΠΈΠ΄Π΄ΠΈΡ Π½Π° ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ°Ρ
. ΠΠΎΠ±Π΅Π΄Ρ ΠΎΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π½Π°Π±ΡΠ°Π²ΡΠ°Ρ Π±ΠΎΠ»ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΊΠΎΠ² ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΈΡΠΏΡΡΠ°Π½ΠΈΡΠΌ. Π ΡΡΠ΄Π΅ΠΉΡΡΠ²Ρ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΡΡΡ ΡΠΊΡΠΏΠ΅ΡΡΡ Π² ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΡΡ
, Π½Π΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ-ΠΏΠ°ΡΡΠ½ΡΡΠΎΠ² ΠΈΠ· ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΠΎΡΠ° ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΡ
ΠΠ£ΠΠΎΠ² ΠΈ Π΄Ρ. ΠΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ, Π½Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΠ΅ Π² ΡΠΈΠ½Π°Π» Ρ
Π°ΡΠ΄Π°ΡΠΎΠ½Π°, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ²; ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ ΡΠΈΠ½Π°Π»Π°, Π½Π΅ Π·Π°Π½ΡΠ²ΡΠΈΠ΅ ΠΌΠ΅ΡΡΠ°, ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΈΠΏΠ»ΠΎΠΌ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ° ΡΠΈΠ½Π°Π»Π°; ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π·Π°Π½ΡΠ²ΡΠΈΠ΅ ΠΌΠ΅ΡΡΠ° Π² ΠΊΠ²ΠΈΠ΄Π΄ΠΈΡΠ΅, ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΈΠΏΠ»ΠΎΠΌΡ ΠΏΠΎΠ±Π΅Π΄ΠΈΡΠ΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ·ΡΡΠΎΠ² ΠΈ ΡΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΊΠΈ.
+
+## ΠΡΠ°ΠΏΡ ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΡ
+
+1. ΠΡΠ±ΠΎΡΠΎΡΠ½ΡΠΉ ΡΡΠ°ΠΏ (ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ΄Π΅Ρ, ΠΈΠ·Π³ΠΎΡΠΎΠ²ΠΈΡΡ Π·Π°Ρ
Π²Π°Ρ ΠΈ Π·Π°ΡΠΈΡΡ Π½Π° ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅Ρ).
+2. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π»ΠΈΡΠ½ΡΠΉ ΡΡΠ°ΠΏ Ρ
Π°ΡΠ΄Π°ΡΠΎΠ½Π° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅Π³ΠΎ, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΠ΅Π³ΠΎ ΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΏΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΈΠ»ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
+3. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΡΠ°ΠΏ (ΠΊΠ²ΠΈΠ΄Π΄ΠΈΡ Π½Π° ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ°Ρ
).
+4. ΠΠ°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠ°ΠΏ (ΠΏΠΎΠ΄Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΡΠΎΠ³ΠΎΠ², Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ±Π΅Π΄ΠΈΡΠ΅Π»Π΅ΠΉ).
+
+## ΠΠ°Π΄Π°Π½ΠΈΡ Ρ
Π°ΡΠ΄Π°ΡΠΎΠ½Π°
+
+Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ ΡΠ°Π·Π½ΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΡ.
+
+* [Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π·Π°Π΄Π°Π½ΠΈΡ ΠΎΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ°](https://disk.yandex.ru/d/6obCbcUGKx74WQ?w=1).
+* [Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ](https://disk.yandex.ru/d/AzBWLAr0_AFDmg?w=1).
+* [Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ](https://disk.yandex.ru/d/teqzvDy_3QQHJw?w=1).
+* [Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π·Π°Π΄Π°Π½ΠΈΡ ΠΊΠ²ΠΈΠ΄Π΄ΠΈΡΠ° Π½Π° ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ°Ρ
](https://disk.yandex.ru/d/hq--WyXn0QRcIQ?w=1).
+* [ΠΠ»Ρ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ](https://disk.yandex.ru/d/5BUMq2tf1Wz6wA?w=1).
+
+## ΠΠΏΡΠΎΠ±Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
+
+ΠΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ΅ ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Π±Π΅ΡΠΏΠΈΠ»ΠΎΡΠ½ΡΠΌ Π°Π²ΠΈΠ°ΡΠΈΠΎΠ½Π½ΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ Β«ΠΠ²ΠΈΠ΄Π΄ΠΈΡ Π½Π° ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ°Ρ
Β» Π±ΡΠ»ΠΎ Π°ΠΏΡΠΎΠ±ΠΈΡΠΎΠ²Π°Π½ΠΎ Π½Π° ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ΅ ΠΠΠΠ£ Β«ΠΠΈΡΠ΅ΠΉ β 176Β» Π³ΠΎΡΠΎΠ΄Π° ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡΡΠΊΠ°:
+
+1. ΠΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΎΡΠ±ΠΎΡΠΎΡΠ½ΡΠΉ ΡΡΠ°ΠΏ ΡΠΎ 2 Π½ΠΎΡΠ±ΡΡ ΠΏΠΎ 20 Π½ΠΎΡΠ±ΡΡ 2020 Π³ΠΎΠ΄Π°.
+2. ΠΡΠ½ΡΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠ°ΠΏ - ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΎΡΠ°ΠΌΠΈ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΠ²Π΅ΡΠ°Π½ΠΈΠ΅ Ρ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠΊΡΠΏΠ΅ΡΡΠ°ΠΌΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠΈΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠΈ ΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎΠ²ΡΡ
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ
ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡΠΎ ΡΡΠ°Π½ΠΊΠ°ΠΌΠΈ Ρ Π§ΠΠ£, Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠΈΠΈ DronLab.
+3. Π€ΠΈΠ½Π°Π» ΠΏΡΠΎΡΠ΅Π» Ρ 4 ΠΏΠΎ 6 Π΄Π΅ΠΊΠ°Π±ΡΡ 2020 Π³ΠΎΠ΄Π°.
+
+Π ΠΎΡΠ½ΠΎΠΌ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΠΈ ΠΏΡΠΈΠ½ΡΠ»ΠΈ ΡΡΠ°ΡΡΠΈΠ΅ 27 ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· Π³ΠΎΡΠΎΠ΄Π° ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡΡΠΊΠ°, 81 ΡΡΠ°ΡΡΠ½ΠΈΠΊ ΠΈΠ· ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π΅ΡΠ΅ΠΉ Π³ΠΎΡΠΎΠ΄Π° ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡΡΠΊΠ°, 14 Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠΎΠ², 5 Π²ΠΎΠ»ΠΎΠ½ΡΡΡΠΎΠ², 3 ΡΠΊΡΠΏΠ΅ΡΡΠ°, 5 ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΎΠ² ΡΠΊΡΠΏΠ΅ΡΡΠ°, 3 ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΎΡΠ°. ΠΠ±ΡΠΈΠΉ ΠΎΡ
Π²Π°Ρ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΡ β 111 ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ.
+
+
+
+
+
+
+ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌΠΈ Ρ
Π°ΡΠ΄Π°ΡΠΎΠ½Π° [ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ](https://disk.yandex.ru/d/2TbB8SSM4a6jsw?w=1) ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π·Π°Ρ
Π²Π°ΡΠ° ΠΈ Π·Π°ΡΠΈΡΡ Π½Π° ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅Ρ:
+
+[ΠΠΈΠ΄Π΅ΠΎ](https://disk.yandex.ru/d/6kNI1smfWhWYXA?w=1) ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈ Ρ ΠΏΠΎΠ»ΡΡΠ½ΠΎΠΉ Π·ΠΎΠ½Ρ.
+
+
+
+## ΠΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΡ Π² Π‘ΠΠ
+
+* https://nsknews.info/materials/kviddich-na-kvadrokopterakh-ustroili-v-novosibirskoy-shkole/ (Π³ΠΎΡΠΎΠ΄ΡΠΊΠΎΠΉ Π½ΠΎΠ²ΠΎΡΡΠ½ΠΎΠΉ ΡΠ°ΠΉΡ).
+* http://www.nios.ru/news/24302 (ΡΠ°ΠΉΡ Π΄Π΅ΠΏΠ°ΡΡΠ°ΠΌΠ΅Π½ΡΠ° ΠΌΡΡΠΈΠΈ Π³ΠΎΡΠΎΠ΄Π° ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡΡΠΊΠ°).
+* http://xn--176-qddohl3g.xn--p1ai/index.php/dostizheniya-litseistov/1627-kviddich-na-kvadrokopterakh (ΡΠ°ΠΉΡ ΠΠΠΠ£ βΠΠΈΡΠ΅ΠΉ β176β)
+* https://www.facebook.com/633602557253181/posts/739165210030248/.
+
+## ΠΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
+
+* ΠΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΠ΅Π³ΠΎ ΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Ρ ΡΠ΅Π»ΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² ΠΊ ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Π°ΠΌ, ΡΠ΅ΠΌΠΏΠΈΠΎΠ½Π°ΡΠ°ΠΌ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠΌ ΠΊΠΎΠ½ΠΊΡΡΡΠ°ΠΌ ΠΏΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Β«ΠΠ΅ΡΠΏΠΈΠ»ΠΎΡΠ½ΡΠ΅ Π°Π²ΠΈΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡΒ» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Β«COEX ΠΠ»Π΅Π²Π΅Ρ 3,4Β» ΠΊΠ°ΠΊ Π² ΠΎΡΠ½ΠΎΠΌ, ΡΠ°ΠΊ ΠΈ Π² Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅.
+* ΠΡΠΈΠ²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ½ΡΡΠΎΠ², ΡΠΊΡΠΏΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΊ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ΅ Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΡ Β«ΠΠ²ΠΈΠ΄Π΄ΠΈΡ Π½Π° ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ°Ρ
Β» Π½Π° ΠΡΠ΅ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅.
+* Π’ΡΠ°Π½ΡΠ»ΡΡΠΈΡ ΠΎΠΏΡΡΠ° ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΡΠΎΠ²Π½ΡΡ
Ρ ΡΠ΅Π»ΡΡ Π²ΠΎΠ²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² Π² Π·Π°Π½ΡΡΠΈΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠΌ ΡΠ²ΠΎΡΡΠ΅ΡΡΠ²ΠΎΠΌ, ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΡΡΠΆΠΊΠΈ, ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ hard ΠΈ soft-ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΠΉ.
diff --git a/docs/ru/magnetic_grip.md b/docs/ru/magnetic_grip.md
new file mode 100644
index 00000000..5582b45e
--- /dev/null
+++ b/docs/ru/magnetic_grip.md
@@ -0,0 +1,65 @@
+# Π‘Π±ΠΎΡΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ»Π΅ΠΊΡΡΠΎΠΌΠ°Π³Π½ΠΈΡΠ½ΠΎΠ³ΠΎ Π·Π°Ρ
Π²Π°ΡΠ°
+
+ΠΠ°Π³Π½ΠΈΡΠ½ΡΠΉ Π·Π°Ρ
Π²Π°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡ
Π΅ΠΌΠΎΠΉ.
+
+
+
+ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΡ
Π΅ΠΌΡ ΡΠ»Π΅ΠΊΡΡΠΎΠΌΠ°Π³Π½ΠΈΡΠ½ΠΎΠ³ΠΎ Π·Π°Ρ
Π²Π°ΡΠ° Π½Π° ΠΌΠ°ΠΊΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅.
+
+> **Info** Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ»ΠΎΠΆΠΈΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΊΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠ»Π°ΡΡ (Π½Π° Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΡ
ΠΏΡΠΎΠ²ΠΎΠ΄ΠΊΠ° ΡΠ΄Π΅Π»Π°Π½Π° ΠΏΠΎΠ²Π΅ΡΡ
ΡΡ
Π΅ΠΌΡ, Π΄Π»Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ).
+
+1. ΠΠ° ΠΏΠ°Π΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ Π΄ΠΈΠΎΠ΄ Π¨ΠΎΡΡΠΊΠΈ, ΡΠ΅Π·ΠΈΡΡΠΎΡ Π½Π° 10 ΠΊΠΠΌ ΠΈ ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡ.
+
+
+
+2. ΠΡΠΈΠΏΠ°ΡΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠ»Π°ΡΡ ΠΈ ΠΎΡΠΊΡΡΠΈΡΠ΅ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ Π½ΠΎΠΆΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
+3. Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΡΠ΅Π·ΠΈΡΡΠΎΡΠ° ΠΈ Π΄Π²ΡΡ
ΠΊΡΠ°ΠΉΠ½ΠΈΡ
Π½ΠΎΠΆΠ΅ΠΊ ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡΠ°.
+
+
+
+4. Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΡ Π½ΠΎΠΆΠΊΡ ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡΠ° ΠΈ Π½ΠΎΠΆΠΊΡ Π΄ΠΈΠΎΠ΄Π° Π¨ΠΎΡΡΠΊΠΈ (ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΡ ΡΠ΅ΡΠΎΠΉ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΎΡΠ½ΠΎΠΉ ΠΏΠΎΠ»ΠΎΡΠΊΠ΅).
+
+
+
+5. ΠΠ±ΡΠ΅ΠΆΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄Π° ΠΌΠ°Π³Π½ΠΈΡΠ½ΠΎΠ³ΠΎ Π·Π°Ρ
Π²Π°ΡΠ° ΠΈ ΠΏΡΠΈΠΏΠ°ΡΠΉΡΠ΅ Π΅Π³ΠΎ ΠΊ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌ Π΄ΠΈΠΎΠ΄Π° Π¨ΠΎΡΡΠΊΠΈ.
+
+
+
+6. ΠΡΠΈΠΏΠ°ΡΠΉΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄Π° *Dupont*-ΠΏΠ°ΠΏΠ° ΠΊ Π½ΠΎΠΆΠΊΠ΅ ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡΠ° ΠΈ Π΄ΠΈΠΎΠ΄Π° (ΠΊΡΠ°ΡΠ½ΡΠΉ, ΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄Π°), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ *Dupont*-ΠΌΠ°ΠΌΠ° Π½Π° ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΡ Π½ΠΎΠΆΠΊΡ ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡΠ° (Π±Π΅Π»ΡΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄).
+
+
+
+## ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠΌΠ°Π³Π½ΠΈΡΠ½ΠΎΠ³ΠΎ Π·Π°Ρ
Π²Π°ΡΠ°
+
+ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π·Π°Ρ
Π²Π°ΡΠ°, ΠΏΠΎΠ΄Π°ΠΉΡΠ΅ Π½Π° ΡΠΈΠ³Π½Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ 5Π. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ *Dupont* ΠΏΠ°ΠΏΠ°-ΠΏΠ°ΠΏΠ°.
+
+
+
+ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ΄Π°ΡΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΌΠ°Π³Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡΡΠΈΡΡΡΡ.
+
+## ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Raspberry Pi
+
+ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΌΠ°Π³Π½ΠΈΡΠ½ΡΠΉ Π·Π°Ρ
Π²Π°Ρ ΠΊ ΠΏΠ»Π°ΡΠ΅ Raspberry Pi Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
+
+
+
+ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, Π°ΠΊΡΠΈΠ²ΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΌΠ°Π³Π½ΠΈΡΠ½ΡΠΉ Π·Π°Ρ
Π²Π°Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ [ΡΡΡ](gpio.md#ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅-ΡΠ»Π΅ΠΊΡΡΠΎΠΌΠ°Π³Π½ΠΈΡΠ°).
+
+## ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Arduino
+
+ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ Π·Π°Ρ
Π²Π°Ρ ΠΏΠ»Π°ΡΠ΅ Arduino Nano, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΡΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
+
+Π£Π΄ΠΎΠ±Π½ΠΎ Π΅Π΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡ Π½Π° ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠ°Π΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ -- Π²ΡΡΠ°Π²ΡΡΠ΅ Π΅Π΅ Π² ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡΡΠΈΡ ΠΈ ΠΏΡΠΈΠΏΠ°ΡΠΉΡΠ΅ Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΊ ΠΏΠ»Π°ΡΠ΅.
+
+
+
+ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠΈΠ³Π½Π°Π»ΡΠ½ΡΠΉ Π²ΡΡ
ΠΎΠ΄ ΡΡ
Π΅ΠΌΡ ΠΊ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΠΏΠΎΡΡΡ ΠΈ ΠΏΡΠΈΠΏΠ°ΡΠΉΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ *Dupont*-ΠΌΠ°ΠΌΠ° ΠΊ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΡΠΈΠ³Π½Π°Π»ΡΠ½ΠΎΠΌΡ ΠΏΠΎΡΡΡ Π½Π° ΠΏΠ»Π°ΡΠ΅.
+
+
+
+## Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ»Π΅ΠΊΡΡΠΎΠΌΠ°Π³Π½ΠΈΡΠ½ΠΎΠ³ΠΎ Π·Π°Ρ
Π²Π°ΡΠ°
+
+1. Π ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΡΠ²Π΅ΡΡΡΠΈΠ΅ Π½Π° Π΄Π΅ΠΊΠ΅ Π·Π°Ρ
Π²Π°ΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠΌΠ°Π³Π½ΠΈΡ.
+2. Π‘ΡΡΠΆΠΊΠΎΠΉ ΠΏΡΠΈΡΡΠ½ΠΈΡΠ΅ ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ ΡΡ
Π΅ΠΌΡ ΠΊ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅ Π΄Π΅ΠΊΠΈ.
+3. Π‘ΠΈΠ³Π½Π°Π»ΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Arduino *D11* Π²ΡΡΠ°Π²ΡΡΠ΅ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΡΠ²ΠΎΠ΄ΠΎΠ² *AUX* Π½Π° ΠΏΠΎΠ»Π΅ΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅.
+4. ΠΡΡΠ°Π²ΡΡΠ΅ ΡΠΈΠ»ΠΎΠ²ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ ΡΠ»Π΅ΠΊΡΡΠΎΠΌΠ°Π³Π½ΠΈΡΠ½ΠΎΠ³ΠΎ Π·Π°Ρ
Π²Π°ΡΠ° Π² JST 5Π.
diff --git a/docs/ru/mechanical_grip.md b/docs/ru/mechanical_grip.md
new file mode 100644
index 00000000..90a7b74c
--- /dev/null
+++ b/docs/ru/mechanical_grip.md
@@ -0,0 +1,69 @@
+# Π‘Π±ΠΎΡΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΌΠ΅Ρ
Π°Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π°Ρ
Π²Π°ΡΠ°
+
+1. Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΠ΅ Π³Π»Π°Π²Π½ΡΠ΅ ΠΏΠ»Π°ΡΡΠΈΠ½Ρ Π·Π°Ρ
Π²Π°ΡΠ°.
+
+
+
+2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΠ°Π· Π² ΡΠ΅Π½ΡΡΠ΅ ΠΏΠ»Π°ΡΡΠΈΠ½, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΡΠ΅Π²Π°Ρ ΡΠ΅ΡΡΠ΅ΡΠ½Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΠ»Π°ΡΡ ΠΏΠΎΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ Π·Π°Ρ
Π²Π°ΡΠ°.
+
+
+
+3. ΠΡΠΈΠΆΠΌΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΈΠ½Ρ Π·Π°Ρ
Π²Π°ΡΠ° Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΏΡΠΎΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ.
+
+
+
+
+
+5. ΠΠ°ΠΊΡΠ΅ΠΏΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π·Π°Ρ
Π²Π°ΡΠ° ΡΠ°ΠΌΠΎΡΠ΅Π·Π°ΠΌΠΈ.
+
+
+
+6. ΠΠΎΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΡΠ΅ΡΡΠ΅ΡΠ½Ρ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Π° Π² ΠΊΡΠ°ΠΉΠ½Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
+
+
+
+7. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π° ΡΠ΅ΡΡΠ΅ΡΠ½Ρ ΠΊΡΠ΅ΡΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠ΅ ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΠ΅ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΠΈΠ½ΡΠ°, ΠΏΡΠΈΠ»Π°Π³Π°ΡΡΠ΅Π³ΠΎΡΡ ΠΊ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Ρ.
+
+
+
+8. ΠΠ±ΡΠ΅ΠΆΡΡΠ΅ ΠΊΡΠ΅ΡΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠ΅ ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅.
+
+
+
+
+
+
+
+11. ΠΠ°ΠΊΡΠ΅ΠΏΠΈΡΠ΅ ΠΊΠ»Π΅ΡΠ½ΠΈ Π·Π°Ρ
Π²Π°ΡΠ° ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌΠΈ ΡΠ°ΠΌΠΎΡΠ΅Π·Π°ΠΌΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΡ
ΡΠ³ΠΎΠ» ΡΠΎΡΡΠ°Π²Π»ΡΠ» 25Β°β40Β°.
+
+
+
+12. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΉ Π·Π°Ρ
Π²Π°Ρ Π½Π° ΠΊΠΎΠΏΡΠ΅Ρ ΡΠ½ΠΈΠ·Ρ.
+
+
+
+
+
+14. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Ρ
Π²Π°ΡΠΎΠΌ Ρ ΠΏΡΠ»ΡΡΠ°, Π·Π°ΠΉΠ΄ΠΈΡΠ΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ *Radio*.
+15. Π ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ *AUX 1/2 Passthrough RC channel* ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ Π²Π°ΠΌ ΠΊΠ°Π½Π°Π».
+16. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠΌΠ±Π»Π΅ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠ°Π½Π°Π»Π° Π·Π°Ρ
Π²Π°Ρ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΡΡΠ²Π°ΡΡΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΡΡΠ²Π°ΡΡΡΡ.
diff --git a/docs/ru/models.md b/docs/ru/models.md
index 23b2e1f0..5eed6d40 100644
--- a/docs/ru/models.md
+++ b/docs/ru/models.md
@@ -80,13 +80,31 @@
+## ΠΠ»Π΅Π²Π΅Ρ 4.2 WorldSkills
+
+### Π€ΡΠ΅Π·Π΅ΡΠΎΠ²ΠΊΠ°
+
+| ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ | ΠΠ΅ΡΠ°Π»Ρ | Π€Π°ΠΉΠ» |
|---|---|---|
![]() |
+
+ ΠΠΎΠΆΠΊΠ° Π±ΠΎΠ»ΡΡΠ°Ρ. + Π€ΡΠ½ΠΊΡΠΈΡ: ΠΠΏΠΎΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π½ΠΎΠΉ Π²ΡΡΠΎΡΡ. + ΠΠ°ΡΠ΅ΡΠΈΠ°Π»: ΠΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΉ ΠΏΠΎΠ»ΠΈΠΊΠ°ΡΠ±ΠΎΠ½Π°Ρ 2ΠΌΠΌ. + ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ: 2 ΡΡ. + |
+ big_leg.dxf |
+
diff --git a/docs/ru/oktazodg.md b/docs/ru/oktazodg.md
new file mode 100644
index 00000000..23a9ea7e
--- /dev/null
+++ b/docs/ru/oktazodg.md
@@ -0,0 +1,126 @@
+# ΠΠΊΡΠΎΠΊΠΎΠΏΡΠ΅Ρ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠΏΠ΅Π»Π»Π΅ΡΠΎΠ²
+
+[CopterHack-2021](copterhack2021.md), ΠΊΠΎΠΌΠ°Π½Π΄Π° **PΠ°D30DΠ**.
+
+
+
+## ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
+
+ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ, ΠΊΠΎΠ³Π΄Π° Π²ΠΈΠ΄ΠΈΡ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ Π»Π΅ΡΠ°ΡΡΠΈΠΉ Π΄ΡΠΎΠ½, Π·Π°Π΄Π°Π΅ΡΡΡ ΡΡΠ΄ΠΎΠΌ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΡΠΈΠΏΠ°:"Π ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π»Π΅ΡΠ°ΡΡ ΡΠ°ΠΊ?","Π ΠΊΠ°ΠΊ Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»Π΅ΡΠ΅ΡΡ?","Π ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π½ΡΡΡ?". ΠΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΏΡΠΎΡΠ²ΠΈΠ»Π° ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΠΈΠ· Π½ΠΈΡ
, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊ Π²ΠΎΠΏΡΠΎΡΡ Π³ΡΡΠ·ΠΎΠΏΠΎΠ΄ΡΡΠΌΠ½ΠΎΡΡΠΈ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ COEX - Clover 4. ΠΠΌΠ΅Ρ Π½Π° ΡΡΠΊΠ°Ρ
ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΡΠ³Ρ ΠΊ ΠΏΠΎΠ»Π΅ΡΠ°ΠΌ, ΠΌΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ Π²ΡΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠΎΠΏΡΠ΅ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠ° ΠΎΡ 800 Π΄ΠΎ 1000 Π³ΡΠ°ΠΌΠΌ. ΠΠΎ ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ ΠΌΠ°Π»ΠΎ ΠΈ ΡΡΠΎ Ρ ΡΡΠΈΠΌ Π΄Π΅Π»Π°ΡΡ? ΠΠ΅Π΄Ρ Π² Π½Π΅Π΄Π°Π»Π΅ΠΊΠΎΠΌ Π±ΡΠ΄ΡΡΡΠ΅ΠΌ ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π·Π²ΠΈΡΡΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½Π°Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΎΠ²Π°ΡΠΎΠ² Π½Π° Π΄ΡΠΎΠ½Π°Ρ
ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ 1 ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΡΠ΅Π±ΡΠ²Π°Ρ Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΎΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΉΡΠΈ Π² Π³ΠΎΠ»ΠΎΠ²Ρ - ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ Π΄ΡΠΎΠ½Ρ Π²ΡΠΎΡΠΎΠΉ! ΠΠ·ΡΡΠ°Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΡΡ
ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΎΡΠ°ΠΌΠΈ ΡΠ΅ΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡΡΡ CopterHack2021, ΠΌΡ Π½Π°ΡΠ»ΠΈ ΡΠ°ΠΊΡΡ ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ "ΠΠ²Π° Π΄ΡΠΎΠ½Π° Π² ΡΠ²Π΅ΡΠ΄ΠΎΠΉ ΡΠ²ΡΠ·ΠΊΠ΅", ΡΡΠΎ ΡΠ²Π»ΡΠ»ΠΎΡΡ 100-ΠΏΡΠΎΡΠ΅Π½ΡΠ½ΡΠΌ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ΠΌ Π² ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΡΡ Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π»Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ
Π½ΠΈΠΊΠΈ.
+
+
+
+## Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°
+
+Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌ Π½Π°ΡΠΈΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΠΌΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ
. ΠΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠΊΡΠΎΠΊΠΎΠΏΡΠ΅Ρ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠΏΠ΅Π»Π»Π΅ΡΠΎΠ², ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ Π΄Π²Π° Π΄ΡΠΎΠ½Π° ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ Π΄Π²ΡΡ
ΠΏΠ°ΡΠ½ΡΡ
ΠΏΡΠΎΠΏΠ΅Π»Π»Π΅ΡΠΎΠ² ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ°. ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΡΠ°ΡΡΡ Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π΄Π΅ΡΠ°Π»Π΅ΠΉ Π΄ΡΠΎΠ½Π° (ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½Π°Ρ Π΄Π΅ΠΊΠ°, 4 Π»ΡΡΠ°, 2 ΠΊΡΠ΅ΡΡΠΎΠ²ΠΈΠ½Ρ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ΄ΡΡ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°ΡΠΈΠΈ Clover 4.
+
+
+
+Π ΠΊΠ°ΡΠ΅ΡΠ²Π΅ ΠΏΠΎΠ»Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ Pixhawk v.4, Ρ.ΠΊ. ΠΎΠ½, Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
Π½Π° ΠΠ»Π΅Π²Π΅ΡΠ°Ρ
Pixracer ΠΈ CoexPix ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΈΠ³Π½Π°Π»ΡΠ½ΡΡ
ΠΏΠΎΡΡΠΎΠ² Π΄Π»Ρ Π΄Π²ΠΈΠΆΠΊΠΎΠ².
+
+
+
+Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π΄ΠΈΠΎΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° ΠΈ ΡΠ°Π΄ΠΈΠΎΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ FlySky.
+
+Π§ΡΠΎΠ±Ρ Π½Π΅ ΠΎΡΡ
ΠΎΠ΄ΠΈΡΡ ΠΎΡ ΡΠ΅ΠΌΡ "Π΄Π²ΡΡ
Π΄ΡΠΎΠ½ΠΎΠ² Π² ΡΠ²Π΅ΡΠ΄ΠΎΠΉ ΡΠ²ΡΠ·ΠΊΠ΅", Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΊΡΠΎΠΊΠΏΡΠ΅ΡΠ° Π΄Π²Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΠ»Π°ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΠΎΠΏΡΠΎΡ ΠΏΠΈΡΠ°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌ. Π‘Π΅ΠΉΡΠ°Ρ ΠΊ Π΄Π²ΡΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ PDB ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π΄Π²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ°, ΠΏΡΠΎΠ²ΠΎΠ΄Π° ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΈΠ΄ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ»Π°Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ PDB ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΡΠ½ΡΠΉ Π°ΠΊΠΊΠ²ΠΌΡΠ»ΡΡΠΎΡ Π½Π° 5200 mA/h, Π½ΠΎ ΡΠΎΠ³Π΄Π° Π±Ρ Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΡΠ΅ΡΡΠ» ΡΠ²ΠΎΡ "ΠΈΠ·ΡΠΌΠΈΠ½ΠΊΡ" ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΈΠ΄Π΅Ρ Π΄Π»Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ.
+
+## ΠΡΠΎΡΠΈΠ²ΠΊΠ°
+
+https://drive.google.com/drive/folders/1Zc878JuDw_4FKSvvzibzGLVOnaxFhiqL?usp=sharing - ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΠΎΠΊΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ° Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ PX4.
+
+https://github.com/matveylapin/PX4-Autopilot - ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΠΎΠΊΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ° ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ.
+
+ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ, ΠΎΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Clover 4, Π½Π΅ ΡΡΠΈΡΠ°Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΎΠΊΡΠΎ-, Π° Π²ΡΠΎΡΠΎΠΉ ΠΊΠ²Π°Π΄ΡΠΎ-ΠΊΠΎΠΏΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π½ΠΎΠ²ΡΡ
ΠΎΡΠΎΠ±ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΠ½ΠΈ ΠΈ Π±ΡΠ΄ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π½ΠΈΠΆΠ΅.
+
+ΠΠ΅ΡΠ²ΡΠΉ ΡΠ°ΠΉΠ» - ΡΡΠΎ ΡΠ°ΠΉΠ» Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΠΈ.Π Π½Π΅ΠΌ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΌΠΎΡΠΎΡΠΎΠ² Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π΄ΡΠΎΠ½Π°. ΠΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΊΠΈΠ½Π΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
+
+```python
+# Firmware/src/lib/mixer/geometries/MultirotorMixer/octa_h.toml
+
+[info]
+key = "8h"
+description = "the coolest geometry on the planet"
+
+[rotor_default]
+axis = [0.0, 0.0, -1.0]
+Ct = 1.0
+Cm = 0.05
+
+[[rotors]]
+name = "front_right"
+position = [0.5, 1, 0.0]
+direction = "CCW"
+
+[[rotors]]
+name = "rear_left"
+position = [-0.5, -1, 0.0]
+direction = "CCW"
+
+[[rotors]]
+name = "mid_front_right"
+position = [0.5, 0.5, 0.0]
+direction = "CW"
+
+[[rotors]]
+name = "rear_right"
+position = [-0.5, 1, 0.0]
+direction = "CW"
+
+[[rotors]]
+name = "front_left"
+position = [0.5, -1, 0.0]
+direction = "CW"
+
+[[rotors]]
+name = "mid_rear_left"
+position = [-0.5, -0.5, 0.0]
+direction = "CW"
+
+[[rotors]]
+name = "mid_front_left"
+position = [0.5, -0.5, 0.0]
+direction = "CCW"
+
+[[rotors]]
+name = "mid_rear_right"
+position = [-0.5, 0.5, 0.0]
+direction = "CCW"
+```
+
+ΠΡΠΎΡΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΈΠΊΡΠ΅Ρ. Π Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ Π²ΡΠ΅Ρ
ΠΌΠΎΡΠΎΡΠΎΠ² ΡΡΠ°Π·Ρ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
Π³ΡΡΠΏΠΏ.
+
+```python
+# Firmware/ROMFS/px4fmu_common/mixers/octo_h.main.mix
+# Octo H
+
+R: 8h 10000 10000 10000 0
+```
+
+Π’ΡΠ΅ΡΠΈΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°ΠΉΠ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΡΠΈΡΡΠΏΠ΅ΠΉΠΌΠ°. Π Π½Π΅ΠΌ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ PX4. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΌ ΠΌΠΈΠΊΡΠ΅Ρ ΠΈ Π²ΡΡ
ΠΎΠ΄
+
+```python
+#!/bin/sh
+# Firware/ROMFS/px4fmu_common/init.d/airframes/8111_octo_h
+
+sh /ect/init.d/rc.mc_defaults
+
+set MIXER octo_h
+
+set PWM_OUT 12345678
+```
+
+## 3D-ΠΌΠΎΠ΄Π΅Π»Ρ
+
+ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ, ΠΏΡΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²Π·ΡΡΡΡΡ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡ, Π½Π°ΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ Π±ΡΠ» ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΡ Π²ΡΠ΅ Π² ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ΅ Gazebo. ΠΠ²ΠΈΠ΄Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°Π΄ ΡΠ°Π±ΠΎΡΠΎΠΉ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡΡΡΠ½ΡΡΠ° Π½Π° Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΡΠΎΠΊ. ΠΠΎ, Π½Π΅ ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠΎΡ ΡΠ°ΠΊΡ, Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ Π»ΡΡΡΠ΅ΠΉ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π±ΡΠ»Π° ΡΠ΄Π΅Π»Π°Π½Π° 3D-ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΠΊΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ°. ΠΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ - https://drive.google.com/drive/folders/1TuxiSWmiPWIslp03GDKJL4yQ729Cn70I?usp=sharing.
+
+
+
+## ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅
+
+ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠΌΠ΅Π»ΠΎΡΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π² ΠΎΡΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΡΡΠΎΠΊΠΈ, ΡΠ΄Π΅Π»Π°Π² Π°ΠΊΡΠ΅Π½Ρ Π½Π° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΠΈ.
+
+## Π Π΅Π°Π»ΡΠ½ΠΎΡΡΡ
+
+ΠΠ²ΠΈΠ΄Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΠΎΡΠ²Π»Π΅ΠΊΠ°ΡΡΠΈΡ
ΡΠ°ΠΊΡΠΎΡΠΎΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ: ΡΡΠ΅Π±Π°, ΡΠ°Π±ΠΎΡΠ°, ΠΏΡΠΎΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ
ΠΏΠ°Π½Π΄Π΅ΠΌΠΈΠΈ, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ±ΡΠ°ΡΡΡΡ Π²ΡΠ΅ΠΌ ΡΠΎΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΠΊΠ°ΠΌ Π²ΠΌΠ΅ΡΡΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ΅, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎΠ»Π³ΠΎ ΠΎΡΡΡΠ³ΠΈΠ²Π°Π»ΠΎΡΡ ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠΈΠΊΠ° ΠΏΠΎ ΡΡΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠ»Π°ΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ Π½Π΅Π΄Π΅Π»Ρ. ΠΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ°Π»ΡΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π° ΡΡΠΈ Π½Π΅Π΄Π΅Π»ΠΈ Π΄ΠΎ ΡΠΈΠ½Π°Π»Π° ΠΊΠΎΠ½ΠΊΡΡΡΠ°, ΠΌΡ Π²Π·ΡΠ»ΠΈΡΡ Π·Π° Π΄Π΅Π»ΠΎ. ΠΠΏΠ»ΠΎΡΡ Π΄ΠΎ Π΄Π½Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΠ½Π°Π»Π° CopterHack2021 ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠΌ, ΡΡΠΎΠ±Ρ 20-21 ΠΌΠ°ΡΡΠ° 2021 Π³ΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ°.
+
+Π‘ Π½Π°ΠΈΠ»ΡΡΡΠΈΠΌΠΈ ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΡΠΌΠΈ ΠΈ Π²ΠΎΠΎΠ΄ΡΡΠ΅Π²Π»Π΅Π½Π½ΡΠΌ Π½Π°ΡΡΡΠΎΠ΅ΠΌ, ΠΊΠΎΠΌΠ°Π½Π΄Π° PΠ°D30DΠ!
diff --git a/docs/ru/power.md b/docs/ru/power.md
index 10c442e4..13253fc1 100644
--- a/docs/ru/power.md
+++ b/docs/ru/power.md
@@ -15,7 +15,7 @@
* ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π² ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ»Π΅ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ.
* ΠΠ°ΠΆΠΌΠΈΡΠ΅ *Close*, ΡΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
-
+
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: https://docs.qgroundcontrol.com/en/SetupView/Power.html.
@@ -28,7 +28,7 @@
3. ΠΠΎΡΠ»Π΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ Π½Π°Π΄ΠΏΠΈΡΠΈ *Connect the battery now* ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΠΠΠ.
4. ΠΠΎΠΆΠ΄ΠΈΡΠ΅ΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π½Π°Π΄ΠΏΠΈΡΠΈ *Calibration complete*.
-
+
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: https://docs.px4.io/v1.9.0/en/advanced_config/esc_calibration.html.
diff --git a/docs/ru/projects.md b/docs/ru/projects.md
index d0d165ea..77ae588e 100644
--- a/docs/ru/projects.md
+++ b/docs/ru/projects.md
@@ -13,7 +13,7 @@
|ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ [Pozyx](https://www.pozyx.io)|[ΠΠ°ΡΠ°Π±ΠΎΡΠΊΠΈ](https://github.com/goldarte/pozyx_clever).|
|ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠ° Motion Capture||
|Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π΄Π΅ΡΠ΅Π²ΠΎΠ³ΠΎ Motion Capture||
-|ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Scratch, Blockly)|[Π Π΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠ°ΠΆΠΈΡΠΎΠ²ΠΎΠΊ](clever_blocks.md). ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ COEX [Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅](https://github.com/CopterExpress/clover/tree/blockly).|
+|ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Scratch, Blockly)|[Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ COEX](blocks.md).|
|Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (optical flow): ΡΡΠ΅ΠΊΠΈΠ½Π³ ΠΏΠΎ ΡΠΈΡΠ°ΠΌ, ΡΠ°ΡΡΠ΅Ρ ΡΠ³Π»Π° ΠΏΠΎ yaw||
|Π‘ΠΈΠΌΡΠ»ΡΡΠΎΡ ΠΠ»Π΅Π²Π΅ΡΠ°|[Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ COEX](https://github.com/CopterExpress/clover_vm) (Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Gazebo). ΠΡΠΎΠ΅ΠΊΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ.|
|ΠΠ±Π»Π°ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ° ΠΠ»Π΅Π²Π΅ΡΠ°|ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ ΠΈΠ»ΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ [ROS Development Studio](http://rosds.online/).|
diff --git a/docs/ru/race_timing_sys_copterhack.md b/docs/ru/race_timing_sys_copterhack.md
new file mode 100644
index 00000000..e8dcf1db
--- /dev/null
+++ b/docs/ru/race_timing_sys_copterhack.md
@@ -0,0 +1,94 @@
+# Π‘ΠΈΡΡΠ΅ΠΌΠ° Π·Π°ΡΠ΅ΡΠΊΠΈ (Ρ
ΡΠΎΠ½ΠΎΠΌΠ΅ΡΡΠ°ΠΆΠ°) Π΄Π»Ρ Π΄ΡΠΎΠ½ΠΎΠ²
+
+[CopterHack-2021](copterhack2021.md), ΠΊΠΎΠΌΠ°Π½Π΄Π° **Atomic Ferrets**.
+
+ΠΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ
ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ - Π‘ΡΠ΅ΡΠΊΠΈΠΉ Π‘Π΅ΡΠ³Π΅ΠΉ ΠΈ ΠΠ°Π²Π»Π΅ΡΡΠΈΠ½ ΠΠ΅Π½ΠΈΡ.
+
+ΠΠΎ Π²ΡΠ΅ΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Π½Π° ΠΏΠΎΡΡΡ (bashirianboy@gmail.com) ΠΈΠ»ΠΈ [Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ](https://t.me/DenisNoLimit).
+
+## ΠΠ΄Π΅Ρ
+
+ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π°ΡΠ΅ΡΠ΅ΠΊ Π΄Π»Ρ Π΄ΡΠΎΠ½ΠΎΠ², Π½ΠΎ ΡΠ΅Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ Π² Π ΠΎΡΡΠΈΠΈ, ΠΌΠ°Π»ΠΎ, Π° ΡΠ°ΠΊΠΈΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π±Ρ ΠΈΠΌΠ΅Π»ΠΈ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΡ ΡΠ΅Π½Ρ, Π΅ΡΠ΅ ΠΌΠ΅Π½ΡΡΠ΅. ΠΠΎΡΡΠΎΠΌΡ Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π°Π²Π°Π»Π° Π±Ρ Π²Π΅ΡΡ Π½ΡΠΆΠ½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅ ΡΡΠΎΠ»Ρ Π·Π°ΡΡΠ°ΡΠ½ΡΠΌ.
+
+ΠΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ: https://github.com/stinger000/CopterHack2020_IR_LED.
+
+## ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ
+
+ΠΡΠ΅Π»Π΅ΡΡΡ Π½Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΏΡΠΎΡΡΠ° - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΎΠ΄Π°ΡΡΠΈΠΊΠ° - ΡΠΎΡΠΎΠ΄ΠΈΠΎΠ΄Π°, ΠΈ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°. Π€ΠΎΡΠΎΠ΄Π°ΡΡΠΈΠΊ ΠΈ ΠΠ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΊΡΠ΅ΠΏΡΡΡΡ Π½Π° Π²ΠΎΡΠΎΡΠ° Π΄ΡΡΠ³ Π½Π°ΠΏΡΠΎΡΠΈΠ² Π΄ΡΡΠ³Π°, ΠΈ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ Π½Π° Π΄Π°ΡΡΠΈΠΊ. ΠΠΎΠ³Π΄Π° Π΄ΡΠΎΠ½ ΠΏΡΠΎΠ»Π΅ΡΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π· Π²ΠΎΡΠΎΡΠ°, ΠΎΠ½ Π½Π° ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°Π΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄, ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π° Π΄Π°ΡΡΠΈΠΊΠ΅ ΡΡΡ ΠΆΠ΅ ΠΌΠ΅Π½ΡΡΡΡΡ. ΠΠ° ΡΡΠΎΠΌ ΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ. ΠΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π΄Π°ΡΡΠΈΠΊ ΠΊ ΡΡ
Π΅ΠΌΠ΅, ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠΉ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ, ΠΏΠ°Π΄Π°ΡΡΠΈΠΉ Π½Π° Π½Π΅Π³ΠΎ, ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΈΠ³Π½Π°Π» ΠΎ Π΄Π΅ΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ»Π΅ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΠ»Ρ Π½Π°ΡΠΈΡ
ΡΠ΅Π»Π΅ΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Arduino.
+
+ΠΠ»Ρ Arduino Π½Π°ΠΏΠΈΡΠ°Π½ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΠ΅ Π½Π° Π½Π΅Π³ΠΎ ΡΠΈΠ³Π½Π°Π»Ρ Ρ ΡΠΎΡΠΎΠ΄ΠΈΠΎΠ΄Π°. ΠΠ°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠΌΠΈΡΠ°ΡΠΈΡ ΡΠΈΠ»ΡΡΡΠ° Π½ΠΈΠ·ΠΊΠΈΡ
ΡΠ°ΡΡΠΎΡ, ΡΠ³Π»Π°ΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΡΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ ΡΠΈΠ³Π½Π°Π»Π°ΠΌΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΡΠ°ΡΡΠΎΡΠ½ΡΠ΅. Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΡΠΌΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π΄Π°ΡΡΠΈΠΊ ΠΈ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΡΠ°Π·Π½Π΅ΡΠ΅Π½Ρ Π΄Π°Π»Π΅ΠΊΠΎ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°, ΠΈ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΌΠ΅ΡΠ°ΡΡΡΡ Ρ ΡΡΠΌΠΎΠΌ.
+
+ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° ΡΠΈΠΏΠΈΡΠ½Π°Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΡΠΈΠ³Π½Π°Π»Π°. "Π―ΠΌΡ" ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ»Π΅ΡΠ° ΡΠ΅ΡΠ΅Π· Π·Π°ΡΠ΅ΡΠΊΡ. Π‘ΠΈΠ½ΠΈΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ "ΡΡΡΠΎΠΉ" ΡΠΈΠ³Π½Π°Π», Π° ΠΊΡΠ°ΡΠ½ΡΠΌ - ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ low-pass ΡΠΈΠ»ΡΡΡΠ°. ΠΠΎΠ΄Π±ΠΎΡΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΈΠ»ΡΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ ΡΠΈΠ³Π½Π°Π»Π° Π½Π΅ ΠΌΠ΅Π½ΡΠ»ΡΡ, Π° ΡΡΠΌΡ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π»ΠΈΡΡ.
+
+
+
+ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ, ΡΡΠΎ ΠΏΡΠΎΠ»Π΅Ρ Π·Π°ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ ΡΠΏΠ°Π΄ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΠΎΠ΄ΡΠ΅ΠΌ ΡΠΈΠ³Π½Π°Π»Π°, Π° ΡΠ°ΠΊΠΆΠ΅ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Π° ΡΠΈΠ³Π½Π°Π»Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΡΠ½ΡΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° (Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΡΠΌΠΎΠ² ΡΠΎΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ).
+
+ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎ Serial-ΠΏΠΎΡΡΡ Arduino ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ»Π΅ΡΠ°.
+
+ΠΠΎΠΌΠΏΡΡΡΠ΅Ρ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° Π·Π°ΡΠ΅ΡΠΊΠ°, ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΈΠ³Π½Π°Π», ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
+
+## Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ
+
+ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠΎΡΠΎΡΠΊΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ:
+
+
+
+## ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
+
+ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π»ΡΠ±ΡΡ
ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠΎΠ² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². Π£ΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, ΡΡΠΎ ΡΠΎ, ΡΡΠΎΠ±Ρ Π΄ΡΠΎΠ½ ΠΏΡΠΈ ΠΏΡΠΎΠ»Π΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°Π» ΡΠΎΠ±ΠΎΠΉ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄. Π’ΠΎ Π΅ΡΡΡ Π΄ΡΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π² Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ·ΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. ΠΡΠΎ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅:
+
+
+
+ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ»Π΅ΡΠΎΠ² ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ:
+
+```bash
+git clone https://github.com/stinger000/CopterHack2020_IR_LED
+git clone https://github.com/stinger000/CopterHack2020_IR_LED_Desktop_GUI
+```
+
+ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ Signal_handler ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ `CopterHack2020_IR_LED` ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π² Arduino IDE ΡΠ°ΠΉΠ» `AnalogReadSerial_filtered_v2.ino`.
+
+ΠΠ°Π΄ΠΎ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ:
+
+```cpp
+//debug in plotter
+//Serial.print(sensorValue); // uncomment this 4 rows
+//Serial.print(" ");
+//Serial.println(value);
+//...
+```
+
+ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² Serial-ΠΏΠΎΡΡ:
+
+```cpp
+// ...
+if ( rising_edge & falling_edge )
+{
+ // ...
+ // Send time by serial port to GUI
+ Serial.println(millis()); //comment this line
+ //...
+}
+```
+
+ΠΠ΅ΡΠ΅ΠΏΡΠΎΡΠ΅ΠΉΡΠ΅ Π²Π°ΡΠ΅ Arduino ΡΡΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠΈΠ³Π½Π°Π» Π² ΠΏΠ»ΠΎΡΡΠ΅ΡΠ΅.
+
+
+
+ΠΠΎ Π½Π΅ΠΌΡ Π·Π°Π΄Π°ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΡΡΠΌΠ°, ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΡΡΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ: Π·Π° ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ `noise`.
+
+ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΡΡΠΌΠΎΠ² (Π΄Π»Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°) Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ 10 Π΅Π΄ΠΈΠ½ΠΈΡ.
+
+ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ ΠΈ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΡΠ΅ΠΉΡΠ΅ Arduino.
+
+Π ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ» Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ (# ΡΠ°ΠΊΠΎΠΉ ΡΠΎ ΡΠ°ΠΉΠ»):
+
+```bash
+cd CopterHack2020_IR_LED_Desktop_GUI
+python main.py
+```
+
+ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ Arduino ΡΠ΅ΡΠ΅Π· USB-ΠΊΠ°Π±Π΅Π»Ρ Π² Π²Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ "Connect".
+
+ΠΠ°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ ΠΎΡΡΡΠ΅ΡΠ° Π·Π°ΠΌΠ΅ΡΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ "start" ΠΈ "stop".
diff --git a/docs/ru/remote-control-with-oculusvr.md b/docs/ru/remote-control-with-oculusvr.md
new file mode 100644
index 00000000..d41220ac
--- /dev/null
+++ b/docs/ru/remote-control-with-oculusvr.md
@@ -0,0 +1,155 @@
+# Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΠΠΠ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ
+
+[CopterHack-2021](copterhack2021.md), ΠΊΠΎΠΌΠ°Π½Π΄Π°: **ProCleVeR**.
+
+## ΠΠΎΠΌΠ°Π½Π΄Π°
+
+- [ΠΠ°Π²ΡΠ΄Π΅Π½ΠΊΠΎ ΠΠ°Π»ΠΈΠ½Π°](https://github.com/GalinaDa), e-mail: [galyadavydenko@yandex.ru](mailto:galyadavydenko@yandex.ru).
+
+## ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
+
+Π‘Π΅ΠΉΡΠ°Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠΎΠΌ: ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· Π°ΠΏΠΏΠ°ΡΠ°ΡΡΡΡ, Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ², ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Ρ Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΈΠ΄Π΅ΡΡ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅Ρ, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ΅ΡΡΠ½ ΡΠΈΠ³Π½Π°Π». ΠΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± β FPV, ΡΠ°ΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΎ, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΏΡΠ΅ΡΠΎΠΌ, Π½ΠΎ ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ Π²ΠΈΠ΄Π΅ΠΎ-ΠΊΠ°Π½Π°Π»Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π’ΡΠ΅ΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ±, Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΉ ΠΏΠΎΠ»Π΅Ρ - ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΠΠΠ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΡΠ΅Π΄Π΅, ΠΊΡΠ΄Π° Π½Π΅ ΠΏΡΠΎΠ½ΠΈΠΊΠ°Π΅Ρ ΡΠΈΠ³Π½Π°Π» GPS ΠΈ Π±Π΅Π· ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°.
+
+Π Π°ΡΡΠΌΠΎΡΡΠ΅Π² Π²ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Ρ Π²ΡΡΠ²ΠΈΠ»Π°, ΡΡΠΎ ΠΏΠΎΡ
ΠΎΠΆΠΈΠΌ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Ρ, Π±ΡΠ΄Π΅Ρ FPV. Π ΠΌΠΎΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅Ρ, ΡΠ»Π΅ΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡΡ. Π ΡΡΠ°Π²Π½ΠΈΠ², ΡΠΎ ΡΡΠΎ Ρ Ρ
ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² ΠΈΡΠΎΠ³Π΅ ΠΈ ΡΠΎ ΡΡΠΎ Π΅ΡΡΡ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, Π²ΡΡΠ²ΠΈΠ»ΠΎΡΡ, ΡΡΠΎ Ρ ΠΌΠΎΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Ρ ΡΡΠΈΡΠ°Ρ Π³Π»Π°Π²Π½ΡΠΌ ΠΌΠΈΠ½ΡΡΠΎΠΌ FPV ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΊΠΎΠΏΡΠ΅Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π»Π΅ΡΠ°ΡΡ Π½Π° Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ·-Π·Π° ΡΠΈΠ³Π½Π°Π»Π° Π°ΠΏΠΏΠ°ΡΠ°ΡΡΡΡ.
+
+## Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°
+
+ΠΡΠ»ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π΅Π»Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΠΊΠΎΠΉ: ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠ»Π΅ΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π· ΡΠ»Π΅ΠΌ? ΠΠ° ΡΠ»Π΅ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½ ΠΏΠΎΠ²ΠΎΡΠΎΡ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ° ΠΏΠΎ ΡΡΡΠΊΠ°Π½ΡΡ. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° Π³ΠΎΠ»ΠΎΠ²Ρ, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠΎΠΏΡΠ΅Ρ.
+
+## ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Clover OS
+
+ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Raspberry ΠΈΠ· ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° Π² ΡΠ΅ΠΆΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠ° Π½Π°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° [ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°](https://github.com/CopterExpress/clover). ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Raspberry Pi Π² ΡΠ΅ΠΆΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΡΡΠ°ΡΡΠ΅: [ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Wi-Fi](https://clover.coex.tech/ru/network.html). ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ»Π° ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° Π΄Π°Π½Π½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Raspberry Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ Wi-Fi, ΠΏΠΎΡΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ Raspberry ΠΏΠΎ SSH, ΡΠ°ΠΊΠΆΠ΅ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Wi-Fi ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡ (Π² ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΠΌΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅Ρ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ β ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ).
+
+## ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
+
+ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ Raspberry ΠΏΠΎ ΡΠ΅ΡΠΈ Wi-Fi. Π£Π·Π½Π°ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π»ΠΈ Raspberry, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ·Π½Π°ΡΡ Π΅Π³ΠΎ IP-address Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΊ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΡ ΠΏΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ 192.168.0.1, Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠΏΠΈΡΠΊΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½Π½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ: cloverXXXX, Π³Π΄Π΅ Π₯ β Π»ΡΠ±ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
+
+
+
+## Π£Π΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
+
+ΠΠ»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ, Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΠΎΠ². ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΡΠ΅ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ. 1 β ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ Π½Π° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π΅. ΠΠ°Π½Π½ΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΏΡΠΈΡ
ΠΎΠ΄ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ, ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ²ΠΎΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΡ.
+
+ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°ΠΌΠΈ β RPi.GPIO. ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ(Π²ΡΠΊΠ»ΡΡΠ°Π΅ΠΌ) ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄, Π² ΡΡΡΠΎΠΊΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΡΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1 ΠΈΠ»ΠΈ 0 Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠΌ. ΠΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡ Π·Π΄Π΅ΡΡ.
+
+ΠΠ°Π»Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ΅ΡΠ΅Π· ΡΡΠ΅Π΄Ρ Unity, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ° Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π΄Π²Π° ΠΊΠΎΠ΄Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΠ· Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C# ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ, Π΄ΡΡΠ³ΠΎΠΉ Π½Π° Python β ΠΊΠ»ΠΈΠ΅Π½Ρ.
+
+ΠΡΠΊΡΠΎΠ΅ΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌΡΡ ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Π’Π‘Π ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΡΡΠΎΠΊ:
+
+```csharp
+IPEndPoint ipPoint = new IPEndPoint(IPAddress.Parse("192.168.0.107"), 9090);
+socketServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+socketServer.Bind(ipPoint);
+```
+
+ΠΠ»Ρ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄:
+
+```csharp
+socketServer.Listen(10);
+```
+
+Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°ΡΠ°ΡΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ
ΡΠΎΠ±ΡΡΠΈΠΉ.
+
+```csharp
+SocketAsyncEventArgs e = new SocketAsyncEventArgs();
+```
+
+ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π°ΠΆΠ°ΡΠ° Π»ΠΈ ΠΊΠ»Π°Π²ΠΈΡΠ°, Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
+
+```csharp
+Input.GetKey(KeyCode.Space)
+```
+
+ΠΠ»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ:
+
+```csharp
+socketClient.Send(Encoding.ASCII.GetBytes("1"));
+```
+
+ΠΠ»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ:
+
+```csharp
+socketClient.Receive(Encoding.ASCII.GetBytes("1024"));
+```
+
+ΠΠΈΠ΄Π΅ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°:
+
+
+
+## ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π²ΠΈΠ΄Π΅ΠΎ Π² ΡΡΠ΅Π΄Ρ Unity
+
+ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π±ΡΠ΄Π΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΈ Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ(ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅Ρ) ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π·Π°ΡΡΠ΄ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ°, ΠΌΠΎΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ, Π±ΡΠ»ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
+
+```csharp
+socketClient.Receive(buffer);
+Array.Copy(buffer, 0, image, i, buffer.Length > size - i ? size - i : buffer.Length);
+```
+
+ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ:
+
+```csharp
+Texture2D tex = new Texture2D(2, 2);
+tex.LoadImage(image);
+GetComponent
+
+## ΠΠ°ΡΠ° ΡΠ΅Π»Ρ
+
+ΠΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π΄ΡΠΎΠ½Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΌΠΈ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ΠΌΠ΅Π½Π° Π½Π° Π±ΠΎΡΡΡ ΠΈ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΈΡ
Π² ΠΎΠ±Π»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΏΡΠΎΠ΅Ρ
Π°Π»ΠΈ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ»ΠΎΡΠ½ΠΎΡΡΡ ΡΠ΅ΠΌΡΠ½ ΠΈ Π²ΡΡΠΎΡΡ ΠΊΠ°ΠΏΠ»ΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΠΌΠ°Π»ΠΈ ΠΎ Π·Π°ΡΠΈΡΠ΅ ΡΠ΅ΠΌΡΠ½ ΠΎΡ Π½Π°ΡΠ΅ΠΊΠΎΠΌΡΡ
, ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ
ΠΈ ΠΎΠ±Π΅Π·Π²ΠΎΠΆΠΈΠ²Π°Π½ΠΈΡ. ΠΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ΅Ρ
Π½ΠΈΠΊΡ ΡΠ°ΡΠ° Π·Π΅ΠΌΠ»ΠΈ, ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½Π½ΡΡ ΠΠ°ΡΠ°Π½ΠΎΠ±Ρ Π€ΡΠΊΡΠΎΠΊΠ°, ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΊΠ°ΠΊ Π’Π΅Ρ
Π½ΠΈΠΊΠ° Π€ΡΠΊΡΠΎΠΊΠ°. ΠΡΠΎΡ Π·Π΅ΠΌΠ½ΠΎΠΉ ΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π²ΡΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ, ΡΠ΅ΠΌΠ΅Π½Π° ΡΠ°ΡΡΠ΅Π½ΠΈΠΉ ΠΈ Π·Π΅ΠΌΠ»Ρ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ. ΠΠΎΠ³Π΄Π° ΠΌΡ Π±ΡΠΎΡΠ°Π΅ΠΌ Π΅Π³ΠΎ Π½Π° Π·Π΅ΠΌΠ»Ρ, Π·Π΅ΠΌΠ½ΠΎΠΉ ΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ΠΌΠ΅Π½Π°, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ΄Ρ, ΠΈ ΡΠ΅ΠΌΠ΅Π½Π° Π½Π΅ Π½Π°ΡΠ½ΡΡ ΠΏΡΠΎΡΠ°ΡΡΠ°ΡΡ.
+
+ΠΠΈΠ΄Π΅ΠΎ Ρ YouTube:
+
+
+
+ΠΠ°ΠΌ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΠΎΡΠ΅Π²Π½ΡΠ΅ ΠΌΠΈΡΡΠΈΠΈ, Π½ΠΎ ΠΌΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ Ρ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΌ ΠΏΠΎΠ»Π΅ΡΠΎΠΌ Ρ GPS.
+
+ΠΡ ΠΏΠΎΠΊΡΡΠ»ΠΈ Π½Π°ΡΡ Π±Π°ΡΠ°ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ Π·Π°ΡΠΈΡΠΈΡΡ Π΅Π΅ ΠΎΡ Ρ
ΠΎΠ»ΠΎΠ΄Π°, ΠΏΠΎΡΠ΅Π²Π½ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ Π·ΠΈΠΌΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅ΠΌΠ΅Π½Π° ΡΠ±Π»ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π² Ρ
ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΡΠΎΠ±Ρ Π°ΠΊΠΊΠ»ΠΈΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ.
+
+- [ΠΠ°ΠΏΡΡΠ»Ρ Ρ ΡΠ΅ΠΌΠ΅Π½Π°ΠΌΠΈ](#ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΠΊΠ°ΠΏΡΡΠ»Ρ).
+- [ΠΠ°ΠΊ ΡΠΎΠ±ΡΠ°ΡΡ Π²ΡΡΠ΅Π²Π°ΡΡΠΈΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π½Π° Π΄ΡΠΎΠ½ Clover 4.2](#ΠΊΠ°ΠΊ-ΡΠΎΠ±ΡΠ°ΡΡ-Π²ΡΡΠ΅Π²Π½ΠΎΠΉ-ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ-Π½Π°-Π΄ΡΠΎΠ½-clover-42).
+- [ΠΠ°ΠΊ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΡΠ°Π·Π΄Π°ΡΠΈ](#ΠΊΠ°ΠΊ-ΡΠΏΡΠ°Π²Π»ΡΡΡ-ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠΌ-Π²ΡΡΠ΅Π²Π°).
+- [ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅](#ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅).
+
+## Π€Π°ΠΉΠ»Ρ
+
+Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅: [https://github.com/Sahinysf/TreeSeedQuad](https://github.com/Sahinysf/TreeSeedQuad).
+
+## ΠΠ°ΠΏΡΡΠ»Ρ Ρ ΡΠ΅ΠΌΠ΅Π½Π°ΠΌΠΈ
+
+### Π’Π΅Ρ
Π½ΠΈΠΊΠ° Π€ΡΠΊΡΠΎΠΊΠ°
+
+ΠΠ° ΡΠ³Π΅ Π―ΠΏΠΎΠ½ΠΈΠΈ ΡΠΏΠΎΠ½ΡΠΊΠΈΠΉ ΡΠ΅ΡΠΌΠ΅Ρ ΠΈ ΡΠΈΠ»ΠΎΡΠΎΡ ΠΠ°ΡΠ°Π½ΠΎΠ±Ρ Π€ΡΠΊΡΠΎΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ΅Π» ΡΠ΅Ρ
Π½ΠΈΠΊΡ ΠΏΠΎΡΠ°Π΄ΠΊΠΈ ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ°ΡΠΈΠΊΠΎΠ². ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ΅Ρ
Π½ΠΈΠΊΠΎΠΉ Π·Π΅ΠΌΠ»Π΅Π΄Π΅Π»ΠΈΡ, Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½, Ρ
ΠΈΠΌΠΈΠΊΠ°ΡΠΎΠ² ΠΈ ΠΎΡΠ΅Π½Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΡΠΎΠΏΠΎΠ»ΠΊΠΈ. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ°ΡΠΈΠΊΠΎΠ² Π·Π΅ΠΌΠ»Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΏΠΎΡΠ²Ρ.
+
+
+
+### ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ°ΡΠΈΠΊΠΎΠ²
+
+- ΠΠ΅Π»Π°ΡΡ ΡΠ°ΡΠΈΠΊΠΈ Ρ ΡΠ΅ΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΡΠΎΡΠ΅ ΠΈ ΠΏΡΠΎΡΠ΅ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΠΈΠ½.
+- ΠΠ΅Π³ΡΠ΅ Π΄Π»Ρ Π»Π΅ΡΠΎΠ²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΡΠ°Π΄ΠΊΠΈ Π½Π° ΡΡΡΠ΄Π½ΠΎΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΌΠ΅ΡΡΠ½ΠΎΡΡΠΈ
+- Π‘ΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°ΡΡ Π·Π°ΡΠΈΡΠ΅ ΠΏΠΎΡΠ²Ρ, ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ ΠΈ ΡΡΠ΅Π΄ΡΡΠ² ΠΊ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ
+- ΠΡΠΎ ΠΎΡΠ³Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄, Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ Ρ
ΠΈΠΌΠΈΠΊΠ°ΡΠΎΠ².
+- ΠΡΠΎ Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΎΠ±Π»Π΅ΡΠ΅Π½ΠΈΡ / Π»Π΅ΡΠΎΠ²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
+- Π’ΡΠ΅Π±ΡΠ΅Ρ Π½ΠΈΠ·ΠΊΠΈΡ
ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠ°ΡΡ
ΠΎΠ΄ΠΎΠ².
+
+### ΠΠ°ΠΊΠΈΠ΅ ΡΠ΅ΠΌΠ΅Π½Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ?
+
+ΠΡΠ±ΠΎΠ΅ ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°ΡΡΠ΅Ρ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΠΎΠ½Π΅ (Ρ Π½Π°Ρ ΡΡΠΎ ΡΠ΅ΠΌΡ ΡΠ±Π»ΠΎΠΊΠ°).
+
+Π Π°Π·ΠΌΠ΅Ρ ΠΈ Π²Π΅Ρ ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠ°ΠΏΡΡΠ»Ρ:
+
+Π Π°Π·ΠΌΠ΅Ρ ΠΈ Π²Π΅Ρ ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΊΠΎΡΠΎΠ±ΠΎΡΠ΅ΠΊ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Ρ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΡΠ»Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π»ΡΡΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ - Π΄ΠΈΠ°ΠΌΠ΅ΡΡ 16-18 ΠΌΠΌ, Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π²Π΅Ρ - 10 Π³ΡΠ°ΠΌΠΌ.
+
+ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π΄Π»Ρ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ°ΡΠΈΠΊΠΎΠ²:
+
+1. 1 Π²Π΅Π΄ΡΠΎ Π³Π»ΠΈΠ½Ρ;
+2. 1 Π²Π΅Π΄ΡΠΎ ΠΎΡΠ³Π°Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΏΠΎΡΠ²Ρ / ΠΊΠΎΠΌΠΏΠΎΡΡΠ°;
+3. 1 Π²Π΅Π΄ΡΠΎ Π²ΠΎΠ΄Ρ (ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ΄Ρ ΠΌΠΎΠΆΠ΅Ρ Π²Π°ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΏΠΎΡΠ²Ρ);
+4. ΒΌ Π²Π΅Π΄ΡΠΎ ΡΠ΅ΠΌΡΠ½.
+
+Π¨Π°Π³ΠΈ ΠΏΠΎ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ°ΡΠΈΠΊΠΎΠ²:
+
+
+
+1. Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π³Π»ΠΈΠ½Ρ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΡΠ²Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ Π²Π΅Π΄ΡΠΎ Π³Π»ΠΈΠ½Ρ, Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΌΠ΅ΡΠ°ΡΡ Π΅Π³ΠΎ Ρ ΠΎΠ΄Π½ΠΈΠΌ Π²Π΅Π΄ΡΠΎΠΌ ΠΎΡΠ³Π°Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΡΠ²Ρ.
+2. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π³Π»ΠΈΠ½Π° ΠΈ ΠΎΡΠ³Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΡΡΠΈΡΡ ΠΏΠΎΡΠ²Ρ ΠΌΠ΅Π»ΠΊΠΈΠ΅.
+3. Π’Π΅ΠΊΡΡΡΡΠ° Π³Π»ΠΈΠ½Ρ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΡΠ²Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²Π»Π°ΠΆΠ½ΠΎΠΉ, Π½ΠΎ Π½Π΅ Π»ΠΈΠΏΠΊΠΎΠΉ.
+4. ΠΠΎΠ·ΡΠΌΠΈΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΌΠ΅ΡΠΈ ΠΈ ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ Π΅Π΅ Π² ΡΠ°ΡΠΈΠΊΠΈ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΌΡΡ, Π±ΡΠΎΡΠΈΠ² Π΅Π³ΠΎ Π½Π° ΠΏΠ»ΠΎΡΠΊΡΡ ΠΏΠΎΠ²Π΅ΡΡ
Π½ΠΎΡΡΡ. ΠΡΠ»ΠΈ ΠΌΡΡ Π½Π΅ Π»ΠΎΠΌΠ°Π΅ΡΡΡ Π»Π΅Π³ΠΊΠΎ, Π·Π½Π°ΡΠΈΡ, Ρ Π½Π΅Π³ΠΎ Ρ
ΠΎΡΠΎΡΠ΅Π΅ ΡΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅.
+5. Π¨Π°ΡΠΈΠΊΠΈ Ρ ΡΠ΅ΠΌΠ΅Π½Π°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΊΡΡΠ³Π»ΠΎΠΉ ΡΠΎΡΠΌΡ, ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½ΠΈ Π·Π°ΡΡΡΡΠ½ΡΡ ΠΏΡΠΈ Π±ΡΠΎΡΠΊΠ΅ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠΎΠΌ.
+6. ΠΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅ΠΌΠ΅Π½Π° (ΠΎΡ 1 Π΄ΠΎ 2 ΡΠ΅ΠΌΡΠ½ Π½Π° ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°ΡΠΈΠΊ Π΄Π»Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ
Π΄Π΅ΡΠ΅Π²ΡΠ΅Π², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΠΊΡΠ°ΡΠ½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ, ΡΠ°Π½Π΄Π°Π», Π°ΠΏΠ΅Π»ΡΡΠΈΠ½, ΠΌΠΎΡΠΈΠ½Π³Π°β¦) (Β± 5 ΡΠ΅ΠΌΡΠ½ Π½Π° ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°ΡΠΈΠΊ Π΄Π»Ρ ΠΎΠ²ΠΎΡΠ΅ΠΉ, ΡΠ²Π΅ΡΠΎΠ², ΡΡΠ°Π², ΠΊΠ»Π΅Π²Π΅ΡΠ°β¦)
+7. Π‘ΡΡΠΈΡΠ΅ ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΡΠΈΠΊΠΈ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ-Π΄Π²ΡΡ
Π΄Π½Π΅ΠΉ Π² Π·Π°ΡΠ΅Π½Π΅Π½Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π΅ΡΠ»ΠΈ Π²ΡΡΠΎΡ
Π½ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΡΠΈΠΊΠΈ Π±ΡΠ΄ΡΡ Π·Π°ΡΠΈΡΠ΅Π½Ρ ΠΎΡ Π²Π½Π΅ΡΠ½ΠΈΡ
Ρ
ΠΈΡΠ½ΠΈΠΊΠΎΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΠΏΡΠΈΡΡ, Π³ΡΡΠ·ΡΠ½Ρβ¦
+
+
+
+
+
+ΠΡΠΎΡΠ°Ρ ΡΠ΅Ρ
Π½ΠΈΠΊΠ° - Π±ΡΠΌΠ°ΠΆΠ½ΡΠ΅ ΠΊΠ°ΠΏΡΡΠ»Ρ Ρ ΡΠ΅ΠΌΠ΅Π½Π°ΠΌΠΈ.
+
+ΠΠ° ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ²Π»ΠΈΡΠ»Π° ΠΊΠΎΡΠ΅ΠΉΡΠΊΠ°Ρ Π³Π°Π·Π΅ΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ»ΠΈ ΡΠ΅ΠΌΠ΅Π½Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΡΠ°Π΄ΠΈΡΡ Π½Π° ΡΠ»ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ.
+ ΠΡΠΌΠ°ΠΆΠ½ΡΠ΅ ΠΊΠ°ΠΏΡΡΠ»Ρ Ρ ΡΠ΅ΠΌΠ΅Π½Π°ΠΌΠΈ:
+
+ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ:
+
+1. Π»ΡΠ±Π°Ρ Π±ΡΠΌΠ°Π³Π°;
+2. Π²ΠΎΠ΄Π°;
+3. Π±Π»Π΅Π½Π΄Π΅Ρ;
+4. ΡΠ΅ΠΌΠ΅Π½Π°.
+
+Π¨Π°Π³ΠΈ ΠΏΠΎ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΡΠΈΠΊΠΎΠ² ΠΈΠ· Π±ΡΠΌΠ°Π³ΠΈ:
+
+1. ΠΠ·ΠΌΠ΅Π»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΉ Π²Π°ΡΠ΅ΠΉ Π±ΡΠΌΠ°Π³ΠΈ,
+2. ΠΠΎΠ»ΠΎΠΆΠΈΡΠ΅ Π±ΡΠΌΠ°Π³Ρ Π² Π±Π»Π΅Π½Π΄Π΅Ρ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π²ΠΎΠ΄Ρ, ΡΠ΅ΡΠ΅Π· 2 ΠΌΠΈΠ½ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΠΉΡΠ΅.
+3. ΠΡΠ΄Π°Π²ΠΈΡΡ Π²ΡΡ Π²ΠΎΠ΄Ρ Π±ΡΠΌΠ°Π³ΠΎΠΉ,
+4. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ΅ΠΌΠ΅Π½Π° ΠΈ ΠΏΡΠΈΠ΄Π°ΠΉΡΠ΅ ΠΊΡΡΠ³Π»ΡΡ ΡΠΎΡΠΌΡ.
+5. ΠΠ°ΠΉΡΠ΅ Π²ΡΡΠΎΡ
Π½ΡΡΡ Π½Π° Π½ΠΎΡΡ.
+
+
+
+ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π±ΡΠΌΠ°ΠΆΠ½ΡΡ
ΡΠ°ΡΠΎΠ²:
+
+- Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ;
+- ΡΠΊΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΡΡΡΠΉ.
+
+## ΠΠ°ΠΊ ΡΠΎΠ±ΡΠ°ΡΡ Π²ΡΡΠ΅Π²Π½ΠΎΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ Clover 4.2
+
+1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½ΠΈΠΆΠ½ΠΈΠ΅ Π΄Π΅ΡΠΆΠ°ΡΠ΅Π»ΠΈ Π±Π°ΠΊΠ° Π½Π° ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡ
Π½Π΅ΠΉ ΠΏΠ°Π»ΡΠ±Ρ ΠΈ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΠ΅ Π²ΠΈΠ½ΡΠ°ΠΌΠΈ M3x8.
+
+
+
+### ΠΠΎΠ΄ΡΠ»Ρ GPS
+
+ΠΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ GPS Π½Π°Π²Π΅ΡΡ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ 2 Π½Π΅ΠΉΠ»ΠΎΠ½ΠΎΠ²ΡΠ΅ ΡΡΠΎΠΉΠΊΠΈ (40 ΠΌΠΌ).
+
+
+
+ΠΡ ΠΏΠΎΠΊΡΡΠ»ΠΈ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ, ΡΡΠΎΠ±Ρ Π·Π°ΡΠΈΡΠΈΡΡ Π΅Π³ΠΎ ΠΎΡ Ρ
ΠΎΠ»ΠΎΠ΄Π°.
+
+
+
+## ΠΠ°ΠΊ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π²ΡΡΠ΅Π²Π°
+
+ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΡΠ°ΡΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° Π²ΡΡΠ΅Π²Π° ΡΠ΅ΠΌΡΠ½ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ·:
+
+- Raspberry Pi 4 B ΠΈΠ· COEX Clover 4.
+- 2 ΠΌΠΈΠΊΡΠΎ-ΡΠ΅ΡΠ²ΠΎΠ΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ SG90.
+- PDB (Π±Π»ΠΎΠΊ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ) COEX Clover 4.
+
+Π‘ΠΈΠ³Π½Π°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΡΠ΅ΡΠ²ΠΎΠ΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΊ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌ 32 ΠΈ 33 Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ Π¨ΠΠ Raspberry Pi, Π° ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠ°Π΅ΡΡΡ Ρ ΠΏΠ»Π°ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ (5 Π).
+
+
+
+### ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΎΠ΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΡΠΌΠΈ
+
+Π‘Π΅ΡΠ²ΠΎΠΌΠΎΡΠΎΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠ³Π½Π°Π»Π° Π¨ΠΠ (ΡΠΈΡΠΎΡΠ½ΠΎ-ΠΈΠΌΠΏΡΠ»ΡΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»ΡΡΠΈΠΈ) ΠΎΡ Raspberry Pi. Π¨ΠΠ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠ³Π½Π°Π» ΠΠ«Π‘ΠΠΠΠ ΠΈΠ»ΠΈ ΠΠΠΠΠΠ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π Π°Π±ΠΎΡΠΈΠΉ ΡΠΈΠΊΠ» - ΠΏΡΠΎΡΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠ³Π½Π°Π» ΠΠ«Π‘ΠΠΠΠ.
+
+Π ΡΠ°Π±Π»ΠΈΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠΈΠΊΠ» ΡΠ΅ΡΠ²ΠΎΠ΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ SG90 Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ³Π»Π° ΡΠ΅ΡΠ²ΠΎΠ΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠΈΠΊΠ» Π² ΠΊΠΎΠ΄Π΅, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π² ΠΏΡΠΎΡΠ΅Π½ΡΡ, ΡΠ°Π·Π΄Π΅Π»ΠΈΠ² Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π° Π½Π° ΠΎΠ±ΡΠΈΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π¨ΠΠ.
+
+Π§ΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ:
+
+- Π£Π³ΠΎΠ» ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° -90Β° ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠΈΠΊΠ» 2 ΠΌΡ => 1/20 * 100% = ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠΈΠΊΠ» 5%.
+- Π£Π³ΠΎΠ» ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° 90Β° ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠΈΠΊΠ» 2 ΠΌΡ => 2/20 * 100% = ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠΈΠΊΠ» 10%.
+- Π£Π³ΠΎΠ» ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° 0Β° ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠΈΠΊΠ» 1,5 ΠΌΡ => 1,5 / 20 * 100% = 7,5% ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠΈΠΊΠ».
+
+
+
+ΠΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ RPi.GPIO ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Python Π½Π° Raspberry Pi.
+
+Π‘Π½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ RPi.GPIO ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ½Π°:
+
+```python
+import RPi.GPIO as GPIO
+from time import sleep
+```
+
+ΠΠ°ΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ GPIO ΠΊΠ°ΠΊ BOARD:
+
+```python
+servo = 33
+GPIO.setmode(GPIO.BOARD)
+GPIO.setup(servo, GPIO.OUT)
+```
+
+ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Π° Π¨ΠΠ. ΠΠ°ΡΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΡΠΈΠ³Π½Π°Π» Π¨ΠΠ 50 ΠΡ Π½Π° ΡΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ GPIO Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ GPIO.PWM(). ΠΠ°ΡΠ½ΠΈΡΠ΅ ΡΠΈΠ³Π½Π°Π» Ρ 0.
+
+```python
+pwm=GPIO.PWM(servo, 50)
+pwm.start(0)
+```
+
+ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ `ChangeDutyCycle()`, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅Π½ΡΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π° Π² ΡΠ΅ΡΠ²ΠΎΠ΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ.
+
+```python
+pwm.ChangeDutyCycle(5) # left -90 deg position
+sleep(1)
+pwm.ChangeDutyCycle(7.5) # neutral position
+sleep(1)
+pwm.ChangeDutyCycle(10) # right +90 deg position
+sleep(1)
+```
+
+## ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
+
+Π§ΡΠΎΠ±Ρ ΠΌΠΈΡΡΠΈΡ Π±ΡΠ»Π° Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠ° Π½Π°ΠΈΠ»ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
Π½Π°ΡΠ΅ΠΉ Π΄ΠΎΡΡΠ³Π°Π΅ΠΌΠΎΡΡΠΈ, ΠΎΡ Π½Π°Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ Π² Python.
+
+ΠΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠ΄ ΠΌΠΈΡΡΠΈΠΈ.
+
+```python
+import threading
+import time
+import rospy
+from clover import srv
+from std_srvs.srv import Trigger
+import RPi.GPIO as GPIO
+
+rospy.init_node('flight')
+
+get_telemetry = rospy.ServiceProxy('get_telemetry', srv.GetTelemetry)
+navigate = rospy.ServiceProxy('navigate', srv.Navigate)
+navigate_global = rospy.ServiceProxy('navigate_global', srv.NavigateGlobal)
+set_position = rospy.ServiceProxy('set_position', srv.SetPosition)
+set_velocity = rospy.ServiceProxy('set_velocity', srv.SetVelocity)
+set_attitude = rospy.ServiceProxy('set_attitude', srv.SetAttitude)
+set_rates = rospy.ServiceProxy('set_rates', srv.SetRates)
+land = rospy.ServiceProxy('land', Trigger)
+
+servo1 = 33 # PWM pins
+servo2 = 32
+
+GPIO.setmode(GPIO.BOARD) #set pin numbering system
+
+GPIO.setup(servo1,GPIO.OUT)
+GPIO.setup(servo2,GPIO.OUT)
+
+pwm1 = GPIO.PWM(servo1,50) #create PWM instance with frequency
+pwm2 = GPIO.PWM(servo2,50)
+
+pwm1.start(0) #start PWM of required Duty Cycle
+pwm2.start(0)
+
+
+def servo_drop(seconds): #function to drop seed capsules from 2 tanks
+ print("Dropping")
+
+ i = 1 #variable to choose which tank
+ for num in range(seconds/2):
+ if(i == 1): #first tank
+ pwm1.ChangeDutyCycle(10) # release one seed capsule
+ time.sleep(0.5)
+ pwm1.ChangeDutyCycle(5) # push then drop the capsule
+ time.sleep(0.5)
+ i = 2 #changing the variable for to use the second tank in next dropping
+
+ elif(i == 2): #first tank
+ pwm2.ChangeDutyCycle(10) # release one seed capsule
+ time.sleep(0.5)
+ pwm2.ChangeDutyCycle(5) # push then drop the capsule
+ time.sleep(0.5)
+ i = 1 #changing the variable for to use the first tank in next dropping
+
+ print(num)
+ time.sleep(2)
+
+
+if name == "main":
+ # Take off and drone 10m above the ground
+ navigate(x=0, y=0, z=10, frame_id='body', auto_arm=True)
+
+ # rospy waits for 10 seconds to take off
+ rospy.sleep(10)
+
+ # Dropping starts simultaneuously with flying forwards 5 meters
+ d = threading.Thread(target=servo_drop, args=(18,)) # 18 is the sum of all the time that the drone hovers after take off
+ d.start()
+
+ navigate(x=5, y=0, z=0, frame_id='body')
+
+ #rospy waits for 8 seconds to fly foward
+ rospy.sleep(8)
+
+ # Fly right 1 m
+ navigate(x=0, y=1, z=0, frame_id='body')
+
+ #rospy waits for 2 seconds to fly right
+ rospy.sleep(2)
+
+ # Fly backward 5 m
+ navigate(x=-5, y=0, z=0, frame_id='body')
+
+ #rospy waits for 8 seconds to fly backward
+ rospy.sleep(8)
+
+ # Perform landing
+ land()
+
+pwm1.stop()
+pwm2.stop()
+GPIO.cleanup()
+```
+
+### ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
+
+- [Deforestation explained](https://www.nationalgeographic.com/environment/article/deforestation)
+- http://www.fao.org/fileadmin/templates/rap/files/NRE/Forestry_Group/Landslide_PolicyBrief.pdf
+- [Global Forest Change](https://earthenginepartners.appspot.com/)
+- https://web.archive.org/web/20090115211020/http://www.rmaf.org.ph/Awardees/Biography/BiographyFukuokaMas.htm
+- http://www.guerrillagarpting.org/ggseedbombs.html
+
+## Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ MINIONS
+
+ΠΡΠΎΠ±Π°Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ ΠΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΡ ΠΠ»Π°-Π’ΠΎΠΎ Π·Π° ΡΠΈΠ½Π°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡΠΎΠ² Clover 4.
+
+
diff --git a/docs/ru/setup.md b/docs/ru/setup.md
index 657ea8e2..460d888c 100644
--- a/docs/ru/setup.md
+++ b/docs/ru/setup.md
@@ -29,7 +29,9 @@
ΠΠ»Ρ ΠΠ»Π΅Π²Π΅ΡΠ°, Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ
ΠΏΠΎΠ»Π΅ΡΠΎΠ², ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ PX4 ΠΎΡ Copter Express. Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π½Π° GitHub β **ΡΠΊΠ°ΡΠ°ΡΡ**.
-ΠΠ°Π»Π΅Π΅ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ Π² ΠΏΠΎΠ»Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ.
+> **Info** ΠΠ»Ρ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠΎΠ² Ρ Pixhawk (ΠΠ»Π΅Π²Π΅Ρ 2) ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π² ΡΡΠ°ΡΡΠ΅ "[ΠΡΠΎΡΠΈΠ²ΠΊΠ° ΠΏΠΎΠ»Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°](firmware.md)".
+
+ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ Π² ΠΏΠΎΠ»Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ:
@@ -68,12 +70,12 @@
### ΠΡΠ±ΠΎΡ ΡΠ°ΠΌΡ
-
+
1. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ *Vehicle Setup*.
2. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΌΠ΅Π½Ρ *Airframe*.
3. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠΈΠΏ ΡΠ°ΠΌΡ *Quadrotor X*.
-4. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΈΠΏ ΡΠ°ΠΌΡ *Generic Quadrotor X*.
+4. ΠΠ»Ρ ΠΠ»Π΅Π²Π΅ΡΠ° 4 Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΈΠΏΠ° ΡΠ°ΠΌΡ *COEX Clover 4*. Π ΠΈΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β *Generic Quadrotor X*.
5. ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ *Apply and Restart*, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΠ΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ *Apply*.
6. ΠΠΎΠΆΠ΄ΠΈΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠΎΠ»Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
@@ -87,6 +89,8 @@
#### ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° PID-ΡΠ΅Π³ΡΠ»ΡΡΠΎΡΠΎΠ²
+> **Info** ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΠ°ΠΌΡ *COEX Clover 4* Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² PID.
+
##### Π£ΡΡΠ΅Π΄Π½Π΅Π½Π½ΡΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ PID Π΄Π»Ρ ΠΠ»Π΅Π²Π΅ΡΠ° 4
* `MC_PITCHRATE_P` = 0.087
diff --git a/docs/ru/simple_offboard.md b/docs/ru/simple_offboard.md
index a535dee2..1a1d6714 100644
--- a/docs/ru/simple_offboard.md
+++ b/docs/ru/simple_offboard.md
@@ -295,6 +295,8 @@ set_velocity(vx=0.4, vy=0.0, vz=0, yaw=float('nan'), yaw_rate=0.4, frame_id='bod
* `thrust` β ΡΡΠΎΠ²Π΅Π½Ρ Π³Π°Π·Π° ΠΎΡ 0 (Π½Π΅Ρ Π³Π°Π·Π°, ΠΏΡΠΎΠΏΠ΅Π»Π»Π΅ΡΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ) Π΄ΠΎ 1 (ΠΏΠΎΠ»Π½ΡΠΉ Π³Π°Π·).
* `auto_arm` β ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΊΠΎΠΏΡΠ΅Ρ Π² `OFFBOARD` ΠΈ Π·Π°Π°ΡΠΌΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ (**ΠΊΠΎΠΏΡΠ΅Ρ Π²Π·Π»Π΅ΡΠΈΡ**);
+ΠΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ°ΡΠ΅Π½ΠΈΡ `yaw_rate` (ΠΏΡΠΈ Π²ΠΈΠ΄Π΅ ΡΠ²Π΅ΡΡ
Ρ) β ΠΏΡΠΎΡΠΈΠ² ΡΠ°ΡΠΎΠ²ΠΎΠΉ, `pitch_rate` β Π²ΠΏΠ΅ΡΠ΅Π΄, `roll_rate` β Π²Π»Π΅Π²ΠΎ.
+
### land
ΠΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΊΠΎΠΏΡΠ΅Ρ Π² [ΡΠ΅ΠΆΠΈΠΌ](modes.md) ΠΏΠΎΡΠ°Π΄ΠΊΠΈ (`AUTO.LAND` ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ).
diff --git a/docs/ru/simulation.md b/docs/ru/simulation.md
index 3d96d8ef..60ca91d4 100644
--- a/docs/ru/simulation.md
+++ b/docs/ru/simulation.md
@@ -34,3 +34,9 @@
* ΠΏΠ°ΠΊΠ΅ΡΡ ROS ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Gazebo;
+
+## ΠΠΈΠ΄Π΅ΠΎ
+
+ΠΠΎΡΠΎΡΠΊΠΈΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΎΠ±Π·ΠΎΡ ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ°:
+
+
diff --git a/docs/ru/sitl.md b/docs/ru/sitl.md
index 8bd4b8ac..4d9e9d62 100644
--- a/docs/ru/sitl.md
+++ b/docs/ru/sitl.md
@@ -198,7 +198,7 @@ catkin_make
```bash
. devel/setup.bash
-roslaunch clover sitl.launch
+roslaunch clover_simulation simulator.launch type:=none
```
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌΠΈ Π½Π°ΡΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ, Π² Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΏΠΎΠ΄ΡΡΠ½ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π° `setup`:
@@ -207,4 +207,4 @@ roslaunch clover sitl.launch
source ~/catkin_ws/devel/setup.bash
```
-Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠ΅ΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° `Clover` Π² Π²Π°ΡΠ΅ΠΌ ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ΅.
+Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠ΅ΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° `clover` Π² Π²Π°ΡΠ΅ΠΌ ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ΅.
diff --git a/docs/ru/wall_aruco.md b/docs/ru/wall_aruco.md
index 0136de00..c2621394 100644
--- a/docs/ru/wall_aruco.md
+++ b/docs/ru/wall_aruco.md
@@ -1,47 +1,47 @@
# ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ArUco-ΠΌΠ°ΡΠΊΠ΅ΡΠ°ΠΌ
-ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΌ ArUco-ΠΌΠ°ΡΠΊΠ΅ΡΠ°ΠΌ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π² ΠΎΠ±ΡΠ°Π·Π΅ ΠΠ»Π΅Π²Π΅ΡΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π³ΠΈΠ±ΠΊΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ² Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡ ΠΈΡ
Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ²Π΅ΡΡ
Π½ΠΎΡΡΠΈ, ΠΏΠΎΠ΄ Π»ΡΠ±ΡΠΌ ΡΠ³Π»ΠΎΠΌ.
+ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΌ ArUco-ΠΌΠ°ΡΠΊΠ΅ΡΠ°ΠΌ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π² ΠΎΠ±ΡΠ°Π·Π΅ ΠΠ»Π΅Π²Π΅ΡΠ°, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π³ΠΈΠ±ΠΊΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ² Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡ ΠΈΡ
Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ²Π΅ΡΡ
Π½ΠΎΡΡΠΈ, ΠΏΠΎΠ΄ Π»ΡΠ±ΡΠΌ ΡΠ³Π»ΠΎΠΌ.
## Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ ΠΊΠ°ΠΌΠ΅ΡΡ
-ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ² Π±ΡΠ» Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΡ.
+ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ² Π±ΡΠ» Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΡ.
-> **Note** ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΏΡΠ΅ΡΠ° Π»ΡΠ±ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, Π΄Π°Π»Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ 90Β° ΠΊ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΡ, ΠΏΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΡΠ° ΠΊΠΎΠΏΡΠ΅ΡΠ°.
+> **Note** ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΏΡΠ΅ΡΠ° Π»ΡΠ±ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π΄Π°Π»Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ 90Β° ΠΊ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΡ, ΠΏΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΡΠ° ΠΊΠΎΠΏΡΠ΅ΡΠ°.
### ΠΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ, 3D ΠΏΠ΅ΡΠ°ΡΡ
Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅ [ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ](models.md#ΠΊΠ»Π΅Π²Π΅Ρ-3).
-Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π² ΠΊΠ°ΠΌΠ΅ΡΠ΅ Π±ΡΠ»ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΈΡΠ½ΠΈΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²(Π·Π°ΡΠΈΡΠ°, Π½ΠΎΠΆΠΊΠΈ, ΠΏΡΠΎΠΏΠ΅Π»Π»Π΅ΡΡ, Π»ΡΡΠΈ), Π²ΡΠ΅ ΡΡΠΈ ΡΠ°ΡΡΠΈ Π±ΡΠ΄ΡΡ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠΈ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ².
+Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π² ΠΊΠ°ΠΌΠ΅ΡΠ΅ Π±ΡΠ»ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΈΡΠ½ΠΈΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (Π·Π°ΡΠΈΡΠ°, Π½ΠΎΠΆΠΊΠΈ, ΠΏΡΠΎΠΏΠ΅Π»Π»Π΅ΡΡ, Π»ΡΡΠΈ) β Π²ΡΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠΈ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ².
## ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΌΠ΅ΡΡ
-Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌ ΡΠ³Π»ΠΎΠΌ, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» `main_camera.launch`, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π² `~/catkin_ws/src/clover/clover/launch/`.
+Π§ΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌ ΡΠ³Π»ΠΎΠΌ, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» `main_camera.launch`, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π² `~/catkin_ws/src/clover/clover/launch/`.
```bash
nano ~/catkin_ws/src/clover/clover/launch/main_camera.launch
```
-### ΠΠ΅ΡΡΠΈΠΈ 0.20>
+### ΠΠ΅ΡΡΠΈΠΈ 0.20+
-Π ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ
`direction_x`, `direction_y`, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΡΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΡΡΠΎΠΊΠΈ:
+Π ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ
`direction_x`, `direction_y` ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΡΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΡΡΠΎΠΊΠΈ:
```bash
sed -i "/direction_z/s/default=\".*\"/default=\"\"/" /home/pi/catkin_ws/src/clover/clover/launch/main_camera.launch
sed -i "/direction_y/s/default=\".*\"/default=\"\"/" /home/pi/catkin_ws/src/clover/clover/launch/main_camera.launch
```
-ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΡΠΎΠΊΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ΅:
+ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΡΠΎΠΊΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ΅:
-```
+```xml
+
+
+
+
+
+*Π ΠΈΡ. 4. ΠΡΠ½ΠΎΠ²Π° ΠΈΠ· ΠΏΠ»Π°ΡΡΠΈΠΊΠ°.*
+
+Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ: https://drive.google.com/file/d/1_KPZfldSXNGiHbgnVBgMle-JvKtcDZHm/view?usp=sharing.
+
+ΠΠ»Π°ΡΡΠΎΡΠΌΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ: ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ ΠΌΠΎΡΠΎΡ-ΡΠ΅Π΄ΡΠΊΡΠΎΡΡ, ΠΎΡΠ²Π΅ΡΡΡΠΈΡ Π΄Π»Ρ Π»Π°Π·Π΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π°Π»ΡΠ½ΠΎΠΌΠ΅ΡΠ° ΠΈ Pi ΠΊΠ°ΠΌΠ΅ΡΡ. Π’Π°ΠΊΠΆΠ΅ Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΌΠΎΠ½ΡΠ°ΠΆΠ½ΡΠ΅ ΠΎΡΠ²Π΅ΡΡΡΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ½ΡΠ°ΠΆΠ° ΠΊ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΡ ΠΈ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ.
+
+Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ Π΄Π»Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π²Π΅ΡΠ°, ΡΡΠ°Π»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Π΅ΠΉ L293D (ΡΠΈΡ. 5), Π²ΠΌΠ΅ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Π΅ΠΉ L298N (ΡΠΈΡ. 6).
+
+
+
+
+
+*Π ΠΈΡ. 7. ΠΠ±ΡΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π»Π΅ΡΠ°ΡΡΠ΅Π³ΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ.*
+
+ΠΡΠΏΡΡΠ°Π½ΠΈΡ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ°, ΡΠΊΡΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ, Π΄ΠΎΠΊΠ°Π·Π°Π»ΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΠ°.
+
+Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΡΠ°Π½Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΈ, ΡΠ²Π΅ΡΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΎΠ±ΡΠ°Π·ΠΎΠ².
diff --git a/docs/ru/zerotire_vpn.md b/docs/ru/zerotire_vpn.md
new file mode 100644
index 00000000..c5ec2fcb
--- /dev/null
+++ b/docs/ru/zerotire_vpn.md
@@ -0,0 +1,185 @@
+# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ZeroTire ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΉ
+
+## Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΠΈ ZeroTire
+
+1. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΡ [ZeroTire](https://www.zerotier.com/).
+
+
+
+2. ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ Π² ZeroTire.
+
+
+
+3. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ²ΠΎΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ.
+
+4. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ *Create A Network*.
+
+
+
+5. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π²Π°ΠΌΠΈ ΡΠ΅ΡΡ, Π΅Π΅ ID ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΡΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° Π½Π΅Π΅.
+
+
+
+6. Π ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΌΡ ΡΠ΅ΡΠΈ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
+
+
+
+7. ΠΡΠΎΠ»ΠΈΡΡΠ°ΠΉΡΠ΅ Π½ΠΈΠΆΠ΅, Π΄ΠΎ Π³ΡΠ°ΡΡ *Members*. Π Π½Π΅ΠΉ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π² ΡΠ΅ΡΠΈ Π½Π΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
+
+
+
+8. Π£ΡΡΡΠΎΠΉΡΡΠ²Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΊ ΡΠ΅ΡΠΈ Π±ΡΠ΄ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π΄Π°Π½Π½ΠΎΠΉ Π³ΡΠ°ΡΠ΅, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΈΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΡΠ΅ΡΠΈ, Π°ΠΊΡΠΈΠ²ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΊΠ±ΠΎΠΊΡ *Auth?*. ΠΡΠΈ ΡΡΠΎΠΌ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π°ΡΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ IP Π°Π΄ΡΠ΅Ρ, Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ Ρ Π΄Π°Π½Π½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ.
+
+
+
+
+
+2. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ Windows.
+
+
+
+3. Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ» `ZeroTire One.msi`.
+
+
+
+
+
+4. Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²Π²Π΅Π΄ΠΈΡΠ΅ ID Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ *Join*.
+
+
+
+5. Π Π°Π·ΡΠ΅ΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅ΡΠΈ.
+
+
+
+## ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° iOS
+
+### Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
+
+1. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΡ ZeroTire.
+
+
+
+2. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ iOS.
+
+
+
+3. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ *ZeroTire One*.
+
+### ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠΈ
+
+1. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ *ZeroTire One*.
+
+2. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° *+* Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
+
+
+
+3. ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ.
+
+
+
+4. ΠΠ²Π΅Π΄ΠΈΡΠ΅ ID Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ *Add Network*.
+
+
+
+5. ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ VPN.
+
+6. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ ΠΊ VPN ΡΠ΅ΡΠΈ, ΡΠ΄Π²ΠΈΠ½ΡΠ² ΠΏΠΎΠ»Π·ΡΠ½ΠΎΠΊ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΡΠ΅ΡΠΈ.
+
+
+
+
+
+3. ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ, Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
+
+## Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° macOS
+
+### Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
+
+1. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΡ ZeroTire.
+
+
+
+2. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ macOS.
+
+
+
+3. Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ» `ZeroTire One.pkg`.
+
+4. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ZeroTire One.
+
+### ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠΈ
+
+1. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ZeroTire One.
+
+2. Π ΠΏΠ°Π½Π΅Π»Π΅ Π·Π°Π΄Π°Ρ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ ZeroTire One.
+
+3. Π ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π½Π°ΠΆΠΌΠΈΡΠ΅ *Join Network...*.
+
+
+
+4. Π ΠΏΠΎΠ»Π΅ *Enter Network ID* Π²Π²Π΅Π΄ΠΈΡΠ΅ ID Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ.
+
+
+
+## ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΠΏΡΠ΅ΡΡ
+
+1. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ZeroTire ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΡΡΡ Π½Π° Π΄ΡΠΎΠ½Π΅ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΠ΅ Π²Π°Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈΠΌΠ΅ΡΡ ΡΡΠ°ΡΡΡ *Online*.
+
+
+
+2. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²ΡΠ΅Ρ
ΡΡΡΡΠΎΠΉΡΡΠ² Π΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ IP Π°Π΄ΡΠ΅ΡΠ° - *Managed IPs*.
+
+3. ΠΡΠΊΡΠΎΠΉΡΠ΅ GQC ΠΈ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ *Comm Links* Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ TCP ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΠΊΠ°Π·Π°Π² IP Π΄ΡΠΎΠ½Π°. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΡΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ°ΠΉΡΠ΅ [ΡΡΡ](gcs_bridge.md).
+
+
+
+