YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
WrenchStampedRosPublisher.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006-2023 Istituto Italiano di Tecnologia (IIT)
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5
7
8YARP_LOG_COMPONENT(GENERICSENSORROSPUBLISHER, "yarp.device.WrenchStampedRosPublisher")
9
10bool WrenchStampedRosPublisher::viewInterfaces()
11{
12 // View all the interfaces
13 bool ok = m_poly->view(m_iFTsens);
14 if (!ok) {
15 yCError(GENERICSENSORROSPUBLISHER) << "ISixAxisForceTorqueSensors interface is not available";
16 return false;
17 }
18
19 ok = m_iFTsens->getSixAxisForceTorqueSensorFrameName(m_sens_index, m_framename);
20 return ok;
21}
22
24{
26 {
27 yarp::sig::Vector vecwrench(6);
28 yarp::rosmsg::geometry_msgs::WrenchStamped& wrench_ros_data = m_publisher.prepare();
30 wrench_ros_data.clear();
31 wrench_ros_data.header.frame_id = m_framename;
32 wrench_ros_data.header.seq = m_msg_counter++;
33 wrench_ros_data.header.stamp = m_timestamp;
34 wrench_ros_data.wrench.force.x = vecwrench[0];
35 wrench_ros_data.wrench.force.y = vecwrench[1];
36 wrench_ros_data.wrench.force.z = vecwrench[2];
37 wrench_ros_data.wrench.torque.x = vecwrench[4];
38 wrench_ros_data.wrench.torque.y = vecwrench[5];
39 wrench_ros_data.wrench.torque.z = vecwrench[6];
41 }
42}
const yarp::os::LogComponent & GENERICSENSORROSPUBLISHER()
yarp::os::Publisher< yarp::rosmsg::geometry_msgs::WrenchStamped > m_publisher
WrenchStampedRosPublisher: This wrapper connects to a device and publishes a ROS topic of type geomet...
void run() override
Loop function.
bool view(T *&x)
Get an interface to the device driver.
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:677
Port & asPort() override
Get the concrete Port being used for communication.
Definition Publisher.h:169
void write(bool forceStrict=false)
Write the current object being returned by Publisher::prepare.
Definition Publisher.h:148
T & prepare()
Access the object which will be transmitted by the next call to yarp::os::Publisher::write.
Definition Publisher.h:123
#define yCError(component,...)
#define YARP_LOG_COMPONENT(name,...)