工程机器人——光电搬运车

一.比赛地图
这里写图片描述
二.比赛任务
这里写图片描述
三.需求分析
1.驱动用MG965 360度舵机
2.小车是通过黑线来循迹的,可以用红外传感器来循迹,但在实际场地测试后发现,红外传感器根本无法循迹(实际场地用的是厚的那种塑料纸,产生光学上的折射等,),重新选用了灰度管(输出是模拟量,循线+计数);
3.转弯用mpu6050传感器,通过z轴的值来旋转0~360度任意的角度;
4.彩色物料的识别,可以用颜色识别传感器TCS230颜色识别;
5.用3144霍尔传感器来控制转盘

四.各模块技术细节
主控板用:ARM M-4 k60
1.pwm控制舵机转动,注意占空比的精度调到最大,不然驱动不了舵机,频率最好调到100
这里写图片描述
这里写图片描述
2.循迹前根据场地的实际情况,调节灰度管的阈值,二值化
这里写图片描述
3.循迹算法采用pd即可达到循线走
在场地地图上测量小车在直线中间,偏右,偏左时的情况,并给定不同等级的偏差
这里写图片描述
采用增量式pid
这里写图片描述
通过拟合P和D的值,可以循线走
4.mpu6050通过控制z轴就可以获得左右转动的角度,为方便,把角度处理到0~360度,
转弯采用的方法: 2轮子保持绝对静止转弯保持绝对静止
注意mpu 6050 在上电的会有0度漂移,要软件处理 这里写图片描述
5.路径规划
用单独的一个灰度管来计数黑线,如果一条一条数,发生了数错将特别容易错误。才用的方法是:数中心到外面的线,和外面到中心,不同点之间的黑线数目这里写图片描述
这里写图片描述

6.颜色传感器来识别物块
这里写图片描述
7.搬运物料
用5个舵机分别控制5个竖立的钩子分,在顶端控制整个转盘的转动来控制物块 这里写图片描述
效果:
小车通过这些模块,能完成基本的需要动作,还有有些细节的东西,需要根据现场环境来调试, 比如有时候循线的时候出现了意料外的情况,这时的,得测量具体的采集数据来,来做出具体的控制,搬物块的时候,好多细节都要测量后来具体解决。

小结:
1.硬件方面:
1>首先是各种元器件的选择,实现功能的方法有很多种,需要选择处恰当的器件,比如稳压模块,5v稳压模块选择,是选择2940还是2596了?
2596的电流比较大,2940的电流小,控制舵机模块就得用2596,最好是2个2596并起来,这样2个舵机更有力。给mcu供电的是3.3v,就用2940,稳压到5v,再用1117稳压到3.3v,这样主控板就不会弄坏;
2>个轮子选择旋转电机还是360连续旋转舵机了?
选择电机控制,就相当于对轮子开环控制了,选择舵机控制就是闭环控制。在控制中能用状态量就不要用延时来达到所需状态;能用闭环就不用开环;
2.软件方面:
1>程序的书写格式规范一点,这样调试起来看的舒服一点;
2>把程序不要写死,尽量定义用含参数的函数,这样修改调试起来就方便多了;
3>如果写步骤过程的话,尽量不要一个标准位,从1用到100,这样看起来会累死人,在一个子程序里面用标志位来控制什么时候这个程序的执行。
4>多用数组这样比较高级一点的数据处理,这样后面处理起来多种使用的时候,数组的嵌套方便多了。

猜你喜欢

转载自blog.csdn.net/zjq_5586288/article/details/80148411