| |
- mrpt.pymrpt.mrpt.config.CLoadableOptions(pybind11_builtins.pybind11_object)
-
- CParameterizedTrajectoryGenerator(mrpt.pymrpt.mrpt.serialization.CSerializable, mrpt.pymrpt.mrpt.config.CLoadableOptions)
-
- CPTG_RobotShape_Circular
-
- CPTG_Holo_Blend
- CPTG_RobotShape_Polygonal
-
- CPTG_DiffDrive_CollisionGridBased
-
- CPTG_DiffDrive_C
- CPTG_DiffDrive_CC
- CPTG_DiffDrive_CCS
- CPTG_DiffDrive_CS
- CPTG_DiffDrive_alpha
- mrpt.pymrpt.mrpt.graphs.CDirectedTree_mrpt_nav_TMoveEdgeSE2_TP_t(pybind11_builtins.pybind11_object)
-
- TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t
- mrpt.pymrpt.mrpt.rtti.CObject(pybind11_builtins.pybind11_object)
-
- CMultiObjectiveMotionOptimizerBase
-
- CMultiObjMotionOpt_Scalarization
- mrpt.pymrpt.mrpt.serialization.CSerializable(mrpt.pymrpt.mrpt.rtti.CObject)
-
- CAbstractHolonomicReactiveMethod
-
- CHolonomicFullEval
- CHolonomicND
- CHolonomicVFF
- CHolonomicLogFileRecord
-
- CLogFileRecord_FullEval
- CLogFileRecord_ND
- CLogFileRecord_VFF
- CLogFileRecord
- CParameterizedTrajectoryGenerator(mrpt.pymrpt.mrpt.serialization.CSerializable, mrpt.pymrpt.mrpt.config.CLoadableOptions)
-
- CPTG_RobotShape_Circular
-
- CPTG_Holo_Blend
- CPTG_RobotShape_Polygonal
-
- CPTG_DiffDrive_CollisionGridBased
-
- CPTG_DiffDrive_C
- CPTG_DiffDrive_CC
- CPTG_DiffDrive_CCS
- CPTG_DiffDrive_CS
- CPTG_DiffDrive_alpha
- pybind11_builtins.pybind11_object(builtins.object)
-
- CAbstractNavigator
-
- CNavigatorManualSequence
- CWaypointsNavigator
-
- CAbstractPTGBasedReactive
-
- CReactiveNavigationSystem
- CReactiveNavigationSystem3D
- CRobot2NavInterface
-
- CRobot2NavInterfaceForSimulator_DiffDriven
- CRobot2NavInterfaceForSimulator_Holo
- ClearanceDiagram
- PTG_collision_behavior_t
- PlannerSimple2D
- PlannerTPS_VirtualBase
-
- PlannerRRT_SE2_TPS
- PoseDistanceMetric_mrpt_nav_TNodeSE2_TP_t
- PoseDistanceMetric_mrpt_nav_TNodeSE2_t
- RRTAlgorithmParams
- RRTEndCriteria
- TCPoint
- TCandidateMovementPTG
- TMoveEdgeSE2_TP
- TNodeSE2
- TNodeSE2_TP
- TPlannerInputTempl_mrpt_math_TPose2D_mrpt_math_TPose2D_t
- TPlannerResultTempl_mrpt_nav_TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_t
- TRobotShape
- TWaypoint
-
- TWaypointStatus
- TWaypointSequence
- TWaypointStatusSequence
- TWaypointsRenderingParams
class CAbstractHolonomicReactiveMethod(mrpt.pymrpt.mrpt.serialization.CSerializable) |
|
A base class for holonomic reactive navigation methods.
CHolonomicVFF,CHolonomicND,CHolonomicFullEval, CReactiveNavigationSystem |
|
- Method resolution order:
- CAbstractHolonomicReactiveMethod
- mrpt.pymrpt.mrpt.serialization.CSerializable
- mrpt.pymrpt.mrpt.rtti.CObject
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, defaultCfgSectionName: str) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, arg0: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, : mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod) -> mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::operator=(const class mrpt::nav::CAbstractHolonomicReactiveMethod &) --> class mrpt::nav::CAbstractHolonomicReactiveMethod &
- enableApproachTargetSlowDown(...)
- enableApproachTargetSlowDown(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, enable: bool) -> None
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::enableApproachTargetSlowDown(bool) --> void
- getAssociatedPTG(...)
- getAssociatedPTG(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
Returns the pointer set by setAssociatedPTG()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::getAssociatedPTG() const --> class mrpt::nav::CParameterizedTrajectoryGenerator *
- getConfigFileSectionName(...)
- getConfigFileSectionName(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod) -> str
Gets the name of the section used in initialize()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::getConfigFileSectionName() const --> std::string
- getTargetApproachSlowDownDistance(...)
- getTargetApproachSlowDownDistance(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod) -> float
Returns the actual value of this parameter [m], as set via the children
class options structure.
setTargetApproachSlowDownDistance()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::getTargetApproachSlowDownDistance() const --> double
- initialize(...)
- initialize(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
Initialize the parameters of the navigator, reading from the default
section name (see derived classes) or the one set via
setConfigFileSectionName()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::initialize(const class mrpt::config::CConfigFileBase &) --> void
- navigate(...)
- navigate(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, ni: mrpt::nav::CAbstractHolonomicReactiveMethod::NavInput, no: mrpt::nav::CAbstractHolonomicReactiveMethod::NavOutput) -> None
Invokes the holonomic navigation algorithm itself. See the description
of the input/output structures for details on each parameter.
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::navigate(const struct mrpt::nav::CAbstractHolonomicReactiveMethod::NavInput &, struct mrpt::nav::CAbstractHolonomicReactiveMethod::NavOutput &) --> void
- saveConfigFile(...)
- saveConfigFile(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
saves all available parameters, in a forma loadable by `initialize()`
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::saveConfigFile(class mrpt::config::CConfigFileBase &) const --> void
- setAssociatedPTG(...)
- setAssociatedPTG(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, ptg: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
Optionally, sets the associated PTG, just in case a derived class
requires this info (not required for methods where the robot kinematics
are totally abstracted)
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::setAssociatedPTG(class mrpt::nav::CParameterizedTrajectoryGenerator *) --> void
- setConfigFileSectionName(...)
- setConfigFileSectionName(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, sectName: str) -> None
Defines the name of the section used in initialize()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::setConfigFileSectionName(const std::string &) --> void
- setTargetApproachSlowDownDistance(...)
- setTargetApproachSlowDownDistance(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, dist: float) -> None
Sets the actual value of this parameter [m].
getTargetApproachSlowDownDistance()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::setTargetApproachSlowDownDistance(const double) --> void
Static methods defined here:
- Factory(...) from builtins.PyCapsule
- Factory(className: str) -> mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::Factory(const std::string &) --> class std::shared_ptr<class mrpt::nav::CAbstractHolonomicReactiveMethod>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
Data and other attributes defined here:
- NavInput = <class 'mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod.NavInput'>
- Input parameters for CAbstractHolonomicReactiveMethod::navigate()
- NavOutput = <class 'mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod.NavOutput'>
- Output for CAbstractHolonomicReactiveMethod::navigate()
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Returns a deep copy (clone) of the object, indepently of its class.
C++: mrpt::rtti::CObject::clone() const --> class mrpt::rtti::CObject *
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CAbstractNavigator(pybind11_builtins.pybind11_object) |
|
This is the base class for any reactive/planned navigation system. See
derived classes.
How to use:
- A class derived from `CRobot2NavInterface` with callbacks must be defined
by the user and provided to the constructor.
- `navigationStep()` must be called periodically in order to effectively run
the navigation. This method will internally call the callbacks to gather
sensor data and robot positioning data.
It implements the following state machine (see
CAbstractNavigator::getCurrentState() ), taking into account the extensions
described in CWaypointsNavigator
CWaypointsNavigator, CReactiveNavigationSystem, CRobot2NavInterface, all
children classes |
|
- Method resolution order:
- CAbstractNavigator
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator, robot_interface_impl: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
- cancel(...)
- cancel(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Cancel current navegation.
C++: mrpt::nav::CAbstractNavigator::cancel() --> void
- enableRethrowNavExceptions(...)
- enableRethrowNavExceptions(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator, enable: bool) -> None
By default, error exceptions on navigationStep() will dump an error
message to the output logger interface. If rethrow is enabled
(default=false), the error message will be reported as well, but
exceptions will be re-thrown.
C++: mrpt::nav::CAbstractNavigator::enableRethrowNavExceptions(const bool) --> void
- getCurrentState(...)
- getCurrentState(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TState
Returns the current navigator state.
C++: mrpt::nav::CAbstractNavigator::getCurrentState() const --> enum mrpt::nav::CAbstractNavigator::TState
- getDelaysTimeLogger(...)
- getDelaysTimeLogger(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt.pymrpt.mrpt.system.CTimeLogger
Gives access to a const-ref to the internal time logger used to estimate
delays
getTimeLogger() in derived classes
C++: mrpt::nav::CAbstractNavigator::getDelaysTimeLogger() const --> const class mrpt::system::CTimeLogger &
- getErrorReason(...)
- getErrorReason(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt::nav::CAbstractNavigator::TErrorReason
In case of state=NAV_ERROR, this returns the reason for the error.
Error state is reseted every time a new navigation starts with
a call to navigate(), or when resetNavError() is called.
C++: mrpt::nav::CAbstractNavigator::getErrorReason() const --> const struct mrpt::nav::CAbstractNavigator::TErrorReason &
- initialize(...)
- initialize(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Must be called before any other navigation command
C++: mrpt::nav::CAbstractNavigator::initialize() --> void
- isRethrowNavExceptionsEnabled(...)
- isRethrowNavExceptionsEnabled(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> bool
C++: mrpt::nav::CAbstractNavigator::isRethrowNavExceptionsEnabled() const --> bool
- loadConfigFile(...)
- loadConfigFile(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
Loads all params from a file. To be called before initialize().
Each derived class *MUST* load its own parameters, and then call *ITS
PARENT'S* overriden method to ensure all params are loaded.
C++: mrpt::nav::CAbstractNavigator::loadConfigFile(const class mrpt::config::CConfigFileBase &) --> void
- navigationStep(...)
- navigationStep(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
This method must be called periodically in order to effectively run the
navigation
C++: mrpt::nav::CAbstractNavigator::navigationStep() --> void
- resetNavError(...)
- resetNavError(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Resets a `NAV_ERROR` state back to `IDLE`
C++: mrpt::nav::CAbstractNavigator::resetNavError() --> void
- resume(...)
- resume(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Continues with suspended navigation.
suspend
C++: mrpt::nav::CAbstractNavigator::resume() --> void
- saveConfigFile(...)
- saveConfigFile(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
Saves all current options to a config file.
Each derived class *MUST* save its own parameters, and then call *ITS
PARENT'S* overriden method to ensure all params are saved.
C++: mrpt::nav::CAbstractNavigator::saveConfigFile(class mrpt::config::CConfigFileBase &) const --> void
- suspend(...)
- suspend(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Suspend current navegation.
resume
C++: mrpt::nav::CAbstractNavigator::suspend() --> void
Data descriptors defined here:
- m_navProfiler
- params_abstract_navigator
Data and other attributes defined here:
- ERR_CANNOT_REACH_TARGET = <TErrorCode.ERR_CANNOT_REACH_TARGET: 2>
- ERR_EMERGENCY_STOP = <TErrorCode.ERR_EMERGENCY_STOP: 1>
- ERR_NONE = <TErrorCode.ERR_NONE: 0>
- ERR_OTHER = <TErrorCode.ERR_OTHER: 3>
- IDLE = <TState.IDLE: 0>
- NAVIGATING = <TState.NAVIGATING: 1>
- NAV_ERROR = <TState.NAV_ERROR: 3>
- SUSPENDED = <TState.SUSPENDED: 2>
- TAbstractNavigatorParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TAbstractNavigatorParams'>
- @}
- TErrorCode = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TErrorCode'>
- TErrorReason = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TErrorReason'>
- TNavigationParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TNavigationParams'>
- The struct for configuring navigation requests. Used in
CAbstractPTGBasedReactive::navigate()
- TNavigationParamsBase = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TNavigationParamsBase'>
- Base for all high-level navigation commands. See derived classes
- TState = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TState'>
- TargetInfo = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TargetInfo'>
- Individual target info in CAbstractNavigator::TNavigationParamsBase and
derived classes
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CAbstractPTGBasedReactive(CWaypointsNavigator) |
|
Base class for reactive navigator systems based on TP-Space, with an
arbitrary holonomic
reactive method running on it and any number of PTGs for transforming the
navigation space.
Both, the holonomic method and the PTGs can be customized by the apropriate
user derived classes.
How to use:
- Instantiate a reactive navigation object (one of the derived classes of
this virtual class).
- A class with callbacks must be defined by the user and provided to the
constructor (derived from CRobot2NavInterface)
- loadConfigFile() must be called to set up the bunch of parameters from a
config file (could be a memory-based virtual config file).
- navigationStep() must be called periodically in order to effectively run
the navigation. This method will internally call the callbacks to gather
sensor data and robot positioning data.
For working examples, refer to the source code of the apps:
-
[ReactiveNavigationDemo](http://www.mrpt.org/list-of-mrpt-apps/application-reactivenavigationdemo/)
-
[ReactiveNav3D-Demo](http://www.mrpt.org/list-of-mrpt-apps/application-reactivenav3d-demo/)
Publications:
- See derived classes for papers on each specific method.
Available "variables" or "score names" for each motion candidate (these can
be used in runtime-compiled expressions
in the configuration files of motion deciders):
- `clearance`: Clearance (larger means larger distances to obstacles) for
the path from "current pose" up to "end of trajectory".
- `collision_free_distance`: Normalized [0,1] collision-free distance in
selected path. For NOP candidates, the traveled distances is substracted.
- `dist_eucl_final`: Euclidean distance (in the real-world WordSpace)
between "end of trajectory" and target.
- `eta`: Estimated Time of Arrival at "end of trajectory".
- `holo_stage_eval`: Final evaluation of the selected direction from inside
of the holonomic algorithm.
- `hysteresis`: Measure of similarity with previous command [0,1]
- `is_PTG_cont`: 1 (is "NOP" motion command), 0 otherwise
- `is_slowdown`: 1 if PTG returns true in
CParameterizedTrajectoryGenerator::supportSpeedAtTarget() for this step.
- `move_cur_d`: Normalized distance already traveled over the selected PTG.
Normally 0, unless in a "NOP motion".
- `move_k`: Motion candidate path 0-based index.
- `num_paths`: Number of paths in the PTG
- `original_col_free_dist`: Only for "NOP motions", the collision-free
distance when the motion command was originally issued.
- `ptg_idx`: PTG index (0-based)
- `ptg_priority`: Product of PTG getScorePriority() times PTG
evalPathRelativePriority()
- `ref_dist`: PTG ref distance [m]
- `robpose_x`, `robpose_y`, `robpose_phi`: Robot pose ([m] and [rad]) at the
"end of trajectory": at collision or at target distance.
- `target_d_norm`: Normalized target distance. Can be >1 if distance is
larger than ref_distance.
- `target_dir`: Angle of target in TP-Space [rad]
- `target_k`: Same as target_dir but in discrete path 0-based indices.
- `WS_target_x`, `WS_target_y`: Target coordinates in realworld [m]
CReactiveNavigationSystem, CReactiveNavigationSystem3D |
|
- Method resolution order:
- CAbstractPTGBasedReactive
- CWaypointsNavigator
- CAbstractNavigator
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(self, /, *args, **kwargs)
- Initialize self. See help(type(self)) for accurate signature.
- changeCurrentRobotSpeedLimits(...)
- changeCurrentRobotSpeedLimits(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd.TVelCmdParams
Changes the current, global (honored for all PTGs) robot speed limits,
via returning a reference to a structure that holds those limits
C++: mrpt::nav::CAbstractPTGBasedReactive::changeCurrentRobotSpeedLimits() --> struct mrpt::kinematics::CVehicleVelCmd::TVelCmdParams &
- enableKeepLogRecords(...)
- enableKeepLogRecords(*args, **kwargs)
Overloaded function.
1. enableKeepLogRecords(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> None
2. enableKeepLogRecords(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, enable: bool) -> None
Enables keeping an internal registry of navigation logs that can be
queried with getLastLogRecord()
C++: mrpt::nav::CAbstractPTGBasedReactive::enableKeepLogRecords(bool) --> void
- enableLogFile(...)
- enableLogFile(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, enable: bool) -> None
Enables/disables saving log files.
C++: mrpt::nav::CAbstractPTGBasedReactive::enableLogFile(bool) --> void
- enableTimeLog(...)
- enableTimeLog(*args, **kwargs)
Overloaded function.
1. enableTimeLog(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> None
2. enableTimeLog(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, enable: bool) -> None
Enables/disables the detailed time logger (default:disabled upon
construction)
When enabled, a report will be dumped to std::cout upon destruction.
getTimeLogger
C++: mrpt::nav::CAbstractPTGBasedReactive::enableTimeLog(bool) --> void
- getCurrentRobotSpeedLimits(...)
- getCurrentRobotSpeedLimits(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd.TVelCmdParams
Get the current, global (honored for all PTGs) robot speed limits
C++: mrpt::nav::CAbstractPTGBasedReactive::getCurrentRobotSpeedLimits() const --> const struct mrpt::kinematics::CVehicleVelCmd::TVelCmdParams &
- getLastLogRecord(...)
- getLastLogRecord(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, o: mrpt.pymrpt.mrpt.nav.CLogFileRecord) -> None
Provides a copy of the last log record with information about execution.
An object where the log will be stored into.
Log records are not prepared unless either "enableLogFile" is
enabled in the constructor or "enableLogFile()" has been called.
C++: mrpt::nav::CAbstractPTGBasedReactive::getLastLogRecord(class mrpt::nav::CLogFileRecord &) --> void
- getLogFileDirectory(...)
- getLogFileDirectory(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> str
C++: mrpt::nav::CAbstractPTGBasedReactive::getLogFileDirectory() const --> std::string
- getPTG(...)
- getPTG(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, i: int) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
Gets the i'th PTG
C++: mrpt::nav::CAbstractPTGBasedReactive::getPTG(size_t) --> class mrpt::nav::CParameterizedTrajectoryGenerator *
- getPTG_count(...)
- getPTG_count(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> int
Returns the number of different PTGs that have been setup
C++: mrpt::nav::CAbstractPTGBasedReactive::getPTG_count() const --> size_t
- getTargetApproachSlowDownDistance(...)
- getTargetApproachSlowDownDistance(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> float
Returns this parameter for the first inner holonomic navigator instances
[m] (should be the same in all of them?)
C++: mrpt::nav::CAbstractPTGBasedReactive::getTargetApproachSlowDownDistance() const --> double
- getTimeLogger(...)
- getTimeLogger(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> mrpt.pymrpt.mrpt.system.CTimeLogger
Gives access to a const-ref to the internal time logger
enableTimeLog
C++: mrpt::nav::CAbstractPTGBasedReactive::getTimeLogger() const --> const class mrpt::system::CTimeLogger &
- initialize(...)
- initialize(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> None
Must be called for loading collision grids, or the first navigation
command may last a long time to be executed.
Internally, it just calls STEP1_CollisionGridsBuilder().
C++: mrpt::nav::CAbstractPTGBasedReactive::initialize() --> void
- loadConfigFile(...)
- loadConfigFile(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CAbstractPTGBasedReactive::loadConfigFile(const class mrpt::config::CConfigFileBase &) --> void
- saveConfigFile(...)
- saveConfigFile(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CAbstractPTGBasedReactive::saveConfigFile(class mrpt::config::CConfigFileBase &) const --> void
- setHolonomicMethod(...)
- setHolonomicMethod(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, method: str, cfgBase: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
Selects which one from the set of available holonomic methods will be
used
into transformed TP-Space, and sets its configuration from a
configuration file.
Available methods: class names of those derived from
CAbstractHolonomicReactiveMethod
C++: mrpt::nav::CAbstractPTGBasedReactive::setHolonomicMethod(const std::string &, const class mrpt::config::CConfigFileBase &) --> void
- setLogFileDirectory(...)
- setLogFileDirectory(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, sDir: str) -> None
Changes the prefix for new log files.
C++: mrpt::nav::CAbstractPTGBasedReactive::setLogFileDirectory(const std::string &) --> void
- setTargetApproachSlowDownDistance(...)
- setTargetApproachSlowDownDistance(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, dist: float) -> None
Changes this parameter in all inner holonomic navigator instances [m].
C++: mrpt::nav::CAbstractPTGBasedReactive::setTargetApproachSlowDownDistance(const double) --> void
Data descriptors defined here:
- params_abstract_ptg_navigator
Data and other attributes defined here:
- TAbstractPTGNavigatorParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive.TAbstractPTGNavigatorParams'>
- TNavigationParamsPTG = <class 'mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive.TNavigationParamsPTG'>
- The struct for configuring navigation requests to
CAbstractPTGBasedReactive and derived classes.
Methods inherited from CWaypointsNavigator:
- beginWaypointsAccess(...)
- beginWaypointsAccess(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> mrpt.pymrpt.mrpt.nav.TWaypointStatusSequence
Gets a write-enabled reference to the list of waypoints, simultanously
acquiring the critical section mutex.
Caller must call endWaypointsAccess() when done editing the waypoints.
C++: mrpt::nav::CWaypointsNavigator::beginWaypointsAccess() --> struct mrpt::nav::TWaypointStatusSequence &
- cancel(...)
- cancel(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> None
Cancel current navegation.
C++: mrpt::nav::CWaypointsNavigator::cancel() --> void
- endWaypointsAccess(...)
- endWaypointsAccess(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> None
Must be called after beginWaypointsAccess()
C++: mrpt::nav::CWaypointsNavigator::endWaypointsAccess() --> void
- getWaypointNavStatus(...)
- getWaypointNavStatus(*args, **kwargs)
Overloaded function.
1. getWaypointNavStatus(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, out_nav_status: mrpt.pymrpt.mrpt.nav.TWaypointStatusSequence) -> None
Get a copy of the control structure which describes the progress status
of the waypoint navigation.
C++: mrpt::nav::CWaypointsNavigator::getWaypointNavStatus(struct mrpt::nav::TWaypointStatusSequence &) const --> void
2. getWaypointNavStatus(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> mrpt.pymrpt.mrpt.nav.TWaypointStatusSequence
Get a copy of the control structure which describes the progress status
of the waypoint navigation.
C++: mrpt::nav::CWaypointsNavigator::getWaypointNavStatus() const --> struct mrpt::nav::TWaypointStatusSequence
- isRelativePointReachable(...)
- isRelativePointReachable(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, wp_local_wrt_robot: mrpt::math::TPoint2D_<double>) -> bool
Returns `true` if, according to the information gathered at the last
navigation step,
there is a free path to the given point; `false` otherwise: if way is
blocked or there is missing information,
the point is out of range for the existing PTGs, etc.
C++: mrpt::nav::CWaypointsNavigator::isRelativePointReachable(const struct mrpt::math::TPoint2D_<double> &) const --> bool
- navigateWaypoints(...)
- navigateWaypoints(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, nav_request: mrpt.pymrpt.mrpt.nav.TWaypointSequence) -> None
Waypoint navigation request. This immediately cancels any other previous
on-going navigation.
CAbstractNavigator::navigate() for single waypoint navigation
requests.
C++: mrpt::nav::CWaypointsNavigator::navigateWaypoints(const struct mrpt::nav::TWaypointSequence &) --> void
- navigationStep(...)
- navigationStep(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> None
C++: mrpt::nav::CWaypointsNavigator::navigationStep() --> void
Data descriptors inherited from CWaypointsNavigator:
- params_waypoints_navigator
Data and other attributes inherited from CWaypointsNavigator:
- TNavigationParamsWaypoints = <class 'mrpt.pymrpt.mrpt.nav.CWaypointsNavigator.TNavigationParamsWaypoints'>
- The struct for configuring navigation requests to CWaypointsNavigator
and derived classes.
- TWaypointsNavigatorParams = <class 'mrpt.pymrpt.mrpt.nav.CWaypointsNavigator.TWaypointsNavigatorParams'>
Methods inherited from CAbstractNavigator:
- enableRethrowNavExceptions(...)
- enableRethrowNavExceptions(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator, enable: bool) -> None
By default, error exceptions on navigationStep() will dump an error
message to the output logger interface. If rethrow is enabled
(default=false), the error message will be reported as well, but
exceptions will be re-thrown.
C++: mrpt::nav::CAbstractNavigator::enableRethrowNavExceptions(const bool) --> void
- getCurrentState(...)
- getCurrentState(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TState
Returns the current navigator state.
C++: mrpt::nav::CAbstractNavigator::getCurrentState() const --> enum mrpt::nav::CAbstractNavigator::TState
- getDelaysTimeLogger(...)
- getDelaysTimeLogger(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt.pymrpt.mrpt.system.CTimeLogger
Gives access to a const-ref to the internal time logger used to estimate
delays
getTimeLogger() in derived classes
C++: mrpt::nav::CAbstractNavigator::getDelaysTimeLogger() const --> const class mrpt::system::CTimeLogger &
- getErrorReason(...)
- getErrorReason(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt::nav::CAbstractNavigator::TErrorReason
In case of state=NAV_ERROR, this returns the reason for the error.
Error state is reseted every time a new navigation starts with
a call to navigate(), or when resetNavError() is called.
C++: mrpt::nav::CAbstractNavigator::getErrorReason() const --> const struct mrpt::nav::CAbstractNavigator::TErrorReason &
- isRethrowNavExceptionsEnabled(...)
- isRethrowNavExceptionsEnabled(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> bool
C++: mrpt::nav::CAbstractNavigator::isRethrowNavExceptionsEnabled() const --> bool
- resetNavError(...)
- resetNavError(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Resets a `NAV_ERROR` state back to `IDLE`
C++: mrpt::nav::CAbstractNavigator::resetNavError() --> void
- resume(...)
- resume(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Continues with suspended navigation.
suspend
C++: mrpt::nav::CAbstractNavigator::resume() --> void
- suspend(...)
- suspend(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Suspend current navegation.
resume
C++: mrpt::nav::CAbstractNavigator::suspend() --> void
Data descriptors inherited from CAbstractNavigator:
- m_navProfiler
- params_abstract_navigator
Data and other attributes inherited from CAbstractNavigator:
- ERR_CANNOT_REACH_TARGET = <TErrorCode.ERR_CANNOT_REACH_TARGET: 2>
- ERR_EMERGENCY_STOP = <TErrorCode.ERR_EMERGENCY_STOP: 1>
- ERR_NONE = <TErrorCode.ERR_NONE: 0>
- ERR_OTHER = <TErrorCode.ERR_OTHER: 3>
- IDLE = <TState.IDLE: 0>
- NAVIGATING = <TState.NAVIGATING: 1>
- NAV_ERROR = <TState.NAV_ERROR: 3>
- SUSPENDED = <TState.SUSPENDED: 2>
- TAbstractNavigatorParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TAbstractNavigatorParams'>
- @}
- TErrorCode = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TErrorCode'>
- TErrorReason = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TErrorReason'>
- TNavigationParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TNavigationParams'>
- The struct for configuring navigation requests. Used in
CAbstractPTGBasedReactive::navigate()
- TNavigationParamsBase = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TNavigationParamsBase'>
- Base for all high-level navigation commands. See derived classes
- TState = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TState'>
- TargetInfo = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TargetInfo'>
- Individual target info in CAbstractNavigator::TNavigationParamsBase and
derived classes
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CHolonomicFullEval(CAbstractHolonomicReactiveMethod) |
|
Full evaluation of all possible directions within the discrete set of input
directions.
These are the optional parameters of the method which can be set by means of
a configuration file passed to the constructor or to
CHolonomicFullEval::initialize() or directly in
CAbstractHolonomicReactiveMethod,CReactiveNavigationSystem |
|
- Method resolution order:
- CHolonomicFullEval
- CAbstractHolonomicReactiveMethod
- mrpt.pymrpt.mrpt.serialization.CSerializable
- mrpt.pymrpt.mrpt.rtti.CObject
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CHolonomicFullEval) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CHolonomicFullEval::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CHolonomicFullEval) -> None
doc
2. __init__(self: mrpt.pymrpt.mrpt.nav.CHolonomicFullEval, INI_FILE: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
3. __init__(self: mrpt.pymrpt.mrpt.nav.CHolonomicFullEval, arg0: mrpt.pymrpt.mrpt.nav.CHolonomicFullEval) -> None
4. __init__(self: mrpt.pymrpt.mrpt.nav.CHolonomicFullEval, arg0: mrpt.pymrpt.mrpt.nav.CHolonomicFullEval) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CHolonomicFullEval, : mrpt.pymrpt.mrpt.nav.CHolonomicFullEval) -> mrpt.pymrpt.mrpt.nav.CHolonomicFullEval
C++: mrpt::nav::CHolonomicFullEval::operator=(const class mrpt::nav::CHolonomicFullEval &) --> class mrpt::nav::CHolonomicFullEval &
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.nav.CHolonomicFullEval) -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CHolonomicFullEval::clone() const --> class mrpt::rtti::CObject *
- getTargetApproachSlowDownDistance(...)
- getTargetApproachSlowDownDistance(self: mrpt.pymrpt.mrpt.nav.CHolonomicFullEval) -> float
C++: mrpt::nav::CHolonomicFullEval::getTargetApproachSlowDownDistance() const --> double
- initialize(...)
- initialize(self: mrpt.pymrpt.mrpt.nav.CHolonomicFullEval, INI_FILE: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CHolonomicFullEval::initialize(const class mrpt::config::CConfigFileBase &) --> void
- navigate(...)
- navigate(self: mrpt.pymrpt.mrpt.nav.CHolonomicFullEval, ni: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod.NavInput, no: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod.NavOutput) -> None
C++: mrpt::nav::CHolonomicFullEval::navigate(const struct mrpt::nav::CAbstractHolonomicReactiveMethod::NavInput &, struct mrpt::nav::CAbstractHolonomicReactiveMethod::NavOutput &) --> void
- saveConfigFile(...)
- saveConfigFile(self: mrpt.pymrpt.mrpt.nav.CHolonomicFullEval, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CHolonomicFullEval::saveConfigFile(class mrpt::config::CConfigFileBase &) const --> void
- setTargetApproachSlowDownDistance(...)
- setTargetApproachSlowDownDistance(self: mrpt.pymrpt.mrpt.nav.CHolonomicFullEval, dist: float) -> None
C++: mrpt::nav::CHolonomicFullEval::setTargetApproachSlowDownDistance(const double) --> void
Static methods defined here:
- CreateObject(...) from builtins.PyCapsule
- CreateObject() -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CHolonomicFullEval::CreateObject() --> class std::shared_ptr<class mrpt::rtti::CObject>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CHolonomicFullEval::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
Data descriptors defined here:
- options
Data and other attributes defined here:
- TOptions = <class 'mrpt.pymrpt.mrpt.nav.CHolonomicFullEval.TOptions'>
- Algorithm options
Methods inherited from CAbstractHolonomicReactiveMethod:
- enableApproachTargetSlowDown(...)
- enableApproachTargetSlowDown(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, enable: bool) -> None
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::enableApproachTargetSlowDown(bool) --> void
- getAssociatedPTG(...)
- getAssociatedPTG(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
Returns the pointer set by setAssociatedPTG()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::getAssociatedPTG() const --> class mrpt::nav::CParameterizedTrajectoryGenerator *
- getConfigFileSectionName(...)
- getConfigFileSectionName(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod) -> str
Gets the name of the section used in initialize()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::getConfigFileSectionName() const --> std::string
- setAssociatedPTG(...)
- setAssociatedPTG(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, ptg: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
Optionally, sets the associated PTG, just in case a derived class
requires this info (not required for methods where the robot kinematics
are totally abstracted)
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::setAssociatedPTG(class mrpt::nav::CParameterizedTrajectoryGenerator *) --> void
- setConfigFileSectionName(...)
- setConfigFileSectionName(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, sectName: str) -> None
Defines the name of the section used in initialize()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::setConfigFileSectionName(const std::string &) --> void
Static methods inherited from CAbstractHolonomicReactiveMethod:
- Factory(...) from builtins.PyCapsule
- Factory(className: str) -> mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::Factory(const std::string &) --> class std::shared_ptr<class mrpt::nav::CAbstractHolonomicReactiveMethod>
Data and other attributes inherited from CAbstractHolonomicReactiveMethod:
- NavInput = <class 'mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod.NavInput'>
- Input parameters for CAbstractHolonomicReactiveMethod::navigate()
- NavOutput = <class 'mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod.NavOutput'>
- Output for CAbstractHolonomicReactiveMethod::navigate()
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CHolonomicND(CAbstractHolonomicReactiveMethod) |
|
An implementation of the holonomic reactive navigation method
"Nearness-Diagram".
The algorithm "Nearness-Diagram" was proposed in:
Nearness diagram (ND) navigation: collision avoidance in troublesome
scenarios, IEEE Transactions on
Robotics and Automation, Minguez, J. and Montano, L., vol. 20, no. 1, pp.
45-59, 2004.
These are the optional parameters of the method which can be set by means of
a configuration file passed to the constructor or to
CHolonomicND::initialize() or directly in
CAbstractHolonomicReactiveMethod,CReactiveNavigationSystem |
|
- Method resolution order:
- CHolonomicND
- CAbstractHolonomicReactiveMethod
- mrpt.pymrpt.mrpt.serialization.CSerializable
- mrpt.pymrpt.mrpt.rtti.CObject
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CHolonomicND) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CHolonomicND::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CHolonomicND) -> None
doc
2. __init__(self: mrpt.pymrpt.mrpt.nav.CHolonomicND, INI_FILE: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
3. __init__(self: mrpt.pymrpt.mrpt.nav.CHolonomicND, arg0: mrpt.pymrpt.mrpt.nav.CHolonomicND) -> None
4. __init__(self: mrpt.pymrpt.mrpt.nav.CHolonomicND, arg0: mrpt.pymrpt.mrpt.nav.CHolonomicND) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CHolonomicND, : mrpt.pymrpt.mrpt.nav.CHolonomicND) -> mrpt.pymrpt.mrpt.nav.CHolonomicND
C++: mrpt::nav::CHolonomicND::operator=(const class mrpt::nav::CHolonomicND &) --> class mrpt::nav::CHolonomicND &
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.nav.CHolonomicND) -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CHolonomicND::clone() const --> class mrpt::rtti::CObject *
- getTargetApproachSlowDownDistance(...)
- getTargetApproachSlowDownDistance(self: mrpt.pymrpt.mrpt.nav.CHolonomicND) -> float
C++: mrpt::nav::CHolonomicND::getTargetApproachSlowDownDistance() const --> double
- initialize(...)
- initialize(self: mrpt.pymrpt.mrpt.nav.CHolonomicND, INI_FILE: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
Initialize the parameters of the navigator.
C++: mrpt::nav::CHolonomicND::initialize(const class mrpt::config::CConfigFileBase &) --> void
- navigate(...)
- navigate(self: mrpt.pymrpt.mrpt.nav.CHolonomicND, ni: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod.NavInput, no: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod.NavOutput) -> None
C++: mrpt::nav::CHolonomicND::navigate(const struct mrpt::nav::CAbstractHolonomicReactiveMethod::NavInput &, struct mrpt::nav::CAbstractHolonomicReactiveMethod::NavOutput &) --> void
- saveConfigFile(...)
- saveConfigFile(self: mrpt.pymrpt.mrpt.nav.CHolonomicND, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CHolonomicND::saveConfigFile(class mrpt::config::CConfigFileBase &) const --> void
- setTargetApproachSlowDownDistance(...)
- setTargetApproachSlowDownDistance(self: mrpt.pymrpt.mrpt.nav.CHolonomicND, dist: float) -> None
C++: mrpt::nav::CHolonomicND::setTargetApproachSlowDownDistance(const double) --> void
Static methods defined here:
- CreateObject(...) from builtins.PyCapsule
- CreateObject() -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CHolonomicND::CreateObject() --> class std::shared_ptr<class mrpt::rtti::CObject>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CHolonomicND::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
Data descriptors defined here:
- options
Data and other attributes defined here:
- SITUATION_NO_WAY_FOUND = <TSituations.SITUATION_NO_WAY_FOUND: 4>
- SITUATION_SMALL_GAP = <TSituations.SITUATION_SMALL_GAP: 2>
- SITUATION_TARGET_DIRECTLY = <TSituations.SITUATION_TARGET_DIRECTLY: 1>
- SITUATION_WIDE_GAP = <TSituations.SITUATION_WIDE_GAP: 3>
- TGap = <class 'mrpt.pymrpt.mrpt.nav.CHolonomicND.TGap'>
- The structure used to store a detected gap in obstacles.
- TOptions = <class 'mrpt.pymrpt.mrpt.nav.CHolonomicND.TOptions'>
- Algorithm options
- TSituations = <class 'mrpt.pymrpt.mrpt.nav.CHolonomicND.TSituations'>
Methods inherited from CAbstractHolonomicReactiveMethod:
- enableApproachTargetSlowDown(...)
- enableApproachTargetSlowDown(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, enable: bool) -> None
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::enableApproachTargetSlowDown(bool) --> void
- getAssociatedPTG(...)
- getAssociatedPTG(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
Returns the pointer set by setAssociatedPTG()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::getAssociatedPTG() const --> class mrpt::nav::CParameterizedTrajectoryGenerator *
- getConfigFileSectionName(...)
- getConfigFileSectionName(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod) -> str
Gets the name of the section used in initialize()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::getConfigFileSectionName() const --> std::string
- setAssociatedPTG(...)
- setAssociatedPTG(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, ptg: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
Optionally, sets the associated PTG, just in case a derived class
requires this info (not required for methods where the robot kinematics
are totally abstracted)
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::setAssociatedPTG(class mrpt::nav::CParameterizedTrajectoryGenerator *) --> void
- setConfigFileSectionName(...)
- setConfigFileSectionName(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, sectName: str) -> None
Defines the name of the section used in initialize()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::setConfigFileSectionName(const std::string &) --> void
Static methods inherited from CAbstractHolonomicReactiveMethod:
- Factory(...) from builtins.PyCapsule
- Factory(className: str) -> mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::Factory(const std::string &) --> class std::shared_ptr<class mrpt::nav::CAbstractHolonomicReactiveMethod>
Data and other attributes inherited from CAbstractHolonomicReactiveMethod:
- NavInput = <class 'mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod.NavInput'>
- Input parameters for CAbstractHolonomicReactiveMethod::navigate()
- NavOutput = <class 'mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod.NavOutput'>
- Output for CAbstractHolonomicReactiveMethod::navigate()
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CHolonomicVFF(CAbstractHolonomicReactiveMethod) |
|
A holonomic reactive navigation method, based on Virtual Force Fields (VFF).
These are the optional parameters of the method which can be set by means of
a configuration file passed to the constructor or to CHolonomicND::initialize
(see also the field CHolonomicVFF::options).
CAbstractHolonomicReactiveMethod,CReactiveNavigationSystem |
|
- Method resolution order:
- CHolonomicVFF
- CAbstractHolonomicReactiveMethod
- mrpt.pymrpt.mrpt.serialization.CSerializable
- mrpt.pymrpt.mrpt.rtti.CObject
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CHolonomicVFF) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CHolonomicVFF::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CHolonomicVFF) -> None
doc
2. __init__(self: mrpt.pymrpt.mrpt.nav.CHolonomicVFF, INI_FILE: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
3. __init__(self: mrpt.pymrpt.mrpt.nav.CHolonomicVFF, arg0: mrpt.pymrpt.mrpt.nav.CHolonomicVFF) -> None
4. __init__(self: mrpt.pymrpt.mrpt.nav.CHolonomicVFF, arg0: mrpt.pymrpt.mrpt.nav.CHolonomicVFF) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CHolonomicVFF, : mrpt.pymrpt.mrpt.nav.CHolonomicVFF) -> mrpt.pymrpt.mrpt.nav.CHolonomicVFF
C++: mrpt::nav::CHolonomicVFF::operator=(const class mrpt::nav::CHolonomicVFF &) --> class mrpt::nav::CHolonomicVFF &
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.nav.CHolonomicVFF) -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CHolonomicVFF::clone() const --> class mrpt::rtti::CObject *
- getTargetApproachSlowDownDistance(...)
- getTargetApproachSlowDownDistance(self: mrpt.pymrpt.mrpt.nav.CHolonomicVFF) -> float
C++: mrpt::nav::CHolonomicVFF::getTargetApproachSlowDownDistance() const --> double
- initialize(...)
- initialize(self: mrpt.pymrpt.mrpt.nav.CHolonomicVFF, INI_FILE: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CHolonomicVFF::initialize(const class mrpt::config::CConfigFileBase &) --> void
- navigate(...)
- navigate(self: mrpt.pymrpt.mrpt.nav.CHolonomicVFF, ni: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod.NavInput, no: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod.NavOutput) -> None
C++: mrpt::nav::CHolonomicVFF::navigate(const struct mrpt::nav::CAbstractHolonomicReactiveMethod::NavInput &, struct mrpt::nav::CAbstractHolonomicReactiveMethod::NavOutput &) --> void
- saveConfigFile(...)
- saveConfigFile(self: mrpt.pymrpt.mrpt.nav.CHolonomicVFF, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CHolonomicVFF::saveConfigFile(class mrpt::config::CConfigFileBase &) const --> void
- setTargetApproachSlowDownDistance(...)
- setTargetApproachSlowDownDistance(self: mrpt.pymrpt.mrpt.nav.CHolonomicVFF, dist: float) -> None
C++: mrpt::nav::CHolonomicVFF::setTargetApproachSlowDownDistance(const double) --> void
Static methods defined here:
- CreateObject(...) from builtins.PyCapsule
- CreateObject() -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CHolonomicVFF::CreateObject() --> class std::shared_ptr<class mrpt::rtti::CObject>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CHolonomicVFF::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
Data descriptors defined here:
- options
Data and other attributes defined here:
- TOptions = <class 'mrpt.pymrpt.mrpt.nav.CHolonomicVFF.TOptions'>
- Algorithm options
Methods inherited from CAbstractHolonomicReactiveMethod:
- enableApproachTargetSlowDown(...)
- enableApproachTargetSlowDown(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, enable: bool) -> None
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::enableApproachTargetSlowDown(bool) --> void
- getAssociatedPTG(...)
- getAssociatedPTG(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
Returns the pointer set by setAssociatedPTG()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::getAssociatedPTG() const --> class mrpt::nav::CParameterizedTrajectoryGenerator *
- getConfigFileSectionName(...)
- getConfigFileSectionName(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod) -> str
Gets the name of the section used in initialize()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::getConfigFileSectionName() const --> std::string
- setAssociatedPTG(...)
- setAssociatedPTG(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, ptg: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
Optionally, sets the associated PTG, just in case a derived class
requires this info (not required for methods where the robot kinematics
are totally abstracted)
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::setAssociatedPTG(class mrpt::nav::CParameterizedTrajectoryGenerator *) --> void
- setConfigFileSectionName(...)
- setConfigFileSectionName(self: mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod, sectName: str) -> None
Defines the name of the section used in initialize()
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::setConfigFileSectionName(const std::string &) --> void
Static methods inherited from CAbstractHolonomicReactiveMethod:
- Factory(...) from builtins.PyCapsule
- Factory(className: str) -> mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod
C++: mrpt::nav::CAbstractHolonomicReactiveMethod::Factory(const std::string &) --> class std::shared_ptr<class mrpt::nav::CAbstractHolonomicReactiveMethod>
Data and other attributes inherited from CAbstractHolonomicReactiveMethod:
- NavInput = <class 'mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod.NavInput'>
- Input parameters for CAbstractHolonomicReactiveMethod::navigate()
- NavOutput = <class 'mrpt.pymrpt.mrpt.nav.CAbstractHolonomicReactiveMethod.NavOutput'>
- Output for CAbstractHolonomicReactiveMethod::navigate()
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CMultiObjectiveMotionOptimizerBase(mrpt.pymrpt.mrpt.rtti.CObject) |
|
Virtual base class for multi-objective motion choosers, as used for reactive
navigation engines.
CReactiveNavigationSystem, CReactiveNavigationSystem3D |
|
- Method resolution order:
- CMultiObjectiveMotionOptimizerBase
- mrpt.pymrpt.mrpt.rtti.CObject
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CMultiObjectiveMotionOptimizerBase) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CMultiObjectiveMotionOptimizerBase::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- __init__(self, /, *args, **kwargs)
- Initialize self. See help(type(self)) for accurate signature.
- clear(...)
- clear(self: mrpt.pymrpt.mrpt.nav.CMultiObjectiveMotionOptimizerBase) -> None
Resets the object state; use if the parameters change, so they are
re-read and applied.
C++: mrpt::nav::CMultiObjectiveMotionOptimizerBase::clear() --> void
- loadConfigFile(...)
- loadConfigFile(self: mrpt.pymrpt.mrpt.nav.CMultiObjectiveMotionOptimizerBase, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CMultiObjectiveMotionOptimizerBase::loadConfigFile(const class mrpt::config::CConfigFileBase &) --> void
- saveConfigFile(...)
- saveConfigFile(self: mrpt.pymrpt.mrpt.nav.CMultiObjectiveMotionOptimizerBase, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CMultiObjectiveMotionOptimizerBase::saveConfigFile(class mrpt::config::CConfigFileBase &) const --> void
Static methods defined here:
- Factory(...) from builtins.PyCapsule
- Factory(className: str) -> mrpt.pymrpt.mrpt.nav.CMultiObjectiveMotionOptimizerBase
Class factory from C++ class name
C++: mrpt::nav::CMultiObjectiveMotionOptimizerBase::Factory(const std::string &) --> class std::shared_ptr<class mrpt::nav::CMultiObjectiveMotionOptimizerBase>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CMultiObjectiveMotionOptimizerBase::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
Data and other attributes defined here:
- TParamsBase = <class 'mrpt.pymrpt.mrpt.nav.CMultiObjectiveMotionOptimizerBase.TParamsBase'>
- Common params for all children
- TResultInfo = <class 'mrpt.pymrpt.mrpt.nav.CMultiObjectiveMotionOptimizerBase.TResultInfo'>
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.rtti.CObject, : mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::rtti::CObject::operator=(const class mrpt::rtti::CObject &) --> class mrpt::rtti::CObject &
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Returns a deep copy (clone) of the object, indepently of its class.
C++: mrpt::rtti::CObject::clone() const --> class mrpt::rtti::CObject *
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CNavigatorManualSequence(CAbstractNavigator) |
|
"Fake navigator" for tests: it just sends out a pre-programmed sequence of
commands to the robot.
For a short discussion of the API, see CNavigatorVirtualBase |
|
- Method resolution order:
- CNavigatorManualSequence
- CAbstractNavigator
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(self: mrpt.pymrpt.mrpt.nav.CNavigatorManualSequence, react_iterf_impl: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
- initialize(...)
- initialize(self: mrpt.pymrpt.mrpt.nav.CNavigatorManualSequence) -> None
Must be called for loading collision grids, etc. before invoking any
navigation command
C++: mrpt::nav::CNavigatorManualSequence::initialize() --> void
- loadConfigFile(...)
- loadConfigFile(self: mrpt.pymrpt.mrpt.nav.CNavigatorManualSequence, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
@{
C++: mrpt::nav::CNavigatorManualSequence::loadConfigFile(const class mrpt::config::CConfigFileBase &) --> void
- navigationStep(...)
- navigationStep(self: mrpt.pymrpt.mrpt.nav.CNavigatorManualSequence) -> None
Overriden in this class to ignore the cancel/pause/... commands
C++: mrpt::nav::CNavigatorManualSequence::navigationStep() --> void
- saveConfigFile(...)
- saveConfigFile(self: mrpt.pymrpt.mrpt.nav.CNavigatorManualSequence, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CNavigatorManualSequence::saveConfigFile(class mrpt::config::CConfigFileBase &) const --> void
Data descriptors defined here:
- programmed_orders
Data and other attributes defined here:
- TVelCmd = <class 'mrpt.pymrpt.mrpt.nav.CNavigatorManualSequence.TVelCmd'>
Methods inherited from CAbstractNavigator:
- cancel(...)
- cancel(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Cancel current navegation.
C++: mrpt::nav::CAbstractNavigator::cancel() --> void
- enableRethrowNavExceptions(...)
- enableRethrowNavExceptions(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator, enable: bool) -> None
By default, error exceptions on navigationStep() will dump an error
message to the output logger interface. If rethrow is enabled
(default=false), the error message will be reported as well, but
exceptions will be re-thrown.
C++: mrpt::nav::CAbstractNavigator::enableRethrowNavExceptions(const bool) --> void
- getCurrentState(...)
- getCurrentState(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TState
Returns the current navigator state.
C++: mrpt::nav::CAbstractNavigator::getCurrentState() const --> enum mrpt::nav::CAbstractNavigator::TState
- getDelaysTimeLogger(...)
- getDelaysTimeLogger(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt.pymrpt.mrpt.system.CTimeLogger
Gives access to a const-ref to the internal time logger used to estimate
delays
getTimeLogger() in derived classes
C++: mrpt::nav::CAbstractNavigator::getDelaysTimeLogger() const --> const class mrpt::system::CTimeLogger &
- getErrorReason(...)
- getErrorReason(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt::nav::CAbstractNavigator::TErrorReason
In case of state=NAV_ERROR, this returns the reason for the error.
Error state is reseted every time a new navigation starts with
a call to navigate(), or when resetNavError() is called.
C++: mrpt::nav::CAbstractNavigator::getErrorReason() const --> const struct mrpt::nav::CAbstractNavigator::TErrorReason &
- isRethrowNavExceptionsEnabled(...)
- isRethrowNavExceptionsEnabled(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> bool
C++: mrpt::nav::CAbstractNavigator::isRethrowNavExceptionsEnabled() const --> bool
- resetNavError(...)
- resetNavError(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Resets a `NAV_ERROR` state back to `IDLE`
C++: mrpt::nav::CAbstractNavigator::resetNavError() --> void
- resume(...)
- resume(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Continues with suspended navigation.
suspend
C++: mrpt::nav::CAbstractNavigator::resume() --> void
- suspend(...)
- suspend(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Suspend current navegation.
resume
C++: mrpt::nav::CAbstractNavigator::suspend() --> void
Data descriptors inherited from CAbstractNavigator:
- m_navProfiler
- params_abstract_navigator
Data and other attributes inherited from CAbstractNavigator:
- ERR_CANNOT_REACH_TARGET = <TErrorCode.ERR_CANNOT_REACH_TARGET: 2>
- ERR_EMERGENCY_STOP = <TErrorCode.ERR_EMERGENCY_STOP: 1>
- ERR_NONE = <TErrorCode.ERR_NONE: 0>
- ERR_OTHER = <TErrorCode.ERR_OTHER: 3>
- IDLE = <TState.IDLE: 0>
- NAVIGATING = <TState.NAVIGATING: 1>
- NAV_ERROR = <TState.NAV_ERROR: 3>
- SUSPENDED = <TState.SUSPENDED: 2>
- TAbstractNavigatorParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TAbstractNavigatorParams'>
- @}
- TErrorCode = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TErrorCode'>
- TErrorReason = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TErrorReason'>
- TNavigationParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TNavigationParams'>
- The struct for configuring navigation requests. Used in
CAbstractPTGBasedReactive::navigate()
- TNavigationParamsBase = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TNavigationParamsBase'>
- Base for all high-level navigation commands. See derived classes
- TState = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TState'>
- TargetInfo = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TargetInfo'>
- Individual target info in CAbstractNavigator::TNavigationParamsBase and
derived classes
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CPTG_DiffDrive_C(CPTG_DiffDrive_CollisionGridBased) |
|
A PTG for circular paths ("C" type PTG in papers).
- **Compatible kinematics**: differential-driven / Ackermann steering
- **Compatible robot shape**: Arbitrary 2D polygon
- **PTG parameters**: Use the app `ptg-configurator`
This PT generator functions are:
So, the radius of curvature of each trajectory is constant for each "alpha"
value (the trajectory parameter):
from which a minimum radius of curvature can be set by selecting the
appropriate values of V_MAX and W_MAX,
knowning that
.
![C-PTG path examples](PTG1_paths.png)
[Before MRPT 1.5.0 this was named CPTG1] |
|
- Method resolution order:
- CPTG_DiffDrive_C
- CPTG_DiffDrive_CollisionGridBased
- CPTG_RobotShape_Polygonal
- CParameterizedTrajectoryGenerator
- mrpt.pymrpt.mrpt.serialization.CSerializable
- mrpt.pymrpt.mrpt.rtti.CObject
- mrpt.pymrpt.mrpt.config.CLoadableOptions
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CPTG_DiffDrive_C::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- PTG_IsIntoDomain(...)
- PTG_IsIntoDomain(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C, x: float, y: float) -> bool
C++: mrpt::nav::CPTG_DiffDrive_C::PTG_IsIntoDomain(double, double) const --> bool
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C, : mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C) -> mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C
C++: mrpt::nav::CPTG_DiffDrive_C::operator=(const class mrpt::nav::CPTG_DiffDrive_C &) --> class mrpt::nav::CPTG_DiffDrive_C &
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C) -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CPTG_DiffDrive_C::clone() const --> class mrpt::rtti::CObject *
- getDescription(...)
- getDescription(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C) -> str
C++: mrpt::nav::CPTG_DiffDrive_C::getDescription() const --> std::string
- inverseMap_WS2TP(...)
- inverseMap_WS2TP(*args, **kwargs)
Overloaded function.
1. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C, x: float, y: float, out_k: int, out_d: float) -> bool
2. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C, x: float, y: float, out_k: int, out_d: float, tolerance_dist: float) -> bool
C++: mrpt::nav::CPTG_DiffDrive_C::inverseMap_WS2TP(double, double, int &, double &, double) const --> bool
- loadDefaultParams(...)
- loadDefaultParams(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C) -> None
C++: mrpt::nav::CPTG_DiffDrive_C::loadDefaultParams() --> void
- loadFromConfigFile(...)
- loadFromConfigFile(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CPTG_DiffDrive_C::loadFromConfigFile(const class mrpt::config::CConfigFileBase &, const std::string &) --> void
- ptgDiffDriveSteeringFunction(...)
- ptgDiffDriveSteeringFunction(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C, alpha: float, t: float, x: float, y: float, phi: float, v: float, w: float) -> None
C++: mrpt::nav::CPTG_DiffDrive_C::ptgDiffDriveSteeringFunction(float, float, float, float, float, float &, float &) const --> void
- saveToConfigFile(...)
- saveToConfigFile(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_C, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CPTG_DiffDrive_C::saveToConfigFile(class mrpt::config::CConfigFileBase &, const std::string &) const --> void
Static methods defined here:
- CreateObject(...) from builtins.PyCapsule
- CreateObject() -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CPTG_DiffDrive_C::CreateObject() --> class std::shared_ptr<class mrpt::rtti::CObject>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CPTG_DiffDrive_C::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
Methods inherited from CPTG_DiffDrive_CollisionGridBased:
- directionToMotionCommand(...)
- directionToMotionCommand(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
In this class, `out_action_cmd` contains: [0]: linear velocity (m/s),
[1]: angular velocity (rad/s).
See more docs in
CParameterizedTrajectoryGenerator::directionToMotionCommand()
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::directionToMotionCommand(uint16_t) const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- getMaxAngVel(...)
- getMaxAngVel(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMaxAngVel() const --> double
- getMaxLinVel(...)
- getMaxLinVel(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMaxLinVel() const --> double
- getMax_V(...)
- getMax_V(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
@}
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMax_V() const --> double
- getMax_W(...)
- getMax_W(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMax_W() const --> double
- getPathDist(...)
- getPathDist(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, step: int) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathDist(uint16_t, uint32_t) const --> double
- getPathPose(...)
- getPathPose(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, step: int) -> mrpt.pymrpt.mrpt.math.TPose2D
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathPose(uint16_t, uint32_t) const --> struct mrpt::math::TPose2D
- getPathStepCount(...)
- getPathStepCount(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int) -> int
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepCount(uint16_t) const --> size_t
- getPathStepDuration(...)
- getPathStepDuration(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepDuration() const --> double
- getPathStepForDist(...)
- getPathStepForDist(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, dist: float, out_step: int) -> bool
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepForDist(uint16_t, double, unsigned int &) const --> bool
- getSupportedKinematicVelocityCommand(...)
- getSupportedKinematicVelocityCommand(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getSupportedKinematicVelocityCommand() const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- onNewNavDynamicState(...)
- onNewNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> None
This family of PTGs ignores the dynamic states
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::onNewNavDynamicState() --> void
- setRefDistance(...)
- setRefDistance(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, refDist: float) -> None
Launches an exception in this class: it is not allowed in numerical
integration-based PTGs to change the reference distance
after initialization.
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::setRefDistance(const double) --> void
- updateTPObstacleSingle(...)
- updateTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, ox: float, oy: float, k: int, tp_obstacle_k: float) -> None
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::updateTPObstacleSingle(double, double, uint16_t, double &) const --> void
Methods inherited from CPTG_RobotShape_Polygonal:
- add_robotShape_to_setOfLines(...)
- add_robotShape_to_setOfLines(*args, **kwargs)
Overloaded function.
1. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D) -> None
C++: mrpt::nav::CPTG_RobotShape_Polygonal::add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &) const --> void
- evalClearanceToRobotShape(...)
- evalClearanceToRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, ox: float, oy: float) -> float
C++: mrpt::nav::CPTG_RobotShape_Polygonal::evalClearanceToRobotShape(const double, const double) const --> double
- getMaxRobotRadius(...)
- getMaxRobotRadius(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> float
C++: mrpt::nav::CPTG_RobotShape_Polygonal::getMaxRobotRadius() const --> double
- getRobotShape(...)
- getRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> mrpt.pymrpt.mrpt.math.CPolygon
C++: mrpt::nav::CPTG_RobotShape_Polygonal::getRobotShape() const --> const class mrpt::math::CPolygon &
- isPointInsideRobotShape(...)
- isPointInsideRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, x: float, y: float) -> bool
@}
C++: mrpt::nav::CPTG_RobotShape_Polygonal::isPointInsideRobotShape(const double, const double) const --> bool
- setRobotShape(...)
- setRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, robotShape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
@{ *
Robot shape must be set before initialization, either from ctor params
or via this method.
C++: mrpt::nav::CPTG_RobotShape_Polygonal::setRobotShape(const class mrpt::math::CPolygon &) --> void
Static methods inherited from CPTG_RobotShape_Polygonal:
- static_add_robotShape_to_setOfLines(...) from builtins.PyCapsule
- static_add_robotShape_to_setOfLines(gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D, robotShape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
C++: mrpt::nav::CPTG_RobotShape_Polygonal::static_add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &, const class mrpt::math::CPolygon &) --> void
Methods inherited from CParameterizedTrajectoryGenerator:
- alpha2index(...)
- alpha2index(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, alpha: float) -> int
Discrete index value for the corresponding alpha value
index2alpha
C++: mrpt::nav::CParameterizedTrajectoryGenerator::alpha2index(double) const --> uint16_t
- debugDumpInFiles(...)
- debugDumpInFiles(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ptg_name: str) -> bool
Dump PTG trajectories in four text files:
`./reactivenav.logs/PTGs/PTG%i_{x,y,phi,d}.txt`
Text files are loadable from MATLAB/Octave, and can be visualized with
the script `[MRPT_DIR]/scripts/viewPTG.m`
The directory "./reactivenav.logs/PTGs" will be created if doesn't
exist.
false on any error writing to disk.
OUTPUT_DEBUG_PATH_PREFIX
C++: mrpt::nav::CParameterizedTrajectoryGenerator::debugDumpInFiles(const std::string &) const --> bool
- deinitialize(...)
- deinitialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
This must be called to de-initialize the PTG if some parameter is to be
changed. After changing it, call initialize again
C++: mrpt::nav::CParameterizedTrajectoryGenerator::deinitialize() --> void
- evalClearanceSingleObstacle(...)
- evalClearanceSingleObstacle(*args, **kwargs)
Overloaded function.
1. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float]) -> None
2. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float], treat_as_obstacle: bool) -> None
Evals the robot clearance for each robot pose along path `k`, for the
real distances in
the key of the map<>, then keep in the map value the minimum of its
current stored clearance,
or the computed clearance. In case of collision, clearance is zero.
true: normal use for obstacles; false: compute
shortest distances to a target point (no collision)
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalClearanceSingleObstacle(const double, const double, const unsigned short, class std::map<double, double> &, bool) const --> void
- evalPathRelativePriority(...)
- evalPathRelativePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, target_distance: float) -> float
Query the PTG for the relative priority factor (0,1) of this PTG, in
comparison to others, if the k-th path is to be selected.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalPathRelativePriority(uint16_t, double) const --> double
- getActualUnloopedPathLength(...)
- getActualUnloopedPathLength(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Returns the actual distance (in meters) of the path, discounting
possible circular loops of the path (e.g. if it comes back to the
origin).
Default: refDistance
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getActualUnloopedPathLength(uint16_t) const --> double
- getAlphaValuesCount(...)
- getAlphaValuesCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getAlphaValuesCount() const --> uint16_t
- getClearanceDecimatedPaths(...)
- getClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceDecimatedPaths() const --> unsigned int
- getClearanceStepCount(...)
- getClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceStepCount() const --> unsigned int
- getCurrentNavDynamicState(...)
- getCurrentNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getCurrentNavDynamicState() const --> const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &
- getPathCount(...)
- getPathCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathCount() const --> uint16_t
- getPathTwist(...)
- getPathTwist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> mrpt::math::TTwist2D
Gets velocity ("twist") for path `k` ([0,N-1]=>[-pi,pi] in alpha),
at vehicle discrete step `step`. The default implementation in this base
class uses numerical differentiation to estimate the twist (vx,vy,omega).
Velocity is given in "global" coordinates, relative to the starting pose
of the robot at t=0 for this PTG path.
getPathStepCount(), getAlphaValuesCount(), getPathPose()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathTwist(uint16_t, uint32_t) const --> struct mrpt::math::TTwist2D
- getRefDistance(...)
- getRefDistance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getRefDistance() const --> double
- getScorePriority(...)
- getScorePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
When used in path planning, a multiplying factor (default=1.0) for the
scores for this PTG. Assign values <1 to PTGs with low priority.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getScorePriority() const --> double
- index2alpha(...)
- index2alpha(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Alpha value for the discrete corresponding value
alpha2index
C++: mrpt::nav::CParameterizedTrajectoryGenerator::index2alpha(uint16_t) const --> double
- initClearanceDiagram(...)
- initClearanceDiagram(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Must be called to resize a CD to its correct size, before calling
updateClearance()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initClearanceDiagram(class mrpt::nav::ClearanceDiagram &) const --> void
- initTPObstacleSingle(...)
- initTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, TP_Obstacle_k: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initTPObstacleSingle(uint16_t, double &) const --> void
- initialize(...)
- initialize(*args, **kwargs)
Overloaded function.
1. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
2. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str) -> None
3. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str, verbose: bool) -> None
Must be called after setting all PTG parameters and before requesting
converting obstacles to TP-Space, inverseMap_WS2TP(), etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initialize(const std::string &, const bool) --> void
- isBijectiveAt(...)
- isBijectiveAt(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> bool
Returns true if a given TP-Space point maps to a unique point in
Workspace, and viceversa. Default implementation returns `true`.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isBijectiveAt(uint16_t, uint32_t) const --> bool
- isInitialized(...)
- isInitialized(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if `initialize()` has been called and there was no errors,
so the PTG is ready to be queried for paths, obstacles, etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isInitialized() const --> bool
- maxTimeInVelCmdNOP(...)
- maxTimeInVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, path_k: int) -> float
Only for PTGs supporting supportVelCmdNOP(): this is the maximum time
(in seconds) for which the path
can be followed without re-issuing a new velcmd. Note that this is only
an absolute maximum duration,
navigation implementations will check for many other conditions. Default
method in the base virtual class returns 0.
Queried path `k` index [0,N-1]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::maxTimeInVelCmdNOP(int) const --> double
- renderPathAsSimpleLine(...)
- renderPathAsSimpleLine(*args, **kwargs)
Overloaded function.
1. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float) -> None
3. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float, max_path_distance: float) -> None
Returns the representation of one trajectory of this PTG as a 3D OpenGL
object (a simple curved line).
The 0-based index of the selected trajectory (discrete
"alpha" parameter).
Output object.
Minimum distance between path points (in
meters).
If >=0, cut the path at this distance (in
meters).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::renderPathAsSimpleLine(const unsigned short, class mrpt::opengl::CSetOfLines &, const double, const double) const --> void
- setClearanceDecimatedPaths(...)
- setClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, num: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceDecimatedPaths(const unsigned int) --> void
- setClearanceStepCount(...)
- setClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, res: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceStepCount(const unsigned int) --> void
- setScorePriorty(...)
- setScorePriorty(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, prior: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setScorePriorty(double) --> void
- supportSpeedAtTarget(...)
- supportSpeedAtTarget(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if this PTG takes into account the desired velocity at
target.
updateNavDynamicState()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportSpeedAtTarget() const --> bool
- supportVelCmdNOP(...)
- supportVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if it is possible to stop sending velocity commands to the
robot and, still, the
robot controller will be able to keep following the last sent trajectory
("NOP" velocity commands).
Default implementation returns "false".
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportVelCmdNOP() const --> bool
- updateClearance(...)
- updateClearance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Updates the clearance diagram given one (ox,oy) obstacle point, in
coordinates relative
to the PTG path origin.
The clearance will be updated here.
m_clearance_dist_resolution
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateClearance(const double, const double, class mrpt::nav::ClearanceDiagram &) const --> void
- updateNavDynamicState(...)
- updateNavDynamicState(*args, **kwargs)
Overloaded function.
1. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState) -> None
2. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState, force_update: bool) -> None
To be invoked by the navigator *before* each navigation step, to let the
PTG to react to changing dynamic conditions. *
onNewNavDynamicState(), m_nav_dyn_state
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateNavDynamicState(const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &, const bool) --> void
Static methods inherited from CParameterizedTrajectoryGenerator:
- Alpha2index(...) from builtins.PyCapsule
- Alpha2index(alpha: float, num_paths: int) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Alpha2index(double, const unsigned int) --> uint16_t
- COLLISION_BEHAVIOR(...) from builtins.PyCapsule
- COLLISION_BEHAVIOR() -> mrpt.pymrpt.mrpt.nav.PTG_collision_behavior_t
Defines the behavior when there is an obstacle *inside* the robot shape
right at the beginning of a PTG trajectory.
Default value: COLL_BEH_BACK_AWAY
C++: mrpt::nav::CParameterizedTrajectoryGenerator::COLLISION_BEHAVIOR() --> enum mrpt::nav::PTG_collision_behavior_t &
- CreatePTG(...) from builtins.PyCapsule
- CreatePTG(ptgClassName: str, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str, sKeyPrefix: str) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
The class factory for creating a PTG from a list of parameters in a
section of a given config file (physical file or in memory).
Possible parameters are:
- Those explained in
CParameterizedTrajectoryGenerator::loadFromConfigFile()
- Those explained in the specific PTG being created (see list of
derived classes)
`ptgClassName` can be any PTG class name which has been registered as
any other
mrpt::serialization::CSerializable class.
std::logic_error On invalid or missing parameters.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::CreatePTG(const std::string &, const class mrpt::config::CConfigFileBase &, const std::string &, const std::string &) --> class std::shared_ptr<class mrpt::nav::CParameterizedTrajectoryGenerator>
- Index2alpha(...) from builtins.PyCapsule
- Index2alpha(k: int, num_paths: int) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Index2alpha(uint16_t, const unsigned int) --> double
- OUTPUT_DEBUG_PATH_PREFIX(...) from builtins.PyCapsule
- OUTPUT_DEBUG_PATH_PREFIX() -> str
The path used as defaul output in, for example, debugDumpInFiles.
(Default="./reactivenav.logs/")
C++: mrpt::nav::CParameterizedTrajectoryGenerator::OUTPUT_DEBUG_PATH_PREFIX() --> std::string &
Data and other attributes inherited from CParameterizedTrajectoryGenerator:
- TNavDynamicState = <class 'mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator.TNavDynamicState'>
- Dynamic state that may affect the PTG path parameterization.
nav_reactive
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Methods inherited from mrpt.pymrpt.mrpt.config.CLoadableOptions:
- dumpToConsole(...)
- dumpToConsole(self: mrpt.pymrpt.mrpt.config.CLoadableOptions) -> None
Just like but sending the text to the console
(std::cout)
C++: mrpt::config::CLoadableOptions::dumpToConsole() const --> void
- loadFromConfigFileName(...)
- loadFromConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like loadFromConfigFile, but you can pass directly a file name
and a temporary CConfigFile object will be created automatically to load
the file.
loadFromConfigFile
C++: mrpt::config::CLoadableOptions::loadFromConfigFileName(const std::string &, const std::string &) --> void
- saveToConfigFileName(...)
- saveToConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like saveToConfigFile, but you can pass directly a file name and
a temporary CConfigFile object will be created automatically to save the
file.
saveToConfigFile, loadFromConfigFileName
C++: mrpt::config::CLoadableOptions::saveToConfigFileName(const std::string &, const std::string &) const --> void
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CPTG_DiffDrive_CC(CPTG_DiffDrive_CollisionGridBased) |
|
A PTG for optimal paths of type "C|C" , as named in PTG papers.
- **Compatible kinematics**: differential-driven / Ackermann steering
- **Compatible robot shape**: Arbitrary 2D polygon
- **PTG parameters**: Use the app `ptg-configurator`
See also "Obstacle Distance for Car-Like Robots", IEEE Trans. Rob. And
Autom, 1999.
[Before MRPT 1.5.0 this was named CPTG4] |
|
- Method resolution order:
- CPTG_DiffDrive_CC
- CPTG_DiffDrive_CollisionGridBased
- CPTG_RobotShape_Polygonal
- CParameterizedTrajectoryGenerator
- mrpt.pymrpt.mrpt.serialization.CSerializable
- mrpt.pymrpt.mrpt.rtti.CObject
- mrpt.pymrpt.mrpt.config.CLoadableOptions
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CC) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CPTG_DiffDrive_CC::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- PTG_IsIntoDomain(...)
- PTG_IsIntoDomain(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CC, x: float, y: float) -> bool
C++: mrpt::nav::CPTG_DiffDrive_CC::PTG_IsIntoDomain(double, double) const --> bool
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CC) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CC, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CC, : mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CC) -> mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CC
C++: mrpt::nav::CPTG_DiffDrive_CC::operator=(const class mrpt::nav::CPTG_DiffDrive_CC &) --> class mrpt::nav::CPTG_DiffDrive_CC &
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CC) -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CPTG_DiffDrive_CC::clone() const --> class mrpt::rtti::CObject *
- getDescription(...)
- getDescription(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CC) -> str
C++: mrpt::nav::CPTG_DiffDrive_CC::getDescription() const --> std::string
- loadDefaultParams(...)
- loadDefaultParams(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CC) -> None
C++: mrpt::nav::CPTG_DiffDrive_CC::loadDefaultParams() --> void
- loadFromConfigFile(...)
- loadFromConfigFile(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CC, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CPTG_DiffDrive_CC::loadFromConfigFile(const class mrpt::config::CConfigFileBase &, const std::string &) --> void
- ptgDiffDriveSteeringFunction(...)
- ptgDiffDriveSteeringFunction(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CC, alpha: float, t: float, x: float, y: float, phi: float, v: float, w: float) -> None
C++: mrpt::nav::CPTG_DiffDrive_CC::ptgDiffDriveSteeringFunction(float, float, float, float, float, float &, float &) const --> void
- saveToConfigFile(...)
- saveToConfigFile(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CC, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CPTG_DiffDrive_CC::saveToConfigFile(class mrpt::config::CConfigFileBase &, const std::string &) const --> void
Static methods defined here:
- CreateObject(...) from builtins.PyCapsule
- CreateObject() -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CPTG_DiffDrive_CC::CreateObject() --> class std::shared_ptr<class mrpt::rtti::CObject>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CPTG_DiffDrive_CC::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
Methods inherited from CPTG_DiffDrive_CollisionGridBased:
- directionToMotionCommand(...)
- directionToMotionCommand(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
In this class, `out_action_cmd` contains: [0]: linear velocity (m/s),
[1]: angular velocity (rad/s).
See more docs in
CParameterizedTrajectoryGenerator::directionToMotionCommand()
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::directionToMotionCommand(uint16_t) const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- getMaxAngVel(...)
- getMaxAngVel(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMaxAngVel() const --> double
- getMaxLinVel(...)
- getMaxLinVel(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMaxLinVel() const --> double
- getMax_V(...)
- getMax_V(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
@}
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMax_V() const --> double
- getMax_W(...)
- getMax_W(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMax_W() const --> double
- getPathDist(...)
- getPathDist(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, step: int) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathDist(uint16_t, uint32_t) const --> double
- getPathPose(...)
- getPathPose(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, step: int) -> mrpt.pymrpt.mrpt.math.TPose2D
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathPose(uint16_t, uint32_t) const --> struct mrpt::math::TPose2D
- getPathStepCount(...)
- getPathStepCount(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int) -> int
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepCount(uint16_t) const --> size_t
- getPathStepDuration(...)
- getPathStepDuration(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepDuration() const --> double
- getPathStepForDist(...)
- getPathStepForDist(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, dist: float, out_step: int) -> bool
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepForDist(uint16_t, double, unsigned int &) const --> bool
- getSupportedKinematicVelocityCommand(...)
- getSupportedKinematicVelocityCommand(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getSupportedKinematicVelocityCommand() const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- inverseMap_WS2TP(...)
- inverseMap_WS2TP(*args, **kwargs)
Overloaded function.
1. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, x: float, y: float, out_k: int, out_d: float) -> bool
2. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, x: float, y: float, out_k: int, out_d: float, tolerance_dist: float) -> bool
The default implementation in this class relies on a look-up-table.
Derived classes may redefine this to closed-form expressions, when they
exist.
See full docs in base class
CParameterizedTrajectoryGenerator::inverseMap_WS2TP()
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::inverseMap_WS2TP(double, double, int &, double &, double) const --> bool
- onNewNavDynamicState(...)
- onNewNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> None
This family of PTGs ignores the dynamic states
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::onNewNavDynamicState() --> void
- setRefDistance(...)
- setRefDistance(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, refDist: float) -> None
Launches an exception in this class: it is not allowed in numerical
integration-based PTGs to change the reference distance
after initialization.
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::setRefDistance(const double) --> void
- updateTPObstacleSingle(...)
- updateTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, ox: float, oy: float, k: int, tp_obstacle_k: float) -> None
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::updateTPObstacleSingle(double, double, uint16_t, double &) const --> void
Methods inherited from CPTG_RobotShape_Polygonal:
- add_robotShape_to_setOfLines(...)
- add_robotShape_to_setOfLines(*args, **kwargs)
Overloaded function.
1. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D) -> None
C++: mrpt::nav::CPTG_RobotShape_Polygonal::add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &) const --> void
- evalClearanceToRobotShape(...)
- evalClearanceToRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, ox: float, oy: float) -> float
C++: mrpt::nav::CPTG_RobotShape_Polygonal::evalClearanceToRobotShape(const double, const double) const --> double
- getMaxRobotRadius(...)
- getMaxRobotRadius(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> float
C++: mrpt::nav::CPTG_RobotShape_Polygonal::getMaxRobotRadius() const --> double
- getRobotShape(...)
- getRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> mrpt.pymrpt.mrpt.math.CPolygon
C++: mrpt::nav::CPTG_RobotShape_Polygonal::getRobotShape() const --> const class mrpt::math::CPolygon &
- isPointInsideRobotShape(...)
- isPointInsideRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, x: float, y: float) -> bool
@}
C++: mrpt::nav::CPTG_RobotShape_Polygonal::isPointInsideRobotShape(const double, const double) const --> bool
- setRobotShape(...)
- setRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, robotShape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
@{ *
Robot shape must be set before initialization, either from ctor params
or via this method.
C++: mrpt::nav::CPTG_RobotShape_Polygonal::setRobotShape(const class mrpt::math::CPolygon &) --> void
Static methods inherited from CPTG_RobotShape_Polygonal:
- static_add_robotShape_to_setOfLines(...) from builtins.PyCapsule
- static_add_robotShape_to_setOfLines(gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D, robotShape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
C++: mrpt::nav::CPTG_RobotShape_Polygonal::static_add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &, const class mrpt::math::CPolygon &) --> void
Methods inherited from CParameterizedTrajectoryGenerator:
- alpha2index(...)
- alpha2index(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, alpha: float) -> int
Discrete index value for the corresponding alpha value
index2alpha
C++: mrpt::nav::CParameterizedTrajectoryGenerator::alpha2index(double) const --> uint16_t
- debugDumpInFiles(...)
- debugDumpInFiles(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ptg_name: str) -> bool
Dump PTG trajectories in four text files:
`./reactivenav.logs/PTGs/PTG%i_{x,y,phi,d}.txt`
Text files are loadable from MATLAB/Octave, and can be visualized with
the script `[MRPT_DIR]/scripts/viewPTG.m`
The directory "./reactivenav.logs/PTGs" will be created if doesn't
exist.
false on any error writing to disk.
OUTPUT_DEBUG_PATH_PREFIX
C++: mrpt::nav::CParameterizedTrajectoryGenerator::debugDumpInFiles(const std::string &) const --> bool
- deinitialize(...)
- deinitialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
This must be called to de-initialize the PTG if some parameter is to be
changed. After changing it, call initialize again
C++: mrpt::nav::CParameterizedTrajectoryGenerator::deinitialize() --> void
- evalClearanceSingleObstacle(...)
- evalClearanceSingleObstacle(*args, **kwargs)
Overloaded function.
1. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float]) -> None
2. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float], treat_as_obstacle: bool) -> None
Evals the robot clearance for each robot pose along path `k`, for the
real distances in
the key of the map<>, then keep in the map value the minimum of its
current stored clearance,
or the computed clearance. In case of collision, clearance is zero.
true: normal use for obstacles; false: compute
shortest distances to a target point (no collision)
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalClearanceSingleObstacle(const double, const double, const unsigned short, class std::map<double, double> &, bool) const --> void
- evalPathRelativePriority(...)
- evalPathRelativePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, target_distance: float) -> float
Query the PTG for the relative priority factor (0,1) of this PTG, in
comparison to others, if the k-th path is to be selected.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalPathRelativePriority(uint16_t, double) const --> double
- getActualUnloopedPathLength(...)
- getActualUnloopedPathLength(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Returns the actual distance (in meters) of the path, discounting
possible circular loops of the path (e.g. if it comes back to the
origin).
Default: refDistance
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getActualUnloopedPathLength(uint16_t) const --> double
- getAlphaValuesCount(...)
- getAlphaValuesCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getAlphaValuesCount() const --> uint16_t
- getClearanceDecimatedPaths(...)
- getClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceDecimatedPaths() const --> unsigned int
- getClearanceStepCount(...)
- getClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceStepCount() const --> unsigned int
- getCurrentNavDynamicState(...)
- getCurrentNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getCurrentNavDynamicState() const --> const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &
- getPathCount(...)
- getPathCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathCount() const --> uint16_t
- getPathTwist(...)
- getPathTwist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> mrpt::math::TTwist2D
Gets velocity ("twist") for path `k` ([0,N-1]=>[-pi,pi] in alpha),
at vehicle discrete step `step`. The default implementation in this base
class uses numerical differentiation to estimate the twist (vx,vy,omega).
Velocity is given in "global" coordinates, relative to the starting pose
of the robot at t=0 for this PTG path.
getPathStepCount(), getAlphaValuesCount(), getPathPose()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathTwist(uint16_t, uint32_t) const --> struct mrpt::math::TTwist2D
- getRefDistance(...)
- getRefDistance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getRefDistance() const --> double
- getScorePriority(...)
- getScorePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
When used in path planning, a multiplying factor (default=1.0) for the
scores for this PTG. Assign values <1 to PTGs with low priority.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getScorePriority() const --> double
- index2alpha(...)
- index2alpha(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Alpha value for the discrete corresponding value
alpha2index
C++: mrpt::nav::CParameterizedTrajectoryGenerator::index2alpha(uint16_t) const --> double
- initClearanceDiagram(...)
- initClearanceDiagram(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Must be called to resize a CD to its correct size, before calling
updateClearance()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initClearanceDiagram(class mrpt::nav::ClearanceDiagram &) const --> void
- initTPObstacleSingle(...)
- initTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, TP_Obstacle_k: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initTPObstacleSingle(uint16_t, double &) const --> void
- initialize(...)
- initialize(*args, **kwargs)
Overloaded function.
1. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
2. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str) -> None
3. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str, verbose: bool) -> None
Must be called after setting all PTG parameters and before requesting
converting obstacles to TP-Space, inverseMap_WS2TP(), etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initialize(const std::string &, const bool) --> void
- isBijectiveAt(...)
- isBijectiveAt(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> bool
Returns true if a given TP-Space point maps to a unique point in
Workspace, and viceversa. Default implementation returns `true`.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isBijectiveAt(uint16_t, uint32_t) const --> bool
- isInitialized(...)
- isInitialized(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if `initialize()` has been called and there was no errors,
so the PTG is ready to be queried for paths, obstacles, etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isInitialized() const --> bool
- maxTimeInVelCmdNOP(...)
- maxTimeInVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, path_k: int) -> float
Only for PTGs supporting supportVelCmdNOP(): this is the maximum time
(in seconds) for which the path
can be followed without re-issuing a new velcmd. Note that this is only
an absolute maximum duration,
navigation implementations will check for many other conditions. Default
method in the base virtual class returns 0.
Queried path `k` index [0,N-1]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::maxTimeInVelCmdNOP(int) const --> double
- renderPathAsSimpleLine(...)
- renderPathAsSimpleLine(*args, **kwargs)
Overloaded function.
1. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float) -> None
3. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float, max_path_distance: float) -> None
Returns the representation of one trajectory of this PTG as a 3D OpenGL
object (a simple curved line).
The 0-based index of the selected trajectory (discrete
"alpha" parameter).
Output object.
Minimum distance between path points (in
meters).
If >=0, cut the path at this distance (in
meters).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::renderPathAsSimpleLine(const unsigned short, class mrpt::opengl::CSetOfLines &, const double, const double) const --> void
- setClearanceDecimatedPaths(...)
- setClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, num: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceDecimatedPaths(const unsigned int) --> void
- setClearanceStepCount(...)
- setClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, res: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceStepCount(const unsigned int) --> void
- setScorePriorty(...)
- setScorePriorty(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, prior: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setScorePriorty(double) --> void
- supportSpeedAtTarget(...)
- supportSpeedAtTarget(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if this PTG takes into account the desired velocity at
target.
updateNavDynamicState()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportSpeedAtTarget() const --> bool
- supportVelCmdNOP(...)
- supportVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if it is possible to stop sending velocity commands to the
robot and, still, the
robot controller will be able to keep following the last sent trajectory
("NOP" velocity commands).
Default implementation returns "false".
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportVelCmdNOP() const --> bool
- updateClearance(...)
- updateClearance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Updates the clearance diagram given one (ox,oy) obstacle point, in
coordinates relative
to the PTG path origin.
The clearance will be updated here.
m_clearance_dist_resolution
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateClearance(const double, const double, class mrpt::nav::ClearanceDiagram &) const --> void
- updateNavDynamicState(...)
- updateNavDynamicState(*args, **kwargs)
Overloaded function.
1. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState) -> None
2. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState, force_update: bool) -> None
To be invoked by the navigator *before* each navigation step, to let the
PTG to react to changing dynamic conditions. *
onNewNavDynamicState(), m_nav_dyn_state
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateNavDynamicState(const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &, const bool) --> void
Static methods inherited from CParameterizedTrajectoryGenerator:
- Alpha2index(...) from builtins.PyCapsule
- Alpha2index(alpha: float, num_paths: int) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Alpha2index(double, const unsigned int) --> uint16_t
- COLLISION_BEHAVIOR(...) from builtins.PyCapsule
- COLLISION_BEHAVIOR() -> mrpt.pymrpt.mrpt.nav.PTG_collision_behavior_t
Defines the behavior when there is an obstacle *inside* the robot shape
right at the beginning of a PTG trajectory.
Default value: COLL_BEH_BACK_AWAY
C++: mrpt::nav::CParameterizedTrajectoryGenerator::COLLISION_BEHAVIOR() --> enum mrpt::nav::PTG_collision_behavior_t &
- CreatePTG(...) from builtins.PyCapsule
- CreatePTG(ptgClassName: str, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str, sKeyPrefix: str) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
The class factory for creating a PTG from a list of parameters in a
section of a given config file (physical file or in memory).
Possible parameters are:
- Those explained in
CParameterizedTrajectoryGenerator::loadFromConfigFile()
- Those explained in the specific PTG being created (see list of
derived classes)
`ptgClassName` can be any PTG class name which has been registered as
any other
mrpt::serialization::CSerializable class.
std::logic_error On invalid or missing parameters.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::CreatePTG(const std::string &, const class mrpt::config::CConfigFileBase &, const std::string &, const std::string &) --> class std::shared_ptr<class mrpt::nav::CParameterizedTrajectoryGenerator>
- Index2alpha(...) from builtins.PyCapsule
- Index2alpha(k: int, num_paths: int) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Index2alpha(uint16_t, const unsigned int) --> double
- OUTPUT_DEBUG_PATH_PREFIX(...) from builtins.PyCapsule
- OUTPUT_DEBUG_PATH_PREFIX() -> str
The path used as defaul output in, for example, debugDumpInFiles.
(Default="./reactivenav.logs/")
C++: mrpt::nav::CParameterizedTrajectoryGenerator::OUTPUT_DEBUG_PATH_PREFIX() --> std::string &
Data and other attributes inherited from CParameterizedTrajectoryGenerator:
- TNavDynamicState = <class 'mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator.TNavDynamicState'>
- Dynamic state that may affect the PTG path parameterization.
nav_reactive
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Methods inherited from mrpt.pymrpt.mrpt.config.CLoadableOptions:
- dumpToConsole(...)
- dumpToConsole(self: mrpt.pymrpt.mrpt.config.CLoadableOptions) -> None
Just like but sending the text to the console
(std::cout)
C++: mrpt::config::CLoadableOptions::dumpToConsole() const --> void
- loadFromConfigFileName(...)
- loadFromConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like loadFromConfigFile, but you can pass directly a file name
and a temporary CConfigFile object will be created automatically to load
the file.
loadFromConfigFile
C++: mrpt::config::CLoadableOptions::loadFromConfigFileName(const std::string &, const std::string &) --> void
- saveToConfigFileName(...)
- saveToConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like saveToConfigFile, but you can pass directly a file name and
a temporary CConfigFile object will be created automatically to save the
file.
saveToConfigFile, loadFromConfigFileName
C++: mrpt::config::CLoadableOptions::saveToConfigFileName(const std::string &, const std::string &) const --> void
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CPTG_DiffDrive_CCS(CPTG_DiffDrive_CollisionGridBased) |
|
A PTG for optimal paths of type "C|C,S" (as named in PTG papers).
- **Compatible kinematics**: differential-driven / Ackermann steering
- **Compatible robot shape**: Arbitrary 2D polygon
- **PTG parameters**: Use the app `ptg-configurator`
See also "Obstacle Distance for Car-Like Robots", IEEE Trans. Rob. And
Autom, 1999.
[Before MRPT 1.5.0 this was named CPTG3] |
|
- Method resolution order:
- CPTG_DiffDrive_CCS
- CPTG_DiffDrive_CollisionGridBased
- CPTG_RobotShape_Polygonal
- CParameterizedTrajectoryGenerator
- mrpt.pymrpt.mrpt.serialization.CSerializable
- mrpt.pymrpt.mrpt.rtti.CObject
- mrpt.pymrpt.mrpt.config.CLoadableOptions
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CCS) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CPTG_DiffDrive_CCS::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- PTG_IsIntoDomain(...)
- PTG_IsIntoDomain(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CCS, x: float, y: float) -> bool
C++: mrpt::nav::CPTG_DiffDrive_CCS::PTG_IsIntoDomain(double, double) const --> bool
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CCS) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CCS, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CCS, : mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CCS) -> mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CCS
C++: mrpt::nav::CPTG_DiffDrive_CCS::operator=(const class mrpt::nav::CPTG_DiffDrive_CCS &) --> class mrpt::nav::CPTG_DiffDrive_CCS &
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CCS) -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CPTG_DiffDrive_CCS::clone() const --> class mrpt::rtti::CObject *
- getDescription(...)
- getDescription(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CCS) -> str
C++: mrpt::nav::CPTG_DiffDrive_CCS::getDescription() const --> std::string
- loadDefaultParams(...)
- loadDefaultParams(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CCS) -> None
C++: mrpt::nav::CPTG_DiffDrive_CCS::loadDefaultParams() --> void
- loadFromConfigFile(...)
- loadFromConfigFile(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CCS, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CPTG_DiffDrive_CCS::loadFromConfigFile(const class mrpt::config::CConfigFileBase &, const std::string &) --> void
- ptgDiffDriveSteeringFunction(...)
- ptgDiffDriveSteeringFunction(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CCS, alpha: float, t: float, x: float, y: float, phi: float, v: float, w: float) -> None
C++: mrpt::nav::CPTG_DiffDrive_CCS::ptgDiffDriveSteeringFunction(float, float, float, float, float, float &, float &) const --> void
- saveToConfigFile(...)
- saveToConfigFile(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CCS, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CPTG_DiffDrive_CCS::saveToConfigFile(class mrpt::config::CConfigFileBase &, const std::string &) const --> void
Static methods defined here:
- CreateObject(...) from builtins.PyCapsule
- CreateObject() -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CPTG_DiffDrive_CCS::CreateObject() --> class std::shared_ptr<class mrpt::rtti::CObject>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CPTG_DiffDrive_CCS::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
Methods inherited from CPTG_DiffDrive_CollisionGridBased:
- directionToMotionCommand(...)
- directionToMotionCommand(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
In this class, `out_action_cmd` contains: [0]: linear velocity (m/s),
[1]: angular velocity (rad/s).
See more docs in
CParameterizedTrajectoryGenerator::directionToMotionCommand()
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::directionToMotionCommand(uint16_t) const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- getMaxAngVel(...)
- getMaxAngVel(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMaxAngVel() const --> double
- getMaxLinVel(...)
- getMaxLinVel(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMaxLinVel() const --> double
- getMax_V(...)
- getMax_V(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
@}
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMax_V() const --> double
- getMax_W(...)
- getMax_W(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMax_W() const --> double
- getPathDist(...)
- getPathDist(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, step: int) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathDist(uint16_t, uint32_t) const --> double
- getPathPose(...)
- getPathPose(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, step: int) -> mrpt.pymrpt.mrpt.math.TPose2D
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathPose(uint16_t, uint32_t) const --> struct mrpt::math::TPose2D
- getPathStepCount(...)
- getPathStepCount(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int) -> int
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepCount(uint16_t) const --> size_t
- getPathStepDuration(...)
- getPathStepDuration(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepDuration() const --> double
- getPathStepForDist(...)
- getPathStepForDist(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, dist: float, out_step: int) -> bool
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepForDist(uint16_t, double, unsigned int &) const --> bool
- getSupportedKinematicVelocityCommand(...)
- getSupportedKinematicVelocityCommand(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getSupportedKinematicVelocityCommand() const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- inverseMap_WS2TP(...)
- inverseMap_WS2TP(*args, **kwargs)
Overloaded function.
1. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, x: float, y: float, out_k: int, out_d: float) -> bool
2. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, x: float, y: float, out_k: int, out_d: float, tolerance_dist: float) -> bool
The default implementation in this class relies on a look-up-table.
Derived classes may redefine this to closed-form expressions, when they
exist.
See full docs in base class
CParameterizedTrajectoryGenerator::inverseMap_WS2TP()
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::inverseMap_WS2TP(double, double, int &, double &, double) const --> bool
- onNewNavDynamicState(...)
- onNewNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> None
This family of PTGs ignores the dynamic states
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::onNewNavDynamicState() --> void
- setRefDistance(...)
- setRefDistance(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, refDist: float) -> None
Launches an exception in this class: it is not allowed in numerical
integration-based PTGs to change the reference distance
after initialization.
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::setRefDistance(const double) --> void
- updateTPObstacleSingle(...)
- updateTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, ox: float, oy: float, k: int, tp_obstacle_k: float) -> None
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::updateTPObstacleSingle(double, double, uint16_t, double &) const --> void
Methods inherited from CPTG_RobotShape_Polygonal:
- add_robotShape_to_setOfLines(...)
- add_robotShape_to_setOfLines(*args, **kwargs)
Overloaded function.
1. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D) -> None
C++: mrpt::nav::CPTG_RobotShape_Polygonal::add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &) const --> void
- evalClearanceToRobotShape(...)
- evalClearanceToRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, ox: float, oy: float) -> float
C++: mrpt::nav::CPTG_RobotShape_Polygonal::evalClearanceToRobotShape(const double, const double) const --> double
- getMaxRobotRadius(...)
- getMaxRobotRadius(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> float
C++: mrpt::nav::CPTG_RobotShape_Polygonal::getMaxRobotRadius() const --> double
- getRobotShape(...)
- getRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> mrpt.pymrpt.mrpt.math.CPolygon
C++: mrpt::nav::CPTG_RobotShape_Polygonal::getRobotShape() const --> const class mrpt::math::CPolygon &
- isPointInsideRobotShape(...)
- isPointInsideRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, x: float, y: float) -> bool
@}
C++: mrpt::nav::CPTG_RobotShape_Polygonal::isPointInsideRobotShape(const double, const double) const --> bool
- setRobotShape(...)
- setRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, robotShape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
@{ *
Robot shape must be set before initialization, either from ctor params
or via this method.
C++: mrpt::nav::CPTG_RobotShape_Polygonal::setRobotShape(const class mrpt::math::CPolygon &) --> void
Static methods inherited from CPTG_RobotShape_Polygonal:
- static_add_robotShape_to_setOfLines(...) from builtins.PyCapsule
- static_add_robotShape_to_setOfLines(gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D, robotShape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
C++: mrpt::nav::CPTG_RobotShape_Polygonal::static_add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &, const class mrpt::math::CPolygon &) --> void
Methods inherited from CParameterizedTrajectoryGenerator:
- alpha2index(...)
- alpha2index(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, alpha: float) -> int
Discrete index value for the corresponding alpha value
index2alpha
C++: mrpt::nav::CParameterizedTrajectoryGenerator::alpha2index(double) const --> uint16_t
- debugDumpInFiles(...)
- debugDumpInFiles(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ptg_name: str) -> bool
Dump PTG trajectories in four text files:
`./reactivenav.logs/PTGs/PTG%i_{x,y,phi,d}.txt`
Text files are loadable from MATLAB/Octave, and can be visualized with
the script `[MRPT_DIR]/scripts/viewPTG.m`
The directory "./reactivenav.logs/PTGs" will be created if doesn't
exist.
false on any error writing to disk.
OUTPUT_DEBUG_PATH_PREFIX
C++: mrpt::nav::CParameterizedTrajectoryGenerator::debugDumpInFiles(const std::string &) const --> bool
- deinitialize(...)
- deinitialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
This must be called to de-initialize the PTG if some parameter is to be
changed. After changing it, call initialize again
C++: mrpt::nav::CParameterizedTrajectoryGenerator::deinitialize() --> void
- evalClearanceSingleObstacle(...)
- evalClearanceSingleObstacle(*args, **kwargs)
Overloaded function.
1. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float]) -> None
2. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float], treat_as_obstacle: bool) -> None
Evals the robot clearance for each robot pose along path `k`, for the
real distances in
the key of the map<>, then keep in the map value the minimum of its
current stored clearance,
or the computed clearance. In case of collision, clearance is zero.
true: normal use for obstacles; false: compute
shortest distances to a target point (no collision)
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalClearanceSingleObstacle(const double, const double, const unsigned short, class std::map<double, double> &, bool) const --> void
- evalPathRelativePriority(...)
- evalPathRelativePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, target_distance: float) -> float
Query the PTG for the relative priority factor (0,1) of this PTG, in
comparison to others, if the k-th path is to be selected.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalPathRelativePriority(uint16_t, double) const --> double
- getActualUnloopedPathLength(...)
- getActualUnloopedPathLength(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Returns the actual distance (in meters) of the path, discounting
possible circular loops of the path (e.g. if it comes back to the
origin).
Default: refDistance
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getActualUnloopedPathLength(uint16_t) const --> double
- getAlphaValuesCount(...)
- getAlphaValuesCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getAlphaValuesCount() const --> uint16_t
- getClearanceDecimatedPaths(...)
- getClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceDecimatedPaths() const --> unsigned int
- getClearanceStepCount(...)
- getClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceStepCount() const --> unsigned int
- getCurrentNavDynamicState(...)
- getCurrentNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getCurrentNavDynamicState() const --> const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &
- getPathCount(...)
- getPathCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathCount() const --> uint16_t
- getPathTwist(...)
- getPathTwist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> mrpt::math::TTwist2D
Gets velocity ("twist") for path `k` ([0,N-1]=>[-pi,pi] in alpha),
at vehicle discrete step `step`. The default implementation in this base
class uses numerical differentiation to estimate the twist (vx,vy,omega).
Velocity is given in "global" coordinates, relative to the starting pose
of the robot at t=0 for this PTG path.
getPathStepCount(), getAlphaValuesCount(), getPathPose()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathTwist(uint16_t, uint32_t) const --> struct mrpt::math::TTwist2D
- getRefDistance(...)
- getRefDistance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getRefDistance() const --> double
- getScorePriority(...)
- getScorePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
When used in path planning, a multiplying factor (default=1.0) for the
scores for this PTG. Assign values <1 to PTGs with low priority.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getScorePriority() const --> double
- index2alpha(...)
- index2alpha(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Alpha value for the discrete corresponding value
alpha2index
C++: mrpt::nav::CParameterizedTrajectoryGenerator::index2alpha(uint16_t) const --> double
- initClearanceDiagram(...)
- initClearanceDiagram(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Must be called to resize a CD to its correct size, before calling
updateClearance()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initClearanceDiagram(class mrpt::nav::ClearanceDiagram &) const --> void
- initTPObstacleSingle(...)
- initTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, TP_Obstacle_k: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initTPObstacleSingle(uint16_t, double &) const --> void
- initialize(...)
- initialize(*args, **kwargs)
Overloaded function.
1. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
2. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str) -> None
3. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str, verbose: bool) -> None
Must be called after setting all PTG parameters and before requesting
converting obstacles to TP-Space, inverseMap_WS2TP(), etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initialize(const std::string &, const bool) --> void
- isBijectiveAt(...)
- isBijectiveAt(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> bool
Returns true if a given TP-Space point maps to a unique point in
Workspace, and viceversa. Default implementation returns `true`.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isBijectiveAt(uint16_t, uint32_t) const --> bool
- isInitialized(...)
- isInitialized(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if `initialize()` has been called and there was no errors,
so the PTG is ready to be queried for paths, obstacles, etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isInitialized() const --> bool
- maxTimeInVelCmdNOP(...)
- maxTimeInVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, path_k: int) -> float
Only for PTGs supporting supportVelCmdNOP(): this is the maximum time
(in seconds) for which the path
can be followed without re-issuing a new velcmd. Note that this is only
an absolute maximum duration,
navigation implementations will check for many other conditions. Default
method in the base virtual class returns 0.
Queried path `k` index [0,N-1]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::maxTimeInVelCmdNOP(int) const --> double
- renderPathAsSimpleLine(...)
- renderPathAsSimpleLine(*args, **kwargs)
Overloaded function.
1. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float) -> None
3. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float, max_path_distance: float) -> None
Returns the representation of one trajectory of this PTG as a 3D OpenGL
object (a simple curved line).
The 0-based index of the selected trajectory (discrete
"alpha" parameter).
Output object.
Minimum distance between path points (in
meters).
If >=0, cut the path at this distance (in
meters).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::renderPathAsSimpleLine(const unsigned short, class mrpt::opengl::CSetOfLines &, const double, const double) const --> void
- setClearanceDecimatedPaths(...)
- setClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, num: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceDecimatedPaths(const unsigned int) --> void
- setClearanceStepCount(...)
- setClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, res: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceStepCount(const unsigned int) --> void
- setScorePriorty(...)
- setScorePriorty(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, prior: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setScorePriorty(double) --> void
- supportSpeedAtTarget(...)
- supportSpeedAtTarget(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if this PTG takes into account the desired velocity at
target.
updateNavDynamicState()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportSpeedAtTarget() const --> bool
- supportVelCmdNOP(...)
- supportVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if it is possible to stop sending velocity commands to the
robot and, still, the
robot controller will be able to keep following the last sent trajectory
("NOP" velocity commands).
Default implementation returns "false".
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportVelCmdNOP() const --> bool
- updateClearance(...)
- updateClearance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Updates the clearance diagram given one (ox,oy) obstacle point, in
coordinates relative
to the PTG path origin.
The clearance will be updated here.
m_clearance_dist_resolution
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateClearance(const double, const double, class mrpt::nav::ClearanceDiagram &) const --> void
- updateNavDynamicState(...)
- updateNavDynamicState(*args, **kwargs)
Overloaded function.
1. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState) -> None
2. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState, force_update: bool) -> None
To be invoked by the navigator *before* each navigation step, to let the
PTG to react to changing dynamic conditions. *
onNewNavDynamicState(), m_nav_dyn_state
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateNavDynamicState(const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &, const bool) --> void
Static methods inherited from CParameterizedTrajectoryGenerator:
- Alpha2index(...) from builtins.PyCapsule
- Alpha2index(alpha: float, num_paths: int) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Alpha2index(double, const unsigned int) --> uint16_t
- COLLISION_BEHAVIOR(...) from builtins.PyCapsule
- COLLISION_BEHAVIOR() -> mrpt.pymrpt.mrpt.nav.PTG_collision_behavior_t
Defines the behavior when there is an obstacle *inside* the robot shape
right at the beginning of a PTG trajectory.
Default value: COLL_BEH_BACK_AWAY
C++: mrpt::nav::CParameterizedTrajectoryGenerator::COLLISION_BEHAVIOR() --> enum mrpt::nav::PTG_collision_behavior_t &
- CreatePTG(...) from builtins.PyCapsule
- CreatePTG(ptgClassName: str, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str, sKeyPrefix: str) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
The class factory for creating a PTG from a list of parameters in a
section of a given config file (physical file or in memory).
Possible parameters are:
- Those explained in
CParameterizedTrajectoryGenerator::loadFromConfigFile()
- Those explained in the specific PTG being created (see list of
derived classes)
`ptgClassName` can be any PTG class name which has been registered as
any other
mrpt::serialization::CSerializable class.
std::logic_error On invalid or missing parameters.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::CreatePTG(const std::string &, const class mrpt::config::CConfigFileBase &, const std::string &, const std::string &) --> class std::shared_ptr<class mrpt::nav::CParameterizedTrajectoryGenerator>
- Index2alpha(...) from builtins.PyCapsule
- Index2alpha(k: int, num_paths: int) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Index2alpha(uint16_t, const unsigned int) --> double
- OUTPUT_DEBUG_PATH_PREFIX(...) from builtins.PyCapsule
- OUTPUT_DEBUG_PATH_PREFIX() -> str
The path used as defaul output in, for example, debugDumpInFiles.
(Default="./reactivenav.logs/")
C++: mrpt::nav::CParameterizedTrajectoryGenerator::OUTPUT_DEBUG_PATH_PREFIX() --> std::string &
Data and other attributes inherited from CParameterizedTrajectoryGenerator:
- TNavDynamicState = <class 'mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator.TNavDynamicState'>
- Dynamic state that may affect the PTG path parameterization.
nav_reactive
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Methods inherited from mrpt.pymrpt.mrpt.config.CLoadableOptions:
- dumpToConsole(...)
- dumpToConsole(self: mrpt.pymrpt.mrpt.config.CLoadableOptions) -> None
Just like but sending the text to the console
(std::cout)
C++: mrpt::config::CLoadableOptions::dumpToConsole() const --> void
- loadFromConfigFileName(...)
- loadFromConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like loadFromConfigFile, but you can pass directly a file name
and a temporary CConfigFile object will be created automatically to load
the file.
loadFromConfigFile
C++: mrpt::config::CLoadableOptions::loadFromConfigFileName(const std::string &, const std::string &) --> void
- saveToConfigFileName(...)
- saveToConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like saveToConfigFile, but you can pass directly a file name and
a temporary CConfigFile object will be created automatically to save the
file.
saveToConfigFile, loadFromConfigFileName
C++: mrpt::config::CLoadableOptions::saveToConfigFileName(const std::string &, const std::string &) const --> void
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CPTG_DiffDrive_CS(CPTG_DiffDrive_CollisionGridBased) |
|
A PTG for optimal paths of type "CS", as named in PTG papers.
- **Compatible kinematics**: differential-driven / Ackermann steering
- **Compatible robot shape**: Arbitrary 2D polygon
- **PTG parameters**: Use the app `ptg-configurator`
See "Obstacle Distance for Car-Like Robots", IEEE Trans. Rob. And Autom,
1999.
[Before MRPT 1.5.0 this was named CPTG5] |
|
- Method resolution order:
- CPTG_DiffDrive_CS
- CPTG_DiffDrive_CollisionGridBased
- CPTG_RobotShape_Polygonal
- CParameterizedTrajectoryGenerator
- mrpt.pymrpt.mrpt.serialization.CSerializable
- mrpt.pymrpt.mrpt.rtti.CObject
- mrpt.pymrpt.mrpt.config.CLoadableOptions
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CS) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CPTG_DiffDrive_CS::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- PTG_IsIntoDomain(...)
- PTG_IsIntoDomain(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CS, x: float, y: float) -> bool
C++: mrpt::nav::CPTG_DiffDrive_CS::PTG_IsIntoDomain(double, double) const --> bool
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CS) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CS, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CS, : mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CS) -> mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CS
C++: mrpt::nav::CPTG_DiffDrive_CS::operator=(const class mrpt::nav::CPTG_DiffDrive_CS &) --> class mrpt::nav::CPTG_DiffDrive_CS &
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CS) -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CPTG_DiffDrive_CS::clone() const --> class mrpt::rtti::CObject *
- getDescription(...)
- getDescription(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CS) -> str
C++: mrpt::nav::CPTG_DiffDrive_CS::getDescription() const --> std::string
- loadDefaultParams(...)
- loadDefaultParams(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CS) -> None
C++: mrpt::nav::CPTG_DiffDrive_CS::loadDefaultParams() --> void
- loadFromConfigFile(...)
- loadFromConfigFile(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CS, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CPTG_DiffDrive_CS::loadFromConfigFile(const class mrpt::config::CConfigFileBase &, const std::string &) --> void
- ptgDiffDriveSteeringFunction(...)
- ptgDiffDriveSteeringFunction(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CS, alpha: float, t: float, x: float, y: float, phi: float, v: float, w: float) -> None
C++: mrpt::nav::CPTG_DiffDrive_CS::ptgDiffDriveSteeringFunction(float, float, float, float, float, float &, float &) const --> void
- saveToConfigFile(...)
- saveToConfigFile(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CS, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CPTG_DiffDrive_CS::saveToConfigFile(class mrpt::config::CConfigFileBase &, const std::string &) const --> void
Static methods defined here:
- CreateObject(...) from builtins.PyCapsule
- CreateObject() -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CPTG_DiffDrive_CS::CreateObject() --> class std::shared_ptr<class mrpt::rtti::CObject>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CPTG_DiffDrive_CS::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
Methods inherited from CPTG_DiffDrive_CollisionGridBased:
- directionToMotionCommand(...)
- directionToMotionCommand(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
In this class, `out_action_cmd` contains: [0]: linear velocity (m/s),
[1]: angular velocity (rad/s).
See more docs in
CParameterizedTrajectoryGenerator::directionToMotionCommand()
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::directionToMotionCommand(uint16_t) const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- getMaxAngVel(...)
- getMaxAngVel(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMaxAngVel() const --> double
- getMaxLinVel(...)
- getMaxLinVel(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMaxLinVel() const --> double
- getMax_V(...)
- getMax_V(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
@}
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMax_V() const --> double
- getMax_W(...)
- getMax_W(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMax_W() const --> double
- getPathDist(...)
- getPathDist(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, step: int) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathDist(uint16_t, uint32_t) const --> double
- getPathPose(...)
- getPathPose(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, step: int) -> mrpt.pymrpt.mrpt.math.TPose2D
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathPose(uint16_t, uint32_t) const --> struct mrpt::math::TPose2D
- getPathStepCount(...)
- getPathStepCount(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int) -> int
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepCount(uint16_t) const --> size_t
- getPathStepDuration(...)
- getPathStepDuration(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepDuration() const --> double
- getPathStepForDist(...)
- getPathStepForDist(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, dist: float, out_step: int) -> bool
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepForDist(uint16_t, double, unsigned int &) const --> bool
- getSupportedKinematicVelocityCommand(...)
- getSupportedKinematicVelocityCommand(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getSupportedKinematicVelocityCommand() const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- inverseMap_WS2TP(...)
- inverseMap_WS2TP(*args, **kwargs)
Overloaded function.
1. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, x: float, y: float, out_k: int, out_d: float) -> bool
2. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, x: float, y: float, out_k: int, out_d: float, tolerance_dist: float) -> bool
The default implementation in this class relies on a look-up-table.
Derived classes may redefine this to closed-form expressions, when they
exist.
See full docs in base class
CParameterizedTrajectoryGenerator::inverseMap_WS2TP()
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::inverseMap_WS2TP(double, double, int &, double &, double) const --> bool
- onNewNavDynamicState(...)
- onNewNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> None
This family of PTGs ignores the dynamic states
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::onNewNavDynamicState() --> void
- setRefDistance(...)
- setRefDistance(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, refDist: float) -> None
Launches an exception in this class: it is not allowed in numerical
integration-based PTGs to change the reference distance
after initialization.
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::setRefDistance(const double) --> void
- updateTPObstacleSingle(...)
- updateTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, ox: float, oy: float, k: int, tp_obstacle_k: float) -> None
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::updateTPObstacleSingle(double, double, uint16_t, double &) const --> void
Methods inherited from CPTG_RobotShape_Polygonal:
- add_robotShape_to_setOfLines(...)
- add_robotShape_to_setOfLines(*args, **kwargs)
Overloaded function.
1. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D) -> None
C++: mrpt::nav::CPTG_RobotShape_Polygonal::add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &) const --> void
- evalClearanceToRobotShape(...)
- evalClearanceToRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, ox: float, oy: float) -> float
C++: mrpt::nav::CPTG_RobotShape_Polygonal::evalClearanceToRobotShape(const double, const double) const --> double
- getMaxRobotRadius(...)
- getMaxRobotRadius(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> float
C++: mrpt::nav::CPTG_RobotShape_Polygonal::getMaxRobotRadius() const --> double
- getRobotShape(...)
- getRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> mrpt.pymrpt.mrpt.math.CPolygon
C++: mrpt::nav::CPTG_RobotShape_Polygonal::getRobotShape() const --> const class mrpt::math::CPolygon &
- isPointInsideRobotShape(...)
- isPointInsideRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, x: float, y: float) -> bool
@}
C++: mrpt::nav::CPTG_RobotShape_Polygonal::isPointInsideRobotShape(const double, const double) const --> bool
- setRobotShape(...)
- setRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, robotShape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
@{ *
Robot shape must be set before initialization, either from ctor params
or via this method.
C++: mrpt::nav::CPTG_RobotShape_Polygonal::setRobotShape(const class mrpt::math::CPolygon &) --> void
Static methods inherited from CPTG_RobotShape_Polygonal:
- static_add_robotShape_to_setOfLines(...) from builtins.PyCapsule
- static_add_robotShape_to_setOfLines(gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D, robotShape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
C++: mrpt::nav::CPTG_RobotShape_Polygonal::static_add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &, const class mrpt::math::CPolygon &) --> void
Methods inherited from CParameterizedTrajectoryGenerator:
- alpha2index(...)
- alpha2index(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, alpha: float) -> int
Discrete index value for the corresponding alpha value
index2alpha
C++: mrpt::nav::CParameterizedTrajectoryGenerator::alpha2index(double) const --> uint16_t
- debugDumpInFiles(...)
- debugDumpInFiles(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ptg_name: str) -> bool
Dump PTG trajectories in four text files:
`./reactivenav.logs/PTGs/PTG%i_{x,y,phi,d}.txt`
Text files are loadable from MATLAB/Octave, and can be visualized with
the script `[MRPT_DIR]/scripts/viewPTG.m`
The directory "./reactivenav.logs/PTGs" will be created if doesn't
exist.
false on any error writing to disk.
OUTPUT_DEBUG_PATH_PREFIX
C++: mrpt::nav::CParameterizedTrajectoryGenerator::debugDumpInFiles(const std::string &) const --> bool
- deinitialize(...)
- deinitialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
This must be called to de-initialize the PTG if some parameter is to be
changed. After changing it, call initialize again
C++: mrpt::nav::CParameterizedTrajectoryGenerator::deinitialize() --> void
- evalClearanceSingleObstacle(...)
- evalClearanceSingleObstacle(*args, **kwargs)
Overloaded function.
1. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float]) -> None
2. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float], treat_as_obstacle: bool) -> None
Evals the robot clearance for each robot pose along path `k`, for the
real distances in
the key of the map<>, then keep in the map value the minimum of its
current stored clearance,
or the computed clearance. In case of collision, clearance is zero.
true: normal use for obstacles; false: compute
shortest distances to a target point (no collision)
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalClearanceSingleObstacle(const double, const double, const unsigned short, class std::map<double, double> &, bool) const --> void
- evalPathRelativePriority(...)
- evalPathRelativePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, target_distance: float) -> float
Query the PTG for the relative priority factor (0,1) of this PTG, in
comparison to others, if the k-th path is to be selected.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalPathRelativePriority(uint16_t, double) const --> double
- getActualUnloopedPathLength(...)
- getActualUnloopedPathLength(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Returns the actual distance (in meters) of the path, discounting
possible circular loops of the path (e.g. if it comes back to the
origin).
Default: refDistance
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getActualUnloopedPathLength(uint16_t) const --> double
- getAlphaValuesCount(...)
- getAlphaValuesCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getAlphaValuesCount() const --> uint16_t
- getClearanceDecimatedPaths(...)
- getClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceDecimatedPaths() const --> unsigned int
- getClearanceStepCount(...)
- getClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceStepCount() const --> unsigned int
- getCurrentNavDynamicState(...)
- getCurrentNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getCurrentNavDynamicState() const --> const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &
- getPathCount(...)
- getPathCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathCount() const --> uint16_t
- getPathTwist(...)
- getPathTwist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> mrpt::math::TTwist2D
Gets velocity ("twist") for path `k` ([0,N-1]=>[-pi,pi] in alpha),
at vehicle discrete step `step`. The default implementation in this base
class uses numerical differentiation to estimate the twist (vx,vy,omega).
Velocity is given in "global" coordinates, relative to the starting pose
of the robot at t=0 for this PTG path.
getPathStepCount(), getAlphaValuesCount(), getPathPose()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathTwist(uint16_t, uint32_t) const --> struct mrpt::math::TTwist2D
- getRefDistance(...)
- getRefDistance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getRefDistance() const --> double
- getScorePriority(...)
- getScorePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
When used in path planning, a multiplying factor (default=1.0) for the
scores for this PTG. Assign values <1 to PTGs with low priority.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getScorePriority() const --> double
- index2alpha(...)
- index2alpha(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Alpha value for the discrete corresponding value
alpha2index
C++: mrpt::nav::CParameterizedTrajectoryGenerator::index2alpha(uint16_t) const --> double
- initClearanceDiagram(...)
- initClearanceDiagram(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Must be called to resize a CD to its correct size, before calling
updateClearance()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initClearanceDiagram(class mrpt::nav::ClearanceDiagram &) const --> void
- initTPObstacleSingle(...)
- initTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, TP_Obstacle_k: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initTPObstacleSingle(uint16_t, double &) const --> void
- initialize(...)
- initialize(*args, **kwargs)
Overloaded function.
1. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
2. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str) -> None
3. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str, verbose: bool) -> None
Must be called after setting all PTG parameters and before requesting
converting obstacles to TP-Space, inverseMap_WS2TP(), etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initialize(const std::string &, const bool) --> void
- isBijectiveAt(...)
- isBijectiveAt(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> bool
Returns true if a given TP-Space point maps to a unique point in
Workspace, and viceversa. Default implementation returns `true`.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isBijectiveAt(uint16_t, uint32_t) const --> bool
- isInitialized(...)
- isInitialized(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if `initialize()` has been called and there was no errors,
so the PTG is ready to be queried for paths, obstacles, etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isInitialized() const --> bool
- maxTimeInVelCmdNOP(...)
- maxTimeInVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, path_k: int) -> float
Only for PTGs supporting supportVelCmdNOP(): this is the maximum time
(in seconds) for which the path
can be followed without re-issuing a new velcmd. Note that this is only
an absolute maximum duration,
navigation implementations will check for many other conditions. Default
method in the base virtual class returns 0.
Queried path `k` index [0,N-1]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::maxTimeInVelCmdNOP(int) const --> double
- renderPathAsSimpleLine(...)
- renderPathAsSimpleLine(*args, **kwargs)
Overloaded function.
1. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float) -> None
3. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float, max_path_distance: float) -> None
Returns the representation of one trajectory of this PTG as a 3D OpenGL
object (a simple curved line).
The 0-based index of the selected trajectory (discrete
"alpha" parameter).
Output object.
Minimum distance between path points (in
meters).
If >=0, cut the path at this distance (in
meters).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::renderPathAsSimpleLine(const unsigned short, class mrpt::opengl::CSetOfLines &, const double, const double) const --> void
- setClearanceDecimatedPaths(...)
- setClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, num: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceDecimatedPaths(const unsigned int) --> void
- setClearanceStepCount(...)
- setClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, res: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceStepCount(const unsigned int) --> void
- setScorePriorty(...)
- setScorePriorty(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, prior: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setScorePriorty(double) --> void
- supportSpeedAtTarget(...)
- supportSpeedAtTarget(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if this PTG takes into account the desired velocity at
target.
updateNavDynamicState()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportSpeedAtTarget() const --> bool
- supportVelCmdNOP(...)
- supportVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if it is possible to stop sending velocity commands to the
robot and, still, the
robot controller will be able to keep following the last sent trajectory
("NOP" velocity commands).
Default implementation returns "false".
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportVelCmdNOP() const --> bool
- updateClearance(...)
- updateClearance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Updates the clearance diagram given one (ox,oy) obstacle point, in
coordinates relative
to the PTG path origin.
The clearance will be updated here.
m_clearance_dist_resolution
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateClearance(const double, const double, class mrpt::nav::ClearanceDiagram &) const --> void
- updateNavDynamicState(...)
- updateNavDynamicState(*args, **kwargs)
Overloaded function.
1. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState) -> None
2. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState, force_update: bool) -> None
To be invoked by the navigator *before* each navigation step, to let the
PTG to react to changing dynamic conditions. *
onNewNavDynamicState(), m_nav_dyn_state
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateNavDynamicState(const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &, const bool) --> void
Static methods inherited from CParameterizedTrajectoryGenerator:
- Alpha2index(...) from builtins.PyCapsule
- Alpha2index(alpha: float, num_paths: int) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Alpha2index(double, const unsigned int) --> uint16_t
- COLLISION_BEHAVIOR(...) from builtins.PyCapsule
- COLLISION_BEHAVIOR() -> mrpt.pymrpt.mrpt.nav.PTG_collision_behavior_t
Defines the behavior when there is an obstacle *inside* the robot shape
right at the beginning of a PTG trajectory.
Default value: COLL_BEH_BACK_AWAY
C++: mrpt::nav::CParameterizedTrajectoryGenerator::COLLISION_BEHAVIOR() --> enum mrpt::nav::PTG_collision_behavior_t &
- CreatePTG(...) from builtins.PyCapsule
- CreatePTG(ptgClassName: str, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str, sKeyPrefix: str) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
The class factory for creating a PTG from a list of parameters in a
section of a given config file (physical file or in memory).
Possible parameters are:
- Those explained in
CParameterizedTrajectoryGenerator::loadFromConfigFile()
- Those explained in the specific PTG being created (see list of
derived classes)
`ptgClassName` can be any PTG class name which has been registered as
any other
mrpt::serialization::CSerializable class.
std::logic_error On invalid or missing parameters.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::CreatePTG(const std::string &, const class mrpt::config::CConfigFileBase &, const std::string &, const std::string &) --> class std::shared_ptr<class mrpt::nav::CParameterizedTrajectoryGenerator>
- Index2alpha(...) from builtins.PyCapsule
- Index2alpha(k: int, num_paths: int) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Index2alpha(uint16_t, const unsigned int) --> double
- OUTPUT_DEBUG_PATH_PREFIX(...) from builtins.PyCapsule
- OUTPUT_DEBUG_PATH_PREFIX() -> str
The path used as defaul output in, for example, debugDumpInFiles.
(Default="./reactivenav.logs/")
C++: mrpt::nav::CParameterizedTrajectoryGenerator::OUTPUT_DEBUG_PATH_PREFIX() --> std::string &
Data and other attributes inherited from CParameterizedTrajectoryGenerator:
- TNavDynamicState = <class 'mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator.TNavDynamicState'>
- Dynamic state that may affect the PTG path parameterization.
nav_reactive
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Methods inherited from mrpt.pymrpt.mrpt.config.CLoadableOptions:
- dumpToConsole(...)
- dumpToConsole(self: mrpt.pymrpt.mrpt.config.CLoadableOptions) -> None
Just like but sending the text to the console
(std::cout)
C++: mrpt::config::CLoadableOptions::dumpToConsole() const --> void
- loadFromConfigFileName(...)
- loadFromConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like loadFromConfigFile, but you can pass directly a file name
and a temporary CConfigFile object will be created automatically to load
the file.
loadFromConfigFile
C++: mrpt::config::CLoadableOptions::loadFromConfigFileName(const std::string &, const std::string &) --> void
- saveToConfigFileName(...)
- saveToConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like saveToConfigFile, but you can pass directly a file name and
a temporary CConfigFile object will be created automatically to save the
file.
saveToConfigFile, loadFromConfigFileName
C++: mrpt::config::CLoadableOptions::saveToConfigFileName(const std::string &, const std::string &) const --> void
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CPTG_DiffDrive_CollisionGridBased(CPTG_RobotShape_Polygonal) |
|
Base class for all PTGs suitable to non-holonomic, differentially-driven (or
Ackermann) vehicles
based on numerical integration of the trajectories and collision
look-up-table.
Regarding `initialize()`: in this this family of PTGs, the method builds the
collision grid or load it from a cache file.
Collision grids must be calculated before calling getTPObstacle(). Robot
shape must be set before initializing with setRobotShape().
The rest of PTG parameters should have been set at the constructor. |
|
- Method resolution order:
- CPTG_DiffDrive_CollisionGridBased
- CPTG_RobotShape_Polygonal
- CParameterizedTrajectoryGenerator
- mrpt.pymrpt.mrpt.serialization.CSerializable
- mrpt.pymrpt.mrpt.rtti.CObject
- mrpt.pymrpt.mrpt.config.CLoadableOptions
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(self, /, *args, **kwargs)
- Initialize self. See help(type(self)) for accurate signature.
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, : mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::operator=(const class mrpt::nav::CPTG_DiffDrive_CollisionGridBased &) --> class mrpt::nav::CPTG_DiffDrive_CollisionGridBased &
- directionToMotionCommand(...)
- directionToMotionCommand(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
In this class, `out_action_cmd` contains: [0]: linear velocity (m/s),
[1]: angular velocity (rad/s).
See more docs in
CParameterizedTrajectoryGenerator::directionToMotionCommand()
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::directionToMotionCommand(uint16_t) const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- getMaxAngVel(...)
- getMaxAngVel(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMaxAngVel() const --> double
- getMaxLinVel(...)
- getMaxLinVel(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMaxLinVel() const --> double
- getMax_V(...)
- getMax_V(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
@}
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMax_V() const --> double
- getMax_W(...)
- getMax_W(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMax_W() const --> double
- getPathDist(...)
- getPathDist(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, step: int) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathDist(uint16_t, uint32_t) const --> double
- getPathPose(...)
- getPathPose(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, step: int) -> mrpt.pymrpt.mrpt.math.TPose2D
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathPose(uint16_t, uint32_t) const --> struct mrpt::math::TPose2D
- getPathStepCount(...)
- getPathStepCount(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int) -> int
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepCount(uint16_t) const --> size_t
- getPathStepDuration(...)
- getPathStepDuration(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepDuration() const --> double
- getPathStepForDist(...)
- getPathStepForDist(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, dist: float, out_step: int) -> bool
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepForDist(uint16_t, double, unsigned int &) const --> bool
- getSupportedKinematicVelocityCommand(...)
- getSupportedKinematicVelocityCommand(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getSupportedKinematicVelocityCommand() const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- inverseMap_WS2TP(...)
- inverseMap_WS2TP(*args, **kwargs)
Overloaded function.
1. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, x: float, y: float, out_k: int, out_d: float) -> bool
2. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, x: float, y: float, out_k: int, out_d: float, tolerance_dist: float) -> bool
The default implementation in this class relies on a look-up-table.
Derived classes may redefine this to closed-form expressions, when they
exist.
See full docs in base class
CParameterizedTrajectoryGenerator::inverseMap_WS2TP()
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::inverseMap_WS2TP(double, double, int &, double &, double) const --> bool
- onNewNavDynamicState(...)
- onNewNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> None
This family of PTGs ignores the dynamic states
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::onNewNavDynamicState() --> void
- ptgDiffDriveSteeringFunction(...)
- ptgDiffDriveSteeringFunction(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, alpha: float, t: float, x: float, y: float, phi: float, v: float, w: float) -> None
The main method to be implemented in derived classes: it defines the
differential-driven differential equation
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::ptgDiffDriveSteeringFunction(float, float, float, float, float, float &, float &) const --> void
- setRefDistance(...)
- setRefDistance(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, refDist: float) -> None
Launches an exception in this class: it is not allowed in numerical
integration-based PTGs to change the reference distance
after initialization.
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::setRefDistance(const double) --> void
- updateTPObstacleSingle(...)
- updateTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, ox: float, oy: float, k: int, tp_obstacle_k: float) -> None
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::updateTPObstacleSingle(double, double, uint16_t, double &) const --> void
Methods inherited from CPTG_RobotShape_Polygonal:
- add_robotShape_to_setOfLines(...)
- add_robotShape_to_setOfLines(*args, **kwargs)
Overloaded function.
1. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D) -> None
C++: mrpt::nav::CPTG_RobotShape_Polygonal::add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &) const --> void
- evalClearanceToRobotShape(...)
- evalClearanceToRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, ox: float, oy: float) -> float
C++: mrpt::nav::CPTG_RobotShape_Polygonal::evalClearanceToRobotShape(const double, const double) const --> double
- getMaxRobotRadius(...)
- getMaxRobotRadius(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> float
C++: mrpt::nav::CPTG_RobotShape_Polygonal::getMaxRobotRadius() const --> double
- getRobotShape(...)
- getRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> mrpt.pymrpt.mrpt.math.CPolygon
C++: mrpt::nav::CPTG_RobotShape_Polygonal::getRobotShape() const --> const class mrpt::math::CPolygon &
- isPointInsideRobotShape(...)
- isPointInsideRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, x: float, y: float) -> bool
@}
C++: mrpt::nav::CPTG_RobotShape_Polygonal::isPointInsideRobotShape(const double, const double) const --> bool
- setRobotShape(...)
- setRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, robotShape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
@{ *
Robot shape must be set before initialization, either from ctor params
or via this method.
C++: mrpt::nav::CPTG_RobotShape_Polygonal::setRobotShape(const class mrpt::math::CPolygon &) --> void
Static methods inherited from CPTG_RobotShape_Polygonal:
- static_add_robotShape_to_setOfLines(...) from builtins.PyCapsule
- static_add_robotShape_to_setOfLines(gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D, robotShape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
C++: mrpt::nav::CPTG_RobotShape_Polygonal::static_add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &, const class mrpt::math::CPolygon &) --> void
Methods inherited from CParameterizedTrajectoryGenerator:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CParameterizedTrajectoryGenerator::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- PTG_IsIntoDomain(...)
- PTG_IsIntoDomain(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, x: float, y: float) -> bool
Returns the same than inverseMap_WS2TP() but without any additional
cost. The default implementation
just calls inverseMap_WS2TP() and discards (k,d).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::PTG_IsIntoDomain(double, double) const --> bool
- alpha2index(...)
- alpha2index(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, alpha: float) -> int
Discrete index value for the corresponding alpha value
index2alpha
C++: mrpt::nav::CParameterizedTrajectoryGenerator::alpha2index(double) const --> uint16_t
- debugDumpInFiles(...)
- debugDumpInFiles(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ptg_name: str) -> bool
Dump PTG trajectories in four text files:
`./reactivenav.logs/PTGs/PTG%i_{x,y,phi,d}.txt`
Text files are loadable from MATLAB/Octave, and can be visualized with
the script `[MRPT_DIR]/scripts/viewPTG.m`
The directory "./reactivenav.logs/PTGs" will be created if doesn't
exist.
false on any error writing to disk.
OUTPUT_DEBUG_PATH_PREFIX
C++: mrpt::nav::CParameterizedTrajectoryGenerator::debugDumpInFiles(const std::string &) const --> bool
- deinitialize(...)
- deinitialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
This must be called to de-initialize the PTG if some parameter is to be
changed. After changing it, call initialize again
C++: mrpt::nav::CParameterizedTrajectoryGenerator::deinitialize() --> void
- evalClearanceSingleObstacle(...)
- evalClearanceSingleObstacle(*args, **kwargs)
Overloaded function.
1. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float]) -> None
2. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float], treat_as_obstacle: bool) -> None
Evals the robot clearance for each robot pose along path `k`, for the
real distances in
the key of the map<>, then keep in the map value the minimum of its
current stored clearance,
or the computed clearance. In case of collision, clearance is zero.
true: normal use for obstacles; false: compute
shortest distances to a target point (no collision)
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalClearanceSingleObstacle(const double, const double, const unsigned short, class std::map<double, double> &, bool) const --> void
- evalPathRelativePriority(...)
- evalPathRelativePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, target_distance: float) -> float
Query the PTG for the relative priority factor (0,1) of this PTG, in
comparison to others, if the k-th path is to be selected.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalPathRelativePriority(uint16_t, double) const --> double
- getActualUnloopedPathLength(...)
- getActualUnloopedPathLength(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Returns the actual distance (in meters) of the path, discounting
possible circular loops of the path (e.g. if it comes back to the
origin).
Default: refDistance
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getActualUnloopedPathLength(uint16_t) const --> double
- getAlphaValuesCount(...)
- getAlphaValuesCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getAlphaValuesCount() const --> uint16_t
- getClearanceDecimatedPaths(...)
- getClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceDecimatedPaths() const --> unsigned int
- getClearanceStepCount(...)
- getClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceStepCount() const --> unsigned int
- getCurrentNavDynamicState(...)
- getCurrentNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getCurrentNavDynamicState() const --> const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &
- getDescription(...)
- getDescription(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> str
@{
Gets a short textual description of the PTG and its parameters
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getDescription() const --> std::string
- getPathCount(...)
- getPathCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathCount() const --> uint16_t
- getPathTwist(...)
- getPathTwist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> mrpt::math::TTwist2D
Gets velocity ("twist") for path `k` ([0,N-1]=>[-pi,pi] in alpha),
at vehicle discrete step `step`. The default implementation in this base
class uses numerical differentiation to estimate the twist (vx,vy,omega).
Velocity is given in "global" coordinates, relative to the starting pose
of the robot at t=0 for this PTG path.
getPathStepCount(), getAlphaValuesCount(), getPathPose()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathTwist(uint16_t, uint32_t) const --> struct mrpt::math::TTwist2D
- getRefDistance(...)
- getRefDistance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getRefDistance() const --> double
- getScorePriority(...)
- getScorePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
When used in path planning, a multiplying factor (default=1.0) for the
scores for this PTG. Assign values <1 to PTGs with low priority.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getScorePriority() const --> double
- index2alpha(...)
- index2alpha(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Alpha value for the discrete corresponding value
alpha2index
C++: mrpt::nav::CParameterizedTrajectoryGenerator::index2alpha(uint16_t) const --> double
- initClearanceDiagram(...)
- initClearanceDiagram(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Must be called to resize a CD to its correct size, before calling
updateClearance()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initClearanceDiagram(class mrpt::nav::ClearanceDiagram &) const --> void
- initTPObstacleSingle(...)
- initTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, TP_Obstacle_k: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initTPObstacleSingle(uint16_t, double &) const --> void
- initialize(...)
- initialize(*args, **kwargs)
Overloaded function.
1. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
2. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str) -> None
3. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str, verbose: bool) -> None
Must be called after setting all PTG parameters and before requesting
converting obstacles to TP-Space, inverseMap_WS2TP(), etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initialize(const std::string &, const bool) --> void
- isBijectiveAt(...)
- isBijectiveAt(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> bool
Returns true if a given TP-Space point maps to a unique point in
Workspace, and viceversa. Default implementation returns `true`.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isBijectiveAt(uint16_t, uint32_t) const --> bool
- isInitialized(...)
- isInitialized(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if `initialize()` has been called and there was no errors,
so the PTG is ready to be queried for paths, obstacles, etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isInitialized() const --> bool
- loadDefaultParams(...)
- loadDefaultParams(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
Loads a set of default parameters into the PTG. Users normally will call
`loadFromConfigFile()` instead, this method is provided
exclusively for the PTG-configurator tool.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::loadDefaultParams() --> void
- loadFromConfigFile(...)
- loadFromConfigFile(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
Parameters accepted by this base class:
- `${sKeyPrefix}num_paths`: The number of different paths in this
family (number of discrete `alpha` values).
- `${sKeyPrefix}ref_distance`: The maximum distance in PTGs [meters]
- `${sKeyPrefix}score_priority`: When used in path planning, a
multiplying factor (default=1.0) for the scores for this PTG. Assign
values <1 to PTGs with low priority.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::loadFromConfigFile(const class mrpt::config::CConfigFileBase &, const std::string &) --> void
- maxTimeInVelCmdNOP(...)
- maxTimeInVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, path_k: int) -> float
Only for PTGs supporting supportVelCmdNOP(): this is the maximum time
(in seconds) for which the path
can be followed without re-issuing a new velcmd. Note that this is only
an absolute maximum duration,
navigation implementations will check for many other conditions. Default
method in the base virtual class returns 0.
Queried path `k` index [0,N-1]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::maxTimeInVelCmdNOP(int) const --> double
- renderPathAsSimpleLine(...)
- renderPathAsSimpleLine(*args, **kwargs)
Overloaded function.
1. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float) -> None
3. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float, max_path_distance: float) -> None
Returns the representation of one trajectory of this PTG as a 3D OpenGL
object (a simple curved line).
The 0-based index of the selected trajectory (discrete
"alpha" parameter).
Output object.
Minimum distance between path points (in
meters).
If >=0, cut the path at this distance (in
meters).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::renderPathAsSimpleLine(const unsigned short, class mrpt::opengl::CSetOfLines &, const double, const double) const --> void
- saveToConfigFile(...)
- saveToConfigFile(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::saveToConfigFile(class mrpt::config::CConfigFileBase &, const std::string &) const --> void
- setClearanceDecimatedPaths(...)
- setClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, num: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceDecimatedPaths(const unsigned int) --> void
- setClearanceStepCount(...)
- setClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, res: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceStepCount(const unsigned int) --> void
- setScorePriorty(...)
- setScorePriorty(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, prior: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setScorePriorty(double) --> void
- supportSpeedAtTarget(...)
- supportSpeedAtTarget(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if this PTG takes into account the desired velocity at
target.
updateNavDynamicState()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportSpeedAtTarget() const --> bool
- supportVelCmdNOP(...)
- supportVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if it is possible to stop sending velocity commands to the
robot and, still, the
robot controller will be able to keep following the last sent trajectory
("NOP" velocity commands).
Default implementation returns "false".
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportVelCmdNOP() const --> bool
- updateClearance(...)
- updateClearance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Updates the clearance diagram given one (ox,oy) obstacle point, in
coordinates relative
to the PTG path origin.
The clearance will be updated here.
m_clearance_dist_resolution
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateClearance(const double, const double, class mrpt::nav::ClearanceDiagram &) const --> void
- updateNavDynamicState(...)
- updateNavDynamicState(*args, **kwargs)
Overloaded function.
1. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState) -> None
2. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState, force_update: bool) -> None
To be invoked by the navigator *before* each navigation step, to let the
PTG to react to changing dynamic conditions. *
onNewNavDynamicState(), m_nav_dyn_state
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateNavDynamicState(const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &, const bool) --> void
Static methods inherited from CParameterizedTrajectoryGenerator:
- Alpha2index(...) from builtins.PyCapsule
- Alpha2index(alpha: float, num_paths: int) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Alpha2index(double, const unsigned int) --> uint16_t
- COLLISION_BEHAVIOR(...) from builtins.PyCapsule
- COLLISION_BEHAVIOR() -> mrpt.pymrpt.mrpt.nav.PTG_collision_behavior_t
Defines the behavior when there is an obstacle *inside* the robot shape
right at the beginning of a PTG trajectory.
Default value: COLL_BEH_BACK_AWAY
C++: mrpt::nav::CParameterizedTrajectoryGenerator::COLLISION_BEHAVIOR() --> enum mrpt::nav::PTG_collision_behavior_t &
- CreatePTG(...) from builtins.PyCapsule
- CreatePTG(ptgClassName: str, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str, sKeyPrefix: str) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
The class factory for creating a PTG from a list of parameters in a
section of a given config file (physical file or in memory).
Possible parameters are:
- Those explained in
CParameterizedTrajectoryGenerator::loadFromConfigFile()
- Those explained in the specific PTG being created (see list of
derived classes)
`ptgClassName` can be any PTG class name which has been registered as
any other
mrpt::serialization::CSerializable class.
std::logic_error On invalid or missing parameters.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::CreatePTG(const std::string &, const class mrpt::config::CConfigFileBase &, const std::string &, const std::string &) --> class std::shared_ptr<class mrpt::nav::CParameterizedTrajectoryGenerator>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CParameterizedTrajectoryGenerator::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
- Index2alpha(...) from builtins.PyCapsule
- Index2alpha(k: int, num_paths: int) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Index2alpha(uint16_t, const unsigned int) --> double
- OUTPUT_DEBUG_PATH_PREFIX(...) from builtins.PyCapsule
- OUTPUT_DEBUG_PATH_PREFIX() -> str
The path used as defaul output in, for example, debugDumpInFiles.
(Default="./reactivenav.logs/")
C++: mrpt::nav::CParameterizedTrajectoryGenerator::OUTPUT_DEBUG_PATH_PREFIX() --> std::string &
Data and other attributes inherited from CParameterizedTrajectoryGenerator:
- TNavDynamicState = <class 'mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator.TNavDynamicState'>
- Dynamic state that may affect the PTG path parameterization.
nav_reactive
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Returns a deep copy (clone) of the object, indepently of its class.
C++: mrpt::rtti::CObject::clone() const --> class mrpt::rtti::CObject *
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Methods inherited from mrpt.pymrpt.mrpt.config.CLoadableOptions:
- dumpToConsole(...)
- dumpToConsole(self: mrpt.pymrpt.mrpt.config.CLoadableOptions) -> None
Just like but sending the text to the console
(std::cout)
C++: mrpt::config::CLoadableOptions::dumpToConsole() const --> void
- loadFromConfigFileName(...)
- loadFromConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like loadFromConfigFile, but you can pass directly a file name
and a temporary CConfigFile object will be created automatically to load
the file.
loadFromConfigFile
C++: mrpt::config::CLoadableOptions::loadFromConfigFileName(const std::string &, const std::string &) --> void
- saveToConfigFileName(...)
- saveToConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like saveToConfigFile, but you can pass directly a file name and
a temporary CConfigFile object will be created automatically to save the
file.
saveToConfigFile, loadFromConfigFileName
C++: mrpt::config::CLoadableOptions::saveToConfigFileName(const std::string &, const std::string &) const --> void
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CPTG_DiffDrive_alpha(CPTG_DiffDrive_CollisionGridBased) |
|
The "a(symptotic)-alpha PTG", as named in PTG papers.
- **Compatible kinematics**: differential-driven / Ackermann steering
- **Compatible robot shape**: Arbitrary 2D polygon
- **PTG parameters**: Use the app `ptg-configurator`
This PT generator functions are:
So, the radius of curvature of each trajectory is NOT constant for each
"alpha" value in this PTG:
![C-PTG path examples](PTG2_paths.png)
[Before MRPT 1.5.0 this was named CPTG2] |
|
- Method resolution order:
- CPTG_DiffDrive_alpha
- CPTG_DiffDrive_CollisionGridBased
- CPTG_RobotShape_Polygonal
- CParameterizedTrajectoryGenerator
- mrpt.pymrpt.mrpt.serialization.CSerializable
- mrpt.pymrpt.mrpt.rtti.CObject
- mrpt.pymrpt.mrpt.config.CLoadableOptions
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_alpha) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CPTG_DiffDrive_alpha::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_alpha) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_alpha, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_alpha, : mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_alpha) -> mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_alpha
C++: mrpt::nav::CPTG_DiffDrive_alpha::operator=(const class mrpt::nav::CPTG_DiffDrive_alpha &) --> class mrpt::nav::CPTG_DiffDrive_alpha &
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_alpha) -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CPTG_DiffDrive_alpha::clone() const --> class mrpt::rtti::CObject *
- getDescription(...)
- getDescription(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_alpha) -> str
C++: mrpt::nav::CPTG_DiffDrive_alpha::getDescription() const --> std::string
- loadDefaultParams(...)
- loadDefaultParams(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_alpha) -> None
C++: mrpt::nav::CPTG_DiffDrive_alpha::loadDefaultParams() --> void
- loadFromConfigFile(...)
- loadFromConfigFile(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_alpha, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CPTG_DiffDrive_alpha::loadFromConfigFile(const class mrpt::config::CConfigFileBase &, const std::string &) --> void
- ptgDiffDriveSteeringFunction(...)
- ptgDiffDriveSteeringFunction(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_alpha, alpha: float, t: float, x: float, y: float, phi: float, v: float, w: float) -> None
C++: mrpt::nav::CPTG_DiffDrive_alpha::ptgDiffDriveSteeringFunction(float, float, float, float, float, float &, float &) const --> void
- saveToConfigFile(...)
- saveToConfigFile(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_alpha, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CPTG_DiffDrive_alpha::saveToConfigFile(class mrpt::config::CConfigFileBase &, const std::string &) const --> void
Static methods defined here:
- CreateObject(...) from builtins.PyCapsule
- CreateObject() -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CPTG_DiffDrive_alpha::CreateObject() --> class std::shared_ptr<class mrpt::rtti::CObject>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CPTG_DiffDrive_alpha::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
Methods inherited from CPTG_DiffDrive_CollisionGridBased:
- directionToMotionCommand(...)
- directionToMotionCommand(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
In this class, `out_action_cmd` contains: [0]: linear velocity (m/s),
[1]: angular velocity (rad/s).
See more docs in
CParameterizedTrajectoryGenerator::directionToMotionCommand()
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::directionToMotionCommand(uint16_t) const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- getMaxAngVel(...)
- getMaxAngVel(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMaxAngVel() const --> double
- getMaxLinVel(...)
- getMaxLinVel(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMaxLinVel() const --> double
- getMax_V(...)
- getMax_V(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
@}
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMax_V() const --> double
- getMax_W(...)
- getMax_W(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getMax_W() const --> double
- getPathDist(...)
- getPathDist(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, step: int) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathDist(uint16_t, uint32_t) const --> double
- getPathPose(...)
- getPathPose(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, step: int) -> mrpt.pymrpt.mrpt.math.TPose2D
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathPose(uint16_t, uint32_t) const --> struct mrpt::math::TPose2D
- getPathStepCount(...)
- getPathStepCount(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int) -> int
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepCount(uint16_t) const --> size_t
- getPathStepDuration(...)
- getPathStepDuration(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> float
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepDuration() const --> double
- getPathStepForDist(...)
- getPathStepForDist(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, k: int, dist: float, out_step: int) -> bool
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getPathStepForDist(uint16_t, double, unsigned int &) const --> bool
- getSupportedKinematicVelocityCommand(...)
- getSupportedKinematicVelocityCommand(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::getSupportedKinematicVelocityCommand() const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- inverseMap_WS2TP(...)
- inverseMap_WS2TP(*args, **kwargs)
Overloaded function.
1. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, x: float, y: float, out_k: int, out_d: float) -> bool
2. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, x: float, y: float, out_k: int, out_d: float, tolerance_dist: float) -> bool
The default implementation in this class relies on a look-up-table.
Derived classes may redefine this to closed-form expressions, when they
exist.
See full docs in base class
CParameterizedTrajectoryGenerator::inverseMap_WS2TP()
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::inverseMap_WS2TP(double, double, int &, double &, double) const --> bool
- onNewNavDynamicState(...)
- onNewNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased) -> None
This family of PTGs ignores the dynamic states
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::onNewNavDynamicState() --> void
- setRefDistance(...)
- setRefDistance(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, refDist: float) -> None
Launches an exception in this class: it is not allowed in numerical
integration-based PTGs to change the reference distance
after initialization.
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::setRefDistance(const double) --> void
- updateTPObstacleSingle(...)
- updateTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CPTG_DiffDrive_CollisionGridBased, ox: float, oy: float, k: int, tp_obstacle_k: float) -> None
C++: mrpt::nav::CPTG_DiffDrive_CollisionGridBased::updateTPObstacleSingle(double, double, uint16_t, double &) const --> void
Methods inherited from CPTG_RobotShape_Polygonal:
- add_robotShape_to_setOfLines(...)
- add_robotShape_to_setOfLines(*args, **kwargs)
Overloaded function.
1. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D) -> None
C++: mrpt::nav::CPTG_RobotShape_Polygonal::add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &) const --> void
- evalClearanceToRobotShape(...)
- evalClearanceToRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, ox: float, oy: float) -> float
C++: mrpt::nav::CPTG_RobotShape_Polygonal::evalClearanceToRobotShape(const double, const double) const --> double
- getMaxRobotRadius(...)
- getMaxRobotRadius(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> float
C++: mrpt::nav::CPTG_RobotShape_Polygonal::getMaxRobotRadius() const --> double
- getRobotShape(...)
- getRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> mrpt.pymrpt.mrpt.math.CPolygon
C++: mrpt::nav::CPTG_RobotShape_Polygonal::getRobotShape() const --> const class mrpt::math::CPolygon &
- isPointInsideRobotShape(...)
- isPointInsideRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, x: float, y: float) -> bool
@}
C++: mrpt::nav::CPTG_RobotShape_Polygonal::isPointInsideRobotShape(const double, const double) const --> bool
- setRobotShape(...)
- setRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, robotShape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
@{ *
Robot shape must be set before initialization, either from ctor params
or via this method.
C++: mrpt::nav::CPTG_RobotShape_Polygonal::setRobotShape(const class mrpt::math::CPolygon &) --> void
Static methods inherited from CPTG_RobotShape_Polygonal:
- static_add_robotShape_to_setOfLines(...) from builtins.PyCapsule
- static_add_robotShape_to_setOfLines(gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D, robotShape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
C++: mrpt::nav::CPTG_RobotShape_Polygonal::static_add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &, const class mrpt::math::CPolygon &) --> void
Methods inherited from CParameterizedTrajectoryGenerator:
- PTG_IsIntoDomain(...)
- PTG_IsIntoDomain(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, x: float, y: float) -> bool
Returns the same than inverseMap_WS2TP() but without any additional
cost. The default implementation
just calls inverseMap_WS2TP() and discards (k,d).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::PTG_IsIntoDomain(double, double) const --> bool
- alpha2index(...)
- alpha2index(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, alpha: float) -> int
Discrete index value for the corresponding alpha value
index2alpha
C++: mrpt::nav::CParameterizedTrajectoryGenerator::alpha2index(double) const --> uint16_t
- debugDumpInFiles(...)
- debugDumpInFiles(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ptg_name: str) -> bool
Dump PTG trajectories in four text files:
`./reactivenav.logs/PTGs/PTG%i_{x,y,phi,d}.txt`
Text files are loadable from MATLAB/Octave, and can be visualized with
the script `[MRPT_DIR]/scripts/viewPTG.m`
The directory "./reactivenav.logs/PTGs" will be created if doesn't
exist.
false on any error writing to disk.
OUTPUT_DEBUG_PATH_PREFIX
C++: mrpt::nav::CParameterizedTrajectoryGenerator::debugDumpInFiles(const std::string &) const --> bool
- deinitialize(...)
- deinitialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
This must be called to de-initialize the PTG if some parameter is to be
changed. After changing it, call initialize again
C++: mrpt::nav::CParameterizedTrajectoryGenerator::deinitialize() --> void
- evalClearanceSingleObstacle(...)
- evalClearanceSingleObstacle(*args, **kwargs)
Overloaded function.
1. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float]) -> None
2. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float], treat_as_obstacle: bool) -> None
Evals the robot clearance for each robot pose along path `k`, for the
real distances in
the key of the map<>, then keep in the map value the minimum of its
current stored clearance,
or the computed clearance. In case of collision, clearance is zero.
true: normal use for obstacles; false: compute
shortest distances to a target point (no collision)
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalClearanceSingleObstacle(const double, const double, const unsigned short, class std::map<double, double> &, bool) const --> void
- evalPathRelativePriority(...)
- evalPathRelativePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, target_distance: float) -> float
Query the PTG for the relative priority factor (0,1) of this PTG, in
comparison to others, if the k-th path is to be selected.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalPathRelativePriority(uint16_t, double) const --> double
- getActualUnloopedPathLength(...)
- getActualUnloopedPathLength(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Returns the actual distance (in meters) of the path, discounting
possible circular loops of the path (e.g. if it comes back to the
origin).
Default: refDistance
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getActualUnloopedPathLength(uint16_t) const --> double
- getAlphaValuesCount(...)
- getAlphaValuesCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getAlphaValuesCount() const --> uint16_t
- getClearanceDecimatedPaths(...)
- getClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceDecimatedPaths() const --> unsigned int
- getClearanceStepCount(...)
- getClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceStepCount() const --> unsigned int
- getCurrentNavDynamicState(...)
- getCurrentNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getCurrentNavDynamicState() const --> const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &
- getPathCount(...)
- getPathCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathCount() const --> uint16_t
- getPathTwist(...)
- getPathTwist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> mrpt::math::TTwist2D
Gets velocity ("twist") for path `k` ([0,N-1]=>[-pi,pi] in alpha),
at vehicle discrete step `step`. The default implementation in this base
class uses numerical differentiation to estimate the twist (vx,vy,omega).
Velocity is given in "global" coordinates, relative to the starting pose
of the robot at t=0 for this PTG path.
getPathStepCount(), getAlphaValuesCount(), getPathPose()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathTwist(uint16_t, uint32_t) const --> struct mrpt::math::TTwist2D
- getRefDistance(...)
- getRefDistance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getRefDistance() const --> double
- getScorePriority(...)
- getScorePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
When used in path planning, a multiplying factor (default=1.0) for the
scores for this PTG. Assign values <1 to PTGs with low priority.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getScorePriority() const --> double
- index2alpha(...)
- index2alpha(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Alpha value for the discrete corresponding value
alpha2index
C++: mrpt::nav::CParameterizedTrajectoryGenerator::index2alpha(uint16_t) const --> double
- initClearanceDiagram(...)
- initClearanceDiagram(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Must be called to resize a CD to its correct size, before calling
updateClearance()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initClearanceDiagram(class mrpt::nav::ClearanceDiagram &) const --> void
- initTPObstacleSingle(...)
- initTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, TP_Obstacle_k: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initTPObstacleSingle(uint16_t, double &) const --> void
- initialize(...)
- initialize(*args, **kwargs)
Overloaded function.
1. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
2. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str) -> None
3. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str, verbose: bool) -> None
Must be called after setting all PTG parameters and before requesting
converting obstacles to TP-Space, inverseMap_WS2TP(), etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initialize(const std::string &, const bool) --> void
- isBijectiveAt(...)
- isBijectiveAt(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> bool
Returns true if a given TP-Space point maps to a unique point in
Workspace, and viceversa. Default implementation returns `true`.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isBijectiveAt(uint16_t, uint32_t) const --> bool
- isInitialized(...)
- isInitialized(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if `initialize()` has been called and there was no errors,
so the PTG is ready to be queried for paths, obstacles, etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isInitialized() const --> bool
- maxTimeInVelCmdNOP(...)
- maxTimeInVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, path_k: int) -> float
Only for PTGs supporting supportVelCmdNOP(): this is the maximum time
(in seconds) for which the path
can be followed without re-issuing a new velcmd. Note that this is only
an absolute maximum duration,
navigation implementations will check for many other conditions. Default
method in the base virtual class returns 0.
Queried path `k` index [0,N-1]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::maxTimeInVelCmdNOP(int) const --> double
- renderPathAsSimpleLine(...)
- renderPathAsSimpleLine(*args, **kwargs)
Overloaded function.
1. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float) -> None
3. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float, max_path_distance: float) -> None
Returns the representation of one trajectory of this PTG as a 3D OpenGL
object (a simple curved line).
The 0-based index of the selected trajectory (discrete
"alpha" parameter).
Output object.
Minimum distance between path points (in
meters).
If >=0, cut the path at this distance (in
meters).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::renderPathAsSimpleLine(const unsigned short, class mrpt::opengl::CSetOfLines &, const double, const double) const --> void
- setClearanceDecimatedPaths(...)
- setClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, num: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceDecimatedPaths(const unsigned int) --> void
- setClearanceStepCount(...)
- setClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, res: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceStepCount(const unsigned int) --> void
- setScorePriorty(...)
- setScorePriorty(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, prior: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setScorePriorty(double) --> void
- supportSpeedAtTarget(...)
- supportSpeedAtTarget(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if this PTG takes into account the desired velocity at
target.
updateNavDynamicState()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportSpeedAtTarget() const --> bool
- supportVelCmdNOP(...)
- supportVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if it is possible to stop sending velocity commands to the
robot and, still, the
robot controller will be able to keep following the last sent trajectory
("NOP" velocity commands).
Default implementation returns "false".
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportVelCmdNOP() const --> bool
- updateClearance(...)
- updateClearance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Updates the clearance diagram given one (ox,oy) obstacle point, in
coordinates relative
to the PTG path origin.
The clearance will be updated here.
m_clearance_dist_resolution
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateClearance(const double, const double, class mrpt::nav::ClearanceDiagram &) const --> void
- updateNavDynamicState(...)
- updateNavDynamicState(*args, **kwargs)
Overloaded function.
1. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState) -> None
2. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState, force_update: bool) -> None
To be invoked by the navigator *before* each navigation step, to let the
PTG to react to changing dynamic conditions. *
onNewNavDynamicState(), m_nav_dyn_state
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateNavDynamicState(const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &, const bool) --> void
Static methods inherited from CParameterizedTrajectoryGenerator:
- Alpha2index(...) from builtins.PyCapsule
- Alpha2index(alpha: float, num_paths: int) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Alpha2index(double, const unsigned int) --> uint16_t
- COLLISION_BEHAVIOR(...) from builtins.PyCapsule
- COLLISION_BEHAVIOR() -> mrpt.pymrpt.mrpt.nav.PTG_collision_behavior_t
Defines the behavior when there is an obstacle *inside* the robot shape
right at the beginning of a PTG trajectory.
Default value: COLL_BEH_BACK_AWAY
C++: mrpt::nav::CParameterizedTrajectoryGenerator::COLLISION_BEHAVIOR() --> enum mrpt::nav::PTG_collision_behavior_t &
- CreatePTG(...) from builtins.PyCapsule
- CreatePTG(ptgClassName: str, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str, sKeyPrefix: str) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
The class factory for creating a PTG from a list of parameters in a
section of a given config file (physical file or in memory).
Possible parameters are:
- Those explained in
CParameterizedTrajectoryGenerator::loadFromConfigFile()
- Those explained in the specific PTG being created (see list of
derived classes)
`ptgClassName` can be any PTG class name which has been registered as
any other
mrpt::serialization::CSerializable class.
std::logic_error On invalid or missing parameters.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::CreatePTG(const std::string &, const class mrpt::config::CConfigFileBase &, const std::string &, const std::string &) --> class std::shared_ptr<class mrpt::nav::CParameterizedTrajectoryGenerator>
- Index2alpha(...) from builtins.PyCapsule
- Index2alpha(k: int, num_paths: int) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Index2alpha(uint16_t, const unsigned int) --> double
- OUTPUT_DEBUG_PATH_PREFIX(...) from builtins.PyCapsule
- OUTPUT_DEBUG_PATH_PREFIX() -> str
The path used as defaul output in, for example, debugDumpInFiles.
(Default="./reactivenav.logs/")
C++: mrpt::nav::CParameterizedTrajectoryGenerator::OUTPUT_DEBUG_PATH_PREFIX() --> std::string &
Data and other attributes inherited from CParameterizedTrajectoryGenerator:
- TNavDynamicState = <class 'mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator.TNavDynamicState'>
- Dynamic state that may affect the PTG path parameterization.
nav_reactive
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Methods inherited from mrpt.pymrpt.mrpt.config.CLoadableOptions:
- dumpToConsole(...)
- dumpToConsole(self: mrpt.pymrpt.mrpt.config.CLoadableOptions) -> None
Just like but sending the text to the console
(std::cout)
C++: mrpt::config::CLoadableOptions::dumpToConsole() const --> void
- loadFromConfigFileName(...)
- loadFromConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like loadFromConfigFile, but you can pass directly a file name
and a temporary CConfigFile object will be created automatically to load
the file.
loadFromConfigFile
C++: mrpt::config::CLoadableOptions::loadFromConfigFileName(const std::string &, const std::string &) --> void
- saveToConfigFileName(...)
- saveToConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like saveToConfigFile, but you can pass directly a file name and
a temporary CConfigFile object will be created automatically to save the
file.
saveToConfigFile, loadFromConfigFileName
C++: mrpt::config::CLoadableOptions::saveToConfigFileName(const std::string &, const std::string &) const --> void
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CPTG_Holo_Blend(CPTG_RobotShape_Circular) |
|
A PTG for circular-shaped robots with holonomic kinematics.
- **Compatible kinematics**: Holonomic robot capable of velocity commands
with a linear interpolation ("ramp "or "blending") time. See
mrpt::kinematics::CVehicleSimul_Holo
- **Compatible robot shape**: Circular robots
- **PTG parameters**: Use the app `ptg-configurator` |
|
- Method resolution order:
- CPTG_Holo_Blend
- CPTG_RobotShape_Circular
- CParameterizedTrajectoryGenerator
- mrpt.pymrpt.mrpt.serialization.CSerializable
- mrpt.pymrpt.mrpt.rtti.CObject
- mrpt.pymrpt.mrpt.config.CLoadableOptions
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CPTG_Holo_Blend::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- PTG_IsIntoDomain(...)
- PTG_IsIntoDomain(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, x: float, y: float) -> bool
C++: mrpt::nav::CPTG_Holo_Blend::PTG_IsIntoDomain(double, double) const --> bool
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
3. __init__(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, arg0: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend) -> None
4. __init__(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, arg0: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, : mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend) -> mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend
C++: mrpt::nav::CPTG_Holo_Blend::operator=(const class mrpt::nav::CPTG_Holo_Blend &) --> class mrpt::nav::CPTG_Holo_Blend &
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend) -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CPTG_Holo_Blend::clone() const --> class mrpt::rtti::CObject *
- directionToMotionCommand(...)
- directionToMotionCommand(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, k: int) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
Converts a discretized "alpha" value into a feasible motion command or
action. See derived classes for the meaning of these actions
C++: mrpt::nav::CPTG_Holo_Blend::directionToMotionCommand(uint16_t) const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- getDescription(...)
- getDescription(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend) -> str
C++: mrpt::nav::CPTG_Holo_Blend::getDescription() const --> std::string
- getMaxAngVel(...)
- getMaxAngVel(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend) -> float
C++: mrpt::nav::CPTG_Holo_Blend::getMaxAngVel() const --> double
- getMaxLinVel(...)
- getMaxLinVel(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend) -> float
C++: mrpt::nav::CPTG_Holo_Blend::getMaxLinVel() const --> double
- getPathDist(...)
- getPathDist(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, k: int, step: int) -> float
C++: mrpt::nav::CPTG_Holo_Blend::getPathDist(uint16_t, uint32_t) const --> double
- getPathPose(...)
- getPathPose(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, k: int, step: int) -> mrpt.pymrpt.mrpt.math.TPose2D
C++: mrpt::nav::CPTG_Holo_Blend::getPathPose(uint16_t, uint32_t) const --> struct mrpt::math::TPose2D
- getPathStepCount(...)
- getPathStepCount(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, k: int) -> int
C++: mrpt::nav::CPTG_Holo_Blend::getPathStepCount(uint16_t) const --> size_t
- getPathStepDuration(...)
- getPathStepDuration(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend) -> float
C++: mrpt::nav::CPTG_Holo_Blend::getPathStepDuration() const --> double
- getPathStepForDist(...)
- getPathStepForDist(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, k: int, dist: float, out_step: int) -> bool
C++: mrpt::nav::CPTG_Holo_Blend::getPathStepForDist(uint16_t, double, unsigned int &) const --> bool
- getSupportedKinematicVelocityCommand(...)
- getSupportedKinematicVelocityCommand(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
C++: mrpt::nav::CPTG_Holo_Blend::getSupportedKinematicVelocityCommand() const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- inverseMap_WS2TP(...)
- inverseMap_WS2TP(*args, **kwargs)
Overloaded function.
1. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, x: float, y: float, out_k: int, out_d: float) -> bool
2. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, x: float, y: float, out_k: int, out_d: float, tolerance_dist: float) -> bool
C++: mrpt::nav::CPTG_Holo_Blend::inverseMap_WS2TP(double, double, int &, double &, double) const --> bool
- loadDefaultParams(...)
- loadDefaultParams(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend) -> None
C++: mrpt::nav::CPTG_Holo_Blend::loadDefaultParams() --> void
- loadFromConfigFile(...)
- loadFromConfigFile(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CPTG_Holo_Blend::loadFromConfigFile(const class mrpt::config::CConfigFileBase &, const std::string &) --> void
- maxTimeInVelCmdNOP(...)
- maxTimeInVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, path_k: int) -> float
C++: mrpt::nav::CPTG_Holo_Blend::maxTimeInVelCmdNOP(int) const --> double
- onNewNavDynamicState(...)
- onNewNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend) -> None
C++: mrpt::nav::CPTG_Holo_Blend::onNewNavDynamicState() --> void
- saveToConfigFile(...)
- saveToConfigFile(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CPTG_Holo_Blend::saveToConfigFile(class mrpt::config::CConfigFileBase &, const std::string &) const --> void
- supportVelCmdNOP(...)
- supportVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend) -> bool
C++: mrpt::nav::CPTG_Holo_Blend::supportVelCmdNOP() const --> bool
- updateTPObstacleSingle(...)
- updateTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CPTG_Holo_Blend, ox: float, oy: float, k: int, tp_obstacle_k: float) -> None
C++: mrpt::nav::CPTG_Holo_Blend::updateTPObstacleSingle(double, double, uint16_t, double &) const --> void
Static methods defined here:
- CreateObject(...) from builtins.PyCapsule
- CreateObject() -> mrpt.pymrpt.mrpt.rtti.CObject
C++: mrpt::nav::CPTG_Holo_Blend::CreateObject() --> class std::shared_ptr<class mrpt::rtti::CObject>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CPTG_Holo_Blend::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
- calc_trans_distance_t_below_Tramp(...) from builtins.PyCapsule
- calc_trans_distance_t_below_Tramp(k2: float, k4: float, vxi: float, vyi: float, t: float) -> float
Axiliary function for computing the line-integral distance along the
trajectory, handling special cases of 1/0:
C++: mrpt::nav::CPTG_Holo_Blend::calc_trans_distance_t_below_Tramp(double, double, double, double, double) --> double
- calc_trans_distance_t_below_Tramp_abc(...) from builtins.PyCapsule
- calc_trans_distance_t_below_Tramp_abc(t: float, a: float, b: float, c: float) -> float
Axiliary function for calc_trans_distance_t_below_Tramp() and others
C++: mrpt::nav::CPTG_Holo_Blend::calc_trans_distance_t_below_Tramp_abc(double, double, double, double) --> double
Methods inherited from CPTG_RobotShape_Circular:
- add_robotShape_to_setOfLines(...)
- add_robotShape_to_setOfLines(*args, **kwargs)
Overloaded function.
1. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D) -> None
@}
C++: mrpt::nav::CPTG_RobotShape_Circular::add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &) const --> void
- evalClearanceToRobotShape(...)
- evalClearanceToRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular, ox: float, oy: float) -> float
C++: mrpt::nav::CPTG_RobotShape_Circular::evalClearanceToRobotShape(const double, const double) const --> double
- getMaxRobotRadius(...)
- getMaxRobotRadius(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular) -> float
C++: mrpt::nav::CPTG_RobotShape_Circular::getMaxRobotRadius() const --> double
- getRobotShapeRadius(...)
- getRobotShapeRadius(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular) -> float
C++: mrpt::nav::CPTG_RobotShape_Circular::getRobotShapeRadius() const --> double
- isPointInsideRobotShape(...)
- isPointInsideRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular, x: float, y: float) -> bool
C++: mrpt::nav::CPTG_RobotShape_Circular::isPointInsideRobotShape(const double, const double) const --> bool
- setRobotShapeRadius(...)
- setRobotShapeRadius(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular, robot_radius: float) -> None
@{ *
Robot shape must be set before initialization, either from ctor params
or via this method.
C++: mrpt::nav::CPTG_RobotShape_Circular::setRobotShapeRadius(const double) --> void
Static methods inherited from CPTG_RobotShape_Circular:
- static_add_robotShape_to_setOfLines(...) from builtins.PyCapsule
- static_add_robotShape_to_setOfLines(gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D, robotRadius: float) -> None
C++: mrpt::nav::CPTG_RobotShape_Circular::static_add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &, const double) --> void
Methods inherited from CParameterizedTrajectoryGenerator:
- alpha2index(...)
- alpha2index(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, alpha: float) -> int
Discrete index value for the corresponding alpha value
index2alpha
C++: mrpt::nav::CParameterizedTrajectoryGenerator::alpha2index(double) const --> uint16_t
- debugDumpInFiles(...)
- debugDumpInFiles(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ptg_name: str) -> bool
Dump PTG trajectories in four text files:
`./reactivenav.logs/PTGs/PTG%i_{x,y,phi,d}.txt`
Text files are loadable from MATLAB/Octave, and can be visualized with
the script `[MRPT_DIR]/scripts/viewPTG.m`
The directory "./reactivenav.logs/PTGs" will be created if doesn't
exist.
false on any error writing to disk.
OUTPUT_DEBUG_PATH_PREFIX
C++: mrpt::nav::CParameterizedTrajectoryGenerator::debugDumpInFiles(const std::string &) const --> bool
- deinitialize(...)
- deinitialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
This must be called to de-initialize the PTG if some parameter is to be
changed. After changing it, call initialize again
C++: mrpt::nav::CParameterizedTrajectoryGenerator::deinitialize() --> void
- evalClearanceSingleObstacle(...)
- evalClearanceSingleObstacle(*args, **kwargs)
Overloaded function.
1. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float]) -> None
2. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float], treat_as_obstacle: bool) -> None
Evals the robot clearance for each robot pose along path `k`, for the
real distances in
the key of the map<>, then keep in the map value the minimum of its
current stored clearance,
or the computed clearance. In case of collision, clearance is zero.
true: normal use for obstacles; false: compute
shortest distances to a target point (no collision)
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalClearanceSingleObstacle(const double, const double, const unsigned short, class std::map<double, double> &, bool) const --> void
- evalPathRelativePriority(...)
- evalPathRelativePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, target_distance: float) -> float
Query the PTG for the relative priority factor (0,1) of this PTG, in
comparison to others, if the k-th path is to be selected.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalPathRelativePriority(uint16_t, double) const --> double
- getActualUnloopedPathLength(...)
- getActualUnloopedPathLength(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Returns the actual distance (in meters) of the path, discounting
possible circular loops of the path (e.g. if it comes back to the
origin).
Default: refDistance
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getActualUnloopedPathLength(uint16_t) const --> double
- getAlphaValuesCount(...)
- getAlphaValuesCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getAlphaValuesCount() const --> uint16_t
- getClearanceDecimatedPaths(...)
- getClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceDecimatedPaths() const --> unsigned int
- getClearanceStepCount(...)
- getClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceStepCount() const --> unsigned int
- getCurrentNavDynamicState(...)
- getCurrentNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getCurrentNavDynamicState() const --> const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &
- getPathCount(...)
- getPathCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathCount() const --> uint16_t
- getPathTwist(...)
- getPathTwist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> mrpt::math::TTwist2D
Gets velocity ("twist") for path `k` ([0,N-1]=>[-pi,pi] in alpha),
at vehicle discrete step `step`. The default implementation in this base
class uses numerical differentiation to estimate the twist (vx,vy,omega).
Velocity is given in "global" coordinates, relative to the starting pose
of the robot at t=0 for this PTG path.
getPathStepCount(), getAlphaValuesCount(), getPathPose()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathTwist(uint16_t, uint32_t) const --> struct mrpt::math::TTwist2D
- getRefDistance(...)
- getRefDistance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getRefDistance() const --> double
- getScorePriority(...)
- getScorePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
When used in path planning, a multiplying factor (default=1.0) for the
scores for this PTG. Assign values <1 to PTGs with low priority.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getScorePriority() const --> double
- index2alpha(...)
- index2alpha(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Alpha value for the discrete corresponding value
alpha2index
C++: mrpt::nav::CParameterizedTrajectoryGenerator::index2alpha(uint16_t) const --> double
- initClearanceDiagram(...)
- initClearanceDiagram(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Must be called to resize a CD to its correct size, before calling
updateClearance()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initClearanceDiagram(class mrpt::nav::ClearanceDiagram &) const --> void
- initTPObstacleSingle(...)
- initTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, TP_Obstacle_k: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initTPObstacleSingle(uint16_t, double &) const --> void
- initialize(...)
- initialize(*args, **kwargs)
Overloaded function.
1. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
2. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str) -> None
3. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str, verbose: bool) -> None
Must be called after setting all PTG parameters and before requesting
converting obstacles to TP-Space, inverseMap_WS2TP(), etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initialize(const std::string &, const bool) --> void
- isBijectiveAt(...)
- isBijectiveAt(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> bool
Returns true if a given TP-Space point maps to a unique point in
Workspace, and viceversa. Default implementation returns `true`.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isBijectiveAt(uint16_t, uint32_t) const --> bool
- isInitialized(...)
- isInitialized(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if `initialize()` has been called and there was no errors,
so the PTG is ready to be queried for paths, obstacles, etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isInitialized() const --> bool
- renderPathAsSimpleLine(...)
- renderPathAsSimpleLine(*args, **kwargs)
Overloaded function.
1. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float) -> None
3. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float, max_path_distance: float) -> None
Returns the representation of one trajectory of this PTG as a 3D OpenGL
object (a simple curved line).
The 0-based index of the selected trajectory (discrete
"alpha" parameter).
Output object.
Minimum distance between path points (in
meters).
If >=0, cut the path at this distance (in
meters).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::renderPathAsSimpleLine(const unsigned short, class mrpt::opengl::CSetOfLines &, const double, const double) const --> void
- setClearanceDecimatedPaths(...)
- setClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, num: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceDecimatedPaths(const unsigned int) --> void
- setClearanceStepCount(...)
- setClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, res: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceStepCount(const unsigned int) --> void
- setRefDistance(...)
- setRefDistance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, refDist: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setRefDistance(const double) --> void
- setScorePriorty(...)
- setScorePriorty(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, prior: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setScorePriorty(double) --> void
- supportSpeedAtTarget(...)
- supportSpeedAtTarget(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if this PTG takes into account the desired velocity at
target.
updateNavDynamicState()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportSpeedAtTarget() const --> bool
- updateClearance(...)
- updateClearance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Updates the clearance diagram given one (ox,oy) obstacle point, in
coordinates relative
to the PTG path origin.
The clearance will be updated here.
m_clearance_dist_resolution
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateClearance(const double, const double, class mrpt::nav::ClearanceDiagram &) const --> void
- updateNavDynamicState(...)
- updateNavDynamicState(*args, **kwargs)
Overloaded function.
1. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState) -> None
2. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState, force_update: bool) -> None
To be invoked by the navigator *before* each navigation step, to let the
PTG to react to changing dynamic conditions. *
onNewNavDynamicState(), m_nav_dyn_state
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateNavDynamicState(const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &, const bool) --> void
Static methods inherited from CParameterizedTrajectoryGenerator:
- Alpha2index(...) from builtins.PyCapsule
- Alpha2index(alpha: float, num_paths: int) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Alpha2index(double, const unsigned int) --> uint16_t
- COLLISION_BEHAVIOR(...) from builtins.PyCapsule
- COLLISION_BEHAVIOR() -> mrpt.pymrpt.mrpt.nav.PTG_collision_behavior_t
Defines the behavior when there is an obstacle *inside* the robot shape
right at the beginning of a PTG trajectory.
Default value: COLL_BEH_BACK_AWAY
C++: mrpt::nav::CParameterizedTrajectoryGenerator::COLLISION_BEHAVIOR() --> enum mrpt::nav::PTG_collision_behavior_t &
- CreatePTG(...) from builtins.PyCapsule
- CreatePTG(ptgClassName: str, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str, sKeyPrefix: str) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
The class factory for creating a PTG from a list of parameters in a
section of a given config file (physical file or in memory).
Possible parameters are:
- Those explained in
CParameterizedTrajectoryGenerator::loadFromConfigFile()
- Those explained in the specific PTG being created (see list of
derived classes)
`ptgClassName` can be any PTG class name which has been registered as
any other
mrpt::serialization::CSerializable class.
std::logic_error On invalid or missing parameters.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::CreatePTG(const std::string &, const class mrpt::config::CConfigFileBase &, const std::string &, const std::string &) --> class std::shared_ptr<class mrpt::nav::CParameterizedTrajectoryGenerator>
- Index2alpha(...) from builtins.PyCapsule
- Index2alpha(k: int, num_paths: int) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Index2alpha(uint16_t, const unsigned int) --> double
- OUTPUT_DEBUG_PATH_PREFIX(...) from builtins.PyCapsule
- OUTPUT_DEBUG_PATH_PREFIX() -> str
The path used as defaul output in, for example, debugDumpInFiles.
(Default="./reactivenav.logs/")
C++: mrpt::nav::CParameterizedTrajectoryGenerator::OUTPUT_DEBUG_PATH_PREFIX() --> std::string &
Data and other attributes inherited from CParameterizedTrajectoryGenerator:
- TNavDynamicState = <class 'mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator.TNavDynamicState'>
- Dynamic state that may affect the PTG path parameterization.
nav_reactive
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Methods inherited from mrpt.pymrpt.mrpt.config.CLoadableOptions:
- dumpToConsole(...)
- dumpToConsole(self: mrpt.pymrpt.mrpt.config.CLoadableOptions) -> None
Just like but sending the text to the console
(std::cout)
C++: mrpt::config::CLoadableOptions::dumpToConsole() const --> void
- loadFromConfigFileName(...)
- loadFromConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like loadFromConfigFile, but you can pass directly a file name
and a temporary CConfigFile object will be created automatically to load
the file.
loadFromConfigFile
C++: mrpt::config::CLoadableOptions::loadFromConfigFileName(const std::string &, const std::string &) --> void
- saveToConfigFileName(...)
- saveToConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like saveToConfigFile, but you can pass directly a file name and
a temporary CConfigFile object will be created automatically to save the
file.
saveToConfigFile, loadFromConfigFileName
C++: mrpt::config::CLoadableOptions::saveToConfigFileName(const std::string &, const std::string &) const --> void
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CPTG_RobotShape_Circular(CParameterizedTrajectoryGenerator) |
|
Base class for all PTGs using a 2D circular robot shape model. |
|
- Method resolution order:
- CPTG_RobotShape_Circular
- CParameterizedTrajectoryGenerator
- mrpt.pymrpt.mrpt.serialization.CSerializable
- mrpt.pymrpt.mrpt.rtti.CObject
- mrpt.pymrpt.mrpt.config.CLoadableOptions
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(self, /, *args, **kwargs)
- Initialize self. See help(type(self)) for accurate signature.
- add_robotShape_to_setOfLines(...)
- add_robotShape_to_setOfLines(*args, **kwargs)
Overloaded function.
1. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D) -> None
@}
C++: mrpt::nav::CPTG_RobotShape_Circular::add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &) const --> void
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular, : mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular) -> mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular
C++: mrpt::nav::CPTG_RobotShape_Circular::operator=(const class mrpt::nav::CPTG_RobotShape_Circular &) --> class mrpt::nav::CPTG_RobotShape_Circular &
- evalClearanceToRobotShape(...)
- evalClearanceToRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular, ox: float, oy: float) -> float
C++: mrpt::nav::CPTG_RobotShape_Circular::evalClearanceToRobotShape(const double, const double) const --> double
- getMaxRobotRadius(...)
- getMaxRobotRadius(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular) -> float
C++: mrpt::nav::CPTG_RobotShape_Circular::getMaxRobotRadius() const --> double
- getRobotShapeRadius(...)
- getRobotShapeRadius(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular) -> float
C++: mrpt::nav::CPTG_RobotShape_Circular::getRobotShapeRadius() const --> double
- isPointInsideRobotShape(...)
- isPointInsideRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular, x: float, y: float) -> bool
C++: mrpt::nav::CPTG_RobotShape_Circular::isPointInsideRobotShape(const double, const double) const --> bool
- setRobotShapeRadius(...)
- setRobotShapeRadius(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Circular, robot_radius: float) -> None
@{ *
Robot shape must be set before initialization, either from ctor params
or via this method.
C++: mrpt::nav::CPTG_RobotShape_Circular::setRobotShapeRadius(const double) --> void
Static methods defined here:
- static_add_robotShape_to_setOfLines(...) from builtins.PyCapsule
- static_add_robotShape_to_setOfLines(gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D, robotRadius: float) -> None
C++: mrpt::nav::CPTG_RobotShape_Circular::static_add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &, const double) --> void
Methods inherited from CParameterizedTrajectoryGenerator:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CParameterizedTrajectoryGenerator::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- PTG_IsIntoDomain(...)
- PTG_IsIntoDomain(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, x: float, y: float) -> bool
Returns the same than inverseMap_WS2TP() but without any additional
cost. The default implementation
just calls inverseMap_WS2TP() and discards (k,d).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::PTG_IsIntoDomain(double, double) const --> bool
- alpha2index(...)
- alpha2index(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, alpha: float) -> int
Discrete index value for the corresponding alpha value
index2alpha
C++: mrpt::nav::CParameterizedTrajectoryGenerator::alpha2index(double) const --> uint16_t
- debugDumpInFiles(...)
- debugDumpInFiles(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ptg_name: str) -> bool
Dump PTG trajectories in four text files:
`./reactivenav.logs/PTGs/PTG%i_{x,y,phi,d}.txt`
Text files are loadable from MATLAB/Octave, and can be visualized with
the script `[MRPT_DIR]/scripts/viewPTG.m`
The directory "./reactivenav.logs/PTGs" will be created if doesn't
exist.
false on any error writing to disk.
OUTPUT_DEBUG_PATH_PREFIX
C++: mrpt::nav::CParameterizedTrajectoryGenerator::debugDumpInFiles(const std::string &) const --> bool
- deinitialize(...)
- deinitialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
This must be called to de-initialize the PTG if some parameter is to be
changed. After changing it, call initialize again
C++: mrpt::nav::CParameterizedTrajectoryGenerator::deinitialize() --> void
- directionToMotionCommand(...)
- directionToMotionCommand(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
Converts a discretized "alpha" value into a feasible motion command or
action. See derived classes for the meaning of these actions
C++: mrpt::nav::CParameterizedTrajectoryGenerator::directionToMotionCommand(uint16_t) const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- evalClearanceSingleObstacle(...)
- evalClearanceSingleObstacle(*args, **kwargs)
Overloaded function.
1. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float]) -> None
2. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float], treat_as_obstacle: bool) -> None
Evals the robot clearance for each robot pose along path `k`, for the
real distances in
the key of the map<>, then keep in the map value the minimum of its
current stored clearance,
or the computed clearance. In case of collision, clearance is zero.
true: normal use for obstacles; false: compute
shortest distances to a target point (no collision)
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalClearanceSingleObstacle(const double, const double, const unsigned short, class std::map<double, double> &, bool) const --> void
- evalPathRelativePriority(...)
- evalPathRelativePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, target_distance: float) -> float
Query the PTG for the relative priority factor (0,1) of this PTG, in
comparison to others, if the k-th path is to be selected.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalPathRelativePriority(uint16_t, double) const --> double
- getActualUnloopedPathLength(...)
- getActualUnloopedPathLength(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Returns the actual distance (in meters) of the path, discounting
possible circular loops of the path (e.g. if it comes back to the
origin).
Default: refDistance
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getActualUnloopedPathLength(uint16_t) const --> double
- getAlphaValuesCount(...)
- getAlphaValuesCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getAlphaValuesCount() const --> uint16_t
- getClearanceDecimatedPaths(...)
- getClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceDecimatedPaths() const --> unsigned int
- getClearanceStepCount(...)
- getClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceStepCount() const --> unsigned int
- getCurrentNavDynamicState(...)
- getCurrentNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getCurrentNavDynamicState() const --> const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &
- getDescription(...)
- getDescription(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> str
@{
Gets a short textual description of the PTG and its parameters
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getDescription() const --> std::string
- getMaxAngVel(...)
- getMaxAngVel(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
Returns the maximum angular velocity expected from this PTG [rad/s]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getMaxAngVel() const --> double
- getMaxLinVel(...)
- getMaxLinVel(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
Returns the maximum linear velocity expected from this PTG [m/s]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getMaxLinVel() const --> double
- getPathCount(...)
- getPathCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathCount() const --> uint16_t
- getPathDist(...)
- getPathDist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> float
Access path `k` ([0,N-1]=>[-pi,pi] in alpha): traversed distance at
discrete step `step`.
Distance in pseudometers (real distance, NOT normalized to [0,1]
for [0,refDist])
getPathStepCount(), getAlphaValuesCount()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathDist(uint16_t, uint32_t) const --> double
- getPathPose(...)
- getPathPose(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> mrpt.pymrpt.mrpt.math.TPose2D
Access path `k` ([0,N-1]=>[-pi,pi] in alpha): pose of the vehicle at
discrete step `step`.
getPathStepCount(), getAlphaValuesCount(), getPathTwist()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathPose(uint16_t, uint32_t) const --> struct mrpt::math::TPose2D
- getPathStepCount(...)
- getPathStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> int
Access path `k` ([0,N-1]=>[-pi,pi] in alpha): number of discrete "steps"
along the trajectory.
May be actual steps from a numerical integration or an arbitrary small
length for analytical PTGs.
getAlphaValuesCount()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathStepCount(uint16_t) const --> size_t
- getPathStepDuration(...)
- getPathStepDuration(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
Returns the duration (in seconds) of each "step"
getPathStepCount()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathStepDuration() const --> double
- getPathStepForDist(...)
- getPathStepForDist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, dist: float, out_step: int) -> bool
Access path `k` ([0,N-1]=>[-pi,pi] in alpha): largest step count for
which the traversed distance is < `dist`
Distance in pseudometers (real distance, NOT normalized
to [0,1] for [0,refDist])
false if no step fulfills the condition for the given trajectory
`k` (e.g. out of reference distance).
Note that, anyway, the maximum distance (closest point) is returned in
`out_step`.
getPathStepCount(), getAlphaValuesCount()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathStepForDist(uint16_t, double, unsigned int &) const --> bool
- getPathTwist(...)
- getPathTwist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> mrpt::math::TTwist2D
Gets velocity ("twist") for path `k` ([0,N-1]=>[-pi,pi] in alpha),
at vehicle discrete step `step`. The default implementation in this base
class uses numerical differentiation to estimate the twist (vx,vy,omega).
Velocity is given in "global" coordinates, relative to the starting pose
of the robot at t=0 for this PTG path.
getPathStepCount(), getAlphaValuesCount(), getPathPose()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathTwist(uint16_t, uint32_t) const --> struct mrpt::math::TTwist2D
- getRefDistance(...)
- getRefDistance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getRefDistance() const --> double
- getScorePriority(...)
- getScorePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
When used in path planning, a multiplying factor (default=1.0) for the
scores for this PTG. Assign values <1 to PTGs with low priority.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getScorePriority() const --> double
- getSupportedKinematicVelocityCommand(...)
- getSupportedKinematicVelocityCommand(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
Returns an empty kinematic velocity command object of the type supported
by this PTG.
Can be queried to determine the expected kinematic interface of the PTG.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getSupportedKinematicVelocityCommand() const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- index2alpha(...)
- index2alpha(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Alpha value for the discrete corresponding value
alpha2index
C++: mrpt::nav::CParameterizedTrajectoryGenerator::index2alpha(uint16_t) const --> double
- initClearanceDiagram(...)
- initClearanceDiagram(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Must be called to resize a CD to its correct size, before calling
updateClearance()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initClearanceDiagram(class mrpt::nav::ClearanceDiagram &) const --> void
- initTPObstacleSingle(...)
- initTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, TP_Obstacle_k: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initTPObstacleSingle(uint16_t, double &) const --> void
- initialize(...)
- initialize(*args, **kwargs)
Overloaded function.
1. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
2. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str) -> None
3. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str, verbose: bool) -> None
Must be called after setting all PTG parameters and before requesting
converting obstacles to TP-Space, inverseMap_WS2TP(), etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initialize(const std::string &, const bool) --> void
- inverseMap_WS2TP(...)
- inverseMap_WS2TP(*args, **kwargs)
Overloaded function.
1. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, x: float, y: float, out_k: int, out_normalized_d: float) -> bool
2. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, x: float, y: float, out_k: int, out_normalized_d: float, tolerance_dist: float) -> bool
Computes the closest (alpha,d) TP coordinates of the trajectory point
closest to the Workspace (WS)
Cartesian coordinates (x,y), relative to the current robot frame.
X coordinate of the query point, relative to the robot
frame.
Y coordinate of the query point, relative to the robot
frame.
Trajectory parameter index (discretized alpha value,
0-based index).
Trajectory distance, normalized such that D_max
becomes 1.
true if the distance between (x,y) and the actual trajectory
point is below the given tolerance (in meters).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::inverseMap_WS2TP(double, double, int &, double &, double) const --> bool
- isBijectiveAt(...)
- isBijectiveAt(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> bool
Returns true if a given TP-Space point maps to a unique point in
Workspace, and viceversa. Default implementation returns `true`.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isBijectiveAt(uint16_t, uint32_t) const --> bool
- isInitialized(...)
- isInitialized(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if `initialize()` has been called and there was no errors,
so the PTG is ready to be queried for paths, obstacles, etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isInitialized() const --> bool
- loadDefaultParams(...)
- loadDefaultParams(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
Loads a set of default parameters into the PTG. Users normally will call
`loadFromConfigFile()` instead, this method is provided
exclusively for the PTG-configurator tool.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::loadDefaultParams() --> void
- loadFromConfigFile(...)
- loadFromConfigFile(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
Parameters accepted by this base class:
- `${sKeyPrefix}num_paths`: The number of different paths in this
family (number of discrete `alpha` values).
- `${sKeyPrefix}ref_distance`: The maximum distance in PTGs [meters]
- `${sKeyPrefix}score_priority`: When used in path planning, a
multiplying factor (default=1.0) for the scores for this PTG. Assign
values <1 to PTGs with low priority.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::loadFromConfigFile(const class mrpt::config::CConfigFileBase &, const std::string &) --> void
- maxTimeInVelCmdNOP(...)
- maxTimeInVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, path_k: int) -> float
Only for PTGs supporting supportVelCmdNOP(): this is the maximum time
(in seconds) for which the path
can be followed without re-issuing a new velcmd. Note that this is only
an absolute maximum duration,
navigation implementations will check for many other conditions. Default
method in the base virtual class returns 0.
Queried path `k` index [0,N-1]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::maxTimeInVelCmdNOP(int) const --> double
- renderPathAsSimpleLine(...)
- renderPathAsSimpleLine(*args, **kwargs)
Overloaded function.
1. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float) -> None
3. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float, max_path_distance: float) -> None
Returns the representation of one trajectory of this PTG as a 3D OpenGL
object (a simple curved line).
The 0-based index of the selected trajectory (discrete
"alpha" parameter).
Output object.
Minimum distance between path points (in
meters).
If >=0, cut the path at this distance (in
meters).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::renderPathAsSimpleLine(const unsigned short, class mrpt::opengl::CSetOfLines &, const double, const double) const --> void
- saveToConfigFile(...)
- saveToConfigFile(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::saveToConfigFile(class mrpt::config::CConfigFileBase &, const std::string &) const --> void
- setClearanceDecimatedPaths(...)
- setClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, num: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceDecimatedPaths(const unsigned int) --> void
- setClearanceStepCount(...)
- setClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, res: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceStepCount(const unsigned int) --> void
- setRefDistance(...)
- setRefDistance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, refDist: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setRefDistance(const double) --> void
- setScorePriorty(...)
- setScorePriorty(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, prior: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setScorePriorty(double) --> void
- supportSpeedAtTarget(...)
- supportSpeedAtTarget(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if this PTG takes into account the desired velocity at
target.
updateNavDynamicState()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportSpeedAtTarget() const --> bool
- supportVelCmdNOP(...)
- supportVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if it is possible to stop sending velocity commands to the
robot and, still, the
robot controller will be able to keep following the last sent trajectory
("NOP" velocity commands).
Default implementation returns "false".
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportVelCmdNOP() const --> bool
- updateClearance(...)
- updateClearance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Updates the clearance diagram given one (ox,oy) obstacle point, in
coordinates relative
to the PTG path origin.
The clearance will be updated here.
m_clearance_dist_resolution
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateClearance(const double, const double, class mrpt::nav::ClearanceDiagram &) const --> void
- updateNavDynamicState(...)
- updateNavDynamicState(*args, **kwargs)
Overloaded function.
1. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState) -> None
2. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState, force_update: bool) -> None
To be invoked by the navigator *before* each navigation step, to let the
PTG to react to changing dynamic conditions. *
onNewNavDynamicState(), m_nav_dyn_state
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateNavDynamicState(const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &, const bool) --> void
- updateTPObstacleSingle(...)
- updateTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, tp_obstacle_k: float) -> None
Like updateTPObstacle() but for one direction only (`k`) in TP-Space.
`tp_obstacle_k` must be initialized with initTPObstacleSingle() before
call (collision-free ranges, in "pseudometers", un-normalized).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateTPObstacleSingle(double, double, uint16_t, double &) const --> void
Static methods inherited from CParameterizedTrajectoryGenerator:
- Alpha2index(...) from builtins.PyCapsule
- Alpha2index(alpha: float, num_paths: int) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Alpha2index(double, const unsigned int) --> uint16_t
- COLLISION_BEHAVIOR(...) from builtins.PyCapsule
- COLLISION_BEHAVIOR() -> mrpt.pymrpt.mrpt.nav.PTG_collision_behavior_t
Defines the behavior when there is an obstacle *inside* the robot shape
right at the beginning of a PTG trajectory.
Default value: COLL_BEH_BACK_AWAY
C++: mrpt::nav::CParameterizedTrajectoryGenerator::COLLISION_BEHAVIOR() --> enum mrpt::nav::PTG_collision_behavior_t &
- CreatePTG(...) from builtins.PyCapsule
- CreatePTG(ptgClassName: str, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str, sKeyPrefix: str) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
The class factory for creating a PTG from a list of parameters in a
section of a given config file (physical file or in memory).
Possible parameters are:
- Those explained in
CParameterizedTrajectoryGenerator::loadFromConfigFile()
- Those explained in the specific PTG being created (see list of
derived classes)
`ptgClassName` can be any PTG class name which has been registered as
any other
mrpt::serialization::CSerializable class.
std::logic_error On invalid or missing parameters.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::CreatePTG(const std::string &, const class mrpt::config::CConfigFileBase &, const std::string &, const std::string &) --> class std::shared_ptr<class mrpt::nav::CParameterizedTrajectoryGenerator>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CParameterizedTrajectoryGenerator::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
- Index2alpha(...) from builtins.PyCapsule
- Index2alpha(k: int, num_paths: int) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Index2alpha(uint16_t, const unsigned int) --> double
- OUTPUT_DEBUG_PATH_PREFIX(...) from builtins.PyCapsule
- OUTPUT_DEBUG_PATH_PREFIX() -> str
The path used as defaul output in, for example, debugDumpInFiles.
(Default="./reactivenav.logs/")
C++: mrpt::nav::CParameterizedTrajectoryGenerator::OUTPUT_DEBUG_PATH_PREFIX() --> std::string &
Data and other attributes inherited from CParameterizedTrajectoryGenerator:
- TNavDynamicState = <class 'mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator.TNavDynamicState'>
- Dynamic state that may affect the PTG path parameterization.
nav_reactive
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Returns a deep copy (clone) of the object, indepently of its class.
C++: mrpt::rtti::CObject::clone() const --> class mrpt::rtti::CObject *
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Methods inherited from mrpt.pymrpt.mrpt.config.CLoadableOptions:
- dumpToConsole(...)
- dumpToConsole(self: mrpt.pymrpt.mrpt.config.CLoadableOptions) -> None
Just like but sending the text to the console
(std::cout)
C++: mrpt::config::CLoadableOptions::dumpToConsole() const --> void
- loadFromConfigFileName(...)
- loadFromConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like loadFromConfigFile, but you can pass directly a file name
and a temporary CConfigFile object will be created automatically to load
the file.
loadFromConfigFile
C++: mrpt::config::CLoadableOptions::loadFromConfigFileName(const std::string &, const std::string &) --> void
- saveToConfigFileName(...)
- saveToConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like saveToConfigFile, but you can pass directly a file name and
a temporary CConfigFile object will be created automatically to save the
file.
saveToConfigFile, loadFromConfigFileName
C++: mrpt::config::CLoadableOptions::saveToConfigFileName(const std::string &, const std::string &) const --> void
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CPTG_RobotShape_Polygonal(CParameterizedTrajectoryGenerator) |
|
Base class for all PTGs using a 2D polygonal robot shape model. |
|
- Method resolution order:
- CPTG_RobotShape_Polygonal
- CParameterizedTrajectoryGenerator
- mrpt.pymrpt.mrpt.serialization.CSerializable
- mrpt.pymrpt.mrpt.rtti.CObject
- mrpt.pymrpt.mrpt.config.CLoadableOptions
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(self, /, *args, **kwargs)
- Initialize self. See help(type(self)) for accurate signature.
- add_robotShape_to_setOfLines(...)
- add_robotShape_to_setOfLines(*args, **kwargs)
Overloaded function.
1. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D) -> None
C++: mrpt::nav::CPTG_RobotShape_Polygonal::add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &) const --> void
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, : mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal
C++: mrpt::nav::CPTG_RobotShape_Polygonal::operator=(const class mrpt::nav::CPTG_RobotShape_Polygonal &) --> class mrpt::nav::CPTG_RobotShape_Polygonal &
- evalClearanceToRobotShape(...)
- evalClearanceToRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, ox: float, oy: float) -> float
C++: mrpt::nav::CPTG_RobotShape_Polygonal::evalClearanceToRobotShape(const double, const double) const --> double
- getMaxRobotRadius(...)
- getMaxRobotRadius(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> float
C++: mrpt::nav::CPTG_RobotShape_Polygonal::getMaxRobotRadius() const --> double
- getRobotShape(...)
- getRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal) -> mrpt.pymrpt.mrpt.math.CPolygon
C++: mrpt::nav::CPTG_RobotShape_Polygonal::getRobotShape() const --> const class mrpt::math::CPolygon &
- isPointInsideRobotShape(...)
- isPointInsideRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, x: float, y: float) -> bool
@}
C++: mrpt::nav::CPTG_RobotShape_Polygonal::isPointInsideRobotShape(const double, const double) const --> bool
- setRobotShape(...)
- setRobotShape(self: mrpt.pymrpt.mrpt.nav.CPTG_RobotShape_Polygonal, robotShape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
@{ *
Robot shape must be set before initialization, either from ctor params
or via this method.
C++: mrpt::nav::CPTG_RobotShape_Polygonal::setRobotShape(const class mrpt::math::CPolygon &) --> void
Static methods defined here:
- static_add_robotShape_to_setOfLines(...) from builtins.PyCapsule
- static_add_robotShape_to_setOfLines(gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D, robotShape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
C++: mrpt::nav::CPTG_RobotShape_Polygonal::static_add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &, const class mrpt::math::CPolygon &) --> void
Methods inherited from CParameterizedTrajectoryGenerator:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CParameterizedTrajectoryGenerator::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- PTG_IsIntoDomain(...)
- PTG_IsIntoDomain(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, x: float, y: float) -> bool
Returns the same than inverseMap_WS2TP() but without any additional
cost. The default implementation
just calls inverseMap_WS2TP() and discards (k,d).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::PTG_IsIntoDomain(double, double) const --> bool
- alpha2index(...)
- alpha2index(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, alpha: float) -> int
Discrete index value for the corresponding alpha value
index2alpha
C++: mrpt::nav::CParameterizedTrajectoryGenerator::alpha2index(double) const --> uint16_t
- debugDumpInFiles(...)
- debugDumpInFiles(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ptg_name: str) -> bool
Dump PTG trajectories in four text files:
`./reactivenav.logs/PTGs/PTG%i_{x,y,phi,d}.txt`
Text files are loadable from MATLAB/Octave, and can be visualized with
the script `[MRPT_DIR]/scripts/viewPTG.m`
The directory "./reactivenav.logs/PTGs" will be created if doesn't
exist.
false on any error writing to disk.
OUTPUT_DEBUG_PATH_PREFIX
C++: mrpt::nav::CParameterizedTrajectoryGenerator::debugDumpInFiles(const std::string &) const --> bool
- deinitialize(...)
- deinitialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
This must be called to de-initialize the PTG if some parameter is to be
changed. After changing it, call initialize again
C++: mrpt::nav::CParameterizedTrajectoryGenerator::deinitialize() --> void
- directionToMotionCommand(...)
- directionToMotionCommand(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
Converts a discretized "alpha" value into a feasible motion command or
action. See derived classes for the meaning of these actions
C++: mrpt::nav::CParameterizedTrajectoryGenerator::directionToMotionCommand(uint16_t) const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- evalClearanceSingleObstacle(...)
- evalClearanceSingleObstacle(*args, **kwargs)
Overloaded function.
1. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float]) -> None
2. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float], treat_as_obstacle: bool) -> None
Evals the robot clearance for each robot pose along path `k`, for the
real distances in
the key of the map<>, then keep in the map value the minimum of its
current stored clearance,
or the computed clearance. In case of collision, clearance is zero.
true: normal use for obstacles; false: compute
shortest distances to a target point (no collision)
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalClearanceSingleObstacle(const double, const double, const unsigned short, class std::map<double, double> &, bool) const --> void
- evalPathRelativePriority(...)
- evalPathRelativePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, target_distance: float) -> float
Query the PTG for the relative priority factor (0,1) of this PTG, in
comparison to others, if the k-th path is to be selected.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalPathRelativePriority(uint16_t, double) const --> double
- getActualUnloopedPathLength(...)
- getActualUnloopedPathLength(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Returns the actual distance (in meters) of the path, discounting
possible circular loops of the path (e.g. if it comes back to the
origin).
Default: refDistance
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getActualUnloopedPathLength(uint16_t) const --> double
- getAlphaValuesCount(...)
- getAlphaValuesCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getAlphaValuesCount() const --> uint16_t
- getClearanceDecimatedPaths(...)
- getClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceDecimatedPaths() const --> unsigned int
- getClearanceStepCount(...)
- getClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceStepCount() const --> unsigned int
- getCurrentNavDynamicState(...)
- getCurrentNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getCurrentNavDynamicState() const --> const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &
- getDescription(...)
- getDescription(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> str
@{
Gets a short textual description of the PTG and its parameters
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getDescription() const --> std::string
- getMaxAngVel(...)
- getMaxAngVel(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
Returns the maximum angular velocity expected from this PTG [rad/s]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getMaxAngVel() const --> double
- getMaxLinVel(...)
- getMaxLinVel(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
Returns the maximum linear velocity expected from this PTG [m/s]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getMaxLinVel() const --> double
- getPathCount(...)
- getPathCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathCount() const --> uint16_t
- getPathDist(...)
- getPathDist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> float
Access path `k` ([0,N-1]=>[-pi,pi] in alpha): traversed distance at
discrete step `step`.
Distance in pseudometers (real distance, NOT normalized to [0,1]
for [0,refDist])
getPathStepCount(), getAlphaValuesCount()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathDist(uint16_t, uint32_t) const --> double
- getPathPose(...)
- getPathPose(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> mrpt.pymrpt.mrpt.math.TPose2D
Access path `k` ([0,N-1]=>[-pi,pi] in alpha): pose of the vehicle at
discrete step `step`.
getPathStepCount(), getAlphaValuesCount(), getPathTwist()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathPose(uint16_t, uint32_t) const --> struct mrpt::math::TPose2D
- getPathStepCount(...)
- getPathStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> int
Access path `k` ([0,N-1]=>[-pi,pi] in alpha): number of discrete "steps"
along the trajectory.
May be actual steps from a numerical integration or an arbitrary small
length for analytical PTGs.
getAlphaValuesCount()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathStepCount(uint16_t) const --> size_t
- getPathStepDuration(...)
- getPathStepDuration(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
Returns the duration (in seconds) of each "step"
getPathStepCount()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathStepDuration() const --> double
- getPathStepForDist(...)
- getPathStepForDist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, dist: float, out_step: int) -> bool
Access path `k` ([0,N-1]=>[-pi,pi] in alpha): largest step count for
which the traversed distance is < `dist`
Distance in pseudometers (real distance, NOT normalized
to [0,1] for [0,refDist])
false if no step fulfills the condition for the given trajectory
`k` (e.g. out of reference distance).
Note that, anyway, the maximum distance (closest point) is returned in
`out_step`.
getPathStepCount(), getAlphaValuesCount()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathStepForDist(uint16_t, double, unsigned int &) const --> bool
- getPathTwist(...)
- getPathTwist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> mrpt::math::TTwist2D
Gets velocity ("twist") for path `k` ([0,N-1]=>[-pi,pi] in alpha),
at vehicle discrete step `step`. The default implementation in this base
class uses numerical differentiation to estimate the twist (vx,vy,omega).
Velocity is given in "global" coordinates, relative to the starting pose
of the robot at t=0 for this PTG path.
getPathStepCount(), getAlphaValuesCount(), getPathPose()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathTwist(uint16_t, uint32_t) const --> struct mrpt::math::TTwist2D
- getRefDistance(...)
- getRefDistance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getRefDistance() const --> double
- getScorePriority(...)
- getScorePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
When used in path planning, a multiplying factor (default=1.0) for the
scores for this PTG. Assign values <1 to PTGs with low priority.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getScorePriority() const --> double
- getSupportedKinematicVelocityCommand(...)
- getSupportedKinematicVelocityCommand(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
Returns an empty kinematic velocity command object of the type supported
by this PTG.
Can be queried to determine the expected kinematic interface of the PTG.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getSupportedKinematicVelocityCommand() const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- index2alpha(...)
- index2alpha(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Alpha value for the discrete corresponding value
alpha2index
C++: mrpt::nav::CParameterizedTrajectoryGenerator::index2alpha(uint16_t) const --> double
- initClearanceDiagram(...)
- initClearanceDiagram(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Must be called to resize a CD to its correct size, before calling
updateClearance()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initClearanceDiagram(class mrpt::nav::ClearanceDiagram &) const --> void
- initTPObstacleSingle(...)
- initTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, TP_Obstacle_k: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initTPObstacleSingle(uint16_t, double &) const --> void
- initialize(...)
- initialize(*args, **kwargs)
Overloaded function.
1. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
2. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str) -> None
3. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str, verbose: bool) -> None
Must be called after setting all PTG parameters and before requesting
converting obstacles to TP-Space, inverseMap_WS2TP(), etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initialize(const std::string &, const bool) --> void
- inverseMap_WS2TP(...)
- inverseMap_WS2TP(*args, **kwargs)
Overloaded function.
1. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, x: float, y: float, out_k: int, out_normalized_d: float) -> bool
2. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, x: float, y: float, out_k: int, out_normalized_d: float, tolerance_dist: float) -> bool
Computes the closest (alpha,d) TP coordinates of the trajectory point
closest to the Workspace (WS)
Cartesian coordinates (x,y), relative to the current robot frame.
X coordinate of the query point, relative to the robot
frame.
Y coordinate of the query point, relative to the robot
frame.
Trajectory parameter index (discretized alpha value,
0-based index).
Trajectory distance, normalized such that D_max
becomes 1.
true if the distance between (x,y) and the actual trajectory
point is below the given tolerance (in meters).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::inverseMap_WS2TP(double, double, int &, double &, double) const --> bool
- isBijectiveAt(...)
- isBijectiveAt(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> bool
Returns true if a given TP-Space point maps to a unique point in
Workspace, and viceversa. Default implementation returns `true`.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isBijectiveAt(uint16_t, uint32_t) const --> bool
- isInitialized(...)
- isInitialized(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if `initialize()` has been called and there was no errors,
so the PTG is ready to be queried for paths, obstacles, etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isInitialized() const --> bool
- loadDefaultParams(...)
- loadDefaultParams(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
Loads a set of default parameters into the PTG. Users normally will call
`loadFromConfigFile()` instead, this method is provided
exclusively for the PTG-configurator tool.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::loadDefaultParams() --> void
- loadFromConfigFile(...)
- loadFromConfigFile(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
Parameters accepted by this base class:
- `${sKeyPrefix}num_paths`: The number of different paths in this
family (number of discrete `alpha` values).
- `${sKeyPrefix}ref_distance`: The maximum distance in PTGs [meters]
- `${sKeyPrefix}score_priority`: When used in path planning, a
multiplying factor (default=1.0) for the scores for this PTG. Assign
values <1 to PTGs with low priority.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::loadFromConfigFile(const class mrpt::config::CConfigFileBase &, const std::string &) --> void
- maxTimeInVelCmdNOP(...)
- maxTimeInVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, path_k: int) -> float
Only for PTGs supporting supportVelCmdNOP(): this is the maximum time
(in seconds) for which the path
can be followed without re-issuing a new velcmd. Note that this is only
an absolute maximum duration,
navigation implementations will check for many other conditions. Default
method in the base virtual class returns 0.
Queried path `k` index [0,N-1]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::maxTimeInVelCmdNOP(int) const --> double
- renderPathAsSimpleLine(...)
- renderPathAsSimpleLine(*args, **kwargs)
Overloaded function.
1. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float) -> None
3. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float, max_path_distance: float) -> None
Returns the representation of one trajectory of this PTG as a 3D OpenGL
object (a simple curved line).
The 0-based index of the selected trajectory (discrete
"alpha" parameter).
Output object.
Minimum distance between path points (in
meters).
If >=0, cut the path at this distance (in
meters).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::renderPathAsSimpleLine(const unsigned short, class mrpt::opengl::CSetOfLines &, const double, const double) const --> void
- saveToConfigFile(...)
- saveToConfigFile(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::saveToConfigFile(class mrpt::config::CConfigFileBase &, const std::string &) const --> void
- setClearanceDecimatedPaths(...)
- setClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, num: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceDecimatedPaths(const unsigned int) --> void
- setClearanceStepCount(...)
- setClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, res: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceStepCount(const unsigned int) --> void
- setRefDistance(...)
- setRefDistance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, refDist: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setRefDistance(const double) --> void
- setScorePriorty(...)
- setScorePriorty(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, prior: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setScorePriorty(double) --> void
- supportSpeedAtTarget(...)
- supportSpeedAtTarget(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if this PTG takes into account the desired velocity at
target.
updateNavDynamicState()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportSpeedAtTarget() const --> bool
- supportVelCmdNOP(...)
- supportVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if it is possible to stop sending velocity commands to the
robot and, still, the
robot controller will be able to keep following the last sent trajectory
("NOP" velocity commands).
Default implementation returns "false".
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportVelCmdNOP() const --> bool
- updateClearance(...)
- updateClearance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Updates the clearance diagram given one (ox,oy) obstacle point, in
coordinates relative
to the PTG path origin.
The clearance will be updated here.
m_clearance_dist_resolution
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateClearance(const double, const double, class mrpt::nav::ClearanceDiagram &) const --> void
- updateNavDynamicState(...)
- updateNavDynamicState(*args, **kwargs)
Overloaded function.
1. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState) -> None
2. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState, force_update: bool) -> None
To be invoked by the navigator *before* each navigation step, to let the
PTG to react to changing dynamic conditions. *
onNewNavDynamicState(), m_nav_dyn_state
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateNavDynamicState(const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &, const bool) --> void
- updateTPObstacleSingle(...)
- updateTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, tp_obstacle_k: float) -> None
Like updateTPObstacle() but for one direction only (`k`) in TP-Space.
`tp_obstacle_k` must be initialized with initTPObstacleSingle() before
call (collision-free ranges, in "pseudometers", un-normalized).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateTPObstacleSingle(double, double, uint16_t, double &) const --> void
Static methods inherited from CParameterizedTrajectoryGenerator:
- Alpha2index(...) from builtins.PyCapsule
- Alpha2index(alpha: float, num_paths: int) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Alpha2index(double, const unsigned int) --> uint16_t
- COLLISION_BEHAVIOR(...) from builtins.PyCapsule
- COLLISION_BEHAVIOR() -> mrpt.pymrpt.mrpt.nav.PTG_collision_behavior_t
Defines the behavior when there is an obstacle *inside* the robot shape
right at the beginning of a PTG trajectory.
Default value: COLL_BEH_BACK_AWAY
C++: mrpt::nav::CParameterizedTrajectoryGenerator::COLLISION_BEHAVIOR() --> enum mrpt::nav::PTG_collision_behavior_t &
- CreatePTG(...) from builtins.PyCapsule
- CreatePTG(ptgClassName: str, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str, sKeyPrefix: str) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
The class factory for creating a PTG from a list of parameters in a
section of a given config file (physical file or in memory).
Possible parameters are:
- Those explained in
CParameterizedTrajectoryGenerator::loadFromConfigFile()
- Those explained in the specific PTG being created (see list of
derived classes)
`ptgClassName` can be any PTG class name which has been registered as
any other
mrpt::serialization::CSerializable class.
std::logic_error On invalid or missing parameters.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::CreatePTG(const std::string &, const class mrpt::config::CConfigFileBase &, const std::string &, const std::string &) --> class std::shared_ptr<class mrpt::nav::CParameterizedTrajectoryGenerator>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CParameterizedTrajectoryGenerator::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
- Index2alpha(...) from builtins.PyCapsule
- Index2alpha(k: int, num_paths: int) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Index2alpha(uint16_t, const unsigned int) --> double
- OUTPUT_DEBUG_PATH_PREFIX(...) from builtins.PyCapsule
- OUTPUT_DEBUG_PATH_PREFIX() -> str
The path used as defaul output in, for example, debugDumpInFiles.
(Default="./reactivenav.logs/")
C++: mrpt::nav::CParameterizedTrajectoryGenerator::OUTPUT_DEBUG_PATH_PREFIX() --> std::string &
Data and other attributes inherited from CParameterizedTrajectoryGenerator:
- TNavDynamicState = <class 'mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator.TNavDynamicState'>
- Dynamic state that may affect the PTG path parameterization.
nav_reactive
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Returns a deep copy (clone) of the object, indepently of its class.
C++: mrpt::rtti::CObject::clone() const --> class mrpt::rtti::CObject *
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Methods inherited from mrpt.pymrpt.mrpt.config.CLoadableOptions:
- dumpToConsole(...)
- dumpToConsole(self: mrpt.pymrpt.mrpt.config.CLoadableOptions) -> None
Just like but sending the text to the console
(std::cout)
C++: mrpt::config::CLoadableOptions::dumpToConsole() const --> void
- loadFromConfigFileName(...)
- loadFromConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like loadFromConfigFile, but you can pass directly a file name
and a temporary CConfigFile object will be created automatically to load
the file.
loadFromConfigFile
C++: mrpt::config::CLoadableOptions::loadFromConfigFileName(const std::string &, const std::string &) --> void
- saveToConfigFileName(...)
- saveToConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like saveToConfigFile, but you can pass directly a file name and
a temporary CConfigFile object will be created automatically to save the
file.
saveToConfigFile, loadFromConfigFileName
C++: mrpt::config::CLoadableOptions::saveToConfigFileName(const std::string &, const std::string &) const --> void
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CParameterizedTrajectoryGenerator(mrpt.pymrpt.mrpt.serialization.CSerializable, mrpt.pymrpt.mrpt.config.CLoadableOptions) |
|
This is the base class for any user-defined PTG.
There is a class factory interface in
CParameterizedTrajectoryGenerator::CreatePTG.
Papers:
- J.L. Blanco, J. Gonzalez-Jimenez, J.A. Fernandez-Madrigal, "Extending
Obstacle Avoidance Methods through Multiple Parameter-Space Transformations",
Autonomous Robots, vol. 24, no. 1, 2008.
http://ingmec.ual.es/~jlblanco/papers/blanco2008eoa_DRAFT.pdf
Changes history:
- 30/JUN/2004: Creation (JLBC)
- 16/SEP/2004: Totally redesigned.
- 15/SEP/2005: Totally rewritten again, for integration into MRPT
Applications Repository.
- 19/JUL/2009: Simplified to use only STL data types, and created the class
factory interface.
- MAY/2016: Refactored into CParameterizedTrajectoryGenerator,
CPTG_DiffDrive_CollisionGridBased, PTG classes renamed.
- 2016-2018: Many features added to support "PTG continuation", dynamic
paths depending on vehicle speeds, etc. |
|
- Method resolution order:
- CParameterizedTrajectoryGenerator
- mrpt.pymrpt.mrpt.serialization.CSerializable
- mrpt.pymrpt.mrpt.rtti.CObject
- mrpt.pymrpt.mrpt.config.CLoadableOptions
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- GetRuntimeClass(...)
- GetRuntimeClass(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CParameterizedTrajectoryGenerator::GetRuntimeClass() const --> const struct mrpt::rtti::TRuntimeClassId *
- PTG_IsIntoDomain(...)
- PTG_IsIntoDomain(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, x: float, y: float) -> bool
Returns the same than inverseMap_WS2TP() but without any additional
cost. The default implementation
just calls inverseMap_WS2TP() and discards (k,d).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::PTG_IsIntoDomain(double, double) const --> bool
- __init__(self, /, *args, **kwargs)
- Initialize self. See help(type(self)) for accurate signature.
- add_robotShape_to_setOfLines(...)
- add_robotShape_to_setOfLines(*args, **kwargs)
Overloaded function.
1. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. add_robotShape_to_setOfLines(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, gl_shape: mrpt.pymrpt.mrpt.opengl.CSetOfLines, origin: mrpt.pymrpt.mrpt.poses.CPose2D) -> None
Auxiliary function for rendering
C++: mrpt::nav::CParameterizedTrajectoryGenerator::add_robotShape_to_setOfLines(class mrpt::opengl::CSetOfLines &, const class mrpt::poses::CPose2D &) const --> void
- alpha2index(...)
- alpha2index(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, alpha: float) -> int
Discrete index value for the corresponding alpha value
index2alpha
C++: mrpt::nav::CParameterizedTrajectoryGenerator::alpha2index(double) const --> uint16_t
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, : mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
C++: mrpt::nav::CParameterizedTrajectoryGenerator::operator=(const class mrpt::nav::CParameterizedTrajectoryGenerator &) --> class mrpt::nav::CParameterizedTrajectoryGenerator &
- debugDumpInFiles(...)
- debugDumpInFiles(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ptg_name: str) -> bool
Dump PTG trajectories in four text files:
`./reactivenav.logs/PTGs/PTG%i_{x,y,phi,d}.txt`
Text files are loadable from MATLAB/Octave, and can be visualized with
the script `[MRPT_DIR]/scripts/viewPTG.m`
The directory "./reactivenav.logs/PTGs" will be created if doesn't
exist.
false on any error writing to disk.
OUTPUT_DEBUG_PATH_PREFIX
C++: mrpt::nav::CParameterizedTrajectoryGenerator::debugDumpInFiles(const std::string &) const --> bool
- deinitialize(...)
- deinitialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
This must be called to de-initialize the PTG if some parameter is to be
changed. After changing it, call initialize again
C++: mrpt::nav::CParameterizedTrajectoryGenerator::deinitialize() --> void
- directionToMotionCommand(...)
- directionToMotionCommand(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
Converts a discretized "alpha" value into a feasible motion command or
action. See derived classes for the meaning of these actions
C++: mrpt::nav::CParameterizedTrajectoryGenerator::directionToMotionCommand(uint16_t) const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- evalClearanceSingleObstacle(...)
- evalClearanceSingleObstacle(*args, **kwargs)
Overloaded function.
1. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float]) -> None
2. evalClearanceSingleObstacle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, inout_realdist2clearance: Dict[float, float], treat_as_obstacle: bool) -> None
Evals the robot clearance for each robot pose along path `k`, for the
real distances in
the key of the map<>, then keep in the map value the minimum of its
current stored clearance,
or the computed clearance. In case of collision, clearance is zero.
true: normal use for obstacles; false: compute
shortest distances to a target point (no collision)
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalClearanceSingleObstacle(const double, const double, const unsigned short, class std::map<double, double> &, bool) const --> void
- evalClearanceToRobotShape(...)
- evalClearanceToRobotShape(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float) -> float
Evals the clearance from an obstacle (ox,oy) in coordinates relative to
the robot center. Zero or negative means collision.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalClearanceToRobotShape(const double, const double) const --> double
- evalPathRelativePriority(...)
- evalPathRelativePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, target_distance: float) -> float
Query the PTG for the relative priority factor (0,1) of this PTG, in
comparison to others, if the k-th path is to be selected.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::evalPathRelativePriority(uint16_t, double) const --> double
- getActualUnloopedPathLength(...)
- getActualUnloopedPathLength(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Returns the actual distance (in meters) of the path, discounting
possible circular loops of the path (e.g. if it comes back to the
origin).
Default: refDistance
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getActualUnloopedPathLength(uint16_t) const --> double
- getAlphaValuesCount(...)
- getAlphaValuesCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getAlphaValuesCount() const --> uint16_t
- getClearanceDecimatedPaths(...)
- getClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceDecimatedPaths() const --> unsigned int
- getClearanceStepCount(...)
- getClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getClearanceStepCount() const --> unsigned int
- getCurrentNavDynamicState(...)
- getCurrentNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getCurrentNavDynamicState() const --> const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &
- getDescription(...)
- getDescription(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> str
@{
Gets a short textual description of the PTG and its parameters
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getDescription() const --> std::string
- getMaxAngVel(...)
- getMaxAngVel(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
Returns the maximum angular velocity expected from this PTG [rad/s]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getMaxAngVel() const --> double
- getMaxLinVel(...)
- getMaxLinVel(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
Returns the maximum linear velocity expected from this PTG [m/s]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getMaxLinVel() const --> double
- getMaxRobotRadius(...)
- getMaxRobotRadius(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
Returns an approximation of the robot radius.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getMaxRobotRadius() const --> double
- getPathCount(...)
- getPathCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> int
Get the number of different, discrete paths in this family
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathCount() const --> uint16_t
- getPathDist(...)
- getPathDist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> float
Access path `k` ([0,N-1]=>[-pi,pi] in alpha): traversed distance at
discrete step `step`.
Distance in pseudometers (real distance, NOT normalized to [0,1]
for [0,refDist])
getPathStepCount(), getAlphaValuesCount()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathDist(uint16_t, uint32_t) const --> double
- getPathPose(...)
- getPathPose(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> mrpt.pymrpt.mrpt.math.TPose2D
Access path `k` ([0,N-1]=>[-pi,pi] in alpha): pose of the vehicle at
discrete step `step`.
getPathStepCount(), getAlphaValuesCount(), getPathTwist()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathPose(uint16_t, uint32_t) const --> struct mrpt::math::TPose2D
- getPathStepCount(...)
- getPathStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> int
Access path `k` ([0,N-1]=>[-pi,pi] in alpha): number of discrete "steps"
along the trajectory.
May be actual steps from a numerical integration or an arbitrary small
length for analytical PTGs.
getAlphaValuesCount()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathStepCount(uint16_t) const --> size_t
- getPathStepDuration(...)
- getPathStepDuration(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
Returns the duration (in seconds) of each "step"
getPathStepCount()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathStepDuration() const --> double
- getPathStepForDist(...)
- getPathStepForDist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, dist: float, out_step: int) -> bool
Access path `k` ([0,N-1]=>[-pi,pi] in alpha): largest step count for
which the traversed distance is < `dist`
Distance in pseudometers (real distance, NOT normalized
to [0,1] for [0,refDist])
false if no step fulfills the condition for the given trajectory
`k` (e.g. out of reference distance).
Note that, anyway, the maximum distance (closest point) is returned in
`out_step`.
getPathStepCount(), getAlphaValuesCount()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathStepForDist(uint16_t, double, unsigned int &) const --> bool
- getPathTwist(...)
- getPathTwist(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> mrpt::math::TTwist2D
Gets velocity ("twist") for path `k` ([0,N-1]=>[-pi,pi] in alpha),
at vehicle discrete step `step`. The default implementation in this base
class uses numerical differentiation to estimate the twist (vx,vy,omega).
Velocity is given in "global" coordinates, relative to the starting pose
of the robot at t=0 for this PTG path.
getPathStepCount(), getAlphaValuesCount(), getPathPose()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getPathTwist(uint16_t, uint32_t) const --> struct mrpt::math::TTwist2D
- getRefDistance(...)
- getRefDistance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getRefDistance() const --> double
- getScorePriority(...)
- getScorePriority(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> float
When used in path planning, a multiplying factor (default=1.0) for the
scores for this PTG. Assign values <1 to PTGs with low priority.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getScorePriority() const --> double
- getSupportedKinematicVelocityCommand(...)
- getSupportedKinematicVelocityCommand(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
Returns an empty kinematic velocity command object of the type supported
by this PTG.
Can be queried to determine the expected kinematic interface of the PTG.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::getSupportedKinematicVelocityCommand() const --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- index2alpha(...)
- index2alpha(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int) -> float
Alpha value for the discrete corresponding value
alpha2index
C++: mrpt::nav::CParameterizedTrajectoryGenerator::index2alpha(uint16_t) const --> double
- initClearanceDiagram(...)
- initClearanceDiagram(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Must be called to resize a CD to its correct size, before calling
updateClearance()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initClearanceDiagram(class mrpt::nav::ClearanceDiagram &) const --> void
- initTPObstacleSingle(...)
- initTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, TP_Obstacle_k: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initTPObstacleSingle(uint16_t, double &) const --> void
- initialize(...)
- initialize(*args, **kwargs)
Overloaded function.
1. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
2. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str) -> None
3. initialize(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cacheFilename: str, verbose: bool) -> None
Must be called after setting all PTG parameters and before requesting
converting obstacles to TP-Space, inverseMap_WS2TP(), etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::initialize(const std::string &, const bool) --> void
- inverseMap_WS2TP(...)
- inverseMap_WS2TP(*args, **kwargs)
Overloaded function.
1. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, x: float, y: float, out_k: int, out_normalized_d: float) -> bool
2. inverseMap_WS2TP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, x: float, y: float, out_k: int, out_normalized_d: float, tolerance_dist: float) -> bool
Computes the closest (alpha,d) TP coordinates of the trajectory point
closest to the Workspace (WS)
Cartesian coordinates (x,y), relative to the current robot frame.
X coordinate of the query point, relative to the robot
frame.
Y coordinate of the query point, relative to the robot
frame.
Trajectory parameter index (discretized alpha value,
0-based index).
Trajectory distance, normalized such that D_max
becomes 1.
true if the distance between (x,y) and the actual trajectory
point is below the given tolerance (in meters).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::inverseMap_WS2TP(double, double, int &, double &, double) const --> bool
- isBijectiveAt(...)
- isBijectiveAt(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, step: int) -> bool
Returns true if a given TP-Space point maps to a unique point in
Workspace, and viceversa. Default implementation returns `true`.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isBijectiveAt(uint16_t, uint32_t) const --> bool
- isInitialized(...)
- isInitialized(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if `initialize()` has been called and there was no errors,
so the PTG is ready to be queried for paths, obstacles, etc.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isInitialized() const --> bool
- isPointInsideRobotShape(...)
- isPointInsideRobotShape(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, x: float, y: float) -> bool
Returns true if the point lies within the robot shape.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::isPointInsideRobotShape(const double, const double) const --> bool
- loadDefaultParams(...)
- loadDefaultParams(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
Loads a set of default parameters into the PTG. Users normally will call
`loadFromConfigFile()` instead, this method is provided
exclusively for the PTG-configurator tool.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::loadDefaultParams() --> void
- loadFromConfigFile(...)
- loadFromConfigFile(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
Parameters accepted by this base class:
- `${sKeyPrefix}num_paths`: The number of different paths in this
family (number of discrete `alpha` values).
- `${sKeyPrefix}ref_distance`: The maximum distance in PTGs [meters]
- `${sKeyPrefix}score_priority`: When used in path planning, a
multiplying factor (default=1.0) for the scores for this PTG. Assign
values <1 to PTGs with low priority.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::loadFromConfigFile(const class mrpt::config::CConfigFileBase &, const std::string &) --> void
- maxTimeInVelCmdNOP(...)
- maxTimeInVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, path_k: int) -> float
Only for PTGs supporting supportVelCmdNOP(): this is the maximum time
(in seconds) for which the path
can be followed without re-issuing a new velcmd. Note that this is only
an absolute maximum duration,
navigation implementations will check for many other conditions. Default
method in the base virtual class returns 0.
Queried path `k` index [0,N-1]
C++: mrpt::nav::CParameterizedTrajectoryGenerator::maxTimeInVelCmdNOP(int) const --> double
- renderPathAsSimpleLine(...)
- renderPathAsSimpleLine(*args, **kwargs)
Overloaded function.
1. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines) -> None
2. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float) -> None
3. renderPathAsSimpleLine(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, k: int, gl_obj: mrpt.pymrpt.mrpt.opengl.CSetOfLines, decimate_distance: float, max_path_distance: float) -> None
Returns the representation of one trajectory of this PTG as a 3D OpenGL
object (a simple curved line).
The 0-based index of the selected trajectory (discrete
"alpha" parameter).
Output object.
Minimum distance between path points (in
meters).
If >=0, cut the path at this distance (in
meters).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::renderPathAsSimpleLine(const unsigned short, class mrpt::opengl::CSetOfLines &, const double, const double) const --> void
- saveToConfigFile(...)
- saveToConfigFile(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::saveToConfigFile(class mrpt::config::CConfigFileBase &, const std::string &) const --> void
- setClearanceDecimatedPaths(...)
- setClearanceDecimatedPaths(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, num: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceDecimatedPaths(const unsigned int) --> void
- setClearanceStepCount(...)
- setClearanceStepCount(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, res: int) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setClearanceStepCount(const unsigned int) --> void
- setRefDistance(...)
- setRefDistance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, refDist: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setRefDistance(const double) --> void
- setScorePriorty(...)
- setScorePriorty(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, prior: float) -> None
C++: mrpt::nav::CParameterizedTrajectoryGenerator::setScorePriorty(double) --> void
- supportSpeedAtTarget(...)
- supportSpeedAtTarget(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if this PTG takes into account the desired velocity at
target.
updateNavDynamicState()
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportSpeedAtTarget() const --> bool
- supportVelCmdNOP(...)
- supportVelCmdNOP(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> bool
Returns true if it is possible to stop sending velocity commands to the
robot and, still, the
robot controller will be able to keep following the last sent trajectory
("NOP" velocity commands).
Default implementation returns "false".
C++: mrpt::nav::CParameterizedTrajectoryGenerator::supportVelCmdNOP() const --> bool
- updateClearance(...)
- updateClearance(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, cd: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Updates the clearance diagram given one (ox,oy) obstacle point, in
coordinates relative
to the PTG path origin.
The clearance will be updated here.
m_clearance_dist_resolution
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateClearance(const double, const double, class mrpt::nav::ClearanceDiagram &) const --> void
- updateNavDynamicState(...)
- updateNavDynamicState(*args, **kwargs)
Overloaded function.
1. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState) -> None
2. updateNavDynamicState(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, newState: mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState, force_update: bool) -> None
To be invoked by the navigator *before* each navigation step, to let the
PTG to react to changing dynamic conditions. *
onNewNavDynamicState(), m_nav_dyn_state
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateNavDynamicState(const struct mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState &, const bool) --> void
- updateTPObstacleSingle(...)
- updateTPObstacleSingle(self: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator, ox: float, oy: float, k: int, tp_obstacle_k: float) -> None
Like updateTPObstacle() but for one direction only (`k`) in TP-Space.
`tp_obstacle_k` must be initialized with initTPObstacleSingle() before
call (collision-free ranges, in "pseudometers", un-normalized).
C++: mrpt::nav::CParameterizedTrajectoryGenerator::updateTPObstacleSingle(double, double, uint16_t, double &) const --> void
Static methods defined here:
- Alpha2index(...) from builtins.PyCapsule
- Alpha2index(alpha: float, num_paths: int) -> int
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Alpha2index(double, const unsigned int) --> uint16_t
- COLLISION_BEHAVIOR(...) from builtins.PyCapsule
- COLLISION_BEHAVIOR() -> mrpt.pymrpt.mrpt.nav.PTG_collision_behavior_t
Defines the behavior when there is an obstacle *inside* the robot shape
right at the beginning of a PTG trajectory.
Default value: COLL_BEH_BACK_AWAY
C++: mrpt::nav::CParameterizedTrajectoryGenerator::COLLISION_BEHAVIOR() --> enum mrpt::nav::PTG_collision_behavior_t &
- CreatePTG(...) from builtins.PyCapsule
- CreatePTG(ptgClassName: str, cfg: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSection: str, sKeyPrefix: str) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
The class factory for creating a PTG from a list of parameters in a
section of a given config file (physical file or in memory).
Possible parameters are:
- Those explained in
CParameterizedTrajectoryGenerator::loadFromConfigFile()
- Those explained in the specific PTG being created (see list of
derived classes)
`ptgClassName` can be any PTG class name which has been registered as
any other
mrpt::serialization::CSerializable class.
std::logic_error On invalid or missing parameters.
C++: mrpt::nav::CParameterizedTrajectoryGenerator::CreatePTG(const std::string &, const class mrpt::config::CConfigFileBase &, const std::string &, const std::string &) --> class std::shared_ptr<class mrpt::nav::CParameterizedTrajectoryGenerator>
- GetRuntimeClassIdStatic(...) from builtins.PyCapsule
- GetRuntimeClassIdStatic() -> mrpt.pymrpt.mrpt.rtti.TRuntimeClassId
C++: mrpt::nav::CParameterizedTrajectoryGenerator::GetRuntimeClassIdStatic() --> const struct mrpt::rtti::TRuntimeClassId &
- Index2alpha(...) from builtins.PyCapsule
- Index2alpha(k: int, num_paths: int) -> float
C++: mrpt::nav::CParameterizedTrajectoryGenerator::Index2alpha(uint16_t, const unsigned int) --> double
- OUTPUT_DEBUG_PATH_PREFIX(...) from builtins.PyCapsule
- OUTPUT_DEBUG_PATH_PREFIX() -> str
The path used as defaul output in, for example, debugDumpInFiles.
(Default="./reactivenav.logs/")
C++: mrpt::nav::CParameterizedTrajectoryGenerator::OUTPUT_DEBUG_PATH_PREFIX() --> std::string &
Data and other attributes defined here:
- TNavDynamicState = <class 'mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator.TNavDynamicState'>
- Dynamic state that may affect the PTG path parameterization.
nav_reactive
Methods inherited from mrpt.pymrpt.mrpt.rtti.CObject:
- clone(...)
- clone(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Returns a deep copy (clone) of the object, indepently of its class.
C++: mrpt::rtti::CObject::clone() const --> class mrpt::rtti::CObject *
- duplicateGetSmartPtr(...)
- duplicateGetSmartPtr(self: mrpt.pymrpt.mrpt.rtti.CObject) -> mrpt.pymrpt.mrpt.rtti.CObject
Makes a deep copy of the object and returns a smart pointer to it
C++: mrpt::rtti::CObject::duplicateGetSmartPtr() const --> class std::shared_ptr<class mrpt::rtti::CObject>
Methods inherited from mrpt.pymrpt.mrpt.config.CLoadableOptions:
- dumpToConsole(...)
- dumpToConsole(self: mrpt.pymrpt.mrpt.config.CLoadableOptions) -> None
Just like but sending the text to the console
(std::cout)
C++: mrpt::config::CLoadableOptions::dumpToConsole() const --> void
- loadFromConfigFileName(...)
- loadFromConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like loadFromConfigFile, but you can pass directly a file name
and a temporary CConfigFile object will be created automatically to load
the file.
loadFromConfigFile
C++: mrpt::config::CLoadableOptions::loadFromConfigFileName(const std::string &, const std::string &) --> void
- saveToConfigFileName(...)
- saveToConfigFileName(self: mrpt.pymrpt.mrpt.config.CLoadableOptions, config_file: str, section: str) -> None
Behaves like saveToConfigFile, but you can pass directly a file name and
a temporary CConfigFile object will be created automatically to save the
file.
saveToConfigFile, loadFromConfigFileName
C++: mrpt::config::CLoadableOptions::saveToConfigFileName(const std::string &, const std::string &) const --> void
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CReactiveNavigationSystem(CAbstractPTGBasedReactive) |
|
See base class CAbstractPTGBasedReactive for a description and instructions
of use.
This particular implementation assumes a 2D robot shape which can be
polygonal or circular (depending on the selected PTGs).
Publications:
- Blanco, Jose-Luis, Javier Gonzalez, and Juan-Antonio Fernandez-Madrigal.
["Extending obstacle avoidance methods through multiple parameter-space
transformations"](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.190.4672&rep=rep1&type=pdf).
Autonomous Robots 24.1 (2008): 29-48.
Class history:
- 17/JUN/2004: First design.
- 16/SEP/2004: Totally redesigned, according to document "MultiParametric
Based Space Transformation for Reactive Navigation"
- 29/SEP/2005: Totally rewritten again, for integration into MRPT library and
according to the ICRA paper.
- 17/OCT/2007: Whole code updated to accomodate to MRPT 0.5 and make it
portable to Linux.
- DEC/2013: Code refactoring between this class and
CAbstractHolonomicReactiveMethod
- FEB/2017: Refactoring of all parameters for a consistent organization in
sections by class names (MRPT 1.5.0)
This class requires a number of parameters which are usually provided via an
external config (".ini") file.
Alternatively, a memory-only object can be used to avoid physical files, see
mrpt::config::CConfigFileMemory.
A template config file can be generated at any moment by the user by calling
saveConfigFile() with a default-constructed object.
Next we provide a self-documented template config file; or see it online:
https://github.com/MRPT/mrpt/blob/master/share/mrpt/config_files/navigation-ptgs/reactive2d_config.ini
CAbstractNavigator, CParameterizedTrajectoryGenerator,
CAbstractHolonomicReactiveMethod |
|
- Method resolution order:
- CReactiveNavigationSystem
- CAbstractPTGBasedReactive
- CWaypointsNavigator
- CAbstractNavigator
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem, arg0: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
doc
2. __init__(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem, arg0: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, arg1: bool) -> None
doc
3. __init__(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem, arg0: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, arg1: bool, arg2: bool) -> None
doc
4. __init__(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem, react_iterf_impl: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, enableConsoleOutput: bool, enableLogFile: bool, logFileDirectory: str) -> None
- changeRobotCircularShapeRadius(...)
- changeRobotCircularShapeRadius(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem, R: float) -> None
Defines the 2D circular robot shape radius, used for some PTGs for
collision checking.
C++: mrpt::nav::CReactiveNavigationSystem::changeRobotCircularShapeRadius(const double) --> void
- changeRobotShape(...)
- changeRobotShape(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem, shape: mrpt.pymrpt.mrpt.math.CPolygon) -> None
Defines the 2D polygonal robot shape, used for some PTGs for collision
checking.
C++: mrpt::nav::CReactiveNavigationSystem::changeRobotShape(const class mrpt::math::CPolygon &) --> void
- checkCollisionWithLatestObstacles(...)
- checkCollisionWithLatestObstacles(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem, relative_robot_pose: mrpt.pymrpt.mrpt.math.TPose2D) -> bool
C++: mrpt::nav::CReactiveNavigationSystem::checkCollisionWithLatestObstacles(const struct mrpt::math::TPose2D &) const --> bool
- getPTG(...)
- getPTG(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem, i: int) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
C++: mrpt::nav::CReactiveNavigationSystem::getPTG(size_t) --> class mrpt::nav::CParameterizedTrajectoryGenerator *
- getPTG_count(...)
- getPTG_count(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem) -> int
C++: mrpt::nav::CReactiveNavigationSystem::getPTG_count() const --> size_t
- loadConfigFile(...)
- loadConfigFile(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CReactiveNavigationSystem::loadConfigFile(const class mrpt::config::CConfigFileBase &) --> void
- saveConfigFile(...)
- saveConfigFile(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CReactiveNavigationSystem::saveConfigFile(class mrpt::config::CConfigFileBase &) const --> void
Data descriptors defined here:
- params_reactive_nav
Data and other attributes defined here:
- TReactiveNavigatorParams = <class 'mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem.TReactiveNavigatorParams'>
Methods inherited from CAbstractPTGBasedReactive:
- changeCurrentRobotSpeedLimits(...)
- changeCurrentRobotSpeedLimits(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd.TVelCmdParams
Changes the current, global (honored for all PTGs) robot speed limits,
via returning a reference to a structure that holds those limits
C++: mrpt::nav::CAbstractPTGBasedReactive::changeCurrentRobotSpeedLimits() --> struct mrpt::kinematics::CVehicleVelCmd::TVelCmdParams &
- enableKeepLogRecords(...)
- enableKeepLogRecords(*args, **kwargs)
Overloaded function.
1. enableKeepLogRecords(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> None
2. enableKeepLogRecords(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, enable: bool) -> None
Enables keeping an internal registry of navigation logs that can be
queried with getLastLogRecord()
C++: mrpt::nav::CAbstractPTGBasedReactive::enableKeepLogRecords(bool) --> void
- enableLogFile(...)
- enableLogFile(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, enable: bool) -> None
Enables/disables saving log files.
C++: mrpt::nav::CAbstractPTGBasedReactive::enableLogFile(bool) --> void
- enableTimeLog(...)
- enableTimeLog(*args, **kwargs)
Overloaded function.
1. enableTimeLog(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> None
2. enableTimeLog(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, enable: bool) -> None
Enables/disables the detailed time logger (default:disabled upon
construction)
When enabled, a report will be dumped to std::cout upon destruction.
getTimeLogger
C++: mrpt::nav::CAbstractPTGBasedReactive::enableTimeLog(bool) --> void
- getCurrentRobotSpeedLimits(...)
- getCurrentRobotSpeedLimits(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd.TVelCmdParams
Get the current, global (honored for all PTGs) robot speed limits
C++: mrpt::nav::CAbstractPTGBasedReactive::getCurrentRobotSpeedLimits() const --> const struct mrpt::kinematics::CVehicleVelCmd::TVelCmdParams &
- getLastLogRecord(...)
- getLastLogRecord(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, o: mrpt.pymrpt.mrpt.nav.CLogFileRecord) -> None
Provides a copy of the last log record with information about execution.
An object where the log will be stored into.
Log records are not prepared unless either "enableLogFile" is
enabled in the constructor or "enableLogFile()" has been called.
C++: mrpt::nav::CAbstractPTGBasedReactive::getLastLogRecord(class mrpt::nav::CLogFileRecord &) --> void
- getLogFileDirectory(...)
- getLogFileDirectory(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> str
C++: mrpt::nav::CAbstractPTGBasedReactive::getLogFileDirectory() const --> std::string
- getTargetApproachSlowDownDistance(...)
- getTargetApproachSlowDownDistance(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> float
Returns this parameter for the first inner holonomic navigator instances
[m] (should be the same in all of them?)
C++: mrpt::nav::CAbstractPTGBasedReactive::getTargetApproachSlowDownDistance() const --> double
- getTimeLogger(...)
- getTimeLogger(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> mrpt.pymrpt.mrpt.system.CTimeLogger
Gives access to a const-ref to the internal time logger
enableTimeLog
C++: mrpt::nav::CAbstractPTGBasedReactive::getTimeLogger() const --> const class mrpt::system::CTimeLogger &
- initialize(...)
- initialize(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> None
Must be called for loading collision grids, or the first navigation
command may last a long time to be executed.
Internally, it just calls STEP1_CollisionGridsBuilder().
C++: mrpt::nav::CAbstractPTGBasedReactive::initialize() --> void
- setHolonomicMethod(...)
- setHolonomicMethod(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, method: str, cfgBase: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
Selects which one from the set of available holonomic methods will be
used
into transformed TP-Space, and sets its configuration from a
configuration file.
Available methods: class names of those derived from
CAbstractHolonomicReactiveMethod
C++: mrpt::nav::CAbstractPTGBasedReactive::setHolonomicMethod(const std::string &, const class mrpt::config::CConfigFileBase &) --> void
- setLogFileDirectory(...)
- setLogFileDirectory(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, sDir: str) -> None
Changes the prefix for new log files.
C++: mrpt::nav::CAbstractPTGBasedReactive::setLogFileDirectory(const std::string &) --> void
- setTargetApproachSlowDownDistance(...)
- setTargetApproachSlowDownDistance(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, dist: float) -> None
Changes this parameter in all inner holonomic navigator instances [m].
C++: mrpt::nav::CAbstractPTGBasedReactive::setTargetApproachSlowDownDistance(const double) --> void
Data descriptors inherited from CAbstractPTGBasedReactive:
- params_abstract_ptg_navigator
Data and other attributes inherited from CAbstractPTGBasedReactive:
- TAbstractPTGNavigatorParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive.TAbstractPTGNavigatorParams'>
- TNavigationParamsPTG = <class 'mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive.TNavigationParamsPTG'>
- The struct for configuring navigation requests to
CAbstractPTGBasedReactive and derived classes.
Methods inherited from CWaypointsNavigator:
- beginWaypointsAccess(...)
- beginWaypointsAccess(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> mrpt.pymrpt.mrpt.nav.TWaypointStatusSequence
Gets a write-enabled reference to the list of waypoints, simultanously
acquiring the critical section mutex.
Caller must call endWaypointsAccess() when done editing the waypoints.
C++: mrpt::nav::CWaypointsNavigator::beginWaypointsAccess() --> struct mrpt::nav::TWaypointStatusSequence &
- cancel(...)
- cancel(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> None
Cancel current navegation.
C++: mrpt::nav::CWaypointsNavigator::cancel() --> void
- endWaypointsAccess(...)
- endWaypointsAccess(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> None
Must be called after beginWaypointsAccess()
C++: mrpt::nav::CWaypointsNavigator::endWaypointsAccess() --> void
- getWaypointNavStatus(...)
- getWaypointNavStatus(*args, **kwargs)
Overloaded function.
1. getWaypointNavStatus(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, out_nav_status: mrpt.pymrpt.mrpt.nav.TWaypointStatusSequence) -> None
Get a copy of the control structure which describes the progress status
of the waypoint navigation.
C++: mrpt::nav::CWaypointsNavigator::getWaypointNavStatus(struct mrpt::nav::TWaypointStatusSequence &) const --> void
2. getWaypointNavStatus(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> mrpt.pymrpt.mrpt.nav.TWaypointStatusSequence
Get a copy of the control structure which describes the progress status
of the waypoint navigation.
C++: mrpt::nav::CWaypointsNavigator::getWaypointNavStatus() const --> struct mrpt::nav::TWaypointStatusSequence
- isRelativePointReachable(...)
- isRelativePointReachable(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, wp_local_wrt_robot: mrpt::math::TPoint2D_<double>) -> bool
Returns `true` if, according to the information gathered at the last
navigation step,
there is a free path to the given point; `false` otherwise: if way is
blocked or there is missing information,
the point is out of range for the existing PTGs, etc.
C++: mrpt::nav::CWaypointsNavigator::isRelativePointReachable(const struct mrpt::math::TPoint2D_<double> &) const --> bool
- navigateWaypoints(...)
- navigateWaypoints(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, nav_request: mrpt.pymrpt.mrpt.nav.TWaypointSequence) -> None
Waypoint navigation request. This immediately cancels any other previous
on-going navigation.
CAbstractNavigator::navigate() for single waypoint navigation
requests.
C++: mrpt::nav::CWaypointsNavigator::navigateWaypoints(const struct mrpt::nav::TWaypointSequence &) --> void
- navigationStep(...)
- navigationStep(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> None
C++: mrpt::nav::CWaypointsNavigator::navigationStep() --> void
Data descriptors inherited from CWaypointsNavigator:
- params_waypoints_navigator
Data and other attributes inherited from CWaypointsNavigator:
- TNavigationParamsWaypoints = <class 'mrpt.pymrpt.mrpt.nav.CWaypointsNavigator.TNavigationParamsWaypoints'>
- The struct for configuring navigation requests to CWaypointsNavigator
and derived classes.
- TWaypointsNavigatorParams = <class 'mrpt.pymrpt.mrpt.nav.CWaypointsNavigator.TWaypointsNavigatorParams'>
Methods inherited from CAbstractNavigator:
- enableRethrowNavExceptions(...)
- enableRethrowNavExceptions(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator, enable: bool) -> None
By default, error exceptions on navigationStep() will dump an error
message to the output logger interface. If rethrow is enabled
(default=false), the error message will be reported as well, but
exceptions will be re-thrown.
C++: mrpt::nav::CAbstractNavigator::enableRethrowNavExceptions(const bool) --> void
- getCurrentState(...)
- getCurrentState(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TState
Returns the current navigator state.
C++: mrpt::nav::CAbstractNavigator::getCurrentState() const --> enum mrpt::nav::CAbstractNavigator::TState
- getDelaysTimeLogger(...)
- getDelaysTimeLogger(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt.pymrpt.mrpt.system.CTimeLogger
Gives access to a const-ref to the internal time logger used to estimate
delays
getTimeLogger() in derived classes
C++: mrpt::nav::CAbstractNavigator::getDelaysTimeLogger() const --> const class mrpt::system::CTimeLogger &
- getErrorReason(...)
- getErrorReason(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt::nav::CAbstractNavigator::TErrorReason
In case of state=NAV_ERROR, this returns the reason for the error.
Error state is reseted every time a new navigation starts with
a call to navigate(), or when resetNavError() is called.
C++: mrpt::nav::CAbstractNavigator::getErrorReason() const --> const struct mrpt::nav::CAbstractNavigator::TErrorReason &
- isRethrowNavExceptionsEnabled(...)
- isRethrowNavExceptionsEnabled(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> bool
C++: mrpt::nav::CAbstractNavigator::isRethrowNavExceptionsEnabled() const --> bool
- resetNavError(...)
- resetNavError(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Resets a `NAV_ERROR` state back to `IDLE`
C++: mrpt::nav::CAbstractNavigator::resetNavError() --> void
- resume(...)
- resume(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Continues with suspended navigation.
suspend
C++: mrpt::nav::CAbstractNavigator::resume() --> void
- suspend(...)
- suspend(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Suspend current navegation.
resume
C++: mrpt::nav::CAbstractNavigator::suspend() --> void
Data descriptors inherited from CAbstractNavigator:
- m_navProfiler
- params_abstract_navigator
Data and other attributes inherited from CAbstractNavigator:
- ERR_CANNOT_REACH_TARGET = <TErrorCode.ERR_CANNOT_REACH_TARGET: 2>
- ERR_EMERGENCY_STOP = <TErrorCode.ERR_EMERGENCY_STOP: 1>
- ERR_NONE = <TErrorCode.ERR_NONE: 0>
- ERR_OTHER = <TErrorCode.ERR_OTHER: 3>
- IDLE = <TState.IDLE: 0>
- NAVIGATING = <TState.NAVIGATING: 1>
- NAV_ERROR = <TState.NAV_ERROR: 3>
- SUSPENDED = <TState.SUSPENDED: 2>
- TAbstractNavigatorParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TAbstractNavigatorParams'>
- @}
- TErrorCode = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TErrorCode'>
- TErrorReason = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TErrorReason'>
- TNavigationParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TNavigationParams'>
- The struct for configuring navigation requests. Used in
CAbstractPTGBasedReactive::navigate()
- TNavigationParamsBase = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TNavigationParamsBase'>
- Base for all high-level navigation commands. See derived classes
- TState = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TState'>
- TargetInfo = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TargetInfo'>
- Individual target info in CAbstractNavigator::TNavigationParamsBase and
derived classes
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CReactiveNavigationSystem3D(CAbstractPTGBasedReactive) |
|
See base class CAbstractPTGBasedReactive for a description and instructions
of use.
This particular implementation assumes a 3D (or "2.5D") robot shape model,
build as a vertical stack of "2D slices".
Paper describing the method:
- M. Jaimez-Tarifa, J. Gonzalez-Jimenez, J.L. Blanco,
"Efficient Reactive Navigation with Exact Collision Determination for 3D
Robot Shapes",
International Journal of Advanced Robotic Systems, 2015.
Class history:
- SEP/2012: First design.
- JUL/2013: Integrated into MRPT library.
- DEC/2013: Code refactoring between this class and
CAbstractHolonomicReactiveMethod
- FEB/2017: Refactoring of all parameters for a consistent organization in
sections by class names (MRPT 1.5.0)
This class requires a number of parameters which are usually provided via an
external config (".ini") file.
Alternatively, a memory-only object can be used to avoid physical files, see
mrpt::config::CConfigFileMemory.
A template config file can be generated at any moment by the user by calling
saveConfigFile() with a default-constructed object.
Next we provide a self-documented template config file; or see it online:
https://github.com/MRPT/mrpt/blob/master/share/mrpt/config_files/navigation-ptgs/reactive3d_config.ini
CAbstractNavigator, CParameterizedTrajectoryGenerator,
CAbstractHolonomicReactiveMethod |
|
- Method resolution order:
- CReactiveNavigationSystem3D
- CAbstractPTGBasedReactive
- CWaypointsNavigator
- CAbstractNavigator
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem3D, arg0: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
doc
2. __init__(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem3D, arg0: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, arg1: bool) -> None
doc
3. __init__(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem3D, arg0: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, arg1: bool, arg2: bool) -> None
doc
4. __init__(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem3D, react_iterf_impl: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, enableConsoleOutput: bool, enableLogFile: bool, logFileDirectory: str) -> None
- changeRobotShape(...)
- changeRobotShape(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem3D, robotShape: mrpt.pymrpt.mrpt.nav.TRobotShape) -> None
Change the robot shape, which is taken into account for collision grid
building.
C++: mrpt::nav::CReactiveNavigationSystem3D::changeRobotShape(struct mrpt::nav::TRobotShape) --> void
- checkCollisionWithLatestObstacles(...)
- checkCollisionWithLatestObstacles(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem3D, relative_robot_pose: mrpt.pymrpt.mrpt.math.TPose2D) -> bool
C++: mrpt::nav::CReactiveNavigationSystem3D::checkCollisionWithLatestObstacles(const struct mrpt::math::TPose2D &) const --> bool
- getPTG(...)
- getPTG(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem3D, i: int) -> mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator
C++: mrpt::nav::CReactiveNavigationSystem3D::getPTG(size_t) --> class mrpt::nav::CParameterizedTrajectoryGenerator *
- getPTG_count(...)
- getPTG_count(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem3D) -> int
C++: mrpt::nav::CReactiveNavigationSystem3D::getPTG_count() const --> size_t
- loadConfigFile(...)
- loadConfigFile(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem3D, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CReactiveNavigationSystem3D::loadConfigFile(const class mrpt::config::CConfigFileBase &) --> void
- saveConfigFile(...)
- saveConfigFile(self: mrpt.pymrpt.mrpt.nav.CReactiveNavigationSystem3D, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CReactiveNavigationSystem3D::saveConfigFile(class mrpt::config::CConfigFileBase &) const --> void
Methods inherited from CAbstractPTGBasedReactive:
- changeCurrentRobotSpeedLimits(...)
- changeCurrentRobotSpeedLimits(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd.TVelCmdParams
Changes the current, global (honored for all PTGs) robot speed limits,
via returning a reference to a structure that holds those limits
C++: mrpt::nav::CAbstractPTGBasedReactive::changeCurrentRobotSpeedLimits() --> struct mrpt::kinematics::CVehicleVelCmd::TVelCmdParams &
- enableKeepLogRecords(...)
- enableKeepLogRecords(*args, **kwargs)
Overloaded function.
1. enableKeepLogRecords(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> None
2. enableKeepLogRecords(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, enable: bool) -> None
Enables keeping an internal registry of navigation logs that can be
queried with getLastLogRecord()
C++: mrpt::nav::CAbstractPTGBasedReactive::enableKeepLogRecords(bool) --> void
- enableLogFile(...)
- enableLogFile(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, enable: bool) -> None
Enables/disables saving log files.
C++: mrpt::nav::CAbstractPTGBasedReactive::enableLogFile(bool) --> void
- enableTimeLog(...)
- enableTimeLog(*args, **kwargs)
Overloaded function.
1. enableTimeLog(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> None
2. enableTimeLog(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, enable: bool) -> None
Enables/disables the detailed time logger (default:disabled upon
construction)
When enabled, a report will be dumped to std::cout upon destruction.
getTimeLogger
C++: mrpt::nav::CAbstractPTGBasedReactive::enableTimeLog(bool) --> void
- getCurrentRobotSpeedLimits(...)
- getCurrentRobotSpeedLimits(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd.TVelCmdParams
Get the current, global (honored for all PTGs) robot speed limits
C++: mrpt::nav::CAbstractPTGBasedReactive::getCurrentRobotSpeedLimits() const --> const struct mrpt::kinematics::CVehicleVelCmd::TVelCmdParams &
- getLastLogRecord(...)
- getLastLogRecord(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, o: mrpt.pymrpt.mrpt.nav.CLogFileRecord) -> None
Provides a copy of the last log record with information about execution.
An object where the log will be stored into.
Log records are not prepared unless either "enableLogFile" is
enabled in the constructor or "enableLogFile()" has been called.
C++: mrpt::nav::CAbstractPTGBasedReactive::getLastLogRecord(class mrpt::nav::CLogFileRecord &) --> void
- getLogFileDirectory(...)
- getLogFileDirectory(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> str
C++: mrpt::nav::CAbstractPTGBasedReactive::getLogFileDirectory() const --> std::string
- getTargetApproachSlowDownDistance(...)
- getTargetApproachSlowDownDistance(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> float
Returns this parameter for the first inner holonomic navigator instances
[m] (should be the same in all of them?)
C++: mrpt::nav::CAbstractPTGBasedReactive::getTargetApproachSlowDownDistance() const --> double
- getTimeLogger(...)
- getTimeLogger(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> mrpt.pymrpt.mrpt.system.CTimeLogger
Gives access to a const-ref to the internal time logger
enableTimeLog
C++: mrpt::nav::CAbstractPTGBasedReactive::getTimeLogger() const --> const class mrpt::system::CTimeLogger &
- initialize(...)
- initialize(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive) -> None
Must be called for loading collision grids, or the first navigation
command may last a long time to be executed.
Internally, it just calls STEP1_CollisionGridsBuilder().
C++: mrpt::nav::CAbstractPTGBasedReactive::initialize() --> void
- setHolonomicMethod(...)
- setHolonomicMethod(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, method: str, cfgBase: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
Selects which one from the set of available holonomic methods will be
used
into transformed TP-Space, and sets its configuration from a
configuration file.
Available methods: class names of those derived from
CAbstractHolonomicReactiveMethod
C++: mrpt::nav::CAbstractPTGBasedReactive::setHolonomicMethod(const std::string &, const class mrpt::config::CConfigFileBase &) --> void
- setLogFileDirectory(...)
- setLogFileDirectory(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, sDir: str) -> None
Changes the prefix for new log files.
C++: mrpt::nav::CAbstractPTGBasedReactive::setLogFileDirectory(const std::string &) --> void
- setTargetApproachSlowDownDistance(...)
- setTargetApproachSlowDownDistance(self: mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive, dist: float) -> None
Changes this parameter in all inner holonomic navigator instances [m].
C++: mrpt::nav::CAbstractPTGBasedReactive::setTargetApproachSlowDownDistance(const double) --> void
Data descriptors inherited from CAbstractPTGBasedReactive:
- params_abstract_ptg_navigator
Data and other attributes inherited from CAbstractPTGBasedReactive:
- TAbstractPTGNavigatorParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive.TAbstractPTGNavigatorParams'>
- TNavigationParamsPTG = <class 'mrpt.pymrpt.mrpt.nav.CAbstractPTGBasedReactive.TNavigationParamsPTG'>
- The struct for configuring navigation requests to
CAbstractPTGBasedReactive and derived classes.
Methods inherited from CWaypointsNavigator:
- beginWaypointsAccess(...)
- beginWaypointsAccess(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> mrpt.pymrpt.mrpt.nav.TWaypointStatusSequence
Gets a write-enabled reference to the list of waypoints, simultanously
acquiring the critical section mutex.
Caller must call endWaypointsAccess() when done editing the waypoints.
C++: mrpt::nav::CWaypointsNavigator::beginWaypointsAccess() --> struct mrpt::nav::TWaypointStatusSequence &
- cancel(...)
- cancel(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> None
Cancel current navegation.
C++: mrpt::nav::CWaypointsNavigator::cancel() --> void
- endWaypointsAccess(...)
- endWaypointsAccess(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> None
Must be called after beginWaypointsAccess()
C++: mrpt::nav::CWaypointsNavigator::endWaypointsAccess() --> void
- getWaypointNavStatus(...)
- getWaypointNavStatus(*args, **kwargs)
Overloaded function.
1. getWaypointNavStatus(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, out_nav_status: mrpt.pymrpt.mrpt.nav.TWaypointStatusSequence) -> None
Get a copy of the control structure which describes the progress status
of the waypoint navigation.
C++: mrpt::nav::CWaypointsNavigator::getWaypointNavStatus(struct mrpt::nav::TWaypointStatusSequence &) const --> void
2. getWaypointNavStatus(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> mrpt.pymrpt.mrpt.nav.TWaypointStatusSequence
Get a copy of the control structure which describes the progress status
of the waypoint navigation.
C++: mrpt::nav::CWaypointsNavigator::getWaypointNavStatus() const --> struct mrpt::nav::TWaypointStatusSequence
- isRelativePointReachable(...)
- isRelativePointReachable(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, wp_local_wrt_robot: mrpt::math::TPoint2D_<double>) -> bool
Returns `true` if, according to the information gathered at the last
navigation step,
there is a free path to the given point; `false` otherwise: if way is
blocked or there is missing information,
the point is out of range for the existing PTGs, etc.
C++: mrpt::nav::CWaypointsNavigator::isRelativePointReachable(const struct mrpt::math::TPoint2D_<double> &) const --> bool
- navigateWaypoints(...)
- navigateWaypoints(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, nav_request: mrpt.pymrpt.mrpt.nav.TWaypointSequence) -> None
Waypoint navigation request. This immediately cancels any other previous
on-going navigation.
CAbstractNavigator::navigate() for single waypoint navigation
requests.
C++: mrpt::nav::CWaypointsNavigator::navigateWaypoints(const struct mrpt::nav::TWaypointSequence &) --> void
- navigationStep(...)
- navigationStep(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> None
C++: mrpt::nav::CWaypointsNavigator::navigationStep() --> void
Data descriptors inherited from CWaypointsNavigator:
- params_waypoints_navigator
Data and other attributes inherited from CWaypointsNavigator:
- TNavigationParamsWaypoints = <class 'mrpt.pymrpt.mrpt.nav.CWaypointsNavigator.TNavigationParamsWaypoints'>
- The struct for configuring navigation requests to CWaypointsNavigator
and derived classes.
- TWaypointsNavigatorParams = <class 'mrpt.pymrpt.mrpt.nav.CWaypointsNavigator.TWaypointsNavigatorParams'>
Methods inherited from CAbstractNavigator:
- enableRethrowNavExceptions(...)
- enableRethrowNavExceptions(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator, enable: bool) -> None
By default, error exceptions on navigationStep() will dump an error
message to the output logger interface. If rethrow is enabled
(default=false), the error message will be reported as well, but
exceptions will be re-thrown.
C++: mrpt::nav::CAbstractNavigator::enableRethrowNavExceptions(const bool) --> void
- getCurrentState(...)
- getCurrentState(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TState
Returns the current navigator state.
C++: mrpt::nav::CAbstractNavigator::getCurrentState() const --> enum mrpt::nav::CAbstractNavigator::TState
- getDelaysTimeLogger(...)
- getDelaysTimeLogger(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt.pymrpt.mrpt.system.CTimeLogger
Gives access to a const-ref to the internal time logger used to estimate
delays
getTimeLogger() in derived classes
C++: mrpt::nav::CAbstractNavigator::getDelaysTimeLogger() const --> const class mrpt::system::CTimeLogger &
- getErrorReason(...)
- getErrorReason(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt::nav::CAbstractNavigator::TErrorReason
In case of state=NAV_ERROR, this returns the reason for the error.
Error state is reseted every time a new navigation starts with
a call to navigate(), or when resetNavError() is called.
C++: mrpt::nav::CAbstractNavigator::getErrorReason() const --> const struct mrpt::nav::CAbstractNavigator::TErrorReason &
- isRethrowNavExceptionsEnabled(...)
- isRethrowNavExceptionsEnabled(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> bool
C++: mrpt::nav::CAbstractNavigator::isRethrowNavExceptionsEnabled() const --> bool
- resetNavError(...)
- resetNavError(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Resets a `NAV_ERROR` state back to `IDLE`
C++: mrpt::nav::CAbstractNavigator::resetNavError() --> void
- resume(...)
- resume(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Continues with suspended navigation.
suspend
C++: mrpt::nav::CAbstractNavigator::resume() --> void
- suspend(...)
- suspend(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Suspend current navegation.
resume
C++: mrpt::nav::CAbstractNavigator::suspend() --> void
Data descriptors inherited from CAbstractNavigator:
- m_navProfiler
- params_abstract_navigator
Data and other attributes inherited from CAbstractNavigator:
- ERR_CANNOT_REACH_TARGET = <TErrorCode.ERR_CANNOT_REACH_TARGET: 2>
- ERR_EMERGENCY_STOP = <TErrorCode.ERR_EMERGENCY_STOP: 1>
- ERR_NONE = <TErrorCode.ERR_NONE: 0>
- ERR_OTHER = <TErrorCode.ERR_OTHER: 3>
- IDLE = <TState.IDLE: 0>
- NAVIGATING = <TState.NAVIGATING: 1>
- NAV_ERROR = <TState.NAV_ERROR: 3>
- SUSPENDED = <TState.SUSPENDED: 2>
- TAbstractNavigatorParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TAbstractNavigatorParams'>
- @}
- TErrorCode = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TErrorCode'>
- TErrorReason = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TErrorReason'>
- TNavigationParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TNavigationParams'>
- The struct for configuring navigation requests. Used in
CAbstractPTGBasedReactive::navigate()
- TNavigationParamsBase = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TNavigationParamsBase'>
- Base for all high-level navigation commands. See derived classes
- TState = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TState'>
- TargetInfo = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TargetInfo'>
- Individual target info in CAbstractNavigator::TNavigationParamsBase and
derived classes
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CRobot2NavInterface(pybind11_builtins.pybind11_object) |
|
The pure virtual interface between a real or simulated robot and any
`CAbstractNavigator`-derived class.
The user must define a new class derived from `CRobot2NavInterface` and
reimplement
all pure virtual and the desired virtual methods according to the
documentation in this class.
This class does not make assumptions about the kinematic
model of the robot, so it can work with either
Ackermann, differential-driven or holonomic robots. It will depend on the
used PTGs, so checkout
each PTG documentation for the length and meaning of velocity commands.
If used for a simulator, users may prefer to inherit from one of these
classes, which already provide partial implementations:
- mrpt::nav::CRobot2NavInterfaceForSimulator_DiffDriven
- mrpt::nav::CRobot2NavInterfaceForSimulator_Holo
CReactiveNavigationSystem, CAbstractNavigator |
|
- Method resolution order:
- CRobot2NavInterface
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, arg0: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, : mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> mrpt.pymrpt.mrpt.nav.CRobot2NavInterface
C++: mrpt::nav::CRobot2NavInterface::operator=(const class mrpt::nav::CRobot2NavInterface &) --> class mrpt::nav::CRobot2NavInterface &
- changeSpeeds(...)
- changeSpeeds(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, vel_cmd: mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd) -> bool
Sends a velocity command to the robot.
The number components in each command depends on children classes of
mrpt::kinematics::CVehicleVelCmd.
One robot may accept one or more different CVehicleVelCmd classes.
This method resets the watchdog timer (that may be or may be not
implemented in a particular robotic platform) started with
startWatchdog()
false on any error.
startWatchdog
C++: mrpt::nav::CRobot2NavInterface::changeSpeeds(const class mrpt::kinematics::CVehicleVelCmd &) --> bool
- changeSpeedsNOP(...)
- changeSpeedsNOP(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> bool
Just like changeSpeeds(), but will be called when the last velocity
command is still the preferred solution,
so there is no need to change that past command. The unique effect of
this callback would be resetting the watchdog timer.
false on any error.
changeSpeeds(), startWatchdog()
C++: mrpt::nav::CRobot2NavInterface::changeSpeedsNOP() --> bool
- getAlignCmd(...)
- getAlignCmd(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, relative_heading_radians: float) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
Gets a motion command to make the robot to align with a given *relative*
heading, without translating.
Only for circular robots that can rotate in place; otherwise, return an
empty smart pointer to indicate
that the operation is not possible (this is what the default
implementation does).
C++: mrpt::nav::CRobot2NavInterface::getAlignCmd(const double) --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- getCurrentPoseAndSpeeds(...)
- getCurrentPoseAndSpeeds(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, curPose: mrpt.pymrpt.mrpt.math.TPose2D, curVelGlobal: mrpt::math::TTwist2D, timestamp: mrpt.pymrpt.std.chrono.time_point_mrpt_Clock_std_chrono_duration_long_std_ratio_1_10000000_t, curOdometry: mrpt.pymrpt.mrpt.math.TPose2D, frame_id: str) -> bool
Get the current pose and velocity of the robot. The implementation
should not take too much time to return,
so if it might take more than ~10ms to ask the robot for the
instantaneous data, it may be good enough to
return the latest values from a cache which is updated in a parallel
thread.
false on any error retrieving these values from the robot.
C++: mrpt::nav::CRobot2NavInterface::getCurrentPoseAndSpeeds(struct mrpt::math::TPose2D &, struct mrpt::math::TTwist2D &, mrpt::Clock::time_point &, struct mrpt::math::TPose2D &, std::string &) --> bool
- getEmergencyStopCmd(...)
- getEmergencyStopCmd(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
Gets the emergency stop command for the current robot
the emergency stop command
C++: mrpt::nav::CRobot2NavInterface::getEmergencyStopCmd() --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- getNavigationTime(...)
- getNavigationTime(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> float
Returns the number of seconds ellapsed since the constructor of this
class was invoked, or since
the last call of resetNavigationTimer(). This will be normally
wall-clock time, except in simulators where this method will return
simulation time.
C++: mrpt::nav::CRobot2NavInterface::getNavigationTime() --> double
- getStopCmd(...)
- getStopCmd(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
Gets the emergency stop command for the current robot
the emergency stop command
C++: mrpt::nav::CRobot2NavInterface::getStopCmd() --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- resetNavigationTimer(...)
- resetNavigationTimer(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
see getNavigationTime()
C++: mrpt::nav::CRobot2NavInterface::resetNavigationTimer() --> void
- sendApparentCollisionEvent(...)
- sendApparentCollisionEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: Apparent collision event (i.e. there is at least one obstacle
point inside the robot shape)
C++: mrpt::nav::CRobot2NavInterface::sendApparentCollisionEvent() --> void
- sendCannotGetCloserToBlockedTargetEvent(...)
- sendCannotGetCloserToBlockedTargetEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: Target seems to be blocked by an obstacle.
C++: mrpt::nav::CRobot2NavInterface::sendCannotGetCloserToBlockedTargetEvent() --> void
- sendNavigationEndDueToErrorEvent(...)
- sendNavigationEndDueToErrorEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: Error asking sensory data from robot or sending motor
commands.
C++: mrpt::nav::CRobot2NavInterface::sendNavigationEndDueToErrorEvent() --> void
- sendNavigationEndEvent(...)
- sendNavigationEndEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: End of navigation command (reach of single goal, or final
waypoint of waypoint list)
C++: mrpt::nav::CRobot2NavInterface::sendNavigationEndEvent() --> void
- sendNavigationStartEvent(...)
- sendNavigationStartEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
@{
Callback: Start of navigation command
C++: mrpt::nav::CRobot2NavInterface::sendNavigationStartEvent() --> void
- sendNewWaypointTargetEvent(...)
- sendNewWaypointTargetEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, waypoint_index: int) -> None
Callback: Heading towards a new intermediary/final waypoint in waypoint
list navigation
C++: mrpt::nav::CRobot2NavInterface::sendNewWaypointTargetEvent(int) --> void
- sendWaySeemsBlockedEvent(...)
- sendWaySeemsBlockedEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: No progression made towards target for a predefined period of
time.
C++: mrpt::nav::CRobot2NavInterface::sendWaySeemsBlockedEvent() --> void
- sendWaypointReachedEvent(...)
- sendWaypointReachedEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, waypoint_index: int, reached_nSkipped: bool) -> None
Callback: Reached an intermediary waypoint in waypoint list navigation.
reached_nSkipped will be `true` if the waypoint was physically reached;
`false` if it was actually "skipped".
C++: mrpt::nav::CRobot2NavInterface::sendWaypointReachedEvent(int, bool) --> void
- senseObstacles(...)
- senseObstacles(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, obstacles: mrpt.pymrpt.mrpt.maps.CSimplePointsMap, timestamp: mrpt.pymrpt.std.chrono.time_point_mrpt_Clock_std_chrono_duration_long_std_ratio_1_10000000_t) -> bool
Return the current set of obstacle points, as seen from the local
coordinate frame of the robot.
false on any error.
A representation of obstacles in robot-centric
coordinates.
The timestamp for the read obstacles. Use
mrpt::system::now() unless you have something more accurate.
C++: mrpt::nav::CRobot2NavInterface::senseObstacles(class mrpt::maps::CSimplePointsMap &, mrpt::Clock::time_point &) --> bool
- startWatchdog(...)
- startWatchdog(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, T_ms: float) -> bool
Start the watchdog timer of the robot platform, if any, for maximum
expected delay between consecutive calls to changeSpeeds().
Period, in ms.
false on any error.
C++: mrpt::nav::CRobot2NavInterface::startWatchdog(float) --> bool
- stop(...)
- stop(*args, **kwargs)
Overloaded function.
1. stop(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> bool
2. stop(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, isEmergencyStop: bool) -> bool
Stop the robot right now.
true if stop is due to some unexpected error.
false if "stop" happens as part of a normal operation (e.g. target
reached).
false on any error.
C++: mrpt::nav::CRobot2NavInterface::stop(bool) --> bool
- stopWatchdog(...)
- stopWatchdog(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> bool
Stop the watchdog timer.
false on any error.
startWatchdog
C++: mrpt::nav::CRobot2NavInterface::stopWatchdog() --> bool
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CRobot2NavInterfaceForSimulator_DiffDriven(CRobot2NavInterface) |
|
CRobot2NavInterface implemented for a simulator object based on
mrpt::kinematics::CVehicleSimul_DiffDriven
Only `senseObstacles()` remains virtual for the user to implement it.
CReactiveNavigationSystem, CAbstractNavigator,
mrpt::kinematics::CVehicleSimulVirtualBase |
|
- Method resolution order:
- CRobot2NavInterfaceForSimulator_DiffDriven
- CRobot2NavInterface
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_DiffDriven, simul: mrpt.pymrpt.mrpt.kinematics.CVehicleSimul_DiffDriven) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_DiffDriven, arg0: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_DiffDriven) -> None
- changeSpeeds(...)
- changeSpeeds(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_DiffDriven, vel_cmd: mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd) -> bool
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_DiffDriven::changeSpeeds(const class mrpt::kinematics::CVehicleVelCmd &) --> bool
- getCurrentPoseAndSpeeds(...)
- getCurrentPoseAndSpeeds(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_DiffDriven, curPose: mrpt.pymrpt.mrpt.math.TPose2D, curVel: mrpt::math::TTwist2D, timestamp: mrpt.pymrpt.std.chrono.time_point_mrpt_Clock_std_chrono_duration_long_std_ratio_1_10000000_t, curOdometry: mrpt.pymrpt.mrpt.math.TPose2D, frame_id: str) -> bool
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_DiffDriven::getCurrentPoseAndSpeeds(struct mrpt::math::TPose2D &, struct mrpt::math::TTwist2D &, mrpt::Clock::time_point &, struct mrpt::math::TPose2D &, std::string &) --> bool
- getEmergencyStopCmd(...)
- getEmergencyStopCmd(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_DiffDriven) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_DiffDriven::getEmergencyStopCmd() --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- getNavigationTime(...)
- getNavigationTime(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_DiffDriven) -> float
See CRobot2NavInterface::getNavigationTime(). In this class, simulation
time is returned instead of wall-clock time.
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_DiffDriven::getNavigationTime() --> double
- getStopCmd(...)
- getStopCmd(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_DiffDriven) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_DiffDriven::getStopCmd() --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- resetNavigationTimer(...)
- resetNavigationTimer(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_DiffDriven) -> None
See CRobot2NavInterface::resetNavigationTimer()
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_DiffDriven::resetNavigationTimer() --> void
- stop(...)
- stop(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_DiffDriven, isEmergencyStop: bool) -> bool
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_DiffDriven::stop(bool) --> bool
Methods inherited from CRobot2NavInterface:
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, : mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> mrpt.pymrpt.mrpt.nav.CRobot2NavInterface
C++: mrpt::nav::CRobot2NavInterface::operator=(const class mrpt::nav::CRobot2NavInterface &) --> class mrpt::nav::CRobot2NavInterface &
- changeSpeedsNOP(...)
- changeSpeedsNOP(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> bool
Just like changeSpeeds(), but will be called when the last velocity
command is still the preferred solution,
so there is no need to change that past command. The unique effect of
this callback would be resetting the watchdog timer.
false on any error.
changeSpeeds(), startWatchdog()
C++: mrpt::nav::CRobot2NavInterface::changeSpeedsNOP() --> bool
- getAlignCmd(...)
- getAlignCmd(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, relative_heading_radians: float) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
Gets a motion command to make the robot to align with a given *relative*
heading, without translating.
Only for circular robots that can rotate in place; otherwise, return an
empty smart pointer to indicate
that the operation is not possible (this is what the default
implementation does).
C++: mrpt::nav::CRobot2NavInterface::getAlignCmd(const double) --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- sendApparentCollisionEvent(...)
- sendApparentCollisionEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: Apparent collision event (i.e. there is at least one obstacle
point inside the robot shape)
C++: mrpt::nav::CRobot2NavInterface::sendApparentCollisionEvent() --> void
- sendCannotGetCloserToBlockedTargetEvent(...)
- sendCannotGetCloserToBlockedTargetEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: Target seems to be blocked by an obstacle.
C++: mrpt::nav::CRobot2NavInterface::sendCannotGetCloserToBlockedTargetEvent() --> void
- sendNavigationEndDueToErrorEvent(...)
- sendNavigationEndDueToErrorEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: Error asking sensory data from robot or sending motor
commands.
C++: mrpt::nav::CRobot2NavInterface::sendNavigationEndDueToErrorEvent() --> void
- sendNavigationEndEvent(...)
- sendNavigationEndEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: End of navigation command (reach of single goal, or final
waypoint of waypoint list)
C++: mrpt::nav::CRobot2NavInterface::sendNavigationEndEvent() --> void
- sendNavigationStartEvent(...)
- sendNavigationStartEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
@{
Callback: Start of navigation command
C++: mrpt::nav::CRobot2NavInterface::sendNavigationStartEvent() --> void
- sendNewWaypointTargetEvent(...)
- sendNewWaypointTargetEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, waypoint_index: int) -> None
Callback: Heading towards a new intermediary/final waypoint in waypoint
list navigation
C++: mrpt::nav::CRobot2NavInterface::sendNewWaypointTargetEvent(int) --> void
- sendWaySeemsBlockedEvent(...)
- sendWaySeemsBlockedEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: No progression made towards target for a predefined period of
time.
C++: mrpt::nav::CRobot2NavInterface::sendWaySeemsBlockedEvent() --> void
- sendWaypointReachedEvent(...)
- sendWaypointReachedEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, waypoint_index: int, reached_nSkipped: bool) -> None
Callback: Reached an intermediary waypoint in waypoint list navigation.
reached_nSkipped will be `true` if the waypoint was physically reached;
`false` if it was actually "skipped".
C++: mrpt::nav::CRobot2NavInterface::sendWaypointReachedEvent(int, bool) --> void
- senseObstacles(...)
- senseObstacles(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, obstacles: mrpt.pymrpt.mrpt.maps.CSimplePointsMap, timestamp: mrpt.pymrpt.std.chrono.time_point_mrpt_Clock_std_chrono_duration_long_std_ratio_1_10000000_t) -> bool
Return the current set of obstacle points, as seen from the local
coordinate frame of the robot.
false on any error.
A representation of obstacles in robot-centric
coordinates.
The timestamp for the read obstacles. Use
mrpt::system::now() unless you have something more accurate.
C++: mrpt::nav::CRobot2NavInterface::senseObstacles(class mrpt::maps::CSimplePointsMap &, mrpt::Clock::time_point &) --> bool
- startWatchdog(...)
- startWatchdog(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, T_ms: float) -> bool
Start the watchdog timer of the robot platform, if any, for maximum
expected delay between consecutive calls to changeSpeeds().
Period, in ms.
false on any error.
C++: mrpt::nav::CRobot2NavInterface::startWatchdog(float) --> bool
- stopWatchdog(...)
- stopWatchdog(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> bool
Stop the watchdog timer.
false on any error.
startWatchdog
C++: mrpt::nav::CRobot2NavInterface::stopWatchdog() --> bool
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CRobot2NavInterfaceForSimulator_Holo(CRobot2NavInterface) |
|
CRobot2NavInterface implemented for a simulator object based on
mrpt::kinematics::CVehicleSimul_Holo.
Only `senseObstacles()` remains virtual for the user to implement it.
CReactiveNavigationSystem, CAbstractNavigator,
mrpt::kinematics::CVehicleSimulVirtualBase |
|
- Method resolution order:
- CRobot2NavInterfaceForSimulator_Holo
- CRobot2NavInterface
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_Holo, simul: mrpt.pymrpt.mrpt.kinematics.CVehicleSimul_Holo) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_Holo, arg0: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_Holo) -> None
- changeSpeeds(...)
- changeSpeeds(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_Holo, vel_cmd: mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd) -> bool
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_Holo::changeSpeeds(const class mrpt::kinematics::CVehicleVelCmd &) --> bool
- getAlignCmd(...)
- getAlignCmd(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_Holo, relative_heading_radians: float) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_Holo::getAlignCmd(const double) --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- getCurrentPoseAndSpeeds(...)
- getCurrentPoseAndSpeeds(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_Holo, curPose: mrpt.pymrpt.mrpt.math.TPose2D, curVel: mrpt::math::TTwist2D, timestamp: mrpt.pymrpt.std.chrono.time_point_mrpt_Clock_std_chrono_duration_long_std_ratio_1_10000000_t, curOdometry: mrpt.pymrpt.mrpt.math.TPose2D, frame_id: str) -> bool
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_Holo::getCurrentPoseAndSpeeds(struct mrpt::math::TPose2D &, struct mrpt::math::TTwist2D &, mrpt::Clock::time_point &, struct mrpt::math::TPose2D &, std::string &) --> bool
- getEmergencyStopCmd(...)
- getEmergencyStopCmd(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_Holo) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_Holo::getEmergencyStopCmd() --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- getNavigationTime(...)
- getNavigationTime(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_Holo) -> float
See CRobot2NavInterface::getNavigationTime(). In this class, simulation
time is returned instead of wall-clock time.
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_Holo::getNavigationTime() --> double
- getStopCmd(...)
- getStopCmd(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_Holo) -> mrpt.pymrpt.mrpt.kinematics.CVehicleVelCmd
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_Holo::getStopCmd() --> class std::shared_ptr<class mrpt::kinematics::CVehicleVelCmd>
- resetNavigationTimer(...)
- resetNavigationTimer(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_Holo) -> None
See CRobot2NavInterface::resetNavigationTimer()
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_Holo::resetNavigationTimer() --> void
- stop(...)
- stop(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterfaceForSimulator_Holo, isEmergencyStop: bool) -> bool
C++: mrpt::nav::CRobot2NavInterfaceForSimulator_Holo::stop(bool) --> bool
Methods inherited from CRobot2NavInterface:
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, : mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> mrpt.pymrpt.mrpt.nav.CRobot2NavInterface
C++: mrpt::nav::CRobot2NavInterface::operator=(const class mrpt::nav::CRobot2NavInterface &) --> class mrpt::nav::CRobot2NavInterface &
- changeSpeedsNOP(...)
- changeSpeedsNOP(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> bool
Just like changeSpeeds(), but will be called when the last velocity
command is still the preferred solution,
so there is no need to change that past command. The unique effect of
this callback would be resetting the watchdog timer.
false on any error.
changeSpeeds(), startWatchdog()
C++: mrpt::nav::CRobot2NavInterface::changeSpeedsNOP() --> bool
- sendApparentCollisionEvent(...)
- sendApparentCollisionEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: Apparent collision event (i.e. there is at least one obstacle
point inside the robot shape)
C++: mrpt::nav::CRobot2NavInterface::sendApparentCollisionEvent() --> void
- sendCannotGetCloserToBlockedTargetEvent(...)
- sendCannotGetCloserToBlockedTargetEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: Target seems to be blocked by an obstacle.
C++: mrpt::nav::CRobot2NavInterface::sendCannotGetCloserToBlockedTargetEvent() --> void
- sendNavigationEndDueToErrorEvent(...)
- sendNavigationEndDueToErrorEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: Error asking sensory data from robot or sending motor
commands.
C++: mrpt::nav::CRobot2NavInterface::sendNavigationEndDueToErrorEvent() --> void
- sendNavigationEndEvent(...)
- sendNavigationEndEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: End of navigation command (reach of single goal, or final
waypoint of waypoint list)
C++: mrpt::nav::CRobot2NavInterface::sendNavigationEndEvent() --> void
- sendNavigationStartEvent(...)
- sendNavigationStartEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
@{
Callback: Start of navigation command
C++: mrpt::nav::CRobot2NavInterface::sendNavigationStartEvent() --> void
- sendNewWaypointTargetEvent(...)
- sendNewWaypointTargetEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, waypoint_index: int) -> None
Callback: Heading towards a new intermediary/final waypoint in waypoint
list navigation
C++: mrpt::nav::CRobot2NavInterface::sendNewWaypointTargetEvent(int) --> void
- sendWaySeemsBlockedEvent(...)
- sendWaySeemsBlockedEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
Callback: No progression made towards target for a predefined period of
time.
C++: mrpt::nav::CRobot2NavInterface::sendWaySeemsBlockedEvent() --> void
- sendWaypointReachedEvent(...)
- sendWaypointReachedEvent(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, waypoint_index: int, reached_nSkipped: bool) -> None
Callback: Reached an intermediary waypoint in waypoint list navigation.
reached_nSkipped will be `true` if the waypoint was physically reached;
`false` if it was actually "skipped".
C++: mrpt::nav::CRobot2NavInterface::sendWaypointReachedEvent(int, bool) --> void
- senseObstacles(...)
- senseObstacles(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, obstacles: mrpt.pymrpt.mrpt.maps.CSimplePointsMap, timestamp: mrpt.pymrpt.std.chrono.time_point_mrpt_Clock_std_chrono_duration_long_std_ratio_1_10000000_t) -> bool
Return the current set of obstacle points, as seen from the local
coordinate frame of the robot.
false on any error.
A representation of obstacles in robot-centric
coordinates.
The timestamp for the read obstacles. Use
mrpt::system::now() unless you have something more accurate.
C++: mrpt::nav::CRobot2NavInterface::senseObstacles(class mrpt::maps::CSimplePointsMap &, mrpt::Clock::time_point &) --> bool
- startWatchdog(...)
- startWatchdog(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface, T_ms: float) -> bool
Start the watchdog timer of the robot platform, if any, for maximum
expected delay between consecutive calls to changeSpeeds().
Period, in ms.
false on any error.
C++: mrpt::nav::CRobot2NavInterface::startWatchdog(float) --> bool
- stopWatchdog(...)
- stopWatchdog(self: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> bool
Stop the watchdog timer.
false on any error.
startWatchdog
C++: mrpt::nav::CRobot2NavInterface::stopWatchdog() --> bool
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class CWaypointsNavigator(CAbstractNavigator) |
|
This class extends `CAbstractNavigator` with the capability of following a
list of waypoints. By default, waypoints are followed one by one,
but, if they are tagged with `allow_skip=true` **and** the derived navigator
class supports it, the navigator may choose to skip some to
make a smoother, safer and shorter navigation.
Waypoints have an optional `target_heading` field, which will be honored only
for waypoints that are skipped, and if the underlying robot
interface supports the pure-rotation methods.
Notes on navigation status and event dispatchment:
- Navigation state may briefly pass by the `IDLE` status between a waypoint
is reached and a new navigation command is issued towards the next waypoint.
- `sendNavigationEndEvent()` will be called only when the last waypoint is
reached.
- Reaching an intermediary waypoint (or skipping it if considered so by the
navigator) generates a call to `sendWaypointReachedEvent()` instead.
Base class CAbstractNavigator, CWaypointsNavigator::navigateWaypoints(),
and derived classes. |
|
- Method resolution order:
- CWaypointsNavigator
- CAbstractNavigator
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, robot_interface_impl: mrpt.pymrpt.mrpt.nav.CRobot2NavInterface) -> None
- beginWaypointsAccess(...)
- beginWaypointsAccess(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> mrpt.pymrpt.mrpt.nav.TWaypointStatusSequence
Gets a write-enabled reference to the list of waypoints, simultanously
acquiring the critical section mutex.
Caller must call endWaypointsAccess() when done editing the waypoints.
C++: mrpt::nav::CWaypointsNavigator::beginWaypointsAccess() --> struct mrpt::nav::TWaypointStatusSequence &
- cancel(...)
- cancel(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> None
Cancel current navegation.
C++: mrpt::nav::CWaypointsNavigator::cancel() --> void
- endWaypointsAccess(...)
- endWaypointsAccess(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> None
Must be called after beginWaypointsAccess()
C++: mrpt::nav::CWaypointsNavigator::endWaypointsAccess() --> void
- getWaypointNavStatus(...)
- getWaypointNavStatus(*args, **kwargs)
Overloaded function.
1. getWaypointNavStatus(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, out_nav_status: mrpt.pymrpt.mrpt.nav.TWaypointStatusSequence) -> None
Get a copy of the control structure which describes the progress status
of the waypoint navigation.
C++: mrpt::nav::CWaypointsNavigator::getWaypointNavStatus(struct mrpt::nav::TWaypointStatusSequence &) const --> void
2. getWaypointNavStatus(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> mrpt.pymrpt.mrpt.nav.TWaypointStatusSequence
Get a copy of the control structure which describes the progress status
of the waypoint navigation.
C++: mrpt::nav::CWaypointsNavigator::getWaypointNavStatus() const --> struct mrpt::nav::TWaypointStatusSequence
- isRelativePointReachable(...)
- isRelativePointReachable(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, wp_local_wrt_robot: mrpt::math::TPoint2D_<double>) -> bool
Returns `true` if, according to the information gathered at the last
navigation step,
there is a free path to the given point; `false` otherwise: if way is
blocked or there is missing information,
the point is out of range for the existing PTGs, etc.
C++: mrpt::nav::CWaypointsNavigator::isRelativePointReachable(const struct mrpt::math::TPoint2D_<double> &) const --> bool
- loadConfigFile(...)
- loadConfigFile(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CWaypointsNavigator::loadConfigFile(const class mrpt::config::CConfigFileBase &) --> void
- navigateWaypoints(...)
- navigateWaypoints(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, nav_request: mrpt.pymrpt.mrpt.nav.TWaypointSequence) -> None
Waypoint navigation request. This immediately cancels any other previous
on-going navigation.
CAbstractNavigator::navigate() for single waypoint navigation
requests.
C++: mrpt::nav::CWaypointsNavigator::navigateWaypoints(const struct mrpt::nav::TWaypointSequence &) --> void
- navigationStep(...)
- navigationStep(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator) -> None
C++: mrpt::nav::CWaypointsNavigator::navigationStep() --> void
- saveConfigFile(...)
- saveConfigFile(self: mrpt.pymrpt.mrpt.nav.CWaypointsNavigator, c: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
C++: mrpt::nav::CWaypointsNavigator::saveConfigFile(class mrpt::config::CConfigFileBase &) const --> void
Data descriptors defined here:
- params_waypoints_navigator
Data and other attributes defined here:
- TNavigationParamsWaypoints = <class 'mrpt.pymrpt.mrpt.nav.CWaypointsNavigator.TNavigationParamsWaypoints'>
- The struct for configuring navigation requests to CWaypointsNavigator
and derived classes.
- TWaypointsNavigatorParams = <class 'mrpt.pymrpt.mrpt.nav.CWaypointsNavigator.TWaypointsNavigatorParams'>
Methods inherited from CAbstractNavigator:
- enableRethrowNavExceptions(...)
- enableRethrowNavExceptions(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator, enable: bool) -> None
By default, error exceptions on navigationStep() will dump an error
message to the output logger interface. If rethrow is enabled
(default=false), the error message will be reported as well, but
exceptions will be re-thrown.
C++: mrpt::nav::CAbstractNavigator::enableRethrowNavExceptions(const bool) --> void
- getCurrentState(...)
- getCurrentState(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TState
Returns the current navigator state.
C++: mrpt::nav::CAbstractNavigator::getCurrentState() const --> enum mrpt::nav::CAbstractNavigator::TState
- getDelaysTimeLogger(...)
- getDelaysTimeLogger(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt.pymrpt.mrpt.system.CTimeLogger
Gives access to a const-ref to the internal time logger used to estimate
delays
getTimeLogger() in derived classes
C++: mrpt::nav::CAbstractNavigator::getDelaysTimeLogger() const --> const class mrpt::system::CTimeLogger &
- getErrorReason(...)
- getErrorReason(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> mrpt::nav::CAbstractNavigator::TErrorReason
In case of state=NAV_ERROR, this returns the reason for the error.
Error state is reseted every time a new navigation starts with
a call to navigate(), or when resetNavError() is called.
C++: mrpt::nav::CAbstractNavigator::getErrorReason() const --> const struct mrpt::nav::CAbstractNavigator::TErrorReason &
- initialize(...)
- initialize(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Must be called before any other navigation command
C++: mrpt::nav::CAbstractNavigator::initialize() --> void
- isRethrowNavExceptionsEnabled(...)
- isRethrowNavExceptionsEnabled(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> bool
C++: mrpt::nav::CAbstractNavigator::isRethrowNavExceptionsEnabled() const --> bool
- resetNavError(...)
- resetNavError(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Resets a `NAV_ERROR` state back to `IDLE`
C++: mrpt::nav::CAbstractNavigator::resetNavError() --> void
- resume(...)
- resume(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Continues with suspended navigation.
suspend
C++: mrpt::nav::CAbstractNavigator::resume() --> void
- suspend(...)
- suspend(self: mrpt.pymrpt.mrpt.nav.CAbstractNavigator) -> None
Suspend current navegation.
resume
C++: mrpt::nav::CAbstractNavigator::suspend() --> void
Data descriptors inherited from CAbstractNavigator:
- m_navProfiler
- params_abstract_navigator
Data and other attributes inherited from CAbstractNavigator:
- ERR_CANNOT_REACH_TARGET = <TErrorCode.ERR_CANNOT_REACH_TARGET: 2>
- ERR_EMERGENCY_STOP = <TErrorCode.ERR_EMERGENCY_STOP: 1>
- ERR_NONE = <TErrorCode.ERR_NONE: 0>
- ERR_OTHER = <TErrorCode.ERR_OTHER: 3>
- IDLE = <TState.IDLE: 0>
- NAVIGATING = <TState.NAVIGATING: 1>
- NAV_ERROR = <TState.NAV_ERROR: 3>
- SUSPENDED = <TState.SUSPENDED: 2>
- TAbstractNavigatorParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TAbstractNavigatorParams'>
- @}
- TErrorCode = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TErrorCode'>
- TErrorReason = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TErrorReason'>
- TNavigationParams = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TNavigationParams'>
- The struct for configuring navigation requests. Used in
CAbstractPTGBasedReactive::navigate()
- TNavigationParamsBase = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TNavigationParamsBase'>
- Base for all high-level navigation commands. See derived classes
- TState = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TState'>
- TargetInfo = <class 'mrpt.pymrpt.mrpt.nav.CAbstractNavigator.TargetInfo'>
- Individual target info in CAbstractNavigator::TNavigationParamsBase and
derived classes
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class ClearanceDiagram(pybind11_builtins.pybind11_object) |
|
Clearance information for one particular PTG and one set of obstacles.
Usage:
- Declare an object of this type (it will be initialized to "empty"),
- Call CParameterizedTrajectoryGenerator::initClearanceDiagram()
- Repeatedly call CParameterizedTrajectoryGenerator::updateClearance() for
each 2D obstacle point. |
|
- Method resolution order:
- ClearanceDiagram
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram, arg0: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram, : mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> mrpt.pymrpt.mrpt.nav.ClearanceDiagram
C++: mrpt::nav::ClearanceDiagram::operator=(const class mrpt::nav::ClearanceDiagram &) --> class mrpt::nav::ClearanceDiagram &
- clear(...)
- clear(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> None
Reset to default, empty state
C++: mrpt::nav::ClearanceDiagram::clear() --> void
- decimated_k_to_real_k(...)
- decimated_k_to_real_k(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram, k: int) -> int
C++: mrpt::nav::ClearanceDiagram::decimated_k_to_real_k(size_t) const --> size_t
- empty(...)
- empty(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> bool
C++: mrpt::nav::ClearanceDiagram::empty() const --> bool
- getClearance(...)
- getClearance(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram, k: int, TPS_query_distance: float, integrate_over_path: bool) -> float
Gets the clearance for path `k` and distance `TPS_query_distance` in one
of two modes:
- [integrate_over_path=false] clearance from that specific spot, or
- [integrate_over_path=true] average clearance over the path from the
origin to that specific spot.
C++: mrpt::nav::ClearanceDiagram::getClearance(uint16_t, double, bool) const --> double
- get_actual_num_paths(...)
- get_actual_num_paths(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> int
C++: mrpt::nav::ClearanceDiagram::get_actual_num_paths() const --> size_t
- get_decimated_num_paths(...)
- get_decimated_num_paths(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram) -> int
C++: mrpt::nav::ClearanceDiagram::get_decimated_num_paths() const --> size_t
- get_path_clearance(...)
- get_path_clearance(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram, actual_k: int) -> Dict[float, float]
C++: mrpt::nav::ClearanceDiagram::get_path_clearance(size_t) --> class std::map<double, double> &
- get_path_clearance_decimated(...)
- get_path_clearance_decimated(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram, decim_k: int) -> Dict[float, float]
C++: mrpt::nav::ClearanceDiagram::get_path_clearance_decimated(size_t) --> class std::map<double, double> &
- readFromStream(...)
- readFromStream(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram, in: mrpt.pymrpt.mrpt.serialization.CArchive) -> None
C++: mrpt::nav::ClearanceDiagram::readFromStream(class mrpt::serialization::CArchive &) --> void
- real_k_to_decimated_k(...)
- real_k_to_decimated_k(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram, k: int) -> int
C++: mrpt::nav::ClearanceDiagram::real_k_to_decimated_k(size_t) const --> size_t
- renderAs3DObject(...)
- renderAs3DObject(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram, mesh: mrpt::opengl::CMesh, min_x: float, max_x: float, min_y: float, max_y: float, cell_res: float, integrate_over_path: bool) -> None
C++: mrpt::nav::ClearanceDiagram::renderAs3DObject(class mrpt::opengl::CMesh &, double, double, double, double, double, bool) const --> void
- resize(...)
- resize(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram, actual_num_paths: int, decimated_num_paths: int) -> None
Initializes the container to allocate `decimated_num_paths` entries, as
a decimated
subset of a total of `actual_num_paths` paths
C++: mrpt::nav::ClearanceDiagram::resize(size_t, size_t) --> void
- writeToStream(...)
- writeToStream(self: mrpt.pymrpt.mrpt.nav.ClearanceDiagram, out: mrpt.pymrpt.mrpt.serialization.CArchive) -> None
C++: mrpt::nav::ClearanceDiagram::writeToStream(class mrpt::serialization::CArchive &) const --> void
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class PTG_collision_behavior_t(pybind11_builtins.pybind11_object) |
| |
- Method resolution order:
- PTG_collision_behavior_t
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __and__(...)
- __and__(self: object, other: object) -> object
- __eq__(...)
- __eq__(self: object, other: object) -> bool
- __ge__(...)
- __ge__(self: object, other: object) -> bool
- __getstate__(...)
- __getstate__(self: object) -> int
- __gt__(...)
- __gt__(self: object, other: object) -> bool
- __hash__(...)
- __hash__(self: object) -> int
- __index__(...)
- __index__(self: mrpt.pymrpt.mrpt.nav.PTG_collision_behavior_t) -> int
- __init__(...)
- __init__(self: mrpt.pymrpt.mrpt.nav.PTG_collision_behavior_t, value: int) -> None
- __int__(...)
- __int__(self: mrpt.pymrpt.mrpt.nav.PTG_collision_behavior_t) -> int
- __invert__(...)
- __invert__(self: object) -> object
- __le__(...)
- __le__(self: object, other: object) -> bool
- __lt__(...)
- __lt__(self: object, other: object) -> bool
- __ne__(...)
- __ne__(self: object, other: object) -> bool
- __or__(...)
- __or__(self: object, other: object) -> object
- __rand__(...)
- __rand__(self: object, other: object) -> object
- __repr__(...)
- __repr__(self: object) -> str
- __ror__(...)
- __ror__(self: object, other: object) -> object
- __rxor__(...)
- __rxor__(self: object, other: object) -> object
- __setstate__(...)
- __setstate__(self: mrpt.pymrpt.mrpt.nav.PTG_collision_behavior_t, state: int) -> None
- __str__ = name(...)
- name(self: handle) -> str
- __xor__(...)
- __xor__(self: object, other: object) -> object
Readonly properties defined here:
- __members__
- name
- name(self: handle) -> str
- value
Data and other attributes defined here:
- COLL_BEH_BACK_AWAY = <PTG_collision_behavior_t.COLL_BEH_BACK_AWAY: 0>
- COLL_BEH_STOP = <PTG_collision_behavior_t.COLL_BEH_STOP: 1>
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class PlannerRRT_SE2_TPS(PlannerTPS_VirtualBase) |
|
TP Space-based RRT path planning for SE(2) (planar) robots.
This planner algorithm is described in the paper:
- M. Bellone, J.L. Blanco, A. Gimenez, "TP-Space RRT: Kinematic path
planning of non-holonomic any-shape vehicles", International Journal of
Advanced Robotic Systems, 2015.
Typical usage:
- Changes history:
- 06/MAR/2014: Creation (MB)
- 06/JAN/2015: Refactoring (JLBC)
Factorize into more generic path planner classes! //template <class
POSE, class MOTIONS>... |
|
- Method resolution order:
- PlannerRRT_SE2_TPS
- PlannerTPS_VirtualBase
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(self: mrpt.pymrpt.mrpt.nav.PlannerRRT_SE2_TPS) -> None
- initialize(...)
- initialize(self: mrpt.pymrpt.mrpt.nav.PlannerRRT_SE2_TPS) -> None
Must be called after setting all params (see `loadConfig()`) and before
calling `solve()`
C++: mrpt::nav::PlannerRRT_SE2_TPS::initialize() --> void
- loadConfig(...)
- loadConfig(*args, **kwargs)
Overloaded function.
1. loadConfig(self: mrpt.pymrpt.mrpt.nav.PlannerRRT_SE2_TPS, cfgSource: mrpt.pymrpt.mrpt.config.CConfigFileBase) -> None
2. loadConfig(self: mrpt.pymrpt.mrpt.nav.PlannerRRT_SE2_TPS, cfgSource: mrpt.pymrpt.mrpt.config.CConfigFileBase, sSectionName: str) -> None
Load all params from a config file source
C++: mrpt::nav::PlannerRRT_SE2_TPS::loadConfig(const class mrpt::config::CConfigFileBase &, const std::string &) --> void
- solve(...)
- solve(self: mrpt.pymrpt.mrpt.nav.PlannerRRT_SE2_TPS, pi: mrpt::nav::PlannerRRT_SE2_TPS::TPlannerInput, result: mrpt::nav::PlannerRRT_SE2_TPS::TPlannerResult) -> None
The main API entry point: tries to find a planned path from 'goal' to
'target'
C++: mrpt::nav::PlannerRRT_SE2_TPS::solve(const struct mrpt::nav::PlannerRRT_SE2_TPS::TPlannerInput &, struct mrpt::nav::PlannerRRT_SE2_TPS::TPlannerResult &) --> void
Data and other attributes defined here:
- TPlannerInput = <class 'mrpt.pymrpt.mrpt.nav.PlannerRRT_SE2_TPS.TPlannerInput'>
- TPlannerResult = <class 'mrpt.pymrpt.mrpt.nav.PlannerRRT_SE2_TPS.TPlannerResult'>
Methods inherited from PlannerTPS_VirtualBase:
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.PlannerTPS_VirtualBase, : mrpt.pymrpt.mrpt.nav.PlannerTPS_VirtualBase) -> mrpt.pymrpt.mrpt.nav.PlannerTPS_VirtualBase
C++: mrpt::nav::PlannerTPS_VirtualBase::operator=(const class mrpt::nav::PlannerTPS_VirtualBase &) --> class mrpt::nav::PlannerTPS_VirtualBase &
- getProfiler(...)
- getProfiler(self: mrpt.pymrpt.mrpt.nav.PlannerTPS_VirtualBase) -> mrpt.pymrpt.mrpt.system.CTimeLogger
C++: mrpt::nav::PlannerTPS_VirtualBase::getProfiler() --> class mrpt::system::CTimeLogger &
Data descriptors inherited from PlannerTPS_VirtualBase:
- end_criteria
- params
Data and other attributes inherited from PlannerTPS_VirtualBase:
- TRenderPlannedPathOptions = <class 'mrpt.pymrpt.mrpt.nav.PlannerTPS_VirtualBase.TRenderPlannedPathOptions'>
- Options for renderMoveTree()
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class PlannerSimple2D(pybind11_builtins.pybind11_object) |
|
Searches for collision-free path in 2D occupancy grids for holonomic
circular robots.
The implementation first enlargest obstacles with robot radius, then applies
a
wavefront algorithm to find the shortest free path between origin and target
2D points.
Notice that this simple planner does not take into account robot kinematic
constraints. |
|
- Method resolution order:
- PlannerSimple2D
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(self: mrpt.pymrpt.mrpt.nav.PlannerSimple2D) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.PlannerSimple2D, : mrpt.pymrpt.mrpt.nav.PlannerSimple2D) -> mrpt.pymrpt.mrpt.nav.PlannerSimple2D
C++: mrpt::nav::PlannerSimple2D::operator=(const class mrpt::nav::PlannerSimple2D &) --> class mrpt::nav::PlannerSimple2D &
Data descriptors defined here:
- minStepInReturnedPath
- occupancyThreshold
- robotRadius
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class PoseDistanceMetric_mrpt_nav_TNodeSE2_TP_t(pybind11_builtins.pybind11_object) |
|
Pose metric for SE(2) limited to a given PTG manifold. NOTE: This 'metric'
is NOT symmetric for all PTGs: d(a,b)!=d(b,a) |
|
- Method resolution order:
- PoseDistanceMetric_mrpt_nav_TNodeSE2_TP_t
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(self: mrpt.pymrpt.mrpt.nav.PoseDistanceMetric_mrpt_nav_TNodeSE2_TP_t, ptg: mrpt.pymrpt.mrpt.nav.CParameterizedTrajectoryGenerator) -> None
- cannotBeNearerThan(...)
- cannotBeNearerThan(self: mrpt.pymrpt.mrpt.nav.PoseDistanceMetric_mrpt_nav_TNodeSE2_TP_t, a: mrpt.pymrpt.mrpt.nav.TNodeSE2_TP, b: mrpt.pymrpt.mrpt.nav.TNodeSE2_TP, d: float) -> bool
C++: mrpt::nav::PoseDistanceMetric<mrpt::nav::TNodeSE2_TP>::cannotBeNearerThan(const struct mrpt::nav::TNodeSE2_TP &, const struct mrpt::nav::TNodeSE2_TP &, const double) const --> bool
- distance(...)
- distance(self: mrpt.pymrpt.mrpt.nav.PoseDistanceMetric_mrpt_nav_TNodeSE2_TP_t, src: mrpt.pymrpt.mrpt.nav.TNodeSE2_TP, dst: mrpt.pymrpt.mrpt.nav.TNodeSE2_TP) -> float
C++: mrpt::nav::PoseDistanceMetric<mrpt::nav::TNodeSE2_TP>::distance(const struct mrpt::nav::TNodeSE2_TP &, const struct mrpt::nav::TNodeSE2_TP &) const --> double
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class TCPoint(pybind11_builtins.pybind11_object) |
|
Trajectory points in C-Space for non-holonomic robots
CPTG_DiffDrive_CollisionGridBased |
|
- Method resolution order:
- TCPoint
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.TCPoint) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.TCPoint, x_: float, y_: float, phi_: float, t_: float, dist_: float, v_: float, w_: float) -> None
Data descriptors defined here:
- dist
- phi
- t
- v
- w
- x
- y
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class TMoveEdgeSE2_TP(pybind11_builtins.pybind11_object) |
|
An edge for the move tree used for planning in SE2 and TP-space |
|
- Method resolution order:
- TMoveEdgeSE2_TP
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.TMoveEdgeSE2_TP) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.TMoveEdgeSE2_TP, parent_id_: int, end_pose_: mrpt.pymrpt.mrpt.math.TPose2D) -> None
Data descriptors defined here:
- cost
- end_state
- parent_id
- ptg_K
- ptg_dist
- ptg_index
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t(mrpt.pymrpt.mrpt.graphs.CDirectedTree_mrpt_nav_TMoveEdgeSE2_TP_t) |
| |
- Method resolution order:
- TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t
- mrpt.pymrpt.mrpt.graphs.CDirectedTree_mrpt_nav_TMoveEdgeSE2_TP_t
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t, arg0: mrpt.pymrpt.mrpt.nav.TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t) -> None
- assign(...)
- assign(*args, **kwargs)
Overloaded function.
1. assign(self: mrpt.pymrpt.mrpt.nav.TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t, : mrpt.pymrpt.mrpt.nav.TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t) -> mrpt.pymrpt.mrpt.nav.TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t
C++: mrpt::nav::TMoveTree<mrpt::nav::TNodeSE2_TP, mrpt::nav::TMoveEdgeSE2_TP>::operator=(const class mrpt::nav::TMoveTree<struct mrpt::nav::TNodeSE2_TP, struct mrpt::nav::TMoveEdgeSE2_TP> &) --> class mrpt::nav::TMoveTree<struct mrpt::nav::TNodeSE2_TP, struct mrpt::nav::TMoveEdgeSE2_TP> &
2. assign(self: mrpt.pymrpt.mrpt.nav.TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t, : mrpt.pymrpt.mrpt.graphs.CDirectedTree_mrpt_nav_TMoveEdgeSE2_TP_t) -> mrpt.pymrpt.mrpt.graphs.CDirectedTree_mrpt_nav_TMoveEdgeSE2_TP_t
C++: mrpt::graphs::CDirectedTree<mrpt::nav::TMoveEdgeSE2_TP>::operator=(const class mrpt::graphs::CDirectedTree<struct mrpt::nav::TMoveEdgeSE2_TP> &) --> class mrpt::graphs::CDirectedTree<struct mrpt::nav::TMoveEdgeSE2_TP> &
- clear(...)
- clear(self: mrpt.pymrpt.mrpt.nav.TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t) -> None
C++: mrpt::graphs::CDirectedTree<mrpt::nav::TMoveEdgeSE2_TP>::clear() --> void
- getAsTextDescription(...)
- getAsTextDescription(self: mrpt.pymrpt.mrpt.nav.TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t) -> str
C++: mrpt::graphs::CDirectedTree<mrpt::nav::TMoveEdgeSE2_TP>::getAsTextDescription() const --> std::string
- getNextFreeNodeID(...)
- getNextFreeNodeID(self: mrpt.pymrpt.mrpt.nav.TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t) -> int
C++: mrpt::nav::TMoveTree<mrpt::nav::TNodeSE2_TP, mrpt::nav::TMoveEdgeSE2_TP>::getNextFreeNodeID() const --> mrpt::graphs::TNodeID
- insertNode(...)
- insertNode(self: mrpt.pymrpt.mrpt.nav.TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t, node_id: int, node_data: mrpt::nav::TNodeSE2_TP) -> None
C++: mrpt::nav::TMoveTree<mrpt::nav::TNodeSE2_TP, mrpt::nav::TMoveEdgeSE2_TP>::insertNode(const unsigned long, const struct mrpt::nav::TNodeSE2_TP &) --> void
- insertNodeAndEdge(...)
- insertNodeAndEdge(self: mrpt.pymrpt.mrpt.nav.TMoveTree_mrpt_nav_TNodeSE2_TP_mrpt_nav_TMoveEdgeSE2_TP_mrpt_containers_map_traits_map_as_vector_t, parent_id: int, new_child_id: int, new_child_node_data: mrpt::nav::TNodeSE2_TP, new_edge_data: mrpt::nav::TMoveEdgeSE2_TP) -> None
C++: mrpt::nav::TMoveTree<mrpt::nav::TNodeSE2_TP, mrpt::nav::TMoveEdgeSE2_TP>::insertNodeAndEdge(const unsigned long, const unsigned long, const struct mrpt::nav::TNodeSE2_TP &, const struct mrpt::nav::TMoveEdgeSE2_TP &) --> void
Data descriptors defined here:
- edges_to_children
- root
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class TNodeSE2(pybind11_builtins.pybind11_object) |
| |
- Method resolution order:
- TNodeSE2
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.TNodeSE2, state_: mrpt.pymrpt.mrpt.math.TPose2D) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.TNodeSE2) -> None
Data descriptors defined here:
- state
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class TNodeSE2_TP(pybind11_builtins.pybind11_object) |
| |
- Method resolution order:
- TNodeSE2_TP
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.TNodeSE2_TP, state_: mrpt.pymrpt.mrpt.math.TPose2D) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.TNodeSE2_TP) -> None
Data descriptors defined here:
- state
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class TRobotShape(pybind11_builtins.pybind11_object) |
|
A 3D robot shape stored as a "sliced" stack of 2D polygons, used for
CReactiveNavigationSystem3D
Depending on each PTG, only the 2D polygon or the circular radius will be
taken into account |
|
- Method resolution order:
- TRobotShape
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.TRobotShape) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.TRobotShape, arg0: mrpt.pymrpt.mrpt.nav.TRobotShape) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.TRobotShape, : mrpt.pymrpt.mrpt.nav.TRobotShape) -> mrpt.pymrpt.mrpt.nav.TRobotShape
C++: mrpt::nav::TRobotShape::operator=(const struct mrpt::nav::TRobotShape &) --> struct mrpt::nav::TRobotShape &
- getHeight(...)
- getHeight(self: mrpt.pymrpt.mrpt.nav.TRobotShape, level: int) -> float
C++: mrpt::nav::TRobotShape::getHeight(size_t) const --> double
- getRadius(...)
- getRadius(self: mrpt.pymrpt.mrpt.nav.TRobotShape, level: int) -> float
C++: mrpt::nav::TRobotShape::getRadius(size_t) const --> double
- polygon(...)
- polygon(self: mrpt.pymrpt.mrpt.nav.TRobotShape, level: int) -> mrpt.pymrpt.mrpt.math.CPolygon
C++: mrpt::nav::TRobotShape::polygon(size_t) --> class mrpt::math::CPolygon &
- resize(...)
- resize(self: mrpt.pymrpt.mrpt.nav.TRobotShape, num_levels: int) -> None
C++: mrpt::nav::TRobotShape::resize(size_t) --> void
- setHeight(...)
- setHeight(self: mrpt.pymrpt.mrpt.nav.TRobotShape, level: int, h: float) -> None
C++: mrpt::nav::TRobotShape::setHeight(size_t, double) --> void
- setRadius(...)
- setRadius(self: mrpt.pymrpt.mrpt.nav.TRobotShape, level: int, r: float) -> None
C++: mrpt::nav::TRobotShape::setRadius(size_t, double) --> void
- size(...)
- size(self: mrpt.pymrpt.mrpt.nav.TRobotShape) -> int
C++: mrpt::nav::TRobotShape::size() const --> size_t
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
class TWaypointSequence(pybind11_builtins.pybind11_object) |
|
The struct for requesting navigation requests for a sequence of waypoints.
Used in CWaypointsNavigator::navigateWaypoints().
Users can directly fill in the list of waypoints manipulating the public
field `waypoints`. |
|
- Method resolution order:
- TWaypointSequence
- pybind11_builtins.pybind11_object
- builtins.object
Methods defined here:
- __init__(...)
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self: mrpt.pymrpt.mrpt.nav.TWaypointSequence) -> None
2. __init__(self: mrpt.pymrpt.mrpt.nav.TWaypointSequence, arg0: mrpt.pymrpt.mrpt.nav.TWaypointSequence) -> None
- assign(...)
- assign(self: mrpt.pymrpt.mrpt.nav.TWaypointSequence, : mrpt.pymrpt.mrpt.nav.TWaypointSequence) -> mrpt.pymrpt.mrpt.nav.TWaypointSequence
C++: mrpt::nav::TWaypointSequence::operator=(const struct mrpt::nav::TWaypointSequence &) --> struct mrpt::nav::TWaypointSequence &
- clear(...)
- clear(self: mrpt.pymrpt.mrpt.nav.TWaypointSequence) -> None
C++: mrpt::nav::TWaypointSequence::clear() --> void
- getAsOpenglVisualization(...)
- getAsOpenglVisualization(*args, **kwargs)
Overloaded function.
1. getAsOpenglVisualization(self: mrpt.pymrpt.mrpt.nav.TWaypointSequence, obj: mrpt.pymrpt.mrpt.opengl.CSetOfObjects) -> None
2. getAsOpenglVisualization(self: mrpt.pymrpt.mrpt.nav.TWaypointSequence, obj: mrpt.pymrpt.mrpt.opengl.CSetOfObjects, params: mrpt.pymrpt.mrpt.nav.TWaypointsRenderingParams) -> None
Renders the sequence of waypoints (previous contents of `obj` are
cleared)
C++: mrpt::nav::TWaypointSequence::getAsOpenglVisualization(class mrpt::opengl::CSetOfObjects &, const struct mrpt::nav::TWaypointsRenderingParams &) const --> void
- getAsText(...)
- getAsText(self: mrpt.pymrpt.mrpt.nav.TWaypointSequence) -> str
Gets navigation params as a human-readable format
C++: mrpt::nav::TWaypointSequence::getAsText() const --> std::string
- load(...)
- load(self: mrpt.pymrpt.mrpt.nav.TWaypointSequence, c: mrpt.pymrpt.mrpt.config.CConfigFileBase, s: str) -> None
Loads waypoints to a config file section
C++: mrpt::nav::TWaypointSequence::load(const class mrpt::config::CConfigFileBase &, const std::string &) --> void
- save(...)
- save(self: mrpt.pymrpt.mrpt.nav.TWaypointSequence, c: mrpt.pymrpt.mrpt.config.CConfigFileBase, s: str) -> None
Saves waypoints to a config file section
C++: mrpt::nav::TWaypointSequence::save(class mrpt::config::CConfigFileBase &, const std::string &) const --> void
Data descriptors defined here:
- waypoints
Static methods inherited from pybind11_builtins.pybind11_object:
- __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
- Create and return a new object. See help(type) for accurate signature.
|
|