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 24 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. More... | |
virtual | ~CPtuDPerception () |
Destructor. More... | |
virtual bool | rangeMeasure () |
Search limit forward. More... | |
virtual bool | moveToAbsPos (char axis, double nRad) |
Specification of positions in absolute terms. More... | |
virtual bool | absPosQ (char axis, double &nRad) |
Query position in absolute terms. More... | |
virtual bool | moveToOffPos (char axis, double nRad) |
Specify desired axis position as an offset from the current position. More... | |
virtual bool | offPosQ (char axis, double &nRad) |
Query position in relative terms. More... | |
virtual bool | maxPosQ (char axis, double &nRad) |
Query max movement limit of a axis in absolute terms. More... | |
virtual bool | minPosQ (char axis, double &nRad) |
Query min movement limit of a axis in absolute terms. More... | |
virtual bool | enableLimitsQ (bool &enable) |
Query if exist movement limits. More... | |
virtual bool | enableLimits (bool set) |
Enable/Disable movement limits. More... | |
virtual bool | inmediateExecution (bool set) |
With I mode (default) instructs pan-tilt unit to immediately execute positional commands. More... | |
virtual bool | aWait (void) |
Wait the finish of the last position command to continue accept commands. More... | |
virtual bool | haltAll () |
Inmediately stop all. More... | |
virtual bool | halt (char axis) |
Inmediately stop. More... | |
virtual bool | speed (char axis, double radSec) |
Specification of turn speed. More... | |
virtual bool | speedQ (char axis, double &radSec) |
Query turn speed. More... | |
virtual bool | aceleration (char axis, double radSec2) |
Specification (de/a)celeration in turn. More... | |
virtual bool | acelerationQ (char axis, double &radSec2) |
Query (de/a)celeration in turn. More... | |
virtual bool | baseSpeed (char axis, double radSec) |
Specification of velocity to which start and finish the (de/a)celeration. More... | |
virtual bool | baseSpeedQ (char axis, double &radSec) |
Query velocity to which start and finish the (de/a)celeration. More... | |
virtual bool | upperSpeed (char axis, double radSec) |
Specification of velocity upper limit. More... | |
virtual bool | upperSpeedQ (char axis, double &radSec) |
Query velocity upper limit. More... | |
virtual bool | lowerSpeed (char axis, double radSec) |
Specification of velocity lower limit. More... | |
virtual bool | lowerSpeedQ (char axis, double &radSec) |
Query velocity lower limit. More... | |
virtual bool | reset (void) |
Reset PTU to initial state. More... | |
virtual bool | save (void) |
Save or restart default values. More... | |
virtual bool | restoreDefaults (void) |
Restore default values. More... | |
virtual bool | restoreFactoryDefaults (void) |
Restore factory default values. More... | |
virtual bool | version (char *nVersion) |
Version and CopyRights. More... | |
virtual void | nversion (double &nVersion) |
Number of version. More... | |
virtual bool | powerModeQ (bool transit, char &mode) |
Query power mode. More... | |
virtual bool | powerMode (bool transit, char mode) |
Specification of power mode. More... | |
virtual double | status (double &rad) |
Check if ptu is moving. More... | |
virtual bool | setLimits (char axis, double &l, double &u) |
Set limits of movement. More... | |
virtual bool | changeMotionDir () |
virtual int | checkErrors () |
Check errors, returns 0 if there are not errors or error code in otherwise Error codes: More... | |
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. More... | |
virtual bool | init (const std::string &port) |
PTU and serial port initialization. More... | |
virtual void | close () |
Close Connection with serial port. More... | |
virtual double | radError (char axis, double nRadMoved) |
To obtains the mistake for use discrete values when the movement is expressed in radians. More... | |
virtual long | radToPos (char axis, double nRad) |
To obtain the discrete value for a number of radians. More... | |
virtual double | posToRad (char axis, long nPos) |
To obtain the number of radians for a discrete value. More... | |
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. More... | |
virtual bool | verboseQ (bool &modo) |
Query verbose mode. More... | |
virtual bool | verbose (bool set) |
Set verbose. More... | |
virtual bool | echoModeQ (bool &mode) |
Query echo mode. More... | |
virtual bool | echoMode (bool mode) |
Enable/Disable echo response with command. More... | |
virtual bool | resolution (void) |
Query the pan and tilt resolution per position moved and initialize local atributes. More... | |
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. More... | |
double | tiltResolution |
double | panResolution |
Protected Attributes | |
CSerialPort | serPort |
Private Member Functions | |
virtual bool | transmit (const char *command) |
To transmition commands to the PTU. More... | |
virtual bool | receive (const char *command, char *response) |
To receive the responseof the PTU. More... | |
virtual bool | radQuerry (char axis, char command, double &nRad) |
Used to obtains a number of radians. More... | |
virtual bool | radAsign (char axis, char command, double nRad) |
Method used for asign a number of radians with a command. More... | |
virtual double | convertToDouble (char *sDouble) |
Convert string to double. More... | |
virtual long | convertToLong (char *sLong) |
Convert string to long. More... | |
anonymous enum |
Enumerator | |
---|---|
NoError | |
ComError | |
TimeoutError | |
InitError | |
PanHitError | |
TiltHitError | |
PanTiltHitError | |
MaxLimitError | |
MinLimitError | |
OutOfRange | |
IllegalCommandError | |
UnExpectedError |
Definition at line 362 of file CPtuDPerception.h.
anonymous enum |
Enumerator | |
---|---|
Pan | |
Tilt |
Definition at line 374 of file CPtuDPerception.h.
anonymous enum |
Enumerator | |
---|---|
Regular | |
High | |
Low | |
Off |
Definition at line 375 of file CPtuDPerception.h.
anonymous enum |
Enumerator | |
---|---|
Com1 | |
Com2 | |
Com3 | |
Com4 |
Definition at line 376 of file CPtuDPerception.h.
|
inline |
Default constructor.
Definition at line 31 of file CPtuDPerception.h.
|
inlinevirtual |
Destructor.
Definition at line 35 of file CPtuDPerception.h.
|
virtual |
Query position in absolute terms.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 40 of file CPtuDPerception.cpp.
|
virtual |
Specification (de/a)celeration in turn.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 111 of file CPtuDPerception.cpp.
|
virtual |
Query (de/a)celeration in turn.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 121 of file CPtuDPerception.cpp.
|
virtual |
Wait the finish of the last position command to continue accept commands.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 229 of file CPtuDPerception.cpp.
|
virtual |
Specification of velocity to which start and finish the (de/a)celeration.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 131 of file CPtuDPerception.cpp.
|
virtual |
Query velocity to which start and finish the (de/a)celeration.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 140 of file CPtuDPerception.cpp.
|
virtual |
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 802 of file CPtuDPerception.cpp.
|
virtual |
Check errors, returns 0 if there are not errors or error code in otherwise Error codes:
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 741 of file CPtuDPerception.cpp.
|
inlinevirtual |
Clear errors.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 251 of file CPtuDPerception.h.
|
virtual |
Close Connection with serial port.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 416 of file CPtuDPerception.cpp.
|
inline |
Definition at line 237 of file CPtuDPerception.h.
References ComError.
|
privatevirtual |
Convert string to double.
Definition at line 728 of file CPtuDPerception.cpp.
|
privatevirtual |
Convert string to long.
Definition at line 715 of file CPtuDPerception.cpp.
|
virtual |
Enable/Disable echo response with command.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 553 of file CPtuDPerception.cpp.
|
virtual |
Query echo mode.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 536 of file CPtuDPerception.cpp.
References mrpt::system::upperCase().
|
virtual |
Enable/Disable movement limits.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 206 of file CPtuDPerception.cpp.
|
virtual |
Query if exist movement limits.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 189 of file CPtuDPerception.cpp.
References mrpt::system::upperCase().
|
virtual |
Inmediately stop.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 248 of file CPtuDPerception.cpp.
|
virtual |
Inmediately stop all.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 239 of file CPtuDPerception.cpp.
|
inline |
Definition at line 246 of file CPtuDPerception.h.
References IllegalCommandError.
|
virtual |
PTU and serial port initialization.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 358 of file CPtuDPerception.cpp.
References RAD2DEG.
|
inline |
Definition at line 239 of file CPtuDPerception.h.
References InitError.
|
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.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 217 of file CPtuDPerception.cpp.
|
virtual |
Specification of velocity lower limit.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 169 of file CPtuDPerception.cpp.
|
virtual |
Query velocity lower limit.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 179 of file CPtuDPerception.cpp.
|
inline |
Definition at line 243 of file CPtuDPerception.h.
References MaxLimitError.
|
virtual |
Query max movement limit of a axis in absolute terms.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 72 of file CPtuDPerception.cpp.
|
inline |
Definition at line 244 of file CPtuDPerception.h.
References MinLimitError.
|
virtual |
Query min movement limit of a axis in absolute terms.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 82 of file CPtuDPerception.cpp.
|
virtual |
Specification of positions in absolute terms.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 28 of file CPtuDPerception.cpp.
|
virtual |
Specify desired axis position as an offset from the current position.
This method recives the number of radians to move.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 50 of file CPtuDPerception.cpp.
|
inline |
Definition at line 236 of file CPtuDPerception.h.
|
virtual |
Number of version.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 781 of file CPtuDPerception.cpp.
|
virtual |
Query position in relative terms.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 62 of file CPtuDPerception.cpp.
|
inline |
Definition at line 245 of file CPtuDPerception.h.
References OutOfRange.
|
inline |
Definition at line 241 of file CPtuDPerception.h.
References PanHitError.
|
inline |
Definition at line 240 of file CPtuDPerception.h.
References PanTiltHitError.
|
virtual |
To obtain the number of radians for a discrete value.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 704 of file CPtuDPerception.cpp.
|
virtual |
Specification of power mode.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 342 of file CPtuDPerception.cpp.
|
virtual |
Query power mode.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 314 of file CPtuDPerception.cpp.
References mrpt::system::upperCase().
|
privatevirtual |
Method used for asign a number of radians with a command.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 604 of file CPtuDPerception.cpp.
References mrpt::system::os::sprintf(), and mrpt::system::os::strcpy().
|
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.
Definition at line 426 of file CPtuDPerception.cpp.
|
privatevirtual |
Used to obtains a number of radians.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 582 of file CPtuDPerception.cpp.
References convertToLong().
|
virtual |
To obtain the discrete value for a number of radians.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 693 of file CPtuDPerception.cpp.
|
virtual |
Search limit forward.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 812 of file CPtuDPerception.cpp.
|
privatevirtual |
To receive the responseof the PTU.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 464 of file CPtuDPerception.cpp.
References mrpt::system::os::strcpy().
|
virtual |
Reset PTU to initial state.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 261 of file CPtuDPerception.cpp.
|
virtual |
Query the pan and tilt resolution per position moved and initialize local atributes.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 564 of file CPtuDPerception.cpp.
References DEG2RAD.
|
virtual |
Restore default values.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 283 of file CPtuDPerception.cpp.
|
virtual |
Restore factory default values.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 293 of file CPtuDPerception.cpp.
|
virtual |
Save or restart default values.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 273 of file CPtuDPerception.cpp.
|
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.
Definition at line 625 of file CPtuDPerception.cpp.
References mrpt::system::sleep().
|
virtual |
Set limits of movement.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 791 of file CPtuDPerception.cpp.
References MRPT_UNUSED_PARAM.
|
virtual |
Specification of turn speed.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 92 of file CPtuDPerception.cpp.
|
virtual |
Query turn speed.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 101 of file CPtuDPerception.cpp.
|
inlinevirtual |
Check if ptu is moving.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 201 of file CPtuDPerception.h.
References MRPT_UNUSED_PARAM.
|
inline |
Definition at line 242 of file CPtuDPerception.h.
References TiltHitError.
|
inline |
Definition at line 238 of file CPtuDPerception.h.
References TimeoutError.
|
privatevirtual |
To transmition commands to the PTU.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 443 of file CPtuDPerception.cpp.
References mrpt::system::os::strcat(), and mrpt::system::os::strcpy().
|
inline |
Definition at line 247 of file CPtuDPerception.h.
References UnExpectedError.
|
virtual |
Specification of velocity upper limit.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 150 of file CPtuDPerception.cpp.
|
virtual |
Query velocity upper limit.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 159 of file CPtuDPerception.cpp.
|
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.
Definition at line 525 of file CPtuDPerception.cpp.
|
virtual |
Query verbose mode.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 507 of file CPtuDPerception.cpp.
|
virtual |
Version and CopyRights.
Implements mrpt::hwdrivers::CPtuBase.
Definition at line 303 of file CPtuDPerception.cpp.
int mrpt::hwdrivers::CPtuDPerception::nError |
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 372 of file CPtuDPerception.h.
|
inherited |
Definition at line 30 of file CPtuBase.h.
|
protectedinherited |
Definition at line 34 of file CPtuBase.h.
|
inherited |
Definition at line 30 of file CPtuBase.h.
Page generated by Doxygen 1.8.14 for MRPT 1.5.9 Git: 690a4699f Wed Apr 15 19:29:53 2020 +0200 at miƩ abr 15 19:30:12 CEST 2020 |