<docs> update doc

This commit is contained in:
harjeb 2019-03-18 15:36:40 +08:00
parent b4639a72f8
commit f1720ba090
25 changed files with 239 additions and 58 deletions

BIN
docs/images/ir.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 KiB

View File

@ -9,10 +9,10 @@ Reference run command:
.. code-block:: bash
./tools/_output/bin/dataset/record
./tools/_output/bin/dataset/record2
# Windows
.\tools\_output\bin\dataset\record.bat
.\tools\_output\bin\dataset\record2.bat
Reference run results on Linux:

View File

@ -9,7 +9,7 @@ For mynteye s1030, to set the image frame rate and IMU frequency, set ``Option::
.. Attention::
* The effective fps of the image: 10, 15, 20, 25, 30, 35, 40, 45, 50, 55.
* The effective fps of the image: 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60.
* The effective frequency of IMU: 100, 200, 250, 333, 500.
For mynteye s2100/s210a, the image frame rate should be selected when running the sample, and the frame rate and resolution are combined as follows:

View File

@ -42,7 +42,10 @@ Reference running results on Linux:
I0504 16:16:28.520869 25848 infrared.cc:15] Support infrared2: true
I0504 16:16:28.520889 25848 infrared.cc:20] Option::IR_CONTROL: {min: 0, max: 160, def: 0}
At this point, if the image is displayed, you can see IR speckle on the image.
At this point, if the image is displayed, you can see IR speckle on the image, as below:
.. image:: ../../images/ir.png
.. attention::

View File

@ -3,7 +3,7 @@
Get depth image
===============
Depth images belongs to the upper layer of synthetic data. You need to start the ``EnableStreamData()`` beforehand, to get it through ``GetStreamData()``. In addition, it should be check not be empty before use.
Depth images belongs to the upper layer of synthetic data. You need to start the ``EnableStreamData()`` beforehand, to get it through ``GetStreamData()``. The depth image type is CV_16UC1. In addition, it should be check not be empty before use.
For detailed process description, please see :ref:`get_stereo` :ref:`get_stereo_rectified`.

View File

@ -10,7 +10,7 @@ For detailed process description, please see :ref:`get_stereo` :ref:`get_stereo_
It is recommended to use plugin to calculate depth: the depth map will be better with a higher frame rate. Please see :ref:`get_with_plugin` .
.. tip::
The SetDisparityComputingMethodType method is used to change disparity computing method. Currently, BM and SGBM are available, and SGBM is used by default in sdk.
The SetDisparityComputingMethodType method is used to change disparity computing method. Currently, BM and SGBM are available.
Reference code snippet:

View File

@ -5,6 +5,11 @@ Get image calibration parameters
Use ``GetIntrinsics()`` & ``GetExtrinsics()`` to get image calibration parameters.
.. tip::
The detailed meaning of parameters can reference the files in ``tools/writer/config`` , of these
the image calibration parameters of S2100/S210A are in ``tools/writer/config/S210A``
the image calibration parameters of S1030 are in ``tools/writer/config/S1030``
Reference code snippet:
.. code-block:: c++

View File

@ -16,12 +16,18 @@ Reference commands:
# Windows
.\tools\_output\bin\writer\img_params_writer.bat tools\writer\config\img.params
And, `tools/writer/config/img.params <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/tools/writer/config/img.params>`_ is the path of parameters file. If you calibrated parameters yourself, you can edit it and run previous commands to write them into the devices.
.. warning::
Please don't override parameters, you can use ``save_all_infos`` to backup parameters.
And, `tools/writer/config/S1030/img.params.pinhole <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/tools/writer/config/S1030/img.params.pinhole>`_ is the path of S1030 pihole parameters file. If you calibrated parameters yourself, you can edit it and run previous commands to write them into the devices.
.. tip::
The image calibration parameters of S2100/S210A are in ``tools/writer/config/S210A``
The image calibration parameters of S1030 are in ``tools/writer/config/S1030``
.. tip::
You can also write into devices with ``SN*.conf`` provided by old SDK.
.. warning::
Please don't override parameters, you can use ``save_all_infos`` to backup parameters.

View File

@ -86,7 +86,7 @@ Manually update drivers
.. image:: ../../images/firmware_update_westbridge.png
* For example,if it is the win10 64 bit system computer,and the application is installed under the default path,you should select ``C:\\Program Files (x86)\\slightech\\MYNT EYE Camera Tool\\wlh\\x64``.
* For example,if it is the win10 64 bit system computer,and the application is installed under the default path,you should select ``C:\Program Files (x86)\slightech\MYNT EYE TOOL 2.0\WestBridge_driver\wlh\x64``.
* After the installation driver is successful, you can find the ``Cypress USB BootLoader`` device in the device manager.

View File

@ -1,7 +1,7 @@
.. _mynteye:
MYNT® EYE
=========
MYNT® EYE product introduction
==============================
.. toctree::

View File

@ -0,0 +1,22 @@
.. _sdk_changelog:
Changelog
=========
2019-03-18
----------
1. Add API to get subsidiary chip&ISP's version(Depend on S2100/S210A 1.1 firmware & 1.0 subsidiary chip firmware).
2. Fix point fragment issue in BM algorithm.
3. Add 376*240 resolution support to S1030(Depend on 2.4.0 firmware of S1030).
4. Add API to handle imu temperature drift.(Depend on imu calibration)
5. Add version check feature.
6. Fix depth image crash issue when use CUDA plugin.
7. Documents update.

View File

@ -5,6 +5,7 @@ MYNT® EYE SDK
.. toctree::
changelog
platform
ppa_install_ubuntu
exe_install_windows

View File

@ -26,7 +26,7 @@ Download and install SDK
.. tip::
Download here: mynteye-s-2.3.3-win-x64-opencv-3.4.3.exe `Google Drive <https://drive.google.com/open?id=1PYC_5Mh2pzLFVXkYlkllEzPnr50EbKht>`_ `Baidu Pan <https://pan.baidu.com/s/1s4KIcuYkO5i_9E1pG5blQA>`_ .
Download here: mynteye-s-2.3.4-win-x64-opencv-3.4.3.exe `Google Drive <https://drive.google.com/open?id=1PYC_5Mh2pzLFVXkYlkllEzPnr50EbKht>`_ `Baidu Pan <https://pan.baidu.com/s/1s4KIcuYkO5i_9E1pG5blQA>`_ .
After you install the win pack of SDK, there will be a shortcut to the SDK root directory on your desktop.
@ -39,6 +39,10 @@ First, you should install `Visual Studio 2017 <https://visualstudio.microsoft.co
Second, goto the ``<SDK_ROOT_DIR>\\samples`` directory and click ``generate.bat`` to generate project.
.. tip::
Right click sample and select ``Set as StartUp Project``then launch with Release x64 mode.
The tutorials of samples are here: https://slightech.github.io/MYNT-EYE-S-SDK-Guide/src/data/contents.html.
Start using SDK with Visual Studio 2017

View File

@ -26,6 +26,18 @@ Prepare Environment
* `ROS <http://www.ros.org/>`_
ROS Melodic (Ubuntu 18.04)
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: bash
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
sudo apt update
sudo apt install ros-melodic-desktop-full
sudo rosdep init
rosdep update
ROS Kinetic (Ubuntu 16.04)
~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -56,7 +68,7 @@ Running node
.. code-block:: bash
source wrappers/ros/devel/setup.bash
roslaunch mynt_eye_ros_wrapper mynteye.launch
roslaunch mynt_eye_ros_wrapper mynteye.launch # this node doesn't have preview
Run the node, and preview by RViz:

View File

@ -3,13 +3,14 @@
Supported platforms
====================
SDK is built on CMake and can be used cross multiple platforms such as "Linux, Windows, macOS, etc. We provides two installation: Download and install, and Compile and install from source code.
SDK is built on CMake and can be used cross multiple platforms such as "Linux, Windows, etc. We provides two installation: Download and install, and Compile and install from source code.
These are the platforms that can be used:
* Windows 10
* Ubuntu 18.04 / 16.04 / 14.04
* Jetson TX2
* Jetson TX1/TX2 / Xavier
* firefly RK3399
.. warning::

View File

@ -21,8 +21,8 @@ Ubuntu SDK PPA Installation
✓ ✓ ✓
=============== =============== ===============
PPA installation
-----------------
x64 PPA installation
--------------------
.. code-block:: bash
@ -30,6 +30,15 @@ PPA installation
$ sudo apt-get update
$ sudo apt-get install mynt-eye-s-sdk
armv8 PPA installation
-----------------------
.. code-block:: bash
$ sudo add-apt-repository ppa:slightech/mynt-eye-s-sdk-arm
$ sudo apt-get update
$ sudo apt-get install mynt-eye-s-sdk
Run samples
------------

View File

@ -6,7 +6,7 @@ Ubuntu SDK Source Installation
.. only:: html
=============== =============== ===============
Ubuntu 18.04 Ubuntu 16.04 Ubuntu 14.04
Ubuntu 14.04 Ubuntu 16.04 Ubuntu 18.04
=============== =============== ===============
|build_passing| |build_passing| |build_passing|
=============== =============== ===============
@ -16,7 +16,7 @@ Ubuntu SDK Source Installation
.. only:: latex
=============== =============== ===============
Ubuntu 18.04 Ubuntu 16.04 Ubuntu 14.04
Ubuntu 14.04 Ubuntu 16.04 Ubuntu 18.04
=============== =============== ===============
✓ ✓ ✓
=============== =============== ===============

View File

@ -97,7 +97,7 @@ After installing Visual Studio, confirm that the following command can run in th
Initial Directory ``$(SolutionDir)``
================= =======================================================================================
In Visual Studio command Prompt, you can use the compile command ``cl`` ``link`` ``lib`` ``msbuild``, etc.
In Visual Studio command Prompt, you can use the compile command ``cl`` ``link`` ``lib`` ``msbuild``, etc.(need finish ``MSYS2``and ``Getting Source Code`` steps first)
.. image:: ../../images/vs_cmd_test.png

View File

@ -7,6 +7,7 @@ SLAM
how_to_use_kalibr
vins
vins_fusion
orb_slam2
okvis
viorb

View File

@ -18,10 +18,13 @@ First install dependencies based on the original OKVIS, and the follow:
.. code-block:: bash
git clone -b mynteye-s https://github.com/slightech/MYNT-EYE-OKVIS-Sample.git
sudo apt-get install libgoogle-glog-dev
git clone -b mynteye https://github.com/slightech/MYNT-EYE-OKVIS-Sample.git
cd MYNT-EYE-OKVIS-Sample/
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j4
cmake ..
make
Get camera calibration parameters
----------------------------------
@ -33,7 +36,18 @@ Through the ``GetIntrinsics()`` and ``GetExtrinsics()`` function of the `MYNT-EY
cd MYNT-EYE-S-SDK
./samples/_output/bin/tutorials/get_img_params
After running the above type, pinhole's ``distortion_parameters`` and ``projection_parameters`` is obtained, then update to `here <https://github.com/slightech/MYNT-EYE-OKVIS-Sample/blob/mynteye-s/config/config_mynteye.yaml>`_ .
After running the above type, pinhole's ``distortion_parameters`` and ``projection_parameters`` is obtained , and then update to `here <https://github.com/slightech/MYNT-EYE-OKVIS-Sample/blob/mynteye/config/config_mynteye_s.yaml>`_ .
.. tip::
You can get the camera model of device when get camera calibration parameters, if model is equidistant you need calibrate pinhole model by yourself or reference :ref:`write_img_params` to write a default pinhole config file to your device.
.. code-block:: bash
distortion_coefficients: [coeffs] # only first four parameters of coeffs need to be filled
focal_length: [fx, fy]
principal_point: [cx, cy]
distortion_type: radialtangential
Run MYNTEYE OKVIS
---------------------
@ -43,4 +57,4 @@ Go to ``MYNT-EYE-OKVIS-Sample/build`` folder and Run the application ``okvis_app
.. code-block:: bash
cd MYNT-EYE-OKVIS-Sample/build
./okvis_app_mynteye_s ../config/config_mynteye.yaml
./okvis_app_mynteye_s ../config/config_mynteye_s.yaml

View File

@ -15,7 +15,7 @@ If you wanna run ORB_SLAM2 with MYNT EYE camera, please follow the steps:
Binocular camera sample
------------------------
* Calibrate a stereo camera with `ROS-StereoCalibration <http://wiki.ros.org/camera_calibration/Tutorials/StereoCalibration>`_ or OpenCV, and then update parameters to ``<ORB_SLAM2>/config/mynteye_stereo.yaml``.
* Calibrate a stereo camera with `ROS-StereoCalibration <http://wiki.ros.org/camera_calibration/Tutorials/StereoCalibration>`_ or OpenCV, and then update parameters to ``<ORB_SLAM2>/config/mynteye_s_stereo.yaml``.
* Execute ``build.sh``:
@ -28,7 +28,7 @@ Binocular camera sample
.. code-block:: bash
./Examples/Stereo/stereo_mynt ./Vocabulary/ORBvoc.txt ./config/mynteye_stereo.yaml true /mynteye/left/image_raw /mynteye/right/image_raw
./Examples/Stereo/stereo_mynt_s ./Vocabulary/ORBvoc.txt ./config/mynteye_s_stereo.yaml true /mynteye/left/image_raw /mynteye/right/image_raw
Building the nodes for mono and stereo (ROS)
@ -47,32 +47,25 @@ Building the nodes for mono and stereo (ROS)
chmod +x build_ros.sh
./build_ros.sh
Mono_ROS Example
~~~~~~~~~~~~~~~~~
* Update ``distortion_parameters`` and ``projection_parameters`` in ``<ORBSLAM2>/config/mynteye_mono.yaml``
.. code-block:: bash
cd MYNT-EYE-S-SDK
./samples/_output/bin/tutorials/get_img_params
After running the above type, pinhole's ``distortion_parameters`` and ``projection_parameters`` is obtained, and then update to ``<ORB_SLAM2>/config/mynteye_mono.yaml``.
* Launch ORB_SLAM2 ``Mono_ROS``
.. code-block:: bash
rosrun ORB_SLAM2 mynteye_mono ./Vocabulary/ORBvoc.txt ./config/mynteye_mono.yaml /mynteye/left/image_raw
Stereo_ROS Example
~~~~~~~~~~~~~~~~~~~
* Calibrate a stereo camera with `ROS-StereoCalibration <http://wiki.ros.org/camera_calibration/Tutorials/StereoCalibration>`_ or OpenCV, and then update parameters to ``<ORB_SLAM2>/config/mynteye_stereo.yaml``.
* Reference ``Get camera calibration parameters`` in :ref:`slam_okvis` to get ``distortion_parameters`` and ``projection_parameters`` , and update ``<ORB_SLAM2>/config/mynteye_s_stereo.yaml`` .
* Launch ORB_SLAM2 ``Stereo_ROS``
1. Launch mynteye node
.. code-block:: bash
rosrun ORB_SLAM2 ros_mynteye_stereo ./Vocabulary/ORBvoc.txt ./config/mynteye_stereo.yaml true /mynteye/left/image_raw /mynteye/right/image_raw
cd [path of mynteye-s-sdk]
make ros
source ./wrappers/ros/devel/setup.bash
roslaunch mynt_eye_ros_wrapper mynteye.launch
2. Open another terminal and run ORB_SLAM2
.. code-block:: bash
rosrun ORB_SLAM2 mynteye_s_stereo ./Vocabulary/ORBvoc.txt ./config/mynteye_s_stereo.yaml true /mynteye/left/image_raw /mynteye/right/image_raw

View File

@ -9,7 +9,7 @@ If you wanna run VINS-Mono with MYNT EYE camera, please follow the steps:
1. Download `MYNT-EYE-S-SDK <https://github.com/slightech/MYNT-EYE-S-SDK.git>`_ and install mynt_eye_ros_wrapper.
2. Follow the normal procedure to install VINS-Mono.
3. Update ``distortion_parameters`` and ``projection_parameters`` to `here <https://github.com/slightech/MYNT-EYE-VINS-Sample/blob/mynteye-s/config/mynteye/mynteye_config.yaml>`_ .
3. Update ``distortion_parameters`` and ``projection_parameters`` to `here <https://github.com/slightech/MYNT-EYE-VINS-Sample/blob/mynteye/config/mynteye/mynteye_s_config.yaml>`_ .
4. Run mynt_eye_ros_wrapper and VINS-Mono.
Install ROS Kinetic conveniently (if already installed, please ignore)
@ -28,7 +28,7 @@ Install MYNT-EYE-VINS-Sample
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone -b mynteye-s https://github.com/slightech/MYNT-EYE-VINS-Sample.git
git clone -b mynteye https://github.com/slightech/MYNT-EYE-VINS-Sample.git
cd ..
catkin_make
source devel/setup.bash
@ -47,14 +47,27 @@ Use MYNT® EYE's left eye camera and IMU. By `MYNT-EYE-S-SDK <https://github.com
After running the above type, pinhole's ``distortion_parameters`` and ``projection_parameters`` is obtained , and then update to `here <https://github.com/slightech/MYNT-EYE-VINS-Sample/blob/mynteye-s/config/mynteye/mynteye_config.yaml>`_ .
.. tip::
You can get the camera model of device when get camera calibration parameters, if model is equidistant you need calibrate pinhole model by yourself or reference :ref:`write_img_params` to write a default pinhole config file to your device.
Run VINS-Mono with MYNT® EYE
-----------------------------
1. Launch mynteye node
.. code-block:: bash
cd (local path of MYNT-EYE-S-SDK)
source ./wrappers/ros/devel/setup.bash
roslaunch mynt_eye_ros_wrapper mynteye.launch
2. Open another terminal and run vins
.. code-block:: bash
cd ~/catkin_ws
roslaunch mynt_eye_ros_wrapper mynteye.launch
roslaunch vins_estimator mynteye.launch
roslaunch vins_estimator mynteye_s.launch
.. note::

View File

@ -0,0 +1,55 @@
.. _slam_vins_fusion:
How to use in `VINS-Fusion <https://github.com/HKUST-Aerial-Robotics/Vins-Fusion>`_
====================================================================================
If you wanna run VINS-Fusion with MYNT EYE camera, please follow the steps:
-------------------------------------------------------------------------
1. Download `MYNT-EYE-S-SDK <https://github.com/slightech/MYNT-EYE-S-SDK.git>`_ and install mynt_eye_ros_wrapper.
2. Follow the normal procedure to install VINS-Fusion.
3. Run mynt_eye_ros_wrapper and VINS-Fusion.
Prerequisites
--------------
1. Install Ubuntu 64-bit 16.04 or 18.04. ROS Kinetic or Melodic.(if already installed, please ignore). `ROS Installation <http://wiki.ros.org/ROS/Installation>`_
2. Install `Ceres <http://ceres-solver.org/installation.html>`_
Install MYNT-EYE-VINS-FUSION-Samples
-------------------------------------
.. code-block:: bash
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone -b mynteye https://github.com/slightech/MYNT-EYE-VINS-FUSION-Samples.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
(if you fail in this step, try to find another computer with clean system or reinstall Ubuntu and ROS)
Run VINS-FUSION with MYNT® EYE
-------------------------------
1. Launch mynteye node
.. code-block:: bash
cd (local path of MYNT-EYE-S-SDK)
source ./wrappers/ros/devel/setup.bash
roslaunch mynt_eye_ros_wrapper mynteye.launch
2. Open another terminal and run vins
.. code-block:: bash
cd ~/catkin_ws
roslaunch vins mynteye-s-mono-imu.launch # mono+imu fusion
# roslaunch vins mynteye-s-stereo.launch # Stereo fusion / Stereo+imu fusion
# roslaunch vins mynteye-avarta-mono-imu.launch # mono+imu fusion with mynteye-avarta
# roslaunch vins mynteye-avarta-stereo.launch # Stereo fusion / Stereo+imu fusion with mynteye-avarta

View File

@ -9,7 +9,7 @@ If you wanna run VIORB with MYNT® EYEplease follow the steps:
1. Download `MYNT-EYE-S-SDK <https://github.com/slightech/MYNT-EYE-S-SDK.git>`_ and install mynt_eye_ros_wrapper.
2. Follow the normal procedure to install VIORB.
3. Update camera parameters to ``<VIO>/config/config_mynteye.yaml``.
3. Update camera parameters to ``<VIO>/config/mynteye_s.yaml``.
4. Run mynt_eye_ros_wrapper and VIORB.
Install MYNT-EYE-VIORB-Sample.
@ -17,7 +17,7 @@ Install MYNT-EYE-VIORB-Sample.
.. code-block:: bash
git clone -b mynteye-s https://github.com/slightech/MYNT-EYE-VIORB-Sample.git
git clone -b mynteye https://github.com/slightech/MYNT-EYE-VIORB-Sample.git
cd MYNT-EYE-VIORB-Sample
``ROS_PACKAGE_PATH`` environment variable. Open ``.bashrc`` file and add at the end the following line. Replace ``PATH`` by the folder where you cloned ``MYNT-EYE-VIORB-Sample``:
@ -45,13 +45,24 @@ Assume that the left eye of the mynteye camera is used with IMU. Through the ``G
After running the above type, pinhole's ``distortion_parameters`` and ``projection_parameters`` is obtained, and then update to ``<MYNT-EYE-VIORB-Sample>/config/mynteye.yaml``.
.. tip::
You can get the camera model of device when get camera calibration parameters, if model is equidistant you need calibrate pinhole model by yourself or reference :ref:`write_img_params` to write a default pinhole config file to your device.
Run VIORB and mynt_eye_ros_wrapper
--------------------------------------
1. Launch mynteye node
.. code-block:: bash
roslaunch mynt_eye_ros_wrapper mynteye.launch
roslaunch ORB_VIO testmynteye.launch
2. Open another terminal and run viorb
.. code-block:: bash
roslaunch ORB_VIO testmynteye_s.launch
Finally, ``pyplotscripts`` can be used to visualize some results.

View File

@ -5,6 +5,10 @@ How to use ROS
Compile and run the node according to :ref:`sdk_install_ros` .
.. tip::
Before doing below you need open a terminal to launch ros node first
``rostopic list`` lists all released nodes:
.. code-block:: bash
@ -62,6 +66,33 @@ The ROS file is structured like follows:
In ``mynteye.launch``, you can configure the topics and frame_ids, decide which data to enable, and set the control options. Please set ``gravity`` to the local gravity acceleration.
.. code-block:: xml
# s2100/s210a modify frame/resolution
<arg name="request_index" default="$(arg index_s2_2)" />
# s1030 modify frame/imu hz
<!-- standard/frame_rate range: {10,15,20,25,30,35,40,45,50,55,60} -->
<arg name="standard/frame_rate" default="-1" />
<!-- <arg name="standard/frame_rate" default="25" /> -->
<!-- standard/imu_frequency range: {100,200,250,333,500} -->
<arg name="standard/imu_frequency" default="-1" />
<!-- <arg name="standard/imu_frequency" default="200" /> -->
...
# s2100 modify brightness
<!-- standard2/brightness range: [0,240] -->
<arg name="standard2/brightness" default="-1" />
<!-- <arg name="standard2/brightness" default="120" /> -->
...
# s210a modify brightness
<!-- standard210a/brightness range: [0,240] -->
<arg name="standard210a/brightness" default="-1" />
<!-- <arg name="standard210a/brightness" default="120" /> -->
...
.. code-block:: xml
<arg name="gravity" default="9.8" />