Skip to content

Commit ed80d49

Browse files
livanov93destogl
andauthored
Update main branch with ros-controls changes (#160)
* Add on_init in ur_controllers. * Suppress warnings. * Remove unneeded methods in controllers. * Update formatting. Co-authored-by: Denis Štogl <[email protected]>
1 parent 8cbdd70 commit ed80d49

File tree

4 files changed

+26
-14
lines changed

4 files changed

+26
-14
lines changed

ur_controllers/include/ur_controllers/scaled_joint_trajectory_controller.hpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,15 @@
2323
#ifndef UR_CONTROLLERS__SCALED_JOINT_TRAJECTORY_CONTROLLER_HPP_
2424
#define UR_CONTROLLERS__SCALED_JOINT_TRAJECTORY_CONTROLLER_HPP_
2525

26+
#include "angles/angles.h"
2627
#include "joint_trajectory_controller/joint_trajectory_controller.hpp"
2728
#include "joint_trajectory_controller/trajectory.hpp"
28-
#include "angles/angles.h"
29+
#include "rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp"
2930

3031
namespace ur_controllers
3132
{
33+
using CallbackReturn = rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn;
34+
3235
class ScaledJointTrajectoryController : public joint_trajectory_controller::JointTrajectoryController
3336
{
3437
public:
@@ -37,8 +40,7 @@ class ScaledJointTrajectoryController : public joint_trajectory_controller::Join
3740

3841
controller_interface::InterfaceConfiguration state_interface_configuration() const override;
3942

40-
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn
41-
on_activate(const rclcpp_lifecycle::State& state) override;
43+
CallbackReturn on_activate(const rclcpp_lifecycle::State& state) override;
4244

4345
controller_interface::return_type update() override;
4446

ur_controllers/include/ur_controllers/speed_scaling_state_broadcaster.hpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535

3636
namespace ur_controllers
3737
{
38+
using CallbackReturn = rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn;
39+
3840
class SpeedScalingStateBroadcaster : public controller_interface::ControllerInterface
3941
{
4042
public:
@@ -46,14 +48,13 @@ class SpeedScalingStateBroadcaster : public controller_interface::ControllerInte
4648

4749
controller_interface::return_type update() override;
4850

49-
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn
50-
on_configure(const rclcpp_lifecycle::State& previous_state) override;
51+
CallbackReturn on_configure(const rclcpp_lifecycle::State& previous_state) override;
52+
53+
CallbackReturn on_activate(const rclcpp_lifecycle::State& previous_state) override;
5154

52-
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn
53-
on_activate(const rclcpp_lifecycle::State& previous_state) override;
55+
CallbackReturn on_deactivate(const rclcpp_lifecycle::State& previous_state) override;
5456

55-
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn
56-
on_deactivate(const rclcpp_lifecycle::State& previous_state) override;
57+
CallbackReturn on_init() override;
5758

5859
protected:
5960
std::vector<std::string> sensor_names_;

ur_controllers/src/scaled_joint_trajectory_controller.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ controller_interface::InterfaceConfiguration ScaledJointTrajectoryController::st
3636
return conf;
3737
}
3838

39-
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn
40-
ScaledJointTrajectoryController::on_activate(const rclcpp_lifecycle::State& state)
39+
CallbackReturn ScaledJointTrajectoryController::on_activate(const rclcpp_lifecycle::State& state)
4140
{
4241
TimeData time_data;
4342
time_data.time = node_->now();
@@ -137,7 +136,7 @@ controller_interface::return_type ScaledJointTrajectoryController::update()
137136
rcl_duration_value_t period = (time_data.time - time_data_.readFromRT()->time).nanoseconds();
138137
time_data.period = rclcpp::Duration::from_nanoseconds(scaling_factor_ * period);
139138
time_data.uptime = time_data_.readFromRT()->uptime + time_data.period;
140-
rclcpp::Time traj_time = time_data_.readFromRT()->uptime + rclcpp::Duration(period);
139+
rclcpp::Time traj_time = time_data_.readFromRT()->uptime + rclcpp::Duration::from_nanoseconds(period);
141140
time_data_.writeFromNonRT(time_data);
142141

143142
// if sampling the first time, set the point before you sample

ur_controllers/src/speed_scaling_state_broadcaster.cpp

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,18 @@ SpeedScalingStateBroadcaster::SpeedScalingStateBroadcaster()
4444
{
4545
}
4646

47+
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn SpeedScalingStateBroadcaster::on_init()
48+
{
49+
try {
50+
auto_declare<double>("state_publish_rate", 100.0);
51+
} catch (std::exception& e) {
52+
fprintf(stderr, "Exception thrown during init stage with message: %s \n", e.what());
53+
return rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn::ERROR;
54+
}
55+
56+
return rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn::SUCCESS;
57+
}
58+
4759
controller_interface::InterfaceConfiguration SpeedScalingStateBroadcaster::command_interface_configuration() const
4860
{
4961
return controller_interface::InterfaceConfiguration{ controller_interface::interface_configuration_type::NONE };
@@ -60,8 +72,6 @@ controller_interface::InterfaceConfiguration SpeedScalingStateBroadcaster::state
6072
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn
6173
SpeedScalingStateBroadcaster::on_configure(const rclcpp_lifecycle::State& /*previous_state*/)
6274
{
63-
auto_declare<double>("state_publish_rate", 100.0);
64-
6575
if (!node_->get_parameter("state_publish_rate", publish_rate_)) {
6676
RCLCPP_INFO(get_node()->get_logger(), "Parameter 'state_publish_rate' not set");
6777
return rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn::ERROR;

0 commit comments

Comments
 (0)