Vikit is a versatile collection of C++ tools and utilities designed for computer vision and robotics projects. This version has been modernized for the ROS2 ecosystem (specifically tested on Jazzy and Humble) with a focus on high-performance parameter handling and cross-node compatibility.
This software is provided for educational and research purposes only. It shall not be used for any commercial purposes.
We extend our deepest gratitude to the original developers and contributors of the projects that served as the foundation for this kit:
One of the most significant challenges in migrating from ROS1 to ROS2 is the removal of the global Parameter Server. In ROS2, parameters are local to each node. Vikit addresses this through a multi-tiered fetching strategy in params_helper.hpp:
- Native Node Access: Direct, high-speed access to parameters owned by the current node handle.
SyncParametersClient(High Performance): For cross-node parameter access (e.g., retrieving camera intrinsics from a centralparameter_blackboard). This utilizes optimized ROS2 Service calls to achieve microsecond-level latency, avoiding the overhead of CLI tools.- Command-Line Fallback: A robust fallback mechanism using
popento interface with the ROS2 CLI (ros2 param get), ensuring parameter retrieval even in complex edge cases where service clients might be restricted.
This architecture ensures that vision components can load dozens of camera parameters nearly instantaneously, a critical requirement for real-time SLAM and VIO systems.
Vikit relies on Sophus for Lie groups. It is recommended to use version 1.22.10.
git clone https://github.com/strasdat/Sophus.git -b 1.22.10
cd Sophus && mkdir build && cd build
cmake .. && make -j$(nproc)
sudo make installvikit_common is a pure CMake package and can be installed globally.
cd vikit_common
mkdir build && cd build
cmake .. && make -j$(nproc)
sudo make installvikit_ros is integrated into the ROS2 workspace and should be built using colcon.
# Move vikit_ros to your workspace src directory
cd ~/ros2_ws
colcon build --symlink-install --packages-select vikit_ros- Last Update: December 2025
- Target Systems: Ubuntu 22.04 (Humble) / 24.04 (Jazzy)
- Compiler: C++17 compliant (GCC 9+)