OpenStack CE Technology Review & Demo Egan Ford IBM Distinguished Engineer [email protected]
A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen...
-
Upload
kevin-gallagher -
Category
Documents
-
view
217 -
download
0
Transcript of A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen...
![Page 1: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/1.jpg)
A Framework for use in SLAM algorithms
Principle Investigator: Shaun EganSupervisor: Dr. Karen Bradshaw
![Page 2: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/2.jpg)
SLAM is a family of algorithms
![Page 3: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/3.jpg)
![Page 4: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/4.jpg)
![Page 5: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/5.jpg)
SLAM
State UpdateLandmark Tracking (Dead
reckoning)
Landmark Extraction
Data Association
Pose Tracking
Odometry
![Page 6: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/6.jpg)
CountLeft CountRight
Odometry Algorithm
![Page 7: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/7.jpg)
Change in wheel position:
β π=βππΞ π
Change in heading:
c: encoder countd: wheel diameteri: increments per tour
β π=(βπ ββ π)
ππ
r: right encoder countl: left encoder counta: axis wheel rationd: wheel diameter
Average heading:
π=βπβ0.5+π π ast known heading
New robot position and heading
))
y=π¦+((βππ+βππ )β0.5sin (π ))
![Page 8: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/8.jpg)
The problem with ultrasonic range detection
The answer?
![Page 9: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/9.jpg)
Range scans Triangulation
![Page 10: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/10.jpg)
Triangulation
1. Add current sensor information to the sliding window2. Compare each of the new sensor range readings with all other previous readings in the
window3. Triangulate these readings to create valid points for each new sensor reading:
Calculate some required values:
β π₯=π ππ₯βπ ππ₯β π¦=π ππ¦βπ ππ¦π2=β π₯2+β π¦ 2π=β π2π=
(π 2+ππβππ )2π
s: sensor positionr: range value
Calculate the points of intersection
And finally, find which point is the one we want (the one visible to both sensors:
For each point (i): For each sensor (k):
π=arctan (β π¦ ,βπ₯ )β π¦=πππ¦βπππ¦β π₯=πππ₯βπππ₯
πβ(π ππβπ ππΏ2; π ππ+
π ππΏ2
)
![Page 11: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/11.jpg)
Range scans Triangulation
Point refinement
![Page 12: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/12.jpg)
π π₯=0π π¦=0
For every point (i):
π π₯=ππ₯+πππ₯π π¦=ππ¦+πππ¦
Calculate the average position of points:
π π‘=0
π π‘=ππ‘+1
Create a new landmark: new Landmark()
Point refinement:
![Page 13: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/13.jpg)
Range scans Triangulation
Point refinement
Data association
Landmark refinement
![Page 14: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/14.jpg)
Data association and landmark refinement:
1) The newly created landmark is added to the map
2) Compare landmarks
3) If landmarks are within a certain range of each other: Considered the same landmark Merged according to their triangulation count
![Page 15: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/15.jpg)
phewβ¦
![Page 16: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/16.jpg)
β’ Configurationβ’ Pointβ’ Poseβ’ Landmarkβ’ ScanStep
CommonUtils
β’ Odometerβ’ Encoderβ’ FT_Odometer
OdometryUtils
β’ UltraSonicβ’ TBFCalculator
TBFUtils
![Page 17: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/17.jpg)
![Page 18: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/18.jpg)
β’ Additional landmark extraction and data association models
β’ The addition of a package for localization algorithms
β’ The addition of a package for loop closure utilities
β’ Extensions for cooperative SLAM
![Page 19: A Framework for use in SLAM algorithms Principle Investigator: Shaun Egan Supervisor: Dr. Karen Bradshaw.](https://reader034.fdocuments.us/reader034/viewer/2022051401/56649ea85503460f94bac3bf/html5/thumbnails/19.jpg)
?