35 std::lock_guard lock(m_odometry_mutex);
60 return PeriodicThread::start();
66 if (PeriodicThread::isRunning())
68 PeriodicThread::stop();
76 std::lock_guard lock(m_odometry_mutex);
86 if (timestamp!=
nullptr)
88 *timestamp = m_timestamp;
90 return yarp::dev::ReturnValue_ok;
96 std::lock_guard lock(m_odometry_mutex);
106 return yarp::dev::ReturnValue_ok;
constexpr double default_period
bool parseParams(const yarp::os::Searchable &config) override
Parse the DeviceDriver parameters.
virtual void threadRelease() override
Release method.
virtual void run() override
Loop function.
yarp::dev::ReturnValue resetOdometry() override
Resets the odometry of the robot to zero.
bool close() override
Close the DeviceDriver.
virtual bool threadInit() override
Initialization method.
yarp::dev::ReturnValue getOdometry(yarp::dev::OdometryData &odom, double *timestamp=nullptr) override
Gets the odometry of the robot, including its velocity expressed in the world and in the local refere...
bool open(yarp::os::Searchable &config) override
Open the DeviceDriver.
double base_vel_x
velocity of the robot [m/s] expressed in the robot reference frame
double odom_vel_y
velocity of the robot [m/s] expressed in the world reference frame
double base_vel_theta
angular velocity of the robot [deg/s] expressed in the robot reference frame
double odom_vel_theta
angular velocity of the robot [deg/s] expressed in the world reference frame
double base_vel_y
velocity of the robot [m/s] expressed in the robot reference frame
double odom_x
position of the robot [m], expressed in the world reference frame
double odom_y
position of the robot [m], expressed in the world reference frame
double odom_theta
orientation the robot [deg], expressed in the world reference frame
double odom_vel_x
velocity of the robot [m/s] expressed in the world reference frame
static double scalar()
Get a random number from a uniform distribution in the range [0,1].
bool setPeriod(double period)
Set the (new) period of the thread.
A base class for nested structures that can be searched.
#define yCTrace(component,...)
#define YARP_LOG_COMPONENT(name,...)
double now()
Return the current time in seconds, relative to an arbitrary starting point.