# robot_tools_maestro **Repository Path**: wzhicheng/robot_tools_maestro ## Basic Information - **Project Name**: robot_tools_maestro - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-20 - **Last Updated**: 2025-11-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # maestro - 机器人可视化编程工具 maestro 是一个基于Web的机器人可视化编程和调试工具。它提供了一个直观的图形化界面,让用户能够轻松地创建、编辑和调试机器人应用程序。 ## 🚀 核心功能 ### 🤖 系统生态支持 - **ROS1支持**: 完整支持ROS Noetic等版本 - **ROS2支持**: 支持ROS2 Rolling等最新版本(构建中...) - **Dora支持**: 支持新兴的Dora机器人框架(构建中...) - **多平台兼容**: 支持Ubuntu、OpenHarmony等操作系统 ### 📊 实时运行时监控 - **节点可视化**: 实时显示ROS节点状态和连接关系 - **话题监控**: 可视化topic的发布和订阅关系 - **服务管理**: 监控和调用ROS服务 - **消息渲染**: 支持多种传感器数据的可视化渲染 - 图像数据(sensor_msgs/Image, sensor_msgs/CompressedImage) - 激光雷达数据(sensor_msgs/LaserScan) - 点云数据(sensor_msgs/PointCloud2) ### 🛠️ 可视化编程环境 - **自定义节点**: 创建和编辑自定义ROS节点 - **可视化编程**: 通过拖拽方式构建节点连接图 - **代码编辑器**: 内置代码编辑器,支持JavaScript语法 - **消息定义**: 创建和管理自定义消息类型 ### 🤖 机器人仿真构建 - **3D机器人建模**: 支持DAE格式的3D模型导入 - **URDF生成**: 自动生成机器人描述文件 - **关节配置**: 可视化配置机器人关节和连接 - **Gazebo集成**: 与Gazebo仿真器无缝集成 ### 📦 包管理系统(构建中...) - **三方库管理**: 管理ROS包依赖关系 - **项目模板**: 提供多种项目模板 - **一键部署**: 支持一键安装ROS环境和相关依赖 ## 🏗️ 技术架构 ### 前端技术栈 - **JavaScript ES6+**: 现代JavaScript开发 - **WebGL**: 硬件加速的3D图形渲染 - **Canvas 2D**: 高性能2D图形绘制 - **WebSocket**: 实时双向通信 ### 后端技术栈 - **Rust**: 服务端核心逻辑 - **ROS桥接**: 与ROS系统的通信桥梁 - **WebSocket服务**: 实时数据传输 ### 构建工具 - **Webpack**: 模块打包和构建 - **源码映射**: 支持调试模式 ## 🚀 快速开始 ### 环境要求 Web客户端: - Node.js 14+ - Python 3.8+ - 现代浏览器(Chrome/Firefox/Safari) 服务端运行环境: - ROS Noetic 服务端编译环境: - Rustc 1.80+ ### 安装步骤 #### 1. 克隆项目 ```bash git clone https://atomgit.com/m-robots/robot_tools_maestro.git ``` #### 2. Web端 2.1 **安装依赖** ```bash cd robot_tools_maestro/VisualMaestro npm install ``` 2.2 **构建项目** ```bash # 开发模式 npm run debug # 生产模式 npm run release ``` 产物是out目录的main.js 2.3 **启动服务** ```bash cd robot_tools_maestro/VisualMaestro/out # 启动Web服务器 python -m http.server 8000 ``` 2.4 **访问应用** 打开浏览器访问 `http://localhost:8000` #### 3. 服务端 ##### Ubuntu x86-64系统 ```shell cd robot_tools_maestro cargo build ``` ##### M-Robots/OpenHarmony aarch64 (通过Ferrium工具下载预编译文件) ```shell ferrium install maestro-0.1.0@aarch64 ``` ##### M-Robots/OpenHarmony aarch64 自行交叉编译 [交叉编译说明](./cross-compile.md) ## 📖 使用指南 ### 基本工作流程 1. **连接服务器**: 在连接页面输入服务器地址 2. **选择环境**: 选择ROS1、ROS2或Dora环境 3. **创建/选择项目**: 创建新项目或打开现有项目 4. **开始开发**: 使用可视化工具进行机器人程序开发 ### 主要功能模块 #### 运行时监控 - 实时查看ROS节点图 - 监控topic数据流 - 调试节点间通信 #### 自定义节点开发 ```javascript // 示例:对已有节点发布消息 () => { let msg = { data: "Hello, ROS!" }; topic.publish("/hello_topic", msg, 1000); } ``` #### 传感器数据可视化 ```javascript // 示例:渲染激光雷达数据 () => { let msg = topic.lastMessage("/scan"); render.text(msg.range_min + "