1 Pose2D [geometry_msgs/Pose2D]: float64 x float64 y float64 theta
2 Flight Dynamics
3 The Six Degrees of Freedom
4 Axes of Rotation
5 Euler's Theorem (1776) Euler states the theorem as follows:When a sphere is moved around its centre it is always possible to find a diameter whose direction in the displaced position is the same as in the initial position.
6 Euler's Theorem Any rotation or sequence of rotations of a rigid body or coordinate system about a fixed point is equivalent to a single rotation by a given angle θ about a fixed axis (called Euler axis) that runs through the fixed point
7 Quaternions Given an axis K = [kx, ky, kz] T and an angle θ, one can compute the Euler parameters or unit quaternion: with
8 Intuition for the vector-angle representationCompute the eigenvectors and eigenvalues of the rotation matrix R R v = λ v with v the eigenvector corresponding to λ Since R is an orthonormal matrix, it has three eigenvectors: λ1 = λ2, = cosθ + i sin θ λ3, = cosθ - i sin θ For λ = 1 the eigenvector is unchanged by the transformation R. Thus v is the actual axis of rotation. The angle θ can be inferred from the complex pair.
9 Example r = (0.1, 0.2, 0.0.3)
10 Multiplication of two rotation matricesTwo quaternions εi and εi’ are multiplied as follows:
11 Right Hand Rule X Y Z
12 Quaternions x y z w
13 Quaternions x y z w
14 Quaternions x y z w
15 Quaternions x y z w
16 Quaternions x y z w
17 Strike a Pose [geometry_msgs/Pose]: geometry_msgs/Point positionfloat64 x float64 y float64 z geometry_msgs/Quaternion orientation float64 w
18 Translating Quaternionsfrom tf.transformations import * $ print euler_from_quaternion([ , 0, 0, ] [0.123, 0, 0] $ print quaternion_from_euler(1, 2, 3, 'ryxz') [ , , , ]
19 Transformations (tf)
20 URDF
21 URDF
22 URDF
23 Rotation
24 Rotation
25 Rotation
26 Robot Geometry PipelineURDF Joint State Publisher Robot State Publisher Joint States Transforms (tf) urdf: XML parameter /robot_description joint states: topic sensor_msgs/JointState TF: topic /tf
27 tf Library
28 rviz