激光雷达 SDK 软件包
本文收集目前主要激光雷达厂商的 SDK 软件包,其中大多还会提供 ROS(ROS1 和/或 ROS2)驱动软件包。使用这些 SDK 软件包,可以快速地将激光雷达集成到你的智能系统中,包括工业自动化、智能基础设施、机器人、自动驾驶汽车等应用领域。
Ouster
Ouster 为其激光雷达产品提供了两个 SDK 软件包:
- ouster-sdk:提供了与激光雷达硬件交互接口的 SDK,并提供 C++ 和 Python 接口,以及测试数据、测试工具和示例参考代码。
- ouster-ros:基于 ouster-sdk 的 ROS 驱动软件包,支持 ROS1 和 ROS2。
Ouster SDK 提供的功能包括:
- 查询和设置传感器配置;
- 以 pcap 格式录 制和读取数据;
- 可靠地读取和缓冲传感器 UDP 数据流;
- 将原始数据转换为深度/信号/近红外/反射率图像(去交错);
- 距离测量到笛卡尔 (x, y, z) 坐标的有效投影;
- 多波束闪光激光雷达数据的可视化。
另外,在 Python 的实现中,SDK 还提供以下功能:
- 基于帧访问激光雷达数据作为 numpy 数据类型;
- 用于 pcap 和传感器的响应式可视化工具。
Python 版本的 ouster-sdk 库通过 PyPI 发布,可通过下面命令安装:
pip install ouster-sdk
在线文档:https://static.ouster.dev/sdk-docs/
速腾
速腾聚创(RoboSense)为其激光雷达提供的 SDK,主要包括 rs_driver 和 rslidar_sdk 两部分。
- rs_driver:速腾雷达驱动核心软件包,支持包括 RS-LiDAR-16、RS-LiDAR-32、RS-Bpearl、RS-Helios、RS-Helios-16P、RS-Ruby-128、RS-Ruby-80、RS-Ruby-48、RS-Ruby-Plus-128、RS-Ruby-Plus-80、RS-Ruby-Plus-48、RS-LiDAR-M1、RS-LiDAR-M2、RS-LiDAR-E1 等所有型号的激光雷达。
- rslidar_sdk:在 ROS 环境下的雷达驱动软件包,支持 ROS1 和 ROS2。
rslidar_sdk 软件包的核心是 rs_driver,如果你希望基于 ROS/ROS2 进行二次开发,可以直接使用 rslidar_sdk 软件包。配合 ROS/ROS2 自带的 rviz 可视化工具,可以查看点云。如果你希望将雷达驱动集成到自己的工程,作更深一步的二次开发,那么可以基于 rs_driver 进行开发。
禾赛
禾赛(Hesai)为其激光雷达提供的 SDK 相对来说比较散乱,下面列出比较通用的两个 SDK。
- HesaiLidar_General_SDK:禾赛雷达核心驱动软件包,支持 Pandar40P、Pandar64、Pandar20A、Pandar20B、PandarQT、Pandar40M、PandarXT 等型号激光雷达。
- HesaiLidar_General_ROS:基于 HesaiLidar_General_SDK 的 ROS 驱动软件包,只支持 ROS1。
2023年11月更新 👇
可能是原来的 SDK 设计太混乱了,最近官方开源了 2.0 版本的 SDK,包括两个仓库:
- HesaiLidar_SDK_2.0:核心驱动软件包,支持 Pandar、AT128、QT、FT120 和 XT16/XT32 激光雷达,依赖 PCL、Boost 等库。
- HesaiLidar_ROS_2.0:基于 HesaiLidar_SDK_2.0 的 ROS 驱动软件包,同时支持 ROS1 和 ROS2。
览沃
览沃(Livox)为其激光雷达提供的 SDK 相对比较规范,并且提供了较为完善的说明文档。
- Livox-SDK:览沃雷达核心驱动软件包,支持 Mid-40、Mid-70、Tele-15、Horizon、Avia 系列型号激光雷达。
- Livox-SDK2:览沃雷达核心驱动软件包,支持 HAP、Mid-360 系列型号激光雷达。
- livox_ros_driver:览沃雷达 ROS1 驱动软件包。
- livox_ros_driver2:览沃雷达 ROS2 驱动软件包。
在线文档: