added info about camera model
This commit is contained in:
@@ -4,32 +4,16 @@ SVO
|
|||||||
Disclaimer
|
Disclaimer
|
||||||
----------
|
----------
|
||||||
|
|
||||||
SVO has been tested under ROS Groovy and Hydro and Ubuntu 12.04 and 13.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.
|
SVO has been tested under ROS Groovy and Hydro and Ubuntu 12.04 and 13.04. This is research code, any fitness for a particular purpose is disclaimed.
|
||||||
|
|
||||||
Installation Instructions
|
Installation Instructions
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
#### OPTIONAL: g2o - General Graph Optimization
|
We use two workspaces, one for the plain CMake projects `Sophus`, `Fast` and optionally `g2o` and another workspace for the Catkin projects `rpg_vikit` and `rpg_svo`. Make sure to clone in the right folder.
|
||||||
|
|
||||||
Only required if you want to run bundle adjustment. It is not necessary for visual odometry.
|
|
||||||
g2o requires the following system dependencies: `cmake, libeigen3-dev, libsuitesparse-dev, libqt4-dev, qt4-qmake, libqglviewer-qt4-dev`, install them with `apt-get`
|
|
||||||
|
|
||||||
I suggest an out-of-source build of g2o:
|
|
||||||
|
|
||||||
cd workspace
|
|
||||||
git clone https://github.com/RainerKuemmerle/g2o.git
|
|
||||||
cd g2o
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
cmake ..
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
|
|
||||||
If you don't want to make a system install, then you can replace the cmake command with `cmake .. -DCMAKE_INSTALL_PREFIX:PATH=$HOME/installdir`
|
|
||||||
|
|
||||||
#### Sophus - Lie groups
|
#### Sophus - Lie groups
|
||||||
|
|
||||||
Sophus by Hauke Strasdat implements Lie groups that we need to describe rigid body transformations.
|
Sophus by Hauke Strasdat implements Lie groups that we need to describe rigid body transformations. Checkout in your workspace for plain CMake projects.
|
||||||
|
|
||||||
cd workspace
|
cd workspace
|
||||||
git clone https://github.com/strasdat/Sophus.git
|
git clone https://github.com/strasdat/Sophus.git
|
||||||
@@ -55,6 +39,24 @@ To simplify installation we provide a CMake package that contains the fast detec
|
|||||||
cmake ..
|
cmake ..
|
||||||
make
|
make
|
||||||
|
|
||||||
|
#### OPTIONAL: g2o - General Graph Optimization
|
||||||
|
|
||||||
|
Only required if you want to run bundle adjustment. It is not necessary for visual odometry. In fact, we don't run it on our MAVs.
|
||||||
|
g2o requires the following system dependencies: `cmake, libeigen3-dev, libsuitesparse-dev, libqt4-dev, qt4-qmake, libqglviewer-qt4-dev`, install them with `apt-get`
|
||||||
|
|
||||||
|
I suggest an out-of-source build of g2o:
|
||||||
|
|
||||||
|
cd workspace
|
||||||
|
git clone https://github.com/RainerKuemmerle/g2o.git
|
||||||
|
cd g2o
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake ..
|
||||||
|
make
|
||||||
|
sudo make install
|
||||||
|
|
||||||
|
If you don't want to make a system install, then you can replace the cmake command with `cmake .. -DCMAKE_INSTALL_PREFIX:PATH=$HOME/installdir`
|
||||||
|
|
||||||
#### ViKit - Some useful tools that we need
|
#### ViKit - Some useful tools that we need
|
||||||
|
|
||||||
ViKit for instance contains camera models, some math and interpolation functions that SVO needs.
|
ViKit for instance contains camera models, some math and interpolation functions that SVO needs.
|
||||||
@@ -96,7 +98,7 @@ Now you are ready to start the rosbag. Open a new console and change to the dire
|
|||||||
|
|
||||||
rosbag play airground_rig_s3_2013-03-18_21-38-48.bag
|
rosbag play airground_rig_s3_2013-03-18_21-38-48.bag
|
||||||
|
|
||||||
Now you should see the video with tracked features (green) and in RViz how the camera moves.
|
Now you should see the video with tracked features (green) and in RViz how the camera moves.
|
||||||
|
|
||||||
SVO GUI
|
SVO GUI
|
||||||
-------
|
-------
|
||||||
@@ -112,6 +114,17 @@ Make sure to active the console window when pressing the keys.
|
|||||||
* `q` Quit
|
* `q` Quit
|
||||||
* `r` Reset
|
* `r` Reset
|
||||||
|
|
||||||
|
Camera Calibration
|
||||||
|
------------------
|
||||||
|
|
||||||
|
You need a calibrated camera to run SVO. We use the Matrix Vision Bluefox cameras in our lab, which have VGA resolution and global shutter.
|
||||||
|
SVO supports three camera models:
|
||||||
|
|
||||||
|
1. The `ATAN` model --- our preference --- which is also used by `PTAM`. This model uses the _FOV_ distortion model of "Deverneay and Faugeras, Straight lines have to be straight, 2001". You can calibrate your camera with this model by using the calibration tool in this package: https://github.com/ethz-asl/ethzasl_ptam We prefer this model because the projection and unprojection can be computed faster than with the other models. Further, the industral cameras that we use have neglectable tangential distortion.
|
||||||
|
2. The `Pinhole` model with three radial and two tangential distortion parameters. This model is standard in OpenCV and ROS. You can use the ROS camera calibration tool: http://wiki.ros.org/camera_calibration
|
||||||
|
3. The `Ocam` model by Davide Scaramuzza which can be used to model Omnidirectional cameras. Use the OCamCalib toolbox to calibrate your camera: http://rpg.ifi.uzh.ch/software_datasets.html
|
||||||
|
Although SVO can be used with this camera model, the algorithm does not work yet (!) with omnidirectional cameras.
|
||||||
|
|
||||||
Parameter Settings
|
Parameter Settings
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user