跳转至

SDK与算法

Carina SDK

📎 论坛讨论: Carina SDK发布帖 | 固件版本 | XR版本

版本历史

版本 发布时间 关键更新 论坛链接
v2.5.13 2026-04-16 新增Ubuntu 22.04支持;修复JCX_DRIVER_TYPE_A1088_4_VGA四目模式;支持MD全系模组 查看
v2.3.2 2026-03-02 新增MAC系统支持、2088芯片、单目初始化修复 查看
v1.40.404 2025-12-12 FT68模组支持、滤波器优化 查看
v1.39.292 2025-08-04 热拔插优化 查看
v1.0.16 2024-11-25 VST开关功能 查看

支持平台

  • Windows (X64)
  • Ubuntu 18.04 / 20.04 / 22.04 (X86_64, aarch64)
  • Android (arm64-v8a, armeabi-v7a)
  • MAC (v2.3.2新增)
  • 模组方案: MD_FT68、MD_FT63、MD_FT62、MD_FT60、MD_FT51、A1088

配置参数 (custom_config.yaml)

基础配置

slam_off: false        # 开启/关闭slam算法
is_6dof: true          # true=6dof, false=3dof
histogram_method: none # none/clahe 图像对比度调整
orb_database_path: ./database.bin
video_see_through: off # on/off VST数据
mapping_mode: false    # 后端建图

本地地图配置

mapping_mode: true
save_map: true
rtc_mode: on
load_map: true
map_save_path: D:\\dataset\\wh\\yyss_map

帧率设置

open_camera: on
ChipPoint.fps: 30      # 15/20/25/30/40/50/60
Camera.fps: 30         # 需≤芯片点数据帧率
Imu.fps: 1000          # 200/250/500/1000

曝光设置

auto_exposure: false   # true=自动, false=手动
exposure_time: 5       # 0.01-8ms (手动时)
exposure_gain: 2       # 1-5倍 (手动时)

数据保存

save_data: true        # 保存图像/芯片点/IMU
save_trajectory: true  # 保存轨迹
data_saved_path: ./output

预测设置

imu_predict_max_ts: 0.02  # 最大预测时长(s)
predict_only_rotation: 0  # 0=正常6dof, 2=仅旋转, 5=平移按比例
predict_position_scale: 0.5  # 平移预测比例

建图模式

本地建图

A1088/FT60 芯片:

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");

云端建图

std::string custom_config =
    "cloud_mapping: true\n"
    "server.address: 192.168.0.126:50080\n";
carina_a1088_init("", custom_config, "./database.bin");

6DoF位姿数据结构

索引 说明
0-2 旋转矩阵 row0
3-5 旋转矩阵 row1
6-8 旋转矩阵 row2
9-11 未使用
12,13,14 平移 x, y, z

SDK数据采集

# Ubuntu/Windows
save_data: true
save_trajectory: true
data_saved_path: ./output

# Android
save_data: true
save_trajectory: true
data_saved_path: /sdcard

ROS节点

支持A1088和FT60/FT51,平台:Ubuntu20.04/ROS/OpenCV4.2

roscore
source carina_ros_demo/setup.bash
roslaunch carina_ros_demo carina_ft60_demo.launch

查看话题:

  • ft60/left/right/image_raw
  • slam/path
  • slam/pose

SLAM算法

世界坐标系

  • 以IMU坐标系为主体坐标系
  • z轴沿重力方向朝上
  • x、y轴通过施密特正交法确定
  • 初始化时确定世界坐标系

标定流程

  1. 采集6面IMU静止数据(2秒以上)
  2. 发送imu0.csv用于IMU校准
  3. 相机标定模型: pinhole-fov/radtan/equi(推荐FOV)
  4. 分辨率640x480,频率30Hz,IMU 1000Hz
  5. 使用数据验证工具写入标定数据

数据验证工具

  • 标定前: 验证IMU和图像数据
  • 标定后: 查看图像、IMU、位姿帧率、A1088特征点