Fawkes API Fawkes Development Version
forward_omni_drive_mode.h
1
2/***************************************************************************
3 * forward_omni_drive_mode.h - Implementation of drive-mode "forward"
4 *
5 * Created: Fri Oct 18 15:16:23 2013
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_FORWARD_OMNI_DRIVE_MODE_H_
23#define _PLUGINS_COLLI_FORWARD_OMNI_DRIVE_MODE_H_
24
25#include "abstract_drive_mode.h"
26
27namespace fawkes {
28
30{
31public:
34
35 virtual void update();
36
37private:
38 void calculate_rotation(float ori_alpha_target,
39 float ori_alpha_next_target,
40 float dist_to_target,
41 float angle_allowed_to_next_target);
42
43 void calculate_translation(float dist_to_target, float ori_alpha_target, float dec_factor);
44};
45
46} // namespace fawkes
47
48#endif
This is the base class which calculates drive modes.
Interface for configuration handling.
Definition: config.h:68
This is the SlowForward drive-module, for slow forward only movements.
ForwardOmniDriveModule(Logger *logger, Configuration *config)
Constructor.
virtual void update()
Calculate here your desired settings.
Interface for logging.
Definition: logger.h:42
Fawkes library namespace.