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_rawslam/pathslam/pose
SLAM算法¶
世界坐标系¶
- 以IMU坐标系为主体坐标系
- z轴沿重力方向朝上
- x、y轴通过施密特正交法确定
- 初始化时确定世界坐标系
标定流程¶
- 采集6面IMU静止数据(2秒以上)
- 发送imu0.csv用于IMU校准
- 相机标定模型: pinhole-fov/radtan/equi(推荐FOV)
- 分辨率640x480,频率30Hz,IMU 1000Hz
- 使用数据验证工具写入标定数据
数据验证工具¶
- 标定前: 验证IMU和图像数据
- 标定后: 查看图像、IMU、位姿帧率、A1088特征点