AOE 5204: Homework Assignment 4 Due: Wednesday, 9/21 in class. Extended to Friday 9/23 Online Students:

Size: px
Start display at page:

Download "AOE 5204: Homework Assignment 4 Due: Wednesday, 9/21 in class. Extended to Friday 9/23 Online Students:"

Transcription

1 AOE 5204: Homework Assignment 4 Due: Wednesday, 9/21 in class. Extended to Friday 9/23 Online Students: (cdhall@vt.edu) by 5 PM Suppose F b is initially aligned with F i and at t = 0 begins to rotate with angular velocity ω bi = e t [ sin tî1 + sin 2tî2 + sin 3tî3]. Use numerical integration to obtain the body-frame attitude for the time interval from t = 0 to t = 2π seconds. Do the numerical integration using Euler angles as well as quaternions. Use appropriate graphs and sample calculations to convince yourself (and me) that the two approaches give the same results. Solution: The initial conditions are based on the statement that F b is initially aligned with F i, which implies that the initial rotation matrix is R bi = 1 (the 3 3 identity matrix). Furthermore, R bi = 1 θ = 0. The initial condition for the quaternion, q, is simply q = [ ] T, which is evident from the relationship given by q 4 = ± trace R q = 1 R 23 R 32 R 31 R 13 4q 4 R 12 R 21 So, we have the necessary initial conditions to integrate the differential equations. The differential equations are θ = S 1 (θ)ω bi b q = Q( q)ω bi b The right-hand side of the θ equation depends on θ and ω, whereas the right-hand side of the q equation depends on q and ω. In both cases, ω is the angular velocity of the body frame with respect to the inertial frame, expressed in the body frame. You are given the angular velocity expressed in the inertial frame, so it must be rotated into the body frame, using R bi. The rotation matrix R bi can be computed either using the Euler angles or using the quaternion. The Euler angle approach We need the rotation matrix R bi and the kinematics differential equation matrix S(θ), and its inverse. All three matrices are obtained in straightforward fashion as: R bi = S = c 1 c 3 s 1 c 2 s 3 s 1 c 3 + c 1 c 2 s 3 s 2 s 3 c 1 s 3 s 1 c 2 c 3 s 1 s 3 + c 1 c 2 c 3 s 2 c 3 s 1 s 2 c 1 s 2 c 2 s 2 s 3 c 3 0 s 2 c 3 s 3 0 c

2 S 1 = s 3 /s 2 c 3 /s 2 0 c 3 s 3 0 c 2 s 3 /s 2 c 2 c 3 /s 2 1 Obtaining these three matrices for a given Euler angle sequence is something you should be able to do. An Essential Observation: The matrix S 1 has a singularity at θ 2 = 0. This singularity occurs at θ 2 = 0 for all six of the symmetric Euler angle sequences, whereas an equivalent singularity occurs at θ 2 = π/2 or 3π/2 for the six asymmetric sequences. Integration of the kinematics differential equation for the Euler angles is impossible for the given initial conditions! This observation is one of the main points of this homework assignment: I want you to have firsthand experience with the difficulty associated with the use of Euler angles in practical applications. For this homework, I suggested tweaking the initial condition on θ 2 slightly to avoid the singularity. Of course, that tweak changes the value of R(0), which in turn changes the value of q for the other half of the assignment. A right-hand side file for integrating the θ differential equations is % RHS for Homework problem % Name this file HW4RHS.m function thetadot = HW4RHS(t,theta) % the kinematics matrix S(theta): s2 = sin(theta(2)); % compute these first c2 = cos(theta(2)); s3 = sin(theta(3)); c3 = cos(theta(3)); S = [s2*s3 c3 0 ; s2*c3 -s3 0 ; c2 0 1]; % the rotation matrix (uses 3 simple functions I wrote) R = R3(theta(3))*R1(theta(2))*R3(theta(1)); % the angular velocity in Fi w = exp(-t).*[sin(t) sin(2*t) sin(3*t)] ; % the right-hand side thetadot = S\(R*w); With some appropriately defined initial conditions, theta0, and a tspan matrix, we can integrate the equations using this Matlab statement: [t,theta]=ode45( HW4RHS,tspan,theta0); The result of this line of Matlab code is an n 1 matrix of t values and an n 3 matrix of θ values. The complete code is given below. A plot of the Euler angles for a tweak of θ 2 = 0.1 is given in Fig.??. 2

3 Figure 1: Euler Angles The quaternion approach For the quaternions, we do not have the singularity problem. The differential equations are simple, and here is a right-hand side file: % qbar RHS for Homework problem % name this file HW4RHSq.m function qbardot = HW4RHSq(t,qbar) qbar = qbar/norm(qbar); % good idea to renormalize % the kinematics matrix Q(qbar) Q = 0.5*[cr(qbar(1:3))+qbar(4)*eye(3); -qbar(1:3) ]; % the rotation matrix (uses a simple function I wrote) R = q2r(qbar); % the angular velocity in Fi w = exp(-t).*[sin(t) sin(2*t) sin(3*t)] ; % the right-hand side qbardot = Q*R*w; With this file in place, the line of Matlab code to perform the integration is simply [t,qbar] = ode45( HW4RHSq,tspan,qbar0,options); The result of the integration is an n 1 matrix of t values and an n 4 matrix of q values. 3

4 Figure 2: Quaternions The complete code is given below. A plot of the quaternions for the same tweak as used for the Euler angles is given in Fig.??. The Comparison There are numerous ways to compare the two sets of results. Obviously, looking at the two graphs is not sufficient. One way would be to begin with the quaternion solution, compute a rotation matrix at each time step, extract the Euler angles, and compare the result with the Euler angles obtained in the first integration. The extreme tediousness of the extraction will be left as an exercise. Another approach would be to begin with the Euler angles solution, compute a rotation matrix at each time step, extract the quaternion, and compare the result with the quaternions obtained in the second integration. This approach is easy enough and is what is accomplished in the Matlab code (included at the end of the solution). A graph of the differences between the integrated quaternions and the quaternions obtained using this method is given in Fig.??. The differences are on the order of 10 8, which suggests a strong agreement between the two approaches. Another approach is to compute two rotation matrices for each time step, using the Euler angles solution to compute R θ, and using the quaternion solution to compute R q. If the two approaches were absolutely identical, then the two series of rotation matrices would be absolutely identical, and hence R T θ R q = 1 at each time step. However, due to numerical issues, the two results will not be exactly equal, and the matrix multiplication will not give 1, but rather, an error matrix: R T θ R q = R e 4

5 Figure 3: Quaternion Comparison Clearly R e is a rotation matrix, and if the numerical results are correct, it should be near the identity matrix. One way to quantify how near is to extract the Euler angle, Φ from R e, as it is a measure of the error between the two integration methods. Recall that Φ = cos 1 [ 1 2 (trace R 1) ] Carrying out this computation and making a plot of Φ vs. t yields the graph in Fig.??. The angle remains small, which is another indication of a strong equivalence between the two approaches to integrating the attitude kinematics. % Driver file for Homework 4 % calls HW4RHS and HW4RHSq, % the right-hand side files for the Euler angles % and the quaternions, respectively clear all % Euler angle part first % initial conditions theta0 = [0 0 0] ; % we know this won t work theta0(2) = 1e-1; % this "tweak" can be changed % will need the initial rotation matrix for computing % the initial quaternion R0 = R3(theta0(3))*R1(theta0(2))*R3(theta0(1)); 5

6 Figure 4: Euler Angle Φ n = 100; % this way we ll have a specific number of integration points tspan = linspace(0,2*pi,n); options = odeset( reltol,1e-8, abstol,1e-8); [t,theta]=ode45( HW4RHS,tspan,theta0,options); % now do the quaternion part % to make the initial conditions the same, need to extract % from rotation matrix % (actually I have a function called "r2q" to do this, % but I ll spell it out q4 = sqrt(1+trace(r0))/2; q = [R0(2,3)-R0(3,2); R0(3,1)-R0(1,3); R0(1,2)-R0(2,1)]/(4*q4); qbar0 = [q;q4]; [t,qbar] = ode45( HW4RHSq,tspan,qbar0,options); % we have done the integration, and we can plot the results % plot the euler angles figure(1); handle = plot(t,theta(:,1), -,t,theta(:,2), :,t,theta(:,3),.- ); set(handle, linewidth,1.5); xlabel( t, fontsize,18); ylabel( \theta, fontsize,18); legend( \theta_1, \theta_2, \theta_3 ); set(gca, fontsize,18, linewidth,1.5); print -deps HW4EulerAngles 6

7 % plot the quaternions figure(2); handle = plot(t,qbar(:,1), -,t,qbar(:,2), :,... t,qbar(:,3),.-,t,qbar(:,4), -- ); set(handle, linewidth,1.5); xlabel( t, fontsize,18); ylabel( qbar, fontsize,18); legend( q_1, q_2, q_3, q_4 ); set(gca, fontsize,18, linewidth,1.5); print -deps HW4quaternions % now we need to make some comparisons % use the thetas to calculate R, then extract qbar % compare with the integrated qbar qdiff = zeros(size(qbar)); % where we ll save the difference for i=1:n R = R3(theta(i,3))*R1(theta(i,2))*R3(theta(i,1)); qb = r2q(r); %using that simple function % deal with that +/- issue if qb(4)*qbar(i,4)<0 qb=-qb; end qdiff(i,:) = qb -qbar(i,:); end figure(3); handle = plot(t,qdiff(:,1), -,t,qdiff(:,2), :,... t,qdiff(:,3),.-,t,qdiff(:,4), -- ); set(handle, linewidth,1.5); xlabel( t, fontsize,18); ylabel( qbar difference, fontsize,18); legend( q_1, q_2, q_3, q_4 ); set(gca, fontsize,18, linewidth,1.5); print -deps HW4qdiff % another way to compare phidiff = zeros(n,1); % where we ll save the Euler angle for i=1:n Rt = R3(theta(i,3))*R1(theta(i,2))*R3(theta(i,1)); Rq = q2r(qbar(i,:)); Re = Rt *Rq; [a,phidiff(i)] = r2aphi(re); % another simple function end figure(4); handle = plot(t,phidiff); 7

8 set(handle, linewidth,1.5); xlabel( t, fontsize,18); ylabel( Euler angle difference, fontsize,18); set(gca, fontsize,18, linewidth,1.5); print -deps HW4phidiff 8

Chapter 8 Complex Numbers & 3-D Plots

Chapter 8 Complex Numbers & 3-D Plots EGR115 Introduction to Computing for Engineers Complex Numbers & 3-D Plots from: S.J. Chapman, MATLAB Programming for Engineers, 5 th Ed. 2016 Cengage Learning Topics Introduction: Complex Numbers & 3-D

More information

APPM 2460 PLOTTING IN MATLAB

APPM 2460 PLOTTING IN MATLAB APPM 2460 PLOTTING IN MATLAB. Introduction Matlab is great at crunching numbers, and one of the fundamental ways that we understand the output of this number-crunching is through visualization, or plots.

More information

-SOLUTION- ME / ECE 739: Advanced Robotics Homework #2

-SOLUTION- ME / ECE 739: Advanced Robotics Homework #2 ME / ECE 739: Advanced Robotics Homework #2 Due: March 5 th (Thursday) -SOLUTION- Please submit your answers to the questions and all supporting work including your Matlab scripts, and, where appropriate,

More information

Lecture Note 3: Rotational Motion

Lecture Note 3: Rotational Motion ECE5463: Introduction to Robotics Lecture Note 3: Rotational Motion Prof. Wei Zhang Department of Electrical and Computer Engineering Ohio State University Columbus, Ohio, USA Spring 2018 Lecture 3 (ECE5463

More information

ξ ν ecliptic sun m λ s equator

ξ ν ecliptic sun m λ s equator Attitude parameterization for GAIA L. Lindegren (1 July ) SAG LL Abstract. The GAIA attaitude may be described by four continuous functions of time, q1(t), q(t), q(t), q4(t), which form a quaternion of

More information

Exercise 1: Kinematics of the ABB IRB 120

Exercise 1: Kinematics of the ABB IRB 120 Exercise 1: Kinematics of the ABB IRB 120 Marco Hutter, Michael Blösch, Dario Bellicoso, Samuel Bachmann October 2, 2015 Abstract In this exercise you learn how to calculate the forward and inverse kinematics

More information

AMS 27L LAB #2 Winter 2009

AMS 27L LAB #2 Winter 2009 AMS 27L LAB #2 Winter 2009 Plots and Matrix Algebra in MATLAB Objectives: 1. To practice basic display methods 2. To learn how to program loops 3. To learn how to write m-files 1 Vectors Matlab handles

More information

Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ x + 5y + 7z 9x + 3y + 11z

Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ x + 5y + 7z 9x + 3y + 11z Basic Linear Algebra Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ 1 5 ] 7 9 3 11 Often matrices are used to describe in a simpler way a series of linear equations.

More information

ME/CS 133(a): Final Exam (Fall Quarter 2017/2018)

ME/CS 133(a): Final Exam (Fall Quarter 2017/2018) ME/CS 133(a): Final Exam (Fall Quarter 2017/2018) Instructions 1. Limit your total time to 5 hours. You can take a break in the middle of the exam if you need to ask a question, or go to dinner, etc. That

More information

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions.

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions. Path and Trajectory specification Robots are built to accomplish complex and difficult tasks that require highly non-linear motions. Specifying the desired motion to achieve a specified goal is often a

More information

Partial Derivatives (Online)

Partial Derivatives (Online) 7in x 10in Felder c04_online.tex V3 - January 21, 2015 9:44 A.M. Page 1 CHAPTER 4 Partial Derivatives (Online) 4.7 Tangent Plane Approximations and Power Series It is often helpful to use a linear approximation

More information

Goals: Course Unit: Describing Moving Objects Different Ways of Representing Functions Vector-valued Functions, or Parametric Curves

Goals: Course Unit: Describing Moving Objects Different Ways of Representing Functions Vector-valued Functions, or Parametric Curves Block #1: Vector-Valued Functions Goals: Course Unit: Describing Moving Objects Different Ways of Representing Functions Vector-valued Functions, or Parametric Curves 1 The Calculus of Moving Objects Problem.

More information

Visualizing Quaternions

Visualizing Quaternions Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 1 Tutorial 1 GRAND PLAN I: Fundamentals of Quaternions II: Visualizing Quaternion Geometry III: Quaternion

More information

ME 115(a): Final Exam (Winter Quarter 2009/2010)

ME 115(a): Final Exam (Winter Quarter 2009/2010) ME 115(a): Final Exam (Winter Quarter 2009/2010) Instructions 1. Limit your total time to 5 hours. That is, it is okay to take a break in the middle of the exam if you need to ask a question, or go to

More information

Applications. Human and animal motion Robotics control Hair Plants Molecular motion

Applications. Human and animal motion Robotics control Hair Plants Molecular motion Multibody dynamics Applications Human and animal motion Robotics control Hair Plants Molecular motion Generalized coordinates Virtual work and generalized forces Lagrangian dynamics for mass points

More information

[9] D.E. Whitney, "Resolved Motion Rate Control of Manipulators and Human Prostheses," IEEE Transactions on Man-Machine Systems, 1969.

[9] D.E. Whitney, Resolved Motion Rate Control of Manipulators and Human Prostheses, IEEE Transactions on Man-Machine Systems, 1969. 160 Chapter 5 Jacobians: velocities and static forces [3] I. Shames, Engineering Mechanics, 2nd edition, Prentice-Hall, Englewood Cliffs, NJ, 1967. [4] D. Orin and W. Schrader, "Efficient Jacobian Determination

More information

Math 7 Elementary Linear Algebra PLOTS and ROTATIONS

Math 7 Elementary Linear Algebra PLOTS and ROTATIONS Spring 2007 PLOTTING LINE SEGMENTS Math 7 Elementary Linear Algebra PLOTS and ROTATIONS Example 1: Suppose you wish to use MatLab to plot a line segment connecting two points in the xy-plane. Recall that

More information

Introduction to Robotics

Introduction to Robotics Université de Strasbourg Introduction to Robotics Bernard BAYLE, 2013 http://eavr.u-strasbg.fr/ bernard Modelling of a SCARA-type robotic manipulator SCARA-type robotic manipulators: introduction SCARA-type

More information

MAT 343 Laboratory 4 Plotting and computer animation in MATLAB

MAT 343 Laboratory 4 Plotting and computer animation in MATLAB MAT 4 Laboratory 4 Plotting and computer animation in MATLAB In this laboratory session we will learn how to. Plot in MATLAB. The geometric properties of special types of matrices (rotations, dilations,

More information

Inverse Kinematics of a Rhino Robot

Inverse Kinematics of a Rhino Robot Inverse Kinematics of a Rhino Robot Rhino Robot (http://verona.fi-p.unam.mx/gpocontrol/images/rhino1.jpg) A Rhino robot is very similar to a 2-link arm with the exception that The base can rotate, allowing

More information

ME5286 Robotics Spring 2014 Quiz 1 Solution. Total Points: 30

ME5286 Robotics Spring 2014 Quiz 1 Solution. Total Points: 30 Page 1 of 7 ME5286 Robotics Spring 2014 Quiz 1 Solution Total Points: 30 (Note images from original quiz are not included to save paper/ space. Please see the original quiz for additional information and

More information

MMAE-540 Adv. Robotics and Mechatronics - Fall 2007 Homework 4

MMAE-540 Adv. Robotics and Mechatronics - Fall 2007 Homework 4 MMAE-54 Adv. Robotics and Mechatronics - Fall 27 Homework 4 Assigned Wednesday Sep. 9th Due Wednesday Sept. 26th.5 Trajectory for t = s.5 Trajectory for t = 2 s.5.5 -.5 -.5 - - -.5 -.5-2 - 2-2 -.5 Trajectory

More information

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Lecture 21 6.837 Fall 2001 Conventional Animation Draw each frame of the animation great control

More information

Lecture «Robot Dynamics»: Kinematics 2

Lecture «Robot Dynamics»: Kinematics 2 Lecture «Robot Dynamics»: Kinematics 2 151-851- V lecture: CAB G11 Tuesday 1:15 12:, every week exercise: HG G1 Wednesday 8:15 1:, according to schedule (about every 2nd week) office hour: LEE H33 Friday

More information

ME 597: AUTONOMOUS MOBILE ROBOTICS SECTION 2 COORDINATE TRANSFORMS. Prof. Steven Waslander

ME 597: AUTONOMOUS MOBILE ROBOTICS SECTION 2 COORDINATE TRANSFORMS. Prof. Steven Waslander ME 597: AUTONOMOUS MOILE ROOTICS SECTION 2 COORDINATE TRANSFORMS Prof. Steven Waslander OUTLINE Coordinate Frames and Transforms Rotation Matrices Euler Angles Quaternions Homogeneous Transforms 2 COORDINATE

More information

Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering

Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering PR 5 Robot Dynamics & Control /8/7 PR 5: Robot Dynamics & Control Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering The Inverse Kinematics The determination of all possible

More information

Math 1330 Test 3 Review Sections , 5.1a, ; Know all formulas, properties, graphs, etc!

Math 1330 Test 3 Review Sections , 5.1a, ; Know all formulas, properties, graphs, etc! Math 1330 Test 3 Review Sections 4.1 4.3, 5.1a, 5. 5.4; Know all formulas, properties, graphs, etc! 1. Similar to a Free Response! Triangle ABC has right angle C, with AB = 9 and AC = 4. a. Draw and label

More information

DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING NORTHEASTERN UNIVERSITY ECEU646/ECEG105 OPTICS FOR ENGINEERS FALL 2008.

DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING NORTHEASTERN UNIVERSITY ECEU646/ECEG105 OPTICS FOR ENGINEERS FALL 2008. DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING NORTHEASTERN UNIVERSITY ECEU646/ECEG105 OPTICS FOR ENGINEERS FALL 2008 Solutions This homework set includes problems for both ECEU646 and ECEG105. Problems

More information

ME 4943 Course Project - Part I

ME 4943 Course Project - Part I ME 4943 Course Project - Part I Numerical Implementation of the Source Panel Method by Jeffrey A. Kornuta Mechanical Engineering Louisiana State University October 9, 27 1 Contents 1 Verification of Algorithm

More information

Name: Math Analytic Geometry and Calculus III - Spring Matlab Project - due on Wednesday, March 30

Name: Math Analytic Geometry and Calculus III - Spring Matlab Project - due on Wednesday, March 30 Name: Math 275 - Analytic Geometry and Calculus III - Spring 2011 Solve the following problems: Matlab Project - due on Wednesday, March 30 (Section 14.1 # 30) Use Matlab to graph the curve given by the

More information

Scientific Computing (G /G ) Homework 10 example

Scientific Computing (G /G ) Homework 10 example Homework 10 example When you use the ODE solvers in MATLAB and then write scripts to automatically produce the plots, you use several pieces of software tied neatly together by a common environment. Because

More information

PERI INSTITUTE OF TECHNOLOGY DEPARTMENT OF ECE TWO DAYS NATIONAL LEVEL WORKSHOP ON COMMUNICATIONS & IMAGE PROCESSING "CIPM 2017" Matlab Fun - 2

PERI INSTITUTE OF TECHNOLOGY DEPARTMENT OF ECE TWO DAYS NATIONAL LEVEL WORKSHOP ON COMMUNICATIONS & IMAGE PROCESSING CIPM 2017 Matlab Fun - 2 Table of Contents PERI INSTITUTE OF TECHNOLOGY DEPARTMENT OF ECE TWO DAYS NATIONAL LEVEL WORKSHOP ON COMMUNICATIONS & IMAGE PROCESSING "CIPM 2017" - 2 What? Matlab can be fun... 1 Plot the Sine Function...

More information

Rotation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J. Fowler, WesternGeco.

Rotation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J. Fowler, WesternGeco. otation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J Fowler, WesternGeco Summary Symmetry groups commonly used to describe seismic anisotropy

More information

MATLAB Tutorial. Mohammad Motamed 1. August 28, generates a 3 3 matrix.

MATLAB Tutorial. Mohammad Motamed 1. August 28, generates a 3 3 matrix. MATLAB Tutorial 1 1 Department of Mathematics and Statistics, The University of New Mexico, Albuquerque, NM 87131 August 28, 2016 Contents: 1. Scalars, Vectors, Matrices... 1 2. Built-in variables, functions,

More information

Signals and Systems Profs. Byron Yu and Pulkit Grover Fall Homework 1

Signals and Systems Profs. Byron Yu and Pulkit Grover Fall Homework 1 18-290 Signals and Systems Profs. Byron Yu and Pulkit Grover Fall 2018 Homework 1 This homework is due in class on Thursday, September 6, 9:00am. Instructions Solve all non-matlab problems using only paper

More information

Writing MATLAB Programs

Writing MATLAB Programs Outlines September 14, 2004 Outlines Part I: Review of Previous Lecture Part II: Review of Previous Lecture Outlines Part I: Review of Previous Lecture Part II: Control Structures If/Then/Else For Loops

More information

Problem Set #9 (With Solutions)

Problem Set #9 (With Solutions) IC-3 Optimal Control Spring 009 Benoît Chachuat ME C 6, Ph: 3518, benoit@mcmaster.ca Problem Set #9 (With Solutions) The objective of this problem is to solve, via the direct sequential approach, the following

More information

Practice problems. 1. Given a = 3i 2j and b = 2i + j. Write c = i + j in terms of a and b.

Practice problems. 1. Given a = 3i 2j and b = 2i + j. Write c = i + j in terms of a and b. Practice problems 1. Given a = 3i 2j and b = 2i + j. Write c = i + j in terms of a and b. 1, 1 = c 1 3, 2 + c 2 2, 1. Solve c 1, c 2. 2. Suppose a is a vector in the plane. If the component of the a in

More information

A quick Matlab tutorial

A quick Matlab tutorial A quick Matlab tutorial Michael Robinson 1 Introduction In this course, we will be using MATLAB for computer-based matrix computations. MATLAB is a programming language/environment that provides easy access

More information

MAT 275 Laboratory 3 Numerical Solutions by Euler and Improved Euler Methods (scalar equations)

MAT 275 Laboratory 3 Numerical Solutions by Euler and Improved Euler Methods (scalar equations) MATLAB sessions: Laboratory 3 1 MAT 275 Laboratory 3 Numerical Solutions by Euler and Improved Euler Methods (scalar equations) In this session we look at basic numerical methods to help us understand

More information

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder] Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder] Preliminaries Recall: Given a smooth function f:r R, the function

More information

Math Scientific Computing - Matlab Intro and Exercises: Spring 2003

Math Scientific Computing - Matlab Intro and Exercises: Spring 2003 Math 64 - Scientific Computing - Matlab Intro and Exercises: Spring 2003 Professor: L.G. de Pillis Time: TTh :5pm 2:30pm Location: Olin B43 February 3, 2003 Matlab Introduction On the Linux workstations,

More information

Solutions For Homework #7

Solutions For Homework #7 Solutions For Homework #7 Problem :[ pts] Let f(r) = r = x2 + y 2 () We compute the Hankel Transform of f(r) by first computing its Abel Transform and then calculating the D Fourier Transform of the result.

More information

Mathematical Methods and Modeling Laboratory class. Numerical Integration of Ordinary Differential Equations

Mathematical Methods and Modeling Laboratory class. Numerical Integration of Ordinary Differential Equations Mathematical Methods and Modeling Laboratory class Numerical Integration of Ordinary Differential Equations Exact Solutions of ODEs Cauchy s Initial Value Problem in normal form: Recall: if f is locally

More information

BTRY/STSCI 6520, Fall 2012, Homework 3

BTRY/STSCI 6520, Fall 2012, Homework 3 BTRY/STSCI 6520, Fall 2012, Homework 3 Due at 8:00am on October 24, 2012, by email (see submission instructions) 1 Introduction K-Means Clustering The K-means algorithm is the simplest and most widely

More information

Parallel Transport on the Torus

Parallel Transport on the Torus MLI Home Mathematics The Torus Parallel Transport Parallel Transport on the Torus Because it really is all about the torus, baby After reading about the torus s curvature, shape operator, and geodesics,

More information

To do this the end effector of the robot must be correctly positioned relative to the work piece.

To do this the end effector of the robot must be correctly positioned relative to the work piece. Spatial Descriptions and Transformations typical robotic task is to grasp a work piece supplied by a conveyer belt or similar mechanism in an automated manufacturing environment, transfer it to a new position

More information

Task selection for control of active vision systems

Task selection for control of active vision systems The 29 IEEE/RSJ International Conference on Intelligent Robots and Systems October -5, 29 St. Louis, USA Task selection for control of active vision systems Yasushi Iwatani Abstract This paper discusses

More information

Kinematics of the Stewart Platform (Reality Check 1: page 67)

Kinematics of the Stewart Platform (Reality Check 1: page 67) MATH 5: Computer Project # - Due on September 7, Kinematics of the Stewart Platform (Reality Check : page 7) A Stewart platform consists of six variable length struts, or prismatic joints, supporting a

More information

ERTH3021 Exploration and Mining Geophysics

ERTH3021 Exploration and Mining Geophysics ERTH3021 Exploration and Mining Geophysics Practical 1: Introduction to Scientific Programming using Python Purposes To introduce simple programming skills using the popular Python language. To provide

More information

EE 301 Signals & Systems I MATLAB Tutorial with Questions

EE 301 Signals & Systems I MATLAB Tutorial with Questions EE 301 Signals & Systems I MATLAB Tutorial with Questions Under the content of the course EE-301, this semester, some MATLAB questions will be assigned in addition to the usual theoretical questions. This

More information

MAT 275 Laboratory 3 Numerical Solutions by Euler and Improved Euler Methods (scalar equations)

MAT 275 Laboratory 3 Numerical Solutions by Euler and Improved Euler Methods (scalar equations) MAT 275 Laboratory 3 Numerical Solutions by Euler and Improved Euler Methods (scalar equations) In this session we look at basic numerical methods to help us understand the fundamentals of numerical approximations.

More information

Lecture «Robot Dynamics»: Multi-body Kinematics

Lecture «Robot Dynamics»: Multi-body Kinematics Lecture «Robot Dynamics»: Multi-body Kinematics 151-0851-00 V lecture: CAB G11 Tuesday 10:15 12:00, every week exercise: HG E1.2 Wednesday 8:15 10:00, according to schedule (about every 2nd week) Marco

More information

Kinematics of Closed Chains

Kinematics of Closed Chains Chapter 7 Kinematics of Closed Chains Any kinematic chain that contains one or more loops is called a closed chain. Several examples of closed chains were encountered in Chapter 2, from the planar four-bar

More information

Inverse Kinematics of 6 DOF Serial Manipulator. Robotics. Inverse Kinematics of 6 DOF Serial Manipulator

Inverse Kinematics of 6 DOF Serial Manipulator. Robotics. Inverse Kinematics of 6 DOF Serial Manipulator Inverse Kinematics of 6 DOF Serial Manipulator Robotics Inverse Kinematics of 6 DOF Serial Manipulator Vladimír Smutný Center for Machine Perception Czech Institute for Informatics, Robotics, and Cybernetics

More information

Lecture «Robot Dynamics»: Kinematics 3

Lecture «Robot Dynamics»: Kinematics 3 Lecture «Robot Dynamics»: Kinematics 3 151-0851-00 V lecture: CAB G11 Tuesday 10:15 12:00, every week exercise: HG E1.2 Wednesday 8:15 10:00, according to schedule (about every 2nd week) Marco Hutter,

More information

Inverse Kinematics Programming Assignment

Inverse Kinematics Programming Assignment Inverse Kinematics Programming Assignment CS 448D: Character Animation Due: Wednesday, April 29 th 11:59PM 1 Logistics In this programming assignment, you will implement a simple inverse kinematics solver

More information

Rotation with Quaternions

Rotation with Quaternions Rotation with Quaternions Contents 1 Introduction 1.1 Translation................... 1. Rotation..................... 3 Quaternions 5 3 Rotations Represented as Quaternions 6 3.1 Dynamics....................

More information

EE 350. Continuous-Time Linear Systems. Recitation 1. 1

EE 350. Continuous-Time Linear Systems. Recitation 1. 1 EE 350 Continuous-Time Linear Systems Recitation 1 Recitation 1. 1 Recitation 1 Topics MATLAB Programming Basic Operations, Built-In Functions, and Variables m-files Graphics: 2D plots EE 210 Review Branch

More information

A Brief Introduction to MATLAB

A Brief Introduction to MATLAB A Brief Introduction to MATLAB MATLAB (Matrix Laboratory) is an interactive software system for numerical computations and graphics. As the name suggests, MATLAB was first designed for matrix computations:

More information

TIME 2014 Technology in Mathematics Education July 1 st -5 th 2014, Krems, Austria

TIME 2014 Technology in Mathematics Education July 1 st -5 th 2014, Krems, Austria TIME 2014 Technology in Mathematics Education July 1 st -5 th 2014, Krems, Austria Overview Introduction Using a 2D Plot Window in a CAS Perspective Plotting a circle and implicit differentiation Helping

More information

Performance Study of Quaternion and Matrix Based Orientation for Camera Calibration

Performance Study of Quaternion and Matrix Based Orientation for Camera Calibration Performance Study of Quaternion and Matrix Based Orientation for Camera Calibration Rigoberto Juarez-Salazar 1, Carlos Robledo-Sánchez 2, Fermín Guerrero-Sánchez 2, J. Jacobo Oliveros-Oliveros 2, C. Meneses-Fabian

More information

Lecture «Robot Dynamics»: Kinematics 3

Lecture «Robot Dynamics»: Kinematics 3 Lecture «Robot Dynamics»: Kinematics 3 151-0851-00 V lecture: CAB G11 Tuesday 10:15 12:00, every week exercise: HG E1.2 Wednesday 8:15 10:00, according to schedule (about every 2nd week) office hour: LEE

More information

Fall 2015 Math 337. Basic MatLab

Fall 2015 Math 337. Basic MatLab Fall 215 Math 337 Basic MatLab MatLab is a powerful software created by MathWorks, which is used extensively in mathematics, engineering, and the sciences. It has powerful numerical and graphic capabilities,

More information

CHAPTER 2 SENSOR DATA SIMULATION: A KINEMATIC APPROACH

CHAPTER 2 SENSOR DATA SIMULATION: A KINEMATIC APPROACH 27 CHAPTER 2 SENSOR DATA SIMULATION: A KINEMATIC APPROACH 2.1 INTRODUCTION The standard technique of generating sensor data for navigation is the dynamic approach. As revealed in the literature (John Blakelock

More information

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES YINGYING REN Abstract. In this paper, the applications of homogeneous coordinates are discussed to obtain an efficient model

More information

Quaternions and Dual Coupled Orthogonal Rotations in Four-Space

Quaternions and Dual Coupled Orthogonal Rotations in Four-Space Quaternions and Dual Coupled Orthogonal Rotations in Four-Space Kurt Nalty January 8, 204 Abstract Quaternion multiplication causes tensor stretching) and versor turning) operations. Multiplying by unit

More information

Answers. Chapter 2. 1) Give the coordinates of the following points:

Answers. Chapter 2. 1) Give the coordinates of the following points: Answers Chapter 2 1) Give the coordinates of the following points: a (-2.5, 3) b (1, 2) c (2.5, 2) d (-1, 1) e (0, 0) f (2, -0.5) g (-0.5, -1.5) h (0, -2) j (-3, -2) 1 2) List the 48 different possible

More information

Derivative Of Rotation Matrix Direct Matrix Derivation

Derivative Of Rotation Matrix Direct Matrix Derivation We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your computer, you have convenient answers with derivative of rotation

More information

Singularity Loci of Planar Parallel Manipulators with Revolute Joints

Singularity Loci of Planar Parallel Manipulators with Revolute Joints Singularity Loci of Planar Parallel Manipulators with Revolute Joints ILIAN A. BONEV AND CLÉMENT M. GOSSELIN Département de Génie Mécanique Université Laval Québec, Québec, Canada, G1K 7P4 Tel: (418) 656-3474,

More information

Laboratory 1 Introduction to MATLAB for Signals and Systems

Laboratory 1 Introduction to MATLAB for Signals and Systems Laboratory 1 Introduction to MATLAB for Signals and Systems INTRODUCTION to MATLAB MATLAB is a powerful computing environment for numeric computation and visualization. MATLAB is designed for ease of use

More information

AMS 27L LAB #1 Winter 2009

AMS 27L LAB #1 Winter 2009 AMS 27L LAB #1 Winter 2009 Introduction to MATLAB Objectives: 1. To introduce the use of the MATLAB software package 2. To learn elementary mathematics in MATLAB Getting Started: Log onto your machine

More information

MTRX4700 Experimental Robotics

MTRX4700 Experimental Robotics MTRX 4700 : Experimental Robotics Lecture 2 Stefan B. Williams Slide 1 Course Outline Week Date Content Labs Due Dates 1 5 Mar Introduction, history & philosophy of robotics 2 12 Mar Robot kinematics &

More information

For each question, indicate whether the statement is true or false by circling T or F, respectively.

For each question, indicate whether the statement is true or false by circling T or F, respectively. True/False For each question, indicate whether the statement is true or false by circling T or F, respectively. 1. (T/F) Rasterization occurs before vertex transformation in the graphics pipeline. 2. (T/F)

More information

Contents. Implementing the QR factorization The algebraic eigenvalue problem. Applied Linear Algebra in Geoscience Using MATLAB

Contents. Implementing the QR factorization The algebraic eigenvalue problem. Applied Linear Algebra in Geoscience Using MATLAB Applied Linear Algebra in Geoscience Using MATLAB Contents Getting Started Creating Arrays Mathematical Operations with Arrays Using Script Files and Managing Data Two-Dimensional Plots Programming in

More information

10. Cartesian Trajectory Planning for Robot Manipulators

10. Cartesian Trajectory Planning for Robot Manipulators V. Kumar 0. Cartesian rajectory Planning for obot Manipulators 0.. Introduction Given a starting end effector position and orientation and a goal position and orientation we want to generate a smooth trajectory

More information

Animation Curves and Splines 2

Animation Curves and Splines 2 Animation Curves and Splines 2 Animation Homework Set up Thursday a simple avatar E.g. cube/sphere (or square/circle if 2D) Specify some key frames (positions/orientations) Associate Animation a time with

More information

Kinematics of Machines Prof. A. K. Mallik Department of Mechanical Engineering Indian Institute of Technology, Kanpur. Module - 3 Lecture - 1

Kinematics of Machines Prof. A. K. Mallik Department of Mechanical Engineering Indian Institute of Technology, Kanpur. Module - 3 Lecture - 1 Kinematics of Machines Prof. A. K. Mallik Department of Mechanical Engineering Indian Institute of Technology, Kanpur Module - 3 Lecture - 1 In an earlier lecture, we have already mentioned that there

More information

A Pair of Measures of Rotational Error for Axisymmetric Robot End-Effectors

A Pair of Measures of Rotational Error for Axisymmetric Robot End-Effectors A Pair of Measures of Rotational Error for Axisymmetric Robot End-Effectors Sébastien Briot and Ilian A. Bonev Department of Automated Manufacturing Engineering, École de Technologie Supérieure (ÉTS),

More information

Jacobians. 6.1 Linearized Kinematics. Y: = k2( e6)

Jacobians. 6.1 Linearized Kinematics. Y: = k2( e6) Jacobians 6.1 Linearized Kinematics In previous chapters we have seen how kinematics relates the joint angles to the position and orientation of the robot's endeffector. This means that, for a serial robot,

More information

A Guide to Using Some Basic MATLAB Functions

A Guide to Using Some Basic MATLAB Functions A Guide to Using Some Basic MATLAB Functions UNC Charlotte Robert W. Cox This document provides a brief overview of some of the essential MATLAB functionality. More thorough descriptions are available

More information

Inertial Measurement Units II!

Inertial Measurement Units II! ! Inertial Measurement Units II! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 10! stanford.edu/class/ee267/!! wikipedia! Polynesian Migration! Lecture Overview! short review of

More information

ENGG1811 Computing for Engineers Week 11 Part C Matlab: 2D and 3D plots

ENGG1811 Computing for Engineers Week 11 Part C Matlab: 2D and 3D plots ENGG1811 Computing for Engineers Week 11 Part C Matlab: 2D and 3D plots ENGG1811 UNSW, CRICOS Provider No: 00098G1 W11 slide 1 More on plotting Matlab has a lot of plotting features Won t go through them

More information

Pick and Place Robot Simulation

Pick and Place Robot Simulation Pick and Place Robot Simulation James Beukers Jordan Jacobson ECE 63 Fall 4 December 6, 4 Contents Introduction System Overview 3 3 State Space Model 3 4 Controller Design 6 5 Simulation and Results 7

More information

How to Avoid Singularity For Euler Angle Set? Puneet Singla, Daniele Mortari, and John L. Junkins

How to Avoid Singularity For Euler Angle Set? Puneet Singla, Daniele Mortari, and John L. Junkins AAS 04-190 How to Avoid Singularity For Euler Angle Set? Puneet Singla, Daniele Mortari, and John L. Junkins In this paper, an algorithm is proposed to avoid singularity associated with famous minimum

More information

Application 7.6A The Runge-Kutta Method for 2-Dimensional Systems

Application 7.6A The Runge-Kutta Method for 2-Dimensional Systems Application 7.6A The Runge-Kutta Method for -Dimensional Systems Figure 7.6. in the text lists TI-85 and BASIC versions of the program RKDIM that implements the Runge-Kutta iteration k (,, ) = f tn xn

More information

Lecture 11 Differentiable Parametric Curves

Lecture 11 Differentiable Parametric Curves Lecture 11 Differentiable Parametric Curves 11.1 Definitions and Examples. 11.1.1 Definition. A differentiable parametric curve in R n of class C k (k 1) is a C k map t α(t) = (α 1 (t),..., α n (t)) of

More information

Tentti/Exam Midterm 2/Välikoe 2, December

Tentti/Exam Midterm 2/Välikoe 2, December 1: 2: 3: Extra: Total 1-3: / 23 4: 5: 6: Total 4-6: / 20 Aalto ME-C3100 Computer Graphics, Fall 2015 Lehtinen / Kemppinen, Ollikainen, Puomio Tentti/Exam Midterm 2/Välikoe 2, December 16 2015 Name, student

More information

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute Jane Li Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute We know how to describe the transformation of a single rigid object w.r.t. a single

More information

The value of f(t) at t = 0 is the first element of the vector and is obtained by

The value of f(t) at t = 0 is the first element of the vector and is obtained by MATLAB Tutorial This tutorial will give an overview of MATLAB commands and functions that you will need in ECE 366. 1. Getting Started: Your first job is to make a directory to save your work in. Unix

More information

Rational Trigonometry Applied to Robotics

Rational Trigonometry Applied to Robotics Robot Kinematic Modeling using Rational Trigonometry 6 de Novembro de 2007 Overview Overview 1 Overview 2 3 The Fixed Frames Model for Robot Kinematics 4 Conclusions 4 Perspectives and Future Work 5 Q&A

More information

Polar Coordinates. OpenStax. 1 Dening Polar Coordinates

Polar Coordinates. OpenStax. 1 Dening Polar Coordinates OpenStax-CNX module: m53852 1 Polar Coordinates OpenStax This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License 4.0 Abstract Locate points

More information

A Quick Review of Trigonometry

A Quick Review of Trigonometry A Quick Review of Trigonometry As a starting point, we consider a ray with vertex located at the origin whose head is pointing in the direction of the positive real numbers. By rotating the given ray (initial

More information

Computer Animation II

Computer Animation II Computer Animation II Orientation interpolation Dynamics Some slides courtesy of Leonard McMillan and Jovan Popovic Lecture 13 6.837 Fall 2002 Interpolation Review from Thursday Splines Articulated bodies

More information

Robotics I. March 27, 2018

Robotics I. March 27, 2018 Robotics I March 27, 28 Exercise Consider the 5-dof spatial robot in Fig., having the third and fifth joints of the prismatic type while the others are revolute. z O x Figure : A 5-dof robot, with a RRPRP

More information

Dynamics Analysis for a 3-PRS Spatial Parallel Manipulator-Wearable Haptic Thimble

Dynamics Analysis for a 3-PRS Spatial Parallel Manipulator-Wearable Haptic Thimble Dynamics Analysis for a 3-PRS Spatial Parallel Manipulator-Wearable Haptic Thimble Masoud Moeini, University of Hamburg, Oct 216 [Wearable Haptic Thimble,A Developing Guide and Tutorial,Francesco Chinello]

More information

George Mason University Signals and Systems I Spring 2016

George Mason University Signals and Systems I Spring 2016 George Mason University Signals and Systems I Spring 2016 Laboratory Project #1 Assigned: January 25, 2016 Due Date: Laboratory Section on Week of February 15, 2016 Description: The purpose of this laboratory

More information

Scientific Computing for Physical Systems. Spring semester, 2018

Scientific Computing for Physical Systems. Spring semester, 2018 Scientific Computing for Physical Systems Spring semester, 2018 Course Goals Learn a programming language (Python) Learn some numerical algorithms (e.g., for solving differential equations) Explore some

More information

2. Plotting in MATLAB

2. Plotting in MATLAB 2. Plotting in MATLAB MATLAB provides several methods for plotting the graphs of functions and more general curves. The easiest to use is what we will call EZ plotting, since it uses the command ezplot

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Violeta Ivanova, Ph.D. Office for Educational Innovation & Technology violeta@mit.edu http://web.mit.edu/violeta/www Topics MATLAB Interface and Basics Calculus, Linear Algebra,

More information