Article
A Hexapod Robot with Non-Collocated Actuators Min-Chan Hwang *, Chiou-Jye Huang
ID
and Feifei Liu
School of Electrical Engineering and Automation, Jiangxi University of Science and Technology, No. 86, Hongqi Road, Ganzhou 341000, China;
[email protected] (C.-J.H.);
[email protected] (F.L.) * Correspondence:
[email protected]; Tel.: +86-177-7075-4280 Received: 8 April 2018; Accepted: 12 June 2018; Published: 25 June 2018
Abstract: The primary issue in developing hexapod robots is generating legged motion without tumbling. However, when the hexapod is designed with collocated actuators, where each joint is directly mounted with an actuator, the number of actuators is usually high. The adverse effects of using a great number of actuators include the rise in the challenge of algorithms to control legged motion, the decline in loading capacity, and the increase in the cost of construction. In order to alleviate these problems, we propose a hexapod robot design with non-collocated actuators which is achieved through mechanisms. This hexapod robot is reliable and robust which, because of its mechanism-generated (as opposed to computer-generated) tripod gaits, is always is statically stable, even if running out of battery or due to electronic failure. Keywords: hexapod; mechanism; non-collocated
1. Introduction Wheeled robots can efficiently move on flat surfaces, but they become ineffective as soon as they encounter rough and uneven environments, which comprise the majority of the Earth’s surface. For such terrains, legged robots simply always outperform wheeled robots. Hence, the development of a legged robot is motivated by the need to maneuver over rough terrains for outdoor activities. The challenge of developing a legged robot lies in one primary fact: how to generate the legged motion without tumbling. In 1968, McGhee and Frank [1,2] proposed the center of gravity projection (COG) method, where the legged robot is statically stable if the horizontal projection of its COG lies inside the support polygon, defined as the convex polygon formed by connecting footprints. Orin [3] proposed a generalized COG in 1976 called the COP (center of pressure) method, wherein a robot is dynamically stable if the projection of the COG along the direction of the resultant force acting on the COG lies inside the support polygon. A variety of legged robots, including quadruped, hexapod, and octopod robots commonly practice the above methods [4–6]. On the other hand, bipedal robots favor the ZMP (zero moment point) method, first defined by Vukabratovic and Juricic [7,8] in 1969, stating that a robot is stable if the moment about the COP at its supporting foot is zero. Meanwhile, two distinct methodologies evolved and were later introduced into robotics— that is, fuzzy theories and neural networks. Fuzzy theories [9–11] address the imprecision of systems by defining the fuzzy numbers or fuzzy sets that can be expressed in linguistic terms. For instance, the technology for finding the best value of foot acceleration for a given trajectory can be achieved by using a very simple Mamdani fuzzy inference system [12]. Once the foot acceleration function has been obtained, the real-time implementation of the fuzzy reasoning process can be optimized [13,14]. Neural networks [15–17] are able to represent complex nonlinear relationships and are good at classifying patterns into preselected categories used in the training process. One important observation from neuroscience is that the CPG (central pattern generator) [18,19] located in the spinal cord is an autonomous device generating rhythmic behaviors such as locomotion, requiring neither peripheral
Appl. Syst. Innov. 2018, 1, 20; doi:10.3390/asi1030020
www.mdpi.com/journal/asi
Appl. Syst. Syst. Innov. Innov. 2018, 2018, 2, 2, x x FOR FOR PEER PEER REVIEW REVIEW Appl.
of 15 15 22 of
Appl. Syst. Innov. 2018, 1, 20
2 of 15
spinal cord cord is is an an autonomous autonomous device device generating generating rhythmic rhythmic behaviors behaviors such such as as locomotion, locomotion, requiring requiring spinal neither peripheral peripheral sensor sensor feedback feedback nor nor the the regulation regulation command command from from the the brain-stem. brain-stem. Hybrid Hybrid neither sensor feedback nor the regulation command from the brain-stem. Hybrid schemes using either schemes using either fuzzy controllers or neural networks to implement bionic control are schemes using either fuzzy controllers or neural networks to implement bionic controlfuzzy are controllers or neural networks to implement bionic control are appealing, and have been conducted appealing, and have been conducted extensively in many articles (e.g., [20–27]). appealing, and have been conducted extensively in many articles (e.g., [20–27]). extensively in many articles [20–27]). We found found that all all of the the(e.g., legged robots under under discussion discussion are are designed designed with with collocated collocated actuators. actuators. We that of legged robots We found that all of the legged robots under discussion are designed with collocated actuators. That is, each joint is mounted with an actuator so that the number of actuators is usually high. The That is, each joint is mounted with an actuator so that the number of actuators is usually high. The That is, each joint is mounted with an actuator so that the number of actuators is usually high. adverse effects effects of of using using aa great great number number of of actuators actuators include include increasing increasing the the challenge challenge of of algorithms algorithms to to adverse The adverse effects of using a great number of actuators include increasing the challenge of algorithms control legged motions, degrading the loading capacity, and raising the cost of construction. This control legged motions, degrading the loading capacity, and raising the cost of construction. This to control motions, degrading thebefore loading capacity, and raising the cost of construction. inspired uslegged to overcome overcome these weaknesses before resorting to other other techniques. Hence, we designed designed inspired us to these weaknesses resorting to techniques. Hence, we This inspired mechanism us to overcome these before resorting to other Hence, an innovative innovative mechanism to lessen lessen theweaknesses number of of actuators. actuators. Since stable stable tripodtechniques. gaits are are generated generated an to the number Since tripod gaits we designed an innovative mechanism to lessen the number of actuators. Since stable tripod gaits are by mechanism instead of computer, a great amount of computing resources can be released and by mechanism instead of computer, a great amount of computing resources can be released and generated by mechanism instead of computer, a great amount of computing resources can be released diverted to engineering applications. In this paper, we will briefly discuss some design issues, diverted to engineering applications. In this paper, we will briefly discuss some design issues, and diverted engineering this paper, we will briefly discuss some design model, issues, elaborate the to mechanism of applications. reducing the the In number of actuators, actuators, establish the mathematical mathematical model, elaborate the mechanism of reducing number of establish the elaborate the mechanism of reducing the number of actuators, establish the mathematical model, and introduce the relevant hardware as well as software. and introduce the relevant hardware as well as software. and introduce the relevant hardware as well as software. 2. Design Design Issues Issues 2. 2. Design Issues Determining how how to to build build aa robot robot is is somewhat somewhat mundane. mundane. Nevertheless, Nevertheless, it it is is sufficiently sufficiently Determining Determining how to build a robot is somewhat mundane. Nevertheless, it is sufficiently nontrivial and and in in fact fact sophisticated sophisticated that that we we must must have have aa design design mechanism, mechanism, select select materials, materials, nontrivial nontrivial and in fact sizes, sophisticated that we must haveasa shown designinmechanism, select materials, determine component make engineering drawings Figure 1, machine all of of the the determine component sizes, make engineering drawings as shown in Figure 1, machine all determine component sizes, make engineering drawings as shown in Figure 1, machine all of parts, and and assemble assemble them them into into aa robot robot as as shown shown in in Figure Figure 2, 2, where where the the size size of of the the robot robot is is about about 712 712 parts, the parts, and assemble them into a robot as shown in Figure 2, where the size of the robot is about mm ×× 641 641 mm mm ×× 189 189 mm mm and and the the size size of of its its main main body body is is 382 382 mm mm ×× 222 222 mm mm ×× 134 134 mm mm when when six six legs legs mm 712 mm × 641Figure mm ×1 189 mmthat andthere the size of itsthree mainmotors body isrequired 382 mmby × 222 mm × 134(i.e., mmbottom when are detached. shows are only this hexapod are detached. Figure 1 shows that there are only three motors required by this hexapod (i.e., bottom six legs upper are detached. 1 shows that there are only three motorsare required this porous hexapodmetal (i.e., motor, motor, Figure and swivel swivel motor). Although ball bearings betterby than motor, upper motor, and motor). Although ball bearings are better than porous metal bottom motor, upper motor, and swivel motor). Although ball bearings are better than porous metal bearings in in terms terms of of overall overall performance, performance, they they require require more more space space in in their their housing housing and and more more bearings bearings in terms of overall performance, they require more design, space inthe their housing is and moreofmaterial material to construct. In order to achieve a light-weight structure made lighter material to construct. In order to achieve a light-weight design, the structure is made of lighter to construct. In orderand to achieve light-weight aluminum AT6061T6 porous ametal metal bearings.design, the structure is made of lighter aluminum aluminum AT6061T6 and porous bearings. AT6061T6 and porous metal bearings.
1. Visualization Figure 1. Visualization of Figure of components. components.
Figure 2. 2. Completed Completed hexapod hexapod robot. robot. Figure
The servos used in the hobby radio control (RC) market for controlling model airplanes, cars, cars, The servos used in the hobby radio control (RC) market for controlling model airplanes, airplanes, cars, and boats are also also frequently frequently used used in in robots. robots. The servos servos that that are are good good for for light-weight light-weight application and boats are also frequently used in robots. The servos that are good for light-weight application
Appl. Syst. Innov. 2018, 1, 20
3 of 15
Appl. Syst. Innov. 2018, 2, x FOR PEER REVIEW Appl. Syst. Innov. 2018, 2, x FOR PEER REVIEW
3 of 15 3 of 15
have (red) andand ground (black), and the for control (yellow), as shown have three threewires: wires:two twofor forpower power (red) ground (black), andthird the third for control (yellow), as have three3a.wires: two for power (red) and ground (black), and the thirdposition for control (yellow), as in Figure The signal is generally a variable-width pulse. The neutral corresponded to shown in Figure 3(a). The signal is generally a variable-width pulse. The neutral position shown in Figure 3(a). The signal is generally a variable-width pulse. The neutral position a pulse of about ms,ofsent at 1.5 intervals of at 20intervals ms. Theofservo used in [28]used withinsize corresponded to a1.5 pulse about ms, sent 20 ms.HS-5645MG The servo HS-5645MG [29] corresponded to a pulse of37.59 aboutmm 1.5 possesses ms, sent ataintervals of 20 ms. The servo In HS-5645MG used in the [29] 40.39 mm × 19.56 mm × stalled torque of 12 kg-cm. order to improve with size 40.39 mm × 19.56 mm × 37.59 mm possesses a stalled torque of 12 kg-cm. In order to with size 40.39 mm × 19.56 those mm × 37.59 mmwith possesses a stalled torque of 12 kg-cm. InYeorder to loading we replaced servos motors, Shayang Co. Ltd. improvecapacity, the loading capacity, weRC replaced thosepowerful RC servos with produced powerful by motors, produced by improve the loading capacity, we replaced those RC servos with powerful motors, produced by with serial rated torque 110 g-cm, rated speed rpm, each of them Shayang Yenumber Co. Ltd.IG300264-SY2979, with serial number IG300264-SY2979, rated torque 1105950 g-cm, rated speed 5950 Shayang Ye Co.a Ltd. with serial number IG300264-SY2979, rated(7torque 110Figure g-cm, 3b, rated speed 5950 mounted with gear train (reduction ratio 1:264) and encoder ppr). In the motor we rpm, each of them mounted with a gear train (reduction ratio 1:264) and encoder (7 ppr). In Figure rpm, each of them mounted with a gear train (reduction ratio 1:264) and encoder (7 ppr). In Figure chose with size we ∅30chose × 102with mmsize can generate stalled of approximately 29ofkg-cm, obtained by 3(b), the motor ∅30 × 102a mm cantorque generate a stalled torque approximately 29 3(b), the motor we chose with110 size ∅30with × 102 mm canofgenerate a stalled torque of approximately 29a multiplying its rated torque g-cm the ratio reduction gear 264. The swivel motor was kg-cm, obtained by multiplying its rated torque 110 g-cm with the ratio of reduction gear 264. The kg-cm,motor obtained by multiplying its rated torque 110 g-cm with the ratio of reduction gear 264. The J-type number swivel motorwith was serial a J-type motorDME34J500B. with serial number DME34J500B. swivel motor was a J-type motor with serial number DME34J500B.
(a) (a)
(b) (b)
Figure 3. Two types of actuators: (a) RC servos; (b) DC motor with gear train and encoder. Figure 3. 3. Two Two types types of of actuators: actuators: (a) RC RC servos; servos; (b) (b) DC motor motor with with gear gear train train and and encoder. encoder. Figure (a) DC
The closed control system of this robot was configured as shown in Figure 4, where , , The closed control system of this robot was was configured configured as as shown shown in in Figure Figure 4, 4, where where θ1 , ,θ2 ,, θ3 stand for the outputs of the bottom, upper, and swivel motors after reduction gears, accordingly. bottom, upper, upper, and and swivel swivel motors motors after after reduction reduction gears, gears, accordingly. accordingly. stand for the outputs of the bottom, The encoders attached with motors were the feedback sensors for the inner loop. Those incremental The encoders attached with motors were the feedback sensors for the inner loop. Those incremental encoders are vulnerable to accumulation errors and are unable to identify the initial states to accumulation errorserrors and areand unable identifytotheidentify initial states the encoders are arevulnerable vulnerable to accumulation aretounable the whenever initial states whenever the system is restarted, hence proximity, LJ12A3-4-Z/BY, and microswitch sensors system is restarted, henceisproximity, and microswitch sensors assisted for initialization whenever the system restarted,LJ12A3-4-Z/BY, hence proximity, LJ12A3-4-Z/BY, and microswitch sensors assisted for initialization and calibration. Besides, the purpose of using microswitches was to limit and calibration. Besides, the of using microswitches was limitmicroswitches the operation of thetoswivel assisted for initialization andpurpose calibration. Besides, the purpose oftousing was limit the operation of the swivel motor within a safety zone. The L298 N drivers were the H-bridges in motor within aofsafety zone.motor The L298 N drivers H-bridges in the form ICsH-bridges (integrated the operation the swivel within a safetywere zone.the The L298 N drivers wereofthe in the form of ICs (integrated circuits) with rated current 2 A and rated power 25 W. circuits) rated current circuits) 2 A and rated powercurrent 25 W. 2 A and rated power 25 W. the formwith of ICs (integrated with rated
Figure 4. Closed control system. Figure 4. Closed control system.
3. Mechanism 3. 3. Mechanism Mechanism The robot is divided into three modules: an upper deck, a bottom deck, and a swivel to connect The robot is divided divided into into three three modules: modules: an upper upper deck, deck, aa bottom bottom deck, deck, and and aa swivel swivel to to connect connect robot(Figure is both The of them 5), where both of decksanpossess the same components except their legs are both of them (Figure 5), where both of decks possess the same components except their legs are both of them (Figureorientations, 5), where both decks possess theofsame components except their legs are mounted in opposite not of only saving one half the time in drawing but also benefiting mounted in opposite orientations, not only saving one half of the time in drawing but also benefiting mounted in opposite orientations, not only saving one half of the time in drawing but also benefiting manufacture and maintenance. manufacture and maintenance. manufacture and maintenance.
Appl. Syst. Innov. 2018, 1, 20 Appl. Syst. Innov. 2018, 2, FOR PEER REVIEW Appl. Syst. Syst. Innov. Innov. 2018, 2018, 2, 2, xxx FOR FOR PEER PEER REVIEW REVIEW Appl.
4 of 15 4 of 15 of 15 15 44 of
Figure 5. Three major modules. Figure 5. Three major modules.
Since both both of of the the upper upper and and bottom bottom decks decks share share the same same structure, structure, it it is is sufficient sufficient to to study study just just Since Since both of the upper and bottom decks share thethe same structure, it is sufficient to study just one one of them. As shown in Figure 6, the upper deck consists of two types of mechanisms: one to one of them. As shown in Figure 6, the deck upper deck consists of two types of mechanisms: one to of them. As shown in Figure 6, the upper consists of two types of mechanisms: one to distribute distribute the power and another to generate the legged motion. distribute and generate legged motion. the power the andpower another to another generatetothe leggedthe motion.
Figure deck. Figure 6. 6. Upper Upper deck. deck. Figure 6. Upper
Let us us tentatively remove some some parts parts of of the the upper upper deck deck to to disclose disclose the the structure structure of of the the power Let tentatively remove power distribution system as shown in Figure 7(a). Note that it is not necessary to put on the timing belts distribution system as shown in Figure 7a. Note that it is not necessary to put on the timing belts distribution system as shown in Figure 7(a). Note that it is not necessary to put on the timingwhen belts when making making engineering drawings, but they are added here forofthe the sakeThe of clarity. clarity. The power power making engineering drawings, but theybut are they added here for the sake clarity. power distribution when engineering drawings, are added here for sake of The distribution system is composed of pulleys and timing belts through which one single motor is able able system is composed of pulleys and timing belts through which one single motor is able to dispense its distribution system is composed of pulleys and timing belts through which one single motor is to dispense dispense its sets power to three three sets of shafts shafts (i.e.,posterior anterior shafts, posterior shafts, andAdditionally, middle shafts). shafts). power to three of shafts (i.e., anterior shafts, shafts, and middle shafts). the to its power to sets of (i.e., anterior posterior shafts, and middle Additionally, the power flows are illustrated in Figure 7(b). power flows are illustrated in Figure 7b. Additionally, the power flows are illustrated in Figure 7(b).
(a) (a)
(b) (b)
Figure 7. Power distribution system: (a) Structure of pulleys and timing belts; (b) Power flows Figure 7. Power distribution system: (a) Structure of pulleys and timing belts; (b) Power flows
Each set set of of shafts shafts is is attached attached with with aa four-bar four-bar linkage linkage [28] which which is the the femur femur of of the leg, leg, as as Each Each set of shafts is attached with a four-bar linkage [29] [28] which is theisfemur of the leg,the as shown shown in Figure 8(a) to generate the legged motion. To put all the parts together, all six of the legs shown in 8a Figure 8(a) to generate themotion. legged motion. To the putparts all the parts together, allthe sixlegs of the in Figure to generate the legged To put all together, all six of canlegs be can be casted into two sets, each of which consists of three legs, as shown in Figure 8(b) where the can be casted into two sets, each of which consists of three legs, as shown in Figure 8(b) where the labels 11 and and 22 stand stand for for the the specific specific deck deck to to which which they they belong belong (i.e., (i.e., bottom bottom deck deck and and upper upper deck, deck, labels
Appl. Syst. Innov. 2018, 1, 20
5 of 15
Appl. Syst. Innov. 2018, 2, x FOR PEER REVIEW
5 of 15
Appl. Syst. Innov. 2, xeach FOR of PEER REVIEW casted into two2018, sets, which consists
15 of three legs, as shown in Figure 8b where the labels 15 of and respectively). Hence, this robot with a minimal number of non-collocated actuators can implement 2 stand for the specific deck to which they belong (i.e., bottom deck and upper deck, respectively). respectively). Hence, this robotmechanisms. with a minimal number of non-collocated actuators canstable implement the stable gaits using Compared toactuators other hexapod robots the with collocated Hence, this tripod robot with a minimal number of non-collocated can implement tripod the stable tripod gaits using mechanisms. Compared to other hexapod robots with actuators, each joint is directly mounted with an actuator, where the number of actuators could as gaits using mechanisms. Compared to other hexapod robots with collocated actuators, collocated each be joint actuators, each joint is directly mounted with an actuator, where the number of actuators could be as high as eighteen. This innovative mechanism uses only three actuatorscould to achieve locomotion, and is directly mounted with an actuator, where the number of actuators be as high as eighteen. high innovative as eighteen. This innovative mechanism uses only three actuators to achieve locomotion, and significantly reduces the costuses of the robot. This mechanism only three actuators to achieve locomotion, and significantly reduces significantly reduces the cost of the robot. the cost of the robot.
(a) (a)
(b) (b)
Figure 8. (a) Structure of one leg; (b) Two sets of tripod legs. Figure 8. (a) Structure of one leg; (b) Two sets of tripod legs. Figure 8. (a) Structure of one leg; (b) Two sets of tripod legs.
4. Tripod Gaits 4. Tripod Gaits 4. Tripod Gaits The six legs of this robot can be divided into two sets, each of which consists of three legs (i.e., The six legs of this robot can be divided into two sets, each of which consists of three legs The six and legs posterior of this robot be the divided into twomiddle sets, each of three legs (i.e., the anterior legscan with contralateral leg,oftowhich form consists a triangular support). In (i.e., the anterior and posterior legs with the contralateral middle leg, to form a triangular support). the following, anterior and legs 2with contralateral middle to form triangular support). In the theposterior labels 1 and referthe to the bottom deck and leg, upper deck, arespectively. The tripod In the following, the labels 1 and 2 refer to the bottom deck and upper deck, respectively. The tripod the following, the labels 1 and 2 refer to the bottom deck and upper deck, respectively. The tripod gaits of the robot can be generated by alternating two sets of tripod legs, as shown in Figure 9 gaits of the robot can be generated by alternating two sets of tripod legs, as shown in Figure 9 where gaits ofthe the robot be generated by alternating of ground tripod legs, shown inare Figure where legs withcan encirclement represent that theytwo are sets on the whileasthe others off of9 the legs with encirclement represent that they are on the ground while the others are off of the ground. where the legs encirclement represent that theyrobot are oncan themove ground whiletumbling the others are offits of the ground. As with can be seen in Figure 9, the hexapod without because As can be seen in Figure 9, the hexapod robot can move without tumbling because its COG is always the ground. As inside can bethe seen in Figuresupports. 9, the hexapod robot move without tumbling because its COG is always triangular Note that thecan static stability is guaranteed by means inside the triangular supports. Note that the static stability is guaranteed by means of mechanism COG is alwaysinstead inside of therequiring triangular supports. Note that the Hence, static stability guaranteed by means of mechanism a sophisticated algorithm. a great is amount of computation instead of requiring a sophisticated algorithm. Hence, a great amount of computation time can be of mechanism instead requiring time can be released forofother uses. a sophisticated algorithm. Hence, a great amount of computation released for other uses. time can be released for other uses.
Figure 9. 9. A A sequence sequence of of motions motions moving moving in in aa forward forward direction. direction. Figure Figure 9. A sequence of motions moving in a forward direction.
This motions of of its its swivel andand legs, as This robot robot changes changesits itscourse courseby bydelicately delicatelycoordinating coordinatingthe the motions swivel legs, This changes its there course byfive delicately coordinating the motions of its swivel and legs, to as shown in robot Figure 10 10 where are from upper right corner as shown in Figure where there are fivestages stagesarranged arrangedclockwise clockwise fromthe the upper right corner shown in left Figure 10 where there arerobot five rests. stages arranged from the upper right corner to the upper corner. At stage stage the robot rests.At At stage2,2,clockwise theupper upperdeck deck takes legs labeled corner. At 1,1,the stage the takes offoff itsits legs labeled as the upper left corner. At stage 1, the robot rests. At stage 2, the upper deck takes off its legs labeled as 2 and makes a swing counterclockwise while the legs of the bottom deck labeled as 1 remain on 2 and makes a swing counterclockwise while the legs of the bottom deck labeled as 1 remain on the as 2ground. and makes a swing counterclockwise while thelegs legsand of the bottom deckcounterclockwise labeled as 1 remain on the At stage 3, the bottom deck takes off its makes a swing while the legs ground. Atupper stage 3, the step bottom deckground. takes off legs and these makesmotions, a swing the counterclockwise while the of the deck on the Byitsrepeating robot can manage a the legs of the upper deck step on the ground. By repeating these motions, the robot can manage a turn around its center with any arbitrary degree. turn around its center with any arbitrary degree.
Appl. Syst. Innov. 2018, 1, 20
6 of 15
ground. At stage 3, the bottom deck takes off its legs and makes a swing counterclockwise while the legs of the upper deck step on the ground. By repeating these motions, the robot can manage a turn around center anyPEER arbitrary degree. Appl. Syst.its Innov. 2018,with 2, x FOR REVIEW 6 of 15
Figure Figure 10. 10. Sequence Sequence of of motions motions to to change change course. course.
Note that the swing is a result of changing the cross-angle between two decks driven by the Note that the swing is a result of changing the cross-angle between two decks driven by the swivel motor. The swivel motor is installed at the bottom deck, and its output shaft is connected to swivel motor. The swivel motor is installed at the bottom deck, and its output shaft is connected to the the upper deck. During the procedure of changing orientation, both decks turn counterclockwise upper deck. During the procedure of changing orientation, both decks turn counterclockwise but the but the swivel motor does not. If the bottom deck keeps still, the output shaft of the swivel motor swivel motor does not. If the bottom deck keeps still, the output shaft of the swivel motor turns in turns in the same direction as the upper deck, since the upper deck is driven by the shaft. the same direction as the upper deck, since the upper deck is driven by the shaft. Nevertheless, if the Nevertheless, if the upper deck keeps still, the output shaft of the swivel motor must turn in the upper deck keeps still, the output shaft of the swivel motor must turn in the opposite direction to the opposite direction to the bottom deck, because the bottom deck is driven by the body of the motor bottom deck, because the bottom deck is driven by the body of the motor instead of its shaft. Hence, instead of its shaft. Hence, the swivel motor must alternate its direction according to which deck the swivel motor must alternate its direction according to which deck keeps still. Taking a close look keeps still. Taking a close look at Figure 10, the robot turns 30° in total, where stages 3 and 5 at Figure 10, the robot turns 30◦ in total, where stages 3 and 5 contribute 20◦ and 10◦ , respectively. contribute 20° and 10°, respectively. 5. Modeling and Analysis 5. Modeling and Analysis A simplified model is proposed here to analyze the motion of this hexapod. As a result of A simplified model is proposed here to analyze the motion of this hexapod. As a result of tripod gaits, each set of tripod legs can be grouped together and regarded as a single leg, and hence tripod gaits, each set of tripod legs can be grouped together and regarded as a single leg, and hence the hexapod can be reduced to a biped model with absolute stability whose initial posture is shown the hexapod can be reduced to a biped model with absolute stability whose initial posture is shown in Figure 11, where G represents the center of mass of the robot; O0 , {i0 , j , k0 } stand for the origin and in Figure 11, where G represents the center of mass of the robot; O , {i0 , j , k } stand for the origin base vectors of the inertial frame; L, H, D are length, height, and distance; P1 , P2 denote the points at and base vectors of the inertial frame; L, H, D are length, height, and distance; P , P denote the the feet corresponding to the bottom deck and upper deck, respectively. points at the feet corresponding to the bottom deck and upper deck, respectively.
tripod gaits, each set of tripod legs can be grouped together and regarded as a single leg, and hence the hexapod can be reduced to a biped model with absolute stability whose initial posture is shown in Figure 11, where G represents the center of mass of the robot; O , {i , j , k } stand for the origin and base vectors of the inertial frame; L, H, D are length, height, and distance; P , P denote the Appl. Syst. 2018,corresponding 1, 20 7 of 15 points atInnov. the feet to the bottom deck and upper deck, respectively.
Figure 11. Biped model.
Except for the indicial convention adapted to this particular configuration, a series of reference frames is launched according to the Denavit–Hartenberg convention as shown in Figure 12. The center of mass G is initially aligned with the origin O0 of inertial frame-0, and there is a bifurcation after frame-3 so that indexes 4b and 5b stand for the frames attached to G and P2 . θ1 and θ2 stand for the outputs of the bottom deck and upper deck motors, respectively. ∅1 , ∅2 , and ∅3 are cross-angles between adjacent frames according to their geometrical configuration. Hence, the homogeneous transformation from frame-0 to frame-3 is defined in Equation (1): ◦ ◦ T30 = Rot(z, ∅3 ) Trans( L, 0, 0) Rot x, 90 Rot z, 90 Trans( H, 0, 0) Rot(z, ∅1 ) Trans( L, 0, 0).
(1)
3 and T 3 are defined in Equations (2) and (3), respectively: Likewise, the transformations T4a 5b
◦ 3 T4a = Rot z, θ1 + 90 Trans( D, 0, 0),
(2)
3 T5b = Rot(z, ∅2 ) Trans( L, 0, 0) Rot(z, θ2 + 90o ) Trans( H, 0, 0).
(3)
The compound transformations of T04a and T05b can be obtained as follows: 0 3 T4a = T30 T4a =
0 0
0 3 T5b = T30 T5b =
0 0
cos∅3 sin∅3 −1 0 0 0
cos∅3 sin∅3 −1 0 0 0
sin∅3 Lcos∅3 (1 − cos θ1 ) −cos∅3 Lsin∅3 (1 − cos θ1 ) 0 H − D + Lsinθ1 0 1 sin∅3 −cos∅3
,
Lcos∅3 (1 − cos θ1 − cos θ2 ) Lsin∅3 (1 − cos θ1 − cos θ2 ) 0 L(sinθ1 + sinθ2 ) 0 1
(4)
,
(5)
Hence, the coordinates of G and P2 can be defined in Equations (6) and (7), respectively:
Lcos∅3 (1 − cos θ1 ) xG G = yG = Lsin∅3 (1 − cos θ1 ) , zG H − D + Lsinθ1 x P2 Lcos∅3 (1 − cos θ1 − cos θ2 ) P2 = y P2 = Lsin∅3 (1 − cos θ1 − cos θ2 ) . z P2 L(sinθ1 + sinθ2 )
(6)
(7)
Appl. Syst. Innov. 2018, 1, 20 Appl. Syst. Innov. 2018, 2, x FOR PEER REVIEW
(a)
8 of 15 8 of 15
(b)
Figure Figure 12. 12. D-H D-H configuration: configuration: (a) (a) Frames Frames in in isometric isometric view; view; (b) (b) Frames Frames in in lateral lateral view. view.
Observing the whole periodic motions (i.e., forward and backward as shown in Figures 13 and Observing the whole periodic motions (i.e., forward and backward as shown in Figures 13 and 14), 14), the robot performs linear motion at the time events , , , , while it is either resting or the robot performs linear motion at the time events t−3 , t−1 , t1 , t3 , while it is either resting or managing managing a turn at the time events , , , , . The central pattern G described in Equation (6) a turn at the time events t−4 , t−2 , t0 , t2 , t4 . The central pattern G described in Equation (6) in fact in fact belongs to the time event . According to Figures 13 and 14, the complete description of the belongs to the time event t1 . According to Figures 13 and 14, the complete description of the central central pattern must be defined piecewise as follows: pattern must be defined piecewise as follows: = G xG G = yG−2 ∅ ( )− ∅ ( )(1 + cos ) zG−2 , ∈ [−360o , −180o ), ∅ ( )− ∅ ( )(1 + cos ) − + −2Lcos∅3 (t0 ) − Lcos∅3 (t−2 )(1 + cos θ1 ) ◦ ◦ − ( ∅ )(1 )(1 +)cos θ1 ) f or θ1 , θ2 ∈ −360 , −180 , −2Lsin∅3 (t0 ) − ∅Lsin 3 ( t− −2cos − 1cos ) − H −∅D(+ )(1 , ∈ [−180 , 0o ), Lsinθ (8) − − − Lcos ∅ t 1 − cos θ ( )( ) 3 0 2 = ∅ ((t )(1 − cos ) f or θ , θ ∈ −180◦ , 0◦ , (8) − Lsin∅ 1 2 3 0 )(1 − cos θ2 ) o o ( )(1 , ∈ [0 , 180 ], ∅ − cos ) H − D − Lsinθ2 = − + Lcos ∅ t 1 − cos θ ( )( ) 3 0 1 ◦ ◦ 2 ∅( ) + ∅ ( )(1 + cos ) Lsin∅3 (t0 )(1 − cos θ1 ) f or θ1 , θ2 ∈ 0 , 180 o (180 ( ) , ∈ , 360o ], 2 ∅ + ∅ ( )(1 + cos ) H − D + Lsinθ1 − − 2Lcos∅3 (t0 ) + Lcos∅3 (t2 )(1 + cos θ2 ) ◦ ◦ f or θ1 ,11; θ2 ∈θ ,180 , 360 for , outputs of ∅3 (tL0 )are + Lsin ∅3 (t2 )(1 as + cos θ2 ) in H,2Lsin Figure where parameters D, and dimensions shown θ stand 2 the cross-angles between frame-0 and frame-1 as bottom and upper motors; ∅ H (t − ), D∅−(tLsinθ ) are
shown in Figure 12(a) at time events t , t . Note that ∅ is related to θ as described by Section 4 where parameters H, D, and L are dimensions as shown in Figure 11; θ1 , θ2 stand for outputs of bottom (i.e., alternating the swivel motor so that ∅ = θ when is pivoted and ∅ = −θ when is and upper motors; ∅3 (t0 ), ∅3 (t2 ) are the cross-angles between frame-0 and frame-1 as shown in pivoted). Figure 12a at time events t0 , t1 . Note that ∅3 is related to θ3 as described by Section 4 (i.e., alternating the swivel motor so that ∅3 = θ3 when P1 is pivoted and ∅3 = −θ3 when P2 is pivoted).
Figure 13. Events when moving forward.
where parameters H, D, and L are dimensions as shown in Figure 11; θ , θ stand for outputs of bottom and upper motors; ∅ (t ), ∅ (t ) are the cross-angles between frame-0 and frame-1 as shown in Figure 12(a) at time events t , t . Note that ∅ is related to θ as described by Section 4 (i.e., alternating the swivel motor so that ∅ = θ when is pivoted and ∅ = −θ when 9 of 15 is Appl. Syst. Innov. 2018, 1, 20 pivoted).
Figure 13. Events when moving forward. Appl. Syst. Innov. 2018, 2, x FOR PEER REVIEW
9 of 15
Figure 14. Events when moving backward.
6. 6. Hardware Hardware Configuration Configuration The as important important to a robot robot as as the the brain brain is is to to aa human. human. Considering The controller controller is is as to a Considering cost, cost, we we prefer prefer to select the the controllers controllers which which make make use use of of free free software. software. One achievement in software to select One great great achievement in the the software community GPL (General (General Public Public License) License) proposed by Richard Richard Stallman Stallman in in 1989. 1989. It It caused caused community was was the the GPL proposed by Linux to evolve and flourish. Consequently, many resources based on Linux can be accessed with Linux to evolve and flourish. Consequently, many resources based on Linux can be accessed with no no or with minimum minimum charge. least two two candidates, candidates, both which use use the the Linux Linux operating operating or with charge. There There are are at at least both of of which system: system: the the ARM ARM embedded embedded system system and and Raspberry Raspberry Pi. Pi. We We need need an an operating operating system system to to perform perform the the multitasking of applications with fast reaction to time-critical events. Linux was created Linus multitasking of applications with fast reaction to time-critical events. Linux was created by by Linus Torvalds when when he he was was aa student student at at the the University University of of Helsinki Helsinki in in 1991. 1991. It It is is able able to to simplify simplify system system Torvalds hardware design and programming, as well as the debugging of complex applications. Moreover, hardware design and programming, as well as the debugging of complex applications. Moreover, the spirit of of GNU GNU has has created created aa wide wide variety variety of of forums forums across across the the Internet, Internet, making making it it possible possible to to the spirit collaborate with hobbyists or experts from around the world. collaborate with hobbyists or experts from around the world. ARM embeddedsystems systemsare areprimarily primarily used to develop customized products, and requires ARM embedded used to develop customized products, and requires more more knowledge and expertise. If anembedded ARM embedded used without development tools knowledge and expertise. If an ARM systemsystem is used is without development tools such as such as ADS, IAR, and RealView MDK etc., it not only has to establish the cross-compiling ADS, IAR, and RealView MDK etc., it not only has to establish the cross-compiling environment on a environment on a personal but must also frequently programs the target personal computer, but mustcomputer, also frequently download programsdownload to the target board fortodebugging. board for debugging. The other option is the was Raspberry Pi, which was originally developed in the The other option is the Raspberry Pi, which originally developed in the United Kingdom by United Kingdom by the Raspberry Pi Foundation to promote the teaching of basic computer science the Raspberry Pi Foundation to promote the teaching of basic computer science in schools and in in schools and in developing It can and edit,test compile, debug, andon-board. test programs directly developing countries. It can edit,countries. compile, debug, programs directly Comparatively, on-board. Comparatively, theARM Raspberry Pi issystems easier for thanuse ARM embeddeda prototype. systems for use in the Raspberry Pi is easier than embedded in developing developing a prototype. After years of evolution, Linux operating systems have been diversified, resulting in variance After years evolution,PiLinux systems have configuration been diversified, resulting in variance among them. ForofRaspberry Linux,operating the command evoking is “sudo raspi-config” as among them. For Raspberry Pi Linux, the command evoking configuration is “sudo raspi-config” as shown in Figure 15, but it is “setup” for Red Hat Linux. shown in Figure 15, but it is “setup” for Red Hat Linux.
in schools and in developing countries. It can edit, compile, debug, and test programs directly on-board. Comparatively, the Raspberry Pi is easier than ARM embedded systems for use in developing a prototype. After years of evolution, Linux operating systems have been diversified, resulting in variance among them. For Raspberry Pi Linux, the command evoking configuration is “sudo raspi-config” as Appl. Syst. Innov. 2018, 1, 20 10 of 15 shown in Figure 15, but it is “setup” for Red Hat Linux.
Figure 15. Configuration menu.
In order ordertotoaccess accessthe theRaspberry Raspberry a crossing platform, you have to enable theserver SSH In Pi Pi on on a crossing platform, you have to enable eithereither the SSH Appl. Syst. Innov. 2018, 2, x FOR PEER REVIEW 10 of 15 server or serial login shell on the interfacing options of configuration menus. After completing or serial login shell on the interfacing options of configuration menus. After completing configuration, configuration, it isto ready for you to develop application with C,etc. C++, Python, etc. 7.isSoftware it ready forDevelopment you develop application programs with programs C, C++, Python, Figure Development 16 illustrates that the infrastructure of wireless remote control consists of a WLAN 7. Software (wireless local area network) and a WAN (wide area network). The WLAN is based on Wi-Fi which 16 illustrates thatfor thewireless infrastructure of wireless remote control consists ofaarange WLAN is theFigure IEEE 802.11 standard local area networking with devices. It has of(wireless about 20 local area network) and a WAN (wide area network). The WLAN is based on Wi-Fi which is the IEEE m indoors and a greater range outdoors. A configuration of the Raspberry Pi must be done in order 802.11 standard for wireless local area networking with devices. It has a range of about 20 m indoors to access the robot through WLAN. That is, adding the following paragraphs to the file called and a greaterlocated range outdoors. A configuration of the Raspberry Pi must be done in order to access the “interfaces” at/etc/network: robot iface through WLAN. That is, adding the following paragraphs to the file called “interfaces” located eth0 auto wlan0 at/etc/network: inet dhcp iface eth0 auto wlan0
wpa-ssid inet dhcp “User’s Identification” wpa-psk “User’s Password” wpa-ssid “User’s Identification” wpa-psk “User’s Password” Then, you have to restart the networking service and login through SSH to ensure the Then, you have to restartcommands. the networking service and login through SSH to ensure the connection connection by the following by#sudo/etc/init.d/networking the following commands. restart (or #sudo service networking restart) #sudo/etc/init.d/networking restart (or #sudo service networking restart)
#ssh xx.xx.xx.xx –p 22 –l pi
#ssh xx.xx.xx.xx -p 22 -l pi
Figure 16. Infrastructure of wireless remote control. WAN: wide area network; WLAN: wireless local Figure 16. Infrastructure of wireless remote control. WAN: wide area network; WLAN: wireless area network. local area network.
The on aa network networkmust mustadopt adoptprotocols protocolslike likehuman humanlanguages, languages, having a set The communication on having a set of of written rules must be followed for communication be successful. Protocols determine written rules thatthat must be followed for communication to beto successful. Protocols determine packet packet size, information in the headers, datainisthe stored in the sides of the size, information in the headers, and how and data how is stored packet. Bothpacket. sides ofBoth the conversation conversation must understand these rules for a successful transmission. Therefore, a common must understand these rules for a successful transmission. Therefore, a common language must be language must be agreed upon between communicating If neither device has a common agreed upon between communicating devices. If neither devices. device has a common protocol installed,
they cannot communicate. Hence, the programs to implement remote control are based upon those principles to establish the server–client networking connection, as shown in Figure 17.
local area network.
The communication on a network must adopt protocols like human languages, having a set of written rules that must be followed for communication to be successful. Protocols determine packet size, information in the headers, and how data is stored in the packet. Both sides of the conversation Appl. Syst. Innov. 2018, 1, 20 11 of 15 must understand these rules for a successful transmission. Therefore, a common language must be agreed upon between communicating devices. If neither device has a common protocol installed, protocol installed, they cannot communicate. Hence, the programs to implement control are they cannot communicate. Hence, the programs to implement remote control are remote based upon those based upontothose principles to establish the server–client networking connection, as shown principles establish the server–client networking connection, as shown in Figure 17. in Figure 17.
Figure 17. 17. TCP/IP TCP/IP connection. Figure connection.
Table 1 illustrates the program paradigms for a server and client where the server has to specify the type of protocol and await a connection request from a client and meanwhile the client simply designates the port and address pointing to the remote server. Table 1. Paradigms of a server socket and client socket. Server Socket
Client Socket
int Sock0, Sock1, n; struct_sockaddr_in Addr; Socket0 = socket(AF_INET,SOCK_STREAM,0); Addr.sin_family = AF_INET; Addr.sin_addr.s_addr = INADDR_ANY; Addr.sin_port = htons (49152); n = sizeof (Addr); bind (Socket0, (struct sockaddr *) & Addr, n); listen (Socket0,3); Socket1 = accept (Socket0, (struct sockaddr *) & Addr, & sizeof (struct sockaddr_in));
int Sock0, n; struct_sockaddr_in Addr; Socket0 = socket (AF_INET,SOCK_STREAM,0); Addr.sin_family = AF_INET; Addr.sin_addr.s_addr = inet_addr (argv [1]); Addr.sin_port = htons (49152); n = sizeof (Addr); connect (Socket0, (struct sockaddr *) & Addr, n);
Most protocols actually consist of several protocols grouped together in a suite. One protocol usually only covers one aspect of communications between devices. Since the TCP/IP suite has multiple protocols, the port is created and assigned with a number to identify the specific network service. The port numbers are divided into three categories: well-known ports 0–1023, registered ports 1024–49,151, and dynamic ports 49,152–65,535. For instance, the port numbers 21, 5, and 110, stand for FTP, SMTP, POP3 (i.e., file transfer, sending and receiving e-mail), respectively. The robot creates a server socket listening to the local computer, and the local computer plays the role as an agent who has to create two sockets (i.e., a client socket to link with the robot through WLAN and a server socket to accept the connection from the remote computer across WAN). The information transaction shown in Figure 18 is initiated by the remote computer from which the robot must respond promptly for every request.
stand for FTP, SMTP, POP3 (i.e., file transfer, sending and receiving e-mail), respectively. The robot creates a server socket listening to the local computer, and the local computer plays the role as an agent who has to create two sockets (i.e., a client socket to link with the robot through WLAN and a server socket to accept the connection from the remote computer across WAN). The information shown in Figure 18 is initiated by the remote computer from which the Appl. Syst. Innov.transaction 2018, 1, 20 12 of 15 robot must respond promptly for every request.
Figure 18. Information Figure 18. Information transaction. transaction.
We are now surrounded by many kinds of digital devices such as desktop computers, notebook We are now surrounded by many kinds of digital devices such as desktop computers, computers, smart phones, etc., all of which have been furnished with a GUI (graphical user interface) notebook computers, smart phones, etc., all of which have been furnished with a GUI (graphical that we take for granted. The importance of a GUI is that it provides the sensation of a user-friendly user interface) that we take for granted. The importance of a GUI is that it provides the sensation interface to give an efficient interaction between the human and the machine. It is sufficient to use of a user-friendly interface to give an efficient interaction between the human and the machine. It is GCC (GNU Compiler Collection) to develop the application programs for the robot and the local sufficient to use GCC (GNU Compiler Collection) to develop the application programs for the robot computer. However, the remote computer which is a terminal for users must take the user interface and the local computer. However, the remote computer which is a terminal for users must take the user into account. It is recommended to use Qt because Qt provides a cross-platform with an IDE interface into account. It is recommended to use Qt because Qt provides a cross-platform with an IDE (integrated development environment) that is used for developing application programs and GUIs. (integrated development that is used for developing application programs and GUIs. Appl. Syst. Innov. 2018,construction 2, x FOR environment) PEER REVIEW of 15 It simplifies the of a GUI, and has a class browser, an object browser, and a12class It simplifies the construction of a GUI, and has a class browser, an object browser, and a class hierarchy diagram for use in for object-oriented software development. The picture shownasinshown Figurein 19Figure is the hierarchy diagram use in object-oriented software development. Theaspicture GUI Qt forby this 19 is created the GUIby created Qtproject. for this project.
Figure 19. Graphical Figure 19. Graphical user user interface. interface.
8. 8. Simulation Simulation and and Testing Testing A planned route routefor forthe the robot to move as shown in Figure 20 is illustrated tothe justify the A planned robot to move as shown in Figure 20 is illustrated to justify formula formula established by the previous section. Suppose that the robot initially rests at point-a and established by the previous section. Suppose that the robot initially rests at point-a and starts ao starts a sequence forwardThat motions. Thatthree is, striding threepoint-b; steps toward turning 45 sequence of forwardofmotions. is, striding steps toward turning point-b; 45o counterclockwise; counterclockwise; striding three steps toward point-c; turning 45° counterclockwise; striding three ◦ striding three steps toward point-c; turning 45 counterclockwise; striding three steps toward point-d. o steps toward point-d. Then, it manages a turn with 135 clockwise and initiates a sequence Then, it manages a turn with 135o clockwise and initiates a sequence of backward motions. That of is, o backward motions. That is, striding three45steps toward point-e; turning 45steps counterclockwise; o counterclockwise; striding three steps toward point-e; turning striding three toward point-f; striding three steps toward point-f; turning 90otoward counterclockwise; striding three steps toward turning 90o counterclockwise; striding three steps point-a; turning 135o clockwise. o point-a; turning 135 clockwise.
counterclockwise; striding three steps toward point-c; turning 45° counterclockwise; striding three steps toward point-d. Then, it manages a turn with 135o clockwise and initiates a sequence of backward motions. That is, striding three steps toward point-e; turning 45o counterclockwise; striding three steps toward point-f; turning 90o counterclockwise; striding three steps toward o Appl. Syst. turning Innov. 2018,135 1, 20 13 of 15 point-a; clockwise.
Figure 20. A planned route for the robot. Figure 20. A planned route for the robot.
Based Based on on Equation Equation (8) (8) with with parameters parameters H H == 133 133 mm, mm, LL == 40 40 mm, mm, D D == 45 45 mm, mm, the the simulation simulation showed satisfactory results. The top view of the central pattern as shown in Figure 21 showed satisfactory results. The top view of the central pattern as shown in Figure 21 agreed agreed with with the planned route. The isometric view of the central pattern as shown in Figure 22 reveals the nature the planned route. The isometric view of the central pattern as shown in Figure 22 reveals the of the motion performed by this robot, ripple to a step.toThe center mass nature of the motion performed by thiswhere robot,each where eachcorresponds ripple corresponds a step. Theofcenter fluctuated between 88 mm (=H − D) and 128 mm (=H – D + L) for every step within step size equal to of mass fluctuated between 88 mm (=H − D) and 128 mm (=H – D + L) for every step within step Appl. Syst. Syst. Innov. Innov. 2018, 2018, 2, 2, xx FOR FOR PEER PEER REVIEW REVIEW 13 of of 15 15 Appl. 13 80 mm (=2 to × 80 L).mm (=2 × L). size equal
Figure 21. 21. Top Top view of of the the central central pattern. pattern. Figure Top view
Figure 22. Isometric view view of of the the central central pattern. Figure 22. Isometric Isometric pattern. Figure 22. view of the central pattern.
Figure 23 23shows showssome some snapshots of the the hexapod hexapod robot as tested tested on site.were There were no no snapshots of the hexapod robotrobot as tested on site.on There no concerns Figure 23 shows some snapshots of as site. There were concerns of tumbling even upon running out of battery or due to electronic failure since the tripod of tumbling even upon running out of battery or due to electronic failure since the tripod gaits are concerns of tumbling even upon running out of battery or due to electronic failure since the tripod gaits are are generated generated by mechanism mechanism instead of computer. computer. Hence, this robot is isand reliable and robust. robust. generated by mechanism instead ofinstead computer. Hence, this robotthis is reliable robust. gaits by of Hence, robot reliable and
Figure 22. Isometric view of the central pattern.
Figure 23 shows some snapshots of the hexapod robot as tested on site. There were no concerns tumbling even upon running out of battery or due to electronic failure since the tripod14 of 15 Appl. Syst. Innov.of 2018, 1, 20 gaits are generated by mechanism instead of computer. Hence, this robot is reliable and robust.
Figure23. 23.Snapshots Snapshots of motion. Figure of the thehexapod hexapodinin motion.
9. Conclusions
9. Conclusions
When a hexapod is designed with collocated actuators, where each joint is directly mounted
When hexapod is designed actuators,Hence, where joint aishexapod directlyrobot mounted with anaactuator, it leads to use awith greatcollocated number of actuators. weeach proposed with with an actuator, it leads to use a great number a hexapod a non-collocated actuators design which of is actuators. achieved byHence, means we of proposed mechanisms. There arerobot with several a non-collocated actuators design which is achieved means of There are several benefits brought by this improvement, including by alleviating themechanisms. challenge of algorithms to control leggedbymotions, upgrading the loading capacity, andthe reducing the of costalgorithms of construction. benefits brought this improvement, including alleviating challenge to control legged motions, upgrading the loading capacity, and reducing the cost of construction. Moreover, most hexapod robots rely on their servos to generate periodic gaits, such that their servos must frequently reverse and easily suffer from overheating. Nevertheless, the periodic gaits of this robot are generated by mechanism, i.e., four-bar linkage, which prevents motors from frequently reversing. Since its tripod gaits are generated by mechanism instead of computer, it is always statically stable, even if it runs out of battery or experiences electronic failure. Hence, this hexapod robot is reliable and robust. Additionally, server–client networking programs based on TCP/IP connection across WLAN and WAN were adopted to implement the wireless control from a remote site. Due to the rapid growth of GPL communities, the trend of free software has become so overwhelming that there are abundant free resources based on Linux available for programmers. We chose the Raspberry Pi as the controller for this project because of its built-in Linux akin to abundant free resources so that we were able to leverage GCC and Qt to develop our application programs. The robotic project is interdisciplinary in its nature, and we successfully integrated the mechanisms, electronic hardware, and computer software to complete this project. Author Contributions: M.-C.H. planned this study and designed the mechanism of the robot. C.-J.H. designed software and wrote programs for the robot. M.-C.H., C.-J.H. and F.L. contributed to realization and revision of the manuscript. Funding: This work was supported by the Jiangxi University of Science and Technology, People's Republic of China, under Grants jxxjbs18018. Conflicts of Interest: The authors declare no conflict of interest.
References 1. 2. 3. 4.
McGhee, R.B. Some finite state aspect of legged locomotion. Math. Biosci. 1968, 2, 67–84. [CrossRef] McGhee, R.B.; Frank, A.A. On the stability properties of quadruped creeping gaits. Math. Biosci. 1968, 3, 331–351. [CrossRef] Orin, D. Interactive Control of a Six-Legged Vehicle with Optimization of Both Stability and Energy. Ph.D Thesis, Ohio State University, Columbus, OH, USA, 1976. Kar, D.C. Design of statically stable walking robot: A review. J. Robot. Syst. 2003, 20, 617–686. [CrossRef]
Appl. Syst. Innov. 2018, 1, 20
5.
6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
23. 24. 25. 26. 27. 28.
29.
15 of 15
Moosavian, S.A.A.; Dabiri, A. Dynamics and planning for stable motion of a hexapod robot. In Proceedings of the 2010 IEEE/ASME International Conference on Advanced Intelligent Mechatronics, Montreal, QC, Canada, 6–9 July 2010; pp. 818–823. Lee, T.T.; Liao, C.M.; Chen, T.K. On the stability properties of hexapod tripod gait. IEEE J. Robot. Autom. 1988, 4, 427–434. [CrossRef] Vukobratovic, M.; Juricic, D. Contribution to the synthesis of biped gait. IEEE Trans. Biomed. Eng. 1969, BME-16, 1–6. [CrossRef] Vukobratovi´c, M.; Borovac, B. Zero-moment point—Thirty five years of its life. Int. J. Hum. Robot. 2004, 1, 157–173. [CrossRef] Zadeh, L.A. Fuzzy Sets. Inf. Control 1965, 8, 338–353. [CrossRef] Mamdani, E.H. Application of Fuzzy Algorithm for Control of Simple Dynamic Plants. Proc. IEEE 1974, 121, 1585–1588. [CrossRef] Kaufmann, A.; Gupta, M.M. Introduction to Fuzzy Arithmetic Theory and Applications; Van Nostrand Reinhold: New York, NY, USA, 1991. Mamdani, E. Fuzzy Reasoning and Its Applications; Academic Press: Cambridge, MA, USA, 1981. Matia, F.; Jimenez, A.; Galan, R.; Sanz, R. Fuzzy Controllers: Lifting the linear-nonlinear frontier. Fuzzy Sets Syst. 1992, 52, 113–128. [CrossRef] Matia, F.; Jimenez, A. On Optimal Implementation of Fuzzy Controllers. Int. J. Intell. Control Syst. 1996, 1, 407–415. [CrossRef] Hecht-Nielsen, R. Neurocomputing; Addison-Wesley: Reading, NY, USA, 1989. Wasserman, P.D. Neural Computing, Theory and Practice; Van Nostrand Reinhold: New York, NY, USA, 1989. Shalev-Shwartz, S.; Ben-David, S. Understanding Machine Learning: From Theory to Algorithm; Cambridge University Press: Cambridge, UK, 2014. Matsuoka, K. Mechanisms of frequency and pattern control in the neural rhythm generators. Biol. Cybern. 1987, 56, 345–353. [CrossRef] [PubMed] Haojun, Z.; Xiuli, Z. Biologically-Inspired Motion Control Theory and Its Application for a Legged-Robot; University Press: Beijing, China, 2004. Xu, Y.; Gao, F.; Pan, Y.; Chai, X. Hexapod adaptive gait inspired by human behavior for six-legged robot without force sensor. J. Intell. Robot. Syst. 2017, 88, 19–35. [CrossRef] Yu, H.; Gao, H.; Ding, L.; Li, M.; Deng, Z.; Liu, G. Gait generation with smooth transition using CPG-based locomotion control for hexapod waking robot. IEEE Trans. Ind. Electron. 2016, 63, 5488–5500. [CrossRef] Juang, C.F.; Jhan, Y.H.; Chen, Y.M.; Hsu, C.M. Evolutionary wall-following hexapod robot using advanced multi-objective continuous ant colony optimized fuzzy controller. IEEE Trans. Cognit. Dev. Syst. 2017. [CrossRef] Wang, W.J.; Chou, H.G.; Chen, Y.J.; Lu, R.C. Fuzzy control strategy for a hexapod robot walking on an incline. Int. J. Fuzzy Syst. 2017, 19, 1703–1717. [CrossRef] Collins, J.J.; Richmond, S.A. Hard–wired central pattern generators for quadrupedal locomotion. Biol. Cybern. 1994, 71, 375–385. [CrossRef] Lewis, A.; Fagg, A.H.; Bekey, G.A. Genetic algorithms for gait synthesis in a hexapod robot in recent trends in mobile robots. World Sci. 1994, 11, 317–331. Nagashino, H.; Nomura, Y.; Kinouchi, Y. A neural network model for quadruped gait generation and transitions. Neurocomputing 2001, 38, 1469–1475. [CrossRef] Ijspeert, A.J. Central pattern generators for locomotion control in animals and robots: A review. Neural Netw. 2008, 21, 642–653. [CrossRef] [PubMed] Zak, M.; Rozman, J. Design, Construction and Control of Hexapod Walking Robots. In Proceedings of the IEEE 13th International Scientific Conference on Informatics—Informatics, Poprad, Slovakia, 18–20 November 2015; pp. 302–307. Erdman, A.G.; Sandor, G.N. Mechanism Design: Analysis and Synthesis; Prentice-Hall: London, UK, 1984. © 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).