驱动小车
利用双直流电机驱动小车,使小车前进、后退、左转、右转。
实验清单
Romeo、USB数据线、探索者小车、外接电源
当控制板与计算机通过USB数据线连接时,控制板由计算机供电。由于数据线的长度或其他因素影响机器人运作时,需拔出数据线,此时可以为控制板连接外接电源为其供电。
探索者小车
探索者小车由车体、Romeo、直流电机、驱动车轮、万向轮、超声波传感器、巡线传感器和碰撞传感器组成,如下图所示。探索者小车采用双驱结构而非四驱驱动,以简化结构和节约成本;另外在小车底部安装有万向轮以便保持小车的平衡和稳定行驶。
双轮差速原理
机器人小车的运动方式有很多,最基本的动作是前进、后退、转弯。此时需要利用双轮差速原理来实现。简单来说,双轮差速原理就是通过控制左右车轮速度的差值和方向来控制小车的运动。比如,小车左右两个车轮的转速与转动方向均相同时,小车能够前进或者后退,两个车轮的转速相同而方向相反时,小车就会原地转圈,两个车轮转动方向相同转速不同时,小车的行驶方向就会发生变化,当某一侧车轮的转动速度比另一侧的慢时,小车的行驶方向就会偏向慢速一侧。如下图所示,三幅图中,车轮旁边的细箭头代表车轮的运动方向,箭头的长短代表车轮的转速;车轮上方的粗箭头代表小车的行驶方向。
控制小车的运动
Mind+中控制小车运动的模块有两种,它们位于"Romeo"中。第一种如下图所示,可以直接通过机器人模块设置小车运动的速度及运动的方向。
第二种用电机模块控制小车前进,当M1和M2的值均为正时,两个车轮的运动方向一致向前,参考程序如下图所示。
测试程序运行效果时,如果车轮转动方向不一致,则需交换其中一个电机的转动方向。
要使小车右转弯或左转弯,只需利用双轮差速原理设置车轮转动时间和差速值即可。如下图所示的程序中,M1接线柱连接左车轮电机,M2接线柱连接右车轮电机,小车先前进2秒,再右转弯1秒。因为主程序通电启动后一直循环执行,则小车前进2秒右转后会继续前进2秒再右转弯,并一直循环下去,直到断电为止。
实现过程
(一)直流电机与Romeo的连接
准备器材,利用USB数据线连接Romeo与计算机,将两个电机分别接在Romeo的两个接线柱上,如下图所示。其中,左车轮电机连接M1接线柱,右车轮电机连接M2接线柱。接线之后,测试使用电机运行模块时两个电机转动方向是否一致。
(二)编写程序
假设需要让小车先前进2秒,再后退2秒,左转弯1秒后再前进2秒,右转弯1秒后继续前进2秒,然后停止运动5秒,那么,参考程序如下图所示。
(三)测试效果
为Romeo连接外接电源,检查程序并上传,程序上传成功后拔掉数据线。观察小车的运动是否符合预期,可根据小车的实际运动情况修改程序中参数,以改进运行效果。
拓展提升
通过本实验的学习我们已经知道小车不仅能够前进、后退、左转、右转,还能够原地转圈。请将小车不同的运动形式进行组合,让小车表演一段舞蹈秀。比如:先让小车向右转一整圈,然后再让小车向左转一整圈,循环执行,那么小车的运动轨迹就是一个8字舞蹈秀。
评论