libfranka 0.15.0
FCI C++ API
Loading...
Searching...
No Matches
Public Member Functions | List of all members
franka::RobotModel Class Reference

Implements RobotModelBase using Pinocchio. More...

#include <robot_model.h>

Inheritance diagram for franka::RobotModel:
Inheritance graph
[legend]
Collaboration diagram for franka::RobotModel:
Collaboration graph
[legend]

Public Member Functions

 RobotModel (const std::string &urdf)
 
void 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, std::array< double, 7 > &c_ne) override
 Calculates the Coriolis force vector (state-space equation): \( c= C \times dq\), in \([Nm]\).
 
void gravity (const std::array< double, 7 > &q, const std::array< double, 3 > &g_earth, double m_total, const std::array< double, 3 > &f_x_ctotal, std::array< double, 7 > &g_ne) override
 Calculates the gravity vector.
 
void 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, std::array< double, 49 > &m_ne) override
 Calculates the 7x7 mass matrix.
 

Detailed Description

Implements RobotModelBase using Pinocchio.

Member Function Documentation

◆ coriolis()

void franka::RobotModel::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,
std::array< double, 7 > &  c_ne 
)
overridevirtual

Calculates the Coriolis force vector (state-space equation): \( c= C \times dq\), in \([Nm]\).

Parameters
[in]qJoint position.
[in]dqJoint velocity.
[in]i_totalInertia of the attached total load including end effector, relative to center of mass, given as vectorized 3x3 column-major matrix. Unit: \([kg \times m^2]\).
[in]m_totalWeight of the attached total load including end effector. Unit: \([kg]\).
[in]f_x_ctotalTranslation from flange to center of mass of the attached total load. Unit: \([m]\).
[out]c_neCoriolis force vector. Unit: \([Nm]\).

Implements RobotModelBase.

◆ gravity()

void franka::RobotModel::gravity ( const std::array< double, 7 > &  q,
const std::array< double, 3 > &  g_earth,
double  m_total,
const std::array< double, 3 > &  f_x_ctotal,
std::array< double, 7 > &  g_ne 
)
overridevirtual

Calculates the gravity vector.

Unit: \([Nm]\).

Parameters
[in]qJoint position.
[in]gravity_earthEarth's gravity vector. Unit: \(\frac{m}{s^2}\).
[in]m_totalWeight of the attached total load including end effector. Unit: \([kg]\).
[in]f_x_CtotalTranslation from flange to center of mass of the attached total load.
[out]g_neGravity vector. Unit: \([Nm]\).

Implements RobotModelBase.

◆ mass()

void franka::RobotModel::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,
std::array< double, 49 > &  m_ne 
)
overridevirtual

Calculates the 7x7 mass matrix.

Unit: \([kg \times m^2]\).

Parameters
[in]qJoint position.
[in]i_totalInertia of the attached total load including end effector, relative to center of mass, given as vectorized 3x3 column-major matrix. Unit: \([kg \times m^2]\).
[in]m_totalWeight of the attached total load including end effector. Unit: \([kg]\).
[in]f_x_ctotalTranslation from flange to center of mass of the attached total load. Unit: \([m]\).
[out]m_neVectorized 7x7 mass matrix, column-major.

Implements RobotModelBase.


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