Hexapod Robot: Dalhousie Mechanical Engineering Senior Year Design Team 2

Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

!

"#$%&' )&*&+




ualhousle Mechanlcal Lnglneerlng
Senlor ?ear ueslgn 1eam 2


1o
ualhousle unlverslLy
Mechanlcal Lnglneerlng ueparLmenL




november 13, 2008
8ene d'LnLremonL
8reLL Macuonald
Leslle Ssebazza
SeLh SLoddarL

november 8ulld 8eporL ll


!"#$%&'$

1he alm of Lhe pro[ecL ls Lo bulld a slx-legged walklng roboL LhaL ls capable of baslc moblllLy Lasks such as
walklng forward, backward, roLaLlng ln place and ralslng or lowerlng Lhe body helghL. 1he legs wlll be of
a modular deslgn and wlll have Lhree degrees of freedom each. 1hls roboL wlll serve as a plaLform onLo
whlch addlLlonal sensory componenLs could be added, or whlch could be programmed Lo perform
lncreaslngly complex moLlons. 1hls reporL dlscusses Lhe componenLs LhaL make up our flnal deslgn.

Cur group has compleLed Lhe lnlLlal drawlngs for Lhe deslgn, forecasLed bulldlng cosLs and creaLed a
schedule for Lhe remalnder of Lhe pro[ecL. All Lhese lLems are lncluded ln Lhls reporL. WlLh Lhe
prellmlnary deslgn of all componenLs flnlshed, we are prepared Lo sLarL Lhe consLrucLlon of a mock up
leg ln order Lo begln LesLlng Lhe hexapod conLrol sofLware. 1he compleLed budgeL LoLals $2,320.29 and
24.3 hour of Lechnlclan Llme. 1eam 2 has also begun wrlLlng Lhe programs necessary Lo conLrol Lhe
hexapod roboL.
november 8ulld 8eporL lll


)&"*+ ,- .,/$+/$#
AbsLracL........................................................................................................................................................ ll
ConLenLs of Appendlx ..................................................................................................................................lll
LlsL of llgures ...............................................................................................................................................lv
1 lnLroducLlon......................................................................................................................................... 1
1.1 racLlcallLy and ComplexlLy of ConsLrucLlon................................................................................ 1
1.2 1echnlclan ConsulLaLlon............................................................................................................... 1
2 rogress ............................................................................................................................................... 2
2.1 Chassls.......................................................................................................................................... 2
2.2 Pardware ..................................................................................................................................... 2
2.3 SofLware....................................................................................................................................... 2
3 ComponenL ueLalls .............................................................................................................................. 3
3.1 Chassls.......................................................................................................................................... 3
3.1.1 lrame ................................................................................................................................... 3
3.1.2 Legs ...................................................................................................................................... 3
3.2 Pardware ..................................................................................................................................... 4
3.3 SofLware....................................................................................................................................... 3
4 unknowns ............................................................................................................................................ 6
3 Work AlloLmenL ................................................................................................................................... 7
6 8udgeL.................................................................................................................................................. 8

.,/$+/$# ,- !00+/123
Appendlx A - ro[ecL CanLL CharL
Appendlx 8 - ro[ecL 8udgeL
Appendlx C - MaLlab Code for CommunlcaLlon wlLh Lhe MlcroconLroller
Appendlx u - Ardulno ueclmllla rellmlnary Code
Appendlx L - lnlLlal arL urawlngs




november 8ulld 8eporL lv


42#$ ,- 5267%+#
llCu8L 1: 8C11CM vlLW Cl l8AML................................................................................................................... 3
llCu8L 3: LLC ASSLM8L?, CCnSlS1lnC Cl 1P8LL SL8vCMC1C8S, 1P8LL LLC LlnkACLS, Anu A SPCCk A8SC88L8. .......... 4
llCu8L 3: uLvAn1LCP Su21 SL8vC CCn18CLLL8 (8lCP1) Anu A8uulnC uLClMlLLA MlC8CCCn18CLLL8 (LLl1) ............ 3

"#$% &' ()*+,$
1A8LL 1: SuMMA8? Cl SL8vC MC1C8 1LS1lnC ................................................................................................... 4
1A8LL 2: LS1lMA1Lu MACPlnlnC 1lML 8LCul8Lu l8CM uLA81MLn1.................................................................... 7
1A8LL 3: 8uuCL1 SuMMA8?. 1AxLS Anu SPllnC lnCLuuLu. ............................................................................... 8
november 8ulld 8eporL 1


8 9/$%,17'$2,/
1eam 2 has done research lnLo Lhe elemenLs needed Lo bulld a funcLlonal hexapod roboL ln Lhe
comlng semesLer. Croundwork lncludes lnvesLlgaLlon and deslgn of Lhe Lwo ma[or subsysLems, chassls
and conLrols. 1he group plans Lo produce a fully funcLlonlng roboL durlng Lhe bulld" phase of Lhe
ueslgn ro[ecL nexL semesLer.
8:8 ;%&'$2'&*2$< &/1 .,=0*+32$< ,- .,/#$%7'$2,/
1he deslgn process used ln developlng Lhe parLs of Lhe hexapod conslders Lhe level of dlfflculLy
assoclaLed wlLh bulldlng Lhe dlfferenL secLlons of Lhe hexapod roboL. CosL, complexlLy and
funcLlonallLy were Lhoroughly consldered durlng Lhe deslgn ln order Lo keep Lhe bullL producL
pracLlcal. 1he scope and deslgn for Lhe pro[ecL has been scaled Lo flL Lhe budgeL LhaL ls ouLllned
ln Lhe budgeL secLlon of Lhls reporL.
1he deslgn uses common, avallable maLerlals for Lhe machlned componenLs along wlLh
purchased parLs such as elecLronlcs and roboLlcs avallable from supply sLores. lL ls an lnnovaLlve
and pracLlcal deslgn, whlch lmproves on prevlous hexapod deslgns. 8y uslng shapes LhaL can be
easlly manufacLured we have decreased Lhe machlnlng Llme needed. Slmple fasLeners such as
glue/epoxy and sLandard slzed screws/bolLs wlll be used Lo assemble Lhe flnlshed producL.
8:> )+'?/2'2&/ .,/#7*$&$2,/
1he Lechnlclan has lndlcaLed LhaL Lhe parL drawlngs can be produced ln Lhe deslred maLerlals.
ueslgn changes recommended by Lechnlclan have been consldered and lmplemenLed.
november 8ulld 8eporL 2


> ;%,6%+##
A summary of progress up Lo and lncludlng Wednesday, november 12, 2008:
>:8 .?&##2#
ueslgn of Lhe chassls componenLs are compleLe and are shown ln Appendlx L. 1he drawlngs
avallable now wlll be used Lo bulld Lhe prellmlnary mock-up of a slngle leg of Lhe roboL uslng Lhe
rapld proLoLyplng machlne. Cn Lhe assumpLlon LhaL no deslgn flaws appear durlng LesLlng, Lhe
flnal pleces can be fabrlcaLed shorLly LhereafLer.


>:> @&%1A&%+
Servo moLors wlll provlde Lhe movlng force for Lhls roboL. lour poLenLlal servos have been
LesLed Lo deLermlne Lhelr sulLablllLy. WelghL, Lorque, and power consumpLlon have been
measured and compared. 1he ldeal servo moLor for our appllcaLlon ls readlly avallable and has
been selecLed Lo be sourced.

1o seL servo pulse wldLh for poslLlonlng, a uevanLech Su-21 has been procured and LesLed. 1hls
board ls able Lo conLrol all 18 servos and has been successfully lnLerfaced wlLh Lhe preferred
mlcroconLroller. 1he selecLed mlcro conLroller, an Ardulno ueclmllla board has been procured
and LesLed. 1hls board has been connecLed successfully Lo MaLlab uslng a serlal connecLlon, as
well as Lo Lhe uevanLech Su-21 uslng l2C porLs.

>:B C,-$A&%+
1he necessary elecLronlc componenLs have already been procured for proof of concepL LesLlng.
Slmple, slngle servo conLrol has been achleved uslng MaLlab. Work on Lhe lnverse klnemaLlc
program needed Lo conLrol Lhe roboL leg has sLarLed. 1he alm of Lhe program ls Lo use a
!acoblan lnverse maLrlx meLhod Lo deflne angles LhaL can Lhen be used Lo conLrol Lhe leg
poslLlons.

Angle poslLlonlng LesLlng has been performed ln order Lo map Lhe pulse wldLh vs. angle of Lhe
selecLed servo. A MaLlab funcLlon has been wrlLLen ln order Lo converL angle ouLpuL Lo pulse
wldLh hlgh and low byLes.



november 8ulld 8eporL 3


B .,=0,/+/$ D+$&2*#
A brlef explanaLlon of Lhe roboLs key componenLs ls provlded below.
B:8 .?&##2#
B:8:8 5%&=+
1he frame of Lhe roboL conslsLs of Lwo 1/8" alumlnum plaLes LhaL are bolLed LogeLher uslng slx
commerclally avallable sLandoffs, as lllusLraLed ln llgure 1. 1he smaller plaLe ls used for
mounLlng Lhe legs onLo whlle Lhe larger plaLe ls used for mounLlng elecLronlc equlpmenL such as
Lhe mlcroconLroller boards. As well, Lhere ls exLra space on Lhe large plaLe so addlLlonal
elecLronlc equlpmenL and sensors could be added Lo Lhe roboL ln Lhe fuLure, ln accordance wlLh
Lhe deslgn requlremenLs.


-#./0, 12 3&%%&4 5#,6 &' -0)4,
B:8:> 4+6#
Lach of Lhe slx legs wlll conLaln Lhree servomoLors LhaL are connecLed by Lhree leg llnkages as
shown ln llgure 2. 1here are also small shock absorbers (commerclally avallable) LhaL Lhread
lnLo Lhe ouLer leg plece. Lach leg secLlon wlll be machlned from 1/4" or 1/2" vC (or A8S) plaLe.
1he lnner leg secLlon wlll requlre Lwo pleces Lo be separaLely machlned Lhen bonded LogeLher.
1he Lype of bondlng agenL has noL been flnallzed yeL. Also, Lhe lnner and ouLer leg secLlons wlll
come ln a lefL and rlghL handed varleLy whlle Lhe mlddle leg secLlon wlll be Lhe same on boLh
sldes. 1he leg secLlons wlll be bolLed Lo Lhe servomoLors uslng small (approx. M4) bolLs aL Lhe
servo mounLlng flanges and aL Lhe servos mounLlng dlsk (aLLached Lo ouLpuL shafL).

november 8ulld 8eporL 4



-#./0, 72 ",. 8$$,4*+9: ;&<$#$%#<. &' %=0,, $,0>&4&%&0$: %=0,, +,. +#<?).,$: )<@ ) A=&B? 8*$&0*,0C


B:> @&%1A&%+
LlecLronlc hardware used ln Lhls roboL wlll conslsL of 18 Pl1ec brand servo moLors Lo provlde Lhe
18 degrees of freedom requlred. lour sulLable hlgh Lorque servo moLors have been LesLed Lo
deLermlne Lhe besL balance of welghL, slze, Lorque, currenL drawn and prlce. 1he currenL drawn
proved Lo be Lhe llmlLlng facLor. uurlng LesLlng lL was observed LhaL larger servos (see 1able 1)
used up Lo 2 amps of currenL each when runnlng under no load whlle Lhe smaller servos used
only .73 amps aL sLall Lorque.
1o mlnlmlze Lhe currenL drawn by Lhe roboL, Lhe lowesL Lorque moLor sulLable for Lhe Lask had
Lo be chosen based on Lhe flndlngs of our LesLlng whlch are summarlzed ln 1able 1. lor Lhe
requlremenLs of our deslgn we chose Lhe PS-643MC servo moLor.


()*+, 12 A/44)09 &' A,0>& D&%&0 (,$%#<.
Servo name 1orque (kg*cm) WelghL (g) ower ConsumpLlon
PS-80388 ClanL Scale 24.7 132 1.7A no Load
PS-763P8 "Sall Arm" Servo MoLor 13.2 110 1A no Load
PS-643MC Servo MoLor 9.6 33.2 0.73A SLall Lorque
CWS Peavy uuLy S777 688 Servo MoLor 42 190 2A no Load

1he servo conLrol board selecLed for our deslgn ls Lhe uevanLech Su21 Servo ConLroller,
plcLured ln llgure 3. 1hls board ls cheap and ls able Lo conLrol up Lo 21 servo moLors. lL ls a
slmple board used Lo send and recelve daLa vla Lhe l2C connecLlon so as Lo allow Lhe roboL Lo be
conLrolled by a serles of lnLeger numbers sLored ln lLs onboard array. 1he board can Lhen
generaLe Lhe approprlaLe pulse wldLhs requlred based on Lhese lnpuL numbers.
november 8ulld 8eporL 3



1o handle all onboard processlng of Lhe serlal daLa ouLpuL by Lhe conLrolllng compuLer, an
Ardulno ueclmllla mlcroconLroller ls used (llgure 3). 1hls board ls relaLlvely cheap and feaLures
uS8 connecLlvlLy and a bullL ln l2C llbrary. 1he avallable l2C porL ls connecLed Lo Lhe uevanLech
board Lhrough a 4 pln header. 1he ueclmllla ls able Lo recelve lnpuL from analog or dlglLal
sensors, can power Lhe loglc porLlon of Lhe servo conLrol board, and can communlcaLe wlLh Lhe
compuLer uslng lLs serlal converLer for ease of debugglng. 1hls board wlll be sulLable for our
roboL conLrol as well as any fuLure lLeraLlons of Lhe roboL. 8oLh boards are Lo be mounLed on
Lhe upper plaLe of Lhe body assembly


-#./0, E2 F,>)<%,B= AF71 A,0>& B&<%0&++,0 G0#.=%H )<@ 80@/#<& F,B#4#++) D#B0&B&<%0&++,0 G+,'%H

B:B C,-$A&%+
rogrammlng ls done uslng MaLlab and Lhe compller supplled for Lhe Ardulno board. 8oLh
sofLware programs use slmple programmlng language slmllar Lo C. SofLware carrled onboard of
Lhe roboL on Lhe Ardulno board wlll be used Lo lnLerpreL Lhe serlal communlcaLlon from MaLlab,
and send Lhe approprlaLe daLa Lo Lhe servo conLrol board. 1he currenL verslon of Lhe sofLware
onboard Lhe Ardulno reads ln an lnLeger number from MaLlab, breaks lL lnLo lnLeger
represenLaLlons of lLs hexadeclmal low and hlgh byLes, and Lhen sends lL Lo Lhe approprlaLe
address ln Lhe uevanLech ln order Lo seL Lhe pulse wldLh for a deslred servo poslLlon. 1he pulse
wldLh hlgh and low byLes are senL wlLh a speed and servo call lnLeger ln order Lo selecL Lhe
approprlaLe servo and Lravel raLe.

1he MaLlab porLlon of Lhe sofLware wlll handle Lhe lnLenslve poslLlonlng conLrol. A !acoblan
maLrlx wlll be used ln order Lo calculaLe Lhe poslLlons of Lhe servos Lo provlde dlfferenL leg Llp
poslLlons. A leg Lravel paLh ls drawn from Lhese poslLlons Lo achleve Lhe deslred moLlon. 1he
daLa wlll be sLored ln a maLrlx of leg poslLlons whlch wlll be read ln by Lhe Ardulno and
conLlnuously updaLed on Lhe uevanLech.
november 8ulld 8eporL 6


E F/G/,A/#

LlsL of unknowns:
- 1he prlmary walklng galL has been selecLed (Lrlpod), however, programmlng of LhaL galL has noL
yeL been deslgned. Clven programmlng success Lo Lhls polnL, Lhls unknown ls deemed
accepLable and wlll be an exLenslon of currenL programmlng. A compleLe chassls wlll be
needed Lo reflne Lhe galL.
- lL has noL been declded whaL bondlng agenL wlll be used Lo [oln Lhe Lwo parLs of Lhe lnner leg
secLlon LogeLher.
- 1he approxlmaLe slzes of all fasLeners are known, buL Lhe exacL slze, lengLh and sLyle of fasLener
are yeL Lo be deLermlned.

november 8ulld 8eporL 7


H I,%G !**,$=+/$
All fabrlcaLlon work wlll be compleLed by Lhe deparLmenL. 1hls ls llmlLed Lo Lhe cuLLlng and
machlnlng of parLs. 1hls wlll ensure quallLy fabrlcaLlon of componenLs. An esLlmaLe of Lhe machlnlng
Llme requlred from Lhe deparLmenL for Lhls pro[ecL ls provlded ln 1able 2.

()*+, 72 I$%#4)%,@ D)B=#<#<. (#4, J,K/#0,@ '0&4 F,L)0%4,<%
M)0% N/4*,0 M)0% F,$B0#L%#&< O/)<%#%9
(&%)+ D)B=#<#<.
(#4, G=0$H
Px-0012 1op laLe 1 1.3
Px-0013 8oLLom laLe 1 4
Px-0022 llrsL Leg SecLlon 7 6
Px-0023 Second Leg SecLlon 7 3
Px-0024 1hlrd Leg SecLlon 7 10
24.3


All assembly work wlll be compleLed by 1eam 2. Assembly requlres Lhe use of slmple hand Lools and
bondlng agenLs. Advlce may be soughL from Lhe Lechnlclans durlng Lhe assembly process.

All programmlng and elecLronlcs work wlll be compleLed by Lhe Leam.

november 8ulld 8eporL 8


J K716+$

1he Leam has prepared a budgeL for Lhe enLlre pro[ecL. 1he deLalled budgeL ls provlded ln Appendlx
8 and a budgeL summary ls provlded ln 1able 3. 1he mosL expenslve componenL of Lhe deslgn ls Lhe
servo moLors slnce elghLeen moLors (plus spares) are requlred.

()*+, E2 3/@.,% A/44)09C ()P,$ )<@ A=#LL#<. Q<B+/@,@C
;&4L&<,<% ;&$%
Servo MoLors $1,173.20
LlecLronlcs $399.76
8aw MaLerlals $262.29
urchased arLs $483.04
Crand 1oLal $2,320.29





8LL,<@#P 8
R)<%% ;=)0% '&0 %=, S#<%,0 (,04


8LL,<@#P 3
M0&T,B% 3/@.,% U V,P)L&@ J&*&%

D)%,0#)+$ W<#% B&$% 84&/<% ;&$% A/LL+#,0
I+,B%0&<#B$
PS-643MC Servos $39.02 21 $819.42 roboLshop
PS-763P8 $43.78 1 $43.78 roboLshop
PS-80388 $43.36 1 $43.36 roboLshop
23' 22g black wlre $2.62 1 $2.62 roboLshop
23' 22g red wlre $2.62 1 $2.62 roboLshop
neLmedla 6" [umper Wlre klL $8.49 1 $8.49 roboLshop
Lneloc 30 pc. 8elnforced !umper wlre klL $18.91 1 $18.91 roboLshop
ulse WlLdh ModulaLor $63.13 2 $126.30 roboLshop
uS8 Cable $2.99 1 $2.99 roboLshop
MlcroconLroller $40.64 1 $40.64 roboLshop
8eslsLors (300 ohm + 2000 ohm) $1.00 2 $2.00 roboLshop
oLenLlomeLer (300ohm) $7.83 1 $7.83 roboLshop
8ocker SwlLch $1.39 1 $1.39 roboLshop
roLoboard $13.00 1 $13.00 roboLshop
Sensors $73.00 1 $73.00 roboLshop

J)6 D)%,0#)+$
3/8" Pex SLandoff 1/8"L $1.00 12 $12.00 mcmasLer carr
1/4" A8S $13.29 3 $39.87 mcmasLer carr
1/2" A8S $27.39 2 $34.78 mcmasLer carr
1/8" Allumlnum laLe 6061 $26.06 3 $78.18 mcmasLer carr
lasLlc 8onder $24.99 1 $24.99 mcmasLer carr
1-1/4" AL Pex SLandoff 10-32 screw $3.03 6 $18.18 mcmasLer carr
Leg Shock Absorbers $28.13 7 $196.91 mcmasLer carr
lasLners $20.00 1 $20.00 mcmasLer carr
8apld proLoLyplng $7.00 3 $21.00 ln Pouse
Cverhead 8oom $99.93 1 $99.93

A/*%&%)+ X1:YYZC7E
10 Sl $177.62
1ax (13) $266.43
Shlpplng $100.00
(&%)+ X7:E7[C7\



8LL,<@#P ;
D)%+)* ;&@, '&0 ;&44/<#B)%#&< 6#%= %=, D#B0&B&<%0&++,0

roof of concepL
Slngle Servo ConLrol
v1 - uebugglng feedback

clear, clc,
CSl1lCnS SLn1
SL8vC 1
oslLlon1 = 1700
LowPlgh ls a funcLlon wrlLLen by group 2 for ease of converslon
LowPlgh reads lnLerger numbers and spllLs Lhem lnLo low and hlgh
byLes.

a = LowPlgh(oslLlon1)

uSlnC CCM C81 4
opens com porL 4, a usb porL used Lo connecL Lo Lhe Ardulno
com = serlal('CCM4','8aud8aLe', 9600),
fopen(com)

CCn18CL Cl SL8vCS 1,2,3
for debugglng, Lhe program reads Lhe old poslLlon ln from Lhe ardulno
Lo prlnL lL for comparlson wlLh Lhe prlnLed resulL of Lhe new poslLlon
lL has achleved. 1he board wlll accepL an lnLerger value senL Lo lL as a
hlgh and low byLe.
Servoverlfy = fread (com,2)
fwrlLe (com,oslLlon1,'lnL'),
Servoverlfy = fread(com,2)


CLCSlnC CCM C81 4
Close Lhe porL.
fclose(com)



8LL,<@#P F
80@/#<& F,B#4#++) M0,+#4#<)09 ;&@,
;&44,<% +#<,$ *,.#< 6#%= ]^^_

#deflne Su21 0xc2 //Su21 l2C Address

//lnlLlallze Serlal and l2C connecLlons

vold seLup()
[
Wlre.begln(), // sLarL l2C
Serlal.begln(9600),
}

//Maln vold Loop for program. 1hls loop runs consLanLly

vold loop()
[

//ueflne lnlLlal poslLlons. 1he reseL buLLon on Lhe board wlll reLurn Lhe servos Lo Lhls poslLlon. Low and hlgh byLes of 220 and 3
//represenL 1300, a mldpolnL poslLlon on Lhe servo. (236*3 + 220 = 1300)
//lnlLlal oslLlons on 8oard 8eseL

lnL CneLow = 220,
lnL CnePlgh = 3,

//!ump lnLo second vold" sLyle loop. 1hls loop wlll run conLlnuously unLll Lhe reseL buLLon breaks Lhe program and [umps back //Lo
reseL Lhe lnlLlal poslLlon. 1hls ls handy for debugglng as mlsLakes ln sendlng MaLlab daLa can be cleared wlLh a buLLon //press. A baLLery
dlsconnecL wlll do Lhe same, however Lhls ls necessary now LhaL a power supply ls used.

lnL SLarL = 1,
whlle (SLarL>0)
[

//WrlLes Lhe low and hlgh byLes Lo be recelved lnLo a 2 poslLlon maLrlx ln MaLlab.

Serlal.wrlLe (CneLow),
Serlal.wrlLe (CnePlgh),

//Serlal.avallable checks lf Lhere are any avallable blLs ln Lhe serlal buffer. lf Lhere are, Lhey are read ln Lhrough Lhe serlal.read
//commands. 1he buffer ls Lhen flushed Lo remove unknown blLs senL along wlLh Lhe low and hlgh byLes.

lf (Serlal.avallable () > 0)
[
CneLow = Serlal.read (),
CnePlgh = Serlal.read (),
Serlal.flush(),
}

//Sends Lhe flxed servo address (0 ls servo 1 ln Lhe reglsLer), and Lhe speed (0 ls max speed). 1he hlgh and low byLes are senL as //well.
Cnce Lhe servo ls esLabllshed, Lhe remalnlng 3 properLles are auLomaLlcally asslgned Lo Lhe correcL reglsLry poslLlon.

Wlre.begln1ransmlsslon(Su21>>1),
Wlre.send(0),
Wlre.send(0),
Wlre.send(CneLow),
Wlre.send(CnePlgh),
Wlre.end1ransmlsslon(),
}}



8LL,<@#P I
Q<#%#)+ M)0% F0)6#<.$

1hls appendlx conLalns Lhe lnlLlal parL drawlngs for Lhe roboL. All unlLs are ln mllllmeLers and Lhe
drawlngs are done uslng flrsL angle pro[ecLlons.

You might also like