Unit 2
Unit 2
Forward Kinematics:
Definition: Determines end-effector pose based on joint angles or parameters.
Application: Essential for controlling robot movements and locating the end-effector in the
workspace.
Inverse Kinematics:
Definition: Determines joint angles or parameters to achieve a desired end-effector pose.
Application: Crucial for trajectory planning, motion control, and programming the robot to
reach specific positions and orientations.
Example:
Consider a 2D planar robot with two revolute joints. Forward kinematics calculates end-
effector position, while inverse kinematics finds joint angles for a given position.
Methods:
Analytical Methods: Algebraic solutions, complex for some robots.
Numerical Methods: Iterative techniques like Newton-Raphson or optimization algorithms.
Geometric Methods: Use geometric relationships for problem-solving, especially for simpler
structures.
Forward Kinematics and Inverse Kinematics equation for position analysis:
a) Cartesian (gantry, rectangular) coordinates.
b) Cylindrical coordinates.
c) Spherical coordinates.
d) Articulated (anthropomorphic, or all-revolute) coordinates
Euler angles
Articulated joints
Roll, Pitch, Yaw (RPY) Angles
DENAVIT-HARTENBERG REPRESENTATION:
The common normal is one line mutually perpendicular to any two skew lines.
Parallel z-axes joints make a infinite number of common normal.
Intersecting z-axes of two successive joints make no common normal between them(Length is 0.).
Symbol Terminologies:
: A rotation about the z-axis.
When the robot’s joints reach their physical limits, and as a result, cannot move any further.
In the middle point of its workspace if the z-axes of two similar joints becomes co-linear.
Dexterity: The volume of points where one can position the robot as desired, but not orientate it.
THE INVERSE KINEMATIC SOLUTION OF ROBOT:
A predictable path is necessary to recalculate joint variables. (Between 50 to 200 times a second)
To make the robot follow a straight line, it is necessary to break the line into many small sections.
Introduction
In robotics, understanding differential motion and velocities is crucial for analyzing and controlling robot
movement. These concepts are particularly important for multi-jointed robots where individual joints (like
the elbow and shoulder of a robot arm) contribute to the overall motion of the end effector (the "hand" of the
robot).
Differential motion refers to the infinitesimal (very small) changes in the positions and orientations of
rigid bodies (like robot links) relative to a reference frame (often the base of the robot) over a tiny period of
time. These small changes are used to approximate and analyze the continuous motion of the robot.
Differential velocities are the rates of change of these differential motions. They represent the
instantaneous speeds and directions of the points on the robot links at a specific moment in time.
Differential Relationship
The key concept in this area is the differential relationship. This relationship describes how the
differential motions of individual joints (represented by their joint velocities) relate to the differential
velocities of the end effector (its linear and angular velocities).
This relationship is often expressed using a mathematical tool called the Jacobian. The Jacobian is a matrix
that maps the joint velocities of the robot to the end effector's linear and angular velocities. It essentially
tells us how much each joint's movement contributes to the overall motion of the end effector.
Joint Velocities (θ̇₁, θ̇₂, ...) → Jacobian (J) → End Effector Velocities (v, ω)
where:
θ̇₁, θ̇₂, ... are the joint velocities of the robot (rates of change of joint angles)
J is the Jacobian matrix
v is the linear velocity of the end effector
ω is the angular velocity of the end effector
The Jacobian, as we discussed earlier, plays a crucial role in relating the differential motions of joints to the
overall motion (both linear and angular) of the end effector in a robot. When focusing specifically on the
differential translation of a frame (like the end effector), the Jacobian simplifies and becomes easier to
understand.
Differential Translation:
Imagine a frame (like the end effector) undergoing a very small movement (dx, dy, dz) along the x, y, and z
axes of a reference frame, all happening in a very short time interval (dt). This infinitesimal change in
position represents the differential translation of the frame.
For pure translation, the Jacobian becomes a simple 3xN matrix, where:
3 represents the three linear velocities (dx/dt, dy/dt, dz/dt) of the frame.
N represents the number of joints in the robot.
Why 3xN?
Even though the Jacobian relates to all joint velocities, in the case of pure translation, the rotation of each
joint has no effect on the overall linear movement of the end effector. Therefore, the contribution of each
joint's rotational velocity (ω) to the linear velocities becomes zero. This is why the Jacobian for translation
only considers the number of joints (N) and not their rotational components.
Knowing the desired linear velocities (dx/dt, dy/dt, dz/dt) of the end effector and the robot's joint
configuration (number of joints, N), we can solve for the required joint velocities using the inverse of the
Jacobian:
where:
As discussed earlier, the Jacobian relates joint velocities to the overall motion (both linear and angular) of
the robot's end effector.expand_more When considering rotation about a general axis, the situation
becomes more intricate, but the underlying principle remains the same.
Understanding Rotation:
Imagine a rectangular frame (like the end effector) undergoing a small angular rotation. This rotation can be
characterized by:
Axis of rotation (n̂): A line passing through a fixed point about which the frame rotates (represented
by a blue arrow in the image).
Angle of rotation (dθ): The small angular change the frame undergoes over a short time interval (dt)
(represented by the curved red arrow in the image).
Differential Rotation:
This infinitesimal change in orientation defines the differential rotation of the frame about the specified
axis.
For pure rotation, the Jacobian becomes a 3xN matrix, similar to translation. Here's the breakdown:
3 represents the three components of the angular velocity vector (ω) of the frame (how fast it's
rotating around each axis).
N represents the number of joints in the robot.
Challenge: Axis Dependence
Unlike translation, the Jacobian for rotation is more complex because it depends on the axis of rotation (n̂)
for each joint. This axis is influenced by:
Specific joint rotation (ω_i): How fast each joint is rotating.
Robot's kinematic structure: The arrangement of links and joints.
Chosen reference frame: The coordinate system used to describe the robot's motion.
Visualizing the Challenge:
Imagine a robot arm with two joints (represented by the gray circles in the image). When Joint 1 rotates
(green arrow), the axis of rotation for Joint 2 (dashed blue line) changes relative to the reference frame
(fixed coordinate system). This highlights how the axis of rotation is not constant for each joint and depends
on the robot's configuration.
Due to this dependence on the axis of rotation, directly formulating the Jacobian for a general axis becomes
quite complex for robots with multiple joints. Here are two common approaches to address this:
Screw Theory: This advanced concept utilizes the idea of a screw axis, which combines the linear
and angular components of motion at a point on the robot.expand_more The Jacobian can be derived
based on screw theory, but it requires a deeper understanding of this topic.
Plücker Coordinates: This approach utilizes a mathematical representation for lines in space called
Plücker coordinates. By representing the axis of rotation as a line and performing calculations with
these coordinates, the Jacobian for a general axis can be formulated.
Using the Jacobian for Rotation:
Similar to translation, knowing the desired angular velocity (ω) of the end effector and the robot's joint
configuration, we can solve for the required joint velocities using the inverse of the Jacobian for rotation.
However, due to the complexities mentioned above, calculating or utilizing the Jacobian for general
rotations often requires advanced robotics knowledge and specialized software tools.
Key Points:
The Jacobian for rotation about a general axis is more challenging due to the dependence on the axis
of rotation for each joint.
Screw theory and Plücker coordinates are two approaches for formulating the Jacobian in this case.
Calculating and utilizing the Jacobian for complex robots and general rotations often require
advanced tools and expertise.
In robotics, understanding differential transformations of frames is crucial for analyzing and controlling
robot motion. It allows us to describe the infinitesimal (very small) changes in the position and orientation of
a rigid body (like a robot link) relative to a reference frame over a short time interval.
Transformation Matrix:
A transformation matrix, denoted by T, represents the pose (position and orientation) of a frame (like
the robot link frame) relative to the reference frame. This matrix encodes both the translation (how
far the frame has moved) and rotation (how the frame is oriented) of the link relative to the reference
frame.
Differential Transformation (dT):
A differential transformation (dT) represents the infinitesimal change in the pose of a frame over a
short time interval (dt). It describes the very small change in the transformation matrix (T) that
occurs due to the robot's movement.
Why Differential Transformations?
Analyzing finite (large) movements of robots can be complex.
Differential transformations allow us to approximate continuous motion by considering these tiny,
incremental changes.
By understanding these small changes, we can analyze and control the overall motion of the robot
more effectively.
Representing Differential Transformations:
1. Exponential Twist Representation: This approach utilizes a mathematical concept called a twist,
which combines both the linear and angular velocity components of a frame's motion. The
differential transformation is expressed as an exponential function of this twist.
2. Spatial Velocity Representation: This approach represents the differential transformation using a
6x1 vector containing the linear and angular velocity components of the frame's motion. This vector
is often denoted by V.
Relationship between dT and V:
The relationship between the differential transformation matrix (dT) and the spatial velocity vector (V) is
given by:
dT = V * dt
Additional Points:
The specific form of the differential transformation and its relationship to the spatial velocity vector
depend on the chosen representation (exponential twist or spatial velocity).
Differential transformations are particularly useful for robots with multiple joints where individual
joint movements contribute to the overall motion of the end effector.
Differential Changes Between Frames in Robotics
In robotics, understanding differential changes between frames is crucial for analyzing and controlling robot
motion. It focuses on the infinitesimal (very small) changes in the position and orientation of two frames
relative to each other over a short period of time.
Key Concepts:
Frames: Frames are rigid bodies with their own set of axes (like X, Y, Z) used to describe their
position and orientation. In robotics, common frames include the reference frame (often the base of
the robot) and the frames attached to individual robot links.
Differential Changes: These are the infinitesimal changes that occur in the position and orientation
of one frame relative to another over a tiny time interval (dt). They are represented by differential
transformation matrices (dT) or differential twists (V).
Understanding the Importance:
Analyzing large, finite movements of robots can be complex.
Differential changes allow us to approximate continuous motion by considering these tiny,
incremental changes in relative pose (position and orientation) between frames.
By understanding these small changes, we can effectively analyze and control the overall motion of
the robot and its links.
Understanding differential changes between frames forms the foundation for various robotics tasks:
Forward Kinematics: By integrating differential changes (dT or V) over a time interval, we can
calculate the final pose of a robot link based on its initial pose and the joint velocities.
Inverse Kinematics: Given a desired final pose for a robot end effector, we can use differential
changes to determine the required joint velocities for the robot to achieve that pose.
Robot Motion Control: Understanding how joint velocities cause differential changes between
frames allows us to design control algorithms that achieve desired robot trajectories.
Differential Motions of a Robot and its Hand Frame
In robotics, understanding the differential motions of a robot and its hand frame is fundamental for
analyzing and controlling the robot's movement. This involves studying the infinitesimal (very small)
changes in the position and orientation of the robot's hand frame (end effector) relative to a reference frame
over a very short time interval (dt).
Differential Translation: This describes the infinitesimal change in the linear position of the hand
frame along the axes of the reference frame (dx, dy, dz).
Differential Rotation: This describes the infinitesimal change in the orientation of the hand frame
around the axes of the reference frame (dθx, dθy, dθz).
5. Relating Joint Velocities to Differential Motions:
The key aspect of analyzing differential motions is understanding how they relate to the individual joint
velocities of the robot. This relationship is governed by a mathematical tool called the Jacobian.
The Jacobian is a matrix that maps the joint velocities (θ̇₁, θ̇₂, ...) of the robot to the differential
velocities (linear and angular) of the hand frame (v, ω).
6. Jacobian and Its Applications:
Utilizing the Jacobian, we can:
o Control the hand frame's motion: By calculating the desired differential velocities and
using the inverse Jacobian, we can determine the required joint velocities for each joint to
achieve the desired movement.
o Analyze robot performance: By studying the Jacobian, we can understand how the robot's
geometry and joint configuration affect its ability to perform specific tasks.
Understanding differential motions and their connection to joint velocities through the Jacobian is crucial for
various aspects of robotics, including:
Forward Kinematics: Calculating the final pose (position and orientation) of the hand frame based
on initial pose and joint velocities.
Inverse Kinematics: Determining the required joint velocities to achieve a desired final pose for the
hand frame.
Robot Motion Control: Designing control algorithms that utilize joint velocities to achieve desired
trajectories for the hand frame.
Calculating the Jacobian for a specific robot requires knowledge of its kinematic structure and the chosen
reference frame. However, I can walk you through the general steps involved and provide some resources
for further exploration:
1. Define the Robot's Kinematics:
Identify the number of joints (N) in the robot.
Describe the type of each joint (e.g., revolute, prismatic).
Define the Denavit-Hartenberg (DH) parameters for each joint, which are a set of parameters that
represent the relative transformations between frames attached to consecutive links in the robot's
kinematic chain.
2. Choose a Reference Frame:
This is often the base of the robot.
All other link frames and the hand frame are defined relative to this reference frame.
3. Derive the Transformation Matrix (T):
For each link, use the DH parameters and appropriate kinematic formulas to calculate the
transformation matrix (T) that describes the pose (position and orientation) of its frame relative to the
previous link's frame or the reference frame (depending on the link's position in the chain).
4. Differentiate the Transformation Matrix:
Differentiate the transformation matrix (T) with respect to time (t) to obtain the differential
transformation matrix (dT). This matrix captures the infinitesimal changes in position and
orientation due to small joint movements.
5. Extract the Linear and Angular Velocities:
From the differential transformation matrix (dT), extract the linear velocity vector (v) and the
angular velocity vector (ω) of the hand frame relative to the reference frame.
6. Construct the Jacobian:
The Jacobian (J) is a 3xN matrix, where:
o 3 represents the three components of the hand frame's linear velocity (v) and the three
components of its angular velocity (ω).
o N represents the number of joints in the robot.
Each element of the Jacobian (J) represents the contribution of a specific joint's velocity (θ̇ ) to the
corresponding component of the hand frame's linear or angular velocity.
7. Calculate the Jacobian Elements:
This is the most complex step and involves calculations based on the specific robot's kinematic
structure and the chosen reference frame. The calculations often involve cross products and vector
operations to determine the contribution of each joint's rotation axis to the overall motion of the hand
frame.
Resources for Further Exploration:
Robotics textbooks: Most introductory robotics textbooks cover the derivation and calculation of
the Jacobian in detail.
Online resources: Several online tutorials and websites explain the concept of the Jacobian with
examples and step-by-step guides.
Symbolic computation software: Software like MATLAB or Mathematica can be used to perform
the symbolic calculations involved in deriving the Jacobian for specific robot configurations.
While the terms Jacobian and differential operator are both related to calculus and linear algebra, they serve
different purposes and don't directly translate to each other. Here's a breakdown of their individual roles:
Jacobian:
In robotics, the Jacobian refers to a matrix that relates the joint velocities of a robot to the differential
velocities (linear and angular) of its end effector (hand frame) over a small time interval.
It essentially maps the changes in the robot's joint angles (rates of change) to the infinitesimal
changes in the position and orientation of the end effector.
The Jacobian is a specific mathematical tool used to analyze robot motion and plays a crucial role in
tasks like:
o Forward kinematics: Calculating the final pose of the end effector based on initial pose and
joint velocities.
o Inverse kinematics: Determining the required joint velocities to achieve a desired final pose
for the end effector.
o Robot motion control: Designing control algorithms that utilize joint velocities to achieve
desired trajectories for the end effector.
Differential Operator:
In calculus, the differential operator, often denoted by d/dx, represents the operation of taking the
derivative of a function with respect to a variable (x in this case).
It is a general concept used to find the rate of change of a function at a specific point.
The differential operator is a fundamental tool in calculus for analyzing functions, solving
differential equations, and studying continuous change.
Relationship:
While there's no direct equivalence between the Jacobian and the differential operator, the Jacobian utilizes
the concept of differentiation.
When we calculate the Jacobian, we are essentially taking the derivatives of the transformation
matrix (T) that describes the pose of the end effector relative to the reference frame, with respect to
time (t).
This differentiation process provides the infinitesimal changes (represented by the elements of the
Jacobian) in the end effector's position and orientation due to small joint movements.
Therefore, the Jacobian indirectly utilizes the concept of differentiation through mathematical operations,
but it serves a much more specific purpose in the context of robot kinematics and analysing the relationship
between joint and end effector velocities.
Inverse Jacobian:
The term "inverse Jacobian" refers to the inverse of the Jacobian matrix encountered in robot kinematics.
While "Jacobina" is not the standard term and seems like a typo, the concept of the inverse Jacobian is
crucial for various robotics tasks.
Jacobian and Its Role:
The Jacobian, denoted by J, is a matrix that relates the joint velocities (θ̇ ) of a robot to the differential
velocities (linear and angular) of its end effector (v, ω) over a small time interval.
It essentially maps the changes in joint angles (rates of change) to the infinitesimal changes in the
position and orientation of the end effector.
Inverse Jacobian:
The inverse Jacobian, denoted by J⁻¹, represents the mathematical inverse of the original Jacobian
matrix.
It allows you to solve for the desired joint velocities (θ̇) required to achieve a specific end effector
velocity (v, ω).
Applications of the Inverse Jacobian:
Inverse Kinematics: This problem involves finding the required joint configurations or motions to
achieve a desired end effector pose or position/orientation. By utilizing the inverse Jacobian, we can
calculate the necessary joint velocities for the robot to reach the desired pose.
Robot Motion Control: When designing control algorithms for robots, the inverse Jacobian is often
used to translate desired end effector trajectories (paths) into the corresponding joint velocity
commands that need to be sent to the robot's motors.
The inverse Jacobian is a powerful tool for solving the inverse kinematics problem and designing
robot motion control strategies.
It allows you to determine the necessary joint movements based on the desired end effector motion.
Understanding and utilizing the inverse Jacobian is essential for various robotics tasks that involve
controlling the robot's movement and achieving desired trajectories.