DOC PREVIEW
UMD CMSC 421 - Robotics

This preview shows page 1-2-3-26-27-28 out of 28 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Last update: May 6, 2010RoboticsCMSC 421: Chapter 25CMSC 421: Chapter 25 1What is a robot?A machine to perform tasks♦ Some level of autonomy and flexibility, in some type of environment♦ Sensory-motor functions- Locomotion on wheels, legs, or wings- Manipulation with mechanical arms, grippers, and hands♦ Communication and information-processing capabilities- Localization with odomoters, sonars, lasers, inertial sensors, GPS, etc.- Scene analysis and environment modeling with a stereovision systemon a pan-and-tilt platformReasonably mature technology when robots restricted to either♦ well-known, well-engineered environments (e.g., manufacturing)♦ performing single simple tasks (e.g., vacuum cleaning, lawn mowing)For more diverse tasks and open-ended environments, robotics remains avery active research fieldCMSC 421: Chapter 25 2Examples of Mobile RobotsCMSC 421: Chapter 25 3Examples of ManipulatorsCMSC 421: Chapter 25 4Examples of SensorsRange finders: sonar (land, underwater), laser range finder, radar (aircraft),tactile sensors, GPSImaging sensors: cameras (visual, infrared)Proprioceptive sensors:shaft decoders (joints, wheels),inertial sensors, force sensors, torque sensorsCMSC 421: Chapter 25 5Hand-coding of robot controllersManual development of a robot controller for a specific taskTo do hand-coding reliably and inexpensively, need♦ well-structured, stable environment♦ restrictions on the scope and diversity of the robot’s tasks♦ only a limited human-robot interactionDeveloping the reactive controller♦ Devices to memorize motion of a pantomime♦ Graphical programming interfacesCMSC 421: Chapter 25 6Automated robot controllersIntegrate planning, acting, sensing, learningNead to deal with♦ heterogeneous partial models of the environment and of the robot♦ information acquired through sensors and communication channels♦ noisy and partial knowledge of the stateSpecialized algorithms for different types of tasks:♦ Path and motion planning♦ Perception♦ Navigation♦ Motor controlCMSC 421: Chapter 25 7Path PlanningPath planning: find geometric path from starting position to goal position♦ Input: geometric model of the environment (obstacles, free space)♦ Solution path must avoid collision with obstacles• must also satisfy the robot’s kinematic (movement) constraintsconf-3conf-1conf-2startgoalCMSC 421: Chapter 25 8Motion PlanningMotion planning: find a trajectory that’sfeasible in both space and time♦ Need a feasible path(relies on path planning)♦ Also need a control policy thatsatisfies the robot’s speedand acceleration constraintsTechnology for path planning and motion planning is relatively mature♦ Deployed in areas such as CAD and computer animation♦ Computational geometry and probabilistic algorithmsCMSC 421: Chapter 25 9Configuration parametersConfiguration parameters: the numbers that specify the robot’s current stateθ(x, y)Three parameters: x, y, θ Seven parameters10 parameters: 6 for arm,4 for platform & trailer52 parameters:2 for the head7 for each arm6 for each leg12 for each handCMSC 421: Chapter 25 10Configuration parametersq = the configuration of the robot = an n-tuple of realsCS = the robot’s configuration space = {all possible values for q}The configuration parameters aren’t independentE.g., can’t change θ without changing x and yCSfree = free configuration space (configs that don’t collide with obstacles)CSfree can be quite complicatedCMSC 421: Chapter 25 11Motion PlanningIn ordinary geometric space, the robot occupies a regionIn configuration space, it occupies a pointIdea: do path planning in configuration spaceFind a path in CSfree from an initial config qito a final config qgconf-3conf-1conf-2conf-3conf-2conf-1wwelbshouCMSC 421: Chapter 25 12Dealing with the configuration spacen-dimensional space, where n = number of configuration parametersEach parameter is a real number ⇒ ∞npossible statesFor state-space search, convert to a finite state space.Cell decomposition:♦ Divide up space into simple cells, such thateach of them can be traversed “easily” (e.g., convex)♦ Find a path through the pure freespace cells(the ones that don’t contain any part of an obstacle)Skeletonization: identify a finite number points/lines that form a graphWant a graph such that any two points can easily be connectedby following a path on the graphCMSC 421: Chapter 25 13Cell decomposition exampleconf-3conf-2conf-1wwelbshoustartgoalHow many cells, how large?♦ Large number of small cells ⇒ large computation time♦ Small number of large cells ⇒ no path through pure freespaceSolution: recursively decompose mixed (free+obstacle) cells into smaller cells♦ quadtreesCMSC 421: Chapter 25 14Skeletonization: Voronoi diagramVoronoi diagram: locus of points equidistant from obstaclesProblem: doesn’t scale well to higher dimensionsCMSC 421: Chapter 25 15Skeletonization: Probabilistic RoadmapProbabilistic roadmap R:1. generate random points in CS,and keep the ones in CSfree2. create graph by joining eachadjacent pair p1, p2by a lineL(p1, p2)To keep things simple, we’ll usestraight linesMore generally, the lines mightbe curved, in order to satisfy therobot’s kinematic constraintsR is adequate if it contains enough points to ensure that every start/goalpair is connected through the graphCMSC 421: Chapter 25 16Path planning with roadmapsGiven an adequate roadmap for CSfree and two configurations qiand qginCSfree, a feasible path from qito qgcan be found as follows:♦ Find configuration q0iin R such that L(qi, q0i) is in CSfree♦ Find configuration q0gin R such that L(qg, q0g) is in CSfree♦ In R, find a path from q0ito q0g♦ The planned path is the finite sequence of line segments between themDo postprocessing to optimize and smooth the pathThis reduces path planning to a simple graph-search problem,plus collision checking and kinematic steeringCMSC 421: Chapter 25 17When is a roadmap adequate?The property we want: whenever there’s apath in CSfree from qito qg, the roadmapcontains a path from q0ito q0gThe coverage of a configuration q isD(q) = {q0∈ CSfree | L(q, q0) ⊆ CSfree}i.e., every point that can be reached by astraight line from qThe coverage of a set of configurations Q = {q1, q2, . . . , qn} isD(Q) = D(q1) ∪ D(q2) ∪ . . . ∪ D(qn)R is adequate if R is connected and D(vertices(R)) = CSfreeCMSC 421: Chapter 25 18Generating an adequate roadmap♦ Easier to use probabilistic techniques


View Full Document

UMD CMSC 421 - Robotics

Download Robotics
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Robotics and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Robotics 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?