top of page

Turtlebot Mail Delivery Route

  • Writer: Avyukt Sachdeva
    Avyukt Sachdeva
  • Dec 1, 2024
  • 2 min read

Updated: Mar 31

Sep 2024 - Dec 2024


Description: The TurtleBot needs to deliver mail on a closed-loop path to any of the several specified offices. The Galbraith Memorial Mail Robot project utilizes course content and techniques such as a PID control system, localization, and Bayesian tracking. The particular goal of the project is to guide the TurtleBot through an arbitrary route chosen by the teaching assistants and deliver mail to three offices.


Role: We broke down our solution into two main parts provided below.

  1. Route Execution - Calibrating the RGB values of the colours was required to detect the office identity. While we initially used a PID controller for it's accuracy and speed we had to switch to a P-Controller for the errors that came up during the testing phase. The index of the light intensity which corresponded to the white line was required for following the line.

  2. Localization Designing a control system to enable the Waffle Pi to deliver mail to arbitrarily chosen offices on a closed loop based on Bayesian localization required breaking the solution into multiple parts. The first part was to create a localization framework code simulating a generic Bayesian localization algorithm. This was done through state prediction and state updating. State prediction (priori estimate) was taken care of through probability distribution (previous posteriori estimate) and the control input. State update (posteriori estimate) task was based on the priori estimate and colour codes taken through prototyping. The robot had to turn 90° to simulate delivery.

A high-level pseudoscope is provided below for reference:-

Initialize map, probability distribution and colour codes
while True do
	i ← i − 1
	if detecting white then
		PID Control
	else if detecting colour then
		priori←state prediction #control input, posteriori estimate
		posteriori←state update #colour masurement, priori estimate
			if max(posteriori) == office location then deliver mail
			else
		continue
			end if
	end if
end while

 
 
bottom of page