Open access peer-reviewed chapter

Rolling Biped Polynomial Motion Planning

Written By

Santiago de J. Favela Ortíz and Edgar A. Martínez García

Reviewed: 12 November 2021 Published: 28 December 2021

DOI: 10.5772/intechopen.101606

From the Edited Volume

Motion Planning

Edited by Edgar A. Martínez García

Chapter metrics overview

293 Chapter Downloads

View Full Metrics


This work discloses a kinematic control model to describe the geometry of motion of a two-wheeled biped’s limbs. Limb structure is based on a four-bar linkage useful to alleviate damping motion during self-balance. The robot self-balancing kinematics geometry combines with user-customized polynomial vector fields. The vector fields generate safe reference trajectories. Further, the robot is forced to track the reference path by a model-based time-variant recursive controller. The proposed formulation showed effectiveness and reliable performance through numerical simulations.


  • rolling-biped
  • path planning
  • motion control
  • navigation
  • underactuation

1. Introduction

Motion planning is an essential function and a critical aspect in robotics engineering. Motion planning allows increasing the robot’s degree of autonomy. Fundamentally a wide area of robotic tasks needs planning models such as: transportation and vehicular technology, service robotics, search, exploration, surveillance, biomedical robotic applications, spatial deployment, industry, and so forth. Moreover, motion planning is inherently impacted by the degree of holonomy and kinematic constraints in all robotic modalities: robot arms, legged robots, rolling platforms, marine/underwater vehicles, aerial robots, and including their end effectors. Depending on the robotic application, motion planning is designed either global or local. When the robot has an environmental map in advance, it is called global planning even with possibility to globally optimize routes. Alternatively, when there is only robot’s local sensor data and the whole environment is unknown, it uses feedback from local observations. Planning methods can be generalized into four types: deterministic (based on mathematical numeric/analytic functions and models) [1, 2, 3], stochastic (recursive numerical methods based on probabilistic uncertainties) [4, 5, 6], heuristic (algorithms based on logical control and human-heuristic decision-making) [7, 8, 9, 10], and mixed planning methods [11, 12, 13].

In this chapter, a kinematic motion/path planning method for path tracking of an inverted pendulum self-balancing rolling biped is deduced and discussed. This work is focused on the rolling biped motion modeling and simulation of the robot shown in Figure 1. The principal component of a rolling biped is self-balancing by controlling its pitch motion through in-wheel motors that allow rolling motion (inverted-pendulum-like). The robot’s yaw motion is accomplished by the angular velocity resulting from the differential lateral speeds, which is a nonholonomic constrained model. The robot’s design is purposed for missions to collect solid garbage in outdoors (a park), similar to other works [14]. Nevertheless, the robotic mission/task is out of this chapter’s scope, instead a detailed geometry of motion is described in three parts: (i) motion planning for biped’s balance, (ii) navigational path generation, and (iii) path tracking control. The work [15] proposed a balancing and dynamic speed control of a unicycle robot based on variable structure and linear quadratic regulator to follow a desired trajectory. The work [16] modeled a wheeled bipedal robot with analytic solutions of closed-form expressions in kinematic control loops. The work [17] reported a self-balancing two-wheeled robot with a manipulator on-board, using auto-balancing system to maintain force equilibrium. The work [18] applied a proportional integral derivative (PID) control and active disturbance rejection control to balance and steer a two-wheeled self-balancing robot modeled by Lagrange formula. In [19], an adaptive robust control of a self-balancing two-wheeled underactuated robot to estimate uncertainty bound information, using deterministic system performance by Lyapunov method, was reported. In [20], a navigational two-wheeled self-balancing robot control using a PD-PI controller based on the Kalman filter algorithm was reported. Similarly, [21] used variable structure combining proportional integral differential controllers for balance and locomotion deriving a kinematic model based on the center of gravity constraint. Lagrangian-based with Kane’s approach for dynamic balancing was reported in [22]. Moreover, [23] conducted a study using model predictive control for trajectory tracking of an inverted-pendulum wheeled robot. The work [24] reported a self-balancing robot controller using Euler-Lagrange and geometric control, and planar motion is controlled by logarithmic feedback and Lie group exponential coordinates. The work [25] developed a balancing and trajectory tracking system for an inverted-pendulum wheeled robot using a Lagrange-based backstepping structure variable method. This work’s main contributions are an original design of limbs based on four-bar linkages to alleviate damping motion yielded from irregular terrains, from which a kinematic balancing condition is deduced. Further, polynomial vector fields with limit conditions are deduced from user-customized interpolation functions as path-generator models to yield safe routes in advance. Moreover, a recursive time-varying kinematic controller forces the robot to track resulting routes. The proposed system is demonstrated at the level of simulation. This chapter is organized in the following sections. Section 2 deduces the limb kinematics and its effects in the biped’s balance. Section 3 presents the polynomial approach to trajectory generation by directional fields. Section 4 describes a navigation recursive controller for path tracking control. Finally, Section 5 presents the work’s conclusions.

Figure 1.

Rolling biped platform views. (a) Isometric view. (b) Front-view. (c) Onboard robotic arm.


2. Balancing motion planning model

The main issue of an inverted-pendulum-like rolling biped is its capability to self-balance by controlling its pitch angle through the wheels velocity longitudinally (Figure 2(b)). This section deduces the balancing kinematics of the limb’s planar linkage shown in Figure 2(a). As a difference from other biomechanical inspired muscle-tendon limbs [26], in this work each limb is comprised of a four-bar linkage operating as a double crank, where bars r and d are linked by a coupling link l with limited rotary angles.

Figure 2.

Rolling biped kinematic constrains. (a) Limb’s planar linkage parameters. (b) Balancing parameters.

The expressions provided in Proposition 2.1 are obtained from deductions in Appendix A. The passive joint point P1=x1y1 mutually depends on the analytic model of the joint located at P2=x2y2 to describe a rotary planar motion, proposed by

Proposition 2.1 Limbs motion estimation. The four-bar linkage’s passive jointP2is analytically described by.


Therefore, based on Definitions 4.1–4.3 of Appendix A, the model solutionP2is


From Eq. (56) deduced in Appendix A, there are two possible solutions for θ, described as opened or crossed motion. For this work, the type of motion should be Q24PRQ24PR that must be satisfied. Therefore, by using expressions (47), (52)(56), the plots shown in 3 are obtained.

Furthermore, the wheels position is tracked by Pf (Figure 2(a)). This design assumes the robot’s center of gravity (cog) located at the same length fa (both in Figure 3) that is projected within the biped’s body. Therefore, the cog is described by Definition 2.1:

Figure 3.

Limb motion planning produced with parameters r = 0.15 m, d = 0.15 m, l = 0.03 m, Δx = −0.07 m, Δy = 0.05387 m, 201°ϕ236°.

Definition 2.1 Robot’s center of gravity (cog). The robot’s cog is assumed to be located at Cartesian body’s position,




Hence, in accordance to Definition 2.1, it follows that the robot’s falling speed vf due to vertical unbalance is


Taking into account that the robot is a dual differential drive kinematic structure, where vR and vL are the right-sided and left-sided velocities, respectively


where s is the robot displacement over the ground, and r is the wheel’s radius [m]. Likewise, the dual differential velocity is


Hence, the robot’s angular velocity ωrad/s in terms of its differential speed vdiff and constrained by its wheels lateral baseline distance bl and vdiff is substituted to yield:


The biped’s falling angle and angular falling speed are λrad and λ̇rad/s, respectively. Let vf [m/s] be the falling velocity affecting the robot’s balance


which makes the robot’s pitch turn around the wheel’s center. Unbalancing velocity vu [m/s] is an horizontal component such that


The wheel’s axis point moves at balancing speed vb that is parallel to the ground. Wheel’s tangential speed is vw=rφ̇, and linear motion speed is the balancing velocity underneath the biped’s body at the wheel’s axis,


Therefore, the balancing condition is described by Definition 2.2:

Definition 2.2 Kinematic balancing condition. The robot’s vertical equilibrium condition is assumed for balancing and unbalancing velocities of equal magnitudes (or very approximated). Thus,


and redefining, letφ̇Bbe the wheel’s balancing angular speed,


Therefore, it is of interest to find the wheel’s rotary speed that balances the biped motion and from Definition 2.2, the following Proposition 2.2 arises,

Proposition 2.2 Robot’s balancing speed. The wheel’s rolling velocity to satisfy the robot’s body balance is proposed as


and if and only ifφ̇R=φ̇Lmust exist, assuming that in such period of time, the robot’s yawωt0allowing longitudinal balancing equilibrium. Thus,


Thus, let us redefine the state variables as x1=λ, x2=ẋ1, ẋ2=x22tanπ2x1. For an stability analysis for the balancing case when vt=rwφ̇B, and equilibrium condition φ¨B=0 occurs,


and dropping off the highest-order derivative of the system


The system total energy Ek+Ep (kinetic plus potential) is a positive function, which is used as a Lyapunov candidate function, where the robot’s translation motion rwφ̇B for equilibrium is


and substituting φ̇B,


For Vx=ET and finding out that v(x) and V̇x fulfill V̇0=0. In addition, assuming that 2πλ2π, then V̇0>D0. Assuming that V:DR is a continuous differentiable function. Finally, the following Lyapunov criterion is satisfied (20),


3. Polynomial vector fields

This section introduces the proposed path planning strategy to dynamically generate local paths. Two polynomial models are enhanced as vector fields to exert attractive and repulsive robot’s accelerations. In principle, the desired acceleration functions are designed from the interpolating attractive/repulsive accelerations with respect to (w.r.t.) distance. The method used to fit points is the Lagrange formula:


where the human-user establishes a desired numerical acceleration ai w.r.t. a desired distance δi, from either goal or obstacle. Therefore, the following general cubic polynomial forms attractive aA and repulsive aR are obtained with their respective numeric coefficients λi and βi,


It follows that, Definition 3.1 establishes the acceleration path planning model toward a goal of interest.

Definition 3.1 Planning toward a goal. Given the kinematic parametersλ0=0,λ1=1875s2,λ2=1875m1s2,λ3=375m2s2, the attraction path modelδκfAδis defined by


Assuming that the distance between the goal and the robotδg=x2+y22, such thatxxgxrandyygyr.

Similarly, Definition 3.2 establishes the acceleration path planning model that avoids obstacles zones.

Definition 3.2 Planning obstacles avoidance. Given the kinematic parametersβ0=5,β1=109440,β2=1855m1s2,β3=3110m2s2, the avoidance path modelδfRδis defined by


Assuming that the distance between the obstacle and the robotδ0=x2+y22, such thatxxoxrandyyoyr.

Figure 4(a) shows the robot’s instantaneous acceleration toward a goal of interest. The attraction acceleration starts when the goal-robot distance δg<9m. The planner allows start from fA0 to realistically provide speeds physically possible. Figure 4(b) shows the robot’s instantaneous acceleration away from obstacles. The avoidance acceleration starts when the obstacle-robot distance δo<8m. This avoidance planner fR is faster than fA to increase confidence against obstacles.

Figure 4.

Navigational robot’s motion planning, desired acceleration w.r.t. distance. (a) Goal attractive motion. (b) Obstacle avoidance motion.

Therefore, extending to two-dimension Cartesian space, let us deduce the following algebraic process for the goal-attraction planner fA:


as well as


Similarly, for the robot’s acceleration to avoid obstacles, let us develop the following fR, by substituting the functional form of δo into the gradient function


subsequently by applying the gradient operator,




Thus, by substituting terms in both local planners, the general attractive motion planning is a negative function with amplitude coefficient κA=375s2 is represented by


The attractive field is a positive function working within limits 0δg<9, thus


and the repulsive with κR=1440s2


The repulsive field is a negative function that works within range 0δo8,


The direction fields produced are shown in Figure 5, where for both cases the coordinates origin represents either goal or obstacle locations.

Figure 5.

Acceleration fields w.r.t. variations along the plane xy. (a) Goals attractive motion generation. (b) Obstacles avoidance motion generation.

Moreover, when neither goals of interest nor obstacles are within the observation field of the robot, it must keep navigating along a prior route plan. The routing plan is map comprised of a sequence of Cartesian points gkR2, gk=xy.

When the robot accomplishes either fA or fR, it continues toward the following route point, expressed in terms of unit vectors:


where ao is an ideal or averaged acceleration toward the next route point g2 from g1. Therefore, the total path planner mode is given by Proposition 3.1.

Proposition 3.1 Total mission path planning. The total path planning model subjected to adaptive environmental changes is proposed as a vector fields sum:


and the robot’s instantaneous navigational total velocity vTR2, vT=xTẏT is obtained by


Thus, to automatically limit the speed until the robot’s maximal velocity vmax, the real physical velocity vph is constrained by the final planning motion


Figure 6 shows simulation results of the total navigation planner.

Figure 6.

Vector fields path generation. (a) High-density obstacles yielding robot’s repulsion. (b) Obstacles repulsive field. (c) High density fR. (d) Attractive goals along a route.


4. Path tracking

This section deduces an algebraic trajectory tracking linearized controller based on the kinematics geometry of the reference path: linear and angular velocities. Considering from previous Section 3, let vph be called the reference velocity that is going to be tracked. Likewise, let (x1,2, y1,2) be the next local planning coordinates to be reached (from location 1 to location 2). Hence, let us define x1,2x2x1 and y1,2y2y1. Such that ṡ1,2m/s is a segment of the planning speed. Hence, let us obtain the first-order derivative,


Similarly, by obtaining the desired robot’s orientation θ1,2, its first-order derivative w.r.t. time is


It follows that, the tracking control vector is u̇tR2, such that u̇t=ṡ1,2θ̇1,2. Therefore, by stating (39) and (40) as a system of linear equations, the first-order derivatives must simultaneously be solved:


thus, by factorizing both, the common term 1/s1,2 and the first-order derivatives, the matrix form of the forward tracking law is


Likewise, as the inverse tracking law is of our interest, it is inversely dropped off


For notation simplicity, let us redefine ζ̇tẋ1,2ẏ1,2 and the time-variant control matrix Kt as


thus from Section 3, let uref be the global reference planning model during time segment t1,2t2t1 such that,


Therefore, the recursive path tracking control law is stated as


where ût is the instantaneous sensors observation of both components, displacement ŝ and yaw θ̂. The prediction control speed vector ζt+1 is the next desired local reference in line 2, while ζ̂t is the robot’s Cartesian speed observer vector. Finally, ut + 1 is the control vector global prediction (Table 1).

l [m]0.03a [m]0.25κAs23/75Ix [kg2]0.12
d [m]0.15bl [m]0.4κRs21/440Iy [kg2]0.12
ea [m]0.08bm0.75ao [m/s2]0.5Iz [kg2]0.13
r [m]0.15m [kg]0.76rw [m]0.1υmaxm/s1.5

Table 1.

Simulation parameters deployed with high-density range scanner Hokuyo URG 04LX.

High stiffness non-rigid bar.


5. Conclusion

The mechanical design of the biped’s lower-limb mechanical structure was configured as a double-crank four-bar linkage with passive-allowed motions. Motion planning began from determining the limbs’ linkage positions causing the robot’s height and pitch varying overtime producing unbalanced motions. Inferring balancing velocities to yield robot’s vertical balance was possible and worked stable. The proposed balancing rolling condition was analyzed throughout its total energy model as a Lyapunov candidate function resulting stable in three criteria: V(0) = 0, v(x) = 0, and V̇x=0. The proposed navigational approach allowed human-user to design short range-limited trajectories by cubic polynomials obtained from four empirical coordinates distance-acceleration by Lagrange interpolation. Both polynomial planning models have initial conditions a0t0=0m/s2. Thus, the robot did not require an infinite acceleration to reach a desired speed at t0. Physically, the model is applied to any motion in equilibrium. For goal attraction the maximal acceleration is reached at the 55% of the distance, subsequently decreases monotonically until the goal position.

The navigational general planning model is a set of partial derivatives model combined, allowing dynamic local planning among multiple obstacles, goals, and routes. The navigational general planning model worked as the reference model for the tracking control system. It consisted of a set of time-varying linear equations, with recursive feedback showing suitable performance. The work was implemented in simulation and coded in C++ under Linux. Future improvements will consider the inclusion of kinetic models and dynamic forces fitted to the proposed planer.


This appendix provides the algebraic deduction of the limb’s Cartesian motion model described in Section 2.

Let P1=x1y1 be the Cartesian point of passive joint between links b and , obtained by


Likewise, let P2=x2y2 be the coordinate of passive joint between links r and , expressed by:


Both expressions (47) and (48) are described in terms of ϕ, but can similarly be described in terms of the angle θ by


where the distances Δx and Δy separate the joints phi and theta along the chassis, see Figure 2(a). By algebraically treating the Cartesian components separately, let us equal the x components of (48) and (49) to form the equation


dropping off the squared root term of (50),


and squaring both sides of the equality, the following is obtained,


and algebraically expanding the squared binomials and substituting y1 and y2 from expression (47) and (49) respectively into (52),


and organizing trigonometric terms by their degree, Eq. (53) becomes:


By factorizing the common terms of (47) and exchanging terms with suitable identities such as cos2α+sin2α=1 and c2=Δx2+Δy2 in order to obtain Eq. (55)


In order to simplify the main expression, some constant terms are rewritten as


Therefore, the following simplified algebraic expression is deduced:


The trigonometric identity forms sinθ=2tanθ21+tan2θ2 and cosθ=1tan2θ21+tan2θ2 are substituted into (57) to produce (58),


and by multiplying both sides of the equality (57) by common denominator 1+tan2θ2 and algebraically simplifying:


Hereafter, to find a root for θ as independent variable, common terms are factorized and Eq. (59) is equated to zero to obtain


in order to reduce expression complexity, the following Definitions are stated:

Definition 4.1 [term P]. Let P be defined as a Cartesian horizontal decreasing segment by expression:


Definition 4.2 [term Q]. Let Q be defined as a Cartesian vertical segment that is expressed by:



Definition 4.3 [term P]. Let R be defined as a Cartesian horizontal increasing segment by expression:


Therefore, by substituting the terms of Definitions 4.1–4.3 into Eq. (60), the following quadratic form is deduced,


By analytically solving (64), which is a second-degree equation using the general form, a real solution for θ is possible, thus



  1. 1. Azzabi A, Nouri K. Path planning for autonomous mobile robot using the potential field method. In: Proceedings of International Conference on Advanced Systems and Electric Technologies (IC_ASET 2017). 2017. pp. 389-394
  2. 2. Reyes Muñoz JU, Martínez-García EA, Rodriguez Jorge R, Torres-Córdoba R. WMR kinematic control using underactuated mechanisms for goal-direction and evasion. In: Gorrostieta E, editor. Kinematics. IntechOpen; 2017. pp. 147-169. DOI: 10.5772/intechopen.70811
  3. 3. Castro-Jiménez LE, Martínez-García EA. Thermal image sensing model for robotic planning and search. Sensors. 2016;16(8):1253
  4. 4. Norouzi M, Valls Miro J, Dissanayake G. Probabilistic stable motion planning with stability uncertainty for articulated vehicles on challenging terrains. Autonomous Robots. 2016;40(2):361-381
  5. 5. Kamalova A, Kim KD, Lee SG. Waypoint mobile robot exploration based on biologically inspired algorithms. IEEE Access. 2020;8:190342-190355
  6. 6. Ma L, Xue J, Kawabata K, Zhu J, Ma C, Zheng N. Efficient sampling-based motion planning for on-road autonomous driving. IEEE Transactions on Intelligent Transportation Systems. 2015;16(4):1961-1976
  7. 7. Bai J, Lian S, Liu Z, Wang K, Liu D. Deep learning based robot for automatically picking up garbage on the grass. IEEE Transactions on Consumer Electronics. 2018;64(3):382-389. DOI: 10.1109/TCE.2018.2859629
  8. 8. Fang B, Ding J, Wang Z. Autonomous robotic exploration based on frontier point optimization and multistep path planning. IEEE Access. 2019;7:46104-46113
  9. 9. Lu C, Shan L, Jiang C, Dai Y. Reinforcement based mobile robot path planning with improved dynamic window approach in unknown environment. Autonomous Robots. 2021;45(1):51-76
  10. 10. Zakiev A, Lavrenov R, Magid E, Svinin M, Matsuno F. Partially unknown environment exploration algorithm for a mobile robot. Journal of Advanced Research in Dynamical and Control Systems. 2019;11(8):1743-1753
  11. 11. Yoon HS, Park TH. Motion planning of autonomous mobile robots by iterative dynamic programming. Intelligent Service Robotics. 2015;8(3):165-174
  12. 12. Qureshi AH, Ayaz Y. Potential functions based sampling heuristic for optimal path planning. Autonomous Robots. 2016;40(6):1079-1093
  13. 13. Receveur JB, Victor S, Melchior P. Autonomous car decision making and trajectory tracking based on genetic algorithms and fractional potential fields. Intelligent Service Robotics. 2020;13(2):315-330
  14. 14. Ferri G, Manzi A, Salvini P, Mazzolai B, Laschi C, Dario P. DustCart, an autonomous robot for door-to-door garbage collection: From DustBot project to the experimentation in the small town of Peccioli. In: 2011 IEEE International Conference on Robotics and Automation; 9–13 May 2011; Shanghai, China: IEEE; 2011. pp. 655-660. DOI:10.1109/ICRA.2011.5980254
  15. 15. Han SI, Lee JM. Balancing and velocity control of a unicycle robot based on the dynamic model. IEEE Transactions on Industrial Electronics. 2015;62(1):405-413
  16. 16. Klemm V, Morra A, Gulich L, Mannhart D, Rohr D, Kamel M, et al. LQR-assisted whole-body control of a wheeled bipedal robot with kinematic loops. IEEE Robotics and Automation Letters. 2020;5(2):3745-3752
  17. 17. Li CG, Zhou L, Chao Y. Self-balancing two-wheeled robot featuring intelligent end-to-end deep visual-steering. IEEE/ASME Transactions on Mechatronics. 2021;26(5):2263-2273
  18. 18. Jiang L, Qiu H, Wu Z, He J. Active disturbance rejection control based on adaptive differential evolution for two-wheeled self-balancing robot. Proceedings of the 28th Chinese Control Decision Conference (CCDC 2016). IEEE; 2016. pp. 6761-6766
  19. 19. Chen X, Zhao H, Sun H, Zhen S. Adaptive robust control based on Moore-Penrose generalized inverse for underactuated mechanical systems. IEEE Access. 2021;7:157136-157144
  20. 20. Iwendi C, Alquarni MA, Anajemba JH, Alfakeeh AS, Zhang Z, Bashir AK. Robust navigational control of a two-wheeled self-balancing robot in a sensed environment. IEEE Access. 2019;7:82337-82348
  21. 21. Zhang C, Liu T, Song S, Meng MQH. System design and balance control of a bipedal leg-wheeled robot. International Conference on Robotics and Biomimetics (ROBIO 2019). IEEE; 2019. pp. 1869-1874
  22. 22. Kim S, Kwon SJ. Dynamic modeling of a two-wheeled inverted pendulum balancing mobile robot. International Journal of Control, Automation and Systems. 2015;13(4):926-933
  23. 23. Yue M, An C, Sun JZ. An efficient model predictive control for trajectory tracking of wheeled inverted pendulum vehicles with various physical constraints. International Journal of Control, Automation and Systems. 2018;16(1):265-274
  24. 24. Tayefi M, Gen Z. Self-balancing controlled Lagrangian and geometric control of unmanned mobile robots. Journal of Intelligent and Robotic Systems: Theory and Applications. 2018;90(1–2):253-265
  25. 25. Esmaeili N, Alfi A, Khosravi H. Balancing and trajectory tracking of two-wheeled mobile robot using backstepping sliding mode control: Design and experiments. Journal of Intelligent and Robotic Systems: Theory and Applications. 2017;87(3–4):601-613
  26. 26. Sato R, Miyamoto I, Sato K, Ming A, Shimojo M. Development of Robot legs inspired by bi-articular muscle-tendon complex of cats. International Conference on Intelligent Robots and Systems (IROS). IEEE; 2015

Written By

Santiago de J. Favela Ortíz and Edgar A. Martínez García

Reviewed: 12 November 2021 Published: 28 December 2021