1、规则
从出发区出发,每个垄会挂载12个草莓,小车逐垄采摘草莓模型,按照采摘个数排名,并返回出发区。我将其分为两个任务。
任务一:从出发区出发,返回出发区,在途中不能触碰草莓垄。
任务二:通过夹草莓茎模型,将草莓完整地采摘下来。
2、硬件
2.1 底盘购买了酷点机器人的350*400的铝合金麦克纳姆轮底盘。
2.2 机械臂购买了幻尔的leArmj机械臂。
2.3 主控使用的是正点原子stm32f407核心板。
2.4 imu使用了维特智能的6050。
2.5 激光测距使用了gy-53。
2.6 视觉方面搭载了Jetson nano和串口摄像头(也可以使用openmv,因为仅仅使用了识别色块的功能)。
2.7 为了方便调试,特意买了一个PS2,不过效果不好总是误触发,有条件还是得买航模遥控器。
3、软件
3.1整体思路就是依靠激光测距保持小车与垄之间的距离和判断进垄和出垄的判断。陀螺仪保证小车的航偏角以及实现转弯的控制。具体逻辑以及各个设备的驱动我放在这里了。(https://download.csdn.net/download/weixin_50609262/88489262)
4、重点说一下这22天内所遇到的问题
4.1 软件问题
4.1.1 调试电机编码器时候发现同一个定时器只有一路输出为正常,经检查发现配置定时器不能写“|“的形式,要分别配置四个通道。
4.1.2 stm32f4的定时器8属于高级定时器,配置pwm波时除了与通用定时器的时钟频率不同外,还要设置 TIM_CtrlPWMOutputs(TIM8, ENABLE);
这是为了输出PWM因为它多一个寄存器,需要设置一下`。
4.2实际问题
4.2.1 冗余动作太多,浪费太多时间,需要调整延时参数,加块机械臂运动速度。
4.2.2 摄像头视野看不到偏上的草莓,需加大底盘与垄之间距离,增加摄像头视野范围。
4.2.3 刀片位置需进一步调整,保证先夹后剪。
4.2.4 使用底部的摄像头识别底盘黑线,给陀螺仪进行校准。
5、结果
最终此次比赛获得了三个二等奖,6000块钱奖金。此博客纯为了记录此次参赛,请勿网暴。