初级会员
- 积分
- 111
- 金钱
- 111
- 注册时间
- 2017-2-20
- 在线时间
- 55 小时
|
40金钱
我理解的定高的一键起飞的过程是这样的
首先就是气压计与Z轴加速度得到实际高度
sensorsAcquire(&sensorData, tick); stateEstimator(&state, &sensorData, tick);
然后判断飞行模式和得到遥控器数据setpoint->thrust = 0;setpoint->isAltHold = true;setpoint->velocity.z = (rawThrust - 32768.f) / 32768.f;这里就有疑问了,在定高的一键起飞的情况下,这个rawThrust=0
那么在后面进行定高PID里面axis->setpoint = input + START_HIRHT;axis->setpoint += setpoint->velocity.z * dt;这里怎么得到期望高度了
卡在这里大半个月了,自己下原子的代码来飞定高效果还是不错的,我自己想直接写四轴的代码实现一键起飞,就只能在地面打转勒
有看懂的小伙伴吗 救我于水火之中呀 卡在这里好难受
|
最佳答案
查看完整内容[请看2#楼]
定高模式是速度模式,默认油门50%,高度来自Z轴速度积分,你的飞机飞不起来,应该是忽略了基础油门值这个地方,Minifly默认基础油门值36000(55%的样子),这个基础油门值,会在飞行过程中实时自动调整,它有个范围限制(28000~40000),如果是你自己的飞机,你得考虑下这个基础油门值和最大值,能否让你的飞机飞起来,如果飞不起来,可以适当增大这个值。
|