Вы находитесь на странице: 1из 11

5502 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 64, NO.

7, JULY 2017

Time-Optimal Trajectory Planning Based on


Dynamics for Differential-Wheeled Mobile
Robots With a Geometric Corridor
Yunjeong Kim and Byung Kook Kim

AbstractWe propose an efficient time-optimal trajec- path planning problem are to get an obstacle-free route in a clus-
tory planning algorithm for an environment with multiple tered environment, to make the paths curvature continuous and
static circular obstacles, which is based on dynamics for bounded. Since the differential equation describing DWMRs is
differential-wheeled mobile robots (DWMRs) including ac-
tuators. This problem is known to be complex particularly nonholonomic, it makes path planning difficult. Several meth-
if obstacles are present and if full dynamics including ac- ods have been proposed to handle this issue using robots kine-
tuators is considered. Given a geometric corridor, the pro- matics. The shortest-path planning problem was solved without
posed technique defines a portion of trajectory between obstacles [2] and with obstacles [3], [4]. However, the curvature
obstacles as a section which is constituted of an arc, out- of the path does not vary continuously. Curvature continuous
curve, and in-curve, each with constant control input sat-
isfying bangbang principle for time-optimization. Then, it paths are generated using cubic spirals, clothoid curves, splines,
designs time-optimal trajectory composed of multiple sec- or Bezier curves [5], [6]. Also path smoothing algorithms are
tions using common tangent between two tangent circles, suggested in [7] and [8] in which they first generate path con-
in which it handles multiple consecutive obstacles without sisted of polygonal lines and modify this so that the vehicle is
arcs. This method helps to treat complex environment con- able to move.
sidering dynamics with DWMRs actuators. Simulation re-
sults are shown to validate the efficiency of the proposed Trajectory generation is to impose a velocity profile to con-
algorithm. vert a path to a trajectory by imposing velocity profile to the
Index TermsBangbang control, minimum-time control, path. This method is first introduced in [9] and they divide
mobile robot, motion planning, trajectory planning. the trajectory planning problem into two subproblems, i.e., (1)
time-optimization of the trajectory along a specified path and
I. INTRODUCTION (2) search for the optimal path. This approach has been widely
N THE last three decades, extensive research efforts have used in mobile robots field. In [10], considering mobile robots
I been put on autonomous vehicles. Especially, differential-
wheeled mobile robots differential-wheeled mobile robots
dynamics, a quasi-time-optimal problem is solved by using dis-
cretization of state variables and converting the trajectory prob-
(DWMRs) are generally used to perform various tasks in large lem to a parametric optimization, which is solved via stochastic
workspaces. It is essential for DWMRs to plan the motion to means. A feasible nonholonomic motion is generated by using
determine feasible trajectory that drives DWMR from the initial curvature polynomials of arbitrary order, expressing the solution
state to the target state while avoiding collisions with obsta- of the system dynamics in terms of decoupled quadrature, and
cles. The vast majority of motion planning algorithms consider linearizing the necessary conditions for optimality [11] focusing
kinematics only due to difficulty considering DWMRs dynam- on generating trajectory in a no-obstacle environment. In addi-
ics. However, it is desirable to consider dynamics for utmost tion, a feasible trajectory generation algorithm based on quartic
performance. In general, motion planning is divided into three Bezier curve is proposed by generating continuous and bounded
main topics: path planning, trajectory generation, and trajec- curvature profile and then generating linear velocity profile en-
tory planning [1]. suring velocity-continuity and acceleration limits [12].
Path planning concerns the search of a time-independent con- Trajectory planning finds path and velocity profile simultane-
tinuous sequence of configurations from the initial configuration ously which drives a robot from an initial state to the goal state
to the final configuration in kinematics level. Major issues on while obeying robots kinematics or dynamics model avoiding
obstacles. Random-profile approach is used for minimum-time
Manuscript received July 7, 2016; revised October 21, 2016 and Jan-
trajectory planning considering dynamics for wheeled-mobile
uary 2, 2017; accepted January 19, 2017. Date of publication March 2, robots [13], [14]. To handle nonholonomic constraints and high
2017; date of current version June 9, 2017. degrees of freedom, the concept of a rapidly exploring random
The authors are with the Electrical Engineering Department, Korea
Advanced Institute of Science and Technology, Daejeon 305-338, South
tree (RRT) is specifically designed and is iteratively expanded
Korea (e-mail: dallddungi@kaist.ac.kr; bkkim@kaist.ac.kr). by applying control inputs that drive the system slightly to-
Color versions of one or more of the figures in this paper are available ward randomly selected point. This method is used in trajec-
online at http://ieeexplore.ieee.org.
Digital Object Identifier 10.1109/TIE.2017.2677331
tory planning of a system with nonholonomic constraints [15].

0278-0046 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications standards/publications/rights/index.html for more information.
KIM AND KIM: TIME-OPTIMAL TRAJECTORY PLANNING BASED ON DYNAMICS FOR DWMRs 5503

Randomized kinodynamic planning [16] based on RRT devel-


ops a randomized planning approach that is particularly tailored
to trajectory planning problems in high-dimensional state space
and applied to a much broader class of problems as well as
wheeled mobile robots.
Minimum-time trajectory based on dynamics for mobile
robots is an important research area. The research mentioned
above confined to either considering kinematics only, limita-
tions of velocities/accelerations, or dynamics of input torques.
Since motors are used in actuating DWMRs, it is essential to
consider motor dynamics and control input constraint. Further-
more, planning trajectory using direct motor control input in-
stead of torque is suitable for DWMRs trajectory planning which
does not need any extra motor torque controllers [1]. In our lab,
minimum-time trajectory generation problem along the curved Fig. 1. Circular C-space environment of a given corridor determined
path is solved with a motor control input constraint by using by obstacles directions of via curves and many possible trajectories.
the limit curve [17]. Also near-minimum-time trajectory plan-
ning is suggested in [1] considering motors armature current
and voltage constraint, and minimum-time trajectory planning is
suggested by dividing trajectory into sections and adjusting the
input while avoiding obstacles [18]. However, these studies treat
single-corner environment only, since complexity is increased
significantly according to the number of obstacles. Recently, the
time-optimal trajectory in a two-corner environment is obtained
in [19], but the number of corners is confined to two.
In this paper, we propose the time-optimal trajectory plan-
ning (TOTP) algorithm for DWMRs for an environment with
multiple circular obstacles with given geometric corridor under
Fig. 2. Structure of DWMR.
dynamics for DWMRs including actuators. First, we divide tra-
jectory into sections composed of arc, out-curve, and in-curve,
each of which is composed of intervals with constant control the direction of via curves around obstacle (CW or CCW) [22].
inputs satisfying the bangbang principle. Out-curves and in- Fig. 1 represents an example of a geometric corridor, where M
curves in each section are first planned with the assumption that = 3, N = 2, in which OB1 and OB2 are relevant obstacles and
arc interval exists on obstacles and replanned if not feasible. directions of the path around the obstacles are CW and CCW,
With these two curves, arc interval and line subintervals are respectively. Note that there exist numerous possible trajectories
planned. Compared to other research works which treat actu- in one specified corridor.
ator dynamics, this trajectory planning algorithm can handle a H can be described as H = {0 , 1 , . . . , N , N +1 }, where
complex environment with many circular obstacles. i is an obstacle parameter for each obstacle or initial/final pose.
The remainder of this paper is organized as follows. For obstacle i (i = 1, 2, . . . , N ), i = (xi , yi , ri , di ), where
In Section II, the problem is formulated by explaining geometric (xi , yi ) is the center position, ri is the radius, di {CW, CCW}
corridor, robots dynamics, and motor control input constraints. is the direction of rotation around obstacle i. For initial/final pose
Section III presents the TOTP algorithm for generating time- (i = 0, N + 1), i = (xi , yi , i , di ) where (xi , yi ) is the posi-
optimal trajectory satisfying given conditions. In Section IV, tion, i is the angle, and di {CW, CCW} is the direction at the
we present simulation results that demonstrate the effectiveness initial/final position. Note that the geometric corridor H does
of our approaches. We conclude with remarks in Section V. not consider robots kinematics, dynamics, or any constraint as
well as time optimality. Hence, we have to plan a trajectory so
that DWMR can follow as fast as possible.
II. PROBLEM FORMULATION
A. Geometric Corridor B. Dynamics for DWMRs With DC Motors [1] [23]
In this paper, we assume that geometric corridor H is given in DWMRs is shown in Fig. 2, where x and y are the robots po-
advance which contains a collision-free corridors information. sition, is the angle, and v and w are translational and rotational
From a two-dimensional (2-D) circular C-space [20] extended velocities. The kinematics are defined as
by robots radius which includes the start location, the goal
location, and M circular obstacles, we can get H easily by cos 0
using the visibility graph [21] to obtain collision-free geometric p = sin 0v (1)
corridor with N relevant obstacles among M obstacles using 0 1
5504 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 64, NO. 7, JULY 2017

where p = [x y ]T and v = [v w]T . The relation between C. Motor Control Input Constraints and BangBang
robots velocity vector v and wheels velocity vector w = Principle
[wR wL ]T is defined as Since the actuator motor control inputs (uR , uL ) are PWM
v = Tq w (2) duty ratios, the actuator constraints are expressed as

where Tq = [r/2 r/2; r/2b r/2b]. In addition, DWMRs |uj | um ax , j = R, L or |u+ | + |u | um ax . (10)
dynamic relation between the wheel velocity w and motor By considering PWM input constraints, we implicitly consider
torque = [ R L ]T considering inertia and viscous friction not only the constraints of velocity and acceleration but also a
becomes constraint of path curvature. Since v(t) and w(t) has its max-
imum value as vm ax = bv /av um ax and wm ax = bw /aw um ax ,
J w + Fv w = (3)
when t and u+/ = um ax , maximum translational and
where J = [J1 J2 ; J2 J1 ], J1 = mc2 b2 + Ic2 + Iw , J2 = mc2 rotational velocities are constrained by using (7).
b2 Ic2 , c = r/2b, Iw = mw r2 /2, Im = mw (3r2 + t2w ), The time-optimal solution should satisfy the bangbang prin-
I = Ic + 2mw b2 + 2Im , I = Ic + 2mw b2 + 2Im , m = mc + ciple so that a robot can accelerate or decelerate quickly. The
2mw , tw is the thickness of the wheel, and Fv is the viscous robot has maximum linear acceleration when u+ = um ax and
friction coefficient. For details, see [23]. Different from other u = 0 (uR = um ax and uL = um ax ). In case of rotational mo-
works which use motor torque as input, we consider dc motors tion, only one wheel has the maximum control input for the
simplified dynamics as time-optimal solution and the other wheel has a certain value
for turning motion. That is, angular input u is set for turn-
Ra
= Vs u Kb w (4) ing motion that satisfies some conditions, the linear input u+ is
Kt
automatically set as u+ = um ax |u | for bangbang control.
where Ra is the armature resistance, Kt is the torque constant,
is the gear ratio, Vs is the battery voltage, u = [uR uL ]T is D. Problem Statement
the normalized voltage control input [equivalent to pulse width
Given kinematics (1), dynamics for DWMRs including ac-
modulation (PWM) duty ratios] and Kb is the back electromo-
tuators (7), actuator constraints (10), and the geometric cor-
tive force constant.
ridor H = {s , 1 , . . . , N , f } for N relevant circular obsta-
In order to transform dynamics into an uncorrelated form with
cles as well as initial/final states zs = [xs ys s vs ws ]T and
regard to robots velocity, define change of variables as
zf = [xf yf f vf wf ]T , find the time-optimal trajectory along
u+ (uR + uL )/2, u (uR uL )/2 (5) with the total time tf and piecewise-constant actuator control
inputs u+ (t) and u (t) for 0 t tf .
where u+ is called the linear input and u is the angular input.
Using (4), we substitute to u and w is replaced by v using E. Assumption
(2), we obtain
  We assume that the length of the inner tangent between the
Kt Kb 2 Kt Vs ith obstacle and the (i + 1)th obstacle, dtan
Tq1 v + Fv + J 1 Tq1 v = J 1 u. (6) i is larger than the
Ra Ra required minimum length dm in , i.e.,
By adding and subtracting each equation in (6) and using (5), dtan
i dm in = vm ax Ttol i = 0, 1, . . . , N (11)
we can obtain the mobile robot dynamics including motors and
having u+ and u as inputs such as where Ttol = max( a1w ln( |wemtola x | ), a1v ln( |v emtola x | )), etol is a suffi-
  ciently small value. After a robot travels this distance with input
av 0 bv 0 u+ = um ax , u = 0 from any initial condition w(0) and v(0),
v + v= u (7)
0 aw 0 bw |w(t) 0| etol and |vm ax v(t)| etol are satisfied. With
2 K t K b 2 K t K b this assumption, we can treat each obstacle as not related to
where av = Fv
J 1 +J 2 + R a (J 1 +J 2 ) , aw = J 1 J 2 + R a (J 1 J 2 ) ,
Fv
each other and focus on planning the trajectory in each section.
+ T
bv = R ar K
(J 1 +J 2 ) , bw =
t V s
bR a (J 1 J 2 ) , and u = [u u ] . Note
r K t V s

that, when u+ and u are constants during a certain interval,


III. TOTP ALGORITHM
(7) can be solved in closed form as
bv A. Division of Trajectory Into Sections and Intervals
v(t) = v0 ea v t + (1 ea v t )u+ , (8)
av We begin with explanation about sections and intervals. The
bw main unknowns in this trajectory problem are the travel time
w(t) = w0 ea w t + (1 ea w t )u . (9) T and the input u+ , u . Since we divide trajectory into N + 1
aw
consecutive sections and one section is divided into intervals, the
We plan a trajectory using (1) and (7) with input u+ and u . travel time and input in each intervals should be found through
Note that (1) cannot be solved in an analytical way since the ori- the algorithm.
entation angle appears inside integrals, which makes a trajectory Section i is a portion of trajectory between adjacent obstacles
planning of DWMR difficult. OBi and OBi+1 , where i = 0, . . . , N . According to the type
KIM AND KIM: TIME-OPTIMAL TRAJECTORY PLANNING BASED ON DYNAMICS FOR DWMRs 5505

Algorithm 1: TOTP Algorithm.


1: for section i = 0 to N
2: Find net-out-curve Cio and in-curve Ci+1 in
by Simple
Curve Planning i
3: end for
4: for i = 0 to N
5: if Ciin and Cio do not overlap
6: Find arc duration TiA .
7: else
8: Mark overlap on OBi .
9: end if
10: end for
11: for each n consecutively overlapped Cjin and Cjo
12: Replan Cjin and Cjo , j = i, . . . , i + n 1, by nD
Multiple Curve Planning.
Fig. 3. Section is velocity profile and control input profile. 13: end for
14: for i = 1 to N
15: Find line duration Til .
of obstacles which are the start point, an obstacle, or the final 16: end for
point, there are the following four kinds of sections:
1) a section connecting a start point and a final point;
2) a section connecting a start point and an obstacle;
3) a section connecting two obstacles;
4) a section connecting an obstacle and a final point.
Section i includes three intervals of arc Ai , out-curve Ciout ,
in
and in-curve Ci+1 , as shown in Fig. 3. In each interval, we apply
piecewise constant control input to the robot. In arc interval Ai ,
the robot moves along the edge of OBi and its translational and
rotational velocity are constant. In out-curve interval Ciout , the
robot starts to speed up while reducing rotational movement.
Note that Ciout is divided into two subintervals: net-out-curve
interval Cio and (almost straight) line interval Cil (due to As-
in
sumption in Section II-E). Finally, in-curve interval Ci+1 is a
transition from straight translation to arc rotation. Note that we
refer in-curve or out-curve as curves in this paper.
We can consider a complicated environment as a set of simple Fig. 4. Example of the TOTP algorithm.
environments by dividing trajectory into sections. We only focus
on the trajectory planning in each section and remedy if adjacent
Lastly, line duration Til (which is a part of the ith out-curve
sections are dependent. Also by dividing a section into intervals,
interval) is obtained in Lines 14 to 16.
we can characterize the robots behavior and easily determine
For example, consider a case when a geometric corridor is
some of the inputs value in each interval.
given such that OB1 and OB2 should be passed in the direction
of CW and CW . Fig. 4 shows the example of TOTP algorithm.
B. Overall Algorithm First, we find trajectory in C0o , C1in , C1o , C2in , C2o , C3in by Sim-
ple Curve Planning 0, 1, 2 which display as a blue color. Since
The overall TOTP algorithm is shown in Algorithm 1. C2in and C2o do not overlap each other which means there ex-
With a given geometric corridor information H = {i |i = ists an arc interval between C2in and C2o , A2 with green line is
0, 1, . . . , N + 1}, we find all in-curves and net-out-curves in planned. On the other hand, C1in and C1o are replanned with red
Lines 1 to 3 by Simple Curves Planning i assuming that arc line by 1-D multiple curve planning since C1in and C1o overlap
intervals exist on all obstacles. Then, we check whether couples each other. Lastly, line intervals, C0l , C1l , C2l , are planned.
of in-curves and net-out-curves on obstacle on OBi overlap in
Line 5. If they are not overlapped with each other, we find the arc
C. Interval Planning
duration TiA using the obtained in and net-out curves in Line 6.
Otherwise, we mark that in-curve and out-curve are overlapped Some parameters which are time duration and input values in
on OBi in Line 8. After checking overlapping on all obstacles, each interval are determined in Interval planning by character-
we plan in and out curves again for each n consecutively over- istics of each interval. We plan each interval independently as
lapped with nD Multiple Curve Planning in Lines 11 to 13. follows under the assumption that the ith in-curve and the ith
5506 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 64, NO. 7, JULY 2017

net-out-curve do not overlap, which means there exists an arc


Algorithm 2: OO Planning.
interval Ai .
in
1) Arc i Interval Ai : Ai is an arc interval around obstacle 1: Find radii of tangent circles Riout and Ri+1 .
in
i with radius of ri . That is, 2: Find the common tangent Li,i+1 using Riout and Ri+1 .
o
3: Find the end point of net-out-curve Pi and a start point
viA = ri |wiA |. (12) of in-curve Pil .
From the condition that viA and wiA should have constant value 4: Find the start point of out-curve PiA and the end point
in
with specific inputs uA +
and uA
in this interval, control inputs of in-curve Pi+1 by coordinate transformation.
i i
can be found from (8), (9) as
+ av A aw A
uA = v , uA = w . (13) etol after Tio for any initial value of w(t). Hence, we set
i
bv i i
bw i
Using the fact that the input uA +
and uA
satisfy the bang Tio = Ttol (20)
i i
A+ A
bang principle, i.e., |ui | + |ui | = um ax along with (12) where Ttol is given in Section II-E. Since Tio is a fixed value for
and (13), we obtain all i = 0, 1, . . . , N , Til is the only thing that we have to decide
+ av bw ri in the out-curve interval through Section Planning.
uA = um ax ,
i
av bw + aw bv ri
aw bv D. Section Planning

uA = sign(di ) um ax (14)
i
aw bv + av bw ri In this section, we focus on a trajectory between adjacent
obstacles of OBi and OBi+1 to find TiA and Til that are not
where sign(di ) = +1 if di = CCW and sign(di ) = 1 if di =
obtained in Section III-C. To determine the remained unknown
CW . Thus, the only thing undetermined is the time duration
values of TiA and Til , we first find the position of net-out-curve
TiA , which will be found in Section III-D.
in in in Cio and in-curve in Ci+1 in
through Simple curves planning
2) In-Curve Interval Ci+1 : Ci+1 is a transition interval
i. Since there are four type of sections depending on what is
from straight translation to arc rotation. Referring Fig. 3, in
in connected to each other, four types of planning exist in Simple
Ci+1 , DWMR starts to decrease its translational velocity and
curves planning i: Start-Final planning (SF Planning), Start-
increase its rotational velocity. To obtain uin+ in in
i+1 , ui+1 , and Ti+1 , Obstacle planning (SO Planning), ObstacleObstacle planning
three equations related to these variables are needed. From the (OO Planning), and Obstacle-Final planning (OF Planning).
i+1 ) = vi+1 and w(ti+1 ) = wi+1 ,
A A
final velocity condition v(tin in
Then, TiA and Til can be found easily using the start and end
we obtain point of in and out curves.
 
bv a v T iin+ 1 bv 1) Simple Curves Planning i: Simple curves planning
vm ax uin+ i+1 e + uin+ = vi+1
A
(15)
av av i+1 i finds the position of net-out-curve in Cio and in-curve in Ci+1 in


between OBi and OBi+1 through OO Planning, SO Planning,
1 b w in
a u i+1 OF Planning, or SF Planning, assuming independency.
in
Ti+1 = ln w
A b w uin
. (16)
aw wi+1 a w i+1 Before explaining each planning, we define tangent circles
to determine common tangent between two obstacles. In Fig. 3,
Also, the bangbang principle requires |uin+
i+1 | + |ui+1 | =
in
the blue dotted circle around OBi and OBi+1 are tangent circles
um ax . Hence, we obtain and Li,i+1 is a common tangent between two tangent circles.
Tangent circles for section i are extended obstacle circles: each
i+1 = sign(di+1 )(um ax + ui+1 ).
in+
uin (17)
center equal to the obstacles center, and radii Riout and Ri+1 in

Combining (16) and (17) with (15), we obtain an equation for o


are extended radii to allow net-out-curve Ci and in-curve Ci+1 , in

variable uin+
i+1 , which can be obtained by 1-D Newtons method. respectively. Line portion in section i is supported by the tangent
Then, uin in
i+1 and Ti+1 can be also obtained from (15) and (16) line Li,i+1 between Ciout and Ci+1 in
. Note that, for each obstacle
with the value of uin+
i+1 . i, two common tangent circles are defined for section i 1 and
3) Out-Curve Interval Ciou t : Ciout is a transition interval section i.
from arc rotation around obstacle i to straight translation. Thus, a) OO Planning: is established in Algorithm 2 which
the control inputs are finds positions of net-out-curve in Cio and in-curve in Ci+1 in
out+/ in+/ o in
uout+ = um ax uout = 0. (18) using the value of ui , ui+1 , Ti and Ti+1 obtained in
i i
Section III-C.
The time-duration in out-curve interval Tiout is decomposed con- First, in Line 1, we find tangent circle radii Riout and Ri+1 in
.
ceptually as Although we do not know the start point of net-out-curve in Cio ,
the trajectory shape is same regardless of the position where
Tiout = Tio + Til (19)
the trajectory begins at because the start velocity of the net-out-
where a robot can be considered to have angular velocity during curve is known as the velocity of the arc interval and the input
Tio and to have line trajectory during Til . With the Assumption and time-duration in Cio are found in Section III-C. Therefore,
in II-E, the trajectory is a line trajectory after Tio . That is, w(t) we define a local coordinate frame Xi
Yi
with its origin at
KIM AND KIM: TIME-OPTIMAL TRAJECTORY PLANNING BASED ON DYNAMICS FOR DWMRs 5507

the start position of net-out-curve (PiA ) as shown in Fig. 3 and


draw the net-out-curve trajectory in Xi
Yi
. Then, using the
end position of the net-out-cuve trajectory, we can obtain L
i,i+1 .
Then, the distance between L
i,i+1 and the center point of OBi in
Xi
Yi
becomes Riout . Next, to obtain Ri+1 in
, we define another

local coordinate frame Xi+1 Yi+1 with its origin at the start

point of in-curve (Pil ). The in-curve is drawn in Xi+1 Yi+1


and the OBi+1 s center point in Xi+1 Yi+1 is found using


the end point of the trajectory. Then, y value of the center point

in Xi+1 Yi+1 in
is Ri+1 . Detailed description is described in
Appendix A to find Riout and Ri+1 in
.
In Line 2, we can easily find the common tangent line
Li,i+1 : ai x + bi y + ci = 0 between two tangent circles with
radii Riout and Ri+1 in
. Note that we can decide one common tan-
gent uniquely among four inner/outer common tangents consid-
ering directions of rotations di and di+1 .
In Line 3, we find the end point of net-out-curve Pio (xoi , yio )
and a start point of in-curve Pil (xli , yil ). To find Pio (xoi , yio ),
we first obtain Pito Pio in Xi
Yi
coordinate, then using
Pito (xtoi , yi ), Pi and Pi Pi , we can obtain Pi (xi , yi ). Sim-
to to o o o o

ilarly, Pi (xi , yi ) can be obtained with very similar procedure.


l l l

See Appendix B for details.


Fig. 5. Velocity and control input profile around the ith obstacle.
Lastly, in Line 4, we determine the out-curves start point and
the in-curves end point by coordinate transformation from the
local coordinate to global coordinate. The out-curves start point

PiA (xA i , yi ) can be obtained by transforming Xi Yi coordi-


A
P0A is the start point. Hence, we find P0o , P1l and P1in through
nate to global coordinate as
A A
Lines 3 and 4.
xi cos(io ) sin(io ) xoi xi c) OF Planning: plans in and out curves between the
A o A
last obstacle and the final pose. That is, we set i = N and
yi = sin(i ) cos(i ) yi yi (21)
o o
rf = 0 in Algorithm 2. As T0A is adjusted in SO Planning,
1 0 0 1 1
TNA +1 is adjusted which results in the change of RN in
+1 using the


where io = i,i+1 io , xoi = xoi xoi , yio = yio yio , binary search in Lines 1 and 2 so that the start angle of in-curve


l
A


around the final point N can be the same as N ,N +1 which is
PiA (xA
i , yi ) is the out-curves start point in Xi Yi coordinate
(equals (0, 0)). Also in-curves end point Pi+1 (xi+1 , yi+1
in in in
) is the common tangent LN ,N +1 s angle. After finding TNA +1 by
determined by transformation of the in-curve in Xi+1 Yi+1

conducting Lines 1 and 2 repeatedly, we find PNo , PNl , and PNA


out in
coordinate as through Lines 3 and 4 using RN and RN +1 .
in in

d) SF Planning: is performed when there is no obstacle


xi+1 cos(il ) sin(il ) xli xi+1 to pass (N = 0). We plan the out-curve and in-curve between
in l in


yi+1 = sin(i ) cos(i ) yi yi+1 (22)
l l
the start pose and the final pose. That is, i = 0 and i + 1 = 1 in
1 0 0 1 1 Algorithm 2. Since not only 0o but also 1l can be different from

0,1 , we have to adjust both T0A and T1A . Since 0,1 is changed
where il = i,i+1 il , xli = xli xli , yil = yil yil , if any of T0A or T1A is changed, 2-D binary search about T0A and

Pil (xli , yil ) is the in-curves start point in Xi+1 Yi+1 coor- T1A conducting Lines 1 and 2 repeatedly is needed to make 0o
l

dinate (equals (0, 0)) and the angle at this point i is 0. and 1l be the same as 0,1 . After finding R0out and R1in , the end
b) SO Planning: finds in and out curves between start point of net-out-curve around the start point and the start point
pose and the first obstacle. The overall procedure of SO Planning of in-curve around the final point are obtained through Lines 3
is very similar with that of OO Planning with i = 0 and r0 = 0 in and 4.
Algorithm 2, except the out-curve in SO Planning is dependent 2) Finding Arc Time-Duration TiA : In case Ciin and Ciout
on T0A . Hence, the robots angle at the end of net-out-curve so do not overlap each other, there exists an arc interval Ai as shown
differs from 0,1 which is the common tangent L0,1 s angle. In in Fig. 5. Time duration TiA is obtained so that the change in
order to ensure that so is equal to 0,1 , we adjust T0A using the
angle during TiA should be the angle between Pi Piin and Pi PiA ,
binary search, since R0out and so are changed according to T0A . i.e.,
Hence, SO Planning is the same procedure with OO Planning
except that R0out is updated with T0A and we continue Lines 1 and
2 changing T0A until 0o become equal to 0,1 . Once we find T0A , iA = atan2(yiin yi , xin
i xi ) atan2(yi yi , xi xi )
A A

we do not need to find P0A in Line 4 since we already know that (23)
5508 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 64, NO. 7, JULY 2017

in-curve used in Simple Curve Planning should be changed. For


time-optimal solution, we set control input in Ciin as
uin+
i = 0, uin
i = sign(di )um ax . (26)
Also we can obtain Tiin using that the robot skims OBi as shown
in Fig. 6. The fact that in and out curves on OBi overlap each
other on the assumption that the arc interval Ai exists means that
there is no arc interval on OBi and the turn around OBi does not
linger on OBi . It means the total rotational angle around OBi
is same as the angles difference between Li1,i and Li,i+1 . Let
iC be an angle of rotation during Tiin + Tio and isol be an angle
between tangent lines Li1,i and Li,i+1 . Then, we set Newton
function as f (Tiin ) = iC (Tiin ) isol (Tiin ).
d C
iC and dTiin (Tiin ) can be easily obtained using (9) and (20) as
i
 t oi

Fig. 6. Multiple curves planning.


iC = w(t)dt
t li 1

etol bw in bw in in
ui (1 ea w T i ) +
in

where iA is the change of angle during TiA . Hence, time duration = 2


u T
wm ax aw aw i i
in arc interval is (27)
TiA = iA /wiA (24) C
 
di bw in etol a w T iin
in (Tiin ) = ui 1 e . (28)
where wiA is obtained from (13) and (14). dTi aw wm ax
3) Finding Line Time-Duration Til : The end point of
isol (Tiin ) is an angles difference between Li1,i and Li,i+1 such
net-out-curve Pio , and the start point of in-curve Pil , for i =
as
1, . . . , N , are already known, integration of v(t) during Til is
equal to Pio Pil . Hence, Til has to be set to satisfy isol = i1,i i,i+1 (29)
 t li   where
1 bv
(1 ea v T i )
l
v(t)dt = vm ax uout+
i
o
ti a v av i1,i = b a , i,i+1 = d c
 in out   in 
bv out+ l Ri Ri1 Ri+1 Riout
+ u Ti = Pio Pil . (25) a = sin 1
, c = sin1
av i |Pi1 Pi | |Pi Pi+1 |
Now Til can be found easily using the 1-D Newton method. b = atan2(yi yi1 , xi xi1 )

E. Multiple Curves Planning d = atan2(yi+1 yi , xi+1 xi ).

Multiple Curves Planning is conducted when in-curve in Ciin Riinand Riout can be found in Xi
Yi
coordinate (see Fig. 6).
and out-curve in Ciout are overlapped at obstacle i, and hence arc For the details about procedure obtaining Riin and Riout , see
d sol
interval Ai does not exist as shown in Fig. 6. If the overlap i is not Appendix C. Also dTi in (Tiin ) is obtained using finite difference
consecutive which means the overlaps in the (i 1)th obstacle
i
method as
and the (i + 1)th obstacle do not occur, we perform 1-d multiple
disol in isol (Tiin + T ) isol (Tiin )
curves planning. When couples of in-curve in Cjin and out-curve (T ) (30)
in Cjout overlapped consecutively for j = i, . . . , i + n 1, and dTiin i T
curves in i 1 and i + n does not overlap, nD Multiple Curves where T is sufficiently small. Then, we obtain Tiin by 1-D
Planning should be performed. Newtons method.
First, we check whether in and out curves overlap each other 2) nD Multiple Curves Planning: If n in and out curves
or not in Line 5 in Algorithm 1. Checking is done easily using from i to I consecutively overlap where I = i + n 1, we

cross product of two vectors Pi Piin and Pi PiA . If direction of have to replan Cjout and Cjin+1 for j = i, . . . , I as in Line 6 in
the ith obstacle is CCW and the component of the product Algorithm 1. We can easily expand the above method to find
Tjin , j = i, . . . , I, using n-dimensional Newtons method.
i Ai Ai along the z-axis is negative (Ai , Ai , Ai are 3-D
A A
Ai Ain in
in A
coordinate which extend Pi , Pi , Pi to the z-axis, respectively In this case, we set a Newton function vector as
C in sol in
such as Ai = [Pi , 0]), then the curves overlap each other. f1 i (Ti ) i (Ti , , TIin )
1) 1-D Multiple Curves Planning: Mutitple Curves .. .. ..
. = . . . (31)
Planning is conducted after Simple Curve Planning as shown
in Algorithm 1. Therefore, control inputs and time-durations of fn IC (TIin ) Isol (Tiin , , TIin )
KIM AND KIM: TIME-OPTIMAL TRAJECTORY PLANNING BASED ON DYNAMICS FOR DWMRs 5509

TABLE I
PARAMETERS OF THE DWMR

Parameter Value Parameter Value

um ax 1 Ra 0.71
Vs 12 V Kt 0.023 N.m/A
Fv 0.039 N.m/(rad/s) Kb 0.023 V/(rad/s)
r 0.095 m 38.3
b 0.165 m mc 32 kg
mw 1.48 kg

Note that jC is a function of Tjin . On the other hand, jsol is af-


fected by Tiin , . . . , TIin since jsol is the angle between Lj 1,j and
Lj,j +1 . Lj 1,j is affected by Riin , . . . , Rjin which are obtained
from Tiin , . . . , Tjin and Lj,j +1 is affected by Rjin , . . . , RIin which
are obtained from Tjin , . . . , TIin , respectively.

Fig. 7. Simulation result of Case 1 when there is no obstacle.


IV. SIMULATION RESULTS (a) Planned trajectory. (b) Magnified planned trajectory near the final
point. (c) Velocity profile. (d) Input profile.
We performed three of numerical validations of the pro-
posed TOTP algorithm. Parameters of the DWMR are shown
in Table I. Also av = 6.8838, bv = 8.6016, aw = 8.6531, bw =
65.5302 used in (7) is calculated using these parameters. We the black boundary) for time-optimal satisfying (15) and (16)
+ A
assume that all distance dtan i , i = 0, 1, . . . , N , is bigger than represented by red lines. The arc control input pairs (uA i , ui )
dm in = 1.2943 m. Simulations are conducted in three different are depicted as green dots obtained from the intersection points
environments. between green lines coming from (12), (13) and the control in-
1) Case 1: No obstacle to pass through. puts boundary. We get the total time as tf = 7.4572 s and the
2) Case 2: Two obstacles exist to pass through. computation time as tc = 2.4308 s.
3) Case 3: Wall obstacles exist. Case 3: As shown in Fig. 9, there are walls measured 0.1 m in
The algorithm is written in MATLAB R2014b and computed width. Since we consider a robot as a dot, the walls are expanded
on Intel(R) Core(TM) i7-2600 CPU @ 3.4 GHz machine with as rm = b + mg, where b is represented in Fig. 2 and mg is
16 GB RAM using MATLAB R2014b and we do not use any margin for avoiding collision between the obstacle and the
turbo or hyper-thread. robot. We set mg = 0.2 m in this example. Therefore, the walls
Case 1: The geometric path is given as H = {s , f }, where edges are expressed in a part of a circle as shown in Fig. 9(a).
s = (0, 0, 0, CCW) and f = (1, 1, 0, CW). Hence, TOTP al- The geometric corridor is H = {s , 1 , 2 , 3 , 4 , 5 f },
gorithm conducts SF Planning, and the trajectory has one sec- where s = (0, 0, 0, CCW), 1 = (4, 4, 0.365, CCW), 2 =
tion with intervals: As Csout Cfin Af . Fig. 7(a) and (b) (6, 2, 0.365, CCW), 3 = (8, 1.8, 0.365, CW ), 4 =
shows the planned trajectory which satisfies the given geometric (10, 2.05, 0.365, CCW), 5 = (8, 4, 0.365, CCW) , f =
path. The tangent circles of radii Rsout , Rfin are represented as (6, 4, 2/3, CW ). TOTP algorithm conducts a sequence of
blue dotted circles. The velocity profile of linear velocity v and Simple curves planning: SO, four OOs, and OF Plannings.
angular velocity w are shown in Fig. 7(c), and control inputs Since in and out curves at the third circle are checked to be
profile in Fig. 7(d). In Fig. 7(c) and (d), dotted vertical lines are overlapped, 1-D Multiple Curves Planning is conducted. Each
+
used to mark boundaries of each interval. Control input in Cfin arc intervals input are the same value as uA i = 0.6887 and
A
are obtained as uC in
= 0.7298 and uC in+
= 0.2702. We ui = sign(di )0.3113 since the obstacles radii are the same.
f f
get the total time as tf = 1.5845 s and the compution time as The computed control inputs in in-curve intervals are also
tc = 3.3360 s. equivalent to uC i
in
= sign(di )0.9075, uC
i
in+
= 0.0925 for
Case 2: As shown in Fig. 8(a), there are two obstacles in i = 1, . . . , 5 and ufC in
= 0.9041 and ufC in+
= 0.0959. We
the environment for a robot to pass through. The geometric get the total time as tf = 9.7151 s and the computation time as
path H is given as H = {s , 1 , 2 , s }, where s = {0, 0, 0, tc = 3.8378 s.
CCW}, 1 = (2, 1.5, 0.7, CCW), 2 = (5, 3.5, 0.7, CW) and Regarding constraints, we can confirm that velocity con-
f = (7, 4.5, 0, CW). Hence, TOTP algorithm performs SO, straints are satisfied in all cases as vm ax ab vv um ax = 1.2495
OO, and OF Planning. Translational and rotational control in- and wm ax ab ww um ax = 7.5730. Also PWM input constraints
put space corresponding to (10) and each value in all intervals (10) are also satisfied in all cases.
are depicted in Fig. 8(c). The in-curve input pairs (uin+ i , ui ),
in
In summary, our TOTP algorithm can generate the time-
i = 1, 2, are obtained such that inputs have extreme value (on optimal trajectory regardless of the number of obstacles which
5510 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 64, NO. 7, JULY 2017

Fig. 8. Simulation result of Case 2. (a) Planned trajectory. (b) Velocity profile. (c) Translational/rotational input space.

corridor information and the constraint about the distance be-


tween obstacles. The distance constraint can be handled by
setting the input value in Cio as variable and finding this
variable to meet the distance condition between adjacent two
obstacles.

APPENDIX A
DERIVATION OF LINE 1 IN ALGORITHM 2
In Xi
Yi
space (see Fig. 3), the net-out-curve Cio can be
drawn with initial state z0
= [0, 0, 0, viA , wiA ]T (starting from
arc) and control inputs uout
i and uout+
i in (18) during Tio ob-
tained in (20). Then, we can find the end point of net-out-


curve Pio (xoi , yio ) and the curves angle i,i+1 at this point.

Then, the line equation of Li,i+1 which passes through Pio


and has a line angle i,i+1 that can be obtained as L


i,i+1 :

o

sin(i,i+1 )(x xi ) cos(i,i+1 )(y yio ) = 0. Since Riout


is the distance between Pi (0, ri ) and L
i,i+1 , we

obtain
Fig. 9. Simulation result of Case 3. (a) Planned trajectory. (b) Velocity

profile. (c) Translational/rotational input space. Riout = | cos(i,i+1


)(yio ri ) sin(i,i+1
)xoi |. (32)

Also, the in-curve Ci+1 in


in Xi+1 Yi+1 space can be drawn
satisfies both initial and final states and motor control input with initial state z0

= [0, 0, 0, vm ax , 0]T (starting from line) and


constraints with a given geometric corridor. the control inputs uin+ in in
i+1 and ui+1 during time-interval Ti+1 ob-

tained in Section III-C.2. Note that Xi+1 axis becomes the


V. CONCLUSION tangent line Li,i+1 . Then, we can find the end point of in-curve

in

in

In this paper, we presented a time-optimal trajectory in Xi+1 Yi+1 space Pi+1 (xin
i+1 , yi+1 ) and the angle i+1 at
generation algorithm for DWMRs with dynamics including this point. Then, the center position of the (i + 1)th obstacle
actuators, which considers PWM input constraints in the en- Pi+1

(x

i+1 , yi+1

) becomes
vironment of multiple circular obstacles. Even though the prob-

lem is highly nonlinear due to the complexity of the dynamics, x

i+1 = xin
i+1 + ri+1 cos(/2 + i+1 ),
in

we can treat this complex problem into simple one by classify-

yi+1 = yi+1
in
+ ri+1 sin(/2 + i+1
in
). (33)
ing a trajectory by sections and by decomposing these sections
in

into intervals. We can also handle consecutive sections without Since Ri+1 is the distance from Pi+1 to Xi+1 , we
arcs. obtain
For future research works, we intend to apply this

technique to find time-optimal trajectory without a given


in
Ri+1 = |yi+1 |. (34)
KIM AND KIM: TIME-OPTIMAL TRAJECTORY PLANNING BASED ON DYNAMICS FOR DWMRs 5511

APPENDIX B REFERENCES
DERIVATION OF LINE 3 IN ALGORITHM 2 [1] J. S. Choi and B. K. Kim, Near-time-optimal trajectory planning
for wheeled mobile robots with translational and rotational sec-
Pito (xto
i , yi ) is a point of contact between the line passing
to
tions, IEEE J. Robot. Autom., vol. 17, no. 1, pp. 8590, Aug.
through (xi , yi ) and Li,i+1 and can be obtained as 2001.
[2] L. Dubins, On curves of minimal length with a constraint on average
xto 2 2 2
i = (bi xi ai bi yi ai ci )/(ai + bi ), curvature and with prescribed initial and terminal positions and tangents,
 Amer. J. Math., vol. 79, no. 3, pp. 497516, Jul. 1957.
yi , if bi = 0 [3] J. Laumond, A motion planner for nonholonomic mobile robots, IEEE
yito = (35) J. Robot. Autom., vol. 10, no. 5, pp. 577593, Oct. 1994.
(ai xto
i ci )/b i , else. [4] G. C. A. Bicchi and C. Santilli, Planning shortest bounded-curvature
paths for a class of nonholonomic vehicles among obstacles, J. Intell.
Pito Pio is obtained in Xi
Yi
coordinate such as Robot. Syst., vol. 16, no. 4, pp. 387405, Aug. 1996.
[5] Y. Kanayama and B. Hartman, Smooth local path planning for au-
 tonomous vehicles, J. Intell. Robot. Syst., vol. 16, no. 4, pp. 387405,

2
Pito Pio = Pi
Pio (Riout )2 . (36) Aug. 1996.
[6] R. C. J. wung Choi and G. Alkaim, Curvature-continuous trajectory
Using (35) and (36), we can obtain Pio (xoi , yio ) as generation with corridor constraint for autonomous ground vehicles, in
Proc. IEEE/RSJ Conf. Decis. Control, Dec. 2010, pp. 71667171, doi:
xoi = xto
i + Pi Pi cos i,i+1 ,
to o 10.1109/CDC.2010.5718154.
[7] T. Fraichard, Smooth trajectory planning for a car in a structured world,
in Proc. IEEE Int. Conf. Robot. Autom., Apr. 1991, vol. 1, pp. 318323,
yio = yito + Pito Pio sin i,i+1 . (37) doi: 10.1109/ROBOT.1991.131595.
[8] S. Aydin and H. Temeltas, A novel approach to smooth trajectory planning
Similary, Pil (xli , yil ) can be obtained as of a mobile robot, in Proc. IEEE Int. Workshop Adv. Motion Control, Jul.
2002. pp. 472477, doi: 10.1109/AMC.2002.1026966.
xli = xti
i+1 Pi Pi+1 cos i,i+1 ,
l ti [9] A. M. M. Yamamoto and M. Iwamura, Time-optimal motion plan-
ning of skid-steer mobile robots in the presence of obstacles, in Proc.
IEEE/RSJ Int. Conf. Intell. Robots Syst., vol. 1, pp. 3237, Oct. 1998, doi:
yil = yi+1
ti
Pil Pi+1
ti sin
i,i+1 (38) 10.1109/IROS.1998.724592.
ti [10] A. M. Yamamoto and M. Iwamura, Quasi-time-optimal motion plan-
where Pi+1 is a point of contact between the in-curve tangent ning of mobile platforms in the presence of obstacles, in Proc. IEEE
circle and Li,i+1 and Int. Conf. Robot. Autom., May 1999, vol. 4, pp. 29582963, doi:
10.1109/ROBOT.1999.774046.
 [11] A. Kelly and B. Nagy, Reactive nonholonomic trajectory generation via
2
ti =
Pil Pi+1

P l

+ (Rin )2 , P l

(0, 0)
Pi+1 parametric optimal control, Int. J. Robot. Res., vol. 22, nos. 7/8, pp. 583
i i+1 i
601, Jul. 2003.
2 2 2
i+1 = (bi xi+1 ai bi yi+1 ai ci )/(ai + bi )
xti [12] C. B. J. H. X. Z. C. Chen and Y. He, Quartic bezier curve based tra-
jectory generation for autonomous vehicles with curvature and velocity

yi+1 , if bi = 0 constraints, in Proc. IEEE Int. Conf. Robot. Autom., May 2014, pp. 6108
ti
yi+1 = 6113, doi: 10.1109/ICRA.2014.6907759.
(ai xti
i+1 c i )/b i , else. [13] S. H. H. L. M. Haddad and T. Chettibi, A random-profile approach for
trajectory planning of wheeled mobile robots, Eur. J. Mech. A/Solid,
vol. 26, pp. 519540, 2007.
[14] H. L. M. Haddad and W. Khalil, Trajectory planning of unicycle mobile
APPENDIX C robots with a trapezoidal-velocity constraint, IEEE Trans. Robot., vol. 26,
FINDING RADII IN 1-D MULTIPLE CURVE PLANNING no. 5, pp. 954962, Oct. 2010, doi: 10.1109/TRO.2010.2062090.
[15] S. M. LaValle, Rapidly-exploring random trees: A new toll for path
We draw in-curve and net-out-curve at a time with inputs planning, Comput. Sci. Dept., Iowa State Univ., Ames, IA, USA, Tech.
Rep. 98-11, Oct. 1998.
(26) and (18) and initial state z0
= [0, 0, 0, vm ax , 0]T during [16] S. M. LaValle and J. J. Kuffner, Randomized kinodynamic planning,
Tiin + Tio in the local coordinate Xi
Yi
, where Tio is a known Int. J. Robot. Res., vol. 20, pp. 378400, May 2001.

value as in (20). Then, we obtain Piin and iin (the position [17] B. K. K. J. S. Kim, Minimum-time trajectory generation algorithm along


curved paths for mobile robots with a motor control input constraint, in
and angle after Tiin in the local coordinate), and Pio and io (the Proc. IEEE/SICE Int. Symp. Syst. Integr., Dec. 2012, pp. 224229, doi:
position and angle after Tiin + Tio in the local coordinate). Using 10.1109/SII.2012.6427359.

Piin , iin and ri , the center position of ith obstacle in the local [18] B. K. K. Y. Kim, Time-optimal cornering trajectory planning for
differenctial-driven wheeled mobile robots with motor current and volt-
coordinate, Pi
(x
i , yi
), can be obtained as age constraints, in Proc. IEEE Int. Symp. Ind. Electron., May 2013,


pp. 16, doi: 10.1109/ISIE.2013.6563607.
x
i = xin
i + ri cos(/2 + i ),
in
[19] B. K. K. Y. Kim, Efficient time-optimal two-corner trajectory planning

algorithm for differential-driven wheeled mobile robots with bounded


yi
= yiin + ri sin(/2 + iin ). (39) motor control inputs, Robot. Auton. Syst., vol. 64, no. C, pp. 3543, Feb.
2015, doi: 10.1016/j.robot.2014.11.001.
Since Riin is the distance from Pi
to Xi
, we obtain [20] T. Lozano-Perez, Spatial planning: A configuration space approach,
IEEE Trans. Comput., vol. C-32, no. 2, pp. 108120, Feb. 1983, doi:
10.1109/TC.1983.1676196.
Riin = |yi
|. (40) [21] J. C. Latombe, Robot Motion Planning. Boston, MA, USA: Kluwer,

1991.
Also, Riout is the distance from Pi
to L
i,i+1 which passes Pio [22] Z. Shiller, Online suboptimal obstacle avoidance, Int. J. Robot. Res.,

vol. 19, no. 5, pp. 480497, Feb. 2000.
and has an angle io obtained above. Hence, [23] X. Yun and Y. Yamamoto, Internal dynamics of a wheeled mobile robot,




in Proc. IEEE Int. Conf. Intell. Robots Syst., Jul. 1993, vol. 2, pp. 1288
Riout = | sin io (x
i xoi ) + cos io (yio yi
)|. (41) 1294, doi: 10.1109/IROS.1993.583753.
5512 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 64, NO. 7, JULY 2017

Yunjeong Kim received the B.S. degree from Byung Kook Kim received the B.S. degree from
Sungkyunkwan University, Suwon, South Korea, Seoul National University, Seoul, South Korea,
in 2010, and the M.S. degree in electrical engi- in 1975, and the M.S. and Ph.D. degrees from
neering in 2012 from the Korea Advanced Insti- the Korea Advanced Institute of Science and
tute of Science and Technology, Daejeon, Korea, Technology (KAIST), Daejon, Korea, in 1977 and
where she is currently working toward the Ph.D. 1981, respectively.
degree. In 1986, he joined the Department of Elec-
Her current research interests include mobile trical Engineering, KAIST, where he is currently
robot trajectory planning and nonlinear controller a Professor. His research interests include real-
design. time systems, reliable process control, mobile
robot sensing, and navigation and manipulator
control.
Prof. Kim is a member of the Institute of Electronics Engineers of
Korea, Korean Institute of Electrical Engineers, and Korean Institute of
Information Scientists and Engineers.

Вам также может понравиться