1、设计三 爬楼梯机器人一 问题的提出和分析9二 设计设备9三 模型搭建9四 程序编制和程序说明11五 调试和运行结果11设计四 两轮自平衡机器人一 问题的提出和分析12二 设计设备12三 模型搭建12四 程序编制和程序说明13五 调试和运行结果15设计五 六足机器人一 问题的提出和分析16二 设计设备16三 模型搭建16四 程序编制和程序说明18五 调试和运行结果18设计总结19 设计一 沿黑线走机器人1. 问题的提出和分析 问题:要求搭建小车,通过编写程序和合理的结构让小车可以沿着指定的黑线行走,并且在遇到障碍物的时候可以掉头。 分析:首先要解决的就是沿着黑线走,我们组选择使用提供的红外传感器
2、,将红外传感器探头向下安装在车体前方,通过对黑线的感应来控制两个电机的转速,从而达到沿着黑色曲线进行前进的效果。然后是遇到障碍物进行掉头,因为每个传感器都只有一个,所以我们使用超声波传感器,在车头安装,探头向前。在前方发现一定距离发现障碍物时命令一个电动马达停止,达到调头的功能。2. 设计设备红外传感器、超声波传感器、电动马达、可编程主机、组成小车的基本组件。3. 模型搭建我们采用的是传统的四轮小车构造,两轮驱动,在四个轮子的框架上放置主机,并通过在主机侧面放置一些组件来固定两个传感器,如图所示,沿黑线走机器人4. 程序编制和程序说明程序编制:#pragma config(Sensor, S1
3、, sonar, sensorSONAR)#pragma config(Sensor, S4, light, sensorLightActive)#pragma config(Motor, motorA, b, tmotorNXT, PIDControl, encoder)#pragma config(Motor, motorB, c, tmotorNXT, PIDControl, encoder)/*!Code automatically generated by ROBOTC configuration wizard !*/task main() int bian=SensorValuel
4、ight;while(1) /if(40SensorValuelight & SensorValuelight50) /motorb=30; / motorc=30; /if(bian+5SensorValuelight) motorb=15; motorc=0; else if(SensorValuelightbian-5) motorb=0; motorc=15; else motorb=30; motorc=30;if(SensorValuesonar30) motorb=30; motorc=-30;wait1Msec(2400); 程序说明:首先设置主机上每个电机以及传感器对应的接口
5、,超声波传感器s1,红外传感器s4,电机A在b,电机B在c。当感应到黑线在指定范围的时候,两个电机的速度都是30,前行。当感应到小车偏离黑线的时候,一个电机速度15,另一个为0,进行转弯调整。当超声波传感器测得距离障碍物距离低于30,一个电机速度为30,另一个为-30,从未达到掉头的效果。5. 调试和运行结果第一次完成小车,我们将小车放在指定黑线上,发现小车前进一段路程便会出现前轮脱落的情况,于是我们将前面两个轮胎进行加固,然后将电机的速度进行适当的降低。第二次进行,小车成功沿黑线前进,并在障碍物前进行掉头。1.问题的提出和分析问题:要求搭建小车,通过编写程序和合理的结构让小车可以在180度的
6、范围内寻找光线最强的方向。分析:看到题目,我们小组第一反应就是需要合理利用红外传感器,我们将红外传感器装在小车车头,探头向前。通过电机一个运行,一个停止,达到原地转圈的效果,然后利用红外传感寻找最强光源方向,停止,再向前进。如此循环。2.设计设备红外传感器、电动马达、可编程主机、组成小车的基本组件。3.模型搭建我们采用的方案与题目一相似,依然是传统的四轮小车构造,两轮驱动,在四个轮子的框架上放置主机,并通过在主机前方安置一个红外传感器,如图所示,寻找光线最强方向机器人.程序编制和程序说明 程序编制:#pragma config(Sensor, S1, light, sensorLightAct
7、ive)#pragma config(Motor, motorA, a, tmotorNXT, PIDControl, encoder)#pragma config(Motor, motorB, b, tmotorNXT, PIDControl, encoder) int d=SensorValuelight,x=0; int i=0; while(1) while(i x=SensorValuelight; while(SensorValuelight motora=-30; motorb=30; wait1Msec(1000); i=0;程序说明:首先设置主机上每个电机以及传感器对应的接口
8、,红外线传感器s1,电机A在a,电机B在b。红外线传感器对光强进行感应,如果光强没有达到,a轮速度-30,b轮速度30,从而达到原地转圈的目的,当找到达到要求的光强方向的时候,两个电机的速度都为,向前进一小段,然后再次寻找最强光方向,以此循环。调试和运行结果完成后的第一时间我们对小车进行了运行测试,但是发现小车总是不能很好地进行对最强方向的寻找,有时候运行一段时间便会发生不稳定的情况,偏离最强光的方向。在确保我们的程序没有问题的情况下,我们把目光转移到小车的构造上。经过我们的排查,发现是我们的传感器方向不对,安装角度偏上过多。在我们的调整下,小车可以较为稳定的运行。小车测试过程 设计三 爬楼梯
9、机器人问题:设计机器人,要求通过编写程序和合理的结构让机器人可以稳定地沿着楼梯的台阶往上爬。分析:在程序方面,经过我们小组的讨论,认为较为简单,只需要达到让机器人的主动电机一直运转就行,也不需要搭架传感器。难点在于如何设计出一个合理的外形让机器人可以沿着台阶前进。对此我们组的第一反应就是部件箱中的爪型足,想要通过的爪型来攀爬台阶。同时,要保证整个机器人的整体性,我们需要用到履带来连接整个机器。机器人应该由几个关节组成,从而达到在攀爬过程中机体可以变换来适应台阶的形状。电动马达、可编程主机、组成小车的基本组件。在之前分析的基础上,我们进行了外形的搭建。首先,将两个电机分别放置在首尾各一个,在电机
10、上穿过一根棒子,分别装上两个爪型足,来达到攀爬的目的。然后在机器后轮部分通过履带与中间轮相连,来达到平地的前进以及爬坡时候的辅助功能。再往前装一对抓地力较好的轮子,将整个车体分为三段,达到在爬坡过程中机器的每个关节都能自由转动的效果。完成后的机器人如图所示,爬楼梯机器人程序编制:#pragma config(Motor, motorB, b, tmotorNXT, PIDControl, encoder)task main() motora=100;motor=100; wait1Msec(1000);设置主机上每个电机以及传感器对应的接口,电机A在a,电机B在b。然后设置每个电机的速度都为,
11、保证前后的爪型足能以相同的速度攀爬楼梯。完成机器后我们在教室准备好的台阶上进行测试,第一次运行,虽然可以爬上台阶,但是明显比较吃力,爬一阶需要不少时间,经过一些外形的调整,机器人爬上台阶用时减少明显。设计四 两轮自平衡机器人要求搭建机器人,通过编写程序和合理的结构让机器人可以通过轮子自行平衡站立一段时间。首先是外形,我们准备在主机两侧面搭建两个轮子,在接近地面的位置放置红外线传感器。在程序方面,我们准备通过红外线传感器对光线进行检测以及偏差的计算进行机器人的自平衡。将主机竖直摆放,先在主机的两侧装上两个轮子,然后装上一个红外传感器,探头向下。这样简单的机器人的样子就成型了,但是还需要注意一点,
12、那就是在自平衡的过程中,要保证整个机体的平衡,所以我们在主机的一侧装上塑料骨架以及轮胎,保证机体前后重量接近相同。最后的机体模型如图所示, 两轮自平衡机器人 程序编制:#pragma config(Sensor, S1, guang, sensorLightActive) int pingheng=SensorValueguang; float v=0; int jiaodu=0; float k1=25; int jifen=0; int last=0; while(true) jiaodu=SensorValueguang-pingheng; jifen=jifen+jiaodu; v=j
13、iaodu*k1+jifen*0.6+(jiaodu-last)*6; last=jiaodu; motora=v; motorb=v; wait1Msec(5);先设置完每个接口。然后设置初始角度、微分、速度等数值来达到最佳平衡状态。接着根据传感器采集初始光感值、偏差等来对机器进行调整,以达到平衡状态。第一次运行我们就碰到了问题,机器一直无法无法平衡站立,最好的一次也没坚持过5秒。在老师的指导下,我们将红外线传感器调整得离地面更近,因为离地面太高,自然光对传感器的影响过大。同时,我们将轮子也调整了一下,将整个机器的重心调低。最后,我们找了一个自然光影响相对较小的地方,机器成功地完成了自平衡。
14、设计机器人,要求通过编写程序和合理的结构让机器人通过六只脚稳定地前进。难点在于如何设计出一个合理的外形让机器人通过一个电机让六足同时进行运动来完成前进。经过我们的讨论,我们组决定利用齿轮的啮合传动来让六只脚同时运动。首先使用一根塑料棒穿过电机,并按上一个大齿轮。然后在电机的底下安装一个框型的底盘,再在刚才安装上的齿轮上安装一个棒子来当做腿,并通过底盘把腿进行固定,保证腿可以完成较为稳定的动作。之后在电机上再装上一根棒子,并装上齿轮完成连接。腿的安装也与第一个一样。同理,第三条腿的安装也相同。完成后的机器人如图所示, 六足机器人设置主机上每个电机以及传感器对应的接口,电机A在a。完成机器后我们进
15、行测试,第一次运行,我们发现齿轮的啮合不稳定,容易脱落,我们对每个齿轮进行了加固,最后机器人可以比较稳定地进行运动。设计总结经过两周的努力,我们完成了创新设计的五个课题。第一次接触乐高组件,开拓了我们的眼界,简单的零件可以完成如此多的功能。同时我们也学到了很多东西。与传统的教学方式不同,这次的课程更讲究实践,而且更考验我们的想象力。在程序上,大家的思路都是大同小异,但是,在外形的设计上,每一组都有着自己的特色。在这次课程中,也极锻炼了我们的团队协作能力,有人专门负责外形的设计,有人负责程序的编写,然后出现问题大家一起进行讨论。总的来说,我们在这次的课程中学到了很多书上学不到的知识,同时对一些已知的知识通过实践进一步巩固。最主要的是,这次的课程充满了乐趣。相信这会是我们人生路上难忘的回忆。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1