CSC 4120/6120 Introduction to Robotics Path...

Post on 30-Jul-2020

7 views 0 download

transcript

CSC 4120/6120Introduction to Robotics

Ashwin Ashok aashok@gsu.edu

TA: Yashaswini Vishwanathyvishwanath1@student.gsu.edu

Path Planning

Welcome!

• CSC 4120/6120: Introduction to Robotics– M-W 5:30-7:15pm (Langdale 517)

• Instructor: Ashwin Ashok– Office hrs: Wed 4.15-5.15pm (Room 734@25 Park Place)

• TA: Yashaswini– Office hrs: Th 3.30-5.30pm, Room 650@25 Park Place

• Course Materials on Course Website– http://mobile.cs.gsu.edu/aashok/courses/csc4120/

Course Structure• Modular design of a terrestrial robot• 1 kit provided per student• Evaluation of Module through in-class demonstration bi-

weekly on Wednesdays – Complete the module exercises– Complete (design and demonstrate) 2 Assigned

Problems/Questions in each Module (Module 2-5)– Complete 2 projects (Module 6 and 7)

• Project 1: Same project assigned for all• Project 2: Each student proposes their idea and implements

• Separate curves for undergraduate and graduate students

Plagiarism and Grades

• Don’t covet thy neighbor’s code!• We use code checker

– Across all submissions– All submissions in the previous editions of the class– You will get caught!

• Collaboration– Discuss ideas– When in doubt, check with instructors

• Copying results in an F grade• Grades are final – please discuss any grade

requirements you have early and not after the final project demonstration!

Timeline• Monday, Sep 23

– 100% lecture• Wednesday, Sep 25

– 50% assignment description– 50% module in-class workout (Module 3: posted on website)

• Monday, Sep 30– In class working and discussion– Resolve issues/clarifications– Can do early demonstration for preliminary feedback

• Wednesday, Oct 2– Dr. Ashok will be travelling: No office hours that day.– Each student will demonstrate to the TA in class– Module 3: 2 assigned problems– No extensions: those demonstrating on Thu to the TA will be

penalized 2pts

Sensors for Mobile Robots• Contact Sensors: Bumpers• Internal Sensors

– Accelerometers (spring-mounted masses)– Gyroscopes (spinning mass, laser light)– Compasses, inclinometers (earth magnetic field, gravity)

• Proximity Sensors– Sonar (time of flight)– Radar (phase and frequency)– Laser range finders (triangulation, Time-of-Flight, phase)– Infrared (intensity)

• Visual Sensors: Cameras• Satellite-based sensors: GPS

Proximity Sensors

• The central task is to determine P(z|x), i.e., the probability of a measurement z given that the robot is at position x.

• Question: Where do the probabilities come from?• Approach: Let’s try to explain a measurement.

Beam-based Sensor Model• Scan z consists of K measurements.

• Individual measurements are independent given the robot position.

},...,,{ 21 Kzzzz =

Õ=

=K

kk mxzPmxzP

1

),|(),|(

Beam-based Sensor Model

Õ=

=K

kk mxzPmxzP

1

),|(),|(

Typical Measurement Errors of an Range Measurements

1. Beams reflected by obstacles

2. Beams reflected by persons / caused by crosstalk

3. Random measurements

4. Maximum range measurements

Proximity Measurement• Measurement can be caused by …

– a known obstacle.– cross-talk.– an unexpected obstacle (people, furniture, …).– missing all obstacles (total reflection, glass, …).

• Noise is due to uncertainty …– in measuring distance to known obstacle.– in position of known obstacles.– in position of additional obstacles.– whether obstacle is missed.

Dead Reckoning

– Estimates a position based on the change from a previous position

– Does not require maps or outside references

– Utilizes sensor data and the precise physical measurement of the robot

Humans and Dead Reckoning

– Humans can estimate their position by counting their steps and multiplying by the size of each step

– Most people, however, estimate their distance traveled based on how long they have been walking and how fast they typically walk

Robots and Dead Reckoning– For precise positioning, GPS and other external localization aides

can be insufficient

– Additionally many robots operate in areas where there are limited environmental cues to aid in positioning

– Dead reckoning is a technique that is employed by robots in these scenarios

– When to use?– When external references are noisy or imprecise– When positioning systems (GPS) are unavailable or

unreliable

– Important sensors– (Accelerometer, Gyroscope, Compass), Motor Encoders

Basic Dead Reckoning

– xt is the position of the robot at the current time

– x0 is the position of the robot at the previous step

– v is the velocity of the robot

– t is the duration between updates

Probabilistic Dead Reckoning

– If the previous position and velocity are not known precisely, they are often expressed as random variables

– Probability can be used to define the uncertainty of these measurements.

Cumulative Errors

– Center of each circle is the prediction position at each time step

– Size of the circle depicts the uncertainty of the prediction

– As the robot continues to move, the uncertainty increases

Real World

Sensing

Information Extraction

Perc

epti

on

raw-data

Localization Mapping

environmental model local map

CognitionPath Planning

“position”global map

Acting

Path Execution

Mot

ion

Cont

rol

Actuator commands

path

Mission commands

Knowledge, database

Robot Autonomy Architecture

Motion Planning in Robotics

• State space and obstacle representation• Workspace• Configuration space

• Global motion planning• Optimal control• Deterministic graph search• Potential fields• Probabilistic/randomized approaches

• Local collision avoidance• BUG• VFH

Motion Planning Problem

• Problem: find the path in the workspace from an initial location to a goal location avoiding all collisions with obstacles

• Assumption: There exists a good map of the environment for navigation

Motion Planning

• Generally, we distinguish between• Path planning (global)• Obstacle avoidance (local)

•ALGORITHM1. Transform map into a representation useful for

planning (planner dependent)2. Plan a path on the transformed map3. Send motion commands to controller (planner

dependent)

Where is the robot?

• Localization

Common algorithms• TRIANGULATIONRelies on angle (bearing) measurements � Minimum of two bearing lines (and the locations of anchor nodes or the distance between them) are needed for two-dimensional space

• TRILATERATIONRelies on measured distances between a node and a number of anchor points with known locations