{'fraction_non_alphanumeric': 0.017828738069989396, 'fraction_numerical': 0.01683457051961824, 'mean_word_length': 4.183442116111302, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Design and implementation A* Algorithm on movement system robot in the warehouse

The advancements in warehouse robotics at this current moment is considered as a trending topic. There is an abundance of multinational electronic companies that requires the use of robots in the field, especially warehouse robots that can be used to send and receive items efficiently. The width of warehouses with many branching routes creates problems for the movements of these robots. An example of said problem would be the inability to move efficiently using the nearest route possible. Therein lies the need for an algorithm that may solve these issues. This research proves that the use of A* Algorithm can be implemented for warehouse robot tracks which involves the usage of visible light communication method. The routes used for experimentation have specialized schematics in the form of a grid. In these experiments using a track with 2x2 and 3x3 schematics presents a success ratio of about 56,6% to 66,6% with an estimate distance calculation error between a minimum of 1cm and maximum of 20 cm. With the implementation of A* Search Algorithm, the robot could determine the shortest route in which it could efficiently move less steps compared to robots which uses all possibilities that exists.


Introduction
Currently robots come in many different form and shape which are diverse in their functions. Many needs of humans have been fulfilled by the use of robots in the industrial world. Delivery robots which send items are one of the many things that replace workers because of its ability to be sturdier, work continuously, and more efficiently. One of the beneficiaries of robots as a replacement for workers can be seen for item delivery [3]. An advantage of robots is that they can be utilized to send items automatically and ordered as needed.
Delivery robots are often placed in warehouses. These warehouses are designed with routes specially made with robot movements in mind. Routes that the robots are travelling in the tracks inside the warehouse which they are based off is critical to the efficiency for the deliveries of these robots. The routes provided to reach a certain point in the track of these robots also becomes varied if there exists more than one robot in the warehouse. In the process of item delivery done by these robots making movements, they run into the problem of having many branching paths that can be ventured. Different orders in sending and receiving items for each robot is also an issue that appears in determining paths for these robots. Hence why there is a need to solve the issue of eliminating the paths that the robots can choose and guiding them to the right path as a solution [2].
To identify whether or not a route is optimal, requires proof that can be proven with an algorithm. The programming language that is being used is A* Search Algorithm. A* Search Algorithm counts the steps that will be taken by the robot in accordance to the current position of the robot. From all the possible steps that can be taken by the robot, A* Search Algorithm will count and choose the smallest number of steps that can be taken to the destination. After calculating and choosing the next step the robot would take, the robot will repeat the process until the robot reaches its destination. [1].

Method
The robot is able to identify positions by using the visible light positioning method. Visible light positioning is a new technology with the ability to detect the position of the robot in a room that can be set up by taking advantage of light that is sourced from LED lamps in the path's experiment. The robot can differentiate data identities that are sent by the lamps in each node. Every lamp by the nodes can send positions of one another and accept robots with a light sensor, so that aside from information signifying the position of the lamps, the robot can also detect if there are any obstacles. With these capabilities, in this experiment the robot being used possess limited movements in which so A* Search Algorithm will be implemented to determine the shortest route in the path and the robot can move optimally in accordance to the distance, time, and cost as the parameters.
Many methods to determine the shortest route use similar algorithms, at its base the method used to optimize results rely on the calculation from the number of steps or distance covered. Although, the way it is calculated is different with each algorithm methods. Every implementation can be proven with simulation to verify and draw results to prove whether the steps chosen is really the shortest route.
In the design implementation of the A* Search Algorithm, there are a few data that are needed for this algorithm to be implemented so that the robot can be used, data needed includes: 1. Schematics of the track that are designed specifically as the robot's track 2. Track that consists of grids, which forms multiple nodes that represent x and y axis 3. Node in the form of a grid that represent the search area for the shortest route 4. Node that specifies as the starting position and direction of the robot 5. Destination which specifies as the target coordinate of the robot 6. Robot can only move forward, stop, right, left, and cannot move diagonally.

Schematics of the robot's track in a warehouse
The robot's track would be created specifically in order for the robot to be able to move forward, backward, left, right, and stop. The track would be created with the requirements of the utilization of robots in the future. The design of the track would be done in a way for the robot to move as optimally accounting for distance and time. The shape of the track for the robots in warehouse industries comes with many branching points and the positions of racks would be aligned to form a lane for the robot to move. The robots would move in accordance to the design of the track towards the destination.

Figure 1. Schematics of the trajectories in warehouse
Track schematics in the shape of a 3x3 grid is used as the trial for the robot to move. With a grid being the shape of the track, the implementation of A* Search Algorithm will be easier for performing calculations. Each grid consists of 40x40 in terms of length and width in centimeters. Within the middle of each grid lies a lamp that can represent a location identity. Each lamp sends different location points when sending information, the robots can also identify the positions of each point from the lamps by taking advantage of visible light communication technology.

Robot Movements
The velocity of robot movements in a warehouse ordinarily depends on the robots' own capacity. The type of robot that will be used is a wheeled variant which will move with an almost constant velocity. Wheeled robots also ease the movements of the robot whether it would be for going straight, or side to side.
In this experiment, the robot chosen will be going at a constant velocity of 2,5 km/h as the reference movement speed to accommodate the capacity of the prototype robot and the track that have been designed and used as a velocity reference that is considered safe for warehouse robots. In reality the velocity of robots in warehouses averages at 4,6km/h such as those being used by Alibaba and Amazon [7].

Implementation of A* Search Algorithm
A* Search Algorithm is a specialized algorithm used to find the estimates of routes with the lowest value from the starting position to the next until the end point. A* Search Algorithm possess a function symbolized by f(n) to define the shortest route which will be traveled with the following formula: in which: = value of starting node to n h(n) = value of n to the last node f(n) = value to determine the next node in the track In a track shaped as a grid using coordinates to determine the position of node, afterwards grid to ease spotting the exact position so it can be implemented in A* Search Algorithm.
Because the track is shaped as a grid, g(n) is defined as movecost and each coordinate between node and the next node will be valued as 1(one) unit of grid. Afterwards the value of h(n) can be found with the following function: x(n) = abs (node.x(n) -goal.x(n)) (2) y(n) = abs (node.y(n) -goal.y(n)) h(n) = (x(n) + y(n)) (4) in which: x(n) = heuristic value towards coordinates x node y(n) = heuristic value towards coordinates y node

Positioning of Robots
The tracks in which the robots reside and move in will be filled with visible light communication technology. Taking advantage of how light emerge from the modified LED lamps so that the lamps send data which consists of the robots' positional identity afterwards. The robot accepts data sent by the lamps  6 with light sensors that are placed in the robot. Robots can also identify data and turn information that have been sent by lamps as the positions to where the robot resides. In a 3x3 track there exists nine lamps which each sends data with unique positional identity.

RESULT AND DISCUSSION
The purpose of experiments consisting of the A* Search Algorithm implementation with a 2x2 and 3x3 track is to prove whether A* Search Algorithm can become a solution in finding the shortest route and if the robot can move from the starting position to the target coordinate.

Implementation of A* Search for Robotic Movement System in a 2x2 Track
In this part of the experiment, A* Search Algorithm is used as an algorithm that can determine the steps that the robots have to perform with calculation. Robot prototype moves in a track that have been design with visible light positioning technology in mind wherein light will emerge as positional identity for the robot prototypes in accordance to the track schematics.

Figure 3. 3x3 Track Schematics
The 2x2 track used for the experimentation is the grid with the blue lines. Experimentations in this step consists of a trial where the robot prototype moves towards different target coordinates. The prototype robot moves in the track that is shaped as a grid, also note that each grid inside the track will be the same size. The shape of the 2x2 track means that there are 4 nodes which can be bypassed by the robot. Experimentation begins with determining the starting position and direction of the robot. After setting the point of the starting node, determine the destination point of the end node. The choice of destination that will be determined by the robot will be done in the program that is downloaded to the microcontroller of the robot. The choice of destination in the 2x2 track grid with each node being 40 cm in both width and length will have 3 different nodes that can be used as destination node and one as a starting node.  The blue arrow signifies steps taken by the robot to move into the destination and the red arrow signifies other possibilities for the robot to move into the destination.
A* Search Algorithm which have been programmed is then applied to the robot resulting into the calculation of movement for the prototype robot to reach the destination node e. From the calculation of A* Search Algorithm to reach node e, the robot will first move towards node b and then take a left into node e which it will move straight. The results of experiment are accurately done to reach node e 30 times. The results of the experiment accurately shown to show node e as the destination 30 times. The steps that have been done by the robot will not be repeated until the robot have reach the destination node. The robot wold make sure that the steps taken will be recorded as history node with the immeasurable value to ensure the next move for the robot will not be the history node.  0  0  80  80  0  0  40  42  2  5  80  80  0  0  40  40  0  0  80  80  0  0  40  41  1  2,5  80  80  0  0  40  40  0  0  80  82  2  2,5  40  40  0  0  80  83  3  3,75  40  40  0  00  80  85  5  6,25  40  40  0  0  80  80  0  0  40  43  3  7,5  80  80  0  0  40  44  4  10  80  80  0  0  40  40  0  0  80  80  0  0  40  40  0  0  80  80  0  0  40  40  0  0  80  92  12  15  40  40  0  0  80  88  8  10 International Robot Prototype receive data from lamp b, d, and e as the destination node can have different ratio of accuracy. The implementation of A* Search in the movement system of the prototype robot in a track with a 2x2 schematics will not be significant in its use case although it's still able to be used to determine the route that can be used to move to the destination point. The calculation with the number of grids that is limited from the 2x2 scale cannot prove whether A* Search algorithm is more efficient compared to the usage of other algorithms.
There also exists a level of precision in the experiment but also error that can happen in the experiment but not due to the implementation of A* Search Algorithm, but because of the limited capabilities of the robot prototype and the track itself.

Implementation of A* Search on Robotic Movement System in a 3x3 Track
The experiment in the step requires trial that will be done using a robot prototype that will move towards different destination points. The robot prototype will move in the track that is the shape of a grid, in which each grid will have the same shape and measurements. The grid of the track will be 3x3 which means that there exist 9 different nodes that can be the robot can move over. Experiments start with determining the starting position of the robot in the track and also choosing the destination of the node which the robot will try and move to. There will be 8 different node that can be chosen as the destination node and one starting node with each node being 40 cm in both length and width in a 3x3 grid.
The result of the calculation in the implementation of A* Search Algorithm in the robot's program is the lowest waging value from each preferred grid for the robot to move into. After receiving the lowest waging value, the robot then moves towards said value. After it reaches the said grid the robot through the receiver then detects and identifies the location of the grid and whether or not it is the destination node. If it is the destination, the robot will then halt to a stop and claim that it has reached its destination. If not, then the robot will continue to find the destination node by implementing the same algorithm to reach the destination node.

Figure 5. Robot routes to reach node i
The blue arrow signifies the route that will be taken by the robot as the path the robot will take. The results of the movement taken by the robot to reach node i is to move straight into node b, then straight again into node c. After reaching node c the robot will change direction to face node f which is located north of node c. Furthermore, the robot heads straight into node f, and then into node i.
The steps that have been done by the robot will not be repeated until the robot have reach the destination node. The robot wold make sure that the steps taken will be recorded as history node with the immeasurable value to ensure the next move for the robot will not be the history node.