EXERCISES
4.1 THE TOOLS: NAVIGATION AND ADAPTIVITY
D
esigning robots cannot be pegged to a process or a series of rules, as agency is uniquely determined by the job at hand and the local environment. However, two basic concepts remain nearly the same, (1) navigation and its variants, which are also the most basic set of behaviour, viz. obstacle avoidance and motion to goal and (2) adaptivity implemented with machine learning techniques. Other than these two, there are design takeaways if the same hardware component or design paradigm is re-used and convergence in sensor deployment and fusion methods.Simon [304,305] demonstrated that the agent’s ability to make a rational choice increased with the number of discreet moves it can see ino the future — the ability of farsightedness.
His paper concludes that, for a hypothetical animal random locomotion in the hope of surviving by finding a source of energy and replenishment, etc., can be disastrous. Therefore the hypothetical animal will have to search for clues in the environment, which are apparent or at least anticipated by it. It has to utilise such clues to seek routes which have a sufficiently high probability of survival. Toda’s fungus eaters were designed with particular attention to the environment, strong focus on adaptability and employed locomotion as a means for survival by collecting fungus, and also to simultaneously pursue other goals which for the fungus eater was collecting uranium, and over time, they could adapt to their surroundings and improve performance. Wilson’s ANIMAT design demonstrated that an adaptive algorithm reduces the number of steps needed to find food. These results puts an 131
mobile robot the configuration space is a two dimensional plane and this formalism considers the robot as a point and obstacles as ‘globs’ on a two-dimensional map, and thus reduces the problem of robot navigation to path planning in two dimensions.
Using grids to granulate the configuration space is an easy option, as shown inFigure 4.1 to implement a ‘divide and conquer’ algorithms and methods. Grid-based algorithms such as ‘breadth first’ and ‘A∗’ will always find a solution if one exists; however these algorithms usually gives suboptimal paths, and are best for simple navigational tasks, and may not be very useful in complex tasks, viz. collecting empty Pepsi cans, follow the red flags etc.
Neither can they be used for a gradually discovered area as in surveying nor are they advisable for safety critical tasks and rescue operations. As a further downside grid-based techniques are intractable for higher dimensionality. For example a mobile robot fitted with an arm manipulator will have two degrees of freedom for the mobile base and three or higher degrees of freedom for the arm manipulator and therefore the a configuration space of five or higher degrees cannot be visualised or operated with with simple mathematical operations.
If the shape of the robot is to be considered then the configuration space has to be modified by adding in the robot dimensions to the obstacle boundary. Shown inFigure 4.2, a circular robot which has to overcome a square-shaped obstacle leads to modification of the configuration space as shown. This ‘grows’ the obstacle to a bigger rectangle with rounded edges.
Since, planning is NP hard it is not always easy to find a path to the goal in all terrains and situations. Nearly every navigational method has a path planner to negotiate the thoroughfare, and therefore varies with the complexity of the environment and is context dependent, viz. collecting all Pepsi cans is a very different job than finding the shortest obstacle-free path to a goal point. Both jobs pertain to navigation and are meant for the same agent in the same environment. The first one needs an exhaustive search across the given area, reaching the various coke cans and the picking them up using an arm manipulator and collecting them in a container attached to the robot, the second in contrast will be a greedy approach to reach the goal point. Therefore, a single master algorithm for all purposes is not possible.
Methods are further tagged to performance, cost and computational consideration.
Bug algorithms and A∗ are the simplest one and potential field methods and Nearness Diagram (ND) navigation helps to preserve the simplicity. Dynamic Window Approach (DWA) method and Monte Carlo techniques are more sophisticated methods. In addition, mapping is often employed by researchers, along side navigation. This chapter is a peek into these tools and is divided into two sections, Navigation, Path Planning and Mapping, and Adaptive Techniques.
Navigation is a vast topic and cannot be covered in a short chapter and the reader is
133
FIGURE 4.1 Granulating space using two-dimension gridshas been popular with researchers.
Here the robot is a dimensionless point and the obstacles are globs. As shortcomings, this method (1) gives suboptimal paths and (2) can only be useful for simple tasks and (3) cannot be extended to higher dimensions.
FIGURE 4.2 Concept of configuration space.For a circular robot to negotiate around a square obstacle, a collicion free course will need to take into account the robot’s size and therefore in the configuration space the rectangular obstacle will be a larger rectangle with rounded edges.
the minotaur is a beast with a bull’s head and a man’s body, and it is contained inside a labyrinth and cannot find its way out, (2) in Grimm’s fairy tale of Hansel and Gretel, where the two kids drop sweets on their way to the woods so that these can serve as landmarks for finding their way back home; and (3) history of course boasts of adventurers and seafarers who were guided by the stars, will power, greed and mercantile goals to reshape the globe forever. In modern times, other than autonomous robotics, navigation is also of great significance in defence systems, air travel, ships, space exploration, animation etc. Therefore, it can be said that navigation and path planning are at the root of nearly all cognitive processes and complex human actions are a synchronisation of such simple navigational modules.
For mobile robots, the simplest behaviours are ‘wandering around’, ‘obstacle avoidance’
and ‘motion to goal’. More involved behaviours such as ‘mapping’ and ‘rendezvous’ are all variants of navigation and path planning. Generic problems of path planning, such as ‘piano mover’s problem’ and ‘escaping from a maze’, have been tackled by mathematicians and logicians using global navigation methods which are methods that rely on an a priori map.
In contrast navigating a mobile robot with onboard sensors is a much different problem, as it has to be tackled as local problem in real time, with sensorimotor capabilities. Though, nowadays nearly all state-of-the-art robots have both local and global information at their disposal, it is worth remembering that path planning in its most general form is time exponential in the robot’s degrees of freedom, and on incorporating dynamics of moving obstacles, the problem becomes exponential in number, thus rendering, generic navigation as an NP hard problem.
4.2.1 A∗and bug algorithms
In late 1960s, Nilsson navigated Shakey using the A∗algorithm in a grid-based environment.
It was apparent that primitive reactive approaches as ‘See obstacle, Turn Left’ or ‘If Goal is Visible, Move to Goal’, fails to incorporate the versatility of the terrain and dynamics of real-life navigation which has uneven terrain, other agents and moving obstacles. Neither, can such simple reactive modules be used for interesting tasks; as viz. collect red balls, stop on seeing a yellow flag etc.
The Bug algorithms were developed by Lumelsky and Stepanov [211, 212] and were the earliest sensor based planners. They considered navigation over a two-dimensional space, a point robot, a finite number of obstacles of finite size, where the robot knows its own coordinates and also that of the goal and it can measure the distance between any two points.
The local information about the obstacles is known using a sensor, viz. laser, camera, tactile etc. two variations named as Bug-1 and Bug-2, as shown in Figure 4.3. Bug-1 is designed
135 as an exhaustive search algorithm while Bug-2 is an opportunistic variant designed with a greedy algorithm.
All Bug algorithms and their later derivatives essentially incorporate two behaviours;
‘motion to goal’ and ‘boundary following’. Over the years modification of these two algorithms has added novelty, some popular ones are, Tangent Bug, Polar Bug, Optim Bug, Pot Bug, I Bug etc or they have been used along with another path planner as a hybrid approach. The Bug algorithms were designed on anthropomorphic motivations from insect navigation, and used addition of behaviours, akin to the reactive paradigm, but it considered the problem more from a global point of view, than a local one. The broad limitations of the Bug algorithms are, (1) it is rarely that the location of the goal point is known. More often it is not very clear and the goal is usually identified by incomplete information and corresponds to a gradually discovered environment, viz. stop on seeing a red flag, stop after crossing the eight obstacle etc., (2) navigation is an explorative process and the distance between any two points can never be known with certainty due to the unevenness of the terrain and sensor errors, (3) Bug algorithms are for two dimensional static obstacles and will not be very successful for moving obstacles, viz. other robots and human beings, etc.
4.2.2 Considerations for navigation
Over the last five decades, research has attempted to bridge the gap between the sterility of the laboratory or the ideal settings of a simulation, and the real-time occurrences of the real world. The following aspects helps to assess the performance of a path planner:
1. Embodiment and representation, the structure of the environment, the robots mechatronic design, its shape etc. Motion confined to a single plane, or two-dimensional motion is usually easier to plan and navigate. Motion which occurs in three dimensions is difficult to plan and design and there is yet a lack of good methods.
A typical cube world or box world of simulation, where each and every obstacle is a cube is easier to navigate; however, the real world has a variety of obstacles and the challenge and also a test of performance for the robot is to navigate through a cluttered environment. Performance of a method often varies with the obstacle, and more complicated and highly concave or U-type obstacles as shown inFigure 4.4are difficult to negotiate and therefore stand to testify the quality of a method.
2. Space or time complexity, the computational resources, viz. the sophistication of the onboard microcontroller, the amount of data storage and hence the time needed to find the solution.
3. Completeness. Is the method guaranteed to find a path if one exists and report if there is none? The algorithm should be such that the robot ‘gives up’ after a finite number of attempts and reports the lack of a solution, and thus prevents an unending process where the robot keeps fseeking a path until it runs out of onboard power.
4. Soundness. Will the method consistently provide a collision free path? This is a particular concern for autonomous vehicles such as Google cars which have to find a collision-free path in real time with moving obstacles.
5. Optimality. Is either defined as minimum length or minimum path, depending on the requirement and it is rarely possible in real time, as is shown in Figure 4.5.
Nevertheless, the actual path versus optimal path helps to improve the given method.
6. Reactive layer. Nearly all algorithms derive from a reactive action, viz. Bug algorithms used overlap of simple behaviours. Potential fields are reactive in nature and ND is
FIGURE 4.3 The bug algorithms.The robot’s dimensions are ignored and considered to be a point – point robot, the dark globs are the obstacles, the m-line is a hypothetical line joining the start and goal points and the dotted line shows the path of the robot from start to goal. In (a) in Bug-1 the mobile robot starts with ‘motion to goal’ behaviour and on reaching the first obstacle switches to ‘boundary following’. After traversing all of the boundary, when the mobile robot again encounters the m-line it again takes a ‘motion to goal’ behaviour and moves towards the next obstacle. In (b) Bug-2 the mobile robot starts with a ‘motion to goal’ behaviour and on reaching the first obstacle switches to ‘boundary following’. In the next encounter with the m-line the robot switches to ‘motion to goal’ and moves towards the goal and encounters the next obstacle.
The ‘motion to goal’ behaviour is the same in both algorithms, however when executing ‘boundary following’, Bug-1 is exhaustive while Bug-2 is driven by immediate conditions — a greedy paradigm.
137 based on situated activity, and most of the state-of-the-art robots employ this reactive layering with a global planner which may be accompanied with a remote human override. The reactive layer is essential, as it determines the robot’s local interaction.
and the robot’s performance to the specific task; for example, the reactive layering for a robot driven by olfactory is different than one which is following red flags.
7. Mapping has become essential to navigation. It is not dependent on sleek and expensive hardware and it helps in surveying unknown terrain and works in tandem with localisation.
8. Task criticality. Safety is always a consideration, critical tasks with stringent deadlines or tasks which may need to be stopped abruptly need different programming considerations. A good example is a robotic ambulance carrying fatally injured patients who may need medical attention immediately, such a vehicle will not only need to find the fastest path with the least traffic but also adhere to a very strict deadline.
9. Kinematic considerations. Most planners consider the robot in two dimensions, as a point or a circle, with sensors arranged in circular symmetry, which is hardly the scenario, as robots have a body which is not always circular and sensor which are not always arranged in circular symmetry. Extending simple algorithms for car-like robots leads to discrepancies such as, any position of the car can be represented in two dimensions as (x,y, θ) as is shown in Figure 4.6, which is the requirement for most path planners, but this is not consistent as the car can change the orientation of its wheels with steering, influencing its linear velocity and the subsequent motion.
Motion for vehicles with differential drive and steering is non-holonomic and tends to limit the free area in the configuration space. Analysis of such motion is difficult.
The divide and conquer strategy is popular throughout autonomous navigation. This approach, breaks the given problem into subproblems that are easier to solve, as is shown in their classification scheme for robot navigation inFigure 4.7. These subproblems are usually similar to the original problem but are easier to solve, less complex and often spread over a smaller domain.
Decomposition of the two-dimensional physical space into cells via a regular grid, random trapezoids, visibility graph and voronoi diagram are probably the easiest methods. As shown inFigure 4.8, the given area is sliced into a number of polygons and numbered; the path to goal is equivalent to traversing a graph and warrants a collision-free course.
Alternatively, the given task can be broken down into smaller tasks. Subgoal approaches [34, 346], as shown in Figure 4.9, select positions in the immediate neighborhood of the agent’s current location in the prospect that this may be more easily achieved than a distant goal. Over a number of iterations, and with suitable selection of subgoals, such approaches can incrementally make progress in moving the agent towards the long-term goal. In contrast to the regular, a priori given structure of a grid decomposition, subgoal approaches often dynamically fragment their configuration space; essentially a tradeoff between the classical discrete and continuous forms navigation. The earliest subgoal technique was SSA, proposed by Krogh in later 1980s. Studies have shown the improved performance due to subgoals.
4.2.3 Artificial potential fields
Potential field navigation is a cornerstone paradigm for robotics. This method of employing artificial forces to navigate autonomous sensor-based agents was developed by the pioneering research of Khatib [177]. He developed this method in his doctoral dissertation for arm manipulators which was later extended it to mobile robots [178]. This approach was
FIGURE 4.4 Classifying obstacles.Testing out an algorithm against various types of obstacles is one of the ways to ensure and improve its performance [34]. The discussion can be brought down to broadly seven types of obstacles, (1) flat obstacle, (2) shallow concave obstacle, (3) moderately concave obstacle or C-type, (4) highly concave obstacle, (5) extended C-type or U-type obstacle, (6) circumscribed obstacle and (7) spiral obstacles. Sophistication in the algorithm, higher complexity and more computational resource are needed for at least the last three types of obstacles.
139
FIGURE 4.5 The brunt of optimality.Optimality is hardly achieved in autonomous navigation, as shown in (1) the dotted line from point A to point B is the optimum distance, however this path between the two obstacles is very narrow, and without a second layer of global planning or remote human control it can easily get lost. It also faces safety issues where any extended part of the robot such as arms or antennae etc. can get smashed into the walls. Therefore the longer path shown by the continuous line is favoured. In an optimal path, as shown in (2), where the robot traces the path from A to B, from the edge of one obstacle to another, until goal point is reached via five short dotted line segments, this is similar to concepts of the visibility graph but it will not be the natural explorative action of an agency, and in a motion like this the robot will run the risk of crashing into the obstacle. Optimality starts to matter if the robot is repeating a navigational circuit or a known number of behaviour(s) in a restricted situation, such as a guard dog robot.
Machine learning techniques help to enhance performance and thus attain optimal performance.
FIGURE 4.6 x,y andθ, are the parameters needed to represent a mobile robot moving in a plane.
θ has been referred in as pose, heading angle and angle of orientations by researchers. For non holonomic systems as a car, the above represents incomplete information as the car can change its trajectory by changing the orientation of its wheels by steering.
FIGURE 4.7 Divide and conqueris a popular technique and can be classified as shown. Divind the space can be done as a dynamic decomposition which is on the run such as dynamic bubble and dynamic window techniques which are structured on sophisticated algorithms, or as static decomposition which is more or less a priori, such as simple grid based methods, Voronoi diagrams, Trapezoidal decomposition etc. Using subgoals [34, 346] with a known reactive technique as potential field method or ND navigation has helped to maintain some simplicity and yet on the run performance. ND diagram is based on situated activity and has been hugely successful in two-dimension navigation contained to a plane.