24#ifndef _PLUGINS_COLLI_SELECT_DRIVE_MODE_H_
25#define _PLUGINS_COLLI_SELECT_DRIVE_MODE_H_
27#include "../common/types.h"
33class AbstractDriveMode;
35class NavigatorInterface;
38class LaserOccupancyGrid;
57 void update(
bool escape =
false);
70 void set_laser_data(std::vector<fawkes::polar_coord_2d_t> &laser_points);
83 std::vector<AbstractDriveMode *> drive_modes_;
101 void load_drive_modes_differential();
102 void load_drive_modes_omnidirectional();
Interface for configuration handling.
This OccGrid is derived by the Occupancy Grid originally from Andreas Strack, but modified for speed ...
MotorInterface Fawkes BlackBoard Interface.
NavigatorInterface Fawkes BlackBoard Interface.
This class selects the correct drive mode and calls the appopriate drive component.
void set_grid_information(LaserOccupancyGrid *occ_grid, int robo_x, int robo_y)
search for the escape drive mode and hands over the given information to the escape drive mode This s...
SelectDriveMode(MotorInterface *motor, NavigatorInterface *colli_target, Logger *logger, Configuration *config, colli_escape_mode_t escape_mode=colli_escape_mode_t::basic)
Constructor.
~SelectDriveMode()
Desctructor.
float get_proposed_trans_y()
Returns the proposed translation. After an update.
void set_laser_data(std::vector< fawkes::polar_coord_2d_t > &laser_points)
search for the escape drive mode and hands over the given information to the escape drive mode This s...
float get_proposed_rot()
Returns the proposed rotation. After an update.
void set_local_target(float x, float y)
Set local target point before update!
float get_proposed_trans_x()
Returns the proposed translation. After an update.
void set_local_trajec(float x, float y)
Set local trajectory point before update!
void update(bool escape=false)
Has to be called before the proposed values are called.
Fawkes library namespace.
colli_escape_mode_t
Colli Escape modes.
colli_drive_restriction_t
Colli drive restrictions.
Cartesian coordinates (2D).
Storing Translation and rotation.