Skip to content

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_raw
  • slam/path
  • slam/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

  1. Collect 6-face IMU static data (2+ seconds each)
  2. Send imu0.csv for IMU calibration
  3. Camera model: pinhole-fov / radtan / equi (FOV recommended)
  4. Resolution 640x480 @ 30Hz, IMU @ 1000Hz
  5. 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