Code Monkey home page Code Monkey logo

ppp-bayestree's Introduction

PPP-BayesTree

This repository contains a modified version of GTSAM, which has been updated for GNSS data processing. To enable RINEX file reading and GNSS observation modeling, the GPSTk library is utilized. A detailed description of the modification made can be found in "Evaluation of Kinematic Precise Point Positioning Convergence with an Incremental Graph Optimizer". This software has been cleared for public release by the USAF Case # 88ABW-2018-0905



If you utilze this software for an academic purpose, please consider using the following citation:

@inproceedings{ watson2018evaluation,
        title={Evaluation of kinematic precise point positioning convergence with an incremental graph optimizer},
        author={Watson, Ryan M and Gross, Jason N},
        booktitle={2018 IEEE/ION Position, Location and Navigation Symposium (PLANS)},
        pages={589--596},
        year={2018},
        organization={IEEE}
              }


How to Install

1) Requirements/Recommendations

Required

  • Boost --> sudo apt-get install libboost-all-dev
  • CMake --> sudo apt-get install cmake

Recommended

  • Intel TBB --> sudo apt-get install libtbb-dev
  • Intel MKL

2) Clone repository to local machine

  • PPP-BayesTree --> git clone https://github.com/wvu-navLab/PPP-BayesTree.git

3) Build

cd PPP-BayesTree/truck/gtsam;
mkdir build && cd build;
cmake --CMAKE_BUILD_TYPE Release ..
make

4) Test

As an example, a sample data-set is provided. This data-set was collected at West Virginia University on-board a small, fixed-wing UAV --- this platform is known as the Phastball. The two images below, we provide an in-flight image from the Phastball, and the flight profile.

phastball

profile

Using the provided data-set, the PPP Bayes tree example can be utilized as shown below.

cd ../data
./../build/examples/pppBayesTree -c phastball.conf

error

ppp-bayestree's People

Contributors

watsonryan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ppp-bayestree's Issues

Eigen Bug

I run the last command:./../build/examples/pppBayesTree -c phastball.conf
it shows:
Using threads for all processors
pppBayesTree: /home/User/WORK/Factor Graph/GNSS/PPP-BayesTree/PPP-BayesTree-trunk/gtsam/3rdparty/Eigen/Eigen/src/Core/Block.h:142: Eigen::Block<XprType, BlockRows, BlockCols, InnerPanel>::Block(XprType&, Eigen::Block<XprType, BlockRows, BlockCols, InnerPanel>::Index, Eigen::Block<XprType, BlockRows, BlockCols, InnerPanel>::Index, Eigen::Block<XprType, BlockRows, BlockCols, InnerPanel>::Index, Eigen::Block<XprType, BlockRows, BlockCols, InnerPanel>::Index) [with XprType = Eigen::Matrix<double, -1, -1>; int BlockRows = -1; int BlockCols = -1; bool InnerPanel = false; Eigen::Block<XprType, BlockRows, BlockCols, InnerPanel>::Index = long int]: Assertion `a_startRow >= 0 && blockRows >= 0 && a_startRow <= xpr.rows() - blockRows && a_startCol >= 0 && blockCols >= 0 && a_startCol <= xpr.cols() - blockCols' failed.

How to fix it?

Make Error

Hi, I want to run the repository on Ubuntu18.04, However, there is something wrong at the make step.

It shows as follows:
gtsam/CMakeFiles/gtsam.dir/build.make:158: recipe for target 'gtsam/CMakeFiles/gtsam.dir/base/Matrix.cpp.o' failed
make[2]: *** [gtsam/CMakeFiles/gtsam.dir/base/Matrix.cpp.o] Error 1
CMakeFiles/Makefile2:1427: recipe for target 'gtsam/CMakeFiles/gtsam.dir/all' failed
make[1]: *** [gtsam/CMakeFiles/gtsam.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2

The cmake output is :
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- serialization
-- system
-- filesystem
-- thread
-- program_options
-- date_time
-- regex
-- timer
-- chrono
-- atomic
Ignoring Boost restriction on optional lvalue assignment from rvalues
-- Found Intel TBB
-- Could NOT find MKL (missing: MKL_INCLUDE_DIR MKL_LIBRARIES)
CMake Warning (dev) at /usr/share/cmake-3.10/Modules/FindOpenMP.cmake:310 (if):
if given arguments:

"TRUE"

An argument named "TRUE" appears in a conditional statement. Policy
CMP0012 is not set: if() recognizes numbers and boolean constants. Run
"cmake --help-policy CMP0012" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindOpenMP.cmake:425 (_OPENMP_GET_SPEC_DATE)
CMakeLists.txt:197 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/share/cmake-3.10/Modules/FindOpenMP.cmake:310 (if):
if given arguments:

"TRUE"

An argument named "TRUE" appears in a conditional statement. Policy
CMP0012 is not set: if() recognizes numbers and boolean constants. Run
"cmake --help-policy CMP0012" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindOpenMP.cmake:425 (_OPENMP_GET_SPEC_DATE)
CMakeLists.txt:197 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

-- Building 3rdparty
-- checking for thread-local storage - found
-- Building base
-- Building geometry
-- Building inference
-- Building symbolic
-- Building linear
-- Building nonlinear
-- Building sam
-- Building sfm
-- Building slam
-- Building smart
-- Building navigation
-- Building gnssNavigation
-- Building configReader
-- Building robustModels
-- Building gpstk
-- GTSAM Version: 4.0.0
-- Install prefix: /usr/local
-- Building GTSAM - shared
CMake Warning at cmake/GtsamTesting.cmake:229 (message):
The script exclusion pattern
'DiscreteBayesNet_FG.cpp;UGM_chain.cpp;UGM_small.cpp;elaboratePoint2KalmanFilter.cpp'
did not match any files
Call Stack (most recent call first):
cmake/GtsamTesting.cmake:55 (gtsamAddExesGlob_impl)
examples/CMakeLists.txt:8 (gtsamAddExamplesGlob)

-- Wrote /home/PPP-BayesTree/trunk/build/GTSAMConfig.cmake
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- ===============================================================
-- ================ Configuration Options ======================
-- CMAKE_CXX_COMPILER_ID type : GNU
-- CMAKE_CXX_COMPILER_VERSION : 7.5.0
-- Build flags
-- Build Tests : Enabled
-- Build examples with 'make all' : Enabled
-- Build timing scripts with 'make all': Disabled
-- Build static GTSAM library instead of shared: Disabled
-- Put build type in library name : Enabled
-- Build type : Release
-- C compilation flags : -std=c11 -Wall
-- C++ compilation flags : -std=c++11 -Wall
-- Use System Eigen : No
-- Use Intel TBB : Yes
-- Eigen will use MKL : MKL not found
-- Eigen will use MKL and OpenMP : OpenMP found but MKL not found
-- Default allocator : TBB
-- Packaging flags
-- CPack Source Generator : TGZ
-- CPack Generator : TGZ
-- GTSAM flags
-- Quaternions as default Rot3 : Disabled
-- Runtime consistency checking : Disabled
-- Rot3 retract is full ExpMap : Disabled
-- Pose3 retract is full ExpMap : Disabled
-- Deprecated in GTSAM 4 allowed : Enabled
-- Point3 is typedef to Vector3 : Disabled
-- Metis-based Nested Dissection : Enabled
-- Use tangent-space preintegration: Enabled
-- MATLAB toolbox flags
-- Install matlab toolbox : Disabled
-- Build Wrap : Enabled
-- Python module flags
-- Build python module : Disabled
-- ===============================================================
CMake Warning at CMakeLists.txt:499 (message):
MKL was not found - this is ok, but note that MKL yields better
performance. Set GTSAM_WITH_EIGEN_MKL to 'Off' to disable this warning.

-- Configuring done
-- Generating done

Is this because of the different version of Eigen or Ubuntu? Which version should I install?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.