- By
**lea** - Follow User

- 114 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'Thinking about space' - lea

**An Image/Link below is provided (as is) to download presentation**

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

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.
- No planning done without thinking about space

Representing Space

- Easiest way of internal representation
- Use a map.

- Needed for
- Knowing where to go/navigation
- “free space”

- Recognize regions or locations in environment
- Recognize objects in environment

- Knowing where to go/navigation

How does robot represent 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?

- What are the primitives?

Decomposing space.

- 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.

Occupancy grid storage

- Cells that are all the same still represented separately
- Wastes lots of space
- Can't similar pixels be compressed?

Quad Tree

- 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.

- May reduce storage

BSP-tree

- 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.

Exact division

- 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.

Geometric modelling

- Spatial decomposition can use a lot of memory
- Geometric maps one answer
- 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

Shortcomings

- 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.

Lack of uniqueness

- 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.

Stabilizer

- Minimize problems by adding stabilizer
- Discard outlying data points
- 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.

Topological Representations

- 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.

Topological Reps II

- 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

- 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?

C-Space constraints

- 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

- 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.

- Contraints on what velocities are allowed

Simplification

- 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.

Path Planning

- 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.

Path Planning Summary

- 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

- Not always the same
- Obsicles
- Anytime algorithms
- “safe paths”

Standard Path Planning

- “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

Evaluating Planning Techniques

- 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.

Graph Search

- Basic graph search learned in most CS classes
- If you have a topological graph
- Start from initial node, expand that node
- Add adjacent nodes to OPEN list
- Found goal? If not, choose one of the nodes on OPEN and put start node on CLOSED list.

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

- Start from initial node, expand that node

- If you have a topological graph

Optimizing 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

GraphSearch Procedure

- Procedure GraphSearch(s, goal)
- OPEN := {s}.
- CLOSED :={}.
- Found := false.
- While (OPEN ≠Ø) and (not found) do
- 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)

A* search

- 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.

Dynamic Programming

- 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.

Visibility Graph planning.

- 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.

- Technique produces minimum length path

V-Graph planning II

- 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.

To Be continued

- More Navigation next time.

Download Presentation

Connecting to Server..