EECE 5550 Mobile Robotics Homework 2

$30.00

Category: You will Instantly receive a download link for .zip solution file upon Payment || To Order Original Work Click Custom Order?

Description

5/5 - (1 vote)

Part A: Reading

1. Read this paper and be ready to answer questions during an in class discussion: Brooks, Rodney.
“A robust layered control system for a mobile robot.” Robotics and Automation, IEEE Journal of 2.1
(1986): 14-23. (You can access the paper from IEEExplore.)

Part B: Problems

1. Consider the differential drive mobile robot shown in figure below.
a. Find the rotation matrix relating local robot velocities with respect to global coordinates.

b. Calculate the robot velocities in the global coordinate frame if u = 15 cm/s, v = 0, ω = 0 rad/s,
and θ = π/6 rad.
c. Calculate the robot velocities in the global coordinate frame if u = 0 cm/s, v = 0, ω = 2 rad/s,
and θ = π/3 rad.

d. Calculate the robot velocities in the global coordinate frame if u = 25 cm/s, v = 0, ω = 4 rad/s,
and θ = π/4 rad.

e. Calculate the robot velocities in local coordinates to obtain a straight-line motion defined by
x˙0 = 10 cm/s, y˙0 = 10cm/s, and ˙θ0 = 10 rad/s when θ = −3π/4 rad.

2. Consider the differential drive mobile robot in Question 1. Assume that the wheel spinning speeds
are given by φ˙
1 and φ˙
2.

a. Calculate the Instantaneous Center of Rotation in robot (local) coordinates.
b. Calculate the rolling constraints for both drive wheels.
c. Calculate the sliding constraints for both drive wheels.
d. Are the kinematic constraints holonomic or nonholonomic?
e. What can you say about the mobility of the robot?

3. Consider the triangular robot with 3 wheels shown below. Assume that the robot chassis is an
equilateral triangle with a side length of 40 cm, the origin of the local (robot) coordinate frame (O1)
is at the geometric center of the triangle and all wheels are fixed. Also assume that the wheel center
point is equidistant from the corner of the triangular robot and the geometric center.

a. Calculate the rolling constraints for all wheels.
b. Calculate the sliding constraints for all wheels.
c. What can you say about the mobility of the robot?

4. Consider the triangular robot with 3 wheels shown below. Assume that the robot chassis is an
equilateral triangle with a side length of 30 cm, the origin of the local (robot) coordinate frame (O1)
is at the geometric center of the triangle and all wheels are fixed. Also assume that the wheel center
point is equidistant from the corner of the triangular robot and the geometric center.

a. Calculate the rolling constraints for all wheels.
b. Calculate the sliding constraints for all wheels.
c. What can you say about the mobility of the robot?
5. Write a MATLAB function r(t) with a single parameter t to generate the following 3 × 3 matrix,
R =



cos(t) − sin(t) 0
sin(t) cos(t) 0
0 0 1



a. Perform the following operations in MATLAB.
>> R = r(pi/6)
>> transpose(R)
>> inv(R)
>> det(R)
>> n=R(:,1)
>> s=R(:,2)
>> a=R(:,3)
>> norm(n)
>> norm(s)
>> norm(a)
>> dot(n,s)
>> dot(s,a)
>> dot(a,n)
b. Repeat part a. for two other values of t.
c. Interpret the results and summarize the properties of the matrix R.

6. Write a MATLAB function skew(v), whose parameter is a 3-dimensional vector, v, to generate the

following skew-symmetric matrix.
S(v) =



0 −v(3) v(2)
v(3) 0 −v(1)
−v(2) v(1) 0



Using three examples, verify that
v1 × v2 = S(v1)v2
where × denotes the cross product, and v1, v2 ∈ R3
.

7. In this problem, you will obtain a numerical solution to a differential equation in MATLAB.
a. Consider the following differential equation representing the motion of a pendulum with a massless string of length L and a bob of mass m.
d
2
θ
dt2 = −
g
L
sin θ
where g is the gravitational acceleration and θ is the angle of the pendulum measured from the
vertical.

Rewrite the given second-order differential equation as a system of first-order equations
by following the steps below:
i. Define x1 = θ, and x2 = ˙θ.
ii. Calculate x˙1 in terms of x2.
iii. Calculate x˙2 in terms of x1 and x2 using the differential equation above.

b. Run help ode45 at the MATLAB prompt and learn about the MATLAB function ode45.
c. Create a MATLAB function called pend.m to store the system of differential equations describing
the motion of the pendulum.
function xdot = pend(t,x)
g = 32; % ft/s^2
L = 2; % ft
xdot = [0;0];
xdot(1) = % The first equation from part (a)
xdot(2) = % The second equation from part (a)
end

d. Run the following command at the MATLAB prompt:
>> [t,x] = ode45(’pend’,[0,10],[0;1]);
e. Explain every parameter of ode45 used to solve the system of equations in the previous step.
f. Generate a plot of the pendulum angle versus time.
g. Generate a plot of the pendulum angular velocity versus time.

h. Generate a stick model of the pendulum and plot the trajectory the mass follows in the vertical
plane.
8. Draw the configuration space of the robot for the root workspace below.
9. Draw the Voronoi diagram for the robot workspace below.

10. Apply the wavefront algorithm to the occupancy grid below. Obstacles are shown in gray, S denotes
the start and G denotes the goal. Assume the grid is 8-connected (i.e. the robot can make 45◦ as well
as 90◦
turns). Mark each cell with its wavefront value, and draw a line representing one possible
path from start to goal.

11. Define a heuristic function for this domain (i.e. what is the heuristic value for state x?). Do not use
a constant value (e.g. h(x) = 1).
h(x) =
Given your heuristic function, what path would Greedy Best-First Search return? Assume the grid
is still 8-connected.

12. Consider the graph below.
a. Write down the order in which nodes are expanded by Breadth First Search starting at node A.
Assume that alphabetic order is used to break a tie when deciding among several nodes (i.e.
choose the letter that comes first in the alphabet).

b. Write down the order in which nodes are expanded by Depth First Search starting at node A.
Assume that alphabetic order is used to break a tie when deciding among several nodes (i.e.
choose the letter that comes first in the alphabet).