openrave-yarp-plugins
Loading...
Searching...
No Matches
YarpOpenraveAnalogSensors.hpp
1// -*- mode:C++; tab-width:4; c-basic-offset:4; indent-tabs-mode:nil -*-
2
3#ifndef __YARP_OPENRAVE_ANALOG_SENSORS_HPP__
4#define __YARP_OPENRAVE_ANALOG_SENSORS_HPP__
5
6#include <yarp/conf/version.h>
7
8#include <yarp/dev/DeviceDriver.h>
9#include <yarp/dev/MultipleAnalogSensorsInterfaces.h>
10
11#include <openrave/openrave.h>
12
13#include <boost/smart_ptr/shared_ptr.hpp>
14
15#include "YarpOpenraveBase.hpp"
16
17namespace roboticslab
18{
19
33 public yarp::dev::DeviceDriver,
34 public yarp::dev::ISixAxisForceTorqueSensors
35{
36public:
37 // ------- DeviceDriver declarations. Implementation in DeviceDriverImageImpl.cpp -------
38 bool open(yarp::os::Searchable& config) override;
39 bool close() override;
40
41 // ------- ISixAxisForceTorqueSensors declarations. Implementation in ISixAxisForceTorqueSensorsImpl.cpp -------
42#if YARP_VERSION_COMPARE(>=, 4, 1, 0) || defined(YARP_NEXT)
43 yarp::dev::ReturnValue getNrOfSixAxisForceTorqueSensors(std::size_t & num) const override;
44 yarp::dev::MAS_status getSixAxisForceTorqueSensorStatus(std::size_t sens_index) const override;
45 yarp::dev::ReturnValue getSixAxisForceTorqueSensorName(std::size_t sens_index, std::string & name) const override;
46 yarp::dev::ReturnValue getSixAxisForceTorqueSensorFrameName(std::size_t sens_index, std::string & frameName) const override;
47 yarp::dev::ReturnValue getSixAxisForceTorqueSensorMeasure(std::size_t sens_index, yarp::sig::Vector & out, double & timestamp) const override;
48#else
49 std::size_t getNrOfSixAxisForceTorqueSensors() const override;
50 yarp::dev::MAS_status getSixAxisForceTorqueSensorStatus(std::size_t sens_index) const override;
51 bool getSixAxisForceTorqueSensorName(std::size_t sens_index, std::string & name) const override;
52 bool getSixAxisForceTorqueSensorFrameName(std::size_t sens_index, std::string & frameName) const override;
53 bool getSixAxisForceTorqueSensorMeasure(std::size_t sens_index, yarp::sig::Vector & out, double & timestamp) const override;
54#endif
55
56private:
57 //OpenRAVE//
58 std::vector<OpenRAVE::SensorBasePtr> vectorOfSensorPtrForForce6Ds;
59 std::vector<boost::shared_ptr<OpenRAVE::SensorBase::Force6DSensorData>> vectorOfForce6DSensorDataPtr;
60};
61
62} // namespace roboticslab
63
64#endif // __YARP_OPENRAVE_ANALOG_SENSORS_HPP__
Implements the YARP_dev ISixAxisForceTorqueSensors, etc. interface class member functions.
Definition YarpOpenraveAnalogSensors.hpp:35
Implements shared configuration functions.
Definition YarpOpenraveBase.hpp:32
The main, catch-all namespace for Robotics Lab UC3M.
Definition groups.dox:5