![]() |
ImFusion SDK 4.3
|
#include <RoboticsPlugin/Include/ImFusion/Robotics/Model/RobotModel.h>
Holds the description of a robot arm as a tree of links, kept together by joints (fixed or mobile). More...
Holds the description of a robot arm as a tree of links, kept together by joints (fixed or mobile).
Multiple kinematic chains can be defined on the tree, selecting a contiguous set of segments (combination of a joint and a link). A single kinematic chain can be active at a time, and it will be used for the kinematic queries.
Classes | |
struct | NotableFrames |
Name of frames that identify the base, flange and end effector links within the URDF link tree. More... | |
Public Types | |
enum class | ValidStateType { Minimum , Average , Maximum } |
Point of the joint range to be used to generate a joint state satisfying the limits. | |
Public Member Functions | |
RobotModel (RobotModel &&) | |
RobotModel & | operator= (RobotModel &&) |
std::shared_ptr< const RobotTree > | robotTree () const |
const RobotTree * | robotTreeRef () const |
std::unique_ptr< RobotSolver > | generateSolver () const |
std::unique_ptr< RobotSolverAsync > | generateSolverAsync () const |
std::optional< RobotArmCartesianState > | forwardKinematics (const JointPosition &jointPosition) const |
InverseKinematicsSolution | inverseKinematics (const isom3 &base_T_effector_goal, JointPosition init={}) const |
InverseKinematicsVelSolution | inverseKinematicsVel (const mat4 &goalVelocity, const JointPosition &jointPosition) const |
InverseKinematicsVelSolution | inverseKinematicsVel (const vec3 &goalTranslVelocity, const vec3 &goalRotVelocity, const JointPosition &jointPosition) const |
JacobianSolution | computeJacobian (const JointPosition &jointPosition) const |
GravitySolution | computeGravity (const JointPosition &jointPosition) const |
CoriolisSolution | computeCoriolis (const JointPosition &jointPosition, const JointVelocity &jointVelocity) const |
std::shared_ptr< const RobotGroup > | mainGroup () const |
RobotGroupPtr | group () const |
const RobotGroupMap * | groups () const |
std::optional< RobotGroupPtr > | group (const std::string &name) const |
JointState | validJointState (ValidStateType type=ValidStateType::Minimum) const |
JointState | validJointState (double initVal) const |
std::shared_ptr< const RobotDescription > | robotDescription () const |
std::shared_ptr< const RobotGUIProperties > | guiProperties () const |
std::shared_ptr< const std::vector< std::string > > | linkNames () const |
std::string | baseName () const |
std::optional< std::string > | flangeName () const |
std::string | endEffectorName () const |
std::vector< std::string > | planningGroupNames () const |
virtual size_t | numberOfJoints () const |
std::vector< std::string > | jointNames (bool onlyActive=true) const |
const isom3 & | base_T_controllerBase () const |
isom3 | flange_T_effector_original () const |
std::map< std::string, SavedGroupState > | groupStates () const |
std::shared_ptr< const RobotDescription > | description () const |
Static Public Member Functions | |
static RobotModel | loadFromFiles (const Filesystem::Path &resourcePrefix, const Filesystem::Path &urdfPath, const Filesystem::Path &srdfPath, const std::string &group, const NotableFrames &baseFlangeEffectorLinks={"", "", ""}) |
Constructs a RobotModel from a ROS URDF and an SRDF. | |
static RobotModel | loadFromBuffers (const Filesystem::Path &resourcePrefix, const std::string &urdf, const std::string &srdf, const std::string &group, const NotableFrames &baseFlangeEffectorLinks={"", "", ""}) |
|
static |
Constructs a RobotModel from a ROS URDF and an SRDF.
Note: supports only one end effector.
resourcePrefix | If any path to or in the URDF or the SRDF are relative, this prefix will be prepended |
urdfPath | Path to the URDF |
srdfPath | Path to the SRDF, used to determine the default kinematic chain, named joint positions and the joint limits |
baseFlangeEffectorLinks | Can be used to override the default kinematic chain |
std::map< std::string, SavedGroupState > groupStates | ( | ) | const |
|
inline |