Professional Documents
Culture Documents
net/publication/224141565
CITATIONS READS
31 4,487
7 authors, including:
Marcelo Becker
University of São Paulo
103 PUBLICATIONS 684 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Knowledge discovery and data mining for rehabilitation robotics View project
All content following this page was uploaded by Marcelo Becker on 23 May 2014.
1464
4a) and an estimation of the robotic forklifts position minimum path between these positions, we applied the A*
(provided by the localization system). Then, the environment algorithm [12].
topological map is used (Fig. 4b). On this map, the relevant The A* algorithm is based on a graph that has nonnegative
environment features are modeled as check-points (nodes). arcs and it considers two variables while searching the
We assumed that the stations (Shelves, Platform Charging, minimum path: the travelled distance and an estimative of the
and Production) are placed in nodes belonging to our distance to reach the goal position. Due to this, the algorithm
warehouse topological map. This is to certify that each can direct its search to obtain the minimum path spending a
robotic forklift in the warehouse is on a node. Based on these minimum computer cost. After that, the navigation controller
assumptions, each node of the graph used in the simulations executes the actions necessary to move the robot according to
(Fig. 4c) has its address represented by coordinates (x, y), the desired path.
where x and y represent in the map, respectively, the row and The robotic forklift kinematic model is essential to control
column of address in meters.
its own movements (wheel angular speeds). As we are using
This map is modeled for graph G(N,E), where N is the set
differential driven robots to simulate the robotic forklifts, we
of nodes and E the set of edges. The NxN nodes of the graph
decided to develop a parameterized model using the relevant
represent the connection of nodes, edges represent two paths
between two adjacent intersection nodes. The length of each constructive parameters necessary to control wheel speeds.
edge is a constant value in meters. The attribution of loading To model a differential mobile robot, we consider that the
and unloading tasks will be omitted in this work. We assume wheel-soil contact points are placed in xy plane. The global
that the time can be divided into discreet units and that each coordinate system {M} is located in the environment at O
forklift always arrives at the intersection node at some and oriented by the orthogonal versors I 1 and J 1 :
discreet time. Based on the forklift routing model of the map,
we have formally define that: a Storage task is identified by M = {O, I 1 , J 1 } (1)
an ordered pair of initial and final nodes ((Ix,Iy),(Fx,Fy)),
where (Ix,Iy ) represents the origin address, (Fx,Fy) represents A mobile coordinate system is fixed at the midpoint
the destination address, and (Ix,Iy )≠(Fx,Fy). Assuming that a between the driven wheels axis (P), and will be guided by the
task has a distinct origin and also a distinct (but different) orthogonal versors J2 and I2, which is parallel to the axis of
destination and each task has only one handled forklift, each the wheel:
forklift begins its activities. The Dijkstra’s shortest path is
N = {P, I 2 , J 2 } (2)
used in this work to calculate the routes of the forklifts
considering the cost. Basically, the method of routing time
Therefore, representation of points A, B and C can be
window [10] consists in verifying traffic jams and deadlocks
written in a simpler manner using the system N:
in order to improve the route. Next, we verify the route
optimization reducing the quantity of curves using again A = {0,−c}N (3)
Dijkstra’s algorithm with time-window [11].
The routing system interacts with the other systems as B = {− l ,0}N (4)
presented in Fig. 5. C = {l ,0}N (5)
1465
It must be highlighted that the robot modeling will be µ t = µ t + K t ( z t − h( µ t )) (11)
used in real robot control applications. Due to the use of
Σ t = ( I − K t H t )Σ t (12)
Player/Stage simulator, that already has a model for control
system implemented, the first developed model was not used
for simulations. Return µt, ∑t
C. Auto-Localization Where:
Localization is the problem of finding out robot’s µ t state vector mean ( x t , y t , θ t )
coordinates relative to its environment, assuming that one is
provided with map of the environment [13]. Localization is g (u t , µ t −1 ) state transition function
also a key component of the project. It provides the estimated u t control vector (δROT1, δTRANS, δROT2)
position of the robot using a localization algorithm. The Σ t state vector covariance
algorithm is based on the model that describes robot motion
G t Jacobian of g (u t , µ t −1 )
as a function of the odometry, where the robot motion is
approximated by a rotation δROT1, followed by a translation Rt noise model
δTRANS and a second rotation δROT2. There are several K t Kalman gain
techniques and algorithms in literature used to localize H t Jacobian of h ( µ t )
mobile robots. In this work the Extended Kalman Filter
Qt measurement noise
(EKF) was adopted to obtain an estimate of the localization
i i i
of the robot during the simulation. The EKF is a non-linear z t measurement vector ( rt t , φ t , s t )
version of the Kalman Filter that basically substitutes linear
predictions by non-linear generalizations. h ( µ t ) measurement prediction function ( rˆtit , φˆti , sˆti )
The EKF is divided into two main parts: prediction and ∂h( µ t ) ∂g (u t , µ t −1 )
Ht = Gt =
correction. In the prediction stage an estimation of the ∂xt ∂xt −1
position using the information odometry is made. Then, in
Functions g (u t , µ t −1 ) and h ( µ t ) details:
the correction stage, characteristics extracted from the
environment are compared with estimate measurements. g (u t , xt −1 ) = xt −1 + δ TRANS ⋅ cos(θ t −1 + δ ROT 1 )
They are calculated according to the map and estimated g (u t , y t −1 ) = y t −1 + δ TRANS ⋅ sin (θ t −1 + δ ROT 1 )
position. In the sequence, the estimate of robot’s position is g (u t , θ t −1 ) = θ t −1 + δ ROT 1 + δ ROT 2
updated. The EKF follows General Diagram to Location of
Mobile Robots (Fig. 7) proposed by [14]. rˆti = (m j , x − µ t , x )2 + (m j , y − µ t , y )2
φˆti = a tan 2(m j , y − µ t , y , m j , x − µ t , x ) − µ t ,θ
sˆti = m j , s
1466
IV. RESULTS
In order to verify the efficiency of the algorithms, several
simulations were carried out using the virtual warehouse
developed by the Player/Stage Simulator. Our algorithms
were applied to control this warehouse. Simulations were run
using two test scenarios (as shown below). Each robotic
forklift has one loading and unloading task to perform.
(Table I and Table II, task #1).
TABLE I
INFORMATION DEALT IN THE PROPOSED MODEL
Forklift Depot Task #1 Depot
Origin Destination (a)
1 Depot # 1 Shelf_I_16 Changing_D Depot # 1
TABLE II
INFORMATION DEALT IN THE PROPOSED MODEL
Information Depot Task #1 Depot
Origin Destination
1 Depot # 1 Shelf_A_02 Production_B Depot # 1
2 Depot # 2 Shelf_A_06 Changing_D Depot # 2
3 Depot # 3 Shelf_A_14 Changing_B Depot # 3
4 Depot # 4 Shelf_A_13 Changing_B Depot # 4
(c)
Fig. 9. Routing task applied to four Robotic Forklifts - positions on x-y plane
vs. time. The nodes of table II are represented by circles. Collisions and
traffic jams are represented by blue stars and emphasized by arrows.
Fig. 8. Routes for one forklift. In (a) the minimum route was calculated for
the desired tasks; in (b) routes without dead-locks and traffic jams after the In Fig. 10 one may observe the final path calculated by the
rerouting task (one may observe that for one forklift the routes were the
same); and in (c) the path was optimized, reducing the total maneuver navigation controller for the forklift #1 using the A*
quantity. algorithm. This algorithm gives the robotic forklift the
parameters that will be used by the controllers to execute the
The results show that in Fig. 9-a the Forklift # 3 had two route.
routing problems: a traffic jam with Forklift # 4 (detail
represented by a grey arrow) and a deadlock with Forklift # 4
(detail represented by a black arrow). In addition to this, in
the conflict-free stage (Fig. 9-b), the time and distance costs
can be higher than the previously calculated (Fig 9-a),
because the algorithm is avoiding traffic jams and dead-
locks. Finally, in the stage of maneuvers optimization (Fig. 9-
c) the best results for the calculated routes were obtained.
Next, the best solution provided by the routing algorithm is
simulated using the Player/Stage. We used the A* and the Fig. 10. 2D warehouse model: final path executed
Extended Kalman Filter algorithms to obtain a more realist
simulation of the real robotic forklift behavior.
1467
During the implementation of the EKF in the modeled V. CONCLUSIONS
environment, it was necessary to include cumulative random We briefly presented the approach developed in order to
errors in the robotic forklift odometry and laser sensor data, route robotic forklifts in an intelligent warehouse
because Player/Stage software uses data without sensor environment. Several simulations were carried out using the
errors. The EKF showed enough robustness with respect to Player/Stage tools to test the algorithms. As a result, we
odometry errors during the simulation because the robot did could solve many bugs and refine the algorithms.
not collide with walls. It managed to keep the route and The router developed was able to solve traffic jams and
position, and the values generated by the filter did not collisions, before sending the final paths for the robots. The
diverge. A* algorithm was a simple way to control the robot
Table III presents the maximum error, mean, and the maneuvers, and the EKF was sufficient to avoid the position
standard deviation between the simulated position (without error propagation. Our next step will be a real
error) and the position estimated by the EKF. These values implementation using mini-robotic forklifts and a scaled
were obtained while simulating the task presented in Fig. 11. environment built in our lab. We also plan some
8,530 EKF updates were used to calculate the values of Table improvements on the algorithm, to refine the routing task
III. planner and consider more parameters (e.g.: velocity changes
while maneuvering, load and unload times).
TABLE III
VALUES OF THE ABSOLUTE ERROR EKF VS. SIMULATED POSITION. ACKNOWLEDGMENT
X(m) Y(m) Theta(rad)
Max 0,03836 0,03950 0,01751 The authors would like to thank FAPESP (Processes
Mean 0,01252 0,01971 0,00063 2008/10477-0, 2008/09755-6 and 2009/01542-6), CAPES
Standard Deviation 0,01365 0,01314 0,00086 (Process 33002045011P8) and CNPQ (Process 134214/2009-
9) for the financial support given to this research.
A. One Robotic Forklift
REFERENCES
[1] D. Bowersox and M.B. Closs, Cooper, Gestão da cadeia de
suprimentos e logística. Rio de Janeiro: Elsevier, 2008.
[2] S. Ravizza. Control of Automated Guided Vehicles (AGVs), diploma
thesis, ETH Zurich, 2009.
[3] Broadbent, A.J. et al., “Free ranging AGV systems: promises, problems
and pathways” Proceedings of 2nd International Conference on
Automated Materials Handling, UK, pp. 221-237, 1985.
(a) (b) [4] Ch.W. Kim and M.A.J Tanchoco “Conflict-free shortest-time
bidirectional AGV routing”, International Journal of Production
Research vol.29, n. 12, pp.2377–2391, 1991.
[5] R. H. Möhring, et al., “Dynamic Routing of Automated Guided
Vehicles in Real-time”, Technische Universit at Berlin, Book:
Mathematics - Key Technology for the future, pp. 165-177, 2008.
[6] I. F. A. Vis, “Survey of research in the design and control of
automated guided vehicle systems” European Journal of Operational
Research. Elsevier Science, Amsterdam, vol. 170, pp. 677-709, 2006.
(c) (d) [7] L. Qiu, W. Hsu, S. Huang and H. Wang “Scheduling and routing
Fig 11. Simulations showing the displacement of forklift # 1, as show in the algorithms for AGVs: A survey”, International Journal of Production
Table I and Fig. 8 (blue). In (a) it is outing of the Depot#1, (b) loading in the Research, vol. 40, n.3, pp. 745-760, February 15, 2002.
Shelf_I 16, (c) unloading in Changing_D and (d) it is returned for its origin [8] R. H. Möhring, et al., “Conflict-free Real-time AGV Routing”,
point (Depot # 1). Operations Research Proceedings vol. 2004, Springer Berlin, 2004.
[9] E. W. Dijkstra, “A Note on Two Problems in Conexion with Graphs”
Numerische Math, 1959, vol. 1, pp. 269-271.
[10] J. Desrosiers, F. Soumis, M. Desrochers and M. Sauvé. “Methods for
B. Four Robotic Forklifs routing with time windows.” European Journal of Operational
Research, vol. 23, pp. 236-245, 1986.
[11] K.T. Vivaldini, G. Caurin, M. Becker, “Automatic Routing of Forklift
robots in warehouse applications” in 20th International Congress of
Mechanical Engineering (COBEM 2009), Gramado, Brazil,
[12] P. E. Hart, N. J. Nilsson and B. Raphael. A Formal Basis for the
Heuristic Determination of Minimum Cost Paths, IEEE Transactions of
Systems Science and Cybernetics, Vol. ssc-4, n. 19682.
[13] S. Thrun, “Probabilistic Algorithms in Robotics”. School of Computer
Science Carrnagie Mello University, Pittsburgh, PA15123, 2000.
Fig. 12. The route execution presented in the Fig. 9-c. Observe that the [14] R. Siegwart and I. R. Nourbakhsh, Introduction to Autonomous Mobile
collision presented in the Fig. 9-a was eliminate by the routing algorithm. Robots. Cambridge: The MIT Press, 2004.
[15] S. Thrun, W. Burgard, D. Fox, Probabilistic Robotics. Cambridge:
Figures 11 and 12 present the robotic forklift trails in the The MIT Press, 2006.
[16] B. Gerkey, et. al."The Player/Stage Project: Tools for Multi-Robot and
warehouse for one (Fig. 11) and four robots (Fig. 12). The Distributed Sensor Systems", In Proc. of the Intl Conf. on Advanced
final paths provided by the routing algorithm were collision- Robotics (ICAR), Coimbra: Portugal, pp. 317-323, Jun. 2003.
free and avoided traffic jams.
1468