Mobile Robots Automated Guided Vehicles (AGVs) Autonomous Planes Wheeled Autonomous Planes Model planes! Autonomous Underwater Vehicles (AUVs) Submarine Balancing Robots Inverted pendulum Double inverted pendulum Legged Walking Robots Multi-pedal Bipedal
AGV Designs Drives Two main configurations Single wheel drive One wheel does driving and steering Synchro drive Extension of single wheel drive to more than one wheel with each doing driving and steering but still only two motors Differential drive Two driven wheels, one on each side, allow differential steering Tracked robots A special case of differential drive with caterpillar tracks instead of wheels Ackermann steering Rear wheels drive and front do steering Two main configurations Tractor pulling trucks Load-bearing vehicle
AGV Navigation A mobile robot constitutes a moving frame of reference Position and orientation are determined with respect to some fixed frame of reference Three ways to provide the fixed frame of reference Off-Board Fixed Paths On-Board Programmable Paths On-Board Mapping
Off-Board Fixed Paths Wire guided Painted line guided Most widely used Buried cable loops each carrying a different a.c. frequency AGV follows a sequence of frequencies which take it from one loop to another Can navigate from a start point to an end point via the loops Painted line guided Similar idea to wire guided Lines painted with different fluorescent dyes Photosensors used to identify the different wavelengths Easier to modify than wire guided
On-Board Programmable Paths These permit AGVs to be free-ranging rather than having to follow prescribed routes Techniques used include Dead reckoning Optical encoders on drive shafts Reference beacons On-board device continuously monitors position w.r.t. beacons Inertial navigation Gyroscopes Imaging Cameras
On-Board Mapping Maps created from Optical data Ultrasonic data AGV uses its sensors to locate itself and guide it towards a goal position Map data structure Balance needed between accurate representation of tricky parts of environment and efficiency of representation for bland parts Route finding and path planning algorithms needed Navigation methods Landmark navigation Place recognition
Ideal Map Data Structure The ideal data structure for a map should - 1. Support both global and local maps 2. Maximise accuracy of environment 3. Store complex shapes efficiently 4. Store homogeneous space efficiently 5. Minimise amount of heterogeneous (ambiguous) space 6. Facilitate traversal between map areas representing adjacent real world spaces 7. Provide parsimonious data structures for storing fixed paths 8. Support efficient algorithms for path planning, route navigation, etc.
Map Representations Free-space maps Object-space maps Spatial graphs Voronoi diagrams Delaunay triangulation Generalised Voronoi diagrams Object-space maps Vertex graphs Composite-space maps Area grids Point grids Quadtrees
Map Creation Example Consider the following floor plan -
Free-Space Map Creation I We first create the spatial graph of the sensing points -
Free-Space Map Creation II Next we create the Voronoi diagram of the spatial graph -
Free-Space Map Creation III Alternatively we can perform a Delaunay Triangulation -
Free-Space Map Creation IV Then we can create the Generalised Voronoi diagram -
Object-Space Map Creation Vertex graphs can be used to build the map A vertex graph can be as simple as a linked list of vertex co-ordinates We first form ordered lists of vertices for each object Then we form a list of objects I.e. a list of lists of co-ordinates The number of vertices that represent an object can be increased or decreased to obtain the required resolution
Composite-Space Map Creation I Area grids Point grids
Composite-Space Map Creation II Quadtrees break a 2D area down by quarters Form a tree with four children to each node If the area represented by a child is all free space label it F, if it is all object space label it O, then stop Otherwise quarter it further
Path Planning A shortest path problem The map is used to generate possible paths from start to goal An algorithm such as A* is then used to select the shortest path We shall look at how Free-space Object-space Composite-space Multi-resolution mapping systems can be used in path planning for mobile robots
Free-Space Planners Voronoi diagram identifies paths by a succession of regions labelled “clear” Generalised Voronoi diagram identifies paths along the edges of the regions Both approaches direct the AGV down the centre of free- space corridors which is not efficient Piano-mover’s problem
Object-Space Planners Paths are a series of vectors connecting vertices in the vertex graph We shrink the AGV to a point and expand the objects by the AGV diameter We seek the shortest path made up of vertices in the vertex graph which gets to the goal Problems are Paths pass close to corners Paths run along object edges Adding tolerances to objects causes further problems
Composite-Space Planners Simplest use regular grids Area grids yield centre points which become the ends of path segments All grid planners suffer from 2 big problems Missed paths Crooked paths A grid spacing equal to the AGV’s size in an 8-connected grid can mitigate against missing paths but large storage requirements result Grid points can occur in corridors too narrow for the AGV Crooked paths need path relaxation
Quadtrees and other Multi-Resolution Planners AGV shrunk and objects expanded then resulting space described by quadtree Leaf nodes containing Start and Goal positions are identified Minimum cost path from S to G found with A*, etc. Cost is a function of Distance travelled (minimise) Object clearance (maximise) Adjacency information not stored in a quadtree so a complete search of the leaf nodes is needed
Task Planning and Manipulators Gross motion planning - Collision free movements in space Comprised of Path planning Selecting the route to take Trajectory planning Constrained by Time Mechanics Computation Fine motion planning - Possibility of damaging contact Accurate models Compliant motion Sensor-based
Compliant Motions Touching Inserting Pushing Grasping E.g. Placing a peg in a hole Slide peg along surface until it drops into hole Pushing E.g. Picking up a thin object Slide gripper up to object and push it until it aligns in gripper Grasping Ensuring sensible grasp points for both the start and end of the transfer