-
Notifications
You must be signed in to change notification settings - Fork 16
The X Library
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.
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
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.