huangyiting1990 发表于 2020-9-4 15:29:01

哪位有遥控器摇杆斜率算法? 能否指点一下?

如题 , 自己DIY 四轴一个遥控器 , 想做一个类似OPENTX 这种的摇杆斜率可自定义 。奈何 C++ 功底不行 ,看不懂源码。 实在是没法从OPENTX 源码中摘出算法。
有哪位有了解这种摇杆斜率算法的,能否指点一下,或者其他开源 遥控器推荐一下?

如下图这种摇杆斜率
   

huangyiting1990 发表于 2020-9-4 15:53:02

自己顶一下

Himem 发表于 2020-9-4 17:14:13

代码里关键词搜一下不就找到了
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:29:04

本帖最后由 huangyiting1990 于 2020-9-4 17:55 编辑

PS : 更新 不同 K值下 对应的曲线。

我用 EXCEL 按源码中的算法描了下点, 感觉和实际遥控器的曲线不太一致。 {:smile:}

zhiwei 发表于 2020-9-4 19:41:18

这个液晶字体看起来很高科技的样子。。。

Himem 发表于 2020-9-4 20:17:06

本帖最后由 Himem 于 2020-9-4 20:18 编辑

huangyiting1990 发表于 2020-9-4 17:29
PS : 更新 不同 K值下 对应的曲线。

我用 EXCEL 按源码中的算法描了下点, 感觉和实际遥控器的曲线不太一 ...

负K呢? 或是输入输出反过来?

huangyiting1990 发表于 2020-9-4 20:43:58

zhiwei 发表于 2020-9-4 19:41
这个液晶字体看起来很高科技的样子。。。

资本主义社会嘛 , 关键这还是人家开源的东西。
跟我们社会主义追求不一样

huangyiting1990 发表于 2020-9-4 20:45:52

Himem 发表于 2020-9-4 20:17
负K呢? 或是输入输出反过来?

刚刚试了一下K = 0 -> K=0.1 -> K = 1 -> K= 10(把K值变化区间缩小 10 倍)    这段的变化趋势和 OpenTX 控上的斜率 就比较像了。   

恋芜 发表于 2021-3-24 19:02:30

我自己测试的,将摇杆阻值拟合成三次函数的,在最大和最小值端附近梯度下降的特别快,表现为这些值会跳变非常严重,拟合成二次函数会好一点
页: [1]
查看完整版本: 哪位有遥控器摇杆斜率算法? 能否指点一下?