# Differential drive trajectory following control

I have a robot platform with differential drive which knows it's position and orientation. Lets say that the space through which the robot moves is known and it has only static obstacles. The task is to move the robot from point A and heading alpha (on which it currently stands) to point B and heading beta on the map.

Lets also say that I can obtain a reasonable trajectory (in relation to the turning abilities of the robot). As both the robot and the sensors are inert, what are some general approaches for controlling such a robot to follow the path? It should of course be kept in mind that the final task is to reach the point B without colliding with the obstacles and not the perfect trajectory following.

I hope the question is not too general.

• What do you mean by saying that "the robot and the sensors are inert"? – Ian Mar 12 '14 at 1:50
• They do not have instant response, robot is physically inert while the sensor data come from the fusion of low-frequency component of one sensor and high-frequency component of another sensor which introduces a certain delay and oscillations. – Damjan Dakic Mar 12 '14 at 16:06
• Can you rephrase the question? Do you know the path you want to take and just want to drive the robot on that path or are you looking for a planning algorithm of some sorts? If this is just driving a path then you're looking at some sort of a closed loop controller, what feedback do you have? (sensors etc?) – Guy Sirton Mar 13 '14 at 6:26
• Yes, I only wish to follow the path. I know I need a closed loop controller, I'm just having trouble figuring out which one. Lets say I have sensors that give me the position and orientation of the robot (with some possible delay and noise of course). I'm having trouble designing the control law because following the path is not the main objective, it is getting to the goal point. – Damjan Dakic Mar 13 '14 at 9:37

• Does this method allow the user to generate a path between given start and end configuration $(x_1, y_1, \theta_1)$ and $(x_2, y_2, \theta_2)$? I saw the MATLAB documentation for robotics.PurePursuit and it seems to me that you specify the intial pose and final location (not the pose) whereas what the OP is asking for is the case when both poses (locations and heading directions) are given. – lakshayg May 27 '16 at 7:17