哪位有遥控器摇杆斜率算法? 能否指点一下?
如题 , 自己DIY 四轴一个遥控器 , 想做一个类似OPENTX 这种的摇杆斜率可自定义 。奈何 C++ 功底不行 ,看不懂源码。 实在是没法从OPENTX 源码中摘出算法。有哪位有了解这种摇杆斜率算法的,能否指点一下,或者其他开源 遥控器推荐一下?
如下图这种摇杆斜率
自己顶一下 代码里关键词搜一下不就找到了
float c9xexpou(float point, float coeff)
{
float x = point*1024.0/100.0;
float k = coeff*256.0/100.0;
return ((k*x*x*x/(1024*1024) + x*(256-k) + 128) / 256) / 1024.0 * 100;
}
float curveExpo(float x, float coeff, float yMin, float yMid, float yMax)
{
float a = (yMax-yMin) / 100.0;
x += 100.0;
x /= 2.0;
if (coeff >= 0) {
return round(c9xexpou(x, coeff)*a + yMin);
}
else {
coeff = -coeff;
x = 100 - x;
return round((100.0 - c9xexpou(x, coeff))*a + yMin);
}
} 本帖最后由 huangyiting1990 于 2020-9-4 17:55 编辑
PS : 更新 不同 K值下 对应的曲线。
我用 EXCEL 按源码中的算法描了下点, 感觉和实际遥控器的曲线不太一致。 {:smile:} 这个液晶字体看起来很高科技的样子。。。 本帖最后由 Himem 于 2020-9-4 20:18 编辑
huangyiting1990 发表于 2020-9-4 17:29
PS : 更新 不同 K值下 对应的曲线。
我用 EXCEL 按源码中的算法描了下点, 感觉和实际遥控器的曲线不太一 ...
负K呢? 或是输入输出反过来?
zhiwei 发表于 2020-9-4 19:41
这个液晶字体看起来很高科技的样子。。。
资本主义社会嘛 , 关键这还是人家开源的东西。
跟我们社会主义追求不一样 Himem 发表于 2020-9-4 20:17
负K呢? 或是输入输出反过来?
刚刚试了一下K = 0 -> K=0.1 -> K = 1 -> K= 10(把K值变化区间缩小 10 倍) 这段的变化趋势和 OpenTX 控上的斜率 就比较像了。 我自己测试的,将摇杆阻值拟合成三次函数的,在最大和最小值端附近梯度下降的特别快,表现为这些值会跳变非常严重,拟合成二次函数会好一点
页:
[1]