This class implements initialization and comunication methods to control a Pan and Tilt Unit model PTU-46-17.5, working in radians .
Definition at line 43 of file CPtuDPerception.h.
#include <mrpt/hwdrivers/CPtuDPerception.h>
Public Types | |
enum | { NoError = 1, ComError = 2, TimeoutError = 3, InitError = 5, PanHitError = 7, TiltHitError = 11, PanTiltHitError = 13, MaxLimitError = 17, MinLimitError = 19, OutOfRange = 23, IllegalCommandError = 29, UnExpectedError = 31 } |
enum | { Pan = 'P', Tilt = 'T' } |
enum | { Regular = 'R', High = 'H', Low = 'L', Off = 'O' } |
enum | { Com1 = 1, Com2 = 2, Com3 = 3, Com4 = 4 } |
Public Member Functions | |
CPtuDPerception () | |
Default constructor. | |
virtual | ~CPtuDPerception () |
Destructor. | |
virtual bool | rangeMeasure () |
Search limit forward. | |
virtual bool | moveToAbsPos (char axis, double nRad) |
Specification of positions in absolute terms. | |
virtual bool | absPosQ (char axis, double &nRad) |
Query position in absolute terms. | |
virtual bool | moveToOffPos (char axis, double nRad) |
Specify desired axis position as an offset from the current position. | |
virtual bool | offPosQ (char axis, double &nRad) |
Query position in relative terms. | |
virtual bool | maxPosQ (char axis, double &nRad) |
Query max movement limit of a axis in absolute terms. | |
virtual bool | minPosQ (char axis, double &nRad) |
Query min movement limit of a axis in absolute terms. | |
virtual bool | enableLimitsQ (bool &enable) |
Query if exist movement limits. | |
virtual bool | enableLimits (bool set) |
Enable/Disable movement limits. | |
virtual bool | inmediateExecution (bool set) |
With I mode (default) instructs pan-tilt unit to immediately execute positional commands. | |
virtual bool | aWait (void) |
Wait the finish of the last position command to continue accept commands. | |
virtual bool | haltAll () |
Inmediately stop all. | |
virtual bool | halt (char axis) |
Inmediately stop. | |
virtual bool | speed (char axis, double radSec) |
Specification of turn speed. | |
virtual bool | speedQ (char axis, double &radSec) |
Query turn speed. | |
virtual bool | aceleration (char axis, double radSec2) |
Specification (de/a)celeration in turn. | |
virtual bool | acelerationQ (char axis, double &radSec2) |
Query (de/a)celeration in turn. | |
virtual bool | baseSpeed (char axis, double radSec) |
Specification of velocity to which start and finish the (de/a)celeration. | |
virtual bool | baseSpeedQ (char axis, double &radSec) |
Query velocity to which start and finish the (de/a)celeration. | |
virtual bool | upperSpeed (char axis, double radSec) |
Specification of velocity upper limit. | |
virtual bool | upperSpeedQ (char axis, double &radSec) |
Query velocity upper limit. | |
virtual bool | lowerSpeed (char axis, double radSec) |
Specification of velocity lower limit. | |
virtual bool | lowerSpeedQ (char axis, double &radSec) |
Query velocity lower limit. | |
virtual bool | reset (void) |
Reset PTU to initial state. | |
virtual bool | save (void) |
Save or restart default values. | |
virtual bool | restoreDefaults (void) |
Restore default values. | |
virtual bool | restoreFactoryDefaults (void) |
Restore factory default values. | |
virtual bool | version (char *nVersion) |
Version and CopyRights. | |
virtual void | nversion (double &nVersion) |
Number of version. | |
virtual bool | powerModeQ (bool transit, char &mode) |
Query power mode. | |
virtual bool | powerMode (bool transit, char mode) |
Specification of power mode. | |
virtual double | status (double &rad) |
Check if ptu is moving. | |
virtual bool | setLimits (char axis, double &l, double &u) |
Set limits of movement. | |
virtual bool | changeMotionDir () |
virtual int | checkErrors () |
Check errors, returns 0 if there are not errors or error code in otherwise Error codes: | |
bool | noError () |
bool | comError () |
bool | timeoutError () |
bool | initError () |
bool | panTiltHitError () |
bool | panHitError () |
bool | tiltHitError () |
bool | maxLimitError () |
bool | minLimitError () |
bool | outOfRange () |
bool | illegalCommandError () |
bool | unExpectedError () |
virtual void | clearErrors () |
Clear errors. | |
virtual bool | init (const std::string port) |
PTU and serial port initialization. | |
virtual void | close () |
Close conection with serial port. | |
virtual double | radError (char axis, double nRadMoved) |
To obtains the mistake for use discrete values when the movement is expressed in radians. | |
virtual long | radToPos (char axis, double nRad) |
To obtain the discrete value for a number of radians. | |
virtual double | posToRad (char axis, long nPos) |
To obtain the number of radians for a discrete value. | |
virtual bool | scan (char axis, int wait, float initial, float final, double radPre) |
Performs a scan in the axis indicated and whit the precision desired. | |
virtual bool | verboseQ (bool &modo) |
Query verbose mode. | |
virtual bool | verbose (bool set) |
Set verbose. | |
virtual bool | echoModeQ (bool &mode) |
Query echo mode. | |
virtual bool | echoMode (bool mode) |
Enable/Disable echo response with command. | |
virtual bool | resolution (void) |
Query the pan and tilt resolution per position moved and initialize local atributes. | |
Public Attributes | |
int | nError |
TimeoutError: Only occurs if the communication is cut with PTU so it is advisable to check the connection and initialize again the comunication. | |
Private Member Functions | |
virtual bool | transmit (const char *command) |
To transmition commands to the PTU. | |
virtual bool | receive (const char *command, char *response) |
To receive the responseof the PTU. | |
virtual bool | radQuerry (char axis, char command, double &nRad) |
Used to obtains a number of radians. | |
virtual bool | radAsign (char axis, char command, double nRad) |
Method used for asign a number of radians with a command. | |
virtual double | convertToDouble (char *sDouble) |
Convert string to double. | |
virtual long | convertToLong (char *sLong) |
Convert string to long. |
anonymous enum |
NoError | |
ComError | |
TimeoutError | |
InitError | |
PanHitError | |
TiltHitError | |
PanTiltHitError | |
MaxLimitError | |
MinLimitError | |
OutOfRange | |
IllegalCommandError | |
UnExpectedError |
Definition at line 378 of file CPtuDPerception.h.
anonymous enum |
Definition at line 390 of file CPtuDPerception.h.
anonymous enum |
Definition at line 391 of file CPtuDPerception.h.
anonymous enum |
Definition at line 392 of file CPtuDPerception.h.
mrpt::hwdrivers::CPtuDPerception::CPtuDPerception | ( | ) | [inline] |
Default constructor.
Definition at line 50 of file CPtuDPerception.h.
virtual mrpt::hwdrivers::CPtuDPerception::~CPtuDPerception | ( | ) | [inline, virtual] |
Destructor.
Definition at line 54 of file CPtuDPerception.h.
virtual bool mrpt::hwdrivers::CPtuDPerception::absPosQ | ( | char | axis, |
double & | nRad | ||
) | [virtual] |
Query position in absolute terms.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::aceleration | ( | char | axis, |
double | radSec2 | ||
) | [virtual] |
Specification (de/a)celeration in turn.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::acelerationQ | ( | char | axis, |
double & | radSec2 | ||
) | [virtual] |
Query (de/a)celeration in turn.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::aWait | ( | void | ) | [virtual] |
Wait the finish of the last position command to continue accept commands.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::baseSpeed | ( | char | axis, |
double | radSec | ||
) | [virtual] |
Specification of velocity to which start and finish the (de/a)celeration.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::baseSpeedQ | ( | char | axis, |
double & | radSec | ||
) | [virtual] |
Query velocity to which start and finish the (de/a)celeration.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::changeMotionDir | ( | ) | [virtual] |
Implements mrpt::hwdrivers::CPtuBase.
virtual int mrpt::hwdrivers::CPtuDPerception::checkErrors | ( | ) | [virtual] |
Check errors, returns 0 if there are not errors or error code in otherwise Error codes:
1: Com error 2: Time out error 3: Init error 4: Pan tilt hit error 5: Pan hit error 6: Tilt hit error 7: Max limit error 8: Min limit error 9: Out of range 10: Illegal command error 11: Unexpected error
Implements mrpt::hwdrivers::CPtuBase.
virtual void mrpt::hwdrivers::CPtuDPerception::clearErrors | ( | ) | [inline, virtual] |
Clear errors.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 267 of file CPtuDPerception.h.
virtual void mrpt::hwdrivers::CPtuDPerception::close | ( | ) | [virtual] |
Close conection with serial port.
Implements mrpt::hwdrivers::CPtuBase.
bool mrpt::hwdrivers::CPtuDPerception::comError | ( | ) | [inline] |
Definition at line 253 of file CPtuDPerception.h.
References TimeoutError.
virtual double mrpt::hwdrivers::CPtuDPerception::convertToDouble | ( | char * | sDouble | ) | [private, virtual] |
Convert string to double.
virtual long mrpt::hwdrivers::CPtuDPerception::convertToLong | ( | char * | sLong | ) | [private, virtual] |
Convert string to long.
virtual bool mrpt::hwdrivers::CPtuDPerception::echoMode | ( | bool | mode | ) | [virtual] |
Enable/Disable echo response with command.
Example of use (EE supposed): PP * 22 ED * <pp entered again, but not echoed>* 22
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::echoModeQ | ( | bool & | mode | ) | [virtual] |
Query echo mode.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::enableLimits | ( | bool | set | ) | [virtual] |
Enable/Disable movement limits.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::enableLimitsQ | ( | bool & | enable | ) | [virtual] |
Query if exist movement limits.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::halt | ( | char | axis | ) | [virtual] |
Inmediately stop.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::haltAll | ( | ) | [virtual] |
Inmediately stop all.
Implements mrpt::hwdrivers::CPtuBase.
bool mrpt::hwdrivers::CPtuDPerception::illegalCommandError | ( | ) | [inline] |
Definition at line 262 of file CPtuDPerception.h.
References UnExpectedError.
virtual bool mrpt::hwdrivers::CPtuDPerception::init | ( | const std::string | port | ) | [virtual] |
PTU and serial port initialization.
Implements mrpt::hwdrivers::CPtuBase.
bool mrpt::hwdrivers::CPtuDPerception::initError | ( | ) | [inline] |
Definition at line 255 of file CPtuDPerception.h.
References PanTiltHitError.
virtual bool mrpt::hwdrivers::CPtuDPerception::inmediateExecution | ( | bool | set | ) | [virtual] |
With I mode (default) instructs pan-tilt unit to immediately execute positional commands.
In S mode instructs pan-tilt unit to execute positional commands only when an Await Position Command Completion command is executed or when put into Immediate Execution Mode.
Example of use of S mode: DR * S * PP1500 * TP-900 * PP * Current Pan position is 0 TP * Current Tilt position is 0 A * PP * Current Pan position is 1500 TP * Current Tilt position is -900
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::lowerSpeed | ( | char | axis, |
double | radSec | ||
) | [virtual] |
Specification of velocity lower limit.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::lowerSpeedQ | ( | char | axis, |
double & | radSec | ||
) | [virtual] |
Query velocity lower limit.
Implements mrpt::hwdrivers::CPtuBase.
bool mrpt::hwdrivers::CPtuDPerception::maxLimitError | ( | ) | [inline] |
Definition at line 259 of file CPtuDPerception.h.
References MinLimitError.
virtual bool mrpt::hwdrivers::CPtuDPerception::maxPosQ | ( | char | axis, |
double & | nRad | ||
) | [virtual] |
Query max movement limit of a axis in absolute terms.
Implements mrpt::hwdrivers::CPtuBase.
bool mrpt::hwdrivers::CPtuDPerception::minLimitError | ( | ) | [inline] |
Definition at line 260 of file CPtuDPerception.h.
References OutOfRange.
virtual bool mrpt::hwdrivers::CPtuDPerception::minPosQ | ( | char | axis, |
double & | nRad | ||
) | [virtual] |
Query min movement limit of a axis in absolute terms.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::moveToAbsPos | ( | char | axis, |
double | nRad | ||
) | [virtual] |
Specification of positions in absolute terms.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::moveToOffPos | ( | char | axis, |
double | nRad | ||
) | [virtual] |
Specify desired axis position as an offset from the current position.
This method recives the number of radians to move.
Example of use: TT-500 * A * TO * Current Tilt position is -500 TO500 * A * TT * Current Pan position is 1000
Implements mrpt::hwdrivers::CPtuBase.
bool mrpt::hwdrivers::CPtuDPerception::noError | ( | ) | [inline] |
Definition at line 252 of file CPtuDPerception.h.
References ComError.
virtual void mrpt::hwdrivers::CPtuDPerception::nversion | ( | double & | nVersion | ) | [virtual] |
Number of version.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::offPosQ | ( | char | axis, |
double & | nRad | ||
) | [virtual] |
Query position in relative terms.
Implements mrpt::hwdrivers::CPtuBase.
bool mrpt::hwdrivers::CPtuDPerception::outOfRange | ( | ) | [inline] |
Definition at line 261 of file CPtuDPerception.h.
References IllegalCommandError.
bool mrpt::hwdrivers::CPtuDPerception::panHitError | ( | ) | [inline] |
Definition at line 257 of file CPtuDPerception.h.
References TiltHitError.
bool mrpt::hwdrivers::CPtuDPerception::panTiltHitError | ( | ) | [inline] |
Definition at line 256 of file CPtuDPerception.h.
References PanHitError.
virtual double mrpt::hwdrivers::CPtuDPerception::posToRad | ( | char | axis, |
long | nPos | ||
) | [virtual] |
To obtain the number of radians for a discrete value.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::powerMode | ( | bool | transit, |
char | mode | ||
) | [virtual] |
Specification of power mode.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::powerModeQ | ( | bool | transit, |
char & | mode | ||
) | [virtual] |
Query power mode.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::radAsign | ( | char | axis, |
char | command, | ||
double | nRad | ||
) | [private, virtual] |
Method used for asign a number of radians with a command.
Implements mrpt::hwdrivers::CPtuBase.
virtual double mrpt::hwdrivers::CPtuDPerception::radError | ( | char | axis, |
double | nRadMoved | ||
) | [virtual] |
To obtains the mistake for use discrete values when the movement is expressed in radians.
Parameters are the absolute position in radians and the axis desired
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::radQuerry | ( | char | axis, |
char | command, | ||
double & | nRad | ||
) | [private, virtual] |
Used to obtains a number of radians.
Implements mrpt::hwdrivers::CPtuBase.
virtual long mrpt::hwdrivers::CPtuDPerception::radToPos | ( | char | axis, |
double | nRad | ||
) | [virtual] |
To obtain the discrete value for a number of radians.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::rangeMeasure | ( | ) | [virtual] |
Search limit forward.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::receive | ( | const char * | command, |
char * | response | ||
) | [private, virtual] |
To receive the responseof the PTU.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::reset | ( | void | ) | [virtual] |
Reset PTU to initial state.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::resolution | ( | void | ) | [virtual] |
Query the pan and tilt resolution per position moved and initialize local atributes.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::restoreDefaults | ( | void | ) | [virtual] |
Restore default values.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::restoreFactoryDefaults | ( | void | ) | [virtual] |
Restore factory default values.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::save | ( | void | ) | [virtual] |
Save or restart default values.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::scan | ( | char | axis, |
int | wait, | ||
float | initial, | ||
float | final, | ||
double | radPre | ||
) | [virtual] |
Performs a scan in the axis indicated and whit the precision desired.
<axis> | {Pan or Till} |
<tWait> | {Wait time betwen commands} |
<initial> | {initial position} |
<final> | {final position} |
<radPre> | {radians precision for the scan} |
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::setLimits | ( | char | axis, |
double & | l, | ||
double & | u | ||
) | [virtual] |
Set limits of movement.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::speed | ( | char | axis, |
double | radSec | ||
) | [virtual] |
Specification of turn speed.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::speedQ | ( | char | axis, |
double & | radSec | ||
) | [virtual] |
Query turn speed.
Implements mrpt::hwdrivers::CPtuBase.
virtual double mrpt::hwdrivers::CPtuDPerception::status | ( | double & | rad | ) | [inline, virtual] |
Check if ptu is moving.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 220 of file CPtuDPerception.h.
bool mrpt::hwdrivers::CPtuDPerception::tiltHitError | ( | ) | [inline] |
Definition at line 258 of file CPtuDPerception.h.
References MaxLimitError.
bool mrpt::hwdrivers::CPtuDPerception::timeoutError | ( | ) | [inline] |
Definition at line 254 of file CPtuDPerception.h.
References InitError.
virtual bool mrpt::hwdrivers::CPtuDPerception::transmit | ( | const char * | command | ) | [private, virtual] |
To transmition commands to the PTU.
Implements mrpt::hwdrivers::CPtuBase.
bool mrpt::hwdrivers::CPtuDPerception::unExpectedError | ( | ) | [inline] |
Definition at line 263 of file CPtuDPerception.h.
virtual bool mrpt::hwdrivers::CPtuDPerception::upperSpeed | ( | char | axis, |
double | radSec | ||
) | [virtual] |
Specification of velocity upper limit.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::upperSpeedQ | ( | char | axis, |
double & | radSec | ||
) | [virtual] |
Query velocity upper limit.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::verbose | ( | bool | set | ) | [virtual] |
Set verbose.
Example of response with FV (verbose) active: FV * PP * Current pan position is 0 Example of response with FT (terse) active: FT * PP * 0
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::verboseQ | ( | bool & | modo | ) | [virtual] |
Query verbose mode.
Implements mrpt::hwdrivers::CPtuBase.
virtual bool mrpt::hwdrivers::CPtuDPerception::version | ( | char * | nVersion | ) | [virtual] |
Version and CopyRights.
Implements mrpt::hwdrivers::CPtuBase.
TimeoutError: Only occurs if the communication is cut with PTU so it is advisable to check the connection and initialize again the comunication.
Definition at line 388 of file CPtuDPerception.h.
Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN: at Sat Mar 26 06:16:28 UTC 2011 |