Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

IECON2015-Yokohama

November 9-12, 2015

Curvature Based Velocity Control System


for Mobile Robot
Pengfei Wang and Kosuke Sekiyama
School of Engineering, Department of Micro-Nano System Engineering
Nagoya University, Japan
Email: wang2@robo.mein.nagoya-u.ac.jp, sekiyama@mein.nagoya-u.ac.jp

Abstract—One serious problem in autonomous mobile robot hierarchical control architecture to achieve the desired tracking
is the accurate and effective following of an unknown path performance which integrates vehicle body dynamics and
traced in the environment in compliance with the kinematic wheel dynamics together. But these two methods need not
limits of the vehicle,i.e., bounded linear and angular velocities
and accelerations. In this case, the motion planning must be only position device but also quite sensors to obtain the
implemented in realtime and must be robust with respect to the posture data of mobile robot, which may lead to higher-
geometric characteristics of the unknown path such as curvature. cost of the tracking system. R. Willgoss presented a high-
To achieve good tracking capability, this paper proposes a path accuracy Global Positioning Systems (GPS) which has been
tracing system (PTS) with velocity control system, which is based used on the mobile robot to improve the tracking accuracy
on the curvature of the trajectory ahead of the vehicle to improve
the image processing performance and tracking precision. A et al. [8]. Even though centimeter accuracy can be achieved
feedback system is also presented to guarantee the precision with Real-Time Kinematic GPS (RTK-GPS), this accuracy is
of the velocity control system and tracking system. To validate dramatically impaired as soon as mobile robot slides. Besides,
this curvature based velocity control system, a comparative the RTK-GPS would greatly increase the cost of PTS which
experiment between PTS with speed control module and PTS is against the expand of applications.
without speed control module, has been operated. A simulation
has also been carried out for confirming the optimum cornering To avoid such criticism and improve the PTS performance,
speed corresponding to curvature value. this paper presents a path tracking control method composed
of three modules, a curvature and traveling error detection , a
I. I NTRODUCTION reference motion calculation and a vehicle control. The mobile
robot would adjust traveling velocity via pre-knowledge of
In recent years, the applications of autonomous mobile trajectory curvature which is detected by a monocular camera,
robots on industrial, service and agricultural fields, such as to improve the accuracy of PTS. The maximum referential
the robotic lawn mower [1], transfer robot, and pipeline cornering speed, under certain precision request, is confirmed
exploration robot [2], have been rapidly developed due to via a simulation. In addition, the proposed PTS detects trav-
the development of computer science and sensor technolo- eling error also with the monocular camera via yawing error
gies. Numerous path planning algorithms have already been detection module rather than any position devices and sensors
proposed to improve the efficiency and performance of field such as GPS and RTK-GPS, which could dramatically lower
operations. Thus one more problem encountered in the ap- the cost.
plication of mobile robots to automating factory and farming The remainder of the paper is organized as follows: Section
floor operations is the path tracking accuracy. Furthermore, II establishes the kinematics model of the two wheeled mobile
to expand the market of these applications, a design of high- robot and checks the controllability for the mobile robot. In
accuracy path tracking system (PTS) with low cost is the key Section III, the detection of the trajectory curvature and veloc-
problem. ity control system are presented. Furthermore, the trajectory
Numerous progresses on improving PTS accuracy have been tracking algorithm and feedback system are also presented
made via various technologies. Wang et al. [3] designed a here. Two experiments and a simulation are presented in
tracking control system based on yawing angular velocity, Section IV. The conclusions and future work are drawn in
and S. Thrun et al. [4] studied the preview steering control Section V.
problems of the unmanned vehicle path tracking by nonlin-
ear H-infinity state feedback. These methods are intuitive, II. HARDWARE AND DYNAMICS MODEL
however, the parameters of the controller must be obtained
A. Hardware model
and adjusted through vehicle experiments which means it is
difficult and inconvenient to confirm the optimal parameters. T. This mobile robot is composed of a two driving wheels
Baocheng et al. [5] presented a position and attitude alternate two casters vehicle, a monocular camera, a controller and a
fuzzy control method to identify the relationship between processor. The camera is fixed in the front of the vehicle,
posture and the controlling variables, which could make a as shown in Fig.1. The angle between viewing direction of
more accurate heading control; A. Girard et al. [6] adopted a camera and horizontal line is 60 degrees, and the height

978-1-4799-1762-4/15/$31.00 ©2015 IEEE 005211


Fig. 1. Hardware of the PTS with curvature based speed control module
of camera installation placement is 0.7 meter. Besides, the
controller and processor are placed on the vehicle and the
system uses the popular vehicle communication manner-CAN
Bus, which will improve the reliability and universality of the
system. It is notable that GPS here is only used for recording Fig. 2. Dynamic model of the 2WD 2-caster vehicle
the track of mobile robot.
Based on the equations above, we can obtain the relation
between the state of mobile robot and rotation angle of tires
B. Dynamics model as
⎛ ⎞ ⎛ ⎞
The schematic of the two wheel drive two caster mobile ẋ cos θ 0  
robot, shown in Fig.2, consists of a cart with two driving ⎝ ẏ ⎠ = ⎝ sin θ 0 ⎠ v (9)
wheels mounted on the same axis and two caster wheels as ω
θ̇ 0 1
omni-directional in the front of cart to carry the mechanical ⎛ ⎞
cos θ cos θ
structure and keep the platform of the mobile robot stable r⎝
= sin θ sin θ ⎠ , (10)
Al-Araji, et al. [7]. Two independent analogous DC motors 2 1 1
d − d
actuate the left and right wheels for motion and orientation.
The center of the mobile robot is regarded as the middle a discrete-time version of the dynamics model is
of the left and right powered wheels. In addition, the position
of the center is (x, y) and the angle θ between the mobile x(tk+1 ) = x(tk ) + T v(tk ) cos θ(tk ), (11)
robot and X-axis denote the posture of robot. The state of the y(tk+1 ) = y(tk ) + T v(tk ) sin θ(tk ), (12)
mobile robot could be presented by (x, y, θ). The two wheels θ(tk+1 ) = θ(tk ) + T ω(tk ), (13)
have the same radius denoted by r, and the distance between
the two wheels is denoted by 2d. The ground velocities of left where tk = kT denotes the k th time sample, T is the sampling
tire and right tire are denoted by vL and vR , and if we set the cycle and k ∈ Integer [13].
rotation angle of left and right tires as φL and φR , the ground
III. SOFTWARE MODEL
velocities could be obtained by
The block diagram of system we applied is shown in
vR = rφ˙R , (1) Fig.3. The experimental environmental information is obtained
vL = rφ˙L . (2) through monocular camera and transferred to PC. Then the
curvature of the trajectory ρ, the yawing distance and yawing
The velocity and angular velocity of mobile robot center angle to the trajectory (Δe, Δθ) are detected through image
could be calculated as processing technology. Then PC transfer these information to
1 controller, and the curvature based velocity calculation module
v = (vR + vL ), (3) will calculate the corresponding velocity and angular velocity
2
1 for next cycle, which could adjust the velocity according to the
ω= (vR − vL ). (4) trajectory curvature and adjust the angular velocity to keep the
2d
The turning radius of the mobile robot ρ could be denoted robot moving along the trajectory. Finally the vehicle control
by module will control the motors based on (v, ω).
v vR + vL A. Image processing of curvature and error detection
ρ= =d . (5)
ω vR − vL
When the input image I has been read, it is firstly smoothed
The relations between the velocity and angular velocity of with a 5×5 Gaussian filter G to remove the background noise.
the mobile robot, and the state of the robot are The Gaussian distribution in two dimensions is given by
1 − x2 +y2 2
ẋ = v cos θ, (6) G(x, y) = e 2σ , (14)
2πσ 2
ẏ = v sin θ, (7)
where x is the distance from the origin in the horizontal axis,
θ̇ = ω. (8) y is the distance from the origin in the vertical axis, and σ is

005212
Fig. 3. Blockdiagram of PTS with curvature based velocity control module

the standard deviation of the Gaussian distribution. Then the



smoothed image I is affine transformed into an aerial image

I , which is shown in Fig.4. A point (m, n) on the aerial
image corresponds to the (u, k) on the smoothed image by
⎛ ⎞ ⎛ ⎞
τm u
⎝ τn ⎠ = H ⎝ k ⎠ , (15)
τ 1
where H is a homography matrix, which could be easily
obtained by an external camera calibration with four reference
points [9] and τ is an eigenvalue. Details on the plane
homography can be found in many computer-vision textbooks,
for example [10]. In order to extract the color feature of
image, the aerial image is changed from RGB space to
HSV space. Then image binary-conversion is implemented to
extract the trajectory information via setting a threshold of
hue value. Three ROIs are generated next and in the ROIs,
a Canny edge operator is applied to compute the edge of the
boundaries. Afterwards, a Hough transform is computed on
output image of Canny edge operator and the highest scoring
line is generated in each ROI [11]. Therefore, three lines from
the three ROIs are obtained, and three feature points of the
trajectory are then generated through computing the middle
point of each line. Finally, the curvature of the trajectory is
computed with the three feature points, details of calculations
are presented by B. Alexander et al. [12]. Thus, we obtain the
trajectory curvature by
Fig. 4. Flowchart of the trajectory curvature detecting module
1
c= . (16) B. Curvature based velocity control and feedback control
ρ
The yawing error (Δe, Δθ) is also detected in the frame When we obtain the trajectory curvature and yawing error
image as shown in Fig.5. When the range error Δef and angle data (c, Δe, Δθ), the velocity would be firstly calculated. As
error Δθf on image were detected, the actual error could be a maximum velocity vmax has been decided, which means
calculated as the speed while the curvature equals to 0. Then the reference
velocity relative to the curvature ρ is calculated as
Δe = SΔef , (17)
Δθ = Δθf , (18) v(c) = vmax e−K|c| , (19)

where S is the scaling factor between the frame distance and where K is a factor which could affect the velocity change
the actual distance. sensitivity relative to curvature and c is the detected curvature

005213
Fig. 6. The course of the path tracking experiment

Fig. 5. Schematic figure of the error detection module


of trajectory. vmax is pre-settled according to the trajectory
characteristic. Thus the reference angular velocity could be
calculated as
vr
ω(c) = = vr c. (20)
ρ
When the error exists, the velocity and angular velocity
could be modified by feedback system as [13]
vd (c) = v(c) cos Δθ + Ke Δe, (21) Fig. 7. The path tracking tracks of the mobile robot with PTS with and
ωd (c) = ω(c) + v(c)(Kθ Δed + sin Δθd ), (22) without speed control module.

4) Do path tracking experiment in path tracking System


where Ke and Kθ , the feedback gain, are positive constants.
W.O. Speed control modele (SWOS). Mobile robot
IV. E XPERIMENT RESULT move in constant speed v = vSW ¯ S to guarantee the
same mobile efficiency.
A. Experiment of performance improvement 5) Compare the tracks’ errors, curvature detection results
A 2WD 2-caster mobile robot was used in this experiment, and mobile motion results of two path tracking exper-
and the radius of drive wheel is 0.3m and the drive wheel iments to evaluate the precision improvement of path
gauge is 0.89m. The proposed curvature detection algorithm tracking, curvature detection and mobile motion control.
has been implemented in visual c++ 6.0. For the camera The experimental results of lane-following are shown in
DFK22AUC03 from Imaging Source with 744 × 480 image Fig.7. Exp Track of SWS is the running track of mobile robot
resolution, the processing time was about 300ms per frame on equipped with PTS with speed control module and Exp Track
an AMD A6-3400M 1.40GHz processor. The controller used of SWOS is the track of mobile robot equipped with PTS
in the experiment is AD5454, which worked at a sampling without speed control module. While mobile robot moved in
frequency of 100Hz. The feedback gains Ke (in Eq. (21)) constant speed, tracking error in sharp curve (curvature=1) was
and Kθ (in Eq. (22)) were respectively set to 0.6 and 1, in much larger than that in SWS. This is because the curvature
addition, the velocity change sensitivity factor K (in Eq. (19)) detection module would cost about 300ms in every cycle, if
was set to 1. mobile robot move in constant speed, while robot move into
To evaluate the performance improvement the speed control the curve part and transfer the curvature data to controller,
system bring to the PTS and confirm the precision of curvature robot has already gone through the curve part and error
detection module and velocity control module, the procedures increased. Even though robot could move back to trajectory by
are set as follows: using the curvature information of the frame before trajectory
1) Lay the course as Fig.6 shows with red rope, and the lost, error has already happened. However, if robot move
total length of the course is about 33.31m. In this with PTS with speed control, as cornering speed decreases,
experiment, mobile robot will move clockwise from trajectory lost could be well avoided. The image processing
starting point i.e. (2,7) in Fig.6. result is shown in Fig.8.
2) Implement path tracking experiment in path tracking The tracing error distribution maps are shown in Fig.9. The
System W. Speed (SWS)control module. average error of SWS is 0.037m and SWOS is 0.166m, and
3) Calculate the average speed of the mobile robot with the maximum error of SWS is 0.120m and SWOS is 0.782m.
SWS in step 2, vSW ¯ S. Result shows that PTS with speed control is more accurate

005214
(a) Figure of absolute of curvature map

(b) Figure of velocity map


Fig. 8. Image processing result of SWOS/SWS in curvature=1 curve. Fig. 11. Figure of velocity control precision

Fig. 9. Tracing error of SWS/SWOS Fig. 12. Figure of acceleration curve


detected curvature curve and the actual curve is the actual
velocity which is recorded by encoder of the motors. The
maximum error between the ideal velocity and actual velocity
is 0.346m/s, which happens during the starting regime. And
the average error is 0.029m/s. We could see that the speed
control worked robustly and accurately, which means that
robot could efficiently control the velocity while the curvature
of trajectory could successfully detected.
As concerns, the acceleration curve is shown in Fig.12.
TAT is the theoretical acceleration calculated via the curvature
Fig. 10. Curvature detection result of SWS/SWOS
knowledge of the trajectory, TAC is the theoretical acceleration
and robust. The improved precision is mainly caused by the calculated via the detected curvature and Actual is the actual
better quality of vision processing, which has been analyzed acceleration data. Figure 12 reports that the linear acceleration
in next part. of the mobile robot is inside its allowed range.
The image processing results of SWS and SWOS are shown
in Fig.10. Curvature of trajectory is the curvature distribution B. Experiment of Optimum Maximum Speed Confirm
along the course. The average error of SWS is 0.074, and
SWOS is 0.159. As shown in the figure, the image processing In order to confirm the optimum maximum velocity relative
result of SWS shows better stability and accuracy. That is to different trajectories with different maximum curvatures
because curvature detection would be unstable in curve, espe- under certain precision requirement, this experiment has been
cially in sharp curve parts, trajectory would be easily lost from conducted through simulation. We set the sine function as the
camera scene. Thus, in curve parts, the decrease of velocity is traveling trajectory
required to assure the quality of curvature detection. T (i) = sin(k(i)x). (23)
Figure 11 shows the precision of speed control module. TAC
in (a) is the theoretical absolute curvature of trajectory and By changing the coefficient k(i), we can change the curvature
Actual is the absolute of actual detected curvature. TV in (b) of extreme points in every trajectory, and the curvature of
is the theoretical velocity which is calculated according to the extreme point could be calculated by

005215
V. C ONCLUSION AND FUTURE WORK
This paper proposed a path tracking system (PTS) with
trajectory curvature based velocity control module. This sys-
tem obtained the pre-knowledge of trajectory curvature via
a monocular camera and image processing technologies, and
(a) On trajectory of maximum curvature=0.1 adjusted the traveling speed of mobile robot according to the
curvature information. Path tracking experiment result showed
that this system could improve the PTS precision of mobile
robot, especially in curve parts. This system detected yawing
errors also through image processing instead of any position-
ing devices which could dramatically lower the cost of PTS.
(b) On trajectory of maximum curvature=0.5
Experiment results of curvature detection also showed that the
velocity control system could well improve the robustness and
precision to keep the stability and accuracy of PTS.
However, if just the curvature was taken into consideration,
the system would not be robust enough because camera may
lose the trajectory when the robot face consecutive curves.
(c) On trajectory of maximum curvature=0.7 So in order to solve this problem, the curvature change
rate would be considered to be taken into the system in
the future. The optimum maximum velocity would also be
added into the system to make the mobile robot could select
appropriate velocity based on not only the curvature but also
the precision requirement. In addition, an intelligent velocity
selection system should be developed to assist robot to keep
(d) On trajectory of maximum curvature=1.0 high precision in any trajectories.
Fig. 13. Simulation result of mobile robot moving on different trajectories
of maximum curvatures R EFERENCES
[1] B. Cohodas, R. Jayson and B. Ball, “Engineering Senior Design Project:
Robotic Lawn Mower.”, 2014.
[2] K. Jong-Hoon, G. Sharma, and S. Sitharama Iyengar, “FAMPER: A fully
autonomous mobile robot for pipeline exploration.” IEEE International
Conference on Industrial Technology (ICIT), pp. 518-523, 2010.
[3] W. Junmin, J. Steiber, and B. Surampudi, “Autonomous ground vehicle
control system for high-speed and safe operation.” International Journal
of Vehicle Autonomous Systems, vol. 7(1), pp. 18-35, 2009..
[4] S. Thrun, M. Montemerlo, H. Dahlkamp, “Stanley: The robot that won
the DARPA Grand Challenge.” Journal of field Robotics, vol. 23(9), pp.
661-692, 2006.
[5] T. Baocheng, and F. Lv, “Position and Attitude Alternate of Path Tracking
Heading Control.” Sensors & Transducers, vol. 167, pp. 203-209 , 2014.
Fig. 14. Error distribution relative to curvature and speed [6] A. Girard, and J .K . Hedrick, “A hierarchical control architecture for
3 mobile offshore bases,” Marine structures, vol. 13(4), pp. 459-476, 2000.
(1 + k 2 cos(k(i)x)2 ) 2
C(i) = . (24) [7] Al-Araji, “Genetic Algorithm and Elman Neural Network Used for
−k(i)2 sin(k(i)x) Tuning the Parameter of the PID Neural Controller Based Model Ref-
erence.” Iraqi journal of computers, communication, control and systems
engineering by University of Technology, vol. 5, pp. 111-126, 2005.
[8] R. Willgoss, V. Rosenfeld, and J. Billingsley, “High precision GPS
So four trajectories with curvatures in extreme points as guidance of mobile robots.” Proceedings of the Australasian Conference
0.1, 0.5, 0.7, 1.0, have been chosen by setting the k(i). In in Robotics and Automation, 2003.
every trajectory, simulation will be operated for five times in [9] K. ZuWhan, “Robust lane detection and tracking in challenging scenar-
ios.” IEEE Transactions on Intelligent Transportation Systems, vol. 9 (1)
different velocities, i.e. 0.5, 1, 3, 5 and 10 m/s, then the errors , pp. 16-26, 2008.
in the maximum curvature points would be recorded. Figure [10] R. Hartley and A. Zisserman, “Multiple view geometry in computer
13 shows the simulation result. vision.” Cambridge university press, pp. 25-62, 2000.
[11] B. Amol, M. Hayes, M, Smith et al, “A layered approach to robust
Then the error distribution relative to curvature could be lane detection at night.” IEEE Workshop on Computational Intelligence
obtained as Fig.13. Afterwards, we could obtain the optimum in Vehicles and Vehicular Systems, pp. 51-57, 2009.
cornering velocity respect to the trajectory curvature via this [12] B. Alexander, “A note on invariant three-point curvature approxima-
tions.” Surikaisekikenkyusho Kokyuroku (RIMS, Kyoto), pp. 157-164,
figure. For example, if the precision requirement is 0.1m on a 1999.
trajectory with maximum curvature is 0.7, then we can obtain [13] M. Fumio, M. Yasuhiro and A. Nishikawa, “Robotics introduction.”
the optimum maximum velocity from Fig.13 , which is 3m/s. Kyouritsu press, pp. 90-101, 2000.
Through this method, we could confirm the optimum cornering
speed under definite precision requirement in the curve parts.

005216

You might also like