Enki  1.9
EPuck.h
Go to the documentation of this file.
1 /*
2  Enki - a fast 2D robot simulator
3  Copyright (C) 1999-2006 Stephane Magnenat <stephane at magnenat dot net>
4  Copyright (C) 2004-2005 Markus Waibel <markus dot waibel at epfl dot ch>
5  Copyright (c) 2004-2005 Antoine Beyeler <abeyeler at ab-ware dot com>
6  Copyright (C) 2005-2006 Laboratory of Intelligent Systems, EPFL, Lausanne
7  Copyright (C) 2006 Laboratory of Robotics Systems, EPFL, Lausanne
8  See AUTHORS for details
9 
10  This program is free software; the authors of any publication
11  arising from research using this software are asked to add the
12  following reference:
13  Enki - a fast 2D robot simulator
14  http://home.gna.org/enki
15  Stephane Magnenat <stephane at magnenat dot net>,
16  Markus Waibel <markus dot waibel at epfl dot ch>
17  Laboratory of Intelligent Systems, EPFL, Lausanne.
18 
19  You can redistribute this program and/or modify
20  it under the terms of the GNU General Public License as published by
21  the Free Software Foundation; either version 2 of the License, or
22  (at your option) any later version.
23 
24  This program is distributed in the hope that it will be useful,
25  but WITHOUT ANY WARRANTY; without even the implied warranty of
26  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27  GNU General Public License for more details.
28 
29  You should have received a copy of the GNU General Public License
30  along with this program; if not, write to the Free Software
31  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
32 */
33 
34 #ifndef __ENKI_EPUCK_H
35 #define __ENKI_EPUCK_H
36 
41 
46 namespace Enki
47 {
49 
52  class EPuckScannerTurret : public OmniCam
53  {
54  public:
56 
63  EPuckScannerTurret(Robot *owner, double height, unsigned halfPixelCount);
64 
65  virtual void finalize(double dt, World* w);
66 
67  public:
68  std::valarray<double> scan;
69  };
70 
72 
73  class EPuck : public DifferentialWheeled
74  {
75  public:
98 
99  public:
102  {
104  CAPABILITY_NONE = 0,
106  CAPABILITY_BASIC_SENSORS = 0x1,
108  CAPABILITY_CAMERA = 0x2,
110  CAPABILITY_SCANNER_TURRET = 0x3,
112  CAPABILITY_BLUETOOTH = 0x4
113  };
114 
115  public:
117  EPuck(unsigned capabilities = CAPABILITY_BASIC_SENSORS);
119  ~EPuck();
120 
122  void setLedRing(bool status);
123  };
124 }
125 
126 #endif
127 
IRSensor infraredSensor6
The infrared sensor 6 (front-left)
Definition: EPuck.h:89
IRSensor infraredSensor2
The infrared sensor 2 (right)
Definition: EPuck.h:81
The rotating, long range distance sensor turret of the E-puck robot.
Definition: EPuck.h:52
Definition: DifferentialWheeled.h:45
EPuckScannerTurret scannerTurret
The rotating, long range distance sensor turret.
Definition: EPuck.h:95
virtual void finalize(double dt, World *w)
Finalize at each step.
Definition: EPuck.cpp:52
1D omnidirectional circular camera, based on 2 CircularCam Pixels start at -PI and then follow mathem...
Definition: CircularCam.h:135
Enki is the namespace of the Enki simulator. All Enki functions and classes excepted the math one are...
Definition: BluetoothBase.cpp:44
IRSensor infraredSensor3
The infrared sensor 3 (back-right)
Definition: EPuck.h:83
IRSensor infraredSensor0
The infrared sensor 0 (front-front-right)
Definition: EPuck.h:77
Header of the generic infrared sensor.
Robot * owner
The physical object that owns the interaction.
Definition: Interaction.h:62
EPuckScannerTurret(Robot *owner, double height, unsigned halfPixelCount)
Constructor.
Definition: EPuck.cpp:46
IRSensor infraredSensor7
The infrared sensor 7 (front-front-left)
Definition: EPuck.h:91
IRSensor infraredSensor5
The infrared sensor 5 (left)
Definition: EPuck.h:87
Capabilities
The bot&#39;s capabilities. You can simply select a predefined set of sensors. These correspond to the di...
Definition: EPuck.h:101
The world is the container of all objects and robots.
Definition: PhysicalEngine.h:411
IRSensor infraredSensor4
The infrared sensor 4 (back-left)
Definition: EPuck.h:85
Header of the bluetooth module.
Bluetooth * bluetooth
Bluetooth module.
Definition: EPuck.h:97
Implementation of an onboard Bluetooth module.
Definition: Bluetooth.h:52
Header of the features of differential wheeled robots.
CircularCam camera
Linear camera.
Definition: EPuck.h:93
A generic infrared sensor.
Definition: IRSensor.h:86
A simple model of the E-puck robot.
Definition: EPuck.h:73
Header of the 1D circular camera.
IRSensor infraredSensor1
The infrared sensor 1 (front-right)
Definition: EPuck.h:79
A robot is a PhysicalObject that has additional interactions and a controller.
Definition: PhysicalEngine.h:379
1D Circular camera
Definition: CircularCam.h:67