ATS360-EDU 是上海代数律动技术有限公司面向科研/教学需求开发的多源融合 SLAM 扫描开放平台,开放主控平台及内部数据接口,便于二次开发和后处理。
本仓库不是独立于 FAST-LIVO2 的新算法,主要完成:
- 数据转换:将设备标定参数转换为 FAST-LIVO2 配置。
- 消息适配:解析 ATS360-EDU bag 中的
slam_sdk/CustomMsg、压缩图像和 IMU 消息。 - 运行配置:提供 ATS360-EDU 专用 YAML 和 launch 文件。
- 依赖隔离:将 Sophus 安装到仓库内的
3rd/install,不修改系统目录。
FAST-LIVO2 的算法、论文、数据集和其他传感器示例请参阅上游项目。
mapping_ATS360.launch 默认读取:
| 传感器 | ROS 话题 | 消息类型 |
|---|---|---|
| 相机 cam1 | /camera1/image_raw/compressed |
sensor_msgs/CompressedImage |
| 激光雷达 | /lidar/points |
slam_sdk/CustomMsg |
| IMU | /imu/data |
sensor_msgs/Imu |
仓库包含兼容的 slam_sdk/CustomMsg 声明。回放已转换的 bag 时,不需要额外安装 ATS360 ROS SDK。
- Ubuntu 18.04 或 20.04
- ROS 1 与 catkin
- PCL 1.8+
- Eigen 3.3.4+
- OpenCV 4.2+
工作区布局:
catkin_ws/src/
|-- FAST-LIVO2/
| |-- 3rd/Sophus/ # Git submodule, revision a621ff
| `-- 3rd/install/ # Local install prefix, ignored by Git
`-- rpg_vikit/ # Separate catkin repository
rpg_vikit 是同一工作区中的独立 catkin 仓库,不是本项目子模块。
mkdir -p catkin_ws/src
cd catkin_ws/src
git clone --recurse-submodules https://github.com/markton/FAST-LIVO2.git
git clone https://github.com/xuankuzcr/rpg_vikit.git未初始化子模块时执行:
cd FAST-LIVO2
git submodule update --init --recursiveSophus 固定使用提交 a621ff。首次拉取后执行一次:
cd catkin_ws/src/FAST-LIVO2
./3rd/build.sh脚本将 Sophus 安装到 3rd/install,不会写入 /usr 或 /usr/local。
cd catkin_ws
catkin_make -DSophus_DIR="$PWD/src/FAST-LIVO2/3rd/install/lib/cmake/Sophus"
source devel/setup.bash终端 1:
cd catkin_ws
source devel/setup.bash
roslaunch fast_livo mapping_ATS360.launch终端 2:
cd catkin_ws
source devel/setup.bash
rosbag play path/to/ATS360.bag运行时加载:
config/ATS360.yaml # LIO/VIO、外参、时间差和 IMU 轴系
config/camera_pinhole_ATS360.yaml # cam1 相机模型与内参
| 路径 | 说明 |
|---|---|
config/ATS360.yaml |
ATS360-EDU LIO/VIO 主配置 |
config/camera_pinhole_ATS360.yaml |
cam1 相机配置 |
launch/mapping_ATS360.launch |
ATS360-EDU 启动文件 |
scripts/ATS360_Param2FastLIVO2.py |
设备参数转换工具 |
include/slam_sdk/ |
点云消息兼容声明 |
docs/ |
用户指南和产品概览图片 |
本仓库保留 FAST-LIVO2 的 GPLv2 许可证。使用、分发或修改时,请遵循 LICENSE 和上游授权要求。
请联系:1049277275@qq.com。
ATS360-EDU 集成激光雷达、IMU、4 路相机和 GNSS,并支持 4G、电台、Wi-Fi 和蓝牙通信。设备提供开放主控平台和统一数据接口,可用于实时及后处理 SLAM 研究。
集成式手持设计为多源数据采集、设备监控和 SLAM 研究提供统一平台。
手柄、电池和手机支架采用模块化装配。
设备提供以 SLAM 开头的 Wi-Fi 热点,名称中的数字对应设备 SN。
SLAM WebOS 提供数据通道、模块服务、工程管理和 GoSLAM 等入口。
数据通道用于监控数据流,并管理串口、TCP 服务和数据收发。
模块服务展示 GNSS、IMU、相机、激光雷达、电台、差分、同步、网络和系统状态。
工程管理用于创建工程、控制录制、查看存储状态并下载数据。
详细操作请参阅第 1 节中的用户指南。
已有可用 bag 及其对应配置时,可跳过本节。
| 文件或目录 | 说明 |
|---|---|
image/ |
图像数据 |
param/ |
相机内参、IMU-相机外参和 IMU-激光雷达外参等 |
gnss.nmea |
GNSS 定位数据 |
gnss.raw |
GNSS 原始数据 |
gnss.rtcm |
GNSS 差分数据 |
imu.aimu |
IMU 数据 |
lidar_imu.aimu |
激光雷达内置 IMU 数据 |
lidar_pnt.pnts |
激光雷达点云数据 |
preview_image.jpg |
开机预览图片 |
project.json |
工程配置信息 |
转换程序随 ATS360-EDU 设备开放代码提供,不包含在本仓库中。请联系 1049277275@qq.com 获取开放代码和使用说明。
生成的 bag 应包含 /camera1/image_raw/compressed、/lidar/points 和 /imu/data。
本仓库的 scripts/ATS360_Param2FastLIVO2.py 读取:
| 文件 | 用途 |
|---|---|
camera1.yaml |
cam1 模型、内参和畸变参数 |
imucamera1.yaml |
IMU 到 cam1 的外参和相机/IMU 时间差 |
imulidar.yaml |
激光雷达到 IMU 的外参 |
install.yaml |
IMU 固定轴向变换 imu_angle_fixed |
执行:
python3 scripts/ATS360_Param2FastLIVO2.py path/to/ATS360-project/param可指定输出目录和图像尺度:
python3 scripts/ATS360_Param2FastLIVO2.py path/to/ATS360-project/param \\
--output-dir path/to/output \\
--scale 0.5工具生成:
ATS360_param.yaml:包含imu_angle_fixed、extrin_calib和time_offset.img_time_offset的临时参数片段。camera_pinhole_ATS360.yaml:FAST-LIVO2 pinhole 相机配置。
核对后,将临时参数合入 config/ATS360.yaml 的同名位置;launch 不加载临时文件。相机配置复制到 config/:
cp scripts/camera_pinhole_ATS360.yaml config/参数对应关系:
extrinsic_R/extrinsic_T:激光雷达到 IMU 的变换。Rcl/Pcl:激光雷达到相机的变换。img_time_offset:来自timeshift_cam_imu的相机/IMU 时间差。imu_angle_fixed:角度制[roll, pitch, yaw]固定 IMU 轴系旋转。
T_camera_lidar = T_camera_imu * T_imu_lidar
cam1 使用 pinhole + radtan。默认 scale: 0.5 会同步缩放图像和内参;使用原始分辨率时执行:
python3 scripts/ATS360_Param2FastLIVO2.py path/to/ATS360-project/param --scale 1.0ATS360-EDU is an open multi-sensor fusion SLAM scanning platform from Shanghai Algebraic Rhythm Technology Co., Ltd..
This repository provides device-parameter conversion, ATS360-EDU bag message compatibility, runtime configuration, and a repository-local Sophus installation.
| Sensor | ROS topic | Message type |
|---|---|---|
| Camera cam1 | /camera1/image_raw/compressed |
sensor_msgs/CompressedImage |
| LiDAR | /lidar/points |
slam_sdk/CustomMsg |
| IMU | /imu/data |
sensor_msgs/Imu |
- Ubuntu 18.04 or 20.04
- ROS 1 with catkin
- PCL 1.8+, Eigen 3.3.4+, and OpenCV 4.2+
rpg_vikit is a separate catkin repository. Sophus is the 3rd/Sophus submodule and installs under 3rd/install.
mkdir -p catkin_ws/src
cd catkin_ws/src
git clone --recurse-submodules https://github.com/markton/FAST-LIVO2.git
git clone https://github.com/xuankuzcr/rpg_vikit.git
cd FAST-LIVO2
./3rd/build.sh
cd ../..
catkin_make -DSophus_DIR="$PWD/src/FAST-LIVO2/3rd/install/lib/cmake/Sophus"
source devel/setup.bashcd catkin_ws
source devel/setup.bash
roslaunch fast_livo mapping_ATS360.launchIn another terminal:
cd catkin_ws
source devel/setup.bash
rosbag play path/to/ATS360.bagRuntime parameters come from config/ATS360.yaml and config/camera_pinhole_ATS360.yaml.
| Path | Description |
|---|---|
config/ATS360.yaml |
ATS360-EDU LIO/VIO configuration |
config/camera_pinhole_ATS360.yaml |
cam1 configuration |
launch/mapping_ATS360.launch |
ATS360-EDU launch file |
scripts/ATS360_Param2FastLIVO2.py |
Device-parameter converter |
include/slam_sdk/ |
Compatible point-cloud message declarations |
This repository retains the FAST-LIVO2 GPLv2 license. See LICENSE, upstream FAST-LIVO2, and Sophus.
Contact 1049277275@qq.com.
ATS360-EDU integrates LiDAR, an IMU, four cameras, and GNSS, with 4G, radio, Wi-Fi, and Bluetooth connectivity.
The handheld platform supports multi-sensor acquisition, monitoring, and SLAM research.
The handle, battery, and phone mount use a modular assembly.
The device hotspot begins with SLAM and includes the device SN.
SLAM WebOS provides Data Channels, Module Services, Project Management, and GoSLAM.
Data Channels monitors streams, serial ports, TCP services, and data transfer.
Module Services presents GNSS, IMU, camera, LiDAR, radio, synchronization, network, and system status.
Project Management controls recording, storage, and project downloads.
See the guides in Section 1 for complete instructions.
Skip this section when a usable bag and matching configuration are already available.
| File or directory | Description |
|---|---|
image/ |
Image data |
param/ |
Camera intrinsics and sensor extrinsics |
gnss.nmea |
GNSS positioning data |
gnss.raw |
Raw GNSS data |
gnss.rtcm |
GNSS differential data |
imu.aimu |
IMU data |
lidar_imu.aimu |
LiDAR built-in IMU data |
lidar_pnt.pnts |
LiDAR point-cloud data |
preview_image.jpg |
Startup preview image |
project.json |
Project configuration |
The converter is supplied with the ATS360-EDU open device code and is not included here. Contact 1049277275@qq.com for the code and instructions.
The bag must contain /camera1/image_raw/compressed, /lidar/points, and /imu/data.
scripts/ATS360_Param2FastLIVO2.py reads camera1.yaml, imucamera1.yaml, imulidar.yaml, and install.yaml:
python3 scripts/ATS360_Param2FastLIVO2.py path/to/ATS360-project/paramOptional output and scale:
python3 scripts/ATS360_Param2FastLIVO2.py path/to/ATS360-project/param \\
--output-dir path/to/output \\
--scale 0.5ATS360_param.yaml is a temporary fragment containing imu_angle_fixed, extrin_calib, and img_time_offset. Review and merge it into config/ATS360.yaml. Copy camera_pinhole_ATS360.yaml into config/.
extrinsic_R/extrinsic_T transforms LiDAR to IMU; Rcl/Pcl transforms LiDAR to camera; img_time_offset is the camera/IMU time offset; and imu_angle_fixed defines the fixed IMU-axis rotation in [roll, pitch, yaw] degrees.
cam1 uses pinhole + radtan. The default scale: 0.5 scales images and intrinsics together. Use --scale 1.0 for the original resolution.






