You are on page 1of 24

# Massachusetts Institute of Technology

## Problem Set No.1

Out: September 14, 2005

## Due: September 21, 2005

Problem 1
The torque-speed characteristics of a DC motor have been determined, as shown
in the figure below. Note that u is the voltage applied to the motor armature, m and
m are, respectively, the output torque and angular velocity of the motor shaft. From this
plot,
(a) Obtain the motor constant, torque constant, and armature resistance of the motor.
(b) When the motor is rotating at 100 radians per second, what is the back emf
voltage induced at the armature?
(c) When the motor is producing 2x10-3 Nm of torque, how much power is dissipated
as heat at the motor windings?

m
4 x 10-3 Nm

u = 24 volts

u = 20 volts

160 r/s

200 r/s

## Figure 1 Torque-speed characteristics of a DC motor

Problem 2
The DC motor in Problem 1 is now used for driving a single axis robot arm with a
gear reducer. See the figure below. The inertia of the motor rotor including the shaft and
the pinion gear is Im = 1.0 x 10-4 kgm2 , while the arm inertia about the joint axis
including the joint axis and the large gear is Ia= 1.6 x 10-1 kgm2. Obtain the gear ratio that
maximizes the angular acceleration of the joint axis, when the angular velocity is almost
zero. Ignore gravity and viscous damping. Also obtain the maximum angular acceleration
when the maximum armature voltage is 30 volts.

Robotic Arm

axis
Gearing
Im = 1.0 x 10-4 kgm2

Joint Axis
DC Motor

## Figure 2 Single axis robot arm with DC motor and gearing

Problem 3
Consider a single axis robot control system with an optical shaft encoder
measuring both position and velocity of the joint axis. The transfer function from input
armature voltage u to the joint angle is given by
( s)
1
G( s) =
=
u ( s ) s (a1s + a2 )
where parameters are a1 = 0.16, a2 = 0.53 . Answer the following questions.
(a) Consider the position and velocity feedback control, as shown in the first figure
below. Determine the position feedback gain kp and the velocity feedback gain kv
so that the 0-100% rise time is 0.4 sec and that the maximum overshoot is 5 %.
(b) Consider the integral control along with the position and velocity feedbacks, as
shown in the second figure below. Sketch a root locus for appropriate values of
the velocity feedback gain kv and the integral gain kI , and discuss stability,
settling time, and steady-state error. [I believe that you have learned these in
2.004. If not, please let me know.]

+
_

kp

+
_

1
s (a1s + a2 )

kv s

+
_

k p (1 +

kI
)
s

+
_

1
s (a1s + a2 )

kv s
Figure 3 Block diagrams
2

Problem 4
A DC motor connected to a switching power transistor is shown in Figure 4-a. Answer
the following questions.
a). The torque constant of the motor is 5.0 x 10-2 Nm/A. What is the voltage across the motor
armature as the motor rotates at 100 rad/s with a zero torque load?
b). Figure 1-b shows profiles of the transistor voltage and current, Vce and Ic, when the transistor
turns on and off. The maximum voltage is 10 volts, and the maximum current is 0.5 A. It takes 5
s for the transistor to turn on, and 10 s to turn-off. During the turn-on and turn-off transition
periods both voltage and current vary linearly, as shown in the figure. How much heat (cal) is
generated at the transistor in one second when this transistor is used for a uni-polar PWM
amplifier of 10 kHz PWM frequency? Note that the mechanical equivalent of heat quantity is 4.2
joule/cal.

Ic
Vce

## Figure 4-a DC motor connected

to a switching transistor

Transistor
Voltage
& Current

100 s
5 s

10 s

V
Vce

Ic

0
Turn-ON

Turn-OFF
Time

## Issued: September 26, 2005

Due: Wednesday, October 5, 2005
2.12 Introduction to Robotics
Problem Set 2: Robot Programming
The goal of this problem set and the associated lab sessions on Thursday, September 28th
and Friday, September 29th, is for you to develop a mobile robot motion planning and control
algorithm for a simulated demining robot.
1. First, using matlab, write an algorithm to generate a series of waypoints that will cover a 5
by 5 meter area, (the box.txt environment in simple sim, our demining robot simulator)
using each of three dierent strategies: (a) backandforth (mowing the lawn) motions,
(b) spiraling, and (c) random motions. Your program should write the waypoints out to
a le, in the form of (x, y) coordinates in two columns. Read in the data from the le
and generate a plot of the waypoints. (Dont specify waypoints too close to one another;
a separation for example of at least 0.5 meters is desirable.)
2. Next, write a C program to generate the waypoint les that you generated using matlab
in part 1.
3. Next, run simple sim on an athena linux workstation (well show you how in Lab). First,
teach yourself to manually steer the robot around a simple environment with four mines.
Perform two or three runs where you create a data log le for manual control to activate
all the mines, and load and plot the data to reconstruct the trajectory that you manually
executed. Details for the data logging format will be provided in lab. Plot both the true
(x, y) trajectory based on the simulated robot state (columns 2 and 3 of the data le),
and the deadreckoned robot trajectory computed for you by the simulator by integrating
the encoders on the robot wheels. Compare the two trajectories. Try to do this for two
dierent motion control strategies (e.g., conservative vs. agressive velocity control). How
quickly can you reach all the mines?
4. As discussed in class, simple sim in with a prebuilt trajectory controller, that can read in a
set of waypoints and then systematically perform trajectory control to try to reach each of
the waypoints in turn (assuming no obstacles!). Run simple sim in this mode providing the
waypoint les that you automatically generated above in part 1 to see how the waypoint
controller of the simulator performs on your waypoint lists. Does it do a good job? Can
you think of ways to do better?
5. Now, add your own C code to the le user_code.cpp to implement your own trajectory
control algorithm in simple sim. To start, try to simply to integrate your waypoint gen
erator with a simple waypoint controller, and see how it performs. Log data and plot the
results in matlab. How does your controller compare to the builtin simple sim controller
tested in part 4, and to the results that you obtained under manual control?
6. (Optional): Develop a more complex motion controller that would be capable of running in
a more complex environment with numerous obstacles (such as maze.txt) and/or could
achieve good coverage despite large amounts of deadreckoning error. For example, can you
implement a nite state machine that switches between the three modes of long transits,
bouncing o walls, and spiraling motions, that seems to be the mode of operation of the
roomba robot vacuum cleaner? Does your code outperform a simple controller in a more
cluttered environment? How fast can you nd all the mines? (If you do not feel that you
have the prior C programming experience to attempt this, then feel free to sketch out a
potential solution strategy on paper.)

## Massachusetts Institute of Technology

Department of Mechanical Engineering

## Problem Set No.3

Out: October 3, 2005 Due: October 12, 2005
Problem 1
Shown below is a construction robot having two revolute joints and one prismatic joint.
Notice that the axis of the prismatic joint has an offset of A 1 from the first revolute joint at the
origin O. Namely, the distance between point O and point A is A 1 , a constant, and the angle
between OA and AB is 90 degrees, a constant as well. Joint 2 is a prismatic joint, whose
displacement is given by distance d, a variable. Using the geometric parameters and joint
displacements shown in the figure, answer the following questions.

A3

Link 3

3
B

x
e
ye

Joint 3
Link 2

Link 1

Joint 2

A1
1
Link 0

Joint 1

x
Link 0

Figure 1 Construction robot with two revolute joints and one prismatic joint
(a) Obtain the kinematic equations relating the end-effecter position and orientation to the
joint displacements.
(b) Joint 1 can rotate between 45 degrees and 135 degrees, and joint 3 can rotate from 90
degrees to +90 degrees, while joint 2 can move from A1 to 2A1 . Sketch the workspace of
the end-effecter E within the xy plane.
(c) Solve the inverse kinematics problem to find joint displacements leading the end-effecter
to a desired position and orientation: xe , ye , e .

Problem 2
Shown below is the schematic of a three dof articulated robot arm. Although this arm
looks three-dimensional, its kinematic equations can be obtained in the same way as that of planar
robots. For joints 2 and 3 alone, consider a vertical plane containing links 2 and 3. As for joint 1,
consider the projection of the endpoint onto the xy plane. Answer the following questions, using
the notation shown in the figure.
(a) Obtain the kinematic equations relating the endpoint coordinates, xe , ye , ze , to joint
angles 1 , 2 , 3 .
(b) Solve the inverse kinematics problem, i.e. obtain the joint coordinates, given the endpoint
coordinates. Obtain all of the multiple solutions, assuming that each joint is allowed to
rotate 360 degrees.
(c) Sketch the arm configuration for each of the multiple solutions.

Endpoint

A2
Link 3

xe

ye
z
e

A1
Joint 3

Link 2

Joint 2

y
1
Link 1

x
Joint 1

## Figure 2 Schematic of 3 dof articulated robot arm

Problem 3
Shown below is a robot arm with three revolute joints. Coordinate system O x0 y0 z0 is
fixed to Link 0. Axis x1 is fixed to Link 1. Joint angle 1 is measured about the joint axis OA (z0

axis) from x0 to x1 . The second joint axis BC is horizontal, and joint angle 2 is measured from

axis x1 to axis x2 , which is fixed to Link 2, as shown in the figure. Joint angle 3 is measured
about the joint axis CD from axis x2 to Link 3,i.e. line DE. Link dimensions are OA=1, AB=1,
BC=1, CD=0, and DE=1. (For the purpose of explaining the kinematic structure, points C and D
are shown to be different points, but they are the same, i.e. the length CD is zero.) Note also that
OAB = ABC = BCD = CDE = 90o . Answer the following questions.

Link 3

z0

Link 2

2
1

B
x1

x2

Link 0
O
x0

y0

1
Figure 3 Kinematic structure of 3 DOF robot

a). Obtain the coordinates of point C viewed from the base coordinate system O x0 y0 z0 .
b). Assuming that all the joints are allowed to rotate 360 degrees, determine the workspace of the
robot. Sketch the workspace envelope, and show the size and dimensions of the envelope in your
sketch.

## Massachusetts Institute of Technology

Department of Mechanical Engineering

## Problem Set No.4

Out: October 12, 2005 Due: October 19, 2005
Problem 1
An astronaut is operating a shuttle manipulator with an inspection end effecter attached to
the tip of the arm. For the sake of simplicity we consider only the three revolute joints, 1 , 2 , 3 ,
and the three links, as shown in the figure. A Cartesian coordinate system, O-xy, is attached to the
object to be inspected. The distance of the coordinate origin O is L from the location of the first
joint. Answer the following questions using the notation shown in the figure.
a) Obtain the forward kinematic equations relating the end effecter position and orientation,
xe , ye , e , to the three joint angles, 1 , 2 , 3 . Note that the end effecter position and
orientation are viewed from the Cartesian coordinate system attached to the object, O-xy.
b) Obtain the Jacobian matrix associated with the kinematic equations of Part a). Sketch a
block diagram of Resolved Motion Rate Control where the astronaut uses a joystick for
generating velocity commands, vx = xe , v y = y e , = e , with reference to the
Cartesian coordinate system O-xy.
c) The inspection end effecter must be moved along the object surface, i.e. the x-axis, at a
constant speed, v xd = 20 cm / sec . The gap between the inspection sensor and the object
surface must be constant, yed = 10 cm , and the orientation must be kept horizontal,
ed = 90o . Compute the time trajectories of the three joint angles as well as the joint
velocities when the end effecter moves from Point A at x = 0, y = 10 cm , to Point B at
x = 15 m, y = 10 cm . The link lengths are A 1 = 10 m, A 2 = 10 m, A 3 = 40 cm , and the
distance to the object is L = 10.5 m . Plot position and velocity profiles using MATLAB.

Inspection x
End Effecter

Joint 3

xe

ye

A2

A1

A3

3
O

L
Object
Figure 1 Shuttle manipulator inspecting an object surface
All the angles are measured in the right hand sense. 2 in the figure is therefore negative.

Problem 2
Shown below is the same articulated robot as the one in the previous problem set. The robot
has three revolute joints that allow the endpoint to move in three-dimensional space. However, this
robot has some singular points inside the workspace. Answer the following questions.
a) Obtain each column vector of the Jacobian matrix based on its geometric interpretation,
as discussed in class. (Consider the endpoint velocity created by each of the joints while
immobilizing the other joints.)
b) Obtain the Jacobian via direct differentiation of the kinematic equations relating the endeffecter coordinates to joint displacements. Compare the result with the geometric
approach in part a).
c) For this question and the next question only, assume A 1 = A 2 = 1 for brevity. Compute
the Jacobian matrix for the arm configuration:

1 =

, 2 =

, 3 =

2
3

## and obtain the determinant of the Jacobian.

d) Obtain the joint velocities that move the endpoint with desired velocities vx = 1, v y = 2, vz = 0
at the instant of the arm configuration in part c).
e) Obtain the joint angles of singular configurations by solving the singularity condition:
det J = 0 .
f) Based on the results of part e), sketch the arm posture for each of the singular
configurations. Show where in the workspace it becomes singular and in which direction
the endpoint cannot be moved at a non-zero velocity.

Endpoint

A2
Link 3

xe

ye
z
e

A1
Joint 3

Link 2

Joint 2

y
1
Link 1

x
Joint 1

## Figure 2 Schematic of a three dof articulated robot

Problem 3
Shown below is a planar 3 d.o.f. robotic leg standing on the ground. Three joint angles,
1 , 2 , 3 , all measured from the ground, are used as an independent set of generalized
coordinates uniquely locating the system. The second figure below shows the front view of the
robot including actuators and transmission mechanisms. Actuator 1 generates torque 1 between
link 0 and link 1. Note that the body of Actuator 1 is fixed to link 0, while its output shaft is
connected to link 1. Actuator 2 is fixed to Link 3, and its output torque 2 is transmitted to Joint
2, i.e. the knee joint, through the mass-less belt-pulley system with a gear ratio of 1:1. Actuator 3
is fixed to Link 3, while its output shaft is connected to Link 2. All actuator torques 1 , 2 , 3 are
measured in a right hand sense, as shown by the arrows in the figure. Displacements of the
individual actuators are denoted 1 , 2 , 3 , and are measured in the same direction of the torque.
The location of the hip, i.e. Link 3, is represented by the coordinates of its center of mass, xh , yh ,
and angle measured from the base coordinate system fixed to Joint 1, as shown in the figure.
a). Obtain the Jacobian matrix relating infinitesimal joint angles 1 , 2 , 3 to infinitesimal
changes to the hip position and orientation, xh , yh , .
b). Obtain the Jacobian matrix relating joint velocities 1 , 2 , 3 to actuator angular velocities

1 , 2 , 3 .
c). Obtain actuator angular velocities 1 , 2 , 3 when the hip is moving horizontally at a constant
speed, x h = V , y h = 0,  = 0 .

Link 3

x
Joint 3 h
(hip) yh

Actuator 3

A2

2 2

Joint 3

Belt-Pulley
Mass-less
Transmission

Link 2
Rear

Actuator 2

Front

Joint 2

y
Link 1

A1

1 1

1
Joint 1

Ground

Actuator 1

Joint 1
Link 0

## (b) Front view

Figure 3 Leg robot

## Massachusetts Institute of Technology

Department of Mechanical Engineering

## Problem Set No.5

Out: October 19, 2005 Due: October 26, 2005
Problem 1
Consider a mass-less rod of length l constrained by two sliding joints at both ends
A and B, as shown in the figure below. The rod is connected to a spring of spring
constant k at A and is pulled down by mass m at B. Friction is negligible. Let be the
angle between the horizontal line and the rod. Using the Principle of Virtual Work, show
that the rod is in equilibrium at the angle that satisfies the following relationship:

(1 cos ) tan =

mg
kA

## where g is acceleration of gravity. Assume that at = 0 the spring force is zero.

k
B

Figure 1

mg

Problem 2
A planar robot with three revolute joints is shown below. Let i and A i be the
angle of joint i and the length of link i , respectively, and xe , ye , e be the end-effecter
position and orientation viewed from the base coordinate frame, as shown in the figure.
In performing a class of tasks, the end-effecter orientation doesnt have to be
specified. Namely, the number of controlled variables is two, while the number of
degrees of freedom is three. Therefore the robot has a redundant degree of freedom.
At an arm configuration of 1 = 135o , 2 = 45o , 3 = 225o obtain the 2x3 Jacobian
matrix relating the end-effecter position to joint displacements. We want to generate an
endpoint force of Fx = 10 N , Fy = 2 N . Obtain the equivalent joint torques needed for

## generating the endpoint force.

A3

A2

A1

Endpoint
xe

ye

A 1 = 3m, A 2 = 2m, A 3 = 1m

## Figure 2 Three degree-of-freedom redundant robot arm

Note: In the following problem, numerical values of link lengths and other geometric
parameters are not given, but you can solve the problem using given functions
h1 ( s1 ), h2 ( s1 , s2 ) alone.

Problem 3

'Text and diagram removed for copyright reasons. See Problem 4.2, description and
figure, in Asada and Slotine, 1986.'
(1) At a given configuration of 1 and 2 we want to move the endpoint at a specified
velocity, v = [vx, vy] T with reference to the base coordinate system OO - xy. Obtain the
cylinder speeds, s1 and s2, that produce the desired endpoint velocity. Hint: Use
derivatives of functions h1 (s1) and h2 (s1,s2).
(2) Let f1 and f2 be the forces exerted by the cylinders, HC1 and HC2, respectively. Each
force acts in the longitudinal direction of the cylinder, and is defined to be positive in the
direction of expanding the cylinder. We want to push an object at the arm's endpoint.
Obtain the cylinder forces, f1 and f2, required for exerting an endpoint force of Fx = 0
and Fy = F, assuming that all the joints are frictionless. Also ignore gravity.

## Massachusetts Institute of Technology

Department of Mechanical Engineering

## Problem Set No.6

Out: October 31, 2005 Due: November 9, 2005
Problem 1
A robot arm is drawing a line with a ruler, as shown below. The ruler is held by
another robot arm, which is not shown. Assume no friction and a quasi-static process.
a). Obtain natural and artificial constraints, using the C-frame attached to the ruler.
b). Sketch the block diagram of the hybrid position/force control system in accordance
with the natural and artificial constraints obtained above. Also obtain the projection
matrices Pa and Pc associated with the natural and artificial constraints.

vz

vx

vy

## Figure 1 Ruler and C-frame

Problem 2
Shown below is an office robot drying ink with blotting paper attached to a
semicircular roller of radius R. The roller should not slide but roll on the paper in order to
avoid smearing the wet signature. Assuming that the process is quasi-static and frictionless, we want to perform the task using hybrid position/force control. Obtain natural and
artificial constraints in terms of velocities and forces at the robot endpoint E. Describe the
constraints with respect to the coordinate system fixed to the desk, O-xyz. Note that Point
E is in the middle of the top surface of the semicircular roller. Is the rolling-contact
requirement a natural constraint or an artificial constraint? [The key is to differentiate
constraints that physics dictates, i.e. natural constraints, from the type of trajectories that
you want the robot to follow in order to accomplish a given task, i.e. artificial
constraints.]

Blotting
Paper

E E

SusanHockfield

R
R
R

x
O

## Figure 2 Office robot drying ink with blotting paper

Problem 3
The planar 3 d.o.f. robotic leg considered in a previous problem set is shown
below. Three joint angles, 1 , 2 , 3 , all measured from the ground, are used as an
independent set of generalized coordinates uniquely locating the system. The second
figure below shows the front view of the robot including actuators and transmission
mechanisms. As before, Actuator 1 generates torque 1 between link 0 and link 1.
Actuator 2 is fixed to Link 3, and its output torque 2 is transmitted to Joint 2, i.e. the
knee joint, through the mass-less belt-pulley system with a gear ratio of 1:1. Actuator 3 is
fixed to Link 3, while its output shaft is connected to Link 2. All actuator torques
1 , 2 , 3 are measured in a right hand sense, as shown by the arrows in the figure.
Displacements of the individual actuators are denoted 1 , 2 , 3 , and are measured in the
same direction of the torque. The location of the hip, i.e. Link 3, is represented by the
coordinates of its center of mass, xh , yh , and angle measured from the base coordinate
system fixed to Joint 1, as shown in the figure.
In order to walk in rough terrain, the robot wants to make its knee, ankle, and hip
joints compliant so that disturbances acting on the body may be alleviated. All the
disturbance forces acting on the foot can be represented collectively with an equivalent
linear force and moment acting at the hip: F = [ Fx , Fy , M ]T . See the figure below. Using
compliance (stiffness) control, we want to support the hip with a desired stiffness defined
as:
0 xh
Fx k x

ky
Fy =
yh
M 0
k

where p = [xh , yh , ]T is linear and angular displacements of the hip, and the
elements of the stiffness matrix, k x , k y , k , are appropriate positive values. For the leg

configuration and the joint angles shown in the figure, obtain the joint feedback gain
matrix K that provides the desired stiffness given above. Also obtain the feedback gain
matrix in the actuator space.
Link 3
x
Joint 3 h
(hip) yh

Actuator 2

Actuator 3

A2

Belt-Pulley
Mass-less
Transmission

Link 2

Rear

2 2

Joint 3

Front

Joint 2

Link 1

1 1

A1
1
Joint 1

Actuator 1

Joint 1

x
Link 0

Ground

1 =

Fx

Fy
M

4
3
2 =
4

3 =

2
A1 = 1

A2 = 1

## Massachusetts Institute of Technology

Department of Mechanical Engineering

## Problem Set No.7

Out: November 9, 2005

## Due: November 16, 2005

Problem 1
A two degree-of-freedom robot arm with one prismatic joint is shown below. The
direction of the prismatic joint is perpendicular to the centerline of the first link. As shown in the
figure, joint angle and distance z between the tip of the first link and the mass centroid of the
second link are used as generalized coordinates. The first actuator fixed to the base link produces
torque about the first joint, while the second actuator located at the tip of the first link generates
linear force f acting on the second link. Using the parameters shown in the figure, answer the
following questions.
Joint 2
Prismatic joint

l1

Vc1

l c1

z
I 2 , m2

f
I1 , m1
Link 1

Link 2

Vc2

,
O

Joint 1
Revolute joint

## Figure 1 Mass properties and link parameters of a two d.o.f. arm

a). Obtain the moment of inertia reflected to Joint 1 when the second joint is fixed at z = z0 . At
which arm configuration does the moment of inertia become minimal?
b). Obtain the centrifugal force acting on Link 2 when the first joint is rotating at a constant
angular velocity & ? Also obtain the torque induced by the centrifugal force upon Joint 1, i.e. the
joint torque needed for canceling out the centrifugal effect.
c). Obtain the Coriolis force acting on Link 2 when the first joint is rotating at a constant angular
velocity & and the second joint is moving at a constant linear velocity z& . Also obtain the torque
induced by the Coriolis force upon Joint 1.
d). Obtain the linear velocity vector of each mass centroid, Vci, as functions of generalized
coordinates and their time derivatives.
e). Obtain the linear acceleration vector of each mass centroid, aci.
f). Obtain Newton-Eulers equations of motion by drawing Free-body-diagrams of the individual
links.
g). Eliminate constraint forces involved in the Newton-Euler equations, and obtain closed-form
dynamic equations relating actuator torques, and f, to , &, && and z , z&, &z& .

Problem 2
Figure 2 shows the schematic of a three degree-of-freedom rehabilitation bed/chair
system. The seat is tilted with Actuator 1 fixed to the base frame. The back leaf and the footrest
are driven together by Actuator 2 fixed to the seat. Note that the motor shaft of Actuator 2 is
connected to a belt-pulley mechanism to move the footrest together with the back leaf. The
headrest is moved with Actuator 3 fixed to the seat through another belt-pulley mechanism as
shown in the figure. Figure 3 shows the kinematic structure and joint variables along with
geometric and mass parameters of the individual links. Note that joint angles 2 and 3 are
measured from the seat, while angle 1 is from the base frame.

Head Rest
Actuator 3
Belt
Actuator 1
Back Leaf
Seat
Actuator 2
Belt
Foot Rest
Base Frame

Link 3
l3
lc3
l2

lc2 C2

l1
l0
O0

lc1
C1

O1

Link 0

lc0

C0

m 0, I 0

O3

Endpoint E
C3
3

m 3, I 3

m 2, I 2
Link 2

O2
x

m 1, I 1

Link 1

## 1 = H111 + H122 + H133 + "

2 = H 211 + H 222 + H 233 + "

(1)

## 3 = H131 + H 232 + H 333 + "

where Hij is the i-j element of the 3x3 inertia matrix H = {H ij } associated with the joint
coordinates. Answer the following questions.
a) Explain the physical meaning of the inertia matrix elements H11 and H 22 , respectively.
Show which part of the link inertia is associated with each of H11 and H 22 . Be sure
which type of motion, translation and/or rotation, is involved in H11 and H 22 .
b) Based on the physical interpretation in part a), obtain H11 and H 22 , respectively. Use the
mass parameters shown in the figure: mi is mass, Ii the moment of inertia at the centroid
Ci ; A ci the distance between i-th joint axis and the mass centroid of the link.

## Massachusetts Institute of Technology

Department of Mechanical Engineering

## Problem Set No.8

Out: November 21, 2005

## Due: November 30, 2005

Problem 1
Shown below is a vehicle similar to the 2.12 mobile robot having a pair of powered
wheels and a frictionless caster. The radius of the wheels is r=3 cm, while the distance between
the two wheels is 2b=20 cm. The angular velocity of the right wheel is

## r , and that of the left

wheel is l . Each powered wheel is equipped with a shaft encoder to measure the angular
velocity. Answer the following questions.

(t f )

X (t f )

Y (t )
f

r
2b

X0

Y0

X
Figure 1 Vehicle trajectory

10
8
Angular 6
Velocities
rad/sec 4

r
l

2
0
3

tf = 10

## Figure 2 Time profiles of the wheel velocities

Time sec

a). At time t = 0, the vehicle was at position X 0 = 20 cm, Y0 = 20 cm with reference to the
inertial reference frame O-XY and at orientation 0 = 0 measured from the positive X axis. See
Figure 1. Then the vehicle moved. The time profiles of the wheel angular velocities during the
movement were recorded, as shown in Figure 2. Compute the position and orientation of the
vehicle at time t f = 10 sec based on the time profiles shown in Figure 2. Assume no slip.
To go back to the initial position and orientation, X 0 , Y0 , 0 , a feedback control law is now
employed. Let us consider the following control method.
As illustrated in Figure 3, let be the angle between the direction of the vehicle, i.e. line AB, and
the direction of the destination from the current position of the vehicle, line AC.

= arctan 2 [Y0 Y (t ), X 0 X (t )] (t )

The primary goal is to reduce the distance between the current position X (t ), Y (t ) and the
destination X 0 , Y0 ,

D =

( X ( t ) X 0 ) 2 + (Y ( t ) Y 0 ) 2

To reduce this distance D the vehicle should move in the direction given by angle . At the
same time the vehicle should be oriented in the direction of 0 = 0 at the destination. Therefore,
the vehicle should reduce the difference in orientation:

= 0 (t )

## during the movement towards the destination.

To combine all these, let us consider the following feedback law:

v = kD D
 = k + k

where v is the vehicle forward velocity and  is the angular velocity of the vehicle rotation.
Answer the following questions.

X (t ), Y (t )

Destination

X 0 , Y0

(t )

A
D
Figure 3 Feedback law

b). Obtain the Jacobian relating the vehicle forward velocity v and rotation velocity  to the
angular velocities of the right and left wheels, r and l .
c). Sketch an approximate trajectory of the vehicle from the final position obtained in Part a), i.e.
X (t f ), Y (t f ), (t f ) , back to the original position and orientation, X 0 , Y0 , 0 . Find appropriate
values for the feedback gains, k D , k , k .
For Extra Credit:
d). Discuss whether the vehicle can reach the exact destination when the feedback gains are
changed. What will happen if k < k D ?
e). If < / 2 , moving forward may be better than moving backward. What will happen if the
vehicle moves backward when / 2 < < ? Considering these alternative routes, how do you
modify the control law in order to move quickly towards the destination?

Problem 2
The objective of this assignment is to build the dynamic model of the 2.12 arm being
used for the final project, and obtain feedforward torques for manipulating an end-effecter in a
vertical plane. As you already know, both actuators of the 2.12 arm are fixed to the base link, and
the actuator torque of the second motor, 2 , is transmitted from joint 1 to joint 2 through a beltpulley mechanism. Actuator displacements 1 and 2 , which are absolute angles measured from

the base axis, are used as generalized coordinates, and actuator torques 1 and 2 correspond to the

## a) Obtain mass properties of each link, i.e. mi , A ci , I i , as defined in Figure 4. Figure 6

illustrates the disjointed arm links (Details are ignored for computing the mass properties).
Each arm link consists of an aluminum bar of 275 mm x 50 mm x 20 mm and two masses
at both ends of the link. For simplicity, the masses at both ends are treated as mass
particles having no moment of inertia. Obtain the mass, the location of the center of mass,
and the moment of inertia about the center of mass, mi , A ci , I i , for each link.
b) Obtain feedforward actuator torques for compensating for the gravity load of the arm
when displacements 1 and 2 are measured.
For extra credit:
c) Obtain equations of motion in terms of generalized coordinates 1 and 2 and actuator
torques 1 and 2 . Discuss why no Coriolis term is involved in the equations of motion.

d) Consider the cosine curves shown in Figure 7 for the trajectories of 1 and 2 . Compute
the angular velocities and accelerations, 1 , 2 and 1 , 2 , along the trajectories, and then
obtain the feedforward torques for tracking the trajectories from time t = 0 to t = t f .

A c2

A1

2
I 2 , m2

2 2

A c1
I1 , m1

1 1
Figure 4 Variables and
parameters of the 2.12 arm

x
Figure 5 Mechanism of the arm

0.5 kg

Link 1 230 mm

Link 2:
The same dimension
as Link 1

50 mm
0.1 kg
0.3 kg
20 mm
275 mm

1 kg

## Figure 6 Link dimensions and masses attached to the links

90

1
deg.

45
0

3
Time sec

tf = 4

3
Time sec

tf = 4

45

deg.

-45

Figure 7 Trajectories