First add vcpkg as submodule to your project:
git submodule add https://github.com/microsoft/vcpkg
Then run the following script on Windows:
.\vcpkg\bootstrap-vcpkg.bat
on the bash:
./vcpkg/bootstrap-vcpkg.sh
The bootstrap script performs prerequisite checks and downloads the vcpkg executable.
set the path:
export VCPKG_ROOT=$PWD/vcpkg
export PATH=$VCPKG_ROOT:$PATH
Setting VCPKG_ROOT
tells vcpkg where your vcpkg instance is located.
Now you can run:
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build build --parallel
To build the rerun
, just comment everything in the CMakeLists.txt
and only leave this part:
include(FetchContent)
FetchContent_Declare(rerun_sdk URL https://github.com/rerun-io/rerun/releases/latest/download/rerun_cpp_sdk.zip)
FetchContent_MakeAvailable(rerun_sdk)
The reason is building arrow_cpp
might take very long time. Also install the rerun server via:
Install the python packages:
pip3 install rerun-sdk==0.20.3
conda install -c conda-forge opencv
pip install graphslam
conda install conda-forge::gtsam
conda install conda-forge::matplotlib
conda install conda-forge::plotly
Also create this soft link.
ln -s /home/$USER/workspace/robotic_notes/docs/ /home/$USER/anaconda3/envs/robotic_notes/docs
- Configuration of Robot
- Configuration Space - (C-space )
- Degrees of freedom.
- Task Space
- Work Space
- Dexterous space:
- dof
- Topology
- Algebraic topology (playlist)
- Non-Holonomic Constraints, Pfaffian Constraints and Holonomic Constraints
- Kinematics of Differential Drive Robots and Wheel odometry
- Velocity-based (dead reckoning)
- Nonlinear uncertainty model associated with a robot's position over time (The Banana Distribution is Gaussian)
- 1. Global References
- 2. Accelerometer Model
- 3. Gyroscope Model
- 4. Attitude from gravity (Tilt)
- Expressing IMU reading with Quaternion
- 5. Quaternion from Accelerometer
- 6. Quaternion Integration
- 7.1 Quaternion Derivative
- Relationship Between Euler-Angle Rates and Body-Axis Rates
- Complementary Filter
- Quaternion-Based Complementary Filter
- Accelerometer-Based Correction
- Attitude from angular rate (Attitude propagation)
- IMU Integration
- Noise Spectral Density
- Signal-to-noise Ratio
- Allan Variance curve
- Autoregressive model
- Madgwick Orientation Filter
- Mahony Orientation Filter
- Simulating IMU Measurements
- IMU Propagation Derivations
- IMU Noise Model
- The standard deviation of the discrete-time noise process
- Datasets and Calibration Targets
- Supported Camera Models and Distortion
- Camera Calibration
- Camera IMU Calibration
- 1. Names
- 2. Remapping Arguments
- NodeHandles
- Roslaunch
- URDF
- Publishing the State
- ROS best practices
- move_base
- ROS Odometery Model
- ROS State Estimation
- EKF Implementations
- Differential Drive Wheel Systems
- Installation
- Configuration
- Colcon
- Using Xacro
- Creating a launch file
- Nav2 - ROS 2 Navigation Stack
- teleop_twist_keyboard
- Gazebo Versions
- Installation
- Building a model
- Building world
- Moving the robot
- Sensors
- Spawn URDF
- ROS 2 integration
- Active Exposure Control for Robust Visual Odometry in HDR Environments
- Pose Graph SLAM
- nano-pgo
- Factor Graph vs Pose Graph
- g2o
- GTSAM
- Resilient Autonomy in Perceptually-degraded Environments
- HBA Large-Scale LiDAR Mapping Module
- Hierarchical, multi-resolution volumetric mapping (wavemap)
- kiss-icp
- TagSLAM SLAM with tags
- OpenDroneMap
- Interactive SLAM
- Volumetric TSDF Fusion of Multiple Depth Maps
- Euclidean Signed Distance Field (ESDF)
- Lidar odometry smoothing using ES EKF and KissICP for Ouster sensors with IMUs
- Multisensor-aided Inertial Navigation System (MINS)
- GLOMAP explained
- Open Keyframe-based Visual-Inertial SLAM okvis
- HybVIO
- SVO Pro
- OpenVINS
- Kimera-VIO
- 3D Mapping Library For Autonomous Robots
- Benchmark Comparison of Monocular Visual-Inertial Odometry Algorithms for Flying Robots
- A Comparison of Modern General-Purpose Visual SLAM Approaches
- ETH3D
- rvp group
- A Stereo Event Camera Dataset for Driving Scenarios DSEC
- FAST-LIO (Fast LiDAR-Inertial Odometry)
- incremental Generalized Iterative Closest Point (GICP) based tightly-coupled LiDAR-inertial odometry (LIO), iG-LIO
- Direct LiDAR-Inertial Odometry: Lightweight LIO with Continuous-Time Motion Correction
- Robust Real-time LiDAR-inertial Initialization
- CT-LIO: Continuous-Time LiDAR-Inertial Odometry
- Lidar SLAM for Automated Driving (MATLAB learning)
- LIO-SAM
- GLIM
- Lidar-Monocular Visual Odometry
Refs: 1
- Robust Rotation Averaging
- Bundler
- Global Structure-from-Motion Revisited
- LightGlue
- DenseSFM
- Pixel-Perfect Structure-from-Motion
- image-matching-webui
- Gaussian Splatting
- GANeRF
- DSAC*
- Tracking Any Point (TAP)
- image-matching-benchmark
- Local Feature Matching at Light Speed
- Hierarchical Localization
- instant-ngp
- NeRF-SLAM
- DROID-SLAM
- ACE0
- A Hierarchical 3D Gaussian Representation for Real-Time Rendering of Very Large Datasets -
- DoubleTake:Geometry Guided Depth Estimation
- Mitigating Motion Blur in Neural Radiance Fields with Events and Frames
- LEAP-VO: Long-term Effective Any Point Tracking for Visual Odometry
- MegaScenes: Scene-Level View Synthesis at Scale
- Intrinsic Image Diffusion for Indoor Single-view Material Estimation
- Vidu4D: Single Generated Video to High-Fidelity 4D Reconstruction with Dynamic Gaussian Surfels
- Detector-Free Structure from Motion
- Procrustes Analysis
- Wahba's Problem
- Quaternion Estimator Algorithm (QUEST)
- Kabsch Algorithm
- Umeyama Algorithm
- Iterative Closest Point (ICP)
- KISS-ICP
- Modern Robotics Mechanics, Planning, and Control (Kevin M. Lynch, Frank C. Park)
- Modern Robotics Mechanics, Planning, and Control (Instructor Solution Manual, Solutions )
- MODERN ROBOTICS MECHANICS, PLANNING, AND CONTROL (Practice Exercises)
- Basic Knowledge on Visual SLAM: From Theory to Practice, by Xiang Gao, Tao Zhang, Qinrui Yan and Yi Liu
- STATE ESTIMATION FOR ROBOTICS (Timothy D. Barfoot)
- SLAM for Dummies
- VSLAM Handbook
- SLAM Handbook