Template Class nest_block_process

Inheritance Relationships

Base Type

  • public rer::client< nest_block_process< TController, TControllerSpecMap > >

Class Documentation

template<typename TController, typename TControllerSpecMap>
class nest_block_process : public rer::client<nest_block_process<TController, TControllerSpecMap>>

Handle’s a robot’s (possible) nest block process event on a given timestep, updating the real robot state as needed if the conditions for the block drop are met.

Public Types

using controller_spec = typename boost::mpl::at<TControllerSpecMap, TController>::type
using interactor_status_type = typename controller_spec::interactor_status_type
using robot_metrics_manager_type = typename controller_spec::robot_metrics_manager_type
using robot_nest_block_process_visitor_type = typename controller_spec::robot_nest_block_process_visitor_type

Public Functions

nest_block_process(const nest_block_process&) = delete
nest_block_process(nest_block_process&&) = default
inline explicit nest_block_process(robot_metrics_manager_type *const metrics)
~nest_block_process(void) override = default
inline interactor_status_type operator()(TController &controller, const rtypes::timestep &t)

Handler robot-arena interactions for the specified controller instance on this timestep.

Parameters:
  • controller – The controller to handle interactions for.

  • t – The current timestep.

nest_block_process &operator=(const nest_block_process&) = delete
virtual bool robot_goal_acquired(const TController &controller) const = 0

Determine if the robot has acquired its goal (the nest in this case). This callback is needed because the exact parameters/method of determining when this has occurred are project specific (e.g., checking if the controller’s acquisition_goal() function returns a certain integer).

inline virtual void robot_previsit_hook(TController&) const

Called right before the robot is visited by the block drop event, in order to provide a hook for derived classes to update controller bookkeeping before the pickup.