Write a program to simulate the motion of the robot using


E28: Mobile Robotics - Fall 2015 - HOMEWORK 1

1. Orthogonal transformations

Recall that an n x n matrix A is an orthogonal transformation if any of these four equivalent criteria are met:

  • A has n mutually perpendicular, unit length rows or columns
  • the rows or columns of A form an orthonormal basis for Rn
  • AAT = ATA = I
  • A-1 = AT

Also recall that orthogonal transformations preserve inner products. For any orthogonal transformation A and any two vectors x and y,

(Ax) · (Ay) = x · y

Using the definition and property above, prove the following:

a. The product of any two orthogonal transformations A and B is itself an orthogonal transformation.

b. For any orthogonal transformation A and any vector x, ||Ax|| = ||x||

2. Rigid transformations

a. As we said in class, a rigid transformation in 2D parameterized by a rotation matrix R and a translation vector t can be represented by the 3x3 matrix

2453_Figure.png

Show that the product of two such matrices M2 and M1 parameterized by R2, t2, R1, and t1, results in a matrix which is equivalent to the composition of the rigid transformations that we discussed in class.

b. A pair of transformations T1 and T2 is said to obey the commutative property if

T2(T1(p)) = T1(T2(p))

For each of the following, show that the pair of transformations commutes, or provide a counterexample indicating that they do not.

  • any two rotations in R2
  • any two translations in Rn
  • any two rigid transformations in R2
  • any two rotations in R3

3. Simulating robot motion

A differential drive robot has a wheel radius of 0.05 m, and the wheel centers are each a distance 0.05 m from the centerline. Starting out at (xw = 0, yw = 0, θ = 0), the robot's wheels undergo the following velocities:

  • vL = 2, vR = 1.5 for 3 seconds
  • vL = 1.0, vR = -1.0 for 2 seconds
  • vL = 0.5, vR = 2.5 for 2 seconds
  • vL = -1.5, vR = 1.0 for 3 seconds

Write a program to simulate the motion of the robot using the equations from class. You should assume that the robot changes its wheel velocities instantaneously.

a. Run your program three times, with step sizes of ?t = 0.25 s, 0.125 s, and 0.0625 s.

b. Create an x/y plot of all three robot paths on a single graph. Use different colors or line styles to distinguish the paths, and make sure to use an equal aspect ratio when plotting (axis equal, in MATLAB parlance).

c. Note what happens as the timestamp gets smaller. Are there systematic errors caused by large step sizes, or is the error more or less random? Write your answers on the same page as your plot printout.

You can write your program in any programming language you want. Be sure to turn in printouts of both your code and your graph.

Request for Solution File

Ask an Expert for Answer!!
Computer Engineering: Write a program to simulate the motion of the robot using
Reference No:- TGS01479703

Expected delivery within 24 Hours