diff --git a/clever/launch/clever.launch b/clever/launch/clever.launch
index 51dbc5fc..ebf83c90 100644
--- a/clever/launch/clever.launch
+++ b/clever/launch/clever.launch
@@ -58,6 +58,7 @@
+
diff --git a/clever/src/vl53l1x.py b/clever/src/vl53l1x.py
index 78abfb7c..346c382b 100755
--- a/clever/src/vl53l1x.py
+++ b/clever/src/vl53l1x.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python
+# TODO: rewrite, as Python version eats 20% CPU
+
from __future__ import division
import rospy
@@ -11,6 +13,7 @@ rospy.init_node('vl53l1x')
# range_pub = rospy.Publisher('~range', Range, queue_size=5)
# TODO: why remmaping is not working?
range_pub = rospy.Publisher('mavros/distance_sensor/rangefinder_3_sub', Range, queue_size=10)
+z_shift = rospy.get_param("z_shift", 0) # TODO: move to mavros (use frame)
msg = Range()
msg.radiation_type = Range.INFRARED
@@ -28,7 +31,7 @@ rospy.loginfo('vl53l1x: start ranging')
r = rospy.Rate(14)
while not rospy.is_shutdown():
msg.header.stamp = rospy.get_rostime()
- msg.range = tof.get_distance() / 1000
+ msg.range = tof.get_distance() / 1000 + z_shift
range_pub.publish(msg)
r.sleep()
diff --git a/docs/optical_flow.md b/docs/optical_flow.md
new file mode 100644
index 00000000..a3a79170
--- /dev/null
+++ b/docs/optical_flow.md
@@ -0,0 +1,48 @@
+# Использование Optical Flow
+
+> **Warning** Данная функция является **экспериментальной** и включена в образ с версии v0.11.4.
+
+При использовании технологии Optical Flow возможен полет в режиме POSCTL и автономные полеты по камере, направленной вниз, засчет измерения сдвигов текстуры поверхности пола.
+
+## Включение
+
+А данный момент для использования Optical Flow необходима [кастомная прошивка PX4](https://yadi.sk/d/D_dOnsNcezkEog).
+
+Необходимо использования дальномера. При использовании дальномера STM vl53l1x, необходимо подключить его к Raspberry Pi по I2C и включить его в `~/catkin_ws/src/clever/clever/launch/clever.launch`:
+
+```xml
+
+```
+
+Необходимо включить Optical Flow:
+
+```xml
+
+```
+
+В `main_camera.launch` должен быть выставлен корректный фрейм камеры.
+
+Рекомендуемые параметры PX4:
+
+* `SYS_MC_EST_GROUP` – 2 (EKF2).
+* `EKF2_AID_MASK` – use optical flow.
+* `EKF2_OF_DELAY` – 0.
+* `EKF2_OF_QMIN` – 30.
+* `EKF2_HGT_MODE` – range sensor (ремменд.).
+
+## Полет в POSCTL
+
+Настройте POSCTL как один из полетных режимов PX4. Переведите в режим POSCTL.
+
+## Автономный полет
+
+Автономный полет возможен с использованием модуля [simple_offboard](simple_offboard.md).
+
+## Troubleshooting
+
+При появлении в QGC ошибок типа `EKF INTERNAL CHECKS` попробуйте перезагрузить ekf2. Для этого наберите в MAVLink-консоли:
+
+```nsh
+ekf2 stop
+ekf2 start
+```