31
CS6370/ME6225 CS6370/ME6225 Geometric Geometric Computation for Computation for Motion Planning Motion Planning Instructor: David Johnson Instructor: David Johnson [email protected] [email protected]

CS6370/ME6225 Geometric Computation for Motion Planning Instructor: David Johnson [email protected]

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

CS6370/ME6225CS6370/ME6225

Geometric Computation Geometric Computation for Motion Planningfor Motion Planning

Instructor: David JohnsonInstructor: David Johnson

[email protected]@cs.utah.edu

Why This CourseWhy This Course

• What do you want to get out of this?What do you want to get out of this?

StudentsStudents

Why This CourseWhy This Course

• What do you want to get out of this?What do you want to get out of this?

StudentsStudents MeMeUnderstand common planning methods

Appreciate underlying theory

Better programmer and/or learn Matlab

Use geometry to solve/simulate problems

Practice reading and reporting scientific results

Better applied mathematics

Become part of your research endeavors

Help form a chapter in your thesis

Write a paper with you

SyllabusSyllabus

• Check class web page for updatesCheck class web page for updates

http://www.eng.utah.edu/~cs6370http://www.eng.utah.edu/~cs6370

OfficeOffice

• 2875 WEB ph# 585-17262875 WEB ph# 585-1726

Bridge

2875 WEB

Bioengineering front office

Course TopicsCourse Topics

• Motion PlanningMotion Planning

• Geometric ComputationGeometric Computation

Course StructureCourse Structure

• Somewhat historical view of motion Somewhat historical view of motion planningplanning– 2D algorithms – geometry based2D algorithms – geometry based– Sensor-based systemsSensor-based systems– Randomized algorithmsRandomized algorithms

• Higher DOF systems

– Probabilistic approachesProbabilistic approaches• Handle sensor noise

– Geometric algorithms as neededGeometric algorithms as needed

Geometric ComputationGeometric Computation

• Applies toApplies to– RoboticsRobotics– VRVR– HapticsHaptics– SimulationSimulation– AnimationAnimation

Goal of Motion PlanningGoal of Motion Planning

• Compute motion strategies, e.g.:Compute motion strategies, e.g.:– geometric paths geometric paths – time-parameterized trajectoriestime-parameterized trajectories– sequence of motion commandssequence of motion commands

• To achieve high-level goals, e.g.:To achieve high-level goals, e.g.:– go to A without colliding with obstaclesgo to A without colliding with obstacles– assemble product Passemble product P– build map of environment Ebuild map of environment E– find object Ofind object O

Basic ProblemBasic Problem

• Inputs:Inputs:– Geometry of robot and obstaclesGeometry of robot and obstacles– Kinematics of robot (degrees of freedom)Kinematics of robot (degrees of freedom)– Initial and goal robot configurations Initial and goal robot configurations

(placements)(placements)

• Output:Output:– Continuous sequence of collision-free robot Continuous sequence of collision-free robot

configurations connecting the initial and goal configurations connecting the initial and goal configurationsconfigurations

ExamplesExamples withwith RigidRigid ObjectObject

• Piano Mover’s ProblemPiano Mover’s Problem– 3D environment3D environment

• Obstacles stationary and positions known

– Piano can translate and Piano can translate and rotaterotate

– Path planned in advancePath planned in advance• Perfectly followed

ExampleExample withwith ArticulatedArticulated ObjectObject

Generalized Mover’s problem

Motion Planning vs Path Motion Planning vs Path PlanningPlanning

• AERCam Sprint and AERCam Sprint and minimini

• Need to plan for Need to plan for velocities velocities – Limited forcesLimited forces

• Create a trajectoryCreate a trajectory– Path parameterized by Path parameterized by

timetime

SomeSome ExtensionsExtensions ofof BasicBasic ProblemProblem

• Moving obstaclesMoving obstacles• Multiple robotsMultiple robots• Movable objectsMovable objects• Assembly planningAssembly planning• Goal is to acquire Goal is to acquire

information by sensinginformation by sensing– Model buildingModel building– Object finding/trackingObject finding/tracking– InspectionInspection

• Nonholonomic Nonholonomic constraintsconstraints

• Dynamic constraintsDynamic constraints• Stability constraintsStability constraints• Optimal planningOptimal planning• Uncertainty in model, Uncertainty in model,

control and sensingcontrol and sensing• Physical models and Physical models and

deformable objectsdeformable objects

Examples of ApplicationsExamples of Applications

• Application to many areasApplication to many areas

• Not just a mobile robot trying to reach Not just a mobile robot trying to reach some destinationsome destination

Assembly Planning and Design Assembly Planning and Design of Manufacturing Systemsof Manufacturing Systems

InspectionInspection

• Places Humans cannot goPlaces Humans cannot go• Tedious tasksTedious tasks• http://www.youtube.com/watch?v=E0oN9yz5pTwhttp://www.youtube.com/watch?v=E0oN9yz5pTw

Navigation Through Virtual Navigation Through Virtual EnvironmentsEnvironments

[Cheng-Chin U., UNC, Utrecht U.]

ApplicationsApplications

• Building code simulationBuilding code simulation– StadiumsStadiums– Office buildingsOffice buildings– http://www.youtube.com/watch?v=ixTiuLwlLSc&feature=relatedhttp://www.youtube.com/watch?v=ixTiuLwlLSc&feature=related

Radiosurgical PlanningRadiosurgical Planning

Cross-firing at a tumor Cross-firing at a tumor while sparing healthy while sparing healthy

critical tissuecritical tissue

Study of Study of the Motion of Bio-Moleculesthe Motion of Bio-Molecules

• Protein folding• Ligand binding

Home ApplicationsHome Applications

• How to How to effectively effectively clean?clean?– coveragecoverage

Some Basic Planner ClassificationsSome Basic Planner Classifications

• TaskTask

• Robot PropertiesRobot Properties

• Algorithm PropertiesAlgorithm Properties

TaskTask

• NavigationNavigation

• CoverageCoverage

• LocalizationLocalization

• MappingMapping

Robot PropertiesRobot Properties

• Degrees-of-freedomDegrees-of-freedom

• Velocity constraintsVelocity constraints– Nonholonomic robotNonholonomic robot

• Dynamic ConstraintsDynamic Constraints– TorqueTorque– AccelerationAcceleration

• Robot GeometryRobot Geometry

Algorithm PropertiesAlgorithm Properties

• OptimalityOptimality– Path lengthPath length– Execution timeExecution time– EnergyEnergy

• Computational complexityComputational complexity– Memory, CPU resourcesMemory, CPU resources

• CompletenessCompleteness– Always find a solution or prove impossible in finite Always find a solution or prove impossible in finite

timetime

• Offline or sensor-based Offline or sensor-based

About Me!About Me!

• Ph.D from CS Department at UtahPh.D from CS Department at Utah• InstructorInstructor

– Motion PlanningMotion Planning– Virtual RealityVirtual Reality– Explorations in CSExplorations in CS

• ResearcherResearcher• OutreachOutreach

– CS/Robotics summer campCS/Robotics summer camp– First Lego League in UtahFirst Lego League in Utah

My Research InterestsMy Research Interests

• Geometric algorithms and their Geometric algorithms and their applicationsapplications

• Dissertation on force-feedback interfacesDissertation on force-feedback interfaces

• Recent problem areas are symbolic Recent problem areas are symbolic solvers, path planning, optimization, CAD solvers, path planning, optimization, CAD design, and algorithms for biology.design, and algorithms for biology.

Motion PlanningMotion Planning

Deformable RobotDeformable Robot Non-holonomic MotionNon-holonomic Motion

Questions?Questions?