humotion / examples / yarp_icub / include / icub_data_receiver.h @ 708960ff
History | View | Annotate | Download (1.538 KB)
1 | 8c6c1163 | Simon Schulz | #pragma once
|
---|---|---|---|
2 | #include <humotion/server/joint_interface.h> |
||
3 | #include <boost/bimap.hpp> |
||
4 | #include <yarp/dev/PolyDriver.h> |
||
5 | #include <yarp/dev/IControlLimits2.h> |
||
6 | #include <yarp/dev/ControlBoardInterfaces.h> |
||
7 | #include <yarp/os/Time.h> |
||
8 | #include <yarp/sig/Vector.h> |
||
9 | #include "icub_jointinterface.h" |
||
10 | #include <humotion/server/server.h> |
||
11 | #include <yarp/os/Network.h> |
||
12 | #include <yarp/os/RateThread.h> |
||
13 | #include <yarp/os/Time.h> |
||
14 | #include <yarp/os/Property.h> |
||
15 | #include <yarp/dev/ControlBoardInterfaces.h> |
||
16 | #include "icub_jointinterface.h" |
||
17 | |||
18 | //forward declaration to solve loop
|
||
19 | class iCubJointInterface; |
||
20 | |||
21 | class iCubDataReceiver : public yarp::os::RateThread{ |
||
22 | public:
|
||
23 | 35b3ca25 | Simon Schulz | iCubDataReceiver(int period, iCubJointInterface *icub_jointinterface);
|
24 | 8c6c1163 | Simon Schulz | bool threadInit();
|
25 | void threadRelease();
|
||
26 | void run();
|
||
27 | private:
|
||
28 | 35b3ca25 | Simon Schulz | void store_incoming_position(int icub_id, double value, double timestamp); |
29 | ea29304b | Simon Schulz | void store_incoming_velocity(int icub_id, double velocity, double timestamp); |
30 | yarp::sig::Vector calculate_velocities(yarp::sig::Vector positions, |
||
31 | yarp::sig::Vector timestamps); |
||
32 | 8c6c1163 | Simon Schulz | |
33 | ad7b6f18 | Simon Schulz | void dump_incoming_data();
|
34 | |||
35 | 35b3ca25 | Simon Schulz | float target_eye_pan_;
|
36 | float target_eye_vergence_;
|
||
37 | 8c6c1163 | Simon Schulz | |
38 | ea29304b | Simon Schulz | float target_eye_pan_velocity_;
|
39 | float target_eye_vergence_velocity_;
|
||
40 | |||
41 | yarp::sig::Vector positions_; |
||
42 | yarp::sig::Vector timestamps_; |
||
43 | yarp::sig::Vector velocities_; |
||
44 | yarp::sig::Vector commands_; |
||
45 | |||
46 | yarp::sig::Vector previous_positions_; |
||
47 | yarp::sig::Vector previous_timestamps_; |
||
48 | 35b3ca25 | Simon Schulz | |
49 | iCubJointInterface *icub_jointinterface_; |
||
50 | ea29304b | Simon Schulz | yarp::dev::IEncodersTimed *iencs_; |
51 | 8c6c1163 | Simon Schulz | }; |