1 / 32

# Thinking about space - PowerPoint PPT Presentation

Robotics Bridgewater State College Spring 2005. Thinking about space. Thinking about space. Brooks once claimed unnecessary But for complex tasks found necessary. Can't go from here to your car without thinking about the space and obstacles in between.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Bridgewater State College

Spring 2005

• Brooks once claimed unnecessary

• But for complex tasks found necessary.

• Can't go from here to your car without thinking about the space and obstacles in between.

• No planning done without thinking about space

• Easiest way of internal representation

• Use a map.

• Needed for

• “free space”

• Recognize regions or locations in environment

• Recognize objects in environment

• Let environment represent itself.

• All planning and manipulation of environment take place on real environment at given time.

• Plans only based on instantaneous immediate sensor input.

• If internal representation

• What are the primitives?

• Objects? Features? Symbolic entities? Spacial occupancy? etc?

• Simple method:

• Divide the space into equal sized squares

• Decide for every square, is this square free or filled.

• Could implement with 2d array.

• bitmap/occupancy grid

• Space considerations (how much?)

• Plus side- General

• Can also add other information like confidence, terrain info etc.

• Cells that are all the same still represented separately

• Wastes lots of space

• Can't similar pixels be compressed?

• Recursive data structure.

• Represents square 2-D region

• Hierarchical

• May reduce storage

• Large spaces of occupied or unoccupied space

• Scattered spaces – storage no better than occupancy grid.

• Worst case worse than occupancy since extra overhead.

• Base-2 nice for decisions.

• Binary Space Partitioning trees.

• Usually in computer graphics.

• Useful for 2d spaces

• Free space divided into regions by lines parallel to outside edge.

• Each boundary divide cell into two – but not necessarily evenly.

• Arbitrary division point

• No unique BSP-tree for a given space.

• Subdivide space into several non-overlapping regions.

• Union of parts is exactly the whole space.

• Non-overlapping not necessary, but convenient

• End spatial decomposition methods.

• Spatial decomposition can use a lot of memory

• Describe world in terms of simple geometric shapes, points, line, polygons and circles.

• Will assume 2d representation since we don't have manipulators

• Key components

• Set of primitives for describing objects

• Set of composition and deformation operators to manipulate objects

• Lack of stability

• Representation changes a lot from small input change.

• Lack of expressive power

• Different environments map to same representation

• Difficult (impossible) to represent salient features in modelling system.

• Models may approximate input

• Express single set of observations more than one way.

• Minimal descriptive length

• Associate cost with each model and attempt to find single model that minimizes cost.

• Minimize problems by adding stabilizer

• Prefer longer line segments.

• And parallel to other directions.

• Prefer models that are more compact possible for set of data points.

• Prefer models with uniform curvature.

• Noisy data -> hard to make good geometry

• Humans seem to use more topological approach,

• So how about for robots

• Cognitive science approach

• Key to topological:

• Some explicit representation of connectivity between two places

• May have no “metric data” at all.

• Abstract the environment

• Descrete spaces connected by edges

• Represent as graph

• G = (V, E)

• V: Set of nodes; E: set of edges that connect them.

• Book example of ceiling mounted landmarks

• Airplane travel.

Part IIRepresenting the robot in space

• Up to now,

• just concerned with representing the world

• But need to represent the robot in the world.

• Now let's represent the robot.

• Configuration space formalism

• Specification for physical state of robot relating to fixed environmental frame

• For simple rigid robot that can move and turn on flat surface but has no limbs

• Configuration q=[x,y,

• What does this remind you of from mobility?

• Contraints prohibit robot from entering some areas

• Circular robot with radius r can't go closer to any object than distance r

• Written as G(q)=0 where q is the pose

• Holonomic constraint

• Any constraint that does not involve velocity

• For any real world obstical – can expand to set of points and solve to keep the robot's pose correct.

• Non-holinomic Contraints

• Contraints on what velocities are allowed

• Much more difficult to calculate.

• Getting from point A to point B without complete pose control

• Parallel parking

• Backing a tractor trailor truck.

• Free flying robots (conservation of angular momentum.

• C-space Search path can get large.

• Point-robot assumption

• Assume robot is a point capable of omni-directional movement

• Physics jokes?

• But robotics: so have to make up for this

• Do so with object dilation

• Show on board.

• Now we've covered

• representing space

• Representing robot in space

• Now plan motion

• Big field – entire book written just on path planning for robots

• Skim surface.

• Want to get from point A to point B

• Often want minimum length path.

• Sometimes minimum cost path

• Not always the same

• Rochester NY example.

• Path curvature

• Obsicles

• Anytime algorithms

• “safe paths”

• “standard” planning basic assumptions:

• Rigid robot A

• Static, known environment W

• Robot domain is euclidean (we'll use 2-d space)

• Known set of obsticles in W: B1 B2 ... Bq

• Robot travels in straight line segments perfectly

• Environment and robot

• Different techniques are needed for different robot capabilities

• Soundness: is the planned path guaranteed to be collision free?

• Complete: if a path exists is is guaranteed to be found?

• Optomality: cost of path found vs. best path

• Space and time complexity.

• Basic graph search learned in most CS classes

• If you have a topological graph

• Start from initial node, expand that node

• Found goal? If not, choose one of the nodes on OPEN and put start node on CLOSED list.

• Depth-first / Breadth-first / A* search

• Evaluation function f(n)

• n is a node on the graph

• Smaller values of f(n) means n more likely to be on optimal path.

• Choose node with smallest value of f(n)

• Assume no 0 or negative values for f(n) (every move costs something)

• F(n) = g(n)+h(n)

• G(n) is estimated cost from start to n

• H(n) is estimated cost from n to goal

• Procedure GraphSearch(s, goal)

• OPEN := {s}.

• CLOSED :={}.

• Found := false.

• OPEN := OPEN – {n}.

• CLOSED := CLOSED  {n}

• If n ∈ goal then

• found := true

• else

• OPEN := OPEN  M. (where M is set of all nodes directly accessible from n)

• Use G(n) as upper bound on cost thus far

• maximize g(n)

• Use h(n) as lower bound on cost of time to go

• Underestimate cost remaining

• Will find optimal path to goal.

• Solution must adhere to Bellman's principle

• Given points A, B, C

• Optimal path from A to B through C found by optimal path from A to C and optimal path from C to B

• Create “cost table” for moving from place to place till have a good solution to end point.

• Use heuristics to not create entire cost table.

• V-Graph

• Technique produces minimum length path

• Through graph traversal.

• Defined:

• G=(V, E) such that V is made up of union of all verticies of polygonal obsticles as well as start and end points of path.

• Edges of graph connect all vertices that are visible to one another.

• Once V-Graph setup

• Have graph whose edges can be traversed w/out hitting anything

• Start and goal nodes are included in verticies

• So can travel from start to goal w/out hitting anything

• Can search graph in time O(N2) on the number of verticies.