Skip to content

Commit 78ed192

Browse files
committed
Expose last remaining relj command
1 parent 256a752 commit 78ed192

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

libraries/YarpPlugins/CartesianControlServerROS2/CartesianControlServerROS2.cpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,14 @@ bool CartesianControlServerROS2::configureRosHandlers()
5656
return false;
5757
}
5858

59+
m_relj = m_node->create_subscription<std_msgs::msg::Float64MultiArray>(prefix + "/command/relj", 10, std::bind(&ccs::relj_cb, this, _1));
60+
61+
if (!m_relj)
62+
{
63+
yCError(CCS) << "Could not initialize the relj command subscription";
64+
return false;
65+
}
66+
5967
m_movl = m_node->create_subscription<std_msgs::msg::Float64MultiArray>(prefix + "/command/movl", 10, std::bind(&ccs::movl_cb, this, _1));
6068

6169
if (!m_movl)
@@ -232,6 +240,7 @@ void CartesianControlServerROS2::destroyRosHandlers()
232240
{
233241
m_stat.reset();
234242
m_movj.reset();
243+
m_relj.reset();
235244
m_movl.reset();
236245
m_movv.reset();
237246
m_forc.reset();
@@ -306,6 +315,20 @@ void CartesianControlServerROS2::movj_cb(const std_msgs::msg::Float64MultiArray:
306315

307316
// -----------------------------------------------------------------------------
308317

318+
void CartesianControlServerROS2::relj_cb(const std_msgs::msg::Float64MultiArray::SharedPtr msg)
319+
{
320+
if (msg->data.size() != 6)
321+
{
322+
yCError(CCS) << "Received invalid relj command. Expected 6 elements.";
323+
return;
324+
}
325+
326+
yCInfo(CCS) << "Received relj:" << msg->data;
327+
m_iCartesianControl->relj(msg->data);
328+
}
329+
330+
// -----------------------------------------------------------------------------
331+
309332
void CartesianControlServerROS2::movl_cb(const std_msgs::msg::Float64MultiArray::SharedPtr msg)
310333
{
311334
if (msg->data.size() != 6)

libraries/YarpPlugins/CartesianControlServerROS2/CartesianControlServerROS2.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ class CartesianControlServerROS2 : public yarp::dev::DeviceDriver,
7777
rclcpp::Subscription<geometry_msgs::msg::Wrench>::SharedPtr m_wrench;
7878

7979
rclcpp::Subscription<std_msgs::msg::Float64MultiArray>::SharedPtr m_movj;
80+
rclcpp::Subscription<std_msgs::msg::Float64MultiArray>::SharedPtr m_relj;
8081
rclcpp::Subscription<std_msgs::msg::Float64MultiArray>::SharedPtr m_movl;
8182
rclcpp::Subscription<std_msgs::msg::Float64MultiArray>::SharedPtr m_movv;
8283
rclcpp::Subscription<std_msgs::msg::Float64MultiArray>::SharedPtr m_forc;
@@ -94,6 +95,7 @@ class CartesianControlServerROS2 : public yarp::dev::DeviceDriver,
9495
void wrench_cb(const geometry_msgs::msg::Wrench::SharedPtr msg);
9596

9697
void movj_cb(const std_msgs::msg::Float64MultiArray::SharedPtr msg);
98+
void relj_cb(const std_msgs::msg::Float64MultiArray::SharedPtr msg);
9799
void movl_cb(const std_msgs::msg::Float64MultiArray::SharedPtr msg);
98100
void movv_cb(const std_msgs::msg::Float64MultiArray::SharedPtr msg);
99101
void forc_cb(const std_msgs::msg::Float64MultiArray::SharedPtr msg);

0 commit comments

Comments
 (0)