franka::Model Class Reference

Calculates poses of joints and dynamic properties of the robot. More...

#include <model.h>

## Public Member Functions

std::array< double, 42 > bodyJacobian (Frame frame, const franka::RobotState &robot_state) const
Gets the 6x7 Jacobian for the given frame, relative to that frame. More...

std::array< double, 42 > bodyJacobian (Frame frame, const std::array< double, 7 > &q, const std::array< double, 16 > &F_T_EE, const std::array< double, 16 > &EE_T_K) const
Gets the 6x7 Jacobian for the given frame, relative to that frame. More...

std::array< double, 7 > coriolis (const franka::RobotState &robot_state) const noexcept
Calculates the Coriolis force vector (state-space equation): , in . More...

std::array< double, 7 > coriolis (const std::array< double, 7 > &q, const std::array< double, 7 > &dq, const std::array< double, 9 > &I_total, double m_total, const std::array< double, 3 > &F_x_Ctotal) const noexcept
Calculates the Coriolis force vector (state-space equation): , in . More...

std::array< double, 7 > gravity (const std::array< double, 7 > &q, double m_total, const std::array< double, 3 > &F_x_Ctotal, const std::array< double, 3 > &gravity_earth={{0., 0.,-9.81}}) const noexcept
Calculates the gravity vector. More...

std::array< double, 7 > gravity (const franka::RobotState &robot_state, const std::array< double, 3 > &gravity_earth={{0., 0.,-9.81}}) const noexcept
Calculates the gravity vector. More...

std::array< double, 49 > mass (const franka::RobotState &robot_state) const noexcept
Calculates the 7x7 mass matrix. More...

std::array< double, 49 > mass (const std::array< double, 7 > &q, const std::array< double, 9 > &I_total, double m_total, const std::array< double, 3 > &F_x_Ctotal) const noexcept
Calculates the 7x7 mass matrix. More...

Model (franka::Network &network)
Creates a new Model instance. More...

Model (Model &&model) noexcept
Move-constructs a new Model instance. More...

Modeloperator= (Model &&model) noexcept
Move-assigns this Model from another Model instance. More...

std::array< double, 16 > pose (Frame frame, const franka::RobotState &robot_state) const
Gets the 4x4 pose matrix for the given frame in base frame. More...

std::array< double, 16 > pose (Frame frame, const std::array< double, 7 > &q, const std::array< double, 16 > &F_T_EE, const std::array< double, 16 > &EE_T_K) const
Gets the 4x4 pose matrix for the given frame in base frame. More...

std::array< double, 42 > zeroJacobian (Frame frame, const franka::RobotState &robot_state) const
Gets the 6x7 Jacobian for the given joint relative to the base frame. More...

std::array< double, 42 > zeroJacobian (Frame frame, const std::array< double, 7 > &q, const std::array< double, 16 > &F_T_EE, const std::array< double, 16 > &EE_T_K) const
Gets the 6x7 Jacobian for the given joint relative to the base frame. More...

~Model () noexcept

## Private Attributes

std::unique_ptr< ModelLibrary > library_

## Detailed Description

Calculates poses of joints and dynamic properties of the robot.

Definition at line 51 of file model.h.

## Constructor & Destructor Documentation

 franka::Model::Model ( franka::Network & network )
explicit

Creates a new Model instance.

This constructor is for internal use only.

Parameters
 [in] network For internal use.
Exceptions
 ModelException if the model library cannot be loaded.
 franka::Model::Model ( Model && model )
noexcept

Move-constructs a new Model instance.

Parameters
 [in] model Other Model instance.
 franka::Model::~Model ( )
noexcept

## Member Function Documentation

 std::array franka::Model::bodyJacobian ( Frame frame, const franka::RobotState & robot_state ) const

Gets the 6x7 Jacobian for the given frame, relative to that frame.

The Jacobian is represented as a 6x7 matrix in column-major format.

Parameters
 [in] frame The desired frame. [in] robot_state State from which the pose should be calculated.
Returns
Vectorized 6x7 Jacobian, column-major.
 std::array franka::Model::bodyJacobian ( Frame frame, const std::array< double, 7 > & q, const std::array< double, 16 > & F_T_EE, const std::array< double, 16 > & EE_T_K ) const

Gets the 6x7 Jacobian for the given frame, relative to that frame.

The Jacobian is represented as a 6x7 matrix in column-major format.

Parameters
 [in] frame The desired frame. [in] q Joint position. [in] F_T_EE End effector in flange frame. [in] EE_T_K Stiffness frame K in the end effector frame.
Returns
Vectorized 6x7 Jacobian, column-major.
 std::array franka::Model::coriolis ( const franka::RobotState & robot_state ) const
noexcept

Calculates the Coriolis force vector (state-space equation): , in .

Parameters
 [in] robot_state State from which the Coriolis force vector should be calculated.
Returns
Coriolis force vector.
 std::array franka::Model::coriolis ( const std::array< double, 7 > & q, const std::array< double, 7 > & dq, const std::array< double, 9 > & I_total, double m_total, const std::array< double, 3 > & F_x_Ctotal ) const
noexcept

Calculates the Coriolis force vector (state-space equation): , in .

Parameters
 [in] q Joint position. [in] dq Joint velocity. [in] I_total Inertia of the attached total load including end effector, relative to center of mass, given as vectorized 3x3 column-major matrix. Unit: . [in] m_total Weight of the attached total load including end effector. Unit: . [in] F_x_Ctotal Translation from flange to center of mass of the attached total load. Unit: .
Returns
Coriolis force vector.
 std::array franka::Model::gravity ( const std::array< double, 7 > & q, double m_total, const std::array< double, 3 > & F_x_Ctotal, const std::array< double, 3 > & gravity_earth = {{0., 0.,-9.81}} ) const
noexcept

Calculates the gravity vector.

Unit: .

Parameters
 [in] q Joint position. [in] m_total Weight of the attached total load including end effector. Unit: . [in] F_x_Ctotal Translation from flange to center of mass of the attached total load. Unit: . [in] gravity_earth Earth's gravity vector. Unit: . Default to {0.0, 0.0, -9.81}.
Returns
Gravity vector.
 std::array franka::Model::gravity ( const franka::RobotState & robot_state, const std::array< double, 3 > & gravity_earth = {{0., 0.,-9.81}} ) const
noexcept

Calculates the gravity vector.

Unit: .

Parameters
 [in] robot_state State from which the gravity vector should be calculated. [in] gravity_earth Earth's gravity vector. Unit: . Default to {0.0, 0.0, -9.81}.
Returns
Gravity vector.
 std::array franka::Model::mass ( const franka::RobotState & robot_state ) const
noexcept

Calculates the 7x7 mass matrix.

Unit: .

Parameters
 [in] robot_state State from which the pose should be calculated.
Returns
Vectorized 7x7 mass matrix, column-major.
 std::array franka::Model::mass ( const std::array< double, 7 > & q, const std::array< double, 9 > & I_total, double m_total, const std::array< double, 3 > & F_x_Ctotal ) const
noexcept

Calculates the 7x7 mass matrix.

Unit: .

Parameters
 [in] q Joint position. [in] I_total Inertia of the attached total load including end effector, relative to center of mass, given as vectorized 3x3 column-major matrix. Unit: . [in] m_total Weight of the attached total load including end effector. Unit: . [in] F_x_Ctotal Translation from flange to center of mass of the attached total load. Unit: .
Returns
Vectorized 7x7 mass matrix, column-major.
 Model& franka::Model::operator= ( Model && model )
noexcept

Move-assigns this Model from another Model instance.

Parameters
 [in] model Other Model instance.
Returns
Model instance.
 std::array franka::Model::pose ( Frame frame, const franka::RobotState & robot_state ) const

Gets the 4x4 pose matrix for the given frame in base frame.

The pose is represented as a 4x4 matrix in column-major format.

Parameters
 [in] frame The desired frame. [in] robot_state State from which the pose should be calculated.
Returns
Vectorized 4x4 pose matrix, column-major.
 std::array franka::Model::pose ( Frame frame, const std::array< double, 7 > & q, const std::array< double, 16 > & F_T_EE, const std::array< double, 16 > & EE_T_K ) const

Gets the 4x4 pose matrix for the given frame in base frame.

The pose is represented as a 4x4 matrix in column-major format.

Parameters
 [in] frame The desired frame. [in] q Joint position. [in] F_T_EE End effector in flange frame. [in] EE_T_K Stiffness frame K in the end effector frame.
Returns
Vectorized 4x4 pose matrix, column-major.
 std::array franka::Model::zeroJacobian ( Frame frame, const franka::RobotState & robot_state ) const

Gets the 6x7 Jacobian for the given joint relative to the base frame.

The Jacobian is represented as a 6x7 matrix in column-major format.

Parameters
 [in] frame The desired frame. [in] robot_state State from which the pose should be calculated.
Returns
Vectorized 6x7 Jacobian, column-major.
 std::array franka::Model::zeroJacobian ( Frame frame, const std::array< double, 7 > & q, const std::array< double, 16 > & F_T_EE, const std::array< double, 16 > & EE_T_K ) const

Gets the 6x7 Jacobian for the given joint relative to the base frame.

The Jacobian is represented as a 6x7 matrix in column-major format.

Parameters
 [in] frame The desired frame. [in] q Joint position. [in] F_T_EE End effector in flange frame. [in] EE_T_K Stiffness frame K in the end effector frame.
Returns
Vectorized 6x7 Jacobian, column-major.

## Member Data Documentation

 std::unique_ptr franka::Model::library_
private

Definition at line 280 of file model.h.

The documentation for this class was generated from the following file:

libfranka
Author(s): Franka Emika GmbH
autogenerated on Tue Jul 9 2019 03:32:01