Variable Priorities in Maze-Solving Algorithms for Robot's Movement Babak Hosseini Kazerouni, Mona Behnam Moradi and Pooya Hosseini Kazerouni Students of Electrical and Computer Engineering Department, Shahid Beheshti University [email protected], mona-b_82@yahoo. com

new method, one of these competitions is used, called "Micro Mouse" and the method is tested in this kind of competition's mazes. Flood Fill algorithm is one of the best maze solving algorithms. So, the suggested method is compared with this algorithm. After overview the problem in section 2 of this paper, the flood fill algorithm with an example is introduced in section 3. Finally, in section 4 the new method is presented and in section 5 the results are stated.

Abstract Most existing Maze-Solving algorithms assume a constant priority for the robot's movement. Thus, each moment, the robot will determine next movement only by the assumed constant priority. As turning would take a lot of time the fastest path is the one that has less turns. Because of the fastest path is preferred, and the constant priority might not lead the robot to the one with less turns, a movementpriority that considers non-turningpaths engenders less solving-time. In this paper a "variable priority for robot's movement", beside of the new main priority, is introduced. This variable priority with the new main priority will cause less solvingtime. So, it would increase the solving eflciency a lot. One more advantage is that this manner is general and not just for a specific maze. It is important because in today's projects, most of the time, the environment around the robot is not known.

2. Problem overview There is a movement priority in path-finding algorithms. When the algorithm permits more than one way for the next movement, the next movement direction is chosen by this movement priority. This priority in the most of existing algorithms is constant and is not changing during the process. For instance, if the destination is on the NorthEast of the start point the priority shall be North, East, South and then West; or something like that. Priority is important for some reasons. The most important reason is, a bad selection could throw the robot in a path with many turns. It could cause wasting extra times to find the destination. Less turning is desired because turning would take time and when robot avoids undesired turning it has more time to go straight. Therefore, it accelerates more and move faster. Considering this reason make the new method, introduced in this paper, solve the maze faster.

1. Introduction

T

oday, it is tried to use robots in more project as substitution for human. In the most of these projects, robots should move or walk and find their paths, for example robots that are used in mines or robots that are sent to planets. Therefore, nowadays, the ability of robots to consciously find their way around the terrain plays a more important role in the human life. At the present time, a mazesolving robot, self-contained without using an energy source, is more important than it was in previous years. The speed of robot to find its path, affected by the applied algorithm, acts the main part in the present projects. In these cases, the main purpose is to find the fastest path not the shortest one. In this paper the suggested method is used beside existing methods and increases the solving speed. These days, a lot of maze-solving robotic competitions are held around the world to achieve faster and superior robots [l], [2], [3]. To test the

3. Flood-Fill algorithm In this section the "Flood Fill" algorithm is introduced. Most of the information in this section is taken kom CSUN World Wide Web about Micro Mouse [4]. The flood-fill algorithm involves assigning values to each of the cells in the maze where these values represent the distance ffom any cell on the maze to the destination cell. The destination cell, therefore, is assigned a value of 0. If the mouse is standing in a cell with a value of 1, it is 1 cell away from the goal. If the mouse is standing in a cell with a value

0-7803-8200-5/03/$17.00 02003 IEEE

181

of 3, it is 3 cells away kom the goal. Assuming the robot cannot move diagonally, the values for a 5x5 maze without

a way of updating those. Returning to our example, suppose the mouse has found a wall.

Figure 1.Flood-Fill Explanation

Figure 2.Flood-Fill Explanation

Of course for a full sized maze, you would have 16 rows by 16 columns = 256 cell values. Therefore you would need 256 bytes to store the distance values for a complete maze. When it comes time to make a move, the robot must examine all adjacent cells which are not separated by walls and choose the one with the lowest distance value. In our example above, the mouse would ignore any cell to the West because there is a wall, and it would look at the distance values of the cells to the North, East and South since those are not separated by walls. The cell to the North has a value of 2, the cell to the East has a value of 2 and the cell to the South has a value of 4. The routine sorts the values to determine which cell has the lowest distance value. It turns out that both the North and East cells have a distance value of 2. That means that the mouse can go North or East and traverse the same number of cells on its way to the destination cell. As our movement priority, North, East, South then West, the mouse will choose to go to the North cell. Now the mouse has a way of getting to center in a maze with no walls. But real mazes have walls and these walls will affect the distance values in the maze so we need to keep track of them. Again, there are 256 cells in a real maze so another 256 bytes will be more than sufficient to keep track of the walls. There are 8 bits in the byte for a cell. The first 4 bits can represent the walls leaving you with another 4 bits for your own use. A typical cell byte can look like this:

We cannot go West and we cannot go East, we can only travel North or South. But going North or South means going up in distance values which we do not want to do. So we need to update the cell values as a result of finding this new wall. So we add one to the minimum distance value of possible cells. Now the present cell's distance value is at least one more than the rounds so the robot will move to that cell. In above example, concern to movement priority, the robot moves to the North. Sometimes the robot goes to a cell with walls all around it. We call it "dead end". Now we "flood" the maze with new values. As an example of flooding the maze, let's say that our mouse has wandered around and found a few more walls. The routine would start by initializing the array holding the distance values and assigning a value of 0 to the destination cell.

/piiq=-7ppp\Tp~7pq I-

Figure 3.Flood-Fill Explanation

1 '

The routine then takes any open neighbors and assigns the next highest value, 1.

So now we have a way of keeping track of the walls the mouse finds as it moves about the maze. But as new walls are found, the distance values of the cells are affected so we need

182

Figure 7.Flood-Fill Explanation

Figure 4.Flood-Fill Explanation

Notice how the values lead the mouse l?om the start cell to the destination cell through the shortest path. In each cell the following steps are taken: 1DETECT THE WALLS ROUND THE ROBOT AND SAVE THEM. 2IS THERE ANY DEAD END? 3IF THERE IS NOT ANY DEAD-ENDS WE SHOULD COMPARE THE CELL'S VALUE WITH ITS NEIGHBOURS TO DETERMINE WHETHER IT IS NECESSERY TO MAKE THE CELL'S VALUE PLUS ONE AND IF SO DO IT. 4IF THERE IS DEAD-END WE SHOULD UPDATE. 5NOW WE DETERMINE WHICH MOVEMENT SHOULD BE TAKEN.

The routine again finds the open neighbors and assig:ns the next highest value, 2.

Figure 5.Flood-Fill Explanation

4. Proposed method

A few mc>re iterations: In the new method, in the part five of above division when the next movement should be determined, instead of constant priority we use a variable priority. Another thing that is done in this paper is defining a different main priority. This new main priority concerns the position of the robot and the main directions. It means this method considers whether the l?ont of the robot is in the North, East, South or West direction. Therefore we defined this new main priority: Front, East, Right then Back instead of North, East, South and then West. Since the kont of the robot might be in any direction, always going to the North is not avoiding robot i?om turning. This new main priority could be different in concern to the turning policy. If the robot turns 180 degrees when it reaches dead ends the above new main priority is efficient. But if the robot does not turn in dead ends and it just substitutes the kont and the back of robot in the algorithm another new main priority would be efficient, which is Front, Back, Left then Right.

Figure 6.Flood-Fill Explanation This is rt:peated as many times as necessary until all1 of 'the cells have a value. It is illustrated below.

183

To define the variable priority, we placed four ultrasonic sensors around the robot; different applications may use different kinds of sensor. These sensors measure the length of the "open paths" in each side of the robot. Length of open path is the number of cells that exists in that direction without any obstacles. Higher priority is given to the direction with the longer open path. Because, in the longest open path, the robot has more time to move, accelerates more and spends less time to stop the chassis. At the end of the execution of the Flood Fill algorithm in each cell of the maze, the final priority is selected for the next movement. At first, the Flood Fill algorithm shows which ways the robot is allowed to go through. As explained in the previous section, these ways are the ones that their distance value is fewer than the current cell's value. Each of these directions is given a digit. This digit shows the number of open path's cells in each direction. For example if the algorithm gives digit 3 to the East direction, it means that in the East direction there are three cells and then an obstacle. Then the algorithm compares this digit with the new main priority in the algorithm. Then, if a direction exists with the highest main priority and the most open path's cells (if the kont of the robot has the most open path's length), the algorithm chooses that direction for the robot's next movement. If not, as each cell is 18cm long [ 5 ] , if the variable priority number shows more than one cell the robot will take that direction otherwise the robot will take the available direction with the highest main priority. This is because it takes more time for the robot to turn than to go straight to another cell. This new method decrease turning a lot. Therefore, in each cell, steps are as follows: 1DETECT THE WALLS ROUND THE ROBOT AND SAVE THEM. 2IS THERE ANY DEAD END? 3IF THERE IS NOT ANY DEAD-ENDS WE SHOULD COMPARE THE CELL'S VALUE WITH ITS NEIGHBOURS TO DETERMINE WHETHER IT IS NECESSERY TO MAKE THE CELL'S VALUE PLUS ONE AND IF SO DO IT. 4IF THERE IS DEAD-END WE SHOULD UPDATE. 5MEASURE THE EACH DIRECTION'S OPEN PATH LENGTH. 6COMPARE WITH THE NEW MAIN PRIORITY? 7NOW WE DETERMINE WHICH MOVEMENT SHOULD BE TAKEN.

In producing the result given in this section, a maze based on the APEC Micromouse competition rules [ 5 ] is assumed. It is just because a maze should be built for the test. But the features discussed in this paper are not dependent on the construction of the maze. Any environment in industrial and other applications could be modeled as a maze. The "Flood Fill Algorithm" with the old main priority is used as old method to solve the maze. And the flood fill algorithm beside the new main priority and the variable priority is used as the new method. We assume that the robot goes from a cell to another in 2 seconds and the time for turning is 0.5 second for 90 degrees turn. It is assumed that the robot cannot accelerate. If the robot can accelerate the solving time decreases a lot. Since in this new method, the robot goes through ways with most open path's length, acceleration can increase its speed a lot. But because of variable acceleration for variable robots and simplicity in calculations we did not assume acceleration in this test. We showed the results in two mazes. One of them is the maze that has been used in 1996 IEE World MicroMouse Championships, University of East London, 6" July 1996 and the other one is the one that has been used in the Micromouse competition, London (Wembly) Final, July 198 1. Solving these mazes with the new method and old method is illustrated below. Finally, the time needed by the robot to solve the maze is calculated by numbers of turns and movements. It is obvious this new method would help the robot to solve faster.

Figure 8.1996 IEE World MicroMOuse Championships solved by the old method

5. Results

184

Solving time for this maze by the old method is 93*2 + 44*0.5= 208 sec I

t

Solving time for this maze by the old method is 214*2 67*0.5= 461.5 sec

+

I

r-J

__ - Tigure 11.Micromouse competition, London (Wembly Final solved by the new method

Figure 9.1996 IEE World MicroMouse Championships solved by the new method Solving time for this maze by the new method is 33*2 + 14*0.5= 73 sec

Solving time for this maze by the new method is 109*2 + 31*0.5= 233.5 sec

6. Conclusion While there is no limitation to improve the algorithm, there are some restrictions on developing robot's mechanic or electronic. Developing algorithm is usually cheaper than the other parts. Therefore, Path-Finding algorithms, called "Maze SoZving Algorithms", are the most important part in projects which a robot is used to find its path. The proposed method could not be good in some projects or could be very usehl in other some but in general the variable priority would engender higher throughput. Future works can be concentrated on considering using variable sensors and variable methods to determine some different strategies for "variable priority for robot's movement".

7.References

J

Figure 10.Micromouse competition, London (Wembly) Final solved by the old method

[l] IEEE Micromouse Competition, held since 1979.

[2] APEC Micromouse Contest, held each year in United States of America.

185

[3] UK Micromouse contest, held each year in United Kingdom [4] MicroMOuse, California State University at Northridge, h m //homepaw mac com/SBenkovic/MicroMouse/index html

[SI APEC 2003 MicroMouse rules, htm //WWM
conf ordAPEC MicroMOuse Contest Rules html

186

Variable priorities in maze-solving algorithms for robot's ...

that considers non-turning paths engenders less solving-time. .... There are 8 bits in the byte for a cell. The first 4 bits can represent the walls leaving you with ...

362KB Sizes 6 Downloads 151 Views

Recommend Documents

Biodiversity hotspots for conservation priorities
plants criterion (and the habitat threat criterion), it makes the list. Vertebrates serve as ... The endemism data tend to be minimalist for two reasons. One is the lack of ..... congruence; the other two are only one-fifth and one-tenth as big, resp

Contract Algorithms and Robots on Rays: Unifying Two ...
Contract Algorithms and Robots on Rays: Unifying Two Scheduling Problems. Daniel S. Bernstein. Dept. of Computer Science. University of Massachusetts. Amherst, MA 01003 [email protected]. Lev Finkelstein. Computer Science Department. Technion—IIT.

Production Priorities in Dynamic Relationships
Mar 23, 2018 - Although we model a canonical principal-agent relationship, for the ... in which additional production requires overtime hours from the worker; ...

MMU Strategic Priorities for website.pdf
Page 1 of 15. MOUNT MANSFIELD UNION SCHOOL DISTRICT POPULATION INFORMATION. Projected Enrollments (2017–2019). Projecting student population in a small community is very difficult. The following chart summarizes projected. enrollment of current stu

MMU Strategic Priorities for website.pdf
Technical Education. Students Enrolled in Technical Education. # of MMU Students Attending. Tech Centers: School Year. Essex. (CTE). Burlington. (BTC) Total.

Macroeconomic Priorities
Jan 10, 2003 - Taking U.S. performance over the past 50 years .... In the rest of this section, I ask what the effect on welfare would be if all con- ..... 18This is a linear illustration of the more generally defined procedure described in Krusell a

Fuzzy Rate Controller for Variable Bitrate Video in ...
streaming, file sharing, progressive file download and others become possible. .... provide more control on the system for different applications. The quality ...

Macroeconomic Priorities
Jan 10, 2003 - there by the definition of a nominal shock. But the .... 6 percent–as a premium for risk, the parameter γ must be enormous, perhaps 40 or 50.11 ...

Language grounding in robots for natural Human
using the teaching protocol. Conclusions. - We have developed a physically embodied robot with language grounding capabilities. - During the course of the research several online, incremental and open-ended learning architectures with many innovation

Long–Term Topological Localisation for Service Robots in Dynamic ...
logical localisation of service robots in dynamic indoor envi- ronments. ... large-scale global localization [1], loop-closure detection [2], and for solving the ..... its status regularly using a social network interface, so its occasional failures

Long–Term Topological Localisation for Service Robots in Dynamic ...
and for solving the kidnapping [3] problem in mobile robotics. Typical approaches have made use of static representations of the word to solve the robot localisation problem. However, service robots have to operate in populated environments that are

LATENT VARIABLE REALISM IN PSYCHOMETRICS ...
Sandy Gliboff made many helpful comments on early drafts. ...... 15 Jensen writes “The disadvantage of Spearman's method is that if his tetrad ..... According to Boorsboom et al., one advantage of TA-1 over IA is that the latter makes the ...... st

LATENT VARIABLE REALISM IN PSYCHOMETRICS ...
analysis, structural equation modeling, or any other statistical method. ...... to provide useful and predictive measurements, the testing industry will retain its ...

Supporting Variable Pedagogical Models in Network ... - CiteSeerX
not technical but come from educational theory backgrounds. This combination of educationalists and technologists has meant that each group has had to learn.

Preference, Priorities and Belief - CiteSeerX
Oct 30, 2007 - Typically, preference is used to draw comparison between two alternatives explicitly. .... a proof of a representation theorem for the simple language without beliefs is .... called best-out ordering in [CMLLM04], as an illustration.

Supporting Variable Pedagogical Models in ... - Semantic Scholar
eml.ou.nl/introduction/articles.htm. (13) Greeno, Collins, Resnick. “Cognition and. Learning”, In Handbook of Educational Psychology,. Berliner & Calfee (Eds) ...

Correcting for Survey Nonresponse Using Variable Response ...
... Department of Political Science, University of Rochester, Rochester, NY 14627 (E-mail: .... the framework, retaining the benefits of poststratification while incorporating a ...... Sample Surveys,” Journal of Marketing Research, 10, 160–168.

Variable-speed conveyor element, particularly for accelerated ...
Jun 21, 1993 - stretched between the two pulleys are in contact over their entire height with the corresponding frontal faces of the adjacent blocks, and are ...

Illicit Crops and Bird Conservation Priorities in Colombia
3c, 7), flooded Atrato and Pacific forests (46–48a), and hyperhumid ... and cloud forests of La Macarena (24–26), tall and dense ..... sion 4 for Windows. Privately ...

Global research priorities for sea turtles
and their evaluation are often hindered by the lack of data on turtle biology, human–turtle interac- tions, turtle population status and threats. .... bridged 2 or more themes, a best effort was made to determine the dominant theme of the .... of o