University of Southern California

CSCI545

Introduction to Robotics

Midterm , Summer 2009, 11:00-12:50PM

Student name:

ID:

Note:

·  There are 3 bonus points (out of 75)

·  No optional question. All the questions should be answered.

·  Write in the given area. If need more space, use the back of the booklet.

·  We have not reached the multi-robot communication, thus NO COMMUNICATION with your classmates.

You have 1:45 hour to finish this

Problem / Credit
1 / /16
2 / /24
3 / /10
4 / /14
5 / /14
Total / /75


Question 1: (16 Points)Sensors:

a)  (6 pts) We have the following shaft encoder composed of two labels, the inner label Im and the outer label, Re as shown in the following figure.

The waveform on the right side show the output signal from this encoder. Can the output of this shaft encoder be used the determine the direction of rotation? If no, justify your answer. If yes, how? (show it on the following output of the encoder on two wheels (two encoders on two different wheels). Basically what can you say about the motion of the wheels).

(2 pts for this and 4 pts for wheels)

As it can be seen in the drawing on the right, when goes left to right, the output would be 11, 01, 00, and 10 while when it goes right to left (CCW) it would be 10, 00,01,11 . So if it is at 00 and move CW, it would go to 10 while if it goes CCW it would go 01. So it can determine the direction.

Wheel 1:

From 11 it goes to 01 then to 00 back to 0 1 and 11. So it is CW till 00 and then goes to CCW

Wheel 2:

It is CW rotation completely.


c) (10 pts) The optical shaft encoders are fairly expensive. Thus we decided to use cheap magnets and magnetic sensors (like the head of record and playback tapes). When the magnet passes by the magnetic sensor, it creates a pick on the sensor, as shown in the figure below. To make a magnetic shaft encoder, the magnets are places with 90 degrees angle difference on a wheel (front view), one on the inner side of it and one on the outer side of it (top view). Can this configuration be used to determine the speed and direction of rotation reliably?

The main problem would be that the spikes would be gone over time. Thus it needs to have a memory to realize when the previous spike has been seen. If it is possible to compare the time from the Re spike to Im spike and Re spike to the next Re spike, then we can determine the CW/CWW. But since the speed of rotation between these may vary, then it may not be possible to do so. So it may not be reliable.

5 pts for direction (should mention the issue of reliability. If not, -2. It is not reliable since you can not show where the previous spike was)

5 pts for speed


Question 2: (24 points) DH parameters

a) (6 points) Do you think the assigned reference frames to the joints are correct for the following robot? If not, draw the correct assignment (justify your answer). If yes, specify x, y and z axes for all the given frames.

b)  (6 pts) Fill out the DH parameters in the given table.

Each item 0.5pts

Θ(i) / α(i) / a(i) / d(i)
1 / Θ1+90 / 90 / 3 / 12
2 / Θ2 / -90 / 0 / -5
3 / -90 / 0 / 0 / d

c)  (12 pts) Calculate the homogeneous transformation matrix from frame 3 to 0 () (you need to show the intermediate steps).


Question 3: (10 points) Transformations

A robot is equipped with a stereo camera on its gripper. The camera returns the pose of an object with respect to its own coordinate frame shown as Xc, Yc, and Zc in the image. Also the gripper’s coordinate frame is shown as Xg, and Zg. If the homogeneous transformation matrix of the gripper to frame zero is given as follows, calculate the homogeneous transformation matrix from the camera to frame zero (in other words, give the transformation which can be used to calculate the pose of an object in frame zero rather than camera frame).

(2 pts for showing that they understand the transformation matrices

8 pts for correct calculation of Tc_g. Either using DH approach by

Introducing another frame or using simple transformation (rotation

followed by translation)


Question 4) (14 pts) Answer questions:

a) (4 pts) Explain the meaning of singularity in Jacobian (give an example).

Singularity happens when the det(J) becomes zero meaning that the Jacobian does not have inverse. Example, the extended elbow

b) (4 pts) Explain/suggest two methods to avoid singularity.

1.  avoid boundary of the workspace

2.  Do not let two joints be aligned (create offset in the design).

c) (6 pts) A 3DOF planar robot wants to touch an object at the middle of its 2nd link. Calculate the joint values for the task. The object is located and Xo and Yo.

Possible approaches

1.  Inverse Kinamatics

2.  Inverse Jacobian

3.  Jacobian Transpose (has not been explained)

We can come up with the analytical solution here.

Or we can get the Jacobian and

The angles can be calculated from the analytical inverse(page 103 of the book). It is also to do it using the Jacobian transpose or the Jacobian approaches. (page 23 of the book)

Question 5: (14 pts)

a)  (4 pts) Define the Null space and give an example that we can take advantage of the Null space.

In a matrix the null space of a matrix is about all vectors X such that AX=0. In a robot, it would be the case in which the robot’s joints change while the end effector stays in the same pose.

b)  (10 pts) in the following 2 link arm, in what condition the forces applied to the end effector (tool) is not applied to the joints (no torque needed to stand against the force) and the structure takes care of the forces? (Hint: Remember the duality between linear velocity and force (similarly angular velocity and torque)).

(understanding the duality 2 points, 4 points for the Jacobian and 4 pts for coming up with the F values) Considering the duality of velocity and force, we can use the formula for the torque to determine the Null space for the torque

If the force is in the Null space of , then there would be no torque on the robot’s joints. To do so, we need to calculate the Null space (after getting the condition in which 's rank is not full.).

We can see that the rank is not full when the arm is completely extended (Theta 2=0). Thus we have

Then

6