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 38 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 368 of file CPtuDPerception.h.
| anonymous enum |
Definition at line 380 of file CPtuDPerception.h.
| anonymous enum |
Definition at line 381 of file CPtuDPerception.h.
| anonymous enum |
Definition at line 382 of file CPtuDPerception.h.
| mrpt::hwdrivers::CPtuDPerception::CPtuDPerception | ( | ) | [inline] |
Default constructor.
Definition at line 40 of file CPtuDPerception.h.
| virtual mrpt::hwdrivers::CPtuDPerception::~CPtuDPerception | ( | ) | [inline, virtual] |
Destructor.
Definition at line 44 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 257 of file CPtuDPerception.h.
References TiltHitError.
| 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 243 of file CPtuDPerception.h.
| 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 252 of file CPtuDPerception.h.
References ComError.
| 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 245 of file CPtuDPerception.h.
| 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 249 of file CPtuDPerception.h.
| 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 250 of file CPtuDPerception.h.
| 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 242 of file CPtuDPerception.h.
| 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 251 of file CPtuDPerception.h.
| bool mrpt::hwdrivers::CPtuDPerception::panHitError | ( | ) | [inline] |
Definition at line 247 of file CPtuDPerception.h.
| bool mrpt::hwdrivers::CPtuDPerception::panTiltHitError | ( | ) | [inline] |
Definition at line 246 of file CPtuDPerception.h.
| 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 210 of file CPtuDPerception.h.
| bool mrpt::hwdrivers::CPtuDPerception::tiltHitError | ( | ) | [inline] |
Definition at line 248 of file CPtuDPerception.h.
| bool mrpt::hwdrivers::CPtuDPerception::timeoutError | ( | ) | [inline] |
Definition at line 244 of file CPtuDPerception.h.
| 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 253 of file CPtuDPerception.h.
References TimeoutError.
| 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 378 of file CPtuDPerception.h.
| Page generated by Doxygen 1.7.2 for MRPT 0.9.4 SVN: at Mon Jan 10 22:30:30 UTC 2011 |