![]() |
Parasol Planning Library (PPL)
|
#include <Robot.h>
Public Member Functions | |
Construction | |
Robot (MPProblem *const _p, XMLNode &_node) | |
Robot (MPProblem *const _p, std::unique_ptr< MultiBody > &&_mb, const std::string &_label) | |
Robot (MPProblem *const _p, const Robot &_r) | |
~Robot () noexcept | |
Disabled Functions | |
Regular copy/move is not allowed because we require a permanent MPProblem for the robot to belong to. Assignment is disabled because we should never need to re-assign entire robots. Destruct the old one and create a new one instead. | |
Robot (const Robot &)=delete | |
Robot (Robot &&)=delete | |
Robot & | operator= (const Robot &)=delete |
Robot & | operator= (Robot &&)=delete |
Planning Interface | |
void | InitializePlanningSpaces () |
Compute the configuration and velocity spaces for this robot. More... | |
const CSpaceBoundingBox * | GetCSpace () const noexcept |
Get the configuration space boundary for this robot. More... | |
const CSpaceBoundingBox * | GetVSpace () const noexcept |
Get the velocity space boundary for this robot. More... | |
MPProblem * | GetMPProblem () const noexcept |
Get the owning MPProblem. More... | |
Geometry Accessors | |
Access the robot's geometric representation. The robot will take ownership of its MultiBody and delete it when necessary. | |
MultiBody * | GetMultiBody () noexcept |
const MultiBody * | GetMultiBody () const noexcept |
const EndEffector & | GetEndEffector () const noexcept |
Access the robot manipulator's end effector, if it exists. More... | |
Actuator Accessors | |
Access the robot's actuators. These are set during input file parsing and cannot be changed otherwise. | |
Actuator * | GetActuator (const std::string &_label) noexcept |
const std::unordered_map< std::string, std::unique_ptr< Actuator > > & | GetActuators () const noexcept |
Get set of all actuators mapped by label. More... | |
Other Properties | |
bool | IsVirtual () const noexcept |
void | SetVirtual (const bool _v) noexcept |
bool | IsNonholonomic () const noexcept |
Check if the robot is nonholonomic. More... | |
bool | IsCarlike () const noexcept |
Check if the robot is car-like. More... | |
double | GetMaxLinearVelocity () const noexcept |
Get the maximum translational velocity for this robot. More... | |
double | GetMaxAngularVelocity () const noexcept |
Get the maximum angular velocity for this robot. More... | |
const std::string & | GetLabel () const noexcept |
Get the unique label for this robot. More... | |
const std::string & | GetDefaultStrategyLabel () const noexcept |
Get the default strategy label for this robot. More... | |
const std::string & | GetCapability () const noexcept |
Get the capability for this robot. More... | |
void | SetCapability (const std::string &_capability) |
Set the capability for this robot. More... | |
bool | IsManipulator () const noexcept |
Check if the robot is a manipulator. More... | |
bool | IsFixed () const noexcept |
Check if the robot has a fixed base. More... | |
Cfg | GetInitialCfg () |
Get initial configuration for the robot (not implemented) More... | |
void | SetInitialCfg (Cfg _cfg) |
Set initial configuration for the robot (not implemented) More... | |
Protected Member Functions | |
I/O | |
void | ReadXMLFile (const std::string &_filename) |
void | ReadXMLNode (XMLNode &_node) |
void | ReadMultiBodyXML (XMLNode &_node) |
void | ReadMultibodyFile (const std::string &_filename) |
Complete representation of a robot.
A robot has many components, including:
Construct a robot from an XML node.
_p | The owning MPProblem. |
_node | The XML node to parse. |
Robot::Robot | ( | MPProblem *const | _p, |
std::unique_ptr< MultiBody > && | _mb, | ||
const std::string & | _label | ||
) |
Construct a robot from a multibody.
_p | The owning MPProblem. |
_label | The unique label for this robot. |
|
defaultnoexcept |
|
delete |
|
delete |
|
noexcept |
Get actuator using label
_label | Label of actuator to retrieve |
|
noexcept |
Get set of all actuators mapped by label.
|
noexcept |
Get the capability for this robot.
|
noexcept |
Get the configuration space boundary for this robot.
|
noexcept |
Get the default strategy label for this robot.
|
noexcept |
Access the robot manipulator's end effector, if it exists.
Cfg Robot::GetInitialCfg | ( | ) |
Get initial configuration for the robot (not implemented)
|
noexcept |
Get the unique label for this robot.
|
noexcept |
Get the maximum angular velocity for this robot.
|
noexcept |
Get the maximum translational velocity for this robot.
|
noexcept |
|
noexcept |
|
noexcept |
Get the velocity space boundary for this robot.
void Robot::InitializePlanningSpaces | ( | ) |
Compute the configuration and velocity spaces for this robot.
|
noexcept |
Check if the robot is car-like.
|
noexcept |
Check if the robot has a fixed base.
|
noexcept |
Check if the robot is a manipulator.
|
noexcept |
Check if the robot is nonholonomic.
|
noexcept |
Check if this is a 'virtual' robot. These do not represent physical robots, and will be ignored by other robots in collision detection. Virtual robots will not appear in simulations.
|
protected |
Parse a multibody file describing this robot.
_filename | The file name. |
|
protected |
Parse multibody information from robot's XML file.
_node | The XML node to parse |
|
protected |
Parse an XML robot file.
_filename | The file name. |
|
protected |
Parse an XML robot node.
_node | The SML node. |
void Robot::SetCapability | ( | const std::string & | _capability | ) |
Set the capability for this robot.
void Robot::SetInitialCfg | ( | Cfg | _cfg | ) |
Set initial configuration for the robot (not implemented)
|
noexcept |
Set the robot's virtual flag.
_v | The new value for the virtual flag. |