Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions common/source/docs/common-blueos-opticalflow.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
.. _common-blueos-opticalflow:

============================
BlueOS OpticalFlow Extension
============================

[copywiki destination="copter,plane,rover"]

`BlueOS's Optical Flow Extension <https://github.com/BlueOS-community/blueos-opticalflow>`__ allows a downward facing camera gimbal to be used as an optical flow sensor to improve performance in non-GPS environments.

.. youtube:: ir7LfSYoNMc
:width: 100%

.. note::

Support for this extension was added in ArduPilot-4.7

Hardware Required
-----------------

Please see :ref:`ArduPilot's BlueOS installation instructions <dev:companion-computer-blueos>` which also includes hardware recommendations.

Any :ref:`supported camera gimbal <common-cameras-and-gimbals>` with ethernet connectivity should work including the :ref:`Siyi <common-siyi-zr10-gimbal>`, :ref:`ViewPro <common-viewpro-gimbal>` and :ref:`XFRobot <common-xfrobot-gimbal>` camera gimbals.

The camera gimbal should be mounted on the underside of the vehicle and optical flow will only operate when the camera gimbal is pointing downwards.

A :ref:`rangefinder <common-rangefinder-landingpage>` with at least a few meters of range is also required.

BlueOS Extension Installation
-----------------------------

Once BlueOS has been :ref:`installed <dev:companion-computer-blueos>` on the companion computer:

- Ensure the companion computer is connected to the internet
- From the left menu, select "Extensions"
- Search for "opticalflow" and push the "GET" and "INSTALL" buttons

.. image:: ../../../images/blueos-opticalflow-install.png
:target: ../_images/blueos-opticalflow-install.png
:width: 450px

- From the left menu, select "OpticalFlow"
- Select the "Camera Type" being used
- Adjust the RTSP URL if not using the camera gimbal's default IP address or RTSP stream
- "Flight Controller SysID" should match the vehicle's :ref:`MAV_SYSID <MAV_SYSID>` parameter (normally 1)
- Optionally adjust the Horizontal FOV to match the camera gimbal's lens

.. image:: ../../../images/blueos-opticalflow-extension.png
:target: ../_images/blueos-opticalflow-extension.png
:width: 450px

AutoPilot Configuration and Calibration
---------------------------------------

- Set :ref:`FLOW_TYPE <FLOW_TYPE>` = 5 (MAVLink) and reboot the autopilot
- Set :ref:`FLOW_OPTIONS <FLOW_OPTIONS>` = 1 (Roll/Pitch stabilised)
- Set :ref:`EK3_FLOW_DELAY <EK3_FLOW_DELAY>` = 150 (ms)
- Optionally set :ref:`EK3_OPTIONS <EK3_OPTIONS>` = 4 (Optflow may use terrain alt) to allow optical flow to be used beyond the rangefinder's maximum range
- The "Inflight Calibration" and "Log based Calibration" methods described in the :ref:`Optical Flow Sensor Testing and Setup <common-optical-flow-sensor-setup>` will not work for stabilised camera gimbals. Instead the Extension's "Horizontal FOV" field can be adjusted if the vehicle's estimated position on the map (when using optical flow) significantly overshoots or undershoots the actual distance moved.
- Performance can be improved by setting the :ref:`sensors position parameters <common-sensor-offset-compensation>`. For example if the camera gimbal is mounted 2cm forward and 5cm below the frame's center of rotation set :ref:`FLOW_POS_X <FLOW_POS_X>` to 0.02 and :ref:`FLOW_POS_Z <FLOW_POS_Z>` to 0.05.

Testing and Setup
-----------------

See :ref:`common-optical-flow-sensor-setup`
10 changes: 5 additions & 5 deletions common/source/docs/common-hereflow.rst
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
.. _common-hereflow:

================================
Hex HereFlow Optical Flow Sensor
================================
======================================
CubePilot HereFlow Optical Flow Sensor
======================================

[copywiki destination="copter,plane,rover"]

The `HereFlow optical flow sensor <http://www.proficnc.com/all-products/185-pixhawk2-suite.html>`__ is a lightweight optical flow sensor including a short range lidar which uses the CAN protocol to communicate with the autopilot. This can be used to improve horizontal position control especially in GPS denied environments.
The `HereFlow optical flow sensor <https://docs.cubepilot.org/user-guides/flow-senor/here-flow>`__ is a lightweight optical flow sensor including a short range lidar which uses the CAN protocol to communicate with the autopilot. This can be used to improve horizontal position control especially in GPS denied environments.

.. youtube:: MKJB_7cA_0s
:width: 100%
Expand All @@ -18,7 +18,7 @@ The `HereFlow optical flow sensor <http://www.proficnc.com/all-products/185-pixh
Where to Buy
------------

The sensor is available from `Hex resellers <http://www.proficnc.com/stores>`__
The sensor is available from `CubePilot resellers <https://www.cubepilot.org/#/reseller/list>`__

Connection to Autopilot
-----------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Select the links below for information on the available sensors.
Optical Flow Setup <common-optical-flow-sensor-setup>
ARK Flow <common-arkflow>
ARK Flow MR <common-arkflow_mr>
BlueOS OpticalFlow <common-blueos-opticalflow>
Cheerson CX-OF <common-cheerson-cxof>
HereFlow <common-hereflow>
Holybro H-Flow <https://holybro.com/products/h-flow>
Expand Down
Binary file added images/blueos-opticalflow-extension.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/blueos-opticalflow-install.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.