Skip to content

twilgrove/ros_map_tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

🗺️ ros_map_tool

声明 / Credits 本项目代码及文档由 Google Gemini (Model 2.0 Flash Experimental) 协助生成与维护。

📖 项目简介

ros_map_tool 是一个基于浏览器的 ROS 2 地图处理与航点规划工具。单文件 HTML 运行,无需安装环境,用于快速处理 PCD 点云、编辑栅格地图及生成航点参数。

🌟 核心功能

  • ☁️ PCD 点云转栅格 (PCD to Grid)

  • 直读解析:前端直接加载 .pcd 点云文件,利用 Three.js 进行解析。

  • 高度过滤:支持自定义 Min Z 和 Max Z,精准截取雷达扫描平面的障碍物信息,剔除地面或天花板噪点。

  • 自动光栅化:将三维坐标实时投影为二维占用栅格图,支持自定义分辨率 (Resolution)。

  • 🎨 像素级地图编辑器 (Map Editor)

  • 修图工具:提供 ✏️ 补墙 (Draw)⬜ 擦除 (Erase) 笔刷,轻松修复建图时的孔洞或移除动态障碍物残影。

  • 无损缩放:支持以鼠标为中心的 20 倍高清缩放,实现像素级别的精细编辑。

  • 兼容性:既可以编辑由 PCD 生成的地图,也可以导入现有的 .yaml + .pgm 地图文件。

  • 🚩 航点可视化规划 (Waypoint Planner)

  • 交互式标点:左键点击确定位置 (x, y),拖拽鼠标确定车头朝向 (yaw),所见即所得。

  • 自动转换:内置坐标系转换逻辑,自动将 Canvas 像素坐标映射为 ROS 世界坐标(处理 Y 轴翻转)。

  • 一键导出:自动生成符合 Nav2 规范的 ros__parameters 配置文件,包含 num_waypoints[x, y, yaw] 数据列表。

  • 🔄 无缝工作流 (Seamless Workflow)

  • 数据共享:编辑器与规划器共享同一张底图和参数,修完图后无需保存即可直接切换到规划模式进行打点。

🚀 快速开始

1. 环境要求

必须使用支持 WebGL 和 Canvas API 的现代浏览器:

  • Google Chrome
  • Microsoft Edge
  • Firefox

2. 使用步骤

  1. 下载与运行:直接下载本仓库的 ros_map_tool.html 文件,并在浏览器中双击打开。
  2. Step 1: 准备地图
  • 方案 A (PCD 转图):切换到“地图编辑器” -> 选择 .pcd 文件 -> 设置高度范围 -> 点击“⚡ 生成地图”。
  • 方案 B (加载旧图):切换到“地图编辑器” -> 选择 .yaml.pgm 文件 -> 点击“📂 加载地图”。
  1. Step 2: 修整地图
  • 使用右侧工具栏的 “✏️ 补墙”“⬜ 擦除” 工具,修补地图中的瑕疵。
  • (可选) 点击 “💾 导出 PGM & YAML” 保存修好的地图。
  1. Step 3: 规划航点
  • 点击顶部 “🚩 路径规划器” 标签(自动沿用当前底图)。
  • 在地图上点击并拖拽,标记一系列巡逻点。
  • 右侧文本框会自动生成 YAML 配置代码,点击 “📋 复制” 即可。

🎮 操作控制速查表

鼠标动作 编辑器模式 (Editor) 规划器模式 (Planner)
左键拖拽 🖊️ 绘画 (绘制/擦除像素) 📍 标点 (确定位置+方向)
右键拖拽 平移 (移动画布视图) 平移 (移动画布视图)
滚轮滚动 🔍 缩放 (以光标为中心) 🔍 缩放 (以光标为中心)

🔒 安全与隐私

  • 零后端架构:本工具是纯静态 HTML/JS 页面,没有后台服务器。
  • 本地处理:您的 PCD 点云数据、地图图片和生成的路径数据仅在本地浏览器内存中处理,绝不会上传至任何云端服务器。

🛠️ 技术栈

  • Core: Vanilla JavaScript (ES6+)
  • Rendering: HTML5 Canvas API (2D Context)
  • 3D Engine: Three.js (用于 PCD 解析)
  • Architecture: Single-Page Application (SPA)

📄 License

MIT License (开源免费,随意修改)

About

ROS地图工具箱 (单文件 HTML)。支持 PCD 点云转栅格地图、PGM 地图在线修图 (补墙/擦除),以及可视化航点规划与导出。纯前端运行,零依赖。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages