4 #include <yarp/dev/PolyDriver.h>
5 #include <yarp/dev/MultipleAnalogSensorsInterfaces.h>
6 #include <yarp/dev/IPositionControl.h>
7 #include <yarp/dev/IEncoders.h>
8 #include <yarp/dev/IAxisInfo.h>
9 #include <yarp/dev/IMultipleWrapper.h>
10 #include <yarp/robottestingframework/TestCase.h>
11 #include <yarp/manager/localbroker.h>
13 #include <iDynTree/KinDynComputations.h>
14 #include <iDynTree/ModelLoader.h>
15 #include <iDynTree/Model.h>
39 class Imu :
public yarp::robottestingframework::TestCase {
43 virtual bool setup(yarp::os::Property& property);
44 virtual void tearDown();
48 std::string robotName;
50 std::string modelName;
52 yarp::os::Bottle sensorsList;
53 std::vector<std::string> partsList;
55 yarp::dev::PolyDriver MASclientDriver;
56 yarp::dev::PolyDriver controlBoardDriver;
57 yarp::dev::PolyDriver MASremapperDriver;
58 yarp::dev::IOrientationSensors* iorientation;
59 yarp::dev::IPositionControl* ipos;
60 yarp::dev::IEncoders* ienc;
61 yarp::dev::IAxisInfo* iaxes;
62 yarp::dev::IMultipleWrapper* imultiwrap;
64 yarp::os::BufferedPort <yarp::os::Bottle> outputPort;
65 std::vector<yarp::sig::Vector> rpyValues;
66 yarp::sig::Vector positions;
67 yarp::sig::Vector velocities;
70 std::vector<std::string> axesVec;
72 iDynTree::ModelLoader model;
73 iDynTree::KinDynComputations kinDynComp;
74 iDynTree::VectorDynSize s;
75 iDynTree::VectorDynSize ds;
76 iDynTree::Vector3 gravity;
77 iDynTree::Rotation baseLinkOrientation;
78 iDynTree::Twist baseVelocity;
79 iDynTree::Transform I_T_base;
80 std::vector<iDynTree::Rotation> I_R_I_IMU;
82 robometry::BufferManager bufferManager;
85 bool setupRobometry();
88 std::vector<yarp::manager::LocalBroker> localBroker;
89 yarp::manager::LocalBroker scriptBroker;
The purpose of this test is to evaluate the accuracy of the IMU Euler angles measurements.