LoExtricate.C File Reference

This file defines the non-inline member functions of the lobot::Extricate class. More...

#include "Robots/LoBot/control/LoExtricate.H"
#include "Robots/LoBot/control/LoMetrics.H"
#include "Robots/LoBot/control/LoTurnArbiter.H"
#include "Robots/LoBot/control/LoSpinArbiter.H"
#include "Robots/LoBot/control/LoSpeedArbiter.H"
#include "Robots/LoBot/LoApp.H"
#include "Robots/LoBot/slam/LoMap.H"
#include "Robots/LoBot/io/LoDangerZone.H"
#include "Robots/LoBot/config/LoConfigHelpers.H"
#include "Robots/LoBot/thread/LoUpdateLock.H"
#include "Robots/LoBot/misc/LoExcept.H"
#include "Robots/LoBot/misc/LoRegistry.H"
#include "Robots/LoBot/misc/singleton.hh"
#include "Robots/LoBot/util/LoGL.H"
#include "Robots/LoBot/util/LoMath.H"
#include <GL/gl.h>
#include <iomanip>
#include <sstream>
#include <algorithm>
#include <memory>
Include dependency graph for LoExtricate.C:

Go to the source code of this file.

Functions

static std::string lobot::mag (char label, const Vector &v)

Detailed Description

This file defines the non-inline member functions of the lobot::Extricate class.

Definition in file LoExtricate.C.


Variable Documentation

In case the RPM sensor is configured to be off, we will need to specify the extricate "speed" in terms of PWM values as well.

NOTE: All speed related behaviours should specify both a speed in m/s and a PWM value.

CAUTION: For the extricate behaviour, it would be unwise to make the extrication PWM too high.

Definition at line 107 of file LoExtricate.C.

Users may specify what speed they would like the extrication to occur.

CAUTION: It would be unwise to make this speed too high.

Definition at line 97 of file LoExtricate.C.

When lobot is running the LGMD-based avoidance behaviours, it can come to a complete halt due to the emergency stop behaviour and then not restart because the lack of motion will result in the LGMD spikes becoming dormant. To work around this problem, we can run the LRF-based extricate behaviour in addition to the LGMD-based extricate behaviours to restart the robot so as to start the spiking activity again.

However, in this capacity, it would be best to reduce the frequency at which the LRF-based extricate behaviour runs. Furthermore, we would also want this behaviour to only perform its extrication actions if the robot is actually stopped.

This setting is a flag that indicates whether the extricate behaviour should operate in "restart mode" as described above. By default, it is off, i.e., we assume this behaviour is the only active extricate behaviour and that it should perform extrication whenever the danger zone is penetrated, regardless of the robot's current motion state.

Definition at line 128 of file LoExtricate.C.

Usually, steering control is effected using the turn arbiter, which veers the robot in different directions while it moves, i.e., smooth car-like turns. However, the lgmd_extricate_tti behaviour also supports spin-style steering, i.e., momentarily stopping the robot and then turning it cw/ccw in-place. This flag turns on spin-style steering. By default, the behaviour uses the normal car-like steering mode.

Definition at line 137 of file LoExtricate.C.

The number of milliseconds between successive iterations of this behaviour.

WARNING: The ability to change a behaviour's update frequency is a very powerful feature whose misuse or abuse can wreak havoc! Be sure to use reasonable values for this setting.

Definition at line 145 of file LoExtricate.C.

Generated on Sun May 8 08:42:49 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3