代写 R algorithm matlab graph Homework #2

Homework #2
Instructions:
EECE 5550 Mobile Robotics Spring 2019
1. This homework covers topics from Lectures 1-8.
2. Due Date: Wednesday, February 13, 23:59. Please upload your work to your Dropbox folder. 3. No late homework will be accepted.
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.
Prof. Padir EECE 5550 (Spring 2019) 1

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.
Prof. Padir EECE 5550 (Spring 2019) 2

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,
 cos(t) − sin(t) 0  R =  sin(t) cos(t) 0 
001
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
Prof. Padir EECE 5550 (Spring 2019) 3

following skew-symmetric matrix.
 0−v(3)v(2) S ( v ) =  v ( 3 ) 0 − v ( 1 ) 
−v(2) v(1) Using three examples, verify that
v1 × v2 = S(v1)v2
0
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. Considerthefollowingdifferentialequationrepresentingthemotionofapendulumwithamass- less string of length L and a bob of mass m.
d2θ =−gsinθ dt2 L
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. Definex1 =θ,andx2 =θ ̇. 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.
Prof. Padir EECE 5550 (Spring 2019) 4

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.
Prof. Padir EECE 5550 (Spring 2019) 5

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.
Prof. Padir EECE 5550 (Spring 2019) 6

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).
Prof. Padir EECE 5550 (Spring 2019) 7