文章目录[隐藏]
这是一个简单的避障机器人,所谓“避障”即避开障碍物,实际上就是遇到障碍物时会转弯掉头。
以下为效果视频,为了拍摄方便是放在一个小盒子里的,由于地方窄动作也比较快,如果放在地上则会满屋子跑,怎么追都追不上。因此得名—疯狂的小强。
1 基本原理
本项目的避障机器人采用三轮传动结构:前面左右两边的两个轮子是主动轮,各接一个电机作为动力;后轮是从动轮,起到平衡的作用。
1.1 运动机理
控制前面两个轮子的转动方向就可以控制整个机器人行进的方向:
1、左右两个前轮都向前转,则机器人向“正前方”直线前进;
2、左右两个前轮都向后转,则机器人向“正后方”直线倒退;
3、左前轮向后转,右前轮向前转,则机器人将以后轮为轴心逆时针转动,即实现向“右后方”转弯倒退;
4、左前轮向前转,右前轮向后转,则机器人将以后轮为轴心顺时针转动,即实现向“左后方”转弯倒退。
1.2 控制原理
在机器人的头部用钢丝做两根触须,一左一右各连接到一个碰撞开关,分别控制两个前轮的旋转方向。
特殊注意一下,左右触须与对应控制的电机是交叉过来的,即:左边的触须连接右边的碰撞开关,控制右边的电机;右边的触须连接左边的碰撞开关,控制左边的电机。
(1)无障碍物
当前方都没有障碍物,左右两个轮子都向前正转,则机器人向“前方”直线前进。
(2)左前方有障碍物
当左前方有障碍物,在左边触须碰到障碍物时,控制右边的轮子反转,则机器人向“左后方”倒退并转弯,即方向转向了障碍物的右边,从而避开了左边的障碍物。
向后倒退转弯会持续一会,在完成转弯之后,左边触须不再碰到障碍物,则两个轮子都正转,机器人继续向新的没有障碍物的“前方”直线前进。
(3)右前方有障碍物
当右前方有障碍物,在右边触须碰到障碍物时,控制左边的轮子反转,则机器人向“右后方”倒退并转弯,即方向转向了障碍物的左边,从而避开了右边的障碍物。
向后倒退转弯会持续一会,在完成转弯之后,右边触须不再碰到障碍物,则两个轮子都正转,机器人继续向新的没有障碍物的“前方”直线前进。
(4)正前方有障碍物
当正前方有障碍物,左右两边的触须都会碰到障碍物,控制左右两边的轮子都反转,则机器人向“正后方”倒退,从而避开障碍物。
在直线倒退持续了一会后,左右两边的触须都不再碰到障碍物,则两个轮子都正转又变成直线前进;然后又会遇到正前方的障碍物又会直线倒退,再直线前进……如此反复变成一个死循环。
在以上视频中,我们也可以看到这一有趣的一幕,机器人连续几次反复撞上“墙壁”,最后还是会重新转向另外的方向。
理论上会出现以上这样的问题,但是实际上并不会,因为无论是左右轮的摩擦系数有所差异,还是左右两组电机的驱动功率有所差异,或是左 右两组电机的电源的电量有所差异,又或是障碍物左右两部分表面的光滑程度有所差异,都会导致实际上左右两边的触须碰到障碍物有一个时间差,都无法做到两边 轮子同时反转,也就是说向后倒退的时候不是完全的直线而是会有所偏移。而且即便第一次是直线后退,但在往复几次碰撞之后肯定会出现偏移,最终解除循环避开 障碍物向新的方向前进。
1.3 电路原理
本项目的电路非常简单,由一个最基本的电学电路组成。
1、机器人的动力是由两个直流电机提供的,众所周知,直流电机的两个电极连接直流电源,通过改变两个电极所连接电源的正负极,可以改变电机的旋转方向(顺时针或逆时针)。
2、电源为两节7号电池,每节电池作为一个独立的供电单元,每个电机某一时刻只有一节电池为其供电。如果前进时是一节电池供电,后退时则是另外一节电池以相反电流的方式供电。
3、通过三引脚的碰撞开关,可以控制电机采用哪一单元的电池进行供电,而碰撞开关则连接触须,触须被挤压则碰撞开关被触发。 下图为其中一个电机的控制原理。
4、机器人头部有两根钢丝作的触须,触须分别连接在两个碰撞开关上(注意两根钢丝对应的碰撞开关是交叉的,即:“左—右”钢丝,对应“右—左”碰撞开关)。
(1)没有障碍物时,触须没有被挤压,不触发碰撞开关,碰撞开关默认的通路,给电机供给一个“正方向”的电流,电机于是“顺时针方向”旋转。
(2)有障碍物时,触须被挤压,触发碰撞开关,碰撞开关断开默认通路,连接另外的一组通路,给电机供一个“反方向”的电流,电机于是“逆时针方向”旋转。
下图是完整的电路原理图:
2 准备工作
本项目需要的器材比较简单,主要包括:PVC线槽、小电机、电池/电池盒、碰撞开关、拨动开关、曲别针、螺丝、小齿轮/滑轮等。
3 制作过程
本项目为避障机器人,外号“疯狂的小强”,由此对机器人的各组成部分作一个划分,分别包括:上身、腹部、触须、前脚、后轮、电池、电机。
以下将按照加工的顺序,全程介绍本项目机器人的制作过程。
3.1 上身结构
首先加工上身部分,主要是上身的外壳。
拿一段PVC线槽的凹槽部分,用剪刀先大概剪下一截(大于4厘米),准备进一步加工。
在剪下的一截PVC线槽上,用钢尺量出4厘米长度,用笔换好要剪裁的痕迹。
用剪刀沿着做好的痕迹精确剪裁。
再用笔在线槽的一边槽壁上作一个痕迹,大概保留2毫米的槽壁高度。
得出如下这个形状的部件,即上身的外壳结构。
3.2 前脚结构
接下来是前脚的结构。
拿一截PVC线槽的顶盖部分,长度要大于14厘米。
用剪刀沿着顶盖槽的边上大概进行裁剪。
得到一片平整的PVC长条。用钢尺量出一块长14厘米,宽1厘米的矩形条,并用笔做好痕迹。用剪刀沿则笔做好的痕迹精确的剪裁。
得到一块长14厘米,宽1厘米的矩形条,在上面5厘米和9厘米处用笔做好折痕标记。
同样按照以上步骤,再裁一块长15厘米,宽1厘米的矩形条,并在6厘米和9厘米处用笔做好折痕标记。
用尖嘴钳沿着做好的折痕标志,弯折两条矩形条,角度大约是45度左右。
得到以下两个打折的矩形条,也就是机器人前脚的结构。
3.3 腹部结构
拿一段PVC线槽的凹槽部分,用钢尺量出9厘米的一段,并用笔做好痕迹记。用剪刀沿着笔做好的痕迹剪裁,得到以下部件。
在把凹槽两边的槽壁,留2毫米的高度,做好痕迹后用剪刀精确剪裁。
得到以下两侧带折边的PVC矩形条。之所以要保留两边的折边,是因为这样的结构比纯粹的片状结构强度更高,不容易弯曲。
如果用剪刀剪裁时折边接口上不够平整,则可以用锉刀打磨光滑。
3.4 组合上身与前脚
接下来是把上身部分和前脚部分的结构组装起来。
把之前做好的两条前脚结构,选择在5厘米和9厘米做好标志的那条。用笔在中间部分里折痕大约2毫米的地方做两个圆点标志。
小电站取1毫米左右直径钻头,对用笔做好的圆点标志进行打孔。
一周的实训中我们一共实训咯好几个项目,通过这几个项目的实训,我们掌握咯一些单片机的汇编语言和硬件调试,达到了很好的效果。
把打了孔的前脚结构按下图的样子按在上身结构上,前脚结构已经打好了孔,用笔透过打好的孔对着下面的上身结构做标记。也就是为在上身结构上打孔作准备。
据笔做好的痕迹,用小电钻对好进行打孔。
把前脚和上身组装在一起,并用M1.2*5的螺丝上好。
注意,如果小电钻的钻头直径过小,直接打出来的孔可能无法上螺丝,这个时候可以用小锥子把孔撑大。
3.5 组合上身与腹部
接下来把上身结构和腹部结构组装起来。
按照下图所示,把在上身结构中折边低的那一侧,对着腹部结构的宽度(大概2.5厘米),用笔做好痕迹。
用刻刀(或裁纸刀),对着笔做好的痕迹,把中间的折边部分去掉,并用锉刀进行打磨平整。
然后可以把腹部结构如下图那样安置,并且与上身结构部分能够贴合得比较好。 同时可以把前脚结构与上身结构的螺丝上好螺母固定起来。
如图所示在腹部结构与上身结构的结合部位,用小电钻打好三个小孔。
然后在三个小孔上用M1.2*5的螺丝螺母固定好。于是把上身结构与腹部结构组装在一起。
3.6 电池盒
安装电池盒。
把电池盒如下图所示放置在腹部结构的下面,并用笔对着电池盒上原有的小孔作好标记。
小电钻换上2毫米直接的钻头,对着笔做好的标记进行打孔。因为腹部结构的两侧有折边,所以如果直接把电池盒放置在腹部面上无法贴合紧密,所以在打好的孔上再放置垫片。
把电池盒贴合在腹部底上,用M2*5的平头螺丝以及螺母固定好。这里之所以用平头螺丝,主要是防止螺丝头太高顶出来影响到放置电池。
3.7 前脚组装
这里安装完善前脚结构。
如下图所示,在已经与上身结构组装在一起的前脚结构上面,叠上另外一条前脚结构的矩形条。
如图所示,用手握住前脚结构的一只脚,把两条矩形条叠在一起,并且把前端对齐(小手指顶住的那边)。
对齐前脚前端,大概里前端5厘米处用1毫米直径的小电钻打孔,并用M1.2*5的小螺丝固定好。
前脚结构组装完成。只要两条前脚矩形条的两侧前端都是对齐的,则可以确保两条矩形条之间有一段如拱桥一样的空隙,下面可以用于安装碰撞开关。
3.8 触须
触须作为探测前方障碍物的传感器,是实现本机器人的关键部件。
触须分为左右两边,各由一组碰撞开关、钢丝、插簧接线端子组成。
为了在较小的空间内把碰撞开关安装上,需要用尖嘴钳把如下图所示的碰撞开关的一只引脚折弯。按以上的尺寸设计如果不折弯的左右两边的碰撞开关可能会顶在一起装不下。
用尖嘴钳把一段钢丝折出如下图所示的弧度,弧宽度大概在10-13厘米左右,这个宽度决定了机器人探测目标的范围。越宽的话正面探测的范围就越大。触须的外端是一个大弧钩,避免钩住障碍物;而内端则是一个小折钩,主要用来固定。
折好一条触须后,把钢丝沿着做好的触须并在一起,再用尖嘴钳折成另一边触须。如此可以确保两边的触须基本保持一致。
原来接线端子的插口比较宽,需要改小。先用剪刀把接线端子的插口沿边缘剪掉一截。
然后再用尖嘴钳重新把接线端子的插口改小,要求正好能够插入碰撞开关的摇臂。(以下最左边为原来的接线端子,中间为改小之后的端子,右边为碰撞开关)
把钢丝触须的内端小折钩套上接线端子细的一头,应该正好能够套上,如果不合适可以适当调整触须小折钩的弯曲程度 ,然后把接线端子的折扣用尖嘴钳夹紧。把接线端子粗的一头,如下图所示套上碰撞开关。
用尖嘴钳夹紧接线端子的折口,把触须与碰撞开关连接起来。
在上身结构部分,中间三颗固定螺丝两侧,如下图所示用2毫米左右的钻头各打上一个小孔。注意小孔不要顶住腹部的电池盒,要错开偏外侧一点。
碰撞开关上有两个固定用的小孔,把碰撞开关如下图所示安装在上身结构上,并用M2*10的螺丝以及螺母固定好。注意两个碰撞开关之间夹角大概是90度左右。把螺母拧紧之后,则一个螺丝就可以把碰撞开关的位置固定好,而不需要把碰撞开关的两个固定小孔都上螺丝(即便想要上两颗螺丝也不行,因为内侧那个固定小孔的位置下面正好对着腹部安装的电池盒,无法再上螺丝)。
安装好触须和碰撞开关。调整好触须的位置,左右两边尽可能的一样。
3.9 电机
这里选的电机是微型的低电压电机(具体见之前的器材列表)。
电机的轴径只有1毫米,电机轴套上一个小齿轮(内径0.95毫米)作为车轮。
剪一小截自行车气门芯胶管,套在小齿轮上。
量一下电机的尺寸,调整前脚的长度,可以把电机放置到前脚上对比一下,大约留出比电机主体(不含轴)长度再多出5毫米的位置开始裁减前脚。
以我选择微型电机(见器材列表)来看,大概需要裁掉前脚的前端开始2.5厘米左右的一段。这里之所以开始准备前脚的结构时没有直接是裁好,主要是考虑可能各人选择电机不同导致实际所需的尺寸也不一样,大家这个可以在制作过程中根据实际选择的电机,对应好电机的尺寸再确定要裁掉多少多余的前脚部分。
在裁好后的前脚的前端部分再打孔,然后用M1.2*5的螺丝固定好,这样整个前脚就有两层PVC材料构成,即坚固也不是韧性(有弹性)。
因为一旦把电机固定上前脚之后就不好接线,可以先把电机的电极引线焊好。我选择的这款电机(见器材列表)的电机上会有一个电极的标记(有个+号) ,为便于区别可以用红黑两色的电线作为电机的引线,红的代表+号的一级。
把电机如下图所示安装好,用透明胶布包好固定住。我这里选择的电机是方形的,可以直接固定在前脚结构上。如果选择了圆形的电机,则可以考虑先用硬泡沫做垫子,装在电机与前脚结合面电机的两侧,即把空隙先填住,然后再用透明胶布才能固定稳。
3.10 后轮
后轮的支架用曲别针来制作,后轮这里我用的是一个皮带轮的滑轮,也可以用一个小珠子(具体参考前面的器材列表)。用尖嘴钳把曲别针展开,并套入滑轮。
把曲别针折成如下图所示的支架
沿着腹部,对应好腹部凹槽部分的宽度调整后轮支架。把支架直接插入腹部与电池盒之间空隙(腹部这一侧是由凹槽的,所以腹部与电池盒之间是空的),用笔作标记准备裁掉多余的部分结构,大约从腹部后端开始约3厘米左右的一段。
用剪刀裁掉腹部多余的一截,并且沿着支架的样式把腹部末端剪成梯形样式。
用502 胶水把后轮支架固定好。
安装好后轮。
3.11 整机调试
参照电路原理图,把电机、碰撞开关、拨动开关、电池等都用电线连接好。
按照之前的控制原理的说明进行调试电路,看线路是否连接正确,特别是注意电机的电机是否正确,即电机的控制效果是正确的:
1、打开拨动开关后,没有障碍物时,两个电机都是往前转动的;
2、左边触须被按压,则右边的电机反转;
3、右边触须被按压,则左边的电机反转;
4、两个触须都被按压,则两个电机都反转。
电池盒的中间引线直接焊在电池盒的两节电池的连接一极。注意焊接的时间不要过长,否则会热掉电池盒的塑料导致电极弹片脱落。
在腹部末端固定上拨动开关。为了贴合紧密,波动开关的一侧用锉刀打磨粗糙一点,然后再用502胶水固定。特别小心502胶水不要涂太多,否则有可能会渗进波动开关内部,导致开关失效。
电路连接调试没有问题,则重新调整电线的长度,缩短一点刚好合适焊接而不会多出来。再装上电池。
以下为制作好的PVC-Robot 1号机器人。