The document discusses rigid body motion and homogeneous transformations. It describes how homogeneous transformations using rotation matrices can represent the position and orientation of rigid bodies related to different reference frames. Specifically, it explains how rotation matrices made up of direction cosines can describe the orientation of one reference frame with respect to another that has the same origin. It also presents the basic rotation matrices for elementary rotations about the x, y, and z axes.
This document provides an overview of time domain analysis techniques for control systems. It discusses common test inputs like impulse, step, and ramp functions used to characterize system performance. It describes how to determine a system's poles and zeros from its transfer function and use a pole-zero plot to understand system dynamics. Standard forms are presented for first and second order systems. Transient performance metrics like rise time, peak time, settling time, and overshoot are defined for characterizing step responses. The effects of poles and zeros on the system response are explained.
This document discusses mechanical vibrations and provides definitions and classifications of vibration terms. It covers the following key points in 3 sentences:
Mechanical vibrations involve the oscillatory motion of bodies and associated forces. All objects with mass and elasticity are capable of vibrating, and the design of engineering machines and structures must consider their oscillatory behavior. Harmonic motion is a specific type of periodic motion where the acceleration is proportional to the displacement from the equilibrium position.
1. The document discusses Lypunov stability and different types of stability including asymptotically stable, bounded-input bounded-output stable, and Lyapunov stability.
2. It provides conditions for asymptotic stability including having all eigenvalues of the system in the left half plane and defines an equilibrium state as a state where the system will not move from in the absence of input.
3. Lyapunov's method is introduced for analyzing stability using a Lyapunov function where the derivative must be negative semi-definite to guarantee asymptotic stability.
1. Trajectories for robotic arms can include via points that the arm passes close to but not necessarily through. Both position and orientation of the arm need to be interpolated along the trajectory.
2. Transitions between straight line segments of a trajectory involve constant acceleration curves like parabolas. The trajectory is planned to satisfy constraints like initial and final positions, velocities, and times.
3. Rotational transitions between orientations are found similarly by defining equivalent axes of rotation and making the rotation a linear function of time along the transition.
Finite Element analysis of Spring Assemblyanujajape
This document presents a finite element analysis of a spring assembly. It contains the following key points:
1) It describes a finite element model of a two-spring assembly, where each spring is modeled as a 1D element with one degree of freedom (axial displacement) at each node.
2) It presents the stiffness matrix formulation for a two-node spring element and shows how the element stiffness matrices are assembled into a global stiffness matrix.
3) It shows an example problem where the displacements and forces in each spring are determined when a 5N force is applied to the free end of the assembly. The analysis involves forming the stiffness matrix, applying boundary conditions, solving the equilibrium equations, and calculating the
The document describes an experiment to determine the natural frequency of a spring-mass system. A spring is attached vertically to an adjustable screw and platform. Weights are added to the platform to stretch the spring from its free length. The time for a set number of oscillations is measured for different weights. This is used to calculate the experimental periodic time and natural frequency, which are compared to the theoretical values calculated using the spring constant and mass. The results show that the experimental and theoretical natural frequencies match closely.
state space representation,State Space Model Controllability and Observabilit...Waqas Afzal
State Variables of a Dynamical System
State Variable Equation
Why State space approach
Block Diagram Representation Of State Space Model
Controllability and Observability
Derive Transfer Function from State Space Equation
Time Response and State Transition Matrix
Eigen Value
The document discusses dynamic modeling of robot manipulators using the Euler-Lagrange approach. It introduces dynamic models and the direct and inverse problems. The Euler-Lagrange approach is then explained in detail. It involves computing the kinetic and potential energies of each link based on the link masses, centers of mass, moments of inertia, and joint velocities and positions. This allows deriving the dynamic equations of motion for the manipulator.
This document provides an overview of time domain analysis techniques for control systems. It discusses common test inputs like impulse, step, and ramp functions used to characterize system performance. It describes how to determine a system's poles and zeros from its transfer function and use a pole-zero plot to understand system dynamics. Standard forms are presented for first and second order systems. Transient performance metrics like rise time, peak time, settling time, and overshoot are defined for characterizing step responses. The effects of poles and zeros on the system response are explained.
This document discusses mechanical vibrations and provides definitions and classifications of vibration terms. It covers the following key points in 3 sentences:
Mechanical vibrations involve the oscillatory motion of bodies and associated forces. All objects with mass and elasticity are capable of vibrating, and the design of engineering machines and structures must consider their oscillatory behavior. Harmonic motion is a specific type of periodic motion where the acceleration is proportional to the displacement from the equilibrium position.
1. The document discusses Lypunov stability and different types of stability including asymptotically stable, bounded-input bounded-output stable, and Lyapunov stability.
2. It provides conditions for asymptotic stability including having all eigenvalues of the system in the left half plane and defines an equilibrium state as a state where the system will not move from in the absence of input.
3. Lyapunov's method is introduced for analyzing stability using a Lyapunov function where the derivative must be negative semi-definite to guarantee asymptotic stability.
1. Trajectories for robotic arms can include via points that the arm passes close to but not necessarily through. Both position and orientation of the arm need to be interpolated along the trajectory.
2. Transitions between straight line segments of a trajectory involve constant acceleration curves like parabolas. The trajectory is planned to satisfy constraints like initial and final positions, velocities, and times.
3. Rotational transitions between orientations are found similarly by defining equivalent axes of rotation and making the rotation a linear function of time along the transition.
Finite Element analysis of Spring Assemblyanujajape
This document presents a finite element analysis of a spring assembly. It contains the following key points:
1) It describes a finite element model of a two-spring assembly, where each spring is modeled as a 1D element with one degree of freedom (axial displacement) at each node.
2) It presents the stiffness matrix formulation for a two-node spring element and shows how the element stiffness matrices are assembled into a global stiffness matrix.
3) It shows an example problem where the displacements and forces in each spring are determined when a 5N force is applied to the free end of the assembly. The analysis involves forming the stiffness matrix, applying boundary conditions, solving the equilibrium equations, and calculating the
The document describes an experiment to determine the natural frequency of a spring-mass system. A spring is attached vertically to an adjustable screw and platform. Weights are added to the platform to stretch the spring from its free length. The time for a set number of oscillations is measured for different weights. This is used to calculate the experimental periodic time and natural frequency, which are compared to the theoretical values calculated using the spring constant and mass. The results show that the experimental and theoretical natural frequencies match closely.
state space representation,State Space Model Controllability and Observabilit...Waqas Afzal
State Variables of a Dynamical System
State Variable Equation
Why State space approach
Block Diagram Representation Of State Space Model
Controllability and Observability
Derive Transfer Function from State Space Equation
Time Response and State Transition Matrix
Eigen Value
The document discusses dynamic modeling of robot manipulators using the Euler-Lagrange approach. It introduces dynamic models and the direct and inverse problems. The Euler-Lagrange approach is then explained in detail. It involves computing the kinetic and potential energies of each link based on the link masses, centers of mass, moments of inertia, and joint velocities and positions. This allows deriving the dynamic equations of motion for the manipulator.
The document discusses influence coefficients and approximate methods for determining natural frequencies of multi-degree of freedom systems. It defines influence coefficients as the influence of a unit displacement or force at one point on forces or displacements at other points. Approximate methods like Dunkerley's and Rayleigh's are described to quickly estimate fundamental natural frequencies. Dunkerley's method involves solving a polynomial equation to determine natural frequencies from flexibility influence coefficients of the system.
Lateral or transverse vibration of thin beamM. Ahmad
This document summarizes concepts related to continuous systems and the lateral vibration of simply supported thin beams. It discusses free vibration, which occurs without external forces, and forced vibration, which is caused by external forces. It also outlines the Euler-Bernoulli beam theory used to model thin beam vibration and provides the equations of motion. The document solves examples of determining natural frequencies of beams and the steady-state response of a pinned-pinned beam to a harmonic force.
This document discusses torsional vibrations in shafts. It provides equations to calculate the natural frequency of torsional vibrations based on the shaft's torsional stiffness, mass moment of inertia, and material properties. As an example, it calculates the natural frequency of a flywheel mounted on a vertical shaft. It then discusses multi-rotor shaft systems and how to determine the location of nodes. Finally, it provides methods to calculate the natural frequency and node locations of stepped shafts with varying diameters connecting multiple flywheels.
This document summarizes robot motion analysis and kinematics. It discusses the historical perspective of robots, definitions of robots, basic robot components, robot configurations, types of joints and kinematics. It also covers topics such as transformations, rotation matrices, homogeneous transformations, and inverse kinematics of one and two link manipulators. The document provides examples and references on these topics.
The document discusses manipulator Jacobians in robotics. A manipulator Jacobian is a matrix that is used to transform the velocity of robot joints into the velocity of the end effector. It has an upper half that describes the linear velocity of the end effector and a lower half that describes the angular velocity. The Jacobian allows the relationship between joint velocities and end effector velocities to be expressed mathematically. Examples are given to demonstrate how to calculate the Jacobian for specific robot manipulators.
Modern Control - Lec 02 - Mathematical Modeling of SystemsAmr E. Mohamed
This document provides an overview of mathematical modeling of physical systems. It discusses how to derive mathematical models from physical systems using differential equations based on governing physical laws. The key steps are: (1) defining the physical system, (2) formulating the mathematical model using differential equations, and (3) solving the equations. Common model types include differential equation, transfer function, and state-space models. The document also discusses modeling various physical elements like electrical circuits, mechanical translational/rotational systems, and electro-mechanical systems using differential equations. It covers block diagram representation and reduction of mathematical models. The overall goal is to realize the importance of deriving accurate mathematical models for analyzing and designing control systems.
This document provides notes on dynamics of machines from a professor at Kalaignarkarunanidhi Institute of Technology in Coimbatore, India. It covers topics like vibratory motion, types of vibrations including free, forced and damped vibrations. It defines key terms used in vibratory motion like period, cycle, frequency. It describes different types of free vibrations such as longitudinal, transverse and torsional vibrations. Methods to determine the natural frequency of free longitudinal vibration including equilibrium method, energy method and Rayleigh's method are presented. The document also discusses the effect of inertia of constraints in longitudinal vibration and frequency of free damped vibrations. An example problem is given to determine frequency of longitudinal
This document provides an introduction to control engineering. It discusses several key points:
1) Control engineering deals with designing systems to control dynamic processes and improve response speed, accuracy, and stability. This includes analyzing both classical and modern control methods.
2) Modern control engineering uses state-space and eigenvector approaches to model multi-input multi-output systems as sets of first-order differential equations.
3) Automatic control systems are commonly used, where a controlled variable is measured and compared to a setpoint to generate an output that achieves the desired result. This reduces costs and improves quality and productivity over manual control.
This document discusses robot kinematics and position analysis. It covers forward and inverse kinematics, including determining the position of a robot's hand given joint variables or calculating joint variables for a desired hand position. Different coordinate systems for representing robot positions are described, including Cartesian, cylindrical and spherical coordinates. The Denavit-Hartenberg representation for modeling robot kinematics is introduced, allowing the modeling of any robot configuration using transformation matrices.
This document discusses two degree of freedom systems and provides equations of motion for a two degree of freedom spring-mass system with damping. It presents the matrix form of the equations of motion and defines the mass, damping and stiffness matrices. It then analyzes the free vibration of an undamped two degree of freedom system, determining the natural frequencies and normal modes of vibration. The normal modes allow expressing the motion as a superposition of the individual mode shapes.
This presentation compares and contrasts two types of motors: the three phase schrage motor and the repulsion motor. The three phase schrage motor uses a commutator to produce unidirectional torque and can operate on AC or DC supply. It has a complicated structure but allows for easy speed and power factor control. The repulsion motor has a stator, rotor, commutator and brushes. It works by inducing voltage in the rotor conductors using the stator flux. Speed is varied by shifting the brushes. Both motors have applications in industrial machinery where variable speed is important.
This document discusses the design and applications of industrial robot manipulators. It describes how a robotic arm is composed of rigid links connected by joints, and defines important robot terms like degrees of freedom, joint types, link parameters, and work volume. It also categorizes common robot system configurations and explains robot kinematics, dynamics, motion types, and trajectory planning.
Exercise 1a transfer functions - solutionswondimu wolde
This document provides information about the course EE4107 - Cybernetics Advanced, including:
- An overview of transfer functions and how they are represented mathematically using numerators and denominators related to zeros and poles.
- How transfer functions can be derived from differential equations using Laplace transforms.
- Functions in MathScript that can be used to define transfer functions and analyze system responses.
- Examples of converting differential equations into transfer functions by taking the Laplace transform.
this this slideshare presentation we discussed about difference of vibration system for forced damping here this is having with simple definition and for dynamic of machinery without equation and simple method.
Continuous systems like beams and cables have mass and elasticity distributed throughout their length, giving them an infinite number of degrees of freedom and natural frequencies described by partial differential equations. The values of unknown constants in these equations can be determined by applying boundary conditions, including geometric conditions due to compatibility and natural conditions due to forces and moments, as well as initial conditions related to time. As an example, a vibrating string under tension will have its partial differential equation constants defined by its initial transverse vibrations and the constant tension force.
The document provides an introduction to control systems, including definitions, representations, classifications, and components. It defines a control system as a collection of devices that function together to drive a system's output in a desired direction. Control systems are classified as open-loop or closed-loop. Closed-loop systems include feedback, feedforward, and adaptive control systems. The key components of a control system are the input, process, output, sensing elements, and controller.
single degree of freedom systems forced vibrations KESHAV
SDOF, Forced vibration
includes following content
Forced vibrations of longitudinal and torsional systems,
Frequency Response to harmonic excitation,
excitation due to rotating and reciprocating unbalance,
base excitation, magnification factor,
Force and Motion transmissibility,
Quality Factor.
Half power bandwidth method,
Critical speed of shaft having single rotor of undamped systems.
This document provides an overview of robotics and automation as the topic of an elective course. It includes definitions of key robotics concepts like the definition of a robot, basic robot parts, degrees of freedom, generations of robots, and Asimov's laws of robotics. It also covers different robot types based on application and configuration. The document is divided into several units with topics that will be covered, related textbooks and references. Overall, it introduces fundamental robotics concepts and outlines the scope and content of the course.
Stereo 3D Simulation of Rigid Body Inertia Ellipsoid for The Purpose of Unman...inventionjournals
International Journal of Engineering and Science Invention (IJESI) is an international journal intended for professionals and researchers in all fields of computer science and electronics. IJESI publishes research articles and reviews within the whole field Engineering Science and Technology, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online.
The document discusses the kinematic modeling of robot manipulators. It introduces the forward and inverse kinematic problems and describes how the Denavit-Hartenberg convention is used to define a robot's kinematic model using homogeneous transformations. Specifically, it assigns reference frames to each link based on conventions, and uses only four parameters (ai, αi, di, θi) called Denavit-Hartenberg parameters to describe the relative pose of consecutive frames and define the overall kinematic model of the robot.
The document discusses influence coefficients and approximate methods for determining natural frequencies of multi-degree of freedom systems. It defines influence coefficients as the influence of a unit displacement or force at one point on forces or displacements at other points. Approximate methods like Dunkerley's and Rayleigh's are described to quickly estimate fundamental natural frequencies. Dunkerley's method involves solving a polynomial equation to determine natural frequencies from flexibility influence coefficients of the system.
Lateral or transverse vibration of thin beamM. Ahmad
This document summarizes concepts related to continuous systems and the lateral vibration of simply supported thin beams. It discusses free vibration, which occurs without external forces, and forced vibration, which is caused by external forces. It also outlines the Euler-Bernoulli beam theory used to model thin beam vibration and provides the equations of motion. The document solves examples of determining natural frequencies of beams and the steady-state response of a pinned-pinned beam to a harmonic force.
This document discusses torsional vibrations in shafts. It provides equations to calculate the natural frequency of torsional vibrations based on the shaft's torsional stiffness, mass moment of inertia, and material properties. As an example, it calculates the natural frequency of a flywheel mounted on a vertical shaft. It then discusses multi-rotor shaft systems and how to determine the location of nodes. Finally, it provides methods to calculate the natural frequency and node locations of stepped shafts with varying diameters connecting multiple flywheels.
This document summarizes robot motion analysis and kinematics. It discusses the historical perspective of robots, definitions of robots, basic robot components, robot configurations, types of joints and kinematics. It also covers topics such as transformations, rotation matrices, homogeneous transformations, and inverse kinematics of one and two link manipulators. The document provides examples and references on these topics.
The document discusses manipulator Jacobians in robotics. A manipulator Jacobian is a matrix that is used to transform the velocity of robot joints into the velocity of the end effector. It has an upper half that describes the linear velocity of the end effector and a lower half that describes the angular velocity. The Jacobian allows the relationship between joint velocities and end effector velocities to be expressed mathematically. Examples are given to demonstrate how to calculate the Jacobian for specific robot manipulators.
Modern Control - Lec 02 - Mathematical Modeling of SystemsAmr E. Mohamed
This document provides an overview of mathematical modeling of physical systems. It discusses how to derive mathematical models from physical systems using differential equations based on governing physical laws. The key steps are: (1) defining the physical system, (2) formulating the mathematical model using differential equations, and (3) solving the equations. Common model types include differential equation, transfer function, and state-space models. The document also discusses modeling various physical elements like electrical circuits, mechanical translational/rotational systems, and electro-mechanical systems using differential equations. It covers block diagram representation and reduction of mathematical models. The overall goal is to realize the importance of deriving accurate mathematical models for analyzing and designing control systems.
This document provides notes on dynamics of machines from a professor at Kalaignarkarunanidhi Institute of Technology in Coimbatore, India. It covers topics like vibratory motion, types of vibrations including free, forced and damped vibrations. It defines key terms used in vibratory motion like period, cycle, frequency. It describes different types of free vibrations such as longitudinal, transverse and torsional vibrations. Methods to determine the natural frequency of free longitudinal vibration including equilibrium method, energy method and Rayleigh's method are presented. The document also discusses the effect of inertia of constraints in longitudinal vibration and frequency of free damped vibrations. An example problem is given to determine frequency of longitudinal
This document provides an introduction to control engineering. It discusses several key points:
1) Control engineering deals with designing systems to control dynamic processes and improve response speed, accuracy, and stability. This includes analyzing both classical and modern control methods.
2) Modern control engineering uses state-space and eigenvector approaches to model multi-input multi-output systems as sets of first-order differential equations.
3) Automatic control systems are commonly used, where a controlled variable is measured and compared to a setpoint to generate an output that achieves the desired result. This reduces costs and improves quality and productivity over manual control.
This document discusses robot kinematics and position analysis. It covers forward and inverse kinematics, including determining the position of a robot's hand given joint variables or calculating joint variables for a desired hand position. Different coordinate systems for representing robot positions are described, including Cartesian, cylindrical and spherical coordinates. The Denavit-Hartenberg representation for modeling robot kinematics is introduced, allowing the modeling of any robot configuration using transformation matrices.
This document discusses two degree of freedom systems and provides equations of motion for a two degree of freedom spring-mass system with damping. It presents the matrix form of the equations of motion and defines the mass, damping and stiffness matrices. It then analyzes the free vibration of an undamped two degree of freedom system, determining the natural frequencies and normal modes of vibration. The normal modes allow expressing the motion as a superposition of the individual mode shapes.
This presentation compares and contrasts two types of motors: the three phase schrage motor and the repulsion motor. The three phase schrage motor uses a commutator to produce unidirectional torque and can operate on AC or DC supply. It has a complicated structure but allows for easy speed and power factor control. The repulsion motor has a stator, rotor, commutator and brushes. It works by inducing voltage in the rotor conductors using the stator flux. Speed is varied by shifting the brushes. Both motors have applications in industrial machinery where variable speed is important.
This document discusses the design and applications of industrial robot manipulators. It describes how a robotic arm is composed of rigid links connected by joints, and defines important robot terms like degrees of freedom, joint types, link parameters, and work volume. It also categorizes common robot system configurations and explains robot kinematics, dynamics, motion types, and trajectory planning.
Exercise 1a transfer functions - solutionswondimu wolde
This document provides information about the course EE4107 - Cybernetics Advanced, including:
- An overview of transfer functions and how they are represented mathematically using numerators and denominators related to zeros and poles.
- How transfer functions can be derived from differential equations using Laplace transforms.
- Functions in MathScript that can be used to define transfer functions and analyze system responses.
- Examples of converting differential equations into transfer functions by taking the Laplace transform.
this this slideshare presentation we discussed about difference of vibration system for forced damping here this is having with simple definition and for dynamic of machinery without equation and simple method.
Continuous systems like beams and cables have mass and elasticity distributed throughout their length, giving them an infinite number of degrees of freedom and natural frequencies described by partial differential equations. The values of unknown constants in these equations can be determined by applying boundary conditions, including geometric conditions due to compatibility and natural conditions due to forces and moments, as well as initial conditions related to time. As an example, a vibrating string under tension will have its partial differential equation constants defined by its initial transverse vibrations and the constant tension force.
The document provides an introduction to control systems, including definitions, representations, classifications, and components. It defines a control system as a collection of devices that function together to drive a system's output in a desired direction. Control systems are classified as open-loop or closed-loop. Closed-loop systems include feedback, feedforward, and adaptive control systems. The key components of a control system are the input, process, output, sensing elements, and controller.
single degree of freedom systems forced vibrations KESHAV
SDOF, Forced vibration
includes following content
Forced vibrations of longitudinal and torsional systems,
Frequency Response to harmonic excitation,
excitation due to rotating and reciprocating unbalance,
base excitation, magnification factor,
Force and Motion transmissibility,
Quality Factor.
Half power bandwidth method,
Critical speed of shaft having single rotor of undamped systems.
This document provides an overview of robotics and automation as the topic of an elective course. It includes definitions of key robotics concepts like the definition of a robot, basic robot parts, degrees of freedom, generations of robots, and Asimov's laws of robotics. It also covers different robot types based on application and configuration. The document is divided into several units with topics that will be covered, related textbooks and references. Overall, it introduces fundamental robotics concepts and outlines the scope and content of the course.
Stereo 3D Simulation of Rigid Body Inertia Ellipsoid for The Purpose of Unman...inventionjournals
International Journal of Engineering and Science Invention (IJESI) is an international journal intended for professionals and researchers in all fields of computer science and electronics. IJESI publishes research articles and reviews within the whole field Engineering Science and Technology, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online.
The document discusses the kinematic modeling of robot manipulators. It introduces the forward and inverse kinematic problems and describes how the Denavit-Hartenberg convention is used to define a robot's kinematic model using homogeneous transformations. Specifically, it assigns reference frames to each link based on conventions, and uses only four parameters (ai, αi, di, θi) called Denavit-Hartenberg parameters to describe the relative pose of consecutive frames and define the overall kinematic model of the robot.
The document discusses the kinematic modeling of robot manipulators. It introduces the forward and inverse kinematic problems and describes how the Denavit-Hartenberg convention is used to assign reference frames to each link of a robotic arm. This convention specifies assigning frames using four parameters - link offset (d), joint angle (θ), link length (a), and link twist (α). Together these parameters define the homogeneous transformation between adjacent links via rotation and translation operations, allowing the complete forward kinematic model to be described with minimal parameters.
This lecture covers the 6 degree-of-freedom equations of motion for spacecraft and aircraft. It begins with a review of Newton's laws, rotating reference frames, and coordinate rotations. It then derives the equations of motion for linear and angular momentum in an inertial frame and body-fixed frame. Due to the body-fixed frame rotating, additional terms are needed in the equations of motion. Euler angles are also introduced to relate vectors between the inertial and body-fixed frames.
Kinematics is the study of how robotic manipulators move. It describes the relationship between actuator movement and resulting end effector motion. Understanding a robot's kinematics, including its number of joints, degrees of freedom, and how parts are connected, is necessary for controlling its movement. Forward kinematics determines the end effector position from joint angles, while inverse kinematics finds required joint angles for a given end effector position. Homogeneous transformations provide a general mathematical approach for solving kinematics equations using matrix algebra.
1. Angular momentum is a fundamental physical quantity that describes the rotational motion of objects. It is defined as the cross product of an object's position vector and its linear momentum.
2. For a system of particles, the total angular momentum is the vector sum of the individual angular momenta. The angular momentum of a system remains constant if the net external torque on the system is zero.
3. Conservation of angular momentum is a fundamental principle of physics that applies to both isolated microscopic and macroscopic systems. It is a manifestation of the symmetry of space.
2D transformations can be represented by matrices and include translations, rotations, scalings, and reflections. Translations move objects by adding a translation vector. Rotations rotate objects around the origin by pre-multiplying the point coordinates with a rotation matrix. Scaling enlarges or shrinks objects by multiplying the point coordinates with scaling factors. Composite transformations represent multiple transformations applied in sequence, with the overall transformation represented as the matrix product of the individual transformations. The order of transformations matters as matrix multiplication is not commutative.
This document summarizes key concepts about rolling motion and angular momentum from a physics textbook chapter. It defines relationships between linear and angular quantities like displacement, velocity, acceleration for objects rolling without slipping. It also introduces angular momentum, torque, and conservation of angular momentum. Worked examples apply these concepts to problems about rolling cylinders, bowling balls, and objects rolling down inclined planes.
This document discusses robot kinematics and various representations used to describe the position and orientation of objects in 3D space. It introduces the homogeneous transformation matrix which uses rotation and translation operators to relate coordinate frames. Different coordinate systems like Cartesian, cylindrical and spherical are covered. It also discusses Euler angles, Denavit-Hartenberg parameters and their rules for assigning coordinates to define the kinematic structure of a robot.
This lecture discusses the analysis of inverse kinematics for robots. It covers deriving the inverse transformation matrix between coupled links, formulating the inverse kinematics of articulated robots using transformation matrices, and solving problems of robot inverse kinematics analysis. Examples are provided to demonstrate finding the inverse of transformation matrices.
This document discusses various 3D geometric transformations including translation, scaling, rotation, and coordinate transformations. It provides details on:
1) How translation, uniform scaling, and relative scaling transformations work in 3D space.
2) How rotations around the x, y, z axes as well as arbitrary axes are performed using transformation matrices.
3) How rotations can also be represented using quaternion algebra and how this relates to transformation matrices.
4) How objects can be transformed between different coordinate systems through sequences of translation, rotation, and scaling transformations.
This document discusses various 3D geometric transformations including translation, scaling, rotation, and coordinate transformations. It provides details on:
1) How translation, uniform scaling, and relative scaling transformations work in 3D space.
2) How rotations around the x, y, z axes as well as general 3D rotations around arbitrary axes are performed.
3) How quaternions can be used to represent rotations and how rotation matrices are derived from quaternions.
4) How reflections, shears, and different coordinate systems require coordinate transformations between systems.
This document introduces robot kinematics and common robot joints. It discusses forward and inverse kinematics problems. Key concepts covered include the dot product, unit vectors, matrix representations, basic transformations between coordinate frames including translation and rotation, and representing these using homogeneous transformations. Transformations are expressed using rotation and translation matrices. The document provides examples of applying these concepts to find the position of points given joint angles or find required joint angles given a point position.
3D transformation in computer graphicsSHIVANI SONI
This document discusses different types of 2D and 3D transformations that are used in computer graphics, including translation, rotation, scaling, shearing, and reflection. It provides the mathematical equations and transformation matrices used to perform each type of transformation on 2D and 3D points and objects. Key types of rotations discussed are roll (around z-axis), pitch (around x-axis), and yaw (around y-axis). Homogeneous coordinates are introduced for representing 3D points.
Centroid and Moment of Inertia from mechanics of material by hibbler related ...FREE LAUNCER
Centroids and moment of inertia are important concepts in mechanics. The centroid of a plane figure is the point where the entire area is considered to be concentrated. It is found by suspending the figure from different corners and finding the intersection point of vertical lines. The center of gravity is where the entire mass is considered concentrated. For uniform plane figures with no weight, the centroid and center of gravity coincide. The moment of inertia is a measure of an object's resistance to changes in rotation or bending and depends on the object's mass distribution and axis of rotation. It is calculated based on the object's area or mass distances from the axis of rotation.
How to Prepare Rotational Motion (Physics) for JEE MainEdnexa
The document discusses the cross product, torque, rotational motion, and angular momentum. It defines the cross product of two vectors A and B as a vector C perpendicular to both A and B with magnitude ABsinθ. It describes properties of the cross product including being anti-commutative. It also defines torque as a measure of the tendency of a force to cause rotational motion, and discusses rotational dynamics and angular momentum.
The document discusses forward kinematics, which is finding the position and orientation of the end effector given the joint angles of a robot. It covers different types of robot joints and configurations. It introduces the Denavit-Hartenberg coordinate system for defining the relationship between successive links of a robot. The document also discusses forward kinematic calculations, inverse kinematics, robot workspaces, and trajectory planning.
This document provides an introduction to robot kinematics. It discusses the basic joints used in robotics including revolute, spherical, and prismatic joints. It covers forward and inverse kinematics problems. Key concepts explained include homogeneous transformations using 4x4 matrices to represent rotations and translations between coordinate frames, and rotation matrices for transforming between 3D coordinate systems. Examples are provided for finding the homogeneous transformation matrix between different robot link frames.
1) The motion of a rigid body can be described by tracking the position of a reference trihedron attached to the body over time.
2) At each instant, the orientation of the mobile trihedron relative to a fixed reference frame is defined by a rotation dyadic with a rotation axis and angle.
3) The rotation dyadic transforms the fixed frame vectors into the mobile frame vectors, allowing the position and orientation of any point on the rigid body to be determined as a function of time.
Positive displacement pumps are best suited for hydraulic applications because they provide a precise, constant flow regardless of pressure. Centrifugal pumps are not suitable as their flow decreases significantly under load. Positive displacement pumps trap fluid and displace it from inlet to outlet with no return passage. Proper clearances ensure outlet fluid does not return to the inlet. Flow rate is calculated based on displacement volume and rpm. Pump selection depends on factors like maximum pressure, flow rate, mounting, temperature range, and cost. Piston pumps work by using check valves and pressure differentials to draw fluid into the pump chamber on the intake stroke and eject it on the discharge stroke.
This document provides an overview of pneumatic controls and pneumatic cylinders. It discusses various types of pneumatic cylinders including single acting, double acting, tandem, rodless, and rotary cylinders. It describes the components and operation of pneumatic control systems including directional control valves, cylinders, and various control methods. Key topics covered include characteristics of compressed air, selection criteria for pneumatic control systems, applications of pneumatic controls in manufacturing, and the structure and components of typical pneumatic control systems.
This document discusses the features and operating principles of hydraulic cylinders. It begins by describing the basic components and functions of single-acting and double-acting cylinders. It then explains how hydraulic cylinders can produce force in both linear and rotary motions using various mountings and linkages. The document also provides equations to calculate the output force, velocity, and power of double-acting cylinders during extension and retraction strokes. It concludes by discussing special cylinder designs like double-rod and telescopic cylinders, and how cylinder cushions are used to decelerate pistons at the ends of strokes.
Hydra&pneum ramani pumptypes and operationsPraveen Djadhav
This document provides an overview of different types of pumps used in hydraulic systems. It discusses non-positive displacement pumps like centrifugal pumps that use centrifugal force. It focuses on positive displacement pumps like gear pumps, vane pumps, and piston pumps. It describes the working of internal and external gear pumps, fixed and variable displacement vane pumps including single and double configurations, and provides details on pump ratings and objectives to understand these pump types.
The document discusses the results of a study on the effects of a new drug on memory and cognitive function in older adults. The double-blind study involved 100 participants aged 65-80 and found that those given the drug performed significantly better on memory and problem-solving tests than the placebo group after 6 months. The drug was found to be safe and well-tolerated with no serious side effects reported.
A potentiometer's state was read and printed to the Arduino Serial Monitor in 3 sentences or less. The document discusses reading the value of a potentiometer and outputting it to the Serial Monitor of an Arduino board.
This document provides an overview and objectives of a course module on robot manipulator kinematics. It discusses velocity analysis of manipulators, including forward and inverse kinematics. As an example, it analyzes the velocity of links for a 6 degree of freedom (6R) PUMA serial manipulator using Jacobian matrices. It concludes by recapping the key objectives of learning how to obtain forward and inverse velocity of links for the 6R PUMA robot model.
This document provides an overview of a course module on robot manipulator kinematics. It discusses velocity analysis of manipulators, including forward and inverse kinematics. As an example, it analyzes the velocity of links for a 6 degree of freedom (6R) PUMA serial manipulator robot. Using the Jacobian matrix, it derives equations to determine the linear and angular velocities of each link from the time derivatives of the joint variables.
This document discusses forward and inverse kinematics examples of different types of robot manipulators including 2R, 3R, and 3P manipulators. It provides examples of solving forward and inverse kinematics for specific manipulator types, including:
1) PUMA robot with both concurrent and non-concurrent wrists. The inverse kinematics is solved to find the joint positions given the end effector position and orientation.
2) SCARA manipulator with RRP pairs as arms. The forward and inverse position calculations are demonstrated.
3) Cylindrical and spherical robots with 3 DOF non-concurrent wrists. The procedures for obtaining the inverse kinematics solutions are described.
4
This document discusses forward kinematics for a 6R robotic manipulator using Denavit-Hartenberg parameters. It explains how to determine the position and orientation of each link relative to a global reference frame by setting up intermediate reference frames and calculating the homogeneous transformation matrix between each link. The forward kinematics solution provides the transformation matrix relating the end effector to the base, which can then be used to check for obstacles in the robot's workspace.
This document discusses Denavit-Hartenberg (D-H) parameters for representing the kinematics of robot manipulators. It defines the four D-H parameters for each link of a manipulator: link length (a), link twist (alpha), link offset (d), and joint angle (theta). Conventions are presented for defining the reference frames between links based on these parameters. As an example, the document applies D-H parameters to represent the kinematics of a PUMA robot, showing the specific parameter values for each of its six revolute joints.
This document discusses homogeneous coordinate transformations for robot manipulators. It presents two theorems for transforming coordinates between reference frames after rotation. An example problem calculates the position and orientation matrices to transform between the initial and final end effector coordinates for a system picking up an object with three pegs from a table and placing it on an inclined plane. The solution finds the rotation and transformation matrices between the different reference frames attached to the object and end effector to specify its position and orientation in both cases.
This document discusses different methods for specifying the orientation and position of rigid bodies, including:
1. Euler's angles use three sequential rotation angles (a, b, c) to specify orientation by first rotating the z-axis by a, then the new x-axis by b, and finally the new z-axis by c.
2. Fixed frame rotation rotates the local reference frame with respect to the global frame in a 1-2-3 sequence using angles a, b, c.
3. Rotation about a fixed vector specifies orientation by rotating about a particular vector u by an angle θ. The rotation matrix is determined from u and θ.
This document discusses specifying the position and orientation of rigid bodies using parameters. It explains that six degrees of freedom are required to fully specify the three-dimensional position and three-dimensional orientation of a rigid body. Rotation matrices are introduced as a way to represent the orientation of one coordinate system relative to another. Examples are provided to demonstrate how to determine the global coordinates of a point given its local coordinates, and how to calculate the position and orientation of one rigid body relative to another when the relationships between each body and an intermediate body are known.
This document discusses forward and inverse kinematics problems for robot manipulators. It provides examples of solving forward and inverse kinematics for a 2R, 3R, and 3P manipulator. For a 2R manipulator, it shows how to calculate the end effector position given joint angles, and how to calculate the joint angles given the end effector position. For a 3R manipulator, it reduces the problem to a 2R manipulator by determining the new base coordinate system. It also briefly mentions that a 3P manipulator inverse kinematics problem involves determining the joint parameters given the end effector position in 3D space.
This document summarizes key concepts from a lecture on manipulator mechanisms: transmission angles are important for power transmission efficiency and certain mechanisms couple actuator motions so movement of one actuator affects both angles. Remote center compliance elements are used in grippers to accommodate minor errors in alignment through flexible elements in the gripper wrist connection.
This document discusses manipulator mechanisms, including degrees of freedom, parallel manipulators, and teaching manipulators. It covers the following key points:
1) Degrees of freedom for serial manipulators is equal to the number of moving links. Closed chain mechanisms use Gubler's formula to determine degrees of freedom based on the number of links, revolute joints, and prismatic joints.
2) Parallel manipulators like the Stewart platform use six prismatic links connected to two rings by ball-and-socket and hook joints, giving it six degrees of freedom.
3) Manipulators can be used as measuring tools by knowing link lengths and joint angles to determine the position and orientation of the end effector
This document provides an overview of industrial manipulator kinematics and accuracy/repeatability. It discusses the different types of links and joints used in manipulators, including revolute and prismatic joints. Forward and inverse kinematics are introduced for determining the end effector position from joint angles or vice versa. Accuracy refers to how close the end effector gets to the target position, while repeatability is the consistency of reaching the same cluster of points. Good accuracy and repeatability are achieved when the end effector repeatedly reaches a cluster close to the target point.
This document discusses sensors and controllers in robots. It covers different types of actuators like stepper motors, DC motors, and hydraulic and pneumatic actuators. It also discusses sensors that measure internal state, external state, position, velocity, acceleration, torques, forces, touch, slip, range and vision. The document recaps that it covered actuators, sensors, basic robot movements and how robots interact with their environment. It concludes by congratulating the reader on finishing the lecture.
This document discusses different types of actuators used for robotics including stepper motors, hydraulics, and pneumatics. It describes stepper motors as moving through discrete steps in response to electric pulses, with different types including variable reluctance, permanent magnet, and hybrid stepper motors. Performance characteristics of stepper motors like pull-in torque, pull-out torque, and holding torque are defined. Hydraulic and pneumatic systems use fluid power to actuate cylinders and move heavy loads, with hydraulic systems using high-pressure oil pumps and pneumatic systems using compressed air. Valves are used to control the flow and motion of hydraulic and pneumatic cylinders.
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
Comparative analysis between traditional aquaponics and reconstructed aquapon...bijceesjournal
The aquaponic system of planting is a method that does not require soil usage. It is a method that only needs water, fish, lava rocks (a substitute for soil), and plants. Aquaponic systems are sustainable and environmentally friendly. Its use not only helps to plant in small spaces but also helps reduce artificial chemical use and minimizes excess water use, as aquaponics consumes 90% less water than soil-based gardening. The study applied a descriptive and experimental design to assess and compare conventional and reconstructed aquaponic methods for reproducing tomatoes. The researchers created an observation checklist to determine the significant factors of the study. The study aims to determine the significant difference between traditional aquaponics and reconstructed aquaponics systems propagating tomatoes in terms of height, weight, girth, and number of fruits. The reconstructed aquaponics system’s higher growth yield results in a much more nourished crop than the traditional aquaponics system. It is superior in its number of fruits, height, weight, and girth measurement. Moreover, the reconstructed aquaponics system is proven to eliminate all the hindrances present in the traditional aquaponics system, which are overcrowding of fish, algae growth, pest problems, contaminated water, and dead fish.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
Batteries -Introduction – Types of Batteries – discharging and charging of battery - characteristics of battery –battery rating- various tests on battery- – Primary battery: silver button cell- Secondary battery :Ni-Cd battery-modern battery: lithium ion battery-maintenance of batteries-choices of batteries for electric vehicle applications.
Fuel Cells: Introduction- importance and classification of fuel cells - description, principle, components, applications of fuel cells: H2-O2 fuel cell, alkaline fuel cell, molten carbonate fuel cell and direct methanol fuel cells.
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...University of Maribor
Slides from talk presenting:
Aleš Zamuda: Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapter and Networking.
Presentation at IcETRAN 2024 session:
"Inter-Society Networking Panel GRSS/MTT-S/CIS
Panel Session: Promoting Connection and Cooperation"
IEEE Slovenia GRSS
IEEE Serbia and Montenegro MTT-S
IEEE Slovenia CIS
11TH INTERNATIONAL CONFERENCE ON ELECTRICAL, ELECTRONIC AND COMPUTING ENGINEERING
3-6 June 2024, Niš, Serbia
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSIJNSA Journal
The smart irrigation system represents an innovative approach to optimize water usage in agricultural and landscaping practices. The integration of cutting-edge technologies, including sensors, actuators, and data analysis, empowers this system to provide accurate monitoring and control of irrigation processes by leveraging real-time environmental conditions. The main objective of a smart irrigation system is to optimize water efficiency, minimize expenses, and foster the adoption of sustainable water management methods. This paper conducts a systematic risk assessment by exploring the key components/assets and their functionalities in the smart irrigation system. The crucial role of sensors in gathering data on soil moisture, weather patterns, and plant well-being is emphasized in this system. These sensors enable intelligent decision-making in irrigation scheduling and water distribution, leading to enhanced water efficiency and sustainable water management practices. Actuators enable automated control of irrigation devices, ensuring precise and targeted water delivery to plants. Additionally, the paper addresses the potential threat and vulnerabilities associated with smart irrigation systems. It discusses limitations of the system, such as power constraints and computational capabilities, and calculates the potential security risks. The paper suggests possible risk treatment methods for effective secure system operation. In conclusion, the paper emphasizes the significant benefits of implementing smart irrigation systems, including improved water conservation, increased crop yield, and reduced environmental impact. Additionally, based on the security analysis conducted, the paper recommends the implementation of countermeasures and security approaches to address vulnerabilities and ensure the integrity and reliability of the system. By incorporating these measures, smart irrigation technology can revolutionize water management practices in agriculture, promoting sustainability, resource efficiency, and safeguarding against potential security threats.
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Sinan KOZAK
Sinan from the Delivery Hero mobile infrastructure engineering team shares a deep dive into performance acceleration with Gradle build cache optimizations. Sinan shares their journey into solving complex build-cache problems that affect Gradle builds. By understanding the challenges and solutions found in our journey, we aim to demonstrate the possibilities for faster builds. The case study reveals how overlapping outputs and cache misconfigurations led to significant increases in build times, especially as the project scaled up with numerous modules using Paparazzi tests. The journey from diagnosing to defeating cache issues offers invaluable lessons on maintaining cache integrity without sacrificing functionality.
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Fir 03 rbody
1. Ridig Body Motion – Homogeneous Transformations
Claudio Melchiorri
Dipartimento di Elettronica, Informatica e Sistemistica (DEIS)
Universit`a di Bologna
email: claudio.melchiorri@unibo.it
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 1 / 80
2. Summary
1 Ridig Body Motion
Rotations
Translations
2 Homogeneous transformations
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 2 / 80
3. Ridig Body Motion
Ridig Body Motion – Homogeneous Transformations
Ridig Body Motion
Claudio Melchiorri
Dipartimento di Elettronica, Informatica e Sistemistica (DEIS)
Universit`a di Bologna
email: claudio.melchiorri@unibo.it
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 3 / 80
4. Ridig Body Motion
Rigid body motions - Homogeneous transformations
Description of the manipulator kinematic properties:
Description of the geometric characteristics of the robot’s motion (position,
velocity, acceleration), without considering the forces applied to it
The solution of the kinematic problem is based on:
definition of a reference frame associated to each link of the manipulator
a procedure for the computation of the relative motion (position, velocity,
acceleration) of these frames due to joints’ movements.
It is necessary to introduce some conventions to describe the position/orientation
of rigid bodies and their motion in the space:
kinematic properties of a rigid body and how to describe them
homogenous transformations
description of position and velocity (force) vectors in different reference
frames.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 4 / 80
5. Ridig Body Motion
Rigid body and its representation
A manipulator is composed by a series of rigid
bodies, the links, connected by joints that allow a
relative motion.
RIGID BODY: idealization of a solid body of fi-
nite size in which deformation is neglected: the
distance between any two given points of a rigid
body remains constant in time regardless of exter-
nal forces exerted on it.
||p(t) − q(t)|| = d(p(t), q(t)) = cost
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 5 / 80
6. Ridig Body Motion
Rigid body and its representation
Some assumptions:
The 3D operational space is represented by the vector space IR3
,
In the 3D space, are defined the inner product
uT
v =
n
i=1
ui vi = ||u||||v|| cos θ u, v ∈ IRn
and the Euclidean norm
||u|| = uT
u =
n
i=1
u2
i u ∈ IRn
We often use Cartesian (right-handed) reference frames, with homogenous
dimensions along the axes
The base frame is an inertial frame.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 6 / 80
7. Ridig Body Motion
Rigid body and its representation
General definition of norm:
u = uT
W u
being W a matrix:
symmetric
positive definite
Often, W is a diagonal matrix.
Since W = VT
V, then:
u = uT
W u = (uT
VT
)(Vu) = xT
x
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 7 / 80
8. Ridig Body Motion
Rigid body and its representation
In IR3
, a rigid body has 6 degrees of freedom (dof):
3 for the position, x, y, z;
3 for the orientation, α, β, γ.
In general, a rigid body in IRn
has
n dof for the position
n(n − 1)/2 dof for the orientation
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 8 / 80
9. Ridig Body Motion
Rigid body and its representation
Roto-translation motion: most general motion of a rigid body in the space,
composed by a rotation about an axis (instantaneous axis of rotation) and a
translation along the same axis.
Problem of describing the instantaneous position/orientation of a rigid body with
respect to a fixed base frame
Let 0
o1 be the origin of the frame F1 fixed to the
rigid body, expressed in F0 . Each point of the
body has coordinates
1
p = [1
px
1
py
1
pz ]T
constant with respect to F1 .
Since the body moves, the same point has coor-
dinates 0
p, expressed in F0 , variable in time
0
p = [0
px
0
py
0
pz ]T
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 9 / 80
10. Ridig Body Motion
Rigid body and its representation
First problem: if point p is known in
F1 , compute the equivalent represen-
tation in F0 .
1
p =⇒ 0
p
The problem is solved by using the Homogeneous Transformation Matrix 0
T1:
0
T1 =
0
R1
0
o1
0 0 0 1
=
nx sx ax ox
ny sy ay oy
nz sz az oz
0 0 0 1
defining the transformation (roto-translation) between F1 and F0 .
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 10 / 80
11. Ridig Body Motion
Rigid body and its representation
The problem is decomposed into two parts:
1 F0 and F1 share the same origin, and have a different orientation in space
2 F0 and F1 have parallel axes but a different origin (translation).
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 11 / 80
12. Ridig Body Motion
Ridig Body Motion – Homogeneous Transformations
Rotations
Claudio Melchiorri
Dipartimento di Elettronica, Informatica e Sistemistica (DEIS)
Universit`a di Bologna
email: claudio.melchiorri@unibo.it
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 12 / 80
13. Ridig Body Motion Rotations
Rotations
Consider two reference frames F0 and F1 with the same origin, i.e. o1 ≡ o0.
Given a vector 0
v in F0 , its components vx , vy , vz are the orthogonal projections
of 0
v on the coordinate axes.
vx = 0
vT
i = ||0
v|| cos α1
vy = 0
vT
j = ||0
v|| cosα2
vz = 0
vT
k = ||0
v|| cos α3
i, j, k: unit vectors defining the directions of x0, y0, z0
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 13 / 80
14. Ridig Body Motion Rotations
Rotations
If 0
v indicates an axis of F1 , e.g. 0
i1, then 0
i1 = [0
ix
0
ij
0
iz]T
, where
0
ix = 0
iT
1 i = cos α1
0
iy = 0
iT
1 j = cos α2
0
iz = 0
iT
1 k = cos α3
This is a well known result:
0
i1 = [cos α1, cos α2, cos α3]T
the components of a unit vector with respect to a reference frame are its direction
cosines.
A similar results holds for the other directions 0
j1 and 0
k1.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 14 / 80
15. Ridig Body Motion Rotations
Rotations
Once the direction cosines of the three axes of F1 with respect to F0 are known,
the matrix R may be defined:
R =
0
iT
1 i 0
jT
1 i 0
kT
1 i
0
iT
1 j 0
jT
1 j 0
kT
1 j
0
iT
1 k 0
jT
1 k 0
kT
1 k
0
i1, 0
j1, 0
k1: axes of F1 expressed in F0
i, j, k: axes of F0 .
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 15 / 80
16. Ridig Body Motion Rotations
Rotations
EXAMPLE
By projecting the unit vectors i1, j1, k1 on i0, j0, k0, the components of the
principal axes of F1 in F0 are obtained:
i1 = [0, 1/
√
2, −1/
√
2]T
j1 = [0, 1/
√
2, 1/
√
2]T
k1 = [1, 0, 0]T
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 16 / 80
17. Ridig Body Motion Rotations
Rotations
The rotation matrix between F0 and F1 is obtained from these three vectors:
R =
0 0 1
1√
2
1√
2
0
− 1√
2
1√
2
0
In general
x1 y1 z1
x0
y0
z0
r11 r12 r13
r21 r22 r23
r31 r32 r33
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 17 / 80
18. Ridig Body Motion Rotations
Rotations
Usually, in robotics the symbols n, s, a, are used to indicate the axes x1, y1, z1,
then
0
R1 = [0
n 0
s 0
a] =
nx sx ax
ny sy ay
nz sz az
defining the relative orientation between F0 and F1 .
Symbols n, s, a refer to a frame fixed on the end-
effector (e.g. gripper) with
z axis (a) along the approach direction
y axis (s) in the sliding plane of the fingers
x axis (n) in the normal direction with respect to
y, z.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 18 / 80
19. Ridig Body Motion Rotations
Rotations
Rotation matrix:
R = [n s a] =
nx sx ax
ny sy ay
nz sz az
From the conditions:
nT
a = sT
a = sT
n = 0
||n|| = ||s|| = ||a|| = 1
it follows that R is an orthonormal matrix, i.e.
R RT
= RT
R = I3 I3: 3 × 3 identity matrix
A rotation matrix is always invertible. By pre-multiplying by R−1
we have
R−1
= RT
i.e. 0
R−1
1 = 1
R0 = 0
RT
1
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 19 / 80
20. Ridig Body Motion Rotations
Elementary rotations
Consider two frames F0 and F1 with coincident origins.
Rotations of θ about the x0, y0, and z0 axes
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 20 / 80
21. Ridig Body Motion Rotations
Elementary rotations
In the first case, F1 is obtained with a rotation of an angle θ about the x0 axis of
F0 .
From
R =
0
iT
1 i 0
jT
1 i 0
kT
1 i
0
iT
1 j 0
jT
1 j 0
kT
1 j
0
iT
1 k 0
jT
1 k 0
kT
1 k
we have
0
R1 = Rot(x, θ) =
1 0 0
0 cos θ − sin θ
0 sin θ cos θ
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 21 / 80
22. Ridig Body Motion Rotations
Elementary rotations
Similarly, considering rotations about y0 and z0:
0
R1 = Rot(y, θ) =
cos θ 0 sin θ
0 1 0
− sinθ 0 cos θ
0
R1 = Rot(z, θ) =
cos θ − sin θ 0
sin θ cos θ 0
0 0 1
Rotation matrices R relate different reference frames.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 22 / 80
23. Ridig Body Motion Rotations
Rotations
Another interpretation for rotation matrices.
Let us consider a rotation of point 0
p1 = [7, 3, 2]T
by 90o
about z0.
The matrix expressing the rotation is
R1 = Rot(z, 90o
) =
cos 90o
− sin 90o
0
sin 90o
cos 90o
0
0 0 1
=
0 −1 0
1 0 0
0 0 1
Therefore:
0
p2 =
−3
7
2
=
0 −1 0
1 0 0
0 0 1
7
3
2
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 23 / 80
24. Ridig Body Motion Rotations
Rotations
Consider now a second rotation of 90o
about y0:
0
p3 =
2
7
3
= R2
0
p2 =
0 0 1
0 1 0
−1 0 0
−3
7
2
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 24 / 80
25. Ridig Body Motion Rotations
Rotations
By combining the two rotations one obtains
R = R2R1 =
0 0 1
0 1 0
−1 0 0
0 −1 0
1 0 0
0 0 1
=
0 0 1
1 0 0
0 1 0
from which
0
p3 =
2
7
3
= R 0
p1 =
0 0 1
1 0 0
0 1 0
7
3
2
Rotation matrices “rotates” vectors
with respect to a fixed reference frame.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 25 / 80
26. Ridig Body Motion Rotations
Axis/angle rotations
Rotation θ about a generic unit vector w = [wx wy wz]T
.
The rotation of the angle θ about w is equivalent
to the following procedure:
Aligne w with z0
Rotate by θ about w ≡ z0
Restore w in its original position.
Each rotation is performed with respect to F0 , then:
Rot(w, θ) = Rot(z0, α)Rot(y0, β)Rot(z0, θ)Rot(y0, −β)Rot(z0, −α)
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 26 / 80
27. Ridig Body Motion Rotations
Axis/angle rotations
Moreover, since ||w|| = 1, we have:
sin α =
wy
w2
x + w2
y
cos α =
wx
w2
x + w2
y
sin β = w2
x + w2
y cos β = wz
The matrix R representing the rotation is therefore given by
R(w, θ) =
wx wxVθ + Cθ wy wx Vθ − wz Sθ wz wxVθ + wy Sθ
wx wy Vθ + wz Sθ wy wy Vθ + Cθ wz wy Vθ − wxSθ
wx wz Vθ − wy Sθ wy wz Vθ + wxSθ wz wz Vθ + Cθ
being Cθ = cos θ, Sθ = sin θ, e Vθ = vers θ = 1 − cos θ.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 27 / 80
28. Ridig Body Motion Rotations
Proprieties of rotations
1. Not all the orthogonal matrices (RT
R = I) for which the following conditions
nT
a = sT
a = sT
n = 0
||n|| = ||s|| = ||a|| = 1
are satisfied represent rotations. For example, matrix
S =
1 0 0
0 −1 0
0 0 1
does not represent a rotation, but rather a “specular” transformation.
It is not possible, starting from F0 , to ob-
tain frame F1 with a rotation. F1 may be
obtained only by means of a specular reflec-
tion.
This is not physically feasible for a rigid
body.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 28 / 80
29. Ridig Body Motion Rotations
Proprieties of rotations
If matrix R represents a rigid body rotation, then
det(R) = 1
Because of their properties, the rotation matrices in IR3
belong to a “special set”,
the Special Orthogonal group of order 3, i.e. So(3).
More in general, the set of n × n matrices R satisfying the two conditions
RRT
= RT
R = I
det(R) = +1
is called So(n): Special Orthogonal group in IRn
=⇒ Special: det(R) = +1
=⇒ Orthogonal: RRT
= RT
R = I
So(n) = {R ∈ IRn×n
: RRT
= RT
R = I, det(R) = +1}
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 29 / 80
30. Ridig Body Motion Rotations
Proprieties of rotations
2. The equations
0
R1 = [ 0
n 0
s 0
a ] =
nx sx ax
ny sy ay
nz sz az
0
R−1
1 = 1
R0 = 0
RT
1
allow to consider the relative rotation of two frames, and to transform in
F0 vectors defined in F1 . The expression of 1
p in F0 is given by:
0
p = 0
R1
1
p =
nx sx ax
ny sy ay
nz sz az
1
p
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 30 / 80
31. Ridig Body Motion Rotations
Proprieties of rotations
The composition of more rotations is expressed by a simple matrix multiplication:
Given n + 1 reference frames F0 , ..., Fn with coincident origins and relative
orientation expressed by i−1
Ri , i = 1, . . . n, and given the vector n
p in Fn , then
0
p = 0
R1
1
R2...n−1
Rn
n
p
A note about computational complexity:
0
p = (0
R1
1
R2
2
R3) 3
p = 0
R3
3
p →
63 products
42 summations
0
p = (0
R1 (1
R2 (2
R3
3
p)
2p
)
1p
) →
27 products
18 summations
3. From 0
p = 0
R1
1
p it follows that a rotation applied to vector 1
p is a linear
function: 0
p = r(1
p) = 0
R1
1
p. Given two vectors p, q and two scalar
quantities a, b, we have
r(ap + bq) = ar(p) + br(q)
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 31 / 80
32. Ridig Body Motion Rotations
Proprieties of rotations
4. Rotations do not change the amplitude of a vector:
Ra = a
As a matter of fact:
Ra = aT
RT
Ra = aT
a = a
5. The inner product, and then the angle between two vectors, is invariant with
respect to rotations:
aT
b = (Ra)T
(Rb)
As a matter of fact:
(Ra)T
(Rb) = aT
RT
Rb = aT
b = a b cosθ
6. Since R is an orthogonal matrix, the following property holds
R(a × b) = Ra × Rb
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 32 / 80
33. Ridig Body Motion Rotations
Proprieties of rotations
7. In general, the product of rotation matrices does not commute:
RaRb = RbRa
Except the trivial case of the identity matrix (i.e. when R = I3), rotations
commute only if the rotation axis is the same!
Consider the two rotations by a 90o
angle about the x0 and y0 axes:
Ra = Rot(x, 900
) =
1 0 0
0 0 −1
0 1 0
Rb = Rot(y, 90o
) =
0 0 1
0 1 0
−1 0 0
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 33 / 80
34. Ridig Body Motion Rotations
Proprieties of rotations
1)
2)
Case 1) Rb followed by Ra:
R = RbRa =
0 1 0
0 0 −1
−1 0 0
Case 2) Ra followed by Rb:
R = RaRb =
0 0 1
1 0 0
0 1 0
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 34 / 80
35. Ridig Body Motion Rotations
Proprieties of rotations
8. It may be of interest to define a sequence of rotations with respect to F0 , and
not with respect to the current frame Fi as assumed until now.
Consider two rotations R1 = Rot(y, φ) and R2 = Rot(z, θ)
about the axes y0 and z0 of F0 .
What is the result of applying first R1 and then R2?
Consider the vector 0
p in F0 . After the first rotation R1, the new expression of the
vector (still wrt F0 ) is
0
p1 = R1
0
p
Since also the second rotation is about an axis of F0 , we have
0
p2 = R2
0
p1 = R2 R1
0
p
More in general, given n consecutive rotations Ri , i = 1, . . . , n defined with respect to
the same reference frame F0 , then
0
pn = Rn Rn−1 . . . R1
0
p
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 35 / 80
36. Ridig Body Motion Rotations
Proprieties of rotations
Then, there are two different possibilities to define a sequence of consecutive
rotations:
1 If each rotation is expressed wrt the current frame Fn , Fn−1, . . . , F0 , then
the equivalent rotation matrix 0
Rn is obtained by post-multiplication of the
matrices i−1
Ri .
0
p = 0
R1
1
R2 . . . n−1
Rn
n
p
2 If matrices Ri , i = 1, . . . , n describe rotations about an axis of the base frame
F0 , the equivalent matrix is obtained by pre-multiplication of the matrices.
0
pn = Rn Rn−1 . . . R1
0
p
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 36 / 80
37. Ridig Body Motion Rotations
Interpretations of a rotation matrix
In summary, a rotation matrix 0
R1 has three equivalent interpretations:
1. 0
R1 describes the mutual orientation of two
reference frames F0 and F1 ; the columns of
0
R1 are the direction cosines of the axes of
F1 expressed in F0
2. 0
R1 defines the coordinate transformation
between the coordinates of a point
expressed in F0 and in F1 (common origin)
3. 0
R1 rotates a vector 0
va to 0
vb in a given
reference frame F0
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 37 / 80
38. Ridig Body Motion Rotations
Representations of rotations
A rotation is described with a 3 × 3 matrix with 9
elements:
R =
nx sx ax
ny sy ay
nz sz az
On the other hand, a rigid body in IR3
has 3 rotational dof
→
Three parameters should be sufficient
to describe its orientation
A 3 × 3 matrix, although computationally efficient, is redundant. Among the 9
elements of R one can define the following relations:
nT
a = sT
a = sT
n = 0
||n|| = ||s|| = ||a|| = 1
Note that it is sufficient to know 6 elements of R to define completely the matrix.
If only 5 (or less) elements are known, R cannot be determined univocally.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 38 / 80
39. Ridig Body Motion Rotations
Representations of rotations
Theoretically, only 3 parameters are sufficient to describe the orientation of a rigid
body in the 3D space.
There are representations based on 3 parameters only (minimal representations),
more “compact” than rotation matrices, although computationally less convenient.
Among these representations, we have:
Euler angles: three consecutive rotations about axes z, y′
, z′′
Roll, Pitch and Yaw angles: three consecutive rotations about axes z0, y0, x0
Axis/Angle representation: a unitary rotation axis r and the angle θ
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 39 / 80
40. Ridig Body Motion Rotations
Euler angles
Euler angles (φ, θ, ψ) represents three rotations, applied sequentially about the
axes z0, y1, z2 of the current frame F0 , F1 , F2 .
Consider a base frame F0 . By applying the three rotations we have
- A frame F1 obtained with the rotation φ about z0
- A frame F2 obtained from F1 with the rotation θ about y1
- A frame F3 obtaine from F2 with the rotation ψ about z2
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 40 / 80
41. Ridig Body Motion Rotations
Euler angles
By composing the three rotations, the total rotation from F0 to F3 is
0
R3 = REuler (φ, θ, ψ) = Rot(z0, φ)Rot(y1, θ)Rot(z2, ψ)
=
CφCθCψ − SφSψ −CφCθSψ − SφCψ CφSθ
SφCθCψ + CφSψ −SφCθSψ + CφCψ SφSθ
−SθCψ SθSψ Cθ
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 41 / 80
42. Ridig Body Motion Rotations
Euler angles
Rotation matrix corresponding to the Euler angles:
REuler (φ, θ, ψ) =
CφCθCψ − SφSψ −CφCθSψ − SφCψ CφSθ
SφCθCψ + CφSψ −SφCθSψ + CφCψ SφSθ
−SθCψ SθSψ Cθ
Inverse problem: compute the Euler angles corresponding to a given rotation
matrix R:
R =
r11 r12 r13
r21 r22 r23
r31 r32 r33
→ (φ, θ, ψ) ?
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 42 / 80
43. Ridig Body Motion Rotations
Atan2 function
arctan(y
x ) = arctan(−y
−x ), gives results in two quadrants (in [−π/2, +π/2])
atan2 is the arctangent with output values in the four quadrants:
two input arguments
gives values in [−π, +π]
undefined only for (0, 0)
uses the sign of both arguments to define the output quadrant
based on arctan function with output values in [−π/2, +π/2]
available in main languages (C++, Matlab, . . . )
atan2 (y, x) =
arctan(y/x) x > 0
π + arctan(y/x) y ≥ 0, x < 0
−π + arctan(y/x) y < 0, x < 0
π/2 y > 0, x = 0
−π/2 y < 0, x = 0
undefined y = 0, x = 0
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 43 / 80
44. Ridig Body Motion Rotations
Euler angles
Two cases are possible:
1 r2
13 + r2
23 = 0 → sin θ = 0. By assuming 0 < θ < π (sin θ > 0), one obtains:
φ = atan2 (r23, r13);
θ = atan2 ( r2
13 + r2
23, r33);
ψ = atan2 (r32, −r31)
or, with −π < θ < 0, (sin θ < 0):
φ = atan2 (−r23, −r13);
θ = atan2 (− r2
13 + r2
23, r33);
ψ = atan2 (−r32, r31)
Two possible sets of solutions depending on the sign of sin θ.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 44 / 80
45. Ridig Body Motion Rotations
Euler angles
2. r2
13 + r2
23 = 0 (θ = 0, π and cos θ = ±1). By choosing θ = 0 (cos θ = 1)
one obtains
θ = 0
φ + ψ = atan2 (r21, r11) = atan2 (−r12, r11);
On the other hand, if θ = π (cos θ = −1)
θ = π
φ − ψ = atan2 (−r21, −r11) = atan2 (−r12, −r11);
In both cases, infinite solutions are obtained (only the sum or difference of φ
and θ is known).
Being θ = 0, π, the rotations by the angles φ and ψ occur about parallel (the
same) axes, i.e. the z axis.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 45 / 80
46. Ridig Body Motion Rotations
Roll, Pitch, Yaw
Consider three consecutive rotations about the axes of the base frame F0 :
A rotation ψ about x0, (yaw),
A rotation θ about y0, (pitch)
A rotation φ about z0, (roll).
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 46 / 80
47. Ridig Body Motion Rotations
Roll, Pitch, Yaw
By properly composing the three rotations:
0
R3 = RRPY (φ, θ, ψ) = Rot(z0, φ)Rot(y0, θ)Rot(x0, ψ)
=
CφCθ −SφCψ + CφSθSψ SφSψ + CφSθCψ
SφCθ CφCψ + SφSθSψ −CφSψ + SφSθCψ
−Sθ CθSψ CθCψ
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 47 / 80
48. Ridig Body Motion Rotations
Roll, Pitch, Yaw
Rotation matrix corresponding to the RPY angles:
RRPY (φ, θ, ψ) =
CφCθ −SφCψ + CφSθSψ SφSψ + CφSθCψ
SφCθ CφCψ + SφSθSψ −CφSψ + SφSθCψ
−Sθ CθSψ CθCψ
Inverse problem: compute the RPY angles corresponding to a given rotation
matrix R:
R =
r11 r12 r13
r21 r22 r23
r31 r32 r33
→ (φ, θ, ψ) (?)
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 48 / 80
50. Ridig Body Motion Rotations
Roll, Pitch, Yaw
2. r2
11 + r2
21 = 0 → cos θ = 0: θ = ±π/2 and infinite solutions are possible
(sum or difference of ψ and φ).
It may be convenient to (arbitrarily) assign a value (e.g. ±90o
) to one of the
two angles (φ or ψ) a ±90o
and then compute the remaining one:
θ = ±π/2;
φ − ψ = atan2 (r23, r13) = atan2 (−r12, r22);
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 50 / 80
51. Ridig Body Motion Rotations
Angle/Axis representation
It is possible to describe any rotation in 3D by means of the rotation angle θ and
the corresponding rotation axis w
R =
w2
x (1 − Cθ) + Cθ wx wy (1 − Cθ) − wz Sθ wx wz (1 − Cθ) + wy Sθ
wx wy (1 − Cθ) + wz Sθ w2
y (1 − Cθ) + Cθ wy wz (1 − Cθ) − wx Sθ
wx wz (1 − Cθ) − wy Sθ wy wz (1 − Cθ) + wx Sθ w2
z (1 − Cθ) + Cθ
4 parameters: wx, wy , wz, θ
with the condition: w2
x + w2
y + w2
z = 1
=⇒ 3 dof
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 51 / 80
52. Ridig Body Motion Rotations
Angle/Axis representation
Inverse problem: compute the axis w and the angle θ corresponding to a given
rotation matrix R:
θ = acos
r11 + r22 + r33 − 1
2
w =
1
2 sin θ
r32 − r23
r13 − r31
r21 − r12
The trace of a rotation matrix depends only on the (cosine of) rotation angle.
This representation suffers of some drawbacks:
It is not unique: Rot(w, θ) = Rot(−w, −θ)
(we can arbitrarily assume 0 ≤ θ ≤ π)
If θ = 0 then Rot(w, 0) = I3 and w is indefinite
There are numerical problems if θ ≈ 0: in this case sin θ ≈ 0 and problems
may arise in computing w
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 52 / 80
53. Ridig Body Motion Rotations
Example
Compute the rotation matrix corresponding to the RPY angles 0o
, 45o
, 90o
, i.e.:
1 A rotation of 90o
about x0, (yaw)
2 A rotation of 45o
about y0, (pitch)
3 A rotation of 0o
about z0, (roll)
RPY rotations: roll = 0o , pitch = 45o , yaw = 90o
One obtains:
R =
1√
2
1√
2
0
0 0 −1
− 1√
2
1√
2
0
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 53 / 80
54. Ridig Body Motion Rotations
Example
R =
1√
2
1√
2
0
0 0 −1
− 1√
2
1√
2
0
RPY rotations: roll = 0o , pitch = 45o , yaw = 90o
• The Euler angles corresponding to this rotation matrix are
φ = −90o
; θ = 90o
; ψ = 45o
• Considering the Angle/Axis representation, one obtains:
rotation of the angle θ = 98.42o
about the axis w = [0.863, 0.357, −0.357]T
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 54 / 80
55. Ridig Body Motion Rotations
Ridig Body Motion – Homogeneous Transformations
Translations
Claudio Melchiorri
Dipartimento di Elettronica, Informatica e Sistemistica (DEIS)
Universit`a di Bologna
email: claudio.melchiorri@unibo.it
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 55 / 80
56. Ridig Body Motion Translations
Translations
Rotations between two coordinate frames can be expressed in matrix form:
0
p = R 1
p
This is not possible for translations! → It is not possible to define a 3 × 3 matrix
P so that a translation can be expressed as a matrix/vector multiplication
0
p = P 1
p =⇒ not possible!!
A translation of a vector 0
p by 0
o corresponds to a
vectorial summation
0
q = 0
p + 0
o
Then
0
qx = 0
px + 0
ox
0
qy = 0
py + 0
oy
0
qz = 0
pz + 0
oz
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 56 / 80
57. Ridig Body Motion Translations
Translations
Then, a translation is expressed as a function t(p) = p + o
In general: t(ap + bq) = ap + bq + o = at(p) + bt(q)
Then, translations are not linear transformations!
The most general transformation between two coordinate frames cannot be
represented by a 3 × 3 matrix.
The composition of a rotation and a
translation is obtained from
0
q = 0
p + 0
o
by considering vector p defined in F1 , ro-
tated and translated with respect to F0 .
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 57 / 80
58. Ridig Body Motion Translations
Translations
Since vectors can be added only if they are defined with respect to the same
coordinate system:
0
p = 0
R1
1
p + 0
o1
being 0
o1 the translation from F0 to F1 and 0
R1 the mutual rotation.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 58 / 80
59. Ridig Body Motion
Ridig Body Motion – Homogeneous Transformations
Homogeneous transformations
Claudio Melchiorri
Dipartimento di Elettronica, Informatica e Sistemistica (DEIS)
Universit`a di Bologna
email: claudio.melchiorri@unibo.it
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 59 / 80
60. Homogeneous transformations
Homogeneous transformations
It is of interest to put in matrix form the equation
0
p = 0
R1
1
p + 0
o1
since, in case of successive transformations, one could obtain expressions similar to
0
p = 0
R1
1
R2...n−1
Rn
n
p
For this purpose, it is possible to add to matrix R the vector 0
o as fourth column;
in this manner a 3 × 4 matrix is obtained
M = [n s a 0
o1] = [R 0
o1]
A square matrix is obtained by adding to M the row [0 0 0 1].
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 60 / 80
61. Homogeneous transformations
Homogeneous transformations
The Homogeneous Transformation Matrix 0
T1 is obtained
0
T1 =
0
R1
0
o1
0 0 0 1
=
nx sx ax ox
ny sy ay oy
nz sz az oz
0 0 0 1
This matrix represents the transformation (rotation-translation) between F0 and
F1 .
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 61 / 80
62. Homogeneous transformations
Homogeneous transformations
By defining the homogeneous 4-dimensional (in IR4
) vector:
[pT
1]T
= [px py pz 1]T
one obtains
0
p
1
= 0
T1
1
p
1
=
0
R1
1
p + 0
o1
1
The subspace IR3
defined by the first three components represents the
transformation 0
p = 0
R1
1
p + 0
o1 on vectors in IR3
, and physically represents
the rigid body motion from F1 to F0 ; the fourth component is not affected by
the matrix multiplication.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 62 / 80
63. Homogeneous transformations
Homogeneous transformations
Given the homogeneous transformation matrices 0
T1, from F1 to F0 , and 1
T2,
from F2 to F1 , the composition
0
T2 = 0
T1
1
T2
can be applied to vectors [ 2
pT
1]T
defined in F2 , and the result is
0
T1(1
T2
2
p
1
) = 0
T1
1
R2
2
p + 1
o2
1
=
0
R1
1
R2
2
p + 0
R1
1
o2 + 0
o
1
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 63 / 80
64. Homogeneous transformations
Homogeneous transformations
This is equivalent to the product of the homogeneous matrix
0
T2 =
0
R1
1
R2
0
R1
1
o2 + 0
o
0 0 0 1
= 0
T1
1
T2
with the vector [ 2
pT
1]T
.
In general we have
0
Tn = 0
T1
1
T2 . . . n−1
Tn
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 64 / 80
65. Homogeneous transformations
Homogeneous transformation of coordinates
The coordinate transformation bewteen two reference frames F0 and F1 may be
expressed by a 4 × 4 matrix 0
T1:
0
p = 0
T1
1
p
Of particular interest are the elementary transformations, i.e. simple rotations or
translations along the coordinate axes.
All the coordinate transformations may be obtained by combinations of these
elementary transformations.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 65 / 80
66. Homogeneous transformations
Elementary rotations and translations
The homogeneous transformation matrices corresponding to rotations of an angle
θ about the axes x, y, z of F0 are:
Rot(x, θ)=
1 0 0 0
0 Cθ −Sθ 0
0 Sθ Cθ 0
0 0 0 1
, Rot(y, θ)=
Cθ 0 Sθ 0
0 1 0 0
−Sθ 0 Cθ 0
0 0 0 1
, Rot(z, θ)=
Cθ −Sθ 0 0
Sθ Cθ 0 0
0 0 1 0
0 0 0 1
being Cθ = cos θ, Sθ = sin θ.
The homogeneous transformation T corresponding to the translation of vector
v = [vx vy vz ]T
is
T = Trasl(v) =
1 0 0 vx
0 1 0 vy
0 0 1 vz
0 0 0 1
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 66 / 80
67. Homogeneous transformations
Example
The frame F1 , with respect to F0 , is translated of
1 along x0 and of 3 along y0 , moreover, it is rotated
by 30o
about z0.
The transformation matrix from F1 to F0 is
0
T1 =
0.866 −0.500 0 1
0.500 0.866 0 3
0 0 1 0
0 0 0 1
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 67 / 80
68. Homogeneous transformations
Example
Consider a point defined in F1 by
1
p =
2
1
0
Its coordinates in F0 are
0
p = 0
T1
1
p =
0.866 −0.500 0 1
0.500 0.866 0 3
0 0 1 0
0 0 0 1
2
1
0
1
=
2.232
4.866
0
1
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 68 / 80
69. Homogeneous transformations
Example
Consider the point in F0
0
pa =
2
1
0
Let us apply to 0
p a translation of 1 along x0, of 3 along y0; then rotate the vector
by 30o
about z0. The result is obtained by multiplying vector 0
p by the matrix
T =
0.866 −0.500 0 1
0.500 0.866 0 3
0 0 1 0
0 0 0 1
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 69 / 80
70. Homogeneous transformations
Example
Then
0
pb = T 0
pa = T =
0.866 −0.500 0 1
0.500 0.866 0 3
0 0 1 0
0 0 0 1
2
1
0
1
=
2.232
4.866
0
1
The same numerical result is obtained, although the physical interpretation is
different.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 70 / 80
71. Homogeneous transformations
Interpretations of a homogeneous transformation matrix
Similarly to rotation matrices, also an homogeneous transformation matrix 0
T1
0
T1 =
0
R1
0
v
0 0 0 1
has three possible physical interpretations:
1 Description of F1 in F0 : in particular 0
v represents the origin of F1 with
respect to F0 , and the elements of 0
R1 give the direction of the axes of F1
2 Coordinate transformation of vectors between F1 and F0 , 1
p → 0
p;
3 Translates and rotates a generic vector 0
pa to 0
pb in a given reference frame
F0
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 71 / 80
72. Homogeneous transformations
Inverse transformation
Once the position/orientation of F1 with respect to F0 are known, defined by the
homogeneous transformation matrix 0
T1, it is simple to compute the inverse
transformation 1
T0 = (0
T1)−1
, defining the position/orientation of F0 with
respect to F1 .
From
0
T1
1
T0 = I4
it follows that
1
T0 =
0
RT
1 −0
RT
1 v
0 0 0 1
=
nx ny nz −vT
n
sx sy sz −vT
s
ax ay az −vT
a
0 0 0 1
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 72 / 80
73. Homogeneous transformations
Inverse transformation
As a matter of fact, if
1
T0 =
M x
0 0 0 1
then
R v
0 0 0 1
M x
0 0 0 1
=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
and therefore
I3 = RM
0 = Rx + v
=⇒
M = RT
x = −RT
v
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 73 / 80
74. Homogeneous transformations
Example
Given
T =
0 0 1 2
1 0 0 1
0 1 0 0
0 0 0 1
compute its inverse transformation.
Solution:
T−1
= RT
−RT
v
0 0 0 1
=
nx ny nz −vT
n
sx sy sz −vT
s
ax ay az −vT
a
0 0 0 1
=
0 1 0 −1
0 0 1 0
1 0 0 −2
0 0 0 1
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 74 / 80
75. Homogeneous transformations
Homogeneous transformations
The term homogeneous derives from projective geometry.
Equations describing lines and planes in projective geometry in IR3
are
homogeneous in the four variables x1, x2, x3, x4 in IR4
.
In IR3
these equations, affine transformations, are non homogeneous in
x1, x2, x3, (lines or planes not passing through the origin present a constant
term - non function of x1, x2, x3 - in their expression).
In general, computations of an affine transformations in IRn−1
may be
expressed as homogeneous linear transformations in IRn
:
0
p = 0
R1
1
p + 0
o1 affine transformation
0
p′
=
0
p
1
=
0
R1
0
o1
0 1
1
p
1
homogeneous transformation
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 75 / 80
76. Homogeneous transformations
Homogeneous transformations
The most general expression for an homogeneous transformation is
T =
D3×3 p3×1
f1×3 s
=
Deformation Translation
Perspective Scale
Note the terms D, f1×3 and s.
These quantities, in robotics, are alway assumed as:
A rotation matrix (D = R),
The null vector [0 0 0] (f1×3 = [0 0 0]),
The unit gain (s = 1)
In other cases (e.g. computer graphics), these quantities are used to obtain
deformations, perspective distortions, change of scaling factors, and so on (in
general: effects non applicable to rigid bodies).
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 76 / 80
77. Homogeneous transformations
Example
Consider the transformation matrix
T =
a 0 0 0
0 b 0 0
0 0 c 0
0 0 0 1
This transformation applies a different “gain” along the three reference axes
x, y, z. A deformation of the body is obtained.
Point p = [1, 1, 1]T
is transformed to
p1 = T p =
a 0 0 0
0 b 0 0
0 0 c 0
0 0 0 1
1
1
1
1
=
a
b
c
1
With this matrix, a cube is transformed in a parallelepiped.
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 77 / 80
78. Homogeneous transformations
Example
Similarly, the transformation
T =
1 0 0 0
0 1 0 0
0 0 1 0
0 −1
f
0 1
performs a perspective transformation along y. The coordinates x, y, z of a point
p are transformed in
x′
=
x
1 − y/f
y′
=
y
1 − y/f
z′
=
z
1 − y/f
0 10 20 30 40 50 60 70 80
0
10
20
30
40
50
60
70
80
x
y
z
f = −20
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 78 / 80
79. Homogeneous transformations
Equations with homogeneous transformations
Usually, in robotics it is necessary to specify the position/orientation of an object
with respect to different reference frames (e.g. wrt to the end-effector, to the base
frame, to other machines/tools, . . . ).
The following equation must be verified if the robot has to grasp the object:
B B
T6E = OG
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 79 / 80
80. Homogeneous transformations
Equations with homogeneous transformations
B B
T6E = OG
Usually, matrices B, O, G, E are known (and constant). Therefore, the equation
can be solved in terms of B
T6
B
T6 = B−1
OGE−1
The robot configuration is then obtained.
Otherwise, the object position O (if not known) can be computed as
O = B B
T6EG−1
C. Melchiorri (DEIS) Ridig Body Motion – Homogeneous Transformations 80 / 80