我爱方案网
44人浏览/7人投稿
18天前
待托管赏金
项目名称
BlueROV2标准8推进器姿态控制系统开发
项目背景
为实现水下遥控机器人(ROV)在复杂洋流环境中的稳定悬停与精准姿态控制,需开发一套嵌入式控制程序。系统核心为Arduino Due微控制器,搭配JY901S 9轴IMU传感器,驱动8个推进器实现六自由度(6-DOF)全向运动控制。目标为实现俯仰、横滚、航向角的闭环稳定控制,作业时要有自稳,定深,定姿态等几种常用控制模式,响应时间≤100ms,稳态误差≤2°。
现有硬件平台,主控平台使用 Arduino Due(ARM Cortex-M3,84MHz),利用其10路硬件PWM输出(引脚:2~13,其中8路用于推进器,2路预留)。IMU传感器采用 JY901S 传感器,通过 TTL(地址0x51) 与主控通信,输出格式为:俯仰角(Pitch)、横滚角(Roll)、航向角(Yaw),单位:度,精度±0.5° (已正确读取所需数据,可直接用)。
技术要求
模块
具体要求
姿态解算
根据IMU传感器JY901S读数,融合加速度计与陀螺仪数据,消除积分漂移,输出四元数或欧拉角,采样频率≥100Hz,给姿态控制算法用,另外要做前馈姿态预估算法,提高系统的鲁棒性。
控制架构
参照四层串级PID控制:
1. 外层:目标姿态 → 姿态控制器(PID)
2. 中层:角速率设定 → 角速率控制器(PID)
3. 内层:混控器(Motor Mixing)→ 输出8路PWM信号
4. PWM频率:50Hz,脉宽范围:1000~2000μs,对应推进器0~100%推力
推力分配
支持标准8推进器布局(4水平+4垂直),需实现非对称推力分配矩阵,确保偏航、升降、前后、侧移、俯仰、横滚独立可控,避免推力冲突
稳定性要求
在无外部扰动下,姿态角漂移≤1°/分钟;在3节水流扰动下,能自动恢复至设定姿态,恢复时间≤3s
代码规范
能使用标准Arduino IDE开发最好,不熟悉Arduino也可以用C C++给出完整的算法实现代码,注释要完整,函数模块化,逻辑结构清晰。
交付成果
l 完整可编译的Arduino工程文件(.ino) 或C文件
l 传感器校准与PWM输出标定文档(含测试数据)
l 控制逻辑流程图与推力分配矩阵计算公式
l 系统上电自检与故障报警机制说明
l 10分钟内系统运行演示(需展示静态悬停、姿态旋转、抗扰恢复等功能)
优先条件
l 有ArduSub或PX4开源飞控开发经验者优先
l 曾完成ROV/水下机器人项目者优先
l 能提供JY901S + Arduino Due实际运行案例者优先
验收标准
1. 上电后IMU数据稳定,无跳变或死机
2. 手动输入姿态指令,系统能准确跟踪,无超调
3. 连续运行30分钟无姿态漂移累积
4. 8路推进器运行平滑,无高频抖动等机械损伤风险。
备注:请勿使用第三方库进行黑箱封装,所有算法需为自研或开源可验证实现。若不熟悉Arduino IDE编程,也可以用C语言给出完整的控制算法程序,函数形参接口等前期做好沟通。项目周期建议≤10天。