六脚柱状爬行机器人 大学毕业设计.docx
《六脚柱状爬行机器人 大学毕业设计.docx》由会员分享,可在线阅读,更多相关《六脚柱状爬行机器人 大学毕业设计.docx(65页珍藏版)》请在冰豆网上搜索。
六脚柱状爬行机器人大学毕业设计
六脚柱状爬行机器人
第一章准备安装机器人
必需的工具
下面是安装该机器人时需要的工具:
●螺丝刀
●钻子
●1/8英寸钻头
●小活动扳手或套筒扳手
●剪线钳
●少量的白色油脂或类似的润滑油
柱状机器人套件装箱清单
全套柱状机器人包含下面的元器件:
电子/电器类:
●1个BASICStamp2控制器
●1块USB接口的教学板
●12个型号为HiTecHS-322HD伺服电机
●一根USB连接线
●1个USB电机控制器
4条6英寸电机延长线
铝质部件:
●1根主梁(Channel)
●6个电机固定支架(ServoHolders)
●6个腿部活动关节(LegActuators)
●6个活动关节支撑件(LegActuatorSupports)
●6个腿部的前半部分(FrontLegs)
●6腿部的后半部分 (RearLegs)
●6电机支架 (ServoBrackets)
●4个电路板支架 (Circuitboardbrackets)
螺母、螺钉、垫圈和螺杆
●12个#2弹垫
●28个#4-1/4英寸螺钉
●12个#4-3/8英寸螺钉
●6个#4-7/16英寸螺钉
●6个#4-1/2英寸螺钉
●6个#4-1/4尼龙取间支柱
●40个#4螺母
●15个#4锁紧螺母
●40个#4弹垫
●3个#4-1.50螺钉
●6个#4垫圈
●24个#6-3/8英寸螺钉
●24个#6弹垫
●24个#6螺母
●6个#8-1.5英寸螺钉
●6个#8锁紧螺母
●12个#8平垫
●6个#8-9/16英寸尼龙取间支柱
●6个#8-7/16英寸尼龙取间支柱
●12个1/4SAE平垫
其他
●机器人手册
●6个2/56英寸螺杆
●6个橡胶脚
●12个圆头塑料连接件
●12个球形连接头
●12条扎带
你自己需要准备的东西
和装配其他机器人一样,完成六脚柱状爬行机器人需要你自己提供一些额外的工具:
●输出电压为5-7.2V的镍肽电池或镍膈电池为电机供电。
它为输出电流在1800mAH到3300mAH的标准电池组合,通常用在无线遥控车上。
铁甲系列爬行机器人耗电量很小,我们选择3300mH系列镍钛电池来为我们的行走机器人提供电源。
●AC/DC数字式充电器,可以给5V镍镉/镍钛电池充电。
铁甲系列爬行机器人配有性能优良的充电器,详细情况请参考我们网站上的资料。
●小规格的扎带有利于把各种电线扎得整齐有序,花费却不多。
在包装里我们已经为您提供了12条。
●机器人传感器。
六脚柱状机器人是传感器的一个综合平台。
顾客您可以自主选择合适的传感器。
S2和S3系列传感器都符合柱状机器人的要求。
第二章预先安装机器人组件
注意事项:
●在一个明亮、干净且有较大空间的环境下进行组装工作
●按照不同的规格摆放螺钉、螺母、垫圈等,这样方便你取用它们。
●要细心和有耐心。
六脚柱状爬行机器人是一套精确制造的产品要求所有组件按照本安装手册中正确的顺序装配。
●完成组装的平均世界为3到4小时。
●自始至终要注意螺钉的方向和方位和铝质部件以及机器人的那侧你正在组装。
它可能有着完全不同的结果,尽管在你看起来左侧或右侧好像是一样。
部件识别和准备电机
图 1
●去掉保护电机包装中铝质保护体然后把他们按型号放在你工作台上各自的类别中。
●取下电机上输出轴上的螺钉和输出轴,把它们放在适当的地方。
●剪掉电机两头突出块,如下图所示。
去掉电机上的这些塑料突起部分可以让电机在接下来的组装过程中很好地与电机固定支架联接在一起。
图 2
第三章 腿部组装
图 3
1.用2颗#6-3/8英寸螺钉、弹垫和螺母把水平方向的电机(没有去掉塑料突起)安装到电机固定起的顶端如图3所示。
电机的输出齿轮应该靠固定支架末端。
2.用2颗#6-3/8英寸螺钉、螺母、弹垫把垂直方向的电机(电机上塑料突起部分在之前的步骤中已经去掉)安装到电机固定支架上,如图4所示。
重复步骤1和2把剩余的几个安装完毕。
图 4
3.如图5所示用扎带把两个电机的输出电缆扎起来。
注意在拉紧扎带时小心别把电机的输出电缆扯下来。
图 5
4.用一颗#2锁紧螺母,把球形连接件安装到腿部活动关节如下图6所示。
把球形联接件置于关节弯曲的一端,离末端约1/16”处。
图 6
5.用1颗#8-1.5英寸螺钉,2个平垫,1个锁紧螺母,1个7/16尼龙取间支柱和1个9/16英寸尼龙取间支柱,把腿部活动关节和关节支架安装到电机固定支架上,如下图7和图8所示。
图 7
图 8
6.参照图7所示完成组装后的放大图,打紧#8螺钉至足够让组件能够保持竖立像图6所示。
这部分将在以后组装过程中打松来使腿部运动正常。
注意:
根据有效载荷大小和你所要求腿抬起的高度有两个连接的支点(fulcrumpoints 可供选择。
选择靠近电机固定支架的孔作为连接支点,当爬行机器人在行走时最有利于抬腿动作和得到最合适的抬腿高度。
第二个支点(离电机固定支架稍远点的那个)是用在有效负载能力超过6磅的时。
7.用1颗#4-7/16英寸螺钉,弹垫和螺母,把橡胶的缓冲脚垫撞到腿的前半部分和后半部分上如图9所示。
注意在插入螺钉之前要让腿的后半部分在前半部分之上。
图9
8.用1颗#4-3/8英寸螺钉和锁紧螺母,把安装好的腿和关节组装到一起如图10所示。
注意腿的前半部分朝整个部件的前方。
在打紧#4锁紧螺母之前确认腿和关节是垂直的。
图10
图11组装好的腿
9.用1颗1/8英寸钻头把图12中缩示的孔扩大一些。
在钻孔之前把电机输出轴固定在电机上,这样钻孔会容易一些。
图12
10.用1颗#2锁紧螺母,把球形联接件固定到电机的输出臂上如图13所示。
图13
11.把电机输出臂套到垂直方向的抬腿电机上顺时钟方向旋转右侧电机固定支架上电机输出轴至停止,逆时钟方向旋转左侧电机固定支架上电机至停止。
12.取下上一步骤中套上的电机输出臂,对于右侧电机固定支架上电机,把取下的电机输出臂按时钟11点的位置安装在电机的输出轴上,对于左侧的则安装在时钟方位1点的位置。
如下图14a和14b所示,完成以后打紧螺钉。
图14a
图14b
13.通过螺杆把8个圆头塑料联接件两个一组地件联接起来,如图15所示。
图15
提示:
如果用手旋有困难,可以用活动扳手将圆头塑料联接件拧到螺杆上。
下图是联接好的套件。
14.把在上一步骤中联接好的套件压进球形联接头中如图16所示。
不要在联接件的中间施压,否则联接件会弯曲变形,应该在联接件末端用力。
与此同时要用逆的手托起腿部关节否则你也会把它弄弯曲。
图16
腿的组装工作到现在已经完成,重复步骤1到步骤14把其余的几条腿组装完毕。
第四章躯干组装
15.用1/8英寸的钻头,把六个白色圆形电机的输出臂上的孔扩大(四脚柱状的为4个),如图17所示。
提示:
钻孔的时候不要从电机上取下输出臂。
孔钻完后,再取下该输出臂暂时把固定输出臂的螺钉拧回电机上。
图17
16.用2颗#4-1/4英寸螺钉,弹垫和螺母把上一步骤中钻好孔的输出臂装到电机托架上如图18所示。
图18
17.用2颗#4-1/4英寸螺钉,弹垫和螺母,把电机托架安装到机器人主梁顶端的两个孔上如图19a所示。
注意在拧紧螺钉之前确认托架是平坦地贴着主梁。
图19a
18.用1颗#4-1.5英寸螺钉,2个平垫和一个锁紧螺母,通过支架上2个孔中上面一个孔把两个电机托架连接起来,如图19b所示。
拧紧螺母,使支架紧贴着主梁又能用手扳动支架。
注意不要弄弯支架。
图19b
19.重复第15步到第18步,把其余的电机托架安装好。
20.套2个1/4英寸SAE平垫套电机支架下端的铝柱上如下图20所示。
第一个垫圈平的一面朝上,第二个垫圈平的一面朝下。
涂少量的润滑油到上面一个垫圈上。
图20
21.把在前面步骤中安装好的腿部装到电机托架上。
先托架下面的铝柱套到腿部上相应的孔上,然后在小心地抬起支架的上部,把水平电机的输出轴套到装在托架上的圆形输出臂里面如图21。
图21
注意:
把右侧的腿(图21)安装到主梁侧面下方有铝柱的那侧。
所有左侧的腿都装到主梁没有铝柱的那侧。
重复第20步到第22步,把其余的腿安装好。
拧松每条腿上#8-1.5英寸螺杆上的锁紧螺母。
(图21b)。
拧松到腿能够灵活地动但是尼龙件不会晃动,在行走时腿上的部件也不会发出卡嗒卡嗒的声音。
图21b
第五章控制部分安装
23.用4颗#4-1/4英寸螺钉,弹垫和螺母,把电路板安装支架安装到主梁上如图22所示。
支架的一端比另一端长,注意选择合适将要安装的教学板尺寸的那端。
让电路板安装支架与主梁的顶端齐平这样就容易让支架处在同一个水平面上。
注意:
1.教学板安装在支架较短的一端。
2.把支架安装在靠机器人后面的一端,四脚或六脚都是如此,如图22所示。
.
图22
24.用4颗1/2英寸螺钉,尼龙取间支柱,弹垫和螺母,把教学板安装到电路板固定支架上如图23所示。
先把电路板平坦地安装在支架上后再拧紧螺钉。
图23
25.用2颗#4-1/2英寸的螺钉,1/4”尼龙取间支柱,弹垫和螺母,把电机控制器(PSC)安装到主梁顶端的狭槽上。
对于六脚爬行机器人,用中间脚前的2个(图24)。
对于四脚爬行机器人,用前脚后面或教学板前面的两个狭槽(图25)。
电机与控制器的连接再后面的介绍中有图可参考。
图24
图25
26.参照图26和图27,每次一条腿地把电机的输出电缆连接到电机控制器上。
图28是六脚爬行机器人到控制器的连接,图28是四脚爬行机器人到控制器的连接。
图26
图27
图28
注:
H=水平方向电机(Horizontalservo),V=垂直方向电机(Verticalservo)
参考图28b同时参考电机控制器(PSC)说明书来正确连接和操作电机控制器和教学板。
图28b
四脚爬行机器人的连接:
图29
注:
H=水平方向电机(Horizontalservo),V=垂直方向电机(Verticalservo)
参考图29b同时参考电机控制器(PSC)说明书来正确连接和操作电机控制器和教学板。
图29b
用1颗#4-3/8英寸螺钉和锁紧螺母,拧紧腿部组件如图30所示。
注意在拧紧螺钉前让腿部和关节互相垂直。
同样把其它几条腿的也拧紧。
图30
第六章编程
终于完成了六脚/四脚爬行机器人的安装工作。
接下来的工作是检查水平方向和垂直发方向的电机是否正确地安装在行走动作中的正确物理方位以确保六脚/四脚爬行机器人能够正常的运转。
如果不进安装上的调整和程序上的调试工作,垂直方向或水平方向电机不正确的运动将导致爬行机器人行走不正常。
输入后面附加的程序“TuneLegs”。
注意阅读程序中的注释部分,理解程并弄明白该程序将让机器人完成一个什么样的动作。
当程序“TuneLegs”成功执行,腿的各部分也调整好后,电机的输出轴的指向应该是垂直向上或向下,水平方向的电机应该让腿与机器人身体垂直。
机器人在用程序“TuneLegs”调试过后,我们可以从铁甲爬行机器人网站上下载任何的行走和控制程序,并且都可以很成功地运行。
实例程序:
“TuneLegs”
'----[TuneLegs.bs2Version1.0]------------------------------------------
'{$STAMPBS2}
'{$PBASIC2.5}
'Ver1.0
'
'File.......TuneLegs.BS2
'Purpose....AdjustRodbotslegsafterintitalbuild
'Author.....CrustCrawlerInc.(MikeGebhard)
'E-mail.....support@
'Started....27October2005
'Updated....27October2005
'Version....1.0
'
'=======Updates=======================================
'1.Programmaticlegadjustment
'=======================================================
'
'UsetheTuneLegs.BS2programtoprogrammaticallytunethe
'horizontallegjoints.Afterphysicallytuningthe
'Rodbotslegs,youprobablyfounditwasimpossible
'topositionallofthelegsperpendiculartothebody.
'ThisisbecauseNOTallservosarecreatedequal.
'
'Therefore,CrustCrawlercreatedaprocesstofinelytuneyour
'Rodbot.Why?
TheRodbotisaprecisiondevice.
'Itrequiresthatalllegsmoveanequaldistance
'astheyarcthroughtheirrangeofhorizontalmotion.
'Ifonelegisoffonlyafractiontherobotwillfavor
'onesideovertheother.
'
'Forexample,therobotmightgraduallyturntotheleft
'ortherightwhilewalkingforward.
'
'Process:
'1.AdjustthelegsaccordingtotheRodbotassemblyguide.
'2.Adjustthelegprogrammatically
'
'Findthesecommandsinthecodebelow
'Center1CON750'Leg1horizontalservo
'Center2CON750'Leg2horizontalservo
'Center3CON750'Leg3horizontalservo
'Center4CON750'Leg4horizontalservo
'Center5CON750'Leg5horizontalservo
'Center6CON750'Leg6horizontalservo
'
'InPSCtermsservocenteris750ora1.5mspulse.
'SeeyourPSCdocumentationforabriefdescriptionof
'servooperation.
'
'Center1,Center2andCenter3constantsadjusttherighthorizontal
'servos(legs1,2and3).
'
'Center4,Center5andCenter6adjustthelefthorizontal
'servos(legs4,5and6).
'
'
'**RightSide**
'+750-+750-+750-
'|||
'F|||
'O|------------------|
'R|123|
'W|456|
'A|------------------|
'R|||
'D|||
'-750+-750+-750+
'**LeftSide**
'
'IncreasingtheCenter1orCenter2constantsmovetheright
'legsforward.Decreasingtheconstantsmovetheright
'legstowardtherearoftheRodbot.
'Theoppositeistrueforthelefthorizontalservos.
'
'ProgrammaticAdjustments
'1.Pickalegthatisnotperpendiculartotherobot'sbody.
'2.ChangetheCenter#constantvalueforthatleg.
'3.SaveanddownloadtheprogramtotheBS2.
'4.Verifythatthelegisnowperpendicularthebody
'ifnotrepeatthestepsabove.
'5.Repeatthestepsaboveforalllegsthatrequireadjustment.
'
'
'-----[ExampleHorizontalLegConstants]----------------------------------------
'Mycentervalues.Yourswillbedifferent
'Center1CON750->Nochange
'Center2CON800->Leg2forward50units
'Center3CON785->Leg3forward15units
'Center4CON750->Nochange
'Center5CON750->Nochange
'Center6CON750->Nochange
'
'Afteryoucenterthelegsprogrammatically,usethesevaluesinall
'Rodbotprograms.
'
'-------------------------------------------------------------------------
'-----[I/ODefinitions]-------------------------------------------------
PSCPIN15'PSCmodule
BaudCON33164'2400baud
'-----[WalkingVariables]-----------------------------------------------
servoAddrVARByte'Servoaddresses
ptrEEPROMVARWord'Gaitselect
servoPositionVARWord'ServoPosition
rampVARByte'RampusedinSEROUT
'-----[GeneralLegConstants]-------------------------------------------
LiftRampCON$1'Veryfastrampforliftingleg
FastCON$F
'-----[HorizontalLegConstants]----------------------------------------
Center1CON750'Leg1horizontalservo
Center2CON750'Leg2horizontalservo
Center3CON750'Leg3horizontalservo
Center4CON750'Leg4horizontalservo
Center5CON750'Leg5horizontalservo
Center6CON750'Leg6horizontalservo
'-----[VerticalLegConstants]------------------------------------------
RaiseRightCON300
LowerRightCON1200
RaiseLeftCON1200
LowerLeftCON300
'-----[EEPROMData]-----------------------------------------------------
'RaiseCenterLower
AdjustDATA$01,WordRaiseRight,$00,WordCenter1,$01,WordLowerRight,
$03,WordRaiseRight,$02,WordCenter2,$03,WordLowerRight,
$05,WordRaiseLeft,$04,WordCenter3,$05,WordLowerRight,
$07,WordRaiseLeft,$06,WordCenter4,$07,WordLowerLeft,
$09,WordRaiseLeft,$08,WordCenter5,$09,WordLowerLeft,
$0B,WordRaiseLeft,$0A,WordCenter6,$0B,WordLowerLeft,
$FF'endofadjustlegs
'InitializeEEPROMPointerandservoaddressvariables
ptrEEPROM=Adj