RML  1.0
Robotics Mathematical Library
Loading...
Searching...
No Matches
Functions.h File Reference
#include "EulerRPY.h"
#include "RMLExceptions.h"
#include "Types.h"
#include <algorithm>
#include <array>
#include <iostream>
#include <vector>
Include dependency graph for Functions.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  rml::PlaneParameters
 Using four parameters represention in the form: Ax + By + Cz + D = 0;. More...
 

Namespaces

namespace  rml
 Types and algorithms for robotic mobile manipulation.
 

Functions

Eigen::Vector3d rml::ReducedVersorLemma (const Eigen::Vector3d &v1, const Eigen::Vector3d &v2)
 Compute the misalignment error between two vectors. The result is the vector around which v1 has to rotate to reach v2.
 
Eigen::Vector3d rml::VersorLemma (const Eigen::RotationMatrix &r1, const Eigen::RotationMatrix &r2)
 Compute the versor lemma between the two rotation matrices.
 
Eigen::Vector3d rml::VersorLemma (const EulerRPY &v1, const EulerRPY &v2)
 Compute the versor lemma between the two rotation matrices.
 
Eigen::Vector6d rml::CartesianError (const Eigen::TransformationMatrix &in1, const Eigen::TransformationMatrix &in2)
 Compute the Cartesian error between two transformation matrices.
 
Eigen::Vector6d rml::CartesianError (const Eigen::Vector6d &v1, const Eigen::Vector6d &v2)
 Compute the Cartesian error between two transformation matrices.
 
double rml::DecreasingBellShapedFunction (double xmin, double xmax, double ymin, double ymax, double x) noexcept(false)
 A decreasing bell shaped (sigmoid) function.
 
double rml::IncreasingBellShapedFunction (double xmin, double xmax, double ymin, double ymax, double x) noexcept(false)
 An increasing bell shaped (sigmoid) function.
 
void rml::SaturateScalar (double sat, double &value)
 Saturate the scalar to a given maximum value.
 
void rml::SaturateVector (const double sat, Eigen::VectorXd &vector)
 Saturate the vector to a given maximum value applying normalization for preserving the vector direction.
 
void rml::SaturateVector (const Eigen::VectorXd &upper_limits, const Eigen::VectorXd &lower_limits, Eigen::VectorXd &vect)
 Saturate the vector within the specified limits.
 
double rml::DistancePointToPlane (const Eigen::Vector3d &point, const PlaneParameters &planeParams)
 Evaluates the norm of the shortest distance vector among a point and a given plane.
 
Eigen::Vector3d rml::ClosestPointOnPlane (const Eigen::Vector3d &point, const PlaneParameters &planeParams)
 Given a point and a plane evaluates the coordinates of the closest point on plane w.r.t the input one.
 
Eigen::Matrix3d rml::Vect3ToSkew (const Eigen::Vector3d &t)
 Computes the skew symmetric matrix form for a vector.
 
Eigen::Matrix6d rml::RigidBodyMatrix (const Eigen::Vector3d &transl)
 Compute a rigid body matrix.
 
Eigen::MatrixXd rml::ChangeJacobianObserver (Eigen::MatrixXd J, Eigen::MatrixXd Jobserver, Eigen::Vector3d CartesianError)
 ChangeJacobianObserver Method implementing change of observer for a cartesian Jacobian.
.
 
template<class MatT >
MatT rml::GreatestNormElement (const MatT &vect1, const MatT &vect2, const MatT &vect3)
 An utility to find the vector with the greatest norm among three.
 
template<typename T >
int rml::sgn (T val)
 

Detailed Description

Date
Feb 21, 2018
Author
Francesco Wanderlingh