![]()  | 
  
    RobWorkProject
    23.9.11-
    
   | 
 
Matrices, vectors, configurations, and more. More...
Classes | |
| class | CameraMatrix | 
| The PerspectiveTransform2D is a perspective transform in 2D. The homographic transform can be used to map one arbitrary 2D quadrilateral into another.  More... | |
| class | EigenDecomposition | 
| Type representing a set of eigen values and eigen vectors.  More... | |
| class | EAA | 
| A class for representing an equivalent angle-axis rotation.  More... | |
| class | Function | 
| Interface for functions.  More... | |
| class | InertiaMatrix | 
| A 3x3 inertia matrix.  More... | |
| class | Metric | 
| Template interface for metrics on type T.  More... | |
| class | ManhattanMetric | 
| Manhattan distance metric for vector types.  More... | |
| class | WeightedManhattanMetric | 
| Weighted Manhattan distance metric for vector types.  More... | |
| class | EuclideanMetric | 
| Euclidean distance metric for vector types.  More... | |
| class | WeightedEuclideanMetric | 
| Weighted Euclidean metric for vector types.  More... | |
| class | InfinityMetric | 
| Infinity norm distance metric for vector types.  More... | |
| class | WeightedInfinityMetric | 
| Weighted infinity norm metric for vector types.  More... | |
| class | MahalanobisMetric | 
| Mahalanobis distance metric for vector types.  More... | |
| class | Rotation3DAngleMetric | 
| a distance metric over rotations. The distance between two rotations is the smalles angle that rotates the one into the other.  More... | |
| class | Transform3DAngleMetric | 
| distance metrics between points in SE3.  More... | |
| class | PerspectiveTransform2D | 
| The PerspectiveTransform2D is a perspective transform in 2D.  More... | |
| class | Polynomial | 
| Representation of an ordinary polynomial with scalar coefficients (that can be both real and complex).  More... | |
| class | Pose2D | 
| A Pose3D \( \mathbf{x}\in \mathbb{R}^6 \) describes a position and orientation in 3-dimensions.  More... | |
| class | Pose6D | 
| A Pose6D \( \mathbf{x}\in \mathbb{R}^6 \) describes a position and orientation in 3-dimensions.  More... | |
| class | Quaternion | 
| A Quaternion \( \mathbf{q}\in \mathbb{R}^4 \) a complex number used to describe rotations in 3-dimensional space. \( q_w+{\bf i}\ q_x+ {\bf j} q_y+ {\bf k}\ q_z \).  More... | |
| class | Rotation2D | 
| A 2x2 rotation matrix \( \mathbf{R}\in SO(2) \).  More... | |
| class | Rotation3D | 
| A 3x3 rotation matrix \( \mathbf{R}\in SO(3) \).  More... | |
| class | Rotation3DVector | 
| An abstract base class for Rotation3D parameterisations.  More... | |
| class | RPY | 
| A class for representing Roll-Pitch-Yaw Euler angle rotations.  More... | |
| class | Statistics | 
| Class for collecting data and calculating simple statistics.  More... | |
| class | Transform2D | 
| class | Transform3D | 
| A 4x4 homogeneous transform matrix \( \mathbf{T}\in SE(3) \).  More... | |
| class | Vector | 
| Configuration vector.  More... | |
| class | Vector2D | 
| A 2D vector \( \mathbf{v}\in \mathbb{R}^2 \).  More... | |
| class | Vector3D | 
| A 3D vector \( \mathbf{v}\in \mathbb{R}^3 \).  More... | |
| class | VectorND | 
| A N-Dimensional Vector.  More... | |
| class | VelocityScrew6D | 
| Class for representing 6 degrees of freedom velocity screws.  More... | |
| class | Wrench6D | 
| Class for representing 6 degrees of freedom wrenches.  More... | |
| class | Function1Diff | 
| Interface for functions which are 1 time differentiable.  More... | |
| class | Jacobian | 
| A Jacobian class. A jacobian with m rows and n columns.  More... | |
| class | Line2D | 
| Describes a line segment in 2D.  More... | |
| class | Line2DPolar | 
| Describes a line in 2D in polar coordinates.  More... | |
| class | LinearAlgebra | 
| Collection of Linear Algebra functions.  More... | |
| class | Math | 
| Utility functions for the rw::math module.  More... | |
| class | MetricFactory | 
| Metric constructor functions.  More... | |
| class | MetricUtil | 
| Various metrics and other distance measures.  More... | |
| class | PolynomialND | 
| Representation of a polynomial that can have non-scalar coefficients (polynomial matrix).  More... | |
| class | PolynomialSolver | 
| Find solutions for roots of real and complex polynomial equations.  More... | |
| class | ProjectionMatrix | 
| projection matrix  More... | |
| class | Q | 
| Configuration vector.  More... | |
| class | Random | 
| Generation of random numbers.  More... | |
| class | Rotation2DVector | 
| struct | Transform2DIdentity | 
| A 3x3 homogeneous transform matrix \( \mathbf{T}\in SE(2) \).  More... | |
| struct | Transform2DIdentity< double > | 
| struct | Transform2DIdentity< float > | 
| class | Transform3DVector | 
| this class is a interpolatable Transform3D, consisting of a Vecor3D and a Quaternion. It is implemented to be very Interconvertable with a Transform3D, and allow operations souch as Transform * scalar and Transform + Transform.  More... | |
Typedefs | |
| using | CameraMatrixd = CameraMatrix< double > | 
| using | CameraMatrixf = CameraMatrix< float > | 
| using | EAAd = EAA< double > | 
| using | EAAf = EAA< float > | 
| using | EigenDecompositiond = EigenDecomposition< double > | 
| using | EigenDecompositionf = EigenDecomposition< float > | 
| using | InertiaMatrixd = InertiaMatrix< double > | 
| using | InertiaMatrixf = InertiaMatrix< float > | 
| typedef Metric< rw::math::Q > | QMetric | 
| Metrics on configurations.  | |
| typedef Metric< rw::math::Transform3D< double > > | Transform3DMetric | 
| Metric on Transdform3D.  | |
| using | PerspectiveTransform2Dd = PerspectiveTransform2D< double > | 
| using | PerspectiveTransform2Df = PerspectiveTransform2D< float > | 
| using | Pose2Dd = Pose2D< double > | 
| using | Pose2Df = Pose2D< float > | 
| using | Pose6Dd = Pose6D< double > | 
| using | Pose6Df = Pose6D< float > | 
| using | Quaterniond = Quaternion< double > | 
| using | Quaternionf = Quaternion< float > | 
| using | Rotation2Dd = Rotation2D< double > | 
| using | Rotation2Df = Rotation2D< float > | 
| using | Rotation3Dd = Rotation3D< double > | 
| using | Rotation3Df = Rotation3D< float > | 
| using | RPYd = RPY< double > | 
| using | RPYf = RPY< float > | 
| using | Transform2Dd = Transform2D< double > | 
| using | Transform2Df = Transform2D< float > | 
| using | Transform3Dd = Transform3D< double > | 
| using | Transform3Df = Transform3D< float > | 
| using | Transform3DVectord = Transform3DVector< double > | 
| using | Transform3DVectorf = Transform3DVector< float > | 
| using | Vectord = Vector< double > | 
| using | Vectorf = Vector< float > | 
| using | Vector2Dd = Vector2D< double > | 
| using | Vector2Df = Vector2D< float > | 
| using | Vector3Dd = Vector3D< double > | 
| using | Vector3Df = Vector3D< float > | 
| template<class T > | |
| using | Vector6D = VectorND< 6, T > | 
| using | VelocityScrew6Dd = VelocityScrew6D< double > | 
| using | VelocityScrew6Df = VelocityScrew6D< float > | 
| using | Wrench6Dd = Wrench6D< double > | 
| using | Wrench6Df = Wrench6D< float > | 
Functions | |
| template<class T > | |
| rw::math::Vector3D< T > | cross (const rw::math::Vector3D< T > &v1, const EAA< T > &v2) | 
| template<class Q , class T > | |
| const EAA< Q > | cast (const EAA< T > &eaa) | 
| Casts EAA<T> to EAA<Q>  More... | |
| template<class Q > | |
| InertiaMatrix< Q > | inverse (const InertiaMatrix< Q > &aRb) | 
| Calculates the inverse \( \robabx{b}{a}{\mathbf{R}} = \robabx{a}{b}{\mathbf{R}}^{-1} \) of a rotation matrix.  More... | |
| template<class Q , class T > | |
| InertiaMatrix< Q > | cast (const InertiaMatrix< T > &rot) | 
| Casts InertiaMatrix<T> to InertiaMatrix<Q>  More... | |
| Polynomial | operator* (const PolynomialND< Eigen::Matrix< double, 1, 3 >> &a, const PolynomialND< Eigen::Matrix< double, 3, 1 >> &b) | 
| Multiply 3D polynomial vector with 3D polynomial vector.  More... | |
| PolynomialND< Eigen::Vector3d > | operator* (const PolynomialND< Eigen::Vector3d > &polynomial, const Polynomial<> &p) | 
| Multiply 3D polynomial vector with a polynomial with scalar coefficients.  More... | |
| PolynomialND< Eigen::Matrix< double, 1, 3 > > | operator* (const PolynomialND< Eigen::Matrix< double, 1, 3 >> &polynomial, const Polynomial<> &p) | 
| Multiply 3D polynomial vector with a polynomial with scalar coefficients.  More... | |
| PolynomialND< Eigen::Matrix3d > | operator* (const PolynomialND< Eigen::Matrix3d > &polynomial, const Polynomial<> &p) | 
| Multiply 3D polynomial matrix with a polynomial with scalar coefficients.  More... | |
| Polynomial< float > | operator* (const PolynomialND< Eigen::Matrix< float, 1, 3 >, float > &a, const PolynomialND< Eigen::Matrix< float, 3, 1 >, float > &b) | 
| PolynomialND< Eigen::Vector3f, float > | operator* (const PolynomialND< Eigen::Vector3f, float > &polynomial, const Polynomial< float > &p) | 
| Multiply 3D polynomial vector with a polynomial with scalar coefficients.  More... | |
| PolynomialND< Eigen::Matrix< float, 1, 3 >, float > | operator* (const PolynomialND< Eigen::Matrix< float, 1, 3 >, float > &polynomial, const Polynomial< float > &p) | 
| PolynomialND< Eigen::Matrix3f, float > | operator* (const PolynomialND< Eigen::Matrix3f, float > &polynomial, const Polynomial< float > &p) | 
| Multiply 3D polynomial matrix with a polynomial with scalar coefficients.  More... | |
| PolynomialND< Eigen::Vector3d > | operator* (const PolynomialND< Eigen::Matrix3d > &A, const PolynomialND< Eigen::Vector3d > &b) | 
| Multiply 3D polynomial matrix with 3D polynomial vector.  More... | |
| PolynomialND< Eigen::Matrix< double, 1, 3 > > | operator* (const PolynomialND< Eigen::Matrix< double, 1, 3 >> &a, const PolynomialND< Eigen::Matrix3d > &A) | 
| Multiply 3D polynomial vector with 3D polynomial matrix.  More... | |
| PolynomialND< Eigen::Vector3d > | operator* (const PolynomialND< Eigen::Matrix3d > &A, const Eigen::Vector3d &b) | 
| PolynomialND< Eigen::Matrix< double, 1, 3 > > | operator* (const PolynomialND< Eigen::Matrix< double, 1, 3 >> &a, const Eigen::Matrix3d &A) | 
| PolynomialND< Eigen::Vector3f, float > | operator* (const PolynomialND< Eigen::Matrix3f, float > &A, const PolynomialND< Eigen::Vector3f, float > &b) | 
| PolynomialND< Eigen::Matrix< float, 1, 3 >, float > | operator* (const PolynomialND< Eigen::Matrix< float, 1, 3 >, float > &a, const PolynomialND< Eigen::Matrix3f, float > &A) | 
| PolynomialND< Eigen::Vector3f, float > | operator* (const PolynomialND< Eigen::Matrix3f, float > &A, const Eigen::Vector3f &b) | 
| PolynomialND< Eigen::Matrix< float, 1, 3 >, float > | operator* (const PolynomialND< Eigen::Matrix< float, 1, 3 >, float > &a, const Eigen::Matrix3f &A) | 
| template<class Q , class T > | |
| const Pose6D< Q > | cast (const Pose6D< T > &pose) | 
| Casts Pose6D<T> to Pose6D<Q>  More... | |
| rw::math::Q | concat (const Q &q1, const Q &q2) | 
| concatenates q1 onto q2 such that the returned q has the configurations of q1 in [0;q1.size()[ and has q2 in [q1.size();q1.size()+q2.size()[  More... | |
| template<class T > | |
| Quaternion< T > | ln (const Quaternion< T > &q) | 
| calculates the natural logerithm of this quaternion  More... | |
| template<class T > | |
| Quaternion< T > | exp (const Quaternion< T > &q) | 
| this will return the exponential of this quaternion \( e^Quaternion \)  More... | |
| template<class T > | |
| Quaternion< T > | inverse (const Quaternion< T > &q) | 
| Calculate the inverse Quaternion.  More... | |
| template<class T > | |
| Quaternion< T > | pow (const Quaternion< T > &q, double power) | 
| calculates the quaternion lifted to the power of power  More... | |
| template<class Q , class T > | |
| const Quaternion< Q > | cast (const Quaternion< T > &quaternion) | 
| Casts Quaternion<T> to Quaternion<Q>  More... | |
| template<class T > | |
| const Rotation2D< T > | Rotation2DIdentity () | 
| template<class R , class T > | |
| const Rotation2D< R > | cast (const Rotation2D< T > &rot) | 
| Casts Rotation2D<T> to Rotation2D<Q>  More... | |
| template<class T > | |
| const Rotation2D< T > | transpose (const Rotation2D< T > &aRb) | 
| Find the transpose of aRb.  More... | |
| template<class T > | |
| const Rotation3D< T > | Rotation3DIdentity () | 
| template<class Q , class T > | |
| const RPY< Q > | cast (const RPY< T > &rpy) | 
| Casts RPY<T> to RPY<Q>  More... | |
| template<class Q , class T > | |
| const Transform2D< Q > | cast (const Transform2D< T > &trans) | 
| Cast Transform2D<T> to Transform2D<Q>  More... | |
| template<class Q , class T > | |
| const Transform3D< Q > | cast (const Transform3D< T > &trans) | 
| Cast Transform3D<T> to Transform3D<Q>  More... | |
| template<class A > | |
| bool | operator!= (const Vector< A > &q1, const Vector< A > &q2) | 
| Inequality operator.  More... | |
| template<class A > | |
| rw::math::Vector< A > | concat (const Vector< A > &q1, const Vector< A > &q2) | 
| concatenates q1 onto q2 such that the returned q has the configurations of q1 in [0;q1.size()[ and has q2 in [q1.size();q1.size()+q2.size()[  More... | |
| template<class T > | |
| T | cross (const Vector2D< T > &v1, const Vector2D< T > &v2) | 
| Calculates the 2D vector cross product \( \mathbf{v1} \times \mathbf{v2} \).  More... | |
| template<class T > | |
| double | dot (const Vector2D< T > &v1, const Vector2D< T > &v2) | 
| Calculates the dot product \( \mathbf{v1} . \mathbf{v2} \).  More... | |
| template<class T > | |
| double | angle (const Vector2D< T > &v1, const Vector2D< T > &v2) | 
| calculates the counter clock-wise angle from v1 to v2. the value returned will be in the interval [-2Pi,2Pi]  | |
| template<class T > | |
| const Vector2D< T > | normalize (const Vector2D< T > &v) | 
| Returns the normalized vector \(\mathbf{n}=\frac{\mathbf{v}}{\|\mathbf{v}\|} \).  More... | |
| template<class Q , class T > | |
| const Vector2D< Q > | cast (const Vector2D< T > &v) | 
| Casts Vector2D<T> to Vector2D<Q>  More... | |
| template<class T > | |
| T | norm1 (const VelocityScrew6D< T > &screw) | 
| Takes the 1-norm of the velocity screw. All elements both angular and linear are given the same weight.  More... | |
| template<class T > | |
| T | norm2 (const VelocityScrew6D< T > &screw) | 
| Takes the 2-norm of the velocity screw. All elements both angular and linear are given the same weight.  More... | |
| template<class T > | |
| T | normInf (const VelocityScrew6D< T > &screw) | 
| Takes the infinite norm of the velocity screw. All elements both angular and linear are given the same weight.  More... | |
| template<class Q , class T > | |
| const VelocityScrew6D< Q > | cast (const VelocityScrew6D< T > &vs) | 
| Casts VelocityScrew6D<T> to VelocityScrew6D<Q>  More... | |
| template<class T > | |
| T | norm1 (const Wrench6D< T > &wrench) | 
| Takes the 1-norm of the wrench. All elements both force and torque are given the same weight.  More... | |
| template<class T > | |
| T | norm2 (const Wrench6D< T > &wrench) | 
| Takes the 2-norm of the wrench. All elements both force and tporque are given the same weight.  More... | |
| template<class T > | |
| T | normInf (const Wrench6D< T > &wrench) | 
| Takes the infinite norm of the wrench. All elements both force and torque are given the same weight.  More... | |
| template<class Q , class T > | |
| const Wrench6D< Q > | cast (const Wrench6D< T > &vs) | 
| Casts Wrench6D<T> to Wrench6D<Q>  More... | |
Variables | |
| const double | Pi = 3.1415926535897932384626433832795 | 
| const double | Inch2Meter = 0.0254 | 
| const double | Meter2Inch = 1 / Inch2Meter | 
| const double | Deg2Rad = Pi / 180 | 
| const double | Rad2Deg = 180 / Pi | 
| const Transform2D< double > | Transform2DDoubleIdentity | 
| const Transform2D< float > | Transform2DFloatIdentity | 
Matrices, vectors, configurations, and more.
| InertiaMatrix<Q> rw::math::cast | ( | const InertiaMatrix< T > & | rot | ) | 
Casts InertiaMatrix<T> to InertiaMatrix<Q>
| rot | [in] InertiaMatrix with type T | 
      
  | 
  inline | 
Casts Quaternion<T> to Quaternion<Q>
| quaternion | [in] Quarternion with type T | 
| const Rotation2D<R> rw::math::cast | ( | const Rotation2D< T > & | rot | ) | 
Casts Rotation2D<T> to Rotation2D<Q>
| rot | [in] Rotation2D with type T | 
| const Transform2D<Q> rw::math::cast | ( | const Transform2D< T > & | trans | ) | 
Cast Transform2D<T> to Transform2D<Q>
| trans | [in] Transform2D with type T | 
| const Transform3D<Q> rw::math::cast | ( | const Transform3D< T > & | trans | ) | 
Cast Transform3D<T> to Transform3D<Q>
| trans | [in] Transform3D with type T | 
| const VelocityScrew6D<Q> rw::math::cast | ( | const VelocityScrew6D< T > & | vs | ) | 
Casts VelocityScrew6D<T> to VelocityScrew6D<Q>
| vs | [in] VelocityScrew6D with type T | 
| rw::math::Q rw::math::concat | ( | const Q & | q1, | 
| const Q & | q2 | ||
| ) | 
| rw::math::Vector<A> rw::math::concat | ( | const Vector< A > & | q1, | 
| const Vector< A > & | q2 | ||
| ) | 
Calculates the 2D vector cross product \( \mathbf{v1} \times \mathbf{v2} \).
| v1 | [in] \( \mathbf{v1} \) | 
| v2 | [in] \( \mathbf{v2} \) | 
The 2D vector cross product is defined as:
\( \mathbf{v1} \times \mathbf{v2} = v1_x * v2_y - v1_y * v2_x \)
Calculates the dot product \( \mathbf{v1} . \mathbf{v2} \).
| v1 | [in] \( \mathbf{v1} \) | 
| v2 | [in] \( \mathbf{v2} \) | 
| Quaternion<T> rw::math::exp | ( | const Quaternion< T > & | q | ) | 
this will return the exponential of this quaternion \( e^Quaternion \)
| q | [in] the quaternion being operated on | 
| InertiaMatrix<Q> rw::math::inverse | ( | const InertiaMatrix< Q > & | aRb | ) | 
Calculates the inverse \( \robabx{b}{a}{\mathbf{R}} = \robabx{a}{b}{\mathbf{R}}^{-1} \) of a rotation matrix.
| aRb | [in] the rotation matrix \( \robabx{a}{b}{\mathbf{R}} \) | 
\( \robabx{b}{a}{\mathbf{R}} = \robabx{a}{b}{\mathbf{R}}^{-1} = \robabx{a}{b}{\mathbf{R}}^T \)
| Quaternion<T> rw::math::inverse | ( | const Quaternion< T > & | q | ) | 
Calculate the inverse Quaternion.
| q | [in] the quaternion being operated on | 
| Quaternion<T> rw::math::ln | ( | const Quaternion< T > & | q | ) | 
calculates the natural logerithm of this quaternion
| q | [in] the quaternion being operated on | 
| T rw::math::norm1 | ( | const VelocityScrew6D< T > & | screw | ) | 
Takes the 1-norm of the velocity screw. All elements both angular and linear are given the same weight.
| screw | [in] the velocity screw | 
| T rw::math::norm1 | ( | const Wrench6D< T > & | wrench | ) | 
Takes the 1-norm of the wrench. All elements both force and torque are given the same weight.
| wrench | [in] the wrench | 
| T rw::math::norm2 | ( | const VelocityScrew6D< T > & | screw | ) | 
Takes the 2-norm of the velocity screw. All elements both angular and linear are given the same weight.
| screw | [in] the velocity screw | 
| T rw::math::norm2 | ( | const Wrench6D< T > & | wrench | ) | 
Takes the 2-norm of the wrench. All elements both force and tporque are given the same weight.
| wrench | [in] the wrench | 
Returns the normalized vector \(\mathbf{n}=\frac{\mathbf{v}}{\|\mathbf{v}\|} \).
If \( \| \mathbf{v} \| = 0\) then the zero vector is returned.
| v | [in] \( \mathbf{v} \) which should be normalized | 
| T rw::math::normInf | ( | const VelocityScrew6D< T > & | screw | ) | 
Takes the infinite norm of the velocity screw. All elements both angular and linear are given the same weight.
| screw | [in] the velocity screw | 
| T rw::math::normInf | ( | const Wrench6D< T > & | wrench | ) | 
Takes the infinite norm of the wrench. All elements both force and torque are given the same weight.
| wrench | [in] the wrench | 
Inequality operator.
The inverse of operator==().
| Quaternion<T> rw::math::pow | ( | const Quaternion< T > & | q, | 
| double | power | ||
| ) | 
calculates the quaternion lifted to the power of power
| q | [in] the quaternion being operated on | 
| power | [in] the power the quaternion is lifted to | 
| const Rotation2D<T> rw::math::transpose | ( | const Rotation2D< T > & | aRb | ) | 
Find the transpose of aRb.
The transpose of a rotation matrix is the same as the inverse.
| const double Deg2Rad = Pi / 180 | 
Convert degrees to radians
| const double Inch2Meter = 0.0254 | 
Converts inch to meter
| const double Meter2Inch = 1 / Inch2Meter | 
Converts meter to inch
| const double Pi = 3.1415926535897932384626433832795 | 
Definition of Pi
| const double Rad2Deg = 180 / Pi | 
Converts radians to degrees