Fawkes API  Fawkes Development Version
forward_drive_mode.h
1 
2 /***************************************************************************
3  * forward_drive_mode.h - Implementation of drive-mode "forward"
4  *
5  * Created: Fri Oct 18 15:16:23 2013
6  * Copyright 2002 Stefan Jacobs
7  * 2013-2014 Bahram Maleki-Fard
8  ****************************************************************************/
9 
10 /* This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Library General Public License for more details.
19  *
20  * Read the full text in the LICENSE.GPL file in the doc directory.
21  */
22 
23 #ifndef _PLUGINS_COLLI_FORWARD_DRIVE_MODE_H_
24 #define _PLUGINS_COLLI_FORWARD_DRIVE_MODE_H_
25 
26 #include "abstract_drive_mode.h"
27 
28 namespace fawkes {
29 
31 {
32 public:
33  ForwardDriveModule(Logger *logger, Configuration *config);
35 
36  virtual void update();
37 
38 private:
39  float forward_curvature(float dist_to_target,
40  float dist_to_trajec,
41  float alpha,
42  float cur_trans,
43  float cur_rot);
44 
45  float forward_translation(float dist_to_target,
46  float dist_to_front,
47  float alpha,
48  float cur_trans,
49  float cur_rot,
50  float des_rot);
51 };
52 
53 } // namespace fawkes
54 
55 #endif
This is the base class which calculates drive modes.
Interface for configuration handling.
Definition: config.h:65
This is the Forward drive-module, for forward only movements.
ForwardDriveModule(Logger *logger, Configuration *config)
Constructor.
virtual void update()
Calculate here your desired settings.
Interface for logging.
Definition: logger.h:42
Fawkes library namespace.