HLR  0.0.1
Classes | Functions
HLR::Kinematics Namespace Reference

Kinematics & Planning. More...

Classes

class  Kinematics
 Contains the functions to compute the forward and inverse kinematics for the mitsubishi rv-2aj robot arm. More...
 
class  Matrix
 Create a matrix with numerical values. More...
 
class  ObjectMoveHandler
 Interface to send commands to the Kinematics component Executes actions on the robotarm based in the incoming messages. More...
 

Functions

template<typename T , std::size_t m, std::size_t n>
constexpr Matrix< T, m, n > operator+ (const Matrix< T, m, n > &lhs, T rhs) noexcept
 Add a scalar from every element of the matrix. Doesn't modify original matrix. More...
 
template<typename T , std::size_t m, std::size_t n>
constexpr Matrix< T, m, n > operator+ (T lhs, const Matrix< T, m, n > &rhs) noexcept
 Add a scalar from every element of the matrix. Doesn't modify original matrix. More...
 
template<typename T , std::size_t m, std::size_t n>
constexpr Matrix< T, m, n > operator- (const Matrix< T, m, n > &lhs, T rhs) noexcept
 Subtract a scalar from every element of the matrix. Doesn't modify original matrix. More...
 
template<typename T , std::size_t m, std::size_t n>
constexpr Matrix< T, m, n > operator- (T lhs, const Matrix< T, m, n > &rhs) noexcept
 Subtract a scalar from every element of the matrix. Doesn't modify original matrix. More...
 
template<typename T , std::size_t m, std::size_t n>
constexpr Matrix< T, m, n > operator* (const Matrix< T, m, n > &lhs, T rhs) noexcept
 Multiply every element of the matrix with a scalar. Doesn't modify original matrix. More...
 
template<typename T , std::size_t m, std::size_t n>
constexpr Matrix< T, m, n > operator* (T lhs, const Matrix< T, m, n > &rhs) noexcept
 Multiply every element of the matrix with a scalar. Doesn't modify original matrix. More...
 
template<typename T , std::size_t m, std::size_t n>
constexpr Matrix< T, m, n > operator/ (const Matrix< T, m, n > &lhs, T rhs) noexcept
 Divide every element of the matrix with a scalar. Doesn't modify original matrix. More...
 
template<typename T , std::size_t m, std::size_t n>
constexpr Matrix< T, m, n > operator/ (T lhs, const Matrix< T, m, n > &rhs) noexcept
 Divide every element of the matrix with a scalar. Doesn't modify original matrix. More...
 
template<typename T , std::size_t m, std::size_t n>
std::ostream & operator<< (std::ostream &os, const Matrix< T, m, n > &mat)
 Output the matrix to an ostream. More...
 

Detailed Description

Kinematics & Planning.

The Kinematics namespace is used for components related to inverse kinematics, trajectory calculation (aka planning) and Mitsubishi RV-2AJ control via a driver. There is also a simulation for these components.

Function Documentation

template<typename T , std::size_t m, std::size_t n>
constexpr Matrix<T, m, n> HLR::Kinematics::operator* ( const Matrix< T, m, n > &  lhs,
rhs 
)
noexcept

Multiply every element of the matrix with a scalar. Doesn't modify original matrix.

Parameters
lhsThe matrix that will be used to multiplied.
rhsThe scalar to multiply with.
Returns
A new matrix with the modified elements.
template<typename T , std::size_t m, std::size_t n>
constexpr Matrix<T, m, n> HLR::Kinematics::operator* ( lhs,
const Matrix< T, m, n > &  rhs 
)
noexcept

Multiply every element of the matrix with a scalar. Doesn't modify original matrix.

Parameters
lhslhs The scalar to multiply with.
rhsrhs The matrix that will be used to multiplied.
Returns
A new matrix with the modified elements.
template<typename T , std::size_t m, std::size_t n>
constexpr Matrix<T, m, n> HLR::Kinematics::operator+ ( const Matrix< T, m, n > &  lhs,
rhs 
)
noexcept

Add a scalar from every element of the matrix. Doesn't modify original matrix.

Parameters
lhsThe matrix to base the addition on.
rhsThe scalar to add.
Returns
A new matrix with the modified elements.
template<typename T , std::size_t m, std::size_t n>
constexpr Matrix<T, m, n> HLR::Kinematics::operator+ ( lhs,
const Matrix< T, m, n > &  rhs 
)
noexcept

Add a scalar from every element of the matrix. Doesn't modify original matrix.

Parameters
lhslhs The scalar to add.
rhsrhs The matrix to subtract the scalar from.
Returns
A new matrix with the modified elements.
template<typename T , std::size_t m, std::size_t n>
constexpr Matrix<T, m, n> HLR::Kinematics::operator- ( const Matrix< T, m, n > &  lhs,
rhs 
)
noexcept

Subtract a scalar from every element of the matrix. Doesn't modify original matrix.

Parameters
lhslhs The matrix to subtract the scalard from.
rhsrhs The scalar to subtract.
Returns
A new matrix with the modified elements.
template<typename T , std::size_t m, std::size_t n>
constexpr Matrix<T, m, n> HLR::Kinematics::operator- ( lhs,
const Matrix< T, m, n > &  rhs 
)
noexcept

Subtract a scalar from every element of the matrix. Doesn't modify original matrix.

Parameters
lhsThe matrix to subtract the scalard from.
rhsThe scalar to subtract.
Returns
A new matrix with the modified elements.
template<typename T , std::size_t m, std::size_t n>
constexpr Matrix<T, m, n> HLR::Kinematics::operator/ ( const Matrix< T, m, n > &  lhs,
rhs 
)
noexcept

Divide every element of the matrix with a scalar. Doesn't modify original matrix.

Parameters
lhsThe matrix that will be divided.
rhsThe scalar to divide with.
Returns
A new matrix with the modified elements.
template<typename T , std::size_t m, std::size_t n>
constexpr Matrix<T, m, n> HLR::Kinematics::operator/ ( lhs,
const Matrix< T, m, n > &  rhs 
)
noexcept

Divide every element of the matrix with a scalar. Doesn't modify original matrix.

Parameters
lhsThe scalar to divide with.
rhsThe matrix that will be divided.
Returns
A new matrix with the modified elements.
template<typename T , std::size_t m, std::size_t n>
std::ostream& HLR::Kinematics::operator<< ( std::ostream &  os,
const Matrix< T, m, n > &  mat 
)

Output the matrix to an ostream.

Parameters
osThe ostream that.
matThe matrix that contains.
Returns
The ostream where the matrix has been outputted to.