Group 18
Blake Biskner
Chih-Ling Chang
Melissa Marable
Gaby Uribe
Group 18
Blake Biskner
Chih-Ling Chang
Melissa Marable
Gaby Uribe
STORY
Honey we shrunk… everything!
After a wild mishap with our shrink ray experiment we’ve shrunk everything in our
lab: our dog, our cat, and our bird!
Luckily, we’ve invented a turtlebot that can explore our backyard and rescue all of
our mini labmates.
Now all our shrunken bot has to do is traverse the hazards of the yard and collect
our tiny friends. Can it rescue them before it’s too late…
MISSION
1. Phase 1: Exploration
○ Human operated waypoint following for exploration
■ Uses SLAM node gmapping for robot pose and occupancy grid
■ Navigates using rviz clicks. This uses A* for path planning, controllers for tracking, pose
controller, etc. that exists in navigator.py
■ The objective is for the robot to discover all the walls and explore the map fully and then
return to the starting point
○ Detecting and logging animals through TF frames/broadcasting on a topic
■ While the robot is exploring, the detector running. Uses CNN detector with tf = True
■ When an object is detected, keeps track of its position to revisit it later
2. Phase 2: Rescue
○ Autonomous navigation to revisit markers and drive to target location without running into
obstacles
■ Input 2-3 of the objects you have detected (type a list into the terminal)
■ Robot autonomously navigates back to the objects in any order
■ Stops at the marker locations for 3-5s to “pick them up”
■ Returns to the starting point to complete rescue
WORLD
WORLD
WORLD
WHAT MAKES OUR TURTLEBOT UNIQUE?
Extension #1 Extension #2 Extension #3
Publishes “Meow” from cat
Stops at stop
markers at “Woof” from dog
signs
detected objects “Chirp” from bird
SOFTWARE STACK Vehicle Interface
Perception Navigation trajectory tracker
(trajectory_tracking.py)
localization top level control
(ekf_slam.py) (navigator.py) pose controller
(pose_stabilization.py)
object detection path planning
(detector_mobilenet.py) (P1_astar.py)
(path_smoother.py)
Sensor Interface
User Interface
LIDAR
Global Services GUI
(gazebo)
(rviz)
GPS + IMU
inter-process control (marker_pub.py)
(supervisor.py)
encoder command input
(keyboard_detector.py)
(request_publisher.py)
STATE MACHINE
APPENDIX
MISSION OUTLINE
*slide courtesy of AA274A final project slide deck
*slide courtesy of AA274A final project slide deck