Navigation
Control of Mobile Robots: Programming & Simulation Week 7
Jean-Pierre de la Croix
ECE Ph.D. Candidate
Georgia Inst. of Technology
Overview
This week we need to answer three questions to achieve
navigation through the obstacle course:
1. Is the robot making progress towards the goal?
2. Should the robot follow the wall to the right or the left?
3. If the robot is in state A and event 2 becomes true, then to which
state should the robot switch?
Jean-Pierre de la Croix - Control of Mobile Robots: Programming & Simulation Week 7
Implementation
All parts of this weeks programming assignment will be
implemented in the supervisor:
+simiam/+controller/+quickbot/QBSupervisor.m
Lets see it in action!
Jean-Pierre de la Croix - Control of Mobile Robots: Programming & Simulation Week 7
Progression Towards The Goal
Robot first attempts to
approach the goal while
avoiding obstacles as
before.
u gtg
uao
Jean-Pierre de la Croix - Control of Mobile Robots: Programming & Simulation Week 7
Progression Towards The Goal
Update progress with
set_progress_point
and check with
progress_made event.
Jean-Pierre de la Croix - Control of Mobile Robots: Programming & Simulation Week 7
Switching to Follow Wall
u gtg
u fw,l
uao
When no more progress is
made, try to switch to
following the wall.
What should
obj.fw_direction be?
u fw,r
Jean-Pierre de la Croix - Control of Mobile Robots: Programming & Simulation Week 7
Switching to Follow Wall
Is u_fw is between u_ao
and u_gtg?
u gtg
u fw,l
uao
Lets use a little bit of linear
algebra:
u fw,r
Jean-Pierre de la Croix - Control of Mobile Robots: Programming & Simulation Week 7
gtg
uao 1 u fw,l
2
New Progress
progress_made and
~sliding_left, so lets
switch back to go_to_goal.
Jean-Pierre de la Croix - Control of Mobile Robots: Programming & Simulation Week 7
Finite State Machine
A few pointers for the navigation FSM:
1. If at_goal, then stop.
2. If unsafe, then switch to avoid_obstacles.
3. If go_to_goal and ~progress_made, then switch to
follow_wall if sliding_left or sliding_right.
4. If progress_made while
follow_wall and
~sliding_left or
~sliding_right,
then switch to go_to_goal.
8
Jean-Pierre de la Croix - Control of Mobile Robots: Programming & Simulation Week 7
Tips
Refer to the section for Week 7 in the manual for more
details!
Draw out the FSM on paper, step through it, and then
implement and test it.
Jean-Pierre de la Croix - Control of Mobile Robots: Programming & Simulation Week 7
Whats Next?
10
The simulator and its documentation will be available
outside of this course:
http://gritslab.gatech.edu/projects/robot-simulator
Contribute your improvements, new robots, new sensors,
and anything else on GitHub.
Thank you for your hard work!
Jean-Pierre de la Croix - Control of Mobile Robots: Programming & Simulation Week 7