VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
Robotics Representing Position & Orientation 1
1. SBE 403 B: Bioelectronic Systems (Biomedical Robotics)
Lecture 03
Representing Position and
Orientation 2Orientation 2
Muhammad Rushdi
mrushdi@eng1.cu.edu.eg
2. Main Problems in Robotics
• What are the basic issues to be resolved and what must we
learn in order to be able to program a robot to perform its
tasks?
• Problem 1: Forward Kinematics
• Problem 2: Inverse Kinematics
• Problem 3: Velocity Kinematics Represent• Problem 3: Velocity Kinematics
• Problem 4: Path Planning
• Problem 5: Vision
• Problem 6: Dynamics
• Problem 7: Position Control
• Problem 8: Force Control
2
the position and orientation of
objects (e.g. robots, cameras,
workpieces, obstacles and
paths) in an environment.
3. Textbook
• Ch. 2 Representing
Position and
Orientation
Peter Corke:
Robotics, Vision and
Control - Fundamental
Algorithms in MATLAB®.
http://www.petercorke.com/RVC/
3
4. Representing Pose in 3D
• The 3D case is an extension of the 2D case.
• Add an extra coordinate axis, typically denoted by
z, that is orthogonal to both the x- and y-axes. The
direction of the z-axis obeys the right-hand rule
and forms a right-handed coordinate frame.
4
5. Euler’s rotation theorem
• Any two independent orthonormal coordinate
frames can be related by a sequence of rotations
(not more than three) about coordinate axes,
where no two successive rotations may be about
the same axis.
5
8. Representing 3D Rotations:
Orthonormal Rotation Matrix
• Each unit vector has three elements and they form
the columns of a 3 × 3 orthonormal matrix
• R is orthogonal and has a +1 determinant
• The matrix R belongs to the special orthogonal
group of dimension 3 or
8
10. Representing 3D Rotations:
Orthonormal Rotation Matrix
• The orthonormal rotation matrices give a
non-minimal representation:
• The orthonormal matrix has 9 elements but
they are not independent. The columnsthey are not independent. The columns
have unit magnitude which provides 3
constraints. The columns are orthogonal to
each other which provides another 3
constraints. Nine elements and six
constraints is effectively 3 independent
values. 10
11. Representing 3D Rotations:
Three-Angle Representations (Euler Angles)
• There are two classes of Euler Angle
rotation sequences:
• The Eulerian type involves repetition, but not
successive, of rotations about one particularsuccessive, of rotations about one particular
axis: XYX, XZX, YXY, YZY, ZXZ, or ZYZ.
• Example: ZYZ used commonly in
aeronautics and mechanics:
• The Cardanian type is characterized by
rotations about all three axes: XYZ, XZY,
YZX, YXZ, ZXY, or ZYX. 1112 possible sequences
12. Representing 3D Rotations:
Mapping between Rotation Matrices and Euler
Angles
• The mapping from rotation matrix to Euler angles is not
unique and always returns a positive angle for θ (See the
Matlab example pp. 29,30).
• For the case where θ =0, the rotation
reduces to
• For the inverse operation we can therefore only determine
this angle sum. This case represents a singularity, when
the rotational axis of the middle term in the sequence
becomes parallel to the rotation axis of the first or third term.
12
See also: Computing Euler angles from a rotation matrix
http://www.staff.city.ac.uk/~sbbh653/publications/euler.pdf
13. Representing 3D Rotations:
Three-Angle Representations (Euler Angles)
• Singularities and Gimbal Lock: Consider the situation
when the rotation angle of the middle gimbal (rotation about
the spacecraft’s z-axis) is 90° – the axes of the inner and
outer gimbals are aligned and they share the same rotation
axis. Instead of the original three rotational axes, since two
are parallel, there are now only two effective rotational axesare parallel, there are now only two effective rotational axes
– we say that one degree of freedom has been lost.
13
14. Representing 3D Rotations:
Three-Angle Representations (Euler Angles)
• Singularities and Gimbal Lock: All three-
angle representations of attitude, whether
Eulerian or Cardanian, suffer this problem of
gimbal lock when two consecutive axes
become aligned.
• The best that can be hoped for is that the
singularity occurs for an attitude which does
not occur during normal operation of the
vehicle – it requires judicious choice of angle
sequence and coordinate system.
• Singularities are an unfortunate consequence
of using a minimal representation. To
eliminate this problem we need to adopt
different representations of orientation: Add a
fourth parameter.
14
15. Representing 3D Rotations:
Two Vector Representation
• For arm-type robots it is useful to consider a coordinate
frame {E} attached to the end-effector. By convention the
axis of the tool is associated with the z-axis and is called
the approach vector. An orthogonal vector that provides
orientation, perhaps between the two fingers of the robot’s
gripper is called the orientation vector.
15
16. Representing 3D Rotations:
Rotation about an Arbitrary Vector (Angle-Axis)
• Two coordinate frames of arbitrary orientation are related
by a single rotation about some axis in space.
• This information is encoded in the eigenvalues and
eigenvectors of R.
• An orthonormal rotation matrix will always have one real
eigenvalue at λ = 1 and a complex pair λ =cosθ ±i sinθeigenvalue at λ = 1 and a complex pair λ =cosθ ±i sinθ
where θ is the rotation angle.
• From the definition of eigenvalues and eigenvectors we
recall that
where v is the eigenvector corresponding to λ. For the
case λ =1 then
which implies that the corresponding eigenvector v is
unchanged by the rotation. There is only one such vector
and that is the one about which the rotation occurs. 16
17. Representing 3D Rotations:
Rotation about an Arbitrary Vector (Angle-Axis)
• Converting from angle and vector to a rotation matrix is
achieved using Rodrigues’ rotation formula:
where S is a skew symmetric matrix:
• The angle-vector representation is minimal (if the rotation
vector is normalized) and efficient in terms of data storage
but is analytically problematic.
17
18. Representing 3D Rotations:
Unit Quaternions
• The quaternion is an extension of the complex number – a
hyper-complex number – and is written as a scalar plus a
vector
wherewhere
and
• We will denote a quaternion as
• Quaternions are elegant, powerful and computationally
straightforward and widely used for robotics, computer
vision, computer graphics and aerospace inertial
navigation applications. 18
19. Representing 3D Rotations:
Unit Quaternions
• To represent rotations we use unit-quaternions. These are
quaternions of unit magnitude, that is, those for which
• The unit-quaternion has the special property that it can be
considered as a rotation of θ about a unit vector which areconsidered as a rotation of θ about a unit vector which are
related to the quaternion components by
19
20. Representing 3D Rotations:
Unit Quaternions
• If we write the quaternion as a 4-
vector (s,v1,v2,v2) then
multiplication can be expressed as
a matrix-vector product where
• Quaternions form a group:• Quaternions form a group:
20
22. Combining Translation and Orientation in 3D
• Using homogeneous transformations:
• T is a 4 × 4 homogeneous transformation.
The matrix has a very specific structure and
belongs to the special Euclidean group of
dimension 3 or
22
23. Combining Translation and Orientation in 3D
• The 4 × 4 homogeneous transformations
form a group:
23