@foxglove/velodyne-cloud

中文文档
1.0.1发布于 2022/03/30MITTypeScriptCommonJS零依赖近 30 天下载 11.6万

将 Velodyne LIDAR 数据包转换为指向云的文本库

中文使用文档
文档目录5 节
  1. 导言
  2. 使用量
  3. 许可证
  4. 释放
  5. 保持联系

@foxglove/velodyne-cloud (英语)

将 Velodyne LIDAR 数据包转换为指向云的文本库

npm version

导言

维洛德内 LIDAR硬件广播了代表激光扫描数据的平稳的UDP包流. 这些生包需要用每个硬件模型所特有的校正数据被转换为点云. 这个TypeScript库从分析包中提供对Velodyne硬件模型的最佳检测,并包含校正数据,以自动将原始数据转换为3D点云表示.

此库用于 狐格罗夫工作室 转换 velodyne msgs/Velodyne扫描器 ROS 消息给 传感器 msgs/ PointCloud2 留言.

使用量

import {
  Calibration,
  PointCloud,
  PointFieldDataType,
  RawPacket,
  Transformer
} from "@foxglove/velodyne-cloud";

type VelodynePacket = {
  stamp: { sec: number, nsec: number };
  data: Uint8Array;
};

// NOTE: Use the packetRate() function to determine how many packets are needed
// to create a full 360 degree scan

function createPointCloud(packets: VelodynePacket[]) {
  if (packets.length === 0) return undefined;

  const firstPacket = new RawPacket(packets[0].data);
  const model = firstPacket.inferModel();
  if (model == undefined) return undefined;

  const stamp = firstPacket.timestamp();
  const maxPoints = RawPacket.MAX_POINTS_PER_PACKET * packets.length;
  const cloud = new PointCloud({ stamp, maxPoints });
  const transformer = new Transformer(new Calibration(model));

  for (const packet of packets) {
    transformer.unpack(new RawPacket(packet.data), stamp, undefined, cloud);
  }

  cloud.trim();

  console.log(
    `Created ${cloud.width}x${cloud.height} dense little endian point cloud data. ` +
    `${cloud.data.byteLength} bytes total with ${cloud.point_step} byte point step, ` +
    `${cloud.row_step} byte row step, and the following fields:`
  );
  for (const field of cloud.fields) {
    console.log(
      `  [${field.name}] offset=${field.offset}, ` +
      `datatype=${PointFieldDataType[field.datatype]}, ` +
      `count=${field.count}`
    );
  }
}

许可证

@foxglove/velodyne-cloud 获得许可证 MIT 许可证。 。 。 .

释放

  1. 运行 yarn version --[major|minor|patch] 切换到凸起版本
  2. 运行 git push && git push --tags 以驱动新标签
  3. GitHub 动作会照顾剩下的

保持联系

加入我们 黑频道 问问题 分享反馈 随时了解我们团队的工作.

版本与发布记录

@foxglove/velodyne-cloud 共发布 2 个版本,首次发布于 2021/07/20;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.1latest2022/03/304 年前
1.0.02021/07/205 年前

关于 @foxglove/velodyne-cloud 的常见问题

@foxglove/velodyne-cloud 是什么?

将 Velodyne LIDAR 数据包转换为指向云的文本库

如何安装 @foxglove/velodyne-cloud?

在项目目录运行 npm install @foxglove/velodyne-cloud,或使用 pnpm add / yarn add / bun add。

@foxglove/velodyne-cloud 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@foxglove/velodyne-cloud 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@foxglove/velodyne-cloud 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >= 14。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@foxglove/velodyne-cloud 可以商用吗?

@foxglove/velodyne-cloud 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@foxglove/velodyne-cloud 的下载量有多少?

根据 npm 官方下载统计,@foxglove/velodyne-cloud 在 2026/10/16 – 2026/11/14 这 30 天内被下载 116,456 次,日均约 3,882 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@foxglove/velodyne-cloud 还在维护吗?

最新版本 1.0.1 发布于 2022/03/30(4 年前);至今共发布 2 个版本,其中过去 12 个月发布了 0 个;首次发布于 2021/07/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。