CSC 4120/6120Introduction to Robotics
Ashwin Ashok [email protected]
TA: Yashaswini [email protected]
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