/******************************************************************************
ROS 2 linearing_controllers Package
Dynamics Linearizing Controller
- Copyright (C) 2014..2022 Walter Fetter Lages <w.fetter@ieee.org>
+ Copyright (C) 2014..2025 Walter Fetter Lages <w.fetter@ieee.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
CallbackReturn DynamicsLinearizingController::on_deactivate(const rclcpp_lifecycle::State &/*previous_state*/)
{
for(unsigned int i=0;i < joints_.size();i++)
- command_interfaces_[i].set_value(0);
+ if(!command_interfaces_[i].set_value(0))
+ RCLCPP_WARN(get_node()->get_logger(),"Failed to set value to command interface.");
return CallbackReturn::SUCCESS;
}
// Apply torques
for(unsigned int i=0;i < joints_.size();i++)
- command_interfaces_[i].set_value(torque[i]);
+ if(!command_interfaces_[i].set_value(torque[i]))
+ RCLCPP_WARN(get_node()->get_logger(),"Failed to set value to command interface.");
if(rt_status_publisher_ && rt_status_publisher_->trylock())
{
/******************************************************************************
ROS linearing_controllers Package
Twist MR(A)C Linearizing Controller
- Copyright (C) 2018, 2022 Walter Fetter Lages <w.fetter@ieee.org>
+ Copyright (C) 2018, 2025 Walter Fetter Lages <w.fetter@ieee.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
CallbackReturn TwistMracLinearizingController::on_deactivate(const rclcpp_lifecycle::State &/*previous_state*/)
{
for(unsigned int i=0;i < joints_.size();i++)
- command_interfaces_[i].set_value(0);
+ if(!command_interfaces_[i].set_value(0))
+ RCLCPP_WARN(get_node()->get_logger(),"Failed to set value to command interface.");
return CallbackReturn::SUCCESS;
}
// Apply torques
for(unsigned int i=0;i < joints_.size();i++)
- command_interfaces_[i].set_value(torque[i]);
+ if(!command_interfaces_[i].set_value(torque[i]))
+ RCLCPP_WARN(get_node()->get_logger(),"Failed to set value to command interface.");
Eigen::Matrix<double,2,4> W;
if(adaptive_)