SDK & Algorithm¶
Carina SDK¶
π Forum: Carina SDK Release Posts | Firmware | XR Versions
Version History¶
| Version | Release Date | Key Updates | Forum Link |
|---|---|---|---|
| v2.5.13 | 2026-04-16 | Ubuntu 22.04 support; JCX_DRIVER_TYPE_A1088_4_VGA fix; All MD modules support | View |
| v2.3.2 | 2026-03-02 | macOS support, 2088 chip, mono initialization fix | View |
| v1.40.404 | 2025-12-12 | FT68 module support, filter optimization | View |
| v1.39.292 | 2025-08-04 | Hot-plug optimization | View |
| v1.0.16 | 2024-11-25 | VST toggle | View |
Supported Platforms¶
- Windows (X64)
- Ubuntu 18.04 / 20.04 / 22.04 (X86_64, aarch64)
- Android (arm64-v8a, armeabi-v7a)
- macOS (since v2.3.2)
- Module solutions: MD_FT68, MD_FT63, MD_FT62, MD_FT60, MD_FT51, A1088
Configuration (custom_config.yaml)¶
Basic Config¶
slam_off: false
is_6dof: true
histogram_method: none
orb_database_path: ./database.bin
video_see_through: off
mapping_mode: false
Local Map Config¶
mapping_mode: true
save_map: true
rtc_mode: on
load_map: true
map_save_path: D:\\dataset\\wh\\yyss_map
Frame Rate Settings¶
open_camera: on
ChipPoint.fps: 30 # 15/20/25/30/40/50/60
Camera.fps: 30
Imu.fps: 1000 # 200/250/500/1000
Exposure Settings¶
auto_exposure: false
exposure_time: 5 # 0.01-8ms (manual)
exposure_gain: 2 # 1-5x (manual)
Data Recording¶
save_data: true
save_trajectory: true
data_saved_path: ./output
Prediction Settings¶
imu_predict_max_ts: 0.02
predict_only_rotation: 0
predict_position_scale: 0.5
Mapping Mode¶
Local Mapping¶
A1088/FT60 chip:
std::string custom_config =
"mapping_mode: true\n"
"rtc_mode: on\n"
"save_map: true\n"
"load_map: true\n"
"map_save_path: /home/***/map\n";
carina_a1088_init("", custom_config, "./database.bin");
Cloud Mapping¶
std::string custom_config =
"cloud_mapping: true\n"
"server.address: 192.168.0.126:50080\n";
carina_a1088_init("", custom_config, "./database.bin");
6DoF Pose Data Structure¶
| Index | Description |
|---|---|
| 0-2 | Rotation matrix row0 |
| 3-5 | Rotation matrix row1 |
| 6-8 | Rotation matrix row2 |
| 9-11 | Unused |
| 12,13,14 | Translation x, y, z |
Data Collection¶
SDK Data Collection¶
save_data: true
save_trajectory: true
data_saved_path: ./output
ROS Node¶
Supports A1088, FT60/FT51 on Ubuntu 20.04 / ROS / OpenCV 4.2
roscore
source carina_ros_demo/setup.bash
roslaunch carina_ros_demo carina_ft60_demo.launch
Topics:
ft60/left/right/image_rawslam/pathslam/pose
SLAM Algorithm¶
Coordinate System¶
- IMU coordinate system as the main reference
- Z-axis aligned with gravity upward
- X, Y axes determined via Gram-Schmidt orthogonalization
- World coordinate system initialized at startup
Calibration Process¶
- Collect 6-face IMU static data (2+ seconds each)
- Send imu0.csv for IMU calibration
- Camera model: pinhole-fov / radtan / equi (FOV recommended)
- Resolution 640x480 @ 30Hz, IMU @ 1000Hz
- Write calibration data using the verification tool
Data Verification Tool¶
- Before calibration: verify IMU and image data
- After calibration: check image, IMU, pose frame rate, A1088 feature points