ROS下配置镭神智能c16雷达信息

用户配置写入协议(UCWP)

介绍

用户配置写入协议:User Configuration Write Protocol,简称:UCWPI/O 类型:主机向设备写入 UCWP 实现功能:用户根据需求可以对设备的以太网、时间、电机等参数重新配置(用户在设置雷达 IP 时,本地 IP 与目的 IP 请勿设置为同一 IP,否则雷达将不能正常工作)。
一个完整的 UCWP Packet 的数据格式结构为同步帧头,子帧,帧尾。每个数据包共 1248byte:包括 2bytes UDP 封包开支,8byte 同步帧头 Header ,1238byte 的 Data,以及 2byte 帧尾组成。需要注意的是,用户配置写入成功后,除电机转速会在用户配置包发送成功后立即改变,其余配置信息需断电才能使配置生效,否则雷达将以之前的配置继续工作。配置写入协议中数据均采用大端模式。
具体内容遵照的协议参考下表:

表 8 UCWP Packet 的数据格式结构

段落划分 序号 信息 Offset 长度(byte)
Header 0 UCWP 识别头 0 8
Data 1 电机转速 8 2
Data 2 以太网 10 26
Data 3 预留 36 10
Data 4 雷达旋转/静止 46 2
Data 5 兼容 Velodyne 48 2
Data 6 设备流发包间隔数 50 2
Data 7 预留 52 1152
Tail 8 帧尾 1204 2

3.0 头部

注:
表中 Header( UCWP 识别头)为 0xAA,0x00,0xFF,0x11,0x22,0x22,0xAA,0xAA,
其中 Header 前 4 个字节作为包的检查序列,即 0xAA,0x00,0xFF,0x11。Tail 帧尾内容为 0x0F,0xF0。

3.1 电机

表 9 电机寄存器定义

电机转速寄存器(共 2bytes)
序号 Byte1 Byte2
功能 Motor

寄存器说明:
(1)本寄存器用以配置电机转向和电机转速;
(2)数据存储采用大端模式;
(3)配置转速列表如下:
(byte10x04) && (byte20xB0):转速 1200rpm,顺时针旋转;
(byte10x02) && (byte20x58):转速 600rpm,顺时针旋转;
(byte10x01) && (byte20x2C):转速 300rpm,顺时针旋转;
配置其他数据,电机转速皆为 0。

代码详情

这部分代码我暂时只贴了用户配置写入协议通过UDP方式传输给雷达,并改变其转速,转速默认设置为5,10,20Hz。
后续我会把全部驱动代码放在github下。

    void LslidarC16Driver::change_frequency(double Hz)
    {
   
        u_char UCWP_buff[1206] = {
   };
        char recvBuf[1206] = {
    
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DoubleYuanL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值