Class base_controller3D

Inheritance Relationships

Base Types

  • public cosm::controller::base_controller (Class base_controller)

  • public cspatial::metrics::dist3D_metrics

Derived Type

Class Documentation

class base_controller3D : 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::adaptor3D

Public Functions

base_controller3D(const base_controller3D&) = delete
base_controller3D(void)
~base_controller3D(void) override
rmath::radians azimuth(void) const final override
rmath::vector3z dpos3D(void) const final override
virtual void mdc_ts_update(void) const final override

Convenience function to add timestamp to messages during the control step.

base_controller3D &operator=(const base_controller3D&) = delete
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