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