# VEXCode **Repository Path**: shadow-in-the-west/vexcode ## Basic Information - **Project Name**: VEXCode - **Description**: 南京理工大学VEX代码仓库 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: big - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-03-01 - **Last Updated**: 2026-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 南京理工大学VEX 机器人自动控制库 ## 项目简介 本代码库为 VEX V5 机器人提供了一套完整的自动控制解决方案,包含运动控制、传感器集成、机械结构控制等功能模块。支持通过编码器/IMU 实现精准运动控制,提供多种运动模式(定时移动、位置控制、角度转向等),适用于 VEX 竞赛中的自主编程需求。 ## 主要功能模块 ### 1. 运动控制函数 - **定时前进**:`timerForward()` 实现带加速/减速的直线运动,通过编码器修正方向偏差。 - **位置控制前进**:`distanceForward()` 基于编码器计数的精准位置控制,支持 PID 微调。 - **转向控制**:`turnTo()`(IMU)、`turnTo_noGyro()`(编码器) 提供基于 IMU 和编码器的两种转向方案,支持粗调+PID 精调。 - **复合运动**:`forwardToPos()` 结合转向与前进,实现坐标点间移动。 ### 2. 传感器集成 - **IMU 处理**:`IMUHeading()`、`resetHeading()` 提供航向角计算与校准功能。 - **编码器数据处理**:运动控制函数中自动集成编码器反馈。 ### 3. 机械结构控制 - **气缸控制**:`fold()`/`unfold()` 控制折叠/展开机构。 - **电机开关**:`motorSuckPressed()`、`motorTransmitPressed()` 带状态记忆的电机启停控制。 ### 4. 底盘控制类 - **Chassis 类**:封装电机控制逻辑 支持手动/自动速度合成、刹车模式设置、实时差速计算。 ## 代码结构说明 ├── auto-functions.cpp # 自动控制核心函数(运动控制、传感器处理) ├── chassis.cpp # 底盘控制类实现 ├── controller.cpp # 控制器输入处理 ├── PID.cpp # PID 控制算法实现 └── usercontrol.cpp # 手动控制模式逻辑 。。。待补充 ## 关键函数说明 ### 运动控制示例 // 定时前进(50%功率,持续2秒) timerForward(50, 2000); // 转向绝对角度(使用IMU,目标角度90度) turnTo(60, 90); // 移动到指定坐标点(功率80%,目标坐标(50,50)) forwardToPos(80, Point(50,50)); ## 传感器使用示例 // 获取校准后的IMU航向角 double heading = IMUHeading(); // 重置IMU基准 resetHeading(); ## 机械控制示例 // 气缸启动 fold(); // 启动传送带电机(带状态记忆) motorTransmitPressed(); ## 使用说明 硬件配置 在 robot-config.h 中配置电机端口、传感器类型等硬件参数。 ## 参数调整 在 parameters.h 中修改运动控制参数(未来)。 ## 功能集成 在自主程序 (autonomous.cpp) 中调用控制函数,在手动控制 (usercontrol.cpp) 中组合使用。 ## 注意事项 传感器校准 首次使用需校准 IMU 编码器计数需根据实际轮径/齿轮比调整转换系数,但目前公式出错,是测的 ## 线程安全 运动控制函数内部已集成线程休眠 (this_thread::sleep_for),避免在主循环中重复调用。 ## 性能优化 调整 REFRESH_TIME(控制循环周期)以平衡响应速度与CPU负载。 PID 参数需根据实际机械结构微调。 ## 扩展建议 增加路径规划:集成路径跟踪算法实现复杂轨迹。 视觉反馈:结合 VEX Vision 传感器实现目标追踪。(aivision缺货) 状态机控制:通过有限状态机管理自主程序流程。 # 外界通信 接口:rs485 # 版本 readme.md:v0 created by wcm