3
1 ME 449 Robotic Manipulation Fall 2015 Problem Set 3 Due Thursday November 5 at beginning of class (turn in on Canvas) 1. Write the following functions for your robotics library. These functions build on the functions written for the last assignment. FixedJacobian: Takes a set of joint angles θ R n and screw axes {S i } for the robot joints expressed in the fixed space frame, and returns the space Jacobian J s (θ) R 6×n . (Another input to FixedJacobian could be n, the number of joints of the robot, or n could be determined implicitly from the number of screw axes and joint angles.) BodyJacobian: Similar to FixedJacobian, except the screw axes {B i } are in the end-effector body frame and it returns the body Jacobian J b (θ) R 6×n . IKinBody: A numerical inverse kinematics routine based on Newton-Raphson. Takes a set of screw axes {B i } for the robot joints expressed in the end-effector body frame, the end-effector zero configuration M SE(3), the desired end-effector configuration T sd , an initial guess θ 0 R n that is “close” to satisfying T (θ 0 )= T sd , and small scalar values ω > 0 and v > 0 controlling how close the final solution θ k must be to the desired answer (see Chapter 6.2). Your routine should also have a maximum number of iterations maxiterates before stopping (e.g., 100). Returns a matrix of joint angles of the following form: θ 0,1 θ 0,2 ··· θ 0,n θ 1,1 θ 1,2 ··· θ 1,n . . . . . . . . . . . . θ k,1 θ k,2 ··· θ k,n , where the top row (θ 0,1 ,...,θ 0,n ) is the initial guess vector; the bottom row (θ k,1 ,...,θ k,n ) is the final solution after k iterations of Newton-Raphson, such that T (θ k ) is close to T sd , in the sense indicated in Chapter 6.2 (if no satisfying solution is found after maxiterates iterations, then the algorithm should terminate and the bottom row of the returned matrix is the last iterate); and the intermediate rows θ i ,i =1,...,k - 1, are the intermediate iterations. IKinFixed: Similar to IKinBody above, except the screw axes {S i } are in the fixed space frame. Since this algorithm is not given in the notes, also provide a brief derivation of the relevant equations in the algorithm. 2. For the Universal Robots UR5 six-joint robot arm shown in its zero configuration in Figure 1, write the end-effector configuration M SE(3) and the six screw axes as (a) {B i } in the end-effector frame and (b) {S i } in the fixed space frame. 3. For the redundant Barrett Technology seven-joint WAM robot arm shown in its home configuration in Figure 2, write the end-effector configuration M SE(3) and seven screw axes as (a) {B i } in the end-effector frame and (b) {S i } in the fixed space frame. 4. Use your function IKinBody to find the joint variables θ d of the UR5 satisfying T (θ d )= T sd = 0 1 0 -0.6 0 0 -1 0.1 -1 0 0 0.1 0 0 0 1 . Distances are in meters. Use ω =0.01 (i.e., 0.57 degrees) and v =0.001 (i.e., 1 mm). Use the zero configuration θ 0 = 0 as your initial guess. If the configuration is outside the workspace, or if you find that

1. - Northwestern Universityhades.mech.northwestern.edu/images/f/f1/ME449-2015F-hwk3.pdf · Chapter 6.2 (if no satisfying solution is found after maxiterates iterations, ... to nd

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1. - Northwestern Universityhades.mech.northwestern.edu/images/f/f1/ME449-2015F-hwk3.pdf · Chapter 6.2 (if no satisfying solution is found after maxiterates iterations, ... to nd

1

ME 449 Robotic ManipulationFall 2015Problem Set 3Due Thursday November 5 at beginning of class (turn in on Canvas)

1. Write the following functions for your robotics library. These functions build on the functions written forthe last assignment.

• FixedJacobian: Takes a set of joint angles θ ∈ Rn and screw axes {Si} for the robot joints expressed inthe fixed space frame, and returns the space Jacobian Js(θ) ∈ R6×n. (Another input to FixedJacobian

could be n, the number of joints of the robot, or n could be determined implicitly from the number ofscrew axes and joint angles.)

• BodyJacobian: Similar to FixedJacobian, except the screw axes {Bi} are in the end-effector bodyframe and it returns the body Jacobian Jb(θ) ∈ R6×n.

• IKinBody: A numerical inverse kinematics routine based on Newton-Raphson. Takes a set of screw axes{Bi} for the robot joints expressed in the end-effector body frame, the end-effector zero configurationM ∈ SE(3), the desired end-effector configuration Tsd, an initial guess θ0 ∈ Rn that is “close” tosatisfying T (θ0) = Tsd, and small scalar values εω > 0 and εv > 0 controlling how close the finalsolution θk must be to the desired answer (see Chapter 6.2). Your routine should also have a maximumnumber of iterations maxiterates before stopping (e.g., 100). Returns a matrix of joint angles of thefollowing form:

θ0,1 θ0,2 · · · θ0,nθ1,1 θ1,2 · · · θ1,n

......

......

θk,1 θk,2 · · · θk,n

,where the top row (θ0,1, . . . , θ0,n) is the initial guess vector; the bottom row (θk,1, . . . , θk,n) is the finalsolution after k iterations of Newton-Raphson, such that T (θk) is close to Tsd, in the sense indicated inChapter 6.2 (if no satisfying solution is found after maxiterates iterations, then the algorithm shouldterminate and the bottom row of the returned matrix is the last iterate); and the intermediate rowsθi, i = 1, . . . , k − 1, are the intermediate iterations.

• IKinFixed: Similar to IKinBody above, except the screw axes {Si} are in the fixed space frame. Sincethis algorithm is not given in the notes, also provide a brief derivation of the relevant equations in thealgorithm.

2. For the Universal Robots UR5 six-joint robot arm shown in its zero configuration in Figure 1, write theend-effector configuration M ∈ SE(3) and the six screw axes as (a) {Bi} in the end-effector frame and (b){Si} in the fixed space frame.

3. For the redundant Barrett Technology seven-joint WAM robot arm shown in its home configuration inFigure 2, write the end-effector configuration M ∈ SE(3) and seven screw axes as (a) {Bi} in the end-effectorframe and (b) {Si} in the fixed space frame.

4. Use your function IKinBody to find the joint variables θd of the UR5 satisfying

T (θd) = Tsd =

0 1 0 −0.60 0 −1 0.1−1 0 0 0.1

0 0 0 1

.Distances are in meters. Use εω = 0.01 (i.e., 0.57 degrees) and εv = 0.001 (i.e., 1 mm). Use the zeroconfiguration θ0 = 0 as your initial guess. If the configuration is outside the workspace, or if you find that

Page 2: 1. - Northwestern Universityhades.mech.northwestern.edu/images/f/f1/ME449-2015F-hwk3.pdf · Chapter 6.2 (if no satisfying solution is found after maxiterates iterations, ... to nd

2

the zero configuration is too far from a final answer to converge, you may demonstrate IKinBody usinganother Tsd.

Note that your inverse kinematics routines do not respect joint limits, so it is possible for your routineto find solutions that are not achievable by the actual robot.

5. Use your function IKinFixed to find the joint variables θd of the WAM satisfying

T (θd) = Tsd =

1 0 0 0.40 1 0 00 0 1 0.40 0 0 1

.Distances are in meters. Use εω = 0.01 (i.e., 0.57 degrees) and εv = 0.001 (i.e., 1 mm). Use the zeroconfiguration θ0 = 0 as your initial guess. If the configuration is outside the workspace, or if you find thatthe zero configuration is too far from a final answer to converge, you may demonstrate IKinFixed usinganother Tsd.

6. Use either the Matlab robotics toolbox or ROS/rviz to animate your solutions to Exercises 4 and 5.The matrices of joint angles returned by IKinBody and IKinFixed should be displayed as consecutive armconfigurations, so you can see a (choppy) “movie” of the converging iterations. For each of the UR5 and WAMexamples, turn in snapshots of the robot at its initial configuration, one or two intermediate configurations,and the final configuration.

Optional: To see a less choppy movie, try displaying nine configurations between consecutive joint anglevectors. These intermediate images would just be interpolated between the θi and θi+1 iterates, at 10% ofthe travel, 20%, etc.

Information on generating animations in Matlab and ROS/rviz can be found on the class wiki.

Page 3: 1. - Northwestern Universityhades.mech.northwestern.edu/images/f/f1/ME449-2015F-hwk3.pdf · Chapter 6.2 (if no satisfying solution is found after maxiterates iterations, ... to nd

3

L1= 425 mmH1 = 89 mm

W1 =

109 mm

W2 = 82 mm

L2 = 392 mm

H2 = 95 mm

y^b

x^b

x^s

y^s

Positive rotation aboutthe axes is by theright-hand rule.

W1 is the distance between the anti-parallel axes S1 and S5

y^s

Figure 1: (Left) The Universal Robots UR5 6R arm. (Right) The UR5 at its home configuration.

x^s

z^s

W1 = 45 mm

L3 = 60 mm

L2 = 300 mm

L1 = 550 mm

axis 4

x^b

z^b

y^by^s and axes are aligned and out of the page.Axes 1, 2, and 3 intersect at the origin of {s}.Axes 5, 6, and 7 intersect at a common point60 mm from the origin of {b}. Axes 1, 3, 5, and 7 are aligned with , and axes 2, 4, and 6 areout of the page at the zero configuration. Positive rotation about the axes is by the right-hand rule.

z^s

Figure 2: (Left) The Barrett Technology WAM 7R arm. (Right) The WAM at its home configuration.