In: Computer Science
A robot equipped with a differential drive starts at the position ?=1.0?, ?=2.0?x=1.0m, y=2.0m, with a pose (heading) of ?=90∘=?2θ=90∘=π2radians. The aim is for it to move to the position ?=1.5?, ?=2.0?x=1.5m, y=2.0m with a pose of ?=90∘=?2θ=90∘=π2. The distance between the wheels is ?=0.5?l=0.5m. The movement of the vehicle is described by the parameters of the velocity of the left wheel ??vl, the right wheel ??vr and the driving time ?t.
Assuming that the robot may have to execute a sequence of moves to get from the initial location to the target location, what is the minimum number of moves required to move the vehicle to the desired target location? Include in your answer the values of the parameters (??,??,?)(vl,vr,t) for each move.
What is the length of the shortest trajectory (i.e. path or distance travelled along the trajectory) given the sequence of moves in part A.
1.For minimum number of Moves
In general each command of a differential drive only allows us to follow a portion of a circular trajectory so having a chance to reach the second location (x, y) with a single half-circle,otherwise no chance to do so with the correct orientation.
Atleast two commands are required to reach it. One way is to follow two half-circles, one with diameter u, the other with diameter v, such that their sum equals the distance between the poses,
i.e. u + v = d = 0.5m.
Remember that this is valid even when setting u = 0 or v = 0 .
2.To find the length of shortest trajectory
Two half-circles to be performed by robo, one with diameter u and arc length s1 and one with diameter v and arc length s2. Choose the diameters arbitrarily, as long as they add up to d.
s1 = π u / 2
s2 = π v / 2
u + v =d
The length of the trajectory is the sum of the arc lengths of both half-circles
s = s1 + s2 = π u / 2 + π v /2 = π(u + v) /2 = π d /2 = π /4
The trajectory length is independent of chosen u ,v.
For example after reaching position x = 1.5m, y = 2.0m, and θ = π 2 the robot executes the following sequence of moves.
c1 = (vl = 0.3m/s, vr = 0.3m/s, t = 3s)
c2 = (vl = 0.1m/s, vr = −0.1m/s, t = 1s)
c3 = (vl = 0.2m/s, vr = 0m/s, t = 2s)
The resulting poses are:
(1.500000,2.900000,1.570796)
(1.500000,2.900000,1.170796)
(1.639676,3.035655,0.370796)
The length of the shortest trajectory is euclidean distance between the two poses i.e 0.5m.