Академический Документы
Профессиональный Документы
Культура Документы
soccer domain
Project Progress Report for EE586 Artificial Intelligence*
Abstract— The ability to traverse/navigate around without locally optimal direction while keeping approaching to the
colliding to the obstacles is one of most essential requirements target position. TBA produces paths, in reasonably simple
for an autonomous mobile robot that is supposed to realize a environments, that approach the globally optimal path as the
particular task by itself. Assuming that the robot is provided
with its current global position and orientation (initial configu- sensor’s maximal detection range increases.
ration), and goal configuration as well, the problem of enabling Bug algorithms assumes that the robot is a point on a 2D
a robot to reach its goal configuration in a reasonable amount of planar surface, and the obstacles are stationary. Moreover,
time, though seems simple, may present intriguing and difficult bug algorithms were developed for the robots that do not
issues. Besides, in multi-robot domains where robots operate have access to the global information of the environment.
collaboratively, highly complex and unpredictable dynamics can
arise. If an adversarial entity and unactuated-physical-body Hence, these algorithms are not useful for multi-agent robot-
interactions are also taken into account, the need for making soccer platform where entities are highly dynamic and global
navigation calculations within tight time constraints becomes information is already available (pose of each robot and the
more serious. In this study, several path planing algorithms, position of the ball).
such as Artificial Potential Fields, Visibility Graphs, Rapidly-
There are several robot motion control and path planning
growing Random Trees, and their commonly known variations
are going to be compared in terms of various time and safety algorithms that make use of global information, such as
criteria. Finally, a hybrid planning method is going to be artificial potential fields(APF), visibility graphs(VG), and
proposed that is going to be tested on a multi-agent robot rapidly-growing random trees(RRT).
soccer platform. This report, on the other hand, represents The rest of the document organized as follows: in the
the current status of this study and shows preliminary results
with the potential field methods.
algorithms section, APFs, VGs, and RRTs are explained
briefly; then experimental setup is explained, and lastly
I. I NTRODUCTION preliminary implementation results are given, and the article
is concluded.
One particular feature of an autonomous mobile robot that
makes them superior to the industrial robot manipulators is
II. A LGORITHMS
that they can navigate and traverse around the environment
if the surface is smooth enough. Yet another special feature A. Artificial Potential Fields
is that they can move from an initial position to a goal APF[4] is a reactive approach since the trajectories are
position without requiring explicit intermediate supervised not planned explicitly but obtained while executing actions
action commands (viz. no or minimum remote control). This by differentiating a function what is called potential function.
implies that the robot is capable of avoiding obstacles and A potential function is differentiable real-valued function U :
unwanted regions during navigation. One basic family of Rm → R. The output of a potential function can be taken as
methods to accomplish this is called Bug-algorithms [1]. the energy and its negative gradient as the net-force acting
Bug1 and Bug2, are known to be one of the earliest on the robot.
and simplest sensor-based planners, minimizing the compu-
Approaching to the goal configuration can be thought as
tational burden on the robot while still guaranteeing global
moving robot from a high-value state to a low-value state by
convergence to the target if reachable. However, these algo-
following a ”downhill” path. Mathematically speaking, this
rithms do not make the best use of the available sensory data
is the the process of following negative gradient, or gradient-
to produce relatively shorter paths by utilizing range data.
descent, i.e. c. (t) = −∇U (c(t)). The motion terminates as
Although VisBug [2] algorithm uses the range sensor data,
soon as the gradient vanishes, that is ∇U (q ∗ ) = 0 where
it can only utilize this data to find shortcuts that connects
q ∗ is called the critical value of U . This critical point is
points on the trajectory found by Bug2 algorithm containing
either maximum, minimum or saddle point as it shown in
no obstacles between. TangentBug algorithm(TBA) [3] uses
figure 1.Although the maximum is not that critical as soon
range data to produce a local tangent graph so as to choose
as robot doesn’t start movement from this point, but the
*This study is a part of EE586 Artificial Intelligence course offered by local minimum points are the real concern while designing
Dr. Afsar Saranli. a potential function. Here, one assumption is that the saddle
points -being unstable points- do not cause any problem due should look like the behavior of a tightened spring, or
to the robot’s inertia and other dynamics. the magnets getting closer to each other so that obstacle
APF methods can vary regarding how they measure the avoidance can be satisfied. In this study following
distance to the goal, and the type of the functions they formula is utilized,
utilize. In this study, additive attractive/repulsive potential,
and navigation potential based methods are investigated. In (
1 1 1 2
2 η( D(q) − Q? ) , D(q) 6 Q?
addition to these methods, a modified version of additive Urep (q) = (3)
potential fields is also investigated. 0, D(q) > Q?
Derivative of the repulsive potential function(3) is the
repulsive force which is,
(
η( Q1? − D(q)
1
) D21(q) ∇D(q), D(q) 6 Q?
∇Urep (q) =
0, D(q) > Q?
(4)
where Q? is the distance threshold for an obstacle to
create a repulsion effect on the robot, and η is the
repulsion gain.
The gain parameters (i.e. η and ξ) and the threshold
parameters(i.e. Q? and d? ) are set empirically.
The total repulsive potential field can be obtained by
summing up the potentials caused by all of the obsta-
cles,
Fig. 1: From left to right: maximum, saddle, and minimum XN
critical points are shown where figures at the top are the Urep = Urepi (q)
functions and the below are the gradient vectors of them. k=1
Fig. 2: From left to right and top to bottom, κ is changed between 1 and 6, and navigation potential function is calculated
for the sphere-world by sampling the world for the specific configurations(viz. 2D positions) varying in polar coordinates
r = [0.01, 2.0] and θ = [0.01, 2π] with the discrete sampling steps of 0.01. As it is clearly shown that κ doesn’t effect the
navigation potential considerably after a certain value, which is κ = 4 in this case.
Fig. 6: The thin solid lines delineate the edges of the visibility
graph for the these three obstacles (filled polygons). The blue
line segments represent the shortest path from start to goal
position.
Fig. 5: Obstacle 3, 4 and 5 are linked to each other.They General algorithm for a VG can be summarized as follows:
form a virtual obstacle (adapted from [11])
• Expand the obstacles by utilizing Minkowsky Differ-
ence[13] if the robot has a polygonal representation C. Rapidly Growing Random Trees
(otherwise approximate it)
• Construct edges between each node pairs considering An RRT is basically a data structure and algorithm which
the visibility criterion efficiently searches nonconvex high-dimensional spaces. The
• Search graph via a shortest-path finding algorithm, e.g. way RRT is constructed can be given as follows:
A*, Dijkstra’s etc. • Start with the initial state as the root of a trees
If the robot is assumed to be a point robot, visibility graph • Pick a random state in anywhere or in the direction of
construction is nothing but picking a node pair and checking the target
if the edge between these nodes crosses the obstacles edges. • Find the closest node in the current trees
Let V = v1 , v2 , ...vn be the set of vertices of the polygonal • Extend that node toward the target if possible
obstacles in the configuration space as well as the start and There are many variations of RRTs. In this study, RRT-
goal configurations. Therefore, general graph construction base [15], RRT-connect [16], ERRT [17], and Bidirectional
requires: t ∈/ [0, 1] and u ∈/ [0, 1] where t and u represents Multi-Bridge ERRT[18] is going to be studied.
a scalar value, fraction of the line segments between two To mention them briefly:
arbitrary vertices. More formally [14]:
• RRT-connect expands two trees towards each other,
one from the start node, and the other from the goal
v k vi × vl vk node. They interchange the roles of expanding-towards-
t= (7)
vj vi × vl vk the-other and expanding-randomly. The algorithm ter-
vk v i × vj vi minates ones a connection is established between trees.
u= (8)
vj vi × vl v k • ERRT makes use of the idea of way-point caching.
∀vi vj , ∀vk vl , vi 6= vj , vk 6= vl (9) Therefore search operation becomes biased towards the
paths found in the earlier successful executions.
For instance; if vj vi × vl vk = 0 then these line segments • Multi-Bridge ERRT is similar to the RRT-connect but
are parallel, and also if vk vi = 0 these lines are collinear. it continues to execution although a connection is estab-
Otherwise t and u are going to be calculated as scalar values. lished between the trees until a prespecified number of
If they are not in the interval of [0, 1], then these lines are not connections are established. Then the resultant structure
intersecting with each other. Since selecting vi vj has O(n2 ) is not a tree anymore. To find the shortest path an
complexity and there are O(n) intersection tests this VG optimal graph search algorithm is used, such as A*.
construction method has an overall complexity of O(n3 ).
A better approach would be applying the rotation plane
III. E XPERIMENTAL S ETUP
sweep algorithm which has the complexity of O(n2 logn),
which is shown in the figure 7. Sweep line algorithm also Webots[19] or Gazebo simulation environments are going
to be used by heavily utilizing ROS[20] graph concepts in the
design of the system. If time permits, the winner algorithm
can be run on the actual system with real robots8 for a
previously defined test scenario.
discards adding needless edges but only considers supporting IV. E XPERIMENTS
and seperating lines which reduces the number of edges.
Once the visibility graph is constructed, an optimal path In this section preliminary results for the APF methods are
search algorithm such as A* can be utilized to obtain a set given for three scenarios, one-obstacle direct-free path, three-
of edges that are on the shortest path. obstacle indirect-free path, two-obstacle direct-free path.
A. Case: One-obstacle direct-free path
In this experiment, we would like to see if the robot
can traverse around a single obstacle to reach the goal
position by following a preferably linear path. Normally,
since the obtacle is not entirely in the path of the robot, we
would expect that the robot almost-directly goes to the target
position. But it is shown that without doing a visibility check
basic additive potential fields may cause perturbances in the
path or even oscillations depending on how the attraction
and repulsive gains are set. Navigation functions, on the
other hand, may give a better path if κ is properly chosen.
Since there is not a theoretical way to select best κ, selection
process may require serious intuition and effort.
Fig. 12: From top left to the bottom right κ values are 3,4,5
and 7. The time it takes to reach to the goal is tκ3 =no
value, tκ4 = 62s, tκ5 = 53s and tκ7 = 45s in simulation
time. That’s why κ is chosen to be 7 in the experiments.
Please notice that the viewpoints of these figures are different
than each other, careful inspection will reveal the fact that
as κ values decrease, the length of the path increases since
the shape of the bowl=like potential function becomes more
spreaded-out.