Template Class base_task_abort

Inheritance Relationships

Base Type

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

Class Documentation

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

Handles a robot’s (possible) aborting of its current task on a given timestep.

Public Types

using arena_map_type = typename controller_spec::arena_map_type
using controller_spec = typename boost::mpl::at<TControllerSpecMap, TController>::type
using envd_type = typename controller_spec::env_dynamics_type
using robot_free_block_drop_visitor_type = typename controller_spec::robot_free_block_drop_visitor_type

Public Functions

inline base_task_abort(arena_map_type *const map, envd_type *const envd, ::argos::CFloorEntity *const floor)
base_task_abort(base_task_abort&&) = default
base_task_abort(const base_task_abort&) = delete
inline bool operator()(TController &controller)

Handle cases in which a robot aborts its current task, and perform any necessary cleanup, such as dropping/distributing a carried block, etc.

Parameters:

controller – The robot to handle task abort for.

Returns:

TRUE if the robot aborted is current task, FALSE otherwise.

base_task_abort &operator=(const base_task_abort&) = delete
virtual bool robot_task_aborted(const TController &controller) const = 0

Determine if the robot has aborted its task this timestep. This callback is needed because the exact parameters/method of determining when this has occurred are project specific.