# GomerX智能机器人 **Repository Path**: sznamo/GomerX ## Basic Information - **Project Name**: GomerX智能机器人 - **Description**: 智能机器人是一个集成了视觉识别、自主导航、物体抓取等功能的智能机器人系统。该系统基于Python开发,采用模块化设计,便于扩展和维护。 ## 主要功能 - 视觉识别:线条检测、颜色识别、物体检测 - 自主导航:循迹导航、障碍物避让 - 物体操作:机械臂控制、夹爪控制 - 任务自动化:自动抓取、放置任务 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-22 - **Last Updated**: 2025-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GomerX 智能机器人自动化任务项目 本项目基于 GomerX 智能机器人 SDK 实现自动化任务,包括循迹导航、物品识别、抓取和放置功能。 ## 功能概述 - **循迹导航**:利用摄像头识别地面引导线,实现机器人沿线路径导航 - **物品识别**:通过计算机视觉识别特定颜色的物品 - **抓取功能**:控制机械臂和夹爪抓取目标物品 - **放置功能**:将抓取的物品放置到指定区域 - **配置管理**:提供灵活的参数配置接口 - **日志记录**:记录机器人运行过程中的事件和错误 ## 项目结构 ``` gomerx/ ├── main.py # 主程序入口 ├── run.py # 启动脚本 ├── test.py # 测试脚本 ├── config_manager.py # 配置管理工具 ├── logger.py # 日志记录工具 ├── requirements.txt # 项目依赖 ├── README.md # 项目说明文档 ├── config/ # 配置文件目录 │ ├── settings.py # 默认配置 │ └── user_settings.json # 用户自定义配置 ├── modules/ # 功能模块目录 │ ├── __init__.py │ ├── camera.py # 摄像头模块 │ ├── vision.py # 视觉处理模块 │ ├── chassis.py # 底盘控制模块 │ ├── navigation.py # 导航模块 │ ├── object_detector.py # 物品识别模块 │ ├── arm.py # 机械臂控制模块 │ └── gripper.py # 夹爪控制模块 ├── utils/ # 工具包目录 │ └── __init__.py └── logs/ # 日志文件目录 ``` ## 环境要求 - Python 3.7+ - GomerX SDK - OpenCV 4.5.0+ - NumPy 1.19.0+ - Pillow 8.0.0+ ## 安装与配置 ### 1. 安装依赖 ```bash # 使用启动脚本安装 python run.py --mode install # 或直接使用pip安装 pip install -r requirements.txt ``` ### 2. 配置机器人参数 ```bash # 启动配置模式 python run.py --mode config # 或直接运行配置管理器 python config_manager.py ``` ### 3. 物理环境设置 - 在地面铺设清晰的引导线(建议使用与地面颜色对比强烈的黑色或白色胶带) - 设置物品区域和放置区域的明确标记 - 确保物品具有鲜明且单一的颜色,便于识别 ## 使用方法 ### 1. 自动模式 执行完整的自动化任务流程: ```bash # 使用默认参数 python run.py --mode auto # 指定日志级别 python run.py --mode auto --log-level debug ``` ### 2. 手动模式 分步执行各个功能,便于调试: ```bash python run.py --mode manual ``` ### 3. 配置模式 调整机器人运行参数: ```bash python run.py --mode config ``` ### 4. 运行测试 测试各个模块的基本功能: ```bash python run.py --mode test ``` ## 开发步骤 1. **摄像头图像获取及 OpenCV 颜色/线条识别** - 测试摄像头功能 - 实现图像预处理 - 实现线条检测算法 - 实现颜色识别算法 2. **底盘循迹功能** - 实现底盘基本控制 - 实现PID控制算法 - 实现循迹导航 3. **机械臂和夹爪的基本控制** - 实现机械臂位置控制 - 实现夹爪开合控制 - 测试抓取固定位置的物体 4. **视觉识别、底盘移动和机械臂控制的串联** - 实现物品识别与定位 - 实现底盘微调对准 - 实现机械臂抓取流程 5. **加入放置区相关逻辑** - 实现导航到放置区 - 实现物品放置流程 - 完成整个任务流程 ## 配置参数说明 ### 摄像头配置 - `resolution`: 摄像头分辨率 - `fps`: 帧率 - `exposure`: 曝光值 ### 视觉处理配置 - `line_detection`: 线条检测参数 - `threshold`: 二值化阈值 - `min_line_length`: 最小线段长度 - `max_line_gap`: 最大线段间隙 - `color_detection`: 颜色识别参数 - `red/blue/green`: 各颜色的HSV范围 - `object_detection`: 物品识别参数 - `min_contour_area`: 最小轮廓面积 - `max_contour_area`: 最大轮廓面积 ### 底盘配置 - `speed`: 默认速度 (m/s) - `turn_speed`: 默认转弯速度 (rad/s) - `line_follow`: 循迹PID参数 - `kp/ki/kd`: PID控制参数 - `target_offset`: 目标偏移量 ### 机械臂配置 - `default_height`: 默认高度 (mm) - `pick_height`: 抓取高度 (mm) - `place_height`: 放置高度 (mm) - `speed`: 移动速度 ### 夹爪配置 - `open_angle`: 打开角度 - `close_angle`: 关闭角度 - `force`: 夹持力 ### 任务配置 - `target_color`: 目标物品颜色 - `item_area`: 物品区域标识 - `drop_area`: 放置区域标识 - `max_attempts`: 最大尝试次数 - `timeout`: 任务超时时间 ## 日志系统 项目提供了完整的日志记录功能,支持不同级别的日志: - **DEBUG**: 调试信息 - **INFO**: 一般信息 - **WARNING**: 警告信息 - **ERROR**: 错误信息 - **CRITICAL**: 严重错误信息 日志文件按日期保存在 `logs/` 目录下,文件名格式为 `gomerx_YYYY-MM-DD.log`。 ## 常见问题 ### 1. 摄像头无法打开 - 检查摄像头连接 - 确认摄像头权限 - 尝试更改分辨率参数 ### 2. 线条识别不准确 - 调整线条检测参数 - 确保引导线与地面颜色对比强烈 - 检查光照条件 ### 3. 物品识别失败 - 调整颜色识别参数 - 确保物品颜色单一且鲜明 - 检查物品大小是否在识别范围内 ### 4. 机械臂控制异常 - 检查机械臂连接 - 调整机械臂参数 - 确认运动范围 ## 技术支持 如需技术支持,请参考: - GomerX SDK 官方文档: http://sdk.glitech.com/ - 项目代码仓库 - 问题反馈渠道 ## 许可证 本项目遵循 MIT 许可证。