LocalGuidance
A library that generates velocity references to follow a path.
navigation_common Namespace Reference

Implementation of conversion functions for Path/PathLocalGuidance. More...

Classes

class  CoordinateSpace
 
class  Edge
 
class  LocomotionController
 
class  LocomotionControllerLocalGuidance
 
class  Macros
 
class  Node
 
class  Path
 
class  PathBase
 
class  PathLocalGuidance
 
class  PathSegment
 
class  PathSegmentBase
 
class  PathSegmentLocalGuidance
 
class  PoseGraph
 
class  PoseStamped
 
class  Tolerance
 

Typedefs

typedef std::shared_ptr< EdgeEdgePtr
 
typedef std::shared_ptr< NodeNodePtr
 
using PathPtr = std::shared_ptr< Path >
 
using PathConstPtr = std::shared_ptr< const Path >
 
using PathLocalGuidancePtr = std::shared_ptr< PathLocalGuidance >
 
using PathConstLocalGuidancePtr = std::shared_ptr< const PathLocalGuidance >
 
using PathSegmentPtr = std::shared_ptr< PathSegment >
 
using PathSegmentBasePtr = std::shared_ptr< PathSegmentBase >
 
using PathSegmentLocalGuidancePtr = std::shared_ptr< PathSegmentLocalGuidance >
 
typedef std::shared_ptr< PoseGraphPoseGraphPtr
 
typedef std::shared_ptr< PoseStampedPoseStampedPtr
 
typedef Eigen::Vector3d Vector3D
 
typedef kindr::RotationQuaternionD RotationQuaternionD
 
typedef kindr::RotationMatrixD RotationMatrixD
 
typedef kindr::AngleAxisD AngleAxisD
 

Enumerations

enum  DimensionType {
  DimensionType::Txy, DimensionType::Txyz, DimensionType::Ry, DimensionType::Rrpy,
  DimensionType::TxyRy, DimensionType::TxyzRy, DimensionType::TxyzRrpy
}
 

Functions

tf::StampedTransform listenForTf (const tf::TransformListener &tfListener, const std::string &target, const std::string &source, const ros::Time &time, const ros::Duration &timeout=ros::Duration(1.0))
 
geometry_msgs::PoseStamped tfToPose (const tf::StampedTransform &tf)
 
tf::StampedTransform poseToTf (const geometry_msgs::PoseStamped &poseStamped, const std::string &childFrameId)
 
double directionToYaw (const Vector3D &direction)
 
double orientationToYaw (const RotationQuaternionD &orientation)
 
RotationQuaternionD yawToOrientationYaw (double yaw)
 
RotationQuaternionD directionToOrientationYaw (const Vector3D &direction)
 
RotationQuaternionD directionToOrientationPitchYaw (const Vector3D &direction)
 
std::ostream & operator<< (std::ostream &stream, const LocomotionController &locomotionController)
 
std::ostream & operator<< (std::ostream &stream, const LocomotionControllerLocalGuidance &locomotionController)
 
std::ostream & operator<< (std::ostream &stream, const Node &node)
 
std::unique_ptr< PathLocalGuidanceconvertPathToPathLocalGuidance (const Path &path, const std::string &defaultLocalGuidanceMode="")
 
std::unique_ptr< PathLocalGuidanceconvertPathToPathLocalGuidance (const PathPtr &path, const std::string &defaultLocalGuidanceMode="")
 
std::ostream & operator<< (std::ostream &stream, const PathSegment &pathSegment)
 
std::ostream & operator<< (std::ostream &stream, const PathSegmentBase &pathSegment)
 
std::ostream & operator<< (std::ostream &stream, const PathSegmentLocalGuidance &pathSegment)
 
std::ostream & operator<< (std::ostream &stream, const PoseStamped &pose)
 
std::ostream & operator<< (std::ostream &stream, const Tolerance &tolerance)
 

Detailed Description

Implementation of conversion functions for Path/PathLocalGuidance.

Authors
Marco Tranzatto RSL

Typedef Documentation

typedef kindr::AngleAxisD navigation_common::AngleAxisD
typedef std::shared_ptr< Edge > navigation_common::EdgePtr
typedef std::shared_ptr<Node> navigation_common::NodePtr
using navigation_common::PathConstLocalGuidancePtr = typedef std::shared_ptr<const PathLocalGuidance>
using navigation_common::PathConstPtr = typedef std::shared_ptr<const Path>
using navigation_common::PathPtr = typedef std::shared_ptr<Path>
using navigation_common::PathSegmentBasePtr = typedef std::shared_ptr<PathSegmentBase>
using navigation_common::PathSegmentPtr = typedef std::shared_ptr<PathSegment>
typedef std::shared_ptr<PoseGraph> navigation_common::PoseGraphPtr
typedef kindr::RotationMatrixD navigation_common::RotationMatrixD
typedef kindr::RotationQuaternionD navigation_common::RotationQuaternionD
typedef Eigen::Vector3d navigation_common::Vector3D

Enumeration Type Documentation

Enumerator
Txy 
Txyz 
Ry 
Rrpy 
TxyRy 
TxyzRy 
TxyzRrpy 

Function Documentation

std::unique_ptr<PathLocalGuidance> navigation_common::convertPathToPathLocalGuidance ( const Path path,
const std::string &  defaultLocalGuidanceMode = "" 
)

Converts a legacy path object to a local guidance path object.

Parameters
[in]pathlegacy path object.
[in]defaultLocalGuidanceModedefault local guidance mode to assign to each local guidance segment.
Returns
local guidance path object created from legacy path.
std::unique_ptr<PathLocalGuidance> navigation_common::convertPathToPathLocalGuidance ( const PathPtr path,
const std::string &  defaultLocalGuidanceMode = "" 
)

Converts a legacy path object to a local guidance path object.

Parameters
[in]pathlegacy path object.
[in]defaultLocalGuidanceModedefault local guidance mode to assign to each local guidance segment.
Returns
local guidance path object created from legacy path.
RotationQuaternionD navigation_common::directionToOrientationPitchYaw ( const Vector3D direction)

Create a orientation (pitch and yaw, roll = 0) from a direction.

Parameters
direction(unnormalized) direction of the x-axis.
Returns
orientation.
RotationQuaternionD navigation_common::directionToOrientationYaw ( const Vector3D direction)

Create a orientation (yaw, roll and pitch = 0) from a direction.

Parameters
direction(unnormalized) direction of the x-axis.
Returns
orientation.
double navigation_common::directionToYaw ( const Vector3D direction)

Calculate the in plane yaw angle from a direction.

Parameters
direction(unnormalized) direction of the x-axis.
Returns
yaw angle.
tf::StampedTransform navigation_common::listenForTf ( const tf::TransformListener &  tfListener,
const std::string &  target,
const std::string &  source,
const ros::Time &  time,
const ros::Duration &  timeout = ros::Duration(1.0) 
)

Listens for a certain transformation.

Parameters
tfListenerTransformation listener.
targettarget frame id.
sourcesource frame id.
timedesired time.
Returns
transformation
std::ostream& navigation_common::operator<< ( std::ostream &  stream,
const LocomotionControllerLocalGuidance locomotionController 
)
std::ostream& navigation_common::operator<< ( std::ostream &  stream,
const PathSegmentBase pathSegment 
)
std::ostream& navigation_common::operator<< ( std::ostream &  stream,
const PathSegmentLocalGuidance pathSegment 
)
std::ostream& navigation_common::operator<< ( std::ostream &  stream,
const PathSegment pathSegment 
)
std::ostream& navigation_common::operator<< ( std::ostream &  stream,
const LocomotionController locomotionController 
)
std::ostream& navigation_common::operator<< ( std::ostream &  stream,
const Node node 
)
std::ostream& navigation_common::operator<< ( std::ostream &  stream,
const Tolerance tolerance 
)
std::ostream& navigation_common::operator<< ( std::ostream &  stream,
const PoseStamped pose 
)
double navigation_common::orientationToYaw ( const RotationQuaternionD orientation)

Calculate the in plane yaw angle from a rotation quaternion.

Parameters
orientationrotation quaternion of the orientation.
Returns
yaw angle.
tf::StampedTransform navigation_common::poseToTf ( const geometry_msgs::PoseStamped &  poseStamped,
const std::string &  childFrameId 
)

Creates a pose from a transformation.

Parameters
poseStampedpose.
childFrameIdchild frame id.
Returns
transformation.
geometry_msgs::PoseStamped navigation_common::tfToPose ( const tf::StampedTransform &  tf)

Creates a pose from a transformation.

Parameters
transformationStampedtransformation.
Returns
Pose.
RotationQuaternionD navigation_common::yawToOrientationYaw ( double  yaw)

Create a orientation (yaw, roll and pitch = 0) from a yaw angle.

Parameters
yawyaw angle.
Returns
orientation.