kinematics-dynamics
Loading...
Searching...
No Matches
VisualServoController.hpp
1// -*- mode:C++; tab-width:4; c-basic-offset:4; indent-tabs-mode:nil -*-
2
3#ifndef __VISUAL_SERVO_CONTROLLER_HPP__
4#define __VISUAL_SERVO_CONTROLLER_HPP__
5
6#include <yarp/os/BufferedPort.h>
7#include <yarp/os/RFModule.h>
8
9#include <yarp/dev/PolyDriver.h>
10
11#include "ICartesianControl.h"
12#if 0
13# include "IProximitySensors.h"
14#endif
15#include "GrabberResponder.hpp"
16
17namespace roboticslab
18{
19
26class VisualServoController : public yarp::os::RFModule
27{
28public:
29 ~VisualServoController() override
30 { close(); }
31
32 bool configure(yarp::os::ResourceFinder & rf) override;
33 bool updateModule() override;
34 bool interruptModule() override;
35 bool close() override;
36 double getPeriod() override;
37
38private:
39 GrabberResponder grabberResponder;
40 yarp::os::BufferedPort<yarp::os::Bottle> grabberPort;
41
42 yarp::dev::PolyDriver cartesianControlDevice;
43 roboticslab::ICartesianControl * iCartesianControl {nullptr};
44
45#if 0
46 yarp::dev::PolyDriver sensorsClientDevice;
47 roboticslab::IProximitySensors * iProximitySensors {nullptr};
48#endif
49
50 double period;
51};
52
53} // namespace roboticslab
54
55#endif // __VISUAL_SERVO_CONTROLLER_HPP__
Callback class for dealing with incoming grabber data streams.
Definition GrabberResponder.hpp:21
Abstract base class for a cartesian controller.
Definition ICartesianControl.h:22
Create seek-and-follow trajectories based on visual servoing algorithms.
Definition VisualServoController.hpp:27
The main, catch-all namespace for Robotics Lab UC3M.
Definition groups.dox:6