我尝试构思几个实验内容,以便有兴趣的老师们更好的理解小车底盘作为实验装置的特点和优势。
所构思的实验内容是受到《乐高组件和ROBOLAB软件在工程学中的应用》一书的启发,此书为乐高中国代理推荐。
如您是相关专业老师,对此感兴趣,可与我联系(微信:嵌入之梦),可送两套小车底盘供尝试。
实验1:走指定距离
1、实验内容
编程使得小车以最快速度走完指定距离,距离值在900~1100mm内任意设置。按小车最快速度(使用4节镍氢充电电池,100% PWM时)对应走完设定距离的时间为最佳时间,为避免出现负值,可适当减小最佳时间。
2、评价标准
A)不得超过指定距离,超出则判不合格;
B)距离分,计算方式为:设定距离 – 实际行走距离
C)速度分,计算方式为:实际使用时间 – 最佳时间
距离单位:mm,行走时间单位:0.1秒
最终结果:距离分和速度分之和越小,成绩越好。
3、实验要点
A)要控制小车能走直线,两轮差分驱动方式走直线是一个挑战。
B)要正确的控制小车的速度,且准确的知道自己小车的停车惯性。
C)要准确采集码盘反馈,确保记录的距离准确,尽量通过程序减小误差。
——————————
实验2:操练
1、实验内容
使用蓝牙模块实现和PC通讯,利用Arduino IDE串口监视器发一组动作命令给小车,例如:
动作:原地左转90度 ; 命令:ML1-L90
动作:原地右转 180度; 命令:ML1-R180
动作:前进200mm; 命令:ML2-F200
动作:后退200mm; 命令:ML2-B200
编程使得小车响应上述命令,并准确执行。
命令定义仅供参考,因为使用Arduino IDE的串口监视器发送命令,故使用简单的文本命令,字符“ML”作为命令标识,后续序号为命令代号,暂定2个:
1 —— 原地转动,后续参数为:字母说明转动方向,数字说明转动角度。
2 —— 直线行走,后续参数为:字母说明运动方向,数字说明运动距离。
可根据需求自己定义。命令用回车、换行结束。
2、评价标准
在小车运动区域画一直角坐标系,小车初始位置位于原点,前进方向正对Y轴正向。
执行完所有命令后,根据小车距原点的距离判断,距离越小成绩越好。
距离单位:mm
3、实验要点
A)能准确接收串口命令,正确理解并执行。
B)顺序、正确、准确完成各动作命令。
——————————
实验3:君子之吻
1、实验内容
两辆小车相距指定距离(900~1100mm范围内随机指定),相向而行,以最快速度走到相互间距10mm的位置,不可以后退。
两辆小车可以相互通讯,告知各自走的距离。
通讯方式可以选择常用的无线通讯模块,如:24L01(此模块已很便宜)。或者使用红外发光二极管和红外遥控接收器。
2、评价标准
两辆小车运动结束后,测量两小车前部中心距离,记录运动时间。
1)如距离小于10mm或相互触碰,则判不合格。
2)实际相距距离– 10mm,距离越小分数越高
3)距离相等时,用时越短分数越高。
3、实验要点
A)要求能双向通讯,因为所选通讯是半双工方式,故要求双方约定相应的通讯协议,以提高通讯效率,减小由于通讯延时带来的行走误差。
B)如选择24L01,将使用硬件SPI接口作为加分项。
C)如选择红外发射及红外遥控接收器,将合理封装收发功能,构建类似于串口的发送、接收函数作为加分项。
——————————
实验4:避障绕行
1、实验内容
在小车运动正前方(200~400mm)设置一个宽度10cm的障碍物,要求小车碰到障碍物后,能完成绕行,完成(900~1100mm)的总行程。
检测是否碰到障碍使用小车的电机电压、电流检测,基于电机电流随负载而变化的原理。
2、评价标准
1) 小车停止运动后,小车中心距设定终点的距离为评判标准,距离越近越好。
2) 距离相等时,用时越短分数越高。
3、实验要点
A)检测自身小车的物理特征,以便了解小车触碰障碍后不能前行时的电机电流变化。
B)了解电机供电电压对电机供电电流的影响,避免因此而误判。
C)确定合适的PWM,以提供给小车合适的驱动力,避免由于驱动力矩过大,小车遇到障碍后车轮打滑,无法判断是否被障碍阻拦。
——————————