F23_ROB1_HW3_Solution

pdf

School

Rensselaer Polytechnic Institute *

*We aren’t endorsed by this school

Course

4480

Subject

Mechanical Engineering

Date

Dec 6, 2023

Type

pdf

Pages

6

Uploaded by ChefPonyPerson907

Report
Homework 3 For each problem show all steps and explain your reasoning. Inclusion of necessary steps is required to receive full credit. For this homework, the Dofbot will be the reference arm. This is the robot that will be used for the project. A sketch of the arm with rotation axes marked is given in figure 1 . h hs hs aYo ny JL Note h S paralel to z h3 hy are parallel to h h3 hs iS Parallel to X h5 Figure 1. Dofbot Sketch Table 1. Lengths shown in Dofbot sketch. Note: Values are in millimeters 0 61 1 43.5 2 82.85 3 82.85 4 73.85 5 54.57 The values provided were measured from the .step file (provided on Piazza). Lengths 1 , ℓ 2 , ℓ 3 , ℓ 4 are measured between servo centers. 0 is from the top side of the base plate to the center of servo 1. 5 is from the center of servo 5 to the inner edge of the gripper. The center of the servo is defined as shown in figure 2 . Figure 2. Rough servo sketch with ”center” indicated by a red star. 1
2 For each problem where you must define subproblems and associated variables, use the following rules (where SP is used as shorthand for subproblem): SP1: R ( k, q ) P 1 = P 2 – Variables to provide: k, P 1 , P 2 SP2: R ( k 1 , q 1 ) P 1 = R ( k 2 , q 2 ) P 2 – Variables to provide: k 1 , k 2 , P 1 , P 2 SP3: d = || P 2 R ( k, q ) P 1 || – Variables to provide: d, k, P 1 , P 2 SP4: h T R ( k, q ) P = d – Variables to provide: h, d, k, P Question 1. Given R = R x ( α ) R y ( β ) R z ( γ ), provide a method to find α, β, γ using subproblems. For each case, state the angle(s) to be found, the subproblem used, and the variables that would be supplied to the subproblem function. [20pts] Solution: There are two possible solutions methods: METHOD 1 First get β e T x Re z = e T x R x ( α ) R y ( β ) R z ( γ ) e z = e T x R y ( β ) e z Solve for β using subproblem 4. The variables to provide are: h = e x k = e y P = e z d = e T x Re z Then find α Re z = R x ( α ) R y ( β ) R z ( γ ) e z = R x ( α ) R y ( β ) e z Solve for α using subproblem 1. The variables to provide are: k = e x P 1 = R y ( β ) e z P 2 = Re z Lastly, find γ e T x R = e T x R x ( α ) R y ( β ) R z ( γ ) = e T x R y ( β ) R z ( γ ) R T e x = R z ( γ ) R y ( β ) e x = rot( e z , γ ) R y ( β ) e x Solve for γ using subproblem 1. The variables to provide are: k = e z P 1 = R y ( β ) e x P 2 = R T e x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . METHOD 2
3 Find α and β simultaneously Re z = R x ( α ) R y ( β ) R z ( γ ) e z = R x ( α ) R y ( β ) e z R x ( α ) Re z = R y ( β ) e z rot( e x , α ) Re z = rot( e y , β ) e z Solve for α and β using subproblem 2. The variables to provide are: k 1 = e x k 2 = e y P 1 = Re z P 2 = e z Then find γ R = R x ( α ) R y ( β ) R z ( γ ) R y ( β ) R x ( α ) R = R z ( γ ) R y ( β ) R x ( α ) Re x = R z ( γ ) e x (Could also use e y . Cannot use e z .) R y ( β ) R x ( α ) Re x = rot( e z , γ ) e x Solve for γ using subproblem 1. The variables to provide are: k = e z P 1 = e x P 2 = R y ( β ) R x ( α ) Re x Question 2. Given a desired P 0 T and R 0 T , we can solve for q i (where i = 1 , 2 , 3 , 4 , 5) for the Dofbot using subproblems. Let L 1 = 0 + 1 and L 4 = 4 + 5 . From our forward kinematics we have: R 0 T = R z ( q 1 ) R y ( q 2 ) R y ( q 3 ) R y ( q 4 ) R x ( q 5 ) := R z ( q 1 ) R y ( θ ) R x ( q 5 ) P 0 T = L 1 e z + R z ( q 1 ) R y ( q 2 ) ( 2 e x + R y ( q 3 ) ( 3 e z R y ( q 4 ) L 4 e x )) = L 1 e z + R z ( q 1 ) R y ( q 2 ) 2 e x R z ( q 1 ) R y ( q 2 q 3 ) 3 e z R z ( q 1 ) R y ( θ ) L 4 e x Note: Each of the following parts (except f) asks three questions: Fill in the placeholders, specify which subproblem to use, and define the variable values that would be provided to the subproblem function. For example, if the subproblem is SP0, state k = [ · ] , P 1 = [ · ] , P 2 = [ · ] . [30pts] 2.a ) First we will get θ from R 0 T . What vectors ( e x , e y , e z , e T x , e T y , e T z ) belong in slots A and B ? A R 0 T B = A rot( e y , θ ) B Which subproblem would be used to find θ ? What would be provided to the subproblem function? Solution: Substitute e T z for A, e x for B. Solve using subproblem 4. Values needed by the function: h = e z k = e y P = e x d = e T z R 0 T e x
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
4 2.b ) Next we will get q 1 from R 0 T . What vector ( e x , e y , e z , e T x , e T y , e T z ) belongs in slot A ? R 0 T A = rot( e z , q 1 )rot( e y , θ ) A Which subproblem would be used to find q 1 ? What would be provided to the subproblem function? Solution: Substitute e x for A. Solve using subproblem 1. Values needed by the function: k = e z P 1 = R y ( θ ) e x P 2 = R 0 T e x 2.c ) Now we will get q 5 from R 0 T . What vector ( e x , e y , e z , e T x , e T y , e T z ) belongs in slot A ? A T R 0 T = A T rot( e y , θ )rot( e x , q 5 ) R T 0 T A = rot( e x , q 5 )rot( e y , θ ) A Which subproblem would be used to find q 5 ? What would be provided to the subproblem function? Solution: Substitute e z for A. Solve using subproblem 1. Values needed by the function: k = e x P 1 = R y ( θ ) e z P 2 = R T 0 T e z 2.d ) We can get q 3 from P 0 T after some manipulation. What operator belongs in slot O ? P 0 T L 1 e z = R z ( q 1 ) R y ( q 2 ) 2 e x R z ( q 1 ) R y ( q 2 ) R y ( q 3 ) 3 e z R z ( q 1 ) R y ( θ ) L 4 e x Group known terms on the left-hand side R z ( q 1 ) ( P 0 T L 1 e z ) + R y ( θ ) L 4 e x = R y ( q 2 ) ( 2 e x R y ( q 3 ) 3 e z ) Let P = R z ( q 1 ) ( P 0 T L 1 e z ) + R y ( θ ) L 4 e x P = R y ( q 2 ) ( 2 e x R y ( q 3 ) 3 e z ) O P O = O 2 e x rot( e y , q 3 ) 3 e z O Which subproblem would be used to find q 3 ? What would be provided to the subproblem function (write your answer in terms of P where applicable)? Solution: Substitute || (the norm operator) for O. Solve using subproblem 3. Values needed by the function: d = || P || P 2 = 2 e x k = e y P 1 = 3 e z
5 2.e ) Now we can get q 2 from P 0 T . What vector ( e x , e y , e z , e T x , e T y , e T z ) belongs in slot A ? P = rot( A , q 2 ) ( 2 e x R y ( q 3 ) 3 e z ) Which subproblem would be used to find q 2 ? What would be provided to the subproblem function (write your answer in terms of P where applicable)? Solution: Substitute e y for A. Solve using subproblem 1. Values needed by the function: k = e y P 1 = 2 e x R y ( q 3 ) 3 e z P 2 = P 2.f ) Finally, we can get q 4 from our definition of θ . What belongs in slot A? q 4 = A Solution: Substitute θ q 2 q 3 for A. Question 3. Complete ”Dofbot IK - Subproblems” on MATLAB Grader in Homework 3 based on answers to question 2. [20pts] Solution: See uploaded file invkin_subproblems_Dofbot.m Question 4. Define t he a rm J acobian f or t he D ofbot. Write your a nswer i n t erms o f h i , R 0 i , a nd P iT . [10pts] Solution: Use our definition from class: { J T } 0 = h 1 R 01 h 2 R 02 h 3 R 03 h 4 R 04 h 5 h × 1 R 01 P 1 T ( R 01 h 2 ) × R 02 P 2 T ( R 02 h 3 ) × R 03 P 3 T ( R 03 h 4 ) × R 04 P 4 T ( R 04 h 5 ) × R 05 P 5 T Question 5. Complete ”Dofbot Jacobian” on MATLAB Grader in Homework 3 based on answers to question 4. [20pts] Solution: See uploaded file Jacobian_Dofbot.m Question Bonus for 4000-level, Required for 6000-level. Given the Jacobian for q where q i = 90 o is equal to: { J ( q ) } 0 = 3 777 777 777 777 777 777 777 777 55 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 . 2941 0 . 2113 0 . 1284 0 0 0 0 0 0 44 888 888 888 888 888 888 888 888 66 What can you say about rotation around and translation along each axis (feasible/infeasible, what joints to use for instantaneous motion)? [10pts] Solution: Rotation about ⃗x 0 : Feasible using joints 2, 3, 4 Rotation about y 0 : Infeasible Rotation about z 0 : Feasible using joints 1, 5
6 Translation along ⃗x 0 : Infeasible Translation along y 0 : Feasible using joints 2, 3, 4 Translation along z 0 : Infeasible
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help