CSC 4120/6120 Introduction to Robotics Path...
Transcript of CSC 4120/6120 Introduction to Robotics Path...
![Page 1: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/1.jpg)
CSC 4120/6120Introduction to Robotics
Ashwin Ashok [email protected]
TA: Yashaswini [email protected]
Path Planning
![Page 2: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/2.jpg)
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/
![Page 3: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/3.jpg)
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
![Page 4: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/4.jpg)
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!
![Page 5: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/5.jpg)
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
![Page 6: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/6.jpg)
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
![Page 7: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/7.jpg)
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.
![Page 8: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/8.jpg)
Beam-based Sensor Model• Scan z consists of K measurements.
• Individual measurements are independent given the robot position.
},...,,{ 21 Kzzzz =
Õ=
=K
kk mxzPmxzP
1
),|(),|(
![Page 9: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/9.jpg)
Beam-based Sensor Model
Õ=
=K
kk mxzPmxzP
1
),|(),|(
![Page 10: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/10.jpg)
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
![Page 11: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/11.jpg)
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.
![Page 12: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/12.jpg)
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
![Page 13: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/13.jpg)
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
![Page 14: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/14.jpg)
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
![Page 15: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/15.jpg)
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
![Page 16: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/16.jpg)
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.
![Page 17: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/17.jpg)
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
![Page 18: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/18.jpg)
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
![Page 19: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/19.jpg)
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
![Page 20: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/20.jpg)
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
![Page 21: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/21.jpg)
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)
![Page 22: CSC 4120/6120 Introduction to Robotics Path Planningmobile.cs.gsu.edu/aashok/courses/csc4120/lectures/2-PathPlanning.… · CSC 4120/6120 Introduction to Robotics Ashwin Ashok aashok@gsu.edu](https://reader033.fdocuments.us/reader033/viewer/2022042807/5f7fb63651703b2751255f0a/html5/thumbnails/22.jpg)
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