# 机械臂前端三轴 **Repository Path**: ibst/tri-axial-end-effector ## Basic Information - **Project Name**: 机械臂前端三轴 - **Description**: RM工程机械臂 - **Primary Language**: C - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-07-16 - **Last Updated**: 2025-07-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: 机械臂, RM, 2006, foc, 控制 ## README # 机械臂前端三轴 ## 介绍 这是一个为三轴机械臂前端设计的控制软件项目,适用于与 DJI 电机(如 M3508、M2006、M6020)配合使用,提供多种控制模式,包括速度控制、位置控制、扭矩控制及其组合控制模式。此外,项目还集成了吸盘控制模块,用于实现机械臂的抓取和释放功能。 ## 软件架构 该项目基于嵌入式系统开发,主要模块包括: - **电机控制模块**:实现了对 DJI 系列电机的 PID 控制、速度、位置、扭矩控制。 - **吸盘控制模块**:用于控制吸盘的执行动作,具有初始化、回调和执行函数。 - **PID 控制模块**:提供了 PID 初始化和控制逻辑,用于精确控制电机行为。 ## 安装教程 1. 下载本项目代码到本地开发环境。 2. 确保您的硬件平台支持 CAN 总线通信,并具备与 DJI 电机兼容的微控制器。 3. 配置 CAN 接口与硬件连接。 4. 将代码导入您的开发工具(例如 Keil、IAR 或 STM32CubeIDE)。 5. 编译代码并烧录到目标设备。 ## 使用说明 ### 电机控制功能 - 初始化电机控制器: ```c void motor_ctrl_init(DJI_Motor_ControlTypeDef* motor, uint8_t motor_type, CAN_HandleTypeDef* hcan, uint8_t MOTOR_GROUP); ``` - 使用 MIT 模式控制电机: ```c void motor_MIT_ctrl_init(DJI_Motor_ControlTypeDef* motor, uint8_t motor_type, CAN_HandleTypeDef* hcan, uint8_t MOTOR_GROUP); ``` - 控制电机的速度、位置和扭矩: - `speed_ctrl`: 控制四个电机的速度。 - `position_ctrl`: 控制四个电机的位置。 - `torque_ctrl`: 控制四个电机的扭矩。 - `MIT_ctrl`: MIT 模式下对单个电机进行位置和扭矩控制。 ### 吸盘控制功能 - 初始化吸盘控制: ```c void sucker_init(sucker_dataTypeDef* sucker, int roll_speed, int pitch_speed); ``` - 执行吸盘控制逻辑: ```c void sucker_exe(); ``` ## 参与贡献 欢迎参与本项目的开发与测试,您可以: - 提供代码优化建议,提高控制精度和稳定性。 - 增加新功能,如传感器反馈控制或高级路径规划。 - 报告 Bug 或提交 Pull Request 来改进文档或代码。 ## 特技 - 多种控制模式支持,适应不同的机械臂应用场景。 - 结构清晰,便于移植和扩展。 - 提供详细的 PID 控制逻辑,支持参数灵活配置。 M3508配置代码参考:https://gitee.com/ibst/robomaster-motor-upper-drive DBUS配置代码参考:https://gitee.com/jingyuancode/rm_dbus > 本项目目前仅提供基础框架,具体控制参数和功能需要根据实际硬件进行调整。