机械荟萃山庄

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2692|回复: 3

纸上谈兵---2017本科生电赛控制类题目--顶个球???

[复制链接]

41

主题

806

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12758
发表于 2017-8-20 00:50:40 | 显示全部楼层 |阅读模式
本帖最后由 回火马氏体 于 2017-8-20 00:54 编辑

                          
           作次标题党,瞎聊聊哈,我没参加这比赛,因为我在今年六月份已经不是本科生了,哈哈。先声明一下哈,上面这个视频是我从网上找的,不是我做的。今天要讨论的东西就是这种类似的,一个板,上面放一个球。这是今年8月9日开始的大学生电子大赛的题目(题目在附件里,各位先下载下来看看。放心吧,现在比赛已经结束,大家可以随意讨论)。因为我本科时大一大二都参加过这个比赛,这个月9号一个学弟问我这个咋搞,不过可惜的是他只问我机械结构咋建,没问我控制系统咋设计。哈哈,可能他觉得我是学机械的不会控制吧~~
           因为经过毕业设计的洗礼,我感觉我对自动控制原理的理解程度加深了一点,就思考了一下这个东西的控制系统如何设计。我就聊聊自己看法哈,不一定对,论坛里估计也有不少学机电的大学生,研究生以及对这方面感兴趣的朋友,大家都来聊两句!!如果我说错了,各位大侠嘴下留情,轻喷哈~附件里有题目,在看帖之前大家先看看题目。
           要想做好这个控制,机械部分的设计挺重要的。先不说结构设计的颜值高低,性能最起码稳定性得高点,要不然调试过程中机械部分出了问题,估计能哭死。我第一眼看到这个题目的时候,首先想到的是做一个类似并联机床那样的平台,把球放在上面。后来转念一想,电子比赛不可能要你搞出来那么复杂的结构。后来经过,看视频+查资料+仔细思考就发现,控制球的运动轨迹(诸如画个圆,沿某条斜线移动),说白了就是控制球X,Y方向的移动。也就是说,这个平台只需要两个自由度就可以了,用并联机床式的机构有点大炮轰蚊子了。为了简单,在这次讨论过程中,我们假定就使用上述视频里的机械结构。
          想明白球的运动轨迹其实是X,Y两个方向运动的叠加,控制系统如何设计也就显而易见了。传感器使用摄像机,给小球涂个颜色,板上四个角涂上颜色,用阈值分割,可以检测出小球。再通过在板上装陀螺仪(或者说电机上装编码器),可以检测出板的倾斜角度,这样就可以算出小球相对于板的位置。有了小球的位置,就可以设计反馈了!!庄里朋友可能对视觉如何检测这块不太熟悉,不是什么高技术,原理不难,这个帖子里大家只要知道,我们可以通过这种方式检测出球的位置就好了。
          首先,我们先讨论球在一个方向上的运动,我假设球在Y方向上被固定,只能沿X方向的一条直线运动,就是下面视频里的这种:
                  
          其实这个东西有很多人研究过的,这个学名叫“球棒系统”,有兴趣大家可以搜一下相关的论文,我的附件里那本《系统建模与仿真》里也有相关介绍。这次比赛里的板球系统,说白了就是俩正交的球棒系统线性叠加(我的个人理解,不一定对哈)。
          我们接着聊“球棒系统”,注意了,下面讨论的控制方法都是基于第二个视频的机械结构的,别搞错了哈。要控制球在棒上的位置,你首先想到的是啥??PID么??哈哈我也是首先想到了PID,关键是对啥做PID??对球的位置做PID么??如果球离目标点远,输出就大一点,离的进输出就小一点,你仔细想想,这样会超调啊,最终形成震荡。对小球的速度做PID么??速度低我输出就大,速度高我输出就小,甚至反向输出。好,这下小球估计不会震荡了,但是位置不会有静差么??所以我们在设计之前最好还是要搞明白,我们要控制什么!!!有意思,看似简单的题目,其实深入一想还是不简单的,毕竟电子设计大赛也是国家级的比赛,题目不会太简单的,但同时比赛面向本科生,题目又不会太难。那怎么办呢??哈哈,列个方程吧,棒球系统不就类似于咱们高中物理最常见的那种,斜坡上放个滑块么(如文章最后的图片所示)??只不过此处加了转动惯量,方程也简单。
                                                            ma=mg*sin(θ)-f
                                   Jα=f*r
         其中,a为球的加速度,m为球的质量,r为小球半径,g为重力加速度,f为球与板的摩擦力(在这里我们假设小球不打滑,为纯滚动,接触面也无阻尼),J为小球的转动惯量(均质球绕轴心的转动惯量为r^2*(2/5)),θ为棒与水平面的夹角,α为球的角加速度。
                                      化简,解得 a=(g*sin(
θ))*5/7
         通过方程我们可以看出,球的加速度可以通过控制棒的角度来控制,而棒的角度呢?只能通过控制电机的位置来控制。说白了,球的位置是不可以直接控制的。我们只能通过控制球的加速度进而控制球的速度,进而控制球的位置
(其实不列方程仔细想想也能明白,哈哈,列方程还直观一点)。另外,通过方程我们还能看出来,球的质量大小对加速度是无影响的。
          那么问题来了,只能控制加速度,那么怎么控制位置呢???我想起了电机的三环控制,位置环的输出作为速度环的输入,速度环的输出作为电流环的输入。在这个系统里能不能照葫芦画瓢呢??因为我整篇文章都是我的设想,我并没有有做出实物,也没有计算机仿真(仿真的话需要Adams 和 MATLAB联合仿真(参见附件《系统建模与仿真》P285),我暂时还玩不了),所以以下内容可能是错误的,不一定对,但我感觉大概思路是正确的,发这个帖子的目的是想和大家多多交流,大家有什么想法可以聊聊,欢迎大家批评指正!!
          我认为要想控制,至少要有两个闭环控制(参考了电机的三环控制,当然,球棒系统也可能需要三个环的控制,但是我认为两个闭环也可以),第一个毫无疑问是小球的位置,第二个应当是小球的速度。
          当我需要小球从A点移动到B点的时候,首先我对位置进行PD计算,我认为位置环不需要I(积分环节)但是需要D(微分环节),因为位置是有惯性的,我需要微分来"预测",微分也增加了系统的阻尼。同时,小球在运动和静止状态中,棒其实是在不断微调的,也就无所谓静态,更无所谓静差,故我认为位置环不需要I(积分环节)。至于需不需要积分,这点应该是可以在系统的模型里显示的,但是我不知道如何把多层闭环反映到的控制模型里(找了,不过没找到过资料,可能搜索的关键词不对),所以欢迎大家跟帖讨论。
          位置环输出后,把位置环的输出作为速度环的给定,其中,速度需要设定一个最大值,以防止调整过大。同理,我认为速度也是处在不断的微调之中,不需要积分环节,只用PD控制即可。即通过控制棒的角度,进而控制球的速度。速度环的输出,作为控制棒角度的电动机的位置环的输入(这句话有点绕口哈,说白了就是电动机旋转的角度和棒的角度有个对应关系)。这样,我不对加速度做闭环处理,而直接通过控制电动机旋转角度来控制球的速度。原因有二,其一,球的加速度难以获得,对位置二次差分后加速度误差比较大,滤波比较困难。其二,调试的时候,电动机位置环可以单独调试。电动机位置环调好后,整个系统只剩下了4个参数,分别是小球位置环的PD和小球速度环的PD,减小了调试的难度。
          关于“球棒系统”,目前就想到了这些,因为觉得这个题目比较有意思,我想自己思考一下,也没有查阅此类的论文,所以得出的结论正确与否,我也不知道,但我认为应该是正确的,如果是错的,就当我抛个砖,希望能引出玉来,更希望有兴趣的社友都来聊聊
           球棒系统搞定的话,题目里的“板球系统”应该问题也不大了,直线运动不必说,就是两个轴的运动,那么圆周运动呢??
圆的直角坐标方程是:X^2+Y^2=R^2。假设球初始阶段在中心的话,我们先把球移动到任意一个方向上的半径位置,先使球稳定下来,接着给球一个切向的比较小的速度,这样,球就有了位置,把当前球的X(或者Y)坐标,代入方程里,可以解出Y(X)的坐标,接着控制小球移动,同时代入当下的坐标,继续迭代,这样小球就连续跑圆周了~

附件:1,系统建模与仿真 百度网盘

http://pan.baidu.com/s/1hr9cdSw

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

41

主题

806

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12758
 楼主| 发表于 2017-8-20 00:50:41 | 显示全部楼层
本帖最后由 回火马氏体 于 2017-8-20 00:48 编辑

            可能有社友比较疑惑,为啥这篇帖子里没有用到大家常说的“数学模型”。原因呢,抛个砖吧,说的不一定对哈,轻喷:首先呢~这个系统呢反应比较快,没什么滞后环节,用不到数学模型来预测输入输出,其二这个模型可以有超调,调试过程中可以崩溃,可以无限次的调试,PID毫无疑问是最直接,最简单,最暴力的算法。其三,杀鸡焉用宰牛刀,MPC(模型预测控制)用在这里的效果不一定就会比PID好使。
           八爷在帖子里说的那个(http://www.jixietop.cn/forum.php?mod=viewthread&tid=3257
炉子既然不能精确控制,就是输出的热量你无法准确把持,那就只能是‘多烧点’,就是热量要富裕,既然富裕了,控制系统用不完,有一部分就必须回来,这就是分流,就是100%的热量里面,你取75%,进了系统,其他‘打回’,用回的这个百分比再控制燃烧器,

  而你给进系统75%的总热量,这也是个‘粗略数值’,系统到底用多少?你还是无法精确把持,这就用到‘合流系统’,就是你引一部分热量进去,发现多了,要‘掺凉水’,哈哈,

       这个段话说的应该是MPC,这个取75%应该是“模型预测”,合流系统和掺凉水 这个应该是 “滚动优化”。八爷说的这个系统应该是有很大的滞后,所以才会使用MPC(当然,除了这点肯定还有其他原因)。
          在帖子的最后,我想说一下哈,我估计咱们社区里在读大学生朋友们不少。原先咱们还在鸟巢那里的时候,civilization大侠推荐大学生朋友们参加 亚太机器人竞赛。要我说啊,还是参加电赛吧,那个亚太机器人太费钱了,大部分学校供不起,那个参加一次最少十几万软妹币,太烧钱了有的学校不给弄(比如说我本科学校)。这个电赛1000块以内搞定,学校一般给报销。再者这个电赛是全国性质的比赛,上到北京的某些名校,下到各路民办院校都参加,你们可以在参赛的过程里看看,如果自己出身不好,自己到底是不是被名校全方位碾压,如果自己出身名校,是不是在能力上确实比别人高!
         最后的最后,重申一下,这是纸上谈兵哈,我说的不一定对,但是我感觉我说的还算靠谱,说错的话轻喷,就当抛砖引玉,欢迎大家多多回帖交流!!!

回复 支持 反对

使用道具 举报

发表于 2017-8-20 17:45:55 | 显示全部楼层
先收集起来慢慢看晚上哈哈哈哈
回复 支持 反对

使用道具 举报

19

主题

2787

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
14503
发表于 2017-8-21 10:41:06 | 显示全部楼层
顶个球不算很难,对本科生来说练手正合适,我上学的时候都已经做平面二阶倒立摆了。如果自控原理学的好的话,几千块钱可以把这个项目做下来。

评分

参与人数 1威望 +3 收起 理由
回火马氏体 + 3 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|机械荟萃山庄 ( 辽ICP备16011317号-1 )

GMT+8, 2024-5-13 18:48 , Processed in 0.129103 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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