Class base_controllerQ3D
Defined in File base_controllerQ3D.hpp
Inheritance Relationships
Base Types
public cosm::controller::base_controller
(Class base_controller)public cspatial::metrics::dist3D_metrics
Derived Type
public cosm::pal::argos::controller::adaptorQ3D
(Class adaptorQ3D)
Class Documentation
-
class base_controllerQ3D : public cosm::controller::base_controller, public cspatial::metrics::dist3D_metrics
The implementation of base controller class that the controllers for all *wheeled * (or otherwise mobile ground) robots that operate in 3D derive (and therefore are “quasi” 3D). It uses a 2D actuation subsystem to move in 3D through 2D actuation (e.g. driving up ramps). It uses a 3D sensing subsystem to track position.
This is NOT a controller for true 3D robots such as quadcopters that can both sense and actuate in 3D.
It should never be derived from directly; derive from one of the adaptor controllers in the PAL.
Subclassed by cosm::pal::argos::controller::adaptorQ3D
Public Functions
-
base_controllerQ3D(const base_controllerQ3D&) = delete
-
base_controllerQ3D(void)
-
~base_controllerQ3D(void) override
-
rmath::radians azimuth(void) const final override
-
rmath::vector2z dpos2D(void) const
-
rmath::vector3z dpos3D(void) const final override
-
rmath::radians heading2D(void) const
Provided for compatibility with 2D metric gathering without having to resort to template trickery.
-
virtual void mdc_ts_update(void) const final override
Convenience function to add timestamp to messages during the control step.
-
base_controllerQ3D &operator=(const base_controllerQ3D&) = delete
-
rmath::vector2d rpos2D(void) const
-
rmath::vector3d rpos3D(void) const final override
-
virtual void sensing_update(const rtypes::timestep &tick) override
Update the sensing for the robot.
Set the current clock tick.
Update positioning information.
- Parameters:
tick – The current simulation clock tick.
-
virtual void sensing_update(const rtypes::timestep &tick, const rtypes::discretize_ratio &ratio) override
Update the sensing for the robot.
Set the current clock tick.
Update positioning information.
- Parameters:
tick – The current clock tick.
ratio – The ratio that should be used to calculate the robot’s discrete position in the arena (should match the ratio used to create the arena grid).
-
rmath::radians zenith(void) const final override
-
base_controllerQ3D(const base_controllerQ3D&) = delete