Software implementation of a static store system using the digital differential analyzer algorithm. AbdulmuttalibT. Rashid, Fatima R.Ali. Osama T. Rashid.
Software implementation of a static store system using the digital differential analyzer algorithm AbdulmuttalibT. Rashid, Fatima R.Ali
Osama T. Rashid
Electrical Engineering Department University of Basrah Basrah, Iraq
Computer Engineering Department Iraq University Collage Basrah, Iraq
Abstract— In this paper the object store system is designed and simulated in a static environment with thirty boxes arranged in four columns according to the N-ary tree algorithm. Two designed methods for the object store system are suggested in this paper: the linear paths store system and the circular path store system. The line follower robot is used in both of the methods and in the first one the movement is restricted by straight lines and in the other methods the movement is restricted by straight and circular trajectories. The moving trajectories are enhanced by using digital differential analyzer algorithm. Two algorithms are suggested to reduce the rabble occurrences during the robot movement. The first one is the next location predication algorithm and the other is the rabble reduction algorithm. Both the linear and the circular object store systems are compared with respect to the length of the paths and time of arrival. Keywords— Static store system; N-ary tree algorithm; Digital differential analyzer algorithm; line follower robot.
I. INTRODUCTION Object store system which is known as an automated stored/retrieved system (AS/RS) is designed to ensure more speed and accuracy in performing both store and restore operations [1]. The main purpose of this system is to handle the situation when there is a large number of objects need to store and restore [2]. From 1950 up to now, the AS/RS can be defined as warehousing systems, it is used to store and retrieve objects automatically. The main advantages of these systems are savings in the place, reducing the error rate and increasing the reliability. The main disadvantages are reducing the flexibility, increasing the costs and require high control systems [3]. The object storage systems can be designed by using either static or dynamic environment. In The static environment , only the robot has the ability of movement while all the others objects in this environment will not have any movement; while in the dynamic environment there are many different things ( such as moving machines, moving paths) have the ability of movement [4]. In general the dynamic environment has more problems than static path planning since the robot uses sensory information for detecting the current position and direction of moving objects in the environment [5], The dynamic environment reduce the delay by draw only the specified route. The environment that not changed over time can be known as a static environment while the environment that changed over the time can be called as a
dynamic environment [6]. Line follower robots can be used in motion trajectory to design the object storage system. The line follower robot can be defined as a mobile machine and can be considered as a self-operating machine that follows the line that drawn on the floor [7]. The line follower robot can be follow a path with a white color drawn on a black surface, or follow a path with a black color drawn on a white surface [8]. In this paper the object store system is designed and simulated in a static environment with thirty boxes arranged in four columns to store objects. The storage objects represented mobile phones with different sizes and shapes. A line follower robot is used to store and retrieve an object by moving on black lines which arranged as an N-ary tree. The moving trajectories are enhanced by using digital differential analyzer algorithm. The rest of the paper is organized as follows: Section II describes the object store system in details, section III shows the simulation result, and finally section IV discuss the results. II. DESIGN AN OBJECT STORE SYSTEM Two methods for the object store system are designed in this paper: the linear paths store system and the circular paths store system. The line follower robot is used in these methods and in the first one the movement is restricted by straight lines and in the other method the movement is restricted by straight and circular trajectories. These trajectories are represented by the robot movement over straight or curved lines using the digital differential analyzer algorithm (DDA) [9, 10]. At each step, in this algorithm, the coordinate with larger change is increased by one and another coordinate is computed according to the procedure of the algorithm. The DDA algorithm is faster than the other algorithms in computing the line and arc since it eliminates the number of multiplications by using the raster characteristics [11]. A. The linear paths store system This system is used to store and retrieve objects from boxes that distributed according to the N-try tree algorithm as shown in Fig. 1. At any branch in the tree the robot moves on a linear path. In this method the N-ary tree algorithm is used to construct the environment with N=3, where N represents the maximum number of children at each branch. In this method the environment is divided into two symmetrical groups of boxes and each one has 15 boxes. Each storage box has a
unique code number consists of five binary digits that used to access to this box. This unique code represents by three parts: Dir1, dir2 and cross. The first bit (LSB) represents the Dir1, the second bit represents Dir2 and the last three bits (MSB) represent cross. All these three parts are used by the robot to access to the desired box. When Dir2=0 the robot rotate to the right group of boxes and when Dir2= 1 then the robot rotates to the left. When Dir1= 0 the robot rotate to the right sub group of each group and when Dir1= 1 then the robot rotate to the left. The number of Cross in the environment is selected by the Cross bits.
operation is doing when we want to retrieves any object from any box. As mentioned in first step the environment is constructed according to N-ary tree algorithm. The paths in this tree are straight lines at branch points. Fig. 2 shows the complete flow chart for the store and retrieves an object using the linear paths object store system.
Fig. 1 the environment of the linear paths objects store system.
For example when the robot want to store a mobile phone at the box number 22 then (22) decimal = (10110) binary
Cross =101
Dir2= 1
Dir1= 0
At first, the robot rotates to right group of boxes (Dir2=1), then it moves in a straight line until reaches to the Cross 5 (Cross=101), and at last it rotates to the right box (Dir1=0). In this system the differential drive mobile robot (DDR) is used [12]. This robot is one of the mostly used classes of wheeled mobile robots with two active wheels that are driven by different motors for controlling the robot. To turn the robot left or right, wheels are rotated at “different” speeds or in “different” directions. The DDR used in this method contains two sensors (right and left) to work as a line follower robot. The access codes and states of all storage boxes are stored in random access file to control the process of storing and retrieving the objects from each box. Each box has a record in the file for it is information. The information consists of the unique access code (Dir1, Dir2, and Cross) and one binary bit represents the states of this box (tst). If tst = 0 then the box is empty else it full. The process of storing any object accomplishes by opening the random access file and searching sequentially for the box has tst = 0 (empty box), and when it found then the tst code changed to tst = 1. The reverse
Fig. 2 Flow chart of the linear paths objects store system.
B. The circular paths store system In this system the robot moves on a circular path as well as the straight lines at any branch to reduce the distance to and from any box as shown in Fig. 3. This system is similar to the linear system in using the N-try tree algorithm for store boxes distribution. Also each storage box in this system has a unique code number consist of five binary digits that used to access to this box. The same line follower robot in last system is used in the circular paths store system. Fig. 4 shows the complete flow
chart for store and retrieve an object using the circular paths object store system.
Fig. 3 The circular paths environment.
C. The modified circular paths store system The main problem in the circular paths store system is the rabble occurs in the movement of the line follower robot. This rabble occurs because the robot change it is direction to makes the two sensors reading is white. Since N-ary tree in this environment is static and since the paths in this tree is either a straight line or circular paths, so that, in the modified algorithm we can predicates the next movement location of robot. These predication locations can be used to reduce the rabbles in the robot movement. From the prediction process to the path of robot we can know at what location the robot must move in straight line or in circular path. In the straight line reign the robot movement is dependent on the reading of the both line follower sensors and also on the prediction to the next location of robot dependent on the DDA line drawing algorithm (each location on a straight line is computing by the DDA line drawing algorithm). By comparison the reading of the two sensors and the prediction reading obtained from the DDA line drawing algorithm we can suggest paths with little rabbles. Also, for circular paths we can suggest the new location of line follower robot by comparison the reading of the two sensors of the line follower robot and the next prediction location of robot using the DDA arc drawing algorithm (each location on a circular path is computing by the DDA arc drawing algorithm). This leads to predict a circular path with little rabble. Two algorithms are used to investigate the modified circular paths store system: The next location predication algorithm and the rabble reduction algorithm. The first one is used to predicate the next location of the robot at each step of movement and the second one is used to minimize the rabble occurrences during the robot movement.
Fig. 4 the flow chart of the circular paths objects store system.
1. The next location predication algorithm The environment of the circular paths store system is designed as an N-ary tree. This tree is arranged as a straight line or circular paths using DDA algorithm. Since these paths are static so that the coordinate axis and the length of each path can be computed. The line follower robot used in this system is a differential drive mobile robot with two wheels. The distance between these wheels is L, the linear velocity for the right wheel is VR and the linear velocity for the left wheel is VL [12]. This robot has the ability to move either in straight line or in arc trajectory to follow the paths of the DDA algorithms. The investigation of the next location predication algorithm is according to the following steps: Step 1: Since the environment of the modified circular paths store system is fixed so that, the length of the staring straight line D can be computed as shown in Fig. 5. After this path the robot changes it is movement to the arc path.
Fig. 5 Computing the length of the staring straight line.
Step 2: To makes the robot movement in a straight line both wheels must has the same fixed velocity V. Where V = VR = VL
(1)
The time of arrival T1 to the end of this straight line is computed according to the following equation: T1 = V / D
(2)
Step 3: The second trajectory that the robot must move is a circular path as shown in Fig. 6.
wheels (servo motors) have the same velocity but sometime in practical the speeds of these wheels may be not equal. This leads to change the trajectory of the robot from straight to curve path and this problem is detected by the two sensors of the line follower. Solving this problem is achieved by rotating the robot to the other direction to makes the two sensors reading is white. The rabble is occurred when the line follower robot is continuously tried to solve this problem as shown in Fig. 7. The same problem is occurred when the robot moves on arc trajectories. The rabble reduction algorithm is suggested to reduce this rabble according to the following steps: Step 1: The movement of line follower robot on a straight line is shown in Fig. 8.a. When the right wheel of the robot has a speed VR greater than the speed VL of the left one, the robot move in circular trajectory until the right sensor detects the left edge of the straight black path. The angle of rotation equal α and the time of arrival are computed from the moment of the starting movement until to the moment of sensing the black edge.
Fig. 7 The rabble occurrences in the robot movement.
Fig. 6 Computing the length of the arc trajectory.
According to the cases of the DDR robot movement, the right wheel of the robot must stop movement and the left one move with V velocity. Since the radius of the circular path is equal to L (the distance between robot wheels) then the length of the circular path E that the left wheel must be moved is calculate as follows: E=2*L*π/4
(3)
The time of arrival T2 to the end of this arc trajectory is computed according to the following equation: T2 = V / E
(4)
Step 4: The modified circular paths store system is investigate when we repeat the above steps on all the stages of the circular paths store system. 2. The rabble reduction algorithm The modified circular paths store system is suggested to enhance the performance of the circular paths store system. In this system the differential drive mobile robot with two servo motors is used as a line follower robot. This robot has two sensors follow straight lines and circular paths to reach to the store boxes. The straight line movement is achieved when both
Step 2: The robot moves in the other direction by stopping the movement of the right wheel as shown in Fig. 8.b. In this case, the robot continuous rotates around the right wheel until sensing the other edge of the black line by the left sensor. The angle of rotation equal β and the time of arrival are computed. Step 3: Move the robot to other direction by stopping the movement of the left wheel as shown in Fig. 8.c. The time of movement must be equal to that movement time of the last step plus one unit movement time. This leads to stop the robot movement before the right sensor detects the edge of the black line. The angle of rotation in this case is equal σ as shown in Fig. 8.c. Step 4: The solving of the rabble problem is achieved by stopping the movement of the right wheel and moving the left wheel with speed VL to makes the robot rotate around the right wheel. This step continuous until the time reach to the half of the second step time (half the number of the unit’s movement). Fig. 8.d shows that both sensors do not detect the edges of the black line. Step 5: Both the wheels return to the original speeds to move the robot on the straight line as shown in Fig. 8.d. The final trajectory of the robot movement is shown in Fig. 9. Fig. 10 shows the complete flow chart for store and retrieve an object using the modified circular paths object store system.
(a)
(b)
(c) (d) Fig. 8 The rabble reduction algorithm (a) Sensing the one side of the black path (b) Rotating to the other side and sensing the black path (c) Move to other side to solve the problem (d) The rabble problem is solved.
Fig. 9 The final robot trajectory when applying the rabble reduction algorithm.
III. SIMULATION RESULT
Fig. 10 the flow chart of the modified circular paths objects store system.
Both the linear path store system and the circular paths store system are implemented using visual basic programming language and tested in windows operating system using an Intel core I5 CPU. Differential drive mobile robot was assumed in our simulations. These simulations are used to measure the performance for both the length of the path and the time of arrival. The time of arrival for the two methods is the time (in second) that the robot needs it to access to the box and then back to its center. The length of the path is the number of pixels that the robot needs to reach to the storage box and return to the center [13, 14]. Fig. 11 shows the implementation of the linear paths store system. The boxes with white color are empty boxes and the boxes with brawn color are full. The red path represents the store path and the blue one is the retrieved path. Fig. 12 shows the implementation of the circular paths store system. The boxes and paths color in this figure are similar to colors used in last figure. The first comparison among two systems shows the relationship between the number of storage boxes and the time of arrival as shown in Fig. 13. The linear paths store system has a shortest time of arrival. The second comparison shows the relationship between the number of storage boxes and the average length of paths as shown in Fig. 14. The circular system has a shortest path.
Fig. 11 The simulation of the linear paths store system.
IV. CONCLUSION In this paper two methods are suggested to work as static object store and retrieve systems for small objects, the first one is the linear paths and the other is the circular paths object store systems. Both methods used the N-ary tree algorithm to build the environment. From the simulation result we found that both the methods produce smooth paths with smaller rabble. This is done because of using the digital differential analyses algorithm to enhance the linear and the circular trajectories of the movement. From the simulation result we found the circular paths store system has best performance in the average length of paths because it produces shorter trajectories to the store boxes. The linear path store system has the best performance in the time of arrival because it has fewer rabbles than the circular paths store system. REFERENCES Fig. 12 The simulation of the circular paths store system.
Fig. 13 The time of arrival with respect the number of the storage units.
Fig. 14 The paths length with respect to the number of the storage units.
[1] B. Roddy, S. Markowitz and H. E. Wang, "User Interfaces for Authoring Systems with Object Stores", IEEE, pp.305-309, (1996). [2] L. Wu, Q. Zhuge, E. H. Sha, X. Chen, and L. Cheng, "An Efficient Data Distribution Strategy for Object Storage Systems With Hybrid Devices", IEEE, (2017). [3] H. Zollinger, "AS/RS application, benefits and justification in comparison to other storage methods: A white paper, Automated Storage Retrieval Systems Production Section of the Material Handling Industry of America, (1999). [4] I. AL-Taharwa, A. Sheta and M. Al-Weshah, " A Mobile Robot Path Planning Using Genetic Algorithm in Static Environment", Journal of Computer Science 4 (4), pp. 341-344, (2008). [5] F. Kamil, S. Tang, W. Khaksar, N. Zulkifli and S. Ahmad, "A review on motion planning and obstacle avoidance approaches in dynamic environments", Advances in Robotics& Automation, vol.4, No.2, (2015). [6] N. C. Mitsou and C. S. Tzafestas, " Temporal Occupancy Grid for mobile robot dynamic environment mapping", 2007 Mediterranean Conference on Control and Automation, (2007). [7] M. Pakdaman and M. Sanaatiyan, " Design and Implementation of Line Follower Robot ", Second International Conference on Computer and Electrical Engineering, pp.585-590, (2009). [8]S. E. Marjani and A. Vosoughinia, "Technical Report of Building a Line Follower Robot|", International Conference on Electronics and Information Engineering ICEIE, (2010). [9] Z. Y. Ibrahim, A. T. Rashid and A. F. Marhoon, “An algorithm for Path planning with polygon obstacles avoidance based on the virtual circle tangents”, Iraq J. Electrical and Electronic Engineering, Vol. 12 No. 2, pp. 221234, 2016. [10] Z. Y. Ibrahim, A. T. Rashid and A. F. Marhoon, “Prediction-Based Path Planning with Obstacle Avoidance in Dynamic Target Environment ”, Basrah Journal for Engineering Sciences, Vol. 16, No. 2, pp. 48-60, 2016. [11] D. Hearn, M. P. Baker, Computer Graphics C (1996). [12] A. A. Ali, A. T. Rashid, M. Frasca and L. Fortuna, "An algorithm for multirobot collision-free navigation based on shortest distance", Robotics and Autonomous Systems, Vol.75, pp.119-128, 2016. [13] F. R. Ali and A. T. Rashid, "Software implementation of objects store system using line follower robots ", Second Al-Sadiq International Conference on Multidisciplinary in IT and Communication Science and Applications (2ndAIC-MITC’17), 2017. [14] F. R. Ali and A. T. Rashid, "Design and implementation of static and dynamic objects store systems using line follower robots", International Conference on Advances in Sustainable Engineering and Applications (ICASEA'18), 2018.