Skip to content

The X Library

Jeff Delaune edited this page Oct 20, 2020 · 2 revisions

The X library is written in C++ and divided into four modules:

  • xVIO: Visual-Inertial Odometry.
  • xEKF: (Iterated) Extended Kalman Filtering
  • xVision
  • xCommon: includes classes and types used by at least two other modules.

The X library is currently used in executables using ROS and F' as middleware, but you can use in any C++ project.

Please make sure you meet the system requirements before installing it.

Installation instructions

Clone the source code

Go to the source directory of your catkin workspace

cd $YOUR_CATKIN_WS/src

Clone the X library, which contains all the technical code

git clone git@fornat1.jpl.nasa.gov:x/x.git

Build

Note: The build command assumes you are using catkin commands line tools, but xVIO ROS should equally compile with 'catkin_make'.

catkin build x

Source your workspace after building

source devel/setup.bash

Note for ARM processors: x can automatically detect if they are being compiled on an aaarch64 processor architecture and apply the correct compiler flags to optimize performance (tested on Nvidia Jetson TX2). Otherwise, they will use the compiler flags for x86 processors. We will add more boards as we test. If you want to set the compiler flags for other processor architectures, you need to modify the CMakelists.txt in the x catkin package.

Clone this wiki locally