# AGV-MAP **Repository Path**: hangzai157/agv-map ## Basic Information - **Project Name**: AGV-MAP - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-24 - **Last Updated**: 2025-09-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 机器人地图显示应用 这是一个基于UniApp开发的机器人SLAM地图显示应用,使用MQTT协议与机器人进行通信,实现地图显示、激光扫描线绘制和机器人位置显示功能。 ## 功能特点 - 使用MQTT协议与机器人通信,替代原有SocketIO方式 - 显示机器人SLAM地图栅格数据 - 显示激光雷达扫描线和点 - 显示机器人位置和朝向 - 支持地图缩放和平移操作 - 适配移动端触摸操作 ## 技术实现 - 使用UniApp框架,支持多平台编译(微信小程序、App等) - 使用Canvas绘制地图和激光扫描数据 - 实现MQTT通信模块,处理与机器人的数据交换 - 实现坐标转换工具,处理地图坐标和显示坐标的转换 ## MQTT通信 - MQTT服务器地址:120.79.227.98 - MQTT服务器端口:1883 - 用户名:zh_mqtt - 密码:mD3q66T ### 订阅的主题 - `map`:接收地图数据 - `scan`:接收激光扫描数据 - `base_status`:接收机器人位置数据 ### 发布的主题 - `robot_control`:发送控制命令 ## 项目结构 ``` ├── pages │ └── index │ └── index.vue # 主页面 ├── utils │ ├── mqtt.js # MQTT通信模块 │ └── transformer.js # 坐标转换工具 ├── App.vue # 应用入口 ├── manifest.json # 应用配置 └── pages.json # 页面配置 ``` ## 使用说明 1. 启动应用后,会自动连接MQTT服务器 2. 连接成功后,会自动请求地图数据 3. 可以使用缩放按钮或双指缩放来调整地图大小 4. 可以使用单指拖动来平移地图位置 5. 可以切换显示/隐藏激光点 ## 开发与部署 ### 开发环境搭建 1. 安装HBuilderX 2. 导入项目 3. 运行到浏览器或模拟器进行调试 ### 编译与发布 1. 使用HBuilderX的发行功能 2. 选择目标平台(App、小程序等) 3. 按照提示完成编译和发布 ## 注意事项 - 微信小程序需要在manifest.json中配置正确的AppID - 需要确保MQTT服务器允许WebSocket连接(端口8083) - 地图数据较大时可能会影响性能,已进行优化处理