# Motion Planning for Omnidirectional Wheeled Mobile Robot by Potential Field Method

Authors: Weihao Li; Chenguang Yang; Yiming Jiang; Xiaofeng Liu; Chun-Yi Su
Journal: Journal of Advanced Transportation
 (2017)

---

## Abstract

In this paper, potential field method has been used to navigate a three omnidirectional wheels’ mobile robot and to avoid obstacles. The potential field method is used to overcome the local minima problem and the goals nonreachable with obstacles nearby (GNRON) problem. For further consideration, model predictive control (MPC) has been used to incorporate motion constraints and make the velocity more realistic and flexible. The proposed method is employed based on the kinematic model and dynamics model of the mobile robot in this paper. To show the performance of proposed control scheme, simulation studies have been carried to perform the motion process of mobile robot in specific workplace.


---

## Body

## 1. Introduction

In recent decades, omnidirectional mobile robot (OMR) has attracted increasing attention and investigation from the research communities [1–3]. One of advantages of OMR using omnidirectional wheels is that it does not have nonholonomic constraint which exists in differentially driven mobile robot [4–6]. With the input of the rotating speed of each omnidirectional wheel, the mobile robot can easily move wherever the user wants. This simplifies the control law which can be achieved easily. As it is shown in Figure 1, omnidirectional wheel consists of wheel and rollers, which means that the speed of the whole omnidirectional wheel is the combination of wheel speed and roller speed. Robot’s control is very complicated, and sometimes it is necessary to consider state constraint of the robot to complete the control design [7, 8].Figure 1
The structure ofi omnidirectional wheel.Since the path planning problem has been put forward, it has been studied by numbers of researchers [9]. A large number of research results have been proposed. The path planning algorithm develops from the earliest grid method, artificial potential field method [10], visibility graph [11] to C-space method [12], A∗ algorithm, and D∗ algorithm [13]. Now, it is also studied to combine fuzzy logic algorithm [14, 15], adaptive algorithm [16, 17], and neural network algorithm [18–21]. In recent years, potential field method is more and more mature and widely used in omnidirectional mobile robots, because of its logical simplicity and obstacle avoidance capability. Many researches have proved the excellent capability of navigation and obstacle avoidance [22–24]. Hence, potential field method is utilized in this paper for the motion planning of omnidirectional wheeled mobile robot. To overcome the local minima problem and the goals nonreachable with obstacles nearby (GNRON) problem, the repulsive potential functions for motion planning contain the distance between robot and obstacle.A popular way to control a mobile robot is to design the kinematic control based only on the kinematics equation [25–27]. Since 1995, people have put forward an integral dynamics model of a mobile robot [4]. Using dynamics model to control robot’s motion is a common way [28–31]. This paper combines the kinematics as well as dynamics equation of the omnidirectional wheel and potential field method, to control and navigate the mobile robot. In addition to these contributions in this paper, model predictive control (MPC) is utilized in motion planning for robust controller performance [32–35]. This paper is organized as follows: in Section 2, the kinematics equation of omnidirectional wheel and how the mobile robot built with 3 omnidirectional wheels can achieve the omnidirectional motion are discussed. In Section 3, the dynamics model of 3-omnidirectional wheel mobile robot is explained. In Section 4, a novel potential field method, which can overcome the GNRON problem, is introduced. In Section 5, MPC has been introduced. Both kinematics model and dynamics model have been applied in MPC. In Section 6, the simulations illustrating the effectiveness of the proposed method are presented. Finally, conclusion is given in Section 7.


## 2. The Kinematics Equation of Omnidirectional Wheel

From Figure2, the following equation can be obtained:(1)vix′viy′=0sin⁡αircos⁡αiωivir=Ki1ωivir,where vix, viy, and ωi are generalized velocity of point Oi′ in Cartesian coordinate system and vix′, viy′, and ωi′ are generalized velocity of point Oi′ in x′O′y′ coordinate system. vir is the ith roller’s central velocity vector.Figure 2
The motion relationship between system center and thei omnidirectional wheel.When theith omnidirectional wheel’s central speed is mapped to Cartesian coordinate system, then(2)vixviy=cos⁡ηi-sin⁡ηisin⁡ηicos⁡ηivix′viy′=Ki2Ki1ωivir.The system moves in two-dimensional space, so, according to geometric relationship and [36], the wheels’ speed can be represented by(3)vixviy=10-liy01lixvxvyω=Ki3x˙cy˙cω,where lix and liy are the position of the ith wheel’s mass point in xOy coordinate. According to (2)-(3), the system inverse kinematics equations can be defined as(4)Ki2Ki1ωivir=Ki3x˙cy˙cω,i=1,2,3,where det⁡(Ki1) is not zero, so as the det⁡(Ki2). Define Ki=Ki2-1Ki1-1Ki3, lix=licos⁡βi, and liy=lisin⁡βi. βi is the angle between OOi′ and x-axis. Then the inverse kinematics equation of ith omnidirectional wheel is(5)ωivir=Ki2-1Ki1-1Ki3x˙cy˙cω;define γi=ηi-αi; then(6)Ki=1-rsin⁡αicos⁡γisin⁡γi-liycos⁡γi+lixsin⁡γircos⁡ηi-rsin⁡ηiliy·rcos⁡ηi-lix·rsin⁡ηi.Define(7)A1=cos⁡γ1sin⁡α1cos⁡γ2sin⁡α2cos⁡γ3sin⁡α3A2=sin⁡γ1sin⁡α1sin⁡γ2sin⁡α2sin⁡γ3sin⁡α3A3=l1sin⁡γ1-β1sin⁡α1l2sin⁡γ2-β2sin⁡α2l3sin⁡γ3-β3sin⁡α3.The inverse kinematics solution of wheel speed to system center is(8)ω1ω2ω3=1-rA1A2A3x˙cy˙cω.The Jacobian matrix systems inverse kinematics equation is(9)R=1-rA1A2A3.According to Figures2–4, since this paper discusses a mobile robot built by three omnidirectional wheels, αi, βi, and ηi, are fixed. The actual values are shown in Table 1.Table 1
A table with notes.
Parameter
β
1
β
2
β
3
η
1
η
2
η
3
α
1
α
2
α
3
Value
60°
180°
300°
60°
180°
300°
90°
90°
90°Figure 3
The structure ofith omnidirectional wheel.Figure 4
All three coordinates in OMR system.From Table1 and specification that r=50.67 mm and l=118.18 mm, the actual parameter of OMR can be substituted into (8); then(10)ω1ω2ω3=-0.01700.009872.33230-0.01972.33230.01710.009872.3323x˙cy˙cω.From (10), rank(R)=3, which means that this robot can achieve omnidirectional movement.


## 3. The Dynamics Equation of OMR

Three coordinatesxcOcyc,xOy, and xi′Oi′yi′ are constructed as in Figure 4. Oc is a specific point in the workspace, and O is the central point of the mobile robot while Oi′ is the central point of each wheel. η is the angle between the front of OMR and Xc. The vector Sc=xc,ycT indicates the position of O. According to Newton’s second law,(11)mx¨c=Fxcmy¨c=Fyc,equivalent to(12)MS¨c=Fc.F=Fxc,FycT is a force vector on the central point of mobile robot in the Cartesian coordinate. M=diag(m,m) is a symmetric positive definite matrix, and m is the mass of mobile robot.The transfer matrix which transfers coordinatexcOcyc into coordinate xOy is(13)Tc=cos⁡η-sin⁡ηsin⁡ηcos⁡η.Consequently,(14)S˙c=Tcs˙F˙c=Tcf˙s=x,yT and f=[fx,fy], respectively, mean the central pointO’s displacement and force vector in mobile coordinate xOy. Therefore, (12) becomes(15)MTcTT˙cs˙+s¨=f.Finally, the dynamics of the omnidirection mobile robot can be described as(16)mx¨-y¨η˙=fxmy¨+x¨η˙=fyIυη¨=MI,where Iυ and MI are the moment of inertia of mobile robot around its central axis and the corresponding torque, respectively. Among them, fx,fy, andMI can be drawn by(17)fx=-N1w+N2wsin⁡μ+N3fy=N1w-N2wcos⁡μ,where μ is the angle between wheel and y-axis, and μ1=30°,  μ2=30°, and μ3=90°.(18)MI=l1N1w+l2N2w+l3N3w.According to [37], the dynamics model of drive system of each wheel is assumed as(19)Iwω˙i+ξωi=hτi-rNiwi=1,2,3,where Niw is the drive power of each wheel. Iω is the moment of inertia of wheel around its central axis. ξ is viscous friction constant between wheel and ground. ω˙i is angular acceleration of each wheel. r is radius of the wheel. h is drive factor. τi is the input torque of each wheel.The speed of each omnidirectional mobile robot’s wheelvi can be described as rωi. According to [38], the dynamics model of OMR can be described as the following equation:(20)q¨=Aqq˙+Bqτ,where(21)Aq=-3ξ3Iw+2Mr2-3Iwη˙3Iw+2Mr203Iwη˙3Iw+2Mr23ξ3Iw+2Mr2000-3ξl23Iwl2+Iνr2Bq=-hrκ13Iw+2Mr2hrκ13Iw+2Mr22hrcos⁡η3Iw+2Mr2hrκ23Iw+2Mr2hrκ33Iw+2Mr22hrsin⁡η3Iw+2Mr2hrl3Iwl2+Iνr2hrl3Iwl2+Iνr2hrl3Iwl2+Iνr2.Let us defineκ1=3sin⁡η-cos⁡η,  κ2=-3cos⁡η-sin⁡η, and  κ3=3cos⁡η-sin⁡η.


## 4. Potential Field for OMR’s Motion Planning

Using the potential field algorithm for OMR’s path planning will be modified to produce a virtual force to navigate mobile robot and obstacle avoidance. For simple theoretical analysis, mobile robot is considered as a mass point and moves in two-dimensional space whose position can be denoted bys=x,yT. The distance as well as the angle between robot and goal, robot and obstacles can be detected by ultrasonic sensors. Inspired by [23], then the attractive potential function caused by goal can be calculated by the following equation:(22)Uatts=12aattdcs,sgoal,where aatt is a positive scaling factor, dc(s,sgoal)=(sgoal-s) is the distance between the OMB’s mass point and the goal sgoal, and c=1 or 2. For c=2, the attractive force is(23)Fatts=-∇Uatts=aattsgoal-s=FattnRG.The repulsive potential function is(24)Ureps=12arep1ds,sobs-1d02dns,sgoal,ifds,sobs≤d00,ifds,sobs>d0.where arep is a positive scaling factor, d(s,sobs) is the minimal distance between the OMB’s mass point q and the hindrance, d0 denotes the level of the influence of the hindrance to the robot and it is defined as a positive constant, and n is a positive constant. The repulsive force is(25)Freps=-∇Ureps=Frep1nOR+Frep2nRG,ifds,sobs≤d00,ifds,sobs>d0.nOR=∇d(s,sobs) and nRG=-∇d(s,sgoal) are two unit vectors pointing from the obstacle to the OMR and from the OMR to the goal. According to (23) and (25), Ftotal is drawn by the following equation:(26)Ftotal=Fatts+Freps=FattnRG+Frep1nOR+Frep2nRG.According to [23], for the robot with 3 omnidirectional wheels, the real input is the 3 angular velocities of the omnidirectional wheels, ω1, ω2, and ω3, which satisfies (8), and vxc and vyc have the following relationship with v and ω: (27)vxc=vcos⁡ηvyc=vsin⁡η.The mobile robot needs to decelerate as soon as it nears the obstacle, while its velocity will be higher when it is far from the obstacle, so the robot’s velocity is chosen by the distance between OMB and obstacle. Thus the velocity of the OMR in xcOcyc can be determined by(28)v=vods,sobsd0vo,where vo is the optimal velocity of the robot.As the total forceFtotal can be calculated, its angle ηf is known. The difference angle between ηf and the orientation of the robot ηc is(29)ηe=ηf-ηc.Thus the angular velocities ω can be ensured by(30)ω=Kηe;define K as a positive gain.


## 5. Model Predictive Control for Omnidirection Mobile Robot

In recent years, MPC has been widely used in motion control Internet of things applications [35, 39]. MPC has low requirements for model’s accuracy and it is suitable for step response model and linear and nonlinear model. The control problem is described as a cost function’s optimization problem. The input which is constrained by some specific conditions and minimizes the cost function is the optimal input. One of MPC’s advantage is its rolling optimization [40] that means, according to its reference, it can optimize a cost function to get an optimal input vector at every sample time. According to the MPC method introduced by [41], because the reference is produced by potential field, what we need is a discrete-time model with constraints. In the following section, according to [35] two discrete-time controllers, kinematic controller, and dynamics controller are proposed.


### 5.1. Kinematic Controller

With (8) and υ=rω, then the kinematics model of mobile robot can be transformed into(31)υ=υ1υ2υ3=-A1A2A3x˙cy˙cω.Define q=xc,yc,ηT as the state of mobile robot in xcOcyc and S(q)=rR-1. Therefore(32)q˙=-Sqυ.With the help of zero-order hold (ZOH), a continuous-time system can be described as a discrete-time form(33)qj+1=qj+q˙tT.with a sampling period T. According to (31), (32), and (33) can be rewritten as(34)qj+1=xcj+1ycj+1ηj+1=xcj-1.1547Tυ1-0.5785Tυ2+0.5777Tυ3ycj-1.002Tυ2+0.334Tυ3ηj+0.0028Tυ3The cost function for the MPC can be defined as(35)Jq,u=∑k=jj+N-1LKqk,uk+Fqj+N,where LK(q,u) is the stage cost.(36)LKq,u=∑k=1NqTk+j∣jQKqk+j∣j+∑k=0Nu-1ΔuTk+j∣jRKΔuk+j∣j,where N is prediction horizon where N≥1 and Nu is control horizon where 1≤Nu≤N. QK and RK are appropriate weighting matrices. q(k+j∣j) means the predicted state of the OMR and Δu(k+j∣j) means the input increment of the controller. LK(q,u) is the most used standard quadratic form in practice. By way of solving the following finite-horizon optimal control problem (FHOCQ) online:(37)u∗=arg⁡minu⁡Jq·u.The current control u(j)=υj,ωjT can be ensured at the instant time j. Because the torques generated by motors are limited by the performance of the motors, u(j) has upper bound and lower bound and the change of u(j) is also constrained. Thus(38)umin⩽uj⩽umaxΔumin⩽Δuj⩽Δumaxqmin⩽qj⩽qmax.According to [42], (38) can be transformed into(39)hi--P^i⩽u^j⩽hi+-P^ihi-⩽qj⩽hi+.The kinematic equation (34) can be described into the following form:(40)qj+1=g1qj+g2qjuj,where g1 and g2 are the continuous nonlinear function, g1(0)=0,  q=q1,q2,q3T=xc,yc,ηT is the state vector, u=u1,u2T=υ,ωT is the input vector, and(41)g1q=q1q2q3,g2=T-1.1547-0.57850.57770-1.0020.334000.0028.Define the following vectors:(42)q¯=qj+1∣j,…,qj+N∣jT∈R3Nu¯j=uj+1∣j,…,uj+N∣jT∈R2NuΔu¯j=Δuj+1∣j,…,Δuj+N∣jT∈R2Nu.The predicated output can be determined by the following form:(43)x¯=GΔu¯j+g~1+g~2,where(44)G=g2qN¯1⋯0g2qN¯2⋯0⋮⋱⋮g2qN¯N⋯g2qN¯Ng~1=g1qN¯1g1qN¯2⋮g1qN¯N∈R3Ng~2=g2qN¯1uj-1g2qN¯2uj-1⋮g2qN¯Nuj-1∈R3N;define N¯i=j-1+i∣j-1.Hence, the original optimization problem (35) can be transformed into(45)min⁡q¯jQK2+Δu¯jRK2=min⁡GΔu¯j+g~1+g~2QK2+Δu¯jRK2subject to(46)Δu¯min⩽Δu¯j⩽Δu¯maxu¯min⩽u¯j-1⩽Δu¯maxu¯min⩽u¯j-1+IΔu¯j⩽Δu¯maxx¯min⩽GΔu¯j+g~1+g~2⩽x¯max.Problem (45) can be rewritten as a QP problem(47)min⁡12Δu¯TW¯Δu¯+H¯TΔu¯subject to(48)EΔu¯⩽b~Δu¯min⩽Δu¯⩽Δu¯max,where the coefficients are(49)W¯=2GTQKG+RKH¯=-2GTQKg~1+g~2E=-II-GGT.


### 5.2. Dynamics Controller

According the dynamics model of OMR, then(50)x¨c=-3Iwy˙cη˙-3ξx˙c-hrκ1τ1+hrκ1τ2+2hrτ32Mr2+3Iwy¨c=3Iwx˙cη˙+3ξy˙c-hrκ2τ1+hrκ3τ2+2hrτ32Mr2+3Iwη¨=-3ξl2η2+hlrτ1+τ2+τ3Iυr2+3Iwr2.Applying (33) into (50) and [x¨,y¨,η¨]=[v˙xc,v˙yc,ω˙] the discrete-time dynamics model of the OMR can be described as(51)vxj+1=vxj+x¨Tvyj+1=vyj+y¨Tωj+1=ωj+η¨T.According to u=vxc,vyc,ωT and q=xc,yc,ηT, then(52)uj+1=uj+q¨TApplying (52) into (40), then, we can draw(53)qj+2=g1qj+g2qjuj+g2g1qj+g2qjujuj+1subject to(54)umin⩽uj⩽umaxτmin⩽τj⩽τmaxq¨min⩽q¨j⩽q¨max,where, respectively, min and max means the lower bounds and upper bounds. τ is the motor inputs. u is the velocity. q¨ is the acceleration.According to (53), the predictive model can be formulated as(55)qk+j∣j=g1qk+j-2∣j+g2qk+j-2∣juk+j-2∣k+g2g1qk+j-2∣j+g2qk+j-2∣juk+j-2∣kuk+j-1∣k,where k⊆[1,N¯].The quadratic objective function (QBF) of the robot’s state and the motor input under a predictive horizonN¯ and a control horizon N¯u can be determined by the following equation:(56)LDk=∑k=1N¯qTk+j∣jQ¯Dqk+j∣j+∑k=1N¯uτTk+j-2∣jR¯Dτk+j-2∣j,where Q¯D and R¯D are appropriate weighting matrices.Hence, the dynamics predictive motor torque can be obtained by(57)τ∗=arg⁡minτ⁡LDjsubject to(58)τmin⩽τk+j∣j⩽τmax,k⊆0,N¯-2q¨min⩽q¨k+j∣j⩽q¨max,k∈1,N¯.


## 5.1. Kinematic Controller

With (8) and υ=rω, then the kinematics model of mobile robot can be transformed into(31)υ=υ1υ2υ3=-A1A2A3x˙cy˙cω.Define q=xc,yc,ηT as the state of mobile robot in xcOcyc and S(q)=rR-1. Therefore(32)q˙=-Sqυ.With the help of zero-order hold (ZOH), a continuous-time system can be described as a discrete-time form(33)qj+1=qj+q˙tT.with a sampling period T. According to (31), (32), and (33) can be rewritten as(34)qj+1=xcj+1ycj+1ηj+1=xcj-1.1547Tυ1-0.5785Tυ2+0.5777Tυ3ycj-1.002Tυ2+0.334Tυ3ηj+0.0028Tυ3The cost function for the MPC can be defined as(35)Jq,u=∑k=jj+N-1LKqk,uk+Fqj+N,where LK(q,u) is the stage cost.(36)LKq,u=∑k=1NqTk+j∣jQKqk+j∣j+∑k=0Nu-1ΔuTk+j∣jRKΔuk+j∣j,where N is prediction horizon where N≥1 and Nu is control horizon where 1≤Nu≤N. QK and RK are appropriate weighting matrices. q(k+j∣j) means the predicted state of the OMR and Δu(k+j∣j) means the input increment of the controller. LK(q,u) is the most used standard quadratic form in practice. By way of solving the following finite-horizon optimal control problem (FHOCQ) online:(37)u∗=arg⁡minu⁡Jq·u.The current control u(j)=υj,ωjT can be ensured at the instant time j. Because the torques generated by motors are limited by the performance of the motors, u(j) has upper bound and lower bound and the change of u(j) is also constrained. Thus(38)umin⩽uj⩽umaxΔumin⩽Δuj⩽Δumaxqmin⩽qj⩽qmax.According to [42], (38) can be transformed into(39)hi--P^i⩽u^j⩽hi+-P^ihi-⩽qj⩽hi+.The kinematic equation (34) can be described into the following form:(40)qj+1=g1qj+g2qjuj,where g1 and g2 are the continuous nonlinear function, g1(0)=0,  q=q1,q2,q3T=xc,yc,ηT is the state vector, u=u1,u2T=υ,ωT is the input vector, and(41)g1q=q1q2q3,g2=T-1.1547-0.57850.57770-1.0020.334000.0028.Define the following vectors:(42)q¯=qj+1∣j,…,qj+N∣jT∈R3Nu¯j=uj+1∣j,…,uj+N∣jT∈R2NuΔu¯j=Δuj+1∣j,…,Δuj+N∣jT∈R2Nu.The predicated output can be determined by the following form:(43)x¯=GΔu¯j+g~1+g~2,where(44)G=g2qN¯1⋯0g2qN¯2⋯0⋮⋱⋮g2qN¯N⋯g2qN¯Ng~1=g1qN¯1g1qN¯2⋮g1qN¯N∈R3Ng~2=g2qN¯1uj-1g2qN¯2uj-1⋮g2qN¯Nuj-1∈R3N;define N¯i=j-1+i∣j-1.Hence, the original optimization problem (35) can be transformed into(45)min⁡q¯jQK2+Δu¯jRK2=min⁡GΔu¯j+g~1+g~2QK2+Δu¯jRK2subject to(46)Δu¯min⩽Δu¯j⩽Δu¯maxu¯min⩽u¯j-1⩽Δu¯maxu¯min⩽u¯j-1+IΔu¯j⩽Δu¯maxx¯min⩽GΔu¯j+g~1+g~2⩽x¯max.Problem (45) can be rewritten as a QP problem(47)min⁡12Δu¯TW¯Δu¯+H¯TΔu¯subject to(48)EΔu¯⩽b~Δu¯min⩽Δu¯⩽Δu¯max,where the coefficients are(49)W¯=2GTQKG+RKH¯=-2GTQKg~1+g~2E=-II-GGT.


## 5.2. Dynamics Controller

According the dynamics model of OMR, then(50)x¨c=-3Iwy˙cη˙-3ξx˙c-hrκ1τ1+hrκ1τ2+2hrτ32Mr2+3Iwy¨c=3Iwx˙cη˙+3ξy˙c-hrκ2τ1+hrκ3τ2+2hrτ32Mr2+3Iwη¨=-3ξl2η2+hlrτ1+τ2+τ3Iυr2+3Iwr2.Applying (33) into (50) and [x¨,y¨,η¨]=[v˙xc,v˙yc,ω˙] the discrete-time dynamics model of the OMR can be described as(51)vxj+1=vxj+x¨Tvyj+1=vyj+y¨Tωj+1=ωj+η¨T.According to u=vxc,vyc,ωT and q=xc,yc,ηT, then(52)uj+1=uj+q¨TApplying (52) into (40), then, we can draw(53)qj+2=g1qj+g2qjuj+g2g1qj+g2qjujuj+1subject to(54)umin⩽uj⩽umaxτmin⩽τj⩽τmaxq¨min⩽q¨j⩽q¨max,where, respectively, min and max means the lower bounds and upper bounds. τ is the motor inputs. u is the velocity. q¨ is the acceleration.According to (53), the predictive model can be formulated as(55)qk+j∣j=g1qk+j-2∣j+g2qk+j-2∣juk+j-2∣k+g2g1qk+j-2∣j+g2qk+j-2∣juk+j-2∣kuk+j-1∣k,where k⊆[1,N¯].The quadratic objective function (QBF) of the robot’s state and the motor input under a predictive horizonN¯ and a control horizon N¯u can be determined by the following equation:(56)LDk=∑k=1N¯qTk+j∣jQ¯Dqk+j∣j+∑k=1N¯uτTk+j-2∣jR¯Dτk+j-2∣j,where Q¯D and R¯D are appropriate weighting matrices.Hence, the dynamics predictive motor torque can be obtained by(57)τ∗=arg⁡minτ⁡LDjsubject to(58)τmin⩽τk+j∣j⩽τmax,k⊆0,N¯-2q¨min⩽q¨k+j∣j⩽q¨max,k∈1,N¯.


## 6. Experimental Part

In this section, we design a 100 m × 100 m workplace within 6 obstacles(Oi,i=1,2,3,4,5,6). We define the velocity of the OMR as 1 m/s and the start point of the OMR as (3,90) while the destination is (70,28). We define the prediction horizon N=3 and the control horizon Nu=2. As the inputs of kinematic controller and dynamics controller are different, we set up a different constraint. The save distance between the OMR and obstacle is adjustable and the accurate value of the OMR’s model is based on the OMR we built physically. The simulation is carried out in MATLAB.


### 6.1. Simulation of Kinematics Controller

In this section, simulation is carried out based on kinematics model. The OMR is navigated by potential field method combining MPC. In this simulation, we assume the goal position is already known, and the start position and start velocity are defined in advance.The process of this simulation is shown by the following flow chart in Figure5, where Oi means the ith obstacle. First, we define the originate position of the mobile robot and the originate velocity. Then, we sent the goal position to the mobile robot. With the help of potential field method, mobile robot can draw the next status, which is used as the reference for the MPC. After the MPC process, the predictive status is sent to mobile robot for navigation and to the previous process for the next reference.Figure 5
The velocity of the OMR during the simulation.The area of workplace is within 100 m × 100 m and there are some obstacles randomly distributed in it. With the help of potential field and MPC, the OMR can adjust its velocity and finally reach the goal which is shown by Figures6 and 7.Figure 6
The simulation of OMR controlled by kinematic controller moving in the workplace.Figure 7
The trajectory of the OMR controlled by kinematic controller inXcOcYc coordinate.According to Figures6 and 7, we can see that the OMR successfully reaches the goal and can smoothly self-avoid the obstacle. The velocity of the OMR is shown by Figures 8, 9, and 10.Figure 8
The velocity of the OMR controlled by kinematic controller during the simulation.Figure 9
The change of velocity of the OMR controlled by kinematic controller.Figure 10
Three omnidirectional wheels’ velocity.At the beginning of simulation, we define the originate velocity of the robot as 1. When the mobile robot starts moving, the velocity (vt) is modified by MPC as vt on the left of simulation.Connecting Figures6, 8, and 9, we can see that the moment the change of vt is rapid is the moment that mobile robot encounters an obstacle and it needs to change its direction. Figure 10 is the velocities of three omnidirectional wheels; the composition of all three velocities is vt.According to potential field method, we can get the total force angle, and then we can determineη. The change of η is shown by Figure 11.Figure 11
The angle with the change of robot’s position is determined by potential field.The result of potential field method in navigation is outstanding. The OMR can smoothly avoid obstacles and successfully guide itself to the goal. With supplement of MPC, the motion of mobile robot is constrained and the velocity becomes more realistic and flexible. The robustness of system is enhanced.


### 6.2. Simulation of Dynamics Controller

In this section, similar to the last section, we change kinematics model into dynamics model and simulate a similar process which OMR is navigated by potential field and MPC. In this simulation, we assume the goal position is already known, and the start position and start velocity are defined in advance too.According Figures12 and 13, it shows that, with the control of dynamics controller and navigation of potential field, the OMR achieves its goal and successfully avoids the obstacles. When the OMR approaches an obstacle, potential field algorithm generates a repulsive force which makes the OMR turn around and prevent itself from hitting the obstacle. With the help of MPC, the velocity is constrained, which can prevent some value that is beyond the real produced by the potential field method from navigating the OMR.Figure 12
The simulation of the OMR controlled by dynamics controller moving in the workplace.Figure 13
The trajectory of the OMR controlled by dynamics controller inXcOcYc coordinate.Comparing Figures14 and 15 to Figure 12, it is easy to see that when the velocity changes sharply is when the OMR is too close to the obstacle and it needs to slow down to avoid possible collision.Figure 14
The velocity of the OMR controlled by dynamics controller during the simulation.Figure 15
The change of velocity of the OMR controlled by dynamics controller.According to Figure16, when the OMR needs to change its direction, it changes three torques, respectively, to generate a combined effort to steer its motion.Figure 16
The change of torque of the OMR.


## 6.1. Simulation of Kinematics Controller

In this section, simulation is carried out based on kinematics model. The OMR is navigated by potential field method combining MPC. In this simulation, we assume the goal position is already known, and the start position and start velocity are defined in advance.The process of this simulation is shown by the following flow chart in Figure5, where Oi means the ith obstacle. First, we define the originate position of the mobile robot and the originate velocity. Then, we sent the goal position to the mobile robot. With the help of potential field method, mobile robot can draw the next status, which is used as the reference for the MPC. After the MPC process, the predictive status is sent to mobile robot for navigation and to the previous process for the next reference.Figure 5
The velocity of the OMR during the simulation.The area of workplace is within 100 m × 100 m and there are some obstacles randomly distributed in it. With the help of potential field and MPC, the OMR can adjust its velocity and finally reach the goal which is shown by Figures6 and 7.Figure 6
The simulation of OMR controlled by kinematic controller moving in the workplace.Figure 7
The trajectory of the OMR controlled by kinematic controller inXcOcYc coordinate.According to Figures6 and 7, we can see that the OMR successfully reaches the goal and can smoothly self-avoid the obstacle. The velocity of the OMR is shown by Figures 8, 9, and 10.Figure 8
The velocity of the OMR controlled by kinematic controller during the simulation.Figure 9
The change of velocity of the OMR controlled by kinematic controller.Figure 10
Three omnidirectional wheels’ velocity.At the beginning of simulation, we define the originate velocity of the robot as 1. When the mobile robot starts moving, the velocity (vt) is modified by MPC as vt on the left of simulation.Connecting Figures6, 8, and 9, we can see that the moment the change of vt is rapid is the moment that mobile robot encounters an obstacle and it needs to change its direction. Figure 10 is the velocities of three omnidirectional wheels; the composition of all three velocities is vt.According to potential field method, we can get the total force angle, and then we can determineη. The change of η is shown by Figure 11.Figure 11
The angle with the change of robot’s position is determined by potential field.The result of potential field method in navigation is outstanding. The OMR can smoothly avoid obstacles and successfully guide itself to the goal. With supplement of MPC, the motion of mobile robot is constrained and the velocity becomes more realistic and flexible. The robustness of system is enhanced.


## 6.2. Simulation of Dynamics Controller

In this section, similar to the last section, we change kinematics model into dynamics model and simulate a similar process which OMR is navigated by potential field and MPC. In this simulation, we assume the goal position is already known, and the start position and start velocity are defined in advance too.According Figures12 and 13, it shows that, with the control of dynamics controller and navigation of potential field, the OMR achieves its goal and successfully avoids the obstacles. When the OMR approaches an obstacle, potential field algorithm generates a repulsive force which makes the OMR turn around and prevent itself from hitting the obstacle. With the help of MPC, the velocity is constrained, which can prevent some value that is beyond the real produced by the potential field method from navigating the OMR.Figure 12
The simulation of the OMR controlled by dynamics controller moving in the workplace.Figure 13
The trajectory of the OMR controlled by dynamics controller inXcOcYc coordinate.Comparing Figures14 and 15 to Figure 12, it is easy to see that when the velocity changes sharply is when the OMR is too close to the obstacle and it needs to slow down to avoid possible collision.Figure 14
The velocity of the OMR controlled by dynamics controller during the simulation.Figure 15
The change of velocity of the OMR controlled by dynamics controller.According to Figure16, when the OMR needs to change its direction, it changes three torques, respectively, to generate a combined effort to steer its motion.Figure 16
The change of torque of the OMR.


## 7. Conclusion

In this paper, a novel potential field method has been used to navigate a class of OMR. With the consideration of distance between the robot and the goal, robot, and obstacle, the GNRON problem is solved. In addition, it discusses the kinematic as well as dynamics model of mobile robot. For improving system’s robustness, it combines potential field and MPC, so the motion planning is more complete. Finally, simulation results show that the proposed control scheme is more appropriate for omnidirectional mobile robot’s navigation.



---

*Source: 4961383-2017-03-12.xml*