#include "ros/ros.h"
#include <webots_ros/set_int.h>
#include <webots_ros/set_float.h>
#include <sensor_msgs/Range.h>
#include <signal.h>
#include <std_msgs/Float64MultiArray.h>
#include <std_msgs/String.h>
#include <std_msgs/UInt16.h>
#include <std_msgs/UInt8MultiArray.h>
#include <cstdlib>
Go to the source code of this file.
Macros | |
#define | BLACK 1 |
#define | FALSE 0 |
#define | GS_CENTER 1 |
#define | GS_LEFT 0 |
#define | GS_RIGHT 2 |
#define | GS_WHITE 900 |
#define | LEFT 0 |
#define | LEM_FORWARD_SPEED 100 |
#define | LEM_K_GS_SPEED 0.8 |
#define | LEM_STATE_LINE_DETECTED 2 |
#define | LEM_STATE_LOOKING_FOR_LINE 1 |
#define | LEM_STATE_ON_LINE 3 |
#define | LEM_STATE_STANDBY 0 |
#define | LEM_THRESHOLD 500 |
#define | LFM_FORWARD_SPEED 200 |
#define | LFM_K_GS_SPEED 0.4 |
#define | LLM_THRESHOLD 800 |
#define | NB_DIST_SENS 8 |
#define | NB_GROUND_SENS 3 |
#define | NB_LEDS 10 |
#define | NO_SIDE -1 |
#define | OAM_FORWARD_SPEED 150 |
#define | OAM_K_MAX_DELTAS 600 |
#define | OAM_K_PS_00 1.2 |
#define | OAM_K_PS_45 0.9 |
#define | OAM_K_PS_90 0.2 |
#define | OAM_OBST_THRESHOLD 100 |
#define | OFM_DELTA_SPEED 150 |
#define | PS_LEFT_00 7 |
#define | PS_LEFT_45 6 |
#define | PS_LEFT_90 5 |
#define | PS_LEFT_REAR 4 |
#define | PS_RIGHT_00 0 |
#define | PS_RIGHT_45 1 |
#define | PS_RIGHT_90 2 |
#define | PS_RIGHT_REAR 3 |
#define | REALITY 2 |
#define | RIGHT 1 |
#define | SIMULATION 0 |
#define | TIME_STEP 32 |
#define | TRUE 1 |
#define | WHITE 0 |
Functions | |
void | gsCallback (const sensor_msgs::Range::ConstPtr &value) |
void | LineEnteringModule (int side) |
void | LineFollowingModule (void) |
void | LineLeavingModule (int side) |
int | main (int argc, char **argv) |
void | modelNameCallback (const std_msgs::String::ConstPtr &name) |
void | ObstacleAvoidanceModule (void) |
void | ObstacleFollowingModule (int side) |
void | psCallback (const sensor_msgs::Range::ConstPtr &value) |
void | quit (int sig) |
Variables | |
double | accelerometerValues [3] = {0, 0, 0} |
static int | count = 0 |
static int | countDist = NB_DIST_SENS |
static int | countGnd = NB_GROUND_SENS |
int | curOpGsValue |
unsigned short | gsValue [NB_GROUND_SENS] = {0, 0, 0} |
std::vector< unsigned char > | image |
int | lem_active |
int | lem_black_counter |
int | lem_reset |
int | lem_speed [2] |
int | lem_state |
int | lfm_speed [2] |
int | llm_active = FALSE |
int | llm_inibit_ofm_speed |
int | llm_past_side = NO_SIDE |
static char | modelList [10][100] |
int | oam_active |
int | oam_reset |
int | oam_side = NO_SIDE |
int | oam_speed [2] |
int | ofm_active |
int | ofm_speed [2] |
int | prevOpGsValue |
const int | PS_OFFSET_REALITY [NB_DIST_SENS] = {480, 170, 320, 500, 600, 680, 210, 640} |
const int | PS_OFFSET_SIMULATION [NB_DIST_SENS] = {300, 300, 300, 300, 300, 300, 300, 300} |
int | psValue [NB_DIST_SENS] = {0, 0, 0, 0, 0, 0, 0, 0} |
ros::ServiceClient | setTimeStepClient |
webots_ros::set_int | setTimeStepSrv |
static int | step = TIME_STEP |
#define BLACK 1 |
Definition at line 44 of file e_puck_line.cpp.
#define FALSE 0 |
Definition at line 39 of file e_puck_line.cpp.
#define GS_CENTER 1 |
Definition at line 68 of file e_puck_line.cpp.
#define GS_LEFT 0 |
Definition at line 67 of file e_puck_line.cpp.
#define GS_RIGHT 2 |
Definition at line 69 of file e_puck_line.cpp.
#define GS_WHITE 900 |
Definition at line 66 of file e_puck_line.cpp.
#define LEFT 0 |
Definition at line 41 of file e_puck_line.cpp.
#define LEM_FORWARD_SPEED 100 |
Definition at line 330 of file e_puck_line.cpp.
#define LEM_K_GS_SPEED 0.8 |
Definition at line 331 of file e_puck_line.cpp.
#define LEM_STATE_LINE_DETECTED 2 |
Definition at line 336 of file e_puck_line.cpp.
#define LEM_STATE_LOOKING_FOR_LINE 1 |
Definition at line 335 of file e_puck_line.cpp.
#define LEM_STATE_ON_LINE 3 |
Definition at line 337 of file e_puck_line.cpp.
#define LEM_STATE_STANDBY 0 |
Definition at line 334 of file e_puck_line.cpp.
#define LEM_THRESHOLD 500 |
Definition at line 332 of file e_puck_line.cpp.
#define LFM_FORWARD_SPEED 200 |
Definition at line 134 of file e_puck_line.cpp.
#define LFM_K_GS_SPEED 0.4 |
Definition at line 135 of file e_puck_line.cpp.
#define LLM_THRESHOLD 800 |
Definition at line 245 of file e_puck_line.cpp.
#define NB_DIST_SENS 8 |
Definition at line 50 of file e_puck_line.cpp.
#define NB_GROUND_SENS 3 |
Definition at line 65 of file e_puck_line.cpp.
#define NB_LEDS 10 |
Definition at line 73 of file e_puck_line.cpp.
#define NO_SIDE -1 |
Definition at line 40 of file e_puck_line.cpp.
#define OAM_FORWARD_SPEED 150 |
Definition at line 161 of file e_puck_line.cpp.
#define OAM_K_MAX_DELTAS 600 |
Definition at line 165 of file e_puck_line.cpp.
#define OAM_K_PS_00 1.2 |
Definition at line 164 of file e_puck_line.cpp.
#define OAM_K_PS_45 0.9 |
Definition at line 163 of file e_puck_line.cpp.
#define OAM_K_PS_90 0.2 |
Definition at line 162 of file e_puck_line.cpp.
#define OAM_OBST_THRESHOLD 100 |
Definition at line 160 of file e_puck_line.cpp.
#define OFM_DELTA_SPEED 150 |
Definition at line 292 of file e_puck_line.cpp.
#define PS_LEFT_00 7 |
Definition at line 58 of file e_puck_line.cpp.
#define PS_LEFT_45 6 |
Definition at line 57 of file e_puck_line.cpp.
#define PS_LEFT_90 5 |
Definition at line 56 of file e_puck_line.cpp.
#define PS_LEFT_REAR 4 |
Definition at line 55 of file e_puck_line.cpp.
#define PS_RIGHT_00 0 |
Definition at line 51 of file e_puck_line.cpp.
#define PS_RIGHT_45 1 |
Definition at line 52 of file e_puck_line.cpp.
#define PS_RIGHT_90 2 |
Definition at line 53 of file e_puck_line.cpp.
#define PS_RIGHT_REAR 3 |
Definition at line 54 of file e_puck_line.cpp.
#define REALITY 2 |
Definition at line 46 of file e_puck_line.cpp.
#define RIGHT 1 |
Definition at line 42 of file e_puck_line.cpp.
#define SIMULATION 0 |
Definition at line 45 of file e_puck_line.cpp.
#define TIME_STEP 32 |
Definition at line 47 of file e_puck_line.cpp.
#define TRUE 1 |
Definition at line 38 of file e_puck_line.cpp.
#define WHITE 0 |
Definition at line 43 of file e_puck_line.cpp.
void gsCallback | ( | const sensor_msgs::Range::ConstPtr & | value | ) |
Definition at line 99 of file e_puck_line.cpp.
void LineEnteringModule | ( | int | side | ) |
Definition at line 339 of file e_puck_line.cpp.
void LineFollowingModule | ( | void | ) |
Definition at line 137 of file e_puck_line.cpp.
void LineLeavingModule | ( | int | side | ) |
Definition at line 247 of file e_puck_line.cpp.
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 420 of file e_puck_line.cpp.
void modelNameCallback | ( | const std_msgs::String::ConstPtr & | name | ) |
Definition at line 105 of file e_puck_line.cpp.
void ObstacleAvoidanceModule | ( | void | ) |
Definition at line 167 of file e_puck_line.cpp.
void ObstacleFollowingModule | ( | int | side | ) |
Definition at line 294 of file e_puck_line.cpp.
void psCallback | ( | const sensor_msgs::Range::ConstPtr & | value | ) |
Definition at line 92 of file e_puck_line.cpp.
void quit | ( | int | sig | ) |
Definition at line 111 of file e_puck_line.cpp.
double accelerometerValues[3] = {0, 0, 0} |
Definition at line 86 of file e_puck_line.cpp.
|
static |
Definition at line 82 of file e_puck_line.cpp.
|
static |
Definition at line 83 of file e_puck_line.cpp.
|
static |
Definition at line 84 of file e_puck_line.cpp.
int curOpGsValue |
Definition at line 328 of file e_puck_line.cpp.
unsigned short gsValue[NB_GROUND_SENS] = {0, 0, 0} |
Definition at line 70 of file e_puck_line.cpp.
std::vector<unsigned char> image |
Definition at line 87 of file e_puck_line.cpp.
int lem_active |
Definition at line 325 of file e_puck_line.cpp.
int lem_black_counter |
Definition at line 327 of file e_puck_line.cpp.
int lem_reset |
Definition at line 243 of file e_puck_line.cpp.
int lem_speed[2] |
Definition at line 326 of file e_puck_line.cpp.
int lem_state |
Definition at line 327 of file e_puck_line.cpp.
int lfm_speed[2] |
Definition at line 132 of file e_puck_line.cpp.
int llm_active = FALSE |
Definition at line 242 of file e_puck_line.cpp.
int llm_inibit_ofm_speed |
Definition at line 242 of file e_puck_line.cpp.
int llm_past_side = NO_SIDE |
Definition at line 242 of file e_puck_line.cpp.
|
static |
Definition at line 81 of file e_puck_line.cpp.
int oam_active |
Definition at line 156 of file e_puck_line.cpp.
int oam_reset |
Definition at line 156 of file e_puck_line.cpp.
int oam_side = NO_SIDE |
Definition at line 158 of file e_puck_line.cpp.
int oam_speed[2] |
Definition at line 157 of file e_puck_line.cpp.
int ofm_active |
Definition at line 289 of file e_puck_line.cpp.
int ofm_speed[2] |
Definition at line 290 of file e_puck_line.cpp.
int prevOpGsValue |
Definition at line 328 of file e_puck_line.cpp.
const int PS_OFFSET_REALITY[NB_DIST_SENS] = {480, 170, 320, 500, 600, 680, 210, 640} |
Definition at line 62 of file e_puck_line.cpp.
const int PS_OFFSET_SIMULATION[NB_DIST_SENS] = {300, 300, 300, 300, 300, 300, 300, 300} |
Definition at line 61 of file e_puck_line.cpp.
int psValue[NB_DIST_SENS] = {0, 0, 0, 0, 0, 0, 0, 0} |
Definition at line 60 of file e_puck_line.cpp.
ros::ServiceClient setTimeStepClient |
Definition at line 89 of file e_puck_line.cpp.
webots_ros::set_int setTimeStepSrv |
Definition at line 90 of file e_puck_line.cpp.
|
static |
Definition at line 85 of file e_puck_line.cpp.