YARP
Yet Another Robot Platform
WrenchStampedRosPublisher.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2020 Istituto Italiano di Tecnologia (IIT)
3  * All rights reserved.
4  *
5  * This software may be modified and distributed under the terms of the
6  * BSD-3-Clause license. See the accompanying LICENSE file for details.
7  */
8 
10 
11 YARP_LOG_COMPONENT(GENERICSENSORROSPUBLISHER, "yarp.device.WrenchStampedRosPublisher")
12 
13 bool WrenchStampedRosPublisher::viewInterfaces()
14 {
15  // View all the interfaces
16  bool ok = m_poly->view(m_iFTsens);
17  m_iFTsens->getSixAxisForceTorqueSensorFrameName(m_sens_index, m_framename);
18  return ok;
19 }
20 
22 {
23  if (m_publisher.asPort().isOpen())
24  {
25  yarp::sig::Vector vecwrench(6);
28  wrench_ros_data.clear();
29  wrench_ros_data.header.frame_id = m_framename;
30  wrench_ros_data.header.seq = m_msg_counter++;
31  wrench_ros_data.header.stamp = m_timestamp;
32  wrench_ros_data.wrench.force.x = vecwrench[0];
33  wrench_ros_data.wrench.force.y = vecwrench[1];
34  wrench_ros_data.wrench.force.z = vecwrench[2];
35  wrench_ros_data.wrench.torque.x = vecwrench[4];
36  wrench_ros_data.wrench.torque.y = vecwrench[5];
37  wrench_ros_data.wrench.torque.z = vecwrench[6];
39  }
40 }
const yarp::os::LogComponent & GENERICSENSORROSPUBLISHER()
yarp::os::Publisher< yarp::rosmsg::geometry_msgs::WrenchStamped > m_publisher
This wrapper connects to a device and publishes a ROS topic of type geometry_msgs::WrenchStamped.
void run() override
Loop function.
bool view(T *&x)
Get an interface to the device driver.
Definition: DeviceDriver.h:77
virtual bool getSixAxisForceTorqueSensorMeasure(size_t sens_index, yarp::sig::Vector &out, double &timestamp) const =0
Get the last reading of the specified sensor.
bool isOpen() const
Check if the port has been opened.
Definition: Port.cpp:671
T & prepare()
Access the object which will be transmitted by the next call to yarp::os::Publisher::write.
Definition: Publisher.h:127
void write(bool forceStrict=false)
Write the current object being returned by Publisher::prepare.
Definition: Publisher.h:152
Port & asPort() override
Get the concrete Port being used for communication.
Definition: Publisher.h:172
yarp::conf::float64_t y
Definition: Vector3.h:41
yarp::conf::float64_t z
Definition: Vector3.h:42
yarp::conf::float64_t x
Definition: Vector3.h:40
yarp::rosmsg::geometry_msgs::Wrench wrench
Definition: WrenchStamped.h:37
yarp::rosmsg::std_msgs::Header header
Definition: WrenchStamped.h:36
yarp::rosmsg::geometry_msgs::Vector3 torque
Definition: Wrench.h:37
yarp::rosmsg::geometry_msgs::Vector3 force
Definition: Wrench.h:36
yarp::rosmsg::TickTime stamp
Definition: Header.h:48
#define YARP_LOG_COMPONENT(name,...)
Definition: LogComponent.h:80