Robotics: Trajectory Planning and Tracking Control of A Differential-Drive Mobile Robot in A Picture Drawing Application
Robotics: Trajectory Planning and Tracking Control of A Differential-Drive Mobile Robot in A Picture Drawing Application
Article
Trajectory Planning and Tracking Control of
a Differential-Drive Mobile Robot in a Picture
Drawing Application
Ching-Long Shih * and Li-Chen Lin
Department of Electrical Engineering, National Taiwan University of Science and Technology,
Taipei 10607, Taiwan; [email protected]
* Correspondence: [email protected]; Tel.: +886-02-2737-6706
Abstract: This paper proposes a method for trajectory planning and control of a mobile robot for
application in picture drawing from images. The robot is an accurate differential drive mobile
robot platform controlled by a field-programmable-gate-array (FPGA) controller. By not locating
the tip of the pen at the middle between two wheels, we are able to construct an omnidirectional
mobile platform, thus implementing a simple and effective trajectory control method. The reference
trajectories are generated based on line simplification and B-spline approximation of digitized input
curves obtained from Canny’s edge-detection algorithm on a gray image. Experimental results for
image picture drawing show the advantage of this proposed method.
Keywords: differential drive mobile robot; trajectory control; edge-detection; line simplification;
B-spline approximation
1. Introduction
Wheeled mobile robots are increasingly present in industrial, service, and educational robotics,
particularly when autonomous motion capabilities are required on a smooth ground plane. For instance,
Reference [1] used image processing techniques to detect, follow, and semi-automatically repaint
a half-faded lane mark on an asphalt road. Employing a mobile robot platform in drawing robot
applications has the advantages of small size, large work space, portability, and low cost. A drawing robot
is a robot that makes use of image processing techniques in input an image and draws the same image
picture. A transitional x-y plotter has limits in terms of work space and becomes more expensive for large
work sizes. Most portrait drawing robots/humanoid robots make use of multi-degrees of freedom for
robot arms [2–5]. However, it may be too costly to use a robot arm in drawing a picture or portrait.
The basic motion tasks for a mobile robot in an obstacle-free work space are point-to-point motion
and trajectory following. Trajectory tracking control is particularly useful in art drawing applications,
in which a representative physical point (pen tip, for instance) on the mobile robot must follow
a trajectory in the Cartesian space starting from an arbitrary initial posture. The trajectory tracking
problem has been solved by various approaches, such as Lyapunov-based non-linear feedback control,
dynamic feedback linearization, feed-forward plus feedback control, and others [6–8]. In this work,
we propose a simple and effective trajectory control method for a picture drawing robot that is based
on inverse kinematics and proportional feedback control in discrete time.
Omnidirectional motion capability is another important factor in fine and precise motion
applications. Designing a mobile robot with isotropy kinematic characteristics requires three active
wheels with a special wheel mechanism design [9]. Kinematic isotropy means the Jacobian matrix
is isotropic for all robot poses, which is one of the key factors in robotic mechanism design [10,11].
Kinematic isotropy makes the best use of control degrees of freedom in Cartesian motion.
The standard construction of a mobile drawing robot is based on a classical differential drive
chassis with the single castor in the back of the robot [12,13]. Some robots are driven by two stepper
motors, in which the motor control is an open-loop control. Thus, the robot’s position and orientation are
computed based on the input step command for stepper motors [13]. For most differential-drive mobile
drawing robots, the draw pen is installed in the middle of the wheels; therefore, this configuration
is not omnidirectional in kinematics, and a sharp curve is difficult and consumes more power to
draw. The motivation of this work is, thus, to explore the omnidirectional motion capability for
a two-control degrees of freedom differential-drive mobile robot platform for application in fine art
drawing. When the draw pen does not stall at the middle of the wheels, a differential-drive mobile
robot platform may be omnidirectional and even isotropic in the Cartesian space by not considering
heading control. Moreover, the mobile platform has less power consumption for a given reference
following path and possibly can be used for sharp turn motions.
For the first step toward an autonomous art drawing system, the authors propose an integral
system consisting of a remote main controller and a drawing mobile robot. The remote main controller
can be either a personal computer (PC) or a smartphone, which automatically generates line drawing
picture data from a camera in real time. The picture curves are generated in the sequence of image edge
detection, searching and sorting connected paths, line simplification of image space curves, and line
curve smoothing by cubic B-spline approximation. The drawing mobile robot is equipped with a pen
and wireless Bluetooth connection; thus, it is able to draw pictures on a paper on-line. The robot is
an accurate mobile two-wheel differential driven robot controlled by a field programmable gate array
(FPGA) controller. The robot is driven by two dc servo motors. The motor control is under closed-loop
position proportional-integral-derivative (PID) control. The contributions of this work are as follows:
The rest of the paper is organized as follows: Section 2 presents an omnidirectional model of
a differential-drive mobile robot. Section 3 shows trajectory tracking control methods and stability
analysis. Section 4 studies trajectory planning for drawing a connected digitized curve through line
simplification and line smoothing. Section 5 illustrates searching and sorting picture curves of a gray
image. Section 6 provides both simulation and experimental results obtained from a test-bed mobile
robot. Section 7 concludes the paper.
2
r
y L
( xb , yb )
pen D {B}
( x, y )
1
{W} x
Figure 1. Coordinate frames of the mobile robot platform and pen system: the world frame {W}
and robot base frame {B} with origin at the middle of two wheels. A draw pen is installed along
Figure 1. Coordinate frames of the mobile robot platform and pen system: the world frame {W} and
a perpendicular line between the middle of the two wheels.
robot base frame {B} with origin at the middle of two wheels. A draw pen is installed along a
perpendicular line between the middle of the two wheels.
Let v and ω be the instantaneous linear velocity of the origin and angular velocity of the robot base
frame, v and The
Letrespectively. velocity
be the kinematiclinear
instantaneous equation of theofmobile
velocity robotand
the origin platform is represented
angular velocity of by
the
robot base frame, respectively. The
velocity
. kinematic equation
of the mobile robot platform is
represented by x b cos θ 0 " #
y. v
.b = sin θ 0 (1)
xb cos 0 ω
θ 0
y sin 1 v
b 0 (1)
0 1
and " # " #" . #
r r
and v 2 2 θ1
= r −r . (2)
ω 2L 2L θ2
r r
v 2 1
2 control
Common to all types of mobile robots
with two degrees of freedom, this kinematic (2)is
r
r 2
not-omnidirectional. Suppose 2 L 2 L of the pen ( x, y ) is the representative point of
that the Cartesian position
the mobile robot platform,
Common to all types of mobile " robots
# with
" two
# control" degrees
# of freedom, this kinematic is
x xb cos θ
not-omnidirectional. Suppose that the Cartesian
= − D of the pen ( x, y) is the representative point
position (3)
y yb sin θ
of the mobile robot platform,
and hence,
cos
" . # " x x
#" #
x cos
θ b DDsin
θ v (3)
= y yb sin (4)
sin θ − D cos θ
.
y ω
and hence,
The mobile robot platform kinematics without heading control is now defined by
"x . #cos " θ. #v
D sin
y x sin D cosθ1 (4)
. = J (θ ) . (5)
y θ2
The mobile robot platform kinematics without heading control is now defined by
where the Jacobian matrix is
x 1
y J ( ) (5)
cos θ + ρ sin θ 2cos
" #
r θ − ρ sin θ
J (θ ) = (6)
where the Jacobian matrix is 2 sin θ − ρ cos θ sin θ + ρ cos θ
" #
1 cos θ + ρ−1 sin θ sin θ − ρ−1 cos θ
J −1 ( θ ) = (7)
r cos θ − ρ−1 sin θ sin θ + ρ−1 cos θ
It is clear that the control degree in the yaw angle is now transformed to the control degree
in the lateral linear motion. The bigger the ρ is, the larger the mobility is in the lateral motion.
Without consideration of the orientation angle, the mobile robot platform becomes an omnidirectional
platform in the Cartesian space. An interesting example is a circular shape robot with a pen installed
at the center position.
The singular value decomposition of the Jacobian matrix J (θ ) is
" #" #
T
h i σ1 0 v1T
J = U ΣV = u1 u2
0 σ2 v2T
where θ̂ (t) is the estimated"orientation angle #θ (t), and k1 and k2 are positive gains, k1 , k2 > 0. Let θ̂ = θ + δ,
cos δ sin δ
and then J (θ ) J −1 (θ̂ ) = , and the error dynamics become a linear time-varying
− sin δ cos δ
system as follows
Robotics 2017, 6, 17 5 of 15
The stability and properties of the above closed-loop system are discussed in the following
two cases.
Case 1: Global exponential stability
. .
In the case of xr (t) = yr (t) = 0 (point-to-point motion without heading control), the closed system has
a globally exponentially stable equilibrium at (e1, e2 ) = 0. It is based on the use of the Lyapunov function
. . .
V = (e12 + e22 )/2 > 0, (e1, e2 ) 6= 0, whose time derivative, V = e1 e1 + e2 e2 = − cos δ (k1 e12 + k2 e22 ) ≤ −α V,
α = 2 cos δmax min{k1, k2 }, provides that cos δ ≥ cos δmax > 0 and k1, k2 > 0.
Case 2: Input-to-state stability (bounded-input bounded-state stability)
Because of the bounded velocity capability of motors, the trajectory tracking velocity is limited.
. .
Assume that the derivatives of reference trajectory are limited, such that xr (t) ≤ m and yr (t) ≤ m,
where m is a constant upper boundary. Lemma 4.6 of Reference [14] states that an unforced system
whose trivial solution is globally exponentially stable is input-to-state stable (ISS) if submitted to
a bounded input (or perturbation). Therefore, the closed system in Equation 9 is bounded-input
bounded-state (BIBS) stable. Furthermore, the bounds of trajectory tracking errors are approximately
| e1 | ≤ k − 1 −1
1 δ m and | e2 | ≤ k 2 δ m, respectively. The trajectory following errors | e1 | and | e2 | are directly
proportional to trajectory speed m, measure error δ, and gains k− 1 −1
1 and k 2 .
and
θ (k) = θ (k − 1) + ∆Ω(k)
Here, it is assumed that |∆x | ≤ dmax and |∆y| ≤ dmax , in which dmax is an upper boundary on
how far to move the pen in a single update time. If ( xr (k ), yr (k)) is too distant from ( x (k − 1), y(k − 1)),
Robotics 2017, 6, 17 6 of 15
then it needs to move the target position in closer to the current pen location by inserting one or more
intermediate points. Control terms ∆Ω(k ) and ∆S(k) can be obtained as follows
∆x sin θ (k − 1) − ∆y cos θ (k − 1)
Robotics 2017, 6, 17 −1 6 of 15
∆Ω(k) = sin (11)
D
and
and
∆S(k)=
S (D D∆Ω
k )cos cos(
k) − D∆x
(k )D+ x cosθ
cos (k(k−11) +∆y (θk(
sin
y sin k 1−) 1) (12)
(k ) 1 S (k ) L(k )
" # " #
∆Θ1 (k ) 1 ∆S(k ) + L∆Ω1
(k) (13)
(=k ) r S (k ) L(k ) (13)
∆Θ2 (k ) r ∆S(k) − L∆Ω(k)
2
It is also required that 1 (k ) max and 2 (k ) max , where max is the maximum
It is also required that |∆Θ (k)| ≤ ∆Θmax and |∆Θ2 (k)| ≤ ∆Θmax , where ∆Θmax is the maximum
incremental position command1 of each driving motor. Here, 1 (k ) and 2 (k ) are summed up
incremental position command of each driving motor. Here, ∆Θ1 (k) and ∆Θ2 (k) are summed up
and then used as absolute reference position commands of wheel motors, which are then sent to
and then used as absolute reference position commands of wheel motors, which are then sent to
independent PID position controllers to close the dc motor servo control loops. Figure 2 shows the
independent PID position controllers to close the dc motor servo control loops. Figure 2 shows
system block diagram of the proposed pen trajectory following control method. In this study, the
the system block diagram of the proposed pen trajectory following control method. In this study,
trajectory control update time is Tc = 20 milliseconds, and the position servo control sampling time
the trajectory control update time is Tc = 20 milliseconds, and the position servo control sampling time
is
is TTs s == 1.0
1.0 milliseconds.
milliseconds.
_
reference 1 + PID
trajectory Tc 20 ms 1 1 z 1 Ts 1.0 ms controller mobile 1 (k )
+ eq. 11
& eq. 13 robot
xr ( k ) _ x Ts 1.0 ms dc motors
eq. 12
y (k ) y S 2 1 and drives 2 (k )
r + PID
1 z 1 _ controller
summation
(k 1)
1 1
z z
x(k 1)
y (k 1) unit delays unit delay
1 z 1
s (k ) 1 (k ) Tc 20 ms
draw odometry
pen eq. 14
eqs. 15 & 16
x(k ) eq. 3 xb (k ) (k ) 2 (k )
y (k ) yb ( k ) 1 z 1
pen tip Tc 20 ms
trajectory (k ) difference
The system
Figure 2. The system block
block diagram
diagram of the pen trajectory following control.
The
The above
above trajectory
trajectory control
control loop
loop requires
requires information
information from
from the
the mobile
mobile robot’s
robot’s position
position and
and yaw
yaw
angle. The computation of the mobile robot’s position and yaw angle is based on odometric
angle. The computation of the mobile robot’s position and yaw angle is based on odometric prediction
prediction
from motorfrom motor The
encoders. encoders. The odometry
odometry update timeupdate time
is also is also
chosen aschosen
Tc = 20asms. = 20mobile
Tc The milliseconds.
robot’s
The mobile robot’s
incremental motionincremental
changes aremotion changes
calculated from are calculated
motor from
encoders motor
reading encoders reading and
and
" (k ) (k ) #
∆θ1 (k )+∆θ2(k )
1 2
" #
∆s(k) s(k ) r 2
(k=) r ∆θ (k ) 2 (k ) (14)
(14)
∆θ (k ) 1 ( k )− ∆θ2 ( k )
1 2
2 L 2L
2 (θk2(1k)− 1)
2 2
The mobile robot base position ( xb (k ), yb (k )) and orientation angle are updated according to
xb (k ) xb (k 1) cos (k 1)
y (k ) y (k 1) s(k ) (15)
b b sin (k 1)
and
Robotics 2017, 6, 17 7 of 15
The mobile robot base position ( xb (k), yb (k )) and orientation angle are updated according to
" # " # " #
xb (k ) x b ( k − 1) cos θ (k − 1)
= + ∆s(k) (15)
yb (k ) y b ( k − 1) sin θ (k − 1)
and
θ (k) = θ (k − 1) + ∆θ (k) (16)
Robot localization using the above odometry, commonly referred to as dead reckoning, is usually
accurate enough in the absence of wheel slippage and backlash.
for (n + d − 1) control points {pi }in=+1d−1 , 2 ≤ n ≤ N, it is best to approximate the sequence of input
data points {(t, xt )}tN=1 in a least-squares sense. The functions of Ni,d (t) are the B-spline basis functions,
which are defined recursively as:
t − ti t −t
Ni,d (t) = N ( t ) + i + d +1 N (t) (18)
ti+d − ti i,d−1 ti+d+1 − ti+1 i+1,d−1
(
1 t i ≤ t < t i +1 0
where Ni,0 (t) = , and 0 = 0 is defined.
0 otherwise
The B-spline curve {yt }tN=1 is then the desired pen drawing reference trajectory ( xr (t), yr (t)) at
discrete-time t in the unit of trajectory control sampling time Tc .
A linear spline approximation of the input image curve can be obtained based on the selected
knots {ti }in=1 and control points {xti }in=1 selected from those in the input dataset {xt }tN=1 . The desired
linear spline trajectory {yt }tN=1 is then:
t i +1 − t t − ti
yt = xt i + xt , t ≤ t ≤ t i +1 , 1 ≤ i ≤ n (19)
t i +1 − t i t i +1 − t i i +1 i
n −1
∑ Ni,d (t) pi = bt = xt − N1,d (t)x1 − Nn,d (t) xN , 2 ≤ t ≤ N−1 (21)
i =2
h iT h iT
Let X = p2 p3 · · · pn−1 and B = b2 b3 · · · b N −2 b N −1 , and then we have
an over-determined matrix equation:
h iT h iT
Let X = p3 p4 · · · pn and B = b2 b3 · · · b N −2 b N −1 , and then we also
have the same dimensions for an over-determined matrix equation:
The least-squares error solution can then be solved from the following normal equation:
SX = AT AX = AT B (24)
−1
X = (A T A) AT B (25)
Since the normal equation matrix S = AT A is a symmetric and banded matrix, it is, therefore, desirable
to search for control points through basic row eliminations and then follow with backward substitution.
Once control points {pi }in=+1d−1 are found, the desired B-spline reference trajectory {yt }tN=1 is generated
through DeBoor’s B-spline recursive formulation [16].
The
picture point decision
is based on the local information of its adjacent pixels in a 3-by-3
P8 P1 P5
window, P4 pixel P2 , defined here. Let the terms 4-connect and 8-connect of a pixel point be
P7 P3 P6
the numbers of its 4-connected pixel equal to 1 and its 8-connected pixel equal to 1, respectively.
In phase 1, salt point and branch point are classified as below:
In phase 2, start point, mid-point, and end point of a connected path are classified as below:
In phase 3, salt point and point in a loop path are classified as below:
For the sorting of final picture curves, a simple greedy method of the nearest neighbor strategy is
applied to sort picture curves in order to send out to the robot drawer. The next curve to be drawn
is the one where one of its end points is closest to the end position of the drawing curve among the
rest of the curves. Figure 3 shows picture curve search results; the input gray image has a size of
213 × 315 bytes. There are 5878 edge pixels after edge detection, and there are 136 connected curves in
curve sorting. After line simplification, there are 2702 control points left.
For the sorting of final picture curves, a simple greedy method of the nearest neighbor strategy
is applied to sort picture curves in order to send out to the robot drawer. The next curve to be drawn
is the one where one of its end points is closest to the end position of the drawing curve among the
rest of the curves. Figure 3 shows picture curve search results; the input gray image has a size of
213 × 315 bytes. There are 5878 edge pixels after edge detection, and there are 136 connected curves
Robotics 2017, 6, 17 10 of 15
in curve sorting. After line simplification, there are 2702 control points left.
Figure 4. A differential-drive mobile robot platform with a draw pen to generate a picture from an
Figure 4. A differential-drive mobile robot platform with a draw pen to generate a picture from an image.
image.
The first example considers a circular path to verify the effect of D / L . The desired reference
path trajectory is represented by xr (t ) R cos( t ) and yr (t ) R cos( t ) , 0 t t f 2 / , where R
= 50 mm, and the total circular length is S 0 x r2 y r2 dt = 100p mm. The control law in Equation
tf
Robotics 2017, 6, 17 11 of 15
The first example considers a circular path to verify the effect of ρ = D/L. The desired reference
path trajectory is represented by xr (t) = R cos(ω t) and yr (t) = R cos(ω t), 0 ≤ t ≤ t f = 2π/ω,
R tf q . 2 . 2
where R = 50 mm, and the total circular length is S = 0 xr + yr dt = 100p mm. The control law
in Equationq (8) with proportional gains k 1 = k 2 = 20 is used. Figure 5 shows the total displacement
R tf . 2 . 2
Θ= 0 θ 1 + θ 2 dt in the joint space with respect to arbitrary initial yaw angle θ0 for several different
pen location
Robotics 2017, 6,distances
17 D to follow the desired circular path trajectory. 11 of 15
25
rho = 0.1
20
radian
15
rho = 0.5
10
rho = 1.0
rho = 1.5
rho = 2.0
5
0 1 2 3 4 5 6 7
initial angle (radian)
Figure
Figure 5. Simulation
5. Simulation results
results of theof the of
effect effect ρ for a differential-drive
ρ forofa differential-drive mobile
mobile robot robot in
to follow toafollow
circularinpath.
a
circular path.
The second example considers a square path of side length 100 mm, and q the total length is
RThe
tf
qsecond example considers a square path of side length 100 mm,
.2 .2 R t f and. 2 the. 2total length is
S = 0t x + yr dt = 400 mm. Figure 6 shows the total displacement Θ = 0 t θ21 +θ2 2 dt in the joint
space 0withr respect
S= x 2 +r y r2 dt = 400 mm. Figure 6 shows the total displacement Θ = 0 θ 1 + θ 2 dt in the joint
to initial angle yaw θ0 for several different pen location distances
f f
D to follow the
space with
desired square respectpathto initial angle
trajectory. yaw θ 0 for
As expected, theseveral different
joint space pen location
displacement distancesas
Θ decreases D the
to follow
distance the
desired square path trajectory. As expected, the joint space
D increases. When ρ = 1 (i.e., D = L), the Jacobian matrix J is isotropic for all displacement Θ decreases as the
√mobile robot poses;
distance
and hence, DΘ increases. When on
is independent ρ =the
1 (i.e.,
mobileD =robot
L), theinitial
Jacobian angle θ0J and
yawmatrix Θ = 2S/r.
is isotropic for all mobile robot
In theandfollowing
hence, Θtrajectory control experiments, a drawing pen is located at aθdistance of D 2=S50
/ r mm.
poses; is independent on the mobile robot initial yaw angle 0 and Θ = .
The discrete-time trajectory following control law in Equations (11) and (12) is applied with trajectory
and feedback update time Ts = 0.01joint s. Figures 7 and 8 show(square
space displacement the experimental
path) mobile robot’s drawn
30
results of a circular path (radius 50 mm) and a square path (side length 100 mm), respectively. For both
curves, the trajectory following error is within 3.0 mm without initial position error. It is shown that the
pen tip trajectory has small trajectory tracking errors in sharp turn corners in Figure 8.
Figure 9 shows 25 the experimental drawn results of Taiwan maps. The origin data has 1105 discrete
data points, and there are 42 control points in its line simplification curve, and 44 control points in the
cubic B-spline smoothing curve. Figure 10 shows tracking errors of drawn Taiwan maps in Figure 9.
2 rho = 0.1
The drawing size 20 is 160 × 80 mm , tracking errors are within 1.0 mm, and drawing time is 10 s.
Since the step size is small, there are few differences in Figure 10.
radian
rho = 0.5
15
rho = 1.0
10
rho = 1.5
rho = 2.0
The second example considers a square path of side length 100 mm, and the total length is
S = 0 xr2 + y r2 dt = 400 mm. Figure 6 shows the total displacement Θ = 0 θ12 + θ22 dt in the joint
tf t f
space with respect to initial angle yaw θ 0 for several different pen location distances D to follow the
desired square path trajectory. As expected, the joint space displacement Θ decreases as the
distance D increases. When ρ = 1 (i.e., D = L), the Jacobian matrix J is isotropic for all mobile robot
Robotics 2017, 6, 17 12 of 15
poses; and hence, Θ is independent on the mobile robot initial yaw angle θ 0 and Θ = 2 S / r .
25
rho = 0.1
20
radian
rho = 0.5
15
2
1
1
0
0 1 2 3 4 5 6 7 8
0 time (sec.)
0 1 2 3 4 5 6 7 8
theta
400 time (sec.)
theta
start start 400
300
start start
degree
300
200
degree
200
100
100
0
0 1 2 3 4 5 6 7 8
0 time (sec.)
0 1 2 3 4 5 6 7 8
(a) (b)
time (sec.)
(a) (b)
Figure 7. Experimental drawn results of the pen tip trajectory following control of a circular path with
Figure
Figure7. Experimental drawn
drawnresults of
of the pen
pen tip trajectory following
following control
control of
ofaacircular
circularpath
path with
a radius7.of
Experimental
50 mm. (a) desired results
and drawn thecircular
tippaths;
trajectory
(b) tracking error and orientation anglewith
aaradius of 50 mm. (a) desired and drawn circular paths; (b) tracking error and orientation
radius of 50 mm. (a) desired and drawn circular paths; (b) tracking error and orientation angle angle.
square tracking error
6
square tracking error
6
4
mm mm
4
2
2
0
0 1 2 3 4 5 6 7 8
0 time (sec.)
0 1 2 3 4
theta 5 6 7 8
400 time (sec.)
theta
400
300
degree
300
200
degree
200
100
start start 1000
start 0 1 2 3 4 5 6 7 8
start 0 time (sec.)
0 1 2 3 4 5 6 7 8
time (sec.)
(a) (b)
(a) (b)
Figure 8. Experimental drawn results of the pen tip trajectory following control of a square curve path
Figure 8. Experimental drawn results of the pen
(a) desired andtip trajectory following control
(b) of a square error
curve path
with side
Figure lengths of 100
8. Experimental mm.
drawn results of the pen tipdrawn square
trajectory paths;
following control tracking
of a square curve and
path
with side
orientation
with
lengths
angle
side lengths
of 100 mm. (a) desired and drawn square paths; (b) tracking error and
of 100 mm. (a) desired and drawn square paths; (b) tracking error and orientation angle.
orientation angle
Figure 9 shows the experimental drawn results of Taiwan maps. The origin data has 1105
discrete data9 points,
Figure shows and
the experimental drawnpoints
there are 42 control resultsinofitsTaiwan maps. The curve,
line simplification origin and
data44
has 1105
control
discrete data points, and there are 42 control points in its line simplification curve,
points in the cubic B-spline smoothing curve. Figure 10 shows tracking errors of drawn Taiwan maps and 44 control
points in the
in Figure cubic
9. The B-splinesize
drawing smoothing curve.
is 160 × 80 mm2Figure 10 shows
, tracking errorstracking errors
are within of drawn
1.0 mm, Taiwan maps
and drawing time
in Figure 9. The drawing size is 160 × 80 mm 2 , tracking errors are
is 10 s. Since the step size is small, there are few differences in Figure 10. within 1.0 mm, and drawing time
is 10 s. Since the step size is small, there are few differences in Figure 10.
Robotics 2017, 6, 17 13 of 15
Robotics
Robotics2017,
2017,6,6,17
17 13
13ofof15
15
original
originaldata line
linesimplification line
data simplification linesmoothing
smoothing
160
160 160
160 160
160
140
140 140
140 140
140
120
120 120
120 120
120
100
100 100
100 100
100
mm
mm
mm
mm
mm
mm
80
80 80
80 80
80
60
60 60
60 60
60
40
40 40
40 40
40
20
20 20
20 20
20
20 40 60 80 20 40 60 80 20
20 40
40 60
60 80
80
20 40 60 80 20 40 60 80
mm mm mm
mm
mm mm
(a)
(a) (b)
(b) (c)
(c)
cubic
cubic
line
line B-spline
B-spline
simplification
simplification smoothing
smoothing
((d)d) ((e)e)
Figure
Figure 9.9.Experimental
Experimental drawn
drawn results
resultsofofTaiwan
Taiwan maps:
maps: (a) original
(a)(a)
original map; (b) desired line simplification curve;
Figure 9. Experimental drawn results of Taiwan maps: originalmap;
map;(b)
(b)desired
desiredline
linesimplification
simplification curve;
(c)
(c)desired
curve; cubic
desired (c)
cubicB-spline
desired
B-spline curve;
cubic (d)
(d)drawn
B-spline
curve; curve; Taiwan
drawn(d) drawnmap
Taiwan (from
Taiwan
map (from line
map simplification)
(from
line and
and(e)
(e)drawn
line simplification)
simplification) and (e) Taiwan
drawn Taiwanmap
drawn map
(fromTaiwan map (from line smoothing).
(fromline
linesmoothing).
smoothing).
tracking error : line simplification tracking error : line smoothing
tracking error : line simplification tracking error : line smoothing
1.5 1.5
1.5 1.5
1 1
1 1
mm
mm
mm
mm
0.5 0.5
0.5 0.5
0 0
00 1 2 3 4 5 6 7 8 9 10 00 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
theta theta
theta theta
300 300
300 300
degrees
degrees
200
degrees
200
degrees
200 200
100 100
100 100
0 0
00 1 2 3 4 5 6 7 8 9 10 00 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
time (seconds) time (seconds)
time (seconds) time (seconds)
(a)
(a)tracking
trackingerror
errorin
inFigure
Figure9d
9d (b)
(b)tracking
trackingerror
errorin
inFigure
Figure9e
9e
Figure
Figure10.
10.Tracking errors of drawn Taiwan maps ininFigure 9d and
and9e.
Figure 10.Tracking
Trackingerrors
errorsofofdrawn
drawnTaiwan
Taiwanmaps
maps inFigure
Figure9d
9d,e. 9e.
Figure
Figure 11
11 shows
shows the
the drawn
drawn results
results ofof aa building
building image
image inin Figure
Figure 3,3, in
in which
which there
there are
are 136
136
Figure 11
connected shows
curves the drawn
with 2702 results of
control a building
points in image
total in Figure
after 3, in which
procedures of theredetection
edge are 136 connected
and line
connected curves with 2702 control points in total after procedures of edge detection and line
curves with 2702 control
simplification. points in total× after procedures of edge detection ands.line simplification.
simplification.The
Thedrawing
drawingsize
sizeisis150
150 ×120
120mmmm2andanddrawing
drawingtime
timeisisabout
about90
2
2 90 s.
The drawing size is 150 × 120 mm and drawing time is about 90 s.
Robotics 2017, 6, 17 14 of 15
Robotics
Robotics 2017,
2017, 6,6,
1717 1414
ofof
1515
(a)original
(a) original
(a)
image (b)
image (b)searched
searched(b)picturecurves
picture curves (c)
(c)drawn
drawn picture
picture
(c)
(a) (b) (c)
Figure11.
Figure 11.Drawn
Drawnresult
resultofofa abuilding
buildingimage
imagecompared
comparedtoto(a)(a)the
theoriginal
originalimage;
image;(b)
(b)searched
searchedpicture
picture
Figure 11. Drawn result of a building image compared to (a) the original image; (b) searched picture
curves;and
curves; and(c)(c)drawn
drawnpicture.
picture.
curves; and (c) drawn picture.
Figure1212shows
Figure showsthe theimage
imagedrawn
drawnby bythe
theexperimental
experimentalmobile
mobilerobot
robotofofa ahuman
humanportrait.
portrait.The
The
Figure 12
originalimage shows
imageisis280 the image
280× ×210 drawn
210pixels
pixelsand by
andhas the experimental
has3951
3951pixels mobile
pixelsafter
afteredge robot of
edgedetection, a human
detection,and portrait.
andititleaves
leaves100 The original
100connected
connected
original
image
curves 280 ×2267
is with 210control
pixels and hasafter
points 3951line
pixels after edge detection,
simplification. Thedrawn
drawnandpicture
it leaves 100
size connected 2curves
curves with 2267 control points after line simplification. The picture size isis8.0
8.0
× ×5.0
5.0cm
cm 2 and
and
2 and is done in
isis
with 2267 control
doneininabout
done
points
about6060s.s. after line simplification. The drawn picture size is 8.0 × 5.0 cm
about 60 s.
(a)original
(a) original
(a)
(a)
image (b)
image (b)searched
searched(b)
picturecurves
picture
(b)
curves (c)
(c)drawn
drawn(c)
(c)
picture
picture
Figure12.
Figure 12.Image
Imagedrawn
drawnbybythe
themobile
mobilerobot
robotisiscompared
comparedtoto(a)(a)the
theoriginal
originalimage;
image;(b)
(b)searched
searchedpicture
picture
Figure 12. Image drawn by the mobile robot is compared to (a) the original image; (b) searched picture
curves;and
curves; and(c)(c)drawn
drawnpicture.
picture.
curves; and (c) drawn picture.
7.7.Conclusions
Conclusions
7. Conclusions
Whatisisnew
What newininthis
thispresent
presentresearch
researchisisthat
thatbybyremoving
removingthe thecontrol
controldegree
degreeininyaw
yawangle
angletotoa a
What is new in this present research is that by removing the control degree in yaw angle to a linear
linearlateral
linear lateralmotion
motionofofa adifferential-drive
differential-drivemobile
mobilerobot,
robot,ananomnidirectional
omnidirectionalplatform
platformcancanbebebuilt.
built.
lateral motion of a differential-drive mobile robot, an omnidirectional platform can be built. Thus, we can
Thus,we
Thus, wecan
candesign
designananautonomous
autonomousart artdrawing
drawingplatform
platforminina aclosed-loop
closed-loopfashion
fashionthrough
throughananinverse
inverse
design an autonomous art drawing platform in a closed-loop fashion through an inverse kinematics plus
kinematicsplus
kinematics plusproportional
proportionalcontrol
controlapproach.
approach.BothBothsimulation
simulationand
andexperimental
experimentalresults
resultsshow
showthat
that
proportional control approach. Both simulation and experimental results show that the experimental
theexperimental
the experimentalsystemsystemworks
worksininpractice
practiceasaswell
wellasasinintheory.
theory.The
Thelimitations
limitationsofofthe
thecurrent
currentsystem
system
system works in practice as well as in theory. The limitations of the current system are a lack of heading
area alack
are lackofofheading
headingcontrol
controlinintrajectory
trajectorytracking
trackingcontrol
controlandandslower
slowermotion
motionofofthethemobile
mobilesystem.
system.
control in trajectory tracking control and slower motion of the mobile system. Further works can include
Furtherworks
Further workscan caninclude
includeintegrating
integratingthe thevision
visionsystem
systemininthe theFPGA,
FPGA,refining
refiningthethemobile
mobilerobot
robot
odometryfor
odometry forlonger
longertraveling
travelingdistance,
distance,and
anddeveloping
developingfast fastspeed
speedmotion
motioncontroller.
controller.
Robotics 2017, 6, 17 15 of 15
integrating the vision system in the FPGA, refining the mobile robot odometry for longer traveling
distance, and developing fast speed motion controller.
Acknowledgments: This work is supported by grants from Taiwan’s Ministry of Science and Technology, MOST
105-2221-E-011-047 and 106-2221-E-011-151.
Author Contributions: C.-L. Shih and L.-C. Lin conceived and designed the experiments; L.-C. Lin performed
the experiments; C.-L. Shih and L.-C. Lin analyzed the data; C.-L. Shih wrote the paper.
Conflicts of Interest: The authors declare no conflict of interest.
References
1. Kotani, S.; Yasutomi, S.; Kin, X.; Mori, H.; Shigihara, S.; Matsumuro, Y. Image processing and motion control
of a lane mark drawing robot. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots
and Systems, Yokohama, Japan, 26–30 July 1993; pp. 1035–1041.
2. Srikaew, A.; Cambron, M.; Northrup, S.; Peters, R.A., II; Wilkes, M.; Kawamura, K. Humanoid drawing
robot. In Proceedings of the IASTED International Conference on Robotics and Manufacturing, Banff, AB,
Canada, 26–29 July 1998.
3. Lau, M.C.; Baltes, J.; Anderson, J.; Durocher, S. A portrait drawing robot using a geometric graph approach:
Furthest Neighbour Theta-graphs. In Proceedings of the IEEE/ASME International Conference on Advanced
Intelligent Mechatronics (AIM), Kachsiung, Taiwan, 11–14 July 2012; pp. 75–79.
4. Tresset, P.; Leymarie, F.F. Portrait drawing by Paul the robot. Comput. Gr. 2013, 37, 348–363. [CrossRef]
5. Jain, S.; Gupta, P.; Kumar, V.; Sharma, K. A force-controlled portrait drawing robot. In Proceedings of the IEEE
International Conference on Industrial Technology (ICIT), Seville, Spain, 17–19 March 2015; pp. 3160–3165.
6. Kanayama, Y.; Kimura, Y.; Miyazaki, F.; Noguchi, T. A stable tracking control method for an autonomous
mobile robot. In Proceedings of the IEEE International Conference on Robotics and Automation, Cincinnati,
OH, USA, 13–18 May 1990; pp. 384–389.
7. Samson, C. Control of chained systems application to path following and time-varying point-stabilization of
mobile robots. IEEE Trans. Autom. Control 1995, 40, 64–77. [CrossRef]
8. Egerstedt, M.; Hu, X.; Stotsky, A. Control of mobile platforms using a virtual vehicle approach. IEEE Trans.
Autom. Control 2001, 46, 1777–1782. [CrossRef]
9. Saha, S.K.; Angeles, J.; Darcovich, J. The kinematic design of a 3-DOF isotropic mobile robot. In Proceedings
of the IEEE International Conference on Robotics and Automation, Atlanta, GA, USA, 2–6 May 1993;
pp. 283–288.
10. Togai, M. An application of singular value decomposition to manipulability and sensitivity of industrial
robots. SIAM J. Algebraic Discret. Methods 1986, 7, 315–320. [CrossRef]
11. Merlet, J.-P. Jacobian, manipulability, condition number and accuracy of parallel robots. ASME J. Mech. Des.
2006, 128, 199–206. [CrossRef]
12. Durina, D.; Petrovic, P.; Balogh, R. Robotnacka—The drawing robot. Acta Mech. Slov. 2006, 10, 113–118.
13. Balogh, R. Practical kinematics of the differential driven mobile robot. Acta Mech. Slov. 2007, 11, 11–16.
14. Khalil, H.K. Nonlinear Systems, 3rd ed.; Prentice-Hall: Upper Saddle River, NJ, USA, 2002.
15. Douglas, D.H.; Thomas, K.; Peucker, T.K. Algorithms for the reduction of the number of points required to
represent a digitized line or its caricature. Can. Cartogr. 1973, 10, 112–122. [CrossRef]
16. De Boor, C. A Practical Guide to Splines, revised version; Springer: New York, NY, USA, 2001.
17. Canny, J. A Computational Approach to Edge Detection. IEEE Trans. Pattern Anal. Mach. Intell. 1986, 8,
679–698. [CrossRef] [PubMed]
© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).