Visual Servoing Platform
version 3.0.1
|
#include <visp3/robot/vpServolens.h>
Public Types | |
enum | vpServoType { ZOOM = 1, FOCUS = 2, IRIS = 3 } |
enum | vpLimitsType { ZOOM_MAX = 10000, ZOOM_MIN = 1000, FOCUS_MAX = 1500, FOCUS_MIN = 100, IRIS_MAX = 1000, IRIS_MIN = 160 } |
enum | vpControllerType { AUTO = 1, CONTROLLED = 2, RELEASED = 3 } |
Public Member Functions | |
vpServolens () | |
vpServolens (const char *port) | |
~vpServolens () | |
void | open (const char *port="/dev/ttyS0") |
void | close () |
void | reset () const |
void | setController (vpControllerType controller) const |
void | setAutoIris (bool enable) const |
void | setPosition (vpServoType servo, unsigned int position) const |
bool | getPosition (vpServoType servo, unsigned int &position) const |
vpCameraParameters | getCameraParameters (vpImage< unsigned char > &I) const |
void | enablePrompt (bool active) const |
Interface for the Servolens lens attached to the camera fixed on the Afma4 robot.
The code below shows how to manipulate this class to get and modify the position of the focal lens.
Definition at line 91 of file vpServolens.h.
Enumerator | |
---|---|
AUTO | |
CONTROLLED | |
RELEASED |
Definition at line 107 of file vpServolens.h.
Enumerator | |
---|---|
ZOOM_MAX | |
ZOOM_MIN | |
FOCUS_MAX | |
FOCUS_MIN | |
IRIS_MAX | |
IRIS_MIN |
Definition at line 99 of file vpServolens.h.
Enumerator | |
---|---|
ZOOM | |
FOCUS | |
IRIS |
Definition at line 94 of file vpServolens.h.
vpServolens::vpServolens | ( | ) |
vpServolens::vpServolens | ( | const char * | port | ) |
Open and initialize the Servolens serial link at 9600 bauds, 7 data bits, even parity, 1 stop bit. The cariage return mode is not active, that means that each character is directly read without waitong for a cariage return.
Definition at line 82 of file vpServolens.cpp.
References open().
vpServolens::~vpServolens | ( | ) |
Destructor.
Close the Servolens serial link.
Definition at line 94 of file vpServolens.cpp.
References close().
void vpServolens::close | ( | ) |
Close the Servolens serial link.
Definition at line 190 of file vpServolens.cpp.
Referenced by open(), and ~vpServolens().
void vpServolens::enablePrompt | ( | bool | active | ) | const |
Enable or disable the emission of the Servolens prompt "SERVOLENS>".
active | : true to activate the emission of the prompy. false to disable this functionality. |
vpRobotException::communicationError | : If cannot dial with Servolens. |
Definition at line 327 of file vpServolens.cpp.
References vpRobotException::communicationError, and vpERROR_TRACE.
vpCameraParameters vpServolens::getCameraParameters | ( | vpImage< unsigned char > & | I | ) | const |
These parameters are computed from the Dragonfly2 DR2-COL camera sensor pixel size (7.4 um) and from the servolens zoom position.
I | : An image coming from the Dragonfly2 camera attached to the servolens. |
Definition at line 645 of file vpServolens.cpp.
References vpRobotException::communicationError, vpImage< Type >::getHeight(), getPosition(), vpImage< Type >::getWidth(), vpCameraParameters::initPersProjWithoutDistortion(), vpERROR_TRACE, and ZOOM.
bool vpServolens::getPosition | ( | vpServoType | servo, |
unsigned int & | position | ||
) | const |
Get the Servolens current servo position.
servo | : Servolens servo motor to actuate. |
position | : Measured position of the servo. |
vpRobotException::communicationError | : If cannot dial with Servolens. |
Definition at line 507 of file vpServolens.cpp.
References vpRobotException::communicationError, FOCUS, IRIS, vpERROR_TRACE, and ZOOM.
Referenced by getCameraParameters(), and open().
void vpServolens::open | ( | const char * | port = "/dev/ttyS0" | ) |
Open and initialize the Servolens serial link at 9600 bauds, 7 data bits, even parity, 1 stop bit. The cariage return mode is not active, that means that each character is directly read without waitong for a cariage return.
port | : Serial device like /dev/ttyS0 or /dev/ttya. |
vpRobotException::communicationError | : If cannot open Servolens serial port or intialize the serial link. |
Definition at line 114 of file vpServolens.cpp.
References close(), vpRobotException::communicationError, getPosition(), vpERROR_TRACE, and ZOOM.
Referenced by vpServolens().
void vpServolens::reset | ( | ) | const |
Reset the Servolens.
vpRobotException::communicationError | : If cannot dial with Servolens. |
Definition at line 206 of file vpServolens.cpp.
References vpRobotException::communicationError, vpERROR_TRACE, and vpTime::wait().
void vpServolens::setAutoIris | ( | bool | enable | ) | const |
Activates the auto iris mode of the Servolens.
enable | : true to activate the auto iris. |
Definition at line 395 of file vpServolens.cpp.
References vpRobotException::communicationError, and vpERROR_TRACE.
void vpServolens::setController | ( | vpControllerType | controller | ) | const |
Set the controller type.
controller | : Controller type. |
vpRobotException::communicationError | : If cannot dial with Servolens. |
Definition at line 354 of file vpServolens.cpp.
References AUTO, vpRobotException::communicationError, CONTROLLED, RELEASED, and vpERROR_TRACE.
void vpServolens::setPosition | ( | vpServoType | servo, |
unsigned int | position | ||
) | const |
Set the Servolens servo to the desired position.
servo | : Servolens servo motor to actuate. |
position | : Desired position of the servo. |
vpRobotException::communicationError | : If cannot dial with Servolens. |
Definition at line 423 of file vpServolens.cpp.
References vpRobotException::communicationError, FOCUS, FOCUS_MAX, IRIS, IRIS_MAX, vpERROR_TRACE, ZOOM, and ZOOM_MIN.