implementation of inverse kinematics for the coordination

4
Implementation of Inverse Kinematics for the Coordination Control of Six Legged Robot WII/andari'. Kar/isa Priandanal, Agm BlIono) t, Department of Computer Sciences, Faculty ofMathcmatics and Natural Sciences, Bogor Agricultural University, Bogor, lndonesia (wulandari, ilkom@apps,ipb.acid) Abstract Si.\'Icgged robot, or hexapod, is a kind of Icggeci robots with static stabillty. The robot has mallv variants of leg movement s. This should be taken into consideration by the robot designer. The research is to adopt a leg ~ol'ement algorithm named tnverse killemalics./III.erse kincmatic s is used to find each leg t6/gle requircd /0 produce certain position of the end-effector. The experiments show that pulse width input can mOl'e the robot foster than that with end-effector displacement distance input. However, the distance input is more flexible due 10 iIS simplicity such that the user can input the desired end-effector displacement distance without relying on the pre-determined distances. The inverse kinematics algorithm has been developed, although it is not able to avoid or circumvent the barriers. Keywords: inverse kinematics. hexupod. robot I. INTROOlTTION Robot is 100151hal can be programmcd N rc- prograrnmed and has a mechanical ruanipulator or actuator in the form of componcnrs or 10015 specific to the various programs that are cas ily adjustable tn carry out various tasks. A tool can be catcgortzcd as a robot ir the device has a minimum or ~ degrees of freedom (DOF), Robot mechanism consists of a rigid body system connccted by joints. The position and orientation of the robot in space is called the pose. Robot kinematics descnbed by pose. ve locity, acceleration, and derived from the robot body pose motion generating mechanism (Siciliano 2008). Based on the stabiliry, the stability of legged robots can be divided into two categories, dynamic and static stabiliry. Legged robot which includes the dynamic stability is a robot with an ernphasis that does not affect the stability of the robot when it moves. ln general, this type of robot has one to four legs. Legged robot which includes the staric stability is a robot that the center of graviry remains stable when moving. This type of robots have at least 4 legs (Thirion and Thiry 2002). like the hexapod and the octopod. Hexapod robot has variants of rnovcrnents. With that amount of legs, resulling in the COmple)(ity of leg movernents, the robot needs a corresponding algorithms that can make hexapod tnove according to environmental conditions at the time (Thirion and Thiry 2002) . The fonn or he xapod legs is included to open chain kinernarics. Open chain kinematics is whcn the end- e ffector of the kg I arm robot IS not connecred back to the base of the leg joints. Robot rnecharusm can be calculatcd by forward kincrnatics ir Joint variables and velocity values are known. The position and orientation of the end - effector based on base frarne IS grven by evaluating the transformation rnatrix consisting of the relation rnatrix and lranslation matrix. Inverse kinematics is a joint decision variable based on the position and orientation of the end - effector (Lewis el al. 2003). Coordinating robot motion can be used with inverse kinematics. II. METHODS • Study literature This stage is used to study the datasheet of the components and algorithrn that will be used • Prepar ation oj equipment and materials The components needed to assernble oi six-legged robot is 12 servo HS645MG • 6 HS225B~ servo, Arduino Uno rnicrocontroller, SPC servo controller, and frame the robot MSRO I, • Development of the robot structure Development step of the robot structure consist of coupling tools and materiais and data retrieval robot workspace. • Development of robot movement algorithm This phase includes the development of data analysis and artificial intelligence workspace, Data P~edings ISS 2013 215

Upload: others

Post on 28-Nov-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Implementation of Inverse Kinematics for the CoordinationControl of Six Legged Robot

WIIandari Karisa Priandanal Agm BlIono)

t Department of Computer Sciences Faculty ofMathcmatics and Natural Sciences Bogor AgriculturalUniversity Bogor lndonesia (wulandari ilkomappsipbacid)

Abstract

Si Icgged robot or hexapod is a kind of Icggeci robots with static stabillty The robot has mallv variantsof leg movement s This should be taken into consideration by the robot designer The research is to adopt a leg~olement algorithm named tnverse killemalicsIIIerse kincmatic s is used to find each leg t6gle requircd 0

produce certain position of the end-effector The experiments show that pulse width input can mOle the robotfoster than that with end-effector displacement distance input However the distance input is more flexible due10 iIS simplicity such that the user can input the desired end-effector displacement distance without relying onthe pre-determined distances The inverse kinematics algorithm has been developed although it is not able toavoid or circumvent the barriers

Keywords inverse kinematics hexupod robot

I INTROOlTTIONRobot is 100151hal can be programmcd N rc-

prograrnmed and has a mechanical ruanipulator oractuator in the form of componcnrs or 10015 specificto the various programs that are cas ily adjustable tncarry out various tasks A tool can be catcgortzcd asa robot ir the device has a minimum or ~ degrees offreedom (DOF) Robot mechanism consists of arigid body system connccted by joints The positionand orientation of the robot in space is called thepose Robot kinematics descnbed by pose ve locityacceleration and derived from the robot body posemotion generating mechanism (Siciliano 2008)

Based on the stabiliry the stability of leggedrobots can be divided into two categories dynamicand static stabiliry Legged robot which includes thedynamic stability is a robot with an ernphasis thatdoes not affect the stability of the robot when itmoves ln general this type of robot has one to fourlegs Legged robot which includes the staric stabilityis a robot that the center of graviry remains stablewhen moving This type of robots have at least 4legs (Thirion and Thiry 2002) like the hexapod andthe octopod

Hexapod robot has variants of rnovcrnentsWith that amount of legs resulling in theCOmple)(ity of leg movernents the robot needs acorresponding algorithms that can make hexapodtnove according to environmental conditions at thetime (Thirion and Thiry 2002)

The fonn or he xapod legs is included to openchain kinernarics Open chain kinematics is whcnthe end- e ffector of the kg I arm robot IS notconnecred back to the base of the leg joints Robotrnecharusm can be calculatcd by forward k incrnaticsir Joint variables and velocity values are known Theposition and orientation of the end - effector basedon base frarne IS grven by evaluating thetransformation rnatrix consisting of the relationrnatrix and lranslation matrix Inverse kinematics isa joint decision variable based on the position andorientation of the end - effector (Lewis el al 2003)Coordinating robot motion can be used with inversekinematics

II METHODSbull Study literatureThis stage is used to study the datasheet of thecomponents and algorithrn that will be usedbull Prepar ation oj equipment and materialsThe components needed to assernble oi six-leggedrobot is 12 servo HS645MG bull 6 HS225B~ servoArduino Uno rnicrocontroller SPC servo controllerand frame the robot MSRO Ibull Development of the robot structureDevelopment step of the robot structure consist ofcoupling tools and materiais and data retrieval robotworkspacebull Development of robot movement algorithmThis phase includes the development of dataanalysis and artificial intelligence workspace Data

P~edings ISS 2013 215

workspace have been obtained from the previousstep will be analyzed in order to produce theexpected position of the leg tipbull Implementation of the robotAt ihis step the algorithrns thai have beendeveloped will be irnplementcd on a six-Ieggedrobotbull Testing and repair systemTesung step IS used 10 check the funcuonaluy andspccrfications of a six-Ieggcd robot that ha bccnfincd with aruficial intelligcnce If the desiredfunction and specificarion has not becn reacbedthere will be improvemerusbull Evaluation of thlaquo systemAt this step flaws and SULCCSC t hat hav C beenacjueved wrl] be evaluarcd

fIl RESUL TS AND DISCUSSJOII Prcparation 10015 and mutcrials

Materials uscd in this study includeFrarne of six-Iegged robot12 pieces servo HS645MG6 pieces servo HS225BBI piece SPC Servo controllerI piece Arduino Uno microcontroller9V Battery

bull 74V 2200mAh LiPo Battery + 51 V RegulatorThe software uscd was 103 and Arduino

using ClanguageDevelopment of robat structure

EKh kg of the six-leggcd robot consrsrs of 3picccs 5C(0 is 2 pieces Scrvo HS 645IJG and ISC(O HS 2251313 Se 10 posiuon at the kg chain canbe seen in Figure 2 HS 645MG servo and 5CI0 HS225BB have room for 180 dcgrce movement bychanging the pulse widrh 1500 microseconds pulsewidth gives 90 degrees servo position pulse widih600 microseconds provide servo position 0 degreesand 2400 rnicroseconds pulse width gives 180degrees servo position Servo HS 225BB only usedfor swinging the leg forward and back 50 it does notrequire a large operating power In order to liftingweight the robot required considerable strength tosupport the weight of the robot using servo HS645MG Robot coupling results can be seen inFigure 3Development of robot movement algorithm

lnverse kinematics is used to obtain the valueof angle at each joint (el e2 and e3) based on theposition information X y and z are given Inversekinematics is obtained by using the method ofgeornetry

Fig I Servo position

rlg ~ l rnplcmeruauon re sult

y

p tx v l)

Fig 3 Robot Gcornctry from abovelbulli

bullbull bullbullbullbullbull J~Y

Z onse

Fig ~ Robot Gcornctry trorn front

Based on Figure -l the e I angle can becalculated as follows

1B = UIfl(-)

r (1)

To calculate the angle 82 and 83 required the helpof comer angles AI A2 and AJ as shown in Figure5 Angle AI A2 and A3 can be calculated asfollows

(2)

(3)

-2 a3D~ (4)

Z_offset is the distance from the 1100r to the lowerlimit of the robot body At the time of z = 0Z_offset is 78 mm For the other z positionsZ_offset can be expressed by the followingequationZ_offset = 78 - z (5)L is the length of the robotleg with the equation

L = v(u - p2njang coxa)=- r (5)

Proceedings ISS 2013216

with u is the distance from base to coordinate end-effector and y is the position of the end-effector onthe y axis

Angle 82 and 83 in Figure 5 can be

epressed as follows

8= 90middot CAi +12)8=90

(6)(7)

Angle calculanon is different from the5(IVO angle On the servo angle starts from 0 to 180degrees while the angle geomctry calculationsstarting from -90 to 90 degrees To normalize theIeg the cta2_degnc_1 is subtractcd by 5t85 Thisvalue is obtaincd from the calculation of the inversckinemalics angle position when the leg is in a stableposition at 90 degrees Normalization was alsoperformed on leta3 _degree _ I by a subtraction of4 I 33 50 the value of joint angle on each leg is at 90degrees

implementation of the algorithm Oil RobotUsing inverse kinematics algorithm that has

been developed is irnplcmented on a six -Icggedrobot that has the dirnension limits as can be seen inTable I These lirruts are used 10 see the robotworkspace

T~hle 7 w orksplCc of robot

Joint IlI1klength Min Max(mm) angle angle

Coxa 15 middot90 90

2 Femur RO middot90 90deg

3 Tibia 130 0 90deg

_ -==- _ l $rroo

IJ 7~+ bull bull -bull-- --~ d--Figure 5 Robot Connections

Implementation of the system was performedas in Figure 5 Microcontroller will receive the inputof motion commands (left right forward andbackward) Microcontrotler connected to the servocontroller using 12C connection SDA port (Pin A4)and SCl port (Pin A5) on the microcontroller willbe connected with SDA port and SCl port on SPCSltrvocontroller

Table 8 Comparison of computational time ofalgorithm

Time needed each

DistancRotar ste~

Movemen y--- Usin Inverset type c angle g- (mm) (~) band

kin em atie

width s

Forv bullard 130 0 205 429Backward 50 0 223 430Lcft 0 45 342 544Right 0 45 328 542

Movement phase from a six-legged robotconsists of four poses are cyclical which are powerlift swing and contact Power pose is when the ligposition just above the surface and stable lift poseis when part of the femur and tibia joint rotatescounter-clockwise so that leg lifts along the z axisSwing pose is when coxa servo rotates along thespin axis z Contact pose is when the leg returnsfrom above until z axis is O These phases willcontinue to repeat so that the robot will move

To move forward 3 hexapod legs will moveforward while the other legs stand still After themovement of 3 legs has completed the other 3 legsmove the same way This movement pattem iscalled a tripod gait

Implementation of the algorithm is done in twowaysI With the input of the PWM pulsc width valueusing the result of the previous calculation ofinverse kinematics2 With the input of the distanee 11100ed by thedcsired end-effcctor and included in the calculationof inverse k inernatics algorithmEvaluation of the system

Table 2 shows that the computing time of thefirst algorithm is faster than the second algorithmThis occurs because of time caIculation of inversekinematics on the second algorithm However thesecond algorithm is more flexible because USltn candefine their own end-effector displacement distancedesired without relying on a pre-determineddistance

Overall it can be seen that the developedinverse kinematics algorithm has been successfullyimplernented on a hexapod This algorithm has fastenough computing time especially whenirnplernented by directlyentering the pulse widthvalue of inverse kinematics cal~ulations Howeverthis algorithm is not able to adjust with the barrierln other words the movement of the robot legs willrernain the same even though there is a hitch FFSAalgorithm developed by Reyneri (1991) can beimplemented to overcorne these shortcomingsHowever since the calculation is more complex theimplementation of this algorithm would require alonger computation time

Proceedings ISS 2013 217

IV CONCLUSIONCalculation algorithrn usmg inverse kinematics

have been developed -and irnplemented on ahexapod Implernentation of the algorithm with theinput of the pulse width values have bcen calculaiedpreviously has fasrer time cornputation ihan tbeirnplcrnentation of the algorithm with the input ofend-effecior displacernern disrance Howcver thesecond algorithm IS more flex ible srnce the uscr scan define their own end-cffecror drsplacernerudistance desircd wuhout rslxing on a prc-determineddistance

REfERECES(I) ATMega 2009 8-bit AVR Microcontrollcr

with 4i8i1632K by tes rn-sy siemprogrammable flash AT mega48PAATmega88PA ATmega168PA ATmega328P[Internet] [downloaded 2013 Mei 25]Available alhltpllwwwatmelcomlImagesdoc8161pdf

[2J Berardi F Chiaberge M Miranda E ReyneriLM 1997 Awalking hexapod controlled by aneuro-fuzzy system In Minnesota CollegePersonnel Association 1997 Feb 10-12 PisaItalia Pisa (II) hlm 95-104 doi10 I 1667520

(3J Igoe T 2010 Arduino Uno (Internet](downloaded 2012 Des 9) Available alhup middotW3 rdurno cc en M 3 inardu ino Board11n0

[-t]lnnoalic Elcc troruc s 2011 Manual spe scr 0

motor coruro llcr [Internet] [downloaded 2UI2Des 2J Available JI

hllpwwwinnovativeeectrorllcscomlinnovativc _electronics pro _ spcservohtrn

(5J Lewis F Dawson D Abdallah C 2003 RobotManipulator Control Theory and Practice Edke-2 New York (US) Tayler and Francis

(6] PTDesign 2000 Pulse widrh modulation[Internet] [ downloaded 2013 Jun n]Available atIabcbarnn cdu classe s MIT 96104 ropics PA

rnpdf[7J Reyncn LM 1997 An introduction to fuuy

state autornata ln lnternational WoOConference on Artificial and Natural NeuralNctwork s 1997 Jun -t-6 Canary IslandsSpanyol Canarv lslands (rS) pg 273-2R3

[8] RCToys 2001 Announccd specificatlOrvgtf US-6-t5MG standard de luxe high rorque seno[daiasheer] [downloadcd 2012 Nov 2012)Available at www rctoyscomhitec-servosH IT -I S64 5MGpdf

(9) RobotShop 2001 Announced spcc ification ofHS225BB might mini scrvo [datasheei](downloaded 2012 Des 9] Available atwwwrobotshopcomlPDFHS225bbpdf

[10] Siciliano [3 Khatib 0 2008 Handbook ofRobotics [bibliographyJ Berlin (DE)Springer

[ II J Thirior B Thiry I 200~ Concurrentprogramuung for tllc 1I1r01 )f hexapodwalk mg -C~I SIGAda Ada lcucrs )1

(I) 17-2S dOI 10 IImiddotLi 1)7 -lgti 51]7551

218 Proceedings ISS 201)

l

workspace have been obtained from the previousstep will be analyzed in order to produce theexpected position of the leg tipbull Implementation of the robotAt ihis step the algorithrns thai have beendeveloped will be irnplementcd on a six-Ieggedrobotbull Testing and repair systemTesung step IS used 10 check the funcuonaluy andspccrfications of a six-Ieggcd robot that ha bccnfincd with aruficial intelligcnce If the desiredfunction and specificarion has not becn reacbedthere will be improvemerusbull Evaluation of thlaquo systemAt this step flaws and SULCCSC t hat hav C beenacjueved wrl] be evaluarcd

fIl RESUL TS AND DISCUSSJOII Prcparation 10015 and mutcrials

Materials uscd in this study includeFrarne of six-Iegged robot12 pieces servo HS645MG6 pieces servo HS225BBI piece SPC Servo controllerI piece Arduino Uno microcontroller9V Battery

bull 74V 2200mAh LiPo Battery + 51 V RegulatorThe software uscd was 103 and Arduino

using ClanguageDevelopment of robat structure

EKh kg of the six-leggcd robot consrsrs of 3picccs 5C(0 is 2 pieces Scrvo HS 645IJG and ISC(O HS 2251313 Se 10 posiuon at the kg chain canbe seen in Figure 2 HS 645MG servo and 5CI0 HS225BB have room for 180 dcgrce movement bychanging the pulse widrh 1500 microseconds pulsewidth gives 90 degrees servo position pulse widih600 microseconds provide servo position 0 degreesand 2400 rnicroseconds pulse width gives 180degrees servo position Servo HS 225BB only usedfor swinging the leg forward and back 50 it does notrequire a large operating power In order to liftingweight the robot required considerable strength tosupport the weight of the robot using servo HS645MG Robot coupling results can be seen inFigure 3Development of robot movement algorithm

lnverse kinematics is used to obtain the valueof angle at each joint (el e2 and e3) based on theposition information X y and z are given Inversekinematics is obtained by using the method ofgeornetry

Fig I Servo position

rlg ~ l rnplcmeruauon re sult

y

p tx v l)

Fig 3 Robot Gcornctry from abovelbulli

bullbull bullbullbullbullbull J~Y

Z onse

Fig ~ Robot Gcornctry trorn front

Based on Figure -l the e I angle can becalculated as follows

1B = UIfl(-)

r (1)

To calculate the angle 82 and 83 required the helpof comer angles AI A2 and AJ as shown in Figure5 Angle AI A2 and A3 can be calculated asfollows

(2)

(3)

-2 a3D~ (4)

Z_offset is the distance from the 1100r to the lowerlimit of the robot body At the time of z = 0Z_offset is 78 mm For the other z positionsZ_offset can be expressed by the followingequationZ_offset = 78 - z (5)L is the length of the robotleg with the equation

L = v(u - p2njang coxa)=- r (5)

Proceedings ISS 2013216

with u is the distance from base to coordinate end-effector and y is the position of the end-effector onthe y axis

Angle 82 and 83 in Figure 5 can be

epressed as follows

8= 90middot CAi +12)8=90

(6)(7)

Angle calculanon is different from the5(IVO angle On the servo angle starts from 0 to 180degrees while the angle geomctry calculationsstarting from -90 to 90 degrees To normalize theIeg the cta2_degnc_1 is subtractcd by 5t85 Thisvalue is obtaincd from the calculation of the inversckinemalics angle position when the leg is in a stableposition at 90 degrees Normalization was alsoperformed on leta3 _degree _ I by a subtraction of4 I 33 50 the value of joint angle on each leg is at 90degrees

implementation of the algorithm Oil RobotUsing inverse kinematics algorithm that has

been developed is irnplcmented on a six -Icggedrobot that has the dirnension limits as can be seen inTable I These lirruts are used 10 see the robotworkspace

T~hle 7 w orksplCc of robot

Joint IlI1klength Min Max(mm) angle angle

Coxa 15 middot90 90

2 Femur RO middot90 90deg

3 Tibia 130 0 90deg

_ -==- _ l $rroo

IJ 7~+ bull bull -bull-- --~ d--Figure 5 Robot Connections

Implementation of the system was performedas in Figure 5 Microcontroller will receive the inputof motion commands (left right forward andbackward) Microcontrotler connected to the servocontroller using 12C connection SDA port (Pin A4)and SCl port (Pin A5) on the microcontroller willbe connected with SDA port and SCl port on SPCSltrvocontroller

Table 8 Comparison of computational time ofalgorithm

Time needed each

DistancRotar ste~

Movemen y--- Usin Inverset type c angle g- (mm) (~) band

kin em atie

width s

Forv bullard 130 0 205 429Backward 50 0 223 430Lcft 0 45 342 544Right 0 45 328 542

Movement phase from a six-legged robotconsists of four poses are cyclical which are powerlift swing and contact Power pose is when the ligposition just above the surface and stable lift poseis when part of the femur and tibia joint rotatescounter-clockwise so that leg lifts along the z axisSwing pose is when coxa servo rotates along thespin axis z Contact pose is when the leg returnsfrom above until z axis is O These phases willcontinue to repeat so that the robot will move

To move forward 3 hexapod legs will moveforward while the other legs stand still After themovement of 3 legs has completed the other 3 legsmove the same way This movement pattem iscalled a tripod gait

Implementation of the algorithm is done in twowaysI With the input of the PWM pulsc width valueusing the result of the previous calculation ofinverse kinematics2 With the input of the distanee 11100ed by thedcsired end-effcctor and included in the calculationof inverse k inernatics algorithmEvaluation of the system

Table 2 shows that the computing time of thefirst algorithm is faster than the second algorithmThis occurs because of time caIculation of inversekinematics on the second algorithm However thesecond algorithm is more flexible because USltn candefine their own end-effector displacement distancedesired without relying on a pre-determineddistance

Overall it can be seen that the developedinverse kinematics algorithm has been successfullyimplernented on a hexapod This algorithm has fastenough computing time especially whenirnplernented by directlyentering the pulse widthvalue of inverse kinematics cal~ulations Howeverthis algorithm is not able to adjust with the barrierln other words the movement of the robot legs willrernain the same even though there is a hitch FFSAalgorithm developed by Reyneri (1991) can beimplemented to overcorne these shortcomingsHowever since the calculation is more complex theimplementation of this algorithm would require alonger computation time

Proceedings ISS 2013 217

IV CONCLUSIONCalculation algorithrn usmg inverse kinematics

have been developed -and irnplemented on ahexapod Implernentation of the algorithm with theinput of the pulse width values have bcen calculaiedpreviously has fasrer time cornputation ihan tbeirnplcrnentation of the algorithm with the input ofend-effecior displacernern disrance Howcver thesecond algorithm IS more flex ible srnce the uscr scan define their own end-cffecror drsplacernerudistance desircd wuhout rslxing on a prc-determineddistance

REfERECES(I) ATMega 2009 8-bit AVR Microcontrollcr

with 4i8i1632K by tes rn-sy siemprogrammable flash AT mega48PAATmega88PA ATmega168PA ATmega328P[Internet] [downloaded 2013 Mei 25]Available alhltpllwwwatmelcomlImagesdoc8161pdf

[2J Berardi F Chiaberge M Miranda E ReyneriLM 1997 Awalking hexapod controlled by aneuro-fuzzy system In Minnesota CollegePersonnel Association 1997 Feb 10-12 PisaItalia Pisa (II) hlm 95-104 doi10 I 1667520

(3J Igoe T 2010 Arduino Uno (Internet](downloaded 2012 Des 9) Available alhup middotW3 rdurno cc en M 3 inardu ino Board11n0

[-t]lnnoalic Elcc troruc s 2011 Manual spe scr 0

motor coruro llcr [Internet] [downloaded 2UI2Des 2J Available JI

hllpwwwinnovativeeectrorllcscomlinnovativc _electronics pro _ spcservohtrn

(5J Lewis F Dawson D Abdallah C 2003 RobotManipulator Control Theory and Practice Edke-2 New York (US) Tayler and Francis

(6] PTDesign 2000 Pulse widrh modulation[Internet] [ downloaded 2013 Jun n]Available atIabcbarnn cdu classe s MIT 96104 ropics PA

rnpdf[7J Reyncn LM 1997 An introduction to fuuy

state autornata ln lnternational WoOConference on Artificial and Natural NeuralNctwork s 1997 Jun -t-6 Canary IslandsSpanyol Canarv lslands (rS) pg 273-2R3

[8] RCToys 2001 Announccd specificatlOrvgtf US-6-t5MG standard de luxe high rorque seno[daiasheer] [downloadcd 2012 Nov 2012)Available at www rctoyscomhitec-servosH IT -I S64 5MGpdf

(9) RobotShop 2001 Announced spcc ification ofHS225BB might mini scrvo [datasheei](downloaded 2012 Des 9] Available atwwwrobotshopcomlPDFHS225bbpdf

[10] Siciliano [3 Khatib 0 2008 Handbook ofRobotics [bibliographyJ Berlin (DE)Springer

[ II J Thirior B Thiry I 200~ Concurrentprogramuung for tllc 1I1r01 )f hexapodwalk mg -C~I SIGAda Ada lcucrs )1

(I) 17-2S dOI 10 IImiddotLi 1)7 -lgti 51]7551

218 Proceedings ISS 201)

l

with u is the distance from base to coordinate end-effector and y is the position of the end-effector onthe y axis

Angle 82 and 83 in Figure 5 can be

epressed as follows

8= 90middot CAi +12)8=90

(6)(7)

Angle calculanon is different from the5(IVO angle On the servo angle starts from 0 to 180degrees while the angle geomctry calculationsstarting from -90 to 90 degrees To normalize theIeg the cta2_degnc_1 is subtractcd by 5t85 Thisvalue is obtaincd from the calculation of the inversckinemalics angle position when the leg is in a stableposition at 90 degrees Normalization was alsoperformed on leta3 _degree _ I by a subtraction of4 I 33 50 the value of joint angle on each leg is at 90degrees

implementation of the algorithm Oil RobotUsing inverse kinematics algorithm that has

been developed is irnplcmented on a six -Icggedrobot that has the dirnension limits as can be seen inTable I These lirruts are used 10 see the robotworkspace

T~hle 7 w orksplCc of robot

Joint IlI1klength Min Max(mm) angle angle

Coxa 15 middot90 90

2 Femur RO middot90 90deg

3 Tibia 130 0 90deg

_ -==- _ l $rroo

IJ 7~+ bull bull -bull-- --~ d--Figure 5 Robot Connections

Implementation of the system was performedas in Figure 5 Microcontroller will receive the inputof motion commands (left right forward andbackward) Microcontrotler connected to the servocontroller using 12C connection SDA port (Pin A4)and SCl port (Pin A5) on the microcontroller willbe connected with SDA port and SCl port on SPCSltrvocontroller

Table 8 Comparison of computational time ofalgorithm

Time needed each

DistancRotar ste~

Movemen y--- Usin Inverset type c angle g- (mm) (~) band

kin em atie

width s

Forv bullard 130 0 205 429Backward 50 0 223 430Lcft 0 45 342 544Right 0 45 328 542

Movement phase from a six-legged robotconsists of four poses are cyclical which are powerlift swing and contact Power pose is when the ligposition just above the surface and stable lift poseis when part of the femur and tibia joint rotatescounter-clockwise so that leg lifts along the z axisSwing pose is when coxa servo rotates along thespin axis z Contact pose is when the leg returnsfrom above until z axis is O These phases willcontinue to repeat so that the robot will move

To move forward 3 hexapod legs will moveforward while the other legs stand still After themovement of 3 legs has completed the other 3 legsmove the same way This movement pattem iscalled a tripod gait

Implementation of the algorithm is done in twowaysI With the input of the PWM pulsc width valueusing the result of the previous calculation ofinverse kinematics2 With the input of the distanee 11100ed by thedcsired end-effcctor and included in the calculationof inverse k inernatics algorithmEvaluation of the system

Table 2 shows that the computing time of thefirst algorithm is faster than the second algorithmThis occurs because of time caIculation of inversekinematics on the second algorithm However thesecond algorithm is more flexible because USltn candefine their own end-effector displacement distancedesired without relying on a pre-determineddistance

Overall it can be seen that the developedinverse kinematics algorithm has been successfullyimplernented on a hexapod This algorithm has fastenough computing time especially whenirnplernented by directlyentering the pulse widthvalue of inverse kinematics cal~ulations Howeverthis algorithm is not able to adjust with the barrierln other words the movement of the robot legs willrernain the same even though there is a hitch FFSAalgorithm developed by Reyneri (1991) can beimplemented to overcorne these shortcomingsHowever since the calculation is more complex theimplementation of this algorithm would require alonger computation time

Proceedings ISS 2013 217

IV CONCLUSIONCalculation algorithrn usmg inverse kinematics

have been developed -and irnplemented on ahexapod Implernentation of the algorithm with theinput of the pulse width values have bcen calculaiedpreviously has fasrer time cornputation ihan tbeirnplcrnentation of the algorithm with the input ofend-effecior displacernern disrance Howcver thesecond algorithm IS more flex ible srnce the uscr scan define their own end-cffecror drsplacernerudistance desircd wuhout rslxing on a prc-determineddistance

REfERECES(I) ATMega 2009 8-bit AVR Microcontrollcr

with 4i8i1632K by tes rn-sy siemprogrammable flash AT mega48PAATmega88PA ATmega168PA ATmega328P[Internet] [downloaded 2013 Mei 25]Available alhltpllwwwatmelcomlImagesdoc8161pdf

[2J Berardi F Chiaberge M Miranda E ReyneriLM 1997 Awalking hexapod controlled by aneuro-fuzzy system In Minnesota CollegePersonnel Association 1997 Feb 10-12 PisaItalia Pisa (II) hlm 95-104 doi10 I 1667520

(3J Igoe T 2010 Arduino Uno (Internet](downloaded 2012 Des 9) Available alhup middotW3 rdurno cc en M 3 inardu ino Board11n0

[-t]lnnoalic Elcc troruc s 2011 Manual spe scr 0

motor coruro llcr [Internet] [downloaded 2UI2Des 2J Available JI

hllpwwwinnovativeeectrorllcscomlinnovativc _electronics pro _ spcservohtrn

(5J Lewis F Dawson D Abdallah C 2003 RobotManipulator Control Theory and Practice Edke-2 New York (US) Tayler and Francis

(6] PTDesign 2000 Pulse widrh modulation[Internet] [ downloaded 2013 Jun n]Available atIabcbarnn cdu classe s MIT 96104 ropics PA

rnpdf[7J Reyncn LM 1997 An introduction to fuuy

state autornata ln lnternational WoOConference on Artificial and Natural NeuralNctwork s 1997 Jun -t-6 Canary IslandsSpanyol Canarv lslands (rS) pg 273-2R3

[8] RCToys 2001 Announccd specificatlOrvgtf US-6-t5MG standard de luxe high rorque seno[daiasheer] [downloadcd 2012 Nov 2012)Available at www rctoyscomhitec-servosH IT -I S64 5MGpdf

(9) RobotShop 2001 Announced spcc ification ofHS225BB might mini scrvo [datasheei](downloaded 2012 Des 9] Available atwwwrobotshopcomlPDFHS225bbpdf

[10] Siciliano [3 Khatib 0 2008 Handbook ofRobotics [bibliographyJ Berlin (DE)Springer

[ II J Thirior B Thiry I 200~ Concurrentprogramuung for tllc 1I1r01 )f hexapodwalk mg -C~I SIGAda Ada lcucrs )1

(I) 17-2S dOI 10 IImiddotLi 1)7 -lgti 51]7551

218 Proceedings ISS 201)

l

IV CONCLUSIONCalculation algorithrn usmg inverse kinematics

have been developed -and irnplemented on ahexapod Implernentation of the algorithm with theinput of the pulse width values have bcen calculaiedpreviously has fasrer time cornputation ihan tbeirnplcrnentation of the algorithm with the input ofend-effecior displacernern disrance Howcver thesecond algorithm IS more flex ible srnce the uscr scan define their own end-cffecror drsplacernerudistance desircd wuhout rslxing on a prc-determineddistance

REfERECES(I) ATMega 2009 8-bit AVR Microcontrollcr

with 4i8i1632K by tes rn-sy siemprogrammable flash AT mega48PAATmega88PA ATmega168PA ATmega328P[Internet] [downloaded 2013 Mei 25]Available alhltpllwwwatmelcomlImagesdoc8161pdf

[2J Berardi F Chiaberge M Miranda E ReyneriLM 1997 Awalking hexapod controlled by aneuro-fuzzy system In Minnesota CollegePersonnel Association 1997 Feb 10-12 PisaItalia Pisa (II) hlm 95-104 doi10 I 1667520

(3J Igoe T 2010 Arduino Uno (Internet](downloaded 2012 Des 9) Available alhup middotW3 rdurno cc en M 3 inardu ino Board11n0

[-t]lnnoalic Elcc troruc s 2011 Manual spe scr 0

motor coruro llcr [Internet] [downloaded 2UI2Des 2J Available JI

hllpwwwinnovativeeectrorllcscomlinnovativc _electronics pro _ spcservohtrn

(5J Lewis F Dawson D Abdallah C 2003 RobotManipulator Control Theory and Practice Edke-2 New York (US) Tayler and Francis

(6] PTDesign 2000 Pulse widrh modulation[Internet] [ downloaded 2013 Jun n]Available atIabcbarnn cdu classe s MIT 96104 ropics PA

rnpdf[7J Reyncn LM 1997 An introduction to fuuy

state autornata ln lnternational WoOConference on Artificial and Natural NeuralNctwork s 1997 Jun -t-6 Canary IslandsSpanyol Canarv lslands (rS) pg 273-2R3

[8] RCToys 2001 Announccd specificatlOrvgtf US-6-t5MG standard de luxe high rorque seno[daiasheer] [downloadcd 2012 Nov 2012)Available at www rctoyscomhitec-servosH IT -I S64 5MGpdf

(9) RobotShop 2001 Announced spcc ification ofHS225BB might mini scrvo [datasheei](downloaded 2012 Des 9] Available atwwwrobotshopcomlPDFHS225bbpdf

[10] Siciliano [3 Khatib 0 2008 Handbook ofRobotics [bibliographyJ Berlin (DE)Springer

[ II J Thirior B Thiry I 200~ Concurrentprogramuung for tllc 1I1r01 )f hexapodwalk mg -C~I SIGAda Ada lcucrs )1

(I) 17-2S dOI 10 IImiddotLi 1)7 -lgti 51]7551

218 Proceedings ISS 201)

l