Classes | Typedefs | Functions | Variables
moveit::core Namespace Reference

Core components of MoveIt. More...

Classes

class  AABB
 Represents an axis-aligned bounding box. More...
 
class  AttachedBody
 Object defining bodies that can be attached to robot links. More...
 
class  CartesianInterpolator
 
class  FixedJointModel
 A fixed joint. More...
 
class  FloatingJointModel
 A floating joint. More...
 
class  JointModel
 A joint from the robot. Models the transform that this joint applies in the kinematic chain. A joint consists of multiple variables. In the simplest case, when the joint is a single DOF, there is only one variable and its name is the same as the joint's name. For multi-DOF joints, each variable has a local name (e.g., x, y) but the full variable name as seen from the outside of this class is a concatenation of the "joint name"/"local name" (e.g., a joint named 'base' with local variables 'x' and 'y' will store its full variable names as 'base/x' and 'base/y'). Local names are never used to reference variables directly. More...
 
class  JointModelGroup
 
struct  JumpThreshold
 Struct for containing jump_threshold. More...
 
class  LinkModel
 A link from the robot. Contains the constant transform applied to the link and its geometry. More...
 
struct  MaxEEFStep
 Struct for containing max_step for computeCartesianPath. More...
 
class  PlanarJointModel
 A planar joint. More...
 
class  PrismaticJointModel
 A prismatic joint. More...
 
class  RevoluteJointModel
 A revolute joint. More...
 
class  RobotModel
 Definition of a kinematic model. This class is not thread safe, however multiple instances can be created. More...
 
class  RobotModelBuilder
 Easily build different robot models for testing. Essentially a programmer-friendly light wrapper around URDF and SRDF. Best shown by an example: More...
 
class  RobotState
 Representation of a robot's state. This includes position, velocity, acceleration and effort. More...
 
class  Transforms
 Provides an implementation of a snapshot of a transform tree that can be easily queried for transforming different quantities. Transforms are maintained as a list of transforms to a particular frame. All stored transforms are considered fixed. More...
 
struct  VariableBounds
 

Typedefs

typedef boost::function< void(AttachedBody *body, bool attached)> AttachedBodyCallback
 
using FixedTransformsMap = std::map< std::string, Eigen::Isometry3d, std::less< std::string >, Eigen::aligned_allocator< std::pair< const std::string, Eigen::Isometry3d > > >
 Map frame names to the transformation matrix that can transform objects from the frame name to the planning frame. More...
 
typedef boost::function< bool(RobotState *robot_state, const JointModelGroup *joint_group, const double *joint_group_variable_values)> GroupStateValidityCallbackFn
 Signature for functions that can verify that if the group joint_group in robot_state is set to joint_group_variable_values the state is valid or not. Returns true if the state is valid. This call is allowed to modify robot_state (e.g., set joint_group_variable_values) More...
 
using JointBoundsVector = std::vector< const JointModel::Bounds * >
 
using JointModelGroupMap = std::map< std::string, JointModelGroup * >
 Map of names to instances for JointModelGroup. More...
 
using JointModelGroupMapConst = std::map< std::string, const JointModelGroup * >
 Map of names to const instances for JointModelGroup. More...
 
using JointModelMap = std::map< std::string, JointModel * >
 Map of names to instances for JointModel. More...
 
using JointModelMapConst = std::map< std::string, const JointModel * >
 Map of names to const instances for JointModel. More...
 
typedef std::map< std::string, LinkModel * > LinkModelMap
 Map of names to instances for LinkModel. More...
 
using LinkModelMapConst = std::map< std::string, const LinkModel * >
 Map of names to const instances for LinkModel. More...
 
using LinkTransformMap = std::map< const LinkModel *, Eigen::Isometry3d, std::less< const LinkModel * >, Eigen::aligned_allocator< std::pair< const LinkModel *const, Eigen::Isometry3d > > >
 Map from link model instances to Eigen transforms. More...
 
typedef boost::function< kinematics::KinematicsBasePtr(const JointModelGroup *)> SolverAllocatorFn
 Function type that allocates a kinematics solver for a particular group. More...
 
using SolverAllocatorMapFn = std::map< const JointModelGroup *, SolverAllocatorFn >
 Map from group instances to allocator functions & bijections. More...
 
using VariableBoundsMap = std::map< std::string, VariableBounds >
 Data type for holding mappings from variable names to their bounds. More...
 
typedef std::map< std::string, int > VariableIndexMap
 Data type for holding mappings from variable names to their position in a state vector. More...
 

Functions

void attachedBodiesToAttachedCollisionObjectMsgs (const std::vector< const AttachedBody * > &attached_bodies, std::vector< moveit_msgs::AttachedCollisionObject > &attached_collision_objs)
 Convert AttachedBodies to AttachedCollisionObjects. More...
 
bool isArray (XmlRpc::XmlRpcValue &v, size_t size=0, const std::string &name="", const std::string &description="")
 
bool isEmpty (const moveit_msgs::Constraints &msg)
 Check if a message specifies constraints. More...
 
bool isEmpty (const moveit_msgs::PlanningScene &msg)
 Check if a message includes any information about a planning scene, or whether it is empty. More...
 
bool isEmpty (const moveit_msgs::PlanningSceneWorld &msg)
 Check if a message includes any information about a planning scene world, or whether it is empty. More...
 
bool isEmpty (const moveit_msgs::RobotState &msg)
 Check if a message includes any information about a robot state, or whether it is empty. More...
 
bool isStruct (XmlRpc::XmlRpcValue &v, const std::vector< std::string > &keys={}, const std::string &name="")
 
bool jointStateToRobotState (const sensor_msgs::JointState &joint_state, RobotState &state)
 Convert a joint state to a MoveIt robot state. More...
 
bool jointTrajPointToRobotState (const trajectory_msgs::JointTrajectory &trajectory, std::size_t point_id, RobotState &state)
 Convert a joint trajectory point to a MoveIt robot state. More...
 
urdf::ModelInterfaceSharedPtr loadModelInterface (const std::string &robot_name)
 Loads a URDF Model Interface from moveit_resources. More...
 
srdf::ModelSharedPtr loadSRDFModel (const std::string &robot_name)
 Loads an SRDF Model from moveit_resources. More...
 
moveit::core::RobotModelPtr loadTestingRobotModel (const std::string &robot_name)
 Loads a robot from moveit_resources. More...
 
 MOVEIT_CLASS_FORWARD (RobotModel)
 
 MOVEIT_CLASS_FORWARD (RobotState)
 
 MOVEIT_CLASS_FORWARD (Transforms)
 
std::ostream & operator<< (std::ostream &out, const RobotState &s)
 Operator overload for printing variable bounds to a stream. More...
 
std::ostream & operator<< (std::ostream &out, const VariableBounds &b)
 Operator overload for printing variable bounds to a stream. More...
 
double parseDouble (XmlRpc::XmlRpcValue &v)
 parse a double value from a scalar XmlRpc More...
 
bool robotStateMsgToRobotState (const moveit_msgs::RobotState &robot_state, RobotState &state, bool copy_attached_bodies=true)
 Convert a robot state msg (with accompanying extra transforms) to a MoveIt robot state. More...
 
bool robotStateMsgToRobotState (const Transforms &tf, const moveit_msgs::RobotState &robot_state, RobotState &state, bool copy_attached_bodies=true)
 Convert a robot state msg (with accompanying extra transforms) to a MoveIt robot state. More...
 
void robotStateToJointStateMsg (const RobotState &state, sensor_msgs::JointState &joint_state)
 Convert a MoveIt robot state to a joint state message. More...
 
void robotStateToRobotStateMsg (const RobotState &state, moveit_msgs::RobotState &robot_state, bool copy_attached_bodies=true)
 Convert a MoveIt robot state to a robot state message. More...
 
void robotStateToStream (const RobotState &state, std::ostream &out, bool include_header=true, const std::string &separator=",")
 Convert a MoveIt robot state to common separated values (CSV) on a single line that is outputted to a stream e.g. for file saving. More...
 
void robotStateToStream (const RobotState &state, std::ostream &out, const std::vector< std::string > &joint_groups_ordering, bool include_header=true, const std::string &separator=",")
 Convert a MoveIt robot state to common separated values (CSV) on a single line that is outputted to a stream e.g. for file saving. This version can order by joint model groups. More...
 
void streamToRobotState (RobotState &state, const std::string &line, const std::string &separator=",")
 Convert a string of joint values from a file (CSV) or input source into a RobotState. More...
 
double toDouble (const std::string &s)
 Converts a std::string to double using the classic C locale. More...
 
float toFloat (const std::string &s)
 Converts a std::string to float using the classic C locale. More...
 
template<class OutType >
OutType toRealImpl (const std::string &s)
 
std::string toString (double d)
 Convert a double to std::string using the classic C locale. More...
 
std::string toString (float f)
 Convert a float to std::string using the classic C locale. More...
 
template<class InType >
std::string toStringImpl (InType t)
 

Variables

const std::string LOGNAME = "robot_model.jmg"
 
static const std::size_t MIN_STEPS_FOR_JUMP_THRESH = 10
 It is recommended that there are at least 10 steps per trajectory for testing jump thresholds with computeCartesianPath. With less than 10 steps it is difficult to choose a jump_threshold parameter that effectively separates valid paths from paths with large joint space jumps. More...
 

Detailed Description

Core components of MoveIt.

Typedef Documentation

◆ AttachedBodyCallback

typedef boost::function<void(AttachedBody* body, bool attached)> moveit::core::AttachedBodyCallback

Definition at line 115 of file attached_body.h.

◆ FixedTransformsMap

using moveit::core::FixedTransformsMap = typedef std::map<std::string, Eigen::Isometry3d, std::less<std::string>, Eigen::aligned_allocator<std::pair<const std::string, Eigen::Isometry3d> > >

Map frame names to the transformation matrix that can transform objects from the frame name to the planning frame.

Definition at line 117 of file transforms.h.

◆ GroupStateValidityCallbackFn

typedef boost::function<bool(RobotState* robot_state, const JointModelGroup* joint_group, const double* joint_group_variable_values)> moveit::core::GroupStateValidityCallbackFn

Signature for functions that can verify that if the group joint_group in robot_state is set to joint_group_variable_values the state is valid or not. Returns true if the state is valid. This call is allowed to modify robot_state (e.g., set joint_group_variable_values)

Definition at line 136 of file robot_state.h.

◆ JointBoundsVector

using moveit::core::JointBoundsVector = typedef std::vector<const JointModel::Bounds*>

Definition at line 132 of file joint_model_group.h.

◆ JointModelGroupMap

Map of names to instances for JointModelGroup.

Definition at line 127 of file joint_model_group.h.

◆ JointModelGroupMapConst

Map of names to const instances for JointModelGroup.

Definition at line 130 of file joint_model_group.h.

◆ JointModelMap

using moveit::core::JointModelMap = typedef std::map<std::string, JointModel*>

Map of names to instances for JointModel.

Definition at line 156 of file joint_model.h.

◆ JointModelMapConst

using moveit::core::JointModelMapConst = typedef std::map<std::string, const JointModel*>

Map of names to const instances for JointModel.

Definition at line 159 of file joint_model.h.

◆ LinkModelMap

Map of names to instances for LinkModel.

Definition at line 58 of file link_model.h.

◆ LinkModelMapConst

using moveit::core::LinkModelMapConst = typedef std::map<std::string, const LinkModel*>

Map of names to const instances for LinkModel.

Definition at line 64 of file link_model.h.

◆ LinkTransformMap

using moveit::core::LinkTransformMap = typedef std::map<const LinkModel*, Eigen::Isometry3d, std::less<const LinkModel*>, Eigen::aligned_allocator<std::pair<const LinkModel* const, Eigen::Isometry3d> > >

Map from link model instances to Eigen transforms.

Definition at line 68 of file link_model.h.

◆ SolverAllocatorFn

typedef boost::function<kinematics::KinematicsBasePtr(const JointModelGroup*)> moveit::core::SolverAllocatorFn

Function type that allocates a kinematics solver for a particular group.

Definition at line 118 of file joint_model_group.h.

◆ SolverAllocatorMapFn

Map from group instances to allocator functions & bijections.

Definition at line 124 of file joint_model_group.h.

◆ VariableBoundsMap

Data type for holding mappings from variable names to their bounds.

Definition at line 153 of file joint_model.h.

◆ VariableIndexMap

Data type for holding mappings from variable names to their position in a state vector.

Definition at line 147 of file joint_model.h.

Function Documentation

◆ attachedBodiesToAttachedCollisionObjectMsgs()

void moveit::core::attachedBodiesToAttachedCollisionObjectMsgs ( const std::vector< const AttachedBody * > &  attached_bodies,
std::vector< moveit_msgs::AttachedCollisionObject > &  attached_collision_objs 
)

Convert AttachedBodies to AttachedCollisionObjects.

Parameters
attached_bodiesThe input MoveIt attached body objects
attached_collision_objsThe resultant AttachedCollisionObject messages

Definition at line 503 of file conversions.cpp.

◆ isArray()

bool moveit::core::isArray ( XmlRpc::XmlRpcValue v,
size_t  size = 0,
const std::string name = "",
const std::string description = "" 
)

check that v is an array of given size

Parameters
sizecheck that array has given size, zero value allows for array size
nameif non-empty, print a warning message "name is not an array[size]"
descriptionif non-empty, serves as a descriptor for array items

Definition at line 119 of file xmlrpc_casts.cpp.

◆ isEmpty() [1/4]

bool moveit::core::isEmpty ( const moveit_msgs::Constraints &  msg)

Check if a message specifies constraints.

Definition at line 130 of file message_checks.cpp.

◆ isEmpty() [2/4]

bool moveit::core::isEmpty ( const moveit_msgs::PlanningScene &  msg)

Check if a message includes any information about a planning scene, or whether it is empty.

Definition at line 107 of file message_checks.cpp.

◆ isEmpty() [3/4]

bool moveit::core::isEmpty ( const moveit_msgs::PlanningSceneWorld &  msg)

Check if a message includes any information about a planning scene world, or whether it is empty.

Definition at line 113 of file message_checks.cpp.

◆ isEmpty() [4/4]

bool moveit::core::isEmpty ( const moveit_msgs::RobotState &  msg)

Check if a message includes any information about a robot state, or whether it is empty.

Definition at line 118 of file message_checks.cpp.

◆ isStruct()

bool moveit::core::isStruct ( XmlRpc::XmlRpcValue v,
const std::vector< std::string > &  keys = {},
const std::string name = "" 
)

check that v is a struct with given keys

Parameters
keyslist of required keys
nameif non-empty, print a warning message "name is not a struct with keys ..."

Definition at line 131 of file xmlrpc_casts.cpp.

◆ jointStateToRobotState()

bool moveit::core::jointStateToRobotState ( const sensor_msgs::JointState &  joint_state,
RobotState state 
)

Convert a joint state to a MoveIt robot state.

Parameters
joint_stateThe input joint state to be converted
stateThe resultant MoveIt robot state
Returns
True if successful, false if failed for any reason

Definition at line 467 of file conversions.cpp.

◆ jointTrajPointToRobotState()

bool moveit::core::jointTrajPointToRobotState ( const trajectory_msgs::JointTrajectory &  trajectory,
std::size_t  point_id,
RobotState state 
)

Convert a joint trajectory point to a MoveIt robot state.

Parameters
joint_trajectoryThe input msg
point_idThe index of the trajectory point in the joint trajectory.
stateThe resultant MoveIt robot state
Returns
True if successful, false if failed for any reason

Definition at line 532 of file conversions.cpp.

◆ loadModelInterface()

urdf::ModelInterfaceSharedPtr moveit::core::loadModelInterface ( const std::string robot_name)

Loads a URDF Model Interface from moveit_resources.

Parameters
[in]robot_nameThe name of the robot in moveit_resources to load. This should be the prefix to many of the robot packages. For example, "pr2", "panda", or "fanuc".
Returns
a ModelInterface constructed from robot_name's URDF.

Definition at line 124 of file robot_model_test_utils.cpp.

◆ loadSRDFModel()

srdf::ModelSharedPtr moveit::core::loadSRDFModel ( const std::string robot_name)

Loads an SRDF Model from moveit_resources.

Parameters
[in]robot_nameThe name of the robot in moveit_resources to load. This should be the prefix to many of the robot packages. For example, "pr2", "panda", or "fanuc".
Returns
an SRDF Model constructed from robot_name's URDF and SRDF.

Definition at line 145 of file robot_model_test_utils.cpp.

◆ loadTestingRobotModel()

moveit::core::RobotModelPtr moveit::core::loadTestingRobotModel ( const std::string robot_name)

Loads a robot from moveit_resources.

Parameters
[in]robot_nameThe name of the robot in moveit_resources to load. This should be the prefix to many of the robot packages. For example, "pr2", "panda", or "fanuc".
Returns
a RobotModel constructed from robot_name's URDF and SRDF.

Definition at line 116 of file robot_model_test_utils.cpp.

◆ MOVEIT_CLASS_FORWARD() [1/3]

moveit::core::MOVEIT_CLASS_FORWARD ( RobotModel  )

◆ MOVEIT_CLASS_FORWARD() [2/3]

moveit::core::MOVEIT_CLASS_FORWARD ( RobotState  )

◆ MOVEIT_CLASS_FORWARD() [3/3]

moveit::core::MOVEIT_CLASS_FORWARD ( Transforms  )

◆ operator<<() [1/2]

std::ostream & moveit::core::operator<< ( std::ostream &  out,
const RobotState s 
)

Operator overload for printing variable bounds to a stream.

Definition at line 2304 of file robot_state.cpp.

◆ operator<<() [2/2]

std::ostream & moveit::core::operator<< ( std::ostream &  out,
const VariableBounds b 
)

Operator overload for printing variable bounds to a stream.

Definition at line 287 of file joint_model.cpp.

◆ parseDouble()

double moveit::core::parseDouble ( XmlRpc::XmlRpcValue v)

parse a double value from a scalar XmlRpc

Definition at line 109 of file xmlrpc_casts.cpp.

◆ robotStateMsgToRobotState() [1/2]

bool moveit::core::robotStateMsgToRobotState ( const moveit_msgs::RobotState &  robot_state,
RobotState state,
bool  copy_attached_bodies = true 
)

Convert a robot state msg (with accompanying extra transforms) to a MoveIt robot state.

Parameters
robot_stateThe input robot state msg
stateThe resultant MoveIt robot state
copy_attached_bodiesFlag to include attached objects in robot state copy
Returns
True if successful, false if failed for any reason

Definition at line 474 of file conversions.cpp.

◆ robotStateMsgToRobotState() [2/2]

bool moveit::core::robotStateMsgToRobotState ( const Transforms tf,
const moveit_msgs::RobotState &  robot_state,
RobotState state,
bool  copy_attached_bodies = true 
)

Convert a robot state msg (with accompanying extra transforms) to a MoveIt robot state.

Parameters
tfAn instance of a transforms object
robot_stateThe input robot state msg
stateThe resultant MoveIt robot state
copy_attached_bodiesFlag to include attached objects in robot state copy
Returns
True if successful, false if failed for any reason

Definition at line 481 of file conversions.cpp.

◆ robotStateToJointStateMsg()

void moveit::core::robotStateToJointStateMsg ( const RobotState state,
sensor_msgs::JointState &  joint_state 
)

Convert a MoveIt robot state to a joint state message.

Parameters
stateThe input MoveIt robot state object
robot_stateThe resultant JointState message

Definition at line 512 of file conversions.cpp.

◆ robotStateToRobotStateMsg()

void moveit::core::robotStateToRobotStateMsg ( const RobotState state,
moveit_msgs::RobotState &  robot_state,
bool  copy_attached_bodies = true 
)

Convert a MoveIt robot state to a robot state message.

Parameters
stateThe input MoveIt robot state object
robot_stateThe resultant RobotState *message
copy_attached_bodiesFlag to include attached objects in robot state copy

Definition at line 489 of file conversions.cpp.

◆ robotStateToStream() [1/2]

void moveit::core::robotStateToStream ( const RobotState state,
std::ostream &  out,
bool  include_header = true,
const std::string separator = "," 
)

Convert a MoveIt robot state to common separated values (CSV) on a single line that is outputted to a stream e.g. for file saving.

Parameters
state- The input MoveIt robot state object
out- a file stream, or any other stream
include_header- flag to prefix the output with a line of joint names.
separator- allows to override the comma seperator with any symbol, such as a white space

Definition at line 557 of file conversions.cpp.

◆ robotStateToStream() [2/2]

void moveit::core::robotStateToStream ( const RobotState state,
std::ostream &  out,
const std::vector< std::string > &  joint_groups_ordering,
bool  include_header = true,
const std::string separator = "," 
)

Convert a MoveIt robot state to common separated values (CSV) on a single line that is outputted to a stream e.g. for file saving. This version can order by joint model groups.

Parameters
state- The input MoveIt robot state object
out- a file stream, or any other stream
joint_group_ordering- output joints based on ordering of joint groups
include_header- flag to prefix the output with a line of joint names.
separator- allows to override the comma seperator with any symbol, such as a white space

Definition at line 585 of file conversions.cpp.

◆ streamToRobotState()

void moveit::core::streamToRobotState ( RobotState state,
const std::string line,
const std::string separator = "," 
)

Convert a string of joint values from a file (CSV) or input source into a RobotState.

Parameters
state- the output MoveIt robot state object
line- the input string of joint values
separator- allows to override the comma seperator with any symbol, such as a white space
Returns
true on success

Definition at line 622 of file conversions.cpp.

◆ toDouble()

double moveit::core::toDouble ( const std::string s)

Converts a std::string to double using the classic C locale.

Exceptions
std::runtime_exceptionif not a valid number

Definition at line 145 of file lexical_casts.cpp.

◆ toFloat()

float moveit::core::toFloat ( const std::string s)

Converts a std::string to float using the classic C locale.

Exceptions
std::runtime_exceptionif not a valid number

Definition at line 150 of file lexical_casts.cpp.

◆ toRealImpl()

template<class OutType >
OutType moveit::core::toRealImpl ( const std::string s)

Definition at line 131 of file lexical_casts.cpp.

◆ toString() [1/2]

std::string moveit::core::toString ( double  d)

Convert a double to std::string using the classic C locale.

Definition at line 120 of file lexical_casts.cpp.

◆ toString() [2/2]

std::string moveit::core::toString ( float  f)

Convert a float to std::string using the classic C locale.

Definition at line 125 of file lexical_casts.cpp.

◆ toStringImpl()

template<class InType >
std::string moveit::core::toStringImpl ( InType  t)

Definition at line 111 of file lexical_casts.cpp.

Variable Documentation

◆ LOGNAME

const std::string moveit::core::LOGNAME = "robot_model.jmg"

Definition at line 165 of file joint_model_group.cpp.

◆ MIN_STEPS_FOR_JUMP_THRESH

const std::size_t moveit::core::MIN_STEPS_FOR_JUMP_THRESH = 10
static

It is recommended that there are at least 10 steps per trajectory for testing jump thresholds with computeCartesianPath. With less than 10 steps it is difficult to choose a jump_threshold parameter that effectively separates valid paths from paths with large joint space jumps.

Definition at line 118 of file cartesian_interpolator.cpp.



moveit_core
Author(s): Ioan Sucan , Sachin Chitta , Acorn Pooley
autogenerated on Tue Nov 24 2020 03:26:41