智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1722|回复: 2
打印 上一主题 下一主题

[控制类] 控制舵机的算法,我这样写: 代码如下,为啥这样写舵机不打角呢,是哪里出问题了

[复制链接]

53

主题

156

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1167
威望
646
贡献
255
兑换币
327
注册时间
2015-11-16
在线时间
133 小时
毕业学校
光明
跳转到指定楼层
1#
发表于 2016-4-15 09:50:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

把一场图像均分分成三份(总共60行,分为远,中,近,各20行),然后分别求三份的偏差;然后把这三个偏差的均值分别乘以不同的系数,然后相加,得到舵机打角的偏差,然后输出,
我的这个思想正确吗?为啥我不管把系数调多大,舵机抖不打角,,代码如下
        uint8 i,jin = 0,zhong = 0,yuan = 0;
        uint8 img_yuan = 0,img_zhong = 20,img_jin = 40;
        short int Angle_error_jin = 0,Angle_error_zhong = 0,Angle_error_yuan = 0;
        short int Angle_error = 0,Steer_out = 0;
        for(i = 59;i >= img_jin;i --)                    //距摄像头进的20行数据的偏差
        {
                Angle_error_jin += (center[i] - 39);
                jin++;
        }
        Angle_error_jin /= jin;
        for(i = img_jin - 1;i >= img_zhong;i --)          //距摄像头远的20行数据的偏差
        {
                Angle_error_zhong += (center[i] - 39);
                zhong++;
        }
        Angle_error_zhong /= zhong;
    for(i = img_zhong - 1;i >= img_yuan;i --)         //摄像头图像中间进的20行数据的偏差
        {
                Angle_error_yuan += (center[i] - 39);
                yuan++;
        }
        Angle_error_yuan /= yuan;
        Angle_error = 3*Angle_error_jin + 6*Angle_error_zhong + 3*Angle_error_yuan;
        Steer_out = 200*Angle_error;
        if(Steer_out > 1600)
          Steer_out = 1600;
        if(Steer_out < -1600)
          Steer_out = -1600;
        ftm_pwm_init(FTM1, FTM_CH0,100,5400 +  Steer_out);

回复

使用道具 举报

10

主题

545

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5757

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
2692
贡献
1741
兑换币
1789
注册时间
2014-3-16
在线时间
662 小时
毕业学校
菏泽学院
2#
发表于 2016-4-15 12:09:57 | 只看该作者
这60行的数据都是有效的吗。
回复 支持 反对

使用道具 举报

53

主题

156

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1167
威望
646
贡献
255
兑换币
327
注册时间
2015-11-16
在线时间
133 小时
毕业学校
光明
3#
 楼主| 发表于 2016-4-15 13:03:58 | 只看该作者
第109位梁山好汉 发表于 2016-4-15 12:09
这60行的数据都是有效的吗。

额,没计算有效行,但前面20行应该都有效吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|亿加合和智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-5-6 21:45 , Processed in 0.069215 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表