horse gate

10
Real-time Horse Gait Synthesis Ting-Chieh Huang Yi-Jheng Huang Wen-Chieh Lin Department of Computer Science National Chiao Tung University, Taiwan {tchuang,ichuang,wclin}@cs.nctu.edu.tw Abstract Horse locomotion exhibits rich variations in gaits and styles. Although there have been many approaches proposed for animating quadrupeds, there is not much research on synthesizing horse locomotion. In this paper, we present a horse locomotion synthesis approach. A user can arbitrarily change a horse’s moving speed and direction and our system would automatically adjust the horse’s motion to fulfill the user’s commands. At preprocessing, we manually capture horse locomotion data from Eadweard Muybridge’s famous photographs of animal locomotion, and expand the captured motion database to various speeds for each gait. At runtime, our approach automatically changes gaits based on speed, synthesizes the horse’s root trajectory, and adjusts its body orientation based on the horse’s turning direction. We propose an asynchronous time warping ap- proach to handle gait transition, which is critical for generating realistic and controllable horse locomotion. Our experiments demonstrate that our system can produce smooth, rich and controllable horse locomotion in real time. Keywords: character animation, motion synthesis, quadruped gait synthesis 1 Introduction Character animation has been studied in com- puter graphics for many years. With the rapid development of computer hardware and graph- ics algorithms, 3D animation techniques are now wildly used in cartoons, video games and digital special effects. In computer animation, animals are a very common character. To gen- erate more realistic animal animation, the data- driven approach, which relies on real motion data as synthesis or editing resources, seems to be a good candidate. Nevertheless, it is not con- venient and sometimes even difficult to capture quadruped motion although we are now able to collect a great amount and variety of human mo- tions using commercial motion capture devices. In this paper, we propose a synthesis approach to animate quadruped motion based on a small motion database. In particular, we focus on gen- erating horse locomotion as it is basic and es- sential motion while exhibiting large variations. Moreover, this is also a challenging problem as a horse has six different gaits and changes its gaits at different speeds. If we can solve the gait tran- sition problem of horse, the proposed approach should be applicable to the gait transition prob- lem of other quadrupeds. We propose a realtime system that allows a user to arbitrarily change a horse’s moving speed and direction. Our system automatically changes the horse’s gaits according to its speed. We construct a motion database by manually capturing horse postures from Eadweard Muy- bridge’s series pictures of 11 locomotion using MAYA. In order to let a horse walk or run at arbitrary speed, we expand our horse locomo- tion data by time warping the captured motion to various speeds based on zoological studies [1]. The studies show that a horse’s stride length at stance phase increases with its progressing speed, while the contact time of a stride de- creases as a power function of its speed.

Upload: bubynet

Post on 28-Apr-2015

37 views

Category:

Documents


0 download

DESCRIPTION

horse gate

TRANSCRIPT

Page 1: horse gate

Real-time Horse Gait Synthesis

Ting-Chieh Huang Yi-Jheng Huang Wen-Chieh LinDepartment of Computer Science

National Chiao Tung University, Taiwan{tchuang,ichuang,wclin}@cs.nctu.edu.tw

AbstractHorse locomotion exhibits rich variations ingaits and styles. Although there have been manyapproaches proposed for animating quadrupeds,there is not much research on synthesizing horselocomotion. In this paper, we present a horselocomotion synthesis approach. A user canarbitrarily change a horse’s moving speed anddirection and our system would automaticallyadjust the horse’s motion to fulfill the user’scommands. At preprocessing, we manuallycapture horse locomotion data from EadweardMuybridge’s famous photographs of animallocomotion, and expand the captured motiondatabase to various speeds for each gait. Atruntime, our approach automatically changesgaits based on speed, synthesizes the horse’sroot trajectory, and adjusts its body orientationbased on the horse’s turning direction. Wepropose an asynchronous time warping ap-proach to handle gait transition, which is criticalfor generating realistic and controllable horselocomotion. Our experiments demonstratethat our system can produce smooth, rich andcontrollable horse locomotion in real time.

Keywords: character animation, motionsynthesis, quadruped gait synthesis

1 Introduction

Character animation has been studied in com-puter graphics for many years. With the rapiddevelopment of computer hardware and graph-ics algorithms, 3D animation techniques arenow wildly used in cartoons, video games and

digital special effects. In computer animation,animals are a very common character. To gen-erate more realistic animal animation, the data-driven approach, which relies on real motiondata as synthesis or editing resources, seems tobe a good candidate. Nevertheless, it is not con-venient and sometimes even difficult to capturequadruped motion although we are now able tocollect a great amount and variety of human mo-tions using commercial motion capture devices.

In this paper, we propose a synthesis approachto animate quadruped motion based on a smallmotion database. In particular, we focus on gen-erating horse locomotion as it is basic and es-sential motion while exhibiting large variations.Moreover, this is also a challenging problem as ahorse has six different gaits and changes its gaitsat different speeds. If we can solve the gait tran-sition problem of horse, the proposed approachshould be applicable to the gait transition prob-lem of other quadrupeds.

We propose a realtime system that allowsa user to arbitrarily change a horse’s movingspeed and direction. Our system automaticallychanges the horse’s gaits according to its speed.We construct a motion database by manuallycapturing horse postures from Eadweard Muy-bridge’s series pictures of 11 locomotion usingMAYA. In order to let a horse walk or run atarbitrary speed, we expand our horse locomo-tion data by time warping the captured motionto various speeds based on zoological studies[1]. The studies show that a horse’s stride lengthat stance phase increases with its progressingspeed, while the contact time of a stride de-creases as a power function of its speed.

Page 2: horse gate

To be able to generate smooth gait transitionbetween two arbitrary gaits at any phase of astride, we propose an asynchronous time warp-ing method to handle the gait transition prob-lem. We also develop an on-line root trajectorygeneration and body orientation adjustment ap-proach to control the global position and orien-tation of the horse. Instead of using the samegeneric time to blend the motion of two gaitsfor all four legs, our asynchronous time warp-ing method performs time warping at each legseparately. We blend each leg’s motion of twogaits at its own generic time and gradually ad-just each leg’s pace to ensure that the four legswould converge to the new gait. Furthermore,our root trajectory generation and body orienta-tion adjustment approach computes the positionand orientation based on each foot’s ground con-tact state at each time frame.

The contributions of this paper are propos-ing: 1) a real-time horse gait synthesis ap-proach that can automatically change a horse’sgait smoothly according to the speed and direc-tion specified by a user; 2) An asynchronoustime warping method that can generates smoothgait transition between any two gaits; 3) A roottrajectory generation and body orientation ad-justment method that preserves horse gait stylewhile the horse turns and/or changes speed.

2 Related work

Generating quadrupedal motions receives muchresearch attention in robotics and computer an-imation. It also benefits from many researchstudies in zoology and biomechanics. We referthe readers to an excellent survey by Skrba etal. [2] for an overview of quadruped animationtechniques including quadruped motion captureand simulation.

People have long been interested inquadruped motions and analyzed them usingdifferent motion capture devices. Comparingwith human motion, it is hard to capture ani-mal motion. The famous work by EadweardMuybridge [3] was the first attempt to captureanimal motions, in which a series of 24 cameraswas used to take photos of animal’s locomotion.Kokkevis et al. [4] used chronophotographytechnique to record many phases of a single

moment on one image. Different with abovemethods which can only capture 2D informa-tion, statistical analysis has also been appliedto capture 3D information[5]. In biomechanicsand zoology, Alexander et al. [6, 7, 8, 9] de-veloped dynamic similarity hypothesis, whichexplains the relationship between animal size,speed, mass and external forces. Hoyt et al.[1]showed that a horse’s step length increases withits speed while its feet’s time of contact with theground decreases as a power function of speed.These findings and other research on animalbehavior strategies [10, 11] help us to developour gait synthesis approach.

In computer graphics, many methods wereproposed to simulate quadruped motion. InverseKinematics (IK)-based approaches [12, 13, 4]usually decide animal footprints first, and thencombine physically-based approaches to con-trol the body movement. Instead of drivingquadruped motion by skeletons, mesh-basedapproaches generate the motion of mesh sur-face directly [14, 15, 16, 17]. Another mainstream of generating quadrupeds locomotionis the controller-based approaches, which canproduce realtime interaction and deal with un-expected circumstances[18, 19, 20, 21]. Al-though Marsland and Lapper[20] also workedon horse locomotion generation, they focusedonly on the trot gait in their simulation. Incontrast, we address to synthesize all gaits of ahorse in real time. Coros et al.[21] combineda PD controller system and an internal virtualforce system to simulate an integrated set ofgaits and skills for a physics-based quadruped.Besides, optimization-based approaches werealso widely used. Wampler et al. proposeda sampling-based derivative-free optimizationmethod under the spacetime optimization for-mulation to automatically synthesize plausiblegaits for different skeletons[22].

There are also many quadruped simulationapproaches mixing the above approaches. Kryet al.[23] used the natural vibration modes ofthe body that are related to morphological pa-rameters such as the shape, size, mass, and jointstiffness to generate efficient locomotion. Tsaiet al.[24] proposed a physically-based method,which is able to adjust the original motionto meet adaptation requirements when animat-ing 3D virtual characters. Sims[25] proposed

Page 3: horse gate

a novel system creating virtual creatures thatmove and behave in simulated 3D physicalworlds. He used genetic algorithm to evolve themorphologies and the neural systems of thosecreatures.

In robotics, various quadruped robots havebeen created. Sony AIBO is a Japanese robotdog, which is able to see and move around whilemaintaining balance[26]. Boston Dynamics pro-duced ’BigDog’ and ’LittleDog’[27, 28, 29].BigDog has the animal alike legs that can absorbthe shocks from the ground. LittleDog, whichis capable of walking on rough terrains, is builtfor studying animal locomotion. SCOUT usedone degree of freedom legs to produce walking,climbing, and galloping animation[30].

In contrast to the existing work on quadrupedanimation, we address the gait transition andsynthesis problem in this paper. In particular,we focus on horse gaits, which have rarely beenstudied in computer animation. Our work can becombined with the controller-based approachesto provide the reference trajectory that is re-quired in these approaches. Our asynchronoustime warping method can effectively handle thegait transition problem. It allows a horse tochange its gait arbitrarily between Walk, Am-ble, Trot, Rack, Canter and Gallop. The tran-sition begins once a user requests a larger speedchange such that the horse needs to change itsgait according to zoological study. The speedchanging command can be given at any phaseof a horse stride. In addition, as a horse canchange its gait directly from a slow-speed gaitto a fast-speed gait in the reality, our method canalso achieve this kind of gait transition and thusresults in more natural horse locomotion.

3 Overview

Our approach combines data-driven and proce-dural algorithms to generate horse locomotion inreal-time according to a user’s commands. Fig-ure 1 shows an overview of our approach. Wefirst manually capture six different horse loco-motion gaits from Muybridge’s series pictures.We then warp these motions to obtain motionsat various speeds. As the horses in Muybridge’sphotographs do not translate, we also synthesizetheir root trajectories so that they move at the

User DesiredSpeed & Direction

Capture Motion fromMuybridge’s photographs

Horse Motion

Synthesize Motions atVarious Speed

GaitTransition

Root Trajectory Generation &

Body Orientation Adjustment

Preprocessing Runtime

Figure 1: Overview of our horse locomotiongeneration system.

Figure 2: Six gaits of horse locomotion. Thedark blue and light blue regions rep-resent the stance and flight phase re-spectively.

correct speed as described in Muybridge’s pho-tographs. Note that there is no horse turningmotion in Muybridge’s photographs. Figure 2shows these six gaits used in our system.

After preprocessing, we deal with horse gaittransition that is needed when a user changesthe horse’s speed. We propose an asynchronoustime warping method to generate horse motionbetween two different gaits. Our method warpsthe motion of four legs with different paces sothat their motion would gradually transfer to thenew gait. Besides, we also propose a root trajec-tory generation and body orientation adjustmentapproach to avoid foot sliding and produce turn-ing motion.

The horse skeleton used in this paper has 35joints and 61 degrees of freedom (DOFs). Theroot joint has 6 DOFs for global position and

Page 4: horse gate

Foot

FetlockJointPastern

Root

Hip/Shoulder

Body

Head

Figure 3: Joints notation

orientation while the other joints has 55 DOFsfor joint rotation. Figure 3 shows major jointsand bones of the horse skeleton. Hip/Shoulderis a horse’s shoulder or hip joint. Fetlock rep-resents the joint between the horse’s metatarsalbone and hoof. Pastern is a part of the leg ofa horse between the Fetlock joint and the top ofthe hoof. Foot is at the end of a leg. We set theRoot joint at the end of the horse’s spine and de-fine Body a series of bones from Head to Root.DOF

4 Synthesize Motions at VariousSpeeds

The speed range of each gait is shown inFigure 4, where orange squares denote 11motions captured from Eadweard Muybridge’sphotographs[3]. Our system applies Hoyt etal.’s rules [1] to synthesize motions at differentspeeds based on these eleven motions. Hoyt etal. found that a horse’s step length increaseswhile time of contact decreases when its speedincreases. Mathematically,

Tc = avb,

D = vTc, (1)

where Tc is time of contact, v is speed, and aand b are two constants. b is a negative num-ber and significantly different from -1. D is steplength of horse. a and b are different for differ-ent gaits. We obtain a and b by fitting EadweardMuybridge’s measurement data to Hoyt et al.’srules as shown in Table 1.

Given a new speed v, we first decide its gaitbased on Figure 4 and then apply Equation 1 tocompute the corresponding step length. Oncethe step length is obtained, we adjust the foot

Figure 4: Speed range of different gaits. Ourmotion database contains 11 motionsshown in orange portions.

position to match the step length. The adjust-ment is performed on the sagittal plane of thehorse. DefineXY the sagittal plane withX-axisalong the horse heading direction and Y -axis theupward direction. The new foot position P ′ iscomputed as follows:

P ′x = (Px − Sx)D′

D+ Sx,

P ′y = (Py − Sy)D′

D+ Sy +G, (2)

where P is the original foot position; D andD′ are the original and new step length, respec-tively; S is the position of Hip/Shoulder; G isan offset ensuring that the stance leg would notpenetrate or leave the ground. Note that Equa-tion 2 is used to adjust the position of each foot.We apply inverse kinematics to alter the horse’sFoot positions from P to P ′. After we adjust thefoot position at all frames of the new motion, wewarp the motion to match the desired speed. Asthere is no translation data in Eadweard Muy-bridge’s photographs [3], namely, the horse wasmoving at the same position in his photographs.We compute the translation of the root jointbased on the desired speed as well. In somegaits, there exists a flight phase. The flying dis-tance is also taken into account when computingthe root trajectory of these gaits.

5 Gait Transition

When the horse changes its speed, its gait maychange. It is important to preserve the smooth-ness during gait transition. There are some inter-esting properties of a horse’s leg motions under

Page 5: horse gate

Table 1: Values of a and bGait a bWalk 1.688057 -0.71476Amble 1.826353 -0.51021Trot 1.407662 -0.74782Rack 2.386013 -0.90153Canter 2.005463 -0.96045Gallop 1.14589 -0.42978

gait transition. First, the loading of each leg isnot equal, e.g., in gait Gallop, only the left foreleg is used for acceleration while the other legsare ancillary. Second, in different gaits, horsehas different step order. Therefore, changing thespeed of each leg synchronously would not workfor gait transition (please see also the accompa-nying video for an illustration).

We propose an asynchronous time warpingmethod to solve the gait transition problem. Thebasic idea of our method is to blend the motionof four legs in the current and new gaits sepa-rately while adjusting each leg’s speed so thattheir motion gradually converges to a posture inthe new gait at the end of transition. Given theactual time T of the posture of the original gaitM1 at the beginning of the transition, we mapT to four generic time for different legs. Dur-ing the transition, the incremental of the generictime for each leg is different so that some feetfalling behind in the transition process wouldspeed up to catch up with the other feet. Theaccompanying video illustrates our idea.

We first determine the length of gait transi-tion. As horses usually change their gaits withintwo to three stride cycles, we set the duration oftransition at 2.5 cycles, i.e., 2.5 in generic time.The number of frames for gait transition is thendefined as 2.5 times of the average number offrames of a stride cycle of the current and newgaits,

B =L1 + L2

2· 2.5, (3)

whereB is the number of frames of the gait tran-sition; L1 and L2 are the number of frames of astride cycle of the current and new gait, respec-tively.

We then compute the incremental of generictime of each leg. To have a common referencefor the generic time of the four legs, we arbitrar-ily assign one leg as a reference leg. The incre-

mental of the generic time of the reference leg∆t∗ gradually varies from the incremental of thecurrent gait to the new gait, i.e.,

∆t∗(i) = w1(i)∆t1 + w2(i)∆t2, (4)

where i denotes the ith frame in the transition,w2(i) = i

B , w1(i) = 1 − w2(i), ∆t1 = 1L1

,and ∆t2 = 1

L2. To compute the incremental

of generic time of the other legs, we need toknow the length of the gait transition of theselegs in generic time. This can be done by firstlydetermining the ending posture of the transi-tion in M2, and then finding the generic time ofeach leg in that ending posture. Specifically, theending posture is obtained by M2(t

∗2(0) + σ∗),

where t∗2(0) is the generic time of the refer-ence leg when the transition begins and σ∗ is thelength of transition in generic time by summingup the incremental in each frame,

σ∗ =

B∑i=1

∆t∗(i). (5)

Given the ending posture, we can determine thegeneric time of each leg in the ending postureand obtain the length of transition of each legσj . The incremental of the generic time of theother legs then can be computed as follows:

∆tj(i) = ∆t∗(i)σj

σ∗ , (6)

where j 6= ∗ denotes the jth leg, σj is the lengthof transition of the jth leg in generic time. Notethat σj are usually different for different legs.

Having the incremental of the generic time ofeach leg, we can then compute the motion inthe gait transition. We divide the posture of ahorse into six parts: Q = {pr, q1, q2, q3, q4, qb},where pr is the global position of the root joint,q1, q2, q3 and q4 are the joint angles of right-fore leg, left-fore leg, right-back leg and left-back leg, respectively, and qb are joint angles ofBody. We further define M1, M2, and MB asthe motion of the current gait, new gait, and gaittransition, respectively. To ease the definition ofnotation, M(var) may refer to the posture at ageneric time or a frame in M depending on themeaning of var. We first compute the blendedposture of legs at the ith frame of the transition,

qj(i) = w1(i) · qj1(tj1(i)) + w2(i) · qj2(tj2(i)), (7)

Page 6: horse gate

where qj1 and qj2 are the postures of the jth leg inthe current gait and new gait. The generic timetj1(i) and tj2(i) are computed as follows

tj1(i) = tj1(0) +i∑

f=1

∆tj(f) (8)

tj2(i) = tj2(0) +i∑

f=1

∆tj(f), (9)

where tj1(0) and tj2(0) are the generic time ofthe jth leg in the current and new gaits when thetransition begins.

The Body postures qb of MB can be obtainedby simply blending the body postures corre-sponding to the generic time of four legs. Weuse slerp to blend the Body postures by

qb(i) =1

4[w1(i)

4∑j=1

qb1(tj1(i))+w2(i)4∑

j=1

qb2(tj2(i))],

(10)where qb1 and qb2 are the body posture of M1 andM2, respectively. The translation of the root pr

will be explained in the following section.

6 Root Trajectory Generationand Body OrientationAdjustment

In this section, we describe our approach forplanning the horse’s root trajectory and adjust-ing body orientation in real-time. The basic ideais to utilize the movement of landing feet to cal-culate the amount of root translation to avoidfoot sliding. We first determine the phase of footat each time frame. We then compute the roottranslation and the orientation of the horse bodywhen the horse moves straightly or turns.

6.1 Determine foot phase

We divide the phase of a horse’s feet into stance,striking and flight phases, which are deter-mined based on three parts of a horse: pastern,hip/shoulder and foot. Pastern plays a role ofbeing a spring to lessen the concussion fromthe ground. When a horse’s foot strikes on theground, pastern commences to bend. As the legbecomes vertical, depending on the concussion,pastern could become horizontal. While the

leg is gradually away from the ground, pasternbends from horizontal to vertical then bendsbackward. After the leg leaves the ground,pastern keeps bending in the air, and then pro-gressively stretches to the front. Because of thefunction and characteristics of pastern, we de-termine whether a foot is on the ground or notbased on the bending degree of pastern.

It is easier to determine whether a leg is onthe ground or not. When a leg’s foot position isin the front of its hip/shoulder position, this legis about to land on the ground or is just land-ing on the ground. In this situation, we checkthis leg’s fetlock joint angle to determine thebending degree of pastern. If pastern bends be-yond a threshold, this leg is marked as on theground. We analyzed Muybridge’s photographsto set the threshold at {158, 152, 165, 169} de-grees for the pastern in the left forelimb, rightforelimb, left hindlimb and right hindlimb. Onthe other hand, when a leg’s foot position is inthe back of its hip/shoulder position, the leg ispreparing to leave the ground or just leavingthe ground. In this case, if pastern bend over athreshold, we label this leg in the air. The thresh-old we obtained from Muybridge’s photographsis {181, 181, 180, 180} degrees. In addition tothe above criteria, a leg is also considered to bein the air if the height difference between thehip/shoulder and foot is too small.

To determine if a foot is striking the ground,we label the frame at which a leg strikes theground in our motion database. These labelsare then used to determine if a foot strikes theground at the runtime stage.

6.2 Adjust root movement and bodyorientation

We divide the problem of adjusting root move-ment and body orientation into two cases: ad-vancing and turning. In advancing, we only needto deal with the foot sliding problem and do notneed to alter the horse posture; In turning, in ad-dition to handling the foot sliding problem, wealso need to rotate the horse body to follow thenew direction given by the user.

Advancing. For advancing postures, weavoid food sliding by moving the root position.In other words, we divert the sliding offset dfrom the landing foot to the root translation at

Page 7: horse gate

(a) Current Posture

(b) Next Posture

Figure 5: This figure illustrates the foot slidingproblem if we do not adjust the rootposition. To avoid foot sliding, oursystem moves the root position for-ward when a landing foot moves back-ward. The red arrows denote the offsetdj of each foot.

each frame. Figure 5 illustrates our strategy. Ifthere are more than one landing foot, we takethe average offset of the landing feet to adjustthe root position,

pr(i) = pr(i− 1) +1

N

N∑j=1

dj , (11)

where pr(i) is the root position at frame i andpr(0) is the initial root position when the landingfoot first strikes the ground. N is the number oflanding feet.

Turning. For turning postures, which arenot in our captured motion database, our sys-tem generates them by adjusting the direction ofthe horse’s body. When the user inputs a turn-ing direction to the horse, the global orientationof the bones on the Body begins to turn towardthe desired orientation. To ensure the motionsmoothness, the joint angles along the body isgradually adjusted from the head joint to theroot at every frame. For example, the head jointrotates θ at the first frame, and then head andfore-neck joints rotate 2θ and θ at the secondframe. The turning angle θ is determined by thehorse’s speed. We set θ as 0.01 degrees at slowspeed. When the horse moves at faster speeds,

θ increases to 0.1 and 0.2. A joint would stopturning once the joint’s global orientation satis-fies the desired orientation.

We also deal with the foot sliding problemwhen the horse is turning. If a foot is striking onthe ground, our systems first rotates the horse’sBody to the desired orientation and records thestriking position as the goal position R, whichis the position the foot should step on. Oncethe striking foot becomes a stance foot, our sys-tem adjusts the orientation and position of rootso that the foot position is close to the goal posi-tion. Inverse kinematics (IK) is then applied tofine tune the leg posture ensuring that the stancefoot is kept at the goal position.

7 Experimental Results

We demonstrate the results of our horse loco-motion system. In our real-time demo in the ac-companying video, we show the gait transitionprocess and the turning process. We also exhibitsome extended motions as horse leaping, climb-ing up and walking down a slope.

Gait transition. We demonstrate six types ofhorse locomotion gaits at different speeds. In theaccompanying video, we illustrate a gait transi-tion process from the slowest speed to the fastestspeed. In this case, the horse changes gaits fromWalk, Amble, Trot, Rack, Canter to Gallop. Oursystem allows the user to arbitrarily transit be-tween any two gaits, which may not be the twogaits whose speed ranges are continuous. Figure6 shows some snapshots of two examples of gaittransition: Canter to Gallop and Trot to Rack. Inour video, we show a gait transition from Gallopto Amble.

Turning. Figure 7 shows the snapshots offive turning motions, where the yellow horse de-notes that the horse is under both gait transitionand turning. According to zoological studies, ahorse uses slower gaits and proceeds a smallerdistance per time frame when the horse turns.Our horse turns 0.01 degrees every time frame atthe speed under 5 mph, 0.1 degree at speed be-tween 6 mph to 25 mph, and 0.2 degree at speedabove 25 mph. It turns 0.05 and 1.15 degree ifthere is also a gait transition between differentspeeds. Our system allows the horse to turn itsheading direction during the gait transition and

Page 8: horse gate

Figure 6: Top: snapshots of gait transition from Canter to Gallop; Middle: snapshots of gait transitionfrom Trot to Rack; Bottom: snapshots of a leap motion. Yellow color denotes that the horseis under gait transition.

Figure 7: Snapshots of a horse’s turning motions. The yellow horse denotes that the horse is underboth gait transition and turning.

jumping.Leaping. We also captured a leap motion

from Eadweard Muybridge’s work [3]. Our sys-tem searches our motion database to find a mo-tion that is closest to the beginning of the leapmotion. We mark the gait of the closest motionas the leaping-start gait. When the user entera jump command, our system first change thehorse’s gait to the leaping-start gait, and thenconnects to the leap motion by linearly blend-ing. Similarly, our system finds the leaping-endgait in our database and changes the horse gaitto the gait before leaping or a desired gait theuser specified. Figure 6 shows a leaping motiongenerated by our system.

Climbing up and walking down a slope. Wecan also generate the motion of the horse go-ing up and down a slope by modifying our turn-ing algorithm. The modification is very sim-ple. Instead of turning the global orientationof the horse body in the horizontal plane (XZ-plane), we can simply adjust the body’s orienta-tion along the vertical direction (Y -axis). Pleasesee the accompanying video for the result.

Limitations and discussion. Currently,we manually capture animal locomotion using

MAYA. Although the manual capture process isreliable, it is time-consuming. In the future, wewould like to apply visual tracking techniquesto improve motion capture of animal locomo-tion. Besides, our gait synthesis approach doesnot take into account the physical properties ofhorse skeleton, such as mass or moment of in-ertia. We can improve this problem by applyingzoological studies or physics-based approachesto our gait synthesis and transition approach. Fi-nally, although we only demonstrate horse gatesynthesis in this paper, our approach can be ap-plied to synthesize other quadruped gaits.

8 Conclusion

In this paper, we present a horse gait syn-thesis approach that allows user to arbitrarilychange the speed and direction of a horse lo-comotion in real time. The core technique ofour approach is the asynchronous time warp-ing method, which would automatically adjustthe horse’s gait based on its speed and gener-ate smooth gait transition. The proposed asyn-chronous time warping method is flexible andeffective. It can generate smooth transition be-

Page 9: horse gate

tween two arbitrary gaits, even between a slow-speed gait and a fast-speed gait. This allows oursystem to generate more natural locomotion ashorses also change their gaits in a similar way.Our results demonstrate that our approach cangenerate flexible and controllable horse locomo-tion in real time. In the future, we would like toapply our approach to other types of quadrupedgaits. As our approach is simple and effective,we believe it can also benefit quadruped or mul-tiped motion simulation that requires a referencetrajectory.

Acknowledgements

We thank the anonymous reviewers for theirvaluable comments. This work was supported inpart by Taiwan National Science Council undergrant NSC-100-2628-E-009-002- and the UST-UCSD International Center of Excellence in Ad-vanced Bioengineering sponsored by the TaiwanNational Science Council I-RiCE Program un-der Grant Number: NSC-100-2911-I-009-101

References

[1] D. F. Hoyt, S. J. Wickler, and E. A. Cogger.Time of contact and step length: The effectof limb length, running speed, load carry-ing and incline. Journal of ExperimentalBiology, 203:221–227, 2000.

[2] L. Skrba, L. Reveret, F. Hetroy, M.-P. Cani,and C. O’sullivan. Animating quadrupeds:Methods and applications. ComputerGraphics Forum, 28(6):1541–1560, 2009.

[3] E. Muybridge. Animals in Motion. DoverPublications, Mineola, NY, 1957.

[4] E. Kokkevis, D. Metaxas, and N. I. Badler.Autonomous animation and control offour-legged animals. In Graphics Inter-face, pages 10–17, 1995.

[5] L. Favreau, L. Reveret, C. Depraz, and M.-P. Cani. Animal gaits from video. InSymposium on Computer Animation (SCA)2004, pages 277–286.

[6] R.M. Alexander. Animal mechanics. Uni-versity of Washington Press, 1968.

[7] R.M. Alexander and A.S. Jayes. A dy-namic similarity hypothesis for the gaits ofquadrupedal mammals. Journal of Zool-ogy, 201(1):135–152, 1983.

[8] R.M. Alexander. The gaits of bipedal andquadrupedal animals. The InternationalJournal of Robotics Research, 3(2):49–59,1984.

[9] R.M. Alexander. Optima for animals.Princeton University Press, 1996.

[10] M. H. Raibert. Trotting, pacing and bound-ing by a quadruped robot. Journal ofBiomechanics, 23, Supplement 1:79 – 98,1990.

[11] A.A. Biewener, J. Thomason, A. Good-ship, and L.E. Lanyon. Bone stress in thehorse forelimb during locomotion at dif-ferent gaits: A comparison of two experi-mental methods. Journal of Biomechanics,16(8):565 – 576, 1983.

[12] M. Girard. Interactive design of 3-Dcomputer-animated legged animal motion.In Interactive 3D graphics, pages 131–150, 1987.

[13] N. Torkos and M. van de Panne. Footprint-based quadruped motion synthesis. InGraphics Interface, 1998.

[14] D. L. James and C. D. Twigg. Skinningmesh animations. ACM Trans. Graph.,24:399–407, July 2005.

[15] M. Walter, A. Fournier, and D. Menevaux.Integrating shape and pattern in mam-malian models. In SIGGRAPH ’01, pages317–326, 2001.

[16] X. Shi, K. Zhou, Y. Tong, M. Desbrun,H. Bao, and B. Guo. Mesh puppetry:cascading optimization of mesh deforma-tion with inverse kinematics. ACM Trans.Graph., 26, 2007.

[17] M. Simmons, J. Wilhelms, and A. VanGelder. Model-based reconstruction forcreature animation. In Symposium onComputer animation.

Page 10: horse gate

[18] M.H. Raibert and J.K. Hodgins. Anima-tion of dynamic legged locomotion. ACMSIGGRAPH, 25:349–358, July 1991.

[19] M. van de Panne. Parameterized gaitsynthesis. IEEE Comput. Graph. Appl.,16:40–49, March 1996.

[20] S. A. Marsland and R. J. Lapeer. Physics-based animation of a trotting horse in avirtual environment. In Proceedings ofthe Ninth International Conference on In-formation Visualisation, pages 398–403,2005.

[21] S. Coros, A. Karpathy, B. Jones,L. Reveret, and M. van de Panne. Locomo-tion skills for simulated quadrupeds. ACMTransactions on Graphics, 30(4):59:1–59:12, 2011.

[22] K. Wampler and Z. Popovic. Optimal gaitand form for animal locomotion. In ACMSIGGRAPH, pages 60:1–60:8, 2009.

[23] P. Kry, L. Reveret, F. Faure, and M.-P. Cani. Modal locomotion: animatingvirtual characters with natural vibrations.Comput. Graph. Forum, 28(2):289–298,2009.

[24] M. Tsai, T. Lu, and T. Chen. Physicallybased motion adaptation for diverse articu-lated figures. International Journal of Dig-ital Content Technology, 5(2), 2011.

[25] K. Sims. Evolving virtual creatures. InSIGGRAPH 1994, pages 15–22, 1994.

[26] D. Golubovic, B. Li, and H. Hu. A hybridsoftware platform for sony aibo robots. InLecture Notes in Computer Science, pages478–486. Springer, 2003.

[27] R. Playter, M. Buehler, and M. Raibert.Bigdog. In Proceedings of SPIE, 2006.

[28] J. Z. Kolter, M. P. Rodgers, and A. Y. Ng.A control architecture for quadruped loco-motion over rough terrain. IEEE Inter-national Conference on Robotics and Au-tomation, pages 811–818, 2008.

[29] M. Zucker, J. A. Bagnell, C. G. Atkeson,and J. Kuffner. An optimization approach

to rough terrain locomotion. In IEEE Inter-national Conference on Robotics and Au-tomation, pages 3589–3595, 2010.

[30] I. Poulakakis, J. A. Smith, and M. Buehler.Modeling and experiments of untetheredquadrupedal running with a bounding gait:The scout ii robot. International Journalof Robotics Research, 24:239–256, 2005.