![]() |
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 |