kinematics-dynamics
Loading...
Searching...
No Matches
TrajectoryThread.hpp
1// -*- mode:C++; tab-width:4; c-basic-offset:4; indent-tabs-mode:nil -*-
2
3#ifndef __TRAJECTORY_THREAD_HPP__
4#define __TRAJECTORY_THREAD_HPP__
5
6#include <yarp/os/PeriodicThread.h>
7
8#include <yarp/dev/IEncoders.h>
9#include <yarp/dev/IPositionDirect.h>
10
11#include <kdl/trajectory.hpp>
12
13#include <ScrewTheoryIkProblem.hpp>
14#include <ConfigurationSelector.hpp>
15
16class TrajectoryThread : public yarp::os::PeriodicThread
17{
18public:
19 TrajectoryThread(yarp::dev::IEncoders * iEncoders,
20 yarp::dev::IPositionDirect * iPosDirect,
23 KDL::Trajectory * trajectory,
24 int period)
25 : yarp::os::PeriodicThread(period * 0.001, yarp::os::PeriodicThreadClock::Absolute),
26 iEncoders(iEncoders),
27 iPosDirect(iPosDirect),
28 ikProblem(ikProblem),
29 ikConfig(ikConfig),
30 trajectory(trajectory),
31 axes(0),
32 startTime(0)
33 {}
34
35protected:
36 bool threadInit() override;
37 void run() override;
38
39private:
40 yarp::dev::IEncoders * iEncoders;
41 yarp::dev::IPositionDirect * iPosDirect;
44 KDL::Trajectory * trajectory;
45 int axes;
46 double startTime;
47};
48
49#endif // __TRAJECTORY_THREAD_HPP__
Definition TrajectoryThread.hpp:17
Abstract base class for a robot configuration strategy selector.
Definition ConfigurationSelector.hpp:21
Proxy IK problem solver class that iterates over a sequence of subproblems.
Definition ScrewTheoryIkProblem.hpp:99