禾赛AT128雷达使用详解

实验室对禾赛AT128雷达进行基础研究,每秒处理约6250个点云包(单回波,10Hz),对应约125°水平视场角。SDK采用多线程解析,m_stepSize设定为处理200个包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们实验室会做各类传感器的基础使用研究,本文针对市面上前装量产比较多的禾赛AT128雷达展开


Wireshark抓包

 每秒大概在6250个点云包左右(单回波,10Hz)

 可能是因为水平视场角比120°大,6250个包大概对应6250/10hz*0.2(Packets间隔) = 125°左右。

 

SDK部分

 AT128 SDK中是多线程解析的,看代码中m_stepSize是200个包;

### Hesai Lidar ROS2 集成与使用 #### 背景介绍 科技(Hesai Technology)是一家专注于激光雷达研发和生产的公司,其产品广泛应用于自动驾驶、机器人等领域。为了方便开发者将激光雷达的数据接入基于ROS2的系统,官方提供了专门的支持包 `hesai_lidar` 和相关工具[^3]。 --- #### 安装与配置 ##### 依赖项安装 在开始之前,需确保已正确安装以下依赖项: - **ROS2 Distribution**: 支持Galactic及以上版本。 - **Pandar SDK**: 下载并解压对应平台的SDK文件[^4]。 通过终端执行以下命令来安装必要的软件包: ```bash sudo apt update && sudo apt install ros-galactic-pcl-conversions python3-colcon-common-extensions ``` ##### 获取驱动源码 克隆官方仓库至本地工作空间目录下: ```bash git clone https://github.com/hesai-tech/hesai_ros.git ~/workspace/src/ ``` 注意:确认分支匹配当前使用的ROS发行版标签名,例如切换到galactic兼容路径上[^5]。 --- #### 启动参数说明 启动脚本通常位于`launch/`子文件夹内,默认命名为`hesai.launch.py`。以下是几个重要参数及其作用: | 参数名称 | 描述 | |------------------|---------------------------------------------------------------------------------------| | device_ip | 设置传感器IP地址 | | lidar_model | 指定具体型号 (e.g., PandarXT, PandarGT) | | frame_id | TF坐标系标识符 | 示例调用方式如下所示: ```xml <arg name="device_ip" default="192.168.1.201"/> <arg name="lidar_model" default="PandarQT"/> <arg name="frame_id" default="laser_link"/> ``` 上述XML片段定义了一个典型的LiDAR实例化过程[^6]。 --- #### 数据处理流程 一旦节点成功初始化后,它会周期性地读取原始点云数据并通过标准化消息类型发布出去。典型主题结构可能包括但不限于以下几个方面: - `/points_raw`: 原始未滤波后的三维点集合; - `/status`: 实时运行状态报告; 下面展示了一种订阅这些话题的方法实现伪代码逻辑框架: ```cpp #include "rclcpp/rclcpp.hpp" #include "sensor_msgs/msg/point_cloud2.hpp" class PointCloudSubscriber : public rclcpp::Node { public: explicit PointCloudSubscriber() : Node("pc_subscriber") { subscription_ = this->create_subscription<sensor_msgs::msg::PointCloud2>( "/points_raw", 10, std::bind(&PointCloudSubscriber::topic_callback, this, _1)); } private: void topic_callback(const sensor_msgs::msg::PointCloud2& msg) const { RCLCPP_INFO(this->get_logger(), "Received point cloud with %zu points.", msg.width * msg.height); } rclcpp::Subscription<sensor_msgs::msg::PointCloud2>::SharedPtr subscription_; }; int main(int argc, char* argv[]) { rclcpp::init(argc, argv); auto node = std::make_shared<PointCloudSubscriber>(); rclcpp::spin(node); rclcpp::shutdown(); } ``` 此C++程序展示了如何创建一个简单的点云接收器,并打印接收到的消息大小信息[^7]。 --- #### 故障排查技巧 如果遇到连接失败或者性能下降等问题,则可以从以下几个角度入手分析原因所在: 1. 网络连通性测试——Ping目标设备验证物理链路正常与否; 2. 日志级别调整——临时提高调试等级以便捕获更多细节线索; 3. 版本一致性校验——保证所采用库函数API签名形式统一无误; 以上每一步骤均有助于快速定位潜在隐患位置[^8]。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值