Fawkes API Fawkes Development Version
escape_potential_field_drive_mode.h
1
2/***************************************************************************
3 * escape_potential_drive_mode.h - Escaping mode using potential field
4 *
5 * Created: Tue Mar 25 17:24:18 2014
6 * Copyright 2014 Tobias Neumann
7 ****************************************************************************/
8
9/* This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU Library General Public License for more details.
18 *
19 * Read the full text in the LICENSE.GPL file in the doc directory.
20 */
21
22#ifndef _PLUGINS_COLLI_ESCAPE_POTENTIAL_FIELD_DRIVE_MODE_H_
23#define _PLUGINS_COLLI_ESCAPE_POTENTIAL_FIELD_DRIVE_MODE_H_
24
25#include "abstract_drive_mode.h"
26
27#include <utils/math/types.h>
28
29#include <vector>
30
31namespace fawkes {
32
33class LaserOccupancyGrid;
34
36{
37public:
40
41 void set_grid_information(LaserOccupancyGrid *occ_grid, int robo_x, int robo_y);
42 virtual void update();
43
44private:
45 /// our pointer to the laserinterface.... lets escape ;-)
46 LaserOccupancyGrid *occ_grid_;
47 point_t robot_pos_;
48
49 bool cfg_write_spam_debug_;
50
51 int turn_;
52};
53
54} // end namespace fawkes
55
56#endif
This is the base class which calculates drive modes.
Interface for configuration handling.
Definition: config.h:68
~EscapePotentialFieldDriveModule()
Destruct your local values here.
EscapePotentialFieldDriveModule(Logger *logger, Configuration *config)
Constructor.
virtual void update()
Calculate here your desired settings.
void set_grid_information(LaserOccupancyGrid *occ_grid, int robo_x, int robo_y)
This function sets the Grid information for one escape step.
This OccGrid is derived by the Occupancy Grid originally from Andreas Strack, but modified for speed ...
Definition: og_laser.h:47
Interface for logging.
Definition: logger.h:42
Fawkes library namespace.
Point with cartesian coordinates as signed integers.
Definition: types.h:42