tinyrobotics
|
Contains functions for computing various kinematic quantities of a tinyrobotics model. More...
Go to the source code of this file.
Functions | |
template<typename Scalar , int nq, typename TargetLink > | |
int | tinyrobotics::get_link_idx (const Model< Scalar, nq > &model, const TargetLink &target_link) |
Retrieves the index of the target link in the tinyrobotics model. | |
template<typename Scalar , int nq> | |
std::vector< Eigen::Transform< Scalar, 3, Eigen::Isometry > > | tinyrobotics::forward_kinematics (Model< Scalar, nq > &model, const Eigen::Matrix< Scalar, nq, 1 > &q) |
Computes the transform to all the links in the tinyrobotics model. | |
template<typename Scalar , int nq, typename TargetLink > | |
Eigen::Transform< Scalar, 3, Eigen::Isometry > | tinyrobotics::forward_kinematics (const Model< Scalar, nq > &model, const Eigen::Matrix< Scalar, nq, 1 > &q, const TargetLink &target_link) |
Computes the transform between target and the base link. The transform converts points in target frame to the base link frame. | |
template<typename Scalar , int nq, typename TargetLink , typename SourceLink > | |
Eigen::Transform< Scalar, 3, Eigen::Isometry > | tinyrobotics::forward_kinematics (const Model< Scalar, nq > &model, const Eigen::Matrix< Scalar, nq, 1 > &q, const TargetLink &target_link, const SourceLink &source_link) |
Computes the transform between target and the source link. The transform converts points in target frame to the source link frame. | |
template<typename Scalar , int nq> | |
std::vector< Eigen::Transform< Scalar, 3, Eigen::Isometry > > | tinyrobotics::forward_kinematics_com (Model< Scalar, nq > &model, const Eigen::Matrix< Scalar, nq, 1 > &q) |
Computes the transform between center of mass of each link and the source link. | |
template<typename Scalar , int nq, typename TargetLink , typename SourceLink = int> | |
Eigen::Transform< Scalar, 3, Eigen::Isometry > | tinyrobotics::forward_kinematics_com (const Model< Scalar, nq > &model, const Eigen::Matrix< Scalar, nq, 1 > &q, const TargetLink &target_link, const SourceLink &source_link=0) |
Computes the transform between source link and target center of mass. The transform converts points in the target links center of mass frame into the source link frame. | |
template<typename Scalar , int nq, typename TargetLink > | |
Eigen::Matrix< Scalar, 6, nq > | tinyrobotics::jacobian (Model< Scalar, nq > &model, const Eigen::Matrix< Scalar, nq, 1 > &q, const TargetLink &target_link) |
Computes the geometric jacobian of the target link from the base link, in the base link frame. | |
template<typename Scalar , int nq, typename SourceLink = int> | |
Eigen::Matrix< Scalar, 3, 1 > | tinyrobotics::center_of_mass (Model< Scalar, nq > &model, const Eigen::Matrix< Scalar, nq, 1 > &q, const SourceLink &source_link=0) |
Computes the center of mass expressed in source link frame. | |
Contains functions for computing various kinematic quantities of a tinyrobotics model.
Eigen::Matrix< Scalar, 3, 1 > tinyrobotics::center_of_mass | ( | Model< Scalar, nq > & | model, |
const Eigen::Matrix< Scalar, nq, 1 > & | q, | ||
const SourceLink & | source_link = 0 |
||
) |
Computes the center of mass expressed in source link frame.
model | tinyrobotics model. |
q | The configuration vector of the robot model. |
source_link | Source link, which can be an integer (index) or a string (name), from which the center of mass is expressed. |
Scalar | type of the tinyrobotics model. |
nq | Number of configuration coordinates (degrees of freedom). |
SourceLink | Type of source_link parameter, which can be int or std::string. |
Eigen::Transform< Scalar, 3, Eigen::Isometry > tinyrobotics::forward_kinematics | ( | const Model< Scalar, nq > & | model, |
const Eigen::Matrix< Scalar, nq, 1 > & | q, | ||
const TargetLink & | target_link | ||
) |
Computes the transform between target and the base link. The transform converts points in target frame to the base link frame.
model | tinyrobotics model. |
q | Joint configuration of the robot. |
target_link | Target link, which can be an integer (index) or a string (name). |
Scalar | type of the tinyrobotics model. |
nq | Number of configuration coordinates (degrees of freedom). |
TargetLink | Type of target_link parameter, which can be int or std::string. |
Eigen::Transform< Scalar, 3, Eigen::Isometry > tinyrobotics::forward_kinematics | ( | const Model< Scalar, nq > & | model, |
const Eigen::Matrix< Scalar, nq, 1 > & | q, | ||
const TargetLink & | target_link, | ||
const SourceLink & | source_link | ||
) |
Computes the transform between target and the source link. The transform converts points in target frame to the source link frame.
model | tinyrobotics model. |
q | Joint configuration of the robot. |
target_link | Target link, which can be an integer (index) or a string (name). |
source_link | Source link, which can be an integer (index) or a string (name). |
Scalar | type of the tinyrobotics model. |
nq | Number of configuration coordinates (degrees of freedom). |
TargetLink | Type of target_link parameter, which can be int or std::string. |
SourceLink | Type of source_link parameter, which can be int or std::string. |
std::vector< Eigen::Transform< Scalar, 3, Eigen::Isometry > > tinyrobotics::forward_kinematics | ( | Model< Scalar, nq > & | model, |
const Eigen::Matrix< Scalar, nq, 1 > & | q | ||
) |
Computes the transform to all the links in the tinyrobotics model.
model | tinyrobotics model. |
q | Joint configuration of the robot. |
Scalar | type of the tinyrobotics model. |
nq | Number of configuration coordinates (degrees of freedom). |
Eigen::Transform< Scalar, 3, Eigen::Isometry > tinyrobotics::forward_kinematics_com | ( | const Model< Scalar, nq > & | model, |
const Eigen::Matrix< Scalar, nq, 1 > & | q, | ||
const TargetLink & | target_link, | ||
const SourceLink & | source_link = 0 |
||
) |
Computes the transform between source link and target center of mass. The transform converts points in the target links center of mass frame into the source link frame.
model | tinyrobotics model. |
q | Joint configuration of the robot. |
target_link | Target link, which can be an integer (index) or a string (name). |
source_link | Source link, which can be an integer (index) or a string (name). |
Scalar | type of the tinyrobotics model. |
nq | Number of configuration coordinates (degrees of freedom). |
TargetLink | Type of target_link parameter, which can be int or std::string. |
SourceLink | Type of source_link parameter, which can be int or std::string. |
std::vector< Eigen::Transform< Scalar, 3, Eigen::Isometry > > tinyrobotics::forward_kinematics_com | ( | Model< Scalar, nq > & | model, |
const Eigen::Matrix< Scalar, nq, 1 > & | q | ||
) |
Computes the transform between center of mass of each link and the source link.
model | tinyrobotics model. |
q | Joint configuration of the robot. |
Scalar | type of the tinyrobotics model. |
nq | Number of configuration coordinates (degrees of freedom). |
int tinyrobotics::get_link_idx | ( | const Model< Scalar, nq > & | model, |
const TargetLink & | target_link | ||
) |
Retrieves the index of the target link in the tinyrobotics model.
model | tinyrobotics model. |
target_link | Target link, which can be an integer (index) or a string (name). |
Scalar | type of the tinyrobotics model. |
nq | Number of configuration coordinates (degrees of freedom). |
TargetLink | Type of target_link parameter, which can be int or std::string. |
std::invalid_argument | if the TargetLink type is not int or std::string. |
Eigen::Matrix< Scalar, 6, nq > tinyrobotics::jacobian | ( | Model< Scalar, nq > & | model, |
const Eigen::Matrix< Scalar, nq, 1 > & | q, | ||
const TargetLink & | target_link | ||
) |
Computes the geometric jacobian of the target link from the base link, in the base link frame.
model | tinyrobotics model. |
q | Joint configuration of the robot. |
target_link | Target link, which can be an integer (index) or a string (name). |
Scalar | type of the tinyrobotics model. |
nq | Number of configuration coordinates (degrees of freedom). |
TargetLink | Type of target_link parameter, which can be int or std::string. |